(window["observabilityDashboards_bundle_jsonpfunction"]=window["observabilityDashboards_bundle_jsonpfunction"]||[]).push([[3],Array(62).concat([function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;
/*!
  Copyright (c) 2018 Jed Watson.
  Licensed under the MIT License (MIT), see
  http://jedwatson.github.io/classnames
*/(function(){"use strict";var hasOwn={}.hasOwnProperty;function classNames(){var classes=[];for(var i=0;i<arguments.length;i++){var arg=arguments[i];if(!arg)continue;var argType=typeof arg;if(argType==="string"||argType==="number"){classes.push(arg)}else if(Array.isArray(arg)){if(arg.length){var inner=classNames.apply(null,arg);if(inner){classes.push(inner)}}}else if(argType==="object"){if(arg.toString===Object.prototype.toString){for(var key in arg){if(hasOwn.call(arg,key)&&arg[key]){classes.push(key)}}}else{classes.push(arg.toString())}}}return classes.join(" ")}if(true&&module.exports){classNames.default=classNames;module.exports=classNames}else if(true){!(__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_RESULT__=function(){return classNames}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__),__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}else{}})()},,function(module,exports){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(e){if(typeof window==="object")g=window}module.exports=g},function(module,exports,__webpack_require__){var freeGlobal=__webpack_require__(282);var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal||freeSelf||Function("return this")();module.exports=root},function(module,exports){var isArray=Array.isArray;module.exports=isArray},,function(module,exports){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}module.exports=_interopRequireDefault;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){"use strict";module.exports=markupTemplating;markupTemplating.displayName="markupTemplating";markupTemplating.aliases=[];function markupTemplating(Prism){(function(Prism){function getPlaceholder(language,index){return"___"+language.toUpperCase()+index+"___"}Object.defineProperties(Prism.languages["markup-templating"]={},{buildPlaceholders:{value:function(env,language,placeholderPattern,replaceFilter){if(env.language!==language){return}var tokenStack=env.tokenStack=[];env.code=env.code.replace(placeholderPattern,(function(match){if(typeof replaceFilter==="function"&&!replaceFilter(match)){return match}var i=tokenStack.length;var placeholder;while(env.code.indexOf(placeholder=getPlaceholder(language,i))!==-1){++i}tokenStack[i]=match;return placeholder}));env.grammar=Prism.languages.markup}},tokenizePlaceholders:{value:function(env,language){if(env.language!==language||!env.tokenStack){return}env.grammar=Prism.languages[language];var j=0;var keys=Object.keys(env.tokenStack);function walkTokens(tokens){for(var i=0;i<tokens.length;i++){if(j>=keys.length){break}var token=tokens[i];if(typeof token==="string"||token.content&&typeof token.content==="string"){var k=keys[j];var t=env.tokenStack[k];var s=typeof token==="string"?token:token.content;var placeholder=getPlaceholder(language,k);var index=s.indexOf(placeholder);if(index>-1){++j;var before=s.substring(0,index);var middle=new Prism.Token(language,Prism.tokenize(t,env.grammar),"language-"+language,t);var after=s.substring(index+placeholder.length);var replacement=[];if(before){replacement.push.apply(replacement,walkTokens([before]))}replacement.push(middle);if(after){replacement.push.apply(replacement,walkTokens([after]))}if(typeof token==="string"){tokens.splice.apply(tokens,[i,1].concat(replacement))}else{token.content=replacement}}}else if(token.content){walkTokens(token.content)}}return tokens}walkTokens(env.tokens)}}})})(Prism)}},,function(module,exports,__webpack_require__){if(false){var throwOnDirectAccess,ReactIs}else{module.exports=__webpack_require__(816)()}},,function(module,exports,__webpack_require__){if(false){var throwOnDirectAccess,ReactIs}else{module.exports=__webpack_require__(849)()}},function(module,exports){function isObject(value){var type=typeof value;return value!=null&&(type=="object"||type=="function")}module.exports=isObject},function(module,exports){function isObjectLike(value){return value!=null&&typeof value=="object"}module.exports=isObjectLike},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;
/*!
  Copyright (c) 2018 Jed Watson.
  Licensed under the MIT License (MIT), see
  http://jedwatson.github.io/classnames
*/(function(){"use strict";var hasOwn={}.hasOwnProperty;function classNames(){var classes=[];for(var i=0;i<arguments.length;i++){var arg=arguments[i];if(!arg)continue;var argType=typeof arg;if(argType==="string"||argType==="number"){classes.push(arg)}else if(Array.isArray(arg)){if(arg.length){var inner=classNames.apply(null,arg);if(inner){classes.push(inner)}}}else if(argType==="object"){if(arg.toString===Object.prototype.toString){for(var key in arg){if(hasOwn.call(arg,key)&&arg[key]){classes.push(key)}}}else{classes.push(arg.toString())}}}return classes.join(" ")}if(true&&module.exports){classNames.default=classNames;module.exports=classNames}else if(true){!(__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_RESULT__=function(){return classNames}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__),__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}else{}})()},function(module,exports,__webpack_require__){"use strict";module.exports=whitespace;var fromCode=String.fromCharCode;var re=/\s/;function whitespace(character){return re.test(typeof character==="number"?fromCode(character):character.charAt(0))}},,function(module,exports){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}module.exports=_interopRequireDefault,module.exports.__esModule=true,module.exports["default"]=module.exports},,function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;var _exportNames={batch:true};var _exports=__webpack_require__(813);Object.keys(_exports).forEach((function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_exports[key])return;exports[key]=_exports[key]}));var _reactBatchedUpdates=__webpack_require__(833);exports.batch=_reactBatchedUpdates.unstable_batchedUpdates;var _batch=__webpack_require__(267);(0,_batch.setBatch)(_reactBatchedUpdates.unstable_batchedUpdates)},function(module,exports){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){var target={};for(var i=0;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target}},,,,,,,,function(module,exports,__webpack_require__){"use strict";if(true){module.exports=__webpack_require__(834)}else{}},function(module,exports,__webpack_require__){"use strict";module.exports=c;c.displayName="c";c.aliases=[];function c(Prism){Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:true},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:true},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/});Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:true,greedy:true,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:true},Prism.languages.c["string"]],comment:Prism.languages.c["comment"],"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:true},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:true,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:true,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/});delete Prism.languages.c["boolean"]}},,,function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;exports["default"]=exports.ReactReduxContext=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var ReactReduxContext=_react["default"].createContext(null);exports.ReactReduxContext=ReactReduxContext;if(false){}var _default=ReactReduxContext;exports["default"]=_default},function(module,exports,__webpack_require__){var baseIsNative=__webpack_require__(859),getValue=__webpack_require__(864);function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined}module.exports=getNative},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(99),getRawTag=__webpack_require__(860),objectToString=__webpack_require__(861);var nullTag="[object Null]",undefinedTag="[object Undefined]";var symToStringTag=Symbol?Symbol.toStringTag:undefined;function baseGetTag(value){if(value==null){return value===undefined?undefinedTag:nullTag}return symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value)}module.exports=baseGetTag},,,function(module,exports,__webpack_require__){var root=__webpack_require__(65);var Symbol=root.Symbol;module.exports=Symbol},,,,function(module,exports){function isObject(value){var type=typeof value;return value!=null&&(type=="object"||type=="function")}module.exports=isObject},function(module,exports){exports=module.exports=trim;function trim(str){if(str.trim)return str.trim();return exports.right(exports.left(str))}exports.left=function(str){if(str.trimLeft)return str.trimLeft();return str.replace(/^\s\s*/,"")};exports.right=function(str){if(str.trimRight)return str.trimRight();var whitespace_pattern=/\s/,i=str.length;while(whitespace_pattern.test(str.charAt(--i)));return str.slice(0,i+1)}},,,,function(module,exports,__webpack_require__){"use strict";if(true){module.exports=__webpack_require__(835)}else{}},function(module,exports){function copyArray(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}module.exports=copyArray},function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(96),isObjectLike=__webpack_require__(75);var symbolTag="[object Symbol]";function isSymbol(value){return typeof value=="symbol"||isObjectLike(value)&&baseGetTag(value)==symbolTag}module.exports=isSymbol},function(module,exports,__webpack_require__){var assignValue=__webpack_require__(298),baseAssignValue=__webpack_require__(194);function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];var newValue=customizer?customizer(object[key],source[key],key,object,source):undefined;if(newValue===undefined){newValue=source[key]}if(isNew){baseAssignValue(object,key,newValue)}else{assignValue(object,key,newValue)}}return object}module.exports=copyObject},function(module,exports){function eq(value,other){return value===other||value!==value&&other!==other}module.exports=eq},function(module,exports){module.exports=function(module){if(!module.webpackPolyfill){module.deprecate=function(){};module.paths=[];if(!module.children)module.children=[];Object.defineProperty(module,"loaded",{enumerable:true,get:function(){return module.l}});Object.defineProperty(module,"id",{enumerable:true,get:function(){return module.i}});module.webpackPolyfill=1}return module}},function(module,exports,__webpack_require__){var arrayLikeKeys=__webpack_require__(299),baseKeysIn=__webpack_require__(919),isArrayLike=__webpack_require__(148);function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,true):baseKeysIn(object)}module.exports=keysIn},function(module,exports,__webpack_require__){var DataView=__webpack_require__(925),Map=__webpack_require__(199),Promise=__webpack_require__(926),Set=__webpack_require__(927),WeakMap=__webpack_require__(281),baseGetTag=__webpack_require__(96),toSource=__webpack_require__(283);var mapTag="[object Map]",objectTag="[object Object]",promiseTag="[object Promise]",setTag="[object Set]",weakMapTag="[object WeakMap]";var dataViewTag="[object DataView]";var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);var getTag=baseGetTag;if(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag){getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}}return result}}module.exports=getTag},function(module,exports,__webpack_require__){var isSymbol=__webpack_require__(110);var INFINITY=1/0;function toKey(value){if(typeof value=="string"||isSymbol(value)){return value}var result=value+"";return result=="0"&&1/value==-INFINITY?"-0":result}module.exports=toKey},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.noop=undefined;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};exports.bottom=bottom;exports.cloneLayout=cloneLayout;exports.cloneLayoutItem=cloneLayoutItem;exports.childrenEqual=childrenEqual;exports.collides=collides;exports.compact=compact;exports.compactItem=compactItem;exports.correctBounds=correctBounds;exports.getLayoutItem=getLayoutItem;exports.getFirstCollision=getFirstCollision;exports.getAllCollisions=getAllCollisions;exports.getStatics=getStatics;exports.moveElement=moveElement;exports.moveElementAwayFromCollision=moveElementAwayFromCollision;exports.perc=perc;exports.setTransform=setTransform;exports.setTopLeft=setTopLeft;exports.sortLayoutItems=sortLayoutItems;exports.sortLayoutItemsByRowCol=sortLayoutItemsByRowCol;exports.sortLayoutItemsByColRow=sortLayoutItemsByColRow;exports.synchronizeLayoutWithChildren=synchronizeLayoutWithChildren;exports.validateLayout=validateLayout;exports.autoBindHandlers=autoBindHandlers;var _lodash=__webpack_require__(211);var _lodash2=_interopRequireDefault(_lodash);var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var isProduction="production"==="production";var DEBUG=false;function bottom(layout){var max=0,bottomY=void 0;for(var _i=0,len=layout.length;_i<len;_i++){bottomY=layout[_i].y+layout[_i].h;if(bottomY>max)max=bottomY}return max}function cloneLayout(layout){var newLayout=Array(layout.length);for(var _i2=0,len=layout.length;_i2<len;_i2++){newLayout[_i2]=cloneLayoutItem(layout[_i2])}return newLayout}function cloneLayoutItem(layoutItem){return{w:layoutItem.w,h:layoutItem.h,x:layoutItem.x,y:layoutItem.y,i:layoutItem.i,minW:layoutItem.minW,maxW:layoutItem.maxW,minH:layoutItem.minH,maxH:layoutItem.maxH,moved:Boolean(layoutItem.moved),static:Boolean(layoutItem.static),isDraggable:layoutItem.isDraggable,isResizable:layoutItem.isResizable}}function childrenEqual(a,b){return(0,_lodash2.default)(_react2.default.Children.map(a,(function(c){return c.key})),_react2.default.Children.map(b,(function(c){return c.key})))}function collides(l1,l2){if(l1===l2)return false;if(l1.x+l1.w<=l2.x)return false;if(l1.x>=l2.x+l2.w)return false;if(l1.y+l1.h<=l2.y)return false;if(l1.y>=l2.y+l2.h)return false;return true}function compact(layout,compactType,cols){var compareWith=getStatics(layout);var sorted=sortLayoutItems(layout,compactType);var out=Array(layout.length);for(var _i3=0,len=sorted.length;_i3<len;_i3++){var l=cloneLayoutItem(sorted[_i3]);if(!l.static){l=compactItem(compareWith,l,compactType,cols,sorted);compareWith.push(l)}out[layout.indexOf(sorted[_i3])]=l;l.moved=false}return out}var heightWidth={x:"w",y:"h"};function resolveCompactionCollision(layout,item,moveToCoord,axis){var sizeProp=heightWidth[axis];item[axis]+=1;var itemIndex=layout.indexOf(item);for(var _i4=itemIndex+1;_i4<layout.length;_i4++){var otherItem=layout[_i4];if(otherItem.static)continue;if(otherItem.y>item.y+item.h)break;if(collides(item,otherItem)){resolveCompactionCollision(layout,otherItem,moveToCoord+item[sizeProp],axis)}}item[axis]=moveToCoord}function compactItem(compareWith,l,compactType,cols,fullLayout){var compactV=compactType==="vertical";var compactH=compactType==="horizontal";if(compactV){l.y=Math.min(bottom(compareWith),l.y);while(l.y>0&&!getFirstCollision(compareWith,l)){l.y--}}else if(compactH){l.y=Math.min(bottom(compareWith),l.y);while(l.x>0&&!getFirstCollision(compareWith,l)){l.x--}}var collides=void 0;while(collides=getFirstCollision(compareWith,l)){if(compactH){resolveCompactionCollision(fullLayout,l,collides.x+collides.w,"x")}else{resolveCompactionCollision(fullLayout,l,collides.y+collides.h,"y")}if(compactH&&l.x+l.w>cols){l.x=cols-l.w;l.y++}}return l}function correctBounds(layout,bounds){var collidesWith=getStatics(layout);for(var _i5=0,len=layout.length;_i5<len;_i5++){var l=layout[_i5];if(l.x+l.w>bounds.cols)l.x=bounds.cols-l.w;if(l.x<0){l.x=0;l.w=bounds.cols}if(!l.static)collidesWith.push(l);else{while(getFirstCollision(collidesWith,l)){l.y++}}}return layout}function getLayoutItem(layout,id){for(var _i6=0,len=layout.length;_i6<len;_i6++){if(layout[_i6].i===id)return layout[_i6]}}function getFirstCollision(layout,layoutItem){for(var _i7=0,len=layout.length;_i7<len;_i7++){if(collides(layout[_i7],layoutItem))return layout[_i7]}}function getAllCollisions(layout,layoutItem){return layout.filter((function(l){return collides(l,layoutItem)}))}function getStatics(layout){return layout.filter((function(l){return l.static}))}function moveElement(layout,l,x,y,isUserAction,preventCollision,compactType,cols){if(l.static)return layout;if(l.y===y&&l.x===x)return layout;log("Moving element "+l.i+" to ["+String(x)+","+String(y)+"] from ["+l.x+","+l.y+"]");var oldX=l.x;var oldY=l.y;if(typeof x==="number")l.x=x;if(typeof y==="number")l.y=y;l.moved=true;var sorted=sortLayoutItems(layout,compactType);var movingUp=compactType==="vertical"&&typeof y==="number"?oldY>=y:compactType==="horizontal"&&typeof x==="number"?oldX>=x:false;if(movingUp)sorted=sorted.reverse();var collisions=getAllCollisions(sorted,l);if(preventCollision&&collisions.length){log("Collision prevented on "+l.i+", reverting.");l.x=oldX;l.y=oldY;l.moved=false;return layout}for(var _i8=0,len=collisions.length;_i8<len;_i8++){var collision=collisions[_i8];log("Resolving collision between "+l.i+" at ["+l.x+","+l.y+"] and "+collision.i+" at ["+collision.x+","+collision.y+"]");if(collision.moved)continue;if(collision.static){layout=moveElementAwayFromCollision(layout,collision,l,isUserAction,compactType,cols)}else{layout=moveElementAwayFromCollision(layout,l,collision,isUserAction,compactType,cols)}}return layout}function moveElementAwayFromCollision(layout,collidesWith,itemToMove,isUserAction,compactType,cols){var compactH=compactType==="horizontal";var compactV=compactType==="vertical";var preventCollision=false;if(isUserAction){isUserAction=false;var fakeItem={x:compactH?Math.max(collidesWith.x-itemToMove.w,0):itemToMove.x,y:compactV?Math.max(collidesWith.y-itemToMove.h,0):itemToMove.y,w:itemToMove.w,h:itemToMove.h,i:"-1"};if(!getFirstCollision(layout,fakeItem)){log("Doing reverse collision on "+itemToMove.i+" up to ["+fakeItem.x+","+fakeItem.y+"].");return moveElement(layout,itemToMove,compactH?fakeItem.x:undefined,compactV?fakeItem.y:undefined,isUserAction,preventCollision,compactType,cols)}}return moveElement(layout,itemToMove,compactH?itemToMove.x+1:undefined,compactV?itemToMove.y+1:undefined,isUserAction,preventCollision,compactType,cols)}function perc(num){return num*100+"%"}function setTransform(_ref){var top=_ref.top,left=_ref.left,width=_ref.width,height=_ref.height;var translate="translate("+left+"px,"+top+"px)";return{transform:translate,WebkitTransform:translate,MozTransform:translate,msTransform:translate,OTransform:translate,width:width+"px",height:height+"px",position:"absolute"}}function setTopLeft(_ref2){var top=_ref2.top,left=_ref2.left,width=_ref2.width,height=_ref2.height;return{top:top+"px",left:left+"px",width:width+"px",height:height+"px",position:"absolute"}}function sortLayoutItems(layout,compactType){if(compactType==="horizontal")return sortLayoutItemsByColRow(layout);else return sortLayoutItemsByRowCol(layout)}function sortLayoutItemsByRowCol(layout){return[].concat(layout).sort((function(a,b){if(a.y>b.y||a.y===b.y&&a.x>b.x){return 1}else if(a.y===b.y&&a.x===b.x){return 0}return-1}))}function sortLayoutItemsByColRow(layout){return[].concat(layout).sort((function(a,b){if(a.x>b.x||a.x===b.x&&a.y>b.y){return 1}return-1}))}function synchronizeLayoutWithChildren(initialLayout,children,cols,compactType){initialLayout=initialLayout||[];var layout=[];_react2.default.Children.forEach(children,(function(child,i){var exists=getLayoutItem(initialLayout,String(child.key));if(exists){layout[i]=cloneLayoutItem(exists)}else{if(!isProduction&&child.props._grid){console.warn("`_grid` properties on children have been deprecated as of React 15.2. "+"Please use `data-grid` or add your properties directly to the `layout`.")}var g=child.props["data-grid"]||child.props._grid;if(g){if(!isProduction){validateLayout([g],"ReactGridLayout.children")}layout[i]=cloneLayoutItem(_extends({},g,{i:child.key}))}else{layout[i]=cloneLayoutItem({w:1,h:1,x:0,y:bottom(layout),i:String(child.key)})}}}));layout=correctBounds(layout,{cols:cols});layout=compact(layout,compactType,cols);return layout}function validateLayout(layout){var contextName=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"Layout";var subProps=["x","y","w","h"];if(!Array.isArray(layout))throw new Error(contextName+" must be an array!");for(var _i9=0,len=layout.length;_i9<len;_i9++){var item=layout[_i9];for(var j=0;j<subProps.length;j++){if(typeof item[subProps[j]]!=="number"){throw new Error("ReactGridLayout: "+contextName+"["+_i9+"]."+subProps[j]+" must be a number!")}}if(item.i&&typeof item.i!=="string"){throw new Error("ReactGridLayout: "+contextName+"["+_i9+"].i must be a string!")}if(item.static!==undefined&&typeof item.static!=="boolean"){throw new Error("ReactGridLayout: "+contextName+"["+_i9+"].static must be a boolean!")}}}function autoBindHandlers(el,fns){fns.forEach((function(key){return el[key]=el[key].bind(el)}))}function log(){var _console;if(!DEBUG)return;(_console=console).log.apply(_console,arguments)}var noop=exports.noop=function noop(){}},function(module,exports,__webpack_require__){"use strict";var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter;module.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function emit(type){var args=[];for(var i=1;i<arguments.length;i++)args.push(arguments[i]);var doError=type==="error";var events=this._events;if(events!==undefined)doError=doError&&events.error===undefined;else if(!doError)return false;if(doError){var er;if(args.length>0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)ReflectApply(listeners[i],this,args)}return true};function _addListener(target,type,listener,prepend){var m;var events;var existing;checkListener(listener);events=target._events;if(events===undefined){events=target._events=Object.create(null);target._eventsCount=0}else{if(events.newListener!==undefined){target.emit("newListener",type,listener.listener?listener.listener:listener);events=target._events}existing=events[type]}if(existing===undefined){existing=events[type]=listener;++target._eventsCount}else{if(typeof existing==="function"){existing=events[type]=prepend?[listener,existing]:[existing,listener]}else if(prepend){existing.unshift(listener)}else{existing.push(listener)}m=_getMaxListeners(target);if(m>0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i<keys.length;++i){key=keys[i];if(key==="removeListener")continue;this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events=Object.create(null);this._eventsCount=0;return this}listeners=events[type];if(typeof listeners==="function"){this.removeListener(type,listeners)}else if(listeners!==undefined){for(i=listeners.length-1;i>=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i<n;++i)copy[i]=arr[i];return copy}function spliceOne(list,index){for(;index+1<list.length;index++)list[index]=list[index+1];list.pop()}function unwrapListeners(arr){var ret=new Array(arr.length);for(var i=0;i<ret.length;++i){ret[i]=arr[i].listener||arr[i]}return ret}function once(emitter,name){return new Promise((function(resolve,reject){function errorListener(err){emitter.removeListener(name,resolver);reject(err)}function resolver(){if(typeof emitter.removeListener==="function"){emitter.removeListener("error",errorListener)}resolve([].slice.call(arguments))}eventTargetAgnosticAddListener(emitter,name,resolver,{once:true});if(name!=="error"){addErrorHandlerIfEventEmitter(emitter,errorListener,{once:true})}}))}function addErrorHandlerIfEventEmitter(emitter,handler,flags){if(typeof emitter.on==="function"){eventTargetAgnosticAddListener(emitter,"error",handler,flags)}}function eventTargetAgnosticAddListener(emitter,name,listener,flags){if(typeof emitter.on==="function"){if(flags.once){emitter.once(name,listener)}else{emitter.on(name,listener)}}else if(typeof emitter.addEventListener==="function"){emitter.addEventListener(name,(function wrapListener(arg){if(flags.once){emitter.removeEventListener(name,wrapListener)}listener(arg)}))}else{throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof emitter)}}},function(module,exports,__webpack_require__){"use strict";var punycode=__webpack_require__(339);var util=__webpack_require__(1167);exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;function Url(){this.protocol=null;this.slashes=null;this.auth=null;this.host=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.query=null;this.pathname=null;this.path=null;this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=__webpack_require__(1168);function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var queryIndex=url.indexOf("?"),splitter=queryIndex!==-1&&queryIndex<url.indexOf("#")?"?":"#",uSplit=url.split(splitter),slashRegex=/\\/g;uSplit[0]=uSplit[0].replace(slashRegex,"/");url=uSplit.join(splitter);var rest=url;rest=rest.trim();if(!slashesDenoteHost&&url.split("#").length===1){var simplePath=simplePathPattern.exec(rest);if(simplePath){this.path=rest;this.href=rest;this.pathname=simplePath[1];if(simplePath[2]){this.search=simplePath[2];if(parseQueryString){this.query=querystring.parse(this.search.substr(1))}else{this.query=this.search.substr(1)}}else if(parseQueryString){this.search="";this.query={}}return this}}var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i<hostEndingChars.length;i++){var hec=rest.indexOf(hostEndingChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}var auth,atSign;if(hostEnd===-1){atSign=rest.lastIndexOf("@")}else{atSign=rest.lastIndexOf("@",hostEnd)}if(atSign!==-1){auth=rest.slice(0,atSign);rest=rest.slice(atSign+1);this.auth=decodeURIComponent(auth)}hostEnd=-1;for(var i=0;i<nonHostChars.length;i++){var hec=rest.indexOf(nonHostChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}if(hostEnd===-1)hostEnd=rest.length;this.host=rest.slice(0,hostEnd);rest=rest.slice(hostEnd);this.parseHost();this.hostname=this.hostname||"";var ipv6Hostname=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!ipv6Hostname){var hostparts=this.hostname.split(/\./);for(var i=0,l=hostparts.length;i<l;i++){var part=hostparts[i];if(!part)continue;if(!part.match(hostnamePartPattern)){var newpart="";for(var j=0,k=part.length;j<k;j++){if(part.charCodeAt(j)>127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){this.hostname=punycode.toASCII(this.hostname)}var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/"){rest="/"+rest}}}if(!unsafeProtocol[lowerProto]){for(var i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];if(rest.indexOf(ae)===-1)continue;var esc=encodeURIComponent(ae);if(esc===ae){esc=escape(ae)}rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");if(hash!==-1){this.hash=rest.substr(hash);rest=rest.slice(0,hash)}var qm=rest.indexOf("?");if(qm!==-1){this.search=rest.substr(qm);this.query=rest.substr(qm+1);if(parseQueryString){this.query=querystring.parse(this.query)}rest=rest.slice(0,qm)}else if(parseQueryString){this.search="";this.query={}}if(rest)this.pathname=rest;if(slashedProtocol[lowerProto]&&this.hostname&&!this.pathname){this.pathname="/"}if(this.pathname||this.search){var p=this.pathname||"";var s=this.search||"";this.path=p+s}this.href=this.format();return this};function urlFormat(obj){if(util.isString(obj))obj=urlParse(obj);if(!(obj instanceof Url))return Url.prototype.format.call(obj);return obj.format()}Url.prototype.format=function(){var auth=this.auth||"";if(auth){auth=encodeURIComponent(auth);auth=auth.replace(/%3A/i,":");auth+="@"}var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=false,query="";if(this.host){host=auth+this.host}else if(this.hostname){host=auth+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]");if(this.port){host+=":"+this.port}}if(this.query&&util.isObject(this.query)&&Object.keys(this.query).length){query=querystring.stringify(this.query)}var search=this.search||query&&"?"+query||"";if(protocol&&protocol.substr(-1)!==":")protocol+=":";if(this.slashes||(!protocol||slashedProtocol[protocol])&&host!==false){host="//"+(host||"");if(pathname&&pathname.charAt(0)!=="/")pathname="/"+pathname}else if(!host){host=""}if(hash&&hash.charAt(0)!=="#")hash="#"+hash;if(search&&search.charAt(0)!=="?")search="?"+search;pathname=pathname.replace(/[?#]/g,(function(match){return encodeURIComponent(match)}));search=search.replace("#","%23");return protocol+host+pathname+search+hash};function urlResolve(source,relative){return urlParse(source,false,true).resolve(relative)}Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,false,true)).format()};function urlResolveObject(source,relative){if(!source)return relative;return urlParse(source,false,true).resolveObject(relative)}Url.prototype.resolveObject=function(relative){if(util.isString(relative)){var rel=new Url;rel.parse(relative,false,true);relative=rel}var result=new Url;var tkeys=Object.keys(this);for(var tk=0;tk<tkeys.length;tk++){var tkey=tkeys[tk];result[tkey]=this[tkey]}result.hash=relative.hash;if(relative.href===""){result.href=result.format();return result}if(relative.slashes&&!relative.protocol){var rkeys=Object.keys(relative);for(var rk=0;rk<rkeys.length;rk++){var rkey=rkeys[rk];if(rkey!=="protocol")result[rkey]=relative[rkey]}if(slashedProtocol[result.protocol]&&result.hostname&&!result.pathname){result.path=result.pathname="/"}result.href=result.format();return result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slashedProtocol[relative.protocol]){var keys=Object.keys(relative);for(var v=0;v<keys.length;v++){var k=keys[v];result[k]=relative[k]}result.href=result.format();return result}result.protocol=relative.protocol;if(!relative.host&&!hostlessProtocol[relative.protocol]){var relPath=(relative.pathname||"").split("/");while(relPath.length&&!(relative.host=relPath.shift()));if(!relative.host)relative.host="";if(!relative.hostname)relative.hostname="";if(relPath[0]!=="")relPath.unshift("");if(relPath.length<2)relPath.unshift("");result.pathname=relPath.join("/")}else{result.pathname=relative.pathname}result.search=relative.search;result.query=relative.query;result.host=relative.host||"";result.auth=relative.auth;result.hostname=relative.hostname||relative.host;result.port=relative.port;if(result.pathname||result.search){var p=result.pathname||"";var s=result.search||"";result.path=p+s}result.slashes=result.slashes||relative.slashes;result.href=result.format();return result}var isSourceAbs=result.pathname&&result.pathname.charAt(0)==="/",isRelAbs=relative.host||relative.pathname&&relative.pathname.charAt(0)==="/",mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],relPath=relative.pathname&&relative.pathname.split("/")||[],psychotic=result.protocol&&!slashedProtocol[result.protocol];if(psychotic){result.hostname="";result.port=null;if(result.host){if(srcPath[0]==="")srcPath[0]=result.host;else srcPath.unshift(result.host)}result.host="";if(relative.protocol){relative.hostname=null;relative.port=null;if(relative.host){if(relPath[0]==="")relPath[0]=relative.host;else relPath.unshift(relative.host)}relative.host=null}mustEndAbs=mustEndAbs&&(relPath[0]===""||srcPath[0]==="")}if(isRelAbs){result.host=relative.host||relative.host===""?relative.host:result.host;result.hostname=relative.hostname||relative.hostname===""?relative.hostname:result.hostname;result.search=relative.search;result.query=relative.query;srcPath=relPath}else if(relPath.length){if(!srcPath)srcPath=[];srcPath.pop();srcPath=srcPath.concat(relPath);result.search=relative.search;result.query=relative.query}else if(!util.isNullOrUndefined(relative.search)){if(psychotic){result.hostname=result.host=srcPath.shift();var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last==="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host}},function(module,exports,__webpack_require__){"use strict";const strictUriEncode=__webpack_require__(1171);const decodeComponent=__webpack_require__(1172);const splitOnFirst=__webpack_require__(1173);const filterObject=__webpack_require__(1174);const isNullOrUndefined=value=>value===null||value===undefined;function encoderForArrayFormat(options){switch(options.arrayFormat){case"index":return key=>(result,value)=>{const index=result.length;if(value===undefined||options.skipNull&&value===null||options.skipEmptyString&&value===""){return result}if(value===null){return[...result,[encode(key,options),"[",index,"]"].join("")]}return[...result,[encode(key,options),"[",encode(index,options),"]=",encode(value,options)].join("")]};case"bracket":return key=>(result,value)=>{if(value===undefined||options.skipNull&&value===null||options.skipEmptyString&&value===""){return result}if(value===null){return[...result,[encode(key,options),"[]"].join("")]}return[...result,[encode(key,options),"[]=",encode(value,options)].join("")]};case"comma":case"separator":return key=>(result,value)=>{if(value===null||value===undefined||value.length===0){return result}if(result.length===0){return[[encode(key,options),"=",encode(value,options)].join("")]}return[[result,encode(value,options)].join(options.arrayFormatSeparator)]};default:return key=>(result,value)=>{if(value===undefined||options.skipNull&&value===null||options.skipEmptyString&&value===""){return result}if(value===null){return[...result,encode(key,options)]}return[...result,[encode(key,options),"=",encode(value,options)].join("")]}}}function parserForArrayFormat(options){let result;switch(options.arrayFormat){case"index":return(key,value,accumulator)=>{result=/\[(\d*)\]$/.exec(key);key=key.replace(/\[\d*\]$/,"");if(!result){accumulator[key]=value;return}if(accumulator[key]===undefined){accumulator[key]={}}accumulator[key][result[1]]=value};case"bracket":return(key,value,accumulator)=>{result=/(\[\])$/.exec(key);key=key.replace(/\[\]$/,"");if(!result){accumulator[key]=value;return}if(accumulator[key]===undefined){accumulator[key]=[value];return}accumulator[key]=[].concat(accumulator[key],value)};case"comma":case"separator":return(key,value,accumulator)=>{const isArray=typeof value==="string"&&value.includes(options.arrayFormatSeparator);const isEncodedArray=typeof value==="string"&&!isArray&&decode(value,options).includes(options.arrayFormatSeparator);value=isEncodedArray?decode(value,options):value;const newValue=isArray||isEncodedArray?value.split(options.arrayFormatSeparator).map(item=>decode(item,options)):value===null?value:decode(value,options);accumulator[key]=newValue};default:return(key,value,accumulator)=>{if(accumulator[key]===undefined){accumulator[key]=value;return}accumulator[key]=[].concat(accumulator[key],value)}}}function validateArrayFormatSeparator(value){if(typeof value!=="string"||value.length!==1){throw new TypeError("arrayFormatSeparator must be single character string")}}function encode(value,options){if(options.encode){return options.strict?strictUriEncode(value):encodeURIComponent(value)}return value}function decode(value,options){if(options.decode){return decodeComponent(value)}return value}function keysSorter(input){if(Array.isArray(input)){return input.sort()}if(typeof input==="object"){return keysSorter(Object.keys(input)).sort((a,b)=>Number(a)-Number(b)).map(key=>input[key])}return input}function removeHash(input){const hashStart=input.indexOf("#");if(hashStart!==-1){input=input.slice(0,hashStart)}return input}function getHash(url){let hash="";const hashStart=url.indexOf("#");if(hashStart!==-1){hash=url.slice(hashStart)}return hash}function extract(input){input=removeHash(input);const queryStart=input.indexOf("?");if(queryStart===-1){return""}return input.slice(queryStart+1)}function parseValue(value,options){if(options.parseNumbers&&!Number.isNaN(Number(value))&&(typeof value==="string"&&value.trim()!=="")){value=Number(value)}else if(options.parseBooleans&&value!==null&&(value.toLowerCase()==="true"||value.toLowerCase()==="false")){value=value.toLowerCase()==="true"}return value}function parse(query,options){options=Object.assign({decode:true,sort:true,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:false,parseBooleans:false},options);validateArrayFormatSeparator(options.arrayFormatSeparator);const formatter=parserForArrayFormat(options);const ret=Object.create(null);if(typeof query!=="string"){return ret}query=query.trim().replace(/^[?#&]/,"");if(!query){return ret}for(const param of query.split("&")){if(param===""){continue}let[key,value]=splitOnFirst(options.decode?param.replace(/\+/g," "):param,"=");value=value===undefined?null:["comma","separator"].includes(options.arrayFormat)?value:decode(value,options);formatter(decode(key,options),value,ret)}for(const key of Object.keys(ret)){const value=ret[key];if(typeof value==="object"&&value!==null){for(const k of Object.keys(value)){value[k]=parseValue(value[k],options)}}else{ret[key]=parseValue(value,options)}}if(options.sort===false){return ret}return(options.sort===true?Object.keys(ret).sort():Object.keys(ret).sort(options.sort)).reduce((result,key)=>{const value=ret[key];if(Boolean(value)&&typeof value==="object"&&!Array.isArray(value)){result[key]=keysSorter(value)}else{result[key]=value}return result},Object.create(null))}exports.extract=extract;exports.parse=parse;exports.stringify=(object,options)=>{if(!object){return""}options=Object.assign({encode:true,strict:true,arrayFormat:"none",arrayFormatSeparator:","},options);validateArrayFormatSeparator(options.arrayFormatSeparator);const shouldFilter=key=>options.skipNull&&isNullOrUndefined(object[key])||options.skipEmptyString&&object[key]==="";const formatter=encoderForArrayFormat(options);const objectCopy={};for(const key of Object.keys(object)){if(!shouldFilter(key)){objectCopy[key]=object[key]}}const keys=Object.keys(objectCopy);if(options.sort!==false){keys.sort(options.sort)}return keys.map(key=>{const value=object[key];if(value===undefined){return""}if(value===null){return encode(key,options)}if(Array.isArray(value)){return value.reduce(formatter(key),[]).join("&")}return encode(key,options)+"="+encode(value,options)}).filter(x=>x.length>0).join("&")};exports.parseUrl=(url,options)=>{options=Object.assign({decode:true},options);const[url_,hash]=splitOnFirst(url,"#");return Object.assign({url:url_.split("?")[0]||"",query:parse(extract(url),options)},options&&options.parseFragmentIdentifier&&hash?{fragmentIdentifier:decode(hash,options)}:{})};exports.stringifyUrl=(object,options)=>{options=Object.assign({encode:true,strict:true},options);const url=removeHash(object.url).split("?")[0]||"";const queryFromUrl=exports.extract(object.url);const parsedQueryFromUrl=exports.parse(queryFromUrl,{sort:false});const query=Object.assign(parsedQueryFromUrl,object.query);let queryString=exports.stringify(query,options);if(queryString){queryString=`?${queryString}`}let hash=getHash(object.url);if(object.fragmentIdentifier){hash=`#${encode(object.fragmentIdentifier,options)}`}return`${url}${queryString}${hash}`};exports.pick=(input,filter,options)=>{options=Object.assign({parseFragmentIdentifier:true},options);const{url:url,query:query,fragmentIdentifier:fragmentIdentifier}=exports.parseUrl(input,options);return exports.stringifyUrl({url:url,query:filterObject(query,filter),fragmentIdentifier:fragmentIdentifier},options)};exports.exclude=(input,filter,options)=>{const exclusionFilter=Array.isArray(filter)?key=>!filter.includes(key):(key,value)=>!filter(key,value);return exports.pick(input,exclusionFilter,options)}},,,,,,function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=_default;var _objectWithoutProperties2=_interopRequireDefault(__webpack_require__(1306));var _toConsumableArray2=_interopRequireDefault(__webpack_require__(1308));var _objectSpread2=_interopRequireDefault(__webpack_require__(351));var _react=_interopRequireDefault(__webpack_require__(35));var _createElement=_interopRequireDefault(__webpack_require__(353));var _checkForListedLanguage=_interopRequireDefault(__webpack_require__(355));var newLineRegex=/\n/g;function getNewLines(str){return str.match(newLineRegex)}function getAllLineNumbers(_ref){var lines=_ref.lines,startingLineNumber=_ref.startingLineNumber,style=_ref.style;return lines.map((function(_,i){var number=i+startingLineNumber;return _react.default.createElement("span",{key:"line-".concat(i),className:"react-syntax-highlighter-line-number",style:typeof style==="function"?style(number):style},"".concat(number,"\n"))}))}function AllLineNumbers(_ref2){var codeString=_ref2.codeString,codeStyle=_ref2.codeStyle,_ref2$containerStyle=_ref2.containerStyle,containerStyle=_ref2$containerStyle===void 0?{float:"left",paddingRight:"10px"}:_ref2$containerStyle,_ref2$numberStyle=_ref2.numberStyle,numberStyle=_ref2$numberStyle===void 0?{}:_ref2$numberStyle,startingLineNumber=_ref2.startingLineNumber;return _react.default.createElement("code",{style:Object.assign({},codeStyle,containerStyle)},getAllLineNumbers({lines:codeString.replace(/\n$/,"").split("\n"),style:numberStyle,startingLineNumber:startingLineNumber}))}function getEmWidthOfNumber(num){return"".concat(num.toString().length,".25em")}function getInlineLineNumber(lineNumber,inlineLineNumberStyle){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(lineNumber),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:inlineLineNumberStyle},children:[{type:"text",value:lineNumber}]}}function assembleLineNumberStyles(lineNumberStyle,lineNumber,largestLineNumber){var defaultLineNumberStyle={display:"inline-block",minWidth:getEmWidthOfNumber(largestLineNumber),paddingRight:"1em",textAlign:"right",userSelect:"none"};var customLineNumberStyle=typeof lineNumberStyle==="function"?lineNumberStyle(lineNumber):lineNumberStyle;var assembledStyle=(0,_objectSpread2.default)({},defaultLineNumberStyle,customLineNumberStyle);return assembledStyle}function createLineElement(_ref3){var children=_ref3.children,lineNumber=_ref3.lineNumber,lineNumberStyle=_ref3.lineNumberStyle,largestLineNumber=_ref3.largestLineNumber,showInlineLineNumbers=_ref3.showInlineLineNumbers,_ref3$lineProps=_ref3.lineProps,lineProps=_ref3$lineProps===void 0?{}:_ref3$lineProps,_ref3$className=_ref3.className,className=_ref3$className===void 0?[]:_ref3$className,showLineNumbers=_ref3.showLineNumbers,wrapLongLines=_ref3.wrapLongLines;var properties=typeof lineProps==="function"?lineProps(lineNumber):lineProps;properties["className"]=className;if(lineNumber&&showInlineLineNumbers){var inlineLineNumberStyle=assembleLineNumberStyles(lineNumberStyle,lineNumber,largestLineNumber);children.unshift(getInlineLineNumber(lineNumber,inlineLineNumberStyle))}if(wrapLongLines&showLineNumbers){properties.style=(0,_objectSpread2.default)({},properties.style,{display:"flex"})}return{type:"element",tagName:"span",properties:properties,children:children}}function flattenCodeTree(tree){var className=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var newTree=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];for(var i=0;i<tree.length;i++){var node=tree[i];if(node.type==="text"){newTree.push(createLineElement({children:[node],className:(0,_toConsumableArray2.default)(new Set(className))}))}else if(node.children){var classNames=className.concat(node.properties.className);newTree=newTree.concat(flattenCodeTree(node.children,classNames))}}return newTree}function processLines(codeTree,wrapLines,lineProps,showLineNumbers,showInlineLineNumbers,startingLineNumber,largestLineNumber,lineNumberStyle,wrapLongLines){var _ref4;var tree=flattenCodeTree(codeTree.value);var newTree=[];var lastLineBreakIndex=-1;var index=0;function createWrappedLine(children,lineNumber){var className=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];return createLineElement({children:children,lineNumber:lineNumber,lineNumberStyle:lineNumberStyle,largestLineNumber:largestLineNumber,showInlineLineNumbers:showInlineLineNumbers,lineProps:lineProps,className:className,showLineNumbers:showLineNumbers,wrapLongLines:wrapLongLines})}function createUnwrappedLine(children,lineNumber){if(showLineNumbers&&lineNumber&&showInlineLineNumbers){var inlineLineNumberStyle=assembleLineNumberStyles(lineNumberStyle,lineNumber,largestLineNumber);children.unshift(getInlineLineNumber(lineNumber,inlineLineNumberStyle))}return children}function createLine(children,lineNumber){var className=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];return wrapLines||className.length>0?createWrappedLine(children,lineNumber,className):createUnwrappedLine(children,lineNumber)}var _loop=function _loop(){var node=tree[index];var value=node.children[0].value;var newLines=getNewLines(value);if(newLines){var splitValue=value.split("\n");splitValue.forEach((function(text,i){var lineNumber=showLineNumbers&&newTree.length+startingLineNumber;var newChild={type:"text",value:"".concat(text,"\n")};if(i===0){var _children=tree.slice(lastLineBreakIndex+1,index).concat(createLineElement({children:[newChild],className:node.properties.className}));var _line=createLine(_children,lineNumber);newTree.push(_line)}else if(i===splitValue.length-1){var stringChild=tree[index+1]&&tree[index+1].children&&tree[index+1].children[0];if(stringChild){var lastLineInPreviousSpan={type:"text",value:"".concat(text)};var newElem=createLineElement({children:[lastLineInPreviousSpan],className:node.properties.className});tree.splice(index+1,0,newElem)}else{var _children2=[newChild];var _line2=createLine(_children2,lineNumber,node.properties.className);newTree.push(_line2)}}else{var _children3=[newChild];var _line3=createLine(_children3,lineNumber,node.properties.className);newTree.push(_line3)}}));lastLineBreakIndex=index}index++};while(index<tree.length){_loop()}if(lastLineBreakIndex!==tree.length-1){var children=tree.slice(lastLineBreakIndex+1,tree.length);if(children&&children.length){var lineNumber=showLineNumbers&&newTree.length+startingLineNumber;var line=createLine(children,lineNumber);newTree.push(line)}}return wrapLines?newTree:(_ref4=[]).concat.apply(_ref4,newTree)}function defaultRenderer(_ref5){var rows=_ref5.rows,stylesheet=_ref5.stylesheet,useInlineStyles=_ref5.useInlineStyles;return rows.map((function(node,i){return(0,_createElement.default)({node:node,stylesheet:stylesheet,useInlineStyles:useInlineStyles,key:"code-segement".concat(i)})}))}function isHighlightJs(astGenerator){return astGenerator&&typeof astGenerator.highlightAuto!=="undefined"}function getCodeTree(_ref6){var astGenerator=_ref6.astGenerator,language=_ref6.language,code=_ref6.code,defaultCodeValue=_ref6.defaultCodeValue;if(isHighlightJs(astGenerator)){var hasLanguage=(0,_checkForListedLanguage.default)(astGenerator,language);if(language==="text"){return{value:defaultCodeValue,language:"text"}}else if(hasLanguage){return astGenerator.highlight(language,code)}else{return astGenerator.highlightAuto(code)}}try{return language&&language!=="text"?{value:astGenerator.highlight(code,language)}:{value:defaultCodeValue}}catch(e){return{value:defaultCodeValue}}}function _default(defaultAstGenerator,defaultStyle){return function SyntaxHighlighter(_ref7){var language=_ref7.language,children=_ref7.children,_ref7$style=_ref7.style,style=_ref7$style===void 0?defaultStyle:_ref7$style,_ref7$customStyle=_ref7.customStyle,customStyle=_ref7$customStyle===void 0?{}:_ref7$customStyle,_ref7$codeTagProps=_ref7.codeTagProps,codeTagProps=_ref7$codeTagProps===void 0?{className:language?"language-".concat(language):undefined,style:(0,_objectSpread2.default)({},style['code[class*="language-"]'],style['code[class*="language-'.concat(language,'"]')])}:_ref7$codeTagProps,_ref7$useInlineStyles=_ref7.useInlineStyles,useInlineStyles=_ref7$useInlineStyles===void 0?true:_ref7$useInlineStyles,_ref7$showLineNumbers=_ref7.showLineNumbers,showLineNumbers=_ref7$showLineNumbers===void 0?false:_ref7$showLineNumbers,_ref7$showInlineLineN=_ref7.showInlineLineNumbers,showInlineLineNumbers=_ref7$showInlineLineN===void 0?true:_ref7$showInlineLineN,_ref7$startingLineNum=_ref7.startingLineNumber,startingLineNumber=_ref7$startingLineNum===void 0?1:_ref7$startingLineNum,lineNumberContainerStyle=_ref7.lineNumberContainerStyle,_ref7$lineNumberStyle=_ref7.lineNumberStyle,lineNumberStyle=_ref7$lineNumberStyle===void 0?{}:_ref7$lineNumberStyle,wrapLines=_ref7.wrapLines,_ref7$wrapLongLines=_ref7.wrapLongLines,wrapLongLines=_ref7$wrapLongLines===void 0?false:_ref7$wrapLongLines,_ref7$lineProps=_ref7.lineProps,lineProps=_ref7$lineProps===void 0?{}:_ref7$lineProps,renderer=_ref7.renderer,_ref7$PreTag=_ref7.PreTag,PreTag=_ref7$PreTag===void 0?"pre":_ref7$PreTag,_ref7$CodeTag=_ref7.CodeTag,CodeTag=_ref7$CodeTag===void 0?"code":_ref7$CodeTag,_ref7$code=_ref7.code,code=_ref7$code===void 0?Array.isArray(children)?children[0]:children:_ref7$code,astGenerator=_ref7.astGenerator,rest=(0,_objectWithoutProperties2.default)(_ref7,["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"]);astGenerator=astGenerator||defaultAstGenerator;var allLineNumbers=showLineNumbers?_react.default.createElement(AllLineNumbers,{containerStyle:lineNumberContainerStyle,codeStyle:codeTagProps.style||{},numberStyle:lineNumberStyle,startingLineNumber:startingLineNumber,codeString:code}):null;var defaultPreStyle=style.hljs||style['pre[class*="language-"]']||{backgroundColor:"#fff"};var generatorClassName=isHighlightJs(astGenerator)?"hljs":"prismjs";var preProps=useInlineStyles?Object.assign({},rest,{style:Object.assign({},defaultPreStyle,customStyle)}):Object.assign({},rest,{className:rest.className?"".concat(generatorClassName," ").concat(rest.className):generatorClassName,style:Object.assign({},customStyle)});if(!astGenerator){return _react.default.createElement(PreTag,preProps,allLineNumbers,_react.default.createElement(CodeTag,codeTagProps,code))}if(wrapLines===undefined&&renderer||wrapLongLines)wrapLines=true;renderer=renderer||defaultRenderer;var defaultCodeValue=[{type:"text",value:code}];var codeTree=getCodeTree({astGenerator:astGenerator,language:language,code:code,defaultCodeValue:defaultCodeValue});if(codeTree.language===null){codeTree.value=defaultCodeValue}var largestLineNumber=codeTree.value.length+startingLineNumber;var rows=processLines(codeTree,wrapLines,lineProps,showLineNumbers,showInlineLineNumbers,startingLineNumber,largestLineNumber,lineNumberStyle,wrapLongLines);if(wrapLongLines){codeTagProps.style=(0,_objectSpread2.default)({},codeTagProps.style,{whiteSpace:"pre-wrap"})}else{codeTagProps.style=(0,_objectSpread2.default)({},codeTagProps.style,{whiteSpace:"pre"})}return _react.default.createElement(PreTag,preProps,_react.default.createElement(CodeTag,codeTagProps,!showInlineLineNumbers&&allLineNumbers,renderer({rows:rows,stylesheet:style,useInlineStyles:useInlineStyles})))}}},function(module,exports,__webpack_require__){"use strict";module.exports=ruby;ruby.displayName="ruby";ruby.aliases=["rb"];function ruby(Prism){(function(Prism){Prism.languages.ruby=Prism.languages.extend("clike",{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:true}],"class-name":{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:true,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var interpolation={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:Prism.languages.ruby}};delete Prism.languages.ruby.function;Prism.languages.insertBefore("ruby","keyword",{regex:[{pattern:RegExp(/%r/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S])*\)/.source,/\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S])*\]/.source,/<(?:[^<>\\]|\\[\s\S])*>/.source].join("|")+")"+/[egimnosux]{0,6}/.source),greedy:true,inside:{interpolation:interpolation}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:true,greedy:true,inside:{interpolation:interpolation}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:true},"method-definition":{pattern:/(\bdef\s+)[\w.]+/,lookbehind:true,inside:{function:/\w+$/,rest:Prism.languages.ruby}}});Prism.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/});Prism.languages.ruby.string=[{pattern:RegExp(/%[qQiIwWxs]?/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S])*\)/.source,/\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S])*\]/.source,/<(?:[^<>\\]|\\[\s\S])*>/.source].join("|")+")"),greedy:true,inside:{interpolation:interpolation}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:true,inside:{interpolation:interpolation}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:true,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|[a-z_]\w*$/i,alias:"symbol",inside:{punctuation:/^<<[-~]?/}},interpolation:interpolation}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:true,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|[a-z_]\w*$/i,alias:"symbol",inside:{punctuation:/^<<[-~]?'|'$/}}}}];Prism.languages.rb=Prism.languages.ruby})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=javadoclike;javadoclike.displayName="javadoclike";javadoclike.aliases=[];function javadoclike(Prism){(function(Prism){var javaDocLike=Prism.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+)\w+/m,lookbehind:true},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:true},punctuation:/[{}]/};function docCommentSupport(lang,callback){var tokenName="doc-comment";var grammar=Prism.languages[lang];if(!grammar){return}var token=grammar[tokenName];if(!token){var definition={};definition[tokenName]={pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:true,alias:"comment"};grammar=Prism.languages.insertBefore(lang,"comment",definition);token=grammar[tokenName]}if(token instanceof RegExp){token=grammar[tokenName]={pattern:token}}if(Array.isArray(token)){for(var i=0,l=token.length;i<l;i++){if(token[i]instanceof RegExp){token[i]={pattern:token[i]}}callback(token[i])}}else{callback(token)}}function addSupport(languages,docLanguage){if(typeof languages==="string"){languages=[languages]}languages.forEach((function(lang){docCommentSupport(lang,(function(pattern){if(!pattern.inside){pattern.inside={}}pattern.inside.rest=docLanguage}))}))}Object.defineProperty(javaDocLike,"addSupport",{value:addSupport});javaDocLike.addSupport(["java","javascript","php"],javaDocLike)})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=php;php.displayName="php";php.aliases=[];function php(Prism){Prism.register(refractorMarkupTemplating);(function(Prism){var comment=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/;var constant=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:true,lookbehind:true},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:true,lookbehind:true},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/];var number=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i;var operator=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/;var punctuation=/[{}\[\](),:;]/;Prism.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:comment,variable:/\$+(?:\w+\b|(?=\{))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:true,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:true,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:true,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:"type-casting",greedy:true,lookbehind:true},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:"type-hint",greedy:true,lookbehind:true},{pattern:/([(,?]\s*[\w|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:"type-hint",greedy:true,lookbehind:true},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"return-type",greedy:true,lookbehind:true},{pattern:/(\)\s*:\s*(?:\?\s*)?[\w|]\|\s*)(?:null|false)\b/i,alias:"return-type",greedy:true,lookbehind:true},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"type-declaration",greedy:true},{pattern:/(\|\s*)(?:null|false)\b/i,alias:"type-declaration",greedy:true,lookbehind:true},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:true},{pattern:/(\byield\s+)from\b/i,lookbehind:true},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,lookbehind:true}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:true},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:true,lookbehind:true},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:true,lookbehind:true},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:true},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:true,lookbehind:true,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:true,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:true,lookbehind:true,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:true},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:true,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:true},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:true,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:true,lookbehind:true},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:true,lookbehind:true,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:true,lookbehind:true},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:true,lookbehind:true,inside:{punctuation:/\\/}}],constant:constant,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:true,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:true},number:number,operator:operator,punctuation:punctuation};var string_interpolation={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:true,inside:Prism.languages.php};var string=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:true,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:true,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:string_interpolation}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:true},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:true},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:true,inside:{interpolation:string_interpolation}}];Prism.languages.insertBefore("php","variable",{string:string,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:true,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:true,inside:{comment:comment,string:string,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:true,lookbehind:true},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:true,lookbehind:true,inside:{punctuation:/\\/}}],constant:constant,number:number,operator:operator,punctuation:punctuation}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}});Prism.hooks.add("before-tokenize",(function(env){if(!/<\?/.test(env.code)){return}var phpPattern=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/gi;Prism.languages["markup-templating"].buildPlaceholders(env,"php",phpPattern)}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"php")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";var normalize=__webpack_require__(235);var Schema=__webpack_require__(762);var DefinedInfo=__webpack_require__(763);module.exports=create;function create(definition){var space=definition.space;var mustUseProperty=definition.mustUseProperty||[];var attributes=definition.attributes||{};var props=definition.properties;var transform=definition.transform;var property={};var normal={};var prop;var info;for(prop in props){info=new DefinedInfo(prop,transform(attributes,prop),props[prop],space);if(mustUseProperty.indexOf(prop)!==-1){info.mustUseProperty=true}property[prop]=info;normal[normalize(prop)]=prop;normal[normalize(info.attribute)]=prop}return new Schema(property,normal,space)}},function(module,exports,__webpack_require__){"use strict";module.exports=decimal;function decimal(character){var code=typeof character==="string"?character.charCodeAt(0):character;return code>=48&&code<=57}},function(module,exports,__webpack_require__){"use strict";module.exports=visit;var visitParents=__webpack_require__(1431);var CONTINUE=visitParents.CONTINUE;var SKIP=visitParents.SKIP;var EXIT=visitParents.EXIT;visit.CONTINUE=CONTINUE;visit.SKIP=SKIP;visit.EXIT=EXIT;function visit(tree,test,visitor,reverse){if(typeof test==="function"&&typeof visitor!=="function"){reverse=visitor;visitor=test;test=null}visitParents(tree,test,overload,reverse);function overload(node,parents){var parent=parents[parents.length-1];var index=parent?parent.children.indexOf(node):null;return visitor(node,index,parent)}}},,,,,function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _objectSpread=__webpack_require__(836);function _interopDefaultLegacy(e){return e&&typeof e==="object"&&"default"in e?e:{default:e}}var _objectSpread__default=_interopDefaultLegacy(_objectSpread);function formatProdErrorMessage(code){return"Minified Redux error #"+code+"; visit https://redux.js.org/Errors?code="+code+" for the full message or "+"use the non-minified dev environment for full errors. "}var $$observable=function(){return typeof Symbol==="function"&&Symbol.observable||"@@observable"}();var randomString=function randomString(){return Math.random().toString(36).substring(7).split("").join(".")};var ActionTypes={INIT:"@@redux/INIT"+randomString(),REPLACE:"@@redux/REPLACE"+randomString(),PROBE_UNKNOWN_ACTION:function PROBE_UNKNOWN_ACTION(){return"@@redux/PROBE_UNKNOWN_ACTION"+randomString()}};function isPlainObject(obj){if(typeof obj!=="object"||obj===null)return false;var proto=obj;while(Object.getPrototypeOf(proto)!==null){proto=Object.getPrototypeOf(proto)}return Object.getPrototypeOf(obj)===proto}function miniKindOf(val){if(val===void 0)return"undefined";if(val===null)return"null";var type=typeof val;switch(type){case"boolean":case"string":case"number":case"symbol":case"function":{return type}}if(Array.isArray(val))return"array";if(isDate(val))return"date";if(isError(val))return"error";var constructorName=ctorName(val);switch(constructorName){case"Symbol":case"Promise":case"WeakMap":case"WeakSet":case"Map":case"Set":return constructorName}return type.slice(8,-1).toLowerCase().replace(/\s/g,"")}function ctorName(val){return typeof val.constructor==="function"?val.constructor.name:null}function isError(val){return val instanceof Error||typeof val.message==="string"&&val.constructor&&typeof val.constructor.stackTraceLimit==="number"}function isDate(val){if(val instanceof Date)return true;return typeof val.toDateString==="function"&&typeof val.getDate==="function"&&typeof val.setDate==="function"}function kindOf(val){var typeOfVal=typeof val;if(false){}return typeOfVal}function createStore(reducer,preloadedState,enhancer){var _ref2;if(typeof preloadedState==="function"&&typeof enhancer==="function"||typeof enhancer==="function"&&typeof arguments[3]==="function"){throw new Error(true?formatProdErrorMessage(0):undefined)}if(typeof preloadedState==="function"&&typeof enhancer==="undefined"){enhancer=preloadedState;preloadedState=undefined}if(typeof enhancer!=="undefined"){if(typeof enhancer!=="function"){throw new Error(true?formatProdErrorMessage(1):undefined)}return enhancer(createStore)(reducer,preloadedState)}if(typeof reducer!=="function"){throw new Error(true?formatProdErrorMessage(2):undefined)}var currentReducer=reducer;var currentState=preloadedState;var currentListeners=[];var nextListeners=currentListeners;var isDispatching=false;function ensureCanMutateNextListeners(){if(nextListeners===currentListeners){nextListeners=currentListeners.slice()}}function getState(){if(isDispatching){throw new Error(true?formatProdErrorMessage(3):undefined)}return currentState}function subscribe(listener){if(typeof listener!=="function"){throw new Error(true?formatProdErrorMessage(4):undefined)}if(isDispatching){throw new Error(true?formatProdErrorMessage(5):undefined)}var isSubscribed=true;ensureCanMutateNextListeners();nextListeners.push(listener);return function unsubscribe(){if(!isSubscribed){return}if(isDispatching){throw new Error(true?formatProdErrorMessage(6):undefined)}isSubscribed=false;ensureCanMutateNextListeners();var index=nextListeners.indexOf(listener);nextListeners.splice(index,1);currentListeners=null}}function dispatch(action){if(!isPlainObject(action)){throw new Error(true?formatProdErrorMessage(7):undefined)}if(typeof action.type==="undefined"){throw new Error(true?formatProdErrorMessage(8):undefined)}if(isDispatching){throw new Error(true?formatProdErrorMessage(9):undefined)}try{isDispatching=true;currentState=currentReducer(currentState,action)}finally{isDispatching=false}var listeners=currentListeners=nextListeners;for(var i=0;i<listeners.length;i++){var listener=listeners[i];listener()}return action}function replaceReducer(nextReducer){if(typeof nextReducer!=="function"){throw new Error(true?formatProdErrorMessage(10):undefined)}currentReducer=nextReducer;dispatch({type:ActionTypes.REPLACE})}function observable(){var _ref;var outerSubscribe=subscribe;return _ref={subscribe:function subscribe(observer){if(typeof observer!=="object"||observer===null){throw new Error(true?formatProdErrorMessage(11):undefined)}function observeState(){if(observer.next){observer.next(getState())}}observeState();var unsubscribe=outerSubscribe(observeState);return{unsubscribe:unsubscribe}}},_ref[$$observable]=function(){return this},_ref}dispatch({type:ActionTypes.INIT});return _ref2={dispatch:dispatch,subscribe:subscribe,getState:getState,replaceReducer:replaceReducer},_ref2[$$observable]=observable,_ref2}function warning(message){if(typeof console!=="undefined"&&typeof console.error==="function"){console.error(message)}try{throw new Error(message)}catch(e){}}function getUnexpectedStateShapeWarningMessage(inputState,reducers,action,unexpectedKeyCache){var reducerKeys=Object.keys(reducers);var argumentName=action&&action.type===ActionTypes.INIT?"preloadedState argument passed to createStore":"previous state received by the reducer";if(reducerKeys.length===0){return"Store does not have a valid reducer. Make sure the argument passed "+"to combineReducers is an object whose values are reducers."}if(!isPlainObject(inputState)){return"The "+argumentName+' has unexpected type of "'+kindOf(inputState)+'". Expected argument to be an object with the following '+('keys: "'+reducerKeys.join('", "')+'"')}var unexpectedKeys=Object.keys(inputState).filter((function(key){return!reducers.hasOwnProperty(key)&&!unexpectedKeyCache[key]}));unexpectedKeys.forEach((function(key){unexpectedKeyCache[key]=true}));if(action&&action.type===ActionTypes.REPLACE)return;if(unexpectedKeys.length>0){return"Unexpected "+(unexpectedKeys.length>1?"keys":"key")+" "+('"'+unexpectedKeys.join('", "')+'" found in '+argumentName+". ")+"Expected to find one of the known reducer keys instead: "+('"'+reducerKeys.join('", "')+'". Unexpected keys will be ignored.')}}function assertReducerShape(reducers){Object.keys(reducers).forEach((function(key){var reducer=reducers[key];var initialState=reducer(undefined,{type:ActionTypes.INIT});if(typeof initialState==="undefined"){throw new Error(true?formatProdErrorMessage(12):undefined)}if(typeof reducer(undefined,{type:ActionTypes.PROBE_UNKNOWN_ACTION()})==="undefined"){throw new Error(true?formatProdErrorMessage(13):undefined)}}))}function combineReducers(reducers){var reducerKeys=Object.keys(reducers);var finalReducers={};for(var i=0;i<reducerKeys.length;i++){var key=reducerKeys[i];if(false){}if(typeof reducers[key]==="function"){finalReducers[key]=reducers[key]}}var finalReducerKeys=Object.keys(finalReducers);var unexpectedKeyCache;if(false){}var shapeAssertionError;try{assertReducerShape(finalReducers)}catch(e){shapeAssertionError=e}return function combination(state,action){if(state===void 0){state={}}if(shapeAssertionError){throw shapeAssertionError}if(false){var warningMessage}var hasChanged=false;var nextState={};for(var _i=0;_i<finalReducerKeys.length;_i++){var _key=finalReducerKeys[_i];var reducer=finalReducers[_key];var previousStateForKey=state[_key];var nextStateForKey=reducer(previousStateForKey,action);if(typeof nextStateForKey==="undefined"){var actionType=action&&action.type;throw new Error(true?formatProdErrorMessage(14):undefined)}nextState[_key]=nextStateForKey;hasChanged=hasChanged||nextStateForKey!==previousStateForKey}hasChanged=hasChanged||finalReducerKeys.length!==Object.keys(state).length;return hasChanged?nextState:state}}function bindActionCreator(actionCreator,dispatch){return function(){return dispatch(actionCreator.apply(this,arguments))}}function bindActionCreators(actionCreators,dispatch){if(typeof actionCreators==="function"){return bindActionCreator(actionCreators,dispatch)}if(typeof actionCreators!=="object"||actionCreators===null){throw new Error(true?formatProdErrorMessage(16):undefined)}var boundActionCreators={};for(var key in actionCreators){var actionCreator=actionCreators[key];if(typeof actionCreator==="function"){boundActionCreators[key]=bindActionCreator(actionCreator,dispatch)}}return boundActionCreators}function compose(){for(var _len=arguments.length,funcs=new Array(_len),_key=0;_key<_len;_key++){funcs[_key]=arguments[_key]}if(funcs.length===0){return function(arg){return arg}}if(funcs.length===1){return funcs[0]}return funcs.reduce((function(a,b){return function(){return a(b.apply(void 0,arguments))}}))}function applyMiddleware(){for(var _len=arguments.length,middlewares=new Array(_len),_key=0;_key<_len;_key++){middlewares[_key]=arguments[_key]}return function(createStore){return function(){var store=createStore.apply(void 0,arguments);var _dispatch=function dispatch(){throw new Error(true?formatProdErrorMessage(15):undefined)};var middlewareAPI={getState:store.getState,dispatch:function dispatch(){return _dispatch.apply(void 0,arguments)}};var chain=middlewares.map((function(middleware){return middleware(middlewareAPI)}));_dispatch=compose.apply(void 0,chain)(store.dispatch);return _objectSpread__default["default"](_objectSpread__default["default"]({},store),{},{dispatch:_dispatch})}}}function isCrushed(){}if(false){}exports.__DO_NOT_USE__ActionTypes=ActionTypes;exports.applyMiddleware=applyMiddleware;exports.bindActionCreators=bindActionCreators;exports.combineReducers=combineReducers;exports.compose=compose;exports.createStore=createStore},function(module,exports){function identity(value){return value}module.exports=identity},function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(96),isObject=__webpack_require__(74);var asyncTag="[object AsyncFunction]",funcTag="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(value){if(!isObject(value)){return false}var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}module.exports=isFunction},function(module,exports,__webpack_require__){var baseCreate=__webpack_require__(141),isObject=__webpack_require__(74);function createCtor(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);return isObject(result)?result:thisBinding}}module.exports=createCtor},function(module,exports,__webpack_require__){var isObject=__webpack_require__(74);var objectCreate=Object.create;var baseCreate=function(){function object(){}return function(proto){if(!isObject(proto)){return{}}if(objectCreate){return objectCreate(proto)}object.prototype=proto;var result=new object;object.prototype=undefined;return result}}();module.exports=baseCreate},function(module,exports){function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}module.exports=apply},function(module,exports){var MAX_SAFE_INTEGER=9007199254740991;var reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value,length){var type=typeof value;length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(type=="number"||type!="symbol"&&reIsUint.test(value))&&(value>-1&&value%1==0&&value<length)}module.exports=isIndex},function(module,exports,__webpack_require__){var arrayLikeKeys=__webpack_require__(299),baseKeys=__webpack_require__(300),isArrayLike=__webpack_require__(148);function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}module.exports=keys},function(module,exports,__webpack_require__){var baseIsArguments=__webpack_require__(891),isObjectLike=__webpack_require__(75);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var propertyIsEnumerable=objectProto.propertyIsEnumerable;var isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};module.exports=isArguments},function(module,exports,__webpack_require__){(function(module){var root=__webpack_require__(65),stubFalse=__webpack_require__(892);var freeExports=true&&exports&&!exports.nodeType&&exports;var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports;var Buffer=moduleExports?root.Buffer:undefined;var nativeIsBuffer=Buffer?Buffer.isBuffer:undefined;var isBuffer=nativeIsBuffer||stubFalse;module.exports=isBuffer}).call(this,__webpack_require__(113)(module))},function(module,exports){function baseUnary(func){return function(value){return func(value)}}module.exports=baseUnary},function(module,exports,__webpack_require__){var isFunction=__webpack_require__(139),isLength=__webpack_require__(196);function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value)}module.exports=isArrayLike},function(module,exports,__webpack_require__){var ListCache=__webpack_require__(150),stackClear=__webpack_require__(901),stackDelete=__webpack_require__(902),stackGet=__webpack_require__(903),stackHas=__webpack_require__(904),stackSet=__webpack_require__(905);function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}Stack.prototype.clear=stackClear;Stack.prototype["delete"]=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;module.exports=Stack},function(module,exports,__webpack_require__){var listCacheClear=__webpack_require__(896),listCacheDelete=__webpack_require__(897),listCacheGet=__webpack_require__(898),listCacheHas=__webpack_require__(899),listCacheSet=__webpack_require__(900);function ListCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;module.exports=ListCache},function(module,exports,__webpack_require__){var eq=__webpack_require__(112);function assocIndexOf(array,key){var length=array.length;while(length--){if(eq(array[length][0],key)){return length}}return-1}module.exports=assocIndexOf},function(module,exports,__webpack_require__){var getNative=__webpack_require__(95);var nativeCreate=getNative(Object,"create");module.exports=nativeCreate},function(module,exports,__webpack_require__){var isKeyable=__webpack_require__(914);function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data[typeof key=="string"?"string":"hash"]:data.map}module.exports=getMapData},function(module,exports,__webpack_require__){"use strict";var os=__webpack_require__(1034);function tryParseNumber(text,stopAtNext){var number,string="",leadingZeros=0,testLeading=true;var at=0;var ch;function next(){ch=text.charAt(at);at++;return ch}next();if(ch==="-"){string="-";next()}while(ch>="0"&&ch<="9"){if(testLeading){if(ch=="0")leadingZeros++;else testLeading=false}string+=ch;next()}if(testLeading)leadingZeros--;if(ch==="."){string+=".";while(next()&&ch>="0"&&ch<="9")string+=ch}if(ch==="e"||ch==="E"){string+=ch;next();if(ch==="-"||ch==="+"){string+=ch;next()}while(ch>="0"&&ch<="9"){string+=ch;next()}}while(ch&&ch<=" ")next();if(stopAtNext){if(ch===","||ch==="}"||ch==="]"||ch==="#"||ch==="/"&&(text[at]==="/"||text[at]==="*"))ch=0}number=+string;if(ch||leadingZeros||!isFinite(number))return undefined;else return number}function createComment(value,comment){if(Object.defineProperty)Object.defineProperty(value,"__COMMENTS__",{enumerable:false,writable:true});return value.__COMMENTS__=comment||{}}function removeComment(value){Object.defineProperty(value,"__COMMENTS__",{value:undefined})}function getComment(value){return value.__COMMENTS__}function forceComment(text){if(!text)return"";var a=text.split("\n");var str,i,j,len;for(j=0;j<a.length;j++){str=a[j];len=str.length;for(i=0;i<len;i++){var c=str[i];if(c==="#")break;else if(c==="/"&&(str[i+1]==="/"||str[i+1]==="*")){if(str[i+1]==="*")j=a.length;break}else if(c>" "){a[j]="# "+str;break}}}return a.join("\n")}module.exports={EOL:os.EOL||"\n",tryParseNumber:tryParseNumber,createComment:createComment,removeComment:removeComment,getComment:getComment,forceComment:forceComment}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.findInArray=findInArray;exports.isFunction=isFunction;exports.isNum=isNum;exports.int=int;exports.dontSetMe=dontSetMe;function findInArray(array,callback){for(var i=0,length=array.length;i<length;i++){if(callback.apply(callback,[array[i],i,array]))return array[i]}}function isFunction(func){return typeof func==="function"||Object.prototype.toString.call(func)==="[object Function]"}function isNum(num){return typeof num==="number"&&!isNaN(num)}function int(a){return parseInt(a,10)}function dontSetMe(props,propName,componentName){if(props[propName]){return new Error("Invalid prop ".concat(propName," passed to ").concat(componentName," - do not set this, set it on the child."))}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var tslib_1=__webpack_require__(46);var react_1=__webpack_require__(35);var useIsomorphicLayoutEffect_1=tslib_1.__importDefault(__webpack_require__(1124));function useObservable(observable$,initialValue){var _a=react_1.useState(initialValue),value=_a[0],update=_a[1];useIsomorphicLayoutEffect_1.default((function(){var s=observable$.subscribe(update);return function(){return s.unsubscribe()}}),[observable$]);return value}exports.default=useObservable},,function(module,exports,__webpack_require__){var freeGlobal=__webpack_require__(1225);var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal||freeSelf||Function("return this")();module.exports=root},function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(344),isObjectLike=__webpack_require__(1234);var symbolTag="[object Symbol]";function isSymbol(value){return typeof value=="symbol"||isObjectLike(value)&&baseGetTag(value)==symbolTag}module.exports=isSymbol},function(module,exports,__webpack_require__){var getNative=__webpack_require__(220);var nativeCreate=getNative(Object,"create");module.exports=nativeCreate},function(module,exports,__webpack_require__){var eq=__webpack_require__(345);function assocIndexOf(array,key){var length=array.length;while(length--){if(eq(array[length][0],key)){return length}}return-1}module.exports=assocIndexOf},function(module,exports,__webpack_require__){var isKeyable=__webpack_require__(1254);function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data[typeof key=="string"?"string":"hash"]:data.map}module.exports=getMapData},,function(module,exports,__webpack_require__){"use strict";var refractorC=__webpack_require__(91);module.exports=cpp;cpp.displayName="cpp";cpp.aliases=[];function cpp(Prism){Prism.register(refractorC);(function(Prism){var keyword=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;var modName=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return keyword.source}));Prism.languages.cpp=Prism.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return keyword.source}))),lookbehind:true},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:keyword,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:true},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/});Prism.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:module|import)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return modName}))+")"),lookbehind:true,greedy:true,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:true}});Prism.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b[a-z_]\w*\s*<(?:[^<>]|<(?:[^<>])*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:Prism.languages.cpp}}}});Prism.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});Prism.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:true,greedy:true,inside:Prism.languages.extend("cpp",{})}});Prism.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},Prism.languages.cpp["base-clause"])})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=csharp;csharp.displayName="csharp";csharp.aliases=["dotnet","cs"];function csharp(Prism){(function(Prism){function replace(pattern,replacements){return pattern.replace(/<<(\d+)>>/g,(function(m,index){return"(?:"+replacements[+index]+")"}))}function re(pattern,replacements,flags){return RegExp(replace(pattern,replacements),flags||"")}function nested(pattern,depthLog2){for(var i=0;i<depthLog2;i++){pattern=pattern.replace(/<<self>>/g,(function(){return"(?:"+pattern+")"}))}return pattern.replace(/<<self>>/g,"[^\\s\\S]")}var keywordKinds={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface struct",contextual:"add alias and ascending async await by descending from get global group into join let nameof not notnull on or orderby partial remove select set unmanaged value when where",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function keywordsToPattern(words){return"\\b(?:"+words.trim().replace(/ /g,"|")+")\\b"}var typeDeclarationKeywords=keywordsToPattern(keywordKinds.typeDeclaration);var keywords=RegExp(keywordsToPattern(keywordKinds.type+" "+keywordKinds.typeDeclaration+" "+keywordKinds.contextual+" "+keywordKinds.other));var nonTypeKeywords=keywordsToPattern(keywordKinds.typeDeclaration+" "+keywordKinds.contextual+" "+keywordKinds.other);var nonContextualKeywords=keywordsToPattern(keywordKinds.type+" "+keywordKinds.typeDeclaration+" "+keywordKinds.other);var generic=nested(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2);var nestedRound=nested(/\((?:[^()]|<<self>>)*\)/.source,2);var name=/@?\b[A-Za-z_]\w*\b/.source;var genericName=replace(/<<0>>(?:\s*<<1>>)?/.source,[name,generic]);var identifier=replace(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[nonTypeKeywords,genericName]);var array=/\[\s*(?:,\s*)*\]/.source;var typeExpressionWithoutTuple=replace(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[identifier,array]);var tupleElement=replace(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[generic,nestedRound,array]);var tuple=replace(/\(<<0>>+(?:,<<0>>+)+\)/.source,[tupleElement]);var typeExpression=replace(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[tuple,identifier,array]);var typeInside={keyword:keywords,punctuation:/[<>()?,.:[\]]/};var character=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source;var regularString=/"(?:\\.|[^\\"\r\n])*"/.source;var verbatimString=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;Prism.languages.csharp=Prism.languages.extend("clike",{string:[{pattern:re(/(^|[^$\\])<<0>>/.source,[verbatimString]),lookbehind:true,greedy:true},{pattern:re(/(^|[^@$\\])<<0>>/.source,[regularString]),lookbehind:true,greedy:true},{pattern:RegExp(character),greedy:true,alias:"character"}],"class-name":[{pattern:re(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[identifier]),lookbehind:true,inside:typeInside},{pattern:re(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[name,typeExpression]),lookbehind:true,inside:typeInside},{pattern:re(/(\busing\s+)<<0>>(?=\s*=)/.source,[name]),lookbehind:true},{pattern:re(/(\b<<0>>\s+)<<1>>/.source,[typeDeclarationKeywords,genericName]),lookbehind:true,inside:typeInside},{pattern:re(/(\bcatch\s*\(\s*)<<0>>/.source,[identifier]),lookbehind:true,inside:typeInside},{pattern:re(/(\bwhere\s+)<<0>>/.source,[name]),lookbehind:true},{pattern:re(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[typeExpressionWithoutTuple]),lookbehind:true,inside:typeInside},{pattern:re(/\b<<0>>(?=\s+(?!<<1>>)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[typeExpression,nonContextualKeywords,name]),inside:typeInside}],keyword:keywords,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/});Prism.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}});Prism.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:re(/([(,]\s*)<<0>>(?=\s*:)/.source,[name]),lookbehind:true,alias:"punctuation"}});Prism.languages.insertBefore("csharp","class-name",{namespace:{pattern:re(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[name]),lookbehind:true,inside:{punctuation:/\./}},"type-expression":{pattern:re(/(\b(?:default|typeof|sizeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[nestedRound]),lookbehind:true,alias:"class-name",inside:typeInside},"return-type":{pattern:re(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[typeExpression,identifier]),inside:typeInside,alias:"class-name"},"constructor-invocation":{pattern:re(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[typeExpression]),lookbehind:true,inside:typeInside,alias:"class-name"},"generic-method":{pattern:re(/<<0>>\s*<<1>>(?=\s*\()/.source,[name,generic]),inside:{function:re(/^<<0>>/.source,[name]),generic:{pattern:RegExp(generic),alias:"class-name",inside:typeInside}}},"type-list":{pattern:re(/\b((?:<<0>>\s+<<1>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>)(?:\s*,\s*(?:<<3>>|<<4>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[typeDeclarationKeywords,genericName,name,typeExpression,keywords.source]),lookbehind:true,inside:{keyword:keywords,"class-name":{pattern:RegExp(typeExpression),greedy:true,inside:typeInside},punctuation:/,/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:true,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:true,alias:"keyword"}}}});var regularStringOrCharacter=regularString+"|"+character;var regularStringCharacterOrComment=replace(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[regularStringOrCharacter]);var roundExpression=nested(replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[regularStringCharacterOrComment]),2);var attrTarget=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source;var attr=replace(/<<0>>(?:\s*\(<<1>>*\))?/.source,[identifier,roundExpression]);Prism.languages.insertBefore("csharp","class-name",{attribute:{pattern:re(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[attrTarget,attr]),lookbehind:true,greedy:true,inside:{target:{pattern:re(/^<<0>>(?=\s*:)/.source,[attrTarget]),alias:"keyword"},"attribute-arguments":{pattern:re(/\(<<0>>*\)/.source,[roundExpression]),inside:Prism.languages.csharp},"class-name":{pattern:RegExp(identifier),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var formatString=/:[^}\r\n]+/.source;var mInterpolationRound=nested(replace(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[regularStringCharacterOrComment]),2);var mInterpolation=replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[mInterpolationRound,formatString]);var sInterpolationRound=nested(replace(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[regularStringOrCharacter]),2);var sInterpolation=replace(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[sInterpolationRound,formatString]);function createInterpolationInside(interpolation,interpolationRound){return{interpolation:{pattern:re(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[interpolation]),lookbehind:true,inside:{"format-string":{pattern:re(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[interpolationRound,formatString]),lookbehind:true,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:Prism.languages.csharp}}},string:/[\s\S]+/}}Prism.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:re(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[mInterpolation]),lookbehind:true,greedy:true,inside:createInterpolationInside(mInterpolation,mInterpolationRound)},{pattern:re(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[sInterpolation]),lookbehind:true,greedy:true,inside:createInterpolationInside(sInterpolation,sInterpolationRound)}]})})(Prism);Prism.languages.dotnet=Prism.languages.cs=Prism.languages.csharp}},function(module,exports,__webpack_require__){"use strict";module.exports=haskell;haskell.displayName="haskell";haskell.aliases=["hs"];function haskell(Prism){Prism.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,lookbehind:true},char:{pattern:/'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,alias:"string"},string:{pattern:/"(?:[^\\"]|\\(?:\S|\s+\\))*"/,greedy:true},keyword:/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:true,inside:{keyword:/\b(?:import|qualified|as|hiding)\b/}},builtin:/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[-!#$%*+=?&@|~:<>^\\\/]*\.[-!#$%*+=?&@|~.:<>^\\\/]+|[-!#$%*+=?&@|~.:<>^\\\/]+\.[-!#$%*+=?&@|~:<>^\\\/]*|[-!#$%*+=?&@|~:<>^\\\/]+|`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,hvariable:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/,constant:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/,punctuation:/[{}[\];(),.:]/};Prism.languages.hs=Prism.languages.haskell}},function(module,exports,__webpack_require__){"use strict";module.exports=java;java.displayName="java";java.aliases=[];function java(Prism){(function(Prism){var keywords=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/;var classNamePrefix=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source;var className={pattern:RegExp(classNamePrefix+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:true,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};Prism.languages.java=Prism.languages.extend("clike",{"class-name":[className,{pattern:RegExp(classNamePrefix+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:true,inside:className.inside}],keyword:keywords,function:[Prism.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:true}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:true}});Prism.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:true,alias:"string"}});Prism.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:true,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":className,keyword:keywords,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,(function(){return keywords.source}))),lookbehind:true,inside:{punctuation:/\./}}})})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=typescript;typescript.displayName="typescript";typescript.aliases=["ts"];function typescript(Prism){(function(Prism){Prism.languages.typescript=Prism.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:true,greedy:true,inside:null},builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});Prism.languages.typescript.keyword.push(/\b(?:abstract|as|declare|implements|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)(?!\s*[^\s_${}*a-zA-Z\xA0-\uFFFF])/);delete Prism.languages.typescript["parameter"];var typeInside=Prism.languages.extend("typescript",{});delete typeInside["class-name"];Prism.languages.typescript["class-name"].inside=typeInside;Prism.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:true,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:typeInside}}}});Prism.languages.ts=Prism.languages.typescript})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=json;json.displayName="json";json.aliases=["webmanifest"];function json(Prism){Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:true,greedy:true},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:true,greedy:true},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:true},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json}},function(module,exports,__webpack_require__){"use strict";module.exports=scheme;scheme.displayName="scheme";scheme.aliases=[];function scheme(Prism){(function(Prism){Prism.languages.scheme={comment:/;.*|#;\s*(?:\((?:[^()]|\([^()]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\])|#\|(?:[^#|]|#(?!\|)|\|(?!#)|#\|(?:[^#|]|#(?!\|)|\|(?!#))*\|#)*\|#/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:true},symbol:{pattern:/'[^()\[\]#'\s]+/,greedy:true},character:{pattern:/#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|[\uD800-\uDBFF][\uDC00-\uDFFF]|\S)/,greedy:true,alias:"string"},"lambda-parameter":[{pattern:/((?:^|[^'`#])[(\[]lambda\s+)(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)/,lookbehind:true},{pattern:/((?:^|[^'`#])[(\[]lambda\s+[(\[])[^()\[\]']+/,lookbehind:true}],keyword:{pattern:/((?:^|[^'`#])[(\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|export|except|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\*)?|let\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\[\]\s]|$)/,lookbehind:true},builtin:{pattern:/((?:^|[^'`#])[(\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\?|boolean=?\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\?|\?|<\?|<=\?|=\?|>\?|>=\?)|close-(?:input-port|output-port|port)|complex\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\??|eq\?|equal\?|eqv\?|error|error-object(?:-irritants|-message|\?)|eval|even\?|exact(?:-integer-sqrt|-integer\?|\?)?|expt|features|file-error\?|floor(?:-quotient|-remainder|\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\??|input-port(?:-open\?|\?)|integer(?:->char|\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\?|newline|not|null\?|number(?:->string|\?)|numerator|odd\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\?|\?)|pair\?|peek-char|peek-u8|port\?|positive\?|procedure\?|quotient|raise|raise-continuable|rational\?|rationalize|read-(?:bytevector|bytevector!|char|error\?|line|string|u8)|real\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?|<\?|<=\?|=\?|>\?|>=\?)?|substring|symbol(?:->string|\?|=\?)|syntax-error|textual-port\?|truncate(?:-quotient|-remainder|\/)?|u8-ready\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\?)(?=[()\[\]\s]|$)/,lookbehind:true},operator:{pattern:/((?:^|[^'`#])[(\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\[\]\s]|$)/,lookbehind:true},number:{pattern:RegExp(SortedBNF({"<ureal dec>":/\d+(?:\/\d+)|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/.source,"<real dec>":/[+-]?<ureal dec>|[+-](?:inf|nan)\.0/.source,"<imaginary dec>":/[+-](?:<ureal dec>|(?:inf|nan)\.0)?i/.source,"<complex dec>":/<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/.source,"<num dec>":/(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,"<ureal box>":/[0-9a-f]+(?:\/[0-9a-f]+)?/.source,"<real box>":/[+-]?<ureal box>|[+-](?:inf|nan)\.0/.source,"<imaginary box>":/[+-](?:<ureal box>|(?:inf|nan)\.0)?i/.source,"<complex box>":/<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/.source,"<num box>":/#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/.source,"<number>":/(^|[()\[\]\s])(?:<num dec>|<num box>)(?=[()\[\]\s]|$)/.source}),"i"),lookbehind:true},boolean:{pattern:/(^|[()\[\]\s])#(?:[ft]|false|true)(?=[()\[\]\s]|$)/,lookbehind:true},function:{pattern:/((?:^|[^'`#])[(\[])(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)(?=[()\[\]\s]|$)/,lookbehind:true},identifier:{pattern:/(^|[()\[\]\s])\|(?:[^\\|]|\\.)*\|(?=[()\[\]\s]|$)/,lookbehind:true,greedy:true},punctuation:/[()\[\]']/};function SortedBNF(grammar){for(var key in grammar){grammar[key]=grammar[key].replace(/<[\w\s]+>/g,(function(key){return"(?:"+grammar[key].trim()+")"}))}return grammar[key]}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=sql;sql.displayName="sql";sql.aliases=[];function sql(Prism){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:true},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:true},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:true,lookbehind:true},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=t4Templating;t4Templating.displayName="t4Templating";t4Templating.aliases=[];function t4Templating(Prism){(function(Prism){function createBlock(prefix,inside,contentAlias){return{pattern:RegExp("<#"+prefix+"[\\s\\S]*?#>"),alias:"block",inside:{delimiter:{pattern:RegExp("^<#"+prefix+"|#>$"),alias:"important"},content:{pattern:/[\s\S]+/,inside:inside,alias:contentAlias}}}}function createT4(insideLang){var grammar=Prism.languages[insideLang];var className="language-"+insideLang;return{block:{pattern:/<#[\s\S]+?#>/,inside:{directive:createBlock("@",{"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,inside:{punctuation:/^=|^["']|["']$/}},keyword:/\b\w+(?=\s)/,"attr-name":/\b\w+/}),expression:createBlock("=",grammar,className),"class-feature":createBlock("\\+",grammar,className),standard:createBlock("",grammar,className)}}}}Prism.languages["t4-templating"]=Object.defineProperty({},"createT4",{value:createT4})})(Prism)}},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const contextValue={MathJax:undefined,input:"tex",hasProviderAbove:undefined};const MathJaxContext=React.createContext(contextValue);exports.default=MathJaxContext},function(module,exports,__webpack_require__){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),(function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),(function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,(function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p})).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")};exports.sep="/";exports.delimiter=":";exports.dirname=function(path){if(typeof path!=="string")path=path+"";if(path.length===0)return".";var code=path.charCodeAt(0);var hasRoot=code===47;var end=-1;var matchedSlash=true;for(var i=path.length-1;i>=1;--i){code=path.charCodeAt(i);if(code===47){if(!matchedSlash){end=i;break}}else{matchedSlash=false}}if(end===-1)return hasRoot?"/":".";if(hasRoot&&end===1){return"/"}return path.slice(0,end)};function basename(path){if(typeof path!=="string")path=path+"";var start=0;var end=-1;var matchedSlash=true;var i;for(i=path.length-1;i>=0;--i){if(path.charCodeAt(i)===47){if(!matchedSlash){start=i+1;break}}else if(end===-1){matchedSlash=false;end=i+1}}if(end===-1)return"";return path.slice(start,end)}exports.basename=function(path,ext){var f=basename(path);if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length)}return f};exports.extname=function(path){if(typeof path!=="string")path=path+"";var startDot=-1;var startPart=0;var end=-1;var matchedSlash=true;var preDotState=0;for(var i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1){preDotState=-1}}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){return""}return path.slice(startDot,end)};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i<xs.length;i++){if(f(xs[i],i,xs))res.push(xs[i])}return res}var substr="ab".substr(-1)==="b"?function(str,start,len){return str.substr(start,len)}:function(str,start,len){if(start<0)start=str.length+start;return str.substr(start,len)}}).call(this,__webpack_require__(239))},,,,,,,,,,function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.createSubscription=createSubscription;var _batch=__webpack_require__(267);function createListenerCollection(){var batch=(0,_batch.getBatch)();var first=null;var last=null;return{clear:function clear(){first=null;last=null},notify:function notify(){batch((function(){var listener=first;while(listener){listener.callback();listener=listener.next}}))},get:function get(){var listeners=[];var listener=first;while(listener){listeners.push(listener);listener=listener.next}return listeners},subscribe:function subscribe(callback){var isSubscribed=true;var listener=last={callback:callback,next:null,prev:last};if(listener.prev){listener.prev.next=listener}else{first=listener}return function unsubscribe(){if(!isSubscribed||first===null)return;isSubscribed=false;if(listener.next){listener.next.prev=listener.prev}else{last=listener.prev}if(listener.prev){listener.prev.next=listener.next}else{first=listener.next}}}}}var nullListeners={notify:function notify(){},get:function get(){return[]}};function createSubscription(store,parentSub){var unsubscribe;var listeners=nullListeners;function addNestedSub(listener){trySubscribe();return listeners.subscribe(listener)}function notifyNestedSubs(){listeners.notify()}function handleChangeWrapper(){if(subscription.onStateChange){subscription.onStateChange()}}function isSubscribed(){return Boolean(unsubscribe)}function trySubscribe(){if(!unsubscribe){unsubscribe=parentSub?parentSub.addNestedSub(handleChangeWrapper):store.subscribe(handleChangeWrapper);listeners=createListenerCollection()}}function tryUnsubscribe(){if(unsubscribe){unsubscribe();unsubscribe=undefined;listeners.clear();listeners=nullListeners}}var subscription={addNestedSub:addNestedSub,notifyNestedSubs:notifyNestedSubs,handleChangeWrapper:handleChangeWrapper,isSubscribed:isSubscribed,trySubscribe:trySubscribe,tryUnsubscribe:tryUnsubscribe,getListeners:function getListeners(){return listeners}};return subscription}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.useIsomorphicLayoutEffect=void 0;var _react=__webpack_require__(35);var useIsomorphicLayoutEffect=typeof window!=="undefined"&&typeof window.document!=="undefined"&&typeof window.document.createElement!=="undefined"?_react.useLayoutEffect:_react.useEffect;exports.useIsomorphicLayoutEffect=useIsomorphicLayoutEffect},function(module,exports){function _extends(){module.exports=_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target},module.exports.__esModule=true,module.exports["default"]=module.exports;return _extends.apply(this,arguments)}module.exports=_extends,module.exports.__esModule=true,module.exports["default"]=module.exports},function(module,exports){function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}module.exports=_objectWithoutPropertiesLoose,module.exports.__esModule=true,module.exports["default"]=module.exports},function(module,exports,__webpack_require__){var baseSetData=__webpack_require__(279),createBind=__webpack_require__(865),createCurry=__webpack_require__(866),createHybrid=__webpack_require__(284),createPartial=__webpack_require__(884),getData=__webpack_require__(288),mergeData=__webpack_require__(885),setData=__webpack_require__(290),setWrapToString=__webpack_require__(292),toInteger=__webpack_require__(296);var FUNC_ERROR_TEXT="Expected a function";var WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_FLAG=8,WRAP_CURRY_RIGHT_FLAG=16,WRAP_PARTIAL_FLAG=32,WRAP_PARTIAL_RIGHT_FLAG=64;var nativeMax=Math.max;function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=bitmask&WRAP_BIND_KEY_FLAG;if(!isBindKey&&typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var length=partials?partials.length:0;if(!length){bitmask&=~(WRAP_PARTIAL_FLAG|WRAP_PARTIAL_RIGHT_FLAG);partials=holders=undefined}ary=ary===undefined?ary:nativeMax(toInteger(ary),0);arity=arity===undefined?arity:toInteger(arity);length-=holders?holders.length:0;if(bitmask&WRAP_PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=undefined}var data=isBindKey?undefined:getData(func);var newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];if(data){mergeData(newData,data)}func=newData[0];bitmask=newData[1];thisArg=newData[2];partials=newData[3];holders=newData[4];arity=newData[9]=newData[9]===undefined?isBindKey?0:func.length:nativeMax(newData[9]-length,0);if(!arity&&bitmask&(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG)){bitmask&=~(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG)}if(!bitmask||bitmask==WRAP_BIND_FLAG){var result=createBind(func,bitmask,thisArg)}else if(bitmask==WRAP_CURRY_FLAG||bitmask==WRAP_CURRY_RIGHT_FLAG){result=createCurry(func,bitmask,arity)}else if((bitmask==WRAP_PARTIAL_FLAG||bitmask==(WRAP_BIND_FLAG|WRAP_PARTIAL_FLAG))&&!holders.length){result=createPartial(func,bitmask,thisArg,partials)}else{result=createHybrid.apply(undefined,newData)}var setter=data?baseSetData:setData;return setWrapToString(setter(result,newData),func,bitmask)}module.exports=createWrap},function(module,exports,__webpack_require__){var baseCreate=__webpack_require__(141),baseLodash=__webpack_require__(190);var MAX_ARRAY_LENGTH=4294967295;function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=MAX_ARRAY_LENGTH;this.__views__=[]}LazyWrapper.prototype=baseCreate(baseLodash.prototype);LazyWrapper.prototype.constructor=LazyWrapper;module.exports=LazyWrapper},function(module,exports){function baseLodash(){}module.exports=baseLodash},function(module,exports,__webpack_require__){var baseSetToString=__webpack_require__(876),shortOut=__webpack_require__(291);var setToString=shortOut(baseSetToString);module.exports=setToString},function(module,exports){function arrayEach(array,iteratee){var index=-1,length=array==null?0:array.length;while(++index<length){if(iteratee(array[index],index,array)===false){break}}return array}module.exports=arrayEach},function(module,exports){var PLACEHOLDER="__lodash_placeholder__";function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=0,result=[];while(++index<length){var value=array[index];if(value===placeholder||value===PLACEHOLDER){array[index]=PLACEHOLDER;result[resIndex++]=index}}return result}module.exports=replaceHolders},function(module,exports,__webpack_require__){var defineProperty=__webpack_require__(293);function baseAssignValue(object,key,value){if(key=="__proto__"&&defineProperty){defineProperty(object,key,{configurable:true,enumerable:true,value:value,writable:true})}else{object[key]=value}}module.exports=baseAssignValue},function(module,exports,__webpack_require__){var baseIsTypedArray=__webpack_require__(893),baseUnary=__webpack_require__(147),nodeUtil=__webpack_require__(197);var nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;module.exports=isTypedArray},function(module,exports){var MAX_SAFE_INTEGER=9007199254740991;function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}module.exports=isLength},function(module,exports,__webpack_require__){(function(module){var freeGlobal=__webpack_require__(282);var freeExports=true&&exports&&!exports.nodeType&&exports;var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports;var freeProcess=moduleExports&&freeGlobal.process;var nodeUtil=function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;if(types){return types}return freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}();module.exports=nodeUtil}).call(this,__webpack_require__(113)(module))},function(module,exports){var objectProto=Object.prototype;function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=="function"&&Ctor.prototype||objectProto;return value===proto}module.exports=isPrototype},function(module,exports,__webpack_require__){var getNative=__webpack_require__(95),root=__webpack_require__(65);var Map=getNative(root,"Map");module.exports=Map},function(module,exports,__webpack_require__){var mapCacheClear=__webpack_require__(906),mapCacheDelete=__webpack_require__(913),mapCacheGet=__webpack_require__(915),mapCacheHas=__webpack_require__(916),mapCacheSet=__webpack_require__(917);function MapCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}MapCache.prototype.clear=mapCacheClear;MapCache.prototype["delete"]=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;module.exports=MapCache},function(module,exports,__webpack_require__){var arrayFilter=__webpack_require__(922),stubArray=__webpack_require__(304);var objectProto=Object.prototype;var propertyIsEnumerable=objectProto.propertyIsEnumerable;var nativeGetSymbols=Object.getOwnPropertySymbols;var getSymbols=!nativeGetSymbols?stubArray:function(object){if(object==null){return[]}object=Object(object);return arrayFilter(nativeGetSymbols(object),(function(symbol){return propertyIsEnumerable.call(object,symbol)}))};module.exports=getSymbols},function(module,exports){function arrayPush(array,values){var index=-1,length=values.length,offset=array.length;while(++index<length){array[offset+index]=values[index]}return array}module.exports=arrayPush},function(module,exports,__webpack_require__){var overArg=__webpack_require__(301);var getPrototype=overArg(Object.getPrototypeOf,Object);module.exports=getPrototype},function(module,exports,__webpack_require__){var Uint8Array=__webpack_require__(308);function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);new Uint8Array(result).set(new Uint8Array(arrayBuffer));return result}module.exports=cloneArrayBuffer},function(module,exports,__webpack_require__){var baseIsEqualDeep=__webpack_require__(944),isObjectLike=__webpack_require__(75);function baseIsEqual(value,other,bitmask,customizer,stack){if(value===other){return true}if(value==null||other==null||!isObjectLike(value)&&!isObjectLike(other)){return value!==value&&other!==other}return baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack)}module.exports=baseIsEqual},function(module,exports,__webpack_require__){var isArray=__webpack_require__(66),isSymbol=__webpack_require__(110);var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(value,object){if(isArray(value)){return false}var type=typeof value;if(type=="number"||type=="symbol"||type=="boolean"||value==null||isSymbol(value)){return true}return reIsPlainProp.test(value)||!reIsDeepProp.test(value)||object!=null&&value in Object(object)}module.exports=isKey},function(module,exports){function arrayMap(array,iteratee){var index=-1,length=array==null?0:array.length,result=Array(length);while(++index<length){result[index]=iteratee(array[index],index,array)}return result}module.exports=arrayMap},function(module,exports,__webpack_require__){var identity=__webpack_require__(138),overRest=__webpack_require__(322),setToString=__webpack_require__(191);function baseRest(func,start){return setToString(overRest(func,start,identity),func+"")}module.exports=baseRest},function(module,exports,__webpack_require__){"use strict";function loadDsf(col,type){if(Object.prototype.toString.apply(col)!=="[object Array]"){if(col)throw new Error("dsf option must contain an array!");else return nopDsf}else if(col.length===0)return nopDsf;var dsf=[];function isFunction(f){return{}.toString.call(f)==="[object Function]"}col.forEach((function(x){if(!x.name||!isFunction(x.parse)||!isFunction(x.stringify))throw new Error("extension does not match the DSF interface");dsf.push((function(){try{if(type=="parse"){return x.parse.apply(null,arguments)}else if(type=="stringify"){var res=x.stringify.apply(null,arguments);if(res!==undefined&&(typeof res!=="string"||res.length===0||res[0]==='"'||[].some.call(res,(function(c){return isInvalidDsfChar(c)}))))throw new Error("value may not be empty, start with a quote or contain a punctuator character except colon: "+res);return res}else throw new Error("Invalid type")}catch(e){throw new Error("DSF-"+x.name+" failed; "+e.message)}}))}));return runDsf.bind(null,dsf)}function runDsf(dsf,value){if(dsf){for(var i=0;i<dsf.length;i++){var res=dsf[i](value);if(res!==undefined)return res}}}function nopDsf(){}function isInvalidDsfChar(c){return c==="{"||c==="}"||c==="["||c==="]"||c===","}function math(){return{name:"math",parse:function(value){switch(value){case"+inf":case"inf":case"+Inf":case"Inf":return Infinity;case"-inf":case"-Inf":return-Infinity;case"nan":case"NaN":return NaN}},stringify:function(value){if(typeof value!=="number")return;if(1/value===-Infinity)return"-0";if(value===Infinity)return"Inf";if(value===-Infinity)return"-Inf";if(isNaN(value))return"NaN"}}}math.description="support for Inf/inf, -Inf/-inf, Nan/naN and -0";function hex(opt){var out=opt&&opt.out;return{name:"hex",parse:function(value){if(/^0x[0-9A-Fa-f]+$/.test(value))return parseInt(value,16)},stringify:function(value){if(out&&Number.isInteger(value))return"0x"+value.toString(16)}}}hex.description="parse hexadecimal numbers prefixed with 0x";function date(){return{name:"date",parse:function(value){if(/^\d{4}-\d{2}-\d{2}$/.test(value)||/^\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}\:\d{2}(?:.\d+)(?:Z|[+-]\d{2}:\d{2})$/.test(value)){var dt=Date.parse(value);if(!isNaN(dt))return new Date(dt)}},stringify:function(value){if(Object.prototype.toString.call(value)==="[object Date]"){var dt=value.toISOString();if(dt.indexOf("T00:00:00.000Z",dt.length-14)!==-1)return dt.substr(0,10);else return dt}}}}date.description="support ISO dates";module.exports={loadDsf:loadDsf,std:{math:math,hex:hex,date:date}}},,function(module,exports,__webpack_require__){(function(global,module){var LARGE_ARRAY_SIZE=200;var HASH_UNDEFINED="__lodash_hash_undefined__";var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;var MAX_SAFE_INTEGER=9007199254740991;var argsTag="[object Arguments]",arrayTag="[object Array]",asyncTag="[object AsyncFunction]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",nullTag="[object Null]",objectTag="[object Object]",promiseTag="[object Promise]",proxyTag="[object Proxy]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",undefinedTag="[object Undefined]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;var reIsHostCtor=/^\[object .+?Constructor\]$/;var reIsUint=/^(?:0|[1-9]\d*)$/;var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal||freeSelf||Function("return this")();var freeExports=true&&exports&&!exports.nodeType&&exports;var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports;var freeProcess=moduleExports&&freeGlobal.process;var nodeUtil=function(){try{return freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}();var nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;function arrayFilter(array,predicate){var index=-1,length=array==null?0:array.length,resIndex=0,result=[];while(++index<length){var value=array[index];if(predicate(value,index,array)){result[resIndex++]=value}}return result}function arrayPush(array,values){var index=-1,length=values.length,offset=array.length;while(++index<length){array[offset+index]=values[index]}return array}function arraySome(array,predicate){var index=-1,length=array==null?0:array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}function baseTimes(n,iteratee){var index=-1,result=Array(n);while(++index<n){result[index]=iteratee(index)}return result}function baseUnary(func){return function(value){return func(value)}}function cacheHas(cache,key){return cache.has(key)}function getValue(object,key){return object==null?undefined:object[key]}function mapToArray(map){var index=-1,result=Array(map.size);map.forEach((function(value,key){result[++index]=[key,value]}));return result}function overArg(func,transform){return function(arg){return func(transform(arg))}}function setToArray(set){var index=-1,result=Array(set.size);set.forEach((function(value){result[++index]=value}));return result}var arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype;var coreJsData=root["__core-js_shared__"];var funcToString=funcProto.toString;var hasOwnProperty=objectProto.hasOwnProperty;var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();var nativeObjectToString=objectProto.toString;var reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Buffer=moduleExports?root.Buffer:undefined,Symbol=root.Symbol,Uint8Array=root.Uint8Array,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,symToStringTag=Symbol?Symbol.toStringTag:undefined;var nativeGetSymbols=Object.getOwnPropertySymbols,nativeIsBuffer=Buffer?Buffer.isBuffer:undefined,nativeKeys=overArg(Object.keys,Object);var DataView=getNative(root,"DataView"),Map=getNative(root,"Map"),Promise=getNative(root,"Promise"),Set=getNative(root,"Set"),WeakMap=getNative(root,"WeakMap"),nativeCreate=getNative(Object,"create");var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);var symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined;function Hash(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};this.size=0}function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];this.size-=result?1:0;return result}function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?undefined:result}return hasOwnProperty.call(data,key)?data[key]:undefined}function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined:hasOwnProperty.call(data,key)}function hashSet(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate&&value===undefined?HASH_UNDEFINED:value;return this}Hash.prototype.clear=hashClear;Hash.prototype["delete"]=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;function ListCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}function listCacheClear(){this.__data__=[];this.size=0}function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){return false}var lastIndex=data.length-1;if(index==lastIndex){data.pop()}else{splice.call(data,index,1)}--this.size;return true}function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1]}function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){++this.size;data.push([key,value])}else{data[index][1]=value}return this}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;function MapCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}function mapCacheClear(){this.size=0;this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}function mapCacheDelete(key){var result=getMapData(this,key)["delete"](key);this.size-=result?1:0;return result}function mapCacheGet(key){return getMapData(this,key).get(key)}function mapCacheHas(key){return getMapData(this,key).has(key)}function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;data.set(key,value);this.size+=data.size==size?0:1;return this}MapCache.prototype.clear=mapCacheClear;MapCache.prototype["delete"]=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;function SetCache(values){var index=-1,length=values==null?0:values.length;this.__data__=new MapCache;while(++index<length){this.add(values[index])}}function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED);return this}function setCacheHas(value){return this.__data__.has(value)}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}function stackClear(){this.__data__=new ListCache;this.size=0}function stackDelete(key){var data=this.__data__,result=data["delete"](key);this.size=data.size;return result}function stackGet(key){return this.__data__.get(key)}function stackHas(key){return this.__data__.has(key)}function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1){pairs.push([key,value]);this.size=++data.size;return this}data=this.__data__=new MapCache(pairs)}data.set(key,value);this.size=data.size;return this}Stack.prototype.clear=stackClear;Stack.prototype["delete"]=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value){if((inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex(key,length)))){result.push(key)}}return result}function assocIndexOf(array,key){var length=array.length;while(length--){if(eq(array[length][0],key)){return length}}return-1}function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}function baseGetTag(value){if(value==null){return value===undefined?undefinedTag:nullTag}return symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value)}function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}function baseIsEqual(value,other,bitmask,customizer,stack){if(value===other){return true}if(value==null||other==null||!isObjectLike(value)&&!isObjectLike(other)){return value!==value&&other!==other}return baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack)}function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag;othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other)){return false}objIsArr=true;objIsObj=false}if(isSameTag&&!objIsObj){stack||(stack=new Stack);return objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack)}if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack);return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}if(!isSameTag){return false}stack||(stack=new Stack);return equalObjects(object,other,bitmask,customizer,equalFunc,stack)}function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false}var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]}function baseKeys(object){if(!isPrototype(object)){return nativeKeys(object)}var result=[];for(var key in Object(object)){if(hasOwnProperty.call(object,key)&&key!="constructor"){result.push(key)}}return result}function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false}var stacked=stack.get(array);if(stacked&&stack.get(other)){return stacked==other}var index=-1,result=true,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:undefined;stack.set(array,other);stack.set(other,array);while(++index<arrLength){var arrValue=array[index],othValue=other[index];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack)}if(compared!==undefined){if(compared){continue}result=false;break}if(seen){if(!arraySome(other,(function(othValue,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){return seen.push(othIndex)}}))){result=false;break}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){result=false;break}}stack["delete"](array);stack["delete"](other);return result}function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset){return false}object=object.buffer;other=other.buffer;case arrayBufferTag:if(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array(object),new Uint8Array(other))){return false}return true;case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&COMPARE_PARTIAL_FLAG;convert||(convert=setToArray);if(object.size!=other.size&&!isPartial){return false}var stacked=stack.get(object);if(stacked){return stacked==other}bitmask|=COMPARE_UNORDERED_FLAG;stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);stack["delete"](object);return result;case symbolTag:if(symbolValueOf){return symbolValueOf.call(object)==symbolValueOf.call(other)}}return false}function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key))){return false}}var stacked=stack.get(object);if(stacked&&stack.get(other)){return stacked==other}var result=true;stack.set(object,other);stack.set(other,object);var skipCtor=isPartial;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack)}if(!(compared===undefined?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=false;break}skipCtor||(skipCtor=key=="constructor")}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result=false}}stack["delete"](object);stack["delete"](other);return result}function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data[typeof key=="string"?"string":"hash"]:data.map}function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined}function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=true}catch(e){}var result=nativeObjectToString.call(value);if(unmasked){if(isOwn){value[symToStringTag]=tag}else{delete value[symToStringTag]}}return result}var getSymbols=!nativeGetSymbols?stubArray:function(object){if(object==null){return[]}object=Object(object);return arrayFilter(nativeGetSymbols(object),(function(symbol){return propertyIsEnumerable.call(object,symbol)}))};var getTag=baseGetTag;if(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag){getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}}return result}}function isIndex(value,length){length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(typeof value=="number"||reIsUint.test(value))&&(value>-1&&value%1==0&&value<length)}function isKeyable(value){var type=typeof value;return type=="string"||type=="number"||type=="symbol"||type=="boolean"?value!=="__proto__":value===null}function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=="function"&&Ctor.prototype||objectProto;return value===proto}function objectToString(value){return nativeObjectToString.call(value)}function toSource(func){if(func!=null){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function eq(value,other){return value===other||value!==value&&other!==other}var isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};var isArray=Array.isArray;function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value)}var isBuffer=nativeIsBuffer||stubFalse;function isEqual(value,other){return baseIsEqual(value,other)}function isFunction(value){if(!isObject(value)){return false}var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return value!=null&&(type=="object"||type=="function")}function isObjectLike(value){return value!=null&&typeof value=="object"}var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function stubArray(){return[]}function stubFalse(){return false}module.exports=isEqual}).call(this,__webpack_require__(64),__webpack_require__(113)(module))},function(module,exports,__webpack_require__){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.matchesSelector=matchesSelector;exports.matchesSelectorAndParentsTo=matchesSelectorAndParentsTo;exports.addEvent=addEvent;exports.removeEvent=removeEvent;exports.outerHeight=outerHeight;exports.outerWidth=outerWidth;exports.innerHeight=innerHeight;exports.innerWidth=innerWidth;exports.offsetXYFromParent=offsetXYFromParent;exports.createCSSTransform=createCSSTransform;exports.createSVGTransform=createSVGTransform;exports.getTranslation=getTranslation;exports.getTouch=getTouch;exports.getTouchIdentifier=getTouchIdentifier;exports.addUserSelectStyles=addUserSelectStyles;exports.removeUserSelectStyles=removeUserSelectStyles;exports.addClassName=addClassName;exports.removeClassName=removeClassName;var _shims=__webpack_require__(155);var _getPrefix=_interopRequireWildcard(__webpack_require__(1100));function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))}keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var matchesSelectorFunc="";function matchesSelector(el,selector){if(!matchesSelectorFunc){matchesSelectorFunc=(0,_shims.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],(function(method){return(0,_shims.isFunction)(el[method])}))}if(!(0,_shims.isFunction)(el[matchesSelectorFunc]))return false;return el[matchesSelectorFunc](selector)}function matchesSelectorAndParentsTo(el,selector,baseNode){var node=el;do{if(matchesSelector(node,selector))return true;if(node===baseNode)return false;node=node.parentNode}while(node);return false}function addEvent(el,event,handler,inputOptions){if(!el)return;var options=_objectSpread({capture:true},inputOptions);if(el.addEventListener){el.addEventListener(event,handler,options)}else if(el.attachEvent){el.attachEvent("on"+event,handler)}else{el["on"+event]=handler}}function removeEvent(el,event,handler,inputOptions){if(!el)return;var options=_objectSpread({capture:true},inputOptions);if(el.removeEventListener){el.removeEventListener(event,handler,options)}else if(el.detachEvent){el.detachEvent("on"+event,handler)}else{el["on"+event]=null}}function outerHeight(node){var height=node.clientHeight;var computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);height+=(0,_shims.int)(computedStyle.borderTopWidth);height+=(0,_shims.int)(computedStyle.borderBottomWidth);return height}function outerWidth(node){var width=node.clientWidth;var computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);width+=(0,_shims.int)(computedStyle.borderLeftWidth);width+=(0,_shims.int)(computedStyle.borderRightWidth);return width}function innerHeight(node){var height=node.clientHeight;var computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);height-=(0,_shims.int)(computedStyle.paddingTop);height-=(0,_shims.int)(computedStyle.paddingBottom);return height}function innerWidth(node){var width=node.clientWidth;var computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);width-=(0,_shims.int)(computedStyle.paddingLeft);width-=(0,_shims.int)(computedStyle.paddingRight);return width}function offsetXYFromParent(evt,offsetParent,scale){var isBody=offsetParent===offsetParent.ownerDocument.body;var offsetParentRect=isBody?{left:0,top:0}:offsetParent.getBoundingClientRect();var x=(evt.clientX+offsetParent.scrollLeft-offsetParentRect.left)/scale;var y=(evt.clientY+offsetParent.scrollTop-offsetParentRect.top)/scale;return{x:x,y:y}}function createCSSTransform(controlPos,positionOffset){var translation=getTranslation(controlPos,positionOffset,"px");return _defineProperty({},(0,_getPrefix.browserPrefixToKey)("transform",_getPrefix.default),translation)}function createSVGTransform(controlPos,positionOffset){var translation=getTranslation(controlPos,positionOffset,"");return translation}function getTranslation(_ref2,positionOffset,unitSuffix){var x=_ref2.x,y=_ref2.y;var translation="translate(".concat(x).concat(unitSuffix,",").concat(y).concat(unitSuffix,")");if(positionOffset){var defaultX="".concat(typeof positionOffset.x==="string"?positionOffset.x:positionOffset.x+unitSuffix);var defaultY="".concat(typeof positionOffset.y==="string"?positionOffset.y:positionOffset.y+unitSuffix);translation="translate(".concat(defaultX,", ").concat(defaultY,")")+translation}return translation}function getTouch(e,identifier){return e.targetTouches&&(0,_shims.findInArray)(e.targetTouches,(function(t){return identifier===t.identifier}))||e.changedTouches&&(0,_shims.findInArray)(e.changedTouches,(function(t){return identifier===t.identifier}))}function getTouchIdentifier(e){if(e.targetTouches&&e.targetTouches[0])return e.targetTouches[0].identifier;if(e.changedTouches&&e.changedTouches[0])return e.changedTouches[0].identifier}function addUserSelectStyles(doc){if(!doc)return;var styleEl=doc.getElementById("react-draggable-style-el");if(!styleEl){styleEl=doc.createElement("style");styleEl.type="text/css";styleEl.id="react-draggable-style-el";styleEl.innerHTML=".react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n";styleEl.innerHTML+=".react-draggable-transparent-selection *::selection {all: inherit;}\n";doc.getElementsByTagName("head")[0].appendChild(styleEl)}if(doc.body)addClassName(doc.body,"react-draggable-transparent-selection")}function removeUserSelectStyles(doc){if(!doc)return;try{if(doc.body)removeClassName(doc.body,"react-draggable-transparent-selection");if(doc.selection){doc.selection.empty()}else{var selection=(doc.defaultView||window).getSelection();if(selection&&selection.type!=="Caret"){selection.removeAllRanges()}}}catch(e){}}function addClassName(el,className){if(el.classList){el.classList.add(className)}else{if(!el.className.match(new RegExp("(?:^|\\s)".concat(className,"(?!\\S)")))){el.className+=" ".concat(className)}}}function removeClassName(el,className){if(el.classList){el.classList.remove(className)}else{el.className=el.className.replace(new RegExp("(?:^|\\s)".concat(className,"(?!\\S)"),"g"),"")}}},function(module,exports,__webpack_require__){(function(global){(function(global,factory){true?module.exports=factory():undefined})(this,(function(){"use strict";var MapShim=function(){if(typeof Map!=="undefined"){return Map}function getIndex(arr,key){var result=-1;arr.some((function(entry,index){if(entry[0]===key){result=index;return true}return false}));return result}return function(){function class_1(){this.__entries__=[]}Object.defineProperty(class_1.prototype,"size",{get:function(){return this.__entries__.length},enumerable:true,configurable:true});class_1.prototype.get=function(key){var index=getIndex(this.__entries__,key);var entry=this.__entries__[index];return entry&&entry[1]};class_1.prototype.set=function(key,value){var index=getIndex(this.__entries__,key);if(~index){this.__entries__[index][1]=value}else{this.__entries__.push([key,value])}};class_1.prototype.delete=function(key){var entries=this.__entries__;var index=getIndex(entries,key);if(~index){entries.splice(index,1)}};class_1.prototype.has=function(key){return!!~getIndex(this.__entries__,key)};class_1.prototype.clear=function(){this.__entries__.splice(0)};class_1.prototype.forEach=function(callback,ctx){if(ctx===void 0){ctx=null}for(var _i=0,_a=this.__entries__;_i<_a.length;_i++){var entry=_a[_i];callback.call(ctx,entry[1],entry[0])}};return class_1}()}();var isBrowser=typeof window!=="undefined"&&typeof document!=="undefined"&&window.document===document;var global$1=function(){if(typeof global!=="undefined"&&global.Math===Math){return global}if(typeof self!=="undefined"&&self.Math===Math){return self}if(typeof window!=="undefined"&&window.Math===Math){return window}return Function("return this")()}();var requestAnimationFrame$1=function(){if(typeof requestAnimationFrame==="function"){return requestAnimationFrame.bind(global$1)}return function(callback){return setTimeout((function(){return callback(Date.now())}),1e3/60)}}();var trailingTimeout=2;function throttle(callback,delay){var leadingCall=false,trailingCall=false,lastCallTime=0;function resolvePending(){if(leadingCall){leadingCall=false;callback()}if(trailingCall){proxy()}}function timeoutCallback(){requestAnimationFrame$1(resolvePending)}function proxy(){var timeStamp=Date.now();if(leadingCall){if(timeStamp-lastCallTime<trailingTimeout){return}trailingCall=true}else{leadingCall=true;trailingCall=false;setTimeout(timeoutCallback,delay)}lastCallTime=timeStamp}return proxy}var REFRESH_DELAY=20;var transitionKeys=["top","right","bottom","left","width","height","size","weight"];var mutationObserverSupported=typeof MutationObserver!=="undefined";var ResizeObserverController=function(){function ResizeObserverController(){this.connected_=false;this.mutationEventsAdded_=false;this.mutationsObserver_=null;this.observers_=[];this.onTransitionEnd_=this.onTransitionEnd_.bind(this);this.refresh=throttle(this.refresh.bind(this),REFRESH_DELAY)}ResizeObserverController.prototype.addObserver=function(observer){if(!~this.observers_.indexOf(observer)){this.observers_.push(observer)}if(!this.connected_){this.connect_()}};ResizeObserverController.prototype.removeObserver=function(observer){var observers=this.observers_;var index=observers.indexOf(observer);if(~index){observers.splice(index,1)}if(!observers.length&&this.connected_){this.disconnect_()}};ResizeObserverController.prototype.refresh=function(){var changesDetected=this.updateObservers_();if(changesDetected){this.refresh()}};ResizeObserverController.prototype.updateObservers_=function(){var activeObservers=this.observers_.filter((function(observer){return observer.gatherActive(),observer.hasActive()}));activeObservers.forEach((function(observer){return observer.broadcastActive()}));return activeObservers.length>0};ResizeObserverController.prototype.connect_=function(){if(!isBrowser||this.connected_){return}document.addEventListener("transitionend",this.onTransitionEnd_);window.addEventListener("resize",this.refresh);if(mutationObserverSupported){this.mutationsObserver_=new MutationObserver(this.refresh);this.mutationsObserver_.observe(document,{attributes:true,childList:true,characterData:true,subtree:true})}else{document.addEventListener("DOMSubtreeModified",this.refresh);this.mutationEventsAdded_=true}this.connected_=true};ResizeObserverController.prototype.disconnect_=function(){if(!isBrowser||!this.connected_){return}document.removeEventListener("transitionend",this.onTransitionEnd_);window.removeEventListener("resize",this.refresh);if(this.mutationsObserver_){this.mutationsObserver_.disconnect()}if(this.mutationEventsAdded_){document.removeEventListener("DOMSubtreeModified",this.refresh)}this.mutationsObserver_=null;this.mutationEventsAdded_=false;this.connected_=false};ResizeObserverController.prototype.onTransitionEnd_=function(_a){var _b=_a.propertyName,propertyName=_b===void 0?"":_b;var isReflowProperty=transitionKeys.some((function(key){return!!~propertyName.indexOf(key)}));if(isReflowProperty){this.refresh()}};ResizeObserverController.getInstance=function(){if(!this.instance_){this.instance_=new ResizeObserverController}return this.instance_};ResizeObserverController.instance_=null;return ResizeObserverController}();var defineConfigurable=function(target,props){for(var _i=0,_a=Object.keys(props);_i<_a.length;_i++){var key=_a[_i];Object.defineProperty(target,key,{value:props[key],enumerable:false,writable:false,configurable:true})}return target};var getWindowOf=function(target){var ownerGlobal=target&&target.ownerDocument&&target.ownerDocument.defaultView;return ownerGlobal||global$1};var emptyRect=createRectInit(0,0,0,0);function toFloat(value){return parseFloat(value)||0}function getBordersSize(styles){var positions=[];for(var _i=1;_i<arguments.length;_i++){positions[_i-1]=arguments[_i]}return positions.reduce((function(size,position){var value=styles["border-"+position+"-width"];return size+toFloat(value)}),0)}function getPaddings(styles){var positions=["top","right","bottom","left"];var paddings={};for(var _i=0,positions_1=positions;_i<positions_1.length;_i++){var position=positions_1[_i];var value=styles["padding-"+position];paddings[position]=toFloat(value)}return paddings}function getSVGContentRect(target){var bbox=target.getBBox();return createRectInit(0,0,bbox.width,bbox.height)}function getHTMLElementContentRect(target){var clientWidth=target.clientWidth,clientHeight=target.clientHeight;if(!clientWidth&&!clientHeight){return emptyRect}var styles=getWindowOf(target).getComputedStyle(target);var paddings=getPaddings(styles);var horizPad=paddings.left+paddings.right;var vertPad=paddings.top+paddings.bottom;var width=toFloat(styles.width),height=toFloat(styles.height);if(styles.boxSizing==="border-box"){if(Math.round(width+horizPad)!==clientWidth){width-=getBordersSize(styles,"left","right")+horizPad}if(Math.round(height+vertPad)!==clientHeight){height-=getBordersSize(styles,"top","bottom")+vertPad}}if(!isDocumentElement(target)){var vertScrollbar=Math.round(width+horizPad)-clientWidth;var horizScrollbar=Math.round(height+vertPad)-clientHeight;if(Math.abs(vertScrollbar)!==1){width-=vertScrollbar}if(Math.abs(horizScrollbar)!==1){height-=horizScrollbar}}return createRectInit(paddings.left,paddings.top,width,height)}var isSVGGraphicsElement=function(){if(typeof SVGGraphicsElement!=="undefined"){return function(target){return target instanceof getWindowOf(target).SVGGraphicsElement}}return function(target){return target instanceof getWindowOf(target).SVGElement&&typeof target.getBBox==="function"}}();function isDocumentElement(target){return target===getWindowOf(target).document.documentElement}function getContentRect(target){if(!isBrowser){return emptyRect}if(isSVGGraphicsElement(target)){return getSVGContentRect(target)}return getHTMLElementContentRect(target)}function createReadOnlyRect(_a){var x=_a.x,y=_a.y,width=_a.width,height=_a.height;var Constr=typeof DOMRectReadOnly!=="undefined"?DOMRectReadOnly:Object;var rect=Object.create(Constr.prototype);defineConfigurable(rect,{x:x,y:y,width:width,height:height,top:y,right:x+width,bottom:height+y,left:x});return rect}function createRectInit(x,y,width,height){return{x:x,y:y,width:width,height:height}}var ResizeObservation=function(){function ResizeObservation(target){this.broadcastWidth=0;this.broadcastHeight=0;this.contentRect_=createRectInit(0,0,0,0);this.target=target}ResizeObservation.prototype.isActive=function(){var rect=getContentRect(this.target);this.contentRect_=rect;return rect.width!==this.broadcastWidth||rect.height!==this.broadcastHeight};ResizeObservation.prototype.broadcastRect=function(){var rect=this.contentRect_;this.broadcastWidth=rect.width;this.broadcastHeight=rect.height;return rect};return ResizeObservation}();var ResizeObserverEntry=function(){function ResizeObserverEntry(target,rectInit){var contentRect=createReadOnlyRect(rectInit);defineConfigurable(this,{target:target,contentRect:contentRect})}return ResizeObserverEntry}();var ResizeObserverSPI=function(){function ResizeObserverSPI(callback,controller,callbackCtx){this.activeObservations_=[];this.observations_=new MapShim;if(typeof callback!=="function"){throw new TypeError("The callback provided as parameter 1 is not a function.")}this.callback_=callback;this.controller_=controller;this.callbackCtx_=callbackCtx}ResizeObserverSPI.prototype.observe=function(target){if(!arguments.length){throw new TypeError("1 argument required, but only 0 present.")}if(typeof Element==="undefined"||!(Element instanceof Object)){return}if(!(target instanceof getWindowOf(target).Element)){throw new TypeError('parameter 1 is not of type "Element".')}var observations=this.observations_;if(observations.has(target)){return}observations.set(target,new ResizeObservation(target));this.controller_.addObserver(this);this.controller_.refresh()};ResizeObserverSPI.prototype.unobserve=function(target){if(!arguments.length){throw new TypeError("1 argument required, but only 0 present.")}if(typeof Element==="undefined"||!(Element instanceof Object)){return}if(!(target instanceof getWindowOf(target).Element)){throw new TypeError('parameter 1 is not of type "Element".')}var observations=this.observations_;if(!observations.has(target)){return}observations.delete(target);if(!observations.size){this.controller_.removeObserver(this)}};ResizeObserverSPI.prototype.disconnect=function(){this.clearActive();this.observations_.clear();this.controller_.removeObserver(this)};ResizeObserverSPI.prototype.gatherActive=function(){var _this=this;this.clearActive();this.observations_.forEach((function(observation){if(observation.isActive()){_this.activeObservations_.push(observation)}}))};ResizeObserverSPI.prototype.broadcastActive=function(){if(!this.hasActive()){return}var ctx=this.callbackCtx_;var entries=this.activeObservations_.map((function(observation){return new ResizeObserverEntry(observation.target,observation.broadcastRect())}));this.callback_.call(ctx,entries,ctx);this.clearActive()};ResizeObserverSPI.prototype.clearActive=function(){this.activeObservations_.splice(0)};ResizeObserverSPI.prototype.hasActive=function(){return this.activeObservations_.length>0};return ResizeObserverSPI}();var observers=typeof WeakMap!=="undefined"?new WeakMap:new MapShim;var ResizeObserver=function(){function ResizeObserver(callback){if(!(this instanceof ResizeObserver)){throw new TypeError("Cannot call a class as a function.")}if(!arguments.length){throw new TypeError("1 argument required, but only 0 present.")}var controller=ResizeObserverController.getInstance();var observer=new ResizeObserverSPI(callback,controller,this);observers.set(this,observer)}return ResizeObserver}();["observe","unobserve","disconnect"].forEach((function(method){ResizeObserver.prototype[method]=function(){var _a;return(_a=observers.get(this))[method].apply(_a,arguments)}}));var index=function(){if(typeof global$1.ResizeObserver!=="undefined"){return global$1.ResizeObserver}return ResizeObserver}();return index}))}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){"use strict";if(true){module.exports=__webpack_require__(1175)}else{}},,,,,,function(module,exports,__webpack_require__){var baseIsNative=__webpack_require__(1224),getValue=__webpack_require__(1231);function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined}module.exports=getNative},function(module,exports,__webpack_require__){var root=__webpack_require__(158);var Symbol=root.Symbol;module.exports=Symbol},function(module,exports){var isArray=Array.isArray;module.exports=isArray},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))__createBinding(exports,m,p)};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.ToolbarIcons=exports.ToolbarItem=exports.Toolbar=exports.SidebarItem=exports.Sidebar=exports.Error=exports.Cells=exports.Cell=exports.Source=exports.PromptBuffer=exports.Prompt=exports.Pagers=exports.Outputs=exports.Input=exports.DarkTheme=exports.LightTheme=exports.ToggleSwitch=exports.Icons=exports.CellMenuSection=exports.CellMenuItem=exports.CellMenu=exports.CircularButton=exports.CommandPalette=exports.CommandButtonRow=void 0;const cell_1=__webpack_require__(1296);Object.defineProperty(exports,"Cell",{enumerable:true,get:function(){return cell_1.Cell}});const cells_1=__webpack_require__(1297);Object.defineProperty(exports,"Cells",{enumerable:true,get:function(){return cells_1.Cells}});const CircularButton_1=__webpack_require__(1298);Object.defineProperty(exports,"CircularButton",{enumerable:true,get:function(){return CircularButton_1.CircularButton}});const error_1=__importDefault(__webpack_require__(1301));exports.Error=error_1.default;const input_1=__webpack_require__(1302);Object.defineProperty(exports,"Input",{enumerable:true,get:function(){return input_1.Input}});const outputs_1=__webpack_require__(773);Object.defineProperty(exports,"Outputs",{enumerable:true,get:function(){return outputs_1.Outputs}});const pagers_1=__webpack_require__(1382);Object.defineProperty(exports,"Pagers",{enumerable:true,get:function(){return pagers_1.Pagers}});const prompt_1=__webpack_require__(224);Object.defineProperty(exports,"Prompt",{enumerable:true,get:function(){return prompt_1.Prompt}});Object.defineProperty(exports,"PromptBuffer",{enumerable:true,get:function(){return prompt_1.PromptBuffer}});const sidebar_1=__webpack_require__(1383);Object.defineProperty(exports,"Sidebar",{enumerable:true,get:function(){return sidebar_1.Sidebar}});Object.defineProperty(exports,"SidebarItem",{enumerable:true,get:function(){return sidebar_1.SidebarItem}});const source_1=__webpack_require__(349);Object.defineProperty(exports,"Source",{enumerable:true,get:function(){return source_1.Source}});const CellMenu_1=__webpack_require__(1387);Object.defineProperty(exports,"CellMenu",{enumerable:true,get:function(){return CellMenu_1.CellMenu}});Object.defineProperty(exports,"CellMenuItem",{enumerable:true,get:function(){return CellMenu_1.CellMenuItem}});Object.defineProperty(exports,"CellMenuSection",{enumerable:true,get:function(){return CellMenu_1.CellMenuSection}});const ToggleSwitch_1=__webpack_require__(1389);Object.defineProperty(exports,"ToggleSwitch",{enumerable:true,get:function(){return ToggleSwitch_1.ToggleSwitch}});const styles_1=__webpack_require__(775);Object.defineProperty(exports,"DarkTheme",{enumerable:true,get:function(){return styles_1.DarkTheme}});Object.defineProperty(exports,"LightTheme",{enumerable:true,get:function(){return styles_1.LightTheme}});const command_palette_1=__webpack_require__(1394);Object.defineProperty(exports,"CommandButtonRow",{enumerable:true,get:function(){return command_palette_1.CommandButtonRow}});Object.defineProperty(exports,"CommandPalette",{enumerable:true,get:function(){return command_palette_1.CommandPalette}});const Icons=__importStar(__webpack_require__(237));exports.Icons=Icons;__exportStar(__webpack_require__(775),exports);const toolbar_1=__webpack_require__(1397);Object.defineProperty(exports,"Toolbar",{enumerable:true,get:function(){return toolbar_1.Toolbar}});Object.defineProperty(exports,"ToolbarItem",{enumerable:true,get:function(){return toolbar_1.ToolbarItem}});const ToolbarIcons={Clear:toolbar_1.Clear,Commands:toolbar_1.Commands,Expand:toolbar_1.Expand,Collapse:toolbar_1.Collapse,ExpandSidebar:toolbar_1.ExpandSidebar,Group:toolbar_1.Group,Pause:toolbar_1.Pause,Play:toolbar_1.Play,Plus:toolbar_1.Plus};exports.ToolbarIcons=ToolbarIcons},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.PromptBuffer=exports.Prompt=void 0;const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));function promptText(props){if(props.running){return"[*]"}if(props.queued){return"[…]"}if(typeof props.counter==="number"){return`[${props.counter}]`}if(props.blank){return""}return"[ ]"}const BarePrompt=props=>React.createElement("div",{className:props.className},promptText(props));exports.Prompt=styled_components_1.default(BarePrompt)`
  font-family: monospace;
  font-size: 12px;
  line-height: 22px;
  /* For creating a buffer area for <Prompt blank /> */
  min-height: 22px;

  padding: 9px 0;

  text-align: center;

  color: var(--theme-cell-prompt-fg, black);
  background-color: var(--theme-cell-prompt-bg, #fafafa);
`;exports.Prompt.defaultProps={counter:null,running:false,queued:false,blank:false};exports.Prompt.displayName="Prompt";exports.PromptBuffer=styled_components_1.default(exports.Prompt)``;exports.PromptBuffer.defaultProps={blank:true};exports.default=exports.Prompt},function(module,exports,__webpack_require__){"use strict";var high=__webpack_require__(1315);var fault=__webpack_require__(1316);exports.highlight=highlight;exports.highlightAuto=highlightAuto;exports.registerLanguage=registerLanguage;exports.listLanguages=listLanguages;exports.registerAlias=registerAlias;Emitter.prototype.addText=text;Emitter.prototype.addKeyword=addKeyword;Emitter.prototype.addSublanguage=addSublanguage;Emitter.prototype.openNode=open;Emitter.prototype.closeNode=close;Emitter.prototype.closeAllNodes=noop;Emitter.prototype.finalize=noop;Emitter.prototype.toHTML=toHtmlNoop;var defaultPrefix="hljs-";function highlight(name,value,options){var before=high.configure({});var settings=options||{};var prefix=settings.prefix;var result;if(typeof name!=="string"){throw fault("Expected `string` for name, got `%s`",name)}if(!high.getLanguage(name)){throw fault("Unknown language: `%s` is not registered",name)}if(typeof value!=="string"){throw fault("Expected `string` for value, got `%s`",value)}if(prefix===null||prefix===undefined){prefix=defaultPrefix}high.configure({__emitter:Emitter,classPrefix:prefix});result=high.highlight(value,{language:name,ignoreIllegals:true});high.configure(before||{});if(result.errorRaised){throw result.errorRaised}return{relevance:result.relevance,language:result.language,value:result.emitter.rootNode.children}}function highlightAuto(value,options){var settings=options||{};var subset=settings.subset||high.listLanguages();var prefix=settings.prefix;var length=subset.length;var index=-1;var result;var secondBest;var current;var name;if(prefix===null||prefix===undefined){prefix=defaultPrefix}if(typeof value!=="string"){throw fault("Expected `string` for value, got `%s`",value)}secondBest={relevance:0,language:null,value:[]};result={relevance:0,language:null,value:[]};while(++index<length){name=subset[index];if(!high.getLanguage(name)){continue}current=highlight(name,value,options);current.language=name;if(current.relevance>secondBest.relevance){secondBest=current}if(current.relevance>result.relevance){secondBest=result;result=current}}if(secondBest.language){result.secondBest=secondBest}return result}function registerLanguage(name,syntax){high.registerLanguage(name,syntax)}function listLanguages(){return high.listLanguages()}function registerAlias(name,alias){var map=name;var key;if(alias){map={};map[name]=alias}for(key in map){high.registerAliases(map[key],{languageName:key})}}function Emitter(options){this.options=options;this.rootNode={children:[]};this.stack=[this.rootNode]}function addKeyword(value,name){this.openNode(name);this.addText(value);this.closeNode()}function addSublanguage(other,name){var stack=this.stack;var current=stack[stack.length-1];var results=other.rootNode.children;var node=name?{type:"element",tagName:"span",properties:{className:[name]},children:results}:results;current.children=current.children.concat(node)}function text(value){var stack=this.stack;var current;var tail;if(value==="")return;current=stack[stack.length-1];tail=current.children[current.children.length-1];if(tail&&tail.type==="text"){tail.value+=value}else{current.children.push({type:"text",value:value})}}function open(name){var stack=this.stack;var className=this.options.classPrefix+name;var current=stack[stack.length-1];var child={type:"element",tagName:"span",properties:{className:[className]},children:[]};current.children.push(child);stack.push(child)}function close(){this.stack.pop()}function toHtmlNoop(){return""}function noop(){}},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _regenerator=_interopRequireDefault(__webpack_require__(546));var _asyncToGenerator2=_interopRequireDefault(__webpack_require__(547));var _extends2=_interopRequireDefault(__webpack_require__(354));var _classCallCheck2=_interopRequireDefault(__webpack_require__(1322));var _createClass2=_interopRequireDefault(__webpack_require__(1323));var _possibleConstructorReturn2=_interopRequireDefault(__webpack_require__(1324));var _getPrototypeOf2=_interopRequireDefault(__webpack_require__(1327));var _inherits2=_interopRequireDefault(__webpack_require__(1328));var _defineProperty2=_interopRequireDefault(__webpack_require__(352));var _react=_interopRequireDefault(__webpack_require__(35));var _highlight=_interopRequireDefault(__webpack_require__(126));var _default=function _default(options){var loader=options.loader,isLanguageRegistered=options.isLanguageRegistered,registerLanguage=options.registerLanguage,languageLoaders=options.languageLoaders,noAsyncLoadingLanguages=options.noAsyncLoadingLanguages;var ReactAsyncHighlighter=function(_React$PureComponent){(0,_inherits2.default)(ReactAsyncHighlighter,_React$PureComponent);function ReactAsyncHighlighter(){(0,_classCallCheck2.default)(this,ReactAsyncHighlighter);return(0,_possibleConstructorReturn2.default)(this,(0,_getPrototypeOf2.default)(ReactAsyncHighlighter).apply(this,arguments))}(0,_createClass2.default)(ReactAsyncHighlighter,[{key:"componentDidUpdate",value:function componentDidUpdate(){if(!ReactAsyncHighlighter.isRegistered(this.props.language)&&languageLoaders){this.loadLanguage()}}},{key:"componentDidMount",value:function componentDidMount(){var _this=this;if(!ReactAsyncHighlighter.astGeneratorPromise){ReactAsyncHighlighter.loadAstGenerator()}if(!ReactAsyncHighlighter.astGenerator){ReactAsyncHighlighter.astGeneratorPromise.then((function(){_this.forceUpdate()}))}if(!ReactAsyncHighlighter.isRegistered(this.props.language)&&languageLoaders){this.loadLanguage()}}},{key:"loadLanguage",value:function loadLanguage(){var _this2=this;var language=this.props.language;if(language==="text"){return}ReactAsyncHighlighter.loadLanguage(language).then((function(){return _this2.forceUpdate()})).catch((function(){}))}},{key:"normalizeLanguage",value:function normalizeLanguage(language){return ReactAsyncHighlighter.isSupportedLanguage(language)?language:"text"}},{key:"render",value:function render(){return _react.default.createElement(ReactAsyncHighlighter.highlightInstance,(0,_extends2.default)({},this.props,{language:this.normalizeLanguage(this.props.language),astGenerator:ReactAsyncHighlighter.astGenerator}))}}],[{key:"preload",value:function preload(){return ReactAsyncHighlighter.loadAstGenerator()}},{key:"loadLanguage",value:function(){var _loadLanguage=(0,_asyncToGenerator2.default)(_regenerator.default.mark((function _callee(language){var languageLoader;return _regenerator.default.wrap((function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:languageLoader=languageLoaders[language];if(!(typeof languageLoader==="function")){_context.next=5;break}return _context.abrupt("return",languageLoader(ReactAsyncHighlighter.registerLanguage));case 5:throw new Error("Language ".concat(language," not supported"));case 6:case"end":return _context.stop()}}}),_callee,this)})));return function loadLanguage(_x){return _loadLanguage.apply(this,arguments)}}()},{key:"isSupportedLanguage",value:function isSupportedLanguage(language){return ReactAsyncHighlighter.isRegistered(language)||typeof languageLoaders[language]==="function"}},{key:"loadAstGenerator",value:function loadAstGenerator(){ReactAsyncHighlighter.astGeneratorPromise=loader().then((function(astGenerator){ReactAsyncHighlighter.astGenerator=astGenerator;if(registerLanguage){ReactAsyncHighlighter.languages.forEach((function(language,name){return registerLanguage(astGenerator,name,language)}))}}));return ReactAsyncHighlighter.astGeneratorPromise}}]);return ReactAsyncHighlighter}(_react.default.PureComponent);(0,_defineProperty2.default)(ReactAsyncHighlighter,"astGenerator",null);(0,_defineProperty2.default)(ReactAsyncHighlighter,"highlightInstance",(0,_highlight.default)(null,{}));(0,_defineProperty2.default)(ReactAsyncHighlighter,"astGeneratorPromise",null);(0,_defineProperty2.default)(ReactAsyncHighlighter,"languages",new Map);(0,_defineProperty2.default)(ReactAsyncHighlighter,"supportedLanguages",options.supportedLanguages||Object.keys(languageLoaders||{}));(0,_defineProperty2.default)(ReactAsyncHighlighter,"isRegistered",(function(language){if(noAsyncLoadingLanguages){return true}if(!registerLanguage){throw new Error("Current syntax highlighter doesn't support registration of languages")}if(!ReactAsyncHighlighter.astGenerator){return ReactAsyncHighlighter.languages.has(language)}return isLanguageRegistered(ReactAsyncHighlighter.astGenerator,language)}));(0,_defineProperty2.default)(ReactAsyncHighlighter,"registerLanguage",(function(name,language){if(!registerLanguage){throw new Error("Current syntax highlighter doesn't support registration of languages")}if(ReactAsyncHighlighter.astGenerator){return registerLanguage(ReactAsyncHighlighter.astGenerator,name,language)}else{ReactAsyncHighlighter.languages.set(name,language)}}));return ReactAsyncHighlighter};exports.default=_default},function(module,exports,__webpack_require__){"use strict";module.exports=bash;bash.displayName="bash";bash.aliases=["shell"];function bash(Prism){(function(Prism){var envVars="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b";var commandAfterHeredoc={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:true,alias:"punctuation",inside:null};var insideString={bash:commandAfterHeredoc,environment:{pattern:RegExp("\\$"+envVars),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:true,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:true},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:true,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:true,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+envVars),lookbehind:true,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};Prism.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:true},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:true,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:true},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+envVars),lookbehind:true,alias:"constant"}},alias:"variable",lookbehind:true},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:true,greedy:true,inside:insideString},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:true,greedy:true,inside:{bash:commandAfterHeredoc}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:true,greedy:true,inside:insideString},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:true,greedy:true},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:true,inside:{entity:insideString.entity}}],environment:{pattern:RegExp("\\$?"+envVars),alias:"constant"},variable:insideString.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:true},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:true},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:true,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:true},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:true}};commandAfterHeredoc.inside=Prism.languages.bash;var toBeCopied=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"];var inside=insideString.variable[1].inside;for(var i=0;i<toBeCopied.length;i++){inside[toBeCopied[i]]=Prism.languages.bash[toBeCopied[i]]}Prism.languages.shell=Prism.languages.bash})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=basic;basic.displayName="basic";basic.aliases=[];function basic(Prism){Prism.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/i,greedy:true},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=lua;lua.displayName="lua";lua.aliases=[];function lua(Prism){Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:true},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:true}],punctuation:/[\[\](){},;]|\.+|:+/}}},function(module,exports,__webpack_require__){"use strict";module.exports=jsx;jsx.displayName="jsx";jsx.aliases=[];function jsx(Prism){(function(Prism){var javascript=Prism.util.clone(Prism.languages.javascript);var space=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source;var braces=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source;var spread=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function re(source,flags){source=source.replace(/<S>/g,(function(){return space})).replace(/<BRACES>/g,(function(){return braces})).replace(/<SPREAD>/g,(function(){return spread}));return RegExp(source,flags)}spread=re(spread).source;Prism.languages.jsx=Prism.languages.extend("markup",javascript);Prism.languages.jsx.tag.pattern=re(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source);Prism.languages.jsx.tag.inside["tag"].pattern=/^<\/?[^\s>\/]*/i;Prism.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/i;Prism.languages.jsx.tag.inside["tag"].inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/;Prism.languages.jsx.tag.inside["comment"]=javascript["comment"];Prism.languages.insertBefore("inside","attr-name",{spread:{pattern:re(/<SPREAD>/.source),inside:Prism.languages.jsx}},Prism.languages.jsx.tag);Prism.languages.insertBefore("inside","special-attr",{script:{pattern:re(/=<BRACES>/.source),inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:Prism.languages.jsx},alias:"language-javascript"}},Prism.languages.jsx.tag);var stringifyToken=function(token){if(!token){return""}if(typeof token==="string"){return token}if(typeof token.content==="string"){return token.content}return token.content.map(stringifyToken).join("")};var walkTokens=function(tokens){var openedTags=[];for(var i=0;i<tokens.length;i++){var token=tokens[i];var notTagNorBrace=false;if(typeof token!=="string"){if(token.type==="tag"&&token.content[0]&&token.content[0].type==="tag"){if(token.content[0].content[0].content==="</"){if(openedTags.length>0&&openedTags[openedTags.length-1].tagName===stringifyToken(token.content[0].content[1])){openedTags.pop()}}else{if(token.content[token.content.length-1].content==="/>"){}else{openedTags.push({tagName:stringifyToken(token.content[0].content[1]),openedBraces:0})}}}else if(openedTags.length>0&&token.type==="punctuation"&&token.content==="{"){openedTags[openedTags.length-1].openedBraces++}else if(openedTags.length>0&&openedTags[openedTags.length-1].openedBraces>0&&token.type==="punctuation"&&token.content==="}"){openedTags[openedTags.length-1].openedBraces--}else{notTagNorBrace=true}}if(notTagNorBrace||typeof token==="string"){if(openedTags.length>0&&openedTags[openedTags.length-1].openedBraces===0){var plainText=stringifyToken(token);if(i<tokens.length-1&&(typeof tokens[i+1]==="string"||tokens[i+1].type==="plain-text")){plainText+=stringifyToken(tokens[i+1]);tokens.splice(i+1,1)}if(i>0&&(typeof tokens[i-1]==="string"||tokens[i-1].type==="plain-text")){plainText=stringifyToken(tokens[i-1])+plainText;tokens.splice(i-1,1);i--}tokens[i]=new Prism.Token("plain-text",plainText,null,plainText)}}if(token.content&&typeof token.content!=="string"){walkTokens(token.content)}}};Prism.hooks.add("after-tokenize",(function(env){if(env.language!=="jsx"&&env.language!=="tsx"){return}walkTokens(env.tokens)}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=turtle;turtle.displayName="turtle";turtle.aliases=[];function turtle(Prism){Prism.languages.turtle={comment:{pattern:/#.*/,greedy:true},"multiline-string":{pattern:/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/,greedy:true,alias:"string",inside:{comment:/#.*/}},string:{pattern:/"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/,greedy:true},url:{pattern:/<(?:[^\x00-\x20<>"{}|^`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/,greedy:true,inside:{punctuation:/[<>]/}},function:{pattern:/(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\da-f]{2}|\\.)+)?/i,inside:{"local-name":{pattern:/([^:]*:)[\s\S]+/,lookbehind:true},prefix:{pattern:/[\s\S]+/,inside:{punctuation:/:/}}}},number:/[+-]?\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[{}.,;()[\]]|\^\^/,boolean:/\b(?:true|false)\b/,keyword:[/(?:\ba|@prefix|@base)\b|=/,/\b(?:graph|base|prefix)\b/i],tag:{pattern:/@[a-z]+(?:-[a-z\d]+)*/i,inside:{punctuation:/@/}}};Prism.languages.trig=Prism.languages["turtle"]}},function(module,exports,__webpack_require__){"use strict";var refractorBasic=__webpack_require__(228);module.exports=vbnet;vbnet.displayName="vbnet";vbnet.aliases=[];function vbnet(Prism){Prism.register(refractorBasic);Prism.languages.vbnet=Prism.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:true,greedy:true}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/i,lookbehind:true,greedy:true},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}},function(module,exports,__webpack_require__){"use strict";module.exports=yaml;yaml.displayName="yaml";yaml.aliases=["yml"];function yaml(Prism){(function(Prism){var anchorOrAlias=/[*&][^\s[\]{},]+/;var tag=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/;var properties="(?:"+tag.source+"(?:[ \t]+"+anchorOrAlias.source+")?|"+anchorOrAlias.source+"(?:[ \t]+"+tag.source+")?)";var plainKey=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}));var string=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function createValuePattern(value,flags){flags=(flags||"").replace(/m/g,"")+"m";var pattern=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return properties})).replace(/<<value>>/g,(function(){return value}));return RegExp(pattern,flags)}Prism.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return properties}))),lookbehind:true,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return properties})).replace(/<<key>>/g,(function(){return"(?:"+plainKey+"|"+string+")"}))),lookbehind:true,greedy:true,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:true,alias:"important"},datetime:{pattern:createValuePattern(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:true,alias:"number"},boolean:{pattern:createValuePattern(/true|false/.source,"i"),lookbehind:true,alias:"important"},null:{pattern:createValuePattern(/null|~/.source,"i"),lookbehind:true,alias:"important"},string:{pattern:createValuePattern(string),lookbehind:true,greedy:true},number:{pattern:createValuePattern(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:true},tag:tag,important:anchorOrAlias,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./};Prism.languages.yml=Prism.languages.yaml})(Prism)}},function(module,exports,__webpack_require__){"use strict";(function(global){var ctx=typeof globalThis==="object"?globalThis:typeof self==="object"?self:typeof window==="object"?window:typeof global==="object"?global:{};var restore=capture();ctx.Prism={manual:true,disableWorkerMessageHandler:true};var h=__webpack_require__(1334);var decode=__webpack_require__(1349);var Prism=__webpack_require__(1351);var markup=__webpack_require__(662);var css=__webpack_require__(585);var clike=__webpack_require__(577);var js=__webpack_require__(638);restore();var own={}.hasOwnProperty;function Refractor(){}Refractor.prototype=Prism;var refract=new Refractor;module.exports=refract;refract.highlight=highlight;refract.register=register;refract.alias=alias;refract.registered=registered;refract.listLanguages=listLanguages;register(markup);register(css);register(clike);register(js);refract.util.encode=encode;refract.Token.stringify=stringify;function register(grammar){if(typeof grammar!=="function"||!grammar.displayName){throw new Error("Expected `function` for `grammar`, got `"+grammar+"`")}if(refract.languages[grammar.displayName]===undefined){grammar(refract)}}function alias(name,alias){var languages=refract.languages;var map=name;var key;var list;var length;var index;if(alias){map={};map[name]=alias}for(key in map){list=map[key];list=typeof list==="string"?[list]:list;length=list.length;index=-1;while(++index<length){languages[list[index]]=languages[key]}}}function highlight(value,name){var sup=Prism.highlight;var grammar;if(typeof value!=="string"){throw new Error("Expected `string` for `value`, got `"+value+"`")}if(refract.util.type(name)==="Object"){grammar=name;name=null}else{if(typeof name!=="string"){throw new Error("Expected `string` for `name`, got `"+name+"`")}if(own.call(refract.languages,name)){grammar=refract.languages[name]}else{throw new Error("Unknown language: `"+name+"` is not registered")}}return sup.call(this,value,grammar,name)}function registered(language){if(typeof language!=="string"){throw new Error("Expected `string` for `language`, got `"+language+"`")}return own.call(refract.languages,language)}function listLanguages(){var languages=refract.languages;var list=[];var language;for(language in languages){if(own.call(languages,language)&&typeof languages[language]==="object"){list.push(language)}}return list}function stringify(value,language,parent){var env;if(typeof value==="string"){return{type:"text",value:value}}if(refract.util.type(value)==="Array"){return stringifyAll(value,language)}env={type:value.type,content:refract.Token.stringify(value.content,language,parent),tag:"span",classes:["token",value.type],attributes:{},language:language,parent:parent};if(value.alias){env.classes=env.classes.concat(value.alias)}refract.hooks.run("wrap",env);return h(env.tag+"."+env.classes.join("."),attributes(env.attributes),env.content)}function stringifyAll(values,language){var result=[];var length=values.length;var index=-1;var value;while(++index<length){value=values[index];if(value!==""&&value!==null&&value!==undefined){result.push(value)}}index=-1;length=result.length;while(++index<length){value=result[index];result[index]=refract.Token.stringify(value,language,result)}return result}function encode(tokens){return tokens}function attributes(attrs){var key;for(key in attrs){attrs[key]=decode(attrs[key])}return attrs}function capture(){var defined="Prism"in ctx;var current=defined?ctx.Prism:undefined;return restore;function restore(){if(defined){ctx.Prism=current}else{delete ctx.Prism}defined=undefined;current=undefined}}}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){"use strict";module.exports=normalize;function normalize(value){return value.toLowerCase()}},function(module,exports,__webpack_require__){"use strict";var powers=0;exports.boolean=increment();exports.booleanish=increment();exports.overloadedBoolean=increment();exports.number=increment();exports.spaceSeparated=increment();exports.commaSeparated=increment();exports.commaOrSpaceSeparated=increment();function increment(){return Math.pow(2,++powers)}},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Eye=exports.Chevron=exports.Folder=exports.File=exports.More=exports.Play=exports.Clear=exports.AddCell=exports.Commands=exports.Delete=exports.Markdown=void 0;const react_1=__importDefault(__webpack_require__(35));exports.Markdown=()=>react_1.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("path",{d:"M2.34567 11.4999L2.34563 4.49994H3.88409L5.42255 6.92302L6.96101 4.49994H8.49947L8.49951 11.4999H6.96105L6.96101 7.23071L5.42255 9.15378L3.88409 7.23071L3.88413 11.4999H2.34567ZM11.6149 11.5L9.49949 8.99994H10.7495V4.49994H12.2495V8.99994H13.4995L11.6149 11.5Z",fill:"#EEEFF0"}));exports.Delete=()=>react_1.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("path",{d:"M13.5 5.5H11.5M2.5 5.5H4.5M4.5 5.5V13.5C4.5 14.0523 4.94772 14.5 5.5 14.5H10.5C11.0523 14.5 11.5 14.0523 11.5 13.5V5.5M4.5 5.5H11.5",stroke:"#FF7474",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M10.5 5.5L10 2.5H6L5.5 5.5",stroke:"#FF7474",strokeLinecap:"round",strokeLinejoin:"round"}));exports.Commands=({muted:muted=false})=>react_1.default.createElement("svg",{width:"22px",height:"25px",viewBox:"0 0 22 25",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("title",null,"Group"),react_1.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},react_1.default.createElement("g",{id:"Group",transform:"translate(0.000000, 0.292248)"},react_1.default.createElement("rect",{id:"Rectangle",fillOpacity:"0",fill:"#D8D8D8",x:"0",y:"0.7077525",width:"22",height:"23"}),react_1.default.createElement("path",{d:"M0,20.5077525 L3.96,22.7077525 L11,18.7077525 L18.04,22.7077525 L22,20.5077525 L22,6.8677525 L11.977,1.2549925 C11.37,0.9150025 10.63,0.9150025 10.023,1.2549925 L0,6.8677525 L0,20.5077525 Z",id:"Path",fill:muted?"#475059":"#E2E5E7",fillRule:"nonzero"}),react_1.default.createElement("polygon",{id:"Path2",fill:"#8F969D",fillRule:"nonzero",points:"10.998 12.0560525 5 9.0572525 10.998 5.7077525 16.995 9.0572525"}),react_1.default.createElement("polygon",{id:"Path3",fill:"#29313A",fillRule:"nonzero",points:"5 9.0587625 10.998 12.0529525 10.998 18.4066525 5 15.4078525"}),react_1.default.createElement("polygon",{id:"Path4",fill:"#BABFC4",fillRule:"nonzero",points:"16.995 9.0587625 10.997 12.0529525 10.997 18.4066525 16.995 15.4078525"}),react_1.default.createElement("path",{d:"M10.998,18.4021525 L10.998,12.0437525 M10.998,12.0437525 L5,9.0542525 M10.998,12.0437525 L17,9.0542525",id:"Shape",stroke:"#E2E5E7",strokeWidth:"1.5"}))));exports.AddCell=({below:below=true})=>below?react_1.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("path",{d:"M13.5 8.99994V3.83327C13.5 3.09689 12.903 2.49994 12.1667 2.49994H3.83333C3.09695 2.49994 2.5 3.09689 2.5 3.83327L2.5 12.1666C2.5 12.903 3.09695 13.4999 3.83333 13.4999H9",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M13.5 11.4999V15.4999",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M8 5.5V9.5",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M11.5 13.5H15.5",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M10 8.50006L8 10.5001L6 8.50006",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"})):react_1.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("path",{d:"M13.5 7V12.1667C13.5 12.903 12.903 13.5 12.1667 13.5H3.83333C3.09695 13.5 2.5 12.903 2.5 12.1667L2.5 3.83333C2.5 3.09695 3.09695 2.5 3.83333 2.5H9",stroke:"#E2E5E7",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M13.5 4.5V0.5",stroke:"#E2E5E7",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M11.5 2.5H15.5",stroke:"#E2E5E7",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M8 10.5V6.5",stroke:"#E2E5E7",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M10 7.5L8 5.5L6 7.5",stroke:"#E2E5E7",strokeLinecap:"round",strokeLinejoin:"round"}));exports.Clear=()=>react_1.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("g",{opacity:"0.8"},react_1.default.createElement("path",{d:"M7.99951 6C3.93295 6.5 1.31391 10.7209 1.49949 13.5H10.8498C6.99953 11 7.99951 6 7.99951 6Z",stroke:"#EEEFF0",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M11.5 9.5H14.5",stroke:"#EEEFF0",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("path",{d:"M10.5 7.5H14.5",stroke:"#EEEFF0",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("path",{d:"M12.5 5.5H14.5",stroke:"#EEEFF0",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("path",{d:"M6.5 11.5C6.5 11.5 6.5 13 7.5 13.5",stroke:"#EEEFF0"}),react_1.default.createElement("path",{d:"M4.49938 10.5C4.49938 10.5 3.49939 12 3.99937 13.5",stroke:"#EEEFF0"}),react_1.default.createElement("path",{d:"M8 9C7.51338 9.07604 5.32118 8.77741 4.5 7.5",stroke:"#EEEFF0"}),react_1.default.createElement("path",{d:"M8 6.17468L13 1.17474",stroke:"#EEEFF0"})));exports.Play=()=>react_1.default.createElement("svg",{width:"9",height:"10",viewBox:"0 0 9 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("path",{d:"M8.13165 4.45728L1.9792 0.612C1.55293 0.34558 1 0.65204 1 1.15472V8.84528C1 9.34796 1.55293 9.65442 1.9792 9.388L8.13165 5.54272C8.53272 5.29205 8.53272 4.70795 8.13165 4.45728Z",fill:"#757F88",stroke:"#757F88",strokeLinecap:"round",strokeLinejoin:"round"}));exports.More=()=>react_1.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("circle",{cx:"8",cy:"8",r:"1",fill:"#757F88"}),react_1.default.createElement("circle",{cx:"4",cy:"8",r:"1",fill:"#757F88"}),react_1.default.createElement("circle",{cx:"12",cy:"8",r:"1",fill:"#757F88"}));exports.File=props=>react_1.default.createElement("svg",Object.assign({width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},props),react_1.default.createElement("mask",{id:"path-2-inside-1",fill:"white"},react_1.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.5 2C2.22386 2 2 2.22386 2 2.5V13.5C2 13.7761 2.22386 14 2.5 14H13.5C13.7761 14 14 13.7761 14 13.5V2.5C14 2.22386 13.7761 2 13.5 2H2.5ZM9 10H5V11H9V10ZM5 8H11V9H5V8ZM9 6H5V7H9V6Z"})),react_1.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.5 2C2.22386 2 2 2.22386 2 2.5V13.5C2 13.7761 2.22386 14 2.5 14H13.5C13.7761 14 14 13.7761 14 13.5V2.5C14 2.22386 13.7761 2 13.5 2H2.5ZM9 10H5V11H9V10ZM5 8H11V9H5V8ZM9 6H5V7H9V6Z",fill:"#757F88"}),react_1.default.createElement("path",{d:"M5 10V9H4V10H5ZM9 10H10V9H9V10ZM5 11H4V12H5V11ZM9 11V12H10V11H9ZM11 8H12V7H11V8ZM5 8V7H4V8H5ZM11 9V10H12V9H11ZM5 9H4V10H5V9ZM5 6V5H4V6H5ZM9 6H10V5H9V6ZM5 7H4V8H5V7ZM9 7V8H10V7H9ZM3 2.5C3 2.77614 2.77614 3 2.5 3V1C1.67157 1 1 1.67157 1 2.5H3ZM3 13.5V2.5H1V13.5H3ZM2.5 13C2.77614 13 3 13.2239 3 13.5H1C1 14.3284 1.67157 15 2.5 15V13ZM13.5 13H2.5V15H13.5V13ZM13 13.5C13 13.2239 13.2239 13 13.5 13V15C14.3284 15 15 14.3284 15 13.5H13ZM13 2.5V13.5H15V2.5H13ZM13.5 3C13.2239 3 13 2.77614 13 2.5H15C15 1.67157 14.3284 1 13.5 1V3ZM2.5 3H13.5V1H2.5V3ZM5 11H9V9H5V11ZM6 11V10H4V11H6ZM9 10H5V12H9V10ZM8 10V11H10V10H8ZM11 7H5V9H11V7ZM12 9V8H10V9H12ZM5 10H11V8H5V10ZM4 8V9H6V8H4ZM5 7H9V5H5V7ZM6 7V6H4V7H6ZM9 6H5V8H9V6ZM8 6V7H10V6H8Z",fill:"#757F88",mask:"url(#path-2-inside-1)"}));exports.Folder=props=>react_1.default.createElement("svg",Object.assign({width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},props),react_1.default.createElement("path",{d:"M7.98881 5.0109L7.98395 5.01562H8H13.5C13.7679 5.01562 13.9844 5.23207 13.9844 5.5V12.5C13.9844 12.7679 13.7679 12.9844 13.5 12.9844H2.5C2.23207 12.9844 2.01562 12.7679 2.01562 12.5V3.5C2.01562 3.23207 2.23207 3.01562 2.5 3.01562H5.99993C6.02781 3.01588 6.05459 3.02655 6.075 3.04554L7.98881 5.0109Z",fill:"#757F88",stroke:"#757F88",strokeWidth:"0.03125"}));exports.Chevron=props=>react_1.default.createElement("svg",Object.assign({width:"7",height:"4",viewBox:"0 0 7 4",fill:"none",xmlns:"http://www.w3.org/2000/svg"},props),react_1.default.createElement("path",{d:"M6 1L3.5 3.5L1 1",stroke:"#757F88",strokeLinecap:"round",strokeLinejoin:"round"}));exports.Eye=props=>react_1.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.5786 3.96431C11.4224 2.97694 9.89608 2.16675 7.99984 2.16675C5.46121 2.16675 3.58574 3.61884 2.37362 5.00417C1.76412 5.70077 1.30868 6.39519 1.00558 6.91482C0.853717 7.17517 0.739274 7.39306 0.662149 7.54732C0.623568 7.62449 0.594269 7.68584 0.574245 7.72875C0.564231 7.75021 0.556532 7.76707 0.551145 7.779L0.544798 7.79316L0.542924 7.79739L0.542312 7.79878L0.542087 7.79929C0.541997 7.7995 0.541916 7.79968 1 8.00008L0.541916 7.79968C0.486028 7.92744 0.486028 8.07273 0.541916 8.20048L1 8.00008C0.541916 8.20048 0.541997 8.20066 0.542087 8.20087L0.542312 8.20138L0.542924 8.20277L0.544798 8.207L0.551145 8.22116C0.556532 8.23309 0.564231 8.24995 0.574245 8.27141C0.594269 8.31432 0.623568 8.37568 0.662149 8.45284C0.739274 8.6071 0.853717 8.82499 1.00558 9.08534C1.30868 9.60497 1.76412 10.2994 2.37362 10.996C2.83137 11.5192 3.38372 12.0518 4.03066 12.5122L4.74894 11.7939C4.12432 11.3715 3.58341 10.86 3.12621 10.3375C2.56909 9.70077 2.14957 9.06186 1.86937 8.58149C1.72958 8.34184 1.62529 8.14306 1.55659 8.00565L1.5538 8.00008L1.55659 7.99451C1.62529 7.8571 1.72958 7.65832 1.86937 7.41867C2.14957 6.93831 2.56909 6.29939 3.12621 5.66266C4.24735 4.38132 5.8718 3.16675 7.99984 3.16675C9.56041 3.16675 10.8502 3.81992 11.8693 4.67361L12.5786 3.96431ZM10.3754 6.16746C9.82679 5.45733 8.9668 5 8 5C6.34315 5 5 6.34315 5 8C5 8.9668 5.45733 9.82679 6.16746 10.3754L6.88338 9.65951C6.35048 9.30024 6 8.69105 6 8C6 6.89543 6.89543 6 8 6C8.69105 6 9.30024 6.35048 9.65951 6.88338L10.3754 6.16746ZM9.99956 7.95755L10.8613 7.09578C10.9514 7.38112 11 7.68488 11 8C11 9.65685 9.65685 11 8 11C7.68488 11 7.38112 10.9514 7.09578 10.8613L7.95755 9.99956C7.97166 9.99985 7.98581 10 8 10C9.10457 10 10 9.10457 10 8C10 7.98581 9.99985 7.97166 9.99956 7.95755ZM5.65047 12.3066C6.35009 12.632 7.1332 12.8334 7.99984 12.8334C10.1279 12.8334 11.7524 11.6188 12.8736 10.3375C13.4308 9.70075 13.8504 9.06184 14.1306 8.58147C14.2704 8.34182 14.3747 8.14304 14.4434 8.00563L14.4462 8.00008L14.4434 7.99453C14.3747 7.85712 14.2704 7.65834 14.1306 7.41869C13.8504 6.93832 13.4308 6.29941 12.8736 5.66267C12.7847 5.56107 12.6927 5.45988 12.5974 5.35969L13.3047 4.65243C13.4166 4.76954 13.5238 4.88709 13.6262 5.00416C14.2357 5.70075 14.6912 6.39517 14.9944 6.9148C15.1462 7.17515 15.2607 7.39304 15.3378 7.5473C15.3764 7.62446 15.4057 7.68582 15.4257 7.72873C15.4358 7.75019 15.4435 7.76705 15.4488 7.77898L15.4552 7.79313L15.4571 7.79737L15.4577 7.79876L15.4579 7.79927C15.458 7.79948 15.4581 7.79966 15 8.00008C15.4581 8.2005 15.458 8.20069 15.4579 8.20089L15.4577 8.2014L15.4571 8.2028L15.4552 8.20703L15.4488 8.22119C15.4435 8.23311 15.4358 8.24997 15.4257 8.27143C15.4057 8.31434 15.3764 8.3757 15.3378 8.45287C15.2607 8.60712 15.1462 8.82501 14.9944 9.08536C14.6912 9.60499 14.2357 10.2994 13.6262 10.996C12.414 12.3813 10.5385 13.8334 7.99984 13.8334C6.82635 13.8334 5.79457 13.5231 4.90451 13.0526L5.65047 12.3066ZM15 8.00008L15.4581 8.2005C15.514 8.07274 15.514 7.92743 15.4581 7.79966L15 8.00008Z",fill:"#E2E5E7"}),react_1.default.createElement("path",{d:"M14.9993 1L0.666016 15.3333",stroke:"#E2E5E7",strokeLinecap:"round",strokeLinejoin:"round"}))},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const load_script_1=__importDefault(__webpack_require__(1400));const context_1=__importDefault(__webpack_require__(173));class Provider extends React.Component{constructor(props){super(props);this.onLoad=()=>{if(typeof MathJax==="undefined"||!MathJax||!MathJax.Hub){this.props.onError(new Error("MathJax not really loaded even though onLoad called"));return}const options=this.props.options;if(options!=null&&Object.keys(options).length>0){MathJax.Hub.Config(options)}MathJax.Hub.Register.StartupHook("End",()=>{if(typeof MathJax==="undefined"||!MathJax){this.props.onError(new Error("MathJax became undefined in the middle of processing"));return}MathJax.Hub.processSectionDelay=this.props.delay;if(this.props.didFinishTypeset){this.props.didFinishTypeset()}});MathJax.Hub.Register.MessageHook("Math Processing Error",message=>{if(this.props.onError){this.props.onError(new Error(message))}});if(this.props.onLoad){this.props.onLoad()}this.setState({MathJax:MathJax})};this.state={MathJax:undefined,input:this.props.input,hasProviderAbove:true}}static getDerivedStateFromProps(props,state){if(state.input!==props.input){return Object.assign(Object.assign({},state),{input:props.input})}return null}componentDidMount(){const src=this.props.src;if(src===undefined){return this.onLoad()}if(typeof MathJax==="undefined"||!MathJax||!MathJax.Hub){return load_script_1.default(src,this.onLoad)}this.onLoad()}render(){return React.createElement(context_1.default.Provider,{value:this.state},this.props.children)}}exports.default=Provider;Provider.defaultProps={src:"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_CHTML",input:"tex",didFinishTypeset:null,delay:0,options:{},loading:null,noGate:false,onLoad:null,onError:err=>{console.error(err)}}},function(module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run()}}queueIndex=-1;len=queue.length}currentQueue=null;draining=false;runClearTimeout(timeout)}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i]}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue)}};function Item(fun,array){this.fun=fun;this.array=array}Item.prototype.run=function(){this.fun.apply(null,this.array)};process.title="browser";process.browser=true;process.env={};process.argv=[];process.version="";process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[]};process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")};process.umask=function(){return 0}},function(module,exports,__webpack_require__){"use strict";var legacy=__webpack_require__(766);var invalid=__webpack_require__(767);var decimal=__webpack_require__(131);var hexadecimal=__webpack_require__(768);var alphanumerical=__webpack_require__(769);var decodeEntity=__webpack_require__(1424);module.exports=parseEntities;var own={}.hasOwnProperty;var fromCharCode=String.fromCharCode;var noop=Function.prototype;var defaults={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:false,nonTerminated:true};var tab=9;var lineFeed=10;var formFeed=12;var space=32;var ampersand=38;var semicolon=59;var lessThan=60;var equalsTo=61;var numberSign=35;var uppercaseX=88;var lowercaseX=120;var replacementCharacter=65533;var name="named";var hexa="hexadecimal";var deci="decimal";var bases={};bases[hexa]=16;bases[deci]=10;var tests={};tests[name]=alphanumerical;tests[deci]=decimal;tests[hexa]=hexadecimal;var namedNotTerminated=1;var numericNotTerminated=2;var namedEmpty=3;var numericEmpty=4;var namedUnknown=5;var numericDisallowed=6;var numericProhibited=7;var messages={};messages[namedNotTerminated]="Named character references must be terminated by a semicolon";messages[numericNotTerminated]="Numeric character references must be terminated by a semicolon";messages[namedEmpty]="Named character references cannot be empty";messages[numericEmpty]="Numeric character references cannot be empty";messages[namedUnknown]="Named character references must be known";messages[numericDisallowed]="Numeric character references cannot be disallowed";messages[numericProhibited]="Numeric character references cannot be outside the permissible Unicode range";function parseEntities(value,options){var settings={};var option;var key;if(!options){options={}}for(key in defaults){option=options[key];settings[key]=option===null||option===undefined?defaults[key]:option}if(settings.position.indent||settings.position.start){settings.indent=settings.position.indent||[];settings.position=settings.position.start}return parse(value,settings)}function parse(value,settings){var additional=settings.additional;var nonTerminated=settings.nonTerminated;var handleText=settings.text;var handleReference=settings.reference;var handleWarning=settings.warning;var textContext=settings.textContext;var referenceContext=settings.referenceContext;var warningContext=settings.warningContext;var pos=settings.position;var indent=settings.indent||[];var length=value.length;var index=0;var lines=-1;var column=pos.column||1;var line=pos.line||1;var queue="";var result=[];var entityCharacters;var namedEntity;var terminated;var characters;var character;var reference;var following;var warning;var reason;var output;var entity;var begin;var start;var type;var test;var prev;var next;var diff;var end;if(typeof additional==="string"){additional=additional.charCodeAt(0)}prev=now();warning=handleWarning?parseError:noop;index--;length++;while(++index<length){if(character===lineFeed){column=indent[lines]||1}character=value.charCodeAt(index);if(character===ampersand){following=value.charCodeAt(index+1);if(following===tab||following===lineFeed||following===formFeed||following===space||following===ampersand||following===lessThan||following!==following||additional&&following===additional){queue+=fromCharCode(character);column++;continue}start=index+1;begin=start;end=start;if(following===numberSign){end=++begin;following=value.charCodeAt(end);if(following===uppercaseX||following===lowercaseX){type=hexa;end=++begin}else{type=deci}}else{type=name}entityCharacters="";entity="";characters="";test=tests[type];end--;while(++end<length){following=value.charCodeAt(end);if(!test(following)){break}characters+=fromCharCode(following);if(type===name&&own.call(legacy,characters)){entityCharacters=characters;entity=legacy[characters]}}terminated=value.charCodeAt(end)===semicolon;if(terminated){end++;namedEntity=type===name?decodeEntity(characters):false;if(namedEntity){entityCharacters=characters;entity=namedEntity}}diff=1+end-start;if(!terminated&&!nonTerminated){}else if(!characters){if(type!==name){warning(numericEmpty,diff)}}else if(type===name){if(terminated&&!entity){warning(namedUnknown,1)}else{if(entityCharacters!==characters){end=begin+entityCharacters.length;diff=1+end-begin;terminated=false}if(!terminated){reason=entityCharacters?namedNotTerminated:namedEmpty;if(settings.attribute){following=value.charCodeAt(end);if(following===equalsTo){warning(reason,diff);entity=null}else if(alphanumerical(following)){entity=null}else{warning(reason,diff)}}else{warning(reason,diff)}}}reference=entity}else{if(!terminated){warning(numericNotTerminated,diff)}reference=parseInt(characters,bases[type]);if(prohibited(reference)){warning(numericProhibited,diff);reference=fromCharCode(replacementCharacter)}else if(reference in invalid){warning(numericDisallowed,diff);reference=invalid[reference]}else{output="";if(disallowed(reference)){warning(numericDisallowed,diff)}if(reference>65535){reference-=65536;output+=fromCharCode(reference>>>(10&1023)|55296);reference=56320|reference&1023}reference=output+fromCharCode(reference)}}if(reference){flush();prev=now();index=end-1;column+=end-start+1;result.push(reference);next=now();next.offset++;if(handleReference){handleReference.call(referenceContext,reference,{start:prev,end:next},value.slice(start-1,end))}prev=next}else{characters=value.slice(start-1,end);queue+=characters;column+=characters.length;index=end-1}}else{if(character===10){line++;lines++;column=0}if(character===character){queue+=fromCharCode(character);column++}else{flush()}}}return result.join("");function now(){return{line:line,column:column,offset:index+(pos.offset||0)}}function parseError(code,offset){var position=now();position.column+=offset;position.offset+=offset;handleWarning.call(warningContext,messages[code],position,code)}function flush(){if(queue){result.push(queue);if(handleText){handleText.call(textContext,queue,{start:prev,end:now()})}queue=""}}}function prohibited(code){return code>=55296&&code<=57343||code>1114111}function disallowed(code){return code>=1&&code<=8||code===11||code>=13&&code<=31||code>=127&&code<=159||code>=64976&&code<=65007||(code&65535)===65535||(code&65535)===65534}},function(module,exports,__webpack_require__){"use strict";
/*!
 * repeat-string <https://github.com/jonschlinkert/repeat-string>
 *
 * Copyright (c) 2014-2015, Jon Schlinkert.
 * Licensed under the MIT License.
 */var res="";var cache;module.exports=repeat;function repeat(str,num){if(typeof str!=="string"){throw new TypeError("expected a string")}if(num===1)return str;if(num===2)return str+str;var max=str.length*num;if(cache!==str||typeof cache==="undefined"){cache=str;res=""}else if(res.length>=max){return res.substr(0,max)}while(max>res.length&&num>1){if(num&1){res+=str}num>>=1;str+=str}res+=str;res=res.substr(0,max);return res}},function(module,exports,__webpack_require__){"use strict";module.exports=trimTrailingLines;function trimTrailingLines(value){return String(value).replace(/\n+$/,"")}},function(module,exports,__webpack_require__){"use strict";module.exports=interrupt;function interrupt(interruptors,tokenizers,ctx,params){var bools=["pedantic","commonmark"];var count=bools.length;var length=interruptors.length;var index=-1;var interruptor;var config;var fn;var offset;var bool;var ignore;while(++index<length){interruptor=interruptors[index];config=interruptor[1]||{};fn=interruptor[0];offset=-1;ignore=false;while(++offset<count){bool=bools[offset];if(config[bool]!==undefined&&config[bool]!==ctx.options[bool]){ignore=true;break}}if(ignore){continue}if(tokenizers[fn].apply(ctx,params)){return true}}return false}},function(module,exports,__webpack_require__){"use strict";var collapseWhiteSpace=__webpack_require__(1444);module.exports=normalize;function normalize(value){return collapseWhiteSpace(value).toLowerCase()}},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const ErrorFallbackDiv=styled_components_1.default.div`
  backgroundcolor: ghostwhite;
  color: black;
  font-weight: 600;
  display: block;
  padding: 10px;
  margin-bottom: 20px;
`;const ErrorFallback=caught=>React.createElement(ErrorFallbackDiv,null,React.createElement("h3",null,caught.error.toString()),React.createElement("details",null,React.createElement("summary",null,"stack trace"),React.createElement("pre",null,caught.info.componentStack)));class RichMedia extends React.PureComponent{constructor(){super(...arguments);this.state={};this.choose=children=>{let chosenOne=null;const data=this.props.data;React.Children.forEach(children,child=>{if(chosenOne){return}const childElement=child;if(!childElement||typeof childElement!=="object"||!("type"in childElement)){return}if(childElement.type===RichMedia){chosenOne=this.choose(childElement.props.children);return}if(childElement.props&&childElement.props.mediaType&&childElement.props.mediaType in data){chosenOne=childElement;return}});return chosenOne}}componentDidCatch(error,info){this.setState({caughtError:{error:error,info:info}})}render(){if(this.state.caughtError){return this.props.renderError(Object.assign(Object.assign({},this.state.caughtError),{data:this.props.data,metadata:this.props.metadata,children:this.props.children}))}const chosenOne=this.choose(this.props.children);if(chosenOne===null||!chosenOne.props.mediaType){return null}const mediaType=chosenOne.props.mediaType;return React.cloneElement(chosenOne,{data:this.props.data[mediaType],metadata:this.props.metadata[mediaType]})}}exports.RichMedia=RichMedia;RichMedia.defaultProps={data:{},metadata:{},renderError:ErrorFallback};exports.default=RichMedia},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});const anser_1=__importDefault(__webpack_require__(1488));const escape_carriage_1=__webpack_require__(1489);const React=__importStar(__webpack_require__(35));function ansiToJSON(input,use_classes=false){input=escape_carriage_1.escapeCarriageReturn(fixBackspace(input));return anser_1.default.ansiToJson(input,{json:true,remove_empty:true,use_classes:use_classes})}function createClass(bundle){let classNames="";if(bundle.bg){classNames+=`${bundle.bg}-bg `}if(bundle.fg){classNames+=`${bundle.fg}-fg `}if(bundle.decoration){classNames+=`ansi-${bundle.decoration} `}if(classNames===""){return null}classNames=classNames.substring(0,classNames.length-1);return classNames}function createStyle(bundle){const style={};if(bundle.bg){style.backgroundColor=`rgb(${bundle.bg})`}if(bundle.fg){style.color=`rgb(${bundle.fg})`}return style}function convertBundleIntoReact(linkify,useClasses,bundle,key){const style=useClasses?null:createStyle(bundle);const className=useClasses?createClass(bundle):null;if(!linkify){return React.createElement("span",{style:style,key:key,className:className},bundle.content)}const content=[];const linkRegex=/(\s|^)(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g;let index=0;let match;while((match=linkRegex.exec(bundle.content))!==null){const[,pre,url]=match;const startIndex=match.index+pre.length;if(startIndex>index){content.push(bundle.content.substring(index,startIndex))}const href=url.startsWith("www.")?`http://${url}`:url;content.push(React.createElement("a",{key:index,href:href,target:"_blank"},`${url}`));index=linkRegex.lastIndex}if(index<bundle.content.length){content.push(bundle.content.substring(index))}return React.createElement("span",{style:style,key:key,className:className},content)}function Ansi(props){const{className:className,useClasses:useClasses,children:children,linkify:linkify}=props;return React.createElement("code",{className:className},ansiToJSON(children!==null&&children!==void 0?children:"",useClasses!==null&&useClasses!==void 0?useClasses:false).map(convertBundleIntoReact.bind(null,linkify!==null&&linkify!==void 0?linkify:false,useClasses!==null&&useClasses!==void 0?useClasses:false)))}exports.default=Ansi;function fixBackspace(txt){let tmp=txt;do{txt=tmp;tmp=txt.replace(/[^\n]\x08/gm,"")}while(tmp.length<txt.length);return txt}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));var _JSONArrow=_interopRequireDefault(__webpack_require__(788));var _getCollectionEntries=_interopRequireDefault(__webpack_require__(1501));var _JSONNode=_interopRequireDefault(__webpack_require__(787));var _ItemRange=_interopRequireDefault(__webpack_require__(1502));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(Reflect.construct(Date,[],(function(){})));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&Symbol.iterator in Object(iter))return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function renderChildNodes(props,from,to){var nodeType=props.nodeType,data=props.data,collectionLimit=props.collectionLimit,circularCache=props.circularCache,keyPath=props.keyPath,postprocessValue=props.postprocessValue,sortObjectKeys=props.sortObjectKeys;var childNodes=[];(0,_getCollectionEntries["default"])(nodeType,data,sortObjectKeys,collectionLimit,from,to).forEach((function(entry){if(entry.to){childNodes.push(_react["default"].createElement(_ItemRange["default"],_extends({},props,{key:"ItemRange--".concat(entry.from,"-").concat(entry.to),from:entry.from,to:entry.to,renderChildNodes:renderChildNodes})))}else{var key=entry.key,value=entry.value;var isCircular=circularCache.indexOf(value)!==-1;var node=_react["default"].createElement(_JSONNode["default"],_extends({},props,{postprocessValue:postprocessValue,collectionLimit:collectionLimit},{key:"Node--".concat(key),keyPath:[key].concat(_toConsumableArray(keyPath)),value:postprocessValue(value),circularCache:[].concat(_toConsumableArray(circularCache),[value]),isCircular:isCircular,hideRoot:false}));if(node!==false){childNodes.push(node)}}}));return childNodes}function getStateFromProps(props){var expanded=props.shouldExpandNode&&!props.isCircular?props.shouldExpandNode(props.keyPath,props.data,props.level):false;return{expanded:expanded}}var JSONNestedNode=function(_React$Component){_inherits(JSONNestedNode,_React$Component);var _super=_createSuper(JSONNestedNode);function JSONNestedNode(props){var _this;_classCallCheck(this,JSONNestedNode);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"handleClick",(function(){if(_this.props.expandable){_this.setState({expanded:!_this.state.expanded})}}));_this.state=getStateFromProps(props);return _this}_createClass(JSONNestedNode,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){var nextState=getStateFromProps(nextProps);if(getStateFromProps(this.props).expanded!==nextState.expanded){this.setState(nextState)}}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){var _this2=this;return!!Object.keys(nextProps).find((function(key){return key!=="circularCache"&&(key==="keyPath"?nextProps[key].join("/")!==_this2.props[key].join("/"):nextProps[key]!==_this2.props[key])}))||nextState.expanded!==this.state.expanded}},{key:"render",value:function render(){var _this$props=this.props,getItemString=_this$props.getItemString,nodeTypeIndicator=_this$props.nodeTypeIndicator,nodeType=_this$props.nodeType,data=_this$props.data,hideRoot=_this$props.hideRoot,createItemString=_this$props.createItemString,styling=_this$props.styling,collectionLimit=_this$props.collectionLimit,keyPath=_this$props.keyPath,labelRenderer=_this$props.labelRenderer,expandable=_this$props.expandable;var expanded=this.state.expanded;var renderedChildren=expanded||hideRoot&&this.props.level===0?renderChildNodes(_objectSpread(_objectSpread({},this.props),{},{level:this.props.level+1})):null;var itemType=_react["default"].createElement("span",styling("nestedNodeItemType",expanded),nodeTypeIndicator);var renderedItemString=getItemString(nodeType,data,itemType,createItemString(data,collectionLimit));var stylingArgs=[keyPath,nodeType,expanded,expandable];return hideRoot?_react["default"].createElement("li",styling.apply(void 0,["rootNode"].concat(stylingArgs)),_react["default"].createElement("ul",styling.apply(void 0,["rootNodeChildren"].concat(stylingArgs)),renderedChildren)):_react["default"].createElement("li",styling.apply(void 0,["nestedNode"].concat(stylingArgs)),expandable&&_react["default"].createElement(_JSONArrow["default"],{styling:styling,nodeType:nodeType,expanded:expanded,onClick:this.handleClick}),_react["default"].createElement("label",_extends({},styling.apply(void 0,[["label","nestedNodeLabel"]].concat(stylingArgs)),{onClick:this.handleClick}),labelRenderer.apply(void 0,stylingArgs)),_react["default"].createElement("span",_extends({},styling.apply(void 0,["nestedNodeItemString"].concat(stylingArgs)),{onClick:this.handleClick}),renderedItemString),_react["default"].createElement("ul",styling.apply(void 0,["nestedNodeChildren"].concat(stylingArgs)),renderedChildren))}}]);return JSONNestedNode}(_react["default"].Component);exports["default"]=JSONNestedNode;_defineProperty(JSONNestedNode,"propTypes",{getItemString:_propTypes["default"].func.isRequired,nodeTypeIndicator:_propTypes["default"].any,nodeType:_propTypes["default"].string.isRequired,data:_propTypes["default"].any,hideRoot:_propTypes["default"].bool.isRequired,createItemString:_propTypes["default"].func.isRequired,styling:_propTypes["default"].func.isRequired,collectionLimit:_propTypes["default"].number,keyPath:_propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string,_propTypes["default"].number])).isRequired,labelRenderer:_propTypes["default"].func.isRequired,shouldExpandNode:_propTypes["default"].func,level:_propTypes["default"].number.isRequired,sortObjectKeys:_propTypes["default"].oneOfType([_propTypes["default"].func,_propTypes["default"].bool]),isCircular:_propTypes["default"].bool,expandable:_propTypes["default"].bool});_defineProperty(JSONNestedNode,"defaultProps",{data:[],circularCache:[],level:0,expandable:true})},function(module,exports){function clamp(val,min,max){return Math.min(Math.max(val,min),max)}module.exports=clamp},,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){var _typeof=__webpack_require__(815)["default"];function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj)}return newObj}module.exports=_interopRequireWildcard,module.exports.__esModule=true,module.exports["default"]=module.exports},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.setBatch=exports.getBatch=void 0;function defaultNoopBatch(callback){callback()}var batch=defaultNoopBatch;var setBatch=function setBatch(newBatch){return batch=newBatch};exports.setBatch=setBatch;var getBatch=function getBatch(){return batch};exports.getBatch=getBatch},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];var _interopRequireWildcard=__webpack_require__(266)["default"];exports.__esModule=true;exports["default"]=connectAdvanced;var _extends2=_interopRequireDefault(__webpack_require__(186));var _objectWithoutPropertiesLoose2=_interopRequireDefault(__webpack_require__(187));var _hoistNonReactStatics=_interopRequireDefault(__webpack_require__(818));var _react=_interopRequireWildcard(__webpack_require__(35));var _reactIs=__webpack_require__(821);var _Subscription=__webpack_require__(184);var _useIsomorphicLayoutEffect=__webpack_require__(185);var _Context=__webpack_require__(94);var _excluded=["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"],_excluded2=["reactReduxForwardedRef"];var EMPTY_ARRAY=[];var NO_SUBSCRIPTION_ARRAY=[null,null];var stringifyComponent=function stringifyComponent(Comp){try{return JSON.stringify(Comp)}catch(err){return String(Comp)}};function storeStateUpdatesReducer(state,action){var updateCount=state[1];return[action.payload,updateCount+1]}function useIsomorphicLayoutEffectWithArgs(effectFunc,effectArgs,dependencies){(0,_useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)((function(){return effectFunc.apply(void 0,effectArgs)}),dependencies)}function captureWrapperProps(lastWrapperProps,lastChildProps,renderIsScheduled,wrapperProps,actualChildProps,childPropsFromStoreUpdate,notifyNestedSubs){lastWrapperProps.current=wrapperProps;lastChildProps.current=actualChildProps;renderIsScheduled.current=false;if(childPropsFromStoreUpdate.current){childPropsFromStoreUpdate.current=null;notifyNestedSubs()}}function subscribeUpdates(shouldHandleStateChanges,store,subscription,childPropsSelector,lastWrapperProps,lastChildProps,renderIsScheduled,childPropsFromStoreUpdate,notifyNestedSubs,forceComponentUpdateDispatch){if(!shouldHandleStateChanges)return;var didUnsubscribe=false;var lastThrownError=null;var checkForUpdates=function checkForUpdates(){if(didUnsubscribe){return}var latestStoreState=store.getState();var newChildProps,error;try{newChildProps=childPropsSelector(latestStoreState,lastWrapperProps.current)}catch(e){error=e;lastThrownError=e}if(!error){lastThrownError=null}if(newChildProps===lastChildProps.current){if(!renderIsScheduled.current){notifyNestedSubs()}}else{lastChildProps.current=newChildProps;childPropsFromStoreUpdate.current=newChildProps;renderIsScheduled.current=true;forceComponentUpdateDispatch({type:"STORE_UPDATED",payload:{error:error}})}};subscription.onStateChange=checkForUpdates;subscription.trySubscribe();checkForUpdates();var unsubscribeWrapper=function unsubscribeWrapper(){didUnsubscribe=true;subscription.tryUnsubscribe();subscription.onStateChange=null;if(lastThrownError){throw lastThrownError}};return unsubscribeWrapper}var initStateUpdates=function initStateUpdates(){return[null,0]};function connectAdvanced(selectorFactory,_ref){if(_ref===void 0){_ref={}}var _ref2=_ref,_ref2$getDisplayName=_ref2.getDisplayName,getDisplayName=_ref2$getDisplayName===void 0?function(name){return"ConnectAdvanced("+name+")"}:_ref2$getDisplayName,_ref2$methodName=_ref2.methodName,methodName=_ref2$methodName===void 0?"connectAdvanced":_ref2$methodName,_ref2$renderCountProp=_ref2.renderCountProp,renderCountProp=_ref2$renderCountProp===void 0?undefined:_ref2$renderCountProp,_ref2$shouldHandleSta=_ref2.shouldHandleStateChanges,shouldHandleStateChanges=_ref2$shouldHandleSta===void 0?true:_ref2$shouldHandleSta,_ref2$storeKey=_ref2.storeKey,storeKey=_ref2$storeKey===void 0?"store":_ref2$storeKey,_ref2$withRef=_ref2.withRef,withRef=_ref2$withRef===void 0?false:_ref2$withRef,_ref2$forwardRef=_ref2.forwardRef,forwardRef=_ref2$forwardRef===void 0?false:_ref2$forwardRef,_ref2$context=_ref2.context,context=_ref2$context===void 0?_Context.ReactReduxContext:_ref2$context,connectOptions=(0,_objectWithoutPropertiesLoose2["default"])(_ref2,_excluded);if(false){var customStoreWarningMessage}var Context=context;return function wrapWithConnect(WrappedComponent){if(false){}var wrappedComponentName=WrappedComponent.displayName||WrappedComponent.name||"Component";var displayName=getDisplayName(wrappedComponentName);var selectorFactoryOptions=(0,_extends2["default"])({},connectOptions,{getDisplayName:getDisplayName,methodName:methodName,renderCountProp:renderCountProp,shouldHandleStateChanges:shouldHandleStateChanges,storeKey:storeKey,displayName:displayName,wrappedComponentName:wrappedComponentName,WrappedComponent:WrappedComponent});var pure=connectOptions.pure;function createChildSelector(store){return selectorFactory(store.dispatch,selectorFactoryOptions)}var usePureOnlyMemo=pure?_react.useMemo:function(callback){return callback()};function ConnectFunction(props){var _useMemo=(0,_react.useMemo)((function(){var reactReduxForwardedRef=props.reactReduxForwardedRef,wrapperProps=(0,_objectWithoutPropertiesLoose2["default"])(props,_excluded2);return[props.context,reactReduxForwardedRef,wrapperProps]}),[props]),propsContext=_useMemo[0],reactReduxForwardedRef=_useMemo[1],wrapperProps=_useMemo[2];var ContextToUse=(0,_react.useMemo)((function(){return propsContext&&propsContext.Consumer&&(0,_reactIs.isContextConsumer)(_react["default"].createElement(propsContext.Consumer,null))?propsContext:Context}),[propsContext,Context]);var contextValue=(0,_react.useContext)(ContextToUse);var didStoreComeFromProps=Boolean(props.store)&&Boolean(props.store.getState)&&Boolean(props.store.dispatch);var didStoreComeFromContext=Boolean(contextValue)&&Boolean(contextValue.store);if(false){}var store=didStoreComeFromProps?props.store:contextValue.store;var childPropsSelector=(0,_react.useMemo)((function(){return createChildSelector(store)}),[store]);var _useMemo2=(0,_react.useMemo)((function(){if(!shouldHandleStateChanges)return NO_SUBSCRIPTION_ARRAY;var subscription=(0,_Subscription.createSubscription)(store,didStoreComeFromProps?null:contextValue.subscription);var notifyNestedSubs=subscription.notifyNestedSubs.bind(subscription);return[subscription,notifyNestedSubs]}),[store,didStoreComeFromProps,contextValue]),subscription=_useMemo2[0],notifyNestedSubs=_useMemo2[1];var overriddenContextValue=(0,_react.useMemo)((function(){if(didStoreComeFromProps){return contextValue}return(0,_extends2["default"])({},contextValue,{subscription:subscription})}),[didStoreComeFromProps,contextValue,subscription]);var _useReducer=(0,_react.useReducer)(storeStateUpdatesReducer,EMPTY_ARRAY,initStateUpdates),_useReducer$=_useReducer[0],previousStateUpdateResult=_useReducer$[0],forceComponentUpdateDispatch=_useReducer[1];if(previousStateUpdateResult&&previousStateUpdateResult.error){throw previousStateUpdateResult.error}var lastChildProps=(0,_react.useRef)();var lastWrapperProps=(0,_react.useRef)(wrapperProps);var childPropsFromStoreUpdate=(0,_react.useRef)();var renderIsScheduled=(0,_react.useRef)(false);var actualChildProps=usePureOnlyMemo((function(){if(childPropsFromStoreUpdate.current&&wrapperProps===lastWrapperProps.current){return childPropsFromStoreUpdate.current}return childPropsSelector(store.getState(),wrapperProps)}),[store,previousStateUpdateResult,wrapperProps]);useIsomorphicLayoutEffectWithArgs(captureWrapperProps,[lastWrapperProps,lastChildProps,renderIsScheduled,wrapperProps,actualChildProps,childPropsFromStoreUpdate,notifyNestedSubs]);useIsomorphicLayoutEffectWithArgs(subscribeUpdates,[shouldHandleStateChanges,store,subscription,childPropsSelector,lastWrapperProps,lastChildProps,renderIsScheduled,childPropsFromStoreUpdate,notifyNestedSubs,forceComponentUpdateDispatch],[store,subscription,childPropsSelector]);var renderedWrappedComponent=(0,_react.useMemo)((function(){return _react["default"].createElement(WrappedComponent,(0,_extends2["default"])({},actualChildProps,{ref:reactReduxForwardedRef}))}),[reactReduxForwardedRef,WrappedComponent,actualChildProps]);var renderedChild=(0,_react.useMemo)((function(){if(shouldHandleStateChanges){return _react["default"].createElement(ContextToUse.Provider,{value:overriddenContextValue},renderedWrappedComponent)}return renderedWrappedComponent}),[ContextToUse,renderedWrappedComponent,overriddenContextValue]);return renderedChild}var Connect=pure?_react["default"].memo(ConnectFunction):ConnectFunction;Connect.WrappedComponent=WrappedComponent;Connect.displayName=ConnectFunction.displayName=displayName;if(forwardRef){var forwarded=_react["default"].forwardRef((function forwardConnectRef(props,ref){return _react["default"].createElement(Connect,(0,_extends2["default"])({},props,{reactReduxForwardedRef:ref}))}));forwarded.displayName=displayName;forwarded.WrappedComponent=WrappedComponent;return(0,_hoistNonReactStatics["default"])(forwarded,WrappedComponent)}return(0,_hoistNonReactStatics["default"])(Connect,WrappedComponent)}}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]=shallowEqual;function is(x,y){if(x===y){return x!==0||y!==0||1/x===1/y}else{return x!==x&&y!==y}}function shallowEqual(objA,objB){if(is(objA,objB))return true;if(typeof objA!=="object"||objA===null||typeof objB!=="object"||objB===null){return false}var keysA=Object.keys(objA);var keysB=Object.keys(objB);if(keysA.length!==keysB.length)return false;for(var i=0;i<keysA.length;i++){if(!Object.prototype.hasOwnProperty.call(objB,keysA[i])||!is(objA[keysA[i]],objB[keysA[i]])){return false}}return true}},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;exports.getDependsOnOwnProps=getDependsOnOwnProps;exports.wrapMapToPropsConstant=wrapMapToPropsConstant;exports.wrapMapToPropsFunc=wrapMapToPropsFunc;var _verifyPlainObject=_interopRequireDefault(__webpack_require__(271));function wrapMapToPropsConstant(getConstant){return function initConstantSelector(dispatch,options){var constant=getConstant(dispatch,options);function constantSelector(){return constant}constantSelector.dependsOnOwnProps=false;return constantSelector}}function getDependsOnOwnProps(mapToProps){return mapToProps.dependsOnOwnProps!==null&&mapToProps.dependsOnOwnProps!==undefined?Boolean(mapToProps.dependsOnOwnProps):mapToProps.length!==1}function wrapMapToPropsFunc(mapToProps,methodName){return function initProxySelector(dispatch,_ref){var displayName=_ref.displayName;var proxy=function mapToPropsProxy(stateOrDispatch,ownProps){return proxy.dependsOnOwnProps?proxy.mapToProps(stateOrDispatch,ownProps):proxy.mapToProps(stateOrDispatch)};proxy.dependsOnOwnProps=true;proxy.mapToProps=function detectFactoryAndVerify(stateOrDispatch,ownProps){proxy.mapToProps=mapToProps;proxy.dependsOnOwnProps=getDependsOnOwnProps(mapToProps);var props=proxy(stateOrDispatch,ownProps);if(typeof props==="function"){proxy.mapToProps=props;proxy.dependsOnOwnProps=getDependsOnOwnProps(props);props=proxy(stateOrDispatch,ownProps)}if(false){}return props};return proxy}}},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;exports["default"]=verifyPlainObject;var _isPlainObject=_interopRequireDefault(__webpack_require__(826));var _warning=_interopRequireDefault(__webpack_require__(272));function verifyPlainObject(value,displayName,methodName){if(!(0,_isPlainObject["default"])(value)){(0,_warning["default"])(methodName+"() in "+displayName+" must return a plain object. Instead received "+value+".")}}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]=warning;function warning(message){if(typeof console!=="undefined"&&typeof console.error==="function"){console.error(message)}try{throw new Error(message)}catch(e){}}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.createStoreHook=createStoreHook;exports.useStore=void 0;var _react=__webpack_require__(35);var _Context=__webpack_require__(94);var _useReduxContext2=__webpack_require__(274);function createStoreHook(context){if(context===void 0){context=_Context.ReactReduxContext}var useReduxContext=context===_Context.ReactReduxContext?_useReduxContext2.useReduxContext:function(){return(0,_react.useContext)(context)};return function useStore(){var _useReduxContext=useReduxContext(),store=_useReduxContext.store;return store}}var useStore=createStoreHook();exports.useStore=useStore},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.useReduxContext=useReduxContext;var _react=__webpack_require__(35);var _Context=__webpack_require__(94);function useReduxContext(){var contextValue=(0,_react.useContext)(_Context.ReactReduxContext);if(false){}return contextValue}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.defaultMemoize=defaultMemoize;exports.createSelectorCreator=createSelectorCreator;exports.createStructuredSelector=createStructuredSelector;function defaultEqualityCheck(a,b){return a===b}function areArgumentsShallowlyEqual(equalityCheck,prev,next){if(prev===null||next===null||prev.length!==next.length){return false}var length=prev.length;for(var i=0;i<length;i++){if(!equalityCheck(prev[i],next[i])){return false}}return true}function defaultMemoize(func){var equalityCheck=arguments.length>1&&arguments[1]!==undefined?arguments[1]:defaultEqualityCheck;var lastArgs=null;var lastResult=null;return function(){if(!areArgumentsShallowlyEqual(equalityCheck,lastArgs,arguments)){lastResult=func.apply(null,arguments)}lastArgs=arguments;return lastResult}}function getDependencies(funcs){var dependencies=Array.isArray(funcs[0])?funcs[0]:funcs;if(!dependencies.every((function(dep){return typeof dep==="function"}))){var dependencyTypes=dependencies.map((function(dep){return typeof dep})).join(", ");throw new Error("Selector creators expect all input-selectors to be functions, "+("instead received the following types: ["+dependencyTypes+"]"))}return dependencies}function createSelectorCreator(memoize){for(var _len=arguments.length,memoizeOptions=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){memoizeOptions[_key-1]=arguments[_key]}return function(){for(var _len2=arguments.length,funcs=Array(_len2),_key2=0;_key2<_len2;_key2++){funcs[_key2]=arguments[_key2]}var recomputations=0;var resultFunc=funcs.pop();var dependencies=getDependencies(funcs);var memoizedResultFunc=memoize.apply(undefined,[function(){recomputations++;return resultFunc.apply(null,arguments)}].concat(memoizeOptions));var selector=memoize((function(){var params=[];var length=dependencies.length;for(var i=0;i<length;i++){params.push(dependencies[i].apply(null,arguments))}return memoizedResultFunc.apply(null,params)}));selector.resultFunc=resultFunc;selector.dependencies=dependencies;selector.recomputations=function(){return recomputations};selector.resetRecomputations=function(){return recomputations=0};return selector}}var createSelector=exports.createSelector=createSelectorCreator(defaultMemoize);function createStructuredSelector(selectors){var selectorCreator=arguments.length>1&&arguments[1]!==undefined?arguments[1]:createSelector;if(typeof selectors!=="object"){throw new Error("createStructuredSelector expects first argument to be an object "+("where each property is a selector, instead received a "+typeof selectors))}var objectKeys=Object.keys(selectors);return selectorCreator(objectKeys.map((function(key){return selectors[key]})),(function(){for(var _len3=arguments.length,values=Array(_len3),_key3=0;_key3<_len3;_key3++){values[_key3]=arguments[_key3]}return values.reduce((function(composition,value,index){composition[objectKeys[index]]=value;return composition}),{})}))}},,function(module,exports,__webpack_require__){var _rng=__webpack_require__(847);var _byteToHex=[];var _hexToByte={};for(var i=0;i<256;i++){_byteToHex[i]=(i+256).toString(16).substr(1);_hexToByte[_byteToHex[i]]=i}function parse(s,buf,offset){var i=buf&&offset||0,ii=0;buf=buf||[];s.toLowerCase().replace(/[0-9a-f]{2}/g,(function(oct){if(ii<16){buf[i+ii++]=_hexToByte[oct]}}));while(ii<16){buf[i+ii++]=0}return buf}function unparse(buf,offset){var i=offset||0,bth=_byteToHex;return bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+"-"+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]}var _seedBytes=_rng();var _nodeId=[_seedBytes[0]|1,_seedBytes[1],_seedBytes[2],_seedBytes[3],_seedBytes[4],_seedBytes[5]];var _clockseq=(_seedBytes[6]<<8|_seedBytes[7])&16383;var _lastMSecs=0,_lastNSecs=0;function v1(options,buf,offset){var i=buf&&offset||0;var b=buf||[];options=options||{};var clockseq=options.clockseq!==undefined?options.clockseq:_clockseq;var msecs=options.msecs!==undefined?options.msecs:(new Date).getTime();var nsecs=options.nsecs!==undefined?options.nsecs:_lastNSecs+1;var dt=msecs-_lastMSecs+(nsecs-_lastNSecs)/1e4;if(dt<0&&options.clockseq===undefined){clockseq=clockseq+1&16383}if((dt<0||msecs>_lastMSecs)&&options.nsecs===undefined){nsecs=0}if(nsecs>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}_lastMSecs=msecs;_lastNSecs=nsecs;_clockseq=clockseq;msecs+=122192928e5;var tl=((msecs&268435455)*1e4+nsecs)%4294967296;b[i++]=tl>>>24&255;b[i++]=tl>>>16&255;b[i++]=tl>>>8&255;b[i++]=tl&255;var tmh=msecs/4294967296*1e4&268435455;b[i++]=tmh>>>8&255;b[i++]=tmh&255;b[i++]=tmh>>>24&15|16;b[i++]=tmh>>>16&255;b[i++]=clockseq>>>8|128;b[i++]=clockseq&255;var node=options.node||_nodeId;for(var n=0;n<6;n++){b[i+n]=node[n]}return buf?buf:unparse(b)}function v4(options,buf,offset){var i=buf&&offset||0;if(typeof options=="string"){buf=options=="binary"?new Array(16):null;options=null}options=options||{};var rnds=options.random||(options.rng||_rng)();rnds[6]=rnds[6]&15|64;rnds[8]=rnds[8]&63|128;if(buf){for(var ii=0;ii<16;ii++){buf[i+ii]=rnds[ii]}}return buf||unparse(rnds)}var uuid=v4;uuid.v1=v1;uuid.v4=v4;uuid.parse=parse;uuid.unparse=unparse;module.exports=uuid},function(module,exports){module.exports={}},function(module,exports,__webpack_require__){var identity=__webpack_require__(138),metaMap=__webpack_require__(280);var baseSetData=!metaMap?identity:function(func,data){metaMap.set(func,data);return func};module.exports=baseSetData},function(module,exports,__webpack_require__){var WeakMap=__webpack_require__(281);var metaMap=WeakMap&&new WeakMap;module.exports=metaMap},function(module,exports,__webpack_require__){var getNative=__webpack_require__(95),root=__webpack_require__(65);var WeakMap=getNative(root,"WeakMap");module.exports=WeakMap},function(module,exports,__webpack_require__){(function(global){var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;module.exports=freeGlobal}).call(this,__webpack_require__(64))},function(module,exports){var funcProto=Function.prototype;var funcToString=funcProto.toString;function toSource(func){if(func!=null){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}module.exports=toSource},function(module,exports,__webpack_require__){var composeArgs=__webpack_require__(285),composeArgsRight=__webpack_require__(286),countHolders=__webpack_require__(867),createCtor=__webpack_require__(140),createRecurry=__webpack_require__(287),getHolder=__webpack_require__(295),reorder=__webpack_require__(883),replaceHolders=__webpack_require__(193),root=__webpack_require__(65);var WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_FLAG=8,WRAP_CURRY_RIGHT_FLAG=16,WRAP_ARY_FLAG=128,WRAP_FLIP_FLAG=512;function createHybrid(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){var isAry=bitmask&WRAP_ARY_FLAG,isBind=bitmask&WRAP_BIND_FLAG,isBindKey=bitmask&WRAP_BIND_KEY_FLAG,isCurried=bitmask&(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG),isFlip=bitmask&WRAP_FLIP_FLAG,Ctor=isBindKey?undefined:createCtor(func);function wrapper(){var length=arguments.length,args=Array(length),index=length;while(index--){args[index]=arguments[index]}if(isCurried){var placeholder=getHolder(wrapper),holdersCount=countHolders(args,placeholder)}if(partials){args=composeArgs(args,partials,holders,isCurried)}if(partialsRight){args=composeArgsRight(args,partialsRight,holdersRight,isCurried)}length-=holdersCount;if(isCurried&&length<arity){var newHolders=replaceHolders(args,placeholder);return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,thisArg,args,newHolders,argPos,ary,arity-length)}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;length=args.length;if(argPos){args=reorder(args,argPos)}else if(isFlip&&length>1){args.reverse()}if(isAry&&ary<length){args.length=ary}if(this&&this!==root&&this instanceof wrapper){fn=Ctor||createCtor(fn)}return fn.apply(thisBinding,args)}return wrapper}module.exports=createHybrid},function(module,exports){var nativeMax=Math.max;function composeArgs(args,partials,holders,isCurried){var argsIndex=-1,argsLength=args.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(leftLength+rangeLength),isUncurried=!isCurried;while(++leftIndex<leftLength){result[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result[holders[argsIndex]]=args[argsIndex]}}while(rangeLength--){result[leftIndex++]=args[argsIndex++]}return result}module.exports=composeArgs},function(module,exports){var nativeMax=Math.max;function composeArgsRight(args,partials,holders,isCurried){var argsIndex=-1,argsLength=args.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(rangeLength+rightLength),isUncurried=!isCurried;while(++argsIndex<rangeLength){result[argsIndex]=args[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result[offset+holders[holdersIndex]]=args[argsIndex++]}}return result}module.exports=composeArgsRight},function(module,exports,__webpack_require__){var isLaziable=__webpack_require__(868),setData=__webpack_require__(290),setWrapToString=__webpack_require__(292);var WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_BOUND_FLAG=4,WRAP_CURRY_FLAG=8,WRAP_PARTIAL_FLAG=32,WRAP_PARTIAL_RIGHT_FLAG=64;function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary,arity){var isCurry=bitmask&WRAP_CURRY_FLAG,newHolders=isCurry?holders:undefined,newHoldersRight=isCurry?undefined:holders,newPartials=isCurry?partials:undefined,newPartialsRight=isCurry?undefined:partials;bitmask|=isCurry?WRAP_PARTIAL_FLAG:WRAP_PARTIAL_RIGHT_FLAG;bitmask&=~(isCurry?WRAP_PARTIAL_RIGHT_FLAG:WRAP_PARTIAL_FLAG);if(!(bitmask&WRAP_CURRY_BOUND_FLAG)){bitmask&=~(WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG)}var newData=[func,bitmask,thisArg,newPartials,newHolders,newPartialsRight,newHoldersRight,argPos,ary,arity];var result=wrapFunc.apply(undefined,newData);if(isLaziable(func)){setData(result,newData)}result.placeholder=placeholder;return setWrapToString(result,func,bitmask)}module.exports=createRecurry},function(module,exports,__webpack_require__){var metaMap=__webpack_require__(280),noop=__webpack_require__(869);var getData=!metaMap?noop:function(func){return metaMap.get(func)};module.exports=getData},function(module,exports,__webpack_require__){var baseCreate=__webpack_require__(141),baseLodash=__webpack_require__(190);function LodashWrapper(value,chainAll){this.__wrapped__=value;this.__actions__=[];this.__chain__=!!chainAll;this.__index__=0;this.__values__=undefined}LodashWrapper.prototype=baseCreate(baseLodash.prototype);LodashWrapper.prototype.constructor=LodashWrapper;module.exports=LodashWrapper},function(module,exports,__webpack_require__){var baseSetData=__webpack_require__(279),shortOut=__webpack_require__(291);var setData=shortOut(baseSetData);module.exports=setData},function(module,exports){var HOT_COUNT=800,HOT_SPAN=16;var nativeNow=Date.now;function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count>=HOT_COUNT){return arguments[0]}}else{count=0}return func.apply(undefined,arguments)}}module.exports=shortOut},function(module,exports,__webpack_require__){var getWrapDetails=__webpack_require__(874),insertWrapDetails=__webpack_require__(875),setToString=__webpack_require__(191),updateWrapDetails=__webpack_require__(878);function setWrapToString(wrapper,reference,bitmask){var source=reference+"";return setToString(wrapper,insertWrapDetails(source,updateWrapDetails(getWrapDetails(source),bitmask)))}module.exports=setWrapToString},function(module,exports,__webpack_require__){var getNative=__webpack_require__(95);var defineProperty=function(){try{var func=getNative(Object,"defineProperty");func({},"",{});return func}catch(e){}}();module.exports=defineProperty},function(module,exports,__webpack_require__){var baseIndexOf=__webpack_require__(879);function arrayIncludes(array,value){var length=array==null?0:array.length;return!!length&&baseIndexOf(array,value,0)>-1}module.exports=arrayIncludes},function(module,exports){function getHolder(func){var object=func;return object.placeholder}module.exports=getHolder},function(module,exports,__webpack_require__){var toFinite=__webpack_require__(886);function toInteger(value){var result=toFinite(value),remainder=result%1;return result===result?remainder?result-remainder:result:0}module.exports=toInteger},function(module,exports,__webpack_require__){var copyObject=__webpack_require__(111),keys=__webpack_require__(144);function baseAssign(object,source){return object&&copyObject(source,keys(source),object)}module.exports=baseAssign},function(module,exports,__webpack_require__){var baseAssignValue=__webpack_require__(194),eq=__webpack_require__(112);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function assignValue(object,key,value){var objValue=object[key];if(!(hasOwnProperty.call(object,key)&&eq(objValue,value))||value===undefined&&!(key in object)){baseAssignValue(object,key,value)}}module.exports=assignValue},function(module,exports,__webpack_require__){var baseTimes=__webpack_require__(890),isArguments=__webpack_require__(145),isArray=__webpack_require__(66),isBuffer=__webpack_require__(146),isIndex=__webpack_require__(143),isTypedArray=__webpack_require__(195);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value){if((inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex(key,length)))){result.push(key)}}return result}module.exports=arrayLikeKeys},function(module,exports,__webpack_require__){var isPrototype=__webpack_require__(198),nativeKeys=__webpack_require__(894);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function baseKeys(object){if(!isPrototype(object)){return nativeKeys(object)}var result=[];for(var key in Object(object)){if(hasOwnProperty.call(object,key)&&key!="constructor"){result.push(key)}}return result}module.exports=baseKeys},function(module,exports){function overArg(func,transform){return function(arg){return func(transform(arg))}}module.exports=overArg},function(module,exports,__webpack_require__){var Stack=__webpack_require__(149),arrayEach=__webpack_require__(192),assignValue=__webpack_require__(298),baseAssign=__webpack_require__(297),baseAssignIn=__webpack_require__(918),cloneBuffer=__webpack_require__(303),copyArray=__webpack_require__(109),copySymbols=__webpack_require__(921),copySymbolsIn=__webpack_require__(923),getAllKeys=__webpack_require__(306),getAllKeysIn=__webpack_require__(924),getTag=__webpack_require__(115),initCloneArray=__webpack_require__(928),initCloneByTag=__webpack_require__(929),initCloneObject=__webpack_require__(310),isArray=__webpack_require__(66),isBuffer=__webpack_require__(146),isMap=__webpack_require__(933),isObject=__webpack_require__(74),isSet=__webpack_require__(935),keys=__webpack_require__(144),keysIn=__webpack_require__(114);var CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4;var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=false;function baseClone(value,bitmask,customizer,key,object,stack){var result,isDeep=bitmask&CLONE_DEEP_FLAG,isFlat=bitmask&CLONE_FLAT_FLAG,isFull=bitmask&CLONE_SYMBOLS_FLAG;if(customizer){result=object?customizer(value,key,object,stack):customizer(value)}if(result!==undefined){return result}if(!isObject(value)){return value}var isArr=isArray(value);if(isArr){result=initCloneArray(value);if(!isDeep){return copyArray(value,result)}}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer(value)){return cloneBuffer(value,isDeep)}if(tag==objectTag||tag==argsTag||isFunc&&!object){result=isFlat||isFunc?{}:initCloneObject(value);if(!isDeep){return isFlat?copySymbolsIn(value,baseAssignIn(result,value)):copySymbols(value,baseAssign(result,value))}}else{if(!cloneableTags[tag]){return object?value:{}}result=initCloneByTag(value,tag,isDeep)}}stack||(stack=new Stack);var stacked=stack.get(value);if(stacked){return stacked}stack.set(value,result);if(isSet(value)){value.forEach((function(subValue){result.add(baseClone(subValue,bitmask,customizer,subValue,value,stack))}))}else if(isMap(value)){value.forEach((function(subValue,key){result.set(key,baseClone(subValue,bitmask,customizer,key,value,stack))}))}var keysFunc=isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys;var props=isArr?undefined:keysFunc(value);arrayEach(props||value,(function(subValue,key){if(props){key=subValue;subValue=value[key]}assignValue(result,key,baseClone(subValue,bitmask,customizer,key,value,stack))}));return result}module.exports=baseClone},function(module,exports,__webpack_require__){(function(module){var root=__webpack_require__(65);var freeExports=true&&exports&&!exports.nodeType&&exports;var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports;var Buffer=moduleExports?root.Buffer:undefined,allocUnsafe=Buffer?Buffer.allocUnsafe:undefined;function cloneBuffer(buffer,isDeep){if(isDeep){return buffer.slice()}var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);buffer.copy(result);return result}module.exports=cloneBuffer}).call(this,__webpack_require__(113)(module))},function(module,exports){function stubArray(){return[]}module.exports=stubArray},function(module,exports,__webpack_require__){var arrayPush=__webpack_require__(202),getPrototype=__webpack_require__(203),getSymbols=__webpack_require__(201),stubArray=__webpack_require__(304);var nativeGetSymbols=Object.getOwnPropertySymbols;var getSymbolsIn=!nativeGetSymbols?stubArray:function(object){var result=[];while(object){arrayPush(result,getSymbols(object));object=getPrototype(object)}return result};module.exports=getSymbolsIn},function(module,exports,__webpack_require__){var baseGetAllKeys=__webpack_require__(307),getSymbols=__webpack_require__(201),keys=__webpack_require__(144);function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}module.exports=getAllKeys},function(module,exports,__webpack_require__){var arrayPush=__webpack_require__(202),isArray=__webpack_require__(66);function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}module.exports=baseGetAllKeys},function(module,exports,__webpack_require__){var root=__webpack_require__(65);var Uint8Array=root.Uint8Array;module.exports=Uint8Array},function(module,exports,__webpack_require__){var cloneArrayBuffer=__webpack_require__(204);function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}module.exports=cloneTypedArray},function(module,exports,__webpack_require__){var baseCreate=__webpack_require__(141),getPrototype=__webpack_require__(203),isPrototype=__webpack_require__(198);function initCloneObject(object){return typeof object.constructor=="function"&&!isPrototype(object)?baseCreate(getPrototype(object)):{}}module.exports=initCloneObject},function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(96),getPrototype=__webpack_require__(203),isObjectLike=__webpack_require__(75);var objectTag="[object Object]";var funcProto=Function.prototype,objectProto=Object.prototype;var funcToString=funcProto.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objectCtorString=funcToString.call(Object);function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)!=objectTag){return false}var proto=getPrototype(value);if(proto===null){return true}var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}module.exports=isPlainObject},function(module,exports,__webpack_require__){var SetCache=__webpack_require__(313),arraySome=__webpack_require__(947),cacheHas=__webpack_require__(314);var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false}var arrStacked=stack.get(array);var othStacked=stack.get(other);if(arrStacked&&othStacked){return arrStacked==other&&othStacked==array}var index=-1,result=true,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:undefined;stack.set(array,other);stack.set(other,array);while(++index<arrLength){var arrValue=array[index],othValue=other[index];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack)}if(compared!==undefined){if(compared){continue}result=false;break}if(seen){if(!arraySome(other,(function(othValue,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){return seen.push(othIndex)}}))){result=false;break}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){result=false;break}}stack["delete"](array);stack["delete"](other);return result}module.exports=equalArrays},function(module,exports,__webpack_require__){var MapCache=__webpack_require__(200),setCacheAdd=__webpack_require__(945),setCacheHas=__webpack_require__(946);function SetCache(values){var index=-1,length=values==null?0:values.length;this.__data__=new MapCache;while(++index<length){this.add(values[index])}}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;module.exports=SetCache},function(module,exports){function cacheHas(cache,key){return cache.has(key)}module.exports=cacheHas},function(module,exports,__webpack_require__){var isObject=__webpack_require__(74);function isStrictComparable(value){return value===value&&!isObject(value)}module.exports=isStrictComparable},function(module,exports){function matchesStrictComparable(key,srcValue){return function(object){if(object==null){return false}return object[key]===srcValue&&(srcValue!==undefined||key in Object(object))}}module.exports=matchesStrictComparable},function(module,exports,__webpack_require__){var castPath=__webpack_require__(318),toKey=__webpack_require__(116);function baseGet(object,path){path=castPath(path,object);var index=0,length=path.length;while(object!=null&&index<length){object=object[toKey(path[index++])]}return index&&index==length?object:undefined}module.exports=baseGet},function(module,exports,__webpack_require__){var isArray=__webpack_require__(66),isKey=__webpack_require__(206),stringToPath=__webpack_require__(319),toString=__webpack_require__(320);function castPath(value,object){if(isArray(value)){return value}return isKey(value,object)?[value]:stringToPath(toString(value))}module.exports=castPath},function(module,exports,__webpack_require__){var memoizeCapped=__webpack_require__(955);var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var reEscapeChar=/\\(\\)?/g;var stringToPath=memoizeCapped((function(string){var result=[];if(string.charCodeAt(0)===46){result.push("")}string.replace(rePropName,(function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar,"$1"):number||match)}));return result}));module.exports=stringToPath},function(module,exports,__webpack_require__){var baseToString=__webpack_require__(957);function toString(value){return value==null?"":baseToString(value)}module.exports=toString},function(module,exports,__webpack_require__){var arrayPush=__webpack_require__(202),isFlattenable=__webpack_require__(967);function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;predicate||(predicate=isFlattenable);result||(result=[]);while(++index<length){var value=array[index];if(depth>0&&predicate(value)){if(depth>1){baseFlatten(value,depth-1,predicate,isStrict,result)}else{arrayPush(result,value)}}else if(!isStrict){result[result.length]=value}}return result}module.exports=baseFlatten},function(module,exports,__webpack_require__){var apply=__webpack_require__(142);var nativeMax=Math.max;function overRest(func,start,transform){start=nativeMax(start===undefined?func.length-1:start,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);while(++index<length){array[index]=args[start+index]}index=-1;var otherArgs=Array(start+1);while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=transform(array);return apply(func,this,otherArgs)}}module.exports=overRest},function(module,exports,__webpack_require__){var Stack=__webpack_require__(149),assignMergeValue=__webpack_require__(324),baseFor=__webpack_require__(971),baseMergeDeep=__webpack_require__(973),isObject=__webpack_require__(74),keysIn=__webpack_require__(114),safeGet=__webpack_require__(326);function baseMerge(object,source,srcIndex,customizer,stack){if(object===source){return}baseFor(source,(function(srcValue,key){stack||(stack=new Stack);if(isObject(srcValue)){baseMergeDeep(object,source,key,srcIndex,baseMerge,customizer,stack)}else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+"",object,source,stack):undefined;if(newValue===undefined){newValue=srcValue}assignMergeValue(object,key,newValue)}}),keysIn)}module.exports=baseMerge},function(module,exports,__webpack_require__){var baseAssignValue=__webpack_require__(194),eq=__webpack_require__(112);function assignMergeValue(object,key,value){if(value!==undefined&&!eq(object[key],value)||value===undefined&&!(key in object)){baseAssignValue(object,key,value)}}module.exports=assignMergeValue},function(module,exports,__webpack_require__){var isArrayLike=__webpack_require__(148),isObjectLike=__webpack_require__(75);function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}module.exports=isArrayLikeObject},function(module,exports){function safeGet(object,key){if(key==="constructor"&&typeof object[key]==="function"){return}if(key=="__proto__"){return}return object[key]}module.exports=safeGet},,function(module,exports,__webpack_require__){"use strict";
/*!
 * Hjson v3.2.1
 * http://hjson.org
 *
 * Copyright 2014-2017 Christian Zangl, MIT license
 * Details and documentation:
 * https://github.com/hjson/hjson-js
 *
 * This code is based on the the JSON version by Douglas Crockford:
 * https://github.com/douglascrockford/JSON-js (json_parse.js, json2.js)
 */var common=__webpack_require__(154);var version=__webpack_require__(1035);var parse=__webpack_require__(1036);var stringify=__webpack_require__(1037);var comments=__webpack_require__(1038);var dsf=__webpack_require__(209);module.exports={parse:parse,stringify:stringify,endOfLine:function(){return common.EOL},setEndOfLine:function(eol){if(eol==="\n"||eol==="\r\n")common.EOL=eol},version:version,rt:{parse:function(text,options){(options=options||{}).keepWsc=true;return parse(text,options)},stringify:function(value,options){(options=options||{}).keepWsc=true;return stringify(value,options)}},comments:comments,dsf:dsf.std}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);var _propTypes=__webpack_require__(71);var _propTypes2=_interopRequireDefault(_propTypes);var _lodash=__webpack_require__(211);var _lodash2=_interopRequireDefault(_lodash);var _classnames=__webpack_require__(62);var _classnames2=_interopRequireDefault(_classnames);var _utils=__webpack_require__(117);var _GridItem=__webpack_require__(1095);var _GridItem2=_interopRequireDefault(_GridItem);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var ReactGridLayout=function(_React$Component){_inherits(ReactGridLayout,_React$Component);function ReactGridLayout(props,context){_classCallCheck(this,ReactGridLayout);var _this=_possibleConstructorReturn(this,_React$Component.call(this,props,context));_initialiseProps.call(_this);(0,_utils.autoBindHandlers)(_this,["onDragStart","onDrag","onDragStop","onResizeStart","onResize","onResizeStop"]);return _this}ReactGridLayout.prototype.componentDidMount=function componentDidMount(){this.setState({mounted:true});this.onLayoutMaybeChanged(this.state.layout,this.props.layout)};ReactGridLayout.prototype.componentWillReceiveProps=function componentWillReceiveProps(nextProps){var newLayoutBase=void 0;if(!(0,_lodash2.default)(nextProps.layout,this.props.layout)||nextProps.compactType!==this.props.compactType){newLayoutBase=nextProps.layout}else if(!(0,_utils.childrenEqual)(this.props.children,nextProps.children)){newLayoutBase=this.state.layout}if(newLayoutBase){var newLayout=(0,_utils.synchronizeLayoutWithChildren)(newLayoutBase,nextProps.children,nextProps.cols,this.compactType(nextProps));var _oldLayout=this.state.layout;this.setState({layout:newLayout});this.onLayoutMaybeChanged(newLayout,_oldLayout)}};ReactGridLayout.prototype.containerHeight=function containerHeight(){if(!this.props.autoSize)return;var nbRow=(0,_utils.bottom)(this.state.layout);var containerPaddingY=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return nbRow*this.props.rowHeight+(nbRow-1)*this.props.margin[1]+containerPaddingY*2+"px"};ReactGridLayout.prototype.compactType=function compactType(props){if(!props)props=this.props;return props.verticalCompact===false?null:props.compactType};ReactGridLayout.prototype.onDragStart=function onDragStart(i,x,y,_ref){var e=_ref.e,node=_ref.node;var layout=this.state.layout;var l=(0,_utils.getLayoutItem)(layout,i);if(!l)return;this.setState({oldDragItem:(0,_utils.cloneLayoutItem)(l),oldLayout:this.state.layout});return this.props.onDragStart(layout,l,l,null,e,node)};ReactGridLayout.prototype.onDrag=function onDrag(i,x,y,_ref2){var e=_ref2.e,node=_ref2.node;var oldDragItem=this.state.oldDragItem;var layout=this.state.layout;var cols=this.props.cols;var l=(0,_utils.getLayoutItem)(layout,i);if(!l)return;var placeholder={w:l.w,h:l.h,x:l.x,y:l.y,placeholder:true,i:i};var isUserAction=true;layout=(0,_utils.moveElement)(layout,l,x,y,isUserAction,this.props.preventCollision,this.compactType(),cols);this.props.onDrag(layout,oldDragItem,l,placeholder,e,node);this.setState({layout:(0,_utils.compact)(layout,this.compactType(),cols),activeDrag:placeholder})};ReactGridLayout.prototype.onDragStop=function onDragStop(i,x,y,_ref3){var e=_ref3.e,node=_ref3.node;var oldDragItem=this.state.oldDragItem;var layout=this.state.layout;var _props=this.props,cols=_props.cols,preventCollision=_props.preventCollision;var l=(0,_utils.getLayoutItem)(layout,i);if(!l)return;var isUserAction=true;layout=(0,_utils.moveElement)(layout,l,x,y,isUserAction,preventCollision,this.compactType(),cols);this.props.onDragStop(layout,oldDragItem,l,null,e,node);var newLayout=(0,_utils.compact)(layout,this.compactType(),cols);var oldLayout=this.state.oldLayout;this.setState({activeDrag:null,layout:newLayout,oldDragItem:null,oldLayout:null});this.onLayoutMaybeChanged(newLayout,oldLayout)};ReactGridLayout.prototype.onLayoutMaybeChanged=function onLayoutMaybeChanged(newLayout,oldLayout){if(!oldLayout)oldLayout=this.state.layout;if(!(0,_lodash2.default)(oldLayout,newLayout)){this.props.onLayoutChange(newLayout)}};ReactGridLayout.prototype.onResizeStart=function onResizeStart(i,w,h,_ref4){var e=_ref4.e,node=_ref4.node;var layout=this.state.layout;var l=(0,_utils.getLayoutItem)(layout,i);if(!l)return;this.setState({oldResizeItem:(0,_utils.cloneLayoutItem)(l),oldLayout:this.state.layout});this.props.onResizeStart(layout,l,l,null,e,node)};ReactGridLayout.prototype.onResize=function onResize(i,w,h,_ref5){var e=_ref5.e,node=_ref5.node;var _state=this.state,layout=_state.layout,oldResizeItem=_state.oldResizeItem;var _props2=this.props,cols=_props2.cols,preventCollision=_props2.preventCollision;var l=(0,_utils.getLayoutItem)(layout,i);if(!l)return;var hasCollisions=void 0;if(preventCollision){var collisions=(0,_utils.getAllCollisions)(layout,_extends({},l,{w:w,h:h})).filter((function(layoutItem){return layoutItem.i!==l.i}));hasCollisions=collisions.length>0;if(hasCollisions){var leastX=Infinity,leastY=Infinity;collisions.forEach((function(layoutItem){if(layoutItem.x>l.x)leastX=Math.min(leastX,layoutItem.x);if(layoutItem.y>l.y)leastY=Math.min(leastY,layoutItem.y)}));if(Number.isFinite(leastX))l.w=leastX-l.x;if(Number.isFinite(leastY))l.h=leastY-l.y}}if(!hasCollisions){l.w=w;l.h=h}var placeholder={w:l.w,h:l.h,x:l.x,y:l.y,static:true,i:i};this.props.onResize(layout,oldResizeItem,l,placeholder,e,node);this.setState({layout:(0,_utils.compact)(layout,this.compactType(),cols),activeDrag:placeholder})};ReactGridLayout.prototype.onResizeStop=function onResizeStop(i,w,h,_ref6){var e=_ref6.e,node=_ref6.node;var _state2=this.state,layout=_state2.layout,oldResizeItem=_state2.oldResizeItem;var cols=this.props.cols;var l=(0,_utils.getLayoutItem)(layout,i);this.props.onResizeStop(layout,oldResizeItem,l,null,e,node);var newLayout=(0,_utils.compact)(layout,this.compactType(),cols);var oldLayout=this.state.oldLayout;this.setState({activeDrag:null,layout:newLayout,oldResizeItem:null,oldLayout:null});this.onLayoutMaybeChanged(newLayout,oldLayout)};ReactGridLayout.prototype.placeholder=function placeholder(){var activeDrag=this.state.activeDrag;if(!activeDrag)return null;var _props3=this.props,width=_props3.width,cols=_props3.cols,margin=_props3.margin,containerPadding=_props3.containerPadding,rowHeight=_props3.rowHeight,maxRows=_props3.maxRows,useCSSTransforms=_props3.useCSSTransforms;return _react2.default.createElement(_GridItem2.default,{w:activeDrag.w,h:activeDrag.h,x:activeDrag.x,y:activeDrag.y,i:activeDrag.i,className:"react-grid-placeholder",containerWidth:width,cols:cols,margin:margin,containerPadding:containerPadding||margin,maxRows:maxRows,rowHeight:rowHeight,isDraggable:false,isResizable:false,useCSSTransforms:useCSSTransforms},_react2.default.createElement("div",null))};ReactGridLayout.prototype.processGridItem=function processGridItem(child){if(!child||!child.key)return;var l=(0,_utils.getLayoutItem)(this.state.layout,String(child.key));if(!l)return null;var _props4=this.props,width=_props4.width,cols=_props4.cols,margin=_props4.margin,containerPadding=_props4.containerPadding,rowHeight=_props4.rowHeight,maxRows=_props4.maxRows,isDraggable=_props4.isDraggable,isResizable=_props4.isResizable,useCSSTransforms=_props4.useCSSTransforms,draggableCancel=_props4.draggableCancel,draggableHandle=_props4.draggableHandle;var mounted=this.state.mounted;var draggable=Boolean(!l.static&&isDraggable&&(l.isDraggable||l.isDraggable==null));var resizable=Boolean(!l.static&&isResizable&&(l.isResizable||l.isResizable==null));return _react2.default.createElement(_GridItem2.default,{containerWidth:width,cols:cols,margin:margin,containerPadding:containerPadding||margin,maxRows:maxRows,rowHeight:rowHeight,cancel:draggableCancel,handle:draggableHandle,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:draggable,isResizable:resizable,useCSSTransforms:useCSSTransforms&&mounted,usePercentages:!mounted,w:l.w,h:l.h,x:l.x,y:l.y,i:l.i,minH:l.minH,minW:l.minW,maxH:l.maxH,maxW:l.maxW,static:l.static},child)};ReactGridLayout.prototype.render=function render(){var _this2=this;var _props5=this.props,className=_props5.className,style=_props5.style;var mergedClassName=(0,_classnames2.default)("react-grid-layout",className);var mergedStyle=_extends({height:this.containerHeight()},style);return _react2.default.createElement("div",{className:mergedClassName,style:mergedStyle},_react2.default.Children.map(this.props.children,(function(child){return _this2.processGridItem(child)})),this.placeholder())};return ReactGridLayout}(_react2.default.Component);ReactGridLayout.displayName="ReactGridLayout";ReactGridLayout.propTypes={className:_propTypes2.default.string,style:_propTypes2.default.object,width:_propTypes2.default.number,autoSize:_propTypes2.default.bool,cols:_propTypes2.default.number,draggableCancel:_propTypes2.default.string,draggableHandle:_propTypes2.default.string,verticalCompact:function verticalCompact(props){if(props.verticalCompact===false&&"production"!=="production"){console.warn("`verticalCompact` on <ReactGridLayout> is deprecated and will be removed soon. "+'Use `compactType`: "horizontal" | "vertical" | null.')}},compactType:_propTypes2.default.oneOf(["vertical","horizontal"]),layout:function layout(props){var layout=props.layout;if(layout===undefined)return;(0,_utils.validateLayout)(layout,"layout")},margin:_propTypes2.default.arrayOf(_propTypes2.default.number),containerPadding:_propTypes2.default.arrayOf(_propTypes2.default.number),rowHeight:_propTypes2.default.number,maxRows:_propTypes2.default.number,isDraggable:_propTypes2.default.bool,isResizable:_propTypes2.default.bool,preventCollision:_propTypes2.default.bool,useCSSTransforms:_propTypes2.default.bool,onLayoutChange:_propTypes2.default.func,onDragStart:_propTypes2.default.func,onDrag:_propTypes2.default.func,onDragStop:_propTypes2.default.func,onResizeStart:_propTypes2.default.func,onResize:_propTypes2.default.func,onResizeStop:_propTypes2.default.func,children:function children(props,propName){var children=props[propName];var keys={};_react2.default.Children.forEach(children,(function(child){if(keys[child.key]){throw new Error('Duplicate child key "'+child.key+'" found! This will cause problems in ReactGridLayout.')}keys[child.key]=true}))}};ReactGridLayout.defaultProps={autoSize:true,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:Infinity,layout:[],margin:[10,10],isDraggable:true,isResizable:true,useCSSTransforms:true,verticalCompact:true,compactType:"vertical",preventCollision:false,onLayoutChange:_utils.noop,onDragStart:_utils.noop,onDrag:_utils.noop,onDragStop:_utils.noop,onResizeStart:_utils.noop,onResize:_utils.noop,onResizeStop:_utils.noop};var _initialiseProps=function _initialiseProps(){this.state={activeDrag:null,layout:(0,_utils.synchronizeLayoutWithChildren)(this.props.layout,this.props.children,this.props.cols,this.compactType()),mounted:false,oldDragItem:null,oldLayout:null,oldResizeItem:null}};exports.default=ReactGridLayout},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.default=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _reactDraggable=__webpack_require__(331);var _utils=__webpack_require__(1102);var _propTypes=__webpack_require__(334);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var Resizable=function(_React$Component){_inheritsLoose(Resizable,_React$Component);function Resizable(){var _this;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}_this=_React$Component.call.apply(_React$Component,[this].concat(args))||this;_defineProperty(_assertThisInitialized(_this),"state",undefined);_defineProperty(_assertThisInitialized(_this),"lastHandleRect",null);_defineProperty(_assertThisInitialized(_this),"slack",null);return _this}var _proto=Resizable.prototype;_proto.componentWillUnmount=function componentWillUnmount(){this.resetData()};_proto.lockAspectRatio=function lockAspectRatio(width,height,aspectRatio){height=width/aspectRatio;width=height*aspectRatio;return[width,height]};_proto.resetData=function resetData(){this.lastHandleRect=this.slack=null};_proto.runConstraints=function runConstraints(width,height){var _ref=[this.props.minConstraints,this.props.maxConstraints],min=_ref[0],max=_ref[1];if(!min&&!max)return[width,height];if(this.props.lockAspectRatio){var resizingHorizontally=height===this.props.height;if(resizingHorizontally){var ratio=this.props.width/this.props.height;height=width/ratio;width=height*ratio}else{var _ratio=this.props.height/this.props.width;width=height/_ratio;height=width*_ratio}}var oldW=width,oldH=height;var _ref2=this.slack||[0,0],slackW=_ref2[0],slackH=_ref2[1];width+=slackW;height+=slackH;if(min){width=Math.max(min[0],width);height=Math.max(min[1],height)}if(max){width=Math.min(max[0],width);height=Math.min(max[1],height)}this.slack=[slackW+(oldW-width),slackH+(oldH-height)];return[width,height]};_proto.resizeHandler=function resizeHandler(handlerName,axis){var _this2=this;return function(e,_ref3){var node=_ref3.node,deltaX=_ref3.deltaX,deltaY=_ref3.deltaY;if(handlerName==="onResizeStart")_this2.resetData();var canDragX=(_this2.props.axis==="both"||_this2.props.axis==="x")&&axis!=="n"&&axis!=="s";var canDragY=(_this2.props.axis==="both"||_this2.props.axis==="y")&&axis!=="e"&&axis!=="w";if(!canDragX&&!canDragY)return;var axisV=axis[0];var axisH=axis[axis.length-1];var handleRect=node.getBoundingClientRect();if(_this2.lastHandleRect!=null){if(axisH==="w"){var deltaLeftSinceLast=handleRect.left-_this2.lastHandleRect.left;deltaX+=deltaLeftSinceLast}if(axisV==="n"){var deltaTopSinceLast=handleRect.top-_this2.lastHandleRect.top;deltaY+=deltaTopSinceLast}}_this2.lastHandleRect=handleRect;if(axisH==="w")deltaX=-deltaX;if(axisV==="n")deltaY=-deltaY;var width=_this2.props.width+(canDragX?deltaX/_this2.props.transformScale:0);var height=_this2.props.height+(canDragY?deltaY/_this2.props.transformScale:0);var _this2$runConstraints=_this2.runConstraints(width,height);width=_this2$runConstraints[0];height=_this2$runConstraints[1];var dimensionsChanged=width!==_this2.props.width||height!==_this2.props.height;var cb=typeof _this2.props[handlerName]==="function"?_this2.props[handlerName]:null;var shouldSkipCb=handlerName==="onResize"&&!dimensionsChanged;if(cb&&!shouldSkipCb){if(typeof e.persist==="function")e.persist();cb(e,{node:node,size:{width:width,height:height},handle:axis})}if(handlerName==="onResizeStop")_this2.resetData()}};_proto.renderResizeHandle=function renderResizeHandle(resizeHandleAxis){var handle=this.props.handle;if(handle){if(typeof handle==="function"){return handle(resizeHandleAxis)}return handle}return _react.default.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+resizeHandleAxis})};_proto.render=function render(){var _this3=this;var _this$props=this.props,children=_this$props.children,className=_this$props.className,draggableOpts=_this$props.draggableOpts,width=_this$props.width,height=_this$props.height,handle=_this$props.handle,handleSize=_this$props.handleSize,lockAspectRatio=_this$props.lockAspectRatio,axis=_this$props.axis,minConstraints=_this$props.minConstraints,maxConstraints=_this$props.maxConstraints,onResize=_this$props.onResize,onResizeStop=_this$props.onResizeStop,onResizeStart=_this$props.onResizeStart,resizeHandles=_this$props.resizeHandles,transformScale=_this$props.transformScale,p=_objectWithoutPropertiesLoose(_this$props,["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"]);return(0,_utils.cloneElement)(children,_objectSpread(_objectSpread({},p),{},{className:(className?className+" ":"")+"react-resizable",children:[].concat(children.props.children,resizeHandles.map((function(handleAxis){return _react.default.createElement(_reactDraggable.DraggableCore,_extends({},draggableOpts,{key:"resizableHandle-"+handleAxis,onStop:_this3.resizeHandler("onResizeStop",handleAxis),onStart:_this3.resizeHandler("onResizeStart",handleAxis),onDrag:_this3.resizeHandler("onResize",handleAxis)}),_this3.renderResizeHandle(handleAxis))})))}))};return Resizable}(_react.default.Component);exports.default=Resizable;_defineProperty(Resizable,"propTypes",_propTypes.resizableProps);_defineProperty(Resizable,"defaultProps",{handleSize:[20,20],lockAspectRatio:false,axis:"both",minConstraints:[20,20],maxConstraints:[Infinity,Infinity],resizeHandles:["se"],transformScale:1})},function(module,exports,__webpack_require__){"use strict";var _require=__webpack_require__(1098),Draggable=_require.default,DraggableCore=_require.DraggableCore;module.exports=Draggable;module.exports.default=Draggable;module.exports.DraggableCore=DraggableCore},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getBoundPosition=getBoundPosition;exports.snapToGrid=snapToGrid;exports.canDragX=canDragX;exports.canDragY=canDragY;exports.getControlPosition=getControlPosition;exports.createCoreData=createCoreData;exports.createDraggableData=createDraggableData;var _shims=__webpack_require__(155);var _domFns=__webpack_require__(212);function getBoundPosition(draggable,x,y){if(!draggable.props.bounds)return[x,y];var bounds=draggable.props.bounds;bounds=typeof bounds==="string"?bounds:cloneBounds(bounds);var node=findDOMNode(draggable);if(typeof bounds==="string"){var ownerDocument=node.ownerDocument;var ownerWindow=ownerDocument.defaultView;var boundNode;if(bounds==="parent"){boundNode=node.parentNode}else{boundNode=ownerDocument.querySelector(bounds)}if(!(boundNode instanceof ownerWindow.HTMLElement)){throw new Error('Bounds selector "'+bounds+'" could not find an element.')}var boundNodeEl=boundNode;var nodeStyle=ownerWindow.getComputedStyle(node);var boundNodeStyle=ownerWindow.getComputedStyle(boundNodeEl);bounds={left:-node.offsetLeft+(0,_shims.int)(boundNodeStyle.paddingLeft)+(0,_shims.int)(nodeStyle.marginLeft),top:-node.offsetTop+(0,_shims.int)(boundNodeStyle.paddingTop)+(0,_shims.int)(nodeStyle.marginTop),right:(0,_domFns.innerWidth)(boundNodeEl)-(0,_domFns.outerWidth)(node)-node.offsetLeft+(0,_shims.int)(boundNodeStyle.paddingRight)-(0,_shims.int)(nodeStyle.marginRight),bottom:(0,_domFns.innerHeight)(boundNodeEl)-(0,_domFns.outerHeight)(node)-node.offsetTop+(0,_shims.int)(boundNodeStyle.paddingBottom)-(0,_shims.int)(nodeStyle.marginBottom)}}if((0,_shims.isNum)(bounds.right))x=Math.min(x,bounds.right);if((0,_shims.isNum)(bounds.bottom))y=Math.min(y,bounds.bottom);if((0,_shims.isNum)(bounds.left))x=Math.max(x,bounds.left);if((0,_shims.isNum)(bounds.top))y=Math.max(y,bounds.top);return[x,y]}function snapToGrid(grid,pendingX,pendingY){var x=Math.round(pendingX/grid[0])*grid[0];var y=Math.round(pendingY/grid[1])*grid[1];return[x,y]}function canDragX(draggable){return draggable.props.axis==="both"||draggable.props.axis==="x"}function canDragY(draggable){return draggable.props.axis==="both"||draggable.props.axis==="y"}function getControlPosition(e,touchIdentifier,draggableCore){var touchObj=typeof touchIdentifier==="number"?(0,_domFns.getTouch)(e,touchIdentifier):null;if(typeof touchIdentifier==="number"&&!touchObj)return null;var node=findDOMNode(draggableCore);var offsetParent=draggableCore.props.offsetParent||node.offsetParent||node.ownerDocument.body;return(0,_domFns.offsetXYFromParent)(touchObj||e,offsetParent,draggableCore.props.scale)}function createCoreData(draggable,x,y){var state=draggable.state;var isStart=!(0,_shims.isNum)(state.lastX);var node=findDOMNode(draggable);if(isStart){return{node:node,deltaX:0,deltaY:0,lastX:x,lastY:y,x:x,y:y}}else{return{node:node,deltaX:x-state.lastX,deltaY:y-state.lastY,lastX:state.lastX,lastY:state.lastY,x:x,y:y}}}function createDraggableData(draggable,coreData){var scale=draggable.props.scale;return{node:coreData.node,x:draggable.state.x+coreData.deltaX/scale,y:draggable.state.y+coreData.deltaY/scale,deltaX:coreData.deltaX/scale,deltaY:coreData.deltaY/scale,lastX:draggable.state.x,lastY:draggable.state.y}}function cloneBounds(bounds){return{left:bounds.left,top:bounds.top,right:bounds.right,bottom:bounds.bottom}}function findDOMNode(draggable){var node=draggable.findDOMNode();if(!node){throw new Error("<DraggableCore>: Unmounted during event!")}return node}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=log;function log(){var _console;if(undefined)(_console=console).log.apply(_console,arguments)}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.resizableProps=void 0;var _propTypes=_interopRequireDefault(__webpack_require__(71));var _reactDraggable=__webpack_require__(331);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var resizableProps={axis:_propTypes.default.oneOf(["both","x","y","none"]),className:_propTypes.default.string,children:_propTypes.default.element.isRequired,draggableOpts:_propTypes.default.shape({allowAnyClick:_propTypes.default.bool,cancel:_propTypes.default.string,children:_propTypes.default.node,disabled:_propTypes.default.bool,enableUserSelectHack:_propTypes.default.bool,offsetParent:_propTypes.default.node,grid:_propTypes.default.arrayOf(_propTypes.default.number),handle:_propTypes.default.string,nodeRef:_propTypes.default.object,onStart:_propTypes.default.func,onDrag:_propTypes.default.func,onStop:_propTypes.default.func,onMouseDown:_propTypes.default.func,scale:_propTypes.default.number}),height:_propTypes.default.number.isRequired,handle:_propTypes.default.oneOfType([_propTypes.default.node,_propTypes.default.func]),handleSize:_propTypes.default.arrayOf(_propTypes.default.number),lockAspectRatio:_propTypes.default.bool,maxConstraints:_propTypes.default.arrayOf(_propTypes.default.number),minConstraints:_propTypes.default.arrayOf(_propTypes.default.number),onResizeStop:_propTypes.default.func,onResizeStart:_propTypes.default.func,onResize:_propTypes.default.func,resizeHandles:_propTypes.default.arrayOf(_propTypes.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:_propTypes.default.number,width:_propTypes.default.number.isRequired};exports.resizableProps=resizableProps},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.getBreakpointFromWidth=getBreakpointFromWidth;exports.getColsFromBreakpoint=getColsFromBreakpoint;exports.findOrGenerateResponsiveLayout=findOrGenerateResponsiveLayout;exports.sortBreakpoints=sortBreakpoints;var _utils=__webpack_require__(117);function getBreakpointFromWidth(breakpoints,width){var sorted=sortBreakpoints(breakpoints);var matching=sorted[0];for(var i=1,len=sorted.length;i<len;i++){var breakpointName=sorted[i];if(width>breakpoints[breakpointName])matching=breakpointName}return matching}function getColsFromBreakpoint(breakpoint,cols){if(!cols[breakpoint]){throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+breakpoint+" is missing!")}return cols[breakpoint]}function findOrGenerateResponsiveLayout(layouts,breakpoints,breakpoint,lastBreakpoint,cols,compactType){if(layouts[breakpoint])return(0,_utils.cloneLayout)(layouts[breakpoint]);var layout=layouts[lastBreakpoint];var breakpointsSorted=sortBreakpoints(breakpoints);var breakpointsAbove=breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));for(var i=0,len=breakpointsAbove.length;i<len;i++){var b=breakpointsAbove[i];if(layouts[b]){layout=layouts[b];break}}layout=(0,_utils.cloneLayout)(layout||[]);return(0,_utils.compact)((0,_utils.correctBounds)(layout,{cols:cols}),compactType,cols)}function sortBreakpoints(breakpoints){var keys=Object.keys(breakpoints);return keys.sort((function(a,b){return breakpoints[a]-breakpoints[b]}))}},function(module,exports,__webpack_require__){"use strict";module.exports=function equal(a,b){if(a===b)return true;if(a&&b&&typeof a=="object"&&typeof b=="object"){if(a.constructor!==b.constructor)return false;var length,i,keys;if(Array.isArray(a)){length=a.length;if(length!=b.length)return false;for(i=length;i--!==0;)if(!equal(a[i],b[i]))return false;return true}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();keys=Object.keys(a);length=keys.length;if(length!==Object.keys(b).length)return false;for(i=length;i--!==0;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return false;for(i=length;i--!==0;){var key=keys[i];if(!equal(a[key],b[key]))return false}return true}return a!==a&&b!==b}},,function(module,exports,__webpack_require__){"use strict";(function(global){
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <http://feross.org>
 * @license  MIT
 */
var base64=__webpack_require__(1163);var ieee754=__webpack_require__(1164);var isArray=__webpack_require__(1165);exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;Buffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==undefined?global.TYPED_ARRAY_SUPPORT:typedArraySupport();exports.kMaxLength=kMaxLength();function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42&&typeof arr.subarray==="function"&&arr.subarray(1,1).byteLength===0}catch(e){return false}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()<length){throw new RangeError("Invalid typed array length")}if(Buffer.TYPED_ARRAY_SUPPORT){that=new Uint8Array(length);that.__proto__=Buffer.prototype}else{if(that===null){that=new Buffer(length)}that.length=length}return that}function Buffer(arg,encodingOrOffset,length){if(!Buffer.TYPED_ARRAY_SUPPORT&&!(this instanceof Buffer)){return new Buffer(arg,encodingOrOffset,length)}if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new Error("If encoding is specified then the first argument must be a string")}return allocUnsafe(this,arg)}return from(this,arg,encodingOrOffset,length)}Buffer.poolSize=8192;Buffer._augment=function(arr){arr.__proto__=Buffer.prototype;return arr};function from(that,value,encodingOrOffset,length){if(typeof value==="number"){throw new TypeError('"value" argument must not be a number')}if(typeof ArrayBuffer!=="undefined"&&value instanceof ArrayBuffer){return fromArrayBuffer(that,value,encodingOrOffset,length)}if(typeof value==="string"){return fromString(that,value,encodingOrOffset)}return fromObject(that,value)}Buffer.from=function(value,encodingOrOffset,length){return from(null,value,encodingOrOffset,length)};if(Buffer.TYPED_ARRAY_SUPPORT){Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;if(typeof Symbol!=="undefined"&&Symbol.species&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true})}}function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be a number')}else if(size<0){throw new RangeError('"size" argument must not be negative')}}function alloc(that,size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(that,size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(that,size).fill(fill,encoding):createBuffer(that,size).fill(fill)}return createBuffer(that,size)}Buffer.alloc=function(size,fill,encoding){return alloc(null,size,fill,encoding)};function allocUnsafe(that,size){assertSize(size);that=createBuffer(that,size<0?0:checked(size)|0);if(!Buffer.TYPED_ARRAY_SUPPORT){for(var i=0;i<size;++i){that[i]=0}}return that}Buffer.allocUnsafe=function(size){return allocUnsafe(null,size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(null,size)};function fromString(that,string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError('"encoding" must be a valid string encoding')}var length=byteLength(string,encoding)|0;that=createBuffer(that,length);var actual=that.write(string,encoding);if(actual!==length){that=that.slice(0,actual)}return that}function fromArrayLike(that,array){var length=array.length<0?0:checked(array.length)|0;that=createBuffer(that,length);for(var i=0;i<length;i+=1){that[i]=array[i]&255}return that}function fromArrayBuffer(that,array,byteOffset,length){array.byteLength;if(byteOffset<0||array.byteLength<byteOffset){throw new RangeError("'offset' is out of bounds")}if(array.byteLength<byteOffset+(length||0)){throw new RangeError("'length' is out of bounds")}if(byteOffset===undefined&&length===undefined){array=new Uint8Array(array)}else if(length===undefined){array=new Uint8Array(array,byteOffset)}else{array=new Uint8Array(array,byteOffset,length)}if(Buffer.TYPED_ARRAY_SUPPORT){that=array;that.__proto__=Buffer.prototype}else{that=fromArrayLike(that,array)}return that}function fromObject(that,obj){if(Buffer.isBuffer(obj)){var len=checked(obj.length)|0;that=createBuffer(that,len);if(that.length===0){return that}obj.copy(that,0,0,len);return that}if(obj){if(typeof ArrayBuffer!=="undefined"&&obj.buffer instanceof ArrayBuffer||"length"in obj){if(typeof obj.length!=="number"||isnan(obj.length)){return createBuffer(that,0)}return fromArrayLike(that,obj)}if(obj.type==="Buffer"&&isArray(obj.data)){return fromArrayLike(that,obj.data)}}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function checked(length){if(length>=kMaxLength()){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+kMaxLength().toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return!!(b!=null&&b._isBuffer)};Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError("Arguments must be Buffers")}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len;++i){if(a[i]!==b[i]){x=a[i];y=b[i];break}}if(x<y)return-1;if(y<x)return 1;return 0};Buffer.isEncoding=function isEncoding(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return true;default:return false}};Buffer.concat=function concat(list,length){if(!isArray(list)){throw new TypeError('"list" argument must be an Array of Buffers')}if(list.length===0){return Buffer.alloc(0)}var i;if(length===undefined){length=0;for(i=0;i<list.length;++i){length+=list[i].length}}var buffer=Buffer.allocUnsafe(length);var pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(!Buffer.isBuffer(buf)){throw new TypeError('"list" argument must be an Array of Buffers')}buf.copy(buffer,pos);pos+=buf.length}return buffer};function byteLength(string,encoding){if(Buffer.isBuffer(string)){return string.length}if(typeof ArrayBuffer!=="undefined"&&typeof ArrayBuffer.isView==="function"&&(ArrayBuffer.isView(string)||string instanceof ArrayBuffer)){return string.byteLength}if(typeof string!=="string"){string=""+string}var len=string.length;if(len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":case undefined:return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i<len;i+=2){swap(this,i,i+1)}return this};Buffer.prototype.swap32=function swap32(){var len=this.length;if(len%4!==0){throw new RangeError("Buffer size must be a multiple of 32-bits")}for(var i=0;i<len;i+=4){swap(this,i,i+3);swap(this,i+1,i+2)}return this};Buffer.prototype.swap64=function swap64(){var len=this.length;if(len%8!==0){throw new RangeError("Buffer size must be a multiple of 64-bits")}for(var i=0;i<len;i+=8){swap(this,i,i+7);swap(this,i+1,i+6);swap(this,i+2,i+5);swap(this,i+3,i+4)}return this};Buffer.prototype.toString=function toString(){var length=this.length|0;if(length===0)return"";if(arguments.length===0)return utf8Slice(this,0,length);return slowToString.apply(this,arguments)};Buffer.prototype.equals=function equals(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");if(this===b)return true;return Buffer.compare(this,b)===0};Buffer.prototype.inspect=function inspect(){var str="";var max=exports.INSPECT_MAX_BYTES;if(this.length>0){str=this.toString("hex",0,max).match(/.{2}/g).join(" ");if(this.length>max)str+=" ... "}return"<Buffer "+str+">"};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target)){throw new TypeError("Argument must be a Buffer")}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i<len;++i){if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i];y=targetCopy[i];break}}if(x<y)return-1;if(y<x)return 1;return 0};function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(buffer.length===0)return-1;if(typeof byteOffset==="string"){encoding=byteOffset;byteOffset=0}else if(byteOffset>2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(isNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(Buffer.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++){if(read(arr,i)===read(val,foundIndex===-1?0:i-foundIndex)){if(foundIndex===-1)foundIndex=i;if(i-foundIndex+1===valLength)return foundIndex*indexSize}else{if(foundIndex!==-1)i-=i-foundIndex;foundIndex=-1}}}else{if(byteOffset+valLength>arrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;j<valLength;j++){if(read(arr,i+j)!==read(val,j)){found=false;break}}if(found)return i}}return-1}Buffer.prototype.includes=function includes(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1};Buffer.prototype.indexOf=function indexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,true)};Buffer.prototype.lastIndexOf=function lastIndexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,false)};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;if(!length){length=remaining}else{length=Number(length);if(length>remaining){length=remaining}}var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;i<length;++i){var parsed=parseInt(string.substr(i*2,2),16);if(isNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length)}Buffer.prototype.write=function write(string,offset,length,encoding){if(offset===undefined){encoding="utf8";length=this.length;offset=0}else if(length===undefined&&typeof offset==="string"){encoding=offset;length=this.length;offset=0}else if(isFinite(offset)){offset=offset|0;if(isFinite(length)){length=length|0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i<end){var firstByte=buf[i];var codePoint=null;var bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(i<len){res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=MAX_ARGUMENTS_LENGTH))}return res}function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i]&127)}return ret}function latin1Slice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i])}return ret}function hexSlice(buf,start,end){var len=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len)end=len;var out="";for(var i=start;i<end;++i){out+=toHex(buf[i])}return out}function utf16leSlice(buf,start,end){var bytes=buf.slice(start,end);var res="";for(var i=0;i<bytes.length;i+=2){res+=String.fromCharCode(bytes[i]+bytes[i+1]*256)}return res}Buffer.prototype.slice=function slice(start,end){var len=this.length;start=~~start;end=end===undefined?len:~~end;if(start<0){start+=len;if(start<0)start=0}else if(start>len){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(end<start)end=start;var newBuf;if(Buffer.TYPED_ARRAY_SUPPORT){newBuf=this.subarray(start,end);newBuf.__proto__=Buffer.prototype}else{var sliceLen=end-start;newBuf=new Buffer(sliceLen,undefined);for(var i=0;i<sliceLen;++i){newBuf[i]=this[i+start]}}return newBuf};function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw new RangeError("offset is not uint");if(offset+ext>length)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=256)){val+=this[offset+i]*mul}return val};Buffer.prototype.readUIntBE=function readUIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=256)){val+=this[offset+i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i<byteLength&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUIntBE=function writeUIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,255,0);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);this[offset]=value&255;return offset+1};function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=65535+value+1;for(var i=0,j=Math.min(buf.length-offset,2);i<j;++i){buf[offset+i]=(value&255<<8*(littleEndian?i:1-i))>>>(littleEndian?i:1-i)*8}}Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=4294967295+value+1;for(var i=0,j=Math.min(buf.length-offset,4);i<j;++i){buf[offset+i]=value>>>(littleEndian?i:3-i)*8&255}}Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i<byteLength&&(mul*=256)){if(value<0&&sub===0&&this[offset+i-1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end<start)end=start;if(end===start)return 0;if(target.length===0||this.length===0)return 0;if(targetStart<0){throw new RangeError("targetStart out of bounds")}if(start<0||start>=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart<end-start){end=target.length-targetStart+start}var len=end-start;var i;if(this===target&&start<targetStart&&targetStart<end){for(i=len-1;i>=0;--i){target[i+targetStart]=this[i+start]}}else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT){for(i=0;i<len;++i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,start+len),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(val.length===1){var code=val.charCodeAt(0);if(code<256){val=code}}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}}else if(typeof val==="number"){val=val&255}if(start<0||this.length<start||this.length<end){throw new RangeError("Out of range index")}if(end<=start){return this}start=start>>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i<end;++i){this[i]=val}}else{var bytes=Buffer.isBuffer(val)?val:utf8ToBytes(new Buffer(val,encoding).toString());var len=bytes.length;for(i=0;i<end-start;++i){this[i+start]=bytes[i%len]}}return this};var INVALID_BASE64_RE=/[^+\/0-9A-Za-z-_]/g;function base64clean(str){str=stringtrim(str).replace(INVALID_BASE64_RE,"");if(str.length<2)return"";while(str.length%4!==0){str=str+"="}return str}function stringtrim(str){if(str.trim)return str.trim();return str.replace(/^\s+|\s+$/g,"")}function toHex(n){if(n<16)return"0"+n.toString(16);return n.toString(16)}function utf8ToBytes(string,units){units=units||Infinity;var codePoint;var length=string.length;var leadSurrogate=null;var bytes=[];for(var i=0;i<length;++i){codePoint=string.charCodeAt(i);if(codePoint>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i<str.length;++i){byteArray.push(str.charCodeAt(i)&255)}return byteArray}function utf16leToBytes(str,units){var c,hi,lo;var byteArray=[];for(var i=0;i<str.length;++i){if((units-=2)<0)break;c=str.charCodeAt(i);hi=c>>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length;++i){if(i+offset>=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isnan(val){return val!==val}}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){(function(module,global){var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */(function(root){var freeExports=true&&exports&&!exports.nodeType&&exports;var freeModule=true&&module&&!module.nodeType&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal){root=freeGlobal}var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw new RangeError(errors[type])}function map(array,fn){var length=array.length;var result=[];while(length--){result[length]=fn(array[length])}return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter<length){value=string.charCodeAt(counter++);if(value>=55296&&value<=56319&&counter<length){extra=string.charCodeAt(counter++);if((extra&64512)==56320){output.push(((value&1023)<<10)+(extra&1023)+65536)}else{output.push(value);counter--}}else{output.push(value)}}return output}function ucs2encode(array){return map(array,(function(value){var output="";if(value>65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output})).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j<basic;++j){if(input.charCodeAt(j)>=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;;k+=base){if(index>=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digit<t){break}baseMinusT=base-t;if(w>floor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<128){output.push(stringFromCharCode(currentValue))}}handledCPCount=basicLength=output.length;if(basicLength){output.push(delimiter)}while(handledCPCount<inputLength){for(m=maxInt,j=0;j<inputLength;++j){currentValue=input[j];if(currentValue>=n&&currentValue<m){m=currentValue}}handledCPCountPlusOne=handledCPCount+1;if(m-n>floor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<n&&++delta>maxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q<t){break}qMinusT=q-t;baseMinusT=base-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0)));q=floor(qMinusT/baseMinusT)}output.push(stringFromCharCode(digitToBasic(q,0)));bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength);delta=0;++handledCPCount}}++delta;++n}return output.join("")}function toUnicode(input){return mapDomain(input,(function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string}))}function toASCII(input){return mapDomain(input,(function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string}))}punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode};if(true){!(__WEBPACK_AMD_DEFINE_RESULT__=function(){return punycode}.call(exports,__webpack_require__,exports,module),__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}else{}})(this)}).call(this,__webpack_require__(113)(module),__webpack_require__(64))},,,,function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(344),isObject=__webpack_require__(103);var asyncTag="[object AsyncFunction]",funcTag="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(value){if(!isObject(value)){return false}var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}module.exports=isFunction},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(221),getRawTag=__webpack_require__(1226),objectToString=__webpack_require__(1227);var nullTag="[object Null]",undefinedTag="[object Undefined]";var symToStringTag=Symbol?Symbol.toStringTag:undefined;function baseGetTag(value){if(value==null){return value===undefined?undefinedTag:nullTag}return symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value)}module.exports=baseGetTag},function(module,exports){function eq(value,other){return value===other||value!==value&&other!==other}module.exports=eq},function(module,exports,__webpack_require__){var rng=__webpack_require__(347);var bytesToUuid=__webpack_require__(348);function v4(options,buf,offset){var i=buf&&offset||0;if(typeof options=="string"){buf=options==="binary"?new Array(16):null;options=null}options=options||{};var rnds=options.random||(options.rng||rng)();rnds[6]=rnds[6]&15|64;rnds[8]=rnds[8]&63|128;if(buf){for(var ii=0;ii<16;++ii){buf[i+ii]=rnds[ii]}}return buf||bytesToUuid(rnds)}module.exports=v4},function(module,exports){var getRandomValues=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof window.msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto);if(getRandomValues){var rnds8=new Uint8Array(16);module.exports=function whatwgRNG(){getRandomValues(rnds8);return rnds8}}else{var rnds=new Array(16);module.exports=function mathRNG(){for(var i=0,r;i<16;i++){if((i&3)===0)r=Math.random()*4294967296;rnds[i]=r>>>((i&3)<<3)&255}return rnds}}},function(module,exports){var byteToHex=[];for(var i=0;i<256;++i){byteToHex[i]=(i+256).toString(16).substr(1)}function bytesToUuid(buf,offset){var i=offset||0;var bth=byteToHex;return[bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],"-",bth[buf[i++]],bth[buf[i++]],"-",bth[buf[i++]],bth[buf[i++]],"-",bth[buf[i++]],bth[buf[i++]],"-",bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],bth[buf[i++]]].join("")}module.exports=bytesToUuid},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Source=void 0;const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const syntax_highlighter_1=__importDefault(__webpack_require__(1303));class BareSource extends React.Component{render(){if(typeof this.props.children==="string"){return React.createElement(syntax_highlighter_1.default,{language:this.props.language||"text",className:this.props.className||"input"},this.props.children)}return React.createElement("div",{className:this.props.className},this.props.children)}}BareSource.defaultProps={children:"",language:"text",className:"input",theme:"light"};exports.Source=styled_components_1.default(BareSource)`
  width: 100%;
  width: -webkit-fill-available;
  width: -moz-available;
`;exports.Source.defaultProps={children:"",language:"text",className:"input",theme:"light"};exports.Source.displayName="Source";exports.default=exports.Source},function(module,exports){function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}module.exports=_arrayLikeToArray;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){var defineProperty=__webpack_require__(352);function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?Object(arguments[i]):{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys.push.apply(ownKeys,Object.getOwnPropertySymbols(source).filter((function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable})))}ownKeys.forEach((function(key){defineProperty(target,key,source[key])}))}return target}module.exports=_objectSpread;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}module.exports=_defineProperty;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.createStyleObject=createStyleObject;exports.createClassNameString=createClassNameString;exports.createChildren=createChildren;exports.default=createElement;var _extends2=_interopRequireDefault(__webpack_require__(354));var _objectSpread2=_interopRequireDefault(__webpack_require__(351));var _react=_interopRequireDefault(__webpack_require__(35));function powerSetPermutations(arr){var arrLength=arr.length;if(arrLength===0||arrLength===1)return arr;if(arrLength===2){return[arr[0],arr[1],"".concat(arr[0],".").concat(arr[1]),"".concat(arr[1],".").concat(arr[0])]}if(arrLength===3){return[arr[0],arr[1],arr[2],"".concat(arr[0],".").concat(arr[1]),"".concat(arr[0],".").concat(arr[2]),"".concat(arr[1],".").concat(arr[0]),"".concat(arr[1],".").concat(arr[2]),"".concat(arr[2],".").concat(arr[0]),"".concat(arr[2],".").concat(arr[1]),"".concat(arr[0],".").concat(arr[1],".").concat(arr[2]),"".concat(arr[0],".").concat(arr[2],".").concat(arr[1]),"".concat(arr[1],".").concat(arr[0],".").concat(arr[2]),"".concat(arr[1],".").concat(arr[2],".").concat(arr[0]),"".concat(arr[2],".").concat(arr[0],".").concat(arr[1]),"".concat(arr[2],".").concat(arr[1],".").concat(arr[0])]}if(arrLength>=4){return[arr[0],arr[1],arr[2],arr[3],"".concat(arr[0],".").concat(arr[1]),"".concat(arr[0],".").concat(arr[2]),"".concat(arr[0],".").concat(arr[3]),"".concat(arr[1],".").concat(arr[0]),"".concat(arr[1],".").concat(arr[2]),"".concat(arr[1],".").concat(arr[3]),"".concat(arr[2],".").concat(arr[0]),"".concat(arr[2],".").concat(arr[1]),"".concat(arr[2],".").concat(arr[3]),"".concat(arr[3],".").concat(arr[0]),"".concat(arr[3],".").concat(arr[1]),"".concat(arr[3],".").concat(arr[2]),"".concat(arr[0],".").concat(arr[1],".").concat(arr[2]),"".concat(arr[0],".").concat(arr[1],".").concat(arr[3]),"".concat(arr[0],".").concat(arr[2],".").concat(arr[1]),"".concat(arr[0],".").concat(arr[2],".").concat(arr[3]),"".concat(arr[0],".").concat(arr[3],".").concat(arr[1]),"".concat(arr[0],".").concat(arr[3],".").concat(arr[2]),"".concat(arr[1],".").concat(arr[0],".").concat(arr[2]),"".concat(arr[1],".").concat(arr[0],".").concat(arr[3]),"".concat(arr[1],".").concat(arr[2],".").concat(arr[0]),"".concat(arr[1],".").concat(arr[2],".").concat(arr[3]),"".concat(arr[1],".").concat(arr[3],".").concat(arr[0]),"".concat(arr[1],".").concat(arr[3],".").concat(arr[2]),"".concat(arr[2],".").concat(arr[0],".").concat(arr[1]),"".concat(arr[2],".").concat(arr[0],".").concat(arr[3]),"".concat(arr[2],".").concat(arr[1],".").concat(arr[0]),"".concat(arr[2],".").concat(arr[1],".").concat(arr[3]),"".concat(arr[2],".").concat(arr[3],".").concat(arr[0]),"".concat(arr[2],".").concat(arr[3],".").concat(arr[1]),"".concat(arr[3],".").concat(arr[0],".").concat(arr[1]),"".concat(arr[3],".").concat(arr[0],".").concat(arr[2]),"".concat(arr[3],".").concat(arr[1],".").concat(arr[0]),"".concat(arr[3],".").concat(arr[1],".").concat(arr[2]),"".concat(arr[3],".").concat(arr[2],".").concat(arr[0]),"".concat(arr[3],".").concat(arr[2],".").concat(arr[1]),"".concat(arr[0],".").concat(arr[1],".").concat(arr[2],".").concat(arr[3]),"".concat(arr[0],".").concat(arr[1],".").concat(arr[3],".").concat(arr[2]),"".concat(arr[0],".").concat(arr[2],".").concat(arr[1],".").concat(arr[3]),"".concat(arr[0],".").concat(arr[2],".").concat(arr[3],".").concat(arr[1]),"".concat(arr[0],".").concat(arr[3],".").concat(arr[1],".").concat(arr[2]),"".concat(arr[0],".").concat(arr[3],".").concat(arr[2],".").concat(arr[1]),"".concat(arr[1],".").concat(arr[0],".").concat(arr[2],".").concat(arr[3]),"".concat(arr[1],".").concat(arr[0],".").concat(arr[3],".").concat(arr[2]),"".concat(arr[1],".").concat(arr[2],".").concat(arr[0],".").concat(arr[3]),"".concat(arr[1],".").concat(arr[2],".").concat(arr[3],".").concat(arr[0]),"".concat(arr[1],".").concat(arr[3],".").concat(arr[0],".").concat(arr[2]),"".concat(arr[1],".").concat(arr[3],".").concat(arr[2],".").concat(arr[0]),"".concat(arr[2],".").concat(arr[0],".").concat(arr[1],".").concat(arr[3]),"".concat(arr[2],".").concat(arr[0],".").concat(arr[3],".").concat(arr[1]),"".concat(arr[2],".").concat(arr[1],".").concat(arr[0],".").concat(arr[3]),"".concat(arr[2],".").concat(arr[1],".").concat(arr[3],".").concat(arr[0]),"".concat(arr[2],".").concat(arr[3],".").concat(arr[0],".").concat(arr[1]),"".concat(arr[2],".").concat(arr[3],".").concat(arr[1],".").concat(arr[0]),"".concat(arr[3],".").concat(arr[0],".").concat(arr[1],".").concat(arr[2]),"".concat(arr[3],".").concat(arr[0],".").concat(arr[2],".").concat(arr[1]),"".concat(arr[3],".").concat(arr[1],".").concat(arr[0],".").concat(arr[2]),"".concat(arr[3],".").concat(arr[1],".").concat(arr[2],".").concat(arr[0]),"".concat(arr[3],".").concat(arr[2],".").concat(arr[0],".").concat(arr[1]),"".concat(arr[3],".").concat(arr[2],".").concat(arr[1],".").concat(arr[0])]}}var classNameCombinations={};function getClassNameCombinations(classNames){if(classNames.length===0||classNames.length===1)return classNames;var key=classNames.join(".");if(!classNameCombinations[key]){classNameCombinations[key]=powerSetPermutations(classNames)}return classNameCombinations[key]}function createStyleObject(classNames){var elementStyle=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var stylesheet=arguments.length>2?arguments[2]:undefined;var nonTokenClassNames=classNames.filter((function(className){return className!=="token"}));var classNamesCombinations=getClassNameCombinations(nonTokenClassNames);return classNamesCombinations.reduce((function(styleObject,className){return(0,_objectSpread2.default)({},styleObject,stylesheet[className])}),elementStyle)}function createClassNameString(classNames){return classNames.join(" ")}function createChildren(stylesheet,useInlineStyles){var childrenCount=0;return function(children){childrenCount+=1;return children.map((function(child,i){return createElement({node:child,stylesheet:stylesheet,useInlineStyles:useInlineStyles,key:"code-segment-".concat(childrenCount,"-").concat(i)})}))}}function createElement(_ref){var node=_ref.node,stylesheet=_ref.stylesheet,_ref$style=_ref.style,style=_ref$style===void 0?{}:_ref$style,useInlineStyles=_ref.useInlineStyles,key=_ref.key;var properties=node.properties,type=node.type,TagName=node.tagName,value=node.value;if(type==="text"){return value}else if(TagName){var childrenCreator=createChildren(stylesheet,useInlineStyles);var props;if(!useInlineStyles){props=(0,_objectSpread2.default)({},properties,{className:createClassNameString(properties.className)})}else{var allStylesheetSelectors=Object.keys(stylesheet).reduce((function(classes,selector){selector.split(".").forEach((function(className){if(!classes.includes(className))classes.push(className)}));return classes}),[]);var startingClassName=properties.className&&properties.className.includes("token")?["token"]:[];var className=properties.className&&startingClassName.concat(properties.className.filter((function(className){return!allStylesheetSelectors.includes(className)})));props=(0,_objectSpread2.default)({},properties,{className:createClassNameString(className)||undefined,style:createStyleObject(properties.className,Object.assign({},properties.style,style),stylesheet)})}var children=childrenCreator(node.children);return _react.default.createElement(TagName,(0,_extends2.default)({key:key},props),children)}}},function(module,exports){function _extends(){module.exports=_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};module.exports["default"]=module.exports,module.exports.__esModule=true;return _extends.apply(this,arguments)}module.exports=_extends;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default=function _default(astGenerator,language){var langs=astGenerator.listLanguages();return langs.indexOf(language)!==-1};exports.default=_default},function(module,exports){function _1c(hljs){var UNDERSCORE_IDENT_RE="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+";var v7_keywords="далее ";var v8_keywords="возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли "+"конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ";var KEYWORD=v7_keywords+v8_keywords;var v7_meta_keywords="загрузитьизфайла ";var v8_meta_keywords="вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер "+"наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед "+"после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ";var METAKEYWORD=v7_meta_keywords+v8_meta_keywords;var v7_system_constants="разделительстраниц разделительстрок символтабуляции ";var v7_global_context_methods="ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов "+"датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя "+"кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца "+"коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид "+"назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца "+"начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов "+"основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута "+"получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта "+"префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына "+"рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента "+"счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ";var v8_global_context_methods="acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока "+"xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение "+"ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации "+"выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода "+"деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы "+"загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации "+"заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию "+"значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла "+"изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке "+"каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку "+"кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты "+"конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы "+"копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти "+"найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы "+"началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя "+"начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты "+"начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов "+"начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя "+"начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога "+"начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией "+"начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы "+"номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения "+"обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении "+"отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения "+"открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально "+"отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа "+"перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту "+"подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения "+"подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки "+"показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение "+"показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя "+"получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса "+"получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора "+"получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса "+"получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации "+"получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла "+"получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации "+"получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления "+"получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу "+"получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы "+"получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет "+"получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима "+"получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения "+"получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути "+"получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы "+"получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю "+"получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных "+"получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию "+"получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище "+"поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода "+"представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение "+"прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока "+"рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных "+"раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени "+"смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить "+"состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс "+"строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений "+"стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах "+"текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации "+"текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы "+"удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим "+"установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту "+"установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных "+"установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации "+"установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения "+"установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования "+"установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима "+"установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим "+"установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией "+"установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы "+"установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса "+"формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ";var v8_global_context_property="wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы "+"внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль "+"документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты "+"историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений "+"отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик "+"планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок "+"рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений "+"регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа "+"средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек "+"хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков "+"хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ";var BUILTIN=v7_system_constants+v7_global_context_methods+v8_global_context_methods+v8_global_context_property;var v8_system_sets_of_values="webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ";var v8_system_enums_interface="автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий "+"анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы "+"вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы "+"виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя "+"видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение "+"горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы "+"группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания "+"интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки "+"используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы "+"источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева "+"начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы "+"ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме "+"отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы "+"отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы "+"отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы "+"отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска "+"отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования "+"отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта "+"отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы "+"поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы "+"поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы "+"положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы "+"положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы "+"положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском "+"положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы "+"размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта "+"режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты "+"режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения "+"режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра "+"режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения "+"режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы "+"режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки "+"режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание "+"сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы "+"способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление "+"статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы "+"типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы "+"типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления "+"типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы "+"типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы "+"типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений "+"типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы "+"типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы "+"типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы "+"факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени "+"форматкартинки ширинаподчиненныхэлементовформы ";var v8_system_enums_objects_properties="виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса "+"использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения "+"использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ";var v8_system_enums_exchange_plans="авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ";var v8_system_enums_tabular_document="использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы "+"положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента "+"способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента "+"типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента "+"типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы "+"типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента "+"типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ";var v8_system_enums_sheduler="отображениевремениэлементовпланировщика ";var v8_system_enums_formatted_document="типфайлаформатированногодокумента ";var v8_system_enums_query="обходрезультатазапроса типзаписизапроса ";var v8_system_enums_report_builder="видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ";var v8_system_enums_files="доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ";var v8_system_enums_query_builder="типизмеренияпостроителязапроса ";var v8_system_enums_data_analysis="видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных "+"типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений "+"типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций "+"типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных "+"типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных "+"типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ";var v8_system_enums_xml_json_xs_dom_xdto_ws="wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto "+"действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs "+"исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs "+"методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs "+"ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson "+"типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs "+"форматдатыjson экранированиесимволовjson ";var v8_system_enums_data_composition_system="видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных "+"расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных "+"расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных "+"расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных "+"типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных "+"типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных "+"типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных "+"расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных "+"режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных "+"режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных "+"вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных "+"использованиеусловногооформлениякомпоновкиданных ";var v8_system_enums_email="важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения "+"способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты "+"статусразборапочтовогосообщения ";var v8_system_enums_logbook="режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ";var v8_system_enums_cryptography="расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии "+"типхранилищасертификатовкриптографии ";var v8_system_enums_zip="кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip "+"режимсохраненияпутейzip уровеньсжатияzip ";var v8_system_enums_other="звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных "+"сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ";var v8_system_enums_request_schema="направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса "+"типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ";var v8_system_enums_properties_of_metadata_objects="httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления "+"видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование "+"использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения "+"использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита "+"назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных "+"оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи "+"основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении "+"периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений "+"повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение "+"разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита "+"режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности "+"режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов "+"режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса "+"режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов "+"сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования "+"типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса "+"типномерадокумента типномеразадачи типформы удалениедвижений ";var v8_system_enums_differents="важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения "+"вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки "+"видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак "+"использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога "+"кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных "+"отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения "+"режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных "+"способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter "+"типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты";var CLASS=v8_system_sets_of_values+v8_system_enums_interface+v8_system_enums_objects_properties+v8_system_enums_exchange_plans+v8_system_enums_tabular_document+v8_system_enums_sheduler+v8_system_enums_formatted_document+v8_system_enums_query+v8_system_enums_report_builder+v8_system_enums_files+v8_system_enums_query_builder+v8_system_enums_data_analysis+v8_system_enums_xml_json_xs_dom_xdto_ws+v8_system_enums_data_composition_system+v8_system_enums_email+v8_system_enums_logbook+v8_system_enums_cryptography+v8_system_enums_zip+v8_system_enums_other+v8_system_enums_request_schema+v8_system_enums_properties_of_metadata_objects+v8_system_enums_differents;var v8_shared_object="comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs "+"блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема "+"географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма "+"диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания "+"диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление "+"записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom "+"запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта "+"интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs "+"использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных "+"итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла "+"компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных "+"конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных "+"макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson "+"обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs "+"объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации "+"описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных "+"описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs "+"определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom "+"определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных "+"параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных "+"полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных "+"построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml "+"процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент "+"процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml "+"результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto "+"сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows "+"сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш "+"сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент "+"текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток "+"фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs "+"фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs "+"фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs "+"фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент "+"фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла "+"чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ";var v8_universal_collection="comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура "+"фиксированноесоответствие фиксированныймассив ";var TYPE=v8_shared_object+v8_universal_collection;var LITERAL="null истина ложь неопределено";var NUMBERS=hljs.inherit(hljs.NUMBER_MODE);var STRINGS={className:"string",begin:'"|\\|',end:'"|$',contains:[{begin:'""'}]};var DATE={begin:"'",end:"'",excludeBegin:true,excludeEnd:true,contains:[{className:"number",begin:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]};var COMMENTS=hljs.inherit(hljs.C_LINE_COMMENT_MODE);var META={className:"meta",begin:"#|&",end:"$",keywords:{$pattern:UNDERSCORE_IDENT_RE,"meta-keyword":KEYWORD+METAKEYWORD},contains:[COMMENTS]};var SYMBOL={className:"symbol",begin:"~",end:";|:",excludeEnd:true};var FUNCTION={className:"function",variants:[{begin:"процедура|функция",end:"\\)",keywords:"процедура функция"},{begin:"конецпроцедуры|конецфункции",keywords:"конецпроцедуры конецфункции"}],contains:[{begin:"\\(",end:"\\)",endsParent:true,contains:[{className:"params",begin:UNDERSCORE_IDENT_RE,end:",",excludeEnd:true,endsWithParent:true,keywords:{$pattern:UNDERSCORE_IDENT_RE,keyword:"знач",literal:LITERAL},contains:[NUMBERS,STRINGS,DATE]},COMMENTS]},hljs.inherit(hljs.TITLE_MODE,{begin:UNDERSCORE_IDENT_RE})]};return{name:"1C:Enterprise",case_insensitive:true,keywords:{$pattern:UNDERSCORE_IDENT_RE,keyword:KEYWORD,built_in:BUILTIN,class:CLASS,type:TYPE,literal:LITERAL},contains:[META,FUNCTION,COMMENTS,SYMBOL,NUMBERS,STRINGS,DATE]}}module.exports=_1c},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function abnf(hljs){const regexes={ruleDeclaration:/^[a-zA-Z][a-zA-Z0-9-]*/,unexpectedChars:/[!@#$^&',?+~`|:]/};const keywords=["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"];const commentMode=hljs.COMMENT(/;/,/$/);const terminalBinaryMode={className:"symbol",begin:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/};const terminalDecimalMode={className:"symbol",begin:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/};const terminalHexadecimalMode={className:"symbol",begin:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/};const caseSensitivityIndicatorMode={className:"symbol",begin:/%[si]/};const ruleDeclarationMode={className:"attribute",begin:concat(regexes.ruleDeclaration,/(?=\s*=)/)};return{name:"Augmented Backus-Naur Form",illegal:regexes.unexpectedChars,keywords:keywords,contains:[ruleDeclarationMode,commentMode,terminalBinaryMode,terminalDecimalMode,terminalHexadecimalMode,caseSensitivityIndicatorMode,hljs.QUOTE_STRING_MODE,hljs.NUMBER_MODE]}}module.exports=abnf},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function accesslog(_hljs){const HTTP_VERBS=["GET","POST","HEAD","PUT","DELETE","CONNECT","OPTIONS","PATCH","TRACE"];return{name:"Apache Access Log",contains:[{className:"number",begin:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?\b/,relevance:5},{className:"number",begin:/\b\d+\b/,relevance:0},{className:"string",begin:concat(/"/,either(...HTTP_VERBS)),end:/"/,keywords:HTTP_VERBS,illegal:/\n/,relevance:5,contains:[{begin:/HTTP\/[12]\.\d'/,relevance:5}]},{className:"string",begin:/\[\d[^\]\n]{8,}\]/,illegal:/\n/,relevance:1},{className:"string",begin:/\[/,end:/\]/,illegal:/\n/,relevance:0},{className:"string",begin:/"Mozilla\/\d\.\d \(/,end:/"/,illegal:/\n/,relevance:3},{className:"string",begin:/"/,end:/"/,illegal:/\n/,relevance:0}]}}module.exports=accesslog},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function actionscript(hljs){const IDENT_RE=/[a-zA-Z_$][a-zA-Z0-9_$]*/;const IDENT_FUNC_RETURN_TYPE_RE=/([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/;const AS3_REST_ARG_MODE={className:"rest_arg",begin:/[.]{3}/,end:IDENT_RE,relevance:10};return{name:"ActionScript",aliases:["as"],keywords:{keyword:"as break case catch class const continue default delete do dynamic each "+"else extends final finally for function get if implements import in include "+"instanceof interface internal is namespace native new override package private "+"protected public return set static super switch this throw try typeof use var void "+"while with",literal:"true false null undefined"},contains:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.C_NUMBER_MODE,{className:"class",beginKeywords:"package",end:/\{/,contains:[hljs.TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:true,contains:[{beginKeywords:"extends implements"},hljs.TITLE_MODE]},{className:"meta",beginKeywords:"import include",end:/;/,keywords:{"meta-keyword":"import include"}},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:true,illegal:/\S/,contains:[hljs.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,contains:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,AS3_REST_ARG_MODE]},{begin:concat(/:\s*/,IDENT_FUNC_RETURN_TYPE_RE)}]},hljs.METHOD_GUARD],illegal:/#/}}module.exports=actionscript},function(module,exports){function ada(hljs){const INTEGER_RE="\\d(_|\\d)*";const EXPONENT_RE="[eE][-+]?"+INTEGER_RE;const DECIMAL_LITERAL_RE=INTEGER_RE+"(\\."+INTEGER_RE+")?"+"("+EXPONENT_RE+")?";const BASED_INTEGER_RE="\\w+";const BASED_LITERAL_RE=INTEGER_RE+"#"+BASED_INTEGER_RE+"(\\."+BASED_INTEGER_RE+")?"+"#"+"("+EXPONENT_RE+")?";const NUMBER_RE="\\b("+BASED_LITERAL_RE+"|"+DECIMAL_LITERAL_RE+")";const ID_REGEX="[A-Za-z](_?[A-Za-z0-9.])*";const BAD_CHARS=`[]\\{\\}%#'"`;const COMMENTS=hljs.COMMENT("--","$");const VAR_DECLS={begin:"\\s+:\\s+",end:"\\s*(:=|;|\\)|=>|$)",illegal:BAD_CHARS,contains:[{beginKeywords:"loop for declare others",endsParent:true},{className:"keyword",beginKeywords:"not null constant access function procedure in out aliased exception"},{className:"type",begin:ID_REGEX,endsParent:true,relevance:0}]};return{name:"Ada",case_insensitive:true,keywords:{keyword:"abort else new return abs elsif not reverse abstract end "+"accept entry select access exception of separate aliased exit or some "+"all others subtype and for out synchronized array function overriding "+"at tagged generic package task begin goto pragma terminate "+"body private then if procedure type case in protected constant interface "+"is raise use declare range delay limited record when delta loop rem while "+"digits renames with do mod requeue xor",literal:"True False"},contains:[COMMENTS,{className:"string",begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{className:"string",begin:/'.'/},{className:"number",begin:NUMBER_RE,relevance:0},{className:"symbol",begin:"'"+ID_REGEX},{className:"title",begin:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",end:"(is|$)",keywords:"package body",excludeBegin:true,excludeEnd:true,illegal:BAD_CHARS},{begin:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",end:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",keywords:"overriding function procedure with is renames return",returnBegin:true,contains:[COMMENTS,{className:"title",begin:"(\\bwith\\s+)?\\b(function|procedure)\\s+",end:"(\\(|\\s+|$)",excludeBegin:true,excludeEnd:true,illegal:BAD_CHARS},VAR_DECLS,{className:"type",begin:"\\breturn\\s+",end:"(\\s+|;|$)",keywords:"return",excludeBegin:true,excludeEnd:true,endsParent:true,illegal:BAD_CHARS}]},{className:"type",begin:"\\b(sub)?type\\s+",end:"\\s+",keywords:"type",excludeBegin:true,illegal:BAD_CHARS},VAR_DECLS]}}module.exports=ada},function(module,exports){function angelscript(hljs){var builtInTypeMode={className:"built_in",begin:"\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)"};var objectHandleMode={className:"symbol",begin:"[a-zA-Z0-9_]+@"};var genericMode={className:"keyword",begin:"<",end:">",contains:[builtInTypeMode,objectHandleMode]};builtInTypeMode.contains=[genericMode];objectHandleMode.contains=[genericMode];return{name:"AngelScript",aliases:["asc"],keywords:"for in|0 break continue while do|0 return if else case switch namespace is cast "+"or and xor not get|0 in inout|10 out override set|0 private public const default|0 "+"final shared external mixin|10 enum typedef funcdef this super import from interface "+"abstract|0 try catch protected explicit property",illegal:"(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunction\\s*[^\\(])",contains:[{className:"string",begin:"'",end:"'",illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"""',end:'"""'},{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE],relevance:0},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"string",begin:"^\\s*\\[",end:"\\]"},{beginKeywords:"interface namespace",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]},{beginKeywords:"class",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+",contains:[{begin:"[:,]\\s*",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]}]}]},builtInTypeMode,objectHandleMode,{className:"literal",begin:"\\b(null|true|false)"},{className:"number",relevance:0,begin:"(-?)(\\b0[xXbBoOdD][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)"}]}}module.exports=angelscript},function(module,exports){function apache(hljs){const NUMBER_REF={className:"number",begin:/[$%]\d+/};const NUMBER={className:"number",begin:/\d+/};const IP_ADDRESS={className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/};const PORT_NUMBER={className:"number",begin:/:\d{1,5}/};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:true,contains:[hljs.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,contains:[IP_ADDRESS,PORT_NUMBER,hljs.inherit(hljs.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot "+"sethandler errordocument loadmodule options header listen serverroot "+"servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",begin:/[\$%]\{/,end:/\}/,contains:["self",NUMBER_REF]},IP_ADDRESS,NUMBER,hljs.QUOTE_STRING_MODE]}}],illegal:/\S/}}module.exports=apache},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function applescript(hljs){const STRING=hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null});const PARAMS={className:"params",begin:/\(/,end:/\)/,contains:["self",hljs.C_NUMBER_MODE,STRING]};const COMMENT_MODE_1=hljs.COMMENT(/--/,/$/);const COMMENT_MODE_2=hljs.COMMENT(/\(\*/,/\*\)/,{contains:["self",COMMENT_MODE_1]});const COMMENTS=[COMMENT_MODE_1,COMMENT_MODE_2,hljs.HASH_COMMENT_MODE];const KEYWORD_PATTERNS=[/apart from/,/aside from/,/instead of/,/out of/,/greater than/,/isn't|(doesn't|does not) (equal|come before|come after|contain)/,/(greater|less) than( or equal)?/,/(starts?|ends|begins?) with/,/contained by/,/comes (before|after)/,/a (ref|reference)/,/POSIX (file|path)/,/(date|time) string/,/quoted form/];const BUILT_IN_PATTERNS=[/clipboard info/,/the clipboard/,/info for/,/list (disks|folder)/,/mount volume/,/path to/,/(close|open for) access/,/(get|set) eof/,/current date/,/do shell script/,/get volume settings/,/random number/,/set volume/,/system attribute/,/system info/,/time to GMT/,/(load|run|store) script/,/scripting components/,/ASCII (character|number)/,/localized string/,/choose (application|color|file|file name|folder|from list|remote application|URL)/,/display (alert|dialog)/];return{name:"AppleScript",aliases:["osascript"],keywords:{keyword:"about above after against and around as at back before beginning "+"behind below beneath beside between but by considering "+"contain contains continue copy div does eighth else end equal "+"equals error every exit fifth first for fourth from front "+"get given global if ignoring in into is it its last local me "+"middle mod my ninth not of on onto or over prop property put ref "+"reference repeat returning script second set seventh since "+"sixth some tell tenth that the|0 then third through thru "+"timeout times to transaction try until where while whose with "+"without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list "+"number real record string text "+"activate beep count delay launch log offset read round "+"run say summarize write "+"character characters contents day frontmost id item length "+"month name paragraph paragraphs rest reverse running time version "+"weekday word words year"},contains:[STRING,hljs.C_NUMBER_MODE,{className:"built_in",begin:concat(/\b/,either(...BUILT_IN_PATTERNS),/\b/)},{className:"built_in",begin:/^\s*return\b/},{className:"literal",begin:/\b(text item delimiters|current application|missing value)\b/},{className:"keyword",begin:concat(/\b/,either(...KEYWORD_PATTERNS),/\b/)},{beginKeywords:"on",illegal:/[${=;\n]/,contains:[hljs.UNDERSCORE_TITLE_MODE,PARAMS]},...COMMENTS],illegal:/\/\/|->|=>|\[\[/}}module.exports=applescript},function(module,exports){function arcade(hljs){const IDENT_RE="[A-Za-z_][0-9A-Za-z_]*";const KEYWORDS={keyword:"if for while var new function do return void else break",literal:"BackSlash DoubleQuote false ForwardSlash Infinity NaN NewLine null PI SingleQuote Tab TextFormatting true undefined",built_in:"Abs Acos Angle Attachments Area AreaGeodetic Asin Atan Atan2 Average Bearing Boolean Buffer BufferGeodetic "+"Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd "+"DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance DistanceGeodetic Distinct "+"DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetByAssociation FeatureSetById FeatureSetByPortalItem "+"FeatureSetByRelationshipName FeatureSetByTitle FeatureSetByUrl Filter First Floor Geometry GroupBy Guid HasKey Hour IIf IndexOf "+"Intersection Intersects IsEmpty IsNan IsSelfIntersecting Length LengthGeodetic Log Max Mean Millisecond Min Minute Month "+"MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon "+"Polyline Portal Pow Random Relate Reverse RingIsClockWise Round Second SetGeometry Sin Sort Sqrt Stdev Sum "+"SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TrackCurrentTime "+"TrackGeometryWindow TrackIndex TrackStartTime TrackWindow TypeOf Union UrlEncode Variance "+"Weekday When Within Year "};const SYMBOL={className:"symbol",begin:"\\$[datastore|feature|layer|map|measure|sourcefeature|sourcelayer|targetfeature|targetlayer|value|view]+"};const NUMBER={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:hljs.C_NUMBER_RE}],relevance:0};const SUBST={className:"subst",begin:"\\$\\{",end:"\\}",keywords:KEYWORDS,contains:[]};const TEMPLATE_STRING={className:"string",begin:"`",end:"`",contains:[hljs.BACKSLASH_ESCAPE,SUBST]};SUBST.contains=[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,TEMPLATE_STRING,NUMBER,hljs.REGEXP_MODE];const PARAMS_CONTAINS=SUBST.contains.concat([hljs.C_BLOCK_COMMENT_MODE,hljs.C_LINE_COMMENT_MODE]);return{name:"ArcGIS Arcade",keywords:KEYWORDS,contains:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,TEMPLATE_STRING,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,SYMBOL,NUMBER,{begin:/[{,]\s*/,relevance:0,contains:[{begin:IDENT_RE+"\\s*:",returnBegin:true,relevance:0,contains:[{className:"attr",begin:IDENT_RE,relevance:0}]}]},{begin:"("+hljs.RE_STARTERS_RE+"|\\b(return)\\b)\\s*",keywords:"return",contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+IDENT_RE+")\\s*=>",returnBegin:true,end:"\\s*=>",contains:[{className:"params",variants:[{begin:IDENT_RE},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,keywords:KEYWORDS,contains:PARAMS_CONTAINS}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:true,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,contains:PARAMS_CONTAINS}],illegal:/\[|%/},{begin:/\$[(.]/}],illegal:/#(?!!)/}}module.exports=arcade},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function cPlusPlus(hljs){const C_LINE_COMMENT_MODE=hljs.COMMENT("//","$",{contains:[{begin:/\\\n/}]});const DECLTYPE_AUTO_RE="decltype\\(auto\\)";const NAMESPACE_RE="[a-zA-Z_]\\w*::";const TEMPLATE_ARGUMENT_RE="<[^<>]+>";const FUNCTION_TYPE_RE="("+DECLTYPE_AUTO_RE+"|"+optional(NAMESPACE_RE)+"[a-zA-Z_]\\w*"+optional(TEMPLATE_ARGUMENT_RE)+")";const CPP_PRIMITIVE_TYPES={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"};const CHARACTER_ESCAPES="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)";const STRINGS={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+CHARACTER_ESCAPES+"|.)",end:"'",illegal:"."},hljs.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]};const NUMBERS={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0};const PREPROCESSOR={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line "+"pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},hljs.inherit(STRINGS,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/},C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]};const TITLE_MODE={className:"title",begin:optional(NAMESPACE_RE)+hljs.IDENT_RE,relevance:0};const FUNCTION_TITLE=optional(NAMESPACE_RE)+hljs.IDENT_RE+"\\s*\\(";const COMMON_CPP_HINTS=["asin","atan2","atan","calloc","ceil","cosh","cos","exit","exp","fabs","floor","fmod","fprintf","fputs","free","frexp","auto_ptr","deque","list","queue","stack","vector","map","set","pair","bitset","multiset","multimap","unordered_set","fscanf","future","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","tolower","toupper","labs","ldexp","log10","log","malloc","realloc","memchr","memcmp","memcpy","memset","modf","pow","printf","putchar","puts","scanf","sinh","sin","snprintf","sprintf","sqrt","sscanf","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","tanh","tan","unordered_map","unordered_multiset","unordered_multimap","priority_queue","make_pair","array","shared_ptr","abort","terminate","abs","acos","vfprintf","vprintf","vsprintf","endl","initializer_list","unique_ptr","complex","imaginary","std","string","wstring","cin","cout","cerr","clog","stdin","stdout","stderr","stringstream","istringstream","ostringstream"];const CPP_KEYWORDS={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof "+"dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace "+"unsigned long volatile static protected bool template mutable if public friend "+"do goto auto void enum else break extern using asm case typeid wchar_t "+"short reinterpret_cast|10 default double register explicit signed typename try this "+"switch continue inline delete alignas alignof constexpr consteval constinit decltype "+"concept co_await co_return co_yield requires "+"noexcept static_assert thread_local restrict final override "+"atomic_bool atomic_char atomic_schar "+"atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong "+"atomic_ullong new throw return "+"and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"_Bool _Complex _Imaginary",_relevance_hints:COMMON_CPP_HINTS,literal:"true false nullptr NULL"};const FUNCTION_DISPATCH={className:"function.dispatch",relevance:0,keywords:CPP_KEYWORDS,begin:concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!while)/,hljs.IDENT_RE,lookahead(/\s*\(/))};const EXPRESSION_CONTAINS=[FUNCTION_DISPATCH,PREPROCESSOR,CPP_PRIMITIVE_TYPES,C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,NUMBERS,STRINGS];const EXPRESSION_CONTEXT={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:CPP_KEYWORDS,contains:EXPRESSION_CONTAINS.concat([{begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,contains:EXPRESSION_CONTAINS.concat(["self"]),relevance:0}]),relevance:0};const FUNCTION_DECLARATION={className:"function",begin:"("+FUNCTION_TYPE_RE+"[\\*&\\s]+)+"+FUNCTION_TITLE,returnBegin:true,end:/[{;=]/,excludeEnd:true,keywords:CPP_KEYWORDS,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:DECLTYPE_AUTO_RE,keywords:CPP_KEYWORDS,relevance:0},{begin:FUNCTION_TITLE,returnBegin:true,contains:[TITLE_MODE],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:true,contains:[STRINGS,NUMBERS]},{className:"params",begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,relevance:0,contains:[C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRINGS,NUMBERS,CPP_PRIMITIVE_TYPES,{begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,relevance:0,contains:["self",C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRINGS,NUMBERS,CPP_PRIMITIVE_TYPES]}]},CPP_PRIMITIVE_TYPES,C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,PREPROCESSOR]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:CPP_KEYWORDS,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(EXPRESSION_CONTEXT,FUNCTION_DECLARATION,FUNCTION_DISPATCH,EXPRESSION_CONTAINS,[PREPROCESSOR,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:CPP_KEYWORDS,contains:["self",CPP_PRIMITIVE_TYPES]},{begin:hljs.IDENT_RE+"::",keywords:CPP_KEYWORDS},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},hljs.TITLE_MODE]}]),exports:{preprocessor:PREPROCESSOR,strings:STRINGS,keywords:CPP_KEYWORDS}}}function arduino(hljs){const ARDUINO_KW={keyword:"boolean byte word String",built_in:"KeyboardController MouseController SoftwareSerial "+"EthernetServer EthernetClient LiquidCrystal "+"RobotControl GSMVoiceCall EthernetUDP EsploraTFT "+"HttpClient RobotMotor WiFiClient GSMScanner "+"FileSystem Scheduler GSMServer YunClient YunServer "+"IPAddress GSMClient GSMModem Keyboard Ethernet "+"Console GSMBand Esplora Stepper Process "+"WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage "+"Client Server GSMPIN FileIO Bridge Serial "+"EEPROM Stream Mouse Audio Servo File Task "+"GPRS WiFi Wire TFT GSM SPI SD ",_:"setup loop "+"runShellCommandAsynchronously analogWriteResolution "+"retrieveCallingNumber printFirmwareVersion "+"analogReadResolution sendDigitalPortPair "+"noListenOnLocalhost readJoystickButton setFirmwareVersion "+"readJoystickSwitch scrollDisplayRight getVoiceCallStatus "+"scrollDisplayLeft writeMicroseconds delayMicroseconds "+"beginTransmission getSignalStrength runAsynchronously "+"getAsynchronously listenOnLocalhost getCurrentCarrier "+"readAccelerometer messageAvailable sendDigitalPorts "+"lineFollowConfig countryNameWrite runShellCommand "+"readStringUntil rewindDirectory readTemperature "+"setClockDivider readLightSensor endTransmission "+"analogReference detachInterrupt countryNameRead "+"attachInterrupt encryptionType readBytesUntil "+"robotNameWrite readMicrophone robotNameRead cityNameWrite "+"userNameWrite readJoystickY readJoystickX mouseReleased "+"openNextFile scanNetworks noInterrupts digitalWrite "+"beginSpeaker mousePressed isActionDone mouseDragged "+"displayLogos noAutoscroll addParameter remoteNumber "+"getModifiers keyboardRead userNameRead waitContinue "+"processInput parseCommand printVersion readNetworks "+"writeMessage blinkVersion cityNameRead readMessage "+"setDataMode parsePacket isListening setBitOrder "+"beginPacket isDirectory motorsWrite drawCompass "+"digitalRead clearScreen serialEvent rightToLeft "+"setTextSize leftToRight requestFrom keyReleased "+"compassRead analogWrite interrupts WiFiServer "+"disconnect playMelody parseFloat autoscroll "+"getPINUsed setPINUsed setTimeout sendAnalog "+"readSlider analogRead beginWrite createChar "+"motorsStop keyPressed tempoWrite readButton "+"subnetMask debugPrint macAddress writeGreen "+"randomSeed attachGPRS readString sendString "+"remotePort releaseAll mouseMoved background "+"getXChange getYChange answerCall getResult "+"voiceCall endPacket constrain getSocket writeJSON "+"getButton available connected findUntil readBytes "+"exitValue readGreen writeBlue startLoop IPAddress "+"isPressed sendSysex pauseMode gatewayIP setCursor "+"getOemKey tuneWrite noDisplay loadImage switchPIN "+"onRequest onReceive changePIN playFile noBuffer "+"parseInt overflow checkPIN knobRead beginTFT "+"bitClear updateIR bitWrite position writeRGB "+"highByte writeRed setSpeed readBlue noStroke "+"remoteIP transfer shutdown hangCall beginSMS "+"endWrite attached maintain noCursor checkReg "+"checkPUK shiftOut isValid shiftIn pulseIn "+"connect println localIP pinMode getIMEI "+"display noBlink process getBand running beginSD "+"drawBMP lowByte setBand release bitRead prepare "+"pointTo readRed setMode noFill remove listen "+"stroke detach attach noTone exists buffer "+"height bitSet circle config cursor random "+"IRread setDNS endSMS getKey micros "+"millis begin print write ready flush width "+"isPIN blink clear press mkdir rmdir close "+"point yield image BSSID click delay "+"read text move peek beep rect line open "+"seek fill size turn stop home find "+"step tone sqrt RSSI SSID "+"end bit tan cos sin pow map abs max "+"min get run put",literal:"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE "+"REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP "+"SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN "+"INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL "+"DEFAULT OUTPUT INPUT HIGH LOW"};const ARDUINO=cPlusPlus(hljs);const kws=ARDUINO.keywords;kws.keyword+=" "+ARDUINO_KW.keyword;kws.literal+=" "+ARDUINO_KW.literal;kws.built_in+=" "+ARDUINO_KW.built_in;kws._+=" "+ARDUINO_KW._;ARDUINO.name="Arduino";ARDUINO.aliases=["ino"];ARDUINO.supersetOf="cpp";return ARDUINO}module.exports=arduino},function(module,exports){function armasm(hljs){const COMMENT={variants:[hljs.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:true}),hljs.COMMENT("[;@]","$",{relevance:0}),hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:true,aliases:["arm"],keywords:{$pattern:"\\.?"+hljs.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg "+"ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 "+"pc lr sp ip sl sb fp "+"a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 "+"p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 "+"c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 "+"q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 "+"cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf "+"spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf "+"s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 "+"s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 "+"d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 "+"d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 "+"{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b("+"adc|"+"(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|"+"and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|"+"bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|"+"setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|"+"ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|"+"mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|"+"mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|"+"mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|"+"rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|"+"stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|"+"[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|"+"wfe|wfi|yield"+")"+"(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?"+"[sptrx]?"+"(?=\\s)"},COMMENT,hljs.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}module.exports=armasm},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function xml(hljs){const TAG_NAME_RE=concat(/[A-Z_]/,optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/);const XML_IDENT_RE=/[A-Za-z0-9._:-]+/;const XML_ENTITIES={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/};const XML_META_KEYWORDS={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]};const XML_META_PAR_KEYWORDS=hljs.inherit(XML_META_KEYWORDS,{begin:/\(/,end:/\)/});const APOS_META_STRING_MODE=hljs.inherit(hljs.APOS_STRING_MODE,{className:"meta-string"});const QUOTE_META_STRING_MODE=hljs.inherit(hljs.QUOTE_STRING_MODE,{className:"meta-string"});const TAG_INTERNALS={endsWithParent:true,illegal:/</,relevance:0,contains:[{className:"attr",begin:XML_IDENT_RE,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:true,variants:[{begin:/"/,end:/"/,contains:[XML_ENTITIES]},{begin:/'/,end:/'/,contains:[XML_ENTITIES]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:true,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[XML_META_KEYWORDS,QUOTE_META_STRING_MODE,APOS_META_STRING_MODE,XML_META_PAR_KEYWORDS,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[XML_META_KEYWORDS,XML_META_PAR_KEYWORDS,QUOTE_META_STRING_MODE,APOS_META_STRING_MODE]}]}]},hljs.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},XML_ENTITIES,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[TAG_INTERNALS],starts:{end:/<\/style>/,returnEnd:true,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[TAG_INTERNALS],starts:{end:/<\/script>/,returnEnd:true,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:concat(/</,lookahead(concat(TAG_NAME_RE,either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:TAG_NAME_RE,relevance:0,starts:TAG_INTERNALS}]},{className:"tag",begin:concat(/<\//,lookahead(concat(TAG_NAME_RE,/>/))),contains:[{className:"name",begin:TAG_NAME_RE,relevance:0},{begin:/>/,relevance:0,endsParent:true}]}]}}module.exports=xml},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function asciidoc(hljs){const HORIZONTAL_RULE={begin:"^'{3,}[ \\t]*$",relevance:10};const ESCAPED_FORMATTING=[{begin:/\\[*_`]/},{begin:/\\\\\*{2}[^\n]*?\*{2}/},{begin:/\\\\_{2}[^\n]*_{2}/},{begin:/\\\\`{2}[^\n]*`{2}/},{begin:/[:;}][*_`](?![*_`])/}];const STRONG=[{className:"strong",begin:/\*{2}([^\n]+?)\*{2}/},{className:"strong",begin:concat(/\*\*/,/((\*(?!\*)|\\[^\n]|[^*\n\\])+\n)+/,/(\*(?!\*)|\\[^\n]|[^*\n\\])*/,/\*\*/),relevance:0},{className:"strong",begin:/\B\*(\S|\S[^\n]*?\S)\*(?!\w)/},{className:"strong",begin:/\*[^\s]([^\n]+\n)+([^\n]+)\*/}];const EMPHASIS=[{className:"emphasis",begin:/_{2}([^\n]+?)_{2}/},{className:"emphasis",begin:concat(/__/,/((_(?!_)|\\[^\n]|[^_\n\\])+\n)+/,/(_(?!_)|\\[^\n]|[^_\n\\])*/,/__/),relevance:0},{className:"emphasis",begin:/\b_(\S|\S[^\n]*?\S)_(?!\w)/},{className:"emphasis",begin:/_[^\s]([^\n]+\n)+([^\n]+)_/},{className:"emphasis",begin:"\\B'(?!['\\s])",end:"(\\n{2}|')",contains:[{begin:"\\\\'\\w",relevance:0}],relevance:0}];const ADMONITION={className:"symbol",begin:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",relevance:10};const BULLET_LIST={className:"bullet",begin:"^(\\*+|-+|\\.+|[^\\n]+?::)\\s+"};return{name:"AsciiDoc",aliases:["adoc"],contains:[hljs.COMMENT("^/{4,}\\n","\\n/{4,}$",{relevance:10}),hljs.COMMENT("^//","$",{relevance:0}),{className:"title",begin:"^\\.\\w.*$"},{begin:"^[=\\*]{4,}\\n",end:"\\n^[=\\*]{4,}$",relevance:10},{className:"section",relevance:10,variants:[{begin:"^(={1,6})[ \t].+?([ \t]\\1)?$"},{begin:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{className:"meta",begin:"^:.+?:",end:"\\s",excludeEnd:true,relevance:10},{className:"meta",begin:"^\\[.+?\\]$",relevance:0},{className:"quote",begin:"^_{4,}\\n",end:"\\n_{4,}$",relevance:10},{className:"code",begin:"^[\\-\\.]{4,}\\n",end:"\\n[\\-\\.]{4,}$",relevance:10},{begin:"^\\+{4,}\\n",end:"\\n\\+{4,}$",contains:[{begin:"<",end:">",subLanguage:"xml",relevance:0}],relevance:10},BULLET_LIST,ADMONITION,...ESCAPED_FORMATTING,...STRONG,...EMPHASIS,{className:"string",variants:[{begin:"``.+?''"},{begin:"`.+?'"}]},{className:"code",begin:/`{2}/,end:/(\n{2}|`{2})/},{className:"code",begin:"(`.+?`|\\+.+?\\+)",relevance:0},{className:"code",begin:"^[ \\t]",end:"$",relevance:0},HORIZONTAL_RULE,{begin:"(link:)?(http|https|ftp|file|irc|image:?):\\S+?\\[[^[]*?\\]",returnBegin:true,contains:[{begin:"(link|image:?):",relevance:0},{className:"link",begin:"\\w",end:"[^\\[]+",relevance:0},{className:"string",begin:"\\[",end:"\\]",excludeBegin:true,excludeEnd:true,relevance:0}],relevance:10}]}}module.exports=asciidoc},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function aspectj(hljs){const KEYWORDS="false synchronized int abstract float private char boolean static null if const "+"for true while long throw strictfp finally protected import native final return void "+"enum else extends implements break transient new catch instanceof byte super volatile case "+"assert short package default double public try this switch continue throws privileged "+"aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization "+"staticinitialization withincode target within execution getWithinTypeName handler "+"thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents "+"warning error soft precedence thisAspectInstance";const SHORTKEYS="get set args call";return{name:"AspectJ",keywords:KEYWORDS,illegal:/<\/|#/,contains:[hljs.COMMENT(/\/\*\*/,/\*\//,{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:/@[A-Za-z]+/}]}),hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{className:"class",beginKeywords:"aspect",end:/[{;=]/,excludeEnd:true,illegal:/[:;"\[\]]/,contains:[{beginKeywords:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},hljs.UNDERSCORE_TITLE_MODE,{begin:/\([^\)]*/,end:/[)]+/,keywords:KEYWORDS+" "+SHORTKEYS,excludeEnd:false}]},{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:true,relevance:0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},hljs.UNDERSCORE_TITLE_MODE]},{beginKeywords:"pointcut after before around throwing returning",end:/[)]/,excludeEnd:false,illegal:/["\[\]]/,contains:[{begin:concat(hljs.UNDERSCORE_IDENT_RE,/\s*\(/),returnBegin:true,contains:[hljs.UNDERSCORE_TITLE_MODE]}]},{begin:/[:]/,returnBegin:true,end:/[{;]/,relevance:0,excludeEnd:false,keywords:KEYWORDS,illegal:/["\[\]]/,contains:[{begin:concat(hljs.UNDERSCORE_IDENT_RE,/\s*\(/),keywords:KEYWORDS+" "+SHORTKEYS,relevance:0},hljs.QUOTE_STRING_MODE]},{beginKeywords:"new throw",relevance:0},{className:"function",begin:/\w+ +\w+(\.\w+)?\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,returnBegin:true,end:/[{;=]/,keywords:KEYWORDS,excludeEnd:true,contains:[{begin:concat(hljs.UNDERSCORE_IDENT_RE,/\s*\(/),returnBegin:true,relevance:0,contains:[hljs.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,relevance:0,keywords:KEYWORDS,contains:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE,hljs.C_BLOCK_COMMENT_MODE]},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},hljs.C_NUMBER_MODE,{className:"meta",begin:/@[A-Za-z]+/}]}}module.exports=aspectj},function(module,exports){function autohotkey(hljs){const BACKTICK_ESCAPE={begin:"`[\\s\\S]"};return{name:"AutoHotkey",case_insensitive:true,aliases:["ahk"],keywords:{keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group",literal:"true false NOT AND OR",built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"},contains:[BACKTICK_ESCAPE,hljs.inherit(hljs.QUOTE_STRING_MODE,{contains:[BACKTICK_ESCAPE]}),hljs.COMMENT(";","$",{relevance:0}),hljs.C_BLOCK_COMMENT_MODE,{className:"number",begin:hljs.NUMBER_RE,relevance:0},{className:"variable",begin:"%[a-zA-Z0-9#_$@]+%"},{className:"built_in",begin:"^\\s*\\w+\\s*(,|%)"},{className:"title",variants:[{begin:'^[^\\n";]+::(?!=)'},{begin:'^[^\\n";]+:(?!=)',relevance:0}]},{className:"meta",begin:"^\\s*#\\w+",end:"$",relevance:0},{className:"built_in",begin:"A_[a-zA-Z0-9]+"},{begin:",\\s*,"}]}}module.exports=autohotkey},function(module,exports){function autoit(hljs){const KEYWORDS="ByRef Case Const ContinueCase ContinueLoop "+"Dim Do Else ElseIf EndFunc EndIf EndSelect "+"EndSwitch EndWith Enum Exit ExitLoop For Func "+"Global If In Local Next ReDim Return Select Static "+"Step Switch Then To Until Volatile WEnd While With";const DIRECTIVES=["EndRegion","forcedef","forceref","ignorefunc","include","include-once","NoTrayIcon","OnAutoItStartRegister","pragma","Region","RequireAdmin","Tidy_Off","Tidy_On","Tidy_Parameters"];const LITERAL="True False And Null Not Or Default";const BUILT_IN="Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive";const COMMENT={variants:[hljs.COMMENT(";","$",{relevance:0}),hljs.COMMENT("#cs","#ce"),hljs.COMMENT("#comments-start","#comments-end")]};const VARIABLE={begin:"\\$[A-z0-9_]+"};const STRING={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]};const NUMBER={variants:[hljs.BINARY_NUMBER_MODE,hljs.C_NUMBER_MODE]};const PREPROCESSOR={className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":DIRECTIVES},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",keywords:{"meta-keyword":"include"},end:"$",contains:[STRING,{className:"meta-string",variants:[{begin:"<",end:">"},{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]}]},STRING,COMMENT]};const CONSTANT={className:"symbol",begin:"@[A-z0-9_]+"};const FUNCTION={className:"function",beginKeywords:"Func",end:"$",illegal:"\\$|\\[|%",contains:[hljs.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[VARIABLE,STRING,NUMBER]}]};return{name:"AutoIt",case_insensitive:true,illegal:/\/\*/,keywords:{keyword:KEYWORDS,built_in:BUILT_IN,literal:LITERAL},contains:[COMMENT,VARIABLE,STRING,NUMBER,PREPROCESSOR,CONSTANT,FUNCTION]}}module.exports=autoit},function(module,exports){function avrasm(hljs){return{name:"AVR Assembly",case_insensitive:true,keywords:{$pattern:"\\.?"+hljs.IDENT_RE,keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs "+"brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr "+"clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor "+"fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul "+"muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs "+"sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub "+"subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 "+"r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl "+"ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h "+"tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c "+"ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg "+"ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk "+"tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al "+"ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr "+"porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 "+"ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",meta:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list "+".listmac .macro .nolist .org .set"},contains:[hljs.C_BLOCK_COMMENT_MODE,hljs.COMMENT(";","$",{relevance:0}),hljs.C_NUMBER_MODE,hljs.BINARY_NUMBER_MODE,{className:"number",begin:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},hljs.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",illegal:"[^\\\\][^']"},{className:"symbol",begin:"^[A-Za-z0-9_.$]+:"},{className:"meta",begin:"#",end:"$"},{className:"subst",begin:"@[0-9]+"}]}}module.exports=avrasm},function(module,exports){function awk(hljs){const VARIABLE={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)\}/}]};const KEYWORDS="BEGIN END if else while do for in break continue delete next nextfile function func exit|10";const STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]};return{name:"Awk",keywords:{keyword:KEYWORDS},contains:[VARIABLE,STRING,hljs.REGEXP_MODE,hljs.HASH_COMMENT_MODE,hljs.NUMBER_MODE]}}module.exports=awk},function(module,exports){function axapta(hljs){const BUILT_IN_KEYWORDS=["anytype","boolean","byte","char","container","date","double","enum","guid","int","int64","long","real","short","str","utcdatetime","var"];const LITERAL_KEYWORDS=["default","false","null","true"];const NORMAL_KEYWORDS=["abstract","as","asc","avg","break","breakpoint","by","byref","case","catch","changecompany","class","client","client","common","const","continue","count","crosscompany","delegate","delete_from","desc","display","div","do","edit","else","eventhandler","exists","extends","final","finally","firstfast","firstonly","firstonly1","firstonly10","firstonly100","firstonly1000","flush","for","forceliterals","forcenestedloop","forceplaceholders","forceselectorder","forupdate","from","generateonly","group","hint","if","implements","in","index","insert_recordset","interface","internal","is","join","like","maxof","minof","mod","namespace","new","next","nofetch","notexists","optimisticlock","order","outer","pessimisticlock","print","private","protected","public","readonly","repeatableread","retry","return","reverse","select","server","setting","static","sum","super","switch","this","throw","try","ttsabort","ttsbegin","ttscommit","unchecked","update_recordset","using","validtimestate","void","where","while"];const KEYWORDS={keyword:NORMAL_KEYWORDS,built_in:BUILT_IN_KEYWORDS,literal:LITERAL_KEYWORDS};return{name:"X++",aliases:["x++"],keywords:KEYWORDS,contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$"},{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:true,illegal:":",contains:[{beginKeywords:"extends implements"},hljs.UNDERSCORE_TITLE_MODE]}]}}module.exports=axapta},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function bash(hljs){const VAR={};const BRACED_VAR={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[VAR]}]};Object.assign(VAR,{className:"variable",variants:[{begin:concat(/\$[\w\d#@][\w\d_]*/,`(?![\\w\\d])(?![$])`)},BRACED_VAR]});const SUBST={className:"subst",begin:/\$\(/,end:/\)/,contains:[hljs.BACKSLASH_ESCAPE]};const HERE_DOC={begin:/<<-?\s*(?=\w+)/,starts:{contains:[hljs.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}};const QUOTE_STRING={className:"string",begin:/"/,end:/"/,contains:[hljs.BACKSLASH_ESCAPE,VAR,SUBST]};SUBST.contains.push(QUOTE_STRING);const ESCAPED_QUOTE={className:"",begin:/\\"/};const APOS_STRING={className:"string",begin:/'/,end:/'/};const ARITHMETIC={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},hljs.NUMBER_MODE,VAR]};const SH_LIKE_SHELLS=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"];const KNOWN_SHEBANG=hljs.SHEBANG({binary:`(${SH_LIKE_SHELLS.join("|")})`,relevance:10});const FUNCTION={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:true,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times "+"trap umask unset "+"alias bind builtin caller command declare echo enable help let local logout mapfile printf "+"read readarray source type typeset ulimit unalias "+"set shopt "+"autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles "+"compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate "+"fc fg float functions getcap getln history integer jobs kill limit log noglob popd print "+"pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit "+"unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof "+"zpty zregexparse zsocket zstyle ztcp"},contains:[KNOWN_SHEBANG,hljs.SHEBANG(),FUNCTION,ARITHMETIC,hljs.HASH_COMMENT_MODE,HERE_DOC,QUOTE_STRING,ESCAPED_QUOTE,APOS_STRING,VAR]}}module.exports=bash},function(module,exports){function basic(hljs){return{name:"BASIC",case_insensitive:true,illegal:"^.",keywords:{$pattern:"[a-zA-Z][a-zA-Z0-9_$%!#]*",keyword:"ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE "+"CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ "+"DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ "+"EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO "+"HEX$ IF THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON "+"OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET "+"MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION "+"BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET "+"PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET "+"RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP "+"SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE "+"WEND WIDTH WINDOW WRITE XOR"},contains:[hljs.QUOTE_STRING_MODE,hljs.COMMENT("REM","$",{relevance:10}),hljs.COMMENT("'","$",{relevance:0}),{className:"symbol",begin:"^[0-9]+ ",relevance:10},{className:"number",begin:"\\b\\d+(\\.\\d+)?([edED]\\d+)?[#!]?",relevance:0},{className:"number",begin:"(&[hH][0-9a-fA-F]{1,4})"},{className:"number",begin:"(&[oO][0-7]{1,6})"}]}}module.exports=basic},function(module,exports){function bnf(hljs){return{name:"Backus–Naur Form",contains:[{className:"attribute",begin:/</,end:/>/},{begin:/::=/,end:/$/,contains:[{begin:/</,end:/>/},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]}]}}module.exports=bnf},function(module,exports){function brainfuck(hljs){const LITERAL={className:"literal",begin:/[+-]/,relevance:0};return{name:"Brainfuck",aliases:["bf"],contains:[hljs.COMMENT("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{returnEnd:true,relevance:0}),{className:"title",begin:"[\\[\\]]",relevance:0},{className:"string",begin:"[\\.,]",relevance:0},{begin:/(?:\+\+|--)/,contains:[LITERAL]},LITERAL]}}module.exports=brainfuck},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function cPlusPlus(hljs){const C_LINE_COMMENT_MODE=hljs.COMMENT("//","$",{contains:[{begin:/\\\n/}]});const DECLTYPE_AUTO_RE="decltype\\(auto\\)";const NAMESPACE_RE="[a-zA-Z_]\\w*::";const TEMPLATE_ARGUMENT_RE="<[^<>]+>";const FUNCTION_TYPE_RE="("+DECLTYPE_AUTO_RE+"|"+optional(NAMESPACE_RE)+"[a-zA-Z_]\\w*"+optional(TEMPLATE_ARGUMENT_RE)+")";const CPP_PRIMITIVE_TYPES={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"};const CHARACTER_ESCAPES="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)";const STRINGS={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+CHARACTER_ESCAPES+"|.)",end:"'",illegal:"."},hljs.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]};const NUMBERS={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0};const PREPROCESSOR={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line "+"pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},hljs.inherit(STRINGS,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/},C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]};const TITLE_MODE={className:"title",begin:optional(NAMESPACE_RE)+hljs.IDENT_RE,relevance:0};const FUNCTION_TITLE=optional(NAMESPACE_RE)+hljs.IDENT_RE+"\\s*\\(";const COMMON_CPP_HINTS=["asin","atan2","atan","calloc","ceil","cosh","cos","exit","exp","fabs","floor","fmod","fprintf","fputs","free","frexp","auto_ptr","deque","list","queue","stack","vector","map","set","pair","bitset","multiset","multimap","unordered_set","fscanf","future","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","tolower","toupper","labs","ldexp","log10","log","malloc","realloc","memchr","memcmp","memcpy","memset","modf","pow","printf","putchar","puts","scanf","sinh","sin","snprintf","sprintf","sqrt","sscanf","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","tanh","tan","unordered_map","unordered_multiset","unordered_multimap","priority_queue","make_pair","array","shared_ptr","abort","terminate","abs","acos","vfprintf","vprintf","vsprintf","endl","initializer_list","unique_ptr","complex","imaginary","std","string","wstring","cin","cout","cerr","clog","stdin","stdout","stderr","stringstream","istringstream","ostringstream"];const CPP_KEYWORDS={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof "+"dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace "+"unsigned long volatile static protected bool template mutable if public friend "+"do goto auto void enum else break extern using asm case typeid wchar_t "+"short reinterpret_cast|10 default double register explicit signed typename try this "+"switch continue inline delete alignas alignof constexpr consteval constinit decltype "+"concept co_await co_return co_yield requires "+"noexcept static_assert thread_local restrict final override "+"atomic_bool atomic_char atomic_schar "+"atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong "+"atomic_ullong new throw return "+"and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"_Bool _Complex _Imaginary",_relevance_hints:COMMON_CPP_HINTS,literal:"true false nullptr NULL"};const FUNCTION_DISPATCH={className:"function.dispatch",relevance:0,keywords:CPP_KEYWORDS,begin:concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!while)/,hljs.IDENT_RE,lookahead(/\s*\(/))};const EXPRESSION_CONTAINS=[FUNCTION_DISPATCH,PREPROCESSOR,CPP_PRIMITIVE_TYPES,C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,NUMBERS,STRINGS];const EXPRESSION_CONTEXT={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:CPP_KEYWORDS,contains:EXPRESSION_CONTAINS.concat([{begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,contains:EXPRESSION_CONTAINS.concat(["self"]),relevance:0}]),relevance:0};const FUNCTION_DECLARATION={className:"function",begin:"("+FUNCTION_TYPE_RE+"[\\*&\\s]+)+"+FUNCTION_TITLE,returnBegin:true,end:/[{;=]/,excludeEnd:true,keywords:CPP_KEYWORDS,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:DECLTYPE_AUTO_RE,keywords:CPP_KEYWORDS,relevance:0},{begin:FUNCTION_TITLE,returnBegin:true,contains:[TITLE_MODE],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:true,contains:[STRINGS,NUMBERS]},{className:"params",begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,relevance:0,contains:[C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRINGS,NUMBERS,CPP_PRIMITIVE_TYPES,{begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,relevance:0,contains:["self",C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRINGS,NUMBERS,CPP_PRIMITIVE_TYPES]}]},CPP_PRIMITIVE_TYPES,C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,PREPROCESSOR]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:CPP_KEYWORDS,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(EXPRESSION_CONTEXT,FUNCTION_DECLARATION,FUNCTION_DISPATCH,EXPRESSION_CONTAINS,[PREPROCESSOR,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:CPP_KEYWORDS,contains:["self",CPP_PRIMITIVE_TYPES]},{begin:hljs.IDENT_RE+"::",keywords:CPP_KEYWORDS},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},hljs.TITLE_MODE]}]),exports:{preprocessor:PREPROCESSOR,strings:STRINGS,keywords:CPP_KEYWORDS}}}function cLike(hljs){const lang=cPlusPlus(hljs);const C_ALIASES=["c","h"];const CPP_ALIASES=["cc","c++","h++","hpp","hh","hxx","cxx"];lang.disableAutodetect=true;lang.aliases=[];if(!hljs.getLanguage("c"))lang.aliases.push(...C_ALIASES);if(!hljs.getLanguage("cpp"))lang.aliases.push(...CPP_ALIASES);return lang}module.exports=cLike},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function c(hljs){const C_LINE_COMMENT_MODE=hljs.COMMENT("//","$",{contains:[{begin:/\\\n/}]});const DECLTYPE_AUTO_RE="decltype\\(auto\\)";const NAMESPACE_RE="[a-zA-Z_]\\w*::";const TEMPLATE_ARGUMENT_RE="<[^<>]+>";const FUNCTION_TYPE_RE="("+DECLTYPE_AUTO_RE+"|"+optional(NAMESPACE_RE)+"[a-zA-Z_]\\w*"+optional(TEMPLATE_ARGUMENT_RE)+")";const CPP_PRIMITIVE_TYPES={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"};const CHARACTER_ESCAPES="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)";const STRINGS={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+CHARACTER_ESCAPES+"|.)",end:"'",illegal:"."},hljs.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]};const NUMBERS={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0};const PREPROCESSOR={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line "+"pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},hljs.inherit(STRINGS,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/},C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]};const TITLE_MODE={className:"title",begin:optional(NAMESPACE_RE)+hljs.IDENT_RE,relevance:0};const FUNCTION_TITLE=optional(NAMESPACE_RE)+hljs.IDENT_RE+"\\s*\\(";const CPP_KEYWORDS={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof "+"dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace "+"unsigned long volatile static protected bool template mutable if public friend "+"do goto auto void enum else break extern using asm case typeid wchar_t "+"short reinterpret_cast|10 default double register explicit signed typename try this "+"switch continue inline delete alignas alignof constexpr consteval constinit decltype "+"concept co_await co_return co_yield requires "+"noexcept static_assert thread_local restrict final override "+"atomic_bool atomic_char atomic_schar "+"atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong "+"atomic_ullong new throw return "+"and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream "+"auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set "+"unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos "+"asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp "+"fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper "+"isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow "+"printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp "+"strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan "+"vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"};const EXPRESSION_CONTAINS=[PREPROCESSOR,CPP_PRIMITIVE_TYPES,C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,NUMBERS,STRINGS];const EXPRESSION_CONTEXT={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:CPP_KEYWORDS,contains:EXPRESSION_CONTAINS.concat([{begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,contains:EXPRESSION_CONTAINS.concat(["self"]),relevance:0}]),relevance:0};const FUNCTION_DECLARATION={className:"function",begin:"("+FUNCTION_TYPE_RE+"[\\*&\\s]+)+"+FUNCTION_TITLE,returnBegin:true,end:/[{;=]/,excludeEnd:true,keywords:CPP_KEYWORDS,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:DECLTYPE_AUTO_RE,keywords:CPP_KEYWORDS,relevance:0},{begin:FUNCTION_TITLE,returnBegin:true,contains:[TITLE_MODE],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,relevance:0,contains:[C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRINGS,NUMBERS,CPP_PRIMITIVE_TYPES,{begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,relevance:0,contains:["self",C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRINGS,NUMBERS,CPP_PRIMITIVE_TYPES]}]},CPP_PRIMITIVE_TYPES,C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,PREPROCESSOR]};return{name:"C",aliases:["h"],keywords:CPP_KEYWORDS,disableAutodetect:true,illegal:"</",contains:[].concat(EXPRESSION_CONTEXT,FUNCTION_DECLARATION,EXPRESSION_CONTAINS,[PREPROCESSOR,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:CPP_KEYWORDS,contains:["self",CPP_PRIMITIVE_TYPES]},{begin:hljs.IDENT_RE+"::",keywords:CPP_KEYWORDS},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},hljs.TITLE_MODE]}]),exports:{preprocessor:PREPROCESSOR,strings:STRINGS,keywords:CPP_KEYWORDS}}}module.exports=c},function(module,exports){function cal(hljs){const KEYWORDS="div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to "+"until while with var";const LITERALS="false true";const COMMENT_MODES=[hljs.C_LINE_COMMENT_MODE,hljs.COMMENT(/\{/,/\}/,{relevance:0}),hljs.COMMENT(/\(\*/,/\*\)/,{relevance:10})];const STRING={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]};const CHAR_STRING={className:"string",begin:/(#\d+)+/};const DATE={className:"number",begin:"\\b\\d+(\\.\\d+)?(DT|D|T)",relevance:0};const DBL_QUOTED_VARIABLE={className:"string",begin:'"',end:'"'};const PROCEDURE={className:"function",beginKeywords:"procedure",end:/[:;]/,keywords:"procedure|10",contains:[hljs.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:KEYWORDS,contains:[STRING,CHAR_STRING]}].concat(COMMENT_MODES)};const OBJECT={className:"class",begin:"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",returnBegin:true,contains:[hljs.TITLE_MODE,PROCEDURE]};return{name:"C/AL",case_insensitive:true,keywords:{keyword:KEYWORDS,literal:LITERALS},illegal:/\/\*/,contains:[STRING,CHAR_STRING,DATE,DBL_QUOTED_VARIABLE,hljs.NUMBER_MODE,OBJECT,PROCEDURE]}}module.exports=cal},function(module,exports){function capnproto(hljs){return{name:"Cap’n Proto",aliases:["capnp"],keywords:{keyword:"struct enum interface union group import using const annotation extends in of on as with from fixed",built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 "+"Text Data AnyPointer AnyStruct Capability List",literal:"true false"},contains:[hljs.QUOTE_STRING_MODE,hljs.NUMBER_MODE,hljs.HASH_COMMENT_MODE,{className:"meta",begin:/@0x[\w\d]{16};/,illegal:/\n/},{className:"symbol",begin:/@\d+\b/},{className:"class",beginKeywords:"struct enum",end:/\{/,illegal:/\n/,contains:[hljs.inherit(hljs.TITLE_MODE,{starts:{endsWithParent:true,excludeEnd:true}})]},{className:"class",beginKeywords:"interface",end:/\{/,illegal:/\n/,contains:[hljs.inherit(hljs.TITLE_MODE,{starts:{endsWithParent:true,excludeEnd:true}})]}]}}module.exports=capnproto},function(module,exports){function ceylon(hljs){const KEYWORDS="assembly module package import alias class interface object given value "+"assign void function new of extends satisfies abstracts in out return "+"break continue throw assert dynamic if else switch case for while try "+"catch finally then let this outer super is exists nonempty";const DECLARATION_MODIFIERS="shared abstract formal default actual variable late native deprecated "+"final sealed annotation suppressWarnings small";const DOCUMENTATION="doc by license see throws tagged";const SUBST={className:"subst",excludeBegin:true,excludeEnd:true,begin:/``/,end:/``/,keywords:KEYWORDS,relevance:10};const EXPRESSIONS=[{className:"string",begin:'"""',end:'"""',relevance:10},{className:"string",begin:'"',end:'"',contains:[SUBST]},{className:"string",begin:"'",end:"'"},{className:"number",begin:"#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?",relevance:0}];SUBST.contains=EXPRESSIONS;return{name:"Ceylon",keywords:{keyword:KEYWORDS+" "+DECLARATION_MODIFIERS,meta:DOCUMENTATION},illegal:"\\$[^01]|#[^0-9a-fA-F]",contains:[hljs.C_LINE_COMMENT_MODE,hljs.COMMENT("/\\*","\\*/",{contains:["self"]}),{className:"meta",begin:'@[a-z]\\w*(?::"[^"]*")?'}].concat(EXPRESSIONS)}}module.exports=ceylon},function(module,exports){function clean(hljs){return{name:"Clean",aliases:["icl","dcl"],keywords:{keyword:"if let in with where case of class instance otherwise "+"implementation definition system module from import qualified as "+"special code inline foreign export ccall stdcall generic derive "+"infix infixl infixr",built_in:"Int Real Char Bool",literal:"True False"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE,{begin:"->|<-[|:]?|#!?|>>=|\\{\\||\\|\\}|:==|=:|<>"}]}}module.exports=clean},function(module,exports){function clojure(hljs){const SYMBOLSTART="a-zA-Z_\\-!.?+*=<>&#'";const SYMBOL_RE="["+SYMBOLSTART+"]["+SYMBOLSTART+"0-9/;:]*";const globals="def defonce defprotocol defstruct defmulti defmethod defn- defn defmacro deftype defrecord";const keywords={$pattern:SYMBOL_RE,"builtin-name":globals+" "+"cond apply if-not if-let if not not= =|0 <|0 >|0 <=|0 >=|0 ==|0 +|0 /|0 *|0 -|0 rem "+"quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? "+"set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? "+"class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? "+"string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . "+"inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last "+"drop-while while intern condp case reduced cycle split-at split-with repeat replicate "+"iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext "+"nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends "+"add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler "+"set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter "+"monitor-exit macroexpand macroexpand-1 for dosync and or "+"when when-not when-let comp juxt partial sequence memoize constantly complement identity assert "+"peek pop doto proxy first rest cons cast coll last butlast "+"sigs reify second ffirst fnext nfirst nnext meta with-meta ns in-ns create-ns import "+"refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! "+"assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger "+"bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline "+"flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking "+"assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! "+"reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! "+"new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty "+"hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list "+"disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer "+"chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate "+"unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta "+"lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"};const SIMPLE_NUMBER_RE="[-+]?\\d+(\\.\\d+)?";const SYMBOL={begin:SYMBOL_RE,relevance:0};const NUMBER={className:"number",begin:SIMPLE_NUMBER_RE,relevance:0};const STRING=hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null});const COMMENT=hljs.COMMENT(";","$",{relevance:0});const LITERAL={className:"literal",begin:/\b(true|false|nil)\b/};const COLLECTION={begin:"[\\[\\{]",end:"[\\]\\}]"};const HINT={className:"comment",begin:"\\^"+SYMBOL_RE};const HINT_COL=hljs.COMMENT("\\^\\{","\\}");const KEY={className:"symbol",begin:"[:]{1,2}"+SYMBOL_RE};const LIST={begin:"\\(",end:"\\)"};const BODY={endsWithParent:true,relevance:0};const NAME={keywords:keywords,className:"name",begin:SYMBOL_RE,relevance:0,starts:BODY};const DEFAULT_CONTAINS=[LIST,STRING,HINT,HINT_COL,COMMENT,KEY,COLLECTION,NUMBER,LITERAL,SYMBOL];const GLOBAL={beginKeywords:globals,lexemes:SYMBOL_RE,end:'(\\[|#|\\d|"|:|\\{|\\)|\\(|$)',contains:[{className:"title",begin:SYMBOL_RE,relevance:0,excludeEnd:true,endsParent:true}].concat(DEFAULT_CONTAINS)};LIST.contains=[hljs.COMMENT("comment",""),GLOBAL,NAME,BODY];BODY.contains=DEFAULT_CONTAINS;COLLECTION.contains=DEFAULT_CONTAINS;HINT_COL.contains=[COLLECTION];return{name:"Clojure",aliases:["clj"],illegal:/\S/,contains:[LIST,STRING,HINT,HINT_COL,COMMENT,KEY,COLLECTION,NUMBER,LITERAL]}}module.exports=clojure},function(module,exports){function clojureRepl(hljs){return{name:"Clojure REPL",contains:[{className:"meta",begin:/^([\w.-]+|\s*#_)?=>/,starts:{end:/$/,subLanguage:"clojure"}}]}}module.exports=clojureRepl},function(module,exports){function cmake(hljs){return{name:"CMake",aliases:["cmake.in"],case_insensitive:true,keywords:{keyword:"break cmake_host_system_information cmake_minimum_required cmake_parse_arguments "+"cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro "+"endwhile execute_process file find_file find_library find_package find_path "+"find_program foreach function get_cmake_property get_directory_property "+"get_filename_component get_property if include include_guard list macro "+"mark_as_advanced math message option return separate_arguments "+"set_directory_properties set_property set site_name string unset variable_watch while "+"add_compile_definitions add_compile_options add_custom_command add_custom_target "+"add_definitions add_dependencies add_executable add_library add_link_options "+"add_subdirectory add_test aux_source_directory build_command create_test_sourcelist "+"define_property enable_language enable_testing export fltk_wrap_ui "+"get_source_file_property get_target_property get_test_property include_directories "+"include_external_msproject include_regular_expression install link_directories "+"link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions "+"set_source_files_properties set_target_properties set_tests_properties source_group "+"target_compile_definitions target_compile_features target_compile_options "+"target_include_directories target_link_directories target_link_libraries "+"target_link_options target_sources try_compile try_run "+"ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck "+"ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit "+"ctest_test ctest_update ctest_upload "+"build_name exec_program export_library_dependencies install_files install_programs "+"install_targets load_command make_directory output_required_files remove "+"subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file "+"qt5_use_modules qt5_use_package qt5_wrap_cpp "+"on off true false and or not command policy target test exists is_newer_than "+"is_directory is_symlink is_absolute matches less greater equal less_equal "+"greater_equal strless strgreater strequal strless_equal strgreater_equal version_less "+"version_greater version_equal version_less_equal version_greater_equal in_list defined"},contains:[{className:"variable",begin:/\$\{/,end:/\}/},hljs.HASH_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.NUMBER_MODE]}}module.exports=cmake},function(module,exports){const KEYWORDS=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"];const LITERALS=["true","false","null","undefined","NaN","Infinity"];const TYPES=["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"];const ERROR_TYPES=["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"];const BUILT_IN_GLOBALS=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"];const BUILT_IN_VARIABLES=["arguments","this","super","console","window","document","localStorage","module","global"];const BUILT_INS=[].concat(BUILT_IN_GLOBALS,BUILT_IN_VARIABLES,TYPES,ERROR_TYPES);function coffeescript(hljs){const COFFEE_BUILT_INS=["npm","print"];const COFFEE_LITERALS=["yes","no","on","off"];const COFFEE_KEYWORDS=["then","unless","until","loop","by","when","and","or","is","isnt","not"];const NOT_VALID_KEYWORDS=["var","const","let","function","static"];const excluding=list=>kw=>!list.includes(kw);const KEYWORDS$1={keyword:KEYWORDS.concat(COFFEE_KEYWORDS).filter(excluding(NOT_VALID_KEYWORDS)),literal:LITERALS.concat(COFFEE_LITERALS),built_in:BUILT_INS.concat(COFFEE_BUILT_INS)};const JS_IDENT_RE="[A-Za-z$_][0-9A-Za-z$_]*";const SUBST={className:"subst",begin:/#\{/,end:/\}/,keywords:KEYWORDS$1};const EXPRESSIONS=[hljs.BINARY_NUMBER_MODE,hljs.inherit(hljs.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[hljs.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[hljs.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[hljs.BACKSLASH_ESCAPE,SUBST]},{begin:/"/,end:/"/,contains:[hljs.BACKSLASH_ESCAPE,SUBST]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[SUBST,hljs.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+JS_IDENT_RE},{subLanguage:"javascript",excludeBegin:true,excludeEnd:true,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];SUBST.contains=EXPRESSIONS;const TITLE=hljs.inherit(hljs.TITLE_MODE,{begin:JS_IDENT_RE});const POSSIBLE_PARAMS_RE="(\\(.*\\)\\s*)?\\B[-=]>";const PARAMS={className:"params",begin:"\\([^\\(]",returnBegin:true,contains:[{begin:/\(/,end:/\)/,keywords:KEYWORDS$1,contains:["self"].concat(EXPRESSIONS)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:KEYWORDS$1,illegal:/\/\*/,contains:EXPRESSIONS.concat([hljs.COMMENT("###","###"),hljs.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+JS_IDENT_RE+"\\s*=\\s*"+POSSIBLE_PARAMS_RE,end:"[-=]>",returnBegin:true,contains:[TITLE,PARAMS]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:POSSIBLE_PARAMS_RE,end:"[-=]>",returnBegin:true,contains:[PARAMS]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:true,illegal:/[:="\[\]]/,contains:[TITLE]},TITLE]},{begin:JS_IDENT_RE+":",end:":",returnBegin:true,returnEnd:true,relevance:0}])}}module.exports=coffeescript},function(module,exports){function coq(hljs){return{name:"Coq",keywords:{keyword:"_|0 as at cofix else end exists exists2 fix for forall fun if IF in let "+"match mod Prop return Set then Type using where with "+"Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo "+"Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion "+"Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture "+"Conjectures Constant constr Constraint Constructors Context Corollary "+"CreateHintDb Cut Declare Defined Definition Delimit Dependencies Dependent "+"Derive Drop eauto End Equality Eval Example Existential Existentials "+"Existing Export exporting Extern Extract Extraction Fact Field Fields File "+"Fixpoint Focus for From Function Functional Generalizable Global Goal Grab "+"Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident "+"Identity If Immediate Implicit Import Include Inductive Infix Info Initial "+"Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear "+"Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML "+"Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation "+"Obligations Opaque Open Optimize Options Parameter Parameters Parametric "+"Path Paths pattern Polymorphic Preterm Print Printing Program Projections "+"Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark "+"Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save "+"Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern "+"SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies "+"Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time "+"Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused "+"Unfold Universe Universes Unset Unshelve using Variable Variables Variant "+"Verbose Visibility where with",built_in:"abstract absurd admit after apply as assert assumption at auto autorewrite "+"autounfold before bottom btauto by case case_eq cbn cbv change "+"classical_left classical_right clear clearbody cofix compare compute "+"congruence constr_eq constructor contradict contradiction cut cutrewrite "+"cycle decide decompose dependent destruct destruction dintuition "+"discriminate discrR do double dtauto eapply eassumption eauto ecase "+"econstructor edestruct ediscriminate eelim eexact eexists einduction "+"einjection eleft elim elimtype enough equality erewrite eright "+"esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail "+"field field_simplify field_simplify_eq first firstorder fix fold fourier "+"functional generalize generalizing gfail give_up has_evar hnf idtac in "+"induction injection instantiate intro intro_pattern intros intuition "+"inversion inversion_clear is_evar is_var lapply lazy left lia lra move "+"native_compute nia nsatz omega once pattern pose progress proof psatz quote "+"record red refine reflexivity remember rename repeat replace revert "+"revgoals rewrite rewrite_strat right ring ring_simplify rtauto set "+"setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry "+"setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve "+"specialize split split_Rabs split_Rmult stepl stepr subst sum swap "+"symmetry tactic tauto time timeout top transitivity trivial try tryif "+"unfold unify until using vm_compute with"},contains:[hljs.QUOTE_STRING_MODE,hljs.COMMENT("\\(\\*","\\*\\)"),hljs.C_NUMBER_MODE,{className:"type",excludeBegin:true,begin:"\\|\\s*",end:"\\w+"},{begin:/[-=]>/}]}}module.exports=coq},function(module,exports){function cos(hljs){const STRINGS={className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]}]};const NUMBERS={className:"number",begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)",relevance:0};const COS_KEYWORDS="property parameter class classmethod clientmethod extends as break "+"catch close continue do d|0 else elseif for goto halt hang h|0 if job "+"j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 "+"tcommit throw trollback try tstart use view while write w|0 xecute x|0 "+"zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert "+"zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit "+"zsync ascii";return{name:"Caché Object Script",case_insensitive:true,aliases:["cls"],keywords:COS_KEYWORDS,contains:[NUMBERS,STRINGS,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"comment",begin:/;/,end:"$",relevance:0},{className:"built_in",begin:/(?:\$\$?|\.\.)\^?[a-zA-Z]+/},{className:"built_in",begin:/\$\$\$[a-zA-Z]+/},{className:"built_in",begin:/%[a-z]+(?:\.[a-z]+)*/},{className:"symbol",begin:/\^%?[a-zA-Z][\w]*/},{className:"keyword",begin:/##class|##super|#define|#dim/},{begin:/&sql\(/,end:/\)/,excludeBegin:true,excludeEnd:true,subLanguage:"sql"},{begin:/&(js|jscript|javascript)</,end:/>/,excludeBegin:true,excludeEnd:true,subLanguage:"javascript"},{begin:/&html<\s*</,end:/>\s*>/,subLanguage:"xml"}]}}module.exports=cos},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function cpp(hljs){const C_LINE_COMMENT_MODE=hljs.COMMENT("//","$",{contains:[{begin:/\\\n/}]});const DECLTYPE_AUTO_RE="decltype\\(auto\\)";const NAMESPACE_RE="[a-zA-Z_]\\w*::";const TEMPLATE_ARGUMENT_RE="<[^<>]+>";const FUNCTION_TYPE_RE="("+DECLTYPE_AUTO_RE+"|"+optional(NAMESPACE_RE)+"[a-zA-Z_]\\w*"+optional(TEMPLATE_ARGUMENT_RE)+")";const CPP_PRIMITIVE_TYPES={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"};const CHARACTER_ESCAPES="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)";const STRINGS={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+CHARACTER_ESCAPES+"|.)",end:"'",illegal:"."},hljs.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]};const NUMBERS={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0};const PREPROCESSOR={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line "+"pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},hljs.inherit(STRINGS,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/},C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]};const TITLE_MODE={className:"title",begin:optional(NAMESPACE_RE)+hljs.IDENT_RE,relevance:0};const FUNCTION_TITLE=optional(NAMESPACE_RE)+hljs.IDENT_RE+"\\s*\\(";const COMMON_CPP_HINTS=["asin","atan2","atan","calloc","ceil","cosh","cos","exit","exp","fabs","floor","fmod","fprintf","fputs","free","frexp","auto_ptr","deque","list","queue","stack","vector","map","set","pair","bitset","multiset","multimap","unordered_set","fscanf","future","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","tolower","toupper","labs","ldexp","log10","log","malloc","realloc","memchr","memcmp","memcpy","memset","modf","pow","printf","putchar","puts","scanf","sinh","sin","snprintf","sprintf","sqrt","sscanf","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","tanh","tan","unordered_map","unordered_multiset","unordered_multimap","priority_queue","make_pair","array","shared_ptr","abort","terminate","abs","acos","vfprintf","vprintf","vsprintf","endl","initializer_list","unique_ptr","complex","imaginary","std","string","wstring","cin","cout","cerr","clog","stdin","stdout","stderr","stringstream","istringstream","ostringstream"];const CPP_KEYWORDS={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof "+"dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace "+"unsigned long volatile static protected bool template mutable if public friend "+"do goto auto void enum else break extern using asm case typeid wchar_t "+"short reinterpret_cast|10 default double register explicit signed typename try this "+"switch continue inline delete alignas alignof constexpr consteval constinit decltype "+"concept co_await co_return co_yield requires "+"noexcept static_assert thread_local restrict final override "+"atomic_bool atomic_char atomic_schar "+"atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong "+"atomic_ullong new throw return "+"and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"_Bool _Complex _Imaginary",_relevance_hints:COMMON_CPP_HINTS,literal:"true false nullptr NULL"};const FUNCTION_DISPATCH={className:"function.dispatch",relevance:0,keywords:CPP_KEYWORDS,begin:concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!while)/,hljs.IDENT_RE,lookahead(/\s*\(/))};const EXPRESSION_CONTAINS=[FUNCTION_DISPATCH,PREPROCESSOR,CPP_PRIMITIVE_TYPES,C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,NUMBERS,STRINGS];const EXPRESSION_CONTEXT={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:CPP_KEYWORDS,contains:EXPRESSION_CONTAINS.concat([{begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,contains:EXPRESSION_CONTAINS.concat(["self"]),relevance:0}]),relevance:0};const FUNCTION_DECLARATION={className:"function",begin:"("+FUNCTION_TYPE_RE+"[\\*&\\s]+)+"+FUNCTION_TITLE,returnBegin:true,end:/[{;=]/,excludeEnd:true,keywords:CPP_KEYWORDS,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:DECLTYPE_AUTO_RE,keywords:CPP_KEYWORDS,relevance:0},{begin:FUNCTION_TITLE,returnBegin:true,contains:[TITLE_MODE],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:true,contains:[STRINGS,NUMBERS]},{className:"params",begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,relevance:0,contains:[C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRINGS,NUMBERS,CPP_PRIMITIVE_TYPES,{begin:/\(/,end:/\)/,keywords:CPP_KEYWORDS,relevance:0,contains:["self",C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRINGS,NUMBERS,CPP_PRIMITIVE_TYPES]}]},CPP_PRIMITIVE_TYPES,C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,PREPROCESSOR]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:CPP_KEYWORDS,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(EXPRESSION_CONTEXT,FUNCTION_DECLARATION,FUNCTION_DISPATCH,EXPRESSION_CONTAINS,[PREPROCESSOR,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:CPP_KEYWORDS,contains:["self",CPP_PRIMITIVE_TYPES]},{begin:hljs.IDENT_RE+"::",keywords:CPP_KEYWORDS},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},hljs.TITLE_MODE]}]),exports:{preprocessor:PREPROCESSOR,strings:STRINGS,keywords:CPP_KEYWORDS}}}module.exports=cpp},function(module,exports){function crmsh(hljs){const RESOURCES="primitive rsc_template";const COMMANDS="group clone ms master location colocation order fencing_topology "+"rsc_ticket acl_target acl_group user role "+"tag xml";const PROPERTY_SETS="property rsc_defaults op_defaults";const KEYWORDS="params meta operations op rule attributes utilization";const OPERATORS="read write deny defined not_defined in_range date spec in "+"ref reference attribute type xpath version and or lt gt tag "+"lte gte eq ne \\";const TYPES="number string";const LITERALS="Master Started Slave Stopped start promote demote stop monitor true false";return{name:"crmsh",aliases:["crm","pcmk"],case_insensitive:true,keywords:{keyword:KEYWORDS+" "+OPERATORS+" "+TYPES,literal:LITERALS},contains:[hljs.HASH_COMMENT_MODE,{beginKeywords:"node",starts:{end:"\\s*([\\w_-]+:)?",starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*"}}},{beginKeywords:RESOURCES,starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*",starts:{end:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{begin:"\\b("+COMMANDS.split(" ").join("|")+")\\s+",keywords:COMMANDS,starts:{className:"title",end:"[\\$\\w_][\\w_-]*"}},{beginKeywords:PROPERTY_SETS,starts:{className:"title",end:"\\s*([\\w_-]+:)?"}},hljs.QUOTE_STRING_MODE,{className:"meta",begin:"(ocf|systemd|service|lsb):[\\w_:-]+",relevance:0},{className:"number",begin:"\\b\\d+(\\.\\d+)?(ms|s|h|m)?",relevance:0},{className:"literal",begin:"[-]?(infinity|inf)",relevance:0},{className:"attr",begin:/([A-Za-z$_#][\w_-]+)=/,relevance:0},{className:"tag",begin:"</?",end:"/?>",relevance:0}]}}module.exports=crmsh},function(module,exports){function crystal(hljs){const INT_SUFFIX="(_?[ui](8|16|32|64|128))?";const FLOAT_SUFFIX="(_?f(32|64))?";const CRYSTAL_IDENT_RE="[a-zA-Z_]\\w*[!?=]?";const CRYSTAL_METHOD_RE="[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?";const CRYSTAL_PATH_RE="[A-Za-z_]\\w*(::\\w+)*(\\?|!)?";const CRYSTAL_KEYWORDS={$pattern:CRYSTAL_IDENT_RE,keyword:"abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if "+"include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? "+"return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield "+"__DIR__ __END_LINE__ __FILE__ __LINE__",literal:"false nil true"};const SUBST={className:"subst",begin:/#\{/,end:/\}/,keywords:CRYSTAL_KEYWORDS};const EXPANSION={className:"template-variable",variants:[{begin:"\\{\\{",end:"\\}\\}"},{begin:"\\{%",end:"%\\}"}],keywords:CRYSTAL_KEYWORDS};function recursiveParen(begin,end){const contains=[{begin:begin,end:end}];contains[0].contains=contains;return contains}const STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[Qwi]?\\(",end:"\\)",contains:recursiveParen("\\(","\\)")},{begin:"%[Qwi]?\\[",end:"\\]",contains:recursiveParen("\\[","\\]")},{begin:"%[Qwi]?\\{",end:/\}/,contains:recursiveParen(/\{/,/\}/)},{begin:"%[Qwi]?<",end:">",contains:recursiveParen("<",">")},{begin:"%[Qwi]?\\|",end:"\\|"},{begin:/<<-\w+$/,end:/^\s*\w+$/}],relevance:0};const Q_STRING={className:"string",variants:[{begin:"%q\\(",end:"\\)",contains:recursiveParen("\\(","\\)")},{begin:"%q\\[",end:"\\]",contains:recursiveParen("\\[","\\]")},{begin:"%q\\{",end:/\}/,contains:recursiveParen(/\{/,/\}/)},{begin:"%q<",end:">",contains:recursiveParen("<",">")},{begin:"%q\\|",end:"\\|"},{begin:/<<-'\w+'$/,end:/^\s*\w+$/}],relevance:0};const REGEXP={begin:"(?!%\\})("+hljs.RE_STARTERS_RE+"|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*",keywords:"case if select unless until when while",contains:[{className:"regexp",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:"//[a-z]*",relevance:0},{begin:"/(?!\\/)",end:"/[a-z]*"}]}],relevance:0};const REGEXP2={className:"regexp",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:"%r\\(",end:"\\)",contains:recursiveParen("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:recursiveParen("\\[","\\]")},{begin:"%r\\{",end:/\}/,contains:recursiveParen(/\{/,/\}/)},{begin:"%r<",end:">",contains:recursiveParen("<",">")},{begin:"%r\\|",end:"\\|"}],relevance:0};const ATTRIBUTE={className:"meta",begin:"@\\[",end:"\\]",contains:[hljs.inherit(hljs.QUOTE_STRING_MODE,{className:"meta-string"})]};const CRYSTAL_DEFAULT_CONTAINS=[EXPANSION,STRING,Q_STRING,REGEXP2,REGEXP,ATTRIBUTE,hljs.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct",end:"$|;",illegal:/=/,contains:[hljs.HASH_COMMENT_MODE,hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_PATH_RE}),{begin:"<"}]},{className:"class",beginKeywords:"lib enum union",end:"$|;",illegal:/=/,contains:[hljs.HASH_COMMENT_MODE,hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_PATH_RE})]},{beginKeywords:"annotation",end:"$|;",illegal:/=/,contains:[hljs.HASH_COMMENT_MODE,hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_PATH_RE})],relevance:2},{className:"function",beginKeywords:"def",end:/\B\b/,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_METHOD_RE,endsParent:true})]},{className:"function",beginKeywords:"fun macro",end:/\B\b/,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_METHOD_RE,endsParent:true})],relevance:2},{className:"symbol",begin:hljs.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[STRING,{begin:CRYSTAL_METHOD_RE}],relevance:0},{className:"number",variants:[{begin:"\\b0b([01_]+)"+INT_SUFFIX},{begin:"\\b0o([0-7_]+)"+INT_SUFFIX},{begin:"\\b0x([A-Fa-f0-9_]+)"+INT_SUFFIX},{begin:"\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?"+FLOAT_SUFFIX+"(?!_)"},{begin:"\\b([1-9][0-9_]*|0)"+INT_SUFFIX}],relevance:0}];SUBST.contains=CRYSTAL_DEFAULT_CONTAINS;EXPANSION.contains=CRYSTAL_DEFAULT_CONTAINS.slice(1);return{name:"Crystal",aliases:["cr"],keywords:CRYSTAL_KEYWORDS,contains:CRYSTAL_DEFAULT_CONTAINS}}module.exports=crystal},function(module,exports){function csharp(hljs){const BUILT_IN_KEYWORDS=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"];const FUNCTION_MODIFIERS=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"];const LITERAL_KEYWORDS=["default","false","null","true"];const NORMAL_KEYWORDS=["abstract","as","base","break","case","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"];const CONTEXTUAL_KEYWORDS=["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"];const KEYWORDS={keyword:NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),built_in:BUILT_IN_KEYWORDS,literal:LITERAL_KEYWORDS};const TITLE_MODE=hljs.inherit(hljs.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"});const NUMBERS={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0};const VERBATIM_STRING={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]};const VERBATIM_STRING_NO_LF=hljs.inherit(VERBATIM_STRING,{illegal:/\n/});const SUBST={className:"subst",begin:/\{/,end:/\}/,keywords:KEYWORDS};const SUBST_NO_LF=hljs.inherit(SUBST,{illegal:/\n/});const INTERPOLATED_STRING={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},hljs.BACKSLASH_ESCAPE,SUBST_NO_LF]};const INTERPOLATED_VERBATIM_STRING={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},SUBST]};const INTERPOLATED_VERBATIM_STRING_NO_LF=hljs.inherit(INTERPOLATED_VERBATIM_STRING,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},SUBST_NO_LF]});SUBST.contains=[INTERPOLATED_VERBATIM_STRING,INTERPOLATED_STRING,VERBATIM_STRING,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,NUMBERS,hljs.C_BLOCK_COMMENT_MODE];SUBST_NO_LF.contains=[INTERPOLATED_VERBATIM_STRING_NO_LF,INTERPOLATED_STRING,VERBATIM_STRING_NO_LF,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,NUMBERS,hljs.inherit(hljs.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const STRING={variants:[INTERPOLATED_VERBATIM_STRING,INTERPOLATED_STRING,VERBATIM_STRING,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]};const GENERIC_MODIFIER={begin:"<",end:">",contains:[{beginKeywords:"in out"},TITLE_MODE]};const TYPE_IDENT_RE=hljs.IDENT_RE+"(<"+hljs.IDENT_RE+"(\\s*,\\s*"+hljs.IDENT_RE+")*>)?(\\[\\])?";const AT_IDENTIFIER={begin:"@"+hljs.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:KEYWORDS,illegal:/::/,contains:[hljs.COMMENT("///","$",{returnBegin:true,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]}),hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},STRING,NUMBERS,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},TITLE_MODE,GENERIC_MODIFIER,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[TITLE_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[TITLE_MODE,GENERIC_MODIFIER,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:true,end:"\\]",excludeEnd:true,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+TYPE_IDENT_RE+"\\s+)+"+hljs.IDENT_RE+"\\s*(<.+>\\s*)?\\(",returnBegin:true,end:/\s*[{;=]/,excludeEnd:true,keywords:KEYWORDS,contains:[{beginKeywords:FUNCTION_MODIFIERS.join(" "),relevance:0},{begin:hljs.IDENT_RE+"\\s*(<.+>\\s*)?\\(",returnBegin:true,contains:[hljs.TITLE_MODE,GENERIC_MODIFIER],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,keywords:KEYWORDS,relevance:0,contains:[STRING,NUMBERS,hljs.C_BLOCK_COMMENT_MODE]},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},AT_IDENTIFIER]}}module.exports=csharp},function(module,exports){function csp(hljs){return{name:"CSP",case_insensitive:false,keywords:{$pattern:"[a-zA-Z][a-zA-Z0-9_-]*",keyword:"base-uri child-src connect-src default-src font-src form-action "+"frame-ancestors frame-src img-src media-src object-src plugin-types "+"report-uri sandbox script-src style-src"},contains:[{className:"string",begin:"'",end:"'"},{className:"attribute",begin:"^Content",end:":",excludeEnd:true}]}}module.exports=csp},function(module,exports){const MODES=hljs=>({IMPORTANT:{className:"meta",begin:"!important"},HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"},ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]}});const TAGS=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"];const MEDIA_FEATURES=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"];const PSEUDO_CLASSES=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"];const PSEUDO_ELEMENTS=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"];const ATTRIBUTES=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse();function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function css(hljs){const modes=MODES(hljs);const FUNCTION_DISPATCH={className:"built_in",begin:/[\w-]+(?=\()/};const VENDOR_PREFIX={begin:/-(webkit|moz|ms|o)-(?=[a-z])/};const AT_MODIFIERS="and or not only";const AT_PROPERTY_RE=/@-?\w[\w]*(-\w+)*/;const IDENT_RE="[a-zA-Z-][a-zA-Z0-9_-]*";const STRINGS=[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:true,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[hljs.C_BLOCK_COMMENT_MODE,VENDOR_PREFIX,hljs.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+IDENT_RE,relevance:0},modes.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+PSEUDO_CLASSES.join("|")+")"},{begin:"::("+PSEUDO_ELEMENTS.join("|")+")"}]},{className:"attribute",begin:"\\b("+ATTRIBUTES.join("|")+")\\b"},{begin:":",end:"[;}]",contains:[modes.HEXCOLOR,modes.IMPORTANT,hljs.CSS_NUMBER_MODE,...STRINGS,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[{className:"string",begin:/[^)]/,endsWithParent:true,excludeEnd:true}]},FUNCTION_DISPATCH]},{begin:lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:AT_PROPERTY_RE},{begin:/\s/,endsWithParent:true,excludeEnd:true,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:AT_MODIFIERS,attribute:MEDIA_FEATURES.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...STRINGS,hljs.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+TAGS.join("|")+")\\b"}]}}module.exports=css},function(module,exports){function d(hljs){const D_KEYWORDS={$pattern:hljs.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class "+"const continue debug default delete deprecated do else enum export extern final "+"finally for foreach foreach_reverse|10 goto if immutable import in inout int "+"interface invariant is lazy macro mixin module new nothrow out override package "+"pragma private protected public pure ref return scope shared static struct "+"super switch synchronized template this throw try typedef typeid typeof union "+"unittest version void volatile while with __FILE__ __LINE__ __gshared|10 "+"__thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function "+"idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar "+"wstring",literal:"false null true"};const decimal_integer_re="(0|[1-9][\\d_]*)";const decimal_integer_nosus_re="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)";const binary_integer_re="0[bB][01_]+";const hexadecimal_digits_re="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)";const hexadecimal_integer_re="0[xX]"+hexadecimal_digits_re;const decimal_exponent_re="([eE][+-]?"+decimal_integer_nosus_re+")";const decimal_float_re="("+decimal_integer_nosus_re+"(\\.\\d*|"+decimal_exponent_re+")|"+"\\d+\\."+decimal_integer_nosus_re+"|"+"\\."+decimal_integer_re+decimal_exponent_re+"?"+")";const hexadecimal_float_re="(0[xX]("+hexadecimal_digits_re+"\\."+hexadecimal_digits_re+"|"+"\\.?"+hexadecimal_digits_re+")[pP][+-]?"+decimal_integer_nosus_re+")";const integer_re="("+decimal_integer_re+"|"+binary_integer_re+"|"+hexadecimal_integer_re+")";const float_re="("+hexadecimal_float_re+"|"+decimal_float_re+")";const escape_sequence_re="\\\\("+"['\"\\?\\\\abfnrtv]|"+"u[\\dA-Fa-f]{4}|"+"[0-7]{1,3}|"+"x[\\dA-Fa-f]{2}|"+"U[\\dA-Fa-f]{8}"+")|"+"&[a-zA-Z\\d]{2,};";const D_INTEGER_MODE={className:"number",begin:"\\b"+integer_re+"(L|u|U|Lu|LU|uL|UL)?",relevance:0};const D_FLOAT_MODE={className:"number",begin:"\\b("+float_re+"([fF]|L|i|[fF]i|Li)?|"+integer_re+"(i|[fF]i|Li)"+")",relevance:0};const D_CHARACTER_MODE={className:"string",begin:"'("+escape_sequence_re+"|.)",end:"'",illegal:"."};const D_ESCAPE_SEQUENCE={begin:escape_sequence_re,relevance:0};const D_STRING_MODE={className:"string",begin:'"',contains:[D_ESCAPE_SEQUENCE],end:'"[cwd]?'};const D_WYSIWYG_DELIMITED_STRING_MODE={className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5};const D_ALTERNATE_WYSIWYG_STRING_MODE={className:"string",begin:"`",end:"`[cwd]?"};const D_HEX_STRING_MODE={className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10};const D_TOKEN_STRING_MODE={className:"string",begin:'q"\\{',end:'\\}"'};const D_HASHBANG_MODE={className:"meta",begin:"^#!",end:"$",relevance:5};const D_SPECIAL_TOKEN_SEQUENCE_MODE={className:"meta",begin:"#(line)",end:"$",relevance:5};const D_ATTRIBUTE_MODE={className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"};const D_NESTING_COMMENT_MODE=hljs.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:D_KEYWORDS,contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,D_NESTING_COMMENT_MODE,D_HEX_STRING_MODE,D_STRING_MODE,D_WYSIWYG_DELIMITED_STRING_MODE,D_ALTERNATE_WYSIWYG_STRING_MODE,D_TOKEN_STRING_MODE,D_FLOAT_MODE,D_INTEGER_MODE,D_CHARACTER_MODE,D_HASHBANG_MODE,D_SPECIAL_TOKEN_SEQUENCE_MODE,D_ATTRIBUTE_MODE]}}module.exports=d},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function markdown(hljs){const INLINE_HTML={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0};const HORIZONTAL_RULE={begin:"^[-\\*]{3,}",end:"$"};const CODE={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]};const LIST={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:true};const LINK_REFERENCE={begin:/^\[[^\n]+\]:/,returnBegin:true,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:true,excludeEnd:true},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:true}]};const URL_SCHEME=/[A-Za-z][A-Za-z0-9+.-]*/;const LINK={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:concat(/\[.+?\]\(/,URL_SCHEME,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.+?\]\(.*?\)/,relevance:0}],returnBegin:true,contains:[{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:true,returnEnd:true},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:true,excludeEnd:true},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:true,excludeEnd:true}]};const BOLD={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]};const ITALIC={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};BOLD.contains.push(ITALIC);ITALIC.contains.push(BOLD);let CONTAINABLE=[INLINE_HTML,LINK];BOLD.contains=BOLD.contains.concat(CONTAINABLE);ITALIC.contains=ITALIC.contains.concat(CONTAINABLE);CONTAINABLE=CONTAINABLE.concat(BOLD,ITALIC);const HEADER={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:CONTAINABLE},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:CONTAINABLE}]}]};const BLOCKQUOTE={className:"quote",begin:"^>\\s+",contains:CONTAINABLE,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[HEADER,INLINE_HTML,LIST,BOLD,ITALIC,BLOCKQUOTE,CODE,HORIZONTAL_RULE,LINK,LINK_REFERENCE]}}module.exports=markdown},function(module,exports){function dart(hljs){const SUBST={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]};const BRACED_SUBST={className:"subst",variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super"};const STRING={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[hljs.BACKSLASH_ESCAPE,SUBST,BRACED_SUBST]},{begin:'"""',end:'"""',contains:[hljs.BACKSLASH_ESCAPE,SUBST,BRACED_SUBST]},{begin:"'",end:"'",illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE,SUBST,BRACED_SUBST]},{begin:'"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE,SUBST,BRACED_SUBST]}]};BRACED_SUBST.contains=[hljs.C_NUMBER_MODE,STRING];const BUILT_IN_TYPES=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"];const NULLABLE_BUILT_IN_TYPES=BUILT_IN_TYPES.map(e=>`${e}?`);const KEYWORDS={keyword:"abstract as assert async await break case catch class const continue covariant default deferred do "+"dynamic else enum export extends extension external factory false final finally for Function get hide if "+"implements import in inferface is late library mixin new null on operator part required rethrow return set "+"show static super switch sync this throw true try typedef var void while with yield",built_in:BUILT_IN_TYPES.concat(NULLABLE_BUILT_IN_TYPES).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]),$pattern:/[A-Za-z][A-Za-z0-9_]*\??/};return{name:"Dart",keywords:KEYWORDS,contains:[STRING,hljs.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0}),hljs.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".",end:"$",relevance:0}]}),hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:true,contains:[{beginKeywords:"extends implements"},hljs.UNDERSCORE_TITLE_MODE]},hljs.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}}module.exports=dart},function(module,exports){function delphi(hljs){const KEYWORDS="exports register file shl array record property for mod while set ally label uses raise not "+"stored class safecall var interface or private static exit index inherited to else stdcall "+"override shr asm far resourcestring finalization packed virtual out and protected library do "+"xorwrite goto near function end div overload object unit begin string on inline repeat until "+"destructor write message program with read initialization except default nil if case cdecl in "+"downto threadvar of try pascal const external constructor type public then implementation "+"finally published procedure absolute reintroduce operator as is abstract alias assembler "+"bitpacked break continue cppdecl cvar enumerator experimental platform deprecated "+"unimplemented dynamic export far16 forward generic helper implements interrupt iochecks "+"local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat "+"specialize strict unaligned varargs ";const COMMENT_MODES=[hljs.C_LINE_COMMENT_MODE,hljs.COMMENT(/\{/,/\}/,{relevance:0}),hljs.COMMENT(/\(\*/,/\*\)/,{relevance:10})];const DIRECTIVE={className:"meta",variants:[{begin:/\{\$/,end:/\}/},{begin:/\(\*\$/,end:/\*\)/}]};const STRING={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]};const NUMBER={className:"number",relevance:0,variants:[{begin:"\\$[0-9A-Fa-f]+"},{begin:"&[0-7]+"},{begin:"%[01]+"}]};const CHAR_STRING={className:"string",begin:/(#\d+)+/};const CLASS={begin:hljs.IDENT_RE+"\\s*=\\s*class\\s*\\(",returnBegin:true,contains:[hljs.TITLE_MODE]};const FUNCTION={className:"function",beginKeywords:"function constructor destructor procedure",end:/[:;]/,keywords:"function constructor|10 destructor|10 procedure|10",contains:[hljs.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:KEYWORDS,contains:[STRING,CHAR_STRING,DIRECTIVE].concat(COMMENT_MODES)},DIRECTIVE].concat(COMMENT_MODES)};return{name:"Delphi",aliases:["dpr","dfm","pas","pascal","freepascal","lazarus","lpr","lfm"],case_insensitive:true,keywords:KEYWORDS,illegal:/"|\$[G-Zg-z]|\/\*|<\/|\|/,contains:[STRING,CHAR_STRING,hljs.NUMBER_MODE,NUMBER,CLASS,FUNCTION,DIRECTIVE].concat(COMMENT_MODES)}}module.exports=delphi},function(module,exports){function diff(hljs){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^--- +\d+,\d+ +----$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/^index/,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/},{begin:/^diff --git/,end:/$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}module.exports=diff},function(module,exports){function django(hljs){const FILTER={begin:/\|[A-Za-z]+:?/,keywords:{name:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags "+"filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands "+"title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode "+"timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort "+"dictsortreversed default_if_none pluralize lower join center default "+"truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first "+"escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize "+"localtime utc timezone"},contains:[hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE]};return{name:"Django",aliases:["jinja"],case_insensitive:true,subLanguage:"xml",contains:[hljs.COMMENT(/\{%\s*comment\s*%\}/,/\{%\s*endcomment\s*%\}/),hljs.COMMENT(/\{#/,/#\}/),{className:"template-tag",begin:/\{%/,end:/%\}/,contains:[{className:"name",begin:/\w+/,keywords:{name:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for "+"endfor ifnotequal endifnotequal widthratio extends include spaceless "+"endspaceless regroup ifequal endifequal ssi now with cycle url filter "+"endfilter debug block endblock else autoescape endautoescape csrf_token empty elif "+"endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix "+"plural get_current_language language get_available_languages "+"get_current_language_bidi get_language_info get_language_info_list localize "+"endlocalize localtime endlocaltime timezone endtimezone get_current_timezone "+"verbatim"},starts:{endsWithParent:true,keywords:"in by as",contains:[FILTER],relevance:0}}]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[FILTER]}]}}module.exports=django},function(module,exports){function dns(hljs){return{name:"DNS Zone",aliases:["bind","zone"],keywords:{keyword:"IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX "+"LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT"},contains:[hljs.COMMENT(";","$",{relevance:0}),{className:"meta",begin:/^\$(TTL|GENERATE|INCLUDE|ORIGIN)\b/},{className:"number",begin:"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))\\b"},{className:"number",begin:"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b"},hljs.inherit(hljs.NUMBER_MODE,{begin:/\b\d+[dhwm]?/})]}}module.exports=dns},function(module,exports){function dockerfile(hljs){return{name:"Dockerfile",aliases:["docker"],case_insensitive:true,keywords:"from maintainer expose env arg user onbuild stopsignal",contains:[hljs.HASH_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.NUMBER_MODE,{beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"</"}}module.exports=dockerfile},function(module,exports){function dos(hljs){const COMMENT=hljs.COMMENT(/^\s*@?rem\b/,/$/,{relevance:10});const LABEL={className:"symbol",begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",relevance:0};return{name:"Batch file (DOS)",aliases:["bat","cmd"],case_insensitive:true,illegal:/\/\*/,keywords:{keyword:"if else goto for in do call exit not exist errorlevel defined "+"equ neq lss leq gtr geq",built_in:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux "+"shift cd dir echo setlocal endlocal set pause copy "+"append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color "+"comp compact convert date dir diskcomp diskcopy doskey erase fs "+"find findstr format ftype graftabl help keyb label md mkdir mode more move path "+"pause print popd pushd promt rd recover rem rename replace restore rmdir shift "+"sort start subst time title tree type ver verify vol "+"ping net ipconfig taskkill xcopy ren del"},contains:[{className:"variable",begin:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{className:"function",begin:LABEL.begin,end:"goto:eof",contains:[hljs.inherit(hljs.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),COMMENT]},{className:"number",begin:"\\b\\d+",relevance:0},COMMENT]}}module.exports=dos},function(module,exports){function dsconfig(hljs){const QUOTED_PROPERTY={className:"string",begin:/"/,end:/"/};const APOS_PROPERTY={className:"string",begin:/'/,end:/'/};const UNQUOTED_PROPERTY={className:"string",begin:/[\w\-?]+:\w+/,end:/\W/,relevance:0};const VALUELESS_PROPERTY={className:"string",begin:/\w+(\-\w+)*/,end:/(?=\W)/,relevance:0};return{keywords:"dsconfig",contains:[{className:"keyword",begin:"^dsconfig",end:/\s/,excludeEnd:true,relevance:10},{className:"built_in",begin:/(list|create|get|set|delete)-(\w+)/,end:/\s/,excludeEnd:true,illegal:"!@#$%^&*()",relevance:10},{className:"built_in",begin:/--(\w+)/,end:/\s/,excludeEnd:true},QUOTED_PROPERTY,APOS_PROPERTY,UNQUOTED_PROPERTY,VALUELESS_PROPERTY,hljs.HASH_COMMENT_MODE]}}module.exports=dsconfig},function(module,exports){function dts(hljs){const STRINGS={className:"string",variants:[hljs.inherit(hljs.QUOTE_STRING_MODE,{begin:'((u8?|U)|L)?"'}),{begin:'(u8?|U)?R"',end:'"',contains:[hljs.BACKSLASH_ESCAPE]},{begin:"'\\\\?.",end:"'",illegal:"."}]};const NUMBERS={className:"number",variants:[{begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{begin:hljs.C_NUMBER_RE}],relevance:0};const PREPROCESSOR={className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef ifdef ifndef"},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",keywords:{"meta-keyword":"include"},contains:[hljs.inherit(STRINGS,{className:"meta-string"}),{className:"meta-string",begin:"<",end:">",illegal:"\\n"}]},STRINGS,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]};const DTS_REFERENCE={className:"variable",begin:/&[a-z\d_]*\b/};const DTS_KEYWORD={className:"meta-keyword",begin:"/[a-z][a-z\\d-]*/"};const DTS_LABEL={className:"symbol",begin:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"};const DTS_CELL_PROPERTY={className:"params",begin:"<",end:">",contains:[NUMBERS,DTS_REFERENCE]};const DTS_NODE={className:"class",begin:/[a-zA-Z_][a-zA-Z\d_@]*\s\{/,end:/[{;=]/,returnBegin:true,excludeEnd:true};const DTS_ROOT_NODE={className:"class",begin:"/\\s*\\{",end:/\};/,relevance:10,contains:[DTS_REFERENCE,DTS_KEYWORD,DTS_LABEL,DTS_NODE,DTS_CELL_PROPERTY,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,NUMBERS,STRINGS]};return{name:"Device Tree",keywords:"",contains:[DTS_ROOT_NODE,DTS_REFERENCE,DTS_KEYWORD,DTS_LABEL,DTS_NODE,DTS_CELL_PROPERTY,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,NUMBERS,STRINGS,PREPROCESSOR,{begin:hljs.IDENT_RE+"::",keywords:""}]}}module.exports=dts},function(module,exports){function dust(hljs){const EXPRESSION_KEYWORDS="if eq ne lt lte gt gte select default math sep";return{name:"Dust",aliases:["dst"],case_insensitive:true,subLanguage:"xml",contains:[{className:"template-tag",begin:/\{[#\/]/,end:/\}/,illegal:/;/,contains:[{className:"name",begin:/[a-zA-Z\.-]+/,starts:{endsWithParent:true,relevance:0,contains:[hljs.QUOTE_STRING_MODE]}}]},{className:"template-variable",begin:/\{/,end:/\}/,illegal:/;/,keywords:EXPRESSION_KEYWORDS}]}}module.exports=dust},function(module,exports){function ebnf(hljs){const commentMode=hljs.COMMENT(/\(\*/,/\*\)/);const nonTerminalMode={className:"attribute",begin:/^[ ]*[a-zA-Z]+([\s_-]+[a-zA-Z]+)*/};const specialSequenceMode={className:"meta",begin:/\?.*\?/};const ruleBodyMode={begin:/=/,end:/[.;]/,contains:[commentMode,specialSequenceMode,{className:"string",variants:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{begin:"`",end:"`"}]}]};return{name:"Extended Backus-Naur Form",illegal:/\S/,contains:[commentMode,nonTerminalMode,ruleBodyMode]}}module.exports=ebnf},function(module,exports){function elixir(hljs){const ELIXIR_IDENT_RE="[a-zA-Z_][a-zA-Z0-9_.]*(!|\\?)?";const ELIXIR_METHOD_RE="[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";const ELIXIR_KEYWORDS={$pattern:ELIXIR_IDENT_RE,keyword:"and false then defined module in return redo retry end for true self when "+"next until do begin unless nil break not case cond alias while ensure or "+"include use alias fn quote require import with|0"};const SUBST={className:"subst",begin:/#\{/,end:/\}/,keywords:ELIXIR_KEYWORDS};const NUMBER={className:"number",begin:"(\\b0o[0-7_]+)|(\\b0b[01_]+)|(\\b0x[0-9a-fA-F_]+)|(-?\\b[1-9][0-9_]*(\\.[0-9_]+([eE][-+]?[0-9]+)?)?)",relevance:0};const SIGIL_DELIMITERS="[/|([{<\"']";const LOWERCASE_SIGIL={className:"string",begin:"~[a-z]"+"(?="+SIGIL_DELIMITERS+")",contains:[{endsParent:true,contains:[{contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/\//,end:/\//},{begin:/\|/,end:/\|/},{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/},{begin:/\{/,end:/\}/},{begin:/</,end:/>/}]}]}]};const UPCASE_SIGIL={className:"string",begin:"~[A-Z]"+"(?="+SIGIL_DELIMITERS+")",contains:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/\//,end:/\//},{begin:/\|/,end:/\|/},{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/},{begin:/\{/,end:/\}/},{begin:/</,end:/>/}]};const STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:/"""/,end:/"""/},{begin:/'''/,end:/'''/},{begin:/~S"""/,end:/"""/,contains:[]},{begin:/~S"/,end:/"/,contains:[]},{begin:/~S'''/,end:/'''/,contains:[]},{begin:/~S'/,end:/'/,contains:[]},{begin:/'/,end:/'/},{begin:/"/,end:/"/}]};const FUNCTION={className:"function",beginKeywords:"def defp defmacro",end:/\B\b/,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:ELIXIR_IDENT_RE,endsParent:true})]};const CLASS=hljs.inherit(FUNCTION,{className:"class",beginKeywords:"defimpl defmodule defprotocol defrecord",end:/\bdo\b|$|;/});const ELIXIR_DEFAULT_CONTAINS=[STRING,UPCASE_SIGIL,LOWERCASE_SIGIL,hljs.HASH_COMMENT_MODE,CLASS,FUNCTION,{begin:"::"},{className:"symbol",begin:":(?![\\s:])",contains:[STRING,{begin:ELIXIR_METHOD_RE}],relevance:0},{className:"symbol",begin:ELIXIR_IDENT_RE+":(?!:)",relevance:0},NUMBER,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))"},{begin:"->"},{begin:"("+hljs.RE_STARTERS_RE+")\\s*",contains:[hljs.HASH_COMMENT_MODE,{begin:/\/: (?=\d+\s*[,\]])/,relevance:0,contains:[NUMBER]},{className:"regexp",illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}],relevance:0}];SUBST.contains=ELIXIR_DEFAULT_CONTAINS;return{name:"Elixir",keywords:ELIXIR_KEYWORDS,contains:ELIXIR_DEFAULT_CONTAINS}}module.exports=elixir},function(module,exports){function elm(hljs){const COMMENT={variants:[hljs.COMMENT("--","$"),hljs.COMMENT(/\{-/,/-\}/,{contains:["self"]})]};const CONSTRUCTOR={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0};const LIST={begin:"\\(",end:"\\)",illegal:'"',contains:[{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},COMMENT]};const RECORD={begin:/\{/,end:/\}/,contains:LIST.contains};const CHARACTER={className:"string",begin:"'\\\\?.",end:"'",illegal:"."};return{name:"Elm",keywords:"let in if then else case of where module import exposing "+"type alias as infix infixl infixr port effect command subscription",contains:[{beginKeywords:"port effect module",end:"exposing",keywords:"port effect module where command subscription exposing",contains:[LIST,COMMENT],illegal:"\\W\\.|;"},{begin:"import",end:"$",keywords:"import as exposing",contains:[LIST,COMMENT],illegal:"\\W\\.|;"},{begin:"type",end:"$",keywords:"type alias",contains:[CONSTRUCTOR,LIST,RECORD,COMMENT]},{beginKeywords:"infix infixl infixr",end:"$",contains:[hljs.C_NUMBER_MODE,COMMENT]},{begin:"port",end:"$",keywords:"port",contains:[COMMENT]},CHARACTER,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE,CONSTRUCTOR,hljs.inherit(hljs.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),COMMENT,{begin:"->|<-"}],illegal:/;/}}module.exports=elm},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function ruby(hljs){const RUBY_METHOD_RE="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)";const RUBY_KEYWORDS={keyword:"and then defined module in return redo if BEGIN retry end for self when "+"next until do begin unless END rescue else break undef not super class case "+"require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor "+"__FILE__",built_in:"proc lambda",literal:"true false nil"};const YARDOCTAG={className:"doctag",begin:"@[A-Za-z]+"};const IRB_OBJECT={begin:"#<",end:">"};const COMMENT_MODES=[hljs.COMMENT("#","$",{contains:[YARDOCTAG]}),hljs.COMMENT("^=begin","^=end",{contains:[YARDOCTAG],relevance:10}),hljs.COMMENT("^__END__","\\n$")];const SUBST={className:"subst",begin:/#\{/,end:/\}/,keywords:RUBY_KEYWORDS};const STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:/<<[-~]?'?(\w+)\n(?:[^\n]*\n)*?\s*\1\b/,returnBegin:true,contains:[{begin:/<<[-~]?'?/},hljs.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[hljs.BACKSLASH_ESCAPE,SUBST]})]}]};const decimal="[1-9](_?[0-9])*|0";const digits="[0-9](_?[0-9])*";const NUMBER={className:"number",relevance:0,variants:[{begin:`\\b(${decimal})(\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]};const PARAMS={className:"params",begin:"\\(",end:"\\)",endsParent:true,keywords:RUBY_KEYWORDS};const RUBY_DEFAULT_CONTAINS=[STRING,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{begin:"("+hljs.IDENT_RE+"::)?"+hljs.IDENT_RE,relevance:0}]}].concat(COMMENT_MODES)},{className:"function",begin:concat(/def\s+/,lookahead(RUBY_METHOD_RE+"\\s*(\\(|;|$)")),relevance:0,keywords:"def",end:"$|;",contains:[hljs.inherit(hljs.TITLE_MODE,{begin:RUBY_METHOD_RE}),PARAMS].concat(COMMENT_MODES)},{begin:hljs.IDENT_RE+"::"},{className:"symbol",begin:hljs.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[STRING,{begin:RUBY_METHOD_RE}],relevance:0},NUMBER,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])"+`(?![A-Za-z])(?![@$?'])`},{className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:RUBY_KEYWORDS},{begin:"("+hljs.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[hljs.BACKSLASH_ESCAPE,SUBST],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(IRB_OBJECT,COMMENT_MODES),relevance:0}].concat(IRB_OBJECT,COMMENT_MODES);SUBST.contains=RUBY_DEFAULT_CONTAINS;PARAMS.contains=RUBY_DEFAULT_CONTAINS;const SIMPLE_PROMPT="[>?]>";const DEFAULT_PROMPT="[\\w#]+\\(\\w+\\):\\d+:\\d+>";const RVM_PROMPT="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>";const IRB_DEFAULT=[{begin:/^\s*=>/,starts:{end:"$",contains:RUBY_DEFAULT_CONTAINS}},{className:"meta",begin:"^("+SIMPLE_PROMPT+"|"+DEFAULT_PROMPT+"|"+RVM_PROMPT+")(?=[ ])",starts:{end:"$",contains:RUBY_DEFAULT_CONTAINS}}];COMMENT_MODES.unshift(IRB_OBJECT);return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:RUBY_KEYWORDS,illegal:/\/\*/,contains:[hljs.SHEBANG({binary:"ruby"})].concat(IRB_DEFAULT).concat(COMMENT_MODES).concat(RUBY_DEFAULT_CONTAINS)}}module.exports=ruby},function(module,exports){function erb(hljs){return{name:"ERB",subLanguage:"xml",contains:[hljs.COMMENT("<%#","%>"),{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:true,excludeEnd:true}]}}module.exports=erb},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function erlangRepl(hljs){return{name:"Erlang REPL",keywords:{built_in:"spawn spawn_link self",keyword:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if "+"let not of or orelse|10 query receive rem try when xor"},contains:[{className:"meta",begin:"^[0-9]+> ",relevance:10},hljs.COMMENT("%","$"),{className:"number",begin:"\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)",relevance:0},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{begin:concat(/\?(::)?/,/([A-Z]\w*)/,/((::)[A-Z]\w*)*/)},{begin:"->"},{begin:"ok"},{begin:"!"},{begin:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",relevance:0},{begin:"[A-Z][a-zA-Z0-9_']*",relevance:0}]}}module.exports=erlangRepl},function(module,exports){function erlang(hljs){const BASIC_ATOM_RE="[a-z'][a-zA-Z0-9_']*";const FUNCTION_NAME_RE="("+BASIC_ATOM_RE+":"+BASIC_ATOM_RE+"|"+BASIC_ATOM_RE+")";const ERLANG_RESERVED={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if "+"let not of orelse|10 query receive rem try when xor",literal:"false true"};const COMMENT=hljs.COMMENT("%","$");const NUMBER={className:"number",begin:"\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)",relevance:0};const NAMED_FUN={begin:"fun\\s+"+BASIC_ATOM_RE+"/\\d+"};const FUNCTION_CALL={begin:FUNCTION_NAME_RE+"\\(",end:"\\)",returnBegin:true,relevance:0,contains:[{begin:FUNCTION_NAME_RE,relevance:0},{begin:"\\(",end:"\\)",endsWithParent:true,returnEnd:true,relevance:0}]};const TUPLE={begin:/\{/,end:/\}/,relevance:0};const VAR1={begin:"\\b_([A-Z][A-Za-z0-9_]*)?",relevance:0};const VAR2={begin:"[A-Z][a-zA-Z0-9_]*",relevance:0};const RECORD_ACCESS={begin:"#"+hljs.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:true,contains:[{begin:"#"+hljs.UNDERSCORE_IDENT_RE,relevance:0},{begin:/\{/,end:/\}/,relevance:0}]};const BLOCK_STATEMENTS={beginKeywords:"fun receive if try case",end:"end",keywords:ERLANG_RESERVED};BLOCK_STATEMENTS.contains=[COMMENT,NAMED_FUN,hljs.inherit(hljs.APOS_STRING_MODE,{className:""}),BLOCK_STATEMENTS,FUNCTION_CALL,hljs.QUOTE_STRING_MODE,NUMBER,TUPLE,VAR1,VAR2,RECORD_ACCESS];const BASIC_MODES=[COMMENT,NAMED_FUN,BLOCK_STATEMENTS,FUNCTION_CALL,hljs.QUOTE_STRING_MODE,NUMBER,TUPLE,VAR1,VAR2,RECORD_ACCESS];FUNCTION_CALL.contains[1].contains=BASIC_MODES;TUPLE.contains=BASIC_MODES;RECORD_ACCESS.contains[1].contains=BASIC_MODES;const DIRECTIVES=["-module","-record","-undef","-export","-ifdef","-ifndef","-author","-copyright","-doc","-vsn","-import","-include","-include_lib","-compile","-define","-else","-endif","-file","-behaviour","-behavior","-spec"];const PARAMS={className:"params",begin:"\\(",end:"\\)",contains:BASIC_MODES};return{name:"Erlang",aliases:["erl"],keywords:ERLANG_RESERVED,illegal:"(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))",contains:[{className:"function",begin:"^"+BASIC_ATOM_RE+"\\s*\\(",end:"->",returnBegin:true,illegal:"\\(|#|//|/\\*|\\\\|:|;",contains:[PARAMS,hljs.inherit(hljs.TITLE_MODE,{begin:BASIC_ATOM_RE})],starts:{end:";|\\.",keywords:ERLANG_RESERVED,contains:BASIC_MODES}},COMMENT,{begin:"^-",end:"\\.",relevance:0,excludeEnd:true,returnBegin:true,keywords:{$pattern:"-"+hljs.IDENT_RE,keyword:DIRECTIVES.map(x=>`${x}|1.5`).join(" ")},contains:[PARAMS]},NUMBER,hljs.QUOTE_STRING_MODE,RECORD_ACCESS,VAR1,VAR2,TUPLE,{begin:/\.$/}]}}module.exports=erlang},function(module,exports){function excel(hljs){return{name:"Excel formulae",aliases:["xlsx","xls"],case_insensitive:true,keywords:{$pattern:/[a-zA-Z][\w\.]*/,built_in:"ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST"},contains:[{begin:/^=/,end:/[^=]/,returnEnd:true,illegal:/=/,relevance:10},{className:"symbol",begin:/\b[A-Z]{1,2}\d+\b/,end:/[^\d]/,excludeEnd:true,relevance:0},{className:"symbol",begin:/[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/,relevance:0},hljs.BACKSLASH_ESCAPE,hljs.QUOTE_STRING_MODE,{className:"number",begin:hljs.NUMBER_RE+"(%)?",relevance:0},hljs.COMMENT(/\bN\(/,/\)/,{excludeBegin:true,excludeEnd:true,illegal:/\n/})]}}module.exports=excel},function(module,exports){function fix(hljs){return{name:"FIX",contains:[{begin:/[^\u2401\u0001]+/,end:/[\u2401\u0001]/,excludeEnd:true,returnBegin:true,returnEnd:false,contains:[{begin:/([^\u2401\u0001=]+)/,end:/=([^\u2401\u0001=]+)/,returnEnd:true,returnBegin:false,className:"attr"},{begin:/=/,end:/([\u2401\u0001])/,excludeEnd:true,excludeBegin:true,className:"string"}]}],case_insensitive:true}}module.exports=fix},function(module,exports){function flix(hljs){const CHAR={className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/};const STRING={className:"string",variants:[{begin:'"',end:'"'}]};const NAME={className:"title",relevance:0,begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/};const METHOD={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:true,contains:[NAME]};return{name:"Flix",keywords:{literal:"true false",keyword:"case class def else enum if impl import in lat rel index let match namespace switch type yield with"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,CHAR,STRING,METHOD,hljs.C_NUMBER_MODE]}}module.exports=flix},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function fortran(hljs){const PARAMS={className:"params",begin:"\\(",end:"\\)"};const COMMENT={variants:[hljs.COMMENT("!","$",{relevance:0}),hljs.COMMENT("^C[ ]","$",{relevance:0}),hljs.COMMENT("^C$","$",{relevance:0})]};const OPTIONAL_NUMBER_SUFFIX=/(_[a-z_\d]+)?/;const OPTIONAL_NUMBER_EXP=/([de][+-]?\d+)?/;const NUMBER={className:"number",variants:[{begin:concat(/\b\d+/,/\.(\d*)/,OPTIONAL_NUMBER_EXP,OPTIONAL_NUMBER_SUFFIX)},{begin:concat(/\b\d+/,OPTIONAL_NUMBER_EXP,OPTIONAL_NUMBER_SUFFIX)},{begin:concat(/\.\d+/,OPTIONAL_NUMBER_EXP,OPTIONAL_NUMBER_SUFFIX)}],relevance:0};const FUNCTION_DEF={className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[hljs.UNDERSCORE_TITLE_MODE,PARAMS]};const STRING={className:"string",relevance:0,variants:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]};const KEYWORDS={literal:".False. .True.",keyword:"kind do concurrent local shared while private call intrinsic where elsewhere "+"type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock endassociate "+"public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. "+"goto save else use module select case "+"access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit "+"continue format pause cycle exit "+"c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg "+"synchronous nopass non_overridable pass protected volatile abstract extends import "+"non_intrinsic value deferred generic final enumerator class associate bind enum "+"c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t "+"c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double "+"c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr "+"c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer "+"c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor "+"numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control "+"ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive "+"pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure impure "+"integer real character complex logical codimension dimension allocatable|10 parameter "+"external implicit|10 none double precision assign intent optional pointer "+"target in out common equivalence data",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint "+"dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl "+"algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama "+"iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod "+"qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log "+"log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate "+"adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product "+"eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul "+"maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product "+"radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind "+"set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer "+"dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end "+"ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode "+"is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of "+"acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 "+"atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits "+"bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr "+"num_images parity popcnt poppar shifta shiftl shiftr this_image sync change team co_broadcast co_max co_min co_sum co_reduce"};return{name:"Fortran",case_insensitive:true,aliases:["f90","f95"],keywords:KEYWORDS,illegal:/\/\*/,contains:[STRING,FUNCTION_DEF,{begin:/^C\s*=(?!=)/,relevance:0},COMMENT,NUMBER]}}module.exports=fortran},function(module,exports){function fsharp(hljs){const TYPEPARAM={begin:"<",end:">",contains:[hljs.inherit(hljs.TITLE_MODE,{begin:/'[a-zA-Z0-9_]+/})]};return{name:"F#",aliases:["fs"],keywords:"abstract and as assert base begin class default delegate do done "+"downcast downto elif else end exception extern false finally for "+"fun function global if in inherit inline interface internal lazy let "+"match member module mutable namespace new null of open or "+"override private public rec return sig static struct then to "+"true try type upcast use val void when while with yield",illegal:/\/\*/,contains:[{className:"keyword",begin:/\b(yield|return|let|do)!/},{className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:'"""',end:'"""'},hljs.COMMENT("\\(\\*(\\s)","\\*\\)",{contains:["self"]}),{className:"class",beginKeywords:"type",end:"\\(|=|$",excludeEnd:true,contains:[hljs.UNDERSCORE_TITLE_MODE,TYPEPARAM]},{className:"meta",begin:"\\[<",end:">\\]",relevance:10},{className:"symbol",begin:"\\B('[A-Za-z])\\b",contains:[hljs.BACKSLASH_ESCAPE]},hljs.C_LINE_COMMENT_MODE,hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null}),hljs.C_NUMBER_MODE]}}module.exports=fsharp},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function anyNumberOfTimes(re){return concat("(",re,")*")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function gams(hljs){const KEYWORDS={keyword:"abort acronym acronyms alias all and assign binary card diag display "+"else eq file files for free ge gt if integer le loop lt maximizing "+"minimizing model models ne negative no not option options or ord "+"positive prod put putpage puttl repeat sameas semicont semiint smax "+"smin solve sos1 sos2 sum system table then until using while xor yes",literal:"eps inf na",built_in:"abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy "+"cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact "+"floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max "+"min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power "+"randBinomial randLinear randTriangle round rPower sigmoid sign "+"signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt "+"tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp "+"bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt "+"rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear "+"jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion "+"handleCollect handleDelete handleStatus handleSubmit heapFree "+"heapLimit heapSize jobHandle jobKill jobStatus jobTerminate "+"licenseLevel licenseStatus maxExecError sleep timeClose timeComp "+"timeElapsed timeExec timeStart"};const PARAMS={className:"params",begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true};const SYMBOLS={className:"symbol",variants:[{begin:/=[lgenxc]=/},{begin:/\$/}]};const QSTR={className:"comment",variants:[{begin:"'",end:"'"},{begin:'"',end:'"'}],illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE]};const ASSIGNMENT={begin:"/",end:"/",keywords:KEYWORDS,contains:[QSTR,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,hljs.C_NUMBER_MODE]};const COMMENT_WORD=/[a-z0-9&#*=?@\\><:,()$[\]_.{}!+%^-]+/;const DESCTEXT={begin:/[a-z][a-z0-9_]*(\([a-z0-9_, ]*\))?[ \t]+/,excludeBegin:true,end:"$",endsWithParent:true,contains:[QSTR,ASSIGNMENT,{className:"comment",begin:concat(COMMENT_WORD,anyNumberOfTimes(concat(/[ ]+/,COMMENT_WORD))),relevance:0}]};return{name:"GAMS",aliases:["gms"],case_insensitive:true,keywords:KEYWORDS,contains:[hljs.COMMENT(/^\$ontext/,/^\$offtext/),{className:"meta",begin:"^\\$[a-z0-9]+",end:"$",returnBegin:true,contains:[{className:"meta-keyword",begin:"^\\$[a-z0-9]+"}]},hljs.COMMENT("^\\*","$"),hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,{beginKeywords:"set sets parameter parameters variable variables "+"scalar scalars equation equations",end:";",contains:[hljs.COMMENT("^\\*","$"),hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,ASSIGNMENT,DESCTEXT]},{beginKeywords:"table",end:";",returnBegin:true,contains:[{beginKeywords:"table",end:"$",contains:[DESCTEXT]},hljs.COMMENT("^\\*","$"),hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,hljs.C_NUMBER_MODE]},{className:"function",begin:/^[a-z][a-z0-9_,\-+' ()$]+\.{2}/,returnBegin:true,contains:[{className:"title",begin:/^[a-z0-9_]+/},PARAMS,SYMBOLS]},hljs.C_NUMBER_MODE,SYMBOLS]}}module.exports=gams},function(module,exports){function gauss(hljs){const KEYWORDS={keyword:"bool break call callexe checkinterrupt clear clearg closeall cls comlog compile "+"continue create debug declare delete disable dlibrary dllcall do dos ed edit else "+"elseif enable end endfor endif endp endo errorlog errorlogat expr external fn "+"for format goto gosub graph if keyword let lib library line load loadarray loadexe "+"loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow "+"matrix msym ndpclex new open output outwidth plot plotsym pop prcsn print "+"printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen "+"scroll setarray show sparse stop string struct system trace trap threadfor "+"threadendfor threadbegin threadjoin threadstat threadend until use while winprint "+"ne ge le gt lt and xor or not eq eqv",built_in:"abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol "+"AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks "+"AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults "+"annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness "+"annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd "+"astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar "+"base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 "+"cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv "+"cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn "+"cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi "+"cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir "+"ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated "+"complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs "+"cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos "+"datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd "+"dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName "+"dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy "+"dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen "+"dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA "+"dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField "+"dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition "+"dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows "+"dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly "+"dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy "+"dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl "+"dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt "+"dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday "+"dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays "+"endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error "+"etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut "+"EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol "+"EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq "+"feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt "+"floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC "+"gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders "+"gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse "+"gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray "+"getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders "+"getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT "+"gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm "+"hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 "+"indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 "+"inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf "+"isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv "+"lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn "+"lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind "+"loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars "+"makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli "+"mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave "+"movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate "+"olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto "+"pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox "+"plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea "+"plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout "+"plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill "+"plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol "+"plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange "+"plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel "+"plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot "+"pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames "+"pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector "+"pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate "+"qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr "+"real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn "+"rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel "+"rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn "+"rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh "+"rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind "+"scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa "+"setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind "+"sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL "+"spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense "+"spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet "+"sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt "+"strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr "+"surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname "+"time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk "+"trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt "+"utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs "+"vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window "+"writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM "+"xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute "+"h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels "+"plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin sylvester "+"strtrim",literal:"DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS "+"DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 "+"DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS "+"DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES "+"DB_TRANSACTIONS DB_UNICODE DB_VIEWS __STDIN __STDOUT __STDERR __FILE_DIR"};const AT_COMMENT_MODE=hljs.COMMENT("@","@");const PREPROCESSOR={className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline"},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",keywords:{"meta-keyword":"include"},contains:[{className:"meta-string",begin:'"',end:'"',illegal:"\\n"}]},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,AT_COMMENT_MODE]};const STRUCT_TYPE={begin:/\bstruct\s+/,end:/\s/,keywords:"struct",contains:[{className:"type",begin:hljs.UNDERSCORE_IDENT_RE,relevance:0}]};const PARSE_PARAMS=[{className:"params",begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,endsWithParent:true,relevance:0,contains:[{className:"literal",begin:/\.\.\./},hljs.C_NUMBER_MODE,hljs.C_BLOCK_COMMENT_MODE,AT_COMMENT_MODE,STRUCT_TYPE]}];const FUNCTION_DEF={className:"title",begin:hljs.UNDERSCORE_IDENT_RE,relevance:0};const DEFINITION=function(beginKeywords,end,inherits){const mode=hljs.inherit({className:"function",beginKeywords:beginKeywords,end:end,excludeEnd:true,contains:[].concat(PARSE_PARAMS)},inherits||{});mode.contains.push(FUNCTION_DEF);mode.contains.push(hljs.C_NUMBER_MODE);mode.contains.push(hljs.C_BLOCK_COMMENT_MODE);mode.contains.push(AT_COMMENT_MODE);return mode};const BUILT_IN_REF={className:"built_in",begin:"\\b("+KEYWORDS.built_in.split(" ").join("|")+")\\b"};const STRING_REF={className:"string",begin:'"',end:'"',contains:[hljs.BACKSLASH_ESCAPE],relevance:0};const FUNCTION_REF={begin:hljs.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:true,keywords:KEYWORDS,relevance:0,contains:[{beginKeywords:KEYWORDS.keyword},BUILT_IN_REF,{className:"built_in",begin:hljs.UNDERSCORE_IDENT_RE,relevance:0}]};const FUNCTION_REF_PARAMS={begin:/\(/,end:/\)/,relevance:0,keywords:{built_in:KEYWORDS.built_in,literal:KEYWORDS.literal},contains:[hljs.C_NUMBER_MODE,hljs.C_BLOCK_COMMENT_MODE,AT_COMMENT_MODE,BUILT_IN_REF,FUNCTION_REF,STRING_REF,"self"]};FUNCTION_REF.contains.push(FUNCTION_REF_PARAMS);return{name:"GAUSS",aliases:["gss"],case_insensitive:true,keywords:KEYWORDS,illegal:/(\{[%#]|[%#]\}| <- )/,contains:[hljs.C_NUMBER_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,AT_COMMENT_MODE,STRING_REF,PREPROCESSOR,{className:"keyword",begin:/\bexternal (matrix|string|array|sparse matrix|struct|proc|keyword|fn)/},DEFINITION("proc keyword",";"),DEFINITION("fn","="),{beginKeywords:"for threadfor",end:/;/,relevance:0,contains:[hljs.C_BLOCK_COMMENT_MODE,AT_COMMENT_MODE,FUNCTION_REF_PARAMS]},{variants:[{begin:hljs.UNDERSCORE_IDENT_RE+"\\."+hljs.UNDERSCORE_IDENT_RE},{begin:hljs.UNDERSCORE_IDENT_RE+"\\s*="}],relevance:0},FUNCTION_REF,STRUCT_TYPE]}}module.exports=gauss},function(module,exports){function gcode(hljs){const GCODE_IDENT_RE="[A-Z_][A-Z0-9_.]*";const GCODE_CLOSE_RE="%";const GCODE_KEYWORDS={$pattern:GCODE_IDENT_RE,keyword:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT "+"EQ LT GT NE GE LE OR XOR"};const GCODE_START={className:"meta",begin:"([O])([0-9]+)"};const NUMBER=hljs.inherit(hljs.C_NUMBER_MODE,{begin:"([-+]?((\\.\\d+)|(\\d+)(\\.\\d*)?))|"+hljs.C_NUMBER_RE});const GCODE_CODE=[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.COMMENT(/\(/,/\)/),NUMBER,hljs.inherit(hljs.APOS_STRING_MODE,{illegal:null}),hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null}),{className:"name",begin:"([G])([0-9]+\\.?[0-9]?)"},{className:"name",begin:"([M])([0-9]+\\.?[0-9]?)"},{className:"attr",begin:"(VC|VS|#)",end:"(\\d+)"},{className:"attr",begin:"(VZOFX|VZOFY|VZOFZ)"},{className:"built_in",begin:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",contains:[NUMBER],end:"\\]"},{className:"symbol",variants:[{begin:"N",end:"\\d+",illegal:"\\W"}]}];return{name:"G-code (ISO 6983)",aliases:["nc"],case_insensitive:true,keywords:GCODE_KEYWORDS,contains:[{className:"meta",begin:GCODE_CLOSE_RE},GCODE_START].concat(GCODE_CODE)}}module.exports=gcode},function(module,exports){function gherkin(hljs){return{name:"Gherkin",aliases:["feature"],keywords:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",contains:[{className:"symbol",begin:"\\*",relevance:0},{className:"meta",begin:"@[^@\\s]+"},{begin:"\\|",end:"\\|\\w*$",contains:[{className:"string",begin:"[^|]+"}]},{className:"variable",begin:"<",end:">"},hljs.HASH_COMMENT_MODE,{className:"string",begin:'"""',end:'"""'},hljs.QUOTE_STRING_MODE]}}module.exports=gherkin},function(module,exports){function glsl(hljs){return{name:"GLSL",keywords:{keyword:"break continue discard do else for if return while switch case default "+"attribute binding buffer ccw centroid centroid varying coherent column_major const cw "+"depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing "+"flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant "+"invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y "+"local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left "+"out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f "+"r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict "+"rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 "+"rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 "+"rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip "+"triangles triangles_adjacency uniform varying vertices volatile writeonly",type:"atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 "+"dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray "+"iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer "+"iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray "+"image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray "+"isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D "+"isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 "+"mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray "+"sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow "+"sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D "+"samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow "+"image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect "+"uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray "+"usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D "+"samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void",built_in:"gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes "+"gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms "+"gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers "+"gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits "+"gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize "+"gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters "+"gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors "+"gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers "+"gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents "+"gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits "+"gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents "+"gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset "+"gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms "+"gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits "+"gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents "+"gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters "+"gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents "+"gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents "+"gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits "+"gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors "+"gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms "+"gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits "+"gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset "+"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial "+"gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color "+"gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord "+"gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor "+"gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial "+"gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel "+"gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix "+"gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose "+"gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose "+"gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 "+"gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 "+"gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ "+"gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord "+"gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse "+"gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask "+"gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter "+"gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose "+"gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out "+"EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin "+"asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement "+"atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier "+"bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross "+"dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB "+"floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan "+"greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap "+"imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad "+"imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset "+"interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log "+"log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer "+"memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 "+"normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 "+"packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod "+"shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh "+"smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod "+"texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod "+"texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod "+"textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset "+"textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset "+"textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod "+"textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 "+"unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow",literal:"true false"},illegal:'"',contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$"}]}}module.exports=glsl},function(module,exports){function gml(hljs){const GML_KEYWORDS={keyword:"begin end if then else while do for break continue with until "+"repeat exit and or xor not return mod div switch case default var "+"globalvar enum function constructor delete #macro #region #endregion",built_in:"is_real is_string is_array is_undefined is_int32 is_int64 is_ptr "+"is_vec3 is_vec4 is_matrix is_bool is_method is_struct is_infinity is_nan "+"is_numeric typeof variable_global_exists variable_global_get variable_global_set "+"variable_instance_exists variable_instance_get variable_instance_set "+"variable_instance_get_names variable_struct_exists variable_struct_get "+"variable_struct_get_names variable_struct_names_count variable_struct_remove "+"variable_struct_set array_delete array_insert array_length array_length_1d "+"array_length_2d array_height_2d array_equals array_create "+"array_copy array_pop array_push array_resize array_sort "+"random random_range irandom irandom_range random_set_seed random_get_seed "+"randomize randomise choose abs round floor ceil sign frac sqrt sqr "+"exp ln log2 log10 sin cos tan arcsin arccos arctan arctan2 dsin dcos "+"dtan darcsin darccos darctan darctan2 degtorad radtodeg power logn "+"min max mean median clamp lerp dot_product dot_product_3d "+"dot_product_normalised dot_product_3d_normalised "+"dot_product_normalized dot_product_3d_normalized math_set_epsilon "+"math_get_epsilon angle_difference point_distance_3d point_distance "+"point_direction lengthdir_x lengthdir_y real string int64 ptr "+"string_format chr ansi_char ord string_length string_byte_length "+"string_pos string_copy string_char_at string_ord_at string_byte_at "+"string_set_byte_at string_delete string_insert string_lower "+"string_upper string_repeat string_letters string_digits "+"string_lettersdigits string_replace string_replace_all string_count "+"string_hash_to_newline clipboard_has_text clipboard_set_text "+"clipboard_get_text date_current_datetime date_create_datetime "+"date_valid_datetime date_inc_year date_inc_month date_inc_week "+"date_inc_day date_inc_hour date_inc_minute date_inc_second "+"date_get_year date_get_month date_get_week date_get_day "+"date_get_hour date_get_minute date_get_second date_get_weekday "+"date_get_day_of_year date_get_hour_of_year date_get_minute_of_year "+"date_get_second_of_year date_year_span date_month_span "+"date_week_span date_day_span date_hour_span date_minute_span "+"date_second_span date_compare_datetime date_compare_date "+"date_compare_time date_date_of date_time_of date_datetime_string "+"date_date_string date_time_string date_days_in_month "+"date_days_in_year date_leap_year date_is_today date_set_timezone "+"date_get_timezone game_set_speed game_get_speed motion_set "+"motion_add place_free place_empty place_meeting place_snapped "+"move_random move_snap move_towards_point move_contact_solid "+"move_contact_all move_outside_solid move_outside_all "+"move_bounce_solid move_bounce_all move_wrap distance_to_point "+"distance_to_object position_empty position_meeting path_start "+"path_end mp_linear_step mp_potential_step mp_linear_step_object "+"mp_potential_step_object mp_potential_settings mp_linear_path "+"mp_potential_path mp_linear_path_object mp_potential_path_object "+"mp_grid_create mp_grid_destroy mp_grid_clear_all mp_grid_clear_cell "+"mp_grid_clear_rectangle mp_grid_add_cell mp_grid_get_cell "+"mp_grid_add_rectangle mp_grid_add_instances mp_grid_path "+"mp_grid_draw mp_grid_to_ds_grid collision_point collision_rectangle "+"collision_circle collision_ellipse collision_line "+"collision_point_list collision_rectangle_list collision_circle_list "+"collision_ellipse_list collision_line_list instance_position_list "+"instance_place_list point_in_rectangle "+"point_in_triangle point_in_circle rectangle_in_rectangle "+"rectangle_in_triangle rectangle_in_circle instance_find "+"instance_exists instance_number instance_position instance_nearest "+"instance_furthest instance_place instance_create_depth "+"instance_create_layer instance_copy instance_change instance_destroy "+"position_destroy position_change instance_id_get "+"instance_deactivate_all instance_deactivate_object "+"instance_deactivate_region instance_activate_all "+"instance_activate_object instance_activate_region room_goto "+"room_goto_previous room_goto_next room_previous room_next "+"room_restart game_end game_restart game_load game_save "+"game_save_buffer game_load_buffer event_perform event_user "+"event_perform_object event_inherited show_debug_message "+"show_debug_overlay debug_event debug_get_callstack alarm_get "+"alarm_set font_texture_page_size keyboard_set_map keyboard_get_map "+"keyboard_unset_map keyboard_check keyboard_check_pressed "+"keyboard_check_released keyboard_check_direct keyboard_get_numlock "+"keyboard_set_numlock keyboard_key_press keyboard_key_release "+"keyboard_clear io_clear mouse_check_button "+"mouse_check_button_pressed mouse_check_button_released "+"mouse_wheel_up mouse_wheel_down mouse_clear draw_self draw_sprite "+"draw_sprite_pos draw_sprite_ext draw_sprite_stretched "+"draw_sprite_stretched_ext draw_sprite_tiled draw_sprite_tiled_ext "+"draw_sprite_part draw_sprite_part_ext draw_sprite_general draw_clear "+"draw_clear_alpha draw_point draw_line draw_line_width draw_rectangle "+"draw_roundrect draw_roundrect_ext draw_triangle draw_circle "+"draw_ellipse draw_set_circle_precision draw_arrow draw_button "+"draw_path draw_healthbar draw_getpixel draw_getpixel_ext "+"draw_set_colour draw_set_color draw_set_alpha draw_get_colour "+"draw_get_color draw_get_alpha merge_colour make_colour_rgb "+"make_colour_hsv colour_get_red colour_get_green colour_get_blue "+"colour_get_hue colour_get_saturation colour_get_value merge_color "+"make_color_rgb make_color_hsv color_get_red color_get_green "+"color_get_blue color_get_hue color_get_saturation color_get_value "+"merge_color screen_save screen_save_part draw_set_font "+"draw_set_halign draw_set_valign draw_text draw_text_ext string_width "+"string_height string_width_ext string_height_ext "+"draw_text_transformed draw_text_ext_transformed draw_text_colour "+"draw_text_ext_colour draw_text_transformed_colour "+"draw_text_ext_transformed_colour draw_text_color draw_text_ext_color "+"draw_text_transformed_color draw_text_ext_transformed_color "+"draw_point_colour draw_line_colour draw_line_width_colour "+"draw_rectangle_colour draw_roundrect_colour "+"draw_roundrect_colour_ext draw_triangle_colour draw_circle_colour "+"draw_ellipse_colour draw_point_color draw_line_color "+"draw_line_width_color draw_rectangle_color draw_roundrect_color "+"draw_roundrect_color_ext draw_triangle_color draw_circle_color "+"draw_ellipse_color draw_primitive_begin draw_vertex "+"draw_vertex_colour draw_vertex_color draw_primitive_end "+"sprite_get_uvs font_get_uvs sprite_get_texture font_get_texture "+"texture_get_width texture_get_height texture_get_uvs "+"draw_primitive_begin_texture draw_vertex_texture "+"draw_vertex_texture_colour draw_vertex_texture_color "+"texture_global_scale surface_create surface_create_ext "+"surface_resize surface_free surface_exists surface_get_width "+"surface_get_height surface_get_texture surface_set_target "+"surface_set_target_ext surface_reset_target surface_depth_disable "+"surface_get_depth_disable draw_surface draw_surface_stretched "+"draw_surface_tiled draw_surface_part draw_surface_ext "+"draw_surface_stretched_ext draw_surface_tiled_ext "+"draw_surface_part_ext draw_surface_general surface_getpixel "+"surface_getpixel_ext surface_save surface_save_part surface_copy "+"surface_copy_part application_surface_draw_enable "+"application_get_position application_surface_enable "+"application_surface_is_enabled display_get_width display_get_height "+"display_get_orientation display_get_gui_width display_get_gui_height "+"display_reset display_mouse_get_x display_mouse_get_y "+"display_mouse_set display_set_ui_visibility "+"window_set_fullscreen window_get_fullscreen "+"window_set_caption window_set_min_width window_set_max_width "+"window_set_min_height window_set_max_height window_get_visible_rects "+"window_get_caption window_set_cursor window_get_cursor "+"window_set_colour window_get_colour window_set_color "+"window_get_color window_set_position window_set_size "+"window_set_rectangle window_center window_get_x window_get_y "+"window_get_width window_get_height window_mouse_get_x "+"window_mouse_get_y window_mouse_set window_view_mouse_get_x "+"window_view_mouse_get_y window_views_mouse_get_x "+"window_views_mouse_get_y audio_listener_position "+"audio_listener_velocity audio_listener_orientation "+"audio_emitter_position audio_emitter_create audio_emitter_free "+"audio_emitter_exists audio_emitter_pitch audio_emitter_velocity "+"audio_emitter_falloff audio_emitter_gain audio_play_sound "+"audio_play_sound_on audio_play_sound_at audio_stop_sound "+"audio_resume_music audio_music_is_playing audio_resume_sound "+"audio_pause_sound audio_pause_music audio_channel_num "+"audio_sound_length audio_get_type audio_falloff_set_model "+"audio_play_music audio_stop_music audio_master_gain audio_music_gain "+"audio_sound_gain audio_sound_pitch audio_stop_all audio_resume_all "+"audio_pause_all audio_is_playing audio_is_paused audio_exists "+"audio_sound_set_track_position audio_sound_get_track_position "+"audio_emitter_get_gain audio_emitter_get_pitch audio_emitter_get_x "+"audio_emitter_get_y audio_emitter_get_z audio_emitter_get_vx "+"audio_emitter_get_vy audio_emitter_get_vz "+"audio_listener_set_position audio_listener_set_velocity "+"audio_listener_set_orientation audio_listener_get_data "+"audio_set_master_gain audio_get_master_gain audio_sound_get_gain "+"audio_sound_get_pitch audio_get_name audio_sound_set_track_position "+"audio_sound_get_track_position audio_create_stream "+"audio_destroy_stream audio_create_sync_group "+"audio_destroy_sync_group audio_play_in_sync_group "+"audio_start_sync_group audio_stop_sync_group audio_pause_sync_group "+"audio_resume_sync_group audio_sync_group_get_track_pos "+"audio_sync_group_debug audio_sync_group_is_playing audio_debug "+"audio_group_load audio_group_unload audio_group_is_loaded "+"audio_group_load_progress audio_group_name audio_group_stop_all "+"audio_group_set_gain audio_create_buffer_sound "+"audio_free_buffer_sound audio_create_play_queue "+"audio_free_play_queue audio_queue_sound audio_get_recorder_count "+"audio_get_recorder_info audio_start_recording audio_stop_recording "+"audio_sound_get_listener_mask audio_emitter_get_listener_mask "+"audio_get_listener_mask audio_sound_set_listener_mask "+"audio_emitter_set_listener_mask audio_set_listener_mask "+"audio_get_listener_count audio_get_listener_info audio_system "+"show_message show_message_async clickable_add clickable_add_ext "+"clickable_change clickable_change_ext clickable_delete "+"clickable_exists clickable_set_style show_question "+"show_question_async get_integer get_string get_integer_async "+"get_string_async get_login_async get_open_filename get_save_filename "+"get_open_filename_ext get_save_filename_ext show_error "+"highscore_clear highscore_add highscore_value highscore_name "+"draw_highscore sprite_exists sprite_get_name sprite_get_number "+"sprite_get_width sprite_get_height sprite_get_xoffset "+"sprite_get_yoffset sprite_get_bbox_left sprite_get_bbox_right "+"sprite_get_bbox_top sprite_get_bbox_bottom sprite_save "+"sprite_save_strip sprite_set_cache_size sprite_set_cache_size_ext "+"sprite_get_tpe sprite_prefetch sprite_prefetch_multi sprite_flush "+"sprite_flush_multi sprite_set_speed sprite_get_speed_type "+"sprite_get_speed font_exists font_get_name font_get_fontname "+"font_get_bold font_get_italic font_get_first font_get_last "+"font_get_size font_set_cache_size path_exists path_get_name "+"path_get_length path_get_time path_get_kind path_get_closed "+"path_get_precision path_get_number path_get_point_x path_get_point_y "+"path_get_point_speed path_get_x path_get_y path_get_speed "+"script_exists script_get_name timeline_add timeline_delete "+"timeline_clear timeline_exists timeline_get_name "+"timeline_moment_clear timeline_moment_add_script timeline_size "+"timeline_max_moment object_exists object_get_name object_get_sprite "+"object_get_solid object_get_visible object_get_persistent "+"object_get_mask object_get_parent object_get_physics "+"object_is_ancestor room_exists room_get_name sprite_set_offset "+"sprite_duplicate sprite_assign sprite_merge sprite_add "+"sprite_replace sprite_create_from_surface sprite_add_from_surface "+"sprite_delete sprite_set_alpha_from_sprite sprite_collision_mask "+"font_add_enable_aa font_add_get_enable_aa font_add font_add_sprite "+"font_add_sprite_ext font_replace font_replace_sprite "+"font_replace_sprite_ext font_delete path_set_kind path_set_closed "+"path_set_precision path_add path_assign path_duplicate path_append "+"path_delete path_add_point path_insert_point path_change_point "+"path_delete_point path_clear_points path_reverse path_mirror "+"path_flip path_rotate path_rescale path_shift script_execute "+"object_set_sprite object_set_solid object_set_visible "+"object_set_persistent object_set_mask room_set_width room_set_height "+"room_set_persistent room_set_background_colour "+"room_set_background_color room_set_view room_set_viewport "+"room_get_viewport room_set_view_enabled room_add room_duplicate "+"room_assign room_instance_add room_instance_clear room_get_camera "+"room_set_camera asset_get_index asset_get_type "+"file_text_open_from_string file_text_open_read file_text_open_write "+"file_text_open_append file_text_close file_text_write_string "+"file_text_write_real file_text_writeln file_text_read_string "+"file_text_read_real file_text_readln file_text_eof file_text_eoln "+"file_exists file_delete file_rename file_copy directory_exists "+"directory_create directory_destroy file_find_first file_find_next "+"file_find_close file_attributes filename_name filename_path "+"filename_dir filename_drive filename_ext filename_change_ext "+"file_bin_open file_bin_rewrite file_bin_close file_bin_position "+"file_bin_size file_bin_seek file_bin_write_byte file_bin_read_byte "+"parameter_count parameter_string environment_get_variable "+"ini_open_from_string ini_open ini_close ini_read_string "+"ini_read_real ini_write_string ini_write_real ini_key_exists "+"ini_section_exists ini_key_delete ini_section_delete "+"ds_set_precision ds_exists ds_stack_create ds_stack_destroy "+"ds_stack_clear ds_stack_copy ds_stack_size ds_stack_empty "+"ds_stack_push ds_stack_pop ds_stack_top ds_stack_write ds_stack_read "+"ds_queue_create ds_queue_destroy ds_queue_clear ds_queue_copy "+"ds_queue_size ds_queue_empty ds_queue_enqueue ds_queue_dequeue "+"ds_queue_head ds_queue_tail ds_queue_write ds_queue_read "+"ds_list_create ds_list_destroy ds_list_clear ds_list_copy "+"ds_list_size ds_list_empty ds_list_add ds_list_insert "+"ds_list_replace ds_list_delete ds_list_find_index ds_list_find_value "+"ds_list_mark_as_list ds_list_mark_as_map ds_list_sort "+"ds_list_shuffle ds_list_write ds_list_read ds_list_set ds_map_create "+"ds_map_destroy ds_map_clear ds_map_copy ds_map_size ds_map_empty "+"ds_map_add ds_map_add_list ds_map_add_map ds_map_replace "+"ds_map_replace_map ds_map_replace_list ds_map_delete ds_map_exists "+"ds_map_find_value ds_map_find_previous ds_map_find_next "+"ds_map_find_first ds_map_find_last ds_map_write ds_map_read "+"ds_map_secure_save ds_map_secure_load ds_map_secure_load_buffer "+"ds_map_secure_save_buffer ds_map_set ds_priority_create "+"ds_priority_destroy ds_priority_clear ds_priority_copy "+"ds_priority_size ds_priority_empty ds_priority_add "+"ds_priority_change_priority ds_priority_find_priority "+"ds_priority_delete_value ds_priority_delete_min ds_priority_find_min "+"ds_priority_delete_max ds_priority_find_max ds_priority_write "+"ds_priority_read ds_grid_create ds_grid_destroy ds_grid_copy "+"ds_grid_resize ds_grid_width ds_grid_height ds_grid_clear "+"ds_grid_set ds_grid_add ds_grid_multiply ds_grid_set_region "+"ds_grid_add_region ds_grid_multiply_region ds_grid_set_disk "+"ds_grid_add_disk ds_grid_multiply_disk ds_grid_set_grid_region "+"ds_grid_add_grid_region ds_grid_multiply_grid_region ds_grid_get "+"ds_grid_get_sum ds_grid_get_max ds_grid_get_min ds_grid_get_mean "+"ds_grid_get_disk_sum ds_grid_get_disk_min ds_grid_get_disk_max "+"ds_grid_get_disk_mean ds_grid_value_exists ds_grid_value_x "+"ds_grid_value_y ds_grid_value_disk_exists ds_grid_value_disk_x "+"ds_grid_value_disk_y ds_grid_shuffle ds_grid_write ds_grid_read "+"ds_grid_sort ds_grid_set ds_grid_get effect_create_below "+"effect_create_above effect_clear part_type_create part_type_destroy "+"part_type_exists part_type_clear part_type_shape part_type_sprite "+"part_type_size part_type_scale part_type_orientation part_type_life "+"part_type_step part_type_death part_type_speed part_type_direction "+"part_type_gravity part_type_colour1 part_type_colour2 "+"part_type_colour3 part_type_colour_mix part_type_colour_rgb "+"part_type_colour_hsv part_type_color1 part_type_color2 "+"part_type_color3 part_type_color_mix part_type_color_rgb "+"part_type_color_hsv part_type_alpha1 part_type_alpha2 "+"part_type_alpha3 part_type_blend part_system_create "+"part_system_create_layer part_system_destroy part_system_exists "+"part_system_clear part_system_draw_order part_system_depth "+"part_system_position part_system_automatic_update "+"part_system_automatic_draw part_system_update part_system_drawit "+"part_system_get_layer part_system_layer part_particles_create "+"part_particles_create_colour part_particles_create_color "+"part_particles_clear part_particles_count part_emitter_create "+"part_emitter_destroy part_emitter_destroy_all part_emitter_exists "+"part_emitter_clear part_emitter_region part_emitter_burst "+"part_emitter_stream external_call external_define external_free "+"window_handle window_device matrix_get matrix_set "+"matrix_build_identity matrix_build matrix_build_lookat "+"matrix_build_projection_ortho matrix_build_projection_perspective "+"matrix_build_projection_perspective_fov matrix_multiply "+"matrix_transform_vertex matrix_stack_push matrix_stack_pop "+"matrix_stack_multiply matrix_stack_set matrix_stack_clear "+"matrix_stack_top matrix_stack_is_empty browser_input_capture "+"os_get_config os_get_info os_get_language os_get_region "+"os_lock_orientation display_get_dpi_x display_get_dpi_y "+"display_set_gui_size display_set_gui_maximise "+"display_set_gui_maximize device_mouse_dbclick_enable "+"display_set_timing_method display_get_timing_method "+"display_set_sleep_margin display_get_sleep_margin virtual_key_add "+"virtual_key_hide virtual_key_delete virtual_key_show "+"draw_enable_drawevent draw_enable_swf_aa draw_set_swf_aa_level "+"draw_get_swf_aa_level draw_texture_flush draw_flush "+"gpu_set_blendenable gpu_set_ztestenable gpu_set_zfunc "+"gpu_set_zwriteenable gpu_set_lightingenable gpu_set_fog "+"gpu_set_cullmode gpu_set_blendmode gpu_set_blendmode_ext "+"gpu_set_blendmode_ext_sepalpha gpu_set_colorwriteenable "+"gpu_set_colourwriteenable gpu_set_alphatestenable "+"gpu_set_alphatestref gpu_set_alphatestfunc gpu_set_texfilter "+"gpu_set_texfilter_ext gpu_set_texrepeat gpu_set_texrepeat_ext "+"gpu_set_tex_filter gpu_set_tex_filter_ext gpu_set_tex_repeat "+"gpu_set_tex_repeat_ext gpu_set_tex_mip_filter "+"gpu_set_tex_mip_filter_ext gpu_set_tex_mip_bias "+"gpu_set_tex_mip_bias_ext gpu_set_tex_min_mip gpu_set_tex_min_mip_ext "+"gpu_set_tex_max_mip gpu_set_tex_max_mip_ext gpu_set_tex_max_aniso "+"gpu_set_tex_max_aniso_ext gpu_set_tex_mip_enable "+"gpu_set_tex_mip_enable_ext gpu_get_blendenable gpu_get_ztestenable "+"gpu_get_zfunc gpu_get_zwriteenable gpu_get_lightingenable "+"gpu_get_fog gpu_get_cullmode gpu_get_blendmode gpu_get_blendmode_ext "+"gpu_get_blendmode_ext_sepalpha gpu_get_blendmode_src "+"gpu_get_blendmode_dest gpu_get_blendmode_srcalpha "+"gpu_get_blendmode_destalpha gpu_get_colorwriteenable "+"gpu_get_colourwriteenable gpu_get_alphatestenable "+"gpu_get_alphatestref gpu_get_alphatestfunc gpu_get_texfilter "+"gpu_get_texfilter_ext gpu_get_texrepeat gpu_get_texrepeat_ext "+"gpu_get_tex_filter gpu_get_tex_filter_ext gpu_get_tex_repeat "+"gpu_get_tex_repeat_ext gpu_get_tex_mip_filter "+"gpu_get_tex_mip_filter_ext gpu_get_tex_mip_bias "+"gpu_get_tex_mip_bias_ext gpu_get_tex_min_mip gpu_get_tex_min_mip_ext "+"gpu_get_tex_max_mip gpu_get_tex_max_mip_ext gpu_get_tex_max_aniso "+"gpu_get_tex_max_aniso_ext gpu_get_tex_mip_enable "+"gpu_get_tex_mip_enable_ext gpu_push_state gpu_pop_state "+"gpu_get_state gpu_set_state draw_light_define_ambient "+"draw_light_define_direction draw_light_define_point "+"draw_light_enable draw_set_lighting draw_light_get_ambient "+"draw_light_get draw_get_lighting shop_leave_rating url_get_domain "+"url_open url_open_ext url_open_full get_timer achievement_login "+"achievement_logout achievement_post achievement_increment "+"achievement_post_score achievement_available "+"achievement_show_achievements achievement_show_leaderboards "+"achievement_load_friends achievement_load_leaderboard "+"achievement_send_challenge achievement_load_progress "+"achievement_reset achievement_login_status achievement_get_pic "+"achievement_show_challenge_notifications achievement_get_challenges "+"achievement_event achievement_show achievement_get_info "+"cloud_file_save cloud_string_save cloud_synchronise ads_enable "+"ads_disable ads_setup ads_engagement_launch ads_engagement_available "+"ads_engagement_active ads_event ads_event_preload "+"ads_set_reward_callback ads_get_display_height ads_get_display_width "+"ads_move ads_interstitial_available ads_interstitial_display "+"device_get_tilt_x device_get_tilt_y device_get_tilt_z "+"device_is_keypad_open device_mouse_check_button "+"device_mouse_check_button_pressed device_mouse_check_button_released "+"device_mouse_x device_mouse_y device_mouse_raw_x device_mouse_raw_y "+"device_mouse_x_to_gui device_mouse_y_to_gui iap_activate iap_status "+"iap_enumerate_products iap_restore_all iap_acquire iap_consume "+"iap_product_details iap_purchase_details facebook_init "+"facebook_login facebook_status facebook_graph_request "+"facebook_dialog facebook_logout facebook_launch_offerwall "+"facebook_post_message facebook_send_invite facebook_user_id "+"facebook_accesstoken facebook_check_permission "+"facebook_request_read_permissions "+"facebook_request_publish_permissions gamepad_is_supported "+"gamepad_get_device_count gamepad_is_connected "+"gamepad_get_description gamepad_get_button_threshold "+"gamepad_set_button_threshold gamepad_get_axis_deadzone "+"gamepad_set_axis_deadzone gamepad_button_count gamepad_button_check "+"gamepad_button_check_pressed gamepad_button_check_released "+"gamepad_button_value gamepad_axis_count gamepad_axis_value "+"gamepad_set_vibration gamepad_set_colour gamepad_set_color "+"os_is_paused window_has_focus code_is_compiled http_get "+"http_get_file http_post_string http_request json_encode json_decode "+"zip_unzip load_csv base64_encode base64_decode md5_string_unicode "+"md5_string_utf8 md5_file os_is_network_connected sha1_string_unicode "+"sha1_string_utf8 sha1_file os_powersave_enable analytics_event "+"analytics_event_ext win8_livetile_tile_notification "+"win8_livetile_tile_clear win8_livetile_badge_notification "+"win8_livetile_badge_clear win8_livetile_queue_enable "+"win8_secondarytile_pin win8_secondarytile_badge_notification "+"win8_secondarytile_delete win8_livetile_notification_begin "+"win8_livetile_notification_secondary_begin "+"win8_livetile_notification_expiry win8_livetile_notification_tag "+"win8_livetile_notification_text_add "+"win8_livetile_notification_image_add win8_livetile_notification_end "+"win8_appbar_enable win8_appbar_add_element "+"win8_appbar_remove_element win8_settingscharm_add_entry "+"win8_settingscharm_add_html_entry win8_settingscharm_add_xaml_entry "+"win8_settingscharm_set_xaml_property "+"win8_settingscharm_get_xaml_property win8_settingscharm_remove_entry "+"win8_share_image win8_share_screenshot win8_share_file "+"win8_share_url win8_share_text win8_search_enable "+"win8_search_disable win8_search_add_suggestions "+"win8_device_touchscreen_available win8_license_initialize_sandbox "+"win8_license_trial_version winphone_license_trial_version "+"winphone_tile_title winphone_tile_count winphone_tile_back_title "+"winphone_tile_back_content winphone_tile_back_content_wide "+"winphone_tile_front_image winphone_tile_front_image_small "+"winphone_tile_front_image_wide winphone_tile_back_image "+"winphone_tile_back_image_wide winphone_tile_background_colour "+"winphone_tile_background_color winphone_tile_icon_image "+"winphone_tile_small_icon_image winphone_tile_wide_content "+"winphone_tile_cycle_images winphone_tile_small_background_image "+"physics_world_create physics_world_gravity "+"physics_world_update_speed physics_world_update_iterations "+"physics_world_draw_debug physics_pause_enable physics_fixture_create "+"physics_fixture_set_kinematic physics_fixture_set_density "+"physics_fixture_set_awake physics_fixture_set_restitution "+"physics_fixture_set_friction physics_fixture_set_collision_group "+"physics_fixture_set_sensor physics_fixture_set_linear_damping "+"physics_fixture_set_angular_damping physics_fixture_set_circle_shape "+"physics_fixture_set_box_shape physics_fixture_set_edge_shape "+"physics_fixture_set_polygon_shape physics_fixture_set_chain_shape "+"physics_fixture_add_point physics_fixture_bind "+"physics_fixture_bind_ext physics_fixture_delete physics_apply_force "+"physics_apply_impulse physics_apply_angular_impulse "+"physics_apply_local_force physics_apply_local_impulse "+"physics_apply_torque physics_mass_properties physics_draw_debug "+"physics_test_overlap physics_remove_fixture physics_set_friction "+"physics_set_density physics_set_restitution physics_get_friction "+"physics_get_density physics_get_restitution "+"physics_joint_distance_create physics_joint_rope_create "+"physics_joint_revolute_create physics_joint_prismatic_create "+"physics_joint_pulley_create physics_joint_wheel_create "+"physics_joint_weld_create physics_joint_friction_create "+"physics_joint_gear_create physics_joint_enable_motor "+"physics_joint_get_value physics_joint_set_value physics_joint_delete "+"physics_particle_create physics_particle_delete "+"physics_particle_delete_region_circle "+"physics_particle_delete_region_box "+"physics_particle_delete_region_poly physics_particle_set_flags "+"physics_particle_set_category_flags physics_particle_draw "+"physics_particle_draw_ext physics_particle_count "+"physics_particle_get_data physics_particle_get_data_particle "+"physics_particle_group_begin physics_particle_group_circle "+"physics_particle_group_box physics_particle_group_polygon "+"physics_particle_group_add_point physics_particle_group_end "+"physics_particle_group_join physics_particle_group_delete "+"physics_particle_group_count physics_particle_group_get_data "+"physics_particle_group_get_mass physics_particle_group_get_inertia "+"physics_particle_group_get_centre_x "+"physics_particle_group_get_centre_y physics_particle_group_get_vel_x "+"physics_particle_group_get_vel_y physics_particle_group_get_ang_vel "+"physics_particle_group_get_x physics_particle_group_get_y "+"physics_particle_group_get_angle physics_particle_set_group_flags "+"physics_particle_get_group_flags physics_particle_get_max_count "+"physics_particle_get_radius physics_particle_get_density "+"physics_particle_get_damping physics_particle_get_gravity_scale "+"physics_particle_set_max_count physics_particle_set_radius "+"physics_particle_set_density physics_particle_set_damping "+"physics_particle_set_gravity_scale network_create_socket "+"network_create_socket_ext network_create_server "+"network_create_server_raw network_connect network_connect_raw "+"network_send_packet network_send_raw network_send_broadcast "+"network_send_udp network_send_udp_raw network_set_timeout "+"network_set_config network_resolve network_destroy buffer_create "+"buffer_write buffer_read buffer_seek buffer_get_surface "+"buffer_set_surface buffer_delete buffer_exists buffer_get_type "+"buffer_get_alignment buffer_poke buffer_peek buffer_save "+"buffer_save_ext buffer_load buffer_load_ext buffer_load_partial "+"buffer_copy buffer_fill buffer_get_size buffer_tell buffer_resize "+"buffer_md5 buffer_sha1 buffer_base64_encode buffer_base64_decode "+"buffer_base64_decode_ext buffer_sizeof buffer_get_address "+"buffer_create_from_vertex_buffer "+"buffer_create_from_vertex_buffer_ext buffer_copy_from_vertex_buffer "+"buffer_async_group_begin buffer_async_group_option "+"buffer_async_group_end buffer_load_async buffer_save_async "+"gml_release_mode gml_pragma steam_activate_overlay "+"steam_is_overlay_enabled steam_is_overlay_activated "+"steam_get_persona_name steam_initialised "+"steam_is_cloud_enabled_for_app steam_is_cloud_enabled_for_account "+"steam_file_persisted steam_get_quota_total steam_get_quota_free "+"steam_file_write steam_file_write_file steam_file_read "+"steam_file_delete steam_file_exists steam_file_size steam_file_share "+"steam_is_screenshot_requested steam_send_screenshot "+"steam_is_user_logged_on steam_get_user_steam_id steam_user_owns_dlc "+"steam_user_installed_dlc steam_set_achievement steam_get_achievement "+"steam_clear_achievement steam_set_stat_int steam_set_stat_float "+"steam_set_stat_avg_rate steam_get_stat_int steam_get_stat_float "+"steam_get_stat_avg_rate steam_reset_all_stats "+"steam_reset_all_stats_achievements steam_stats_ready "+"steam_create_leaderboard steam_upload_score steam_upload_score_ext "+"steam_download_scores_around_user steam_download_scores "+"steam_download_friends_scores steam_upload_score_buffer "+"steam_upload_score_buffer_ext steam_current_game_language "+"steam_available_languages steam_activate_overlay_browser "+"steam_activate_overlay_user steam_activate_overlay_store "+"steam_get_user_persona_name steam_get_app_id "+"steam_get_user_account_id steam_ugc_download steam_ugc_create_item "+"steam_ugc_start_item_update steam_ugc_set_item_title "+"steam_ugc_set_item_description steam_ugc_set_item_visibility "+"steam_ugc_set_item_tags steam_ugc_set_item_content "+"steam_ugc_set_item_preview steam_ugc_submit_item_update "+"steam_ugc_get_item_update_progress steam_ugc_subscribe_item "+"steam_ugc_unsubscribe_item steam_ugc_num_subscribed_items "+"steam_ugc_get_subscribed_items steam_ugc_get_item_install_info "+"steam_ugc_get_item_update_info steam_ugc_request_item_details "+"steam_ugc_create_query_user steam_ugc_create_query_user_ex "+"steam_ugc_create_query_all steam_ugc_create_query_all_ex "+"steam_ugc_query_set_cloud_filename_filter "+"steam_ugc_query_set_match_any_tag steam_ugc_query_set_search_text "+"steam_ugc_query_set_ranked_by_trend_days "+"steam_ugc_query_add_required_tag steam_ugc_query_add_excluded_tag "+"steam_ugc_query_set_return_long_description "+"steam_ugc_query_set_return_total_only "+"steam_ugc_query_set_allow_cached_response steam_ugc_send_query "+"shader_set shader_get_name shader_reset shader_current "+"shader_is_compiled shader_get_sampler_index shader_get_uniform "+"shader_set_uniform_i shader_set_uniform_i_array shader_set_uniform_f "+"shader_set_uniform_f_array shader_set_uniform_matrix "+"shader_set_uniform_matrix_array shader_enable_corner_id "+"texture_set_stage texture_get_texel_width texture_get_texel_height "+"shaders_are_supported vertex_format_begin vertex_format_end "+"vertex_format_delete vertex_format_add_position "+"vertex_format_add_position_3d vertex_format_add_colour "+"vertex_format_add_color vertex_format_add_normal "+"vertex_format_add_texcoord vertex_format_add_textcoord "+"vertex_format_add_custom vertex_create_buffer "+"vertex_create_buffer_ext vertex_delete_buffer vertex_begin "+"vertex_end vertex_position vertex_position_3d vertex_colour "+"vertex_color vertex_argb vertex_texcoord vertex_normal vertex_float1 "+"vertex_float2 vertex_float3 vertex_float4 vertex_ubyte4 "+"vertex_submit vertex_freeze vertex_get_number vertex_get_buffer_size "+"vertex_create_buffer_from_buffer "+"vertex_create_buffer_from_buffer_ext push_local_notification "+"push_get_first_local_notification push_get_next_local_notification "+"push_cancel_local_notification skeleton_animation_set "+"skeleton_animation_get skeleton_animation_mix "+"skeleton_animation_set_ext skeleton_animation_get_ext "+"skeleton_animation_get_duration skeleton_animation_get_frames "+"skeleton_animation_clear skeleton_skin_set skeleton_skin_get "+"skeleton_attachment_set skeleton_attachment_get "+"skeleton_attachment_create skeleton_collision_draw_set "+"skeleton_bone_data_get skeleton_bone_data_set "+"skeleton_bone_state_get skeleton_bone_state_set skeleton_get_minmax "+"skeleton_get_num_bounds skeleton_get_bounds "+"skeleton_animation_get_frame skeleton_animation_set_frame "+"draw_skeleton draw_skeleton_time draw_skeleton_instance "+"draw_skeleton_collision skeleton_animation_list skeleton_skin_list "+"skeleton_slot_data layer_get_id layer_get_id_at_depth "+"layer_get_depth layer_create layer_destroy layer_destroy_instances "+"layer_add_instance layer_has_instance layer_set_visible "+"layer_get_visible layer_exists layer_x layer_y layer_get_x "+"layer_get_y layer_hspeed layer_vspeed layer_get_hspeed "+"layer_get_vspeed layer_script_begin layer_script_end layer_shader "+"layer_get_script_begin layer_get_script_end layer_get_shader "+"layer_set_target_room layer_get_target_room layer_reset_target_room "+"layer_get_all layer_get_all_elements layer_get_name layer_depth "+"layer_get_element_layer layer_get_element_type layer_element_move "+"layer_force_draw_depth layer_is_draw_depth_forced "+"layer_get_forced_depth layer_background_get_id "+"layer_background_exists layer_background_create "+"layer_background_destroy layer_background_visible "+"layer_background_change layer_background_sprite "+"layer_background_htiled layer_background_vtiled "+"layer_background_stretch layer_background_yscale "+"layer_background_xscale layer_background_blend "+"layer_background_alpha layer_background_index layer_background_speed "+"layer_background_get_visible layer_background_get_sprite "+"layer_background_get_htiled layer_background_get_vtiled "+"layer_background_get_stretch layer_background_get_yscale "+"layer_background_get_xscale layer_background_get_blend "+"layer_background_get_alpha layer_background_get_index "+"layer_background_get_speed layer_sprite_get_id layer_sprite_exists "+"layer_sprite_create layer_sprite_destroy layer_sprite_change "+"layer_sprite_index layer_sprite_speed layer_sprite_xscale "+"layer_sprite_yscale layer_sprite_angle layer_sprite_blend "+"layer_sprite_alpha layer_sprite_x layer_sprite_y "+"layer_sprite_get_sprite layer_sprite_get_index "+"layer_sprite_get_speed layer_sprite_get_xscale "+"layer_sprite_get_yscale layer_sprite_get_angle "+"layer_sprite_get_blend layer_sprite_get_alpha layer_sprite_get_x "+"layer_sprite_get_y layer_tilemap_get_id layer_tilemap_exists "+"layer_tilemap_create layer_tilemap_destroy tilemap_tileset tilemap_x "+"tilemap_y tilemap_set tilemap_set_at_pixel tilemap_get_tileset "+"tilemap_get_tile_width tilemap_get_tile_height tilemap_get_width "+"tilemap_get_height tilemap_get_x tilemap_get_y tilemap_get "+"tilemap_get_at_pixel tilemap_get_cell_x_at_pixel "+"tilemap_get_cell_y_at_pixel tilemap_clear draw_tilemap draw_tile "+"tilemap_set_global_mask tilemap_get_global_mask tilemap_set_mask "+"tilemap_get_mask tilemap_get_frame tile_set_empty tile_set_index "+"tile_set_flip tile_set_mirror tile_set_rotate tile_get_empty "+"tile_get_index tile_get_flip tile_get_mirror tile_get_rotate "+"layer_tile_exists layer_tile_create layer_tile_destroy "+"layer_tile_change layer_tile_xscale layer_tile_yscale "+"layer_tile_blend layer_tile_alpha layer_tile_x layer_tile_y "+"layer_tile_region layer_tile_visible layer_tile_get_sprite "+"layer_tile_get_xscale layer_tile_get_yscale layer_tile_get_blend "+"layer_tile_get_alpha layer_tile_get_x layer_tile_get_y "+"layer_tile_get_region layer_tile_get_visible "+"layer_instance_get_instance instance_activate_layer "+"instance_deactivate_layer camera_create camera_create_view "+"camera_destroy camera_apply camera_get_active camera_get_default "+"camera_set_default camera_set_view_mat camera_set_proj_mat "+"camera_set_update_script camera_set_begin_script "+"camera_set_end_script camera_set_view_pos camera_set_view_size "+"camera_set_view_speed camera_set_view_border camera_set_view_angle "+"camera_set_view_target camera_get_view_mat camera_get_proj_mat "+"camera_get_update_script camera_get_begin_script "+"camera_get_end_script camera_get_view_x camera_get_view_y "+"camera_get_view_width camera_get_view_height camera_get_view_speed_x "+"camera_get_view_speed_y camera_get_view_border_x "+"camera_get_view_border_y camera_get_view_angle "+"camera_get_view_target view_get_camera view_get_visible "+"view_get_xport view_get_yport view_get_wport view_get_hport "+"view_get_surface_id view_set_camera view_set_visible view_set_xport "+"view_set_yport view_set_wport view_set_hport view_set_surface_id "+"gesture_drag_time gesture_drag_distance gesture_flick_speed "+"gesture_double_tap_time gesture_double_tap_distance "+"gesture_pinch_distance gesture_pinch_angle_towards "+"gesture_pinch_angle_away gesture_rotate_time gesture_rotate_angle "+"gesture_tap_count gesture_get_drag_time gesture_get_drag_distance "+"gesture_get_flick_speed gesture_get_double_tap_time "+"gesture_get_double_tap_distance gesture_get_pinch_distance "+"gesture_get_pinch_angle_towards gesture_get_pinch_angle_away "+"gesture_get_rotate_time gesture_get_rotate_angle "+"gesture_get_tap_count keyboard_virtual_show keyboard_virtual_hide "+"keyboard_virtual_status keyboard_virtual_height",literal:"self other all noone global local undefined pointer_invalid "+"pointer_null path_action_stop path_action_restart "+"path_action_continue path_action_reverse true false pi GM_build_date "+"GM_version GM_runtime_version  timezone_local timezone_utc "+"gamespeed_fps gamespeed_microseconds  ev_create ev_destroy ev_step "+"ev_alarm ev_keyboard ev_mouse ev_collision ev_other ev_draw "+"ev_draw_begin ev_draw_end ev_draw_pre ev_draw_post ev_keypress "+"ev_keyrelease ev_trigger ev_left_button ev_right_button "+"ev_middle_button ev_no_button ev_left_press ev_right_press "+"ev_middle_press ev_left_release ev_right_release ev_middle_release "+"ev_mouse_enter ev_mouse_leave ev_mouse_wheel_up ev_mouse_wheel_down "+"ev_global_left_button ev_global_right_button ev_global_middle_button "+"ev_global_left_press ev_global_right_press ev_global_middle_press "+"ev_global_left_release ev_global_right_release "+"ev_global_middle_release ev_joystick1_left ev_joystick1_right "+"ev_joystick1_up ev_joystick1_down ev_joystick1_button1 "+"ev_joystick1_button2 ev_joystick1_button3 ev_joystick1_button4 "+"ev_joystick1_button5 ev_joystick1_button6 ev_joystick1_button7 "+"ev_joystick1_button8 ev_joystick2_left ev_joystick2_right "+"ev_joystick2_up ev_joystick2_down ev_joystick2_button1 "+"ev_joystick2_button2 ev_joystick2_button3 ev_joystick2_button4 "+"ev_joystick2_button5 ev_joystick2_button6 ev_joystick2_button7 "+"ev_joystick2_button8 ev_outside ev_boundary ev_game_start "+"ev_game_end ev_room_start ev_room_end ev_no_more_lives "+"ev_animation_end ev_end_of_path ev_no_more_health ev_close_button "+"ev_user0 ev_user1 ev_user2 ev_user3 ev_user4 ev_user5 ev_user6 "+"ev_user7 ev_user8 ev_user9 ev_user10 ev_user11 ev_user12 ev_user13 "+"ev_user14 ev_user15 ev_step_normal ev_step_begin ev_step_end ev_gui "+"ev_gui_begin ev_gui_end ev_cleanup ev_gesture ev_gesture_tap "+"ev_gesture_double_tap ev_gesture_drag_start ev_gesture_dragging "+"ev_gesture_drag_end ev_gesture_flick ev_gesture_pinch_start "+"ev_gesture_pinch_in ev_gesture_pinch_out ev_gesture_pinch_end "+"ev_gesture_rotate_start ev_gesture_rotating ev_gesture_rotate_end "+"ev_global_gesture_tap ev_global_gesture_double_tap "+"ev_global_gesture_drag_start ev_global_gesture_dragging "+"ev_global_gesture_drag_end ev_global_gesture_flick "+"ev_global_gesture_pinch_start ev_global_gesture_pinch_in "+"ev_global_gesture_pinch_out ev_global_gesture_pinch_end "+"ev_global_gesture_rotate_start ev_global_gesture_rotating "+"ev_global_gesture_rotate_end vk_nokey vk_anykey vk_enter vk_return "+"vk_shift vk_control vk_alt vk_escape vk_space vk_backspace vk_tab "+"vk_pause vk_printscreen vk_left vk_right vk_up vk_down vk_home "+"vk_end vk_delete vk_insert vk_pageup vk_pagedown vk_f1 vk_f2 vk_f3 "+"vk_f4 vk_f5 vk_f6 vk_f7 vk_f8 vk_f9 vk_f10 vk_f11 vk_f12 vk_numpad0 "+"vk_numpad1 vk_numpad2 vk_numpad3 vk_numpad4 vk_numpad5 vk_numpad6 "+"vk_numpad7 vk_numpad8 vk_numpad9 vk_divide vk_multiply vk_subtract "+"vk_add vk_decimal vk_lshift vk_lcontrol vk_lalt vk_rshift "+"vk_rcontrol vk_ralt  mb_any mb_none mb_left mb_right mb_middle "+"c_aqua c_black c_blue c_dkgray c_fuchsia c_gray c_green c_lime "+"c_ltgray c_maroon c_navy c_olive c_purple c_red c_silver c_teal "+"c_white c_yellow c_orange fa_left fa_center fa_right fa_top "+"fa_middle fa_bottom pr_pointlist pr_linelist pr_linestrip "+"pr_trianglelist pr_trianglestrip pr_trianglefan bm_complex bm_normal "+"bm_add bm_max bm_subtract bm_zero bm_one bm_src_colour "+"bm_inv_src_colour bm_src_color bm_inv_src_color bm_src_alpha "+"bm_inv_src_alpha bm_dest_alpha bm_inv_dest_alpha bm_dest_colour "+"bm_inv_dest_colour bm_dest_color bm_inv_dest_color bm_src_alpha_sat "+"tf_point tf_linear tf_anisotropic mip_off mip_on mip_markedonly "+"audio_falloff_none audio_falloff_inverse_distance "+"audio_falloff_inverse_distance_clamped audio_falloff_linear_distance "+"audio_falloff_linear_distance_clamped "+"audio_falloff_exponent_distance "+"audio_falloff_exponent_distance_clamped audio_old_system "+"audio_new_system audio_mono audio_stereo audio_3d cr_default cr_none "+"cr_arrow cr_cross cr_beam cr_size_nesw cr_size_ns cr_size_nwse "+"cr_size_we cr_uparrow cr_hourglass cr_drag cr_appstart cr_handpoint "+"cr_size_all spritespeed_framespersecond "+"spritespeed_framespergameframe asset_object asset_unknown "+"asset_sprite asset_sound asset_room asset_path asset_script "+"asset_font asset_timeline asset_tiles asset_shader fa_readonly "+"fa_hidden fa_sysfile fa_volumeid fa_directory fa_archive  "+"ds_type_map ds_type_list ds_type_stack ds_type_queue ds_type_grid "+"ds_type_priority ef_explosion ef_ring ef_ellipse ef_firework "+"ef_smoke ef_smokeup ef_star ef_spark ef_flare ef_cloud ef_rain "+"ef_snow pt_shape_pixel pt_shape_disk pt_shape_square pt_shape_line "+"pt_shape_star pt_shape_circle pt_shape_ring pt_shape_sphere "+"pt_shape_flare pt_shape_spark pt_shape_explosion pt_shape_cloud "+"pt_shape_smoke pt_shape_snow ps_distr_linear ps_distr_gaussian "+"ps_distr_invgaussian ps_shape_rectangle ps_shape_ellipse "+"ps_shape_diamond ps_shape_line ty_real ty_string dll_cdecl "+"dll_stdcall matrix_view matrix_projection matrix_world os_win32 "+"os_windows os_macosx os_ios os_android os_symbian os_linux "+"os_unknown os_winphone os_tizen os_win8native "+"os_wiiu os_3ds  os_psvita os_bb10 os_ps4 os_xboxone "+"os_ps3 os_xbox360 os_uwp os_tvos os_switch "+"browser_not_a_browser browser_unknown browser_ie browser_firefox "+"browser_chrome browser_safari browser_safari_mobile browser_opera "+"browser_tizen browser_edge browser_windows_store browser_ie_mobile  "+"device_ios_unknown device_ios_iphone device_ios_iphone_retina "+"device_ios_ipad device_ios_ipad_retina device_ios_iphone5 "+"device_ios_iphone6 device_ios_iphone6plus device_emulator "+"device_tablet display_landscape display_landscape_flipped "+"display_portrait display_portrait_flipped tm_sleep tm_countvsyncs "+"of_challenge_win of_challen ge_lose of_challenge_tie "+"leaderboard_type_number leaderboard_type_time_mins_secs "+"cmpfunc_never cmpfunc_less cmpfunc_equal cmpfunc_lessequal "+"cmpfunc_greater cmpfunc_notequal cmpfunc_greaterequal cmpfunc_always "+"cull_noculling cull_clockwise cull_counterclockwise lighttype_dir "+"lighttype_point iap_ev_storeload iap_ev_product iap_ev_purchase "+"iap_ev_consume iap_ev_restore iap_storeload_ok iap_storeload_failed "+"iap_status_uninitialised iap_status_unavailable iap_status_loading "+"iap_status_available iap_status_processing iap_status_restoring "+"iap_failed iap_unavailable iap_available iap_purchased iap_canceled "+"iap_refunded fb_login_default fb_login_fallback_to_webview "+"fb_login_no_fallback_to_webview fb_login_forcing_webview "+"fb_login_use_system_account fb_login_forcing_safari  "+"phy_joint_anchor_1_x phy_joint_anchor_1_y phy_joint_anchor_2_x "+"phy_joint_anchor_2_y phy_joint_reaction_force_x "+"phy_joint_reaction_force_y phy_joint_reaction_torque "+"phy_joint_motor_speed phy_joint_angle phy_joint_motor_torque "+"phy_joint_max_motor_torque phy_joint_translation phy_joint_speed "+"phy_joint_motor_force phy_joint_max_motor_force phy_joint_length_1 "+"phy_joint_length_2 phy_joint_damping_ratio phy_joint_frequency "+"phy_joint_lower_angle_limit phy_joint_upper_angle_limit "+"phy_joint_angle_limits phy_joint_max_length phy_joint_max_torque "+"phy_joint_max_force phy_debug_render_aabb "+"phy_debug_render_collision_pairs phy_debug_render_coms "+"phy_debug_render_core_shapes phy_debug_render_joints "+"phy_debug_render_obb phy_debug_render_shapes  "+"phy_particle_flag_water phy_particle_flag_zombie "+"phy_particle_flag_wall phy_particle_flag_spring "+"phy_particle_flag_elastic phy_particle_flag_viscous "+"phy_particle_flag_powder phy_particle_flag_tensile "+"phy_particle_flag_colourmixing phy_particle_flag_colormixing "+"phy_particle_group_flag_solid phy_particle_group_flag_rigid "+"phy_particle_data_flag_typeflags phy_particle_data_flag_position "+"phy_particle_data_flag_velocity phy_particle_data_flag_colour "+"phy_particle_data_flag_color phy_particle_data_flag_category  "+"achievement_our_info achievement_friends_info "+"achievement_leaderboard_info achievement_achievement_info "+"achievement_filter_all_players achievement_filter_friends_only "+"achievement_filter_favorites_only "+"achievement_type_achievement_challenge "+"achievement_type_score_challenge achievement_pic_loaded  "+"achievement_show_ui achievement_show_profile "+"achievement_show_leaderboard achievement_show_achievement "+"achievement_show_bank achievement_show_friend_picker "+"achievement_show_purchase_prompt network_socket_tcp "+"network_socket_udp network_socket_bluetooth network_type_connect "+"network_type_disconnect network_type_data "+"network_type_non_blocking_connect network_config_connect_timeout "+"network_config_use_non_blocking_socket "+"network_config_enable_reliable_udp "+"network_config_disable_reliable_udp buffer_fixed buffer_grow "+"buffer_wrap buffer_fast buffer_vbuffer buffer_network buffer_u8 "+"buffer_s8 buffer_u16 buffer_s16 buffer_u32 buffer_s32 buffer_u64 "+"buffer_f16 buffer_f32 buffer_f64 buffer_bool buffer_text "+"buffer_string buffer_surface_copy buffer_seek_start "+"buffer_seek_relative buffer_seek_end "+"buffer_generalerror buffer_outofspace buffer_outofbounds "+"buffer_invalidtype  text_type button_type input_type ANSI_CHARSET "+"DEFAULT_CHARSET EASTEUROPE_CHARSET RUSSIAN_CHARSET SYMBOL_CHARSET "+"SHIFTJIS_CHARSET HANGEUL_CHARSET GB2312_CHARSET CHINESEBIG5_CHARSET "+"JOHAB_CHARSET HEBREW_CHARSET ARABIC_CHARSET GREEK_CHARSET "+"TURKISH_CHARSET VIETNAMESE_CHARSET THAI_CHARSET MAC_CHARSET "+"BALTIC_CHARSET OEM_CHARSET  gp_face1 gp_face2 gp_face3 gp_face4 "+"gp_shoulderl gp_shoulderr gp_shoulderlb gp_shoulderrb gp_select "+"gp_start gp_stickl gp_stickr gp_padu gp_padd gp_padl gp_padr "+"gp_axislh gp_axislv gp_axisrh gp_axisrv ov_friends ov_community "+"ov_players ov_settings ov_gamegroup ov_achievements lb_sort_none "+"lb_sort_ascending lb_sort_descending lb_disp_none lb_disp_numeric "+"lb_disp_time_sec lb_disp_time_ms ugc_result_success "+"ugc_filetype_community ugc_filetype_microtrans ugc_visibility_public "+"ugc_visibility_friends_only ugc_visibility_private "+"ugc_query_RankedByVote ugc_query_RankedByPublicationDate "+"ugc_query_AcceptedForGameRankedByAcceptanceDate "+"ugc_query_RankedByTrend "+"ugc_query_FavoritedByFriendsRankedByPublicationDate "+"ugc_query_CreatedByFriendsRankedByPublicationDate "+"ugc_query_RankedByNumTimesReported "+"ugc_query_CreatedByFollowedUsersRankedByPublicationDate "+"ugc_query_NotYetRated ugc_query_RankedByTotalVotesAsc "+"ugc_query_RankedByVotesUp ugc_query_RankedByTextSearch "+"ugc_sortorder_CreationOrderDesc ugc_sortorder_CreationOrderAsc "+"ugc_sortorder_TitleAsc ugc_sortorder_LastUpdatedDesc "+"ugc_sortorder_SubscriptionDateDesc ugc_sortorder_VoteScoreDesc "+"ugc_sortorder_ForModeration ugc_list_Published ugc_list_VotedOn "+"ugc_list_VotedUp ugc_list_VotedDown ugc_list_WillVoteLater "+"ugc_list_Favorited ugc_list_Subscribed ugc_list_UsedOrPlayed "+"ugc_list_Followed ugc_match_Items ugc_match_Items_Mtx "+"ugc_match_Items_ReadyToUse ugc_match_Collections ugc_match_Artwork "+"ugc_match_Videos ugc_match_Screenshots ugc_match_AllGuides "+"ugc_match_WebGuides ugc_match_IntegratedGuides "+"ugc_match_UsableInGame ugc_match_ControllerBindings  "+"vertex_usage_position vertex_usage_colour vertex_usage_color "+"vertex_usage_normal vertex_usage_texcoord vertex_usage_textcoord "+"vertex_usage_blendweight vertex_usage_blendindices "+"vertex_usage_psize vertex_usage_tangent vertex_usage_binormal "+"vertex_usage_fog vertex_usage_depth vertex_usage_sample "+"vertex_type_float1 vertex_type_float2 vertex_type_float3 "+"vertex_type_float4 vertex_type_colour vertex_type_color "+"vertex_type_ubyte4 layerelementtype_undefined "+"layerelementtype_background layerelementtype_instance "+"layerelementtype_oldtilemap layerelementtype_sprite "+"layerelementtype_tilemap layerelementtype_particlesystem "+"layerelementtype_tile tile_rotate tile_flip tile_mirror "+"tile_index_mask kbv_type_default kbv_type_ascii kbv_type_url "+"kbv_type_email kbv_type_numbers kbv_type_phone kbv_type_phone_name "+"kbv_returnkey_default kbv_returnkey_go kbv_returnkey_google "+"kbv_returnkey_join kbv_returnkey_next kbv_returnkey_route "+"kbv_returnkey_search kbv_returnkey_send kbv_returnkey_yahoo "+"kbv_returnkey_done kbv_returnkey_continue kbv_returnkey_emergency "+"kbv_autocapitalize_none kbv_autocapitalize_words "+"kbv_autocapitalize_sentences kbv_autocapitalize_characters",symbol:"argument_relative argument argument0 argument1 argument2 "+"argument3 argument4 argument5 argument6 argument7 argument8 "+"argument9 argument10 argument11 argument12 argument13 argument14 "+"argument15 argument_count x|0 y|0 xprevious yprevious xstart ystart "+"hspeed vspeed direction speed friction gravity gravity_direction "+"path_index path_position path_positionprevious path_speed "+"path_scale path_orientation path_endaction object_index id solid "+"persistent mask_index instance_count instance_id room_speed fps "+"fps_real current_time current_year current_month current_day "+"current_weekday current_hour current_minute current_second alarm "+"timeline_index timeline_position timeline_speed timeline_running "+"timeline_loop room room_first room_last room_width room_height "+"room_caption room_persistent score lives health show_score "+"show_lives show_health caption_score caption_lives caption_health "+"event_type event_number event_object event_action "+"application_surface gamemaker_pro gamemaker_registered "+"gamemaker_version error_occurred error_last debug_mode "+"keyboard_key keyboard_lastkey keyboard_lastchar keyboard_string "+"mouse_x mouse_y mouse_button mouse_lastbutton cursor_sprite "+"visible sprite_index sprite_width sprite_height sprite_xoffset "+"sprite_yoffset image_number image_index image_speed depth "+"image_xscale image_yscale image_angle image_alpha image_blend "+"bbox_left bbox_right bbox_top bbox_bottom layer background_colour  "+"background_showcolour background_color background_showcolor "+"view_enabled view_current view_visible view_xview view_yview "+"view_wview view_hview view_xport view_yport view_wport view_hport "+"view_angle view_hborder view_vborder view_hspeed view_vspeed "+"view_object view_surface_id view_camera game_id game_display_name "+"game_project_name game_save_id working_directory temp_directory "+"program_directory browser_width browser_height os_type os_device "+"os_browser os_version display_aa async_load delta_time "+"webgl_enabled event_data iap_data phy_rotation phy_position_x "+"phy_position_y phy_angular_velocity phy_linear_velocity_x "+"phy_linear_velocity_y phy_speed_x phy_speed_y phy_speed "+"phy_angular_damping phy_linear_damping phy_bullet "+"phy_fixed_rotation phy_active phy_mass phy_inertia phy_com_x "+"phy_com_y phy_dynamic phy_kinematic phy_sleeping "+"phy_collision_points phy_collision_x phy_collision_y "+"phy_col_normal_x phy_col_normal_y phy_position_xprevious "+"phy_position_yprevious"};return{name:"GML",case_insensitive:false,keywords:GML_KEYWORDS,contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE]}}module.exports=gml},function(module,exports){function go(hljs){const GO_KEYWORDS={keyword:"break default func interface select case map struct chan else goto package switch "+"const fallthrough if range type continue for import return var go defer "+"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 "+"uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:GO_KEYWORDS,illegal:"</",contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"string",variants:[hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{begin:hljs.C_NUMBER_RE+"[i]",relevance:1},hljs.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:true,contains:[hljs.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:GO_KEYWORDS,illegal:/["']/}]}]}}module.exports=go},function(module,exports){function golo(hljs){return{name:"Golo",keywords:{keyword:"println readln print import module function local return let var "+"while for foreach times in case when match with break continue "+"augment augmentation each find filter reduce "+"if then else otherwise try catch finally raise throw orIfNull "+"DynamicObject|10 DynamicVariable struct Observable map set vector list array",literal:"true false null"},contains:[hljs.HASH_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}module.exports=golo},function(module,exports){function gradle(hljs){return{name:"Gradle",case_insensitive:true,keywords:{keyword:"task project allprojects subprojects artifacts buildscript configurations "+"dependencies repositories sourceSets description delete from into include "+"exclude source classpath destinationDir includes options sourceCompatibility "+"targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant "+"def abstract break case catch continue default do else extends final finally "+"for if implements instanceof native new private protected public return static "+"switch synchronized throw throws transient try volatile while strictfp package "+"import false null super this true antlrtask checkstyle codenarc copy boolean "+"byte char class double float int interface long short void compile runTime "+"file fileTree abs any append asList asWritable call collect compareTo count "+"div dump each eachByte eachFile eachLine every find findAll flatten getAt "+"getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods "+"isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter "+"newReader newWriter next plus pop power previous print println push putAt read "+"readBytes readLines reverse reverseEach round size sort splitEachLine step subMap "+"times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader "+"withStream withWriter withWriterAppend write writeLine"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.NUMBER_MODE,hljs.REGEXP_MODE]}}module.exports=gradle},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function variants(variants,obj={}){obj.variants=variants;return obj}function groovy(hljs){const IDENT_RE="[A-Za-z0-9_$]+";const COMMENT=variants([hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]})]);const REGEXP={className:"regexp",begin:/~?\/[^\/\n]+\//,contains:[hljs.BACKSLASH_ESCAPE]};const NUMBER=variants([hljs.BINARY_NUMBER_MODE,hljs.C_NUMBER_MODE]);const STRING=variants([{begin:/"""/,end:/"""/},{begin:/'''/,end:/'''/},{begin:"\\$/",end:"/\\$",relevance:10},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE],{className:"string"});return{name:"Groovy",keywords:{built_in:"this super",literal:"true false null",keyword:"byte short char int long boolean float double void "+"def as in assert trait "+"abstract static volatile transient public private protected synchronized final "+"class interface enum if else for while switch case break default continue "+"throw throws try catch finally implements extends new import package return instanceof"},contains:[hljs.SHEBANG({binary:"groovy",relevance:10}),COMMENT,STRING,REGEXP,NUMBER,{className:"class",beginKeywords:"class interface trait enum",end:/\{/,illegal:":",contains:[{beginKeywords:"extends implements"},hljs.UNDERSCORE_TITLE_MODE]},{className:"meta",begin:"@[A-Za-z]+",relevance:0},{className:"attr",begin:IDENT_RE+"[ \t]*:",relevance:0},{begin:/\?/,end:/:/,relevance:0,contains:[COMMENT,STRING,REGEXP,NUMBER,"self"]},{className:"symbol",begin:"^[ \t]*"+lookahead(IDENT_RE+":"),excludeBegin:true,end:IDENT_RE+":",relevance:0}],illegal:/#|<\//}}module.exports=groovy},function(module,exports){function haml(hljs){return{name:"HAML",case_insensitive:true,contains:[{className:"meta",begin:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",relevance:10},hljs.COMMENT("^\\s*(!=#|=#|-#|/).*$",false,{relevance:0}),{begin:"^\\s*(-|=|!=)(?!#)",starts:{end:"\\n",subLanguage:"ruby"}},{className:"tag",begin:"^\\s*%",contains:[{className:"selector-tag",begin:"\\w+"},{className:"selector-id",begin:"#[\\w-]+"},{className:"selector-class",begin:"\\.[\\w-]+"},{begin:/\{\s*/,end:/\s*\}/,contains:[{begin:":\\w+\\s*=>",end:",\\s+",returnBegin:true,endsWithParent:true,contains:[{className:"attr",begin:":\\w+"},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]},{begin:"\\(\\s*",end:"\\s*\\)",excludeEnd:true,contains:[{begin:"\\w+\\s*=",end:"\\s+",returnBegin:true,endsWithParent:true,contains:[{className:"attr",begin:"\\w+",relevance:0},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]}]},{begin:"^\\s*[=~]\\s*"},{begin:/#\{/,starts:{end:/\}/,subLanguage:"ruby"}}]}}module.exports=haml},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function anyNumberOfTimes(re){return concat("(",re,")*")}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function handlebars(hljs){const BUILT_INS={"builtin-name":["action","bindattr","collection","component","concat","debugger","each","each-in","get","hash","if","in","input","link-to","loc","log","lookup","mut","outlet","partial","query-params","render","template","textarea","unbound","unless","view","with","yield"]};const LITERALS={literal:["true","false","undefined","null"]};const DOUBLE_QUOTED_ID_REGEX=/""|"[^"]+"/;const SINGLE_QUOTED_ID_REGEX=/''|'[^']+'/;const BRACKET_QUOTED_ID_REGEX=/\[\]|\[[^\]]+\]/;const PLAIN_ID_REGEX=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/;const PATH_DELIMITER_REGEX=/(\.|\/)/;const ANY_ID=either(DOUBLE_QUOTED_ID_REGEX,SINGLE_QUOTED_ID_REGEX,BRACKET_QUOTED_ID_REGEX,PLAIN_ID_REGEX);const IDENTIFIER_REGEX=concat(optional(/\.|\.\/|\//),ANY_ID,anyNumberOfTimes(concat(PATH_DELIMITER_REGEX,ANY_ID)));const HASH_PARAM_REGEX=concat("(",BRACKET_QUOTED_ID_REGEX,"|",PLAIN_ID_REGEX,")(?==)");const HELPER_NAME_OR_PATH_EXPRESSION={begin:IDENTIFIER_REGEX,lexemes:/[\w.\/]+/};const HELPER_PARAMETER=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{keywords:LITERALS});const SUB_EXPRESSION={begin:/\(/,end:/\)/};const HASH={className:"attr",begin:HASH_PARAM_REGEX,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[hljs.NUMBER_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,HELPER_PARAMETER,SUB_EXPRESSION]}}};const BLOCK_PARAMS={begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]};const HELPER_PARAMETERS={contains:[hljs.NUMBER_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,BLOCK_PARAMS,HASH,HELPER_PARAMETER,SUB_EXPRESSION],returnEnd:true};const SUB_EXPRESSION_CONTENTS=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{className:"name",keywords:BUILT_INS,starts:hljs.inherit(HELPER_PARAMETERS,{end:/\)/})});SUB_EXPRESSION.contains=[SUB_EXPRESSION_CONTENTS];const OPENING_BLOCK_MUSTACHE_CONTENTS=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{keywords:BUILT_INS,className:"name",starts:hljs.inherit(HELPER_PARAMETERS,{end:/\}\}/})});const CLOSING_BLOCK_MUSTACHE_CONTENTS=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{keywords:BUILT_INS,className:"name"});const BASIC_MUSTACHE_CONTENTS=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{className:"name",keywords:BUILT_INS,starts:hljs.inherit(HELPER_PARAMETERS,{end:/\}\}/})});const ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH={begin:/\\\{\{/,skip:true};const PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH={begin:/\\\\(?=\{\{)/,skip:true};return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:true,subLanguage:"xml",contains:[ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH,PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH,hljs.COMMENT(/\{\{!--/,/--\}\}/),hljs.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[OPENING_BLOCK_MUSTACHE_CONTENTS],starts:{end:/\{\{\{\{\//,returnEnd:true,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[CLOSING_BLOCK_MUSTACHE_CONTENTS]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[OPENING_BLOCK_MUSTACHE_CONTENTS]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{(?=else if)/,end:/\}\}/,keywords:"else if"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[CLOSING_BLOCK_MUSTACHE_CONTENTS]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[BASIC_MUSTACHE_CONTENTS]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[BASIC_MUSTACHE_CONTENTS]}]}}module.exports=handlebars},function(module,exports){function haskell(hljs){const COMMENT={variants:[hljs.COMMENT("--","$"),hljs.COMMENT(/\{-/,/-\}/,{contains:["self"]})]};const PRAGMA={className:"meta",begin:/\{-#/,end:/#-\}/};const PREPROCESSOR={className:"meta",begin:"^#",end:"$"};const CONSTRUCTOR={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0};const LIST={begin:"\\(",end:"\\)",illegal:'"',contains:[PRAGMA,PREPROCESSOR,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},hljs.inherit(hljs.TITLE_MODE,{begin:"[_a-z][\\w']*"}),COMMENT]};const RECORD={begin:/\{/,end:/\}/,contains:LIST.contains};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding "+"qualified type data newtype deriving class instance as default "+"infix infixl infixr foreign export ccall stdcall cplusplus "+"jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[LIST,COMMENT],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[LIST,COMMENT],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[CONSTRUCTOR,LIST,COMMENT]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[PRAGMA,CONSTRUCTOR,LIST,RECORD,COMMENT]},{beginKeywords:"default",end:"$",contains:[CONSTRUCTOR,LIST,COMMENT]},{beginKeywords:"infix infixl infixr",end:"$",contains:[hljs.C_NUMBER_MODE,COMMENT]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm "+"dotnet safe unsafe",contains:[CONSTRUCTOR,hljs.QUOTE_STRING_MODE,COMMENT]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},PRAGMA,PREPROCESSOR,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE,CONSTRUCTOR,hljs.inherit(hljs.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),COMMENT,{begin:"->|<-"}]}}module.exports=haskell},function(module,exports){function haxe(hljs){const HAXE_BASIC_TYPES="Int Float String Bool Dynamic Void Array ";return{name:"Haxe",aliases:["hx"],keywords:{keyword:"break case cast catch continue default do dynamic else enum extern "+"for function here if import in inline never new override package private get set "+"public return static super switch this throw trace try typedef untyped using var while "+HAXE_BASIC_TYPES,built_in:"trace this",literal:"true false null _"},contains:[{className:"string",begin:"'",end:"'",contains:[hljs.BACKSLASH_ESCAPE,{className:"subst",begin:"\\$\\{",end:"\\}"},{className:"subst",begin:"\\$",end:/\W\}/}]},hljs.QUOTE_STRING_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.C_NUMBER_MODE,{className:"meta",begin:"@:",end:"$"},{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elseif end error"}},{className:"type",begin:":[ \t]*",end:"[^A-Za-z0-9_ \t\\->]",excludeBegin:true,excludeEnd:true,relevance:0},{className:"type",begin:":[ \t]*",end:"\\W",excludeBegin:true,excludeEnd:true},{className:"type",begin:"new *",end:"\\W",excludeBegin:true,excludeEnd:true},{className:"class",beginKeywords:"enum",end:"\\{",contains:[hljs.TITLE_MODE]},{className:"class",beginKeywords:"abstract",end:"[\\{$]",contains:[{className:"type",begin:"\\(",end:"\\)",excludeBegin:true,excludeEnd:true},{className:"type",begin:"from +",end:"\\W",excludeBegin:true,excludeEnd:true},{className:"type",begin:"to +",end:"\\W",excludeBegin:true,excludeEnd:true},hljs.TITLE_MODE],keywords:{keyword:"abstract from to"}},{className:"class",begin:"\\b(class|interface) +",end:"[\\{$]",excludeEnd:true,keywords:"class interface",contains:[{className:"keyword",begin:"\\b(extends|implements) +",keywords:"extends implements",contains:[{className:"type",begin:hljs.IDENT_RE,relevance:0}]},hljs.TITLE_MODE]},{className:"function",beginKeywords:"function",end:"\\(",excludeEnd:true,illegal:"\\S",contains:[hljs.TITLE_MODE]}],illegal:/<\//}}module.exports=haxe},function(module,exports){function hsp(hljs){return{name:"HSP",case_insensitive:true,keywords:{$pattern:/[\w._]+/,keyword:"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,{className:"string",begin:/\{"/,end:/"\}/,contains:[hljs.BACKSLASH_ESCAPE]},hljs.COMMENT(";","$",{relevance:0}),{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib"},contains:[hljs.inherit(hljs.QUOTE_STRING_MODE,{className:"meta-string"}),hljs.NUMBER_MODE,hljs.C_NUMBER_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},{className:"symbol",begin:"^\\*(\\w+|@)"},hljs.NUMBER_MODE,hljs.C_NUMBER_MODE]}}module.exports=hsp},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function anyNumberOfTimes(re){return concat("(",re,")*")}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function handlebars(hljs){const BUILT_INS={"builtin-name":["action","bindattr","collection","component","concat","debugger","each","each-in","get","hash","if","in","input","link-to","loc","log","lookup","mut","outlet","partial","query-params","render","template","textarea","unbound","unless","view","with","yield"]};const LITERALS={literal:["true","false","undefined","null"]};const DOUBLE_QUOTED_ID_REGEX=/""|"[^"]+"/;const SINGLE_QUOTED_ID_REGEX=/''|'[^']+'/;const BRACKET_QUOTED_ID_REGEX=/\[\]|\[[^\]]+\]/;const PLAIN_ID_REGEX=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/;const PATH_DELIMITER_REGEX=/(\.|\/)/;const ANY_ID=either(DOUBLE_QUOTED_ID_REGEX,SINGLE_QUOTED_ID_REGEX,BRACKET_QUOTED_ID_REGEX,PLAIN_ID_REGEX);const IDENTIFIER_REGEX=concat(optional(/\.|\.\/|\//),ANY_ID,anyNumberOfTimes(concat(PATH_DELIMITER_REGEX,ANY_ID)));const HASH_PARAM_REGEX=concat("(",BRACKET_QUOTED_ID_REGEX,"|",PLAIN_ID_REGEX,")(?==)");const HELPER_NAME_OR_PATH_EXPRESSION={begin:IDENTIFIER_REGEX,lexemes:/[\w.\/]+/};const HELPER_PARAMETER=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{keywords:LITERALS});const SUB_EXPRESSION={begin:/\(/,end:/\)/};const HASH={className:"attr",begin:HASH_PARAM_REGEX,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[hljs.NUMBER_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,HELPER_PARAMETER,SUB_EXPRESSION]}}};const BLOCK_PARAMS={begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]};const HELPER_PARAMETERS={contains:[hljs.NUMBER_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,BLOCK_PARAMS,HASH,HELPER_PARAMETER,SUB_EXPRESSION],returnEnd:true};const SUB_EXPRESSION_CONTENTS=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{className:"name",keywords:BUILT_INS,starts:hljs.inherit(HELPER_PARAMETERS,{end:/\)/})});SUB_EXPRESSION.contains=[SUB_EXPRESSION_CONTENTS];const OPENING_BLOCK_MUSTACHE_CONTENTS=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{keywords:BUILT_INS,className:"name",starts:hljs.inherit(HELPER_PARAMETERS,{end:/\}\}/})});const CLOSING_BLOCK_MUSTACHE_CONTENTS=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{keywords:BUILT_INS,className:"name"});const BASIC_MUSTACHE_CONTENTS=hljs.inherit(HELPER_NAME_OR_PATH_EXPRESSION,{className:"name",keywords:BUILT_INS,starts:hljs.inherit(HELPER_PARAMETERS,{end:/\}\}/})});const ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH={begin:/\\\{\{/,skip:true};const PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH={begin:/\\\\(?=\{\{)/,skip:true};return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:true,subLanguage:"xml",contains:[ESCAPE_MUSTACHE_WITH_PRECEEDING_BACKSLASH,PREVENT_ESCAPE_WITH_ANOTHER_PRECEEDING_BACKSLASH,hljs.COMMENT(/\{\{!--/,/--\}\}/),hljs.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[OPENING_BLOCK_MUSTACHE_CONTENTS],starts:{end:/\{\{\{\{\//,returnEnd:true,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[CLOSING_BLOCK_MUSTACHE_CONTENTS]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[OPENING_BLOCK_MUSTACHE_CONTENTS]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{(?=else if)/,end:/\}\}/,keywords:"else if"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[CLOSING_BLOCK_MUSTACHE_CONTENTS]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[BASIC_MUSTACHE_CONTENTS]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[BASIC_MUSTACHE_CONTENTS]}]}}function htmlbars(hljs){const definition=handlebars(hljs);definition.name="HTMLbars";if(hljs.getLanguage("handlebars")){definition.disableAutodetect=true}return definition}module.exports=htmlbars},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function http(hljs){const VERSION="HTTP/(2|1\\.[01])";const HEADER_NAME=/[A-Za-z][A-Za-z0-9-]*/;const HEADER={className:"attribute",begin:concat("^",HEADER_NAME,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}};const HEADERS_AND_BODY=[HEADER,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:true}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+VERSION+" \\d{3})",end:/$/,contains:[{className:"meta",begin:VERSION},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:HEADERS_AND_BODY}},{begin:"(?=^[A-Z]+ (.*?) "+VERSION+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:true,excludeEnd:true},{className:"meta",begin:VERSION},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:HEADERS_AND_BODY}},hljs.inherit(HEADER,{relevance:0})]}}module.exports=http},function(module,exports){function hy(hljs){var SYMBOLSTART="a-zA-Z_\\-!.?+*=<>&#'";var SYMBOL_RE="["+SYMBOLSTART+"]["+SYMBOLSTART+"0-9/;:]*";var keywords={$pattern:SYMBOL_RE,"builtin-name":"!= % %= & &= * ** **= *= *map "+"+ += , --build-class-- --import-- -= . / // //= "+"/= < << <<= <= = > >= >> >>= "+"@ @= ^ ^= abs accumulate all and any ap-compose "+"ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe "+"ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast "+"callable calling-module-name car case cdr chain chr coll? combinations compile "+"compress cond cons cons? continue count curry cut cycle dec "+"def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn "+"defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir "+"disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? "+"end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first "+"flatten float? fn fnc fnr for for* format fraction genexpr "+"gensym get getattr global globals group-by hasattr hash hex id "+"identity if if* if-not if-python2 import in inc input instance? "+"integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even "+"is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none "+"is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass "+"iter iterable? iterate iterator? keyword keyword? lambda last len let "+"lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all "+"map max merge-with method-decorator min multi-decorator multicombinations name neg? next "+"none? nonlocal not not-in not? nth numeric? oct odd? open "+"or ord partition permutations pos? post-route postwalk pow prewalk print "+"product profile/calls profile/cpu put-route quasiquote quote raise range read read-str "+"recursive-replace reduce remove repeat repeatedly repr require rest round route "+"route-with-methods rwm second seq set-comp setattr setv some sorted string "+"string? sum switch symbol? take take-nth take-while tee try unless "+"unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms "+"xi xor yield yield-from zero? zip zip-longest | |= ~"};var SIMPLE_NUMBER_RE="[-+]?\\d+(\\.\\d+)?";var SYMBOL={begin:SYMBOL_RE,relevance:0};var NUMBER={className:"number",begin:SIMPLE_NUMBER_RE,relevance:0};var STRING=hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null});var COMMENT=hljs.COMMENT(";","$",{relevance:0});var LITERAL={className:"literal",begin:/\b([Tt]rue|[Ff]alse|nil|None)\b/};var COLLECTION={begin:"[\\[\\{]",end:"[\\]\\}]"};var HINT={className:"comment",begin:"\\^"+SYMBOL_RE};var HINT_COL=hljs.COMMENT("\\^\\{","\\}");var KEY={className:"symbol",begin:"[:]{1,2}"+SYMBOL_RE};var LIST={begin:"\\(",end:"\\)"};var BODY={endsWithParent:true,relevance:0};var NAME={className:"name",relevance:0,keywords:keywords,begin:SYMBOL_RE,starts:BODY};var DEFAULT_CONTAINS=[LIST,STRING,HINT,HINT_COL,COMMENT,KEY,COLLECTION,NUMBER,LITERAL,SYMBOL];LIST.contains=[hljs.COMMENT("comment",""),NAME,BODY];BODY.contains=DEFAULT_CONTAINS;COLLECTION.contains=DEFAULT_CONTAINS;return{name:"Hy",aliases:["hylang"],illegal:/\S/,contains:[hljs.SHEBANG(),LIST,STRING,HINT,HINT_COL,COMMENT,KEY,COLLECTION,NUMBER,LITERAL]}}module.exports=hy},function(module,exports){function inform7(hljs){const START_BRACKET="\\[";const END_BRACKET="\\]";return{name:"Inform 7",aliases:["i7"],case_insensitive:true,keywords:{keyword:"thing room person man woman animal container "+"supporter backdrop door "+"scenery open closed locked inside gender "+"is are say understand "+"kind of rule"},contains:[{className:"string",begin:'"',end:'"',relevance:0,contains:[{className:"subst",begin:START_BRACKET,end:END_BRACKET}]},{className:"section",begin:/^(Volume|Book|Part|Chapter|Section|Table)\b/,end:"$"},{begin:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,end:":",contains:[{begin:"\\(This",end:"\\)"}]},{className:"comment",begin:START_BRACKET,end:END_BRACKET,contains:["self"]}]}}module.exports=inform7},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function ini(hljs){const NUMBERS={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:hljs.NUMBER_RE}]};const COMMENTS=hljs.COMMENT();COMMENTS.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const VARIABLES={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]};const LITERALS={className:"literal",begin:/\bon|off|true|false|yes|no\b/};const STRINGS={className:"string",contains:[hljs.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]};const ARRAY={begin:/\[/,end:/\]/,contains:[COMMENTS,LITERALS,VARIABLES,STRINGS,NUMBERS,"self"],relevance:0};const BARE_KEY=/[A-Za-z0-9_-]+/;const QUOTED_KEY_DOUBLE_QUOTE=/"(\\"|[^"])*"/;const QUOTED_KEY_SINGLE_QUOTE=/'[^']*'/;const ANY_KEY=either(BARE_KEY,QUOTED_KEY_DOUBLE_QUOTE,QUOTED_KEY_SINGLE_QUOTE);const DOTTED_KEY=concat(ANY_KEY,"(\\s*\\.\\s*",ANY_KEY,")*",lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:true,illegal:/\S/,contains:[COMMENTS,{className:"section",begin:/\[+/,end:/\]+/},{begin:DOTTED_KEY,className:"attr",starts:{end:/$/,contains:[COMMENTS,ARRAY,LITERALS,VARIABLES,STRINGS,NUMBERS]}}]}}module.exports=ini},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function irpf90(hljs){const PARAMS={className:"params",begin:"\\(",end:"\\)"};const OPTIONAL_NUMBER_SUFFIX=/(_[a-z_\d]+)?/;const OPTIONAL_NUMBER_EXP=/([de][+-]?\d+)?/;const NUMBER={className:"number",variants:[{begin:concat(/\b\d+/,/\.(\d*)/,OPTIONAL_NUMBER_EXP,OPTIONAL_NUMBER_SUFFIX)},{begin:concat(/\b\d+/,OPTIONAL_NUMBER_EXP,OPTIONAL_NUMBER_SUFFIX)},{begin:concat(/\.\d+/,OPTIONAL_NUMBER_EXP,OPTIONAL_NUMBER_SUFFIX)}],relevance:0};const F_KEYWORDS={literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere "+"type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then "+"public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. "+"goto save else use module select case "+"access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit "+"continue format pause cycle exit "+"c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg "+"synchronous nopass non_overridable pass protected volatile abstract extends import "+"non_intrinsic value deferred generic final enumerator class associate bind enum "+"c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t "+"c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double "+"c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr "+"c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer "+"c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor "+"numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control "+"ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive "+"pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure "+"integer real character complex logical dimension allocatable|10 parameter "+"external implicit|10 none double precision assign intent optional pointer "+"target in out common equivalence data "+"begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch "+"soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint "+"dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl "+"algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama "+"iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod "+"qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log "+"log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate "+"adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product "+"eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul "+"maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product "+"radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind "+"set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer "+"dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end "+"ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode "+"is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of "+"acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 "+"atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits "+"bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr "+"num_images parity popcnt poppar shifta shiftl shiftr this_image "+"IRP_ALIGN irp_here"};return{name:"IRPF90",case_insensitive:true,keywords:F_KEYWORDS,illegal:/\/\*/,contains:[hljs.inherit(hljs.APOS_STRING_MODE,{className:"string",relevance:0}),hljs.inherit(hljs.QUOTE_STRING_MODE,{className:"string",relevance:0}),{className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[hljs.UNDERSCORE_TITLE_MODE,PARAMS]},hljs.COMMENT("!","$",{relevance:0}),hljs.COMMENT("begin_doc","end_doc",{relevance:10}),NUMBER]}}module.exports=irpf90},function(module,exports){function isbl(hljs){const UNDERSCORE_IDENT_RE="[A-Za-zА-Яа-яёЁ_!][A-Za-zА-Яа-яёЁ_0-9]*";const FUNCTION_NAME_IDENT_RE="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]*";const KEYWORD="and и else иначе endexcept endfinally endforeach конецвсе endif конецесли endwhile конецпока "+"except exitfor finally foreach все if если in в not не or или try while пока ";const sysres_constants="SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT "+"SYSRES_CONST_ACCES_RIGHT_TYPE_FULL "+"SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW "+"SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_NO_ACCESS_VIEW "+"SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_YES_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_YES_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_YES_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_YES_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_VIEW "+"SYSRES_CONST_ACCESS_RIGHTS_VIEW_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_CODE "+"SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_YES_CODE "+"SYSRES_CONST_ACCESS_TYPE_CHANGE "+"SYSRES_CONST_ACCESS_TYPE_CHANGE_CODE "+"SYSRES_CONST_ACCESS_TYPE_EXISTS "+"SYSRES_CONST_ACCESS_TYPE_EXISTS_CODE "+"SYSRES_CONST_ACCESS_TYPE_FULL "+"SYSRES_CONST_ACCESS_TYPE_FULL_CODE "+"SYSRES_CONST_ACCESS_TYPE_VIEW "+"SYSRES_CONST_ACCESS_TYPE_VIEW_CODE "+"SYSRES_CONST_ACTION_TYPE_ABORT "+"SYSRES_CONST_ACTION_TYPE_ACCEPT "+"SYSRES_CONST_ACTION_TYPE_ACCESS_RIGHTS "+"SYSRES_CONST_ACTION_TYPE_ADD_ATTACHMENT "+"SYSRES_CONST_ACTION_TYPE_CHANGE_CARD "+"SYSRES_CONST_ACTION_TYPE_CHANGE_KIND "+"SYSRES_CONST_ACTION_TYPE_CHANGE_STORAGE "+"SYSRES_CONST_ACTION_TYPE_CONTINUE "+"SYSRES_CONST_ACTION_TYPE_COPY "+"SYSRES_CONST_ACTION_TYPE_CREATE "+"SYSRES_CONST_ACTION_TYPE_CREATE_VERSION "+"SYSRES_CONST_ACTION_TYPE_DELETE "+"SYSRES_CONST_ACTION_TYPE_DELETE_ATTACHMENT "+"SYSRES_CONST_ACTION_TYPE_DELETE_VERSION "+"SYSRES_CONST_ACTION_TYPE_DISABLE_DELEGATE_ACCESS_RIGHTS "+"SYSRES_CONST_ACTION_TYPE_ENABLE_DELEGATE_ACCESS_RIGHTS "+"SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE "+"SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE_AND_PASSWORD "+"SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_PASSWORD "+"SYSRES_CONST_ACTION_TYPE_EXPORT_WITH_LOCK "+"SYSRES_CONST_ACTION_TYPE_EXPORT_WITHOUT_LOCK "+"SYSRES_CONST_ACTION_TYPE_IMPORT_WITH_UNLOCK "+"SYSRES_CONST_ACTION_TYPE_IMPORT_WITHOUT_UNLOCK "+"SYSRES_CONST_ACTION_TYPE_LIFE_CYCLE_STAGE "+"SYSRES_CONST_ACTION_TYPE_LOCK "+"SYSRES_CONST_ACTION_TYPE_LOCK_FOR_SERVER "+"SYSRES_CONST_ACTION_TYPE_LOCK_MODIFY "+"SYSRES_CONST_ACTION_TYPE_MARK_AS_READED "+"SYSRES_CONST_ACTION_TYPE_MARK_AS_UNREADED "+"SYSRES_CONST_ACTION_TYPE_MODIFY "+"SYSRES_CONST_ACTION_TYPE_MODIFY_CARD "+"SYSRES_CONST_ACTION_TYPE_MOVE_TO_ARCHIVE "+"SYSRES_CONST_ACTION_TYPE_OFF_ENCRYPTION "+"SYSRES_CONST_ACTION_TYPE_PASSWORD_CHANGE "+"SYSRES_CONST_ACTION_TYPE_PERFORM "+"SYSRES_CONST_ACTION_TYPE_RECOVER_FROM_LOCAL_COPY "+"SYSRES_CONST_ACTION_TYPE_RESTART "+"SYSRES_CONST_ACTION_TYPE_RESTORE_FROM_ARCHIVE "+"SYSRES_CONST_ACTION_TYPE_REVISION "+"SYSRES_CONST_ACTION_TYPE_SEND_BY_MAIL "+"SYSRES_CONST_ACTION_TYPE_SIGN "+"SYSRES_CONST_ACTION_TYPE_START "+"SYSRES_CONST_ACTION_TYPE_UNLOCK "+"SYSRES_CONST_ACTION_TYPE_UNLOCK_FROM_SERVER "+"SYSRES_CONST_ACTION_TYPE_VERSION_STATE "+"SYSRES_CONST_ACTION_TYPE_VERSION_VISIBILITY "+"SYSRES_CONST_ACTION_TYPE_VIEW "+"SYSRES_CONST_ACTION_TYPE_VIEW_SHADOW_COPY "+"SYSRES_CONST_ACTION_TYPE_WORKFLOW_DESCRIPTION_MODIFY "+"SYSRES_CONST_ACTION_TYPE_WRITE_HISTORY "+"SYSRES_CONST_ACTIVE_VERSION_STATE_PICK_VALUE "+"SYSRES_CONST_ADD_REFERENCE_MODE_NAME "+"SYSRES_CONST_ADDITION_REQUISITE_CODE "+"SYSRES_CONST_ADDITIONAL_PARAMS_REQUISITE_CODE "+"SYSRES_CONST_ADITIONAL_JOB_END_DATE_REQUISITE_NAME "+"SYSRES_CONST_ADITIONAL_JOB_READ_REQUISITE_NAME "+"SYSRES_CONST_ADITIONAL_JOB_START_DATE_REQUISITE_NAME "+"SYSRES_CONST_ADITIONAL_JOB_STATE_REQUISITE_NAME "+"SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION "+"SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION_CODE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE "+"SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE_ACTION "+"SYSRES_CONST_ALL_ACCEPT_CONDITION_RUS "+"SYSRES_CONST_ALL_USERS_GROUP "+"SYSRES_CONST_ALL_USERS_GROUP_NAME "+"SYSRES_CONST_ALL_USERS_SERVER_GROUP_NAME "+"SYSRES_CONST_ALLOWED_ACCESS_TYPE_CODE "+"SYSRES_CONST_ALLOWED_ACCESS_TYPE_NAME "+"SYSRES_CONST_APP_VIEWER_TYPE_REQUISITE_CODE "+"SYSRES_CONST_APPROVING_SIGNATURE_NAME "+"SYSRES_CONST_APPROVING_SIGNATURE_REQUISITE_CODE "+"SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE "+"SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE_CODE "+"SYSRES_CONST_ATTACH_TYPE_COMPONENT_TOKEN "+"SYSRES_CONST_ATTACH_TYPE_DOC "+"SYSRES_CONST_ATTACH_TYPE_EDOC "+"SYSRES_CONST_ATTACH_TYPE_FOLDER "+"SYSRES_CONST_ATTACH_TYPE_JOB "+"SYSRES_CONST_ATTACH_TYPE_REFERENCE "+"SYSRES_CONST_ATTACH_TYPE_TASK "+"SYSRES_CONST_AUTH_ENCODED_PASSWORD "+"SYSRES_CONST_AUTH_ENCODED_PASSWORD_CODE "+"SYSRES_CONST_AUTH_NOVELL "+"SYSRES_CONST_AUTH_PASSWORD "+"SYSRES_CONST_AUTH_PASSWORD_CODE "+"SYSRES_CONST_AUTH_WINDOWS "+"SYSRES_CONST_AUTHENTICATING_SIGNATURE_NAME "+"SYSRES_CONST_AUTHENTICATING_SIGNATURE_REQUISITE_CODE "+"SYSRES_CONST_AUTO_ENUM_METHOD_FLAG "+"SYSRES_CONST_AUTO_NUMERATION_CODE "+"SYSRES_CONST_AUTO_STRONG_ENUM_METHOD_FLAG "+"SYSRES_CONST_AUTOTEXT_NAME_REQUISITE_CODE "+"SYSRES_CONST_AUTOTEXT_TEXT_REQUISITE_CODE "+"SYSRES_CONST_AUTOTEXT_USAGE_ALL "+"SYSRES_CONST_AUTOTEXT_USAGE_ALL_CODE "+"SYSRES_CONST_AUTOTEXT_USAGE_SIGN "+"SYSRES_CONST_AUTOTEXT_USAGE_SIGN_CODE "+"SYSRES_CONST_AUTOTEXT_USAGE_WORK "+"SYSRES_CONST_AUTOTEXT_USAGE_WORK_CODE "+"SYSRES_CONST_AUTOTEXT_USE_ANYWHERE_CODE "+"SYSRES_CONST_AUTOTEXT_USE_ON_SIGNING_CODE "+"SYSRES_CONST_AUTOTEXT_USE_ON_WORK_CODE "+"SYSRES_CONST_BEGIN_DATE_REQUISITE_CODE "+"SYSRES_CONST_BLACK_LIFE_CYCLE_STAGE_FONT_COLOR "+"SYSRES_CONST_BLUE_LIFE_CYCLE_STAGE_FONT_COLOR "+"SYSRES_CONST_BTN_PART "+"SYSRES_CONST_CALCULATED_ROLE_TYPE_CODE "+"SYSRES_CONST_CALL_TYPE_VARIABLE_BUTTON_VALUE "+"SYSRES_CONST_CALL_TYPE_VARIABLE_PROGRAM_VALUE "+"SYSRES_CONST_CANCEL_MESSAGE_FUNCTION_RESULT "+"SYSRES_CONST_CARD_PART "+"SYSRES_CONST_CARD_REFERENCE_MODE_NAME "+"SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_ENCRYPT_VALUE "+"SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_AND_ENCRYPT_VALUE "+"SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_VALUE "+"SYSRES_CONST_CHECK_PARAM_VALUE_DATE_PARAM_TYPE "+"SYSRES_CONST_CHECK_PARAM_VALUE_FLOAT_PARAM_TYPE "+"SYSRES_CONST_CHECK_PARAM_VALUE_INTEGER_PARAM_TYPE "+"SYSRES_CONST_CHECK_PARAM_VALUE_PICK_PARAM_TYPE "+"SYSRES_CONST_CHECK_PARAM_VALUE_REEFRENCE_PARAM_TYPE "+"SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_FEMININE "+"SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_MASCULINE "+"SYSRES_CONST_CODE_COMPONENT_TYPE_ADMIN "+"SYSRES_CONST_CODE_COMPONENT_TYPE_DEVELOPER "+"SYSRES_CONST_CODE_COMPONENT_TYPE_DOCS "+"SYSRES_CONST_CODE_COMPONENT_TYPE_EDOC_CARDS "+"SYSRES_CONST_CODE_COMPONENT_TYPE_EXTERNAL_EXECUTABLE "+"SYSRES_CONST_CODE_COMPONENT_TYPE_OTHER "+"SYSRES_CONST_CODE_COMPONENT_TYPE_REFERENCE "+"SYSRES_CONST_CODE_COMPONENT_TYPE_REPORT "+"SYSRES_CONST_CODE_COMPONENT_TYPE_SCRIPT "+"SYSRES_CONST_CODE_COMPONENT_TYPE_URL "+"SYSRES_CONST_CODE_REQUISITE_ACCESS "+"SYSRES_CONST_CODE_REQUISITE_CODE "+"SYSRES_CONST_CODE_REQUISITE_COMPONENT "+"SYSRES_CONST_CODE_REQUISITE_DESCRIPTION "+"SYSRES_CONST_CODE_REQUISITE_EXCLUDE_COMPONENT "+"SYSRES_CONST_CODE_REQUISITE_RECORD "+"SYSRES_CONST_COMMENT_REQ_CODE "+"SYSRES_CONST_COMMON_SETTINGS_REQUISITE_CODE "+"SYSRES_CONST_COMP_CODE_GRD "+"SYSRES_CONST_COMPONENT_GROUP_TYPE_REQUISITE_CODE "+"SYSRES_CONST_COMPONENT_TYPE_ADMIN_COMPONENTS "+"SYSRES_CONST_COMPONENT_TYPE_DEVELOPER_COMPONENTS "+"SYSRES_CONST_COMPONENT_TYPE_DOCS "+"SYSRES_CONST_COMPONENT_TYPE_EDOC_CARDS "+"SYSRES_CONST_COMPONENT_TYPE_EDOCS "+"SYSRES_CONST_COMPONENT_TYPE_EXTERNAL_EXECUTABLE "+"SYSRES_CONST_COMPONENT_TYPE_OTHER "+"SYSRES_CONST_COMPONENT_TYPE_REFERENCE_TYPES "+"SYSRES_CONST_COMPONENT_TYPE_REFERENCES "+"SYSRES_CONST_COMPONENT_TYPE_REPORTS "+"SYSRES_CONST_COMPONENT_TYPE_SCRIPTS "+"SYSRES_CONST_COMPONENT_TYPE_URL "+"SYSRES_CONST_COMPONENTS_REMOTE_SERVERS_VIEW_CODE "+"SYSRES_CONST_CONDITION_BLOCK_DESCRIPTION "+"SYSRES_CONST_CONST_FIRM_STATUS_COMMON "+"SYSRES_CONST_CONST_FIRM_STATUS_INDIVIDUAL "+"SYSRES_CONST_CONST_NEGATIVE_VALUE "+"SYSRES_CONST_CONST_POSITIVE_VALUE "+"SYSRES_CONST_CONST_SERVER_STATUS_DONT_REPLICATE "+"SYSRES_CONST_CONST_SERVER_STATUS_REPLICATE "+"SYSRES_CONST_CONTENTS_REQUISITE_CODE "+"SYSRES_CONST_DATA_TYPE_BOOLEAN "+"SYSRES_CONST_DATA_TYPE_DATE "+"SYSRES_CONST_DATA_TYPE_FLOAT "+"SYSRES_CONST_DATA_TYPE_INTEGER "+"SYSRES_CONST_DATA_TYPE_PICK "+"SYSRES_CONST_DATA_TYPE_REFERENCE "+"SYSRES_CONST_DATA_TYPE_STRING "+"SYSRES_CONST_DATA_TYPE_TEXT "+"SYSRES_CONST_DATA_TYPE_VARIANT "+"SYSRES_CONST_DATE_CLOSE_REQ_CODE "+"SYSRES_CONST_DATE_FORMAT_DATE_ONLY_CHAR "+"SYSRES_CONST_DATE_OPEN_REQ_CODE "+"SYSRES_CONST_DATE_REQUISITE "+"SYSRES_CONST_DATE_REQUISITE_CODE "+"SYSRES_CONST_DATE_REQUISITE_NAME "+"SYSRES_CONST_DATE_REQUISITE_TYPE "+"SYSRES_CONST_DATE_TYPE_CHAR "+"SYSRES_CONST_DATETIME_FORMAT_VALUE "+"SYSRES_CONST_DEA_ACCESS_RIGHTS_ACTION_CODE "+"SYSRES_CONST_DESCRIPTION_LOCALIZE_ID_REQUISITE_CODE "+"SYSRES_CONST_DESCRIPTION_REQUISITE_CODE "+"SYSRES_CONST_DET1_PART "+"SYSRES_CONST_DET2_PART "+"SYSRES_CONST_DET3_PART "+"SYSRES_CONST_DET4_PART "+"SYSRES_CONST_DET5_PART "+"SYSRES_CONST_DET6_PART "+"SYSRES_CONST_DETAIL_DATASET_KEY_REQUISITE_CODE "+"SYSRES_CONST_DETAIL_PICK_REQUISITE_CODE "+"SYSRES_CONST_DETAIL_REQ_CODE "+"SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_CODE "+"SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_NAME "+"SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_CODE "+"SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_NAME "+"SYSRES_CONST_DOCUMENT_STORAGES_CODE "+"SYSRES_CONST_DOCUMENT_TEMPLATES_TYPE_NAME "+"SYSRES_CONST_DOUBLE_REQUISITE_CODE "+"SYSRES_CONST_EDITOR_CLOSE_FILE_OBSERV_TYPE_CODE "+"SYSRES_CONST_EDITOR_CLOSE_PROCESS_OBSERV_TYPE_CODE "+"SYSRES_CONST_EDITOR_TYPE_REQUISITE_CODE "+"SYSRES_CONST_EDITORS_APPLICATION_NAME_REQUISITE_CODE "+"SYSRES_CONST_EDITORS_CREATE_SEVERAL_PROCESSES_REQUISITE_CODE "+"SYSRES_CONST_EDITORS_EXTENSION_REQUISITE_CODE "+"SYSRES_CONST_EDITORS_OBSERVER_BY_PROCESS_TYPE "+"SYSRES_CONST_EDITORS_REFERENCE_CODE "+"SYSRES_CONST_EDITORS_REPLACE_SPEC_CHARS_REQUISITE_CODE "+"SYSRES_CONST_EDITORS_USE_PLUGINS_REQUISITE_CODE "+"SYSRES_CONST_EDITORS_VIEW_DOCUMENT_OPENED_TO_EDIT_CODE "+"SYSRES_CONST_EDOC_CARD_TYPE_REQUISITE_CODE "+"SYSRES_CONST_EDOC_CARD_TYPES_LINK_REQUISITE_CODE "+"SYSRES_CONST_EDOC_CERTIFICATE_AND_PASSWORD_ENCODE_CODE "+"SYSRES_CONST_EDOC_CERTIFICATE_ENCODE_CODE "+"SYSRES_CONST_EDOC_DATE_REQUISITE_CODE "+"SYSRES_CONST_EDOC_KIND_REFERENCE_CODE "+"SYSRES_CONST_EDOC_KINDS_BY_TEMPLATE_ACTION_CODE "+"SYSRES_CONST_EDOC_MANAGE_ACCESS_CODE "+"SYSRES_CONST_EDOC_NONE_ENCODE_CODE "+"SYSRES_CONST_EDOC_NUMBER_REQUISITE_CODE "+"SYSRES_CONST_EDOC_PASSWORD_ENCODE_CODE "+"SYSRES_CONST_EDOC_READONLY_ACCESS_CODE "+"SYSRES_CONST_EDOC_SHELL_LIFE_TYPE_VIEW_VALUE "+"SYSRES_CONST_EDOC_SIZE_RESTRICTION_PRIORITY_REQUISITE_CODE "+"SYSRES_CONST_EDOC_STORAGE_CHECK_ACCESS_RIGHTS_REQUISITE_CODE "+"SYSRES_CONST_EDOC_STORAGE_COMPUTER_NAME_REQUISITE_CODE "+"SYSRES_CONST_EDOC_STORAGE_DATABASE_NAME_REQUISITE_CODE "+"SYSRES_CONST_EDOC_STORAGE_EDIT_IN_STORAGE_REQUISITE_CODE "+"SYSRES_CONST_EDOC_STORAGE_LOCAL_PATH_REQUISITE_CODE "+"SYSRES_CONST_EDOC_STORAGE_SHARED_SOURCE_NAME_REQUISITE_CODE "+"SYSRES_CONST_EDOC_TEMPLATE_REQUISITE_CODE "+"SYSRES_CONST_EDOC_TYPES_REFERENCE_CODE "+"SYSRES_CONST_EDOC_VERSION_ACTIVE_STAGE_CODE "+"SYSRES_CONST_EDOC_VERSION_DESIGN_STAGE_CODE "+"SYSRES_CONST_EDOC_VERSION_OBSOLETE_STAGE_CODE "+"SYSRES_CONST_EDOC_WRITE_ACCES_CODE "+"SYSRES_CONST_EDOCUMENT_CARD_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE "+"SYSRES_CONST_ENCODE_CERTIFICATE_TYPE_CODE "+"SYSRES_CONST_END_DATE_REQUISITE_CODE "+"SYSRES_CONST_ENUMERATION_TYPE_REQUISITE_CODE "+"SYSRES_CONST_EXECUTE_ACCESS_RIGHTS_TYPE_CODE "+"SYSRES_CONST_EXECUTIVE_FILE_STORAGE_TYPE "+"SYSRES_CONST_EXIST_CONST "+"SYSRES_CONST_EXIST_VALUE "+"SYSRES_CONST_EXPORT_LOCK_TYPE_ASK "+"SYSRES_CONST_EXPORT_LOCK_TYPE_WITH_LOCK "+"SYSRES_CONST_EXPORT_LOCK_TYPE_WITHOUT_LOCK "+"SYSRES_CONST_EXPORT_VERSION_TYPE_ASK "+"SYSRES_CONST_EXPORT_VERSION_TYPE_LAST "+"SYSRES_CONST_EXPORT_VERSION_TYPE_LAST_ACTIVE "+"SYSRES_CONST_EXTENSION_REQUISITE_CODE "+"SYSRES_CONST_FILTER_NAME_REQUISITE_CODE "+"SYSRES_CONST_FILTER_REQUISITE_CODE "+"SYSRES_CONST_FILTER_TYPE_COMMON_CODE "+"SYSRES_CONST_FILTER_TYPE_COMMON_NAME "+"SYSRES_CONST_FILTER_TYPE_USER_CODE "+"SYSRES_CONST_FILTER_TYPE_USER_NAME "+"SYSRES_CONST_FILTER_VALUE_REQUISITE_NAME "+"SYSRES_CONST_FLOAT_NUMBER_FORMAT_CHAR "+"SYSRES_CONST_FLOAT_REQUISITE_TYPE "+"SYSRES_CONST_FOLDER_AUTHOR_VALUE "+"SYSRES_CONST_FOLDER_KIND_ANY_OBJECTS "+"SYSRES_CONST_FOLDER_KIND_COMPONENTS "+"SYSRES_CONST_FOLDER_KIND_EDOCS "+"SYSRES_CONST_FOLDER_KIND_JOBS "+"SYSRES_CONST_FOLDER_KIND_TASKS "+"SYSRES_CONST_FOLDER_TYPE_COMMON "+"SYSRES_CONST_FOLDER_TYPE_COMPONENT "+"SYSRES_CONST_FOLDER_TYPE_FAVORITES "+"SYSRES_CONST_FOLDER_TYPE_INBOX "+"SYSRES_CONST_FOLDER_TYPE_OUTBOX "+"SYSRES_CONST_FOLDER_TYPE_QUICK_LAUNCH "+"SYSRES_CONST_FOLDER_TYPE_SEARCH "+"SYSRES_CONST_FOLDER_TYPE_SHORTCUTS "+"SYSRES_CONST_FOLDER_TYPE_USER "+"SYSRES_CONST_FROM_DICTIONARY_ENUM_METHOD_FLAG "+"SYSRES_CONST_FULL_SUBSTITUTE_TYPE "+"SYSRES_CONST_FULL_SUBSTITUTE_TYPE_CODE "+"SYSRES_CONST_FUNCTION_CANCEL_RESULT "+"SYSRES_CONST_FUNCTION_CATEGORY_SYSTEM "+"SYSRES_CONST_FUNCTION_CATEGORY_USER "+"SYSRES_CONST_FUNCTION_FAILURE_RESULT "+"SYSRES_CONST_FUNCTION_SAVE_RESULT "+"SYSRES_CONST_GENERATED_REQUISITE "+"SYSRES_CONST_GREEN_LIFE_CYCLE_STAGE_FONT_COLOR "+"SYSRES_CONST_GROUP_ACCOUNT_TYPE_VALUE_CODE "+"SYSRES_CONST_GROUP_CATEGORY_NORMAL_CODE "+"SYSRES_CONST_GROUP_CATEGORY_NORMAL_NAME "+"SYSRES_CONST_GROUP_CATEGORY_SERVICE_CODE "+"SYSRES_CONST_GROUP_CATEGORY_SERVICE_NAME "+"SYSRES_CONST_GROUP_COMMON_CATEGORY_FIELD_VALUE "+"SYSRES_CONST_GROUP_FULL_NAME_REQUISITE_CODE "+"SYSRES_CONST_GROUP_NAME_REQUISITE_CODE "+"SYSRES_CONST_GROUP_RIGHTS_T_REQUISITE_CODE "+"SYSRES_CONST_GROUP_SERVER_CODES_REQUISITE_CODE "+"SYSRES_CONST_GROUP_SERVER_NAME_REQUISITE_CODE "+"SYSRES_CONST_GROUP_SERVICE_CATEGORY_FIELD_VALUE "+"SYSRES_CONST_GROUP_USER_REQUISITE_CODE "+"SYSRES_CONST_GROUPS_REFERENCE_CODE "+"SYSRES_CONST_GROUPS_REQUISITE_CODE "+"SYSRES_CONST_HIDDEN_MODE_NAME "+"SYSRES_CONST_HIGH_LVL_REQUISITE_CODE "+"SYSRES_CONST_HISTORY_ACTION_CREATE_CODE "+"SYSRES_CONST_HISTORY_ACTION_DELETE_CODE "+"SYSRES_CONST_HISTORY_ACTION_EDIT_CODE "+"SYSRES_CONST_HOUR_CHAR "+"SYSRES_CONST_ID_REQUISITE_CODE "+"SYSRES_CONST_IDSPS_REQUISITE_CODE "+"SYSRES_CONST_IMAGE_MODE_COLOR "+"SYSRES_CONST_IMAGE_MODE_GREYSCALE "+"SYSRES_CONST_IMAGE_MODE_MONOCHROME "+"SYSRES_CONST_IMPORTANCE_HIGH "+"SYSRES_CONST_IMPORTANCE_LOW "+"SYSRES_CONST_IMPORTANCE_NORMAL "+"SYSRES_CONST_IN_DESIGN_VERSION_STATE_PICK_VALUE "+"SYSRES_CONST_INCOMING_WORK_RULE_TYPE_CODE "+"SYSRES_CONST_INT_REQUISITE "+"SYSRES_CONST_INT_REQUISITE_TYPE "+"SYSRES_CONST_INTEGER_NUMBER_FORMAT_CHAR "+"SYSRES_CONST_INTEGER_TYPE_CHAR "+"SYSRES_CONST_IS_GENERATED_REQUISITE_NEGATIVE_VALUE "+"SYSRES_CONST_IS_PUBLIC_ROLE_REQUISITE_CODE "+"SYSRES_CONST_IS_REMOTE_USER_NEGATIVE_VALUE "+"SYSRES_CONST_IS_REMOTE_USER_POSITIVE_VALUE "+"SYSRES_CONST_IS_STORED_REQUISITE_NEGATIVE_VALUE "+"SYSRES_CONST_IS_STORED_REQUISITE_STORED_VALUE "+"SYSRES_CONST_ITALIC_LIFE_CYCLE_STAGE_DRAW_STYLE "+"SYSRES_CONST_JOB_BLOCK_DESCRIPTION "+"SYSRES_CONST_JOB_KIND_CONTROL_JOB "+"SYSRES_CONST_JOB_KIND_JOB "+"SYSRES_CONST_JOB_KIND_NOTICE "+"SYSRES_CONST_JOB_STATE_ABORTED "+"SYSRES_CONST_JOB_STATE_COMPLETE "+"SYSRES_CONST_JOB_STATE_WORKING "+"SYSRES_CONST_KIND_REQUISITE_CODE "+"SYSRES_CONST_KIND_REQUISITE_NAME "+"SYSRES_CONST_KINDS_CREATE_SHADOW_COPIES_REQUISITE_CODE "+"SYSRES_CONST_KINDS_DEFAULT_EDOC_LIFE_STAGE_REQUISITE_CODE "+"SYSRES_CONST_KINDS_EDOC_ALL_TEPLATES_ALLOWED_REQUISITE_CODE "+"SYSRES_CONST_KINDS_EDOC_ALLOW_LIFE_CYCLE_STAGE_CHANGING_REQUISITE_CODE "+"SYSRES_CONST_KINDS_EDOC_ALLOW_MULTIPLE_ACTIVE_VERSIONS_REQUISITE_CODE "+"SYSRES_CONST_KINDS_EDOC_SHARE_ACCES_RIGHTS_BY_DEFAULT_CODE "+"SYSRES_CONST_KINDS_EDOC_TEMPLATE_REQUISITE_CODE "+"SYSRES_CONST_KINDS_EDOC_TYPE_REQUISITE_CODE "+"SYSRES_CONST_KINDS_SIGNERS_REQUISITES_CODE "+"SYSRES_CONST_KOD_INPUT_TYPE "+"SYSRES_CONST_LAST_UPDATE_DATE_REQUISITE_CODE "+"SYSRES_CONST_LIFE_CYCLE_START_STAGE_REQUISITE_CODE "+"SYSRES_CONST_LILAC_LIFE_CYCLE_STAGE_FONT_COLOR "+"SYSRES_CONST_LINK_OBJECT_KIND_COMPONENT "+"SYSRES_CONST_LINK_OBJECT_KIND_DOCUMENT "+"SYSRES_CONST_LINK_OBJECT_KIND_EDOC "+"SYSRES_CONST_LINK_OBJECT_KIND_FOLDER "+"SYSRES_CONST_LINK_OBJECT_KIND_JOB "+"SYSRES_CONST_LINK_OBJECT_KIND_REFERENCE "+"SYSRES_CONST_LINK_OBJECT_KIND_TASK "+"SYSRES_CONST_LINK_REF_TYPE_REQUISITE_CODE "+"SYSRES_CONST_LIST_REFERENCE_MODE_NAME "+"SYSRES_CONST_LOCALIZATION_DICTIONARY_MAIN_VIEW_CODE "+"SYSRES_CONST_MAIN_VIEW_CODE "+"SYSRES_CONST_MANUAL_ENUM_METHOD_FLAG "+"SYSRES_CONST_MASTER_COMP_TYPE_REQUISITE_CODE "+"SYSRES_CONST_MASTER_TABLE_REC_ID_REQUISITE_CODE "+"SYSRES_CONST_MAXIMIZED_MODE_NAME "+"SYSRES_CONST_ME_VALUE "+"SYSRES_CONST_MESSAGE_ATTENTION_CAPTION "+"SYSRES_CONST_MESSAGE_CONFIRMATION_CAPTION "+"SYSRES_CONST_MESSAGE_ERROR_CAPTION "+"SYSRES_CONST_MESSAGE_INFORMATION_CAPTION "+"SYSRES_CONST_MINIMIZED_MODE_NAME "+"SYSRES_CONST_MINUTE_CHAR "+"SYSRES_CONST_MODULE_REQUISITE_CODE "+"SYSRES_CONST_MONITORING_BLOCK_DESCRIPTION "+"SYSRES_CONST_MONTH_FORMAT_VALUE "+"SYSRES_CONST_NAME_LOCALIZE_ID_REQUISITE_CODE "+"SYSRES_CONST_NAME_REQUISITE_CODE "+"SYSRES_CONST_NAME_SINGULAR_REQUISITE_CODE "+"SYSRES_CONST_NAMEAN_INPUT_TYPE "+"SYSRES_CONST_NEGATIVE_PICK_VALUE "+"SYSRES_CONST_NEGATIVE_VALUE "+"SYSRES_CONST_NO "+"SYSRES_CONST_NO_PICK_VALUE "+"SYSRES_CONST_NO_SIGNATURE_REQUISITE_CODE "+"SYSRES_CONST_NO_VALUE "+"SYSRES_CONST_NONE_ACCESS_RIGHTS_TYPE_CODE "+"SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE "+"SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE_MASCULINE "+"SYSRES_CONST_NORMAL_ACCESS_RIGHTS_TYPE_CODE "+"SYSRES_CONST_NORMAL_LIFE_CYCLE_STAGE_DRAW_STYLE "+"SYSRES_CONST_NORMAL_MODE_NAME "+"SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_CODE "+"SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_NAME "+"SYSRES_CONST_NOTE_REQUISITE_CODE "+"SYSRES_CONST_NOTICE_BLOCK_DESCRIPTION "+"SYSRES_CONST_NUM_REQUISITE "+"SYSRES_CONST_NUM_STR_REQUISITE_CODE "+"SYSRES_CONST_NUMERATION_AUTO_NOT_STRONG "+"SYSRES_CONST_NUMERATION_AUTO_STRONG "+"SYSRES_CONST_NUMERATION_FROM_DICTONARY "+"SYSRES_CONST_NUMERATION_MANUAL "+"SYSRES_CONST_NUMERIC_TYPE_CHAR "+"SYSRES_CONST_NUMREQ_REQUISITE_CODE "+"SYSRES_CONST_OBSOLETE_VERSION_STATE_PICK_VALUE "+"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE "+"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_CODE "+"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_FEMININE "+"SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_MASCULINE "+"SYSRES_CONST_OPTIONAL_FORM_COMP_REQCODE_PREFIX "+"SYSRES_CONST_ORANGE_LIFE_CYCLE_STAGE_FONT_COLOR "+"SYSRES_CONST_ORIGINALREF_REQUISITE_CODE "+"SYSRES_CONST_OURFIRM_REF_CODE "+"SYSRES_CONST_OURFIRM_REQUISITE_CODE "+"SYSRES_CONST_OURFIRM_VAR "+"SYSRES_CONST_OUTGOING_WORK_RULE_TYPE_CODE "+"SYSRES_CONST_PICK_NEGATIVE_RESULT "+"SYSRES_CONST_PICK_POSITIVE_RESULT "+"SYSRES_CONST_PICK_REQUISITE "+"SYSRES_CONST_PICK_REQUISITE_TYPE "+"SYSRES_CONST_PICK_TYPE_CHAR "+"SYSRES_CONST_PLAN_STATUS_REQUISITE_CODE "+"SYSRES_CONST_PLATFORM_VERSION_COMMENT "+"SYSRES_CONST_PLUGINS_SETTINGS_DESCRIPTION_REQUISITE_CODE "+"SYSRES_CONST_POSITIVE_PICK_VALUE "+"SYSRES_CONST_POWER_TO_CREATE_ACTION_CODE "+"SYSRES_CONST_POWER_TO_SIGN_ACTION_CODE "+"SYSRES_CONST_PRIORITY_REQUISITE_CODE "+"SYSRES_CONST_QUALIFIED_TASK_TYPE "+"SYSRES_CONST_QUALIFIED_TASK_TYPE_CODE "+"SYSRES_CONST_RECSTAT_REQUISITE_CODE "+"SYSRES_CONST_RED_LIFE_CYCLE_STAGE_FONT_COLOR "+"SYSRES_CONST_REF_ID_T_REF_TYPE_REQUISITE_CODE "+"SYSRES_CONST_REF_REQUISITE "+"SYSRES_CONST_REF_REQUISITE_TYPE "+"SYSRES_CONST_REF_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE "+"SYSRES_CONST_REFERENCE_RECORD_HISTORY_CREATE_ACTION_CODE "+"SYSRES_CONST_REFERENCE_RECORD_HISTORY_DELETE_ACTION_CODE "+"SYSRES_CONST_REFERENCE_RECORD_HISTORY_MODIFY_ACTION_CODE "+"SYSRES_CONST_REFERENCE_TYPE_CHAR "+"SYSRES_CONST_REFERENCE_TYPE_REQUISITE_NAME "+"SYSRES_CONST_REFERENCES_ADD_PARAMS_REQUISITE_CODE "+"SYSRES_CONST_REFERENCES_DISPLAY_REQUISITE_REQUISITE_CODE "+"SYSRES_CONST_REMOTE_SERVER_STATUS_WORKING "+"SYSRES_CONST_REMOTE_SERVER_TYPE_MAIN "+"SYSRES_CONST_REMOTE_SERVER_TYPE_SECONDARY "+"SYSRES_CONST_REMOTE_USER_FLAG_VALUE_CODE "+"SYSRES_CONST_REPORT_APP_EDITOR_INTERNAL "+"SYSRES_CONST_REPORT_BASE_REPORT_ID_REQUISITE_CODE "+"SYSRES_CONST_REPORT_BASE_REPORT_REQUISITE_CODE "+"SYSRES_CONST_REPORT_SCRIPT_REQUISITE_CODE "+"SYSRES_CONST_REPORT_TEMPLATE_REQUISITE_CODE "+"SYSRES_CONST_REPORT_VIEWER_CODE_REQUISITE_CODE "+"SYSRES_CONST_REQ_ALLOW_COMPONENT_DEFAULT_VALUE "+"SYSRES_CONST_REQ_ALLOW_RECORD_DEFAULT_VALUE "+"SYSRES_CONST_REQ_ALLOW_SERVER_COMPONENT_DEFAULT_VALUE "+"SYSRES_CONST_REQ_MODE_AVAILABLE_CODE "+"SYSRES_CONST_REQ_MODE_EDIT_CODE "+"SYSRES_CONST_REQ_MODE_HIDDEN_CODE "+"SYSRES_CONST_REQ_MODE_NOT_AVAILABLE_CODE "+"SYSRES_CONST_REQ_MODE_VIEW_CODE "+"SYSRES_CONST_REQ_NUMBER_REQUISITE_CODE "+"SYSRES_CONST_REQ_SECTION_VALUE "+"SYSRES_CONST_REQ_TYPE_VALUE "+"SYSRES_CONST_REQUISITE_FORMAT_BY_UNIT "+"SYSRES_CONST_REQUISITE_FORMAT_DATE_FULL "+"SYSRES_CONST_REQUISITE_FORMAT_DATE_TIME "+"SYSRES_CONST_REQUISITE_FORMAT_LEFT "+"SYSRES_CONST_REQUISITE_FORMAT_RIGHT "+"SYSRES_CONST_REQUISITE_FORMAT_WITHOUT_UNIT "+"SYSRES_CONST_REQUISITE_NUMBER_REQUISITE_CODE "+"SYSRES_CONST_REQUISITE_SECTION_ACTIONS "+"SYSRES_CONST_REQUISITE_SECTION_BUTTON "+"SYSRES_CONST_REQUISITE_SECTION_BUTTONS "+"SYSRES_CONST_REQUISITE_SECTION_CARD "+"SYSRES_CONST_REQUISITE_SECTION_TABLE "+"SYSRES_CONST_REQUISITE_SECTION_TABLE10 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE11 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE12 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE13 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE14 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE15 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE16 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE17 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE18 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE19 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE2 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE20 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE21 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE22 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE23 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE24 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE3 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE4 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE5 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE6 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE7 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE8 "+"SYSRES_CONST_REQUISITE_SECTION_TABLE9 "+"SYSRES_CONST_REQUISITES_PSEUDOREFERENCE_REQUISITE_NUMBER_REQUISITE_CODE "+"SYSRES_CONST_RIGHT_ALIGNMENT_CODE "+"SYSRES_CONST_ROLES_REFERENCE_CODE "+"SYSRES_CONST_ROUTE_STEP_AFTER_RUS "+"SYSRES_CONST_ROUTE_STEP_AND_CONDITION_RUS "+"SYSRES_CONST_ROUTE_STEP_OR_CONDITION_RUS "+"SYSRES_CONST_ROUTE_TYPE_COMPLEX "+"SYSRES_CONST_ROUTE_TYPE_PARALLEL "+"SYSRES_CONST_ROUTE_TYPE_SERIAL "+"SYSRES_CONST_SBDATASETDESC_NEGATIVE_VALUE "+"SYSRES_CONST_SBDATASETDESC_POSITIVE_VALUE "+"SYSRES_CONST_SBVIEWSDESC_POSITIVE_VALUE "+"SYSRES_CONST_SCRIPT_BLOCK_DESCRIPTION "+"SYSRES_CONST_SEARCH_BY_TEXT_REQUISITE_CODE "+"SYSRES_CONST_SEARCHES_COMPONENT_CONTENT "+"SYSRES_CONST_SEARCHES_CRITERIA_ACTION_NAME "+"SYSRES_CONST_SEARCHES_EDOC_CONTENT "+"SYSRES_CONST_SEARCHES_FOLDER_CONTENT "+"SYSRES_CONST_SEARCHES_JOB_CONTENT "+"SYSRES_CONST_SEARCHES_REFERENCE_CODE "+"SYSRES_CONST_SEARCHES_TASK_CONTENT "+"SYSRES_CONST_SECOND_CHAR "+"SYSRES_CONST_SECTION_REQUISITE_ACTIONS_VALUE "+"SYSRES_CONST_SECTION_REQUISITE_CARD_VALUE "+"SYSRES_CONST_SECTION_REQUISITE_CODE "+"SYSRES_CONST_SECTION_REQUISITE_DETAIL_1_VALUE "+"SYSRES_CONST_SECTION_REQUISITE_DETAIL_2_VALUE "+"SYSRES_CONST_SECTION_REQUISITE_DETAIL_3_VALUE "+"SYSRES_CONST_SECTION_REQUISITE_DETAIL_4_VALUE "+"SYSRES_CONST_SECTION_REQUISITE_DETAIL_5_VALUE "+"SYSRES_CONST_SECTION_REQUISITE_DETAIL_6_VALUE "+"SYSRES_CONST_SELECT_REFERENCE_MODE_NAME "+"SYSRES_CONST_SELECT_TYPE_SELECTABLE "+"SYSRES_CONST_SELECT_TYPE_SELECTABLE_ONLY_CHILD "+"SYSRES_CONST_SELECT_TYPE_SELECTABLE_WITH_CHILD "+"SYSRES_CONST_SELECT_TYPE_UNSLECTABLE "+"SYSRES_CONST_SERVER_TYPE_MAIN "+"SYSRES_CONST_SERVICE_USER_CATEGORY_FIELD_VALUE "+"SYSRES_CONST_SETTINGS_USER_REQUISITE_CODE "+"SYSRES_CONST_SIGNATURE_AND_ENCODE_CERTIFICATE_TYPE_CODE "+"SYSRES_CONST_SIGNATURE_CERTIFICATE_TYPE_CODE "+"SYSRES_CONST_SINGULAR_TITLE_REQUISITE_CODE "+"SYSRES_CONST_SQL_SERVER_AUTHENTIFICATION_FLAG_VALUE_CODE "+"SYSRES_CONST_SQL_SERVER_ENCODE_AUTHENTIFICATION_FLAG_VALUE_CODE "+"SYSRES_CONST_STANDART_ROUTE_REFERENCE_CODE "+"SYSRES_CONST_STANDART_ROUTE_REFERENCE_COMMENT_REQUISITE_CODE "+"SYSRES_CONST_STANDART_ROUTES_GROUPS_REFERENCE_CODE "+"SYSRES_CONST_STATE_REQ_NAME "+"SYSRES_CONST_STATE_REQUISITE_ACTIVE_VALUE "+"SYSRES_CONST_STATE_REQUISITE_CLOSED_VALUE "+"SYSRES_CONST_STATE_REQUISITE_CODE "+"SYSRES_CONST_STATIC_ROLE_TYPE_CODE "+"SYSRES_CONST_STATUS_PLAN_DEFAULT_VALUE "+"SYSRES_CONST_STATUS_VALUE_AUTOCLEANING "+"SYSRES_CONST_STATUS_VALUE_BLUE_SQUARE "+"SYSRES_CONST_STATUS_VALUE_COMPLETE "+"SYSRES_CONST_STATUS_VALUE_GREEN_SQUARE "+"SYSRES_CONST_STATUS_VALUE_ORANGE_SQUARE "+"SYSRES_CONST_STATUS_VALUE_PURPLE_SQUARE "+"SYSRES_CONST_STATUS_VALUE_RED_SQUARE "+"SYSRES_CONST_STATUS_VALUE_SUSPEND "+"SYSRES_CONST_STATUS_VALUE_YELLOW_SQUARE "+"SYSRES_CONST_STDROUTE_SHOW_TO_USERS_REQUISITE_CODE "+"SYSRES_CONST_STORAGE_TYPE_FILE "+"SYSRES_CONST_STORAGE_TYPE_SQL_SERVER "+"SYSRES_CONST_STR_REQUISITE "+"SYSRES_CONST_STRIKEOUT_LIFE_CYCLE_STAGE_DRAW_STYLE "+"SYSRES_CONST_STRING_FORMAT_LEFT_ALIGN_CHAR "+"SYSRES_CONST_STRING_FORMAT_RIGHT_ALIGN_CHAR "+"SYSRES_CONST_STRING_REQUISITE_CODE "+"SYSRES_CONST_STRING_REQUISITE_TYPE "+"SYSRES_CONST_STRING_TYPE_CHAR "+"SYSRES_CONST_SUBSTITUTES_PSEUDOREFERENCE_CODE "+"SYSRES_CONST_SUBTASK_BLOCK_DESCRIPTION "+"SYSRES_CONST_SYSTEM_SETTING_CURRENT_USER_PARAM_VALUE "+"SYSRES_CONST_SYSTEM_SETTING_EMPTY_VALUE_PARAM_VALUE "+"SYSRES_CONST_SYSTEM_VERSION_COMMENT "+"SYSRES_CONST_TASK_ACCESS_TYPE_ALL "+"SYSRES_CONST_TASK_ACCESS_TYPE_ALL_MEMBERS "+"SYSRES_CONST_TASK_ACCESS_TYPE_MANUAL "+"SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION "+"SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION_AND_PASSWORD "+"SYSRES_CONST_TASK_ENCODE_TYPE_NONE "+"SYSRES_CONST_TASK_ENCODE_TYPE_PASSWORD "+"SYSRES_CONST_TASK_ROUTE_ALL_CONDITION "+"SYSRES_CONST_TASK_ROUTE_AND_CONDITION "+"SYSRES_CONST_TASK_ROUTE_OR_CONDITION "+"SYSRES_CONST_TASK_STATE_ABORTED "+"SYSRES_CONST_TASK_STATE_COMPLETE "+"SYSRES_CONST_TASK_STATE_CONTINUED "+"SYSRES_CONST_TASK_STATE_CONTROL "+"SYSRES_CONST_TASK_STATE_INIT "+"SYSRES_CONST_TASK_STATE_WORKING "+"SYSRES_CONST_TASK_TITLE "+"SYSRES_CONST_TASK_TYPES_GROUPS_REFERENCE_CODE "+"SYSRES_CONST_TASK_TYPES_REFERENCE_CODE "+"SYSRES_CONST_TEMPLATES_REFERENCE_CODE "+"SYSRES_CONST_TEST_DATE_REQUISITE_NAME "+"SYSRES_CONST_TEST_DEV_DATABASE_NAME "+"SYSRES_CONST_TEST_DEV_SYSTEM_CODE "+"SYSRES_CONST_TEST_EDMS_DATABASE_NAME "+"SYSRES_CONST_TEST_EDMS_MAIN_CODE "+"SYSRES_CONST_TEST_EDMS_MAIN_DB_NAME "+"SYSRES_CONST_TEST_EDMS_SECOND_CODE "+"SYSRES_CONST_TEST_EDMS_SECOND_DB_NAME "+"SYSRES_CONST_TEST_EDMS_SYSTEM_CODE "+"SYSRES_CONST_TEST_NUMERIC_REQUISITE_NAME "+"SYSRES_CONST_TEXT_REQUISITE "+"SYSRES_CONST_TEXT_REQUISITE_CODE "+"SYSRES_CONST_TEXT_REQUISITE_TYPE "+"SYSRES_CONST_TEXT_TYPE_CHAR "+"SYSRES_CONST_TYPE_CODE_REQUISITE_CODE "+"SYSRES_CONST_TYPE_REQUISITE_CODE "+"SYSRES_CONST_UNDEFINED_LIFE_CYCLE_STAGE_FONT_COLOR "+"SYSRES_CONST_UNITS_SECTION_ID_REQUISITE_CODE "+"SYSRES_CONST_UNITS_SECTION_REQUISITE_CODE "+"SYSRES_CONST_UNOPERATING_RECORD_FLAG_VALUE_CODE "+"SYSRES_CONST_UNSTORED_DATA_REQUISITE_CODE "+"SYSRES_CONST_UNSTORED_DATA_REQUISITE_NAME "+"SYSRES_CONST_USE_ACCESS_TYPE_CODE "+"SYSRES_CONST_USE_ACCESS_TYPE_NAME "+"SYSRES_CONST_USER_ACCOUNT_TYPE_VALUE_CODE "+"SYSRES_CONST_USER_ADDITIONAL_INFORMATION_REQUISITE_CODE "+"SYSRES_CONST_USER_AND_GROUP_ID_FROM_PSEUDOREFERENCE_REQUISITE_CODE "+"SYSRES_CONST_USER_CATEGORY_NORMAL "+"SYSRES_CONST_USER_CERTIFICATE_REQUISITE_CODE "+"SYSRES_CONST_USER_CERTIFICATE_STATE_REQUISITE_CODE "+"SYSRES_CONST_USER_CERTIFICATE_SUBJECT_NAME_REQUISITE_CODE "+"SYSRES_CONST_USER_CERTIFICATE_THUMBPRINT_REQUISITE_CODE "+"SYSRES_CONST_USER_COMMON_CATEGORY "+"SYSRES_CONST_USER_COMMON_CATEGORY_CODE "+"SYSRES_CONST_USER_FULL_NAME_REQUISITE_CODE "+"SYSRES_CONST_USER_GROUP_TYPE_REQUISITE_CODE "+"SYSRES_CONST_USER_LOGIN_REQUISITE_CODE "+"SYSRES_CONST_USER_REMOTE_CONTROLLER_REQUISITE_CODE "+"SYSRES_CONST_USER_REMOTE_SYSTEM_REQUISITE_CODE "+"SYSRES_CONST_USER_RIGHTS_T_REQUISITE_CODE "+"SYSRES_CONST_USER_SERVER_NAME_REQUISITE_CODE "+"SYSRES_CONST_USER_SERVICE_CATEGORY "+"SYSRES_CONST_USER_SERVICE_CATEGORY_CODE "+"SYSRES_CONST_USER_STATUS_ADMINISTRATOR_CODE "+"SYSRES_CONST_USER_STATUS_ADMINISTRATOR_NAME "+"SYSRES_CONST_USER_STATUS_DEVELOPER_CODE "+"SYSRES_CONST_USER_STATUS_DEVELOPER_NAME "+"SYSRES_CONST_USER_STATUS_DISABLED_CODE "+"SYSRES_CONST_USER_STATUS_DISABLED_NAME "+"SYSRES_CONST_USER_STATUS_SYSTEM_DEVELOPER_CODE "+"SYSRES_CONST_USER_STATUS_USER_CODE "+"SYSRES_CONST_USER_STATUS_USER_NAME "+"SYSRES_CONST_USER_STATUS_USER_NAME_DEPRECATED "+"SYSRES_CONST_USER_TYPE_FIELD_VALUE_USER "+"SYSRES_CONST_USER_TYPE_REQUISITE_CODE "+"SYSRES_CONST_USERS_CONTROLLER_REQUISITE_CODE "+"SYSRES_CONST_USERS_IS_MAIN_SERVER_REQUISITE_CODE "+"SYSRES_CONST_USERS_REFERENCE_CODE "+"SYSRES_CONST_USERS_REGISTRATION_CERTIFICATES_ACTION_NAME "+"SYSRES_CONST_USERS_REQUISITE_CODE "+"SYSRES_CONST_USERS_SYSTEM_REQUISITE_CODE "+"SYSRES_CONST_USERS_USER_ACCESS_RIGHTS_TYPR_REQUISITE_CODE "+"SYSRES_CONST_USERS_USER_AUTHENTICATION_REQUISITE_CODE "+"SYSRES_CONST_USERS_USER_COMPONENT_REQUISITE_CODE "+"SYSRES_CONST_USERS_USER_GROUP_REQUISITE_CODE "+"SYSRES_CONST_USERS_VIEW_CERTIFICATES_ACTION_NAME "+"SYSRES_CONST_VIEW_DEFAULT_CODE "+"SYSRES_CONST_VIEW_DEFAULT_NAME "+"SYSRES_CONST_VIEWER_REQUISITE_CODE "+"SYSRES_CONST_WAITING_BLOCK_DESCRIPTION "+"SYSRES_CONST_WIZARD_FORM_LABEL_TEST_STRING  "+"SYSRES_CONST_WIZARD_QUERY_PARAM_HEIGHT_ETALON_STRING "+"SYSRES_CONST_WIZARD_REFERENCE_COMMENT_REQUISITE_CODE "+"SYSRES_CONST_WORK_RULES_DESCRIPTION_REQUISITE_CODE "+"SYSRES_CONST_WORK_TIME_CALENDAR_REFERENCE_CODE "+"SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE "+"SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE "+"SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE_RUS "+"SYSRES_CONST_WORK_WORKFLOW_SOFT_ROUTE_TYPE_VALUE_CODE_RUS "+"SYSRES_CONST_WORKFLOW_ROUTE_TYPR_HARD "+"SYSRES_CONST_WORKFLOW_ROUTE_TYPR_SOFT "+"SYSRES_CONST_XML_ENCODING "+"SYSRES_CONST_XREC_STAT_REQUISITE_CODE "+"SYSRES_CONST_XRECID_FIELD_NAME "+"SYSRES_CONST_YES "+"SYSRES_CONST_YES_NO_2_REQUISITE_CODE "+"SYSRES_CONST_YES_NO_REQUISITE_CODE "+"SYSRES_CONST_YES_NO_T_REF_TYPE_REQUISITE_CODE "+"SYSRES_CONST_YES_PICK_VALUE "+"SYSRES_CONST_YES_VALUE ";const base_constants="CR FALSE nil NO_VALUE NULL TAB TRUE YES_VALUE ";const base_group_name_constants="ADMINISTRATORS_GROUP_NAME CUSTOMIZERS_GROUP_NAME DEVELOPERS_GROUP_NAME SERVICE_USERS_GROUP_NAME ";const decision_block_properties_constants="DECISION_BLOCK_FIRST_OPERAND_PROPERTY DECISION_BLOCK_NAME_PROPERTY DECISION_BLOCK_OPERATION_PROPERTY "+"DECISION_BLOCK_RESULT_TYPE_PROPERTY DECISION_BLOCK_SECOND_OPERAND_PROPERTY ";const file_extension_constants="ANY_FILE_EXTENTION COMPRESSED_DOCUMENT_EXTENSION EXTENDED_DOCUMENT_EXTENSION "+"SHORT_COMPRESSED_DOCUMENT_EXTENSION SHORT_EXTENDED_DOCUMENT_EXTENSION ";const job_block_properties_constants="JOB_BLOCK_ABORT_DEADLINE_PROPERTY "+"JOB_BLOCK_AFTER_FINISH_EVENT "+"JOB_BLOCK_AFTER_QUERY_PARAMETERS_EVENT "+"JOB_BLOCK_ATTACHMENT_PROPERTY "+"JOB_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY "+"JOB_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY "+"JOB_BLOCK_BEFORE_QUERY_PARAMETERS_EVENT "+"JOB_BLOCK_BEFORE_START_EVENT "+"JOB_BLOCK_CREATED_JOBS_PROPERTY "+"JOB_BLOCK_DEADLINE_PROPERTY "+"JOB_BLOCK_EXECUTION_RESULTS_PROPERTY "+"JOB_BLOCK_IS_PARALLEL_PROPERTY "+"JOB_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY "+"JOB_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY "+"JOB_BLOCK_JOB_TEXT_PROPERTY "+"JOB_BLOCK_NAME_PROPERTY "+"JOB_BLOCK_NEED_SIGN_ON_PERFORM_PROPERTY "+"JOB_BLOCK_PERFORMER_PROPERTY "+"JOB_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY "+"JOB_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY "+"JOB_BLOCK_SUBJECT_PROPERTY ";const language_code_constants="ENGLISH_LANGUAGE_CODE RUSSIAN_LANGUAGE_CODE ";const launching_external_applications_constants="smHidden smMaximized smMinimized smNormal wmNo wmYes ";const link_kind_constants="COMPONENT_TOKEN_LINK_KIND "+"DOCUMENT_LINK_KIND "+"EDOCUMENT_LINK_KIND "+"FOLDER_LINK_KIND "+"JOB_LINK_KIND "+"REFERENCE_LINK_KIND "+"TASK_LINK_KIND ";const lock_type_constants="COMPONENT_TOKEN_LOCK_TYPE EDOCUMENT_VERSION_LOCK_TYPE ";const monitor_block_properties_constants="MONITOR_BLOCK_AFTER_FINISH_EVENT "+"MONITOR_BLOCK_BEFORE_START_EVENT "+"MONITOR_BLOCK_DEADLINE_PROPERTY "+"MONITOR_BLOCK_INTERVAL_PROPERTY "+"MONITOR_BLOCK_INTERVAL_TYPE_PROPERTY "+"MONITOR_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY "+"MONITOR_BLOCK_NAME_PROPERTY "+"MONITOR_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY "+"MONITOR_BLOCK_SEARCH_SCRIPT_PROPERTY ";const notice_block_properties_constants="NOTICE_BLOCK_AFTER_FINISH_EVENT "+"NOTICE_BLOCK_ATTACHMENT_PROPERTY "+"NOTICE_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY "+"NOTICE_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY "+"NOTICE_BLOCK_BEFORE_START_EVENT "+"NOTICE_BLOCK_CREATED_NOTICES_PROPERTY "+"NOTICE_BLOCK_DEADLINE_PROPERTY "+"NOTICE_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY "+"NOTICE_BLOCK_NAME_PROPERTY "+"NOTICE_BLOCK_NOTICE_TEXT_PROPERTY "+"NOTICE_BLOCK_PERFORMER_PROPERTY "+"NOTICE_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY "+"NOTICE_BLOCK_SUBJECT_PROPERTY ";const object_events_constants="dseAfterCancel "+"dseAfterClose "+"dseAfterDelete "+"dseAfterDeleteOutOfTransaction "+"dseAfterInsert "+"dseAfterOpen "+"dseAfterScroll "+"dseAfterUpdate "+"dseAfterUpdateOutOfTransaction "+"dseBeforeCancel "+"dseBeforeClose "+"dseBeforeDelete "+"dseBeforeDetailUpdate "+"dseBeforeInsert "+"dseBeforeOpen "+"dseBeforeUpdate "+"dseOnAnyRequisiteChange "+"dseOnCloseRecord "+"dseOnDeleteError "+"dseOnOpenRecord "+"dseOnPrepareUpdate "+"dseOnUpdateError "+"dseOnUpdateRatifiedRecord "+"dseOnValidDelete "+"dseOnValidUpdate "+"reOnChange "+"reOnChangeValues "+"SELECTION_BEGIN_ROUTE_EVENT "+"SELECTION_END_ROUTE_EVENT ";const object_params_constants="CURRENT_PERIOD_IS_REQUIRED "+"PREVIOUS_CARD_TYPE_NAME "+"SHOW_RECORD_PROPERTIES_FORM ";const other_constants="ACCESS_RIGHTS_SETTING_DIALOG_CODE "+"ADMINISTRATOR_USER_CODE "+"ANALYTIC_REPORT_TYPE "+"asrtHideLocal "+"asrtHideRemote "+"CALCULATED_ROLE_TYPE_CODE "+"COMPONENTS_REFERENCE_DEVELOPER_VIEW_CODE "+"DCTS_TEST_PROTOCOLS_FOLDER_PATH "+"E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED "+"E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED_BY_USER "+"E_EDOC_VERSION_ALREDY_SIGNED "+"E_EDOC_VERSION_ALREDY_SIGNED_BY_USER "+"EDOC_TYPES_CODE_REQUISITE_FIELD_NAME "+"EDOCUMENTS_ALIAS_NAME "+"FILES_FOLDER_PATH "+"FILTER_OPERANDS_DELIMITER "+"FILTER_OPERATIONS_DELIMITER "+"FORMCARD_NAME "+"FORMLIST_NAME "+"GET_EXTENDED_DOCUMENT_EXTENSION_CREATION_MODE "+"GET_EXTENDED_DOCUMENT_EXTENSION_IMPORT_MODE "+"INTEGRATED_REPORT_TYPE "+"IS_BUILDER_APPLICATION_ROLE "+"IS_BUILDER_APPLICATION_ROLE2 "+"IS_BUILDER_USERS "+"ISBSYSDEV "+"LOG_FOLDER_PATH "+"mbCancel "+"mbNo "+"mbNoToAll "+"mbOK "+"mbYes "+"mbYesToAll "+"MEMORY_DATASET_DESRIPTIONS_FILENAME "+"mrNo "+"mrNoToAll "+"mrYes "+"mrYesToAll "+"MULTIPLE_SELECT_DIALOG_CODE "+"NONOPERATING_RECORD_FLAG_FEMININE "+"NONOPERATING_RECORD_FLAG_MASCULINE "+"OPERATING_RECORD_FLAG_FEMININE "+"OPERATING_RECORD_FLAG_MASCULINE "+"PROFILING_SETTINGS_COMMON_SETTINGS_CODE_VALUE "+"PROGRAM_INITIATED_LOOKUP_ACTION "+"ratDelete "+"ratEdit "+"ratInsert "+"REPORT_TYPE "+"REQUIRED_PICK_VALUES_VARIABLE "+"rmCard "+"rmList "+"SBRTE_PROGID_DEV "+"SBRTE_PROGID_RELEASE "+"STATIC_ROLE_TYPE_CODE "+"SUPPRESS_EMPTY_TEMPLATE_CREATION "+"SYSTEM_USER_CODE "+"UPDATE_DIALOG_DATASET "+"USED_IN_OBJECT_HINT_PARAM "+"USER_INITIATED_LOOKUP_ACTION "+"USER_NAME_FORMAT "+"USER_SELECTION_RESTRICTIONS "+"WORKFLOW_TEST_PROTOCOLS_FOLDER_PATH "+"ELS_SUBTYPE_CONTROL_NAME "+"ELS_FOLDER_KIND_CONTROL_NAME "+"REPEAT_PROCESS_CURRENT_OBJECT_EXCEPTION_NAME ";const privileges_constants="PRIVILEGE_COMPONENT_FULL_ACCESS "+"PRIVILEGE_DEVELOPMENT_EXPORT "+"PRIVILEGE_DEVELOPMENT_IMPORT "+"PRIVILEGE_DOCUMENT_DELETE "+"PRIVILEGE_ESD "+"PRIVILEGE_FOLDER_DELETE "+"PRIVILEGE_MANAGE_ACCESS_RIGHTS "+"PRIVILEGE_MANAGE_REPLICATION "+"PRIVILEGE_MANAGE_SESSION_SERVER "+"PRIVILEGE_OBJECT_FULL_ACCESS "+"PRIVILEGE_OBJECT_VIEW "+"PRIVILEGE_RESERVE_LICENSE "+"PRIVILEGE_SYSTEM_CUSTOMIZE "+"PRIVILEGE_SYSTEM_DEVELOP "+"PRIVILEGE_SYSTEM_INSTALL "+"PRIVILEGE_TASK_DELETE "+"PRIVILEGE_USER_PLUGIN_SETTINGS_CUSTOMIZE "+"PRIVILEGES_PSEUDOREFERENCE_CODE ";const pseudoreference_code_constants="ACCESS_TYPES_PSEUDOREFERENCE_CODE "+"ALL_AVAILABLE_COMPONENTS_PSEUDOREFERENCE_CODE "+"ALL_AVAILABLE_PRIVILEGES_PSEUDOREFERENCE_CODE "+"ALL_REPLICATE_COMPONENTS_PSEUDOREFERENCE_CODE "+"AVAILABLE_DEVELOPERS_COMPONENTS_PSEUDOREFERENCE_CODE "+"COMPONENTS_PSEUDOREFERENCE_CODE "+"FILTRATER_SETTINGS_CONFLICTS_PSEUDOREFERENCE_CODE "+"GROUPS_PSEUDOREFERENCE_CODE "+"RECEIVE_PROTOCOL_PSEUDOREFERENCE_CODE "+"REFERENCE_REQUISITE_PSEUDOREFERENCE_CODE "+"REFERENCE_REQUISITES_PSEUDOREFERENCE_CODE "+"REFTYPES_PSEUDOREFERENCE_CODE "+"REPLICATION_SEANCES_DIARY_PSEUDOREFERENCE_CODE "+"SEND_PROTOCOL_PSEUDOREFERENCE_CODE "+"SUBSTITUTES_PSEUDOREFERENCE_CODE "+"SYSTEM_SETTINGS_PSEUDOREFERENCE_CODE "+"UNITS_PSEUDOREFERENCE_CODE "+"USERS_PSEUDOREFERENCE_CODE "+"VIEWERS_PSEUDOREFERENCE_CODE ";const requisite_ISBCertificateType_values_constants="CERTIFICATE_TYPE_ENCRYPT "+"CERTIFICATE_TYPE_SIGN "+"CERTIFICATE_TYPE_SIGN_AND_ENCRYPT ";const requisite_ISBEDocStorageType_values_constants="STORAGE_TYPE_FILE "+"STORAGE_TYPE_NAS_CIFS "+"STORAGE_TYPE_SAPERION "+"STORAGE_TYPE_SQL_SERVER ";const requisite_compType2_values_constants="COMPTYPE2_REQUISITE_DOCUMENTS_VALUE "+"COMPTYPE2_REQUISITE_TASKS_VALUE "+"COMPTYPE2_REQUISITE_FOLDERS_VALUE "+"COMPTYPE2_REQUISITE_REFERENCES_VALUE ";const requisite_name_constants="SYSREQ_CODE "+"SYSREQ_COMPTYPE2 "+"SYSREQ_CONST_AVAILABLE_FOR_WEB "+"SYSREQ_CONST_COMMON_CODE "+"SYSREQ_CONST_COMMON_VALUE "+"SYSREQ_CONST_FIRM_CODE "+"SYSREQ_CONST_FIRM_STATUS "+"SYSREQ_CONST_FIRM_VALUE "+"SYSREQ_CONST_SERVER_STATUS "+"SYSREQ_CONTENTS "+"SYSREQ_DATE_OPEN "+"SYSREQ_DATE_CLOSE "+"SYSREQ_DESCRIPTION "+"SYSREQ_DESCRIPTION_LOCALIZE_ID "+"SYSREQ_DOUBLE "+"SYSREQ_EDOC_ACCESS_TYPE "+"SYSREQ_EDOC_AUTHOR "+"SYSREQ_EDOC_CREATED "+"SYSREQ_EDOC_DELEGATE_RIGHTS_REQUISITE_CODE "+"SYSREQ_EDOC_EDITOR "+"SYSREQ_EDOC_ENCODE_TYPE "+"SYSREQ_EDOC_ENCRYPTION_PLUGIN_NAME "+"SYSREQ_EDOC_ENCRYPTION_PLUGIN_VERSION "+"SYSREQ_EDOC_EXPORT_DATE "+"SYSREQ_EDOC_EXPORTER "+"SYSREQ_EDOC_KIND "+"SYSREQ_EDOC_LIFE_STAGE_NAME "+"SYSREQ_EDOC_LOCKED_FOR_SERVER_CODE "+"SYSREQ_EDOC_MODIFIED "+"SYSREQ_EDOC_NAME "+"SYSREQ_EDOC_NOTE "+"SYSREQ_EDOC_QUALIFIED_ID "+"SYSREQ_EDOC_SESSION_KEY "+"SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_NAME "+"SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_VERSION "+"SYSREQ_EDOC_SIGNATURE_TYPE "+"SYSREQ_EDOC_SIGNED "+"SYSREQ_EDOC_STORAGE "+"SYSREQ_EDOC_STORAGES_ARCHIVE_STORAGE "+"SYSREQ_EDOC_STORAGES_CHECK_RIGHTS "+"SYSREQ_EDOC_STORAGES_COMPUTER_NAME "+"SYSREQ_EDOC_STORAGES_EDIT_IN_STORAGE "+"SYSREQ_EDOC_STORAGES_EXECUTIVE_STORAGE "+"SYSREQ_EDOC_STORAGES_FUNCTION "+"SYSREQ_EDOC_STORAGES_INITIALIZED "+"SYSREQ_EDOC_STORAGES_LOCAL_PATH "+"SYSREQ_EDOC_STORAGES_SAPERION_DATABASE_NAME "+"SYSREQ_EDOC_STORAGES_SEARCH_BY_TEXT "+"SYSREQ_EDOC_STORAGES_SERVER_NAME "+"SYSREQ_EDOC_STORAGES_SHARED_SOURCE_NAME "+"SYSREQ_EDOC_STORAGES_TYPE "+"SYSREQ_EDOC_TEXT_MODIFIED "+"SYSREQ_EDOC_TYPE_ACT_CODE "+"SYSREQ_EDOC_TYPE_ACT_DESCRIPTION "+"SYSREQ_EDOC_TYPE_ACT_DESCRIPTION_LOCALIZE_ID "+"SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE "+"SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE_EXISTS "+"SYSREQ_EDOC_TYPE_ACT_SECTION "+"SYSREQ_EDOC_TYPE_ADD_PARAMS "+"SYSREQ_EDOC_TYPE_COMMENT "+"SYSREQ_EDOC_TYPE_EVENT_TEXT "+"SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR "+"SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID "+"SYSREQ_EDOC_TYPE_NAME_LOCALIZE_ID "+"SYSREQ_EDOC_TYPE_NUMERATION_METHOD "+"SYSREQ_EDOC_TYPE_PSEUDO_REQUISITE_CODE "+"SYSREQ_EDOC_TYPE_REQ_CODE "+"SYSREQ_EDOC_TYPE_REQ_DESCRIPTION "+"SYSREQ_EDOC_TYPE_REQ_DESCRIPTION_LOCALIZE_ID "+"SYSREQ_EDOC_TYPE_REQ_IS_LEADING "+"SYSREQ_EDOC_TYPE_REQ_IS_REQUIRED "+"SYSREQ_EDOC_TYPE_REQ_NUMBER "+"SYSREQ_EDOC_TYPE_REQ_ON_CHANGE "+"SYSREQ_EDOC_TYPE_REQ_ON_CHANGE_EXISTS "+"SYSREQ_EDOC_TYPE_REQ_ON_SELECT "+"SYSREQ_EDOC_TYPE_REQ_ON_SELECT_KIND "+"SYSREQ_EDOC_TYPE_REQ_SECTION "+"SYSREQ_EDOC_TYPE_VIEW_CARD "+"SYSREQ_EDOC_TYPE_VIEW_CODE "+"SYSREQ_EDOC_TYPE_VIEW_COMMENT "+"SYSREQ_EDOC_TYPE_VIEW_IS_MAIN "+"SYSREQ_EDOC_TYPE_VIEW_NAME "+"SYSREQ_EDOC_TYPE_VIEW_NAME_LOCALIZE_ID "+"SYSREQ_EDOC_VERSION_AUTHOR "+"SYSREQ_EDOC_VERSION_CRC "+"SYSREQ_EDOC_VERSION_DATA "+"SYSREQ_EDOC_VERSION_EDITOR "+"SYSREQ_EDOC_VERSION_EXPORT_DATE "+"SYSREQ_EDOC_VERSION_EXPORTER "+"SYSREQ_EDOC_VERSION_HIDDEN "+"SYSREQ_EDOC_VERSION_LIFE_STAGE "+"SYSREQ_EDOC_VERSION_MODIFIED "+"SYSREQ_EDOC_VERSION_NOTE "+"SYSREQ_EDOC_VERSION_SIGNATURE_TYPE "+"SYSREQ_EDOC_VERSION_SIGNED "+"SYSREQ_EDOC_VERSION_SIZE "+"SYSREQ_EDOC_VERSION_SOURCE "+"SYSREQ_EDOC_VERSION_TEXT_MODIFIED "+"SYSREQ_EDOCKIND_DEFAULT_VERSION_STATE_CODE "+"SYSREQ_FOLDER_KIND "+"SYSREQ_FUNC_CATEGORY "+"SYSREQ_FUNC_COMMENT "+"SYSREQ_FUNC_GROUP "+"SYSREQ_FUNC_GROUP_COMMENT "+"SYSREQ_FUNC_GROUP_NUMBER "+"SYSREQ_FUNC_HELP "+"SYSREQ_FUNC_PARAM_DEF_VALUE "+"SYSREQ_FUNC_PARAM_IDENT "+"SYSREQ_FUNC_PARAM_NUMBER "+"SYSREQ_FUNC_PARAM_TYPE "+"SYSREQ_FUNC_TEXT "+"SYSREQ_GROUP_CATEGORY "+"SYSREQ_ID "+"SYSREQ_LAST_UPDATE "+"SYSREQ_LEADER_REFERENCE "+"SYSREQ_LINE_NUMBER "+"SYSREQ_MAIN_RECORD_ID "+"SYSREQ_NAME "+"SYSREQ_NAME_LOCALIZE_ID "+"SYSREQ_NOTE "+"SYSREQ_ORIGINAL_RECORD "+"SYSREQ_OUR_FIRM "+"SYSREQ_PROFILING_SETTINGS_BATCH_LOGING "+"SYSREQ_PROFILING_SETTINGS_BATCH_SIZE "+"SYSREQ_PROFILING_SETTINGS_PROFILING_ENABLED "+"SYSREQ_PROFILING_SETTINGS_SQL_PROFILING_ENABLED "+"SYSREQ_PROFILING_SETTINGS_START_LOGGED "+"SYSREQ_RECORD_STATUS "+"SYSREQ_REF_REQ_FIELD_NAME "+"SYSREQ_REF_REQ_FORMAT "+"SYSREQ_REF_REQ_GENERATED "+"SYSREQ_REF_REQ_LENGTH "+"SYSREQ_REF_REQ_PRECISION "+"SYSREQ_REF_REQ_REFERENCE "+"SYSREQ_REF_REQ_SECTION "+"SYSREQ_REF_REQ_STORED "+"SYSREQ_REF_REQ_TOKENS "+"SYSREQ_REF_REQ_TYPE "+"SYSREQ_REF_REQ_VIEW "+"SYSREQ_REF_TYPE_ACT_CODE "+"SYSREQ_REF_TYPE_ACT_DESCRIPTION "+"SYSREQ_REF_TYPE_ACT_DESCRIPTION_LOCALIZE_ID "+"SYSREQ_REF_TYPE_ACT_ON_EXECUTE "+"SYSREQ_REF_TYPE_ACT_ON_EXECUTE_EXISTS "+"SYSREQ_REF_TYPE_ACT_SECTION "+"SYSREQ_REF_TYPE_ADD_PARAMS "+"SYSREQ_REF_TYPE_COMMENT "+"SYSREQ_REF_TYPE_COMMON_SETTINGS "+"SYSREQ_REF_TYPE_DISPLAY_REQUISITE_NAME "+"SYSREQ_REF_TYPE_EVENT_TEXT "+"SYSREQ_REF_TYPE_MAIN_LEADING_REF "+"SYSREQ_REF_TYPE_NAME_IN_SINGULAR "+"SYSREQ_REF_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID "+"SYSREQ_REF_TYPE_NAME_LOCALIZE_ID "+"SYSREQ_REF_TYPE_NUMERATION_METHOD "+"SYSREQ_REF_TYPE_REQ_CODE "+"SYSREQ_REF_TYPE_REQ_DESCRIPTION "+"SYSREQ_REF_TYPE_REQ_DESCRIPTION_LOCALIZE_ID "+"SYSREQ_REF_TYPE_REQ_IS_CONTROL "+"SYSREQ_REF_TYPE_REQ_IS_FILTER "+"SYSREQ_REF_TYPE_REQ_IS_LEADING "+"SYSREQ_REF_TYPE_REQ_IS_REQUIRED "+"SYSREQ_REF_TYPE_REQ_NUMBER "+"SYSREQ_REF_TYPE_REQ_ON_CHANGE "+"SYSREQ_REF_TYPE_REQ_ON_CHANGE_EXISTS "+"SYSREQ_REF_TYPE_REQ_ON_SELECT "+"SYSREQ_REF_TYPE_REQ_ON_SELECT_KIND "+"SYSREQ_REF_TYPE_REQ_SECTION "+"SYSREQ_REF_TYPE_VIEW_CARD "+"SYSREQ_REF_TYPE_VIEW_CODE "+"SYSREQ_REF_TYPE_VIEW_COMMENT "+"SYSREQ_REF_TYPE_VIEW_IS_MAIN "+"SYSREQ_REF_TYPE_VIEW_NAME "+"SYSREQ_REF_TYPE_VIEW_NAME_LOCALIZE_ID "+"SYSREQ_REFERENCE_TYPE_ID "+"SYSREQ_STATE "+"SYSREQ_STATЕ "+"SYSREQ_SYSTEM_SETTINGS_VALUE "+"SYSREQ_TYPE "+"SYSREQ_UNIT "+"SYSREQ_UNIT_ID "+"SYSREQ_USER_GROUPS_GROUP_FULL_NAME "+"SYSREQ_USER_GROUPS_GROUP_NAME "+"SYSREQ_USER_GROUPS_GROUP_SERVER_NAME "+"SYSREQ_USERS_ACCESS_RIGHTS "+"SYSREQ_USERS_AUTHENTICATION "+"SYSREQ_USERS_CATEGORY "+"SYSREQ_USERS_COMPONENT "+"SYSREQ_USERS_COMPONENT_USER_IS_PUBLIC "+"SYSREQ_USERS_DOMAIN "+"SYSREQ_USERS_FULL_USER_NAME "+"SYSREQ_USERS_GROUP "+"SYSREQ_USERS_IS_MAIN_SERVER "+"SYSREQ_USERS_LOGIN "+"SYSREQ_USERS_REFERENCE_USER_IS_PUBLIC "+"SYSREQ_USERS_STATUS "+"SYSREQ_USERS_USER_CERTIFICATE "+"SYSREQ_USERS_USER_CERTIFICATE_INFO "+"SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_NAME "+"SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_VERSION "+"SYSREQ_USERS_USER_CERTIFICATE_STATE "+"SYSREQ_USERS_USER_CERTIFICATE_SUBJECT_NAME "+"SYSREQ_USERS_USER_CERTIFICATE_THUMBPRINT "+"SYSREQ_USERS_USER_DEFAULT_CERTIFICATE "+"SYSREQ_USERS_USER_DESCRIPTION "+"SYSREQ_USERS_USER_GLOBAL_NAME "+"SYSREQ_USERS_USER_LOGIN "+"SYSREQ_USERS_USER_MAIN_SERVER "+"SYSREQ_USERS_USER_TYPE "+"SYSREQ_WORK_RULES_FOLDER_ID ";const result_constants="RESULT_VAR_NAME RESULT_VAR_NAME_ENG ";const rule_identification_constants="AUTO_NUMERATION_RULE_ID "+"CANT_CHANGE_ID_REQUISITE_RULE_ID "+"CANT_CHANGE_OURFIRM_REQUISITE_RULE_ID "+"CHECK_CHANGING_REFERENCE_RECORD_USE_RULE_ID "+"CHECK_CODE_REQUISITE_RULE_ID "+"CHECK_DELETING_REFERENCE_RECORD_USE_RULE_ID "+"CHECK_FILTRATER_CHANGES_RULE_ID "+"CHECK_RECORD_INTERVAL_RULE_ID "+"CHECK_REFERENCE_INTERVAL_RULE_ID "+"CHECK_REQUIRED_DATA_FULLNESS_RULE_ID "+"CHECK_REQUIRED_REQUISITES_FULLNESS_RULE_ID "+"MAKE_RECORD_UNRATIFIED_RULE_ID "+"RESTORE_AUTO_NUMERATION_RULE_ID "+"SET_FIRM_CONTEXT_FROM_RECORD_RULE_ID "+"SET_FIRST_RECORD_IN_LIST_FORM_RULE_ID "+"SET_IDSPS_VALUE_RULE_ID "+"SET_NEXT_CODE_VALUE_RULE_ID "+"SET_OURFIRM_BOUNDS_RULE_ID "+"SET_OURFIRM_REQUISITE_RULE_ID ";const script_block_properties_constants="SCRIPT_BLOCK_AFTER_FINISH_EVENT "+"SCRIPT_BLOCK_BEFORE_START_EVENT "+"SCRIPT_BLOCK_EXECUTION_RESULTS_PROPERTY "+"SCRIPT_BLOCK_NAME_PROPERTY "+"SCRIPT_BLOCK_SCRIPT_PROPERTY ";const subtask_block_properties_constants="SUBTASK_BLOCK_ABORT_DEADLINE_PROPERTY "+"SUBTASK_BLOCK_AFTER_FINISH_EVENT "+"SUBTASK_BLOCK_ASSIGN_PARAMS_EVENT "+"SUBTASK_BLOCK_ATTACHMENTS_PROPERTY "+"SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY "+"SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY "+"SUBTASK_BLOCK_BEFORE_START_EVENT "+"SUBTASK_BLOCK_CREATED_TASK_PROPERTY "+"SUBTASK_BLOCK_CREATION_EVENT "+"SUBTASK_BLOCK_DEADLINE_PROPERTY "+"SUBTASK_BLOCK_IMPORTANCE_PROPERTY "+"SUBTASK_BLOCK_INITIATOR_PROPERTY "+"SUBTASK_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY "+"SUBTASK_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY "+"SUBTASK_BLOCK_JOBS_TYPE_PROPERTY "+"SUBTASK_BLOCK_NAME_PROPERTY "+"SUBTASK_BLOCK_PARALLEL_ROUTE_PROPERTY "+"SUBTASK_BLOCK_PERFORMERS_PROPERTY "+"SUBTASK_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY "+"SUBTASK_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY "+"SUBTASK_BLOCK_REQUIRE_SIGN_PROPERTY "+"SUBTASK_BLOCK_STANDARD_ROUTE_PROPERTY "+"SUBTASK_BLOCK_START_EVENT "+"SUBTASK_BLOCK_STEP_CONTROL_PROPERTY "+"SUBTASK_BLOCK_SUBJECT_PROPERTY "+"SUBTASK_BLOCK_TASK_CONTROL_PROPERTY "+"SUBTASK_BLOCK_TEXT_PROPERTY "+"SUBTASK_BLOCK_UNLOCK_ATTACHMENTS_ON_STOP_PROPERTY "+"SUBTASK_BLOCK_USE_STANDARD_ROUTE_PROPERTY "+"SUBTASK_BLOCK_WAIT_FOR_TASK_COMPLETE_PROPERTY ";const system_component_constants="SYSCOMP_CONTROL_JOBS "+"SYSCOMP_FOLDERS "+"SYSCOMP_JOBS "+"SYSCOMP_NOTICES "+"SYSCOMP_TASKS ";const system_dialogs_constants="SYSDLG_CREATE_EDOCUMENT "+"SYSDLG_CREATE_EDOCUMENT_VERSION "+"SYSDLG_CURRENT_PERIOD "+"SYSDLG_EDIT_FUNCTION_HELP "+"SYSDLG_EDOCUMENT_KINDS_FOR_TEMPLATE "+"SYSDLG_EXPORT_MULTIPLE_EDOCUMENTS "+"SYSDLG_EXPORT_SINGLE_EDOCUMENT "+"SYSDLG_IMPORT_EDOCUMENT "+"SYSDLG_MULTIPLE_SELECT "+"SYSDLG_SETUP_ACCESS_RIGHTS "+"SYSDLG_SETUP_DEFAULT_RIGHTS "+"SYSDLG_SETUP_FILTER_CONDITION "+"SYSDLG_SETUP_SIGN_RIGHTS "+"SYSDLG_SETUP_TASK_OBSERVERS "+"SYSDLG_SETUP_TASK_ROUTE "+"SYSDLG_SETUP_USERS_LIST "+"SYSDLG_SIGN_EDOCUMENT "+"SYSDLG_SIGN_MULTIPLE_EDOCUMENTS ";const system_reference_names_constants="SYSREF_ACCESS_RIGHTS_TYPES "+"SYSREF_ADMINISTRATION_HISTORY "+"SYSREF_ALL_AVAILABLE_COMPONENTS "+"SYSREF_ALL_AVAILABLE_PRIVILEGES "+"SYSREF_ALL_REPLICATING_COMPONENTS "+"SYSREF_AVAILABLE_DEVELOPERS_COMPONENTS "+"SYSREF_CALENDAR_EVENTS "+"SYSREF_COMPONENT_TOKEN_HISTORY "+"SYSREF_COMPONENT_TOKENS "+"SYSREF_COMPONENTS "+"SYSREF_CONSTANTS "+"SYSREF_DATA_RECEIVE_PROTOCOL "+"SYSREF_DATA_SEND_PROTOCOL "+"SYSREF_DIALOGS "+"SYSREF_DIALOGS_REQUISITES "+"SYSREF_EDITORS "+"SYSREF_EDOC_CARDS "+"SYSREF_EDOC_TYPES "+"SYSREF_EDOCUMENT_CARD_REQUISITES "+"SYSREF_EDOCUMENT_CARD_TYPES "+"SYSREF_EDOCUMENT_CARD_TYPES_REFERENCE "+"SYSREF_EDOCUMENT_CARDS "+"SYSREF_EDOCUMENT_HISTORY "+"SYSREF_EDOCUMENT_KINDS "+"SYSREF_EDOCUMENT_REQUISITES "+"SYSREF_EDOCUMENT_SIGNATURES "+"SYSREF_EDOCUMENT_TEMPLATES "+"SYSREF_EDOCUMENT_TEXT_STORAGES "+"SYSREF_EDOCUMENT_VIEWS "+"SYSREF_FILTERER_SETUP_CONFLICTS "+"SYSREF_FILTRATER_SETTING_CONFLICTS "+"SYSREF_FOLDER_HISTORY "+"SYSREF_FOLDERS "+"SYSREF_FUNCTION_GROUPS "+"SYSREF_FUNCTION_PARAMS "+"SYSREF_FUNCTIONS "+"SYSREF_JOB_HISTORY "+"SYSREF_LINKS "+"SYSREF_LOCALIZATION_DICTIONARY "+"SYSREF_LOCALIZATION_LANGUAGES "+"SYSREF_MODULES "+"SYSREF_PRIVILEGES "+"SYSREF_RECORD_HISTORY "+"SYSREF_REFERENCE_REQUISITES "+"SYSREF_REFERENCE_TYPE_VIEWS "+"SYSREF_REFERENCE_TYPES "+"SYSREF_REFERENCES "+"SYSREF_REFERENCES_REQUISITES "+"SYSREF_REMOTE_SERVERS "+"SYSREF_REPLICATION_SESSIONS_LOG "+"SYSREF_REPLICATION_SESSIONS_PROTOCOL "+"SYSREF_REPORTS "+"SYSREF_ROLES "+"SYSREF_ROUTE_BLOCK_GROUPS "+"SYSREF_ROUTE_BLOCKS "+"SYSREF_SCRIPTS "+"SYSREF_SEARCHES "+"SYSREF_SERVER_EVENTS "+"SYSREF_SERVER_EVENTS_HISTORY "+"SYSREF_STANDARD_ROUTE_GROUPS "+"SYSREF_STANDARD_ROUTES "+"SYSREF_STATUSES "+"SYSREF_SYSTEM_SETTINGS "+"SYSREF_TASK_HISTORY "+"SYSREF_TASK_KIND_GROUPS "+"SYSREF_TASK_KINDS "+"SYSREF_TASK_RIGHTS "+"SYSREF_TASK_SIGNATURES "+"SYSREF_TASKS "+"SYSREF_UNITS "+"SYSREF_USER_GROUPS "+"SYSREF_USER_GROUPS_REFERENCE "+"SYSREF_USER_SUBSTITUTION "+"SYSREF_USERS "+"SYSREF_USERS_REFERENCE "+"SYSREF_VIEWERS "+"SYSREF_WORKING_TIME_CALENDARS ";const table_name_constants="ACCESS_RIGHTS_TABLE_NAME "+"EDMS_ACCESS_TABLE_NAME "+"EDOC_TYPES_TABLE_NAME ";const test_constants="TEST_DEV_DB_NAME "+"TEST_DEV_SYSTEM_CODE "+"TEST_EDMS_DB_NAME "+"TEST_EDMS_MAIN_CODE "+"TEST_EDMS_MAIN_DB_NAME "+"TEST_EDMS_SECOND_CODE "+"TEST_EDMS_SECOND_DB_NAME "+"TEST_EDMS_SYSTEM_CODE "+"TEST_ISB5_MAIN_CODE "+"TEST_ISB5_SECOND_CODE "+"TEST_SQL_SERVER_2005_NAME "+"TEST_SQL_SERVER_NAME ";const using_the_dialog_windows_constants="ATTENTION_CAPTION "+"cbsCommandLinks "+"cbsDefault "+"CONFIRMATION_CAPTION "+"ERROR_CAPTION "+"INFORMATION_CAPTION "+"mrCancel "+"mrOk ";const using_the_document_constants="EDOC_VERSION_ACTIVE_STAGE_CODE "+"EDOC_VERSION_DESIGN_STAGE_CODE "+"EDOC_VERSION_OBSOLETE_STAGE_CODE ";const using_the_EA_and_encryption_constants="cpDataEnciphermentEnabled "+"cpDigitalSignatureEnabled "+"cpID "+"cpIssuer "+"cpPluginVersion "+"cpSerial "+"cpSubjectName "+"cpSubjSimpleName "+"cpValidFromDate "+"cpValidToDate ";const using_the_ISBL_editor_constants="ISBL_SYNTAX "+"NO_SYNTAX "+"XML_SYNTAX ";const wait_block_properties_constants="WAIT_BLOCK_AFTER_FINISH_EVENT "+"WAIT_BLOCK_BEFORE_START_EVENT "+"WAIT_BLOCK_DEADLINE_PROPERTY "+"WAIT_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY "+"WAIT_BLOCK_NAME_PROPERTY "+"WAIT_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY ";const sysres_common_constants="SYSRES_COMMON "+"SYSRES_CONST "+"SYSRES_MBFUNC "+"SYSRES_SBDATA "+"SYSRES_SBGUI "+"SYSRES_SBINTF "+"SYSRES_SBREFDSC "+"SYSRES_SQLERRORS "+"SYSRES_SYSCOMP ";const CONSTANTS=sysres_constants+base_constants+base_group_name_constants+decision_block_properties_constants+file_extension_constants+job_block_properties_constants+language_code_constants+launching_external_applications_constants+link_kind_constants+lock_type_constants+monitor_block_properties_constants+notice_block_properties_constants+object_events_constants+object_params_constants+other_constants+privileges_constants+pseudoreference_code_constants+requisite_ISBCertificateType_values_constants+requisite_ISBEDocStorageType_values_constants+requisite_compType2_values_constants+requisite_name_constants+result_constants+rule_identification_constants+script_block_properties_constants+subtask_block_properties_constants+system_component_constants+system_dialogs_constants+system_reference_names_constants+table_name_constants+test_constants+using_the_dialog_windows_constants+using_the_document_constants+using_the_EA_and_encryption_constants+using_the_ISBL_editor_constants+wait_block_properties_constants+sysres_common_constants;const TAccountType="atUser atGroup atRole ";const TActionEnabledMode="aemEnabledAlways "+"aemDisabledAlways "+"aemEnabledOnBrowse "+"aemEnabledOnEdit "+"aemDisabledOnBrowseEmpty ";const TAddPosition="apBegin apEnd ";const TAlignment="alLeft alRight ";const TAreaShowMode="asmNever "+"asmNoButCustomize "+"asmAsLastTime "+"asmYesButCustomize "+"asmAlways ";const TCertificateInvalidationReason="cirCommon cirRevoked ";const TCertificateType="ctSignature ctEncode ctSignatureEncode ";const TCheckListBoxItemState="clbUnchecked clbChecked clbGrayed ";const TCloseOnEsc="ceISB ceAlways ceNever ";const TCompType="ctDocument "+"ctReference "+"ctScript "+"ctUnknown "+"ctReport "+"ctDialog "+"ctFunction "+"ctFolder "+"ctEDocument "+"ctTask "+"ctJob "+"ctNotice "+"ctControlJob ";const TConditionFormat="cfInternal cfDisplay ";const TConnectionIntent="ciUnspecified ciWrite ciRead ";const TContentKind="ckFolder "+"ckEDocument "+"ckTask "+"ckJob "+"ckComponentToken "+"ckAny "+"ckReference "+"ckScript "+"ckReport "+"ckDialog ";const TControlType="ctISBLEditor "+"ctBevel "+"ctButton "+"ctCheckListBox "+"ctComboBox "+"ctComboEdit "+"ctGrid "+"ctDBCheckBox "+"ctDBComboBox "+"ctDBEdit "+"ctDBEllipsis "+"ctDBMemo "+"ctDBNavigator "+"ctDBRadioGroup "+"ctDBStatusLabel "+"ctEdit "+"ctGroupBox "+"ctInplaceHint "+"ctMemo "+"ctPanel "+"ctListBox "+"ctRadioButton "+"ctRichEdit "+"ctTabSheet "+"ctWebBrowser "+"ctImage "+"ctHyperLink "+"ctLabel "+"ctDBMultiEllipsis "+"ctRibbon "+"ctRichView "+"ctInnerPanel "+"ctPanelGroup "+"ctBitButton ";const TCriterionContentType="cctDate "+"cctInteger "+"cctNumeric "+"cctPick "+"cctReference "+"cctString "+"cctText ";const TCultureType="cltInternal cltPrimary cltGUI ";const TDataSetEventType="dseBeforeOpen "+"dseAfterOpen "+"dseBeforeClose "+"dseAfterClose "+"dseOnValidDelete "+"dseBeforeDelete "+"dseAfterDelete "+"dseAfterDeleteOutOfTransaction "+"dseOnDeleteError "+"dseBeforeInsert "+"dseAfterInsert "+"dseOnValidUpdate "+"dseBeforeUpdate "+"dseOnUpdateRatifiedRecord "+"dseAfterUpdate "+"dseAfterUpdateOutOfTransaction "+"dseOnUpdateError "+"dseAfterScroll "+"dseOnOpenRecord "+"dseOnCloseRecord "+"dseBeforeCancel "+"dseAfterCancel "+"dseOnUpdateDeadlockError "+"dseBeforeDetailUpdate "+"dseOnPrepareUpdate "+"dseOnAnyRequisiteChange ";const TDataSetState="dssEdit dssInsert dssBrowse dssInActive ";const TDateFormatType="dftDate dftShortDate dftDateTime dftTimeStamp ";const TDateOffsetType="dotDays dotHours dotMinutes dotSeconds ";const TDateTimeKind="dtkndLocal dtkndUTC ";const TDeaAccessRights="arNone arView arEdit arFull ";const TDocumentDefaultAction="ddaView ddaEdit ";const TEditMode="emLock "+"emEdit "+"emSign "+"emExportWithLock "+"emImportWithUnlock "+"emChangeVersionNote "+"emOpenForModify "+"emChangeLifeStage "+"emDelete "+"emCreateVersion "+"emImport "+"emUnlockExportedWithLock "+"emStart "+"emAbort "+"emReInit "+"emMarkAsReaded "+"emMarkAsUnreaded "+"emPerform "+"emAccept "+"emResume "+"emChangeRights "+"emEditRoute "+"emEditObserver "+"emRecoveryFromLocalCopy "+"emChangeWorkAccessType "+"emChangeEncodeTypeToCertificate "+"emChangeEncodeTypeToPassword "+"emChangeEncodeTypeToNone "+"emChangeEncodeTypeToCertificatePassword "+"emChangeStandardRoute "+"emGetText "+"emOpenForView "+"emMoveToStorage "+"emCreateObject "+"emChangeVersionHidden "+"emDeleteVersion "+"emChangeLifeCycleStage "+"emApprovingSign "+"emExport "+"emContinue "+"emLockFromEdit "+"emUnLockForEdit "+"emLockForServer "+"emUnlockFromServer "+"emDelegateAccessRights "+"emReEncode ";const TEditorCloseObservType="ecotFile ecotProcess ";const TEdmsApplicationAction="eaGet eaCopy eaCreate eaCreateStandardRoute ";const TEDocumentLockType="edltAll edltNothing edltQuery ";const TEDocumentStepShowMode="essmText essmCard ";const TEDocumentStepVersionType="esvtLast esvtLastActive esvtSpecified ";const TEDocumentStorageFunction="edsfExecutive edsfArchive ";const TEDocumentStorageType="edstSQLServer edstFile ";const TEDocumentVersionSourceType="edvstNone edvstEDocumentVersionCopy edvstFile edvstTemplate edvstScannedFile ";const TEDocumentVersionState="vsDefault vsDesign vsActive vsObsolete ";const TEncodeType="etNone etCertificate etPassword etCertificatePassword ";const TExceptionCategory="ecException ecWarning ecInformation ";const TExportedSignaturesType="estAll estApprovingOnly ";const TExportedVersionType="evtLast evtLastActive evtQuery ";const TFieldDataType="fdtString "+"fdtNumeric "+"fdtInteger "+"fdtDate "+"fdtText "+"fdtUnknown "+"fdtWideString "+"fdtLargeInteger ";const TFolderType="ftInbox "+"ftOutbox "+"ftFavorites "+"ftCommonFolder "+"ftUserFolder "+"ftComponents "+"ftQuickLaunch "+"ftShortcuts "+"ftSearch ";const TGridRowHeight="grhAuto "+"grhX1 "+"grhX2 "+"grhX3 ";const THyperlinkType="hltText "+"hltRTF "+"hltHTML ";const TImageFileFormat="iffBMP "+"iffJPEG "+"iffMultiPageTIFF "+"iffSinglePageTIFF "+"iffTIFF "+"iffPNG ";const TImageMode="im8bGrayscale "+"im24bRGB "+"im1bMonochrome ";const TImageType="itBMP "+"itJPEG "+"itWMF "+"itPNG ";const TInplaceHintKind="ikhInformation "+"ikhWarning "+"ikhError "+"ikhNoIcon ";const TISBLContext="icUnknown "+"icScript "+"icFunction "+"icIntegratedReport "+"icAnalyticReport "+"icDataSetEventHandler "+"icActionHandler "+"icFormEventHandler "+"icLookUpEventHandler "+"icRequisiteChangeEventHandler "+"icBeforeSearchEventHandler "+"icRoleCalculation "+"icSelectRouteEventHandler "+"icBlockPropertyCalculation "+"icBlockQueryParamsEventHandler "+"icChangeSearchResultEventHandler "+"icBlockEventHandler "+"icSubTaskInitEventHandler "+"icEDocDataSetEventHandler "+"icEDocLookUpEventHandler "+"icEDocActionHandler "+"icEDocFormEventHandler "+"icEDocRequisiteChangeEventHandler "+"icStructuredConversionRule "+"icStructuredConversionEventBefore "+"icStructuredConversionEventAfter "+"icWizardEventHandler "+"icWizardFinishEventHandler "+"icWizardStepEventHandler "+"icWizardStepFinishEventHandler "+"icWizardActionEnableEventHandler "+"icWizardActionExecuteEventHandler "+"icCreateJobsHandler "+"icCreateNoticesHandler "+"icBeforeLookUpEventHandler "+"icAfterLookUpEventHandler "+"icTaskAbortEventHandler "+"icWorkflowBlockActionHandler "+"icDialogDataSetEventHandler "+"icDialogActionHandler "+"icDialogLookUpEventHandler "+"icDialogRequisiteChangeEventHandler "+"icDialogFormEventHandler "+"icDialogValidCloseEventHandler "+"icBlockFormEventHandler "+"icTaskFormEventHandler "+"icReferenceMethod "+"icEDocMethod "+"icDialogMethod "+"icProcessMessageHandler ";const TItemShow="isShow "+"isHide "+"isByUserSettings ";const TJobKind="jkJob "+"jkNotice "+"jkControlJob ";const TJoinType="jtInner "+"jtLeft "+"jtRight "+"jtFull "+"jtCross ";const TLabelPos="lbpAbove "+"lbpBelow "+"lbpLeft "+"lbpRight ";const TLicensingType="eltPerConnection "+"eltPerUser ";const TLifeCycleStageFontColor="sfcUndefined "+"sfcBlack "+"sfcGreen "+"sfcRed "+"sfcBlue "+"sfcOrange "+"sfcLilac ";const TLifeCycleStageFontStyle="sfsItalic "+"sfsStrikeout "+"sfsNormal ";const TLockableDevelopmentComponentType="ldctStandardRoute "+"ldctWizard "+"ldctScript "+"ldctFunction "+"ldctRouteBlock "+"ldctIntegratedReport "+"ldctAnalyticReport "+"ldctReferenceType "+"ldctEDocumentType "+"ldctDialog "+"ldctServerEvents ";const TMaxRecordCountRestrictionType="mrcrtNone "+"mrcrtUser "+"mrcrtMaximal "+"mrcrtCustom ";const TRangeValueType="vtEqual "+"vtGreaterOrEqual "+"vtLessOrEqual "+"vtRange ";const TRelativeDate="rdYesterday "+"rdToday "+"rdTomorrow "+"rdThisWeek "+"rdThisMonth "+"rdThisYear "+"rdNextMonth "+"rdNextWeek "+"rdLastWeek "+"rdLastMonth ";const TReportDestination="rdWindow "+"rdFile "+"rdPrinter ";const TReqDataType="rdtString "+"rdtNumeric "+"rdtInteger "+"rdtDate "+"rdtReference "+"rdtAccount "+"rdtText "+"rdtPick "+"rdtUnknown "+"rdtLargeInteger "+"rdtDocument ";const TRequisiteEventType="reOnChange "+"reOnChangeValues ";const TSBTimeType="ttGlobal "+"ttLocal "+"ttUser "+"ttSystem ";const TSearchShowMode="ssmBrowse "+"ssmSelect "+"ssmMultiSelect "+"ssmBrowseModal ";const TSelectMode="smSelect "+"smLike "+"smCard ";const TSignatureType="stNone "+"stAuthenticating "+"stApproving ";const TSignerContentType="sctString "+"sctStream ";const TStringsSortType="sstAnsiSort "+"sstNaturalSort ";const TStringValueType="svtEqual "+"svtContain ";const TStructuredObjectAttributeType="soatString "+"soatNumeric "+"soatInteger "+"soatDatetime "+"soatReferenceRecord "+"soatText "+"soatPick "+"soatBoolean "+"soatEDocument "+"soatAccount "+"soatIntegerCollection "+"soatNumericCollection "+"soatStringCollection "+"soatPickCollection "+"soatDatetimeCollection "+"soatBooleanCollection "+"soatReferenceRecordCollection "+"soatEDocumentCollection "+"soatAccountCollection "+"soatContents "+"soatUnknown ";const TTaskAbortReason="tarAbortByUser "+"tarAbortByWorkflowException ";const TTextValueType="tvtAllWords "+"tvtExactPhrase "+"tvtAnyWord ";const TUserObjectStatus="usNone "+"usCompleted "+"usRedSquare "+"usBlueSquare "+"usYellowSquare "+"usGreenSquare "+"usOrangeSquare "+"usPurpleSquare "+"usFollowUp ";const TUserType="utUnknown "+"utUser "+"utDeveloper "+"utAdministrator "+"utSystemDeveloper "+"utDisconnected ";const TValuesBuildType="btAnd "+"btDetailAnd "+"btOr "+"btNotOr "+"btOnly ";const TViewMode="vmView "+"vmSelect "+"vmNavigation ";const TViewSelectionMode="vsmSingle "+"vsmMultiple "+"vsmMultipleCheck "+"vsmNoSelection ";const TWizardActionType="wfatPrevious "+"wfatNext "+"wfatCancel "+"wfatFinish ";const TWizardFormElementProperty="wfepUndefined "+"wfepText3 "+"wfepText6 "+"wfepText9 "+"wfepSpinEdit "+"wfepDropDown "+"wfepRadioGroup "+"wfepFlag "+"wfepText12 "+"wfepText15 "+"wfepText18 "+"wfepText21 "+"wfepText24 "+"wfepText27 "+"wfepText30 "+"wfepRadioGroupColumn1 "+"wfepRadioGroupColumn2 "+"wfepRadioGroupColumn3 ";const TWizardFormElementType="wfetQueryParameter "+"wfetText "+"wfetDelimiter "+"wfetLabel ";const TWizardParamType="wptString "+"wptInteger "+"wptNumeric "+"wptBoolean "+"wptDateTime "+"wptPick "+"wptText "+"wptUser "+"wptUserList "+"wptEDocumentInfo "+"wptEDocumentInfoList "+"wptReferenceRecordInfo "+"wptReferenceRecordInfoList "+"wptFolderInfo "+"wptTaskInfo "+"wptContents "+"wptFileName "+"wptDate ";const TWizardStepResult="wsrComplete "+"wsrGoNext "+"wsrGoPrevious "+"wsrCustom "+"wsrCancel "+"wsrGoFinal ";const TWizardStepType="wstForm "+"wstEDocument "+"wstTaskCard "+"wstReferenceRecordCard "+"wstFinal ";const TWorkAccessType="waAll "+"waPerformers "+"waManual ";const TWorkflowBlockType="wsbStart "+"wsbFinish "+"wsbNotice "+"wsbStep "+"wsbDecision "+"wsbWait "+"wsbMonitor "+"wsbScript "+"wsbConnector "+"wsbSubTask "+"wsbLifeCycleStage "+"wsbPause ";const TWorkflowDataType="wdtInteger "+"wdtFloat "+"wdtString "+"wdtPick "+"wdtDateTime "+"wdtBoolean "+"wdtTask "+"wdtJob "+"wdtFolder "+"wdtEDocument "+"wdtReferenceRecord "+"wdtUser "+"wdtGroup "+"wdtRole "+"wdtIntegerCollection "+"wdtFloatCollection "+"wdtStringCollection "+"wdtPickCollection "+"wdtDateTimeCollection "+"wdtBooleanCollection "+"wdtTaskCollection "+"wdtJobCollection "+"wdtFolderCollection "+"wdtEDocumentCollection "+"wdtReferenceRecordCollection "+"wdtUserCollection "+"wdtGroupCollection "+"wdtRoleCollection "+"wdtContents "+"wdtUserList "+"wdtSearchDescription "+"wdtDeadLine "+"wdtPickSet "+"wdtAccountCollection ";const TWorkImportance="wiLow "+"wiNormal "+"wiHigh ";const TWorkRouteType="wrtSoft "+"wrtHard ";const TWorkState="wsInit "+"wsRunning "+"wsDone "+"wsControlled "+"wsAborted "+"wsContinued ";const TWorkTextBuildingMode="wtmFull "+"wtmFromCurrent "+"wtmOnlyCurrent ";const ENUMS=TAccountType+TActionEnabledMode+TAddPosition+TAlignment+TAreaShowMode+TCertificateInvalidationReason+TCertificateType+TCheckListBoxItemState+TCloseOnEsc+TCompType+TConditionFormat+TConnectionIntent+TContentKind+TControlType+TCriterionContentType+TCultureType+TDataSetEventType+TDataSetState+TDateFormatType+TDateOffsetType+TDateTimeKind+TDeaAccessRights+TDocumentDefaultAction+TEditMode+TEditorCloseObservType+TEdmsApplicationAction+TEDocumentLockType+TEDocumentStepShowMode+TEDocumentStepVersionType+TEDocumentStorageFunction+TEDocumentStorageType+TEDocumentVersionSourceType+TEDocumentVersionState+TEncodeType+TExceptionCategory+TExportedSignaturesType+TExportedVersionType+TFieldDataType+TFolderType+TGridRowHeight+THyperlinkType+TImageFileFormat+TImageMode+TImageType+TInplaceHintKind+TISBLContext+TItemShow+TJobKind+TJoinType+TLabelPos+TLicensingType+TLifeCycleStageFontColor+TLifeCycleStageFontStyle+TLockableDevelopmentComponentType+TMaxRecordCountRestrictionType+TRangeValueType+TRelativeDate+TReportDestination+TReqDataType+TRequisiteEventType+TSBTimeType+TSearchShowMode+TSelectMode+TSignatureType+TSignerContentType+TStringsSortType+TStringValueType+TStructuredObjectAttributeType+TTaskAbortReason+TTextValueType+TUserObjectStatus+TUserType+TValuesBuildType+TViewMode+TViewSelectionMode+TWizardActionType+TWizardFormElementProperty+TWizardFormElementType+TWizardParamType+TWizardStepResult+TWizardStepType+TWorkAccessType+TWorkflowBlockType+TWorkflowDataType+TWorkImportance+TWorkRouteType+TWorkState+TWorkTextBuildingMode;const system_functions="AddSubString "+"AdjustLineBreaks "+"AmountInWords "+"Analysis "+"ArrayDimCount "+"ArrayHighBound "+"ArrayLowBound "+"ArrayOf "+"ArrayReDim "+"Assert "+"Assigned "+"BeginOfMonth "+"BeginOfPeriod "+"BuildProfilingOperationAnalysis "+"CallProcedure "+"CanReadFile "+"CArrayElement "+"CDataSetRequisite "+"ChangeDate "+"ChangeReferenceDataset "+"Char "+"CharPos "+"CheckParam "+"CheckParamValue "+"CompareStrings "+"ConstantExists "+"ControlState "+"ConvertDateStr "+"Copy "+"CopyFile "+"CreateArray "+"CreateCachedReference "+"CreateConnection "+"CreateDialog "+"CreateDualListDialog "+"CreateEditor "+"CreateException "+"CreateFile "+"CreateFolderDialog "+"CreateInputDialog "+"CreateLinkFile "+"CreateList "+"CreateLock "+"CreateMemoryDataSet "+"CreateObject "+"CreateOpenDialog "+"CreateProgress "+"CreateQuery "+"CreateReference "+"CreateReport "+"CreateSaveDialog "+"CreateScript "+"CreateSQLPivotFunction "+"CreateStringList "+"CreateTreeListSelectDialog "+"CSelectSQL "+"CSQL "+"CSubString "+"CurrentUserID "+"CurrentUserName "+"CurrentVersion "+"DataSetLocateEx "+"DateDiff "+"DateTimeDiff "+"DateToStr "+"DayOfWeek "+"DeleteFile "+"DirectoryExists "+"DisableCheckAccessRights "+"DisableCheckFullShowingRestriction "+"DisableMassTaskSendingRestrictions "+"DropTable "+"DupeString "+"EditText "+"EnableCheckAccessRights "+"EnableCheckFullShowingRestriction "+"EnableMassTaskSendingRestrictions "+"EndOfMonth "+"EndOfPeriod "+"ExceptionExists "+"ExceptionsOff "+"ExceptionsOn "+"Execute "+"ExecuteProcess "+"Exit "+"ExpandEnvironmentVariables "+"ExtractFileDrive "+"ExtractFileExt "+"ExtractFileName "+"ExtractFilePath "+"ExtractParams "+"FileExists "+"FileSize "+"FindFile "+"FindSubString "+"FirmContext "+"ForceDirectories "+"Format "+"FormatDate "+"FormatNumeric "+"FormatSQLDate "+"FormatString "+"FreeException "+"GetComponent "+"GetComponentLaunchParam "+"GetConstant "+"GetLastException "+"GetReferenceRecord "+"GetRefTypeByRefID "+"GetTableID "+"GetTempFolder "+"IfThen "+"In "+"IndexOf "+"InputDialog "+"InputDialogEx "+"InteractiveMode "+"IsFileLocked "+"IsGraphicFile "+"IsNumeric "+"Length "+"LoadString "+"LoadStringFmt "+"LocalTimeToUTC "+"LowerCase "+"Max "+"MessageBox "+"MessageBoxEx "+"MimeDecodeBinary "+"MimeDecodeString "+"MimeEncodeBinary "+"MimeEncodeString "+"Min "+"MoneyInWords "+"MoveFile "+"NewID "+"Now "+"OpenFile "+"Ord "+"Precision "+"Raise "+"ReadCertificateFromFile "+"ReadFile "+"ReferenceCodeByID "+"ReferenceNumber "+"ReferenceRequisiteMode "+"ReferenceRequisiteValue "+"RegionDateSettings "+"RegionNumberSettings "+"RegionTimeSettings "+"RegRead "+"RegWrite "+"RenameFile "+"Replace "+"Round "+"SelectServerCode "+"SelectSQL "+"ServerDateTime "+"SetConstant "+"SetManagedFolderFieldsState "+"ShowConstantsInputDialog "+"ShowMessage "+"Sleep "+"Split "+"SQL "+"SQL2XLSTAB "+"SQLProfilingSendReport "+"StrToDate "+"SubString "+"SubStringCount "+"SystemSetting "+"Time "+"TimeDiff "+"Today "+"Transliterate "+"Trim "+"UpperCase "+"UserStatus "+"UTCToLocalTime "+"ValidateXML "+"VarIsClear "+"VarIsEmpty "+"VarIsNull "+"WorkTimeDiff "+"WriteFile "+"WriteFileEx "+"WriteObjectHistory "+"Анализ "+"БазаДанных "+"БлокЕсть "+"БлокЕстьРасш "+"БлокИнфо "+"БлокСнять "+"БлокСнятьРасш "+"БлокУстановить "+"Ввод "+"ВводМеню "+"ВедС "+"ВедСпр "+"ВерхняяГраницаМассива "+"ВнешПрогр "+"Восст "+"ВременнаяПапка "+"Время "+"ВыборSQL "+"ВыбратьЗапись "+"ВыделитьСтр "+"Вызвать "+"Выполнить "+"ВыпПрогр "+"ГрафическийФайл "+"ГруппаДополнительно "+"ДатаВремяСерв "+"ДеньНедели "+"ДиалогДаНет "+"ДлинаСтр "+"ДобПодстр "+"ЕПусто "+"ЕслиТо "+"ЕЧисло "+"ЗамПодстр "+"ЗаписьСправочника "+"ЗначПоляСпр "+"ИДТипСпр "+"ИзвлечьДиск "+"ИзвлечьИмяФайла "+"ИзвлечьПуть "+"ИзвлечьРасширение "+"ИзмДат "+"ИзменитьРазмерМассива "+"ИзмеренийМассива "+"ИмяОрг "+"ИмяПоляСпр "+"Индекс "+"ИндикаторЗакрыть "+"ИндикаторОткрыть "+"ИндикаторШаг "+"ИнтерактивныйРежим "+"ИтогТблСпр "+"КодВидВедСпр "+"КодВидСпрПоИД "+"КодПоAnalit "+"КодСимвола "+"КодСпр "+"КолПодстр "+"КолПроп "+"КонМес "+"Конст "+"КонстЕсть "+"КонстЗнач "+"КонТран "+"КопироватьФайл "+"КопияСтр "+"КПериод "+"КСтрТблСпр "+"Макс "+"МаксСтрТблСпр "+"Массив "+"Меню "+"МенюРасш "+"Мин "+"НаборДанныхНайтиРасш "+"НаимВидСпр "+"НаимПоAnalit "+"НаимСпр "+"НастроитьПереводыСтрок "+"НачМес "+"НачТран "+"НижняяГраницаМассива "+"НомерСпр "+"НПериод "+"Окно "+"Окр "+"Окружение "+"ОтлИнфДобавить "+"ОтлИнфУдалить "+"Отчет "+"ОтчетАнал "+"ОтчетИнт "+"ПапкаСуществует "+"Пауза "+"ПВыборSQL "+"ПереименоватьФайл "+"Переменные "+"ПереместитьФайл "+"Подстр "+"ПоискПодстр "+"ПоискСтр "+"ПолучитьИДТаблицы "+"ПользовательДополнительно "+"ПользовательИД "+"ПользовательИмя "+"ПользовательСтатус "+"Прервать "+"ПроверитьПараметр "+"ПроверитьПараметрЗнач "+"ПроверитьУсловие "+"РазбСтр "+"РазнВремя "+"РазнДат "+"РазнДатаВремя "+"РазнРабВремя "+"РегУстВрем "+"РегУстДат "+"РегУстЧсл "+"РедТекст "+"РеестрЗапись "+"РеестрСписокИменПарам "+"РеестрЧтение "+"РеквСпр "+"РеквСпрПр "+"Сегодня "+"Сейчас "+"Сервер "+"СерверПроцессИД "+"СертификатФайлСчитать "+"СжПроб "+"Символ "+"СистемаДиректумКод "+"СистемаИнформация "+"СистемаКод "+"Содержит "+"СоединениеЗакрыть "+"СоединениеОткрыть "+"СоздатьДиалог "+"СоздатьДиалогВыбораИзДвухСписков "+"СоздатьДиалогВыбораПапки "+"СоздатьДиалогОткрытияФайла "+"СоздатьДиалогСохраненияФайла "+"СоздатьЗапрос "+"СоздатьИндикатор "+"СоздатьИсключение "+"СоздатьКэшированныйСправочник "+"СоздатьМассив "+"СоздатьНаборДанных "+"СоздатьОбъект "+"СоздатьОтчет "+"СоздатьПапку "+"СоздатьРедактор "+"СоздатьСоединение "+"СоздатьСписок "+"СоздатьСписокСтрок "+"СоздатьСправочник "+"СоздатьСценарий "+"СоздСпр "+"СостСпр "+"Сохр "+"СохрСпр "+"СписокСистем "+"Спр "+"Справочник "+"СпрБлокЕсть "+"СпрБлокСнять "+"СпрБлокСнятьРасш "+"СпрБлокУстановить "+"СпрИзмНабДан "+"СпрКод "+"СпрНомер "+"СпрОбновить "+"СпрОткрыть "+"СпрОтменить "+"СпрПарам "+"СпрПолеЗнач "+"СпрПолеИмя "+"СпрРекв "+"СпрРеквВведЗн "+"СпрРеквНовые "+"СпрРеквПр "+"СпрРеквПредЗн "+"СпрРеквРежим "+"СпрРеквТипТекст "+"СпрСоздать "+"СпрСост "+"СпрСохранить "+"СпрТблИтог "+"СпрТблСтр "+"СпрТблСтрКол "+"СпрТблСтрМакс "+"СпрТблСтрМин "+"СпрТблСтрПред "+"СпрТблСтрСлед "+"СпрТблСтрСозд "+"СпрТблСтрУд "+"СпрТекПредст "+"СпрУдалить "+"СравнитьСтр "+"СтрВерхРегистр "+"СтрНижнРегистр "+"СтрТблСпр "+"СумПроп "+"Сценарий "+"СценарийПарам "+"ТекВерсия "+"ТекОрг "+"Точн "+"Тран "+"Транслитерация "+"УдалитьТаблицу "+"УдалитьФайл "+"УдСпр "+"УдСтрТблСпр "+"Уст "+"УстановкиКонстант "+"ФайлАтрибутСчитать "+"ФайлАтрибутУстановить "+"ФайлВремя "+"ФайлВремяУстановить "+"ФайлВыбрать "+"ФайлЗанят "+"ФайлЗаписать "+"ФайлИскать "+"ФайлКопировать "+"ФайлМожноЧитать "+"ФайлОткрыть "+"ФайлПереименовать "+"ФайлПерекодировать "+"ФайлПереместить "+"ФайлПросмотреть "+"ФайлРазмер "+"ФайлСоздать "+"ФайлСсылкаСоздать "+"ФайлСуществует "+"ФайлСчитать "+"ФайлУдалить "+"ФмтSQLДат "+"ФмтДат "+"ФмтСтр "+"ФмтЧсл "+"Формат "+"ЦМассивЭлемент "+"ЦНаборДанныхРеквизит "+"ЦПодстр ";const predefined_variables="AltState "+"Application "+"CallType "+"ComponentTokens "+"CreatedJobs "+"CreatedNotices "+"ControlState "+"DialogResult "+"Dialogs "+"EDocuments "+"EDocumentVersionSource "+"Folders "+"GlobalIDs "+"Job "+"Jobs "+"InputValue "+"LookUpReference "+"LookUpRequisiteNames "+"LookUpSearch "+"Object "+"ParentComponent "+"Processes "+"References "+"Requisite "+"ReportName "+"Reports "+"Result "+"Scripts "+"Searches "+"SelectedAttachments "+"SelectedItems "+"SelectMode "+"Sender "+"ServerEvents "+"ServiceFactory "+"ShiftState "+"SubTask "+"SystemDialogs "+"Tasks "+"Wizard "+"Wizards "+"Work "+"ВызовСпособ "+"ИмяОтчета "+"РеквЗнач ";const interfaces="IApplication "+"IAccessRights "+"IAccountRepository "+"IAccountSelectionRestrictions "+"IAction "+"IActionList "+"IAdministrationHistoryDescription "+"IAnchors "+"IApplication "+"IArchiveInfo "+"IAttachment "+"IAttachmentList "+"ICheckListBox "+"ICheckPointedList "+"IColumn "+"IComponent "+"IComponentDescription "+"IComponentToken "+"IComponentTokenFactory "+"IComponentTokenInfo "+"ICompRecordInfo "+"IConnection "+"IContents "+"IControl "+"IControlJob "+"IControlJobInfo "+"IControlList "+"ICrypto "+"ICrypto2 "+"ICustomJob "+"ICustomJobInfo "+"ICustomListBox "+"ICustomObjectWizardStep "+"ICustomWork "+"ICustomWorkInfo "+"IDataSet "+"IDataSetAccessInfo "+"IDataSigner "+"IDateCriterion "+"IDateRequisite "+"IDateRequisiteDescription "+"IDateValue "+"IDeaAccessRights "+"IDeaObjectInfo "+"IDevelopmentComponentLock "+"IDialog "+"IDialogFactory "+"IDialogPickRequisiteItems "+"IDialogsFactory "+"IDICSFactory "+"IDocRequisite "+"IDocumentInfo "+"IDualListDialog "+"IECertificate "+"IECertificateInfo "+"IECertificates "+"IEditControl "+"IEditorForm "+"IEdmsExplorer "+"IEdmsObject "+"IEdmsObjectDescription "+"IEdmsObjectFactory "+"IEdmsObjectInfo "+"IEDocument "+"IEDocumentAccessRights "+"IEDocumentDescription "+"IEDocumentEditor "+"IEDocumentFactory "+"IEDocumentInfo "+"IEDocumentStorage "+"IEDocumentVersion "+"IEDocumentVersionListDialog "+"IEDocumentVersionSource "+"IEDocumentWizardStep "+"IEDocVerSignature "+"IEDocVersionState "+"IEnabledMode "+"IEncodeProvider "+"IEncrypter "+"IEvent "+"IEventList "+"IException "+"IExternalEvents "+"IExternalHandler "+"IFactory "+"IField "+"IFileDialog "+"IFolder "+"IFolderDescription "+"IFolderDialog "+"IFolderFactory "+"IFolderInfo "+"IForEach "+"IForm "+"IFormTitle "+"IFormWizardStep "+"IGlobalIDFactory "+"IGlobalIDInfo "+"IGrid "+"IHasher "+"IHistoryDescription "+"IHyperLinkControl "+"IImageButton "+"IImageControl "+"IInnerPanel "+"IInplaceHint "+"IIntegerCriterion "+"IIntegerList "+"IIntegerRequisite "+"IIntegerValue "+"IISBLEditorForm "+"IJob "+"IJobDescription "+"IJobFactory "+"IJobForm "+"IJobInfo "+"ILabelControl "+"ILargeIntegerCriterion "+"ILargeIntegerRequisite "+"ILargeIntegerValue "+"ILicenseInfo "+"ILifeCycleStage "+"IList "+"IListBox "+"ILocalIDInfo "+"ILocalization "+"ILock "+"IMemoryDataSet "+"IMessagingFactory "+"IMetadataRepository "+"INotice "+"INoticeInfo "+"INumericCriterion "+"INumericRequisite "+"INumericValue "+"IObject "+"IObjectDescription "+"IObjectImporter "+"IObjectInfo "+"IObserver "+"IPanelGroup "+"IPickCriterion "+"IPickProperty "+"IPickRequisite "+"IPickRequisiteDescription "+"IPickRequisiteItem "+"IPickRequisiteItems "+"IPickValue "+"IPrivilege "+"IPrivilegeList "+"IProcess "+"IProcessFactory "+"IProcessMessage "+"IProgress "+"IProperty "+"IPropertyChangeEvent "+"IQuery "+"IReference "+"IReferenceCriterion "+"IReferenceEnabledMode "+"IReferenceFactory "+"IReferenceHistoryDescription "+"IReferenceInfo "+"IReferenceRecordCardWizardStep "+"IReferenceRequisiteDescription "+"IReferencesFactory "+"IReferenceValue "+"IRefRequisite "+"IReport "+"IReportFactory "+"IRequisite "+"IRequisiteDescription "+"IRequisiteDescriptionList "+"IRequisiteFactory "+"IRichEdit "+"IRouteStep "+"IRule "+"IRuleList "+"ISchemeBlock "+"IScript "+"IScriptFactory "+"ISearchCriteria "+"ISearchCriterion "+"ISearchDescription "+"ISearchFactory "+"ISearchFolderInfo "+"ISearchForObjectDescription "+"ISearchResultRestrictions "+"ISecuredContext "+"ISelectDialog "+"IServerEvent "+"IServerEventFactory "+"IServiceDialog "+"IServiceFactory "+"ISignature "+"ISignProvider "+"ISignProvider2 "+"ISignProvider3 "+"ISimpleCriterion "+"IStringCriterion "+"IStringList "+"IStringRequisite "+"IStringRequisiteDescription "+"IStringValue "+"ISystemDialogsFactory "+"ISystemInfo "+"ITabSheet "+"ITask "+"ITaskAbortReasonInfo "+"ITaskCardWizardStep "+"ITaskDescription "+"ITaskFactory "+"ITaskInfo "+"ITaskRoute "+"ITextCriterion "+"ITextRequisite "+"ITextValue "+"ITreeListSelectDialog "+"IUser "+"IUserList "+"IValue "+"IView "+"IWebBrowserControl "+"IWizard "+"IWizardAction "+"IWizardFactory "+"IWizardFormElement "+"IWizardParam "+"IWizardPickParam "+"IWizardReferenceParam "+"IWizardStep "+"IWorkAccessRights "+"IWorkDescription "+"IWorkflowAskableParam "+"IWorkflowAskableParams "+"IWorkflowBlock "+"IWorkflowBlockResult "+"IWorkflowEnabledMode "+"IWorkflowParam "+"IWorkflowPickParam "+"IWorkflowReferenceParam "+"IWorkState "+"IWorkTreeCustomNode "+"IWorkTreeJobNode "+"IWorkTreeTaskNode "+"IXMLEditorForm "+"SBCrypto ";const BUILTIN=CONSTANTS+ENUMS;const CLASS=predefined_variables;const LITERAL="null true false nil ";const NUMBERS={className:"number",begin:hljs.NUMBER_RE,relevance:0};const STRINGS={className:"string",variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]};const DOCTAGS={className:"doctag",begin:"\\b(?:TODO|DONE|BEGIN|END|STUB|CHG|FIXME|NOTE|BUG|XXX)\\b",relevance:0};const ISBL_LINE_COMMENT_MODE={className:"comment",begin:"//",end:"$",relevance:0,contains:[hljs.PHRASAL_WORDS_MODE,DOCTAGS]};const ISBL_BLOCK_COMMENT_MODE={className:"comment",begin:"/\\*",end:"\\*/",relevance:0,contains:[hljs.PHRASAL_WORDS_MODE,DOCTAGS]};const COMMENTS={variants:[ISBL_LINE_COMMENT_MODE,ISBL_BLOCK_COMMENT_MODE]};const KEYWORDS={$pattern:UNDERSCORE_IDENT_RE,keyword:KEYWORD,built_in:BUILTIN,class:CLASS,literal:LITERAL};const METHODS={begin:"\\.\\s*"+hljs.UNDERSCORE_IDENT_RE,keywords:KEYWORDS,relevance:0};const TYPES={className:"type",begin:":[ \\t]*("+interfaces.trim().replace(/\s/g,"|")+")",end:"[ \\t]*=",excludeEnd:true};const VARIABLES={className:"variable",keywords:KEYWORDS,begin:UNDERSCORE_IDENT_RE,relevance:0,contains:[TYPES,METHODS]};const FUNCTION_TITLE=FUNCTION_NAME_IDENT_RE+"\\(";const TITLE_MODE={className:"title",keywords:{$pattern:UNDERSCORE_IDENT_RE,built_in:system_functions},begin:FUNCTION_TITLE,end:"\\(",returnBegin:true,excludeEnd:true};const FUNCTIONS={className:"function",begin:FUNCTION_TITLE,end:"\\)$",returnBegin:true,keywords:KEYWORDS,illegal:"[\\[\\]\\|\\$\\?%,~#@]",contains:[TITLE_MODE,METHODS,VARIABLES,STRINGS,NUMBERS,COMMENTS]};return{name:"ISBL",case_insensitive:true,keywords:KEYWORDS,illegal:"\\$|\\?|%|,|;$|~|#|@|</",contains:[FUNCTIONS,TYPES,METHODS,VARIABLES,STRINGS,NUMBERS,COMMENTS]}}module.exports=isbl},function(module,exports){var decimalDigits="[0-9](_*[0-9])*";var frac=`\\.(${decimalDigits})`;var hexDigits="[0-9a-fA-F](_*[0-9a-fA-F])*";var NUMERIC={className:"number",variants:[{begin:`(\\b(${decimalDigits})((${frac})|\\.)?|(${frac}))`+`[eE][+-]?(${decimalDigits})[fFdD]?\\b`},{begin:`\\b(${decimalDigits})((${frac})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${frac})[fFdD]?\\b`},{begin:`\\b(${decimalDigits})[fFdD]\\b`},{begin:`\\b0[xX]((${hexDigits})\\.?|(${hexDigits})?\\.(${hexDigits}))`+`[pP][+-]?(${decimalDigits})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${hexDigits})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function java(hljs){var JAVA_IDENT_RE="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*";var GENERIC_IDENT_RE=JAVA_IDENT_RE+"(<"+JAVA_IDENT_RE+"(\\s*,\\s*"+JAVA_IDENT_RE+")*>)?";var KEYWORDS="false synchronized int abstract float private char boolean var static null if const "+"for true while long strictfp finally protected import native final void "+"enum else break transient catch instanceof byte super volatile case assert short "+"package default double public try this switch continue throws protected public private "+"module requires exports do";var ANNOTATION={className:"meta",begin:"@"+JAVA_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]};const NUMBER=NUMERIC;return{name:"Java",aliases:["jsp"],keywords:KEYWORDS,illegal:/<\/|#/,contains:[hljs.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface enum",end:/[{;=]/,excludeEnd:true,relevance:1,keywords:"class interface enum",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},hljs.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"class",begin:"record\\s+"+hljs.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:true,excludeEnd:true,end:/[{;=]/,keywords:KEYWORDS,contains:[{beginKeywords:"record"},{begin:hljs.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:true,relevance:0,contains:[hljs.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:KEYWORDS,relevance:0,contains:[hljs.C_BLOCK_COMMENT_MODE]},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},{className:"function",begin:"("+GENERIC_IDENT_RE+"\\s+)+"+hljs.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:true,end:/[{;=]/,excludeEnd:true,keywords:KEYWORDS,contains:[{begin:hljs.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:true,relevance:0,contains:[hljs.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:KEYWORDS,relevance:0,contains:[ANNOTATION,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,NUMBER,hljs.C_BLOCK_COMMENT_MODE]},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},NUMBER,ANNOTATION]}}module.exports=java},function(module,exports){const IDENT_RE="[A-Za-z$_][0-9A-Za-z$_]*";const KEYWORDS=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"];const LITERALS=["true","false","null","undefined","NaN","Infinity"];const TYPES=["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"];const ERROR_TYPES=["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"];const BUILT_IN_GLOBALS=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"];const BUILT_IN_VARIABLES=["arguments","this","super","console","window","document","localStorage","module","global"];const BUILT_INS=[].concat(BUILT_IN_GLOBALS,BUILT_IN_VARIABLES,TYPES,ERROR_TYPES);function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function javascript(hljs){const hasClosingTag=(match,{after:after})=>{const tag="</"+match[0].slice(1);const pos=match.input.indexOf(tag,after);return pos!==-1};const IDENT_RE$1=IDENT_RE;const FRAGMENT={begin:"<>",end:"</>"};const XML_TAG={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(match,response)=>{const afterMatchIndex=match[0].length+match.index;const nextChar=match.input[afterMatchIndex];if(nextChar==="<"){response.ignoreMatch();return}if(nextChar===">"){if(!hasClosingTag(match,{after:afterMatchIndex})){response.ignoreMatch()}}}};const KEYWORDS$1={$pattern:IDENT_RE,keyword:KEYWORDS,literal:LITERALS,built_in:BUILT_INS};const decimalDigits="[0-9](_?[0-9])*";const frac=`\\.(${decimalDigits})`;const decimalInteger=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;const NUMBER={className:"number",variants:[{begin:`(\\b(${decimalInteger})((${frac})|\\.)?|(${frac}))`+`[eE][+-]?(${decimalDigits})\\b`},{begin:`\\b(${decimalInteger})\\b((${frac})\\b|\\.)?|(${frac})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0};const SUBST={className:"subst",begin:"\\$\\{",end:"\\}",keywords:KEYWORDS$1,contains:[]};const HTML_TEMPLATE={begin:"html`",end:"",starts:{end:"`",returnEnd:false,contains:[hljs.BACKSLASH_ESCAPE,SUBST],subLanguage:"xml"}};const CSS_TEMPLATE={begin:"css`",end:"",starts:{end:"`",returnEnd:false,contains:[hljs.BACKSLASH_ESCAPE,SUBST],subLanguage:"css"}};const TEMPLATE_STRING={className:"string",begin:"`",end:"`",contains:[hljs.BACKSLASH_ESCAPE,SUBST]};const JSDOC_COMMENT=hljs.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:IDENT_RE$1+"(?=\\s*(-)|$)",endsParent:true,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]});const COMMENT={className:"comment",variants:[JSDOC_COMMENT,hljs.C_BLOCK_COMMENT_MODE,hljs.C_LINE_COMMENT_MODE]};const SUBST_INTERNALS=[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,HTML_TEMPLATE,CSS_TEMPLATE,TEMPLATE_STRING,NUMBER,hljs.REGEXP_MODE];SUBST.contains=SUBST_INTERNALS.concat({begin:/\{/,end:/\}/,keywords:KEYWORDS$1,contains:["self"].concat(SUBST_INTERNALS)});const SUBST_AND_COMMENTS=[].concat(COMMENT,SUBST.contains);const PARAMS_CONTAINS=SUBST_AND_COMMENTS.concat([{begin:/\(/,end:/\)/,keywords:KEYWORDS$1,contains:["self"].concat(SUBST_AND_COMMENTS)}]);const PARAMS={className:"params",begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,keywords:KEYWORDS$1,contains:PARAMS_CONTAINS};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:KEYWORDS$1,exports:{PARAMS_CONTAINS:PARAMS_CONTAINS},illegal:/#(?![$_A-z])/,contains:[hljs.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,HTML_TEMPLATE,CSS_TEMPLATE,TEMPLATE_STRING,COMMENT,NUMBER,{begin:concat(/[{,\n]\s*/,lookahead(concat(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,IDENT_RE$1+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:IDENT_RE$1+lookahead("\\s*:"),relevance:0}]},{begin:"("+hljs.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[COMMENT,hljs.REGEXP_MODE,{className:"function",begin:"(\\("+"[^()]*(\\("+"[^()]*(\\("+"[^()]*"+"\\)[^()]*)*"+"\\)[^()]*)*"+"\\)|"+hljs.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:true,end:"\\s*=>",contains:[{className:"params",variants:[{begin:hljs.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:true},{begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,keywords:KEYWORDS$1,contains:PARAMS_CONTAINS}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:true},{variants:[{begin:FRAGMENT.begin,end:FRAGMENT.end},{begin:XML_TAG.begin,"on:begin":XML_TAG.isTrulyOpeningTag,end:XML_TAG.end}],subLanguage:"xml",contains:[{begin:XML_TAG.begin,end:XML_TAG.end,skip:true,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:true,keywords:KEYWORDS$1,contains:["self",hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE$1}),PARAMS],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:hljs.UNDERSCORE_IDENT_RE+"\\("+"[^()]*(\\("+"[^()]*(\\("+"[^()]*"+"\\)[^()]*)*"+"\\)[^()]*)*"+"\\)\\s*\\{",returnBegin:true,contains:[PARAMS,hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE$1})]},{variants:[{begin:"\\."+IDENT_RE$1},{begin:"\\$"+IDENT_RE$1}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:true,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},hljs.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:true,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE$1}),"self",PARAMS]},{begin:"(get|set)\\s+(?="+IDENT_RE$1+"\\()",end:/\{/,keywords:"get set",contains:[hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE$1}),{begin:/\(\)/},PARAMS]},{begin:/\$[(.]/}]}}module.exports=javascript},function(module,exports){function jbossCli(hljs){const PARAM={begin:/[\w-]+ *=/,returnBegin:true,relevance:0,contains:[{className:"attr",begin:/[\w-]+/}]};const PARAMSBLOCK={className:"params",begin:/\(/,end:/\)/,contains:[PARAM],relevance:0};const OPERATION={className:"function",begin:/:[\w\-.]+/,relevance:0};const PATH={className:"string",begin:/\B([\/.])[\w\-.\/=]+/};const COMMAND_PARAMS={className:"params",begin:/--[\w\-=\/]+/};return{name:"JBoss CLI",aliases:["wildfly-cli"],keywords:{$pattern:"[a-z-]+",keyword:"alias batch cd clear command connect connection-factory connection-info data-source deploy "+"deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls "+"patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias "+"undeploy unset version xa-data-source",literal:"true false"},contains:[hljs.HASH_COMMENT_MODE,hljs.QUOTE_STRING_MODE,COMMAND_PARAMS,OPERATION,PATH,PARAMSBLOCK]}}module.exports=jbossCli},function(module,exports){function json(hljs){const LITERALS={literal:"true false null"};const ALLOWED_COMMENTS=[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE];const TYPES=[hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE];const VALUE_CONTAINER={end:",",endsWithParent:true,excludeEnd:true,contains:TYPES,keywords:LITERALS};const OBJECT={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[hljs.BACKSLASH_ESCAPE],illegal:"\\n"},hljs.inherit(VALUE_CONTAINER,{begin:/:/})].concat(ALLOWED_COMMENTS),illegal:"\\S"};const ARRAY={begin:"\\[",end:"\\]",contains:[hljs.inherit(VALUE_CONTAINER)],illegal:"\\S"};TYPES.push(OBJECT,ARRAY);ALLOWED_COMMENTS.forEach((function(rule){TYPES.push(rule)}));return{name:"JSON",contains:TYPES,keywords:LITERALS,illegal:"\\S"}}module.exports=json},function(module,exports){function julia(hljs){var VARIABLE_NAME_RE="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*";var KEYWORD_LIST=["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"];var LITERAL_LIST=["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","π","ℯ"];var BUILT_IN_LIST=["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"];var KEYWORDS={$pattern:VARIABLE_NAME_RE,keyword:KEYWORD_LIST,literal:LITERAL_LIST,built_in:BUILT_IN_LIST};var DEFAULT={keywords:KEYWORDS,illegal:/<\//};var NUMBER={className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0};var CHAR={className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/};var INTERPOLATION={className:"subst",begin:/\$\(/,end:/\)/,keywords:KEYWORDS};var INTERPOLATED_VARIABLE={className:"variable",begin:"\\$"+VARIABLE_NAME_RE};var STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE,INTERPOLATION,INTERPOLATED_VARIABLE],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]};var COMMAND={className:"string",contains:[hljs.BACKSLASH_ESCAPE,INTERPOLATION,INTERPOLATED_VARIABLE],begin:"`",end:"`"};var MACROCALL={className:"meta",begin:"@"+VARIABLE_NAME_RE};var COMMENT={className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]};DEFAULT.name="Julia";DEFAULT.contains=[NUMBER,CHAR,STRING,COMMAND,MACROCALL,COMMENT,hljs.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}];INTERPOLATION.contains=DEFAULT.contains;return DEFAULT}module.exports=julia},function(module,exports){function juliaRepl(hljs){return{name:"Julia REPL",contains:[{className:"meta",begin:/^julia>/,relevance:10,starts:{end:/^(?![ ]{6})/,subLanguage:"julia"},aliases:["jldoctest"]}]}}module.exports=juliaRepl},function(module,exports){var decimalDigits="[0-9](_*[0-9])*";var frac=`\\.(${decimalDigits})`;var hexDigits="[0-9a-fA-F](_*[0-9a-fA-F])*";var NUMERIC={className:"number",variants:[{begin:`(\\b(${decimalDigits})((${frac})|\\.)?|(${frac}))`+`[eE][+-]?(${decimalDigits})[fFdD]?\\b`},{begin:`\\b(${decimalDigits})((${frac})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${frac})[fFdD]?\\b`},{begin:`\\b(${decimalDigits})[fFdD]\\b`},{begin:`\\b0[xX]((${hexDigits})\\.?|(${hexDigits})?\\.(${hexDigits}))`+`[pP][+-]?(${decimalDigits})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${hexDigits})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function kotlin(hljs){const KEYWORDS={keyword:"abstract as val var vararg get set class object open private protected public noinline "+"crossinline dynamic final enum if else do while for when throw try catch finally "+"import package is in fun override companion reified inline lateinit init "+"interface annotation data sealed internal infix operator out by constructor super "+"tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"};const KEYWORDS_WITH_LABEL={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}};const LABEL={className:"symbol",begin:hljs.UNDERSCORE_IDENT_RE+"@"};const SUBST={className:"subst",begin:/\$\{/,end:/\}/,contains:[hljs.C_NUMBER_MODE]};const VARIABLE={className:"variable",begin:"\\$"+hljs.UNDERSCORE_IDENT_RE};const STRING={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[VARIABLE,SUBST]},{begin:"'",end:"'",illegal:/\n/,contains:[hljs.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[hljs.BACKSLASH_ESCAPE,VARIABLE,SUBST]}]};SUBST.contains.push(STRING);const ANNOTATION_USE_SITE={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+hljs.UNDERSCORE_IDENT_RE+")?"};const ANNOTATION={className:"meta",begin:"@"+hljs.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[hljs.inherit(STRING,{className:"meta-string"})]}]};const KOTLIN_NUMBER_MODE=NUMERIC;const KOTLIN_NESTED_COMMENT=hljs.COMMENT("/\\*","\\*/",{contains:[hljs.C_BLOCK_COMMENT_MODE]});const KOTLIN_PAREN_TYPE={variants:[{className:"type",begin:hljs.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]};const KOTLIN_PAREN_TYPE2=KOTLIN_PAREN_TYPE;KOTLIN_PAREN_TYPE2.variants[1].contains=[KOTLIN_PAREN_TYPE];KOTLIN_PAREN_TYPE.variants[1].contains=[KOTLIN_PAREN_TYPE2];return{name:"Kotlin",aliases:["kt","kts"],keywords:KEYWORDS,contains:[hljs.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),hljs.C_LINE_COMMENT_MODE,KOTLIN_NESTED_COMMENT,KEYWORDS_WITH_LABEL,LABEL,ANNOTATION_USE_SITE,ANNOTATION,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:true,excludeEnd:true,keywords:KEYWORDS,relevance:5,contains:[{begin:hljs.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:true,relevance:0,contains:[hljs.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:true,keywords:KEYWORDS,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:true,contains:[KOTLIN_PAREN_TYPE,hljs.C_LINE_COMMENT_MODE,KOTLIN_NESTED_COMMENT],relevance:0},hljs.C_LINE_COMMENT_MODE,KOTLIN_NESTED_COMMENT,ANNOTATION_USE_SITE,ANNOTATION,STRING,hljs.C_NUMBER_MODE]},KOTLIN_NESTED_COMMENT]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:true,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},hljs.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:true,excludeEnd:true,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:true,returnEnd:true},ANNOTATION_USE_SITE,ANNOTATION]},STRING,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},KOTLIN_NUMBER_MODE]}}module.exports=kotlin},function(module,exports){function lasso(hljs){const LASSO_IDENT_RE="[a-zA-Z_][\\w.]*";const LASSO_ANGLE_RE="<\\?(lasso(script)?|=)";const LASSO_CLOSE_RE="\\]|\\?>";const LASSO_KEYWORDS={$pattern:LASSO_IDENT_RE+"|&[lg]t;",literal:"true false none minimal full all void and or not "+"bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null "+"boolean bytes keyword list locale queue set stack staticarray "+"local var variable global data self inherited currentcapture givenblock",keyword:"cache database_names database_schemanames database_tablenames "+"define_tag define_type email_batch encode_set html_comment handle "+"handle_error header if inline iterate ljax_target link "+"link_currentaction link_currentgroup link_currentrecord link_detail "+"link_firstgroup link_firstrecord link_lastgroup link_lastrecord "+"link_nextgroup link_nextrecord link_prevgroup link_prevrecord log "+"loop namespace_using output_none portal private protect records "+"referer referrer repeating resultset rows search_args "+"search_arguments select sort_args sort_arguments thread_atomic "+"value_list while abort case else fail_if fail_ifnot fail if_empty "+"if_false if_null if_true loop_abort loop_continue loop_count params "+"params_up return return_value run_children soap_definetag "+"soap_lastrequest soap_lastresponse tag_name ascending average by "+"define descending do equals frozen group handle_failure import in "+"into join let match max min on order parent protected provide public "+"require returnhome skip split_thread sum take thread to trait type "+"where with yield yieldhome"};const HTML_COMMENT=hljs.COMMENT("\x3c!--","--\x3e",{relevance:0});const LASSO_NOPROCESS={className:"meta",begin:"\\[noprocess\\]",starts:{end:"\\[/noprocess\\]",returnEnd:true,contains:[HTML_COMMENT]}};const LASSO_START={className:"meta",begin:"\\[/noprocess|"+LASSO_ANGLE_RE};const LASSO_DATAMEMBER={className:"symbol",begin:"'"+LASSO_IDENT_RE+"'"};const LASSO_CODE=[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.inherit(hljs.C_NUMBER_MODE,{begin:hljs.C_NUMBER_RE+"|(-?infinity|NaN)\\b"}),hljs.inherit(hljs.APOS_STRING_MODE,{illegal:null}),hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"`",end:"`"},{variants:[{begin:"[#$]"+LASSO_IDENT_RE},{begin:"#",end:"\\d+",illegal:"\\W"}]},{className:"type",begin:"::\\s*",end:LASSO_IDENT_RE,illegal:"\\W"},{className:"params",variants:[{begin:"-(?!infinity)"+LASSO_IDENT_RE,relevance:0},{begin:"(\\.\\.\\.)"}]},{begin:/(->|\.)\s*/,relevance:0,contains:[LASSO_DATAMEMBER]},{className:"class",beginKeywords:"define",returnEnd:true,end:"\\(|=>",contains:[hljs.inherit(hljs.TITLE_MODE,{begin:LASSO_IDENT_RE+"(=(?!>))?|[-+*/%](?!>)"})]}];return{name:"Lasso",aliases:["ls","lassoscript"],case_insensitive:true,keywords:LASSO_KEYWORDS,contains:[{className:"meta",begin:LASSO_CLOSE_RE,relevance:0,starts:{end:"\\[|"+LASSO_ANGLE_RE,returnEnd:true,relevance:0,contains:[HTML_COMMENT]}},LASSO_NOPROCESS,LASSO_START,{className:"meta",begin:"\\[no_square_brackets",starts:{end:"\\[/no_square_brackets\\]",keywords:LASSO_KEYWORDS,contains:[{className:"meta",begin:LASSO_CLOSE_RE,relevance:0,starts:{end:"\\[noprocess\\]|"+LASSO_ANGLE_RE,returnEnd:true,contains:[HTML_COMMENT]}},LASSO_NOPROCESS,LASSO_START].concat(LASSO_CODE)}},{className:"meta",begin:"\\[",relevance:0},{className:"meta",begin:"^#!",end:"lasso9$",relevance:10}].concat(LASSO_CODE)}}module.exports=lasso},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function latex(hljs){const KNOWN_CONTROL_WORDS=either(...["(?:NeedsTeXFormat|RequirePackage|GetIdInfo)","Provides(?:Expl)?(?:Package|Class|File)","(?:DeclareOption|ProcessOptions)","(?:documentclass|usepackage|input|include)","makeat(?:letter|other)","ExplSyntax(?:On|Off)","(?:new|renew|provide)?command","(?:re)newenvironment","(?:New|Renew|Provide|Declare)(?:Expandable)?DocumentCommand","(?:New|Renew|Provide|Declare)DocumentEnvironment","(?:(?:e|g|x)?def|let)","(?:begin|end)","(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph)","caption","(?:label|(?:eq|page|name)?ref|(?:paren|foot|super)?cite)","(?:alpha|beta|[Gg]amma|[Dd]elta|(?:var)?epsilon|zeta|eta|[Tt]heta|vartheta)","(?:iota|(?:var)?kappa|[Ll]ambda|mu|nu|[Xx]i|[Pp]i|varpi|(?:var)rho)","(?:[Ss]igma|varsigma|tau|[Uu]psilon|[Pp]hi|varphi|chi|[Pp]si|[Oo]mega)","(?:frac|sum|prod|lim|infty|times|sqrt|leq|geq|left|right|middle|[bB]igg?)","(?:[lr]angle|q?quad|[lcvdi]?dots|d?dot|hat|tilde|bar)"].map(word=>word+"(?![a-zA-Z@:_])"));const L3_REGEX=new RegExp(["(?:__)?[a-zA-Z]{2,}_[a-zA-Z](?:_?[a-zA-Z])+:[a-zA-Z]*","[lgc]__?[a-zA-Z](?:_?[a-zA-Z])*_[a-zA-Z]{2,}","[qs]__?[a-zA-Z](?:_?[a-zA-Z])+","use(?:_i)?:[a-zA-Z]*","(?:else|fi|or):","(?:if|cs|exp):w","(?:hbox|vbox):n","::[a-zA-Z]_unbraced","::[a-zA-Z:]"].map(pattern=>pattern+"(?![a-zA-Z:_])").join("|"));const L2_VARIANTS=[{begin:/[a-zA-Z@]+/},{begin:/[^a-zA-Z@]?/}];const DOUBLE_CARET_VARIANTS=[{begin:/\^{6}[0-9a-f]{6}/},{begin:/\^{5}[0-9a-f]{5}/},{begin:/\^{4}[0-9a-f]{4}/},{begin:/\^{3}[0-9a-f]{3}/},{begin:/\^{2}[0-9a-f]{2}/},{begin:/\^{2}[\u0000-\u007f]/}];const CONTROL_SEQUENCE={className:"keyword",begin:/\\/,relevance:0,contains:[{endsParent:true,begin:KNOWN_CONTROL_WORDS},{endsParent:true,begin:L3_REGEX},{endsParent:true,variants:DOUBLE_CARET_VARIANTS},{endsParent:true,relevance:0,variants:L2_VARIANTS}]};const MACRO_PARAM={className:"params",relevance:0,begin:/#+\d?/};const DOUBLE_CARET_CHAR={variants:DOUBLE_CARET_VARIANTS};const SPECIAL_CATCODE={className:"built_in",relevance:0,begin:/[$&^_]/};const MAGIC_COMMENT={className:"meta",begin:"% !TeX",end:"$",relevance:10};const COMMENT=hljs.COMMENT("%","$",{relevance:0});const EVERYTHING_BUT_VERBATIM=[CONTROL_SEQUENCE,MACRO_PARAM,DOUBLE_CARET_CHAR,SPECIAL_CATCODE,MAGIC_COMMENT,COMMENT];const BRACE_GROUP_NO_VERBATIM={begin:/\{/,end:/\}/,relevance:0,contains:["self",...EVERYTHING_BUT_VERBATIM]};const ARGUMENT_BRACES=hljs.inherit(BRACE_GROUP_NO_VERBATIM,{relevance:0,endsParent:true,contains:[BRACE_GROUP_NO_VERBATIM,...EVERYTHING_BUT_VERBATIM]});const ARGUMENT_BRACKETS={begin:/\[/,end:/\]/,endsParent:true,relevance:0,contains:[BRACE_GROUP_NO_VERBATIM,...EVERYTHING_BUT_VERBATIM]};const SPACE_GOBBLER={begin:/\s+/,relevance:0};const ARGUMENT_M=[ARGUMENT_BRACES];const ARGUMENT_O=[ARGUMENT_BRACKETS];const ARGUMENT_AND_THEN=function(arg,starts_mode){return{contains:[SPACE_GOBBLER],starts:{relevance:0,contains:arg,starts:starts_mode}}};const CSNAME=function(csname,starts_mode){return{begin:"\\\\"+csname+"(?![a-zA-Z@:_])",keywords:{$pattern:/\\[a-zA-Z]+/,keyword:"\\"+csname},relevance:0,contains:[SPACE_GOBBLER],starts:starts_mode}};const BEGIN_ENV=function(envname,starts_mode){return hljs.inherit({begin:"\\\\begin(?=[ \t]*(\\r?\\n[ \t]*)?\\{"+envname+"\\})",keywords:{$pattern:/\\[a-zA-Z]+/,keyword:"\\begin"},relevance:0},ARGUMENT_AND_THEN(ARGUMENT_M,starts_mode))};const VERBATIM_DELIMITED_EQUAL=(innerName="string")=>hljs.END_SAME_AS_BEGIN({className:innerName,begin:/(.|\r?\n)/,end:/(.|\r?\n)/,excludeBegin:true,excludeEnd:true,endsParent:true});const VERBATIM_DELIMITED_ENV=function(envname){return{className:"string",end:"(?=\\\\end\\{"+envname+"\\})"}};const VERBATIM_DELIMITED_BRACES=(innerName="string")=>({relevance:0,begin:/\{/,starts:{endsParent:true,contains:[{className:innerName,end:/(?=\})/,endsParent:true,contains:[{begin:/\{/,end:/\}/,relevance:0,contains:["self"]}]}]}});const VERBATIM=[...["verb","lstinline"].map(csname=>CSNAME(csname,{contains:[VERBATIM_DELIMITED_EQUAL()]})),CSNAME("mint",ARGUMENT_AND_THEN(ARGUMENT_M,{contains:[VERBATIM_DELIMITED_EQUAL()]})),CSNAME("mintinline",ARGUMENT_AND_THEN(ARGUMENT_M,{contains:[VERBATIM_DELIMITED_BRACES(),VERBATIM_DELIMITED_EQUAL()]})),CSNAME("url",{contains:[VERBATIM_DELIMITED_BRACES("link"),VERBATIM_DELIMITED_BRACES("link")]}),CSNAME("hyperref",{contains:[VERBATIM_DELIMITED_BRACES("link")]}),CSNAME("href",ARGUMENT_AND_THEN(ARGUMENT_O,{contains:[VERBATIM_DELIMITED_BRACES("link")]})),...[].concat(...["","\\*"].map(suffix=>[BEGIN_ENV("verbatim"+suffix,VERBATIM_DELIMITED_ENV("verbatim"+suffix)),BEGIN_ENV("filecontents"+suffix,ARGUMENT_AND_THEN(ARGUMENT_M,VERBATIM_DELIMITED_ENV("filecontents"+suffix))),...["","B","L"].map(prefix=>BEGIN_ENV(prefix+"Verbatim"+suffix,ARGUMENT_AND_THEN(ARGUMENT_O,VERBATIM_DELIMITED_ENV(prefix+"Verbatim"+suffix))))])),BEGIN_ENV("minted",ARGUMENT_AND_THEN(ARGUMENT_O,ARGUMENT_AND_THEN(ARGUMENT_M,VERBATIM_DELIMITED_ENV("minted"))))];return{name:"LaTeX",aliases:["tex"],contains:[...VERBATIM,...EVERYTHING_BUT_VERBATIM]}}module.exports=latex},function(module,exports){function ldif(hljs){return{name:"LDIF",contains:[{className:"attribute",begin:"^dn",end:": ",excludeEnd:true,starts:{end:"$",relevance:0},relevance:10},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:true,starts:{end:"$",relevance:0}},{className:"literal",begin:"^-",end:"$"},hljs.HASH_COMMENT_MODE]}}module.exports=ldif},function(module,exports){function leaf(hljs){return{name:"Leaf",contains:[{className:"function",begin:"#+"+"[A-Za-z_0-9]*"+"\\(",end:/ \{/,returnBegin:true,excludeEnd:true,contains:[{className:"keyword",begin:"#+"},{className:"title",begin:"[A-Za-z_][A-Za-z_0-9]*"},{className:"params",begin:"\\(",end:"\\)",endsParent:true,contains:[{className:"string",begin:'"',end:'"'},{className:"variable",begin:"[A-Za-z_][A-Za-z_0-9]*"}]}]}]}}module.exports=leaf},function(module,exports){const MODES=hljs=>({IMPORTANT:{className:"meta",begin:"!important"},HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"},ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]}});const TAGS=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"];const MEDIA_FEATURES=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"];const PSEUDO_CLASSES=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"];const PSEUDO_ELEMENTS=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"];const ATTRIBUTES=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse();const PSEUDO_SELECTORS=PSEUDO_CLASSES.concat(PSEUDO_ELEMENTS);function less(hljs){const modes=MODES(hljs);const PSEUDO_SELECTORS$1=PSEUDO_SELECTORS;const AT_MODIFIERS="and or not only";const IDENT_RE="[\\w-]+";const INTERP_IDENT_RE="("+IDENT_RE+"|@\\{"+IDENT_RE+"\\})";const RULES=[];const VALUE_MODES=[];const STRING_MODE=function(c){return{className:"string",begin:"~?"+c+".*?"+c}};const IDENT_MODE=function(name,begin,relevance){return{className:name,begin:begin,relevance:relevance}};const AT_KEYWORDS={$pattern:/[a-z-]+/,keyword:AT_MODIFIERS,attribute:MEDIA_FEATURES.join(" ")};const PARENS_MODE={begin:"\\(",end:"\\)",contains:VALUE_MODES,keywords:AT_KEYWORDS,relevance:0};VALUE_MODES.push(hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRING_MODE("'"),STRING_MODE('"'),hljs.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:true}},modes.HEXCOLOR,PARENS_MODE,IDENT_MODE("variable","@@?"+IDENT_RE,10),IDENT_MODE("variable","@\\{"+IDENT_RE+"\\}"),IDENT_MODE("built_in","~?`[^`]*?`"),{className:"attribute",begin:IDENT_RE+"\\s*:",end:":",returnBegin:true,excludeEnd:true},modes.IMPORTANT);const VALUE_WITH_RULESETS=VALUE_MODES.concat({begin:/\{/,end:/\}/,contains:RULES});const MIXIN_GUARD_MODE={beginKeywords:"when",endsWithParent:true,contains:[{beginKeywords:"and not"}].concat(VALUE_MODES)};const RULE_MODE={begin:INTERP_IDENT_RE+"\\s*:",returnBegin:true,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},{className:"attribute",begin:"\\b("+ATTRIBUTES.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:true,illegal:"[<=$]",relevance:0,contains:VALUE_MODES}}]};const AT_RULE_MODE={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:AT_KEYWORDS,returnEnd:true,contains:VALUE_MODES,relevance:0}};const VAR_RULE_MODE={className:"variable",variants:[{begin:"@"+IDENT_RE+"\\s*:",relevance:15},{begin:"@"+IDENT_RE}],starts:{end:"[;}]",returnEnd:true,contains:VALUE_WITH_RULESETS}};const SELECTOR_MODE={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:INTERP_IDENT_RE,end:/\{/}],returnBegin:true,returnEnd:true,illegal:"[<='$\"]",relevance:0,contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,MIXIN_GUARD_MODE,IDENT_MODE("keyword","all\\b"),IDENT_MODE("variable","@\\{"+IDENT_RE+"\\}"),{begin:"\\b("+TAGS.join("|")+")\\b",className:"selector-tag"},IDENT_MODE("selector-tag",INTERP_IDENT_RE+"%?",0),IDENT_MODE("selector-id","#"+INTERP_IDENT_RE),IDENT_MODE("selector-class","\\."+INTERP_IDENT_RE,0),IDENT_MODE("selector-tag","&",0),modes.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+PSEUDO_CLASSES.join("|")+")"},{className:"selector-pseudo",begin:"::("+PSEUDO_ELEMENTS.join("|")+")"},{begin:"\\(",end:"\\)",contains:VALUE_WITH_RULESETS},{begin:"!important"}]};const PSEUDO_SELECTOR_MODE={begin:IDENT_RE+":(:)?"+`(${PSEUDO_SELECTORS$1.join("|")})`,returnBegin:true,contains:[SELECTOR_MODE]};RULES.push(hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,AT_RULE_MODE,VAR_RULE_MODE,PSEUDO_SELECTOR_MODE,RULE_MODE,SELECTOR_MODE);return{name:"Less",case_insensitive:true,illegal:"[=>'/<($\"]",contains:RULES}}module.exports=less},function(module,exports){function lisp(hljs){var LISP_IDENT_RE="[a-zA-Z_\\-+\\*\\/<=>&#][a-zA-Z0-9_\\-+*\\/<=>&#!]*";var MEC_RE="\\|[^]*?\\|";var LISP_SIMPLE_NUMBER_RE="(-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|-)?\\d+)?";var LITERAL={className:"literal",begin:"\\b(t{1}|nil)\\b"};var NUMBER={className:"number",variants:[{begin:LISP_SIMPLE_NUMBER_RE,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{begin:"#(c|C)\\("+LISP_SIMPLE_NUMBER_RE+" +"+LISP_SIMPLE_NUMBER_RE,end:"\\)"}]};var STRING=hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null});var COMMENT=hljs.COMMENT(";","$",{relevance:0});var VARIABLE={begin:"\\*",end:"\\*"};var KEYWORD={className:"symbol",begin:"[:&]"+LISP_IDENT_RE};var IDENT={begin:LISP_IDENT_RE,relevance:0};var MEC={begin:MEC_RE};var QUOTED_LIST={begin:"\\(",end:"\\)",contains:["self",LITERAL,STRING,NUMBER,IDENT]};var QUOTED={contains:[NUMBER,STRING,VARIABLE,KEYWORD,QUOTED_LIST,IDENT],variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:{name:"quote"}},{begin:"'"+MEC_RE}]};var QUOTED_ATOM={variants:[{begin:"'"+LISP_IDENT_RE},{begin:"#'"+LISP_IDENT_RE+"(::"+LISP_IDENT_RE+")*"}]};var LIST={begin:"\\(\\s*",end:"\\)"};var BODY={endsWithParent:true,relevance:0};LIST.contains=[{className:"name",variants:[{begin:LISP_IDENT_RE,relevance:0},{begin:MEC_RE}]},BODY];BODY.contains=[QUOTED,QUOTED_ATOM,LIST,LITERAL,NUMBER,STRING,COMMENT,VARIABLE,KEYWORD,MEC,IDENT];return{name:"Lisp",illegal:/\S/,contains:[NUMBER,hljs.SHEBANG(),LITERAL,STRING,COMMENT,QUOTED,QUOTED_ATOM,LIST,IDENT]}}module.exports=lisp},function(module,exports){function livecodeserver(hljs){const VARIABLE={className:"variable",variants:[{begin:"\\b([gtps][A-Z]{1}[a-zA-Z0-9]*)(\\[.+\\])?(?:\\s*?)"},{begin:"\\$_[A-Z]+"}],relevance:0};const COMMENT_MODES=[hljs.C_BLOCK_COMMENT_MODE,hljs.HASH_COMMENT_MODE,hljs.COMMENT("--","$"),hljs.COMMENT("[^:]//","$")];const TITLE1=hljs.inherit(hljs.TITLE_MODE,{variants:[{begin:"\\b_*rig[A-Z][A-Za-z0-9_\\-]*"},{begin:"\\b_[a-z0-9\\-]+"}]});const TITLE2=hljs.inherit(hljs.TITLE_MODE,{begin:"\\b([A-Za-z0-9_\\-]+)\\b"});return{name:"LiveCode",case_insensitive:false,keywords:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER "+"codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph "+"after byte bytes english the until http forever descending using line real8 with seventh "+"for stdout finally element word words fourth before black ninth sixth characters chars stderr "+"uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid "+"at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 "+"int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat "+"end repeat URL in try into switch to words https token binfile each tenth as ticks tick "+"system real4 by dateItems without char character ascending eighth whole dateTime numeric short "+"first ftp integer abbreviated abbr abbrev private case while if "+"div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within "+"contains ends with begins the keys of keys",literal:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE "+"QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO "+"six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five "+"quote empty one true return cr linefeed right backslash null seven tab three two "+"RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK "+"FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode "+"base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum "+"cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress "+"constantNames cos date dateFormat decompress difference directories "+"diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global "+"globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset "+"keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders "+"libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 "+"longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge messageAuthenticationCode messageDigest millisec "+"millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar "+"numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets "+"paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation "+"populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile "+"revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull "+"revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered "+"revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames "+"revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull "+"revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections "+"revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype "+"revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext "+"revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames "+"revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase "+"revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute "+"revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces "+"revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode "+"revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling "+"revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error "+"revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute "+"revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort "+"revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree "+"revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance "+"sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound "+"stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper "+"transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames "+"variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet "+"xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process "+"combine constant convert create new alias folder directory decrypt delete variable word line folder "+"directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile "+"libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetDriver "+"libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime "+"libURLSetStatusCallback load extension loadedExtensions multiply socket prepare process post seek rel relative read from process rename "+"replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase "+"revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees "+"revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord "+"revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase "+"revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD "+"revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost "+"revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData "+"revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel "+"revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback "+"revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop "+"subtract symmetric union unload vectorDotProduct wait write"},contains:[VARIABLE,{className:"keyword",begin:"\\bend\\sif\\b"},{className:"function",beginKeywords:"function",end:"$",contains:[VARIABLE,TITLE2,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.BINARY_NUMBER_MODE,hljs.C_NUMBER_MODE,TITLE1]},{className:"function",begin:"\\bend\\s+",end:"$",keywords:"end",contains:[TITLE2,TITLE1],relevance:0},{beginKeywords:"command on",end:"$",contains:[VARIABLE,TITLE2,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.BINARY_NUMBER_MODE,hljs.C_NUMBER_MODE,TITLE1]},{className:"meta",variants:[{begin:"<\\?(rev|lc|livecode)",relevance:10},{begin:"<\\?"},{begin:"\\?>"}]},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.BINARY_NUMBER_MODE,hljs.C_NUMBER_MODE,TITLE1].concat(COMMENT_MODES),illegal:";$|^\\[|^=|&|\\{"}}module.exports=livecodeserver},function(module,exports){const KEYWORDS=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"];const LITERALS=["true","false","null","undefined","NaN","Infinity"];const TYPES=["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"];const ERROR_TYPES=["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"];const BUILT_IN_GLOBALS=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"];const BUILT_IN_VARIABLES=["arguments","this","super","console","window","document","localStorage","module","global"];const BUILT_INS=[].concat(BUILT_IN_GLOBALS,BUILT_IN_VARIABLES,TYPES,ERROR_TYPES);function livescript(hljs){const LIVESCRIPT_BUILT_INS=["npm","print"];const LIVESCRIPT_LITERALS=["yes","no","on","off","it","that","void"];const LIVESCRIPT_KEYWORDS=["then","unless","until","loop","of","by","when","and","or","is","isnt","not","it","that","otherwise","from","to","til","fallthrough","case","enum","native","list","map","__hasProp","__extends","__slice","__bind","__indexOf"];const KEYWORDS$1={keyword:KEYWORDS.concat(LIVESCRIPT_KEYWORDS),literal:LITERALS.concat(LIVESCRIPT_LITERALS),built_in:BUILT_INS.concat(LIVESCRIPT_BUILT_INS)};const JS_IDENT_RE="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*";const TITLE=hljs.inherit(hljs.TITLE_MODE,{begin:JS_IDENT_RE});const SUBST={className:"subst",begin:/#\{/,end:/\}/,keywords:KEYWORDS$1};const SUBST_SIMPLE={className:"subst",begin:/#[A-Za-z$_]/,end:/(?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,keywords:KEYWORDS$1};const EXPRESSIONS=[hljs.BINARY_NUMBER_MODE,{className:"number",begin:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",relevance:0,starts:{end:"(\\s*/)?",relevance:0}},{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[hljs.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[hljs.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[hljs.BACKSLASH_ESCAPE,SUBST,SUBST_SIMPLE]},{begin:/"/,end:/"/,contains:[hljs.BACKSLASH_ESCAPE,SUBST,SUBST_SIMPLE]},{begin:/\\/,end:/(\s|$)/,excludeEnd:true}]},{className:"regexp",variants:[{begin:"//",end:"//[gim]*",contains:[SUBST,hljs.HASH_COMMENT_MODE]},{begin:/\/(?![ *])(\\.|[^\\\n])*?\/[gim]*(?=\W)/}]},{begin:"@"+JS_IDENT_RE},{begin:"``",end:"``",excludeBegin:true,excludeEnd:true,subLanguage:"javascript"}];SUBST.contains=EXPRESSIONS;const PARAMS={className:"params",begin:"\\(",returnBegin:true,contains:[{begin:/\(/,end:/\)/,keywords:KEYWORDS$1,contains:["self"].concat(EXPRESSIONS)}]};const SYMBOLS={begin:"(#=>|=>|\\|>>|-?->|!->)"};return{name:"LiveScript",aliases:["ls"],keywords:KEYWORDS$1,illegal:/\/\*/,contains:EXPRESSIONS.concat([hljs.COMMENT("\\/\\*","\\*\\/"),hljs.HASH_COMMENT_MODE,SYMBOLS,{className:"function",contains:[TITLE,PARAMS],returnBegin:true,variants:[{begin:"("+JS_IDENT_RE+"\\s*(?:=|:=)\\s*)?(\\(.*\\)\\s*)?\\B->\\*?",end:"->\\*?"},{begin:"("+JS_IDENT_RE+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\)\\s*)?\\B[-~]{1,2}>\\*?",end:"[-~]{1,2}>\\*?"},{begin:"("+JS_IDENT_RE+"\\s*(?:=|:=)\\s*)?(\\(.*\\)\\s*)?\\B!?[-~]{1,2}>\\*?",end:"!?[-~]{1,2}>\\*?"}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:true,illegal:/[:="\[\]]/,contains:[TITLE]},TITLE]},{begin:JS_IDENT_RE+":",end:":",returnBegin:true,returnEnd:true,relevance:0}])}}module.exports=livescript},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function llvm(hljs){const IDENT_RE=/([-a-zA-Z$._][\w$.-]*)/;const TYPE={className:"type",begin:/\bi\d+(?=\s|\b)/};const OPERATOR={className:"operator",relevance:0,begin:/=/};const PUNCTUATION={className:"punctuation",relevance:0,begin:/,/};const NUMBER={className:"number",variants:[{begin:/0[xX][a-fA-F0-9]+/},{begin:/-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?/}],relevance:0};const LABEL={className:"symbol",variants:[{begin:/^\s*[a-z]+:/}],relevance:0};const VARIABLE={className:"variable",variants:[{begin:concat(/%/,IDENT_RE)},{begin:/%\d+/},{begin:/#\d+/}]};const FUNCTION={className:"title",variants:[{begin:concat(/@/,IDENT_RE)},{begin:/@\d+/},{begin:concat(/!/,IDENT_RE)},{begin:concat(/!\d+/,IDENT_RE)},{begin:/!\d+/}]};return{name:"LLVM IR",keywords:"begin end true false declare define global "+"constant private linker_private internal "+"available_externally linkonce linkonce_odr weak "+"weak_odr appending dllimport dllexport common "+"default hidden protected extern_weak external "+"thread_local zeroinitializer undef null to tail "+"target triple datalayout volatile nuw nsw nnan "+"ninf nsz arcp fast exact inbounds align "+"addrspace section alias module asm sideeffect "+"gc dbg linker_private_weak attributes blockaddress "+"initialexec localdynamic localexec prefix unnamed_addr "+"ccc fastcc coldcc x86_stdcallcc x86_fastcallcc "+"arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device "+"ptx_kernel intel_ocl_bicc msp430_intrcc spir_func "+"spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc "+"cc c signext zeroext inreg sret nounwind "+"noreturn noalias nocapture byval nest readnone "+"readonly inlinehint noinline alwaysinline optsize ssp "+"sspreq noredzone noimplicitfloat naked builtin cold "+"nobuiltin noduplicate nonlazybind optnone returns_twice "+"sanitize_address sanitize_memory sanitize_thread sspstrong "+"uwtable returned type opaque eq ne slt sgt "+"sle sge ult ugt ule uge oeq one olt ogt "+"ole oge ord uno ueq une x acq_rel acquire "+"alignstack atomic catch cleanup filter inteldialect "+"max min monotonic nand personality release seq_cst "+"singlethread umax umin unordered xchg add fadd "+"sub fsub mul fmul udiv sdiv fdiv urem srem "+"frem shl lshr ashr and or xor icmp fcmp "+"phi call trunc zext sext fptrunc fpext uitofp "+"sitofp fptoui fptosi inttoptr ptrtoint bitcast "+"addrspacecast select va_arg ret br switch invoke "+"unwind unreachable indirectbr landingpad resume "+"malloc alloca free load store getelementptr "+"extractelement insertelement shufflevector getresult "+"extractvalue insertvalue atomicrmw cmpxchg fence "+"argmemonly double",contains:[TYPE,hljs.COMMENT(/;\s*$/,null,{relevance:0}),hljs.COMMENT(/;/,/$/),hljs.QUOTE_STRING_MODE,{className:"string",variants:[{begin:/"/,end:/[^\\]"/}]},FUNCTION,PUNCTUATION,OPERATOR,VARIABLE,LABEL,NUMBER]}}module.exports=llvm},function(module,exports){function lsl(hljs){var LSL_STRING_ESCAPE_CHARS={className:"subst",begin:/\\[tn"\\]/};var LSL_STRINGS={className:"string",begin:'"',end:'"',contains:[LSL_STRING_ESCAPE_CHARS]};var LSL_NUMBERS={className:"number",relevance:0,begin:hljs.C_NUMBER_RE};var LSL_CONSTANTS={className:"literal",variants:[{begin:"\\b(PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\b"},{begin:"\\b(XP_ERROR_(EXPERIENCES_DISABLED|EXPERIENCE_(DISABLED|SUSPENDED)|INVALID_(EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(FOUND|PERMITTED(_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(_OBJECT)?|(DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(_(BY_(LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(PARCEL(_OWNER)?|REGION)))?|CAMERA_(PITCH|DISTANCE|BEHINDNESS_(ANGLE|LAG)|(FOCUS|POSITION)(_(THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(ROOT|SET|ALL_(OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(IVE|_(ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(FWD|BACK|(ROT_)?(LEFT|RIGHT)|UP|DOWN|(ML_)?LBUTTON)|PERMISSION_(RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(_START)?|TELEPORT|MEDIA)|OBJECT_(CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_(ATTACHED|ON_REZ)|NAME|DESC|POS|PRIM_(COUNT|EQUIVALENCE)|RETURN_(PARCEL(_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP(_TAG)?|CREATOR|ATTACHED_(POINT|SLOTS_AVAILABLE)|RENDER_WEIGHT|(BODY_SHAPE|PATHFINDING)_TYPE|(RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(MEMORY|TIME))|TYPE_(INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(DEBUG|PUBLIC)_CHANNEL|ATTACH_(AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](SHOULDER|HAND|FOOT|EAR|EYE|[UL](ARM|LEG)|HIP)|(LEFT|RIGHT)_PEC|HUD_(CENTER_[12]|TOP_(RIGHT|CENTER|LEFT)|BOTTOM(_(RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(BASE|TIP)|[LR]WING|FACE_(JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(ONLINE|NAME|BORN|SIM_(POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(ON_FILE|USED)|REMOTE_DATA_(CHANNEL|REQUEST|REPLY)|PSYS_(PART_(BF_(ZERO|ONE(_MINUS_(DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(START|END)_(COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(RIBBON|WIND|INTERP_(COLOR|SCALE)|BOUNCE|FOLLOW_(SRC|VELOCITY)|TARGET_(POS|LINEAR)|EMISSIVE)_MASK)|SRC_(MAX_AGE|PATTERN|ANGLE_(BEGIN|END)|BURST_(RATE|PART_COUNT|RADIUS|SPEED_(MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(DROP|EXPLODE|ANGLE(_CONE(_EMPTY)?)?)))|VEHICLE_(REFERENCE_FRAME|TYPE_(NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(LINEAR|ANGULAR)_(FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(LINEAR|ANGULAR)_(DEFLECTION_(EFFICIENCY|TIMESCALE)|MOTOR_(DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(EFFICIENCY|TIMESCALE)|BANKING_(EFFICIENCY|MIX|TIMESCALE)|FLAG_(NO_DEFLECTION_UP|LIMIT_(ROLL_ONLY|MOTOR_UP)|HOVER_((WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(ALLOW_UNSIT|ALPHA_MODE(_(BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(_(BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(_(STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(NONE|LOW|MEDIUM|HIGH)|BUMP_(NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(DEFAULT|PLANAR)|SCRIPTED_SIT_ONLY|SCULPT_(TYPE_(SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(MIRROR|INVERT))|PHYSICS(_(SHAPE_(CONVEX|NONE|PRIM|TYPE)))?|(POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIT_TARGET|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(ALT_IMAGE_ENABLE|CONTROLS|(CURRENT|HOME)_URL|AUTO_(LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(WIDTH|HEIGHT)_PIXELS|WHITELIST(_ENABLE)?|PERMS_(INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(STANDARD|MINI)|PERM_(NONE|OWNER|GROUP|ANYONE)|MAX_(URL_LENGTH|WHITELIST_(SIZE|COUNT)|(WIDTH|HEIGHT)_PIXELS)))|MASK_(BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(MEDIA_COMMAND_(STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(ALLOW_(FLY|(GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(GROUP_)?OBJECTS)|USE_(ACCESS_(GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(GROUP|ALL)_OBJECT_ENTRY)|COUNT_(TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(HIDE|DEFAULT)|REGION_FLAG_(ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(METHOD|MIMETYPE|BODY_(MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|SIT_(INVALID_(AGENT|LINK_OBJECT)|NO(T_EXPERIENCE|_(ACCESS|EXPERIENCE_PERMISSION|SIT_TARGET)))|STRING_(TRIM(_(HEAD|TAIL))?)|CLICK_ACTION_(NONE|TOUCH|SIT|BUY|PAY|OPEN(_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(NONE|SCRIPT_MEMORY)|RC_(DATA_FLAGS|DETECT_PHANTOM|GET_(LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(TYPES|AGENTS|(NON)?PHYSICAL|LAND))|RCERR_(CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(ALLOWED_(AGENT|GROUP)_(ADD|REMOVE)|BANNED_AGENT_(ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(COMMAND|CMD_(PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(CMD_((SMOOTH_)?STOP|JUMP)|DESIRED_(TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(_([ABCD]|NONE))?|MAX_(DECEL|TURN_RADIUS|(ACCEL|SPEED)))|PURSUIT_(OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(EVADE_(HIDDEN|SPOTTED)|FAILURE_(DYNAMIC_PATHFINDING_DISABLED|INVALID_(GOAL|START)|NO_(NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(PARCEL_)?UNREACHABLE)|(GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(_(FAST|NONE|SLOW))?|CONTENT_TYPE_(ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(RADIUS|STATIC)|(PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\b"},{begin:"\\b(FALSE|TRUE)\\b"},{begin:"\\b(ZERO_ROTATION)\\b"},{begin:"\\b(EOF|JSON_(ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(GRANTED|DENIED))\\b"},{begin:"\\b(ZERO_VECTOR|TOUCH_INVALID_(TEXCOORD|VECTOR))\\b"}]};var LSL_FUNCTIONS={className:"built_in",begin:"\\b(ll(AgentInExperience|(Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(Details|ErrorMessage)|ReturnObjectsBy(ID|Owner)|Json(2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(Mag|Norm|Dist)|Rot(Between|2(Euler|Fwd|Left|Up))|(Euler|Axes)2Rot|Whisper|(Region|Owner)?Say|Shout|Listen(Control|Remove)?|Sensor(Repeat|Remove)?|Detected(Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|([GS]et)(AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(Scale|Offset|Rotate)Texture|(Rot)?Target(Remove)?|(Stop)?MoveToTarget|Apply(Rotational)?Impulse|Set(KeyframedMotion|ContentType|RegionPos|(Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(Queueing|Radius)|Vehicle(Type|(Float|Vector|Rotation)Param)|(Touch|Sit)?Text|Camera(Eye|At)Offset|PrimitiveParams|ClickAction|Link(Alpha|Color|PrimitiveParams(Fast)?|Texture(Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get((Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(PrimitiveParams|Number(OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(Details|PermMask|PrimCount)|Parcel(MaxPrims|Details|Prim(Count|Owners))|Attached(List)?|(SPMax|Free|Used)Memory|Region(Name|TimeDilation|FPS|Corner|AgentCount)|Root(Position|Rotation)|UnixTime|(Parcel|Region)Flags|(Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(Prims|NotecardLines|Sides)|Animation(List)?|(Camera|Local)(Pos|Rot)|Vel|Accel|Omega|Time(stamp|OfDay)|(Object|CenterOf)?Mass|MassMKS|Energy|Owner|(Owner)?Key|SunDirection|Texture(Offset|Scale|Rot)|Inventory(Number|Name|Key|Type|Creator|PermMask)|Permissions(Key)?|StartParameter|List(Length|EntryType)|Date|Agent(Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(Name|State))|(Get|Reset|GetAndReset)Time|PlaySound(Slave)?|LoopSound(Master|Slave)?|(Trigger|Stop|Preload)Sound|((Get|Delete)Sub|Insert)String|To(Upper|Lower)|Give(InventoryList|Money)|RezObject|(Stop)?LookAt|Sleep|CollisionFilter|(Take|Release)Controls|DetachFromAvatar|AttachToAvatar(Temp)?|InstantMessage|(GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(Length|Trim)|(Start|Stop)Animation|TargetOmega|Request(Experience)?Permissions|(Create|Break)Link|BreakAllLinks|(Give|Remove)Inventory|Water|PassTouches|Request(Agent|Inventory)Data|TeleportAgent(Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(Axis|Angle)|A(cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(CSV|Integer|Json|Float|String|Key|Vector|Rot|List(Strided)?)|DeleteSubList|List(Statistics|Sort|Randomize|(Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(Slope|Normal|Contour)|GroundRepel|(Set|Remove)VehicleFlags|SitOnLink|(AvatarOn)?(Link)?SitTarget|Script(Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(Integer|String)ToBase64|XorBase64|Log(10)?|Base64To(String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(Load|Release|(E|Une)scape)URL|ParcelMedia(CommandList|Query)|ModPow|MapDestination|(RemoveFrom|AddTo|Reset)Land(Pass|Ban)List|(Set|Clear)CameraParams|HTTP(Request|Response)|TextBox|DetectedTouch(UV|Face|Pos|(N|Bin)ormal|ST)|(MD5|SHA1|DumpList2)String|Request(Secure)?URL|Clear(Prim|Link)Media|(Link)?ParticleSystem|(Get|Request)(Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\b"};return{name:"LSL (Linden Scripting Language)",illegal:":",contains:[LSL_STRINGS,{className:"comment",variants:[hljs.COMMENT("//","$"),hljs.COMMENT("/\\*","\\*/")],relevance:0},LSL_NUMBERS,{className:"section",variants:[{begin:"\\b(state|default)\\b"},{begin:"\\b(state_(entry|exit)|touch(_(start|end))?|(land_)?collision(_(start|end))?|timer|listen|(no_)?sensor|control|(not_)?at_(rot_)?target|money|email|experience_permissions(_denied)?|run_time_permissions|changed|attach|dataserver|moving_(start|end)|link_message|(on|object)_rez|remote_data|http_re(sponse|quest)|path_update|transaction_result)\\b"}]},LSL_FUNCTIONS,LSL_CONSTANTS,{className:"type",begin:"\\b(integer|float|string|key|vector|quaternion|rotation|list)\\b"}]}}module.exports=lsl},function(module,exports){function lua(hljs){const OPENING_LONG_BRACKET="\\[=*\\[";const CLOSING_LONG_BRACKET="\\]=*\\]";const LONG_BRACKETS={begin:OPENING_LONG_BRACKET,end:CLOSING_LONG_BRACKET,contains:["self"]};const COMMENTS=[hljs.COMMENT("--(?!"+OPENING_LONG_BRACKET+")","$"),hljs.COMMENT("--"+OPENING_LONG_BRACKET,CLOSING_LONG_BRACKET,{contains:[LONG_BRACKETS],relevance:10})];return{name:"Lua",keywords:{$pattern:hljs.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len "+"__gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert "+"collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring "+"module next pairs pcall print rawequal rawget rawset require select setfenv "+"setmetatable tonumber tostring type unpack xpcall arg self "+"coroutine resume yield status wrap create running debug getupvalue "+"debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv "+"io lines write close flush open output type read stderr stdin input stdout popen tmpfile "+"math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan "+"os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall "+"string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower "+"table setn insert getn foreachi maxn foreach concat sort remove"},contains:COMMENTS.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[hljs.inherit(hljs.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:true,contains:COMMENTS}].concat(COMMENTS)},hljs.C_NUMBER_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{className:"string",begin:OPENING_LONG_BRACKET,end:CLOSING_LONG_BRACKET,contains:[LONG_BRACKETS],relevance:5}])}}module.exports=lua},function(module,exports){function makefile(hljs){const VARIABLE={className:"variable",variants:[{begin:"\\$\\("+hljs.UNDERSCORE_IDENT_RE+"\\)",contains:[hljs.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]};const QUOTE_STRING={className:"string",begin:/"/,end:/"/,contains:[hljs.BACKSLASH_ESCAPE,VARIABLE]};const FUNC={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort "+"word wordlist firstword lastword dir notdir suffix basename "+"addsuffix addprefix join wildcard realpath abspath error warning "+"shell origin flavor foreach if or and call eval file value"},contains:[VARIABLE]};const ASSIGNMENT={begin:"^"+hljs.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"};const META={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,"meta-keyword":".PHONY"}};const TARGET={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[VARIABLE]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif "+"include -include sinclude override export unexport private vpath"},contains:[hljs.HASH_COMMENT_MODE,VARIABLE,QUOTE_STRING,FUNC,ASSIGNMENT,META,TARGET]}}module.exports=makefile},function(module,exports){const SYSTEM_SYMBOLS=["AASTriangle","AbelianGroup","Abort","AbortKernels","AbortProtect","AbortScheduledTask","Above","Abs","AbsArg","AbsArgPlot","Absolute","AbsoluteCorrelation","AbsoluteCorrelationFunction","AbsoluteCurrentValue","AbsoluteDashing","AbsoluteFileName","AbsoluteOptions","AbsolutePointSize","AbsoluteThickness","AbsoluteTime","AbsoluteTiming","AcceptanceThreshold","AccountingForm","Accumulate","Accuracy","AccuracyGoal","ActionDelay","ActionMenu","ActionMenuBox","ActionMenuBoxOptions","Activate","Active","ActiveClassification","ActiveClassificationObject","ActiveItem","ActivePrediction","ActivePredictionObject","ActiveStyle","AcyclicGraphQ","AddOnHelpPath","AddSides","AddTo","AddToSearchIndex","AddUsers","AdjacencyGraph","AdjacencyList","AdjacencyMatrix","AdjacentMeshCells","AdjustmentBox","AdjustmentBoxOptions","AdjustTimeSeriesForecast","AdministrativeDivisionData","AffineHalfSpace","AffineSpace","AffineStateSpaceModel","AffineTransform","After","AggregatedEntityClass","AggregationLayer","AircraftData","AirportData","AirPressureData","AirTemperatureData","AiryAi","AiryAiPrime","AiryAiZero","AiryBi","AiryBiPrime","AiryBiZero","AlgebraicIntegerQ","AlgebraicNumber","AlgebraicNumberDenominator","AlgebraicNumberNorm","AlgebraicNumberPolynomial","AlgebraicNumberTrace","AlgebraicRules","AlgebraicRulesData","Algebraics","AlgebraicUnitQ","Alignment","AlignmentMarker","AlignmentPoint","All","AllowAdultContent","AllowedCloudExtraParameters","AllowedCloudParameterExtensions","AllowedDimensions","AllowedFrequencyRange","AllowedHeads","AllowGroupClose","AllowIncomplete","AllowInlineCells","AllowKernelInitialization","AllowLooseGrammar","AllowReverseGroupClose","AllowScriptLevelChange","AllowVersionUpdate","AllTrue","Alphabet","AlphabeticOrder","AlphabeticSort","AlphaChannel","AlternateImage","AlternatingFactorial","AlternatingGroup","AlternativeHypothesis","Alternatives","AltitudeMethod","AmbientLight","AmbiguityFunction","AmbiguityList","Analytic","AnatomyData","AnatomyForm","AnatomyPlot3D","AnatomySkinStyle","AnatomyStyling","AnchoredSearch","And","AndersonDarlingTest","AngerJ","AngleBisector","AngleBracket","AnglePath","AnglePath3D","AngleVector","AngularGauge","Animate","AnimationCycleOffset","AnimationCycleRepetitions","AnimationDirection","AnimationDisplayTime","AnimationRate","AnimationRepetitions","AnimationRunning","AnimationRunTime","AnimationTimeIndex","Animator","AnimatorBox","AnimatorBoxOptions","AnimatorElements","Annotate","Annotation","AnnotationDelete","AnnotationKeys","AnnotationRules","AnnotationValue","Annuity","AnnuityDue","Annulus","AnomalyDetection","AnomalyDetector","AnomalyDetectorFunction","Anonymous","Antialiasing","AntihermitianMatrixQ","Antisymmetric","AntisymmetricMatrixQ","Antonyms","AnyOrder","AnySubset","AnyTrue","Apart","ApartSquareFree","APIFunction","Appearance","AppearanceElements","AppearanceRules","AppellF1","Append","AppendCheck","AppendLayer","AppendTo","Apply","ApplySides","ArcCos","ArcCosh","ArcCot","ArcCoth","ArcCsc","ArcCsch","ArcCurvature","ARCHProcess","ArcLength","ArcSec","ArcSech","ArcSin","ArcSinDistribution","ArcSinh","ArcTan","ArcTanh","Area","Arg","ArgMax","ArgMin","ArgumentCountQ","ARIMAProcess","ArithmeticGeometricMean","ARMAProcess","Around","AroundReplace","ARProcess","Array","ArrayComponents","ArrayDepth","ArrayFilter","ArrayFlatten","ArrayMesh","ArrayPad","ArrayPlot","ArrayQ","ArrayResample","ArrayReshape","ArrayRules","Arrays","Arrow","Arrow3DBox","ArrowBox","Arrowheads","ASATriangle","Ask","AskAppend","AskConfirm","AskDisplay","AskedQ","AskedValue","AskFunction","AskState","AskTemplateDisplay","AspectRatio","AspectRatioFixed","Assert","AssociateTo","Association","AssociationFormat","AssociationMap","AssociationQ","AssociationThread","AssumeDeterministic","Assuming","Assumptions","AstronomicalData","Asymptotic","AsymptoticDSolveValue","AsymptoticEqual","AsymptoticEquivalent","AsymptoticGreater","AsymptoticGreaterEqual","AsymptoticIntegrate","AsymptoticLess","AsymptoticLessEqual","AsymptoticOutputTracker","AsymptoticProduct","AsymptoticRSolveValue","AsymptoticSolve","AsymptoticSum","Asynchronous","AsynchronousTaskObject","AsynchronousTasks","Atom","AtomCoordinates","AtomCount","AtomDiagramCoordinates","AtomList","AtomQ","AttentionLayer","Attributes","Audio","AudioAmplify","AudioAnnotate","AudioAnnotationLookup","AudioBlockMap","AudioCapture","AudioChannelAssignment","AudioChannelCombine","AudioChannelMix","AudioChannels","AudioChannelSeparate","AudioData","AudioDelay","AudioDelete","AudioDevice","AudioDistance","AudioEncoding","AudioFade","AudioFrequencyShift","AudioGenerator","AudioIdentify","AudioInputDevice","AudioInsert","AudioInstanceQ","AudioIntervals","AudioJoin","AudioLabel","AudioLength","AudioLocalMeasurements","AudioLooping","AudioLoudness","AudioMeasurements","AudioNormalize","AudioOutputDevice","AudioOverlay","AudioPad","AudioPan","AudioPartition","AudioPause","AudioPitchShift","AudioPlay","AudioPlot","AudioQ","AudioRecord","AudioReplace","AudioResample","AudioReverb","AudioReverse","AudioSampleRate","AudioSpectralMap","AudioSpectralTransformation","AudioSplit","AudioStop","AudioStream","AudioStreams","AudioTimeStretch","AudioTracks","AudioTrim","AudioType","AugmentedPolyhedron","AugmentedSymmetricPolynomial","Authenticate","Authentication","AuthenticationDialog","AutoAction","Autocomplete","AutocompletionFunction","AutoCopy","AutocorrelationTest","AutoDelete","AutoEvaluateEvents","AutoGeneratedPackage","AutoIndent","AutoIndentSpacings","AutoItalicWords","AutoloadPath","AutoMatch","Automatic","AutomaticImageSize","AutoMultiplicationSymbol","AutoNumberFormatting","AutoOpenNotebooks","AutoOpenPalettes","AutoQuoteCharacters","AutoRefreshed","AutoRemove","AutorunSequencing","AutoScaling","AutoScroll","AutoSpacing","AutoStyleOptions","AutoStyleWords","AutoSubmitting","Axes","AxesEdge","AxesLabel","AxesOrigin","AxesStyle","AxiomaticTheory","Axis","BabyMonsterGroupB","Back","Background","BackgroundAppearance","BackgroundTasksSettings","Backslash","Backsubstitution","Backward","Ball","Band","BandpassFilter","BandstopFilter","BarabasiAlbertGraphDistribution","BarChart","BarChart3D","BarcodeImage","BarcodeRecognize","BaringhausHenzeTest","BarLegend","BarlowProschanImportance","BarnesG","BarOrigin","BarSpacing","BartlettHannWindow","BartlettWindow","BaseDecode","BaseEncode","BaseForm","Baseline","BaselinePosition","BaseStyle","BasicRecurrentLayer","BatchNormalizationLayer","BatchSize","BatesDistribution","BattleLemarieWavelet","BayesianMaximization","BayesianMaximizationObject","BayesianMinimization","BayesianMinimizationObject","Because","BeckmannDistribution","Beep","Before","Begin","BeginDialogPacket","BeginFrontEndInteractionPacket","BeginPackage","BellB","BellY","Below","BenfordDistribution","BeniniDistribution","BenktanderGibratDistribution","BenktanderWeibullDistribution","BernoulliB","BernoulliDistribution","BernoulliGraphDistribution","BernoulliProcess","BernsteinBasis","BesselFilterModel","BesselI","BesselJ","BesselJZero","BesselK","BesselY","BesselYZero","Beta","BetaBinomialDistribution","BetaDistribution","BetaNegativeBinomialDistribution","BetaPrimeDistribution","BetaRegularized","Between","BetweennessCentrality","BeveledPolyhedron","BezierCurve","BezierCurve3DBox","BezierCurve3DBoxOptions","BezierCurveBox","BezierCurveBoxOptions","BezierFunction","BilateralFilter","Binarize","BinaryDeserialize","BinaryDistance","BinaryFormat","BinaryImageQ","BinaryRead","BinaryReadList","BinarySerialize","BinaryWrite","BinCounts","BinLists","Binomial","BinomialDistribution","BinomialProcess","BinormalDistribution","BiorthogonalSplineWavelet","BipartiteGraphQ","BiquadraticFilterModel","BirnbaumImportance","BirnbaumSaundersDistribution","BitAnd","BitClear","BitGet","BitLength","BitNot","BitOr","BitSet","BitShiftLeft","BitShiftRight","BitXor","BiweightLocation","BiweightMidvariance","Black","BlackmanHarrisWindow","BlackmanNuttallWindow","BlackmanWindow","Blank","BlankForm","BlankNullSequence","BlankSequence","Blend","Block","BlockchainAddressData","BlockchainBase","BlockchainBlockData","BlockchainContractValue","BlockchainData","BlockchainGet","BlockchainKeyEncode","BlockchainPut","BlockchainTokenData","BlockchainTransaction","BlockchainTransactionData","BlockchainTransactionSign","BlockchainTransactionSubmit","BlockMap","BlockRandom","BlomqvistBeta","BlomqvistBetaTest","Blue","Blur","BodePlot","BohmanWindow","Bold","Bond","BondCount","BondList","BondQ","Bookmarks","Boole","BooleanConsecutiveFunction","BooleanConvert","BooleanCountingFunction","BooleanFunction","BooleanGraph","BooleanMaxterms","BooleanMinimize","BooleanMinterms","BooleanQ","BooleanRegion","Booleans","BooleanStrings","BooleanTable","BooleanVariables","BorderDimensions","BorelTannerDistribution","Bottom","BottomHatTransform","BoundaryDiscretizeGraphics","BoundaryDiscretizeRegion","BoundaryMesh","BoundaryMeshRegion","BoundaryMeshRegionQ","BoundaryStyle","BoundedRegionQ","BoundingRegion","Bounds","Box","BoxBaselineShift","BoxData","BoxDimensions","Boxed","Boxes","BoxForm","BoxFormFormatTypes","BoxFrame","BoxID","BoxMargins","BoxMatrix","BoxObject","BoxRatios","BoxRotation","BoxRotationPoint","BoxStyle","BoxWhiskerChart","Bra","BracketingBar","BraKet","BrayCurtisDistance","BreadthFirstScan","Break","BridgeData","BrightnessEqualize","BroadcastStationData","Brown","BrownForsytheTest","BrownianBridgeProcess","BrowserCategory","BSplineBasis","BSplineCurve","BSplineCurve3DBox","BSplineCurve3DBoxOptions","BSplineCurveBox","BSplineCurveBoxOptions","BSplineFunction","BSplineSurface","BSplineSurface3DBox","BSplineSurface3DBoxOptions","BubbleChart","BubbleChart3D","BubbleScale","BubbleSizes","BuildingData","BulletGauge","BusinessDayQ","ButterflyGraph","ButterworthFilterModel","Button","ButtonBar","ButtonBox","ButtonBoxOptions","ButtonCell","ButtonContents","ButtonData","ButtonEvaluator","ButtonExpandable","ButtonFrame","ButtonFunction","ButtonMargins","ButtonMinHeight","ButtonNote","ButtonNotebook","ButtonSource","ButtonStyle","ButtonStyleMenuListing","Byte","ByteArray","ByteArrayFormat","ByteArrayQ","ByteArrayToString","ByteCount","ByteOrdering","C","CachedValue","CacheGraphics","CachePersistence","CalendarConvert","CalendarData","CalendarType","Callout","CalloutMarker","CalloutStyle","CallPacket","CanberraDistance","Cancel","CancelButton","CandlestickChart","CanonicalGraph","CanonicalizePolygon","CanonicalizePolyhedron","CanonicalName","CanonicalWarpingCorrespondence","CanonicalWarpingDistance","CantorMesh","CantorStaircase","Cap","CapForm","CapitalDifferentialD","Capitalize","CapsuleShape","CaptureRunning","CardinalBSplineBasis","CarlemanLinearize","CarmichaelLambda","CaseOrdering","Cases","CaseSensitive","Cashflow","Casoratian","Catalan","CatalanNumber","Catch","CategoricalDistribution","Catenate","CatenateLayer","CauchyDistribution","CauchyWindow","CayleyGraph","CDF","CDFDeploy","CDFInformation","CDFWavelet","Ceiling","CelestialSystem","Cell","CellAutoOverwrite","CellBaseline","CellBoundingBox","CellBracketOptions","CellChangeTimes","CellContents","CellContext","CellDingbat","CellDynamicExpression","CellEditDuplicate","CellElementsBoundingBox","CellElementSpacings","CellEpilog","CellEvaluationDuplicate","CellEvaluationFunction","CellEvaluationLanguage","CellEventActions","CellFrame","CellFrameColor","CellFrameLabelMargins","CellFrameLabels","CellFrameMargins","CellGroup","CellGroupData","CellGrouping","CellGroupingRules","CellHorizontalScrolling","CellID","CellLabel","CellLabelAutoDelete","CellLabelMargins","CellLabelPositioning","CellLabelStyle","CellLabelTemplate","CellMargins","CellObject","CellOpen","CellPrint","CellProlog","Cells","CellSize","CellStyle","CellTags","CellularAutomaton","CensoredDistribution","Censoring","Center","CenterArray","CenterDot","CentralFeature","CentralMoment","CentralMomentGeneratingFunction","Cepstrogram","CepstrogramArray","CepstrumArray","CForm","ChampernowneNumber","ChangeOptions","ChannelBase","ChannelBrokerAction","ChannelDatabin","ChannelHistoryLength","ChannelListen","ChannelListener","ChannelListeners","ChannelListenerWait","ChannelObject","ChannelPreSendFunction","ChannelReceiverFunction","ChannelSend","ChannelSubscribers","ChanVeseBinarize","Character","CharacterCounts","CharacterEncoding","CharacterEncodingsPath","CharacteristicFunction","CharacteristicPolynomial","CharacterName","CharacterNormalize","CharacterRange","Characters","ChartBaseStyle","ChartElementData","ChartElementDataFunction","ChartElementFunction","ChartElements","ChartLabels","ChartLayout","ChartLegends","ChartStyle","Chebyshev1FilterModel","Chebyshev2FilterModel","ChebyshevDistance","ChebyshevT","ChebyshevU","Check","CheckAbort","CheckAll","Checkbox","CheckboxBar","CheckboxBox","CheckboxBoxOptions","ChemicalData","ChessboardDistance","ChiDistribution","ChineseRemainder","ChiSquareDistribution","ChoiceButtons","ChoiceDialog","CholeskyDecomposition","Chop","ChromaticityPlot","ChromaticityPlot3D","ChromaticPolynomial","Circle","CircleBox","CircleDot","CircleMinus","CirclePlus","CirclePoints","CircleThrough","CircleTimes","CirculantGraph","CircularOrthogonalMatrixDistribution","CircularQuaternionMatrixDistribution","CircularRealMatrixDistribution","CircularSymplecticMatrixDistribution","CircularUnitaryMatrixDistribution","Circumsphere","CityData","ClassifierFunction","ClassifierInformation","ClassifierMeasurements","ClassifierMeasurementsObject","Classify","ClassPriors","Clear","ClearAll","ClearAttributes","ClearCookies","ClearPermissions","ClearSystemCache","ClebschGordan","ClickPane","Clip","ClipboardNotebook","ClipFill","ClippingStyle","ClipPlanes","ClipPlanesStyle","ClipRange","Clock","ClockGauge","ClockwiseContourIntegral","Close","Closed","CloseKernels","ClosenessCentrality","Closing","ClosingAutoSave","ClosingEvent","ClosingSaveDialog","CloudAccountData","CloudBase","CloudConnect","CloudConnections","CloudDeploy","CloudDirectory","CloudDisconnect","CloudEvaluate","CloudExport","CloudExpression","CloudExpressions","CloudFunction","CloudGet","CloudImport","CloudLoggingData","CloudObject","CloudObjectInformation","CloudObjectInformationData","CloudObjectNameFormat","CloudObjects","CloudObjectURLType","CloudPublish","CloudPut","CloudRenderingMethod","CloudSave","CloudShare","CloudSubmit","CloudSymbol","CloudUnshare","CloudUserID","ClusterClassify","ClusterDissimilarityFunction","ClusteringComponents","ClusteringTree","CMYKColor","Coarse","CodeAssistOptions","Coefficient","CoefficientArrays","CoefficientDomain","CoefficientList","CoefficientRules","CoifletWavelet","Collect","Colon","ColonForm","ColorBalance","ColorCombine","ColorConvert","ColorCoverage","ColorData","ColorDataFunction","ColorDetect","ColorDistance","ColorFunction","ColorFunctionScaling","Colorize","ColorNegate","ColorOutput","ColorProfileData","ColorQ","ColorQuantize","ColorReplace","ColorRules","ColorSelectorSettings","ColorSeparate","ColorSetter","ColorSetterBox","ColorSetterBoxOptions","ColorSlider","ColorsNear","ColorSpace","ColorToneMapping","Column","ColumnAlignments","ColumnBackgrounds","ColumnForm","ColumnLines","ColumnsEqual","ColumnSpacings","ColumnWidths","CombinedEntityClass","CombinerFunction","CometData","CommonDefaultFormatTypes","Commonest","CommonestFilter","CommonName","CommonUnits","CommunityBoundaryStyle","CommunityGraphPlot","CommunityLabels","CommunityRegionStyle","CompanyData","CompatibleUnitQ","CompilationOptions","CompilationTarget","Compile","Compiled","CompiledCodeFunction","CompiledFunction","CompilerOptions","Complement","ComplementedEntityClass","CompleteGraph","CompleteGraphQ","CompleteKaryTree","CompletionsListPacket","Complex","ComplexContourPlot","Complexes","ComplexExpand","ComplexInfinity","ComplexityFunction","ComplexListPlot","ComplexPlot","ComplexPlot3D","ComplexRegionPlot","ComplexStreamPlot","ComplexVectorPlot","ComponentMeasurements","ComponentwiseContextMenu","Compose","ComposeList","ComposeSeries","CompositeQ","Composition","CompoundElement","CompoundExpression","CompoundPoissonDistribution","CompoundPoissonProcess","CompoundRenewalProcess","Compress","CompressedData","CompressionLevel","ComputeUncertainty","Condition","ConditionalExpression","Conditioned","Cone","ConeBox","ConfidenceLevel","ConfidenceRange","ConfidenceTransform","ConfigurationPath","ConformAudio","ConformImages","Congruent","ConicHullRegion","ConicHullRegion3DBox","ConicHullRegionBox","ConicOptimization","Conjugate","ConjugateTranspose","Conjunction","Connect","ConnectedComponents","ConnectedGraphComponents","ConnectedGraphQ","ConnectedMeshComponents","ConnectedMoleculeComponents","ConnectedMoleculeQ","ConnectionSettings","ConnectLibraryCallbackFunction","ConnectSystemModelComponents","ConnesWindow","ConoverTest","ConsoleMessage","ConsoleMessagePacket","Constant","ConstantArray","ConstantArrayLayer","ConstantImage","ConstantPlusLayer","ConstantRegionQ","Constants","ConstantTimesLayer","ConstellationData","ConstrainedMax","ConstrainedMin","Construct","Containing","ContainsAll","ContainsAny","ContainsExactly","ContainsNone","ContainsOnly","ContentFieldOptions","ContentLocationFunction","ContentObject","ContentPadding","ContentsBoundingBox","ContentSelectable","ContentSize","Context","ContextMenu","Contexts","ContextToFileName","Continuation","Continue","ContinuedFraction","ContinuedFractionK","ContinuousAction","ContinuousMarkovProcess","ContinuousTask","ContinuousTimeModelQ","ContinuousWaveletData","ContinuousWaveletTransform","ContourDetect","ContourGraphics","ContourIntegral","ContourLabels","ContourLines","ContourPlot","ContourPlot3D","Contours","ContourShading","ContourSmoothing","ContourStyle","ContraharmonicMean","ContrastiveLossLayer","Control","ControlActive","ControlAlignment","ControlGroupContentsBox","ControllabilityGramian","ControllabilityMatrix","ControllableDecomposition","ControllableModelQ","ControllerDuration","ControllerInformation","ControllerInformationData","ControllerLinking","ControllerManipulate","ControllerMethod","ControllerPath","ControllerState","ControlPlacement","ControlsRendering","ControlType","Convergents","ConversionOptions","ConversionRules","ConvertToBitmapPacket","ConvertToPostScript","ConvertToPostScriptPacket","ConvexHullMesh","ConvexPolygonQ","ConvexPolyhedronQ","ConvolutionLayer","Convolve","ConwayGroupCo1","ConwayGroupCo2","ConwayGroupCo3","CookieFunction","Cookies","CoordinateBoundingBox","CoordinateBoundingBoxArray","CoordinateBounds","CoordinateBoundsArray","CoordinateChartData","CoordinatesToolOptions","CoordinateTransform","CoordinateTransformData","CoprimeQ","Coproduct","CopulaDistribution","Copyable","CopyDatabin","CopyDirectory","CopyFile","CopyTag","CopyToClipboard","CornerFilter","CornerNeighbors","Correlation","CorrelationDistance","CorrelationFunction","CorrelationTest","Cos","Cosh","CoshIntegral","CosineDistance","CosineWindow","CosIntegral","Cot","Coth","Count","CountDistinct","CountDistinctBy","CounterAssignments","CounterBox","CounterBoxOptions","CounterClockwiseContourIntegral","CounterEvaluator","CounterFunction","CounterIncrements","CounterStyle","CounterStyleMenuListing","CountRoots","CountryData","Counts","CountsBy","Covariance","CovarianceEstimatorFunction","CovarianceFunction","CoxianDistribution","CoxIngersollRossProcess","CoxModel","CoxModelFit","CramerVonMisesTest","CreateArchive","CreateCellID","CreateChannel","CreateCloudExpression","CreateDatabin","CreateDataStructure","CreateDataSystemModel","CreateDialog","CreateDirectory","CreateDocument","CreateFile","CreateIntermediateDirectories","CreateManagedLibraryExpression","CreateNotebook","CreatePacletArchive","CreatePalette","CreatePalettePacket","CreatePermissionsGroup","CreateScheduledTask","CreateSearchIndex","CreateSystemModel","CreateTemporary","CreateUUID","CreateWindow","CriterionFunction","CriticalityFailureImportance","CriticalitySuccessImportance","CriticalSection","Cross","CrossEntropyLossLayer","CrossingCount","CrossingDetect","CrossingPolygon","CrossMatrix","Csc","Csch","CTCLossLayer","Cube","CubeRoot","Cubics","Cuboid","CuboidBox","Cumulant","CumulantGeneratingFunction","Cup","CupCap","Curl","CurlyDoubleQuote","CurlyQuote","CurrencyConvert","CurrentDate","CurrentImage","CurrentlySpeakingPacket","CurrentNotebookImage","CurrentScreenImage","CurrentValue","Curry","CurryApplied","CurvatureFlowFilter","CurveClosed","Cyan","CycleGraph","CycleIndexPolynomial","Cycles","CyclicGroup","Cyclotomic","Cylinder","CylinderBox","CylindricalDecomposition","D","DagumDistribution","DamData","DamerauLevenshteinDistance","DampingFactor","Darker","Dashed","Dashing","DatabaseConnect","DatabaseDisconnect","DatabaseReference","Databin","DatabinAdd","DatabinRemove","Databins","DatabinUpload","DataCompression","DataDistribution","DataRange","DataReversed","Dataset","DatasetDisplayPanel","DataStructure","DataStructureQ","Date","DateBounds","Dated","DateDelimiters","DateDifference","DatedUnit","DateFormat","DateFunction","DateHistogram","DateInterval","DateList","DateListLogPlot","DateListPlot","DateListStepPlot","DateObject","DateObjectQ","DateOverlapsQ","DatePattern","DatePlus","DateRange","DateReduction","DateString","DateTicksFormat","DateValue","DateWithinQ","DaubechiesWavelet","DavisDistribution","DawsonF","DayCount","DayCountConvention","DayHemisphere","DaylightQ","DayMatchQ","DayName","DayNightTerminator","DayPlus","DayRange","DayRound","DeBruijnGraph","DeBruijnSequence","Debug","DebugTag","Decapitalize","Decimal","DecimalForm","DeclareKnownSymbols","DeclarePackage","Decompose","DeconvolutionLayer","Decrement","Decrypt","DecryptFile","DedekindEta","DeepSpaceProbeData","Default","DefaultAxesStyle","DefaultBaseStyle","DefaultBoxStyle","DefaultButton","DefaultColor","DefaultControlPlacement","DefaultDuplicateCellStyle","DefaultDuration","DefaultElement","DefaultFaceGridsStyle","DefaultFieldHintStyle","DefaultFont","DefaultFontProperties","DefaultFormatType","DefaultFormatTypeForStyle","DefaultFrameStyle","DefaultFrameTicksStyle","DefaultGridLinesStyle","DefaultInlineFormatType","DefaultInputFormatType","DefaultLabelStyle","DefaultMenuStyle","DefaultNaturalLanguage","DefaultNewCellStyle","DefaultNewInlineCellStyle","DefaultNotebook","DefaultOptions","DefaultOutputFormatType","DefaultPrintPrecision","DefaultStyle","DefaultStyleDefinitions","DefaultTextFormatType","DefaultTextInlineFormatType","DefaultTicksStyle","DefaultTooltipStyle","DefaultValue","DefaultValues","Defer","DefineExternal","DefineInputStreamMethod","DefineOutputStreamMethod","DefineResourceFunction","Definition","Degree","DegreeCentrality","DegreeGraphDistribution","DegreeLexicographic","DegreeReverseLexicographic","DEigensystem","DEigenvalues","Deinitialization","Del","DelaunayMesh","Delayed","Deletable","Delete","DeleteAnomalies","DeleteBorderComponents","DeleteCases","DeleteChannel","DeleteCloudExpression","DeleteContents","DeleteDirectory","DeleteDuplicates","DeleteDuplicatesBy","DeleteFile","DeleteMissing","DeleteObject","DeletePermissionsKey","DeleteSearchIndex","DeleteSmallComponents","DeleteStopwords","DeleteWithContents","DeletionWarning","DelimitedArray","DelimitedSequence","Delimiter","DelimiterFlashTime","DelimiterMatching","Delimiters","DeliveryFunction","Dendrogram","Denominator","DensityGraphics","DensityHistogram","DensityPlot","DensityPlot3D","DependentVariables","Deploy","Deployed","Depth","DepthFirstScan","Derivative","DerivativeFilter","DerivedKey","DescriptorStateSpace","DesignMatrix","DestroyAfterEvaluation","Det","DeviceClose","DeviceConfigure","DeviceExecute","DeviceExecuteAsynchronous","DeviceObject","DeviceOpen","DeviceOpenQ","DeviceRead","DeviceReadBuffer","DeviceReadLatest","DeviceReadList","DeviceReadTimeSeries","Devices","DeviceStreams","DeviceWrite","DeviceWriteBuffer","DGaussianWavelet","DiacriticalPositioning","Diagonal","DiagonalizableMatrixQ","DiagonalMatrix","DiagonalMatrixQ","Dialog","DialogIndent","DialogInput","DialogLevel","DialogNotebook","DialogProlog","DialogReturn","DialogSymbols","Diamond","DiamondMatrix","DiceDissimilarity","DictionaryLookup","DictionaryWordQ","DifferenceDelta","DifferenceOrder","DifferenceQuotient","DifferenceRoot","DifferenceRootReduce","Differences","DifferentialD","DifferentialRoot","DifferentialRootReduce","DifferentiatorFilter","DigitalSignature","DigitBlock","DigitBlockMinimum","DigitCharacter","DigitCount","DigitQ","DihedralAngle","DihedralGroup","Dilation","DimensionalCombinations","DimensionalMeshComponents","DimensionReduce","DimensionReducerFunction","DimensionReduction","Dimensions","DiracComb","DiracDelta","DirectedEdge","DirectedEdges","DirectedGraph","DirectedGraphQ","DirectedInfinity","Direction","Directive","Directory","DirectoryName","DirectoryQ","DirectoryStack","DirichletBeta","DirichletCharacter","DirichletCondition","DirichletConvolve","DirichletDistribution","DirichletEta","DirichletL","DirichletLambda","DirichletTransform","DirichletWindow","DisableConsolePrintPacket","DisableFormatting","DiscreteAsymptotic","DiscreteChirpZTransform","DiscreteConvolve","DiscreteDelta","DiscreteHadamardTransform","DiscreteIndicator","DiscreteLimit","DiscreteLQEstimatorGains","DiscreteLQRegulatorGains","DiscreteLyapunovSolve","DiscreteMarkovProcess","DiscreteMaxLimit","DiscreteMinLimit","DiscretePlot","DiscretePlot3D","DiscreteRatio","DiscreteRiccatiSolve","DiscreteShift","DiscreteTimeModelQ","DiscreteUniformDistribution","DiscreteVariables","DiscreteWaveletData","DiscreteWaveletPacketTransform","DiscreteWaveletTransform","DiscretizeGraphics","DiscretizeRegion","Discriminant","DisjointQ","Disjunction","Disk","DiskBox","DiskMatrix","DiskSegment","Dispatch","DispatchQ","DispersionEstimatorFunction","Display","DisplayAllSteps","DisplayEndPacket","DisplayFlushImagePacket","DisplayForm","DisplayFunction","DisplayPacket","DisplayRules","DisplaySetSizePacket","DisplayString","DisplayTemporary","DisplayWith","DisplayWithRef","DisplayWithVariable","DistanceFunction","DistanceMatrix","DistanceTransform","Distribute","Distributed","DistributedContexts","DistributeDefinitions","DistributionChart","DistributionDomain","DistributionFitTest","DistributionParameterAssumptions","DistributionParameterQ","Dithering","Div","Divergence","Divide","DivideBy","Dividers","DivideSides","Divisible","Divisors","DivisorSigma","DivisorSum","DMSList","DMSString","Do","DockedCells","DocumentGenerator","DocumentGeneratorInformation","DocumentGeneratorInformationData","DocumentGenerators","DocumentNotebook","DocumentWeightingRules","Dodecahedron","DomainRegistrationInformation","DominantColors","DOSTextFormat","Dot","DotDashed","DotEqual","DotLayer","DotPlusLayer","Dotted","DoubleBracketingBar","DoubleContourIntegral","DoubleDownArrow","DoubleLeftArrow","DoubleLeftRightArrow","DoubleLeftTee","DoubleLongLeftArrow","DoubleLongLeftRightArrow","DoubleLongRightArrow","DoubleRightArrow","DoubleRightTee","DoubleUpArrow","DoubleUpDownArrow","DoubleVerticalBar","DoublyInfinite","Down","DownArrow","DownArrowBar","DownArrowUpArrow","DownLeftRightVector","DownLeftTeeVector","DownLeftVector","DownLeftVectorBar","DownRightTeeVector","DownRightVector","DownRightVectorBar","Downsample","DownTee","DownTeeArrow","DownValues","DragAndDrop","DrawEdges","DrawFrontFaces","DrawHighlighted","Drop","DropoutLayer","DSolve","DSolveValue","Dt","DualLinearProgramming","DualPolyhedron","DualSystemsModel","DumpGet","DumpSave","DuplicateFreeQ","Duration","Dynamic","DynamicBox","DynamicBoxOptions","DynamicEvaluationTimeout","DynamicGeoGraphics","DynamicImage","DynamicLocation","DynamicModule","DynamicModuleBox","DynamicModuleBoxOptions","DynamicModuleParent","DynamicModuleValues","DynamicName","DynamicNamespace","DynamicReference","DynamicSetting","DynamicUpdating","DynamicWrapper","DynamicWrapperBox","DynamicWrapperBoxOptions","E","EarthImpactData","EarthquakeData","EccentricityCentrality","Echo","EchoFunction","EclipseType","EdgeAdd","EdgeBetweennessCentrality","EdgeCapacity","EdgeCapForm","EdgeColor","EdgeConnectivity","EdgeContract","EdgeCost","EdgeCount","EdgeCoverQ","EdgeCycleMatrix","EdgeDashing","EdgeDelete","EdgeDetect","EdgeForm","EdgeIndex","EdgeJoinForm","EdgeLabeling","EdgeLabels","EdgeLabelStyle","EdgeList","EdgeOpacity","EdgeQ","EdgeRenderingFunction","EdgeRules","EdgeShapeFunction","EdgeStyle","EdgeTaggedGraph","EdgeTaggedGraphQ","EdgeTags","EdgeThickness","EdgeWeight","EdgeWeightedGraphQ","Editable","EditButtonSettings","EditCellTagsSettings","EditDistance","EffectiveInterest","Eigensystem","Eigenvalues","EigenvectorCentrality","Eigenvectors","Element","ElementData","ElementwiseLayer","ElidedForms","Eliminate","EliminationOrder","Ellipsoid","EllipticE","EllipticExp","EllipticExpPrime","EllipticF","EllipticFilterModel","EllipticK","EllipticLog","EllipticNomeQ","EllipticPi","EllipticReducedHalfPeriods","EllipticTheta","EllipticThetaPrime","EmbedCode","EmbeddedHTML","EmbeddedService","EmbeddingLayer","EmbeddingObject","EmitSound","EmphasizeSyntaxErrors","EmpiricalDistribution","Empty","EmptyGraphQ","EmptyRegion","EnableConsolePrintPacket","Enabled","Encode","Encrypt","EncryptedObject","EncryptFile","End","EndAdd","EndDialogPacket","EndFrontEndInteractionPacket","EndOfBuffer","EndOfFile","EndOfLine","EndOfString","EndPackage","EngineEnvironment","EngineeringForm","Enter","EnterExpressionPacket","EnterTextPacket","Entity","EntityClass","EntityClassList","EntityCopies","EntityFunction","EntityGroup","EntityInstance","EntityList","EntityPrefetch","EntityProperties","EntityProperty","EntityPropertyClass","EntityRegister","EntityStore","EntityStores","EntityTypeName","EntityUnregister","EntityValue","Entropy","EntropyFilter","Environment","Epilog","EpilogFunction","Equal","EqualColumns","EqualRows","EqualTilde","EqualTo","EquatedTo","Equilibrium","EquirippleFilterKernel","Equivalent","Erf","Erfc","Erfi","ErlangB","ErlangC","ErlangDistribution","Erosion","ErrorBox","ErrorBoxOptions","ErrorNorm","ErrorPacket","ErrorsDialogSettings","EscapeRadius","EstimatedBackground","EstimatedDistribution","EstimatedProcess","EstimatorGains","EstimatorRegulator","EuclideanDistance","EulerAngles","EulerCharacteristic","EulerE","EulerGamma","EulerianGraphQ","EulerMatrix","EulerPhi","Evaluatable","Evaluate","Evaluated","EvaluatePacket","EvaluateScheduledTask","EvaluationBox","EvaluationCell","EvaluationCompletionAction","EvaluationData","EvaluationElements","EvaluationEnvironment","EvaluationMode","EvaluationMonitor","EvaluationNotebook","EvaluationObject","EvaluationOrder","Evaluator","EvaluatorNames","EvenQ","EventData","EventEvaluator","EventHandler","EventHandlerTag","EventLabels","EventSeries","ExactBlackmanWindow","ExactNumberQ","ExactRootIsolation","ExampleData","Except","ExcludedForms","ExcludedLines","ExcludedPhysicalQuantities","ExcludePods","Exclusions","ExclusionsStyle","Exists","Exit","ExitDialog","ExoplanetData","Exp","Expand","ExpandAll","ExpandDenominator","ExpandFileName","ExpandNumerator","Expectation","ExpectationE","ExpectedValue","ExpGammaDistribution","ExpIntegralE","ExpIntegralEi","ExpirationDate","Exponent","ExponentFunction","ExponentialDistribution","ExponentialFamily","ExponentialGeneratingFunction","ExponentialMovingAverage","ExponentialPowerDistribution","ExponentPosition","ExponentStep","Export","ExportAutoReplacements","ExportByteArray","ExportForm","ExportPacket","ExportString","Expression","ExpressionCell","ExpressionGraph","ExpressionPacket","ExpressionUUID","ExpToTrig","ExtendedEntityClass","ExtendedGCD","Extension","ExtentElementFunction","ExtentMarkers","ExtentSize","ExternalBundle","ExternalCall","ExternalDataCharacterEncoding","ExternalEvaluate","ExternalFunction","ExternalFunctionName","ExternalIdentifier","ExternalObject","ExternalOptions","ExternalSessionObject","ExternalSessions","ExternalStorageBase","ExternalStorageDownload","ExternalStorageGet","ExternalStorageObject","ExternalStoragePut","ExternalStorageUpload","ExternalTypeSignature","ExternalValue","Extract","ExtractArchive","ExtractLayer","ExtractPacletArchive","ExtremeValueDistribution","FaceAlign","FaceForm","FaceGrids","FaceGridsStyle","FacialFeatures","Factor","FactorComplete","Factorial","Factorial2","FactorialMoment","FactorialMomentGeneratingFunction","FactorialPower","FactorInteger","FactorList","FactorSquareFree","FactorSquareFreeList","FactorTerms","FactorTermsList","Fail","Failure","FailureAction","FailureDistribution","FailureQ","False","FareySequence","FARIMAProcess","FeatureDistance","FeatureExtract","FeatureExtraction","FeatureExtractor","FeatureExtractorFunction","FeatureNames","FeatureNearest","FeatureSpacePlot","FeatureSpacePlot3D","FeatureTypes","FEDisableConsolePrintPacket","FeedbackLinearize","FeedbackSector","FeedbackSectorStyle","FeedbackType","FEEnableConsolePrintPacket","FetalGrowthData","Fibonacci","Fibonorial","FieldCompletionFunction","FieldHint","FieldHintStyle","FieldMasked","FieldSize","File","FileBaseName","FileByteCount","FileConvert","FileDate","FileExistsQ","FileExtension","FileFormat","FileHandler","FileHash","FileInformation","FileName","FileNameDepth","FileNameDialogSettings","FileNameDrop","FileNameForms","FileNameJoin","FileNames","FileNameSetter","FileNameSplit","FileNameTake","FilePrint","FileSize","FileSystemMap","FileSystemScan","FileTemplate","FileTemplateApply","FileType","FilledCurve","FilledCurveBox","FilledCurveBoxOptions","Filling","FillingStyle","FillingTransform","FilteredEntityClass","FilterRules","FinancialBond","FinancialData","FinancialDerivative","FinancialIndicator","Find","FindAnomalies","FindArgMax","FindArgMin","FindChannels","FindClique","FindClusters","FindCookies","FindCurvePath","FindCycle","FindDevices","FindDistribution","FindDistributionParameters","FindDivisions","FindEdgeCover","FindEdgeCut","FindEdgeIndependentPaths","FindEquationalProof","FindEulerianCycle","FindExternalEvaluators","FindFaces","FindFile","FindFit","FindFormula","FindFundamentalCycles","FindGeneratingFunction","FindGeoLocation","FindGeometricConjectures","FindGeometricTransform","FindGraphCommunities","FindGraphIsomorphism","FindGraphPartition","FindHamiltonianCycle","FindHamiltonianPath","FindHiddenMarkovStates","FindImageText","FindIndependentEdgeSet","FindIndependentVertexSet","FindInstance","FindIntegerNullVector","FindKClan","FindKClique","FindKClub","FindKPlex","FindLibrary","FindLinearRecurrence","FindList","FindMatchingColor","FindMaximum","FindMaximumCut","FindMaximumFlow","FindMaxValue","FindMeshDefects","FindMinimum","FindMinimumCostFlow","FindMinimumCut","FindMinValue","FindMoleculeSubstructure","FindPath","FindPeaks","FindPermutation","FindPostmanTour","FindProcessParameters","FindRepeat","FindRoot","FindSequenceFunction","FindSettings","FindShortestPath","FindShortestTour","FindSpanningTree","FindSystemModelEquilibrium","FindTextualAnswer","FindThreshold","FindTransientRepeat","FindVertexCover","FindVertexCut","FindVertexIndependentPaths","Fine","FinishDynamic","FiniteAbelianGroupCount","FiniteGroupCount","FiniteGroupData","First","FirstCase","FirstPassageTimeDistribution","FirstPosition","FischerGroupFi22","FischerGroupFi23","FischerGroupFi24Prime","FisherHypergeometricDistribution","FisherRatioTest","FisherZDistribution","Fit","FitAll","FitRegularization","FittedModel","FixedOrder","FixedPoint","FixedPointList","FlashSelection","Flat","Flatten","FlattenAt","FlattenLayer","FlatTopWindow","FlipView","Floor","FlowPolynomial","FlushPrintOutputPacket","Fold","FoldList","FoldPair","FoldPairList","FollowRedirects","Font","FontColor","FontFamily","FontForm","FontName","FontOpacity","FontPostScriptName","FontProperties","FontReencoding","FontSize","FontSlant","FontSubstitutions","FontTracking","FontVariations","FontWeight","For","ForAll","ForceVersionInstall","Format","FormatRules","FormatType","FormatTypeAutoConvert","FormatValues","FormBox","FormBoxOptions","FormControl","FormFunction","FormLayoutFunction","FormObject","FormPage","FormTheme","FormulaData","FormulaLookup","FortranForm","Forward","ForwardBackward","Fourier","FourierCoefficient","FourierCosCoefficient","FourierCosSeries","FourierCosTransform","FourierDCT","FourierDCTFilter","FourierDCTMatrix","FourierDST","FourierDSTMatrix","FourierMatrix","FourierParameters","FourierSequenceTransform","FourierSeries","FourierSinCoefficient","FourierSinSeries","FourierSinTransform","FourierTransform","FourierTrigSeries","FractionalBrownianMotionProcess","FractionalGaussianNoiseProcess","FractionalPart","FractionBox","FractionBoxOptions","FractionLine","Frame","FrameBox","FrameBoxOptions","Framed","FrameInset","FrameLabel","Frameless","FrameMargins","FrameRate","FrameStyle","FrameTicks","FrameTicksStyle","FRatioDistribution","FrechetDistribution","FreeQ","FrenetSerretSystem","FrequencySamplingFilterKernel","FresnelC","FresnelF","FresnelG","FresnelS","Friday","FrobeniusNumber","FrobeniusSolve","FromAbsoluteTime","FromCharacterCode","FromCoefficientRules","FromContinuedFraction","FromDate","FromDigits","FromDMS","FromEntity","FromJulianDate","FromLetterNumber","FromPolarCoordinates","FromRomanNumeral","FromSphericalCoordinates","FromUnixTime","Front","FrontEndDynamicExpression","FrontEndEventActions","FrontEndExecute","FrontEndObject","FrontEndResource","FrontEndResourceString","FrontEndStackSize","FrontEndToken","FrontEndTokenExecute","FrontEndValueCache","FrontEndVersion","FrontFaceColor","FrontFaceOpacity","Full","FullAxes","FullDefinition","FullForm","FullGraphics","FullInformationOutputRegulator","FullOptions","FullRegion","FullSimplify","Function","FunctionCompile","FunctionCompileExport","FunctionCompileExportByteArray","FunctionCompileExportLibrary","FunctionCompileExportString","FunctionDomain","FunctionExpand","FunctionInterpolation","FunctionPeriod","FunctionRange","FunctionSpace","FussellVeselyImportance","GaborFilter","GaborMatrix","GaborWavelet","GainMargins","GainPhaseMargins","GalaxyData","GalleryView","Gamma","GammaDistribution","GammaRegularized","GapPenalty","GARCHProcess","GatedRecurrentLayer","Gather","GatherBy","GaugeFaceElementFunction","GaugeFaceStyle","GaugeFrameElementFunction","GaugeFrameSize","GaugeFrameStyle","GaugeLabels","GaugeMarkers","GaugeStyle","GaussianFilter","GaussianIntegers","GaussianMatrix","GaussianOrthogonalMatrixDistribution","GaussianSymplecticMatrixDistribution","GaussianUnitaryMatrixDistribution","GaussianWindow","GCD","GegenbauerC","General","GeneralizedLinearModelFit","GenerateAsymmetricKeyPair","GenerateConditions","GeneratedCell","GeneratedDocumentBinding","GenerateDerivedKey","GenerateDigitalSignature","GenerateDocument","GeneratedParameters","GeneratedQuantityMagnitudes","GenerateFileSignature","GenerateHTTPResponse","GenerateSecuredAuthenticationKey","GenerateSymmetricKey","GeneratingFunction","GeneratorDescription","GeneratorHistoryLength","GeneratorOutputType","Generic","GenericCylindricalDecomposition","GenomeData","GenomeLookup","GeoAntipode","GeoArea","GeoArraySize","GeoBackground","GeoBoundingBox","GeoBounds","GeoBoundsRegion","GeoBubbleChart","GeoCenter","GeoCircle","GeoContourPlot","GeoDensityPlot","GeodesicClosing","GeodesicDilation","GeodesicErosion","GeodesicOpening","GeoDestination","GeodesyData","GeoDirection","GeoDisk","GeoDisplacement","GeoDistance","GeoDistanceList","GeoElevationData","GeoEntities","GeoGraphics","GeogravityModelData","GeoGridDirectionDifference","GeoGridLines","GeoGridLinesStyle","GeoGridPosition","GeoGridRange","GeoGridRangePadding","GeoGridUnitArea","GeoGridUnitDistance","GeoGridVector","GeoGroup","GeoHemisphere","GeoHemisphereBoundary","GeoHistogram","GeoIdentify","GeoImage","GeoLabels","GeoLength","GeoListPlot","GeoLocation","GeologicalPeriodData","GeomagneticModelData","GeoMarker","GeometricAssertion","GeometricBrownianMotionProcess","GeometricDistribution","GeometricMean","GeometricMeanFilter","GeometricOptimization","GeometricScene","GeometricTransformation","GeometricTransformation3DBox","GeometricTransformation3DBoxOptions","GeometricTransformationBox","GeometricTransformationBoxOptions","GeoModel","GeoNearest","GeoPath","GeoPosition","GeoPositionENU","GeoPositionXYZ","GeoProjection","GeoProjectionData","GeoRange","GeoRangePadding","GeoRegionValuePlot","GeoResolution","GeoScaleBar","GeoServer","GeoSmoothHistogram","GeoStreamPlot","GeoStyling","GeoStylingImageFunction","GeoVariant","GeoVector","GeoVectorENU","GeoVectorPlot","GeoVectorXYZ","GeoVisibleRegion","GeoVisibleRegionBoundary","GeoWithinQ","GeoZoomLevel","GestureHandler","GestureHandlerTag","Get","GetBoundingBoxSizePacket","GetContext","GetEnvironment","GetFileName","GetFrontEndOptionsDataPacket","GetLinebreakInformationPacket","GetMenusPacket","GetPageBreakInformationPacket","Glaisher","GlobalClusteringCoefficient","GlobalPreferences","GlobalSession","Glow","GoldenAngle","GoldenRatio","GompertzMakehamDistribution","GoochShading","GoodmanKruskalGamma","GoodmanKruskalGammaTest","Goto","Grad","Gradient","GradientFilter","GradientOrientationFilter","GrammarApply","GrammarRules","GrammarToken","Graph","Graph3D","GraphAssortativity","GraphAutomorphismGroup","GraphCenter","GraphComplement","GraphData","GraphDensity","GraphDiameter","GraphDifference","GraphDisjointUnion","GraphDistance","GraphDistanceMatrix","GraphElementData","GraphEmbedding","GraphHighlight","GraphHighlightStyle","GraphHub","Graphics","Graphics3D","Graphics3DBox","Graphics3DBoxOptions","GraphicsArray","GraphicsBaseline","GraphicsBox","GraphicsBoxOptions","GraphicsColor","GraphicsColumn","GraphicsComplex","GraphicsComplex3DBox","GraphicsComplex3DBoxOptions","GraphicsComplexBox","GraphicsComplexBoxOptions","GraphicsContents","GraphicsData","GraphicsGrid","GraphicsGridBox","GraphicsGroup","GraphicsGroup3DBox","GraphicsGroup3DBoxOptions","GraphicsGroupBox","GraphicsGroupBoxOptions","GraphicsGrouping","GraphicsHighlightColor","GraphicsRow","GraphicsSpacing","GraphicsStyle","GraphIntersection","GraphLayout","GraphLinkEfficiency","GraphPeriphery","GraphPlot","GraphPlot3D","GraphPower","GraphPropertyDistribution","GraphQ","GraphRadius","GraphReciprocity","GraphRoot","GraphStyle","GraphUnion","Gray","GrayLevel","Greater","GreaterEqual","GreaterEqualLess","GreaterEqualThan","GreaterFullEqual","GreaterGreater","GreaterLess","GreaterSlantEqual","GreaterThan","GreaterTilde","Green","GreenFunction","Grid","GridBaseline","GridBox","GridBoxAlignment","GridBoxBackground","GridBoxDividers","GridBoxFrame","GridBoxItemSize","GridBoxItemStyle","GridBoxOptions","GridBoxSpacings","GridCreationSettings","GridDefaultElement","GridElementStyleOptions","GridFrame","GridFrameMargins","GridGraph","GridLines","GridLinesStyle","GroebnerBasis","GroupActionBase","GroupBy","GroupCentralizer","GroupElementFromWord","GroupElementPosition","GroupElementQ","GroupElements","GroupElementToWord","GroupGenerators","Groupings","GroupMultiplicationTable","GroupOrbits","GroupOrder","GroupPageBreakWithin","GroupSetwiseStabilizer","GroupStabilizer","GroupStabilizerChain","GroupTogetherGrouping","GroupTogetherNestedGrouping","GrowCutComponents","Gudermannian","GuidedFilter","GumbelDistribution","HaarWavelet","HadamardMatrix","HalfLine","HalfNormalDistribution","HalfPlane","HalfSpace","HalftoneShading","HamiltonianGraphQ","HammingDistance","HammingWindow","HandlerFunctions","HandlerFunctionsKeys","HankelH1","HankelH2","HankelMatrix","HankelTransform","HannPoissonWindow","HannWindow","HaradaNortonGroupHN","HararyGraph","HarmonicMean","HarmonicMeanFilter","HarmonicNumber","Hash","HatchFilling","HatchShading","Haversine","HazardFunction","Head","HeadCompose","HeaderAlignment","HeaderBackground","HeaderDisplayFunction","HeaderLines","HeaderSize","HeaderStyle","Heads","HeavisideLambda","HeavisidePi","HeavisideTheta","HeldGroupHe","HeldPart","HelpBrowserLookup","HelpBrowserNotebook","HelpBrowserSettings","Here","HermiteDecomposition","HermiteH","HermitianMatrixQ","HessenbergDecomposition","Hessian","HeunB","HeunBPrime","HeunC","HeunCPrime","HeunD","HeunDPrime","HeunG","HeunGPrime","HeunT","HeunTPrime","HexadecimalCharacter","Hexahedron","HexahedronBox","HexahedronBoxOptions","HiddenItems","HiddenMarkovProcess","HiddenSurface","Highlighted","HighlightGraph","HighlightImage","HighlightMesh","HighpassFilter","HigmanSimsGroupHS","HilbertCurve","HilbertFilter","HilbertMatrix","Histogram","Histogram3D","HistogramDistribution","HistogramList","HistogramTransform","HistogramTransformInterpolation","HistoricalPeriodData","HitMissTransform","HITSCentrality","HjorthDistribution","HodgeDual","HoeffdingD","HoeffdingDTest","Hold","HoldAll","HoldAllComplete","HoldComplete","HoldFirst","HoldForm","HoldPattern","HoldRest","HolidayCalendar","HomeDirectory","HomePage","Horizontal","HorizontalForm","HorizontalGauge","HorizontalScrollPosition","HornerForm","HostLookup","HotellingTSquareDistribution","HoytDistribution","HTMLSave","HTTPErrorResponse","HTTPRedirect","HTTPRequest","HTTPRequestData","HTTPResponse","Hue","HumanGrowthData","HumpDownHump","HumpEqual","HurwitzLerchPhi","HurwitzZeta","HyperbolicDistribution","HypercubeGraph","HyperexponentialDistribution","Hyperfactorial","Hypergeometric0F1","Hypergeometric0F1Regularized","Hypergeometric1F1","Hypergeometric1F1Regularized","Hypergeometric2F1","Hypergeometric2F1Regularized","HypergeometricDistribution","HypergeometricPFQ","HypergeometricPFQRegularized","HypergeometricU","Hyperlink","HyperlinkAction","HyperlinkCreationSettings","Hyperplane","Hyphenation","HyphenationOptions","HypoexponentialDistribution","HypothesisTestData","I","IconData","Iconize","IconizedObject","IconRules","Icosahedron","Identity","IdentityMatrix","If","IgnoreCase","IgnoreDiacritics","IgnorePunctuation","IgnoreSpellCheck","IgnoringInactive","Im","Image","Image3D","Image3DProjection","Image3DSlices","ImageAccumulate","ImageAdd","ImageAdjust","ImageAlign","ImageApply","ImageApplyIndexed","ImageAspectRatio","ImageAssemble","ImageAugmentationLayer","ImageBoundingBoxes","ImageCache","ImageCacheValid","ImageCapture","ImageCaptureFunction","ImageCases","ImageChannels","ImageClip","ImageCollage","ImageColorSpace","ImageCompose","ImageContainsQ","ImageContents","ImageConvolve","ImageCooccurrence","ImageCorners","ImageCorrelate","ImageCorrespondingPoints","ImageCrop","ImageData","ImageDeconvolve","ImageDemosaic","ImageDifference","ImageDimensions","ImageDisplacements","ImageDistance","ImageEffect","ImageExposureCombine","ImageFeatureTrack","ImageFileApply","ImageFileFilter","ImageFileScan","ImageFilter","ImageFocusCombine","ImageForestingComponents","ImageFormattingWidth","ImageForwardTransformation","ImageGraphics","ImageHistogram","ImageIdentify","ImageInstanceQ","ImageKeypoints","ImageLabels","ImageLegends","ImageLevels","ImageLines","ImageMargins","ImageMarker","ImageMarkers","ImageMeasurements","ImageMesh","ImageMultiply","ImageOffset","ImagePad","ImagePadding","ImagePartition","ImagePeriodogram","ImagePerspectiveTransformation","ImagePosition","ImagePreviewFunction","ImagePyramid","ImagePyramidApply","ImageQ","ImageRangeCache","ImageRecolor","ImageReflect","ImageRegion","ImageResize","ImageResolution","ImageRestyle","ImageRotate","ImageRotated","ImageSaliencyFilter","ImageScaled","ImageScan","ImageSize","ImageSizeAction","ImageSizeCache","ImageSizeMultipliers","ImageSizeRaw","ImageSubtract","ImageTake","ImageTransformation","ImageTrim","ImageType","ImageValue","ImageValuePositions","ImagingDevice","ImplicitRegion","Implies","Import","ImportAutoReplacements","ImportByteArray","ImportOptions","ImportString","ImprovementImportance","In","Inactivate","Inactive","IncidenceGraph","IncidenceList","IncidenceMatrix","IncludeAromaticBonds","IncludeConstantBasis","IncludeDefinitions","IncludeDirectories","IncludeFileExtension","IncludeGeneratorTasks","IncludeHydrogens","IncludeInflections","IncludeMetaInformation","IncludePods","IncludeQuantities","IncludeRelatedTables","IncludeSingularTerm","IncludeWindowTimes","Increment","IndefiniteMatrixQ","Indent","IndentingNewlineSpacings","IndentMaxFraction","IndependenceTest","IndependentEdgeSetQ","IndependentPhysicalQuantity","IndependentUnit","IndependentUnitDimension","IndependentVertexSetQ","Indeterminate","IndeterminateThreshold","IndexCreationOptions","Indexed","IndexEdgeTaggedGraph","IndexGraph","IndexTag","Inequality","InexactNumberQ","InexactNumbers","InfiniteFuture","InfiniteLine","InfinitePast","InfinitePlane","Infinity","Infix","InflationAdjust","InflationMethod","Information","InformationData","InformationDataGrid","Inherited","InheritScope","InhomogeneousPoissonProcess","InitialEvaluationHistory","Initialization","InitializationCell","InitializationCellEvaluation","InitializationCellWarning","InitializationObjects","InitializationValue","Initialize","InitialSeeding","InlineCounterAssignments","InlineCounterIncrements","InlineRules","Inner","InnerPolygon","InnerPolyhedron","Inpaint","Input","InputAliases","InputAssumptions","InputAutoReplacements","InputField","InputFieldBox","InputFieldBoxOptions","InputForm","InputGrouping","InputNamePacket","InputNotebook","InputPacket","InputSettings","InputStream","InputString","InputStringPacket","InputToBoxFormPacket","Insert","InsertionFunction","InsertionPointObject","InsertLinebreaks","InsertResults","Inset","Inset3DBox","Inset3DBoxOptions","InsetBox","InsetBoxOptions","Insphere","Install","InstallService","InstanceNormalizationLayer","InString","Integer","IntegerDigits","IntegerExponent","IntegerLength","IntegerName","IntegerPart","IntegerPartitions","IntegerQ","IntegerReverse","Integers","IntegerString","Integral","Integrate","Interactive","InteractiveTradingChart","Interlaced","Interleaving","InternallyBalancedDecomposition","InterpolatingFunction","InterpolatingPolynomial","Interpolation","InterpolationOrder","InterpolationPoints","InterpolationPrecision","Interpretation","InterpretationBox","InterpretationBoxOptions","InterpretationFunction","Interpreter","InterpretTemplate","InterquartileRange","Interrupt","InterruptSettings","IntersectedEntityClass","IntersectingQ","Intersection","Interval","IntervalIntersection","IntervalMarkers","IntervalMarkersStyle","IntervalMemberQ","IntervalSlider","IntervalUnion","Into","Inverse","InverseBetaRegularized","InverseCDF","InverseChiSquareDistribution","InverseContinuousWaveletTransform","InverseDistanceTransform","InverseEllipticNomeQ","InverseErf","InverseErfc","InverseFourier","InverseFourierCosTransform","InverseFourierSequenceTransform","InverseFourierSinTransform","InverseFourierTransform","InverseFunction","InverseFunctions","InverseGammaDistribution","InverseGammaRegularized","InverseGaussianDistribution","InverseGudermannian","InverseHankelTransform","InverseHaversine","InverseImagePyramid","InverseJacobiCD","InverseJacobiCN","InverseJacobiCS","InverseJacobiDC","InverseJacobiDN","InverseJacobiDS","InverseJacobiNC","InverseJacobiND","InverseJacobiNS","InverseJacobiSC","InverseJacobiSD","InverseJacobiSN","InverseLaplaceTransform","InverseMellinTransform","InversePermutation","InverseRadon","InverseRadonTransform","InverseSeries","InverseShortTimeFourier","InverseSpectrogram","InverseSurvivalFunction","InverseTransformedRegion","InverseWaveletTransform","InverseWeierstrassP","InverseWishartMatrixDistribution","InverseZTransform","Invisible","InvisibleApplication","InvisibleTimes","IPAddress","IrreduciblePolynomialQ","IslandData","IsolatingInterval","IsomorphicGraphQ","IsotopeData","Italic","Item","ItemAspectRatio","ItemBox","ItemBoxOptions","ItemDisplayFunction","ItemSize","ItemStyle","ItoProcess","JaccardDissimilarity","JacobiAmplitude","Jacobian","JacobiCD","JacobiCN","JacobiCS","JacobiDC","JacobiDN","JacobiDS","JacobiNC","JacobiND","JacobiNS","JacobiP","JacobiSC","JacobiSD","JacobiSN","JacobiSymbol","JacobiZeta","JankoGroupJ1","JankoGroupJ2","JankoGroupJ3","JankoGroupJ4","JarqueBeraALMTest","JohnsonDistribution","Join","JoinAcross","Joined","JoinedCurve","JoinedCurveBox","JoinedCurveBoxOptions","JoinForm","JordanDecomposition","JordanModelDecomposition","JulianDate","JuliaSetBoettcher","JuliaSetIterationCount","JuliaSetPlot","JuliaSetPoints","K","KagiChart","KaiserBesselWindow","KaiserWindow","KalmanEstimator","KalmanFilter","KarhunenLoeveDecomposition","KaryTree","KatzCentrality","KCoreComponents","KDistribution","KEdgeConnectedComponents","KEdgeConnectedGraphQ","KeepExistingVersion","KelvinBei","KelvinBer","KelvinKei","KelvinKer","KendallTau","KendallTauTest","KernelExecute","KernelFunction","KernelMixtureDistribution","KernelObject","Kernels","Ket","Key","KeyCollisionFunction","KeyComplement","KeyDrop","KeyDropFrom","KeyExistsQ","KeyFreeQ","KeyIntersection","KeyMap","KeyMemberQ","KeypointStrength","Keys","KeySelect","KeySort","KeySortBy","KeyTake","KeyUnion","KeyValueMap","KeyValuePattern","Khinchin","KillProcess","KirchhoffGraph","KirchhoffMatrix","KleinInvariantJ","KnapsackSolve","KnightTourGraph","KnotData","KnownUnitQ","KochCurve","KolmogorovSmirnovTest","KroneckerDelta","KroneckerModelDecomposition","KroneckerProduct","KroneckerSymbol","KuiperTest","KumaraswamyDistribution","Kurtosis","KuwaharaFilter","KVertexConnectedComponents","KVertexConnectedGraphQ","LABColor","Label","Labeled","LabeledSlider","LabelingFunction","LabelingSize","LabelStyle","LabelVisibility","LaguerreL","LakeData","LambdaComponents","LambertW","LaminaData","LanczosWindow","LandauDistribution","Language","LanguageCategory","LanguageData","LanguageIdentify","LanguageOptions","LaplaceDistribution","LaplaceTransform","Laplacian","LaplacianFilter","LaplacianGaussianFilter","Large","Larger","Last","Latitude","LatitudeLongitude","LatticeData","LatticeReduce","Launch","LaunchKernels","LayeredGraphPlot","LayerSizeFunction","LayoutInformation","LCHColor","LCM","LeaderSize","LeafCount","LeapYearQ","LearnDistribution","LearnedDistribution","LearningRate","LearningRateMultipliers","LeastSquares","LeastSquaresFilterKernel","Left","LeftArrow","LeftArrowBar","LeftArrowRightArrow","LeftDownTeeVector","LeftDownVector","LeftDownVectorBar","LeftRightArrow","LeftRightVector","LeftTee","LeftTeeArrow","LeftTeeVector","LeftTriangle","LeftTriangleBar","LeftTriangleEqual","LeftUpDownVector","LeftUpTeeVector","LeftUpVector","LeftUpVectorBar","LeftVector","LeftVectorBar","LegendAppearance","Legended","LegendFunction","LegendLabel","LegendLayout","LegendMargins","LegendMarkers","LegendMarkerSize","LegendreP","LegendreQ","LegendreType","Length","LengthWhile","LerchPhi","Less","LessEqual","LessEqualGreater","LessEqualThan","LessFullEqual","LessGreater","LessLess","LessSlantEqual","LessThan","LessTilde","LetterCharacter","LetterCounts","LetterNumber","LetterQ","Level","LeveneTest","LeviCivitaTensor","LevyDistribution","Lexicographic","LibraryDataType","LibraryFunction","LibraryFunctionError","LibraryFunctionInformation","LibraryFunctionLoad","LibraryFunctionUnload","LibraryLoad","LibraryUnload","LicenseID","LiftingFilterData","LiftingWaveletTransform","LightBlue","LightBrown","LightCyan","Lighter","LightGray","LightGreen","Lighting","LightingAngle","LightMagenta","LightOrange","LightPink","LightPurple","LightRed","LightSources","LightYellow","Likelihood","Limit","LimitsPositioning","LimitsPositioningTokens","LindleyDistribution","Line","Line3DBox","Line3DBoxOptions","LinearFilter","LinearFractionalOptimization","LinearFractionalTransform","LinearGradientImage","LinearizingTransformationData","LinearLayer","LinearModelFit","LinearOffsetFunction","LinearOptimization","LinearProgramming","LinearRecurrence","LinearSolve","LinearSolveFunction","LineBox","LineBoxOptions","LineBreak","LinebreakAdjustments","LineBreakChart","LinebreakSemicolonWeighting","LineBreakWithin","LineColor","LineGraph","LineIndent","LineIndentMaxFraction","LineIntegralConvolutionPlot","LineIntegralConvolutionScale","LineLegend","LineOpacity","LineSpacing","LineWrapParts","LinkActivate","LinkClose","LinkConnect","LinkConnectedQ","LinkCreate","LinkError","LinkFlush","LinkFunction","LinkHost","LinkInterrupt","LinkLaunch","LinkMode","LinkObject","LinkOpen","LinkOptions","LinkPatterns","LinkProtocol","LinkRankCentrality","LinkRead","LinkReadHeld","LinkReadyQ","Links","LinkService","LinkWrite","LinkWriteHeld","LiouvilleLambda","List","Listable","ListAnimate","ListContourPlot","ListContourPlot3D","ListConvolve","ListCorrelate","ListCurvePathPlot","ListDeconvolve","ListDensityPlot","ListDensityPlot3D","Listen","ListFormat","ListFourierSequenceTransform","ListInterpolation","ListLineIntegralConvolutionPlot","ListLinePlot","ListLogLinearPlot","ListLogLogPlot","ListLogPlot","ListPicker","ListPickerBox","ListPickerBoxBackground","ListPickerBoxOptions","ListPlay","ListPlot","ListPlot3D","ListPointPlot3D","ListPolarPlot","ListQ","ListSliceContourPlot3D","ListSliceDensityPlot3D","ListSliceVectorPlot3D","ListStepPlot","ListStreamDensityPlot","ListStreamPlot","ListSurfacePlot3D","ListVectorDensityPlot","ListVectorPlot","ListVectorPlot3D","ListZTransform","Literal","LiteralSearch","LocalAdaptiveBinarize","LocalCache","LocalClusteringCoefficient","LocalizeDefinitions","LocalizeVariables","LocalObject","LocalObjects","LocalResponseNormalizationLayer","LocalSubmit","LocalSymbol","LocalTime","LocalTimeZone","LocationEquivalenceTest","LocationTest","Locator","LocatorAutoCreate","LocatorBox","LocatorBoxOptions","LocatorCentering","LocatorPane","LocatorPaneBox","LocatorPaneBoxOptions","LocatorRegion","Locked","Log","Log10","Log2","LogBarnesG","LogGamma","LogGammaDistribution","LogicalExpand","LogIntegral","LogisticDistribution","LogisticSigmoid","LogitModelFit","LogLikelihood","LogLinearPlot","LogLogisticDistribution","LogLogPlot","LogMultinormalDistribution","LogNormalDistribution","LogPlot","LogRankTest","LogSeriesDistribution","LongEqual","Longest","LongestCommonSequence","LongestCommonSequencePositions","LongestCommonSubsequence","LongestCommonSubsequencePositions","LongestMatch","LongestOrderedSequence","LongForm","Longitude","LongLeftArrow","LongLeftRightArrow","LongRightArrow","LongShortTermMemoryLayer","Lookup","Loopback","LoopFreeGraphQ","Looping","LossFunction","LowerCaseQ","LowerLeftArrow","LowerRightArrow","LowerTriangularize","LowerTriangularMatrixQ","LowpassFilter","LQEstimatorGains","LQGRegulator","LQOutputRegulatorGains","LQRegulatorGains","LUBackSubstitution","LucasL","LuccioSamiComponents","LUDecomposition","LunarEclipse","LUVColor","LyapunovSolve","LyonsGroupLy","MachineID","MachineName","MachineNumberQ","MachinePrecision","MacintoshSystemPageSetup","Magenta","Magnification","Magnify","MailAddressValidation","MailExecute","MailFolder","MailItem","MailReceiverFunction","MailResponseFunction","MailSearch","MailServerConnect","MailServerConnection","MailSettings","MainSolve","MaintainDynamicCaches","Majority","MakeBoxes","MakeExpression","MakeRules","ManagedLibraryExpressionID","ManagedLibraryExpressionQ","MandelbrotSetBoettcher","MandelbrotSetDistance","MandelbrotSetIterationCount","MandelbrotSetMemberQ","MandelbrotSetPlot","MangoldtLambda","ManhattanDistance","Manipulate","Manipulator","MannedSpaceMissionData","MannWhitneyTest","MantissaExponent","Manual","Map","MapAll","MapAt","MapIndexed","MAProcess","MapThread","MarchenkoPasturDistribution","MarcumQ","MardiaCombinedTest","MardiaKurtosisTest","MardiaSkewnessTest","MarginalDistribution","MarkovProcessProperties","Masking","MatchingDissimilarity","MatchLocalNameQ","MatchLocalNames","MatchQ","Material","MathematicalFunctionData","MathematicaNotation","MathieuC","MathieuCharacteristicA","MathieuCharacteristicB","MathieuCharacteristicExponent","MathieuCPrime","MathieuGroupM11","MathieuGroupM12","MathieuGroupM22","MathieuGroupM23","MathieuGroupM24","MathieuS","MathieuSPrime","MathMLForm","MathMLText","Matrices","MatrixExp","MatrixForm","MatrixFunction","MatrixLog","MatrixNormalDistribution","MatrixPlot","MatrixPower","MatrixPropertyDistribution","MatrixQ","MatrixRank","MatrixTDistribution","Max","MaxBend","MaxCellMeasure","MaxColorDistance","MaxDate","MaxDetect","MaxDuration","MaxExtraBandwidths","MaxExtraConditions","MaxFeatureDisplacement","MaxFeatures","MaxFilter","MaximalBy","Maximize","MaxItems","MaxIterations","MaxLimit","MaxMemoryUsed","MaxMixtureKernels","MaxOverlapFraction","MaxPlotPoints","MaxPoints","MaxRecursion","MaxStableDistribution","MaxStepFraction","MaxSteps","MaxStepSize","MaxTrainingRounds","MaxValue","MaxwellDistribution","MaxWordGap","McLaughlinGroupMcL","Mean","MeanAbsoluteLossLayer","MeanAround","MeanClusteringCoefficient","MeanDegreeConnectivity","MeanDeviation","MeanFilter","MeanGraphDistance","MeanNeighborDegree","MeanShift","MeanShiftFilter","MeanSquaredLossLayer","Median","MedianDeviation","MedianFilter","MedicalTestData","Medium","MeijerG","MeijerGReduce","MeixnerDistribution","MellinConvolve","MellinTransform","MemberQ","MemoryAvailable","MemoryConstrained","MemoryConstraint","MemoryInUse","MengerMesh","Menu","MenuAppearance","MenuCommandKey","MenuEvaluator","MenuItem","MenuList","MenuPacket","MenuSortingValue","MenuStyle","MenuView","Merge","MergeDifferences","MergingFunction","MersennePrimeExponent","MersennePrimeExponentQ","Mesh","MeshCellCentroid","MeshCellCount","MeshCellHighlight","MeshCellIndex","MeshCellLabel","MeshCellMarker","MeshCellMeasure","MeshCellQuality","MeshCells","MeshCellShapeFunction","MeshCellStyle","MeshConnectivityGraph","MeshCoordinates","MeshFunctions","MeshPrimitives","MeshQualityGoal","MeshRange","MeshRefinementFunction","MeshRegion","MeshRegionQ","MeshShading","MeshStyle","Message","MessageDialog","MessageList","MessageName","MessageObject","MessageOptions","MessagePacket","Messages","MessagesNotebook","MetaCharacters","MetaInformation","MeteorShowerData","Method","MethodOptions","MexicanHatWavelet","MeyerWavelet","Midpoint","Min","MinColorDistance","MinDate","MinDetect","MineralData","MinFilter","MinimalBy","MinimalPolynomial","MinimalStateSpaceModel","Minimize","MinimumTimeIncrement","MinIntervalSize","MinkowskiQuestionMark","MinLimit","MinMax","MinorPlanetData","Minors","MinRecursion","MinSize","MinStableDistribution","Minus","MinusPlus","MinValue","Missing","MissingBehavior","MissingDataMethod","MissingDataRules","MissingQ","MissingString","MissingStyle","MissingValuePattern","MittagLefflerE","MixedFractionParts","MixedGraphQ","MixedMagnitude","MixedRadix","MixedRadixQuantity","MixedUnit","MixtureDistribution","Mod","Modal","Mode","Modular","ModularInverse","ModularLambda","Module","Modulus","MoebiusMu","Molecule","MoleculeContainsQ","MoleculeEquivalentQ","MoleculeGraph","MoleculeModify","MoleculePattern","MoleculePlot","MoleculePlot3D","MoleculeProperty","MoleculeQ","MoleculeRecognize","MoleculeValue","Moment","Momentary","MomentConvert","MomentEvaluate","MomentGeneratingFunction","MomentOfInertia","Monday","Monitor","MonomialList","MonomialOrder","MonsterGroupM","MoonPhase","MoonPosition","MorletWavelet","MorphologicalBinarize","MorphologicalBranchPoints","MorphologicalComponents","MorphologicalEulerNumber","MorphologicalGraph","MorphologicalPerimeter","MorphologicalTransform","MortalityData","Most","MountainData","MouseAnnotation","MouseAppearance","MouseAppearanceTag","MouseButtons","Mouseover","MousePointerNote","MousePosition","MovieData","MovingAverage","MovingMap","MovingMedian","MoyalDistribution","Multicolumn","MultiedgeStyle","MultigraphQ","MultilaunchWarning","MultiLetterItalics","MultiLetterStyle","MultilineFunction","Multinomial","MultinomialDistribution","MultinormalDistribution","MultiplicativeOrder","Multiplicity","MultiplySides","Multiselection","MultivariateHypergeometricDistribution","MultivariatePoissonDistribution","MultivariateTDistribution","N","NakagamiDistribution","NameQ","Names","NamespaceBox","NamespaceBoxOptions","Nand","NArgMax","NArgMin","NBernoulliB","NBodySimulation","NBodySimulationData","NCache","NDEigensystem","NDEigenvalues","NDSolve","NDSolveValue","Nearest","NearestFunction","NearestMeshCells","NearestNeighborGraph","NearestTo","NebulaData","NeedCurrentFrontEndPackagePacket","NeedCurrentFrontEndSymbolsPacket","NeedlemanWunschSimilarity","Needs","Negative","NegativeBinomialDistribution","NegativeDefiniteMatrixQ","NegativeIntegers","NegativeMultinomialDistribution","NegativeRationals","NegativeReals","NegativeSemidefiniteMatrixQ","NeighborhoodData","NeighborhoodGraph","Nest","NestedGreaterGreater","NestedLessLess","NestedScriptRules","NestGraph","NestList","NestWhile","NestWhileList","NetAppend","NetBidirectionalOperator","NetChain","NetDecoder","NetDelete","NetDrop","NetEncoder","NetEvaluationMode","NetExtract","NetFlatten","NetFoldOperator","NetGANOperator","NetGraph","NetInformation","NetInitialize","NetInsert","NetInsertSharedArrays","NetJoin","NetMapOperator","NetMapThreadOperator","NetMeasurements","NetModel","NetNestOperator","NetPairEmbeddingOperator","NetPort","NetPortGradient","NetPrepend","NetRename","NetReplace","NetReplacePart","NetSharedArray","NetStateObject","NetTake","NetTrain","NetTrainResultsObject","NetworkPacketCapture","NetworkPacketRecording","NetworkPacketRecordingDuring","NetworkPacketTrace","NeumannValue","NevilleThetaC","NevilleThetaD","NevilleThetaN","NevilleThetaS","NewPrimitiveStyle","NExpectation","Next","NextCell","NextDate","NextPrime","NextScheduledTaskTime","NHoldAll","NHoldFirst","NHoldRest","NicholsGridLines","NicholsPlot","NightHemisphere","NIntegrate","NMaximize","NMaxValue","NMinimize","NMinValue","NominalVariables","NonAssociative","NoncentralBetaDistribution","NoncentralChiSquareDistribution","NoncentralFRatioDistribution","NoncentralStudentTDistribution","NonCommutativeMultiply","NonConstants","NondimensionalizationTransform","None","NoneTrue","NonlinearModelFit","NonlinearStateSpaceModel","NonlocalMeansFilter","NonNegative","NonNegativeIntegers","NonNegativeRationals","NonNegativeReals","NonPositive","NonPositiveIntegers","NonPositiveRationals","NonPositiveReals","Nor","NorlundB","Norm","Normal","NormalDistribution","NormalGrouping","NormalizationLayer","Normalize","Normalized","NormalizedSquaredEuclideanDistance","NormalMatrixQ","NormalsFunction","NormFunction","Not","NotCongruent","NotCupCap","NotDoubleVerticalBar","Notebook","NotebookApply","NotebookAutoSave","NotebookClose","NotebookConvertSettings","NotebookCreate","NotebookCreateReturnObject","NotebookDefault","NotebookDelete","NotebookDirectory","NotebookDynamicExpression","NotebookEvaluate","NotebookEventActions","NotebookFileName","NotebookFind","NotebookFindReturnObject","NotebookGet","NotebookGetLayoutInformationPacket","NotebookGetMisspellingsPacket","NotebookImport","NotebookInformation","NotebookInterfaceObject","NotebookLocate","NotebookObject","NotebookOpen","NotebookOpenReturnObject","NotebookPath","NotebookPrint","NotebookPut","NotebookPutReturnObject","NotebookRead","NotebookResetGeneratedCells","Notebooks","NotebookSave","NotebookSaveAs","NotebookSelection","NotebookSetupLayoutInformationPacket","NotebooksMenu","NotebookTemplate","NotebookWrite","NotElement","NotEqualTilde","NotExists","NotGreater","NotGreaterEqual","NotGreaterFullEqual","NotGreaterGreater","NotGreaterLess","NotGreaterSlantEqual","NotGreaterTilde","Nothing","NotHumpDownHump","NotHumpEqual","NotificationFunction","NotLeftTriangle","NotLeftTriangleBar","NotLeftTriangleEqual","NotLess","NotLessEqual","NotLessFullEqual","NotLessGreater","NotLessLess","NotLessSlantEqual","NotLessTilde","NotNestedGreaterGreater","NotNestedLessLess","NotPrecedes","NotPrecedesEqual","NotPrecedesSlantEqual","NotPrecedesTilde","NotReverseElement","NotRightTriangle","NotRightTriangleBar","NotRightTriangleEqual","NotSquareSubset","NotSquareSubsetEqual","NotSquareSuperset","NotSquareSupersetEqual","NotSubset","NotSubsetEqual","NotSucceeds","NotSucceedsEqual","NotSucceedsSlantEqual","NotSucceedsTilde","NotSuperset","NotSupersetEqual","NotTilde","NotTildeEqual","NotTildeFullEqual","NotTildeTilde","NotVerticalBar","Now","NoWhitespace","NProbability","NProduct","NProductFactors","NRoots","NSolve","NSum","NSumTerms","NuclearExplosionData","NuclearReactorData","Null","NullRecords","NullSpace","NullWords","Number","NumberCompose","NumberDecompose","NumberExpand","NumberFieldClassNumber","NumberFieldDiscriminant","NumberFieldFundamentalUnits","NumberFieldIntegralBasis","NumberFieldNormRepresentatives","NumberFieldRegulator","NumberFieldRootsOfUnity","NumberFieldSignature","NumberForm","NumberFormat","NumberLinePlot","NumberMarks","NumberMultiplier","NumberPadding","NumberPoint","NumberQ","NumberSeparator","NumberSigns","NumberString","Numerator","NumeratorDenominator","NumericalOrder","NumericalSort","NumericArray","NumericArrayQ","NumericArrayType","NumericFunction","NumericQ","NuttallWindow","NValues","NyquistGridLines","NyquistPlot","O","ObservabilityGramian","ObservabilityMatrix","ObservableDecomposition","ObservableModelQ","OceanData","Octahedron","OddQ","Off","Offset","OLEData","On","ONanGroupON","Once","OneIdentity","Opacity","OpacityFunction","OpacityFunctionScaling","Open","OpenAppend","Opener","OpenerBox","OpenerBoxOptions","OpenerView","OpenFunctionInspectorPacket","Opening","OpenRead","OpenSpecialOptions","OpenTemporary","OpenWrite","Operate","OperatingSystem","OperatorApplied","OptimumFlowData","Optional","OptionalElement","OptionInspectorSettings","OptionQ","Options","OptionsPacket","OptionsPattern","OptionValue","OptionValueBox","OptionValueBoxOptions","Or","Orange","Order","OrderDistribution","OrderedQ","Ordering","OrderingBy","OrderingLayer","Orderless","OrderlessPatternSequence","OrnsteinUhlenbeckProcess","Orthogonalize","OrthogonalMatrixQ","Out","Outer","OuterPolygon","OuterPolyhedron","OutputAutoOverwrite","OutputControllabilityMatrix","OutputControllableModelQ","OutputForm","OutputFormData","OutputGrouping","OutputMathEditExpression","OutputNamePacket","OutputResponse","OutputSizeLimit","OutputStream","Over","OverBar","OverDot","Overflow","OverHat","Overlaps","Overlay","OverlayBox","OverlayBoxOptions","Overscript","OverscriptBox","OverscriptBoxOptions","OverTilde","OverVector","OverwriteTarget","OwenT","OwnValues","Package","PackingMethod","PackPaclet","PacletDataRebuild","PacletDirectoryAdd","PacletDirectoryLoad","PacletDirectoryRemove","PacletDirectoryUnload","PacletDisable","PacletEnable","PacletFind","PacletFindRemote","PacletInformation","PacletInstall","PacletInstallSubmit","PacletNewerQ","PacletObject","PacletObjectQ","PacletSite","PacletSiteObject","PacletSiteRegister","PacletSites","PacletSiteUnregister","PacletSiteUpdate","PacletUninstall","PacletUpdate","PaddedForm","Padding","PaddingLayer","PaddingSize","PadeApproximant","PadLeft","PadRight","PageBreakAbove","PageBreakBelow","PageBreakWithin","PageFooterLines","PageFooters","PageHeaderLines","PageHeaders","PageHeight","PageRankCentrality","PageTheme","PageWidth","Pagination","PairedBarChart","PairedHistogram","PairedSmoothHistogram","PairedTTest","PairedZTest","PaletteNotebook","PalettePath","PalindromeQ","Pane","PaneBox","PaneBoxOptions","Panel","PanelBox","PanelBoxOptions","Paneled","PaneSelector","PaneSelectorBox","PaneSelectorBoxOptions","PaperWidth","ParabolicCylinderD","ParagraphIndent","ParagraphSpacing","ParallelArray","ParallelCombine","ParallelDo","Parallelepiped","ParallelEvaluate","Parallelization","Parallelize","ParallelMap","ParallelNeeds","Parallelogram","ParallelProduct","ParallelSubmit","ParallelSum","ParallelTable","ParallelTry","Parameter","ParameterEstimator","ParameterMixtureDistribution","ParameterVariables","ParametricFunction","ParametricNDSolve","ParametricNDSolveValue","ParametricPlot","ParametricPlot3D","ParametricRampLayer","ParametricRegion","ParentBox","ParentCell","ParentConnect","ParentDirectory","ParentForm","Parenthesize","ParentList","ParentNotebook","ParetoDistribution","ParetoPickandsDistribution","ParkData","Part","PartBehavior","PartialCorrelationFunction","PartialD","ParticleAcceleratorData","ParticleData","Partition","PartitionGranularity","PartitionsP","PartitionsQ","PartLayer","PartOfSpeech","PartProtection","ParzenWindow","PascalDistribution","PassEventsDown","PassEventsUp","Paste","PasteAutoQuoteCharacters","PasteBoxFormInlineCells","PasteButton","Path","PathGraph","PathGraphQ","Pattern","PatternFilling","PatternSequence","PatternTest","PauliMatrix","PaulWavelet","Pause","PausedTime","PDF","PeakDetect","PeanoCurve","PearsonChiSquareTest","PearsonCorrelationTest","PearsonDistribution","PercentForm","PerfectNumber","PerfectNumberQ","PerformanceGoal","Perimeter","PeriodicBoundaryCondition","PeriodicInterpolation","Periodogram","PeriodogramArray","Permanent","Permissions","PermissionsGroup","PermissionsGroupMemberQ","PermissionsGroups","PermissionsKey","PermissionsKeys","PermutationCycles","PermutationCyclesQ","PermutationGroup","PermutationLength","PermutationList","PermutationListQ","PermutationMax","PermutationMin","PermutationOrder","PermutationPower","PermutationProduct","PermutationReplace","Permutations","PermutationSupport","Permute","PeronaMalikFilter","Perpendicular","PerpendicularBisector","PersistenceLocation","PersistenceTime","PersistentObject","PersistentObjects","PersistentValue","PersonData","PERTDistribution","PetersenGraph","PhaseMargins","PhaseRange","PhysicalSystemData","Pi","Pick","PIDData","PIDDerivativeFilter","PIDFeedforward","PIDTune","Piecewise","PiecewiseExpand","PieChart","PieChart3D","PillaiTrace","PillaiTraceTest","PingTime","Pink","PitchRecognize","Pivoting","PixelConstrained","PixelValue","PixelValuePositions","Placed","Placeholder","PlaceholderReplace","Plain","PlanarAngle","PlanarGraph","PlanarGraphQ","PlanckRadiationLaw","PlaneCurveData","PlanetaryMoonData","PlanetData","PlantData","Play","PlayRange","Plot","Plot3D","Plot3Matrix","PlotDivision","PlotJoined","PlotLabel","PlotLabels","PlotLayout","PlotLegends","PlotMarkers","PlotPoints","PlotRange","PlotRangeClipping","PlotRangeClipPlanesStyle","PlotRangePadding","PlotRegion","PlotStyle","PlotTheme","Pluralize","Plus","PlusMinus","Pochhammer","PodStates","PodWidth","Point","Point3DBox","Point3DBoxOptions","PointBox","PointBoxOptions","PointFigureChart","PointLegend","PointSize","PoissonConsulDistribution","PoissonDistribution","PoissonProcess","PoissonWindow","PolarAxes","PolarAxesOrigin","PolarGridLines","PolarPlot","PolarTicks","PoleZeroMarkers","PolyaAeppliDistribution","PolyGamma","Polygon","Polygon3DBox","Polygon3DBoxOptions","PolygonalNumber","PolygonAngle","PolygonBox","PolygonBoxOptions","PolygonCoordinates","PolygonDecomposition","PolygonHoleScale","PolygonIntersections","PolygonScale","Polyhedron","PolyhedronAngle","PolyhedronCoordinates","PolyhedronData","PolyhedronDecomposition","PolyhedronGenus","PolyLog","PolynomialExtendedGCD","PolynomialForm","PolynomialGCD","PolynomialLCM","PolynomialMod","PolynomialQ","PolynomialQuotient","PolynomialQuotientRemainder","PolynomialReduce","PolynomialRemainder","Polynomials","PoolingLayer","PopupMenu","PopupMenuBox","PopupMenuBoxOptions","PopupView","PopupWindow","Position","PositionIndex","Positive","PositiveDefiniteMatrixQ","PositiveIntegers","PositiveRationals","PositiveReals","PositiveSemidefiniteMatrixQ","PossibleZeroQ","Postfix","PostScript","Power","PowerDistribution","PowerExpand","PowerMod","PowerModList","PowerRange","PowerSpectralDensity","PowersRepresentations","PowerSymmetricPolynomial","Precedence","PrecedenceForm","Precedes","PrecedesEqual","PrecedesSlantEqual","PrecedesTilde","Precision","PrecisionGoal","PreDecrement","Predict","PredictionRoot","PredictorFunction","PredictorInformation","PredictorMeasurements","PredictorMeasurementsObject","PreemptProtect","PreferencesPath","Prefix","PreIncrement","Prepend","PrependLayer","PrependTo","PreprocessingRules","PreserveColor","PreserveImageOptions","Previous","PreviousCell","PreviousDate","PriceGraphDistribution","PrimaryPlaceholder","Prime","PrimeNu","PrimeOmega","PrimePi","PrimePowerQ","PrimeQ","Primes","PrimeZetaP","PrimitivePolynomialQ","PrimitiveRoot","PrimitiveRootList","PrincipalComponents","PrincipalValue","Print","PrintableASCIIQ","PrintAction","PrintForm","PrintingCopies","PrintingOptions","PrintingPageRange","PrintingStartingPageNumber","PrintingStyleEnvironment","Printout3D","Printout3DPreviewer","PrintPrecision","PrintTemporary","Prism","PrismBox","PrismBoxOptions","PrivateCellOptions","PrivateEvaluationOptions","PrivateFontOptions","PrivateFrontEndOptions","PrivateKey","PrivateNotebookOptions","PrivatePaths","Probability","ProbabilityDistribution","ProbabilityPlot","ProbabilityPr","ProbabilityScalePlot","ProbitModelFit","ProcessConnection","ProcessDirectory","ProcessEnvironment","Processes","ProcessEstimator","ProcessInformation","ProcessObject","ProcessParameterAssumptions","ProcessParameterQ","ProcessStateDomain","ProcessStatus","ProcessTimeDomain","Product","ProductDistribution","ProductLog","ProgressIndicator","ProgressIndicatorBox","ProgressIndicatorBoxOptions","Projection","Prolog","PromptForm","ProofObject","Properties","Property","PropertyList","PropertyValue","Proportion","Proportional","Protect","Protected","ProteinData","Pruning","PseudoInverse","PsychrometricPropertyData","PublicKey","PublisherID","PulsarData","PunctuationCharacter","Purple","Put","PutAppend","Pyramid","PyramidBox","PyramidBoxOptions","QBinomial","QFactorial","QGamma","QHypergeometricPFQ","QnDispersion","QPochhammer","QPolyGamma","QRDecomposition","QuadraticIrrationalQ","QuadraticOptimization","Quantile","QuantilePlot","Quantity","QuantityArray","QuantityDistribution","QuantityForm","QuantityMagnitude","QuantityQ","QuantityUnit","QuantityVariable","QuantityVariableCanonicalUnit","QuantityVariableDimensions","QuantityVariableIdentifier","QuantityVariablePhysicalQuantity","Quartics","QuartileDeviation","Quartiles","QuartileSkewness","Query","QueueingNetworkProcess","QueueingProcess","QueueProperties","Quiet","Quit","Quotient","QuotientRemainder","RadialGradientImage","RadialityCentrality","RadicalBox","RadicalBoxOptions","RadioButton","RadioButtonBar","RadioButtonBox","RadioButtonBoxOptions","Radon","RadonTransform","RamanujanTau","RamanujanTauL","RamanujanTauTheta","RamanujanTauZ","Ramp","Random","RandomChoice","RandomColor","RandomComplex","RandomEntity","RandomFunction","RandomGeoPosition","RandomGraph","RandomImage","RandomInstance","RandomInteger","RandomPermutation","RandomPoint","RandomPolygon","RandomPolyhedron","RandomPrime","RandomReal","RandomSample","RandomSeed","RandomSeeding","RandomVariate","RandomWalkProcess","RandomWord","Range","RangeFilter","RangeSpecification","RankedMax","RankedMin","RarerProbability","Raster","Raster3D","Raster3DBox","Raster3DBoxOptions","RasterArray","RasterBox","RasterBoxOptions","Rasterize","RasterSize","Rational","RationalFunctions","Rationalize","Rationals","Ratios","RawArray","RawBoxes","RawData","RawMedium","RayleighDistribution","Re","Read","ReadByteArray","ReadLine","ReadList","ReadProtected","ReadString","Real","RealAbs","RealBlockDiagonalForm","RealDigits","RealExponent","Reals","RealSign","Reap","RebuildPacletData","RecognitionPrior","RecognitionThreshold","Record","RecordLists","RecordSeparators","Rectangle","RectangleBox","RectangleBoxOptions","RectangleChart","RectangleChart3D","RectangularRepeatingElement","RecurrenceFilter","RecurrenceTable","RecurringDigitsForm","Red","Reduce","RefBox","ReferenceLineStyle","ReferenceMarkers","ReferenceMarkerStyle","Refine","ReflectionMatrix","ReflectionTransform","Refresh","RefreshRate","Region","RegionBinarize","RegionBoundary","RegionBoundaryStyle","RegionBounds","RegionCentroid","RegionDifference","RegionDimension","RegionDisjoint","RegionDistance","RegionDistanceFunction","RegionEmbeddingDimension","RegionEqual","RegionFillingStyle","RegionFunction","RegionImage","RegionIntersection","RegionMeasure","RegionMember","RegionMemberFunction","RegionMoment","RegionNearest","RegionNearestFunction","RegionPlot","RegionPlot3D","RegionProduct","RegionQ","RegionResize","RegionSize","RegionSymmetricDifference","RegionUnion","RegionWithin","RegisterExternalEvaluator","RegularExpression","Regularization","RegularlySampledQ","RegularPolygon","ReIm","ReImLabels","ReImPlot","ReImStyle","Reinstall","RelationalDatabase","RelationGraph","Release","ReleaseHold","ReliabilityDistribution","ReliefImage","ReliefPlot","RemoteAuthorizationCaching","RemoteConnect","RemoteConnectionObject","RemoteFile","RemoteRun","RemoteRunProcess","Remove","RemoveAlphaChannel","RemoveAsynchronousTask","RemoveAudioStream","RemoveBackground","RemoveChannelListener","RemoveChannelSubscribers","Removed","RemoveDiacritics","RemoveInputStreamMethod","RemoveOutputStreamMethod","RemoveProperty","RemoveScheduledTask","RemoveUsers","RemoveVideoStream","RenameDirectory","RenameFile","RenderAll","RenderingOptions","RenewalProcess","RenkoChart","RepairMesh","Repeated","RepeatedNull","RepeatedString","RepeatedTiming","RepeatingElement","Replace","ReplaceAll","ReplaceHeldPart","ReplaceImageValue","ReplaceList","ReplacePart","ReplacePixelValue","ReplaceRepeated","ReplicateLayer","RequiredPhysicalQuantities","Resampling","ResamplingAlgorithmData","ResamplingMethod","Rescale","RescalingTransform","ResetDirectory","ResetMenusPacket","ResetScheduledTask","ReshapeLayer","Residue","ResizeLayer","Resolve","ResourceAcquire","ResourceData","ResourceFunction","ResourceObject","ResourceRegister","ResourceRemove","ResourceSearch","ResourceSubmissionObject","ResourceSubmit","ResourceSystemBase","ResourceSystemPath","ResourceUpdate","ResourceVersion","ResponseForm","Rest","RestartInterval","Restricted","Resultant","ResumePacket","Return","ReturnEntersInput","ReturnExpressionPacket","ReturnInputFormPacket","ReturnPacket","ReturnReceiptFunction","ReturnTextPacket","Reverse","ReverseApplied","ReverseBiorthogonalSplineWavelet","ReverseElement","ReverseEquilibrium","ReverseGraph","ReverseSort","ReverseSortBy","ReverseUpEquilibrium","RevolutionAxis","RevolutionPlot3D","RGBColor","RiccatiSolve","RiceDistribution","RidgeFilter","RiemannR","RiemannSiegelTheta","RiemannSiegelZ","RiemannXi","Riffle","Right","RightArrow","RightArrowBar","RightArrowLeftArrow","RightComposition","RightCosetRepresentative","RightDownTeeVector","RightDownVector","RightDownVectorBar","RightTee","RightTeeArrow","RightTeeVector","RightTriangle","RightTriangleBar","RightTriangleEqual","RightUpDownVector","RightUpTeeVector","RightUpVector","RightUpVectorBar","RightVector","RightVectorBar","RiskAchievementImportance","RiskReductionImportance","RogersTanimotoDissimilarity","RollPitchYawAngles","RollPitchYawMatrix","RomanNumeral","Root","RootApproximant","RootIntervals","RootLocusPlot","RootMeanSquare","RootOfUnityQ","RootReduce","Roots","RootSum","Rotate","RotateLabel","RotateLeft","RotateRight","RotationAction","RotationBox","RotationBoxOptions","RotationMatrix","RotationTransform","Round","RoundImplies","RoundingRadius","Row","RowAlignments","RowBackgrounds","RowBox","RowHeights","RowLines","RowMinHeight","RowReduce","RowsEqual","RowSpacings","RSolve","RSolveValue","RudinShapiro","RudvalisGroupRu","Rule","RuleCondition","RuleDelayed","RuleForm","RulePlot","RulerUnits","Run","RunProcess","RunScheduledTask","RunThrough","RuntimeAttributes","RuntimeOptions","RussellRaoDissimilarity","SameQ","SameTest","SameTestProperties","SampledEntityClass","SampleDepth","SampledSoundFunction","SampledSoundList","SampleRate","SamplingPeriod","SARIMAProcess","SARMAProcess","SASTriangle","SatelliteData","SatisfiabilityCount","SatisfiabilityInstances","SatisfiableQ","Saturday","Save","Saveable","SaveAutoDelete","SaveConnection","SaveDefinitions","SavitzkyGolayMatrix","SawtoothWave","Scale","Scaled","ScaleDivisions","ScaledMousePosition","ScaleOrigin","ScalePadding","ScaleRanges","ScaleRangeStyle","ScalingFunctions","ScalingMatrix","ScalingTransform","Scan","ScheduledTask","ScheduledTaskActiveQ","ScheduledTaskInformation","ScheduledTaskInformationData","ScheduledTaskObject","ScheduledTasks","SchurDecomposition","ScientificForm","ScientificNotationThreshold","ScorerGi","ScorerGiPrime","ScorerHi","ScorerHiPrime","ScreenRectangle","ScreenStyleEnvironment","ScriptBaselineShifts","ScriptForm","ScriptLevel","ScriptMinSize","ScriptRules","ScriptSizeMultipliers","Scrollbars","ScrollingOptions","ScrollPosition","SearchAdjustment","SearchIndexObject","SearchIndices","SearchQueryString","SearchResultObject","Sec","Sech","SechDistribution","SecondOrderConeOptimization","SectionGrouping","SectorChart","SectorChart3D","SectorOrigin","SectorSpacing","SecuredAuthenticationKey","SecuredAuthenticationKeys","SeedRandom","Select","Selectable","SelectComponents","SelectedCells","SelectedNotebook","SelectFirst","Selection","SelectionAnimate","SelectionCell","SelectionCellCreateCell","SelectionCellDefaultStyle","SelectionCellParentStyle","SelectionCreateCell","SelectionDebuggerTag","SelectionDuplicateCell","SelectionEvaluate","SelectionEvaluateCreateCell","SelectionMove","SelectionPlaceholder","SelectionSetStyle","SelectWithContents","SelfLoops","SelfLoopStyle","SemanticImport","SemanticImportString","SemanticInterpretation","SemialgebraicComponentInstances","SemidefiniteOptimization","SendMail","SendMessage","Sequence","SequenceAlignment","SequenceAttentionLayer","SequenceCases","SequenceCount","SequenceFold","SequenceFoldList","SequenceForm","SequenceHold","SequenceLastLayer","SequenceMostLayer","SequencePosition","SequencePredict","SequencePredictorFunction","SequenceReplace","SequenceRestLayer","SequenceReverseLayer","SequenceSplit","Series","SeriesCoefficient","SeriesData","SeriesTermGoal","ServiceConnect","ServiceDisconnect","ServiceExecute","ServiceObject","ServiceRequest","ServiceResponse","ServiceSubmit","SessionSubmit","SessionTime","Set","SetAccuracy","SetAlphaChannel","SetAttributes","Setbacks","SetBoxFormNamesPacket","SetCloudDirectory","SetCookies","SetDelayed","SetDirectory","SetEnvironment","SetEvaluationNotebook","SetFileDate","SetFileLoadingContext","SetNotebookStatusLine","SetOptions","SetOptionsPacket","SetPermissions","SetPrecision","SetProperty","SetSecuredAuthenticationKey","SetSelectedNotebook","SetSharedFunction","SetSharedVariable","SetSpeechParametersPacket","SetStreamPosition","SetSystemModel","SetSystemOptions","Setter","SetterBar","SetterBox","SetterBoxOptions","Setting","SetUsers","SetValue","Shading","Shallow","ShannonWavelet","ShapiroWilkTest","Share","SharingList","Sharpen","ShearingMatrix","ShearingTransform","ShellRegion","ShenCastanMatrix","ShiftedGompertzDistribution","ShiftRegisterSequence","Short","ShortDownArrow","Shortest","ShortestMatch","ShortestPathFunction","ShortLeftArrow","ShortRightArrow","ShortTimeFourier","ShortTimeFourierData","ShortUpArrow","Show","ShowAutoConvert","ShowAutoSpellCheck","ShowAutoStyles","ShowCellBracket","ShowCellLabel","ShowCellTags","ShowClosedCellArea","ShowCodeAssist","ShowContents","ShowControls","ShowCursorTracker","ShowGroupOpenCloseIcon","ShowGroupOpener","ShowInvisibleCharacters","ShowPageBreaks","ShowPredictiveInterface","ShowSelection","ShowShortBoxForm","ShowSpecialCharacters","ShowStringCharacters","ShowSyntaxStyles","ShrinkingDelay","ShrinkWrapBoundingBox","SiderealTime","SiegelTheta","SiegelTukeyTest","SierpinskiCurve","SierpinskiMesh","Sign","Signature","SignedRankTest","SignedRegionDistance","SignificanceLevel","SignPadding","SignTest","SimilarityRules","SimpleGraph","SimpleGraphQ","SimplePolygonQ","SimplePolyhedronQ","Simplex","Simplify","Sin","Sinc","SinghMaddalaDistribution","SingleEvaluation","SingleLetterItalics","SingleLetterStyle","SingularValueDecomposition","SingularValueList","SingularValuePlot","SingularValues","Sinh","SinhIntegral","SinIntegral","SixJSymbol","Skeleton","SkeletonTransform","SkellamDistribution","Skewness","SkewNormalDistribution","SkinStyle","Skip","SliceContourPlot3D","SliceDensityPlot3D","SliceDistribution","SliceVectorPlot3D","Slider","Slider2D","Slider2DBox","Slider2DBoxOptions","SliderBox","SliderBoxOptions","SlideView","Slot","SlotSequence","Small","SmallCircle","Smaller","SmithDecomposition","SmithDelayCompensator","SmithWatermanSimilarity","SmoothDensityHistogram","SmoothHistogram","SmoothHistogram3D","SmoothKernelDistribution","SnDispersion","Snippet","SnubPolyhedron","SocialMediaData","Socket","SocketConnect","SocketListen","SocketListener","SocketObject","SocketOpen","SocketReadMessage","SocketReadyQ","Sockets","SocketWaitAll","SocketWaitNext","SoftmaxLayer","SokalSneathDissimilarity","SolarEclipse","SolarSystemFeatureData","SolidAngle","SolidData","SolidRegionQ","Solve","SolveAlways","SolveDelayed","Sort","SortBy","SortedBy","SortedEntityClass","Sound","SoundAndGraphics","SoundNote","SoundVolume","SourceLink","Sow","Space","SpaceCurveData","SpaceForm","Spacer","Spacings","Span","SpanAdjustments","SpanCharacterRounding","SpanFromAbove","SpanFromBoth","SpanFromLeft","SpanLineThickness","SpanMaxSize","SpanMinSize","SpanningCharacters","SpanSymmetric","SparseArray","SpatialGraphDistribution","SpatialMedian","SpatialTransformationLayer","Speak","SpeakerMatchQ","SpeakTextPacket","SpearmanRankTest","SpearmanRho","SpeciesData","SpecificityGoal","SpectralLineData","Spectrogram","SpectrogramArray","Specularity","SpeechCases","SpeechInterpreter","SpeechRecognize","SpeechSynthesize","SpellingCorrection","SpellingCorrectionList","SpellingDictionaries","SpellingDictionariesPath","SpellingOptions","SpellingSuggestionsPacket","Sphere","SphereBox","SpherePoints","SphericalBesselJ","SphericalBesselY","SphericalHankelH1","SphericalHankelH2","SphericalHarmonicY","SphericalPlot3D","SphericalRegion","SphericalShell","SpheroidalEigenvalue","SpheroidalJoiningFactor","SpheroidalPS","SpheroidalPSPrime","SpheroidalQS","SpheroidalQSPrime","SpheroidalRadialFactor","SpheroidalS1","SpheroidalS1Prime","SpheroidalS2","SpheroidalS2Prime","Splice","SplicedDistribution","SplineClosed","SplineDegree","SplineKnots","SplineWeights","Split","SplitBy","SpokenString","Sqrt","SqrtBox","SqrtBoxOptions","Square","SquaredEuclideanDistance","SquareFreeQ","SquareIntersection","SquareMatrixQ","SquareRepeatingElement","SquaresR","SquareSubset","SquareSubsetEqual","SquareSuperset","SquareSupersetEqual","SquareUnion","SquareWave","SSSTriangle","StabilityMargins","StabilityMarginsStyle","StableDistribution","Stack","StackBegin","StackComplete","StackedDateListPlot","StackedListPlot","StackInhibit","StadiumShape","StandardAtmosphereData","StandardDeviation","StandardDeviationFilter","StandardForm","Standardize","Standardized","StandardOceanData","StandbyDistribution","Star","StarClusterData","StarData","StarGraph","StartAsynchronousTask","StartExternalSession","StartingStepSize","StartOfLine","StartOfString","StartProcess","StartScheduledTask","StartupSound","StartWebSession","StateDimensions","StateFeedbackGains","StateOutputEstimator","StateResponse","StateSpaceModel","StateSpaceRealization","StateSpaceTransform","StateTransformationLinearize","StationaryDistribution","StationaryWaveletPacketTransform","StationaryWaveletTransform","StatusArea","StatusCentrality","StepMonitor","StereochemistryElements","StieltjesGamma","StippleShading","StirlingS1","StirlingS2","StopAsynchronousTask","StoppingPowerData","StopScheduledTask","StrataVariables","StratonovichProcess","StreamColorFunction","StreamColorFunctionScaling","StreamDensityPlot","StreamMarkers","StreamPlot","StreamPoints","StreamPosition","Streams","StreamScale","StreamStyle","String","StringBreak","StringByteCount","StringCases","StringContainsQ","StringCount","StringDelete","StringDrop","StringEndsQ","StringExpression","StringExtract","StringForm","StringFormat","StringFreeQ","StringInsert","StringJoin","StringLength","StringMatchQ","StringPadLeft","StringPadRight","StringPart","StringPartition","StringPosition","StringQ","StringRepeat","StringReplace","StringReplaceList","StringReplacePart","StringReverse","StringRiffle","StringRotateLeft","StringRotateRight","StringSkeleton","StringSplit","StringStartsQ","StringTake","StringTemplate","StringToByteArray","StringToStream","StringTrim","StripBoxes","StripOnInput","StripWrapperBoxes","StrokeForm","StructuralImportance","StructuredArray","StructuredArrayHeadQ","StructuredSelection","StruveH","StruveL","Stub","StudentTDistribution","Style","StyleBox","StyleBoxAutoDelete","StyleData","StyleDefinitions","StyleForm","StyleHints","StyleKeyMapping","StyleMenuListing","StyleNameDialogSettings","StyleNames","StylePrint","StyleSheetPath","Subdivide","Subfactorial","Subgraph","SubMinus","SubPlus","SubresultantPolynomialRemainders","SubresultantPolynomials","Subresultants","Subscript","SubscriptBox","SubscriptBoxOptions","Subscripted","Subsequences","Subset","SubsetCases","SubsetCount","SubsetEqual","SubsetMap","SubsetPosition","SubsetQ","SubsetReplace","Subsets","SubStar","SubstitutionSystem","Subsuperscript","SubsuperscriptBox","SubsuperscriptBoxOptions","SubtitleEncoding","SubtitleTracks","Subtract","SubtractFrom","SubtractSides","SubValues","Succeeds","SucceedsEqual","SucceedsSlantEqual","SucceedsTilde","Success","SuchThat","Sum","SumConvergence","SummationLayer","Sunday","SunPosition","Sunrise","Sunset","SuperDagger","SuperMinus","SupernovaData","SuperPlus","Superscript","SuperscriptBox","SuperscriptBoxOptions","Superset","SupersetEqual","SuperStar","Surd","SurdForm","SurfaceAppearance","SurfaceArea","SurfaceColor","SurfaceData","SurfaceGraphics","SurvivalDistribution","SurvivalFunction","SurvivalModel","SurvivalModelFit","SuspendPacket","SuzukiDistribution","SuzukiGroupSuz","SwatchLegend","Switch","Symbol","SymbolName","SymletWavelet","Symmetric","SymmetricGroup","SymmetricKey","SymmetricMatrixQ","SymmetricPolynomial","SymmetricReduction","Symmetrize","SymmetrizedArray","SymmetrizedArrayRules","SymmetrizedDependentComponents","SymmetrizedIndependentComponents","SymmetrizedReplacePart","SynchronousInitialization","SynchronousUpdating","Synonyms","Syntax","SyntaxForm","SyntaxInformation","SyntaxLength","SyntaxPacket","SyntaxQ","SynthesizeMissingValues","SystemCredential","SystemCredentialData","SystemCredentialKey","SystemCredentialKeys","SystemCredentialStoreObject","SystemDialogInput","SystemException","SystemGet","SystemHelpPath","SystemInformation","SystemInformationData","SystemInstall","SystemModel","SystemModeler","SystemModelExamples","SystemModelLinearize","SystemModelParametricSimulate","SystemModelPlot","SystemModelProgressReporting","SystemModelReliability","SystemModels","SystemModelSimulate","SystemModelSimulateSensitivity","SystemModelSimulationData","SystemOpen","SystemOptions","SystemProcessData","SystemProcesses","SystemsConnectionsModel","SystemsModelDelay","SystemsModelDelayApproximate","SystemsModelDelete","SystemsModelDimensions","SystemsModelExtract","SystemsModelFeedbackConnect","SystemsModelLabels","SystemsModelLinearity","SystemsModelMerge","SystemsModelOrder","SystemsModelParallelConnect","SystemsModelSeriesConnect","SystemsModelStateFeedbackConnect","SystemsModelVectorRelativeOrders","SystemStub","SystemTest","Tab","TabFilling","Table","TableAlignments","TableDepth","TableDirections","TableForm","TableHeadings","TableSpacing","TableView","TableViewBox","TableViewBoxBackground","TableViewBoxItemSize","TableViewBoxOptions","TabSpacings","TabView","TabViewBox","TabViewBoxOptions","TagBox","TagBoxNote","TagBoxOptions","TaggingRules","TagSet","TagSetDelayed","TagStyle","TagUnset","Take","TakeDrop","TakeLargest","TakeLargestBy","TakeList","TakeSmallest","TakeSmallestBy","TakeWhile","Tally","Tan","Tanh","TargetDevice","TargetFunctions","TargetSystem","TargetUnits","TaskAbort","TaskExecute","TaskObject","TaskRemove","TaskResume","Tasks","TaskSuspend","TaskWait","TautologyQ","TelegraphProcess","TemplateApply","TemplateArgBox","TemplateBox","TemplateBoxOptions","TemplateEvaluate","TemplateExpression","TemplateIf","TemplateObject","TemplateSequence","TemplateSlot","TemplateSlotSequence","TemplateUnevaluated","TemplateVerbatim","TemplateWith","TemporalData","TemporalRegularity","Temporary","TemporaryVariable","TensorContract","TensorDimensions","TensorExpand","TensorProduct","TensorQ","TensorRank","TensorReduce","TensorSymmetry","TensorTranspose","TensorWedge","TestID","TestReport","TestReportObject","TestResultObject","Tetrahedron","TetrahedronBox","TetrahedronBoxOptions","TeXForm","TeXSave","Text","Text3DBox","Text3DBoxOptions","TextAlignment","TextBand","TextBoundingBox","TextBox","TextCases","TextCell","TextClipboardType","TextContents","TextData","TextElement","TextForm","TextGrid","TextJustification","TextLine","TextPacket","TextParagraph","TextPosition","TextRecognize","TextSearch","TextSearchReport","TextSentences","TextString","TextStructure","TextStyle","TextTranslation","Texture","TextureCoordinateFunction","TextureCoordinateScaling","TextWords","Therefore","ThermodynamicData","ThermometerGauge","Thick","Thickness","Thin","Thinning","ThisLink","ThompsonGroupTh","Thread","ThreadingLayer","ThreeJSymbol","Threshold","Through","Throw","ThueMorse","Thumbnail","Thursday","Ticks","TicksStyle","TideData","Tilde","TildeEqual","TildeFullEqual","TildeTilde","TimeConstrained","TimeConstraint","TimeDirection","TimeFormat","TimeGoal","TimelinePlot","TimeObject","TimeObjectQ","TimeRemaining","Times","TimesBy","TimeSeries","TimeSeriesAggregate","TimeSeriesForecast","TimeSeriesInsert","TimeSeriesInvertibility","TimeSeriesMap","TimeSeriesMapThread","TimeSeriesModel","TimeSeriesModelFit","TimeSeriesResample","TimeSeriesRescale","TimeSeriesShift","TimeSeriesThread","TimeSeriesWindow","TimeUsed","TimeValue","TimeWarpingCorrespondence","TimeWarpingDistance","TimeZone","TimeZoneConvert","TimeZoneOffset","Timing","Tiny","TitleGrouping","TitsGroupT","ToBoxes","ToCharacterCode","ToColor","ToContinuousTimeModel","ToDate","Today","ToDiscreteTimeModel","ToEntity","ToeplitzMatrix","ToExpression","ToFileName","Together","Toggle","ToggleFalse","Toggler","TogglerBar","TogglerBox","TogglerBoxOptions","ToHeldExpression","ToInvertibleTimeSeries","TokenWords","Tolerance","ToLowerCase","Tomorrow","ToNumberField","TooBig","Tooltip","TooltipBox","TooltipBoxOptions","TooltipDelay","TooltipStyle","ToonShading","Top","TopHatTransform","ToPolarCoordinates","TopologicalSort","ToRadicals","ToRules","ToSphericalCoordinates","ToString","Total","TotalHeight","TotalLayer","TotalVariationFilter","TotalWidth","TouchPosition","TouchscreenAutoZoom","TouchscreenControlPlacement","ToUpperCase","Tr","Trace","TraceAbove","TraceAction","TraceBackward","TraceDepth","TraceDialog","TraceForward","TraceInternal","TraceLevel","TraceOff","TraceOn","TraceOriginal","TracePrint","TraceScan","TrackedSymbols","TrackingFunction","TracyWidomDistribution","TradingChart","TraditionalForm","TraditionalFunctionNotation","TraditionalNotation","TraditionalOrder","TrainingProgressCheckpointing","TrainingProgressFunction","TrainingProgressMeasurements","TrainingProgressReporting","TrainingStoppingCriterion","TrainingUpdateSchedule","TransferFunctionCancel","TransferFunctionExpand","TransferFunctionFactor","TransferFunctionModel","TransferFunctionPoles","TransferFunctionTransform","TransferFunctionZeros","TransformationClass","TransformationFunction","TransformationFunctions","TransformationMatrix","TransformedDistribution","TransformedField","TransformedProcess","TransformedRegion","TransitionDirection","TransitionDuration","TransitionEffect","TransitiveClosureGraph","TransitiveReductionGraph","Translate","TranslationOptions","TranslationTransform","Transliterate","Transparent","TransparentColor","Transpose","TransposeLayer","TrapSelection","TravelDirections","TravelDirectionsData","TravelDistance","TravelDistanceList","TravelMethod","TravelTime","TreeForm","TreeGraph","TreeGraphQ","TreePlot","TrendStyle","Triangle","TriangleCenter","TriangleConstruct","TriangleMeasurement","TriangleWave","TriangularDistribution","TriangulateMesh","Trig","TrigExpand","TrigFactor","TrigFactorList","Trigger","TrigReduce","TrigToExp","TrimmedMean","TrimmedVariance","TropicalStormData","True","TrueQ","TruncatedDistribution","TruncatedPolyhedron","TsallisQExponentialDistribution","TsallisQGaussianDistribution","TTest","Tube","TubeBezierCurveBox","TubeBezierCurveBoxOptions","TubeBox","TubeBoxOptions","TubeBSplineCurveBox","TubeBSplineCurveBoxOptions","Tuesday","TukeyLambdaDistribution","TukeyWindow","TunnelData","Tuples","TuranGraph","TuringMachine","TuttePolynomial","TwoWayRule","Typed","TypeSpecifier","UnateQ","Uncompress","UnconstrainedParameters","Undefined","UnderBar","Underflow","Underlined","Underoverscript","UnderoverscriptBox","UnderoverscriptBoxOptions","Underscript","UnderscriptBox","UnderscriptBoxOptions","UnderseaFeatureData","UndirectedEdge","UndirectedGraph","UndirectedGraphQ","UndoOptions","UndoTrackedVariables","Unequal","UnequalTo","Unevaluated","UniformDistribution","UniformGraphDistribution","UniformPolyhedron","UniformSumDistribution","Uninstall","Union","UnionedEntityClass","UnionPlus","Unique","UnitaryMatrixQ","UnitBox","UnitConvert","UnitDimensions","Unitize","UnitRootTest","UnitSimplify","UnitStep","UnitSystem","UnitTriangle","UnitVector","UnitVectorLayer","UnityDimensions","UniverseModelData","UniversityData","UnixTime","Unprotect","UnregisterExternalEvaluator","UnsameQ","UnsavedVariables","Unset","UnsetShared","UntrackedVariables","Up","UpArrow","UpArrowBar","UpArrowDownArrow","Update","UpdateDynamicObjects","UpdateDynamicObjectsSynchronous","UpdateInterval","UpdatePacletSites","UpdateSearchIndex","UpDownArrow","UpEquilibrium","UpperCaseQ","UpperLeftArrow","UpperRightArrow","UpperTriangularize","UpperTriangularMatrixQ","Upsample","UpSet","UpSetDelayed","UpTee","UpTeeArrow","UpTo","UpValues","URL","URLBuild","URLDecode","URLDispatcher","URLDownload","URLDownloadSubmit","URLEncode","URLExecute","URLExpand","URLFetch","URLFetchAsynchronous","URLParse","URLQueryDecode","URLQueryEncode","URLRead","URLResponseTime","URLSave","URLSaveAsynchronous","URLShorten","URLSubmit","UseGraphicsRange","UserDefinedWavelet","Using","UsingFrontEnd","UtilityFunction","V2Get","ValenceErrorHandling","ValidationLength","ValidationSet","Value","ValueBox","ValueBoxOptions","ValueDimensions","ValueForm","ValuePreprocessingFunction","ValueQ","Values","ValuesData","Variables","Variance","VarianceEquivalenceTest","VarianceEstimatorFunction","VarianceGammaDistribution","VarianceTest","VectorAngle","VectorAround","VectorAspectRatio","VectorColorFunction","VectorColorFunctionScaling","VectorDensityPlot","VectorGlyphData","VectorGreater","VectorGreaterEqual","VectorLess","VectorLessEqual","VectorMarkers","VectorPlot","VectorPlot3D","VectorPoints","VectorQ","VectorRange","Vectors","VectorScale","VectorScaling","VectorSizes","VectorStyle","Vee","Verbatim","Verbose","VerboseConvertToPostScriptPacket","VerificationTest","VerifyConvergence","VerifyDerivedKey","VerifyDigitalSignature","VerifyFileSignature","VerifyInterpretation","VerifySecurityCertificates","VerifySolutions","VerifyTestAssumptions","Version","VersionedPreferences","VersionNumber","VertexAdd","VertexCapacity","VertexColors","VertexComponent","VertexConnectivity","VertexContract","VertexCoordinateRules","VertexCoordinates","VertexCorrelationSimilarity","VertexCosineSimilarity","VertexCount","VertexCoverQ","VertexDataCoordinates","VertexDegree","VertexDelete","VertexDiceSimilarity","VertexEccentricity","VertexInComponent","VertexInDegree","VertexIndex","VertexJaccardSimilarity","VertexLabeling","VertexLabels","VertexLabelStyle","VertexList","VertexNormals","VertexOutComponent","VertexOutDegree","VertexQ","VertexRenderingFunction","VertexReplace","VertexShape","VertexShapeFunction","VertexSize","VertexStyle","VertexTextureCoordinates","VertexWeight","VertexWeightedGraphQ","Vertical","VerticalBar","VerticalForm","VerticalGauge","VerticalSeparator","VerticalSlider","VerticalTilde","Video","VideoEncoding","VideoExtractFrames","VideoFrameList","VideoFrameMap","VideoPause","VideoPlay","VideoQ","VideoStop","VideoStream","VideoStreams","VideoTimeSeries","VideoTracks","VideoTrim","ViewAngle","ViewCenter","ViewMatrix","ViewPoint","ViewPointSelectorSettings","ViewPort","ViewProjection","ViewRange","ViewVector","ViewVertical","VirtualGroupData","Visible","VisibleCell","VoiceStyleData","VoigtDistribution","VolcanoData","Volume","VonMisesDistribution","VoronoiMesh","WaitAll","WaitAsynchronousTask","WaitNext","WaitUntil","WakebyDistribution","WalleniusHypergeometricDistribution","WaringYuleDistribution","WarpingCorrespondence","WarpingDistance","WatershedComponents","WatsonUSquareTest","WattsStrogatzGraphDistribution","WaveletBestBasis","WaveletFilterCoefficients","WaveletImagePlot","WaveletListPlot","WaveletMapIndexed","WaveletMatrixPlot","WaveletPhi","WaveletPsi","WaveletScale","WaveletScalogram","WaveletThreshold","WeaklyConnectedComponents","WeaklyConnectedGraphComponents","WeaklyConnectedGraphQ","WeakStationarity","WeatherData","WeatherForecastData","WebAudioSearch","WebElementObject","WeberE","WebExecute","WebImage","WebImageSearch","WebSearch","WebSessionObject","WebSessions","WebWindowObject","Wedge","Wednesday","WeibullDistribution","WeierstrassE1","WeierstrassE2","WeierstrassE3","WeierstrassEta1","WeierstrassEta2","WeierstrassEta3","WeierstrassHalfPeriods","WeierstrassHalfPeriodW1","WeierstrassHalfPeriodW2","WeierstrassHalfPeriodW3","WeierstrassInvariantG2","WeierstrassInvariantG3","WeierstrassInvariants","WeierstrassP","WeierstrassPPrime","WeierstrassSigma","WeierstrassZeta","WeightedAdjacencyGraph","WeightedAdjacencyMatrix","WeightedData","WeightedGraphQ","Weights","WelchWindow","WheelGraph","WhenEvent","Which","While","White","WhiteNoiseProcess","WhitePoint","Whitespace","WhitespaceCharacter","WhittakerM","WhittakerW","WienerFilter","WienerProcess","WignerD","WignerSemicircleDistribution","WikidataData","WikidataSearch","WikipediaData","WikipediaSearch","WilksW","WilksWTest","WindDirectionData","WindingCount","WindingPolygon","WindowClickSelect","WindowElements","WindowFloating","WindowFrame","WindowFrameElements","WindowMargins","WindowMovable","WindowOpacity","WindowPersistentStyles","WindowSelected","WindowSize","WindowStatusArea","WindowTitle","WindowToolbars","WindowWidth","WindSpeedData","WindVectorData","WinsorizedMean","WinsorizedVariance","WishartMatrixDistribution","With","WolframAlpha","WolframAlphaDate","WolframAlphaQuantity","WolframAlphaResult","WolframLanguageData","Word","WordBoundary","WordCharacter","WordCloud","WordCount","WordCounts","WordData","WordDefinition","WordFrequency","WordFrequencyData","WordList","WordOrientation","WordSearch","WordSelectionFunction","WordSeparators","WordSpacings","WordStem","WordTranslation","WorkingPrecision","WrapAround","Write","WriteLine","WriteString","Wronskian","XMLElement","XMLObject","XMLTemplate","Xnor","Xor","XYZColor","Yellow","Yesterday","YuleDissimilarity","ZernikeR","ZeroSymmetric","ZeroTest","ZeroWidthTimes","Zeta","ZetaZero","ZIPCodeData","ZipfDistribution","ZoomCenter","ZoomFactor","ZTest","ZTransform","$Aborted","$ActivationGroupID","$ActivationKey","$ActivationUserRegistered","$AddOnsDirectory","$AllowDataUpdates","$AllowExternalChannelFunctions","$AllowInternet","$AssertFunction","$Assumptions","$AsynchronousTask","$AudioDecoders","$AudioEncoders","$AudioInputDevices","$AudioOutputDevices","$BaseDirectory","$BasePacletsDirectory","$BatchInput","$BatchOutput","$BlockchainBase","$BoxForms","$ByteOrdering","$CacheBaseDirectory","$Canceled","$ChannelBase","$CharacterEncoding","$CharacterEncodings","$CloudAccountName","$CloudBase","$CloudConnected","$CloudConnection","$CloudCreditsAvailable","$CloudEvaluation","$CloudExpressionBase","$CloudObjectNameFormat","$CloudObjectURLType","$CloudRootDirectory","$CloudSymbolBase","$CloudUserID","$CloudUserUUID","$CloudVersion","$CloudVersionNumber","$CloudWolframEngineVersionNumber","$CommandLine","$CompilationTarget","$ConditionHold","$ConfiguredKernels","$Context","$ContextPath","$ControlActiveSetting","$Cookies","$CookieStore","$CreationDate","$CurrentLink","$CurrentTask","$CurrentWebSession","$DataStructures","$DateStringFormat","$DefaultAudioInputDevice","$DefaultAudioOutputDevice","$DefaultFont","$DefaultFrontEnd","$DefaultImagingDevice","$DefaultLocalBase","$DefaultMailbox","$DefaultNetworkInterface","$DefaultPath","$DefaultProxyRules","$DefaultSystemCredentialStore","$Display","$DisplayFunction","$DistributedContexts","$DynamicEvaluation","$Echo","$EmbedCodeEnvironments","$EmbeddableServices","$EntityStores","$Epilog","$EvaluationCloudBase","$EvaluationCloudObject","$EvaluationEnvironment","$ExportFormats","$ExternalIdentifierTypes","$ExternalStorageBase","$Failed","$FinancialDataSource","$FontFamilies","$FormatType","$FrontEnd","$FrontEndSession","$GeoEntityTypes","$GeoLocation","$GeoLocationCity","$GeoLocationCountry","$GeoLocationPrecision","$GeoLocationSource","$HistoryLength","$HomeDirectory","$HTMLExportRules","$HTTPCookies","$HTTPRequest","$IgnoreEOF","$ImageFormattingWidth","$ImageResolution","$ImagingDevice","$ImagingDevices","$ImportFormats","$IncomingMailSettings","$InitialDirectory","$Initialization","$InitializationContexts","$Input","$InputFileName","$InputStreamMethods","$Inspector","$InstallationDate","$InstallationDirectory","$InterfaceEnvironment","$InterpreterTypes","$IterationLimit","$KernelCount","$KernelID","$Language","$LaunchDirectory","$LibraryPath","$LicenseExpirationDate","$LicenseID","$LicenseProcesses","$LicenseServer","$LicenseSubprocesses","$LicenseType","$Line","$Linked","$LinkSupported","$LoadedFiles","$LocalBase","$LocalSymbolBase","$MachineAddresses","$MachineDomain","$MachineDomains","$MachineEpsilon","$MachineID","$MachineName","$MachinePrecision","$MachineType","$MaxExtraPrecision","$MaxLicenseProcesses","$MaxLicenseSubprocesses","$MaxMachineNumber","$MaxNumber","$MaxPiecewiseCases","$MaxPrecision","$MaxRootDegree","$MessageGroups","$MessageList","$MessagePrePrint","$Messages","$MinMachineNumber","$MinNumber","$MinorReleaseNumber","$MinPrecision","$MobilePhone","$ModuleNumber","$NetworkConnected","$NetworkInterfaces","$NetworkLicense","$NewMessage","$NewSymbol","$NotebookInlineStorageLimit","$Notebooks","$NoValue","$NumberMarks","$Off","$OperatingSystem","$Output","$OutputForms","$OutputSizeLimit","$OutputStreamMethods","$Packages","$ParentLink","$ParentProcessID","$PasswordFile","$PatchLevelID","$Path","$PathnameSeparator","$PerformanceGoal","$Permissions","$PermissionsGroupBase","$PersistenceBase","$PersistencePath","$PipeSupported","$PlotTheme","$Post","$Pre","$PreferencesDirectory","$PreInitialization","$PrePrint","$PreRead","$PrintForms","$PrintLiteral","$Printout3DPreviewer","$ProcessID","$ProcessorCount","$ProcessorType","$ProductInformation","$ProgramName","$PublisherID","$RandomState","$RecursionLimit","$RegisteredDeviceClasses","$RegisteredUserName","$ReleaseNumber","$RequesterAddress","$RequesterWolframID","$RequesterWolframUUID","$RootDirectory","$ScheduledTask","$ScriptCommandLine","$ScriptInputString","$SecuredAuthenticationKeyTokens","$ServiceCreditsAvailable","$Services","$SessionID","$SetParentLink","$SharedFunctions","$SharedVariables","$SoundDisplay","$SoundDisplayFunction","$SourceLink","$SSHAuthentication","$SubtitleDecoders","$SubtitleEncoders","$SummaryBoxDataSizeLimit","$SuppressInputFormHeads","$SynchronousEvaluation","$SyntaxHandler","$System","$SystemCharacterEncoding","$SystemCredentialStore","$SystemID","$SystemMemory","$SystemShell","$SystemTimeZone","$SystemWordLength","$TemplatePath","$TemporaryDirectory","$TemporaryPrefix","$TestFileName","$TextStyle","$TimedOut","$TimeUnit","$TimeZone","$TimeZoneEntity","$TopDirectory","$TraceOff","$TraceOn","$TracePattern","$TracePostAction","$TracePreAction","$UnitSystem","$Urgent","$UserAddOnsDirectory","$UserAgentLanguages","$UserAgentMachine","$UserAgentName","$UserAgentOperatingSystem","$UserAgentString","$UserAgentVersion","$UserBaseDirectory","$UserBasePacletsDirectory","$UserDocumentsDirectory","$Username","$UserName","$UserURLBase","$Version","$VersionNumber","$VideoDecoders","$VideoEncoders","$VoiceStyles","$WolframDocumentsDirectory","$WolframID","$WolframUUID"];function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function mathematica(hljs){const BASE_RE=/([2-9]|[1-2]\d|[3][0-5])\^\^/;const BASE_DIGITS_RE=/(\w*\.\w+|\w+\.\w*|\w+)/;const NUMBER_RE=/(\d*\.\d+|\d+\.\d*|\d+)/;const BASE_NUMBER_RE=either(concat(BASE_RE,BASE_DIGITS_RE),NUMBER_RE);const ACCURACY_RE=/``[+-]?(\d*\.\d+|\d+\.\d*|\d+)/;const PRECISION_RE=/`([+-]?(\d*\.\d+|\d+\.\d*|\d+))?/;const APPROXIMATE_NUMBER_RE=either(ACCURACY_RE,PRECISION_RE);const SCIENTIFIC_NOTATION_RE=/\*\^[+-]?\d+/;const MATHEMATICA_NUMBER_RE=concat(BASE_NUMBER_RE,optional(APPROXIMATE_NUMBER_RE),optional(SCIENTIFIC_NOTATION_RE));const NUMBERS={className:"number",relevance:0,begin:MATHEMATICA_NUMBER_RE};const SYMBOL_RE=/[a-zA-Z$][a-zA-Z0-9$]*/;const SYSTEM_SYMBOLS_SET=new Set(SYSTEM_SYMBOLS);const SYMBOLS={variants:[{className:"builtin-symbol",begin:SYMBOL_RE,"on:begin":(match,response)=>{if(!SYSTEM_SYMBOLS_SET.has(match[0]))response.ignoreMatch()}},{className:"symbol",relevance:0,begin:SYMBOL_RE}]};const NAMED_CHARACTER={className:"named-character",begin:/\\\[[$a-zA-Z][$a-zA-Z0-9]+\]/};const OPERATORS={className:"operator",relevance:0,begin:/[+\-*/,;.:@~=><&|_`'^?!%]+/};const PATTERNS={className:"pattern",relevance:0,begin:/([a-zA-Z$][a-zA-Z0-9$]*)?_+([a-zA-Z$][a-zA-Z0-9$]*)?/};const SLOTS={className:"slot",relevance:0,begin:/#[a-zA-Z$][a-zA-Z0-9$]*|#+[0-9]?/};const BRACES={className:"brace",relevance:0,begin:/[[\](){}]/};const MESSAGES={className:"message-name",relevance:0,begin:concat("::",SYMBOL_RE)};return{name:"Mathematica",aliases:["mma","wl"],classNameAliases:{brace:"punctuation",pattern:"type",slot:"type",symbol:"variable","named-character":"variable","builtin-symbol":"built_in","message-name":"string"},contains:[hljs.COMMENT(/\(\*/,/\*\)/,{contains:["self"]}),PATTERNS,SLOTS,MESSAGES,SYMBOLS,NAMED_CHARACTER,hljs.QUOTE_STRING_MODE,NUMBERS,OPERATORS,BRACES]}}module.exports=mathematica},function(module,exports){function matlab(hljs){var TRANSPOSE_RE="('|\\.')+";var TRANSPOSE={relevance:0,contains:[{begin:TRANSPOSE_RE}]};return{name:"Matlab",keywords:{keyword:"arguments break case catch classdef continue else elseif end enumeration events for function "+"global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan "+"atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot "+"cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog "+"realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal "+"cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli "+"besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma "+"gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms "+"nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones "+"eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length "+"ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril "+"triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute "+"shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan "+"isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal "+"rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table "+"readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun "+"legend intersect ismember procrustes hold num2cell "},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[hljs.UNDERSCORE_TITLE_MODE,{className:"params",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}]},{className:"built_in",begin:/true|false/,relevance:0,starts:TRANSPOSE},{begin:"[a-zA-Z][a-zA-Z_0-9]*"+TRANSPOSE_RE,relevance:0},{className:"number",begin:hljs.C_NUMBER_RE,relevance:0,starts:TRANSPOSE},{className:"string",begin:"'",end:"'",contains:[hljs.BACKSLASH_ESCAPE,{begin:"''"}]},{begin:/\]|\}|\)/,relevance:0,starts:TRANSPOSE},{className:"string",begin:'"',end:'"',contains:[hljs.BACKSLASH_ESCAPE,{begin:'""'}],starts:TRANSPOSE},hljs.COMMENT("^\\s*%\\{\\s*$","^\\s*%\\}\\s*$"),hljs.COMMENT("%","$")]}}module.exports=matlab},function(module,exports){function maxima(hljs){const KEYWORDS="if then else elseif for thru do while unless step in and or not";const LITERALS="true false unknown inf minf ind und %e %i %pi %phi %gamma";const BUILTIN_FUNCTIONS=" abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate"+" addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix"+" adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type"+" alias allroots alphacharp alphanumericp amortization %and annuity_fv"+" annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2"+" applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply"+" arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger"+" asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order"+" asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method"+" av average_degree backtrace bars barsplot barsplot_description base64 base64_decode"+" bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx"+" bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify"+" bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized"+" bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp"+" bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition"+" block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description"+" break bug_report build_info|10 buildq build_sample burn cabs canform canten"+" cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli"+" cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform"+" cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel"+" cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial"+" cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson"+" cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay"+" ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic"+" cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2"+" charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps"+" chinese cholesky christof chromatic_index chromatic_number cint circulant_graph"+" clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph"+" clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse"+" collectterms columnop columnspace columnswap columnvector combination combine"+" comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph"+" complete_graph complex_number_p components compose_functions concan concat"+" conjugate conmetderiv connected_components connect_vertices cons constant"+" constantp constituent constvalue cont2part content continuous_freq contortion"+" contour_plot contract contract_edge contragrad contrib_ode convert coord"+" copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1"+" covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline"+" ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph"+" cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate"+" declare declare_constvalue declare_dimensions declare_fundamental_dimensions"+" declare_fundamental_units declare_qty declare_translated declare_unit_conversion"+" declare_units declare_weights decsym defcon define define_alt_display define_variable"+" defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten"+" delta demo demoivre denom depends derivdegree derivlist describe desolve"+" determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag"+" diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export"+" dimacs_import dimension dimensionless dimensions dimensions_as_list direct"+" directory discrete_freq disjoin disjointp disolate disp dispcon dispform"+" dispfun dispJordan display disprule dispterms distrib divide divisors divsum"+" dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart"+" draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring"+" edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth"+" einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome"+" ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using"+" ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi"+" ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp"+" equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors"+" euler ev eval_string evenp every evolution evolution2d evundiff example exp"+" expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci"+" expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li"+" expintegral_shi expintegral_si explicit explose exponentialize express expt"+" exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum"+" factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements"+" fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge"+" file_search file_type fillarray findde find_root find_root_abs find_root_error"+" find_root_rel first fix flatten flength float floatnump floor flower_snark"+" flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran"+" fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp"+" foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s"+" from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp"+" fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units"+" fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized"+" gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide"+" gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym"+" geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean"+" geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string"+" get_pixel get_plot_option get_tex_environment get_tex_environment_default"+" get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close"+" gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum"+" gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import"+" graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery"+" graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph"+" grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path"+" hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite"+" hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description"+" hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph"+" icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy"+" ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart"+" imetric implicit implicit_derivative implicit_plot indexed_tensor indices"+" induced_subgraph inferencep inference_result infix info_display init_atensor"+" init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions"+" integrate intersect intersection intervalp intopois intosum invariant1 invariant2"+" inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc"+" inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns"+" inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint"+" invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph"+" is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate"+" isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph"+" items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc"+" jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd"+" jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill"+" killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis"+" kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform"+" kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete"+" kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace"+" kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2"+" kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson"+" kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange"+" laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp"+" lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length"+" let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit"+" Lindstedt linear linearinterpol linear_program linear_regression line_graph"+" linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials"+" listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry"+" log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst"+" lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact"+" lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub"+" lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma"+" make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country"+" make_polygon make_random_state make_rgb_picture makeset make_string_input_stream"+" make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom"+" maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display"+" mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker"+" max max_clique max_degree max_flow maximize_lp max_independent_set max_matching"+" maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform"+" mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete"+" mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic"+" mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t"+" mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull"+" median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree"+" min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor"+" minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton"+" mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions"+" multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff"+" multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary"+" natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext"+" newdet new_graph newline newton new_variable next_prime nicedummies niceindices"+" ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp"+" nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst"+" nthroot nullity nullspace num numbered_boundaries numberp number_to_octets"+" num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai"+" nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin"+" oid_to_octets op opena opena_binary openr openr_binary openw openw_binary"+" operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless"+" orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap"+" out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface"+" parg parGosper parse_string parse_timedate part part2cont partfrac partition"+" partition_set partpol path_digraph path_graph pathname_directory pathname_name"+" pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform"+" pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete"+" pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal"+" pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal"+" pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t"+" pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph"+" petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding"+" playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff"+" poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar"+" polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion"+" poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal"+" poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal"+" poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation"+" poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm"+" poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form"+" poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part"+" poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension"+" poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod"+" powerseries powerset prefix prev_prime primep primes principal_components"+" print printf printfile print_graph printpois printprops prodrac product properties"+" propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct"+" puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp"+" quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile"+" quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2"+" quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f"+" quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel"+" quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal"+" quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t"+" quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t"+" quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan"+" radius random random_bernoulli random_beta random_binomial random_bipartite_graph"+" random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform"+" random_exp random_f random_gamma random_general_finite_discrete random_geometric"+" random_graph random_graph1 random_gumbel random_hypergeometric random_laplace"+" random_logistic random_lognormal random_negative_binomial random_network"+" random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto"+" random_permutation random_poisson random_rayleigh random_regular_graph random_student_t"+" random_tournament random_tree random_weibull range rank rat ratcoef ratdenom"+" ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump"+" ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array"+" read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline"+" read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate"+" realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar"+" rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus"+" rem remainder remarray rembox remcomps remcon remcoord remfun remfunction"+" remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions"+" remove_fundamental_units remove_plot_option remove_vertex rempart remrule"+" remsym remvalue rename rename_file reset reset_displays residue resolvante"+" resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein"+" resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer"+" rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann"+" rinvariant risch rk rmdir rncombine romberg room rootscontract round row"+" rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i"+" scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description"+" scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second"+" sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight"+" setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state"+" set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications"+" set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path"+" show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform"+" simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert"+" sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial"+" skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp"+" skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric"+" skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic"+" skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t"+" skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t"+" skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph"+" smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve"+" solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export"+" sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1"+" spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition"+" sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus"+" ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot"+" starplot_description status std std1 std_bernoulli std_beta std_binomial"+" std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma"+" std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace"+" std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t"+" std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull"+" stemplot stirling stirling1 stirling2 strim striml strimr string stringout"+" stringp strong_components struve_h struve_l sublis sublist sublist_indices"+" submatrix subsample subset subsetp subst substinpart subst_parallel substpart"+" substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext"+" symbolp symmdifference symmetricp system take_channel take_inference tan"+" tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract"+" tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference"+" test_normality test_proportion test_proportions_difference test_rank_sum"+" test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display"+" texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter"+" toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep"+" totalfourier totient tpartpol trace tracematrix trace_options transform_sample"+" translate translate_file transpose treefale tree_reduce treillis treinat"+" triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate"+" truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph"+" truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget"+" ultraspherical underlying_graph undiff union unique uniteigenvectors unitp"+" units unit_step unitvector unorder unsum untellrat untimer"+" untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli"+" var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform"+" var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel"+" var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial"+" var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson"+" var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp"+" verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance"+" vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle"+" vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j"+" wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian"+" xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta"+" zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors"+" zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table"+" absboxchar activecontexts adapt_depth additive adim aform algebraic"+" algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic"+" animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar"+" asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top"+" azimuth background background_color backsubst berlefact bernstein_explicit"+" besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest"+" border boundaries_array box boxchar breakup %c capping cauchysum cbrange"+" cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics"+" colorbox columns commutative complex cone context contexts contour contour_levels"+" cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp"+" cube current_let_rule_package cylinder data_file_name debugmode decreasing"+" default_let_rule_package delay dependencies derivabbrev derivsubst detout"+" diagmetric diff dim dimensions dispflag display2d|10 display_format_internal"+" distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor"+" doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules"+" dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart"+" edge_color edge_coloring edge_partition edge_type edge_width %edispflag"+" elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer"+" epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type"+" %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand"+" expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine"+" factlim factorflag factorial_expand factors_only fb feature features"+" file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10"+" file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color"+" fill_density filled_func fixed_vertices flipflag float2bf font font_size"+" fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim"+" gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command"+" gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command"+" gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command"+" gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble"+" gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args"+" Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both"+" head_length head_type height hypergeometric_representation %iargs ibase"+" icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form"+" ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval"+" infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued"+" integrate_use_rootsof integration_constant integration_constant_counter interpolate_color"+" intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr"+" julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment"+" label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max"+" leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear"+" linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params"+" linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname"+" loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx"+" logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros"+" mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult"+" matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10"+" maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint"+" maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp"+" mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver"+" modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag"+" newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc"+" noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np"+" npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties"+" opsubst optimprefix optionset orientation origin orthopoly_returns_intervals"+" outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution"+" %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart"+" png_file pochhammer_max_index points pointsize point_size points_joined point_type"+" poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm"+" poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list"+" poly_secondary_elimination_order poly_top_reduction_only posfun position"+" powerdisp pred prederror primep_number_of_tests product_use_gamma program"+" programmode promote_float_to_bigfloat prompt proportional_axes props psexpand"+" ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof"+" ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann"+" ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw"+" refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs"+" rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy"+" same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck"+" setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width"+" show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type"+" show_vertices show_weight simp simplified_output simplify_products simpproduct"+" simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn"+" solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag"+" stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda"+" subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric"+" tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials"+" tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch"+" tr track transcompile transform transform_xy translate_fast_arrays transparent"+" transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex"+" tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign"+" trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars"+" tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode"+" tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes"+" ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble"+" usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition"+" vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface"+" wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel"+" xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate"+" xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel"+" xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width"+" ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis"+" ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis"+" yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob"+" zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest";const SYMBOLS="_ __ %|0 %%|0";return{name:"Maxima",keywords:{$pattern:"[A-Za-z_%][0-9A-Za-z_%]*",keyword:KEYWORDS,literal:LITERALS,built_in:BUILTIN_FUNCTIONS,symbol:SYMBOLS},contains:[{className:"comment",begin:"/\\*",end:"\\*/",contains:["self"]},hljs.QUOTE_STRING_MODE,{className:"number",relevance:0,variants:[{begin:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Ee][-+]?\\d+\\b"},{begin:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Bb][-+]?\\d+\\b",relevance:10},{begin:"\\b(\\.\\d+|\\d+\\.\\d+)\\b"},{begin:"\\b(\\d+|0[0-9A-Za-z]+)\\.?\\b"}]}],illegal:/@/}}module.exports=maxima},function(module,exports){function mel(hljs){return{name:"MEL",keywords:"int float string vector matrix if else switch case default while do for in break "+"continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic "+"addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey "+"affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve "+"alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor "+"animDisplay animView annotate appendStringArray applicationName applyAttrPreset "+"applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx "+"artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu "+"artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand "+"assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface "+"attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu "+"attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp "+"attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery "+"autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults "+"bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership "+"bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType "+"boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu "+"buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge "+"cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch "+"catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox "+"character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp "+"checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip "+"clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore "+"closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter "+"cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color "+"colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp "+"colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem "+"componentEditor compositingInterop computePolysetVolume condition cone confirmDialog "+"connectAttr connectControl connectDynamic connectJoint connectionInfo constrain "+"constrainValue constructionHistory container containsMultibyte contextInfo control "+"convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation "+"convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache "+"cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel "+"cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver "+"cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor "+"createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer "+"createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse "+"currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx "+"curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface "+"curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox "+"defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete "+"deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes "+"delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo "+"dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable "+"disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected "+"displayColor displayCull displayLevelOfDetail displayPref displayRGBColor "+"displaySmoothness displayStats displayString displaySurface distanceDimContext "+"distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct "+"doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator "+"duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression "+"dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor "+"dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers "+"editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor "+"editorTemplate effector emit emitter enableDevice encodeString endString endsWith env "+"equivalent equivalentTol erf error eval evalDeferred evalEcho event "+"exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp "+"expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof "+"fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo "+"filetest filletCurve filter filterCurve filterExpand filterStudioImport "+"findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster "+"finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar "+"floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo "+"fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint "+"frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss "+"geometryConstraint getApplicationVersionAsFloat getAttr getClassification "+"getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes "+"getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender "+"glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl "+"gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid "+"gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap "+"HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor "+"HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached "+"HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel "+"headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey "+"hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender "+"hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox "+"iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel "+"ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem "+"ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform "+"insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance "+"instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp "+"interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf "+"isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect "+"itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx "+"jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner "+"keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx "+"keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx "+"keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx "+"keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor "+"layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList "+"lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep "+"listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory "+"listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation "+"listNodeTypes listPanelCategories listRelatives listSets listTransforms "+"listUnselected listerEditor loadFluid loadNewShelf loadPlugin "+"loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log "+"longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive "+"makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext "+"manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx "+"manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout "+"menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp "+"mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move "+"moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute "+"nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast "+"nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint "+"normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect "+"nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref "+"nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType "+"objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface "+"offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit "+"orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier "+"paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration "+"panelHistory paramDimContext paramDimension paramLocator parent parentConstraint "+"particle particleExists particleInstancer particleRenderInfo partition pasteKey "+"pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture "+"pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo "+"pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult "+"pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend "+"polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal "+"polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge "+"polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge "+"polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet "+"polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet "+"polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection "+"polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge "+"polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet "+"polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix "+"polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut "+"polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet "+"polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge "+"polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex "+"polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection "+"polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection "+"polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint "+"polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate "+"polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge "+"polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing "+"polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet "+"polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace "+"popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer "+"projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx "+"propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd "+"python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection "+"radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl "+"readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference "+"referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE "+"registerPluginResource rehash reloadImage removeJoint removeMultiInstance "+"removePanelCategory rename renameAttr renameSelectionList renameUI render "+"renderGlobalsNode renderInfo renderLayerButton renderLayerParent "+"renderLayerPostProcess renderLayerUnparent renderManip renderPartition "+"renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor "+"renderWindowSelectContext renderer reorder reorderDeformers requires reroot "+"resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget "+"reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx "+"rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout "+"runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage "+"saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale "+"scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor "+"sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable "+"scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt "+"searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey "+"selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType "+"selectedNodes selectionConnection separator setAttr setAttrEnumResource "+"setAttrMapping setAttrNiceNameResource setConstraintRestPosition "+"setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr "+"setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe "+"setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag "+"setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject "+"setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets "+"shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare "+"shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField "+"shortNameOf showHelp showHidden showManipCtx showSelectionInTitle "+"showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface "+"size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep "+"snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound "+"soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort "+"spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString "+"startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp "+"stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex "+"stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex "+"stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString "+"stringToStringArray strip stripPrefixFromName stroke subdAutoProjection "+"subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV "+"subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror "+"subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease "+"subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring "+"surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton "+"symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext "+"texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext "+"texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text "+"textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList "+"textToShelf textureDisplacePlane textureHairColor texturePlacementContext "+"textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath "+"toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower "+"toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper "+"trace track trackCtx transferAttributes transformCompare transformLimits translator "+"trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence "+"twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit "+"unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink "+"uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane "+"viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex "+"waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire "+"wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",illegal:"</",contains:[hljs.C_NUMBER_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[hljs.BACKSLASH_ESCAPE]},{begin:/[$%@](\^\w\b|#\w+|[^\s\w{]|\{\w+\}|\w+)/},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]}}module.exports=mel},function(module,exports){function mercury(hljs){const KEYWORDS={keyword:"module use_module import_module include_module end_module initialise "+"mutable initialize finalize finalise interface implementation pred "+"mode func type inst solver any_pred any_func is semidet det nondet "+"multi erroneous failure cc_nondet cc_multi typeclass instance where "+"pragma promise external trace atomic or_else require_complete_switch "+"require_det require_semidet require_multi require_nondet "+"require_cc_multi require_cc_nondet require_erroneous require_failure",meta:"inline no_inline type_spec source_file fact_table obsolete memo "+"loop_check minimal_model terminates does_not_terminate "+"check_termination promise_equivalent_clauses "+"foreign_proc foreign_decl foreign_code foreign_type "+"foreign_import_module foreign_export_enum foreign_export "+"foreign_enum may_call_mercury will_not_call_mercury thread_safe "+"not_thread_safe maybe_thread_safe promise_pure promise_semipure "+"tabled_for_io local untrailed trailed attach_to_io_state "+"can_pass_as_mercury_type stable will_not_throw_exception "+"may_modify_trail will_not_modify_trail may_duplicate "+"may_not_duplicate affects_liveness does_not_affect_liveness "+"doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any "+"semidet_true semidet_false semidet_fail impure_true impure semipure"};const COMMENT=hljs.COMMENT("%","$");const NUMCODE={className:"number",begin:"0'.\\|0[box][0-9a-fA-F]*"};const ATOM=hljs.inherit(hljs.APOS_STRING_MODE,{relevance:0});const STRING=hljs.inherit(hljs.QUOTE_STRING_MODE,{relevance:0});const STRING_FMT={className:"subst",begin:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",relevance:0};STRING.contains=STRING.contains.slice();STRING.contains.push(STRING_FMT);const IMPLICATION={className:"built_in",variants:[{begin:"<=>"},{begin:"<=",relevance:0},{begin:"=>",relevance:0},{begin:"/\\\\"},{begin:"\\\\/"}]};const HEAD_BODY_CONJUNCTION={className:"built_in",variants:[{begin:":-\\|--\x3e"},{begin:"=",relevance:0}]};return{name:"Mercury",aliases:["m","moo"],keywords:KEYWORDS,contains:[IMPLICATION,HEAD_BODY_CONJUNCTION,COMMENT,hljs.C_BLOCK_COMMENT_MODE,NUMCODE,hljs.NUMBER_MODE,ATOM,STRING,{begin:/:-/},{begin:/\.$/}]}}module.exports=mercury},function(module,exports){function mipsasm(hljs){return{name:"MIPS Assembly",case_insensitive:true,aliases:["mips"],keywords:{$pattern:"\\.?"+hljs.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg ",built_in:"$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 "+"$16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $30 $31 "+"zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 "+"t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 "+"k0 k1 gp sp fp ra "+"$f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 "+"$f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 "+"Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi "+"HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId "+"EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr "+"ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt "},contains:[{className:"keyword",begin:"\\b("+"addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|"+"bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(\\.hb)?|jr(\\.hb)?|lbu?|lhu?|"+"ll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|"+"multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|"+"srlv?|subu?|sw[lr]?|xori?|wsbh|"+"abs\\.[sd]|add\\.[sd]|alnv.ps|bc1[ft]l?|"+"c\\.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et])\\.[sd]|"+"(ceil|floor|round|trunc)\\.[lw]\\.[sd]|cfc1|cvt\\.d\\.[lsw]|"+"cvt\\.l\\.[dsw]|cvt\\.ps\\.s|cvt\\.s\\.[dlw]|cvt\\.s\\.p[lu]|cvt\\.w\\.[dls]|"+"div\\.[ds]|ldx?c1|luxc1|lwx?c1|madd\\.[sd]|mfc1|mov[fntz]?\\.[ds]|"+"msub\\.[sd]|mth?c1|mul\\.[ds]|neg\\.[ds]|nmadd\\.[ds]|nmsub\\.[ds]|"+"p[lu][lu]\\.ps|recip\\.fmt|r?sqrt\\.[ds]|sdx?c1|sub\\.[ds]|suxc1|"+"swx?c1|"+"break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|"+"rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|"+"tlti?u?|tnei?|wait|wrpgpr"+")",end:"\\s"},hljs.COMMENT("[;#](?!\\s*$)","$"),hljs.C_BLOCK_COMMENT_MODE,hljs.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"0x[0-9a-f]+"},{begin:"\\b-?\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^\\s*[0-9]+:"},{begin:"[0-9]+[bf]"}],relevance:0}],illegal:/\//}}module.exports=mipsasm},function(module,exports){function mizar(hljs){return{name:"Mizar",keywords:"environ vocabularies notations constructors definitions "+"registrations theorems schemes requirements begin end definition "+"registration cluster existence pred func defpred deffunc theorem "+"proof let take assume then thus hence ex for st holds consider "+"reconsider such that and in provided of as from be being by means "+"equals implies iff redefine define now not or attr is mode "+"suppose per cases set thesis contradiction scheme reserve struct "+"correctness compatibility coherence symmetry assymetry "+"reflexivity irreflexivity connectedness uniqueness commutativity "+"idempotence involutiveness projectivity",contains:[hljs.COMMENT("::","$")]}}module.exports=mizar},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function perl(hljs){const KEYWORDS=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"];const REGEX_MODIFIERS=/[dualxmsipngr]{0,12}/;const PERL_KEYWORDS={$pattern:/[\w.]+/,keyword:KEYWORDS.join(" ")};const SUBST={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:PERL_KEYWORDS};const METHOD={begin:/->\{/,end:/\}/};const VAR={variants:[{begin:/\$\d/},{begin:concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,`(?![A-Za-z])(?![@$%])`)},{begin:/[$%@][^\s\w{]/,relevance:0}]};const STRING_CONTAINS=[hljs.BACKSLASH_ESCAPE,SUBST,VAR];const REGEX_DELIMS=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/];const PAIRED_DOUBLE_RE=(prefix,open,close="\\1")=>{const middle=close==="\\1"?close:concat(close,open);return concat(concat("(?:",prefix,")"),open,/(?:\\.|[^\\\/])*?/,middle,/(?:\\.|[^\\\/])*?/,close,REGEX_MODIFIERS)};const PAIRED_RE=(prefix,open,close)=>concat(concat("(?:",prefix,")"),open,/(?:\\.|[^\\\/])*?/,close,REGEX_MODIFIERS);const PERL_DEFAULT_CONTAINS=[VAR,hljs.HASH_COMMENT_MODE,hljs.COMMENT(/^=\w/,/=cut/,{endsWithParent:true}),METHOD,{className:"string",contains:STRING_CONTAINS,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[hljs.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[hljs.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+hljs.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[hljs.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:PAIRED_DOUBLE_RE("s|tr|y",either(...REGEX_DELIMS))},{begin:PAIRED_DOUBLE_RE("s|tr|y","\\(","\\)")},{begin:PAIRED_DOUBLE_RE("s|tr|y","\\[","\\]")},{begin:PAIRED_DOUBLE_RE("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:PAIRED_RE("(?:m|qr)?",/\//,/\//)},{begin:PAIRED_RE("m|qr",either(...REGEX_DELIMS),/\1/)},{begin:PAIRED_RE("m|qr",/\(/,/\)/)},{begin:PAIRED_RE("m|qr",/\[/,/\]/)},{begin:PAIRED_RE("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:true,relevance:5,contains:[hljs.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];SUBST.contains=PERL_DEFAULT_CONTAINS;METHOD.contains=PERL_DEFAULT_CONTAINS;return{name:"Perl",aliases:["pl","pm"],keywords:PERL_KEYWORDS,contains:PERL_DEFAULT_CONTAINS}}module.exports=perl},function(module,exports){function mojolicious(hljs){return{name:"Mojolicious",subLanguage:"xml",contains:[{className:"meta",begin:"^__(END|DATA)__$"},{begin:"^\\s*%{1,2}={0,2}",end:"$",subLanguage:"perl"},{begin:"<%{1,2}={0,2}",end:"={0,1}%>",subLanguage:"perl",excludeBegin:true,excludeEnd:true}]}}module.exports=mojolicious},function(module,exports){function monkey(hljs){const NUMBER={className:"number",relevance:0,variants:[{begin:"[$][a-fA-F0-9]+"},hljs.NUMBER_MODE]};return{name:"Monkey",case_insensitive:true,keywords:{keyword:"public private property continue exit extern new try catch "+"eachin not abstract final select case default const local global field "+"end if then else elseif endif while wend repeat until forever for "+"to step next return module inline throw import",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil "+"Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},illegal:/\/\*/,contains:[hljs.COMMENT("#rem","#end"),hljs.COMMENT("'","$",{relevance:0}),{className:"function",beginKeywords:"function method",end:"[(=:]|$",illegal:/\n/,contains:[hljs.UNDERSCORE_TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:"$",contains:[{beginKeywords:"extends implements"},hljs.UNDERSCORE_TITLE_MODE]},{className:"built_in",begin:"\\b(self|super)\\b"},{className:"meta",begin:"\\s*#",end:"$",keywords:{"meta-keyword":"if else elseif endif end then"}},{className:"meta",begin:"^\\s*strict\\b"},{beginKeywords:"alias",end:"=",contains:[hljs.UNDERSCORE_TITLE_MODE]},hljs.QUOTE_STRING_MODE,NUMBER]}}module.exports=monkey},function(module,exports){function moonscript(hljs){const KEYWORDS={keyword:"if then not for in while do return else elseif break continue switch and or "+"unless when class extends super local import export from using",literal:"true false nil",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load "+"loadfile loadstring module next pairs pcall print rawequal rawget rawset require "+"select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug "+"io math os package string table"};const JS_IDENT_RE="[A-Za-z$_][0-9A-Za-z$_]*";const SUBST={className:"subst",begin:/#\{/,end:/\}/,keywords:KEYWORDS};const EXPRESSIONS=[hljs.inherit(hljs.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'/,end:/'/,contains:[hljs.BACKSLASH_ESCAPE]},{begin:/"/,end:/"/,contains:[hljs.BACKSLASH_ESCAPE,SUBST]}]},{className:"built_in",begin:"@__"+hljs.IDENT_RE},{begin:"@"+hljs.IDENT_RE},{begin:hljs.IDENT_RE+"\\\\"+hljs.IDENT_RE}];SUBST.contains=EXPRESSIONS;const TITLE=hljs.inherit(hljs.TITLE_MODE,{begin:JS_IDENT_RE});const POSSIBLE_PARAMS_RE="(\\(.*\\)\\s*)?\\B[-=]>";const PARAMS={className:"params",begin:"\\([^\\(]",returnBegin:true,contains:[{begin:/\(/,end:/\)/,keywords:KEYWORDS,contains:["self"].concat(EXPRESSIONS)}]};return{name:"MoonScript",aliases:["moon"],keywords:KEYWORDS,illegal:/\/\*/,contains:EXPRESSIONS.concat([hljs.COMMENT("--","$"),{className:"function",begin:"^\\s*"+JS_IDENT_RE+"\\s*=\\s*"+POSSIBLE_PARAMS_RE,end:"[-=]>",returnBegin:true,contains:[TITLE,PARAMS]},{begin:/[\(,:=]\s*/,relevance:0,contains:[{className:"function",begin:POSSIBLE_PARAMS_RE,end:"[-=]>",returnBegin:true,contains:[PARAMS]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:true,illegal:/[:="\[\]]/,contains:[TITLE]},TITLE]},{className:"name",begin:JS_IDENT_RE+":",end:":",returnBegin:true,returnEnd:true,relevance:0}])}}module.exports=moonscript},function(module,exports){function n1ql(hljs){return{name:"N1QL",case_insensitive:true,contains:[{beginKeywords:"build create index delete drop explain infer|10 insert merge prepare select update upsert|10",end:/;/,endsWithParent:true,keywords:{keyword:"all alter analyze and any array as asc begin between binary boolean break bucket build by call "+"case cast cluster collate collection commit connect continue correlate cover create database "+"dataset datastore declare decrement delete derived desc describe distinct do drop each element "+"else end every except exclude execute exists explain fetch first flatten for force from "+"function grant group gsi having if ignore ilike in include increment index infer inline inner "+"insert intersect into is join key keys keyspace known last left let letting like limit lsm map "+"mapping matched materialized merge minus namespace nest not number object offset on "+"option or order outer over parse partition password path pool prepare primary private privilege "+"procedure public raw realm reduce rename return returning revoke right role rollback satisfies "+"schema select self semi set show some start statistics string system then to transaction trigger "+"truncate under union unique unknown unnest unset update upsert use user using validate value "+"valued values via view when where while with within work xor",literal:"true false null missing|5",built_in:"array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length "+"array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace "+"array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull "+"missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis "+"date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str "+"duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str "+"str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode "+"base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random "+"round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values "+"object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position "+"regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper "+"isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring"},contains:[{className:"string",begin:"'",end:"'",contains:[hljs.BACKSLASH_ESCAPE]},{className:"string",begin:'"',end:'"',contains:[hljs.BACKSLASH_ESCAPE]},{className:"symbol",begin:"`",end:"`",contains:[hljs.BACKSLASH_ESCAPE],relevance:2},hljs.C_NUMBER_MODE,hljs.C_BLOCK_COMMENT_MODE]},hljs.C_BLOCK_COMMENT_MODE]}}module.exports=n1ql},function(module,exports){function nginx(hljs){const VAR={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/\}/},{begin:/[$@]/+hljs.UNDERSCORE_IDENT_RE}]};const DEFAULT={endsWithParent:true,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit "+"select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[hljs.HASH_COMMENT_MODE,{className:"string",contains:[hljs.BACKSLASH_ESCAPE,VAR],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:true,excludeEnd:true,contains:[VAR]},{className:"regexp",contains:[hljs.BACKSLASH_ESCAPE,VAR],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:true},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:true},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},VAR]};return{name:"Nginx config",aliases:["nginxconf"],contains:[hljs.HASH_COMMENT_MODE,{begin:hljs.UNDERSCORE_IDENT_RE+"\\s+\\{",returnBegin:true,end:/\{/,contains:[{className:"section",begin:hljs.UNDERSCORE_IDENT_RE}],relevance:0},{begin:hljs.UNDERSCORE_IDENT_RE+"\\s",end:";|\\{",returnBegin:true,contains:[{className:"attribute",begin:hljs.UNDERSCORE_IDENT_RE,starts:DEFAULT}],relevance:0}],illegal:"[^\\s\\}]"}}module.exports=nginx},function(module,exports){function nim(hljs){return{name:"Nim",keywords:{keyword:"addr and as asm bind block break case cast const continue converter "+"discard distinct div do elif else end enum except export finally "+"for from func generic if import in include interface is isnot iterator "+"let macro method mixin mod nil not notin object of or out proc ptr "+"raise ref return shl shr static template try tuple type using var "+"when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float "+"float32 float64 bool char string cstring pointer expr stmt void "+"auto any range array openarray varargs seq set clong culong cchar "+"cschar cshort cint csize clonglong cfloat cdouble clongdouble "+"cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/\{\./,end:/\.\}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},hljs.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},hljs.HASH_COMMENT_MODE]}}module.exports=nim},function(module,exports){function nix(hljs){const NIX_KEYWORDS={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw "+"toString derivation"};const ANTIQUOTE={className:"subst",begin:/\$\{/,end:/\}/,keywords:NIX_KEYWORDS};const ATTRS={begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:true,relevance:0,contains:[{className:"attr",begin:/\S+/}]};const STRING={className:"string",contains:[ANTIQUOTE],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]};const EXPRESSIONS=[hljs.NUMBER_MODE,hljs.HASH_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRING,ATTRS];ANTIQUOTE.contains=EXPRESSIONS;return{name:"Nix",aliases:["nixos"],keywords:NIX_KEYWORDS,contains:EXPRESSIONS}}module.exports=nix},function(module,exports){function nodeRepl(hljs){return{name:"Node REPL",contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"javascript"}},variants:[{begin:/^>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}module.exports=nodeRepl},function(module,exports){function nsis(hljs){const CONSTANTS={className:"variable",begin:/\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/};const DEFINES={className:"variable",begin:/\$+\{[\w.:-]+\}/};const VARIABLES={className:"variable",begin:/\$+\w+/,illegal:/\(\)\{\}/};const LANGUAGES={className:"variable",begin:/\$+\([\w^.:-]+\)/};const PARAMETERS={className:"params",begin:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"};const COMPILER={className:"keyword",begin:/!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|searchparse|searchreplace|system|tempfile|undef|verbose|warning)/};const METACHARS={className:"meta",begin:/\$(\\[nrt]|\$)/};const PLUGINS={className:"class",begin:/\w+::\w+/};const STRING={className:"string",variants:[{begin:'"',end:'"'},{begin:"'",end:"'"},{begin:"`",end:"`"}],illegal:/\n/,contains:[METACHARS,CONSTANTS,DEFINES,VARIABLES,LANGUAGES]};return{name:"NSIS",case_insensitive:false,keywords:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecShellWait ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileWriteUTF16LE FileSeek FileWrite FileWriteByte FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetKnownFolderPath GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfRtlLanguage IfShellVarContextAll IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText Int64Cmp Int64CmpU Int64Fmt IntCmp IntCmpU IntFmt IntOp IntPtrCmp IntPtrCmpU IntPtrOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadAndSetImage LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestLongPathAware ManifestMaxVersionTested ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PEAddResource PEDllCharacteristics PERemoveResource PESubsysVer Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegMultiStr WriteRegNone WriteRegStr WriteUninstaller XPStyle",literal:"admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib"},contains:[hljs.HASH_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.COMMENT(";","$",{relevance:0}),{className:"function",beginKeywords:"Function PageEx Section SectionGroup",end:"$"},STRING,COMPILER,DEFINES,VARIABLES,LANGUAGES,PARAMETERS,PLUGINS,hljs.NUMBER_MODE]}}module.exports=nsis},function(module,exports){function objectivec(hljs){const API_CLASS={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"};const IDENTIFIER_RE=/[a-zA-Z@][a-zA-Z0-9_]*/;const OBJC_KEYWORDS={$pattern:IDENTIFIER_RE,keyword:"int float while char export sizeof typedef const struct for union "+"unsigned long volatile static bool mutable if do return goto void "+"enum else break extern asm case short default double register explicit "+"signed typename this switch continue wchar_t inline readonly assign "+"readwrite self @synchronized id typeof "+"nonatomic super unichar IBOutlet IBAction strong weak copy "+"in out inout bycopy byref oneway __strong __weak __block __autoreleasing "+"@private @protected @public @try @property @end @throw @catch @finally "+"@autoreleasepool @synthesize @dynamic @selector @optional @required "+"@encode @package @import @defs @compatibility_alias "+"__bridge __bridge_transfer __bridge_retained __bridge_retain "+"__covariant __contravariant __kindof "+"_Nonnull _Nullable _Null_unspecified "+"__FUNCTION__ __PRETTY_FUNCTION__ __attribute__ "+"getter setter retain unsafe_unretained "+"nonnull nullable null_unspecified null_resettable class instancetype "+"NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER "+"NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED "+"NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE "+"NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END "+"NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW "+"NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};const CLASS_KEYWORDS={$pattern:IDENTIFIER_RE,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:OBJC_KEYWORDS,illegal:"</",contains:[API_CLASS,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.C_NUMBER_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line "+"pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},hljs.inherit(hljs.QUOTE_STRING_MODE,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+CLASS_KEYWORDS.keyword.split(" ").join("|")+")\\b",end:/(\{|$)/,excludeEnd:true,keywords:CLASS_KEYWORDS,contains:[hljs.UNDERSCORE_TITLE_MODE]},{begin:"\\."+hljs.UNDERSCORE_IDENT_RE,relevance:0}]}}module.exports=objectivec},function(module,exports){function ocaml(hljs){return{name:"OCaml",aliases:["ml"],keywords:{$pattern:"[a-z_]\\w*!?",keyword:"and as assert asr begin class constraint do done downto else end "+"exception external for fun function functor if in include "+"inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method "+"mod module mutable new object of open! open or private rec sig struct "+"then to try type val! val virtual when while with "+"parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit "+"in_channel out_channel ref",literal:"true false"},illegal:/\/\/|>>/,contains:[{className:"literal",begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},hljs.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*",relevance:0},hljs.inherit(hljs.APOS_STRING_MODE,{className:"string",relevance:0}),hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|"+"0[oO][0-7_]+[Lln]?|"+"0[bB][01_]+[Lln]?|"+"[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/->/}]}}module.exports=ocaml},function(module,exports){function openscad(hljs){const SPECIAL_VARS={className:"keyword",begin:"\\$(f[asn]|t|vp[rtd]|children)"};const LITERALS={className:"literal",begin:"false|true|PI|undef"};const NUMBERS={className:"number",begin:"\\b\\d+(\\.\\d+)?(e-?\\d+)?",relevance:0};const STRING=hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null});const PREPRO={className:"meta",keywords:{"meta-keyword":"include use"},begin:"include|use <",end:">"};const PARAMS={className:"params",begin:"\\(",end:"\\)",contains:["self",NUMBERS,STRING,SPECIAL_VARS,LITERALS]};const MODIFIERS={begin:"[*!#%]",relevance:0};const FUNCTIONS={className:"function",beginKeywords:"module function",end:/=|\{/,contains:[PARAMS,hljs.UNDERSCORE_TITLE_MODE]};return{name:"OpenSCAD",aliases:["scad"],keywords:{keyword:"function module include use for intersection_for if else \\%",literal:"false true PI undef",built_in:"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,NUMBERS,PREPRO,STRING,SPECIAL_VARS,MODIFIERS,FUNCTIONS]}}module.exports=openscad},function(module,exports){function oxygene(hljs){const OXYGENE_KEYWORDS={$pattern:/\.?\w+/,keyword:"abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue "+"create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false "+"final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited "+"inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of "+"old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly "+"record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple "+"type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal "+"register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained"};const CURLY_COMMENT=hljs.COMMENT(/\{/,/\}/,{relevance:0});const PAREN_COMMENT=hljs.COMMENT("\\(\\*","\\*\\)",{relevance:10});const STRING={className:"string",begin:"'",end:"'",contains:[{begin:"''"}]};const CHAR_STRING={className:"string",begin:"(#\\d+)+"};const FUNCTION={className:"function",beginKeywords:"function constructor destructor procedure method",end:"[:;]",keywords:"function constructor|10 destructor|10 procedure|10 method|10",contains:[hljs.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",keywords:OXYGENE_KEYWORDS,contains:[STRING,CHAR_STRING]},CURLY_COMMENT,PAREN_COMMENT]};return{name:"Oxygene",case_insensitive:true,keywords:OXYGENE_KEYWORDS,illegal:'("|\\$[G-Zg-z]|\\/\\*|</|=>|->)',contains:[CURLY_COMMENT,PAREN_COMMENT,hljs.C_LINE_COMMENT_MODE,STRING,CHAR_STRING,hljs.NUMBER_MODE,FUNCTION,{className:"class",begin:"=\\bclass\\b",end:"end;",keywords:OXYGENE_KEYWORDS,contains:[STRING,CHAR_STRING,CURLY_COMMENT,PAREN_COMMENT,hljs.C_LINE_COMMENT_MODE,FUNCTION]}]}}module.exports=oxygene},function(module,exports){function parser3(hljs){const CURLY_SUBCOMMENT=hljs.COMMENT(/\{/,/\}/,{contains:["self"]});return{name:"Parser3",subLanguage:"xml",relevance:0,contains:[hljs.COMMENT("^#","$"),hljs.COMMENT(/\^rem\{/,/\}/,{relevance:10,contains:[CURLY_SUBCOMMENT]}),{className:"meta",begin:"^@(?:BASE|USE|CLASS|OPTIONS)$",relevance:10},{className:"title",begin:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{className:"variable",begin:/\$\{?[\w\-.:]+\}?/},{className:"keyword",begin:/\^[\w\-.:]+/},{className:"number",begin:"\\^#[0-9a-fA-F]+"},hljs.C_NUMBER_MODE]}}module.exports=parser3},function(module,exports){function pf(hljs){const MACRO={className:"variable",begin:/\$[\w\d#@][\w\d_]*/};const TABLE={className:"variable",begin:/<(?!\/)/,end:/>/};return{name:"Packet Filter config",aliases:["pf.conf"],keywords:{$pattern:/[a-z0-9_<>-]+/,built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to route "+"allow-opts divert-packet divert-reply divert-to flags group icmp-type "+"icmp6-type label once probability recieved-on rtable prio queue "+"tos tag tagged user keep fragment for os drop "+"af-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robin "+"source-hash static-port "+"dup-to reply-to route-to "+"parent bandwidth default min max qlimit "+"block-policy debug fingerprints hostid limit loginterface optimization "+"reassemble ruleset-optimization basic none profile skip state-defaults "+"state-policy timeout "+"const counters persist "+"no modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppy "+"source-track global rule max-src-nodes max-src-states max-src-conn "+"max-src-conn-rate overload flush "+"scrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},contains:[hljs.HASH_COMMENT_MODE,hljs.NUMBER_MODE,hljs.QUOTE_STRING_MODE,MACRO,TABLE]}}module.exports=pf},function(module,exports){function pgsql(hljs){const COMMENT_MODE=hljs.COMMENT("--","$");const UNQUOTED_IDENT="[a-zA-Z_][a-zA-Z_0-9$]*";const DOLLAR_STRING="\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$";const LABEL="<<\\s*"+UNQUOTED_IDENT+"\\s*>>";const SQL_KW="ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE "+"DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY "+"PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW "+"START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES "+"AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN "+"WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS "+"FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM "+"TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS "+"METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION "+"INDEX PROCEDURE ASSERTION "+"ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK "+"COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS "+"DEFERRABLE RANGE "+"DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING "+"ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT "+"NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY "+"REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN "+"TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH "+"BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN "+"BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT "+"TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN "+"EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH "+"REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL "+"ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED "+"INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 "+"INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE "+"ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES "+"RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS "+"UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF "+"FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING "+"RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED "+"OF NOTHING NONE EXCLUDE ATTRIBUTE "+"USAGE ROUTINES "+"TRUE FALSE NAN INFINITY ";const ROLE_ATTRS="SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT "+"LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ";const PLPGSQL_KW="ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS "+"STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT "+"OPEN ";const TYPES="BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR "+"CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 "+"MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 "+"SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 "+"TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR "+"INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 "+"ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL "+"RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR "+"NAME "+"OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 "+"REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ";const TYPES_RE=TYPES.trim().split(" ").map((function(val){return val.split("|")[0]})).join("|");const SQL_BI="CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP "+"CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC ";const PLPGSQL_BI="FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 "+"TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 "+"ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME "+"PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 "+"PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 ";const PLPGSQL_EXCEPTIONS="SQLSTATE SQLERRM|10 "+"SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING "+"NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED "+"STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED "+"SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE "+"SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION "+"TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED "+"INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR "+"INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION "+"STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION "+"DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW "+"DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW "+"INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION "+"INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION "+"INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST "+"INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE "+"NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE "+"INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE "+"INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT "+"INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH "+"NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE "+"SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION "+"SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING "+"FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION "+"BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT "+"INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION "+"INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION "+"UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE "+"INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE "+"HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION "+"INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION "+"NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION "+"SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION "+"IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME "+"TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD "+"DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST "+"INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT "+"MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED "+"READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION "+"CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED "+"PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED "+"EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED "+"TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED "+"SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME "+"INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION "+"SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED "+"SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE "+"GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME "+"NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH "+"INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN "+"UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT "+"DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION "+"DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS "+"DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS "+"INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION "+"INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION "+"INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION "+"INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL "+"OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED "+"STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE "+"OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION "+"QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED "+"SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR "+"LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED "+"FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION "+"FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER "+"FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS "+"FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX "+"FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH "+"FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES "+"FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE "+"FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION "+"FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR "+"RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED "+"INDEX_CORRUPTED ";const FUNCTIONS="ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG "+"JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG "+"CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE "+"REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP "+"PERCENTILE_CONT PERCENTILE_DISC "+"ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE "+"NUM_NONNULLS NUM_NULLS "+"ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT "+"TRUNC WIDTH_BUCKET "+"RANDOM SETSEED "+"ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND "+"BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER "+"ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP "+"LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 "+"QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY "+"REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR "+"TO_ASCII TO_HEX TRANSLATE "+"OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE "+"TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP "+"AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL "+"MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 "+"TIMEOFDAY TRANSACTION_TIMESTAMP|10 "+"ENUM_FIRST ENUM_LAST ENUM_RANGE "+"AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH "+"BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON "+"ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY "+"INET_MERGE MACADDR8_SET7BIT "+"ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY "+"QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE "+"TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY "+"TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN "+"XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT "+"XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT "+"XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES "+"TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA "+"QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA "+"CURSOR_TO_XML CURSOR_TO_XMLSCHEMA "+"SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA "+"DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA "+"XMLATTRIBUTES "+"TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT "+"JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH "+"JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH "+"JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET "+"JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT "+"JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET "+"JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY "+"CURRVAL LASTVAL NEXTVAL SETVAL "+"COALESCE NULLIF GREATEST LEAST "+"ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION "+"ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY "+"STRING_TO_ARRAY UNNEST "+"ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE "+"GENERATE_SERIES GENERATE_SUBSCRIPTS "+"CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT "+"INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE "+"TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE "+"COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION "+"TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX "+"TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS "+"CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE "+"GIN_CLEAN_PENDING_LIST "+"SUPPRESS_REDUNDANT_UPDATES_TRIGGER "+"LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE "+"GROUPING CAST ";const FUNCTIONS_RE=FUNCTIONS.trim().split(" ").map((function(val){return val.split("|")[0]})).join("|");return{name:"PostgreSQL",aliases:["postgres","postgresql"],case_insensitive:true,keywords:{keyword:SQL_KW+PLPGSQL_KW+ROLE_ATTRS,built_in:SQL_BI+PLPGSQL_BI+PLPGSQL_EXCEPTIONS},illegal:/:==|\W\s*\(\*|(^|\s)\$[a-z]|\{\{|[a-z]:\s*$|\.\.\.|TO:|DO:/,contains:[{className:"keyword",variants:[{begin:/\bTEXT\s*SEARCH\b/},{begin:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{begin:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{begin:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{begin:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{begin:/\bNULLS\s+(FIRST|LAST)\b/},{begin:/\bEVENT\s+TRIGGER\b/},{begin:/\b(MAPPING|OR)\s+REPLACE\b/},{begin:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{begin:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{begin:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{begin:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/},{begin:/\bPRESERVE\s+ROWS\b/},{begin:/\bDISCARD\s+PLANS\b/},{begin:/\bREFERENCING\s+(OLD|NEW)\b/},{begin:/\bSKIP\s+LOCKED\b/},{begin:/\bGROUPING\s+SETS\b/},{begin:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{begin:/\b(WITH|WITHOUT)\s+HOLD\b/},{begin:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{begin:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{begin:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{begin:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{begin:/\bIS\s+(NOT\s+)?UNKNOWN\b/},{begin:/\bSECURITY\s+LABEL\b/},{begin:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/},{begin:/\bWITH\s+(NO\s+)?DATA\b/},{begin:/\b(FOREIGN|SET)\s+DATA\b/},{begin:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{begin:/\b(WITH|FOR)\s+ORDINALITY\b/},{begin:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{begin:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{begin:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{begin:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{begin:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{begin:/\bAT\s+TIME\s+ZONE\b/},{begin:/\bGRANTED\s+BY\b/},{begin:/\bRETURN\s+(QUERY|NEXT)\b/},{begin:/\b(ATTACH|DETACH)\s+PARTITION\b/},{begin:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{begin:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/},{begin:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{begin:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{begin:/\bINCLUDE\s*\(/,keywords:"INCLUDE"},{begin:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/},{begin:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/},{begin:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,relevance:10},{begin:/\bEXTRACT\s*\(/,end:/\bFROM\b/,returnEnd:true,keywords:{type:"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS "+"MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR "+"TIMEZONE_MINUTE WEEK YEAR"}},{begin:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,keywords:{keyword:"NAME"}},{begin:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,keywords:{keyword:"DOCUMENT CONTENT"}},{beginKeywords:"CACHE INCREMENT MAXVALUE MINVALUE",end:hljs.C_NUMBER_RE,returnEnd:true,keywords:"BY CACHE INCREMENT MAXVALUE MINVALUE"},{className:"type",begin:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{className:"type",begin:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/},{begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,keywords:{keyword:"RETURNS",type:"LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER"}},{begin:"\\b("+FUNCTIONS_RE+")\\s*\\("},{begin:"\\.("+TYPES_RE+")\\b"},{begin:"\\b("+TYPES_RE+")\\s+PATH\\b",keywords:{keyword:"PATH",type:TYPES.replace("PATH ","")}},{className:"type",begin:"\\b("+TYPES_RE+")\\b"},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:"(e|E|u&|U&)'",end:"'",contains:[{begin:"\\\\."}],relevance:10},hljs.END_SAME_AS_BEGIN({begin:DOLLAR_STRING,end:DOLLAR_STRING,contains:[{subLanguage:["pgsql","perl","python","tcl","r","lua","java","php","ruby","bash","scheme","xml","json"],endsWithParent:true}]}),{begin:'"',end:'"',contains:[{begin:'""'}]},hljs.C_NUMBER_MODE,hljs.C_BLOCK_COMMENT_MODE,COMMENT_MODE,{className:"meta",variants:[{begin:"%(ROW)?TYPE",relevance:10},{begin:"\\$\\d+"},{begin:"^#\\w",end:"$"}]},{className:"symbol",begin:LABEL,relevance:10}]}}module.exports=pgsql},function(module,exports){function php(hljs){const VARIABLE={className:"variable",begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"+`(?![A-Za-z0-9])(?![$])`};const PREPROCESSOR={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]};const SUBST={className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]};const SINGLE_QUOTED=hljs.inherit(hljs.APOS_STRING_MODE,{illegal:null});const DOUBLE_QUOTED=hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null,contains:hljs.QUOTE_STRING_MODE.contains.concat(SUBST)});const HEREDOC=hljs.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/,contains:hljs.QUOTE_STRING_MODE.contains.concat(SUBST)});const STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE,PREPROCESSOR],variants:[hljs.inherit(SINGLE_QUOTED,{begin:"b'",end:"'"}),hljs.inherit(DOUBLE_QUOTED,{begin:'b"',end:'"'}),DOUBLE_QUOTED,SINGLE_QUOTED,HEREDOC]};const NUMBER={className:"number",variants:[{begin:`\\b0b[01]+(?:_[01]+)*\\b`},{begin:`\\b0o[0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?`}],relevance:0};const KEYWORDS={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ "+"die echo exit include include_once print require require_once "+"array abstract and as binary bool boolean break callable case catch class clone const continue declare "+"default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends "+"final finally float for foreach from global goto if implements instanceof insteadof int integer interface "+"isset iterable list match|0 mixed new object or private protected public real return string switch throw trait "+"try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 "+"AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError "+"ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap "+"Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php3","php4","php5","php6","php7","php8"],case_insensitive:true,keywords:KEYWORDS,contains:[hljs.HASH_COMMENT_MODE,hljs.COMMENT("//","$",{contains:[PREPROCESSOR]}),hljs.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),hljs.COMMENT("__halt_compiler.+?;",false,{endsWithParent:true,keywords:"__halt_compiler"}),PREPROCESSOR,{className:"keyword",begin:/\$this\b/},VARIABLE,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:true,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},hljs.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:true},{className:"params",begin:"\\(",end:"\\)",excludeBegin:true,excludeEnd:true,keywords:KEYWORDS,contains:["self",VARIABLE,hljs.C_BLOCK_COMMENT_MODE,STRING,NUMBER]}]},{className:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:true,contains:[{beginKeywords:"extends implements"},hljs.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[hljs.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",relevance:0,end:";",contains:[hljs.UNDERSCORE_TITLE_MODE]},STRING,NUMBER]}}module.exports=php},function(module,exports){function phpTemplate(hljs){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:true},{begin:'b"',end:'"',skip:true},{begin:"b'",end:"'",skip:true},hljs.inherit(hljs.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:true}),hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:true})]}]}}module.exports=phpTemplate},function(module,exports){function plaintext(hljs){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:true}}module.exports=plaintext},function(module,exports){function pony(hljs){const KEYWORDS={keyword:"actor addressof and as be break class compile_error compile_intrinsic "+"consume continue delegate digestof do else elseif embed end error "+"for fun if ifdef in interface is isnt lambda let match new not object "+"or primitive recover repeat return struct then trait try type until "+"use var where while with xor",meta:"iso val tag trn box ref",literal:"this false true"};const TRIPLE_QUOTE_STRING_MODE={className:"string",begin:'"""',end:'"""',relevance:10};const QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',contains:[hljs.BACKSLASH_ESCAPE]};const SINGLE_QUOTE_CHAR_MODE={className:"string",begin:"'",end:"'",contains:[hljs.BACKSLASH_ESCAPE],relevance:0};const TYPE_NAME={className:"type",begin:"\\b_?[A-Z][\\w]*",relevance:0};const PRIMED_NAME={begin:hljs.IDENT_RE+"'",relevance:0};const NUMBER_MODE={className:"number",begin:"(-?)(\\b0[xX][a-fA-F0-9]+|\\b0[bB][01]+|(\\b\\d+(_\\d+)?(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",relevance:0};return{name:"Pony",keywords:KEYWORDS,contains:[TYPE_NAME,TRIPLE_QUOTE_STRING_MODE,QUOTE_STRING_MODE,SINGLE_QUOTE_CHAR_MODE,PRIMED_NAME,NUMBER_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]}}module.exports=pony},function(module,exports){function powershell(hljs){const TYPES=["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"];const VALID_VERBS="Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|"+"Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|"+"Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|"+"Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|"+"ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|"+"Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|"+"Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|"+"Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|"+"Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|"+"Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|"+"Unprotect|Use|ForEach|Sort|Tee|Where";const COMPARISON_OPERATORS="-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|"+"-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|"+"-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|"+"-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|"+"-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|"+"-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|"+"-split|-wildcard|-xor";const KEYWORDS={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam "+"end break throw param continue finally in switch exit filter try process catch "+"hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp "+"cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx "+"fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group "+"gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi "+"iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh "+"popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp "+"rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp "+"spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"};const TITLE_NAME_RE=/\w[\w\d]*((-)[\w\d]+)*/;const BACKTICK_ESCAPE={begin:"`[\\s\\S]",relevance:0};const VAR={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]};const LITERAL={className:"literal",begin:/\$(null|true|false)\b/};const QUOTE_STRING={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[BACKTICK_ESCAPE,VAR,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]};const APOS_STRING={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]};const PS_HELPTAGS={className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]};const PS_COMMENT=hljs.inherit(hljs.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[PS_HELPTAGS]});const CMDLETS={className:"built_in",variants:[{begin:"(".concat(VALID_VERBS,")+(-)[\\w\\d]+")}]};const PS_CLASS={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:true,relevance:0,contains:[hljs.TITLE_MODE]};const PS_FUNCTION={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:true,returnBegin:true,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:TITLE_NAME_RE,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[VAR]}]};const PS_USING={begin:/using\s/,end:/$/,returnBegin:true,contains:[QUOTE_STRING,APOS_STRING,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]};const PS_ARGUMENTS={variants:[{className:"operator",begin:"(".concat(COMPARISON_OPERATORS,")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]};const HASH_SIGNS={className:"selector-tag",begin:/@\B/,relevance:0};const PS_METHODS={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:true,relevance:0,contains:[{className:"keyword",begin:"(".concat(KEYWORDS.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:true,relevance:0},hljs.inherit(hljs.TITLE_MODE,{endsParent:true})]};const GENTLEMANS_SET=[PS_METHODS,PS_COMMENT,BACKTICK_ESCAPE,hljs.NUMBER_MODE,QUOTE_STRING,APOS_STRING,CMDLETS,VAR,LITERAL,HASH_SIGNS];const PS_TYPE={begin:/\[/,end:/\]/,excludeBegin:true,excludeEnd:true,relevance:0,contains:[].concat("self",GENTLEMANS_SET,{begin:"("+TYPES.join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};PS_METHODS.contains.unshift(PS_TYPE);return{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:true,keywords:KEYWORDS,contains:GENTLEMANS_SET.concat(PS_CLASS,PS_FUNCTION,PS_USING,PS_ARGUMENTS,PS_TYPE)}}module.exports=powershell},function(module,exports){function processing(hljs){return{name:"Processing",keywords:{keyword:"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color "+"double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject "+"Object StringDict StringList Table TableRow XML "+"false synchronized int abstract float private char boolean static null if const "+"for true while long throw strictfp finally protected import native final return void "+"enum else break transient new catch instanceof byte super volatile case assert short "+"package default double public try this switch continue throws protected public private",literal:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",title:"setup draw",built_in:"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key "+"keyCode pixels focused frameCount frameRate height width "+"size createGraphics beginDraw createShape loadShape PShape arc ellipse line point "+"quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint "+"curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex "+"endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap "+"strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased "+"mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour "+"millis minute month second year background clear colorMode fill noFill noStroke stroke alpha "+"blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY "+"screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum "+"ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle "+"pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf "+"nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset "+"box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings "+"loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput "+"createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings "+"saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale "+"shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal "+"pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap "+"blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont "+"loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil "+"constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees "+"radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE]}}module.exports=processing},function(module,exports){function profile(hljs){return{name:"Python profiler",contains:[hljs.C_NUMBER_MODE,{begin:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",end:":",excludeEnd:true},{begin:"(ncalls|tottime|cumtime)",end:"$",keywords:"ncalls tottime|10 cumtime|10 filename",relevance:10},{begin:"function calls",end:"$",contains:[hljs.C_NUMBER_MODE],relevance:10},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{className:"string",begin:"\\(",end:"\\)$",excludeBegin:true,excludeEnd:true,relevance:0}]}}module.exports=profile},function(module,exports){function prolog(hljs){const ATOM={begin:/[a-z][A-Za-z0-9_]*/,relevance:0};const VAR={className:"symbol",variants:[{begin:/[A-Z][a-zA-Z0-9_]*/},{begin:/_[A-Za-z0-9_]*/}],relevance:0};const PARENTED={begin:/\(/,end:/\)/,relevance:0};const LIST={begin:/\[/,end:/\]/};const LINE_COMMENT={className:"comment",begin:/%/,end:/$/,contains:[hljs.PHRASAL_WORDS_MODE]};const BACKTICK_STRING={className:"string",begin:/`/,end:/`/,contains:[hljs.BACKSLASH_ESCAPE]};const CHAR_CODE={className:"string",begin:/0'(\\'|.)/};const SPACE_CODE={className:"string",begin:/0'\\s/};const PRED_OP={begin:/:-/};const inner=[ATOM,VAR,PARENTED,PRED_OP,LIST,LINE_COMMENT,hljs.C_BLOCK_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,BACKTICK_STRING,CHAR_CODE,SPACE_CODE,hljs.C_NUMBER_MODE];PARENTED.contains=inner;LIST.contains=inner;return{name:"Prolog",contains:inner.concat([{begin:/\.$/}])}}module.exports=prolog},function(module,exports){function properties(hljs){var WS0="[ \\t\\f]*";var WS1="[ \\t\\f]+";var EQUAL_DELIM=WS0+"[:=]"+WS0;var WS_DELIM=WS1;var DELIM="("+EQUAL_DELIM+"|"+WS_DELIM+")";var KEY_ALPHANUM="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+";var KEY_OTHER="([^\\\\:= \\t\\f\\n]|\\\\.)+";var DELIM_AND_VALUE={end:DELIM,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:true,illegal:/\S/,contains:[hljs.COMMENT("^\\s*[!#]","$"),{returnBegin:true,variants:[{begin:KEY_ALPHANUM+EQUAL_DELIM,relevance:1},{begin:KEY_ALPHANUM+WS_DELIM,relevance:0}],contains:[{className:"attr",begin:KEY_ALPHANUM,endsParent:true,relevance:0}],starts:DELIM_AND_VALUE},{begin:KEY_OTHER+DELIM,returnBegin:true,relevance:0,contains:[{className:"meta",begin:KEY_OTHER,endsParent:true,relevance:0}],starts:DELIM_AND_VALUE},{className:"attr",relevance:0,begin:KEY_OTHER+WS0+"$"}]}}module.exports=properties},function(module,exports){function protobuf(hljs){return{name:"Protocol Buffers",keywords:{keyword:"package import option optional required repeated group oneof",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 "+"fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},contains:[hljs.QUOTE_STRING_MODE,hljs.NUMBER_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"message enum service",end:/\{/,illegal:/\n/,contains:[hljs.inherit(hljs.TITLE_MODE,{starts:{endsWithParent:true,excludeEnd:true}})]},{className:"function",beginKeywords:"rpc",end:/[{;]/,excludeEnd:true,keywords:"rpc returns"},{begin:/^\s*[A-Z_]+(?=\s*=[^\n]+;$)/}]}}module.exports=protobuf},function(module,exports){function puppet(hljs){const PUPPET_KEYWORDS={keyword:"and case default else elsif false if in import enherits node or true undef unless main settings $string ",literal:"alias audit before loglevel noop require subscribe tag "+"owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check "+"en_address ip_address realname command environment hour monute month monthday special target weekday "+"creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore "+"links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source "+"souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid "+"ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel "+"native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options "+"device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use "+"message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform "+"responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running "+"start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age "+"password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled "+"enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist "+"priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey "+"sslverify mounted",built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers "+"domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces "+"ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion "+"kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease "+"lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major "+"macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease "+"operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion "+"rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced "+"selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime "+"uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"};const COMMENT=hljs.COMMENT("#","$");const IDENT_RE="([A-Za-z_]|::)(\\w|::)*";const TITLE=hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE});const VARIABLE={className:"variable",begin:"\\$"+IDENT_RE};const STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE,VARIABLE],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]};return{name:"Puppet",aliases:["pp"],contains:[COMMENT,VARIABLE,STRING,{beginKeywords:"class",end:"\\{|;",illegal:/=/,contains:[TITLE,COMMENT]},{beginKeywords:"define",end:/\{/,contains:[{className:"section",begin:hljs.IDENT_RE,endsParent:true}]},{begin:hljs.IDENT_RE+"\\s+\\{",returnBegin:true,end:/\S/,contains:[{className:"keyword",begin:hljs.IDENT_RE},{begin:/\{/,end:/\}/,keywords:PUPPET_KEYWORDS,relevance:0,contains:[STRING,COMMENT,{begin:"[a-zA-Z_]+\\s*=>",returnBegin:true,end:"=>",contains:[{className:"attr",begin:hljs.IDENT_RE}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},VARIABLE]}],relevance:0}]}}module.exports=puppet},function(module,exports){function purebasic(hljs){const STRINGS={className:"string",begin:'(~)?"',end:'"',illegal:"\\n"};const CONSTANTS={className:"symbol",begin:"#[a-zA-Z_]\\w*\\$?"};return{name:"PureBASIC",aliases:["pb","pbi"],keywords:"Align And Array As Break CallDebugger Case CompilerCase CompilerDefault "+"CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError "+"CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug "+"DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default "+"Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM "+"EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration "+"EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect "+"EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends "+"FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC "+"IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount "+"Map Module NewList NewMap Next Not Or Procedure ProcedureC "+"ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim "+"Read Repeat Restore Return Runtime Select Shared Static Step Structure "+"StructureUnion Swap Threaded To UndefineMacro Until Until  UnuseModule "+"UseModule Wend While With XIncludeFile XOr",contains:[hljs.COMMENT(";","$",{relevance:0}),{className:"function",begin:"\\b(Procedure|Declare)(C|CDLL|DLL)?\\b",end:"\\(",excludeEnd:true,returnBegin:true,contains:[{className:"keyword",begin:"(Procedure|Declare)(C|CDLL|DLL)?",excludeEnd:true},{className:"type",begin:"\\.\\w*"},hljs.UNDERSCORE_TITLE_MODE]},STRINGS,CONSTANTS]}}module.exports=purebasic},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function python(hljs){const RESERVED_WORDS=["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"];const BUILT_INS=["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"];const LITERALS=["__debug__","Ellipsis","False","None","NotImplemented","True"];const TYPES=["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"];const KEYWORDS={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:RESERVED_WORDS,built_in:BUILT_INS,literal:LITERALS,type:TYPES};const PROMPT={className:"meta",begin:/^(>>>|\.\.\.) /};const SUBST={className:"subst",begin:/\{/,end:/\}/,keywords:KEYWORDS,illegal:/#/};const LITERAL_BRACKET={begin:/\{\{/,relevance:0};const STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[hljs.BACKSLASH_ESCAPE,PROMPT],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[hljs.BACKSLASH_ESCAPE,PROMPT],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[hljs.BACKSLASH_ESCAPE,PROMPT,LITERAL_BRACKET,SUBST]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[hljs.BACKSLASH_ESCAPE,PROMPT,LITERAL_BRACKET,SUBST]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[hljs.BACKSLASH_ESCAPE,LITERAL_BRACKET,SUBST]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[hljs.BACKSLASH_ESCAPE,LITERAL_BRACKET,SUBST]},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]};const digitpart="[0-9](_?[0-9])*";const pointfloat=`(\\b(${digitpart}))?\\.(${digitpart})|\\b(${digitpart})\\.`;const NUMBER={className:"number",relevance:0,variants:[{begin:`(\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?\\b`},{begin:`(${pointfloat})[jJ]?`},{begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b"},{begin:"\\b0[bB](_?[01])+[lL]?\\b"},{begin:"\\b0[oO](_?[0-7])+[lL]?\\b"},{begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b"},{begin:`\\b(${digitpart})[jJ]\\b`}]};const COMMENT_TYPE={className:"comment",begin:lookahead(/# type:/),end:/$/,keywords:KEYWORDS,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:true}]};const PARAMS={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:true},{begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,keywords:KEYWORDS,contains:["self",PROMPT,NUMBER,STRING,hljs.HASH_COMMENT_MODE]}]};SUBST.contains=[STRING,NUMBER,PROMPT];return{name:"Python",aliases:["py","gyp","ipython"],keywords:KEYWORDS,illegal:/(<\/|->|\?)|=>/,contains:[PROMPT,NUMBER,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},STRING,COMMENT_TYPE,hljs.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[hljs.UNDERSCORE_TITLE_MODE,PARAMS,{begin:/->/,endsWithParent:true,keywords:KEYWORDS}]},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[NUMBER,PARAMS,STRING]}]}}module.exports=python},function(module,exports){function pythonRepl(hljs){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}module.exports=pythonRepl},function(module,exports){function q(hljs){const KEYWORDS={$pattern:/(`?)[A-Za-z0-9_]+\b/,keyword:"do while select delete by update from",literal:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",type:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{name:"Q",aliases:["k","kdb"],keywords:KEYWORDS,contains:[hljs.C_LINE_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE]}}module.exports=q},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function qml(hljs){const KEYWORDS={keyword:"in of on if for while finally var new function do return void else break catch "+"instanceof with throw case default try this switch continue typeof delete "+"let yield const export super debugger as async await import",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent "+"encodeURI encodeURIComponent escape unescape Object Function Boolean Error "+"EvalError InternalError RangeError ReferenceError StopIteration SyntaxError "+"TypeError URIError Number Math Date String RegExp Array Float32Array "+"Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array "+"Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require "+"module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect "+"Behavior bool color coordinate date double enumeration font geocircle georectangle "+"geoshape int list matrix4x4 parent point quaternion real rect "+"size string url variant vector2d vector3d vector4d "+"Promise"};const QML_IDENT_RE="[a-zA-Z_][a-zA-Z0-9\\._]*";const PROPERTY={className:"keyword",begin:"\\bproperty\\b",starts:{className:"string",end:"(:|=|;|,|//|/\\*|$)",returnEnd:true}};const SIGNAL={className:"keyword",begin:"\\bsignal\\b",starts:{className:"string",end:"(\\(|:|=|;|,|//|/\\*|$)",returnEnd:true}};const ID_ID={className:"attribute",begin:"\\bid\\s*:",starts:{className:"string",end:QML_IDENT_RE,returnEnd:false}};const QML_ATTRIBUTE={begin:QML_IDENT_RE+"\\s*:",returnBegin:true,contains:[{className:"attribute",begin:QML_IDENT_RE,end:"\\s*:",excludeEnd:true,relevance:0}],relevance:0};const QML_OBJECT={begin:concat(QML_IDENT_RE,/\s*\{/),end:/\{/,returnBegin:true,relevance:0,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:QML_IDENT_RE})]};return{name:"QML",aliases:["qt"],case_insensitive:false,keywords:KEYWORDS,contains:[{className:"meta",begin:/^\s*['"]use (strict|asm)['"]/},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[hljs.BACKSLASH_ESCAPE,{className:"subst",begin:"\\$\\{",end:"\\}"}]},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:hljs.C_NUMBER_RE}],relevance:0},{begin:"("+hljs.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.REGEXP_MODE,{begin:/</,end:/>\s*[);\]]/,relevance:0,subLanguage:"xml"}],relevance:0},SIGNAL,PROPERTY,{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:true,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]}],illegal:/\[|%/},{begin:"\\."+hljs.IDENT_RE,relevance:0},ID_ID,QML_ATTRIBUTE,QML_OBJECT],illegal:/#/}}module.exports=qml},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function r(hljs){const IDENT_RE=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/;const SIMPLE_IDENT=/[a-zA-Z][a-zA-Z_0-9]*/;return{name:"R",illegal:/->/,keywords:{$pattern:IDENT_RE,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 "+"NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F "+"abs acos acosh all any anyNA Arg as.call as.character "+"as.complex as.double as.environment as.integer as.logical "+"as.null.default as.numeric as.raw asin asinh atan atanh attr "+"attributes baseenv browser c call ceiling class Conj cos cosh "+"cospi cummax cummin cumprod cumsum digamma dim dimnames "+"emptyenv exp expression floor forceAndCall gamma gc.time "+"globalenv Im interactive invisible is.array is.atomic is.call "+"is.character is.complex is.double is.environment is.expression "+"is.finite is.function is.infinite is.integer is.language "+"is.list is.logical is.matrix is.na is.name is.nan is.null "+"is.numeric is.object is.pairlist is.raw is.recursive is.single "+"is.symbol lazyLoadDBfetch length lgamma list log max min "+"missing Mod names nargs nzchar oldClass on.exit pos.to.env "+"proc.time prod quote range Re rep retracemem return round "+"seq_along seq_len seq.int sign signif sin sinh sinpi sqrt "+"standardGeneric substitute sum switch tan tanh tanpi tracemem "+"trigamma trunc unclass untracemem UseMethod xtfrm"},compilerExtensions:[(mode,parent)=>{if(!mode.beforeMatch)return;if(mode.starts)throw new Error("beforeMatch cannot be used with starts");const originalMode=Object.assign({},mode);Object.keys(mode).forEach(key=>{delete mode[key]});mode.begin=concat(originalMode.beforeMatch,lookahead(originalMode.begin));mode.starts={relevance:0,contains:[Object.assign(originalMode,{endsParent:true})]};mode.relevance=0;delete originalMode.beforeMatch}],contains:[hljs.COMMENT(/#'/,/$/,{contains:[{className:"doctag",begin:"@examples",starts:{contains:[{begin:/\n/},{begin:/#'\s*(?=@[a-zA-Z]+)/,endsParent:true},{begin:/#'/,end:/$/,excludeBegin:true}]}},{className:"doctag",begin:"@param",end:/$/,contains:[{className:"variable",variants:[{begin:IDENT_RE},{begin:/`(?:\\.|[^`\\])+`/}],endsParent:true}]},{className:"doctag",begin:/@[a-zA-Z]+/},{className:"meta-keyword",begin:/\\[a-zA-Z]+/}]}),hljs.HASH_COMMENT_MODE,{className:"string",contains:[hljs.BACKSLASH_ESCAPE],variants:[hljs.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),hljs.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),hljs.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),hljs.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),hljs.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),hljs.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{className:"number",relevance:0,beforeMatch:/([^a-zA-Z0-9._])/,variants:[{match:/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/},{match:/0[xX][0-9a-fA-F]+([pP][+-]?\d+)?[Li]?/},{match:/(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?[Li]?/}]},{begin:"%",end:"%"},{begin:concat(SIMPLE_IDENT,"\\s+<-\\s+")},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}module.exports=r},function(module,exports){function reasonml(hljs){function orReValues(ops){return ops.map((function(op){return op.split("").map((function(char){return"\\"+char})).join("")})).join("|")}const RE_IDENT="~?[a-z$_][0-9a-zA-Z$_]*";const RE_MODULE_IDENT="`?[A-Z$_][0-9a-zA-Z$_]*";const RE_PARAM_TYPEPARAM="'?[a-z$_][0-9a-z$_]*";const RE_PARAM_TYPE="\\s*:\\s*[a-z$_][0-9a-z$_]*(\\(\\s*("+RE_PARAM_TYPEPARAM+"\\s*(,"+RE_PARAM_TYPEPARAM+"\\s*)*)?\\))?";const RE_PARAM=RE_IDENT+"("+RE_PARAM_TYPE+"){0,2}";const RE_OPERATOR="("+orReValues(["||","++","**","+.","*","/","*.","/.","..."])+"|\\|>|&&|==|===)";const RE_OPERATOR_SPACED="\\s+"+RE_OPERATOR+"\\s+";const KEYWORDS={keyword:"and as asr assert begin class constraint do done downto else end exception external "+"for fun function functor if in include inherit initializer "+"land lazy let lor lsl lsr lxor match method mod module mutable new nonrec "+"object of open or private rec sig struct then to try type val virtual when while with",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ",literal:"true false"};const RE_NUMBER="\\b(0[xX][a-fA-F0-9_]+[Lln]?|"+"0[oO][0-7_]+[Lln]?|"+"0[bB][01_]+[Lln]?|"+"[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)";const NUMBER_MODE={className:"number",relevance:0,variants:[{begin:RE_NUMBER},{begin:"\\(-"+RE_NUMBER+"\\)"}]};const OPERATOR_MODE={className:"operator",relevance:0,begin:RE_OPERATOR};const LIST_CONTENTS_MODES=[{className:"identifier",relevance:0,begin:RE_IDENT},OPERATOR_MODE,NUMBER_MODE];const MODULE_ACCESS_CONTENTS=[hljs.QUOTE_STRING_MODE,OPERATOR_MODE,{className:"module",begin:"\\b"+RE_MODULE_IDENT,returnBegin:true,end:".",contains:[{className:"identifier",begin:RE_MODULE_IDENT,relevance:0}]}];const PARAMS_CONTENTS=[{className:"module",begin:"\\b"+RE_MODULE_IDENT,returnBegin:true,end:".",relevance:0,contains:[{className:"identifier",begin:RE_MODULE_IDENT,relevance:0}]}];const PARAMS_MODE={begin:RE_IDENT,end:"(,|\\n|\\))",relevance:0,contains:[OPERATOR_MODE,{className:"typing",begin:":",end:"(,|\\n)",returnBegin:true,relevance:0,contains:PARAMS_CONTENTS}]};const FUNCTION_BLOCK_MODE={className:"function",relevance:0,keywords:KEYWORDS,variants:[{begin:"\\s(\\(\\.?.*?\\)|"+RE_IDENT+")\\s*=>",end:"\\s*=>",returnBegin:true,relevance:0,contains:[{className:"params",variants:[{begin:RE_IDENT},{begin:RE_PARAM},{begin:/\(\s*\)/}]}]},{begin:"\\s\\(\\.?[^;\\|]*\\)\\s*=>",end:"\\s=>",returnBegin:true,relevance:0,contains:[{className:"params",relevance:0,variants:[PARAMS_MODE]}]},{begin:"\\(\\.\\s"+RE_IDENT+"\\)\\s*=>"}]};MODULE_ACCESS_CONTENTS.push(FUNCTION_BLOCK_MODE);const CONSTRUCTOR_MODE={className:"constructor",begin:RE_MODULE_IDENT+"\\(",end:"\\)",illegal:"\\n",keywords:KEYWORDS,contains:[hljs.QUOTE_STRING_MODE,OPERATOR_MODE,{className:"params",begin:"\\b"+RE_IDENT}]};const PATTERN_MATCH_BLOCK_MODE={className:"pattern-match",begin:"\\|",returnBegin:true,keywords:KEYWORDS,end:"=>",relevance:0,contains:[CONSTRUCTOR_MODE,OPERATOR_MODE,{relevance:0,className:"constructor",begin:RE_MODULE_IDENT}]};const MODULE_ACCESS_MODE={className:"module-access",keywords:KEYWORDS,returnBegin:true,variants:[{begin:"\\b("+RE_MODULE_IDENT+"\\.)+"+RE_IDENT},{begin:"\\b("+RE_MODULE_IDENT+"\\.)+\\(",end:"\\)",returnBegin:true,contains:[FUNCTION_BLOCK_MODE,{begin:"\\(",end:"\\)",skip:true}].concat(MODULE_ACCESS_CONTENTS)},{begin:"\\b("+RE_MODULE_IDENT+"\\.)+\\{",end:/\}/}],contains:MODULE_ACCESS_CONTENTS};PARAMS_CONTENTS.push(MODULE_ACCESS_MODE);return{name:"ReasonML",aliases:["re"],keywords:KEYWORDS,illegal:"(:-|:=|\\$\\{|\\+=)",contains:[hljs.COMMENT("/\\*","\\*/",{illegal:"^(#,\\/\\/)"}),{className:"character",begin:"'(\\\\[^']+|[^'])'",illegal:"\\n",relevance:0},hljs.QUOTE_STRING_MODE,{className:"literal",begin:"\\(\\)",relevance:0},{className:"literal",begin:"\\[\\|",end:"\\|\\]",relevance:0,contains:LIST_CONTENTS_MODES},{className:"literal",begin:"\\[",end:"\\]",relevance:0,contains:LIST_CONTENTS_MODES},CONSTRUCTOR_MODE,{className:"operator",begin:RE_OPERATOR_SPACED,illegal:"--\x3e",relevance:0},NUMBER_MODE,hljs.C_LINE_COMMENT_MODE,PATTERN_MATCH_BLOCK_MODE,FUNCTION_BLOCK_MODE,{className:"module-def",begin:"\\bmodule\\s+"+RE_IDENT+"\\s+"+RE_MODULE_IDENT+"\\s+=\\s+\\{",end:/\}/,returnBegin:true,keywords:KEYWORDS,relevance:0,contains:[{className:"module",relevance:0,begin:RE_MODULE_IDENT},{begin:/\{/,end:/\}/,skip:true}].concat(MODULE_ACCESS_CONTENTS)},MODULE_ACCESS_MODE]}}module.exports=reasonml},function(module,exports){function rib(hljs){return{name:"RenderMan RIB",keywords:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis "+"Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone "+"CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail "+"DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format "+"FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry "+"Hider Hyperboloid Identity Illuminate Imager Interior LightSource "+"MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte "+"MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option "+"Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples "+"PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection "+"Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow "+"ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere "+"SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd "+"TransformPoints Translate TrimCurve WorldBegin WorldEnd",illegal:"</",contains:[hljs.HASH_COMMENT_MODE,hljs.C_NUMBER_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]}}module.exports=rib},function(module,exports){function roboconf(hljs){const IDENTIFIER="[a-zA-Z-_][^\\n{]+\\{";const PROPERTY={className:"attribute",begin:/[a-zA-Z-_]+/,end:/\s*:/,excludeEnd:true,starts:{end:";",relevance:0,contains:[{className:"variable",begin:/\.[a-zA-Z-_]+/},{className:"keyword",begin:/\(optional\)/}]}};return{name:"Roboconf",aliases:["graph","instances"],case_insensitive:true,keywords:"import",contains:[{begin:"^facet "+IDENTIFIER,end:/\}/,keywords:"facet",contains:[PROPERTY,hljs.HASH_COMMENT_MODE]},{begin:"^\\s*instance of "+IDENTIFIER,end:/\}/,keywords:"name count channels instance-data instance-state instance of",illegal:/\S/,contains:["self",PROPERTY,hljs.HASH_COMMENT_MODE]},{begin:"^"+IDENTIFIER,end:/\}/,contains:[PROPERTY,hljs.HASH_COMMENT_MODE]},hljs.HASH_COMMENT_MODE]}}module.exports=roboconf},function(module,exports){function routeros(hljs){const STATEMENTS="foreach do while for if from to step else on-error and or not in";const GLOBAL_COMMANDS="global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime";const COMMON_COMMANDS="add remove enable disable set get print export edit find run debug error info warning";const LITERALS="true false yes no nothing nil null";const OBJECTS="traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw";const VAR={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)\}/}]};const QUOTE_STRING={className:"string",begin:/"/,end:/"/,contains:[hljs.BACKSLASH_ESCAPE,VAR,{className:"variable",begin:/\$\(/,end:/\)/,contains:[hljs.BACKSLASH_ESCAPE]}]};const APOS_STRING={className:"string",begin:/'/,end:/'/};return{name:"Microtik RouterOS script",aliases:["mikrotik"],case_insensitive:true,keywords:{$pattern:/:?[\w-]+/,literal:LITERALS,keyword:STATEMENTS+" :"+STATEMENTS.split(" ").join(" :")+" :"+GLOBAL_COMMANDS.split(" ").join(" :")},contains:[{variants:[{begin:/\/\*/,end:/\*\//},{begin:/\/\//,end:/$/},{begin:/<\//,end:/>/}],illegal:/./},hljs.COMMENT("^#","$"),QUOTE_STRING,APOS_STRING,VAR,{begin:/[\w-]+=([^\s{}[\]()>]+)/,relevance:0,returnBegin:true,contains:[{className:"attribute",begin:/[^=]+/},{begin:/=/,endsWithParent:true,relevance:0,contains:[QUOTE_STRING,APOS_STRING,VAR,{className:"literal",begin:"\\b("+LITERALS.split(" ").join("|")+")\\b"},{begin:/("[^"]*"|[^\s{}[\]]+)/}]}]},{className:"number",begin:/\*[0-9a-fA-F]+/},{begin:"\\b("+COMMON_COMMANDS.split(" ").join("|")+")([\\s[(\\]|])",returnBegin:true,contains:[{className:"builtin-name",begin:/\w+/}]},{className:"built_in",variants:[{begin:"(\\.\\./|/|\\s)(("+OBJECTS.split(" ").join("|")+");?\\s)+"},{begin:/\.\./,relevance:0}]}]}}module.exports=routeros},function(module,exports){function rsl(hljs){return{name:"RenderMan RSL",keywords:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise "+"clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp "+"faceforward filterstep floor format fresnel incident length lightsource log match "+"max min mod noise normalize ntransform opposite option phong pnoise pow printf "+"ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp "+"setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan "+"texture textureinfo trace transform vtransform xcomp ycomp zcomp"},illegal:"</",contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,hljs.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$"},{className:"class",beginKeywords:"surface displacement light volume imager",end:"\\("},{beginKeywords:"illuminate illuminance gather",end:"\\("}]}}module.exports=rsl},function(module,exports){function ruleslanguage(hljs){return{name:"Oracle Rules Language",keywords:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE "+"INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 "+"INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 "+"INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 "+"INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 "+"INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 "+"INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 "+"INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 "+"INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 "+"INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 "+"INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 "+"INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 "+"INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 "+"INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 "+"INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 "+"MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER "+"OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE "+"NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH "+"IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND "+"UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME "+"ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE "+"GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE "+"SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING "+"DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF "+"MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY "+"YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE "+"COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR "+"READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES "+"ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE "+"EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE "+"SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL "+"COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN "+"MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING "+"FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM "+"NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML "+"DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT "+"DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE "+"DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT "+"DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE,{className:"literal",variants:[{begin:"#\\s+",relevance:0},{begin:"#[a-zA-Z .]+"}]}]}}module.exports=ruleslanguage},function(module,exports){function rust(hljs){const NUM_SUFFIX="([ui](8|16|32|64|128|size)|f(32|64))?";const KEYWORDS="abstract as async await become box break const continue crate do dyn "+"else enum extern false final fn for if impl in let loop macro match mod "+"move mut override priv pub ref return self Self static struct super "+"trait true try type typeof unsafe unsized use virtual where while yield";const BUILTINS="drop "+"i8 i16 i32 i64 i128 isize "+"u8 u16 u32 u64 u128 usize "+"f32 f64 "+"str char bool "+"Box Option Result String Vec "+"Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug "+"PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator "+"Extend IntoIterator DoubleEndedIterator ExactSizeIterator "+"SliceConcatExt ToString "+"assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! "+"debug_assert! debug_assert_eq! env! panic! file! format! format_args! "+"include_bin! include_str! line! local_data_key! module_path! "+"option_env! print! println! select! stringify! try! unimplemented! "+"unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:hljs.IDENT_RE+"!?",keyword:KEYWORDS,literal:"true false Some None Ok Err",built_in:BUILTINS},illegal:"</",contains:[hljs.C_LINE_COMMENT_MODE,hljs.COMMENT("/\\*","\\*/",{contains:["self"]}),hljs.inherit(hljs.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{begin:"\\b0b([01_]+)"+NUM_SUFFIX},{begin:"\\b0o([0-7_]+)"+NUM_SUFFIX},{begin:"\\b0x([A-Fa-f0-9_]+)"+NUM_SUFFIX},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+NUM_SUFFIX}],relevance:0},{className:"function",beginKeywords:"fn",end:"(\\(|<)",excludeEnd:true,contains:[hljs.UNDERSCORE_TITLE_MODE]},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"meta-string",begin:/"/,end:/"/}]},{className:"class",beginKeywords:"type",end:";",contains:[hljs.inherit(hljs.UNDERSCORE_TITLE_MODE,{endsParent:true})],illegal:"\\S"},{className:"class",beginKeywords:"trait enum struct union",end:/\{/,contains:[hljs.inherit(hljs.UNDERSCORE_TITLE_MODE,{endsParent:true})],illegal:"[\\w\\d]"},{begin:hljs.IDENT_RE+"::",keywords:{built_in:BUILTINS}},{begin:"->"}]}}module.exports=rust},function(module,exports){function sas(hljs){const SAS_KEYWORDS="do if then else end until while "+""+"abort array attrib by call cards cards4 catname continue "+"datalines datalines4 delete delim delimiter display dm drop "+"endsas error file filename footnote format goto in infile "+"informat input keep label leave length libname link list "+"lostcard merge missing modify options output out page put "+"redirect remove rename replace retain return select set skip "+"startsas stop title update waitsas where window x systask "+""+"add and alter as cascade check create delete describe "+"distinct drop foreign from group having index insert into in "+"key like message modify msgtype not null on or order primary "+"references reset restrict select set table unique update "+"validate view where";const SAS_FUN="abs|addr|airy|arcos|arsin|atan|attrc|attrn|band|"+"betainv|blshift|bnot|bor|brshift|bxor|byte|cdf|ceil|"+"cexist|cinv|close|cnonct|collate|compbl|compound|"+"compress|cos|cosh|css|curobs|cv|daccdb|daccdbsl|"+"daccsl|daccsyd|dacctab|dairy|date|datejul|datepart|"+"datetime|day|dclose|depdb|depdbsl|depdbsl|depsl|"+"depsl|depsyd|depsyd|deptab|deptab|dequote|dhms|dif|"+"digamma|dim|dinfo|dnum|dopen|doptname|doptnum|dread|"+"dropnote|dsname|erf|erfc|exist|exp|fappend|fclose|"+"fcol|fdelete|fetch|fetchobs|fexist|fget|fileexist|"+"filename|fileref|finfo|finv|fipname|fipnamel|"+"fipstate|floor|fnonct|fnote|fopen|foptname|foptnum|"+"fpoint|fpos|fput|fread|frewind|frlen|fsep|fuzz|"+"fwrite|gaminv|gamma|getoption|getvarc|getvarn|hbound|"+"hms|hosthelp|hour|ibessel|index|indexc|indexw|input|"+"inputc|inputn|int|intck|intnx|intrr|irr|jbessel|"+"juldate|kurtosis|lag|lbound|left|length|lgamma|"+"libname|libref|log|log10|log2|logpdf|logpmf|logsdf|"+"lowcase|max|mdy|mean|min|minute|mod|month|mopen|"+"mort|n|netpv|nmiss|normal|note|npv|open|ordinal|"+"pathname|pdf|peek|peekc|pmf|point|poisson|poke|"+"probbeta|probbnml|probchi|probf|probgam|probhypr|"+"probit|probnegb|probnorm|probt|put|putc|putn|qtr|"+"quote|ranbin|rancau|ranexp|rangam|range|rank|rannor|"+"ranpoi|rantbl|rantri|ranuni|repeat|resolve|reverse|"+"rewind|right|round|saving|scan|sdf|second|sign|"+"sin|sinh|skewness|soundex|spedis|sqrt|std|stderr|"+"stfips|stname|stnamel|substr|sum|symget|sysget|"+"sysmsg|sysprod|sysrc|system|tan|tanh|time|timepart|"+"tinv|tnonct|today|translate|tranwrd|trigamma|"+"trim|trimn|trunc|uniform|upcase|uss|var|varfmt|"+"varinfmt|varlabel|varlen|varname|varnum|varray|"+"varrayx|vartype|verify|vformat|vformatd|vformatdx|"+"vformatn|vformatnx|vformatw|vformatwx|vformatx|"+"vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|"+"vinformatn|vinformatnx|vinformatw|vinformatwx|"+"vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|"+"vnamex|vtype|vtypex|weekday|year|yyq|zipfips|zipname|"+"zipnamel|zipstate";const SAS_MACRO_FUN="bquote|nrbquote|cmpres|qcmpres|compstor|"+"datatyp|display|do|else|end|eval|global|goto|"+"if|index|input|keydef|label|left|length|let|"+"local|lowcase|macro|mend|nrbquote|nrquote|"+"nrstr|put|qcmpres|qleft|qlowcase|qscan|"+"qsubstr|qsysfunc|qtrim|quote|qupcase|scan|str|"+"substr|superq|syscall|sysevalf|sysexec|sysfunc|"+"sysget|syslput|sysprod|sysrc|sysrput|then|to|"+"trim|unquote|until|upcase|verify|while|window";return{name:"SAS",case_insensitive:true,keywords:{literal:"null missing _all_ _automatic_ _character_ _infile_ "+"_n_ _name_ _null_ _numeric_ _user_ _webout_",meta:SAS_KEYWORDS},contains:[{className:"keyword",begin:/^\s*(proc [\w\d_]+|data|run|quit)[\s;]/},{className:"variable",begin:/&[a-zA-Z_&][a-zA-Z0-9_]*\.?/},{className:"emphasis",begin:/^\s*datalines|cards.*;/,end:/^\s*;\s*$/},{className:"built_in",begin:"%("+SAS_MACRO_FUN+")"},{className:"name",begin:/%[a-zA-Z_][a-zA-Z_0-9]*/},{className:"meta",begin:"[^%]("+SAS_FUN+")[(]"},{className:"string",variants:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]},hljs.COMMENT("\\*",";"),hljs.C_BLOCK_COMMENT_MODE]}}module.exports=sas},function(module,exports){function scala(hljs){const ANNOTATION={className:"meta",begin:"@[A-Za-z]+"};const SUBST={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:/\$\{/,end:/\}/}]};const STRING={className:"string",variants:[{begin:'"""',end:'"""'},{begin:'"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE]},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[hljs.BACKSLASH_ESCAPE,SUBST]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[SUBST],relevance:10}]};const SYMBOL={className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"};const TYPE={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0};const NAME={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0};const CLASS={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:true,contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:true,excludeEnd:true,relevance:0,contains:[TYPE]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,relevance:0,contains:[TYPE]},NAME]};const METHOD={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:true,contains:[NAME]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,STRING,SYMBOL,TYPE,METHOD,CLASS,hljs.C_NUMBER_MODE,ANNOTATION]}}module.exports=scala},function(module,exports){function scheme(hljs){const SCHEME_IDENT_RE="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+";const SCHEME_SIMPLE_NUMBER_RE="(-|\\+)?\\d+([./]\\d+)?";const SCHEME_COMPLEX_NUMBER_RE=SCHEME_SIMPLE_NUMBER_RE+"[+\\-]"+SCHEME_SIMPLE_NUMBER_RE+"i";const KEYWORDS={$pattern:SCHEME_IDENT_RE,"builtin-name":"case-lambda call/cc class define-class exit-handler field import "+"inherit init-field interface let*-values let-values let/ec mixin "+"opt-lambda override protect provide public rename require "+"require-for-syntax syntax syntax-case syntax-error unit/sig unless "+"when with-syntax and begin call-with-current-continuation "+"call-with-input-file call-with-output-file case cond define "+"define-syntax delay do dynamic-wind else for-each if lambda let let* "+"let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / "+"; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan "+"boolean? caar cadr call-with-input-file call-with-output-file "+"call-with-values car cdddar cddddr cdr ceiling char->integer "+"char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? "+"char-downcase char-lower-case? char-numeric? char-ready? char-upcase "+"char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? "+"char? close-input-port close-output-port complex? cons cos "+"current-input-port current-output-port denominator display eof-object? "+"eq? equal? eqv? eval even? exact->inexact exact? exp expt floor "+"force gcd imag-part inexact->exact inexact? input-port? integer->char "+"integer? interaction-environment lcm length list list->string "+"list->vector list-ref list-tail list? load log magnitude make-polar "+"make-rectangular make-string make-vector max member memq memv min "+"modulo negative? newline not null-environment null? number->string "+"number? numerator odd? open-input-file open-output-file output-port? "+"pair? peek-char port? positive? procedure? quasiquote quote quotient "+"rational? rationalize read read-char real-part real? remainder reverse "+"round scheme-report-environment set! set-car! set-cdr! sin sqrt string "+"string->list string->number string->symbol string-append string-ci<=? "+"string-ci<? string-ci=? string-ci>=? string-ci>? string-copy "+"string-fill! string-length string-ref string-set! string<=? string<? "+"string=? string>=? string>? string? substring symbol->string symbol? "+"tan transcript-off transcript-on truncate values vector "+"vector->list vector-fill! vector-length vector-ref vector-set! "+"with-input-from-file with-output-to-file write write-char zero?"};const LITERAL={className:"literal",begin:"(#t|#f|#\\\\"+SCHEME_IDENT_RE+"|#\\\\.)"};const NUMBER={className:"number",variants:[{begin:SCHEME_SIMPLE_NUMBER_RE,relevance:0},{begin:SCHEME_COMPLEX_NUMBER_RE,relevance:0},{begin:"#b[0-1]+(/[0-1]+)?"},{begin:"#o[0-7]+(/[0-7]+)?"},{begin:"#x[0-9a-f]+(/[0-9a-f]+)?"}]};const STRING=hljs.QUOTE_STRING_MODE;const COMMENT_MODES=[hljs.COMMENT(";","$",{relevance:0}),hljs.COMMENT("#\\|","\\|#")];const IDENT={begin:SCHEME_IDENT_RE,relevance:0};const QUOTED_IDENT={className:"symbol",begin:"'"+SCHEME_IDENT_RE};const BODY={endsWithParent:true,relevance:0};const QUOTED_LIST={variants:[{begin:/'/},{begin:"`"}],contains:[{begin:"\\(",end:"\\)",contains:["self",LITERAL,STRING,NUMBER,IDENT,QUOTED_IDENT]}]};const NAME={className:"name",relevance:0,begin:SCHEME_IDENT_RE,keywords:KEYWORDS};const LAMBDA={begin:/lambda/,endsWithParent:true,returnBegin:true,contains:[NAME,{endsParent:true,variants:[{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/}],contains:[IDENT]}]};const LIST={variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}],contains:[LAMBDA,NAME,BODY]};BODY.contains=[LITERAL,NUMBER,STRING,IDENT,QUOTED_IDENT,QUOTED_LIST,LIST].concat(COMMENT_MODES);return{name:"Scheme",illegal:/\S/,contains:[hljs.SHEBANG(),NUMBER,STRING,QUOTED_IDENT,QUOTED_LIST,LIST].concat(COMMENT_MODES)}}module.exports=scheme},function(module,exports){function scilab(hljs){const COMMON_CONTAINS=[hljs.C_NUMBER_MODE,{className:"string",begin:"'|\"",end:"'|\"",contains:[hljs.BACKSLASH_ESCAPE,{begin:"''"}]}];return{name:"Scilab",aliases:["sci"],keywords:{$pattern:/%?\w+/,keyword:"abort break case clear catch continue do elseif else endfunction end for function "+"global if pause return resume select try then while",literal:"%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error "+"exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty "+"isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log "+"max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real "+"round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan "+"type typename warning zeros matrix"},illegal:'("|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[hljs.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]},{begin:"[a-zA-Z_][a-zA-Z_0-9]*[\\.']+",relevance:0},{begin:"\\[",end:"\\][\\.']*",relevance:0,contains:COMMON_CONTAINS},hljs.COMMENT("//","$")].concat(COMMON_CONTAINS)}}module.exports=scilab},function(module,exports){const MODES=hljs=>({IMPORTANT:{className:"meta",begin:"!important"},HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"},ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]}});const TAGS=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"];const MEDIA_FEATURES=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"];const PSEUDO_CLASSES=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"];const PSEUDO_ELEMENTS=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"];const ATTRIBUTES=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse();function scss(hljs){const modes=MODES(hljs);const PSEUDO_ELEMENTS$1=PSEUDO_ELEMENTS;const PSEUDO_CLASSES$1=PSEUDO_CLASSES;const AT_IDENTIFIER="@[a-z-]+";const AT_MODIFIERS="and or not only";const IDENT_RE="[a-zA-Z-][a-zA-Z0-9_-]*";const VARIABLE={className:"variable",begin:"(\\$"+IDENT_RE+")\\b"};return{name:"SCSS",case_insensitive:true,illegal:"[=/|']",contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},modes.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+TAGS.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+PSEUDO_CLASSES$1.join("|")+")"},{className:"selector-pseudo",begin:"::("+PSEUDO_ELEMENTS$1.join("|")+")"},VARIABLE,{begin:/\(/,end:/\)/,contains:[hljs.CSS_NUMBER_MODE]},{className:"attribute",begin:"\\b("+ATTRIBUTES.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[VARIABLE,modes.HEXCOLOR,hljs.CSS_NUMBER_MODE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,modes.IMPORTANT]},{begin:"@(page|font-face)",lexemes:AT_IDENTIFIER,keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:true,keywords:{$pattern:/[a-z-]+/,keyword:AT_MODIFIERS,attribute:MEDIA_FEATURES.join(" ")},contains:[{begin:AT_IDENTIFIER,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},VARIABLE,hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,modes.HEXCOLOR,hljs.CSS_NUMBER_MODE]}]}}module.exports=scss},function(module,exports){function shell(hljs){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#]/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}module.exports=shell},function(module,exports){function smali(hljs){const smali_instr_low_prio=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"];const smali_instr_high_prio=["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"];const smali_keywords=["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"];return{name:"Smali",contains:[{className:"string",begin:'"',end:'"',relevance:0},hljs.COMMENT("#","$",{relevance:0}),{className:"keyword",variants:[{begin:"\\s*\\.end\\s[a-zA-Z0-9]*"},{begin:"^[ ]*\\.[a-zA-Z]*",relevance:0},{begin:"\\s:[a-zA-Z_0-9]*",relevance:0},{begin:"\\s("+smali_keywords.join("|")+")"}]},{className:"built_in",variants:[{begin:"\\s("+smali_instr_low_prio.join("|")+")\\s"},{begin:"\\s("+smali_instr_low_prio.join("|")+")((-|/)[a-zA-Z0-9]+)+\\s",relevance:10},{begin:"\\s("+smali_instr_high_prio.join("|")+")((-|/)[a-zA-Z0-9]+)*\\s",relevance:10}]},{className:"class",begin:"L[^(;:\n]*;",relevance:0},{begin:"[vp][0-9]+"}]}}module.exports=smali},function(module,exports){function smalltalk(hljs){const VAR_IDENT_RE="[a-z][a-zA-Z0-9_]*";const CHAR={className:"string",begin:"\\$.{1}"};const SYMBOL={className:"symbol",begin:"#"+hljs.UNDERSCORE_IDENT_RE};return{name:"Smalltalk",aliases:["st"],keywords:"self super nil true false thisContext",contains:[hljs.COMMENT('"','"'),hljs.APOS_STRING_MODE,{className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{begin:VAR_IDENT_RE+":",relevance:0},hljs.C_NUMBER_MODE,SYMBOL,CHAR,{begin:"\\|[ ]*"+VAR_IDENT_RE+"([ ]+"+VAR_IDENT_RE+")*[ ]*\\|",returnBegin:true,end:/\|/,illegal:/\S/,contains:[{begin:"(\\|[ ]*)?"+VAR_IDENT_RE}]},{begin:"#\\(",end:"\\)",contains:[hljs.APOS_STRING_MODE,CHAR,hljs.C_NUMBER_MODE,SYMBOL]}]}}module.exports=smalltalk},function(module,exports){function sml(hljs){return{name:"SML (Standard ML)",aliases:["ml"],keywords:{$pattern:"[a-z_]\\w*!?",keyword:"abstype and andalso as case datatype do else end eqtype "+"exception fn fun functor handle if in include infix infixr "+"let local nonfix of op open orelse raise rec sharing sig "+"signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},illegal:/\/\/|>>/,contains:[{className:"literal",begin:/\[(\|\|)?\]|\(\)/,relevance:0},hljs.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},hljs.inherit(hljs.APOS_STRING_MODE,{className:"string",relevance:0}),hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|"+"0[oO][0-7_]+[Lln]?|"+"0[bB][01_]+[Lln]?|"+"[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}module.exports=sml},function(module,exports){function sqf(hljs){const VARIABLE={className:"variable",begin:/\b_+[a-zA-Z]\w*/};const FUNCTION={className:"title",begin:/[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/};const STRINGS={className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]},{begin:"'",end:"'",contains:[{begin:"''",relevance:0}]}]};const PREPROCESSOR={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"define undef ifdef ifndef else endif include"},contains:[{begin:/\\\n/,relevance:0},hljs.inherit(STRINGS,{className:"meta-string"}),{className:"meta-string",begin:/<[^\n>]*>/,end:/$/,illegal:"\\n"},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]};return{name:"SQF",case_insensitive:true,keywords:{keyword:"case catch default do else exit exitWith for forEach from if "+"private switch then throw to try waitUntil while with",built_in:"abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames "+"actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey "+"add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo "+"addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea "+"addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler "+"addForce addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo "+"addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats "+"addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal "+"addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler "+"addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem "+"addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem "+"addSwitchableUnit addTeamMember addToRemainsCollector addTorque addUniform addVehicle addVest "+"addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem "+"addWeaponPool addWeaponTurret admin agent agents AGLToASL aimedAtTarget aimPos airDensityRTD "+"airplaneThrottle airportSide AISFinishHeal alive all3DENEntities allAirports allControls "+"allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines "+"allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage "+"allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSimpleObjects "+"allSites allTurrets allUnits allUnitsUAV allVariables ammo ammoOnPylon and animate animateBay "+"animateDoor animatePylon animateSource animationNames animationPhase animationSourcePhase "+"animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert "+"assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret "+"assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems "+"assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam "+"assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject "+"attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines "+"backpackSpaceFor behaviour benchmark binocular boundingBox boundingBoxReal boundingCenter "+"breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode "+"call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams "+"camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView "+"campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive "+"camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget "+"camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos "+"camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest "+"cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend "+"canTriggerDynamicSimulation canUnloadInCombat canVehicleCargo captive captiveNum cbChecked "+"cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility className "+"clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons "+"clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal "+"clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool "+"clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory "+"collectiveRTD combatMode commandArtilleryFire commandChat commander commandFire commandFollow "+"commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop "+"commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal "+"completedFSM composeText configClasses configFile configHierarchy configName configProperties "+"configSourceAddonList configSourceMod configSourceModList confirmSensorTarget "+"connectTerminalToUAV controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count "+"countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity "+"createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject "+"createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker "+"createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay "+"createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam "+"createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctAddHeader "+"ctAddRow ctClear ctCurSel ctData ctFindHeaderRows ctFindRowHeader ctHeaderControls ctHeaderCount "+"ctRemoveHeaders ctRemoveRows ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay "+"ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted "+"ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD "+"ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver "+"ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale "+"ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler "+"ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind "+"ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade "+"ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 "+"ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 "+"ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 "+"ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary "+"ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel "+"ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPixelPrecision ctrlSetPosition ctrlSetScale "+"ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox "+"ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight "+"ctrlTextWidth ctrlType ctrlVisible ctRowControls ctRowCount ctSetCurSel ctSetData "+"ctSetHeaderTemplate ctSetRowTemplate ctSetValue ctValue curatorAddons curatorCamera "+"curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea "+"curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected "+"curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine "+"currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle "+"currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint "+"currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget "+"customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime "+"deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter "+"deleteCollection deleteEditorObject deleteGroup deleteGroupWhenEmpty deleteIdentity "+"deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus "+"deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines "+"diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts "+"diag_captureFrame diag_captureFrameToFile diag_captureSlowFrame diag_codePerformance "+"diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_lightNewLoad "+"diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits "+"diag_setLightNew diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner "+"difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI "+"disableCollisionWith disableConversation disableDebriefingStats disableMapIndicators "+"disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment "+"disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayParent "+"displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam "+"distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow "+"doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse "+"drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle "+"drawTriangle driver drop dynamicSimulationDistance dynamicSimulationDistanceCoef "+"dynamicSimulationEnabled dynamicSimulationSystemEnabled echo edit3DENMissionAttributes editObject "+"editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature "+"enableAimPrecision enableAttack enableAudioFeature enableAutoStartUpRTD enableAutoTrimRTD "+"enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot "+"enableDebriefingStats enableDiagLegend enableDynamicSimulation enableDynamicSimulationSystem "+"enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights "+"enableInfoPanelComponent enableIRLasers enableMimics enablePersonTurret enableRadio enableReload "+"enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation "+"enableSimulationGlobal enableStamina enableTeamSwitch enableTraffic enableUAVConnectability "+"enableUAVWaypoints enableVehicleCargo enableVehicleSensor enableWeaponDisassembly "+"endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities "+"environmentEnabled estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack "+"everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages "+"eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission "+"fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition "+"findEmptyPositionReady findIf findNearestEnemy finishMissionInit finite fire fireAtTarget "+"firstBackpack flag flagAnimationPhase flagOwner flagSide flagTexture fleeing floor flyInHeight "+"flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceFlagTexture "+"forceFollowRoad forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange "+"forEachMember forEachMemberAgent forEachMemberTeam forgetTarget format formation "+"formationDirection formationLeader formationMembers formationPosition formationTask formatText "+"formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData "+"get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity "+"get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible "+"get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllEnvSoundControllers "+"getAllHitPointsDamage getAllOwnedMines getAllSoundControllers getAmmoCargo getAnimAimPrecision "+"getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA "+"getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining "+"getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState "+"getClientStateNumber getCompatiblePylonMagazines getConnectedUAV getContainerMaxLoad "+"getCursorObjectParams getCustomAimCoef getDammage getDescription getDir getDirVisual "+"getDLCAssetsUsage getDLCAssetsUsageByName getDLCs getEditorCamera getEditorMode "+"getEditorObjectScope getElevationOffset getEnvSoundController getFatigue getForcedFlagTexture "+"getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom "+"getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos "+"getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs "+"getMissionLayerEntities getModelInfo getMousePosition getMusicPlayedTime getNumber "+"getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy "+"getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs "+"getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget "+"getPlateNumber getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual "+"getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getPylonMagazines getRelDir "+"getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents "+"getSlingLoad getSoundController getSoundControllerResult getSpeed getStamina getStatValue "+"getSuppression getTerrainGrid getTerrainHeightASL getText getTotalDLCUsageTime getUnitLoadout "+"getUnitTrait getUserMFDText getUserMFDvalue getVariable getVehicleCargo getWeaponCargo "+"getWeaponSway getWingsOrientationRTD getWingsPositionRTD getWPPos glanceAt globalChat globalRadio "+"goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId "+"groupOwner groupRadio groupSelectedUnits groupSelectUnit gunner gusts halt handgunItems "+"handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups "+"hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup "+"hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC "+"hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups "+"importance in inArea inAreaArray incapacitatedState inflame inflamed infoPanel "+"infoPanelComponentEnabled infoPanelComponents infoPanels inGameUISetEventHandler inheritsFrom "+"initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN "+"is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest "+"isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDamageAllowed isDedicated "+"isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray "+"isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader "+"isGroupDeletedWhenEmpty isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn "+"isKeyActive isKindOf isLaserOn isLightOn isLocalized isManualFire isMarkedForCollection "+"isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad "+"isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons "+"isSimpleObject isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText "+"isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUIContext "+"isUniformAllowed isVehicleCargo isVehicleRadarOn isVehicleSensorEnabled isWalking "+"isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent "+"joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact "+"kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language "+"laserTarget lbAdd lbClear lbColor lbColorRight lbCurSel lbData lbDelete lbIsSelected lbPicture "+"lbPictureRight lbSelection lbSetColor lbSetColorRight lbSetCurSel lbSetData lbSetPicture "+"lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetPictureRight "+"lbSetPictureRightColor lbSetPictureRightColorDisabled lbSetPictureRightColorSelected "+"lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetText lbSetTextRight lbSetTooltip "+"lbSetValue lbSize lbSort lbSortByValue lbText lbTextRight lbValue leader leaderboardDeInit "+"leaderboardGetRows leaderboardInit leaderboardRequestRowsFriends leaderboardsRequestUploadScore "+"leaderboardsRequestUploadScoreKeepBest leaderboardState leaveVehicle libraryCredits "+"libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed "+"linearConversion lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith "+"linkItem list listObjects listRemoteTargets listVehicleSensors ln lnbAddArray lnbAddColumn "+"lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow "+"lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData "+"lnbSetPicture lnbSetText lnbSetValue lnbSize lnbSort lnbSortByValue lnbText lnbValue load loadAbs "+"loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform "+"loadVest local localize locationPosition lock lockCameraTo lockCargo lockDriver locked "+"lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork "+"logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo "+"magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack "+"magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd "+"mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam "+"markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText "+"markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete "+"menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData "+"menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL "+"menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName "+"missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual "+"modelToWorldVisualWorld modelToWorldWorld modParams moonIntensity moonPhase morale move "+"move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret "+"moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound "+"nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing "+"nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads "+"nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex "+"nextWeatherChange nMenuItems not numberOfEnginesRTD numberToDate objectCurators objectFromNetId "+"objectParent objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch "+"onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter "+"onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected "+"onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch "+"openCuratorInterface openDLCPage openMap openSteamApp openYoutubeVideo or orderGetIn overcast "+"overcastForecast owner param params parseNumber parseSimpleArray parseText parsingNamespace "+"particlesQuality pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW "+"playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide "+"playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission "+"playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen "+"ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable "+"ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound "+"preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon "+"primaryWeaponItems primaryWeaponMagazine priority processDiaryLink productVersion profileName "+"profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition "+"publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool "+"queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate "+"radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random "+"rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl "+"remoteExec remoteExecCall remoteExecutedOwner remove3DENConnection remove3DENEventHandler "+"remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems "+"removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas "+"removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems "+"removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers "+"removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons "+"removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea "+"removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks "+"removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem "+"removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest "+"removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret "+"removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler "+"removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem "+"removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon "+"removeWeaponAttachmentCargo removeWeaponCargo removeWeaponGlobal removeWeaponTurret "+"reportRemoteTarget requiredVersion resetCamShake resetSubgroupDirection resize resources "+"respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt "+"roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled "+"ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes "+"ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW "+"safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity "+"saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D "+"scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scudState "+"secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces "+"selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition "+"selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectRandomWeighted "+"selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult "+"sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime "+"set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer "+"set3DENLinesVisible set3DENLogicType set3DENMissionAttribute set3DENMissionAttributes "+"set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setActualCollectiveRTD "+"setAirplaneThrottle setAirportSide setAmmo setAmmoCargo setAmmoOnPylon setAnimSpeedCoef "+"setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour "+"setBleedingRemaining setBrakesRTD setCameraInterest setCamShakeDefParams setCamShakeParams "+"setCamUseTI setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation "+"setConvoySeparation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType "+"setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef "+"setCustomWeightRTD setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination "+"setDetailMapBlendPars setDir setDirection setDrawIcon setDriveOnPath setDropInterval "+"setDynamicSimulationDistance setDynamicSimulationDistanceCoef setEditorMode setEditorObjectScope "+"setEffectCondition setEngineRPMRTD setFace setFaceAnimation setFatigue setFeatureType "+"setFlagAnimationPhase setFlagOwner setFlagSide setFlagTexture setFog setFormation "+"setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo "+"setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId "+"setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage "+"setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setInfoPanel setLeader "+"setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight "+"setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare "+"setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush "+"setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal "+"setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize "+"setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass "+"setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound "+"setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture "+"setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining "+"setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom "+"setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect "+"setPitch setPlateNumber setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW "+"setPosATL setPosition setPosWorld setPylonLoadOut setPylonsPriority setRadioMsg setRain "+"setRainbow setRandomLip setRank setRectangular setRepairCargo setRotorBrakeRTD setShadowDistance "+"setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData "+"setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType "+"setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech "+"setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits "+"setTargetAge setTaskMarkerOffset setTaskResult setTaskState setTerrainGrid setText "+"setTimeMultiplier setTitleEffect setTrafficDensity setTrafficDistance setTrafficGap "+"setTrafficSpeed setTriggerActivation setTriggerArea setTriggerStatements setTriggerText "+"setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos "+"setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat "+"setUserActionText setUserMFDText setUserMFDvalue setVariable setVectorDir setVectorDirAndUp "+"setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId "+"setVehicleLock setVehiclePosition setVehicleRadar setVehicleReceiveRemoteTargets "+"setVehicleReportOwnPosition setVehicleReportRemoteTargets setVehicleTIPars setVehicleVarName "+"setVelocity setVelocityModelSpace setVelocityTransformation setViewDistance "+"setVisibleIfTreeCollapsed setWantedRPMRTD setWaves setWaypointBehaviour setWaypointCombatMode "+"setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation "+"setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName "+"setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout "+"setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce "+"setWindStr setWingForceScaleRTD setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu "+"showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer "+"shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap "+"shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio "+"showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side "+"sideChat sideEnemy sideFriendly sideRadio simpleTasks simulationEnabled simulCloudDensity "+"simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime "+"sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed "+"slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode "+"splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str "+"sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth "+"switchableUnits switchAction switchCamera switchGesture switchLight switchMove "+"synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd "+"synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan "+"targetKnowledge targets targetsAggregate targetsQuery taskAlwaysVisible taskChildren "+"taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskParent "+"taskResult taskState taskType teamMember teamName teams teamSwitch teamSwitchEnabled teamType "+"terminate terrainIntersect terrainIntersectASL terrainIntersectAtASL text textLog textLogFormat "+"tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower "+"toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle "+"triggerAttachObject triggerAttachVehicle triggerDynamicSimulation triggerStatements triggerText "+"triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear "+"tvCollapse tvCollapseAll tvCount tvCurSel tvData tvDelete tvExpand tvExpandAll tvPicture "+"tvSetColor tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled "+"tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled "+"tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText "+"tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator "+"unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems "+"uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos "+"unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement "+"unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent "+"useAudioTimeForMoves userInputDisabled vectorAdd vectorCos vectorCrossProduct vectorDiff "+"vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo "+"vectorMagnitude vectorMagnitudeSqr vectorModelToWorld vectorModelToWorldVisual vectorMultiply "+"vectorNormalized vectorUp vectorUpVisual vectorWorldToModel vectorWorldToModelVisual vehicle "+"vehicleCargoEnabled vehicleChat vehicleRadio vehicleReceiveRemoteTargets vehicleReportOwnPosition "+"vehicleReportRemoteTargets vehicles vehicleVarName velocity velocityModelSpace verifySignature "+"vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap "+"visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject "+"waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour "+"waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour "+"waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName "+"waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed "+"waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible "+"weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered "+"weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD WFSideText wind ",literal:"blufor civilian configNull controlNull displayNull east endl false grpNull independent lineBreak "+"locationNull nil objNull opfor pi resistance scriptNull sideAmbientLife sideEmpty sideLogic "+"sideUnknown taskNull teamMemberNull true west"},contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.NUMBER_MODE,VARIABLE,FUNCTION,STRINGS,PREPROCESSOR],illegal:/#|^\$ /}}module.exports=sqf},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function sql(hljs){const COMMENT_MODE=hljs.COMMENT("--","$");const STRING={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]};const QUOTED_IDENTIFIER={begin:/"/,end:/"/,contains:[{begin:/""/}]};const LITERALS=["true","false","unknown"];const MULTI_WORD_TYPES=["double precision","large object","with timezone","without timezone"];const TYPES=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"];const NON_RESERVED_WORDS=["add","asc","collation","desc","final","first","last","view"];const RESERVED_WORDS=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update   ","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"];const RESERVED_FUNCTIONS=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"];const POSSIBLE_WITHOUT_PARENS=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"];const COMBOS=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"];const FUNCTIONS=RESERVED_FUNCTIONS;const KEYWORDS=[...RESERVED_WORDS,...NON_RESERVED_WORDS].filter(keyword=>!RESERVED_FUNCTIONS.includes(keyword));const VARIABLE={className:"variable",begin:/@[a-z0-9]+/};const OPERATOR={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0};const FUNCTION_CALL={begin:concat(/\b/,either(...FUNCTIONS),/\s*\(/),keywords:{built_in:FUNCTIONS}};function reduceRelevancy(list,{exceptions:exceptions,when:when}={}){const qualifyFn=when;exceptions=exceptions||[];return list.map(item=>{if(item.match(/\|\d+$/)||exceptions.includes(item)){return item}else if(qualifyFn(item)){return`${item}|0`}else{return item}})}return{name:"SQL",case_insensitive:true,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:reduceRelevancy(KEYWORDS,{when:x=>x.length<3}),literal:LITERALS,type:TYPES,built_in:POSSIBLE_WITHOUT_PARENS},contains:[{begin:either(...COMBOS),keywords:{$pattern:/[\w\.]+/,keyword:KEYWORDS.concat(COMBOS),literal:LITERALS,type:TYPES}},{className:"type",begin:either(...MULTI_WORD_TYPES)},FUNCTION_CALL,VARIABLE,STRING,QUOTED_IDENTIFIER,hljs.C_NUMBER_MODE,hljs.C_BLOCK_COMMENT_MODE,COMMENT_MODE,OPERATOR]}}module.exports=sql},function(module,exports){function stan(hljs){const BLOCKS=["functions","model","data","parameters","quantities","transformed","generated"];const STATEMENTS=["for","in","if","else","while","break","continue","return"];const SPECIAL_FUNCTIONS=["print","reject","increment_log_prob|10","integrate_ode|10","integrate_ode_rk45|10","integrate_ode_bdf|10","algebra_solver"];const VAR_TYPES=["int","real","vector","ordered","positive_ordered","simplex","unit_vector","row_vector","matrix","cholesky_factor_corr|10","cholesky_factor_cov|10","corr_matrix|10","cov_matrix|10","void"];const FUNCTIONS=["Phi","Phi_approx","abs","acos","acosh","algebra_solver","append_array","append_col","append_row","asin","asinh","atan","atan2","atanh","bernoulli_cdf","bernoulli_lccdf","bernoulli_lcdf","bernoulli_logit_lpmf","bernoulli_logit_rng","bernoulli_lpmf","bernoulli_rng","bessel_first_kind","bessel_second_kind","beta_binomial_cdf","beta_binomial_lccdf","beta_binomial_lcdf","beta_binomial_lpmf","beta_binomial_rng","beta_cdf","beta_lccdf","beta_lcdf","beta_lpdf","beta_rng","binary_log_loss","binomial_cdf","binomial_coefficient_log","binomial_lccdf","binomial_lcdf","binomial_logit_lpmf","binomial_lpmf","binomial_rng","block","categorical_logit_lpmf","categorical_logit_rng","categorical_lpmf","categorical_rng","cauchy_cdf","cauchy_lccdf","cauchy_lcdf","cauchy_lpdf","cauchy_rng","cbrt","ceil","chi_square_cdf","chi_square_lccdf","chi_square_lcdf","chi_square_lpdf","chi_square_rng","cholesky_decompose","choose","col","cols","columns_dot_product","columns_dot_self","cos","cosh","cov_exp_quad","crossprod","csr_extract_u","csr_extract_v","csr_extract_w","csr_matrix_times_vector","csr_to_dense_matrix","cumulative_sum","determinant","diag_matrix","diag_post_multiply","diag_pre_multiply","diagonal","digamma","dims","dirichlet_lpdf","dirichlet_rng","distance","dot_product","dot_self","double_exponential_cdf","double_exponential_lccdf","double_exponential_lcdf","double_exponential_lpdf","double_exponential_rng","e","eigenvalues_sym","eigenvectors_sym","erf","erfc","exp","exp2","exp_mod_normal_cdf","exp_mod_normal_lccdf","exp_mod_normal_lcdf","exp_mod_normal_lpdf","exp_mod_normal_rng","expm1","exponential_cdf","exponential_lccdf","exponential_lcdf","exponential_lpdf","exponential_rng","fabs","falling_factorial","fdim","floor","fma","fmax","fmin","fmod","frechet_cdf","frechet_lccdf","frechet_lcdf","frechet_lpdf","frechet_rng","gamma_cdf","gamma_lccdf","gamma_lcdf","gamma_lpdf","gamma_p","gamma_q","gamma_rng","gaussian_dlm_obs_lpdf","get_lp","gumbel_cdf","gumbel_lccdf","gumbel_lcdf","gumbel_lpdf","gumbel_rng","head","hypergeometric_lpmf","hypergeometric_rng","hypot","inc_beta","int_step","integrate_ode","integrate_ode_bdf","integrate_ode_rk45","inv","inv_Phi","inv_chi_square_cdf","inv_chi_square_lccdf","inv_chi_square_lcdf","inv_chi_square_lpdf","inv_chi_square_rng","inv_cloglog","inv_gamma_cdf","inv_gamma_lccdf","inv_gamma_lcdf","inv_gamma_lpdf","inv_gamma_rng","inv_logit","inv_sqrt","inv_square","inv_wishart_lpdf","inv_wishart_rng","inverse","inverse_spd","is_inf","is_nan","lbeta","lchoose","lgamma","lkj_corr_cholesky_lpdf","lkj_corr_cholesky_rng","lkj_corr_lpdf","lkj_corr_rng","lmgamma","lmultiply","log","log10","log1m","log1m_exp","log1m_inv_logit","log1p","log1p_exp","log2","log_determinant","log_diff_exp","log_falling_factorial","log_inv_logit","log_mix","log_rising_factorial","log_softmax","log_sum_exp","logistic_cdf","logistic_lccdf","logistic_lcdf","logistic_lpdf","logistic_rng","logit","lognormal_cdf","lognormal_lccdf","lognormal_lcdf","lognormal_lpdf","lognormal_rng","machine_precision","matrix_exp","max","mdivide_left_spd","mdivide_left_tri_low","mdivide_right_spd","mdivide_right_tri_low","mean","min","modified_bessel_first_kind","modified_bessel_second_kind","multi_gp_cholesky_lpdf","multi_gp_lpdf","multi_normal_cholesky_lpdf","multi_normal_cholesky_rng","multi_normal_lpdf","multi_normal_prec_lpdf","multi_normal_rng","multi_student_t_lpdf","multi_student_t_rng","multinomial_lpmf","multinomial_rng","multiply_log","multiply_lower_tri_self_transpose","neg_binomial_2_cdf","neg_binomial_2_lccdf","neg_binomial_2_lcdf","neg_binomial_2_log_lpmf","neg_binomial_2_log_rng","neg_binomial_2_lpmf","neg_binomial_2_rng","neg_binomial_cdf","neg_binomial_lccdf","neg_binomial_lcdf","neg_binomial_lpmf","neg_binomial_rng","negative_infinity","normal_cdf","normal_lccdf","normal_lcdf","normal_lpdf","normal_rng","not_a_number","num_elements","ordered_logistic_lpmf","ordered_logistic_rng","owens_t","pareto_cdf","pareto_lccdf","pareto_lcdf","pareto_lpdf","pareto_rng","pareto_type_2_cdf","pareto_type_2_lccdf","pareto_type_2_lcdf","pareto_type_2_lpdf","pareto_type_2_rng","pi","poisson_cdf","poisson_lccdf","poisson_lcdf","poisson_log_lpmf","poisson_log_rng","poisson_lpmf","poisson_rng","positive_infinity","pow","print","prod","qr_Q","qr_R","quad_form","quad_form_diag","quad_form_sym","rank","rayleigh_cdf","rayleigh_lccdf","rayleigh_lcdf","rayleigh_lpdf","rayleigh_rng","reject","rep_array","rep_matrix","rep_row_vector","rep_vector","rising_factorial","round","row","rows","rows_dot_product","rows_dot_self","scaled_inv_chi_square_cdf","scaled_inv_chi_square_lccdf","scaled_inv_chi_square_lcdf","scaled_inv_chi_square_lpdf","scaled_inv_chi_square_rng","sd","segment","sin","singular_values","sinh","size","skew_normal_cdf","skew_normal_lccdf","skew_normal_lcdf","skew_normal_lpdf","skew_normal_rng","softmax","sort_asc","sort_desc","sort_indices_asc","sort_indices_desc","sqrt","sqrt2","square","squared_distance","step","student_t_cdf","student_t_lccdf","student_t_lcdf","student_t_lpdf","student_t_rng","sub_col","sub_row","sum","tail","tan","tanh","target","tcrossprod","tgamma","to_array_1d","to_array_2d","to_matrix","to_row_vector","to_vector","trace","trace_gen_quad_form","trace_quad_form","trigamma","trunc","uniform_cdf","uniform_lccdf","uniform_lcdf","uniform_lpdf","uniform_rng","variance","von_mises_lpdf","von_mises_rng","weibull_cdf","weibull_lccdf","weibull_lcdf","weibull_lpdf","weibull_rng","wiener_lpdf","wishart_lpdf","wishart_rng"];const DISTRIBUTIONS=["bernoulli","bernoulli_logit","beta","beta_binomial","binomial","binomial_logit","categorical","categorical_logit","cauchy","chi_square","dirichlet","double_exponential","exp_mod_normal","exponential","frechet","gamma","gaussian_dlm_obs","gumbel","hypergeometric","inv_chi_square","inv_gamma","inv_wishart","lkj_corr","lkj_corr_cholesky","logistic","lognormal","multi_gp","multi_gp_cholesky","multi_normal","multi_normal_cholesky","multi_normal_prec","multi_student_t","multinomial","neg_binomial","neg_binomial_2","neg_binomial_2_log","normal","ordered_logistic","pareto","pareto_type_2","poisson","poisson_log","rayleigh","scaled_inv_chi_square","skew_normal","student_t","uniform","von_mises","weibull","wiener","wishart"];return{name:"Stan",aliases:["stanfuncs"],keywords:{$pattern:hljs.IDENT_RE,title:BLOCKS,keyword:STATEMENTS.concat(VAR_TYPES).concat(SPECIAL_FUNCTIONS),built_in:FUNCTIONS},contains:[hljs.C_LINE_COMMENT_MODE,hljs.COMMENT(/#/,/$/,{relevance:0,keywords:{"meta-keyword":"include"}}),hljs.COMMENT(/\/\*/,/\*\//,{relevance:0,contains:[{className:"doctag",begin:/@(return|param)/}]}),{begin:/<\s*lower\s*=/,keywords:"lower"},{begin:/[<,]\s*upper\s*=/,keywords:"upper"},{className:"keyword",begin:/\btarget\s*\+=/,relevance:10},{begin:"~\\s*("+hljs.IDENT_RE+")\\s*\\(",keywords:DISTRIBUTIONS},{className:"number",variants:[{begin:/\b\d+(?:\.\d*)?(?:[eE][+-]?\d+)?/},{begin:/\.\d+(?:[eE][+-]?\d+)?\b/}],relevance:0},{className:"string",begin:'"',end:'"',relevance:0}]}}module.exports=stan},function(module,exports){function stata(hljs){return{name:"Stata",aliases:["do","ado"],case_insensitive:true,keywords:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey bias binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 bubble bubbleplot ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error esize est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 forest forestplot form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate funnel funnelplot g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labbe labbeplot labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize menl meqparse mer merg merge meta mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trimfill trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",contains:[{className:"symbol",begin:/`[a-zA-Z0-9_]+'/},{className:"variable",begin:/\$\{?[a-zA-Z0-9_]+\}?/},{className:"string",variants:[{begin:'`"[^\r\n]*?"\''},{begin:'"[^\r\n"]*"'}]},{className:"built_in",variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\()"}]},hljs.COMMENT("^[ \t]*\\*.*$",false),hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE]}}module.exports=stata},function(module,exports){function step21(hljs){const STEP21_IDENT_RE="[A-Z_][A-Z0-9_.]*";const STEP21_KEYWORDS={$pattern:STEP21_IDENT_RE,keyword:"HEADER ENDSEC DATA"};const STEP21_START={className:"meta",begin:"ISO-10303-21;",relevance:10};const STEP21_CLOSE={className:"meta",begin:"END-ISO-10303-21;",relevance:10};return{name:"STEP Part 21",aliases:["p21","step","stp"],case_insensitive:true,keywords:STEP21_KEYWORDS,contains:[STEP21_START,STEP21_CLOSE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,hljs.COMMENT("/\\*\\*!","\\*/"),hljs.C_NUMBER_MODE,hljs.inherit(hljs.APOS_STRING_MODE,{illegal:null}),hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"symbol",variants:[{begin:"#",end:"\\d+",illegal:"\\W"}]}]}}module.exports=step21},function(module,exports){const MODES=hljs=>({IMPORTANT:{className:"meta",begin:"!important"},HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"},ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE]}});const TAGS=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"];const MEDIA_FEATURES=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"];const PSEUDO_CLASSES=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"];const PSEUDO_ELEMENTS=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"];const ATTRIBUTES=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse();function stylus(hljs){const modes=MODES(hljs);const AT_MODIFIERS="and or not only";const VARIABLE={className:"variable",begin:"\\$"+hljs.IDENT_RE};const AT_KEYWORDS=["charset","css","debug","extend","font-face","for","import","include","keyframes","media","mixin","page","warn","while"];const LOOKAHEAD_TAG_END="(?=[.\\s\\n[:,(])";const ILLEGAL=["\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)","(\\bdef\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"];return{name:"Stylus",aliases:["styl"],case_insensitive:false,keywords:"if else for in",illegal:"("+ILLEGAL.join("|")+")",contains:[hljs.QUOTE_STRING_MODE,hljs.APOS_STRING_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,modes.HEXCOLOR,{begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+LOOKAHEAD_TAG_END,className:"selector-class"},{begin:"#[a-zA-Z][a-zA-Z0-9_-]*"+LOOKAHEAD_TAG_END,className:"selector-id"},{begin:"\\b("+TAGS.join("|")+")"+LOOKAHEAD_TAG_END,className:"selector-tag"},{className:"selector-pseudo",begin:"&?:("+PSEUDO_CLASSES.join("|")+")"+LOOKAHEAD_TAG_END},{className:"selector-pseudo",begin:"&?::("+PSEUDO_ELEMENTS.join("|")+")"+LOOKAHEAD_TAG_END},modes.ATTRIBUTE_SELECTOR_MODE,{className:"keyword",begin:/@media/,starts:{end:/[{;}]/,keywords:{$pattern:/[a-z-]+/,keyword:AT_MODIFIERS,attribute:MEDIA_FEATURES.join(" ")},contains:[hljs.CSS_NUMBER_MODE]}},{className:"keyword",begin:"@((-(o|moz|ms|webkit)-)?("+AT_KEYWORDS.join("|")+"))\\b"},VARIABLE,hljs.CSS_NUMBER_MODE,{className:"function",begin:"^[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",illegal:"[\\n]",returnBegin:true,contains:[{className:"title",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{className:"params",begin:/\(/,end:/\)/,contains:[modes.HEXCOLOR,VARIABLE,hljs.APOS_STRING_MODE,hljs.CSS_NUMBER_MODE,hljs.QUOTE_STRING_MODE]}]},{className:"attribute",begin:"\\b("+ATTRIBUTES.join("|")+")\\b",starts:{end:/;|$/,contains:[modes.HEXCOLOR,VARIABLE,hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.CSS_NUMBER_MODE,hljs.C_BLOCK_COMMENT_MODE,modes.IMPORTANT],illegal:/\./,relevance:0}}]}}module.exports=stylus},function(module,exports){function subunit(hljs){const DETAILS={className:"string",begin:"\\[\n(multipart)?",end:"\\]\n"};const TIME={className:"string",begin:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"};const PROGRESSVALUE={className:"string",begin:"(\\+|-)\\d+"};const KEYWORDS={className:"keyword",relevance:10,variants:[{begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{begin:"^progress(:?)(\\s+)?(pop|push)?"},{begin:"^tags:"},{begin:"^time:"}]};return{name:"SubUnit",case_insensitive:true,contains:[DETAILS,TIME,PROGRESSVALUE,KEYWORDS]}}module.exports=subunit},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}const keywordWrapper=keyword=>concat(/\b/,keyword,/\w$/.test(keyword)?/\b/:/\B/);const dotKeywords=["Protocol","Type"].map(keywordWrapper);const optionalDotKeywords=["init","self"].map(keywordWrapper);const keywordTypes=["Any","Self"];const keywords=["associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"];const literals=["false","nil","true"];const precedencegroupKeywords=["assignment","associativity","higherThan","left","lowerThan","none","right"];const numberSignKeywords=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"];const builtIns=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"];const operatorHead=either(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/);const operatorCharacter=either(operatorHead,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/);const operator=concat(operatorHead,operatorCharacter,"*");const identifierHead=either(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/);const identifierCharacter=either(identifierHead,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/);const identifier=concat(identifierHead,identifierCharacter,"*");const typeIdentifier=concat(/[A-Z]/,identifierCharacter,"*");const keywordAttributes=["autoclosure",concat(/convention\(/,either("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",concat(/objc\(/,identifier,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","testable","UIApplicationMain","unknown","usableFromInline"];const availabilityKeywords=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function swift(hljs){const WHITESPACE={match:/\s+/,relevance:0};const BLOCK_COMMENT=hljs.COMMENT("/\\*","\\*/",{contains:["self"]});const COMMENTS=[hljs.C_LINE_COMMENT_MODE,BLOCK_COMMENT];const DOT_KEYWORD={className:"keyword",begin:concat(/\./,lookahead(either(...dotKeywords,...optionalDotKeywords))),end:either(...dotKeywords,...optionalDotKeywords),excludeBegin:true};const KEYWORD_GUARD={match:concat(/\./,either(...keywords)),relevance:0};const PLAIN_KEYWORDS=keywords.filter(kw=>typeof kw==="string").concat(["_|0"]);const REGEX_KEYWORDS=keywords.filter(kw=>typeof kw!=="string").concat(keywordTypes).map(keywordWrapper);const KEYWORD={variants:[{className:"keyword",match:either(...REGEX_KEYWORDS,...optionalDotKeywords)}]};const KEYWORDS={$pattern:either(/\b\w+/,/#\w+/),keyword:PLAIN_KEYWORDS.concat(numberSignKeywords),literal:literals};const KEYWORD_MODES=[DOT_KEYWORD,KEYWORD_GUARD,KEYWORD];const BUILT_IN_GUARD={match:concat(/\./,either(...builtIns)),relevance:0};const BUILT_IN={className:"built_in",match:concat(/\b/,either(...builtIns),/(?=\()/)};const BUILT_INS=[BUILT_IN_GUARD,BUILT_IN];const OPERATOR_GUARD={match:/->/,relevance:0};const OPERATOR={className:"operator",relevance:0,variants:[{match:operator},{match:`\\.(\\.|${operatorCharacter})+`}]};const OPERATORS=[OPERATOR_GUARD,OPERATOR];const decimalDigits="([0-9]_*)+";const hexDigits="([0-9a-fA-F]_*)+";const NUMBER={className:"number",relevance:0,variants:[{match:`\\b(${decimalDigits})(\\.(${decimalDigits}))?`+`([eE][+-]?(${decimalDigits}))?\\b`},{match:`\\b0x(${hexDigits})(\\.(${hexDigits}))?`+`([pP][+-]?(${decimalDigits}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]};const ESCAPED_CHARACTER=(rawDelimiter="")=>({className:"subst",variants:[{match:concat(/\\/,rawDelimiter,/[0\\tnr"']/)},{match:concat(/\\/,rawDelimiter,/u\{[0-9a-fA-F]{1,8}\}/)}]});const ESCAPED_NEWLINE=(rawDelimiter="")=>({className:"subst",match:concat(/\\/,rawDelimiter,/[\t ]*(?:[\r\n]|\r\n)/)});const INTERPOLATION=(rawDelimiter="")=>({className:"subst",label:"interpol",begin:concat(/\\/,rawDelimiter,/\(/),end:/\)/});const MULTILINE_STRING=(rawDelimiter="")=>({begin:concat(rawDelimiter,/"""/),end:concat(/"""/,rawDelimiter),contains:[ESCAPED_CHARACTER(rawDelimiter),ESCAPED_NEWLINE(rawDelimiter),INTERPOLATION(rawDelimiter)]});const SINGLE_LINE_STRING=(rawDelimiter="")=>({begin:concat(rawDelimiter,/"/),end:concat(/"/,rawDelimiter),contains:[ESCAPED_CHARACTER(rawDelimiter),INTERPOLATION(rawDelimiter)]});const STRING={className:"string",variants:[MULTILINE_STRING(),MULTILINE_STRING("#"),MULTILINE_STRING("##"),MULTILINE_STRING("###"),SINGLE_LINE_STRING(),SINGLE_LINE_STRING("#"),SINGLE_LINE_STRING("##"),SINGLE_LINE_STRING("###")]};const QUOTED_IDENTIFIER={match:concat(/`/,identifier,/`/)};const IMPLICIT_PARAMETER={className:"variable",match:/\$\d+/};const PROPERTY_WRAPPER_PROJECTION={className:"variable",match:`\\$${identifierCharacter}+`};const IDENTIFIERS=[QUOTED_IDENTIFIER,IMPLICIT_PARAMETER,PROPERTY_WRAPPER_PROJECTION];const AVAILABLE_ATTRIBUTE={match:/(@|#)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:availabilityKeywords,contains:[...OPERATORS,NUMBER,STRING]}]}};const KEYWORD_ATTRIBUTE={className:"keyword",match:concat(/@/,either(...keywordAttributes))};const USER_DEFINED_ATTRIBUTE={className:"meta",match:concat(/@/,identifier)};const ATTRIBUTES=[AVAILABLE_ATTRIBUTE,KEYWORD_ATTRIBUTE,USER_DEFINED_ATTRIBUTE];const TYPE={match:lookahead(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:concat(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,identifierCharacter,"+")},{className:"type",match:typeIdentifier,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:concat(/\s+&\s+/,lookahead(typeIdentifier)),relevance:0}]};const GENERIC_ARGUMENTS={begin:/</,end:/>/,keywords:KEYWORDS,contains:[...COMMENTS,...KEYWORD_MODES,...ATTRIBUTES,OPERATOR_GUARD,TYPE]};TYPE.contains.push(GENERIC_ARGUMENTS);const TUPLE_ELEMENT_NAME={match:concat(identifier,/\s*:/),keywords:"_|0",relevance:0};const TUPLE={begin:/\(/,end:/\)/,relevance:0,keywords:KEYWORDS,contains:["self",TUPLE_ELEMENT_NAME,...COMMENTS,...KEYWORD_MODES,...BUILT_INS,...OPERATORS,NUMBER,STRING,...IDENTIFIERS,...ATTRIBUTES,TYPE]};const FUNC_PLUS_TITLE={beginKeywords:"func",contains:[{className:"title",match:either(QUOTED_IDENTIFIER.match,identifier,operator),endsParent:true,relevance:0},WHITESPACE]};const GENERIC_PARAMETERS={begin:/</,end:/>/,contains:[...COMMENTS,TYPE]};const FUNCTION_PARAMETER_NAME={begin:either(lookahead(concat(identifier,/\s*:/)),lookahead(concat(identifier,/\s+/,identifier,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:identifier}]};const FUNCTION_PARAMETERS={begin:/\(/,end:/\)/,keywords:KEYWORDS,contains:[FUNCTION_PARAMETER_NAME,...COMMENTS,...KEYWORD_MODES,...OPERATORS,NUMBER,STRING,...ATTRIBUTES,TYPE,TUPLE],endsParent:true,illegal:/["']/};const FUNCTION={className:"function",match:lookahead(/\bfunc\b/),contains:[FUNC_PLUS_TITLE,GENERIC_PARAMETERS,FUNCTION_PARAMETERS,WHITESPACE],illegal:[/\[/,/%/]};const INIT_SUBSCRIPT={className:"function",match:/\b(subscript|init[?!]?)\s*(?=[<(])/,keywords:{keyword:"subscript init init? init!",$pattern:/\w+[?!]?/},contains:[GENERIC_PARAMETERS,FUNCTION_PARAMETERS,WHITESPACE],illegal:/\[|%/};const OPERATOR_DECLARATION={beginKeywords:"operator",end:hljs.MATCH_NOTHING_RE,contains:[{className:"title",match:operator,endsParent:true,relevance:0}]};const PRECEDENCEGROUP={beginKeywords:"precedencegroup",end:hljs.MATCH_NOTHING_RE,contains:[{className:"title",match:typeIdentifier,relevance:0},{begin:/{/,end:/}/,relevance:0,endsParent:true,keywords:[...precedencegroupKeywords,...literals],contains:[TYPE]}]};for(const variant of STRING.variants){const interpolation=variant.contains.find(mode=>mode.label==="interpol");interpolation.keywords=KEYWORDS;const submodes=[...KEYWORD_MODES,...BUILT_INS,...OPERATORS,NUMBER,STRING,...IDENTIFIERS];interpolation.contains=[...submodes,{begin:/\(/,end:/\)/,contains:["self",...submodes]}]}return{name:"Swift",keywords:KEYWORDS,contains:[...COMMENTS,FUNCTION,INIT_SUBSCRIPT,{className:"class",beginKeywords:"struct protocol class extension enum",end:"\\{",excludeEnd:true,keywords:KEYWORDS,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...KEYWORD_MODES]},OPERATOR_DECLARATION,PRECEDENCEGROUP,{beginKeywords:"import",end:/$/,contains:[...COMMENTS],relevance:0},...KEYWORD_MODES,...BUILT_INS,...OPERATORS,NUMBER,STRING,...IDENTIFIERS,...ATTRIBUTES,TYPE,TUPLE]}}module.exports=swift},function(module,exports){function taggerscript(hljs){const COMMENT={className:"comment",begin:/\$noop\(/,end:/\)/,contains:[{begin:/\(/,end:/\)/,contains:["self",{begin:/\\./}]}],relevance:10};const FUNCTION={className:"keyword",begin:/\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,end:/\(/,excludeEnd:true};const VARIABLE={className:"variable",begin:/%[_a-zA-Z0-9:]*/,end:"%"};const ESCAPE_SEQUENCE={className:"symbol",begin:/\\./};return{name:"Tagger Script",contains:[COMMENT,FUNCTION,VARIABLE,ESCAPE_SEQUENCE]}}module.exports=taggerscript},function(module,exports){function yaml(hljs){var LITERALS="true false yes no null";var URI_CHARACTERS="[\\w#;/?:@&=+$,.~*'()[\\]]+";var KEY={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]};var TEMPLATE_VARIABLES={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]};var STRING={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[hljs.BACKSLASH_ESCAPE,TEMPLATE_VARIABLES]};var CONTAINER_STRING=hljs.inherit(STRING,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]});var DATE_RE="[0-9]{4}(-[0-9][0-9]){0,2}";var TIME_RE="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?";var FRACTION_RE="(\\.[0-9]*)?";var ZONE_RE="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?";var TIMESTAMP={className:"number",begin:"\\b"+DATE_RE+TIME_RE+FRACTION_RE+ZONE_RE+"\\b"};var VALUE_CONTAINER={end:",",endsWithParent:true,excludeEnd:true,keywords:LITERALS,relevance:0};var OBJECT={begin:/\{/,end:/\}/,contains:[VALUE_CONTAINER],illegal:"\\n",relevance:0};var ARRAY={begin:"\\[",end:"\\]",contains:[VALUE_CONTAINER],illegal:"\\n",relevance:0};var MODES=[KEY,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:true,excludeEnd:true,relevance:0},{className:"type",begin:"!\\w+!"+URI_CHARACTERS},{className:"type",begin:"!<"+URI_CHARACTERS+">"},{className:"type",begin:"!"+URI_CHARACTERS},{className:"type",begin:"!!"+URI_CHARACTERS},{className:"meta",begin:"&"+hljs.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+hljs.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},hljs.HASH_COMMENT_MODE,{beginKeywords:LITERALS,keywords:{literal:LITERALS}},TIMESTAMP,{className:"number",begin:hljs.C_NUMBER_RE+"\\b",relevance:0},OBJECT,ARRAY,STRING];var VALUE_MODES=[...MODES];VALUE_MODES.pop();VALUE_MODES.push(CONTAINER_STRING);VALUE_CONTAINER.contains=VALUE_MODES;return{name:"YAML",case_insensitive:true,aliases:["yml"],contains:MODES}}module.exports=yaml},function(module,exports){function tap(hljs){return{name:"Test Anything Protocol",case_insensitive:true,contains:[hljs.HASH_COMMENT_MODE,{className:"meta",variants:[{begin:"^TAP version (\\d+)$"},{begin:"^1\\.\\.(\\d+)$"}]},{begin:/---$/,end:"\\.\\.\\.$",subLanguage:"yaml",relevance:0},{className:"number",begin:" (\\d+) "},{className:"symbol",variants:[{begin:"^ok"},{begin:"^not ok"}]}]}}module.exports=tap},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function optional(re){return concat("(",re,")?")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function tcl(hljs){const TCL_IDENT=/[a-zA-Z_][a-zA-Z0-9_]*/;const NUMBER={className:"number",variants:[hljs.BINARY_NUMBER_MODE,hljs.C_NUMBER_MODE]};return{name:"Tcl",aliases:["tk"],keywords:"after append apply array auto_execok auto_import auto_load auto_mkindex "+"auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock "+"close concat continue dde dict encoding eof error eval exec exit expr fblocked "+"fconfigure fcopy file fileevent filename flush for foreach format gets glob global "+"history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list "+"llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 "+"mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex "+"platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename "+"return safe scan seek set socket source split string subst switch tcl_endOfWord "+"tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter "+"tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update "+"uplevel upvar variable vwait while",contains:[hljs.COMMENT(";[ \\t]*#","$"),hljs.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:true,contains:[{className:"title",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:true,excludeEnd:true}]},{className:"variable",variants:[{begin:concat(/\$/,optional(/::/),TCL_IDENT,"(::",TCL_IDENT,")*")},{begin:"\\$\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"\\}",contains:[NUMBER]}]},{className:"string",contains:[hljs.BACKSLASH_ESCAPE],variants:[hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null})]},NUMBER]}}module.exports=tcl},function(module,exports){function thrift(hljs){const BUILT_IN_TYPES="bool byte i16 i32 i64 double string binary";return{name:"Thrift",keywords:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:BUILT_IN_TYPES,literal:"true false"},contains:[hljs.QUOTE_STRING_MODE,hljs.NUMBER_MODE,hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[hljs.inherit(hljs.TITLE_MODE,{starts:{endsWithParent:true,excludeEnd:true}})]},{begin:"\\b(set|list|map)\\s*<",end:">",keywords:BUILT_IN_TYPES,contains:["self"]}]}}module.exports=thrift},function(module,exports){function tp(hljs){const TPID={className:"number",begin:"[1-9][0-9]*",relevance:0};const TPLABEL={className:"symbol",begin:":[^\\]]+"};const TPDATA={className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|"+"TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",TPID,TPLABEL]};const TPIO={className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",TPID,hljs.QUOTE_STRING_MODE,TPLABEL]};return{name:"TP",keywords:{keyword:"ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB "+"DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC "+"IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE "+"PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET "+"Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN "+"SUBSTR FINDSTR VOFFSET PROG ATTR MN POS",literal:"ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET"},contains:[TPDATA,TPIO,{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},hljs.COMMENT("//","[;$]"),hljs.COMMENT("!","[;$]"),hljs.COMMENT("--eg:","$"),hljs.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"'"},hljs.C_NUMBER_MODE,{className:"variable",begin:"\\$[A-Za-z0-9_]+"}]}}module.exports=tp},function(module,exports){function twig(hljs){var PARAMS={className:"params",begin:"\\(",end:"\\)"};var FUNCTION_NAMES="attribute block constant cycle date dump include "+"max min parent random range source template_from_string";var FUNCTIONS={beginKeywords:FUNCTION_NAMES,keywords:{name:FUNCTION_NAMES},relevance:0,contains:[PARAMS]};var FILTER={begin:/\|[A-Za-z_]+:?/,keywords:"abs batch capitalize column convert_encoding date date_modify default "+"escape filter first format inky_to_html inline_css join json_encode keys last "+"length lower map markdown merge nl2br number_format raw reduce replace "+"reverse round slice sort spaceless split striptags title trim upper url_encode",contains:[FUNCTIONS]};var TAGS="apply autoescape block deprecated do embed extends filter flush for from "+"if import include macro sandbox set use verbatim with";TAGS=TAGS+" "+TAGS.split(" ").map((function(t){return"end"+t})).join(" ");return{name:"Twig",aliases:["craftcms"],case_insensitive:true,subLanguage:"xml",contains:[hljs.COMMENT(/\{#/,/#\}/),{className:"template-tag",begin:/\{%/,end:/%\}/,contains:[{className:"name",begin:/\w+/,keywords:TAGS,starts:{endsWithParent:true,contains:[FILTER,FUNCTIONS],relevance:0}}]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:["self",FILTER,FUNCTIONS]}]}}module.exports=twig},function(module,exports){const IDENT_RE="[A-Za-z$_][0-9A-Za-z$_]*";const KEYWORDS=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"];const LITERALS=["true","false","null","undefined","NaN","Infinity"];const TYPES=["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"];const ERROR_TYPES=["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"];const BUILT_IN_GLOBALS=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"];const BUILT_IN_VARIABLES=["arguments","this","super","console","window","document","localStorage","module","global"];const BUILT_INS=[].concat(BUILT_IN_GLOBALS,BUILT_IN_VARIABLES,TYPES,ERROR_TYPES);function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function lookahead(re){return concat("(?=",re,")")}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function javascript(hljs){const hasClosingTag=(match,{after:after})=>{const tag="</"+match[0].slice(1);const pos=match.input.indexOf(tag,after);return pos!==-1};const IDENT_RE$1=IDENT_RE;const FRAGMENT={begin:"<>",end:"</>"};const XML_TAG={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(match,response)=>{const afterMatchIndex=match[0].length+match.index;const nextChar=match.input[afterMatchIndex];if(nextChar==="<"){response.ignoreMatch();return}if(nextChar===">"){if(!hasClosingTag(match,{after:afterMatchIndex})){response.ignoreMatch()}}}};const KEYWORDS$1={$pattern:IDENT_RE,keyword:KEYWORDS,literal:LITERALS,built_in:BUILT_INS};const decimalDigits="[0-9](_?[0-9])*";const frac=`\\.(${decimalDigits})`;const decimalInteger=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;const NUMBER={className:"number",variants:[{begin:`(\\b(${decimalInteger})((${frac})|\\.)?|(${frac}))`+`[eE][+-]?(${decimalDigits})\\b`},{begin:`\\b(${decimalInteger})\\b((${frac})\\b|\\.)?|(${frac})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0};const SUBST={className:"subst",begin:"\\$\\{",end:"\\}",keywords:KEYWORDS$1,contains:[]};const HTML_TEMPLATE={begin:"html`",end:"",starts:{end:"`",returnEnd:false,contains:[hljs.BACKSLASH_ESCAPE,SUBST],subLanguage:"xml"}};const CSS_TEMPLATE={begin:"css`",end:"",starts:{end:"`",returnEnd:false,contains:[hljs.BACKSLASH_ESCAPE,SUBST],subLanguage:"css"}};const TEMPLATE_STRING={className:"string",begin:"`",end:"`",contains:[hljs.BACKSLASH_ESCAPE,SUBST]};const JSDOC_COMMENT=hljs.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:IDENT_RE$1+"(?=\\s*(-)|$)",endsParent:true,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]});const COMMENT={className:"comment",variants:[JSDOC_COMMENT,hljs.C_BLOCK_COMMENT_MODE,hljs.C_LINE_COMMENT_MODE]};const SUBST_INTERNALS=[hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,HTML_TEMPLATE,CSS_TEMPLATE,TEMPLATE_STRING,NUMBER,hljs.REGEXP_MODE];SUBST.contains=SUBST_INTERNALS.concat({begin:/\{/,end:/\}/,keywords:KEYWORDS$1,contains:["self"].concat(SUBST_INTERNALS)});const SUBST_AND_COMMENTS=[].concat(COMMENT,SUBST.contains);const PARAMS_CONTAINS=SUBST_AND_COMMENTS.concat([{begin:/\(/,end:/\)/,keywords:KEYWORDS$1,contains:["self"].concat(SUBST_AND_COMMENTS)}]);const PARAMS={className:"params",begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,keywords:KEYWORDS$1,contains:PARAMS_CONTAINS};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:KEYWORDS$1,exports:{PARAMS_CONTAINS:PARAMS_CONTAINS},illegal:/#(?![$_A-z])/,contains:[hljs.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,HTML_TEMPLATE,CSS_TEMPLATE,TEMPLATE_STRING,COMMENT,NUMBER,{begin:concat(/[{,\n]\s*/,lookahead(concat(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,IDENT_RE$1+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:IDENT_RE$1+lookahead("\\s*:"),relevance:0}]},{begin:"("+hljs.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[COMMENT,hljs.REGEXP_MODE,{className:"function",begin:"(\\("+"[^()]*(\\("+"[^()]*(\\("+"[^()]*"+"\\)[^()]*)*"+"\\)[^()]*)*"+"\\)|"+hljs.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:true,end:"\\s*=>",contains:[{className:"params",variants:[{begin:hljs.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:true},{begin:/\(/,end:/\)/,excludeBegin:true,excludeEnd:true,keywords:KEYWORDS$1,contains:PARAMS_CONTAINS}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:true},{variants:[{begin:FRAGMENT.begin,end:FRAGMENT.end},{begin:XML_TAG.begin,"on:begin":XML_TAG.isTrulyOpeningTag,end:XML_TAG.end}],subLanguage:"xml",contains:[{begin:XML_TAG.begin,end:XML_TAG.end,skip:true,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:true,keywords:KEYWORDS$1,contains:["self",hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE$1}),PARAMS],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:hljs.UNDERSCORE_IDENT_RE+"\\("+"[^()]*(\\("+"[^()]*(\\("+"[^()]*"+"\\)[^()]*)*"+"\\)[^()]*)*"+"\\)\\s*\\{",returnBegin:true,contains:[PARAMS,hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE$1})]},{variants:[{begin:"\\."+IDENT_RE$1},{begin:"\\$"+IDENT_RE$1}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:true,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},hljs.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:true,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE$1}),"self",PARAMS]},{begin:"(get|set)\\s+(?="+IDENT_RE$1+"\\()",end:/\{/,keywords:"get set",contains:[hljs.inherit(hljs.TITLE_MODE,{begin:IDENT_RE$1}),{begin:/\(\)/},PARAMS]},{begin:/\$[(.]/}]}}function typescript(hljs){const IDENT_RE$1=IDENT_RE;const NAMESPACE={beginKeywords:"namespace",end:/\{/,excludeEnd:true};const INTERFACE={beginKeywords:"interface",end:/\{/,excludeEnd:true,keywords:"interface extends"};const USE_STRICT={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/};const TYPES=["any","void","number","boolean","string","object","never","enum"];const TS_SPECIFIC_KEYWORDS=["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"];const KEYWORDS$1={$pattern:IDENT_RE,keyword:KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),literal:LITERALS,built_in:BUILT_INS.concat(TYPES)};const DECORATOR={className:"meta",begin:"@"+IDENT_RE$1};const swapMode=(mode,label,replacement)=>{const indx=mode.contains.findIndex(m=>m.label===label);if(indx===-1){throw new Error("can not find mode to replace")}mode.contains.splice(indx,1,replacement)};const tsLanguage=javascript(hljs);Object.assign(tsLanguage.keywords,KEYWORDS$1);tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);tsLanguage.contains=tsLanguage.contains.concat([DECORATOR,NAMESPACE,INTERFACE]);swapMode(tsLanguage,"shebang",hljs.SHEBANG());swapMode(tsLanguage,"use_strict",USE_STRICT);const functionDeclaration=tsLanguage.contains.find(m=>m.className==="function");functionDeclaration.relevance=0;Object.assign(tsLanguage,{name:"TypeScript",aliases:["ts","tsx"]});return tsLanguage}module.exports=typescript},function(module,exports){function vala(hljs){return{name:"Vala",keywords:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 "+"uint16 uint32 uint64 float double bool struct enum string void "+"weak unowned owned "+"async signal static abstract interface override virtual delegate "+"if while do for foreach else switch case break default return try catch "+"public private protected internal "+"using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object Gtk Posix",literal:"false true null"},contains:[{className:"class",beginKeywords:"class interface namespace",end:/\{/,excludeEnd:true,illegal:"[^,:\\n\\s\\.]",contains:[hljs.UNDERSCORE_TITLE_MODE]},hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""',relevance:5},hljs.APOS_STRING_MODE,hljs.QUOTE_STRING_MODE,hljs.C_NUMBER_MODE,{className:"meta",begin:"^#",end:"$",relevance:2}]}}module.exports=vala},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function vbnet(hljs){const CHARACTER={className:"string",begin:/"(""|[^/n])"C\b/};const STRING={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]};const MM_DD_YYYY=/\d{1,2}\/\d{1,2}\/\d{4}/;const YYYY_MM_DD=/\d{4}-\d{1,2}-\d{1,2}/;const TIME_12H=/(\d|1[012])(:\d+){0,2} *(AM|PM)/;const TIME_24H=/\d{1,2}(:\d{1,2}){1,2}/;const DATE={className:"literal",variants:[{begin:concat(/# */,either(YYYY_MM_DD,MM_DD_YYYY),/ *#/)},{begin:concat(/# */,TIME_24H,/ *#/)},{begin:concat(/# */,TIME_12H,/ *#/)},{begin:concat(/# */,either(YYYY_MM_DD,MM_DD_YYYY),/ +/,either(TIME_12H,TIME_24H),/ *#/)}]};const NUMBER={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]};const LABEL={className:"label",begin:/^\w+:/};const DOC_COMMENT=hljs.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]});const COMMENT=hljs.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});const DIRECTIVES={className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{"meta-keyword":"const disable else elseif enable end externalsource if region then"},contains:[COMMENT]};return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:true,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval "+"call case catch class compare const continue custom declare default delegate dim distinct do "+"each equals else elseif end enum erase error event exit explicit finally for friend from function "+"get global goto group handles if implements imports in inherits interface into iterator "+"join key let lib loop me mid module mustinherit mustoverride mybase myclass "+"namespace narrowing new next notinheritable notoverridable "+"of off on operator option optional order overloads overridable overrides "+"paramarray partial preserve private property protected public "+"raiseevent readonly redim removehandler resume return "+"select set shadows shared skip static step stop structure strict sub synclock "+"take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor "+"cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[CHARACTER,STRING,DATE,NUMBER,LABEL,DOC_COMMENT,COMMENT,DIRECTIVES]}}module.exports=vbnet},function(module,exports){function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function vbscript(hljs){const BUILT_IN_FUNCTIONS=("lcase month vartype instrrev ubound setlocale getobject rgb getref string "+"weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency "+"conversions csng timevalue second year space abs clng timeserial fixs len asc "+"isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate "+"instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex "+"chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim "+"strcomp int createobject loadpicture tan formatnumber mid "+"split  cint sin datepart ltrim sqr "+"time derived eval date formatpercent exp inputbox left ascw "+"chrw regexp cstr err").split(" ");const BUILT_IN_OBJECTS=["server","response","request","scriptengine","scriptenginebuildversion","scriptengineminorversion","scriptenginemajorversion"];const BUILT_IN_CALL={begin:concat(either(...BUILT_IN_FUNCTIONS),"\\s*\\("),relevance:0,keywords:{built_in:BUILT_IN_FUNCTIONS}};return{name:"VBScript",aliases:["vbs"],case_insensitive:true,keywords:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function "+"if then else on error option explicit new private property let get public randomize "+"redim rem select case set stop sub while wend with end to elseif is or xor and not "+"class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:BUILT_IN_OBJECTS,literal:"true false null nothing empty"},illegal:"//",contains:[BUILT_IN_CALL,hljs.inherit(hljs.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),hljs.COMMENT(/'/,/$/,{relevance:0}),hljs.C_NUMBER_MODE]}}module.exports=vbscript},function(module,exports){function vbscriptHtml(hljs){return{name:"VBScript in HTML",subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:"vbscript"}]}}module.exports=vbscriptHtml},function(module,exports){function verilog(hljs){const SV_KEYWORDS={$pattern:/[\w\$]+/,keyword:"accept_on alias always always_comb always_ff always_latch and assert assign "+"assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 "+"byte case casex casez cell chandle checker class clocking cmos config const "+"constraint context continue cover covergroup coverpoint cross deassign default "+"defparam design disable dist do edge else end endcase endchecker endclass "+"endclocking endconfig endfunction endgenerate endgroup endinterface endmodule "+"endpackage endprimitive endprogram endproperty endspecify endsequence endtable "+"endtask enum event eventually expect export extends extern final first_match for "+"force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 "+"if iff ifnone ignore_bins illegal_bins implements implies import incdir include "+"initial inout input inside instance int integer interconnect interface intersect "+"join join_any join_none large let liblist library local localparam logic longint "+"macromodule matches medium modport module nand negedge nettype new nexttime nmos "+"nor noshowcancelled not notif0 notif1 or output package packed parameter pmos "+"posedge primitive priority program property protected pull0 pull1 pulldown pullup "+"pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos "+"real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran "+"rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared "+"sequence shortint shortreal showcancelled signed small soft solve specify specparam "+"static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on "+"sync_reject_on table tagged task this throughout time timeprecision timeunit tran "+"tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 "+"unsigned until until_with untyped use uwire var vectored virtual void wait wait_order "+"wand weak weak0 weak1 while wildcard wire with within wor xnor xor",literal:"null",built_in:"$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale "+"$bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat "+"$realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson "+"$assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff "+"$assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk "+"$fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control "+"$coverage_get $coverage_save $set_coverage_db_name $rose $stable $past "+"$rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display "+"$coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename "+"$unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow "+"$floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning "+"$dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh "+"$tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random "+"$dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson "+"$dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array "+"$async$nand$array $async$or$array $async$nor$array $sync$and$array "+"$sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf "+"$async$and$plane $async$nand$plane $async$or$plane $async$nor$plane "+"$sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system "+"$display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo "+"$write $readmemb $readmemh $writememh $value$plusargs "+"$dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit "+"$writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb "+"$dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall "+"$dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo "+"$fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh "+"$swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb "+"$fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat "+"$sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror"};return{name:"Verilog",aliases:["v","sv","svh"],case_insensitive:false,keywords:SV_KEYWORDS,contains:[hljs.C_BLOCK_COMMENT_MODE,hljs.C_LINE_COMMENT_MODE,hljs.QUOTE_STRING_MODE,{className:"number",contains:[hljs.BACKSLASH_ESCAPE],variants:[{begin:"\\b((\\d+'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)"},{begin:"\\B(('(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)"},{begin:"\\b([0-9_])+",relevance:0}]},{className:"variable",variants:[{begin:"#\\((?!parameter).+\\)"},{begin:"\\.\\w+",relevance:0}]},{className:"meta",begin:"`",end:"$",keywords:{"meta-keyword":"define __FILE__ "+"__LINE__ begin_keywords celldefine default_nettype define "+"else elsif end_keywords endcelldefine endif ifdef ifndef "+"include line nounconnected_drive pragma resetall timescale "+"unconnected_drive undef undefineall"},relevance:0}]}}module.exports=verilog},function(module,exports){function vhdl(hljs){const INTEGER_RE="\\d(_|\\d)*";const EXPONENT_RE="[eE][-+]?"+INTEGER_RE;const DECIMAL_LITERAL_RE=INTEGER_RE+"(\\."+INTEGER_RE+")?"+"("+EXPONENT_RE+")?";const BASED_INTEGER_RE="\\w+";const BASED_LITERAL_RE=INTEGER_RE+"#"+BASED_INTEGER_RE+"(\\."+BASED_INTEGER_RE+")?"+"#"+"("+EXPONENT_RE+")?";const NUMBER_RE="\\b("+BASED_LITERAL_RE+"|"+DECIMAL_LITERAL_RE+")";return{name:"VHDL",case_insensitive:true,keywords:{keyword:"abs access after alias all and architecture array assert assume assume_guarantee attribute "+"begin block body buffer bus case component configuration constant context cover disconnect "+"downto default else elsif end entity exit fairness file for force function generate "+"generic group guarded if impure in inertial inout is label library linkage literal "+"loop map mod nand new next nor not null of on open or others out package parameter port "+"postponed procedure process property protected pure range record register reject "+"release rem report restrict restrict_guarantee return rol ror select sequence "+"severity shared signal sla sll sra srl strong subtype then to transport type "+"unaffected units until use variable view vmode vprop vunit wait when while with xnor xor",built_in:"boolean bit character "+"integer time delay_length natural positive "+"string bit_vector file_open_kind file_open_status "+"std_logic std_logic_vector unsigned signed boolean_vector integer_vector "+"std_ulogic std_ulogic_vector unresolved_unsigned u_unsigned unresolved_signed u_signed "+"real_vector time_vector",literal:"false true note warning error failure "+"line text side width"},illegal:/\{/,contains:[hljs.C_BLOCK_COMMENT_MODE,hljs.COMMENT("--","$"),hljs.QUOTE_STRING_MODE,{className:"number",begin:NUMBER_RE,relevance:0},{className:"string",begin:"'(U|X|0|1|Z|W|L|H|-)'",contains:[hljs.BACKSLASH_ESCAPE]},{className:"symbol",begin:"'[A-Za-z](_?[A-Za-z0-9])*",contains:[hljs.BACKSLASH_ESCAPE]}]}}module.exports=vhdl},function(module,exports){function vim(hljs){return{name:"Vim Script",keywords:{$pattern:/[!#@\w]+/,keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope "+"cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc "+"ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 "+"profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor "+"so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew "+"tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ "+"Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload "+"bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap "+"cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor "+"endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap "+"imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview "+"lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap "+"nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext "+"ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding "+"scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace "+"startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious "+"trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew "+"vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv "+"complete_check add getwinposx getqflist getwinposy screencol "+"clearmatches empty extend getcmdpos mzeval garbagecollect setreg "+"ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable "+"shiftwidth max sinh isdirectory synID system inputrestore winline "+"atan visualmode inputlist tabpagewinnr round getregtype mapcheck "+"hasmapto histdel argidx findfile sha256 exists toupper getcmdline "+"taglist string getmatches bufnr strftime winwidth bufexists "+"strtrans tabpagebuflist setcmdpos remote_read printf setloclist "+"getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval "+"resolve libcallnr foldclosedend reverse filter has_key bufname "+"str2float strlen setline getcharmod setbufvar index searchpos "+"shellescape undofile foldclosed setqflist buflisted strchars str2nr "+"virtcol floor remove undotree remote_expr winheight gettabwinvar "+"reltime cursor tabpagenr finddir localtime acos getloclist search "+"tanh matchend rename gettabvar strdisplaywidth type abs py3eval "+"setwinvar tolower wildmenumode log10 spellsuggest bufloaded "+"synconcealed nextnonblank server2client complete settabwinvar "+"executable input wincol setmatches getftype hlID inputsave "+"searchpair or screenrow line settabvar histadd deepcopy strpart "+"remote_peek and eval getftime submatch screenchar winsaveview "+"matchadd mkdir screenattr getfontname libcall reltimestr getfsize "+"winnr invert pow getbufline byte2line soundfold repeat fnameescape "+"tagfiles sin strwidth spellbadword trunc maparg log lispindent "+"hostname setpos globpath remote_foreground getchar synIDattr "+"fnamemodify cscope_connection stridx winbufnr indent min "+"complete_add nr2char searchpairpos inputdialog values matchlist "+"items hlexists strridx browsedir expand fmod pathshorten line2byte "+"argc count getwinvar glob foldtextresult getreg foreground cosh "+"matchdelete has char2nr simplify histget searchdecl iconv "+"winrestcmd pumvisible writefile foldlevel haslocaldir keys cos "+"matchstr foldtext histnr tan tempname getcwd byteidx getbufvar "+"islocked escape eventhandler remote_send serverlist winrestview "+"synstack pyeval prevnonblank readfile cindent filereadable changenr "+"exp"},illegal:/;/,contains:[hljs.NUMBER_MODE,{className:"string",begin:"'",end:"'",illegal:"\\n"},{className:"string",begin:/"(\\"|\n\\|[^"\n])*"/},hljs.COMMENT('"',"$"),{className:"variable",begin:/[bwtglsav]:[\w\d_]*/},{className:"function",beginKeywords:"function function!",end:"$",relevance:0,contains:[hljs.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]},{className:"symbol",begin:/<[\w-]+>/}]}}module.exports=vim},function(module,exports){function x86asm(hljs){return{name:"Intel x86 Assembly",case_insensitive:true,keywords:{$pattern:"[.%]?"+hljs.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd "+"aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip "+"al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b "+"ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w "+"eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d "+"rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 "+"cs ds es fs gs ss "+"st st0 st1 st2 st3 st4 st5 st6 st7 "+"mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 "+"xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 "+"xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 "+"ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 "+"ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 "+"zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 "+"zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 "+"k0 k1 k2 k3 k4 k5 k6 k7 "+"bnd0 bnd1 bnd2 bnd3 "+"cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 "+"r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b "+"r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d "+"r0h r1h r2h r3h "+"r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l "+"db dw dd dq dt ddq do dy dz "+"resb resw resd resq rest resdq reso resy resz "+"incbin equ times "+"byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif "+"%if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep "+"%endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment "+".nolist "+"__FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ "+"__UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend "+"align alignb sectalign daz nodaz up down zero default option assume public "+"bits use16 use32 use64 default section segment absolute extern global common cpu float "+"__utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ "+"__float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ "+"__Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e "+"float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[hljs.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|"+"(0[Xx])?[0-9][0-9_]*(\\.[0-9_]*)?(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},hljs.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}module.exports=x86asm},function(module,exports){function xl(hljs){const BUILTIN_MODULES="ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo "+"StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts";const XL_KEYWORDS={$pattern:/[a-zA-Z][a-zA-Z0-9_?]*/,keyword:"if then else do while until for loop import with is as where when by data constant "+"integer real text name boolean symbol infix prefix postfix block tree",literal:"true false nil",built_in:"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin "+"acos atan exp expm1 log log2 log10 log1p pi at text_length text_range "+"text_find text_replace contains page slide basic_slide title_slide "+"title subtitle fade_in fade_out fade_at clear_color color line_color "+"line_width texture_wrap texture_transform texture scale_?x scale_?y "+"scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y "+"rotate_?z? rectangle circle ellipse sphere path line_to move_to "+"quad_to curve_to theme background contents locally time mouse_?x "+"mouse_?y mouse_buttons "+BUILTIN_MODULES};const DOUBLE_QUOTE_TEXT={className:"string",begin:'"',end:'"',illegal:"\\n"};const SINGLE_QUOTE_TEXT={className:"string",begin:"'",end:"'",illegal:"\\n"};const LONG_TEXT={className:"string",begin:"<<",end:">>"};const BASED_NUMBER={className:"number",begin:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?"};const IMPORT={beginKeywords:"import",end:"$",keywords:XL_KEYWORDS,contains:[DOUBLE_QUOTE_TEXT]};const FUNCTION_DEFINITION={className:"function",begin:/[a-z][^\n]*->/,returnBegin:true,end:/->/,contains:[hljs.inherit(hljs.TITLE_MODE,{starts:{endsWithParent:true,keywords:XL_KEYWORDS}})]};return{name:"XL",aliases:["tao"],keywords:XL_KEYWORDS,contains:[hljs.C_LINE_COMMENT_MODE,hljs.C_BLOCK_COMMENT_MODE,DOUBLE_QUOTE_TEXT,SINGLE_QUOTE_TEXT,LONG_TEXT,FUNCTION_DEFINITION,IMPORT,BASED_NUMBER,hljs.NUMBER_MODE]}}module.exports=xl},function(module,exports){function xquery(_hljs){const KEYWORDS="module schema namespace boundary-space preserve no-preserve strip default collation base-uri ordering context decimal-format decimal-separator copy-namespaces empty-sequence except exponent-separator external grouping-separator inherit no-inherit lax minus-sign per-mille percent schema-attribute schema-element strict unordered zero-digit "+"declare import option function validate variable "+"for at in let where order group by return if then else "+"tumbling sliding window start when only end previous next stable "+"ascending descending allowing empty greatest least some every satisfies switch case typeswitch try catch "+"and or to union intersect instance of treat as castable cast map array "+"delete insert into replace value rename copy modify update";const TYPE="item document-node node attribute document element comment namespace namespace-node processing-instruction text construction "+"xs:anyAtomicType xs:untypedAtomic xs:duration xs:time xs:decimal xs:float xs:double xs:gYearMonth xs:gYear xs:gMonthDay xs:gMonth xs:gDay xs:boolean xs:base64Binary xs:hexBinary xs:anyURI xs:QName xs:NOTATION xs:dateTime xs:dateTimeStamp xs:date xs:string xs:normalizedString xs:token xs:language xs:NMTOKEN xs:Name xs:NCName xs:ID xs:IDREF xs:ENTITY xs:integer xs:nonPositiveInteger xs:negativeInteger xs:long xs:int xs:short xs:byte xs:nonNegativeInteger xs:unisignedLong xs:unsignedInt xs:unsignedShort xs:unsignedByte xs:positiveInteger xs:yearMonthDuration xs:dayTimeDuration";const LITERAL="eq ne lt le gt ge is "+"self:: child:: descendant:: descendant-or-self:: attribute:: following:: following-sibling:: parent:: ancestor:: ancestor-or-self:: preceding:: preceding-sibling:: "+"NaN";const BUILT_IN={className:"built_in",variants:[{begin:/\barray:/,end:/(?:append|filter|flatten|fold-(?:left|right)|for-each(?:-pair)?|get|head|insert-before|join|put|remove|reverse|size|sort|subarray|tail)\b/},{begin:/\bmap:/,end:/(?:contains|entry|find|for-each|get|keys|merge|put|remove|size)\b/},{begin:/\bmath:/,end:/(?:a(?:cos|sin|tan[2]?)|cos|exp(?:10)?|log(?:10)?|pi|pow|sin|sqrt|tan)\b/},{begin:/\bop:/,end:/\(/,excludeEnd:true},{begin:/\bfn:/,end:/\(/,excludeEnd:true},{begin:/[^</$:'"-]\b(?:abs|accumulator-(?:after|before)|adjust-(?:date(?:Time)?|time)-to-timezone|analyze-string|apply|available-(?:environment-variables|system-properties)|avg|base-uri|boolean|ceiling|codepoints?-(?:equal|to-string)|collation-key|collection|compare|concat|contains(?:-token)?|copy-of|count|current(?:-)?(?:date(?:Time)?|time|group(?:ing-key)?|output-uri|merge-(?:group|key))?data|dateTime|days?-from-(?:date(?:Time)?|duration)|deep-equal|default-(?:collation|language)|distinct-values|document(?:-uri)?|doc(?:-available)?|element-(?:available|with-id)|empty|encode-for-uri|ends-with|environment-variable|error|escape-html-uri|exactly-one|exists|false|filter|floor|fold-(?:left|right)|for-each(?:-pair)?|format-(?:date(?:Time)?|time|integer|number)|function-(?:arity|available|lookup|name)|generate-id|has-children|head|hours-from-(?:dateTime|duration|time)|id(?:ref)?|implicit-timezone|in-scope-prefixes|index-of|innermost|insert-before|iri-to-uri|json-(?:doc|to-xml)|key|lang|last|load-xquery-module|local-name(?:-from-QName)?|(?:lower|upper)-case|matches|max|minutes-from-(?:dateTime|duration|time)|min|months?-from-(?:date(?:Time)?|duration)|name(?:space-uri-?(?:for-prefix|from-QName)?)?|nilled|node-name|normalize-(?:space|unicode)|not|number|one-or-more|outermost|parse-(?:ietf-date|json)|path|position|(?:prefix-from-)?QName|random-number-generator|regex-group|remove|replace|resolve-(?:QName|uri)|reverse|root|round(?:-half-to-even)?|seconds-from-(?:dateTime|duration|time)|snapshot|sort|starts-with|static-base-uri|stream-available|string-?(?:join|length|to-codepoints)?|subsequence|substring-?(?:after|before)?|sum|system-property|tail|timezone-from-(?:date(?:Time)?|time)|tokenize|trace|trans(?:form|late)|true|type-available|unordered|unparsed-(?:entity|text)?-?(?:public-id|uri|available|lines)?|uri-collection|xml-to-json|years?-from-(?:date(?:Time)?|duration)|zero-or-one)\b/},{begin:/\blocal:/,end:/\(/,excludeEnd:true},{begin:/\bzip:/,end:/(?:zip-file|(?:xml|html|text|binary)-entry| (?:update-)?entries)\b/},{begin:/\b(?:util|db|functx|app|xdmp|xmldb):/,end:/\(/,excludeEnd:true}]};const TITLE={className:"title",begin:/\bxquery version "[13]\.[01]"\s?(?:encoding ".+")?/,end:/;/};const VAR={className:"variable",begin:/[$][\w\-:]+/};const NUMBER={className:"number",begin:/(\b0[0-7_]+)|(\b0x[0-9a-fA-F_]+)|(\b[1-9][0-9_]*(\.[0-9_]+)?)|[0_]\b/,relevance:0};const STRING={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]};const ANNOTATION={className:"meta",begin:/%[\w\-:]+/};const COMMENT={className:"comment",begin:/\(:/,end:/:\)/,relevance:10,contains:[{className:"doctag",begin:/@\w+/}]};const COMPUTED={beginKeywords:"element attribute comment document processing-instruction",end:/\{/,excludeEnd:true};const DIRECT={begin:/<([\w._:-]+)(\s+\S*=('|").*('|"))?>/,end:/(\/[\w._:-]+>)/,subLanguage:"xml",contains:[{begin:/\{/,end:/\}/,subLanguage:"xquery"},"self"]};const CONTAINS=[VAR,BUILT_IN,STRING,NUMBER,COMMENT,ANNOTATION,TITLE,COMPUTED,DIRECT];return{name:"XQuery",aliases:["xpath","xq"],case_insensitive:false,illegal:/(proc)|(abstract)|(extends)|(until)|(#)/,keywords:{$pattern:/[a-zA-Z$][a-zA-Z0-9_:-]*/,keyword:KEYWORDS,type:TYPE,literal:LITERAL},contains:CONTAINS}}module.exports=xquery},function(module,exports){function zephir(hljs){const STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE],variants:[hljs.inherit(hljs.APOS_STRING_MODE,{illegal:null}),hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal:null})]};const TITLE_MODE=hljs.UNDERSCORE_TITLE_MODE;const NUMBER={variants:[hljs.BINARY_NUMBER_MODE,hljs.C_NUMBER_MODE]};const KEYWORDS="namespace class interface use extends "+"function return "+"abstract final public protected private static deprecated "+"throw try catch Exception "+"echo empty isset instanceof unset "+"let var new const self "+"require "+"if else elseif switch case default "+"do while loop for continue break "+"likely unlikely "+"__LINE__ __FILE__ __DIR__ __FUNCTION__ __CLASS__ __TRAIT__ __METHOD__ __NAMESPACE__ "+"array boolean float double integer object resource string "+"char long unsigned bool int uint ulong uchar "+"true false null undefined";return{name:"Zephir",aliases:["zep"],keywords:KEYWORDS,contains:[hljs.C_LINE_COMMENT_MODE,hljs.COMMENT(/\/\*/,/\*\//,{contains:[{className:"doctag",begin:/@[A-Za-z]+/}]}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;/,contains:[hljs.BACKSLASH_ESCAPE]},{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function fn",end:/[;{]/,excludeEnd:true,illegal:/\$|\[|%/,contains:[TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:KEYWORDS,contains:["self",hljs.C_BLOCK_COMMENT_MODE,STRING,NUMBER]}]},{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:true,illegal:/[:($"]/,contains:[{beginKeywords:"extends implements"},TITLE_MODE]},{beginKeywords:"namespace",end:/;/,illegal:/[.']/,contains:[TITLE_MODE]},{beginKeywords:"use",end:/;/,contains:[TITLE_MODE]},{begin:/=>/},STRING,NUMBER]}}module.exports=zephir},function(module,exports,__webpack_require__){module.exports=__webpack_require__(1321)},function(module,exports){function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)}))}}module.exports=_asyncToGenerator;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _regenerator=_interopRequireDefault(__webpack_require__(546));var _asyncToGenerator2=_interopRequireDefault(__webpack_require__(547));var _default=function _default(name,loader){return function(){var _ref=(0,_asyncToGenerator2.default)(_regenerator.default.mark((function _callee(registerLanguage){var module;return _regenerator.default.wrap((function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return loader();case 2:module=_context.sent;registerLanguage(name,module.default||module);case 4:case"end":return _context.stop()}}}),_callee,this)})));return function(_x){return _ref.apply(this,arguments)}}()};exports.default=_default},function(module,exports,__webpack_require__){"use strict";module.exports=abap;abap.displayName="abap";abap.aliases=[];function abap(Prism){Prism.languages.abap={comment:/^\*.*/m,string:/(`|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,"string-template":{pattern:/([|}])(?:\\.|[^\\|{\r\n])*(?=[|{])/,lookbehind:true,alias:"string"},"eol-comment":{pattern:/(^|\s)".*/m,lookbehind:true,alias:"comment"},keyword:{pattern:/(\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i,lookbehind:true},number:/\b\d+\b/,operator:{pattern:/(\s)(?:\*\*?|<[=>]?|>=?|\?=|[-+\/=])(?=\s)/,lookbehind:true},"string-operator":{pattern:/(\s)&&?(?=\s)/,lookbehind:true,alias:"keyword"},"token-operator":[{pattern:/(\w)(?:->?|=>|[~|{}])(?=\w)/,lookbehind:true,alias:"punctuation"},{pattern:/[|{}]/,alias:"punctuation"}],punctuation:/[,.:()]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=abnf;abnf.displayName="abnf";abnf.aliases=[];function abnf(Prism){(function(Prism){var coreRules="(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)";Prism.languages.abnf={comment:/;.*/,string:{pattern:/(?:%[is])?"[^"\n\r]*"/,greedy:true,inside:{punctuation:/^%[is]/}},range:{pattern:/%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,alias:"number"},terminal:{pattern:/%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,alias:"number"},repetition:{pattern:/(^|[^\w-])(?:\d*\*\d*|\d+)/,lookbehind:true,alias:"operator"},definition:{pattern:/(^[ \t]*)(?:[a-z][\w-]*|<[^<>\r\n]*>)(?=\s*=)/m,lookbehind:true,alias:"keyword",inside:{punctuation:/<|>/}},"core-rule":{pattern:RegExp("(?:(^|[^<\\w-])"+coreRules+"|<"+coreRules+">)(?![\\w-])","i"),lookbehind:true,alias:["rule","constant"],inside:{punctuation:/<|>/}},rule:{pattern:/(^|[^<\w-])[a-z][\w-]*|<[^<>\r\n]*>/i,lookbehind:true,inside:{punctuation:/<|>/}},operator:/=\/?|\//,punctuation:/[()\[\]]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=actionscript;actionscript.displayName="actionscript";actionscript.aliases=[];function actionscript(Prism){Prism.languages.actionscript=Prism.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|override|set|static)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/});Prism.languages.actionscript["class-name"].alias="function";if(Prism.languages.markup){Prism.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:true,inside:Prism.languages.markup}})}}},function(module,exports,__webpack_require__){"use strict";module.exports=ada;ada.displayName="ada";ada.aliases=[];function ada(Prism){Prism.languages.ada={comment:/--.*/,string:/"(?:""|[^"\r\f\n])*"/i,number:[{pattern:/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i},{pattern:/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i}],"attr-name":/\b'\w+/i,keyword:/\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|new|return|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i,boolean:/\b(?:true|false)\b/i,operator:/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,punctuation:/\.\.?|[,;():]/,char:/'.'/,variable:/\b[a-z](?:\w)*\b/i}}},function(module,exports,__webpack_require__){"use strict";module.exports=agda;agda.displayName="agda";agda.aliases=[];function agda(Prism){(function(Prism){Prism.languages.agda={comment:/\{-[\s\S]*?(?:-\}|$)|--.*/,string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:true},punctuation:/[(){}⦃⦄.;@]/,"class-name":{pattern:/((?:data|record) +)\S+/,lookbehind:true},function:{pattern:/(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,lookbehind:true},operator:{pattern:/(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/,lookbehind:true},keyword:/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=al;al.displayName="al";al.aliases=[];function al(Prism){Prism.languages.al={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:true},function:{pattern:/(\b(?:event|procedure|trigger)\s+|(?:^|[^.])\.\s*)[a-z_]\w*(?=\s*\()/i,lookbehind:true},keyword:[/\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\b/i,/\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\b/i],number:/\b(?:0x[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i,boolean:/\b(?:false|true)\b/i,variable:/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/,"class-name":/\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\b/i,operator:/\.\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\b(?:and|div|mod|not|or|xor)\b/i,punctuation:/[()\[\]{}:.;,]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=antlr4;antlr4.displayName="antlr4";antlr4.aliases=["g4"];function antlr4(Prism){Prism.languages.antlr4={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,string:{pattern:/'(?:\\.|[^\\'\r\n])*'/,greedy:true},"character-class":{pattern:/\[(?:\\.|[^\\\]\r\n])*\]/,greedy:true,alias:"regex",inside:{range:{pattern:/([^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/,lookbehind:true,alias:"punctuation"},escape:/\\(?:u(?:[a-fA-F\d]{4}|\{[a-fA-F\d]+\})|[pP]\{[=\w-]+\}|[^\r\nupP])/,punctuation:/[\[\]]/}},action:{pattern:/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/,greedy:true,inside:{content:{pattern:/(\{)[\s\S]+(?=\})/,lookbehind:true},punctuation:/[{}]/}},command:{pattern:/(->\s*(?!\s))(?:\s*(?:,\s*)?\b[a-z]\w*(?:\s*\([^()\r\n]*\))?)+(?=\s*;)/i,lookbehind:true,inside:{function:/\b\w+(?=\s*(?:[,(]|$))/,punctuation:/[,()]/}},annotation:{pattern:/@\w+(?:::\w+)*/,alias:"keyword"},label:{pattern:/#[ \t]*\w+/,alias:"punctuation"},keyword:/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/,definition:[{pattern:/\b[a-z]\w*(?=\s*:)/,alias:["rule","class-name"]},{pattern:/\b[A-Z]\w*(?=\s*:)/,alias:["token","constant"]}],constant:/\b[A-Z][A-Z_]*\b/,operator:/\.\.|->|[|~]|[*+?]\??/,punctuation:/[;:()=]/};Prism.languages.g4=Prism.languages.antlr4}},function(module,exports,__webpack_require__){"use strict";module.exports=apacheconf;apacheconf.displayName="apacheconf";apacheconf.aliases=[];function apacheconf(Prism){Prism.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|Type|UserFile|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferSize|BufferedLogs|CGIDScriptTimeout|CGIMapExtension|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DTracePrivileges|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtFilterDefine|ExtFilterOptions|ExtendedStatus|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|KeepAlive|KeepAliveTimeout|KeptBodySize|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|LanguagePriority|Limit(?:InternalRecursion|Request(?:Body|FieldSize|Fields|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|MMapFile|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|ModMimeUsePathInfo|ModemStandard|MultiviewsMatch|Mutex|NWSSLTrustedCerts|NWSSLUpgradeable|NameVirtualHost|NoProxy|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|RLimitCPU|RLimitMEM|RLimitNPROC|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|SSIETag|SSIEndTag|SSIErrorMsg|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|SRPUnknownUserSeed|SRPVerifierFile|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UseStapling|UserName|VerifyClient|VerifyDepth)|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadStackSize|ThreadsPerChild|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:true,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/}}},function(module,exports,__webpack_require__){"use strict";module.exports=apl;apl.displayName="apl";apl.aliases=[];function apl(Prism){Prism.languages.apl={comment:/(?:⍝|#[! ]).*$/m,string:{pattern:/'(?:[^'\r\n]|'')*'/,greedy:true},number:/¯?(?:\d*\.?\b\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+¯]?\d+)?|¯|∞))?/i,statement:/:[A-Z][a-z][A-Za-z]*\b/,"system-function":{pattern:/⎕[A-Z]+/i,alias:"function"},constant:/[⍬⌾#⎕⍞]/,function:/[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,"monadic-operator":{pattern:/[\\\/⌿⍀¨⍨⌶&∥]/,alias:"operator"},"dyadic-operator":{pattern:/[.⍣⍠⍤∘⌸@⌺⍥]/,alias:"operator"},assignment:{pattern:/←/,alias:"keyword"},punctuation:/[\[;\]()◇⋄]/,dfn:{pattern:/[{}⍺⍵⍶⍹∇⍫:]/,alias:"builtin"}}}},function(module,exports,__webpack_require__){"use strict";module.exports=applescript;applescript.displayName="applescript";applescript.aliases=[];function applescript(Prism){Prism.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=≠≤≥*+\-\/÷^]|[<>]=?/,/\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\b/],keyword:/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,class:{pattern:/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/,alias:"builtin"},punctuation:/[{}():,¬«»《》]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=aql;aql.displayName="aql";aql.aliases=[];function aql(Prism){Prism.languages.aql={comment:/\/\/.*|\/\*[\s\S]*?\*\//,property:{pattern:/([{,]\s*)(?:(?!\d)\w+|(["'´`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/,lookbehind:true,greedy:true},string:{pattern:/(["'´`])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:true},variable:/@@?\w+/,keyword:[{pattern:/(\bWITH\s+)COUNT(?=\s+INTO\b)/i,lookbehind:true},/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\b/i,{pattern:/(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i,lookbehind:true},{pattern:/(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/,lookbehind:true},{pattern:/\bOPTIONS(?=\s*\{)/i}],function:/\b(?!\d)\w+(?=\s*\()/,boolean:/\b(?:true|false)\b/i,range:{pattern:/\.\./,alias:"operator"},number:[/\b0b[01]+/i,/\b0x[0-9a-f]+/i,/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i],operator:/\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/,punctuation:/::|[?.:,;()[\]{}]/}}},function(module,exports,__webpack_require__){"use strict";var refractorCpp=__webpack_require__(164);module.exports=arduino;arduino.displayName="arduino";arduino.aliases=[];function arduino(Prism){Prism.register(refractorCpp);Prism.languages.arduino=Prism.languages.extend("cpp",{constant:/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/,keyword:/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/,builtin:/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/})}},function(module,exports,__webpack_require__){"use strict";module.exports=arff;arff.displayName="arff";arff.aliases=[];function arff(Prism){Prism.languages.arff={comment:/%.*/,string:{pattern:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true},keyword:/@(?:attribute|data|end|relation)\b/i,number:/\b\d+(?:\.\d+)?\b/,punctuation:/[{},]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=asciidoc;asciidoc.displayName="asciidoc";asciidoc.aliases=["adoc"];function asciidoc(Prism){(function(Prism){var attributes={pattern:/(^[ \t]*)\[(?!\[)(?:(["'$`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\[\]\\]|\\.)*\]|[^\[\]\\"'$`]|\\.)*\]/m,lookbehind:true,inside:{quoted:{pattern:/([$`])(?:(?!\1)[^\\]|\\.)*\1/,inside:{punctuation:/^[$`]|[$`]$/}},interpreted:{pattern:/'(?:[^'\\]|\\.)*'/,inside:{punctuation:/^'|'$/}},string:/"(?:[^"\\]|\\.)*"/,variable:/\w+(?==)/,punctuation:/^\[|\]$|,/,operator:/=/,"attr-value":/(?!^\s+$).+/}};var asciidoc=Prism.languages.asciidoc={"comment-block":{pattern:/^(\/{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1/m,alias:"comment"},table:{pattern:/^\|={3,}(?:(?:\r?\n|\r(?!\n)).*)*?(?:\r?\n|\r)\|={3,}$/m,inside:{specifiers:{pattern:/(?!\|)(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*])?(?:[<^>](?:\.[<^>])?|\.[<^>])?[a-z]*)(?=\|)/,alias:"attr-value"},punctuation:{pattern:/(^|[^\\])[|!]=*/,lookbehind:true}}},"passthrough-block":{pattern:/^(\+{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^\++|\++$/}},"literal-block":{pattern:/^(-{4,}|\.{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^(?:-+|\.+)|(?:-+|\.+)$/}},"other-block":{pattern:/^(--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/}},"list-punctuation":{pattern:/(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im,lookbehind:true,alias:"punctuation"},"list-label":{pattern:/(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im,lookbehind:true,alias:"symbol"},"indented-block":{pattern:/((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/,lookbehind:true},comment:/^\/\/.*/m,title:{pattern:/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} .+|^\.(?![\s.]).*/m,alias:"important",inside:{punctuation:/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/}},"attribute-entry":{pattern:/^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m,alias:"tag"},attributes:attributes,hr:{pattern:/^'{3,}$/m,alias:"punctuation"},"page-break":{pattern:/^<{3,}$/m,alias:"punctuation"},admonition:{pattern:/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m,alias:"keyword"},callout:[{pattern:/(^[ \t]*)<?\d*>/m,lookbehind:true,alias:"symbol"},{pattern:/<\d+>/,alias:"symbol"}],macro:{pattern:/\b[a-z\d][a-z\d-]*::?(?:[^\s\[\]]*\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:{function:/^[a-z\d-]+(?=:)/,punctuation:/^::?/,attributes:{pattern:/(?:\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:attributes.inside}}},inline:{pattern:/(^|[^\\])(?:(?:\B\[(?:[^\]\\"']|(["'])(?:(?!\2)[^\\]|\\.)*\2|\\.)*\])?(?:\b_(?!\s)(?: _|[^_\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: _|[^_\\\r\n]|\\.)+)*_\b|\B``(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B`(?!\s)(?:[^`'\s]|\s+\S)+['`]\B|\B(['*+#])(?!\s)(?: \3|(?!\3)[^\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: \3|(?!\3)[^\\\r\n]|\\.)+)*\3\B)|(?:\[(?:[^\]\\"']|(["'])(?:(?!\4)[^\\]|\\.)*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:(?:\r?\n|\r).+?)*\5|\{[^}\r\n]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m,lookbehind:true,inside:{attributes:attributes,url:{pattern:/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/,inside:{punctuation:/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/}},"attribute-ref":{pattern:/^\{.+\}$/,inside:{variable:{pattern:/(^\{)[a-z\d,+_-]+/,lookbehind:true},operator:/^[=?!#%@$]|!(?=[:}])/,punctuation:/^\{|\}$|::?/}},italic:{pattern:/^(['_])[\s\S]+\1$/,inside:{punctuation:/^(?:''?|__?)|(?:''?|__?)$/}},bold:{pattern:/^\*[\s\S]+\*$/,inside:{punctuation:/^\*\*?|\*\*?$/}},punctuation:/^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/}},replacement:{pattern:/\((?:C|TM|R)\)/,alias:"builtin"},entity:/&#?[\da-z]{1,8};/i,"line-continuation":{pattern:/(^| )\+$/m,lookbehind:true,alias:"punctuation"}};function copyFromAsciiDoc(keys){keys=keys.split(" ");var o={};for(var i=0,l=keys.length;i<l;i++){o[keys[i]]=asciidoc[keys[i]]}return o}attributes.inside["interpreted"].inside.rest=copyFromAsciiDoc("macro inline replacement entity");asciidoc["passthrough-block"].inside.rest=copyFromAsciiDoc("macro");asciidoc["literal-block"].inside.rest=copyFromAsciiDoc("callout");asciidoc["table"].inside.rest=copyFromAsciiDoc("comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation");asciidoc["other-block"].inside.rest=copyFromAsciiDoc("table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation");asciidoc["title"].inside.rest=copyFromAsciiDoc("macro inline replacement entity");Prism.hooks.add("wrap",(function(env){if(env.type==="entity"){env.attributes["title"]=env.content.value.replace(/&amp;/,"&")}}));Prism.languages.adoc=Prism.languages.asciidoc})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=asm6502;asm6502.displayName="asm6502";asm6502.aliases=[];function asm6502(Prism){Prism.languages.asm6502={comment:/;.*/,directive:{pattern:/\.\w+(?= )/,alias:"keyword"},string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,opcode:{pattern:/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/,alias:"property"},hexnumber:{pattern:/#?\$[\da-f]{2,4}\b/i,alias:"string"},binarynumber:{pattern:/#?%[01]+\b/,alias:"string"},decimalnumber:{pattern:/#?\b\d+\b/,alias:"string"},register:{pattern:/\b[xya]\b/i,alias:"variable"}}}},function(module,exports,__webpack_require__){"use strict";var refractorCsharp=__webpack_require__(165);module.exports=aspnet;aspnet.displayName="aspnet";aspnet.aliases=[];function aspnet(Prism){Prism.register(refractorCsharp);Prism.languages.aspnet=Prism.languages.extend("markup",{"page-directive":{pattern:/<%\s*@.*%>/i,alias:"tag",inside:{"page-directive":{pattern:/<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,alias:"tag"},rest:Prism.languages.markup.tag.inside}},directive:{pattern:/<%.*%>/i,alias:"tag",inside:{directive:{pattern:/<%\s*?[$=%#:]{0,2}|%>/i,alias:"tag"},rest:Prism.languages.csharp}}});Prism.languages.aspnet.tag.pattern=/<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;Prism.languages.insertBefore("inside","punctuation",{directive:Prism.languages.aspnet["directive"]},Prism.languages.aspnet.tag.inside["attr-value"]);Prism.languages.insertBefore("aspnet","comment",{"asp-comment":{pattern:/<%--[\s\S]*?--%>/,alias:["asp","comment"]}});Prism.languages.insertBefore("aspnet",Prism.languages.javascript?"script":"tag",{"asp-script":{pattern:/(<script(?=.*runat=['"]?server\b)[^>]*>)[\s\S]*?(?=<\/script>)/i,lookbehind:true,alias:["asp","script"],inside:Prism.languages.csharp||{}}})}},function(module,exports,__webpack_require__){"use strict";module.exports=autohotkey;autohotkey.displayName="autohotkey";autohotkey.aliases=[];function autohotkey(Prism){Prism.languages.autohotkey={comment:[{pattern:/(^|\s);.*/,lookbehind:true},{pattern:/(^[\t ]*)\/\*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m,lookbehind:true,greedy:true}],tag:{pattern:/^([ \t]*)[^\s,`":]+(?=:[ \t]*$)/m,lookbehind:true},string:/"(?:[^"\n\r]|"")*"/m,variable:/%\w+%/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,boolean:/\b(?:true|false)\b/,selector:/\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,constant:/\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guievent|a_guicontrol|a_guicontrolevent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|programfiles|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel)\b/i,builtin:/\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|substr|isfunc|islabel|IsObject|ln|log|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|ltrim|rtrim|mod|onmessage|numget|numput|registercallback|regexmatch|regexreplace|round|sin|tan|sqrt|strlen|strreplace|sb_seticon|sb_setparts|sb_settext|strsplit|tv_add|tv_delete|tv_getchild|tv_getcount|tv_getnext|tv_get|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__New|__Call|__Get|__Set)\b/i,symbol:/\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,important:/#\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|If|IfTimeout|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InputLevel|InstallKeybdHook|InstallMouseHook|KeyHistory|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|MenuMaskKey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|Warn|WinActivateForce)\b/i,keyword:/\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Region|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|TryAgain|Throw|Try|Catch|Finally|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i,function:/[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/m,punctuation:/[{}[\]():,]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=autoit;autoit.displayName="autoit";autoit.aliases=[];function autoit(Prism){Prism.languages.autoit={comment:[/;.*/,{pattern:/(^[\t ]*)#(?:comments-start|cs)[\s\S]*?^[ \t]*#(?:comments-end|ce)/m,lookbehind:true}],url:{pattern:/(^[\t ]*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,lookbehind:true},string:{pattern:/(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,greedy:true,inside:{variable:/([%$@])\w+\1/}},directive:{pattern:/(^[\t ]*)#\w+/m,lookbehind:true,alias:"keyword"},function:/\b\w+(?=\()/,variable:/[$@]\w+/,keyword:/\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,boolean:/\b(?:True|False)\b/i,operator:/<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Or|Not)\b/i,punctuation:/[\[\]().,:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=batch;batch.displayName="batch";batch.aliases=[];function batch(Prism){(function(Prism){var variable=/%%?[~:\w]+%?|!\S+!/;var parameter={pattern:/\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im,alias:"attr-name",inside:{punctuation:/:/}};var string=/"(?:[\\"]"|[^"])*"(?!")/;var number=/(?:\b|-)\d+\b/;Prism.languages.batch={comment:[/^::.*/m,{pattern:/((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:true}],label:{pattern:/^:.*/m,alias:"property"},command:[{pattern:/((?:^|[&(])[ \t]*)for(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* \S+ in \([^)]+\) do/im,lookbehind:true,inside:{keyword:/^for\b|\b(?:in|do)\b/i,string:string,parameter:parameter,variable:variable,number:number,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*)if(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|(?!")(?:(?!==)\S)+)?(?:==| (?:equ|neq|lss|leq|gtr|geq) )(?:"[^"]*"|[^\s"]\S*))/im,lookbehind:true,inside:{keyword:/^if\b|\b(?:not|cmdextversion|defined|errorlevel|exist)\b/i,string:string,parameter:parameter,variable:variable,number:number,operator:/\^|==|\b(?:equ|neq|lss|leq|gtr|geq)\b/i}},{pattern:/((?:^|[&()])[ \t]*)else\b/im,lookbehind:true,inside:{keyword:/^else\b/i}},{pattern:/((?:^|[&(])[ \t]*)set(?: \/[a-z](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:true,inside:{keyword:/^set\b/i,string:string,parameter:parameter,variable:[variable,/\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/],number:number,operator:/[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:true,inside:{keyword:/^\w+\b/i,string:string,parameter:parameter,label:{pattern:/(^\s*):\S+/m,lookbehind:true,alias:"property"},variable:variable,number:number,operator:/\^/}}],operator:/[&@]/,punctuation:/[()']/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=bbcode;bbcode.displayName="bbcode";bbcode.aliases=["shortcode"];function bbcode(Prism){Prism.languages.bbcode={tag:{pattern:/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))*\s*\]/,inside:{tag:{pattern:/^\[\/?[^\s=\]]+/,inside:{punctuation:/^\[\/?/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:true}]}},punctuation:/\]/,"attr-name":/[^\s=\]]+/}}};Prism.languages.shortcode=Prism.languages.bbcode}},function(module,exports,__webpack_require__){"use strict";module.exports=birb;birb.displayName="birb";birb.aliases=[];function birb(Prism){Prism.languages.birb=Prism.languages.extend("clike",{string:{pattern:/r?("|')(?:\\.|(?!\1)[^\\])*\1/,greedy:true},"class-name":[/\b[A-Z](?:[\d_]*[a-zA-Z]\w*)?\b/,/\b[A-Z]\w*(?=\s+\w+\s*[;,=()])/],keyword:/\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|next|new|noSeeb|return|static|switch|throw|var|void|while)\b/,operator:/\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?|:/,variable:/\b[a-z_]\w*\b/});Prism.languages.insertBefore("birb","function",{metadata:{pattern:/<\w+>/,greedy:true,alias:"symbol"}})}},function(module,exports,__webpack_require__){"use strict";var refractorC=__webpack_require__(91);module.exports=bison;bison.displayName="bison";bison.aliases=[];function bison(Prism){Prism.register(refractorC);Prism.languages.bison=Prism.languages.extend("c",{});Prism.languages.insertBefore("bison","comment",{bison:{pattern:/^(?:[^%]|%(?!%))*%%[\s\S]*?%%/,inside:{c:{pattern:/%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/,inside:{delimiter:{pattern:/^%?\{|%?\}$/,alias:"punctuation"},"bison-variable":{pattern:/[$@](?:<[^\s>]+>)?[\w$]+/,alias:"variable",inside:{punctuation:/<|>/}},rest:Prism.languages.c}},comment:Prism.languages.c.comment,string:Prism.languages.c.string,property:/\S+(?=:)/,keyword:/%\w+/,number:{pattern:/(^|[^@])\b(?:0x[\da-f]+|\d+)/i,lookbehind:true},punctuation:/%[%?]|[|:;\[\]<>]/}}})}},function(module,exports,__webpack_require__){"use strict";module.exports=bnf;bnf.displayName="bnf";bnf.aliases=["rbnf"];function bnf(Prism){Prism.languages.bnf={string:{pattern:/"[^\r\n"]*"|'[^\r\n']*'/},definition:{pattern:/<[^<>\r\n\t]+>(?=\s*::=)/,alias:["rule","keyword"],inside:{punctuation:/^<|>$/}},rule:{pattern:/<[^<>\r\n\t]+>/,inside:{punctuation:/^<|>$/}},operator:/::=|[|()[\]{}*+?]|\.{3}/};Prism.languages.rbnf=Prism.languages.bnf}},function(module,exports,__webpack_require__){"use strict";module.exports=brainfuck;brainfuck.displayName="brainfuck";brainfuck.aliases=[];function brainfuck(Prism){Prism.languages.brainfuck={pointer:{pattern:/<|>/,alias:"keyword"},increment:{pattern:/\+/,alias:"inserted"},decrement:{pattern:/-/,alias:"deleted"},branching:{pattern:/\[|\]/,alias:"important"},operator:/[.,]/,comment:/\S+/}}},function(module,exports,__webpack_require__){"use strict";module.exports=brightscript;brightscript.displayName="brightscript";brightscript.aliases=[];function brightscript(Prism){Prism.languages.brightscript={comment:/(?:\brem|').*/i,"directive-statement":{pattern:/(^[\t ]*)#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if).*/im,lookbehind:true,alias:"property",inside:{"error-message":{pattern:/(^#error).+/,lookbehind:true},directive:{pattern:/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/,alias:"keyword"},expression:{pattern:/[\s\S]+/,inside:null}}},property:{pattern:/([\r\n{,][\t ]*)(?:(?!\d)\w+|"(?:[^"\r\n]|"")*"(?!"))(?=[ \t]*:)/,lookbehind:true,greedy:true},string:{pattern:/"(?:[^"\r\n]|"")*"(?!")/,greedy:true},"class-name":{pattern:/(\bAs[\t ]+)\w+/i,lookbehind:true},keyword:/\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\b/i,boolean:/\b(?:true|false)\b/i,function:/\b(?!\d)\w+(?=[\t ]*\()/i,number:/(?:\b\d+(?:\.\d+)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b[%&!#]?/i,operator:/--|\+\+|>>=?|<<=?|<>|[-+*/\\<>]=?|[:^=?]|\b(?:and|mod|not|or)\b/i,punctuation:/[.,;()[\]{}]/,constant:/\b(?:LINE_NUM)\b/i};Prism.languages.brightscript["directive-statement"].inside.expression.inside=Prism.languages.brightscript}},function(module,exports,__webpack_require__){"use strict";module.exports=bro;bro.displayName="bro";bro.aliases=[];function bro(Prism){Prism.languages.bro={comment:{pattern:/(^|[^\\$])#.*/,lookbehind:true,inside:{italic:/\b(?:TODO|FIXME|XXX)\b/}},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true},boolean:/\b[TF]\b/,function:{pattern:/(?:function|hook|event) \w+(?:::\w+)?/,inside:{keyword:/^(?:function|hook|event)/}},variable:{pattern:/(?:global|local) \w+/i,inside:{keyword:/(?:global|local)/}},builtin:/(?:@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column))/,constant:{pattern:/const \w+/i,inside:{keyword:/const/}},keyword:/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,punctuation:/[{}[\];(),.:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=bsl;bsl.displayName="bsl";bsl.aliases=[];function bsl(Prism){Prism.languages.bsl={comment:/\/\/.*/,string:[{pattern:/"(?:[^"]|"")*"(?!")/,greedy:true},{pattern:/'(?:[^'\r\n\\]|\\.)*'/}],keyword:[{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:true},{pattern:/\b(?:while|for|new|break|try|except|raise|else|endtry|undefined|function|var|return|endfunction|null|if|elseif|procedure|endprocedure|then|val|export|endif|in|each|true|false|to|do|enddo|execute)\b/i}],number:{pattern:/(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,lookbehind:true},operator:[/[<>+\-*/]=?|[%=]/,{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:и|или|не)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:true},{pattern:/\b(?:and|or|not)\b/i}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/,directive:[{pattern:/^(\s*)&.*/m,lookbehind:true,alias:"important"},{pattern:/^\s*#.*/gm,alias:"important"}]};Prism.languages.oscript=Prism.languages["bsl"]}},function(module,exports,__webpack_require__){"use strict";module.exports=cil;cil.displayName="cil";cil.aliases=[];function cil(Prism){Prism.languages.cil={comment:/\/\/.*/,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true},directive:{pattern:/(^|\W)\.[a-z]+(?=\s)/,lookbehind:true,alias:"class-name"},variable:/\[[\w\.]+\]/,keyword:/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/,function:/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.[0-9]+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.[0-9]+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\b/,boolean:/\b(?:true|false)\b/,number:/\b-?(?:0x[0-9a-f]+|[0-9]+)(?:\.[0-9a-f]+)?\b/i,punctuation:/[{}[\];(),:=]|IL_[0-9A-Za-z]+/}}},function(module,exports,__webpack_require__){"use strict";module.exports=clike;clike.displayName="clike";clike.aliases=[];function clike(Prism){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:true,greedy:true},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:true,greedy:true}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:true,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=clojure;clojure.displayName="clojure";clojure.aliases=[];function clojure(Prism){Prism.languages.clojure={comment:/;.*/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:true},operator:/(?:::|[:|'])\b[a-z][\w*+!?-]*\b/i,keyword:{pattern:/([^\w+*'?-])(?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^\w+*'?-])/,lookbehind:true},boolean:/\b(?:true|false|nil)\b/,number:/\b[\da-f]+\b/i,punctuation:/[{}\[\](),]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=cmake;cmake.displayName="cmake";cmake.aliases=[];function cmake(Prism){Prism.languages.cmake={comment:/#.*/,string:{pattern:/"(?:[^\\"]|\\.)*"/,greedy:true,inside:{interpolation:{pattern:/\$\{(?:[^{}$]|\$\{[^{}$]*\})*\}/,inside:{punctuation:/\$\{|\}/,variable:/\w+/}}}},variable:/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\b/,property:/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/,keyword:/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/,boolean:/\b(?:ON|OFF|TRUE|FALSE)\b/,namespace:/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/,operator:/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/,inserted:{pattern:/\b\w+::\w+\b/,alias:"class-name"},number:/\b\d+(?:\.\d+)*\b/,function:/\b[a-z_]\w*(?=\s*\()\b/i,punctuation:/[()>}]|\$[<{]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=coffeescript;coffeescript.displayName="coffeescript";coffeescript.aliases=["coffee"];function coffeescript(Prism){(function(Prism){var comment=/#(?!\{).+/;var interpolation={pattern:/#\{[^}]+\}/,alias:"variable"};Prism.languages.coffeescript=Prism.languages.extend("javascript",{comment:comment,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:true},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:true,inside:{interpolation:interpolation}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}});Prism.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:comment,interpolation:interpolation}}});Prism.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:Prism.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:true,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:true,alias:"string",inside:{interpolation:interpolation}}]});Prism.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/});delete Prism.languages.coffeescript["template-string"];Prism.languages.coffee=Prism.languages.coffeescript})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=concurnas;concurnas.displayName="concurnas";concurnas.aliases=["conc"];function concurnas(Prism){Prism.languages.concurnas={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:true},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:true,greedy:true}],langext:{pattern:/\b\w+\s*\|\|[\s\S]+?\|\|/,greedy:true,alias:"string"},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,lookbehind:true},keyword:/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/,boolean:/\b(?:false|true)\b/,number:/\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,punctuation:/[{}[\];(),.:]/,operator:/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,annotation:{pattern:/@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,alias:"builtin"}};Prism.languages.insertBefore("concurnas","langext",{string:{pattern:/[rs]?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:true,inside:Prism.languages.concurnas},string:/[\s\S]+/}}});Prism.languages.conc=Prism.languages.concurnas}},function(module,exports,__webpack_require__){"use strict";var refractorRuby=__webpack_require__(127);module.exports=crystal;crystal.displayName="crystal";crystal.aliases=[];function crystal(Prism){Prism.register(refractorRuby);(function(Prism){Prism.languages.crystal=Prism.languages.extend("ruby",{keyword:[/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:true}],number:/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/});Prism.languages.insertBefore("crystal","string",{attribute:{pattern:/@\[.+?\]/,alias:"attr-name",inside:{delimiter:{pattern:/^@\[|\]$/,alias:"tag"},rest:Prism.languages.crystal}},expansion:[{pattern:/\{\{.+?\}\}/,inside:{delimiter:{pattern:/^\{\{|\}\}$/,alias:"tag"},rest:Prism.languages.crystal}},{pattern:/\{%.+?%\}/,inside:{delimiter:{pattern:/^\{%|%\}$/,alias:"tag"},rest:Prism.languages.crystal}}]})})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=csp;csp.displayName="csp";csp.aliases=[];function csp(Prism){Prism.languages.csp={directive:{pattern:/(^|[^-\da-z])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[^-\da-z]|$)/i,lookbehind:true,alias:"keyword"},safe:{pattern:/'(?:deny|none|report-sample|self|strict-dynamic|top-only|(?:nonce|sha(?:256|384|512))-[-+/\w=]+)'/i,alias:"selector"},unsafe:{pattern:/(?:'unsafe-(?:allow-redirects|dynamic|eval|hash-attributes|hashed-attributes|hashes|inline)'|\*)/i,alias:"function"}}}},function(module,exports,__webpack_require__){"use strict";module.exports=cssExtras;cssExtras.displayName="cssExtras";cssExtras.aliases=[];function cssExtras(Prism){(function(Prism){var string=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;var selectorInside;Prism.languages.css.selector={pattern:Prism.languages.css.selector.pattern,lookbehind:true,inside:selectorInside={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+string.source+")*\\]"),greedy:true,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:true,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:true,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:true},"attr-value":[string,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:true}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:true,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:true}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}};Prism.languages.css["atrule"].inside["selector-function-argument"].inside=selectorInside;Prism.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:true}});var unit={pattern:/(\b\d+)(?:%|[a-z]+\b)/,lookbehind:true};var number={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:true};Prism.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:true},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:unit,number:number,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:unit,number:number})})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=css;css.displayName="css";css.aliases=[];function css(Prism){(function(Prism){var string=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;Prism.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:true,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:true}}},url:{pattern:RegExp("\\burl\\((?:"+string.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:true,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+string.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+string.source+")*(?=\\s*\\{)"),lookbehind:true},string:{pattern:string,greedy:true},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:true},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:true},punctuation:/[(){};:,]/};Prism.languages.css["atrule"].inside.rest=Prism.languages.css;var markup=Prism.languages.markup;if(markup){markup.tag.addInlined("style","css");markup.tag.addAttribute("style","css")}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=cypher;cypher.displayName="cypher";cypher.aliases=[];function cypher(Prism){Prism.languages.cypher={comment:/\/\/.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,greedy:true},"class-name":{pattern:/(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,lookbehind:true,greedy:true},relationship:{pattern:/(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,lookbehind:true,greedy:true,alias:"property"},identifier:{pattern:/`(?:[^`\\\r\n])*`/,greedy:true,alias:"symbol"},variable:/\$\w+/,keyword:/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,function:/\b\w+\b(?=\s*\()/,boolean:/\b(?:true|false|null)\b/i,number:/\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,operator:/:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,punctuation:/[()[\]{},;.]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=d;d.displayName="d";d.aliases=[];function d(Prism){Prism.languages.d=Prism.languages.extend("clike",{comment:[{pattern:/^\s*#!.+/,greedy:true},{pattern:RegExp(/(^|[^\\])/.source+"(?:"+[/\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source,/\/\/.*/.source,/\/\*[\s\S]*?\*\//.source].join("|")+")"),lookbehind:true,greedy:true}],string:[{pattern:RegExp([/\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source,/\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source,/\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source,/\bq"(.)[\s\S]*?\2"/.source,/'(?:\\(?:\W|\w+)|[^\\])'/.source,/(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source].join("|"),"m"),greedy:true},{pattern:/\bq\{(?:\{[^{}]*\}|[^{}])*\}/,greedy:true,alias:"token-string"}],keyword:/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/,number:[/\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,{pattern:/((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,lookbehind:true}],operator:/\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/});Prism.languages.insertBefore("d","keyword",{property:/\B@\w*/});Prism.languages.insertBefore("d","function",{register:{pattern:/\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-7]|X?MM[0-7]|R[ABCD]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BWD]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,alias:"variable"}})}},function(module,exports,__webpack_require__){"use strict";module.exports=dart;dart.displayName="dart";dart.aliases=[];function dart(Prism){(function(Prism){var keywords=[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/];var packagePrefix=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source;var className={pattern:RegExp(packagePrefix+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:true,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};Prism.languages.dart=Prism.languages.extend("clike",{string:[{pattern:/r?("""|''')[\s\S]*?\1/,greedy:true},{pattern:/r?(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true}],"class-name":[className,{pattern:RegExp(packagePrefix+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:true,inside:className.inside}],keyword:keywords,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/});Prism.languages.insertBefore("dart","function",{metadata:{pattern:/@\w+/,alias:"symbol"}});Prism.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":className,keyword:keywords,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=dax;dax.displayName="dax";dax.aliases=[];function dax(Prism){Prism.languages.dax={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,lookbehind:true},"data-field":{pattern:/'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,alias:"symbol"},measure:{pattern:/\[[ \w\xA0-\uFFFF]+\]/,alias:"constant"},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:true},function:/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i,keyword:/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,boolean:{pattern:/\b(?:TRUE|FALSE|NULL)\b/i,alias:"constant"},number:/\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,punctuation:/[;\[\](){}`,.]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=dhall;dhall.displayName="dhall";dhall.aliases=[];function dhall(Prism){Prism.languages.dhall={comment:/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/,string:{pattern:/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/,greedy:true,inside:{interpolation:{pattern:/\$\{[^{}]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:true,alias:"language-dhall",inside:null},punctuation:/\$\{|\}/}}}},label:{pattern:/`[^`]*`/,greedy:true},url:{pattern:/\bhttps?:\/\/[\w.:%!$&'*+;=@~-]+(?:\/[\w.:%!$&'*+;=@~-]*)*(?:\?[/?\w.:%!$&'*+;=@~-]*)?/,greedy:true},env:{pattern:/\benv:(?:(?!\d)\w+|"(?:[^"\\=]|\\.)*")/,greedy:true,inside:{function:/^env/,operator:/^:/,variable:/[\s\S]+/}},hash:{pattern:/\bsha256:[\da-fA-F]{64}\b/,inside:{function:/sha256/,operator:/:/,number:/[\da-fA-F]{64}/}},keyword:/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/,builtin:/\b(?:Some|None)\b/,boolean:/\b(?:False|True)\b/,number:/\bNaN\b|-?\bInfinity\b|[+-]?\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/,operator:/\/\\|\/\/\\\\|&&|\|\||===|[!=]=|\/\/|->|\+\+|::|[+*#@=:?<>|\\\u2227\u2a53\u2261\u2afd\u03bb\u2192]/,punctuation:/\.\.|[{}\[\](),./]/,"class-name":/\b[A-Z]\w*\b/};Prism.languages.dhall.string.inside.interpolation.inside.expression.inside=Prism.languages.dhall}},function(module,exports,__webpack_require__){"use strict";module.exports=diff;diff.displayName="diff";diff.aliases=[];function diff(Prism){(function(Prism){Prism.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var PREFIXES={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(PREFIXES).forEach((function(name){var prefix=PREFIXES[name];var alias=[];if(!/^\w+$/.test(name)){alias.push(/\w+/.exec(name)[0])}if(name==="diff"){alias.push("bold")}Prism.languages.diff[name]={pattern:RegExp("^(?:["+prefix+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:alias,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:true},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(name)[0]}}}}));Object.defineProperty(Prism.languages.diff,"PREFIXES",{value:PREFIXES})})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=django;django.displayName="django";django.aliases=["jinja2"];function django(Prism){Prism.register(refractorMarkupTemplating);(function(Prism){Prism.languages.django={comment:/^\{#[\s\S]*?#\}$/,tag:{pattern:/(^\{%[+-]?\s*)\w+/,lookbehind:true,alias:"keyword"},delimiter:{pattern:/^\{[{%][+-]?|[+-]?[}%]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true},filter:{pattern:/(\|)\w+/,lookbehind:true,alias:"function"},test:{pattern:/(\bis\s+(?:not\s+)?)(?!not\b)\w+/,lookbehind:true,alias:"function"},function:/\b[a-z_]\w+(?=\s*\()/i,keyword:/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,number:/\b\d+(?:\.\d+)?\b/,boolean:/[Tt]rue|[Ff]alse|[Nn]one/,variable:/\b\w+?\b/,punctuation:/[{}[\](),.:;]/};var pattern=/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g;var markupTemplating=Prism.languages["markup-templating"];Prism.hooks.add("before-tokenize",(function(env){markupTemplating.buildPlaceholders(env,"django",pattern)}));Prism.hooks.add("after-tokenize",(function(env){markupTemplating.tokenizePlaceholders(env,"django")}));Prism.languages.jinja2=Prism.languages.django;Prism.hooks.add("before-tokenize",(function(env){markupTemplating.buildPlaceholders(env,"jinja2",pattern)}));Prism.hooks.add("after-tokenize",(function(env){markupTemplating.tokenizePlaceholders(env,"jinja2")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=dnsZoneFile;dnsZoneFile.displayName="dnsZoneFile";dnsZoneFile.aliases=[];function dnsZoneFile(Prism){Prism.languages["dns-zone-file"]={comment:/;.*/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:true},variable:[{pattern:/(^\$ORIGIN[ \t]+)\S+/m,lookbehind:true},{pattern:/(^|\s)@(?=\s|$)/,lookbehind:true}],keyword:/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m,class:{pattern:/(^|\s)(?:IN|CH|CS|HS)(?=\s|$)/,lookbehind:true,alias:"keyword"},type:{pattern:/(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/,lookbehind:true,alias:"keyword"},punctuation:/[()]/};Prism.languages["dns-zone"]=Prism.languages["dns-zone-file"]}},function(module,exports,__webpack_require__){"use strict";module.exports=docker;docker.displayName="docker";docker.aliases=["dockerfile"];function docker(Prism){(function(Prism){var spaceAfterBackSlash=/\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source;var space=/(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(/<SP_BS>/g,(function(){return spaceAfterBackSlash}));var string=/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/.source;var option=/--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(/<STR>/g,(function(){return string}));var stringRule={pattern:RegExp(string),greedy:true};var commentRule={pattern:/(^[ \t]*)#.*/m,lookbehind:true,greedy:true};function re(source,flags){source=source.replace(/<OPT>/g,(function(){return option})).replace(/<SP>/g,(function(){return space}));return RegExp(source,flags)}Prism.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:true,greedy:true,inside:{options:{pattern:re(/(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,"i"),lookbehind:true,greedy:true,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:true},string:[stringRule,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:true}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:re(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/.source,"i"),lookbehind:true,greedy:true},{pattern:re(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/.source,"i"),lookbehind:true,greedy:true},{pattern:re(/(^ONBUILD<SP>)\w+/.source,"i"),lookbehind:true,greedy:true},{pattern:/^\w+/,greedy:true}],comment:commentRule,string:stringRule,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:commentRule};Prism.languages.dockerfile=Prism.languages.docker})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=ebnf;ebnf.displayName="ebnf";ebnf.aliases=[];function ebnf(Prism){Prism.languages.ebnf={comment:/\(\*[\s\S]*?\*\)/,string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:true},special:{pattern:/\?[^?\r\n]*\?/,greedy:true,alias:"class-name"},definition:{pattern:/^([\t ]*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,lookbehind:true,alias:["rule","keyword"]},rule:/\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i,punctuation:/\([:/]|[:/]\)|[.,;()[\]{}]/,operator:/[-=|*/!]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=editorconfig;editorconfig.displayName="editorconfig";editorconfig.aliases=[];function editorconfig(Prism){Prism.languages.editorconfig={comment:/[;#].*/,section:{pattern:/(^[ \t]*)\[.+\]/m,lookbehind:true,alias:"keyword",inside:{regex:/\\\\[\[\]{},!?.*]/,operator:/[!?]|\.\.|\*{1,2}/,punctuation:/[\[\]{},]/}},property:{pattern:/(^[ \t]*)[^\s=]+(?=[ \t]*=)/m,lookbehind:true},value:{pattern:/=.*/,alias:"string",inside:{punctuation:/^=/}}}}},function(module,exports,__webpack_require__){"use strict";module.exports=eiffel;eiffel.displayName="eiffel";eiffel.aliases=[];function eiffel(Prism){Prism.languages.eiffel={comment:/--.*/,string:[{pattern:/"([^[]*)\[[\s\S]*?\]\1"/,greedy:true},{pattern:/"([^{]*)\{[\s\S]*?\}\1"/,greedy:true},{pattern:/"(?:%(?:(?!\n)\s)*\n\s*%|%\S|[^%"\r\n])*"/,greedy:true}],char:/'(?:%.|[^%'\r\n])+'/,keyword:/\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,boolean:/\b(?:True|False)\b/i,"class-name":{pattern:/\b[A-Z][\dA-Z_]*\b/,alias:"builtin"},number:[/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i],punctuation:/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,operator:/\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/}}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=ejs;ejs.displayName="ejs";ejs.aliases=["eta"];function ejs(Prism){Prism.register(refractorMarkupTemplating);(function(Prism){Prism.languages.ejs={delimiter:{pattern:/^<%[-_=]?|[-_]?%>$/,alias:"punctuation"},comment:/^#[\s\S]*/,"language-javascript":{pattern:/[\s\S]+/,inside:Prism.languages.javascript}};Prism.hooks.add("before-tokenize",(function(env){var ejsPattern=/<%(?!%)[\s\S]+?%>/g;Prism.languages["markup-templating"].buildPlaceholders(env,"ejs",ejsPattern)}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"ejs")}));Prism.languages.eta=Prism.languages.ejs})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=elixir;elixir.displayName="elixir";elixir.aliases=[];function elixir(Prism){Prism.languages.elixir={doc:{pattern:/@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,inside:{attribute:/^@\w+/,string:/['"][\s\S]+/}},comment:{pattern:/#.*/m,greedy:true},regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:true},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:true,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:true,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:true,alias:"symbol"},module:{pattern:/\b[A-Z]\w*\b/,alias:"class-name"},"attr-name":/\b\w+\??:(?!:)/,argument:{pattern:/(^|[^&])&\d+/,lookbehind:true,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},function:/\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\b/,boolean:/\b(?:true|false|nil)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:true},{pattern:/([^>])>(?!>)/,lookbehind:true}],punctuation:/<<|>>|[.,%\[\]{}()]/};Prism.languages.elixir.string.forEach((function(o){o.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:Prism.languages.elixir}}}}))}},function(module,exports,__webpack_require__){"use strict";module.exports=elm;elm.displayName="elm";elm.aliases=[];function elm(Prism){Prism.languages.elm={comment:/--.*|\{-[\s\S]*?-\}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/,greedy:true},string:[{pattern:/"""[\s\S]*?"""/,greedy:true},{pattern:/"(?:[^\\"\r\n]|\\.)*"/,greedy:true}],"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,lookbehind:true,inside:{keyword:/\b(?:import|as|exposing)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,builtin:/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/}}},function(module,exports,__webpack_require__){"use strict";var refractorRuby=__webpack_require__(127);var refractorMarkupTemplating=__webpack_require__(69);module.exports=erb;erb.displayName="erb";erb.aliases=[];function erb(Prism){Prism.register(refractorRuby);Prism.register(refractorMarkupTemplating);(function(Prism){Prism.languages.erb=Prism.languages.extend("ruby",{});Prism.languages.insertBefore("erb","comment",{delimiter:{pattern:/^<%=?|%>$/,alias:"punctuation"}});Prism.hooks.add("before-tokenize",(function(env){var erbPattern=/<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/gm;Prism.languages["markup-templating"].buildPlaceholders(env,"erb",erbPattern)}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"erb")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=erlang;erlang.displayName="erlang";erlang.aliases=[];function erlang(Prism){Prism.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:true},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:true|false)\b/,keyword:/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,number:[/\$\\?./,/\b\d+#[a-z0-9]+/i,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:true},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:true},{pattern:/(^|[^>])>(?!>)/,lookbehind:true}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/}}},function(module,exports,__webpack_require__){"use strict";var refractorLua=__webpack_require__(229);var refractorMarkupTemplating=__webpack_require__(69);module.exports=etlua;etlua.displayName="etlua";etlua.aliases=[];function etlua(Prism){Prism.register(refractorLua);Prism.register(refractorMarkupTemplating);(function(Prism){Prism.languages.etlua={delimiter:{pattern:/^<%[-=]?|-?%>$/,alias:"punctuation"},"language-lua":{pattern:/[\s\S]+/,inside:Prism.languages.lua}};Prism.hooks.add("before-tokenize",(function(env){var pattern=/<%[\s\S]+?%>/g;Prism.languages["markup-templating"].buildPlaceholders(env,"etlua",pattern)}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"etlua")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=excelFormula;excelFormula.displayName="excelFormula";excelFormula.aliases=[];function excelFormula(Prism){Prism.languages["excel-formula"]={comment:{pattern:/(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i,lookbehind:true,greedy:true},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:true},reference:{pattern:/(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/,greedy:true,alias:"string",inside:{operator:/!$/,punctuation:/'/,sheet:{pattern:/[^[\]]+$/,alias:"function"},file:{pattern:/\[[^[\]]+\]$/,inside:{punctuation:/[[\]]/}},path:/[\s\S]+/}},"function-name":{pattern:/\b[A-Z]\w*(?=\()/i,alias:"keyword"},range:{pattern:/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i,alias:"property",inside:{operator:/:/,cell:/\$?[A-Z]+\$?\d+/i,column:/\$?[A-Z]+/i,row:/\$?\d+/}},cell:{pattern:/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/,alias:"property"},number:/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i,boolean:/\b(?:TRUE|FALSE)\b/i,operator:/[-+*/^%=&,]|<[=>]?|>=?/,punctuation:/[[\]();{}|]/};Prism.languages["xlsx"]=Prism.languages["xls"]=Prism.languages["excel-formula"]}},function(module,exports,__webpack_require__){"use strict";module.exports=factor;factor.displayName="factor";factor.aliases=[];function factor(Prism){(function(Prism){var comment_inside={function:/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/};var string_inside={number:/\\[^\s']|%\w/};var factor={comment:[{pattern:/(^|\s)(?:! .*|!$)/,lookbehind:true,inside:comment_inside},{pattern:/(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/,lookbehind:true,greedy:true,inside:comment_inside},{pattern:/(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:true,greedy:true,inside:comment_inside}],number:[{pattern:/(^|\s)[+-]?\d+(?=\s|$)/,lookbehind:true},{pattern:/(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i,lookbehind:true},{pattern:/(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/,lookbehind:true},{pattern:/(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/,lookbehind:true},{pattern:/(^|\s)-\d+-\d+\/\d+(?=\s|$)/,lookbehind:true},{pattern:/(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i,lookbehind:true},{pattern:/(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/,lookbehind:true},{pattern:/(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i,lookbehind:true}],regexp:{pattern:/(^|\s)R\/\s(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,lookbehind:true,alias:"number",inside:{variable:/\\\S/,keyword:/[+?*\[\]^$(){}.|]/,operator:{pattern:/(\/)[idmsr]+(?:-[idmsr]+)?/,lookbehind:true}}},boolean:{pattern:/(^|\s)[tf](?=\s|$)/,lookbehind:true},"custom-string":{pattern:/(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/,lookbehind:true,greedy:true,alias:"string",inside:{number:/\\\S|%\w|\//}},"multiline-string":[{pattern:/(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/,lookbehind:true,greedy:true,alias:"string",inside:{number:string_inside.number,"semicolon-or-setlocal":{pattern:/([\r\n][ \t]*);(?=\s|$)/,lookbehind:true,alias:"function"}}},{pattern:/(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/,lookbehind:true,greedy:true,alias:"string",inside:string_inside},{pattern:/(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:true,greedy:true,alias:"string",inside:string_inside}],"special-using":{pattern:/(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/,lookbehind:true,alias:"function",inside:{string:{pattern:/(\s)[^:\s]+/,lookbehind:true}}},"stack-effect-delimiter":[{pattern:/(^|\s)(?:call|execute|eval)?\((?=\s)/,lookbehind:true,alias:"operator"},{pattern:/(\s)--(?=\s)/,lookbehind:true,alias:"operator"},{pattern:/(\s)\)(?=\s|$)/,lookbehind:true,alias:"operator"}],combinators:{pattern:null,lookbehind:true,alias:"keyword"},"kernel-builtin":{pattern:null,lookbehind:true,alias:"variable"},"sequences-builtin":{pattern:null,lookbehind:true,alias:"variable"},"math-builtin":{pattern:null,lookbehind:true,alias:"variable"},"constructor-word":{pattern:/(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/,lookbehind:true,alias:"keyword"},"other-builtin-syntax":{pattern:null,lookbehind:true,alias:"operator"},"conventionally-named-word":{pattern:/(^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,lookbehind:true,alias:"keyword"},"colon-syntax":{pattern:/(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/,lookbehind:true,greedy:true,alias:"function"},"semicolon-or-setlocal":{pattern:/(\s)(?:;|:>)(?=\s|$)/,lookbehind:true,alias:"function"},"curly-brace-literal-delimiter":[{pattern:/(^|\s)[a-z]*\{(?=\s)/i,lookbehind:true,alias:"operator"},{pattern:/(\s)\}(?=\s|$)/,lookbehind:true,alias:"operator"}],"quotation-delimiter":[{pattern:/(^|\s)\[(?=\s)/,lookbehind:true,alias:"operator"},{pattern:/(\s)\](?=\s|$)/,lookbehind:true,alias:"operator"}],"normal-word":{pattern:/(^|\s)[^"\s]\S*(?=\s|$)/,lookbehind:true},string:{pattern:/"(?:\\\S|[^"\\])*"/,greedy:true,inside:string_inside}};var escape=function(str){return(str+"").replace(/([.?*+\^$\[\]\\(){}|\-])/g,"\\$1")};var arrToWordsRegExp=function(arr){return new RegExp("(^|\\s)(?:"+arr.map(escape).join("|")+")(?=\\s|$)")};var builtins={"kernel-builtin":["or","2nipd","4drop","tuck","wrapper","nip","wrapper?","callstack>array","die","dupd","callstack","callstack?","3dup","hashcode","pick","4nip","build",">boolean","nipd","clone","5nip","eq?","?","=","swapd","2over","clear","2dup","get-retainstack","not","tuple?","dup","3nipd","call","-rotd","object","drop","assert=","assert?","-rot","execute","boa","get-callstack","curried?","3drop","pickd","overd","over","roll","3nip","swap","and","2nip","rotd","throw","(clone)","hashcode*","spin","reach","4dup","equal?","get-datastack","assert","2drop","<wrapper>","boolean?","identity-hashcode","identity-tuple?","null","composed?","new","5drop","rot","-roll","xor","identity-tuple","boolean"],"other-builtin-syntax":["=======","recursive","flushable",">>","<<<<<<","M\\","B","PRIVATE>","\\","======","final","inline","delimiter","deprecated","<PRIVATE",">>>>>>","<<<<<<<","parse-complex","malformed-complex","read-only",">>>>>>>","call-next-method","<<","foldable","$","$[","${"],"sequences-builtin":["member-eq?","mismatch","append","assert-sequence=","longer","repetition","clone-like","3sequence","assert-sequence?","last-index-from","reversed","index-from","cut*","pad-tail","join-as","remove-eq!","concat-as","but-last","snip","nths","nth","sequence","longest","slice?","<slice>","remove-nth","tail-slice","empty?","tail*","member?","virtual-sequence?","set-length","drop-prefix","iota","unclip","bounds-error?","unclip-last-slice","non-negative-integer-expected","non-negative-integer-expected?","midpoint@","longer?","?set-nth","?first","rest-slice","prepend-as","prepend","fourth","sift","subseq-start","new-sequence","?last","like","first4","1sequence","reverse","slice","virtual@","repetition?","set-last","index","4sequence","max-length","set-second","immutable-sequence","first2","first3","supremum","unclip-slice","suffix!","insert-nth","tail","3append","short","suffix","concat","flip","immutable?","reverse!","2sequence","sum","delete-all","indices","snip-slice","<iota>","check-slice","sequence?","head","append-as","halves","sequence=","collapse-slice","?second","slice-error?","product","bounds-check?","bounds-check","immutable","virtual-exemplar","harvest","remove","pad-head","last","set-fourth","cartesian-product","remove-eq","shorten","shorter","reversed?","shorter?","shortest","head-slice","pop*","tail-slice*","but-last-slice","iota?","append!","cut-slice","new-resizable","head-slice*","sequence-hashcode","pop","set-nth","?nth","second","join","immutable-sequence?","<reversed>","3append-as","virtual-sequence","subseq?","remove-nth!","length","last-index","lengthen","assert-sequence","copy","move","third","first","tail?","set-first","prefix","bounds-error","<repetition>","exchange","surround","cut","min-length","set-third","push-all","head?","subseq-start-from","delete-slice","rest","sum-lengths","head*","infimum","remove!","glue","slice-error","subseq","push","replace-slice","subseq-as","unclip-last"],"math-builtin":["number=","next-power-of-2","?1+","fp-special?","imaginary-part","float>bits","number?","fp-infinity?","bignum?","fp-snan?","denominator","gcd","*","+","fp-bitwise=","-","u>=","/",">=","bitand","power-of-2?","log2-expects-positive","neg?","<","log2",">","integer?","number","bits>double","2/","zero?","bits>float","float?","shift","ratio?","rect>","even?","ratio","fp-sign","bitnot",">fixnum","complex?","/i","integer>fixnum","/f","sgn",">bignum","next-float","u<","u>","mod","recip","rational",">float","2^","integer","fixnum?","neg","fixnum","sq","bignum",">rect","bit?","fp-qnan?","simple-gcd","complex","<fp-nan>","real",">fraction","double>bits","bitor","rem","fp-nan-payload","real-part","log2-expects-positive?","prev-float","align","unordered?","float","fp-nan?","abs","bitxor","integer>fixnum-strict","u<=","odd?","<=","/mod",">integer","real?","rational?","numerator"]};Object.keys(builtins).forEach((function(k){factor[k].pattern=arrToWordsRegExp(builtins[k])}));var combinators=["2bi","while","2tri","bi*","4dip","both?","same?","tri@","curry","prepose","3bi","?if","tri*","2keep","3keep","curried","2keepd","when","2bi*","2tri*","4keep","bi@","keepdd","do","unless*","tri-curry","if*","loop","bi-curry*","when*","2bi@","2tri@","with","2with","either?","bi","until","3dip","3curry","tri-curry*","tri-curry@","bi-curry","keepd","compose","2dip","if","3tri","unless","tuple","keep","2curry","tri","most","while*","dip","composed","bi-curry@","find-last-from","trim-head-slice","map-as","each-from","none?","trim-tail","partition","if-empty","accumulate*","reject!","find-from","accumulate-as","collector-for-as","reject","map","map-sum","accumulate!","2each-from","follow","supremum-by","map!","unless-empty","collector","padding","reduce-index","replicate-as","infimum-by","trim-tail-slice","count","find-index","filter","accumulate*!","reject-as","map-integers","map-find","reduce","selector","interleave","2map","filter-as","binary-reduce","map-index-as","find","produce","filter!","replicate","cartesian-map","cartesian-each","find-index-from","map-find-last","3map-as","3map","find-last","selector-as","2map-as","2map-reduce","accumulate","each","each-index","accumulate*-as","when-empty","all?","collector-as","push-either","new-like","collector-for","2selector","push-if","2all?","map-reduce","3each","any?","trim-slice","2reduce","change-nth","produce-as","2each","trim","trim-head","cartesian-find","map-index","if-zero","each-integer","unless-zero","(find-integer)","when-zero","find-last-integer","(all-integers?)","times","(each-integer)","find-integer","all-integers?","unless-negative","if-positive","when-positive","when-negative","unless-positive","if-negative","case","2cleave","cond>quot","case>quot","3cleave","wrong-values","to-fixed-point","alist>quot","cond","cleave","call-effect","recursive-hashcode","spread","deep-spread>quot","2||","0||","n||","0&&","2&&","3||","1||","1&&","n&&","3&&","smart-unless*","keep-inputs","reduce-outputs","smart-when*","cleave>array","smart-with","smart-apply","smart-if","inputs/outputs","output>sequence-n","map-outputs","map-reduce-outputs","dropping","output>array","smart-map-reduce","smart-2map-reduce","output>array-n","nullary","input<sequence","append-outputs","drop-inputs","inputs","smart-2reduce","drop-outputs","smart-reduce","preserving","smart-when","outputs","append-outputs-as","smart-unless","smart-if*","sum-outputs","input<sequence-unsafe","output>sequence"];factor.combinators.pattern=arrToWordsRegExp(combinators);Prism.languages.factor=factor})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=firestoreSecurityRules;firestoreSecurityRules.displayName="firestoreSecurityRules";firestoreSecurityRules.aliases=[];function firestoreSecurityRules(Prism){Prism.languages["firestore-security-rules"]=Prism.languages.extend("clike",{comment:/\/\/.*/,keyword:/\b(?:allow|function|if|match|null|return|rules_version|service)\b/,operator:/&&|\|\||[<>!=]=?|[-+*/%]|\b(?:in|is)\b/});delete Prism.languages["firestore-security-rules"]["class-name"];Prism.languages.insertBefore("firestore-security-rules","keyword",{path:{pattern:/(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/,lookbehind:true,greedy:true,inside:{variable:{pattern:/\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/,inside:{operator:/=/,keyword:/\*\*/,punctuation:/[.$(){}]/}},punctuation:/\//}},method:{pattern:/(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/,lookbehind:true,alias:"builtin",inside:{punctuation:/,/}}})}},function(module,exports,__webpack_require__){"use strict";module.exports=flow;flow.displayName="flow";flow.aliases=[];function flow(Prism){(function(Prism){Prism.languages.flow=Prism.languages.extend("javascript",{});Prism.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/,alias:"tag"}]});Prism.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i;delete Prism.languages.flow["parameter"];Prism.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}});if(!Array.isArray(Prism.languages.flow.keyword)){Prism.languages.flow.keyword=[Prism.languages.flow.keyword]}Prism.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/,lookbehind:true},{pattern:/(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/,lookbehind:true})})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=fortran;fortran.displayName="fortran";fortran.aliases=[];function fortran(Prism){Prism.languages.fortran={"quoted-number":{pattern:/[BOZ](['"])[A-F0-9]+\1/i,alias:"number"},string:{pattern:/(?:\b\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:[ \t]*!.*(?:\r\n?|\n)|(?![ \t]*!))|(?!\1).)*(?:\1|&)/,inside:{comment:{pattern:/(&(?:\r\n?|\n)\s*)!.*/,lookbehind:true}}},comment:{pattern:/!.*/,greedy:true},boolean:/\.(?:TRUE|FALSE)\.(?:_\w+)?/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,keyword:[/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i,/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i],operator:[/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.[A-Z]+\./i,{pattern:/(^|(?!\().)\/(?!\))/,lookbehind:true}],punctuation:/\(\/|\/\)|[(),;:&]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=fsharp;fsharp.displayName="fsharp";fsharp.aliases=[];function fsharp(Prism){Prism.languages.fsharp=Prism.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,lookbehind:true},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:true}],string:{pattern:/(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?|'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,greedy:true},"class-name":{pattern:/(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,lookbehind:true,inside:{operator:/->|\*/,punctuation:/\./}},keyword:/\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/,number:[/\b0x[\da-fA-F]+(?:un|lf|LF)?\b/,/\b0b[01]+(?:y|uy)?\b/,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,/\b\d+(?:[IlLsy]|u[lsy]?|UL)?\b/],operator:/([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/});Prism.languages.insertBefore("fsharp","keyword",{preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:true,alias:"property",inside:{directive:{pattern:/(^#)\b(?:else|endif|if|light|line|nowarn)\b/,lookbehind:true,alias:"keyword"}}}});Prism.languages.insertBefore("fsharp","punctuation",{"computation-expression":{pattern:/\b[_a-z]\w*(?=\s*\{)/i,alias:"keyword"}});Prism.languages.insertBefore("fsharp","string",{annotation:{pattern:/\[<.+?>\]/,inside:{punctuation:/^\[<|>\]$/,"class-name":{pattern:/^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,lookbehind:true},"annotation-content":{pattern:/[\s\S]+/,inside:Prism.languages.fsharp}}}})}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=ftl;ftl.displayName="ftl";ftl.aliases=[];function ftl(Prism){Prism.register(refractorMarkupTemplating);(function(Prism){var FTL_EXPR=/[^<()"']|\((?:<expr>)*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'/.source;for(var i=0;i<2;i++){FTL_EXPR=FTL_EXPR.replace(/<expr>/g,(function(){return FTL_EXPR}))}FTL_EXPR=FTL_EXPR.replace(/<expr>/g,/[^\s\S]/.source);var ftl={comment:/<#--[\s\S]*?-->/,string:[{pattern:/\br("|')(?:(?!\1)[^\\]|\\.)*\1/,greedy:true},{pattern:RegExp(/("|')(?:(?!\1|\$\{)[^\\]|\\.|\$\{(?:(?!\})(?:<expr>))*\})*\1/.source.replace(/<expr>/g,(function(){return FTL_EXPR}))),greedy:true,inside:{interpolation:{pattern:RegExp(/((?:^|[^\\])(?:\\\\)*)\$\{(?:(?!\})(?:<expr>))*\}/.source.replace(/<expr>/g,(function(){return FTL_EXPR}))),lookbehind:true,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:null}}}}],keyword:/\b(?:as)\b/,boolean:/\b(?:true|false)\b/,"builtin-function":{pattern:/((?:^|[^?])\?\s*)\w+/,lookbehind:true,alias:"function"},function:/\b\w+(?=\s*\()/,number:/\b\d+(?:\.\d+)?\b/,operator:/\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/,punctuation:/[,;.:()[\]{}]/};ftl.string[1].inside.interpolation.inside.rest=ftl;Prism.languages.ftl={"ftl-comment":{pattern:/^<#--[\s\S]*/,alias:"comment"},"ftl-directive":{pattern:/^<[\s\S]+>$/,inside:{directive:{pattern:/(^<\/?)[#@][a-z]\w*/i,lookbehind:true,alias:"keyword"},punctuation:/^<\/?|\/?>$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:ftl}}},"ftl-interpolation":{pattern:/^\$\{[\s\S]*\}$/,inside:{punctuation:/^\$\{|\}$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:ftl}}}};Prism.hooks.add("before-tokenize",(function(env){var pattern=RegExp(/<#--[\s\S]*?-->|<\/?[#@][a-zA-Z](?:<expr>)*?>|\$\{(?:<expr>)*?\}/.source.replace(/<expr>/g,(function(){return FTL_EXPR})),"gi");Prism.languages["markup-templating"].buildPlaceholders(env,"ftl",pattern)}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"ftl")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=gcode;gcode.displayName="gcode";gcode.aliases=[];function gcode(Prism){Prism.languages.gcode={comment:/;.*|\B\(.*?\)\B/,string:{pattern:/"(?:""|[^"])*"/,greedy:true},keyword:/\b[GM]\d+(?:\.\d+)?\b/,property:/\b[A-Z]/,checksum:{pattern:/\*\d+/,alias:"punctuation"},punctuation:/:/}}},function(module,exports,__webpack_require__){"use strict";module.exports=gdscript;gdscript.displayName="gdscript";gdscript.aliases=[];function gdscript(Prism){Prism.languages.gdscript={comment:/#.*/,string:{pattern:/@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/,greedy:true},"class-name":{pattern:/(^(?:class_name|class|extends)[ \t]+|^export\([ \t]*|\bas[ \t]+|(?:\b(?:const|var)[ \t]|[,(])[ \t]*\w+[ \t]*:[ \t]*|->[ \t]*)[a-zA-Z_]\w*/m,lookbehind:true},keyword:/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,variable:/\$\w+/,number:[/\b0b[01_]+\b|\b0x[\da-fA-F_]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[+-]?[\d_]+)?\b/,/\b(?:INF|NAN|PI|TAU)\b/],constant:/\b[A-Z][A-Z_\d]*\b/,boolean:/\b(?:false|true)\b/,operator:/->|:=|&&|\|\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,punctuation:/[.:,;()[\]{}]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=gedcom;gedcom.displayName="gedcom";gedcom.aliases=[];function gedcom(Prism){Prism.languages.gedcom={"line-value":{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ ).+/m,lookbehind:true,inside:{pointer:{pattern:/^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/,alias:"variable"}}},tag:{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m,lookbehind:true,alias:"string"},level:{pattern:/(^[\t ]*)\d+/m,lookbehind:true,alias:"number"},pointer:{pattern:/@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/,alias:"variable"}}}},function(module,exports,__webpack_require__){"use strict";module.exports=gherkin;gherkin.displayName="gherkin";gherkin.aliases=[];function gherkin(Prism){(function(Prism){var tableRow=/(?:\r?\n|\r)[ \t]*\|.+\|(?:(?!\|).)*/.source;Prism.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias:"string"},comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:true},tag:{pattern:/(^[ \t]*)@\S*/m,lookbehind:true},feature:{pattern:/((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,lookbehind:true,inside:{important:{pattern:/(:)[^\r\n]+/,lookbehind:true},keyword:/[^:\r\n]+:/}},scenario:{pattern:/(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|ghantoH|Grundlage|Hannergrond|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|Lýsing Atburðarásar|Lýsing Dæma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/m,lookbehind:true,inside:{important:{pattern:/(:)[^\r\n]*/,lookbehind:true},keyword:/[^:\r\n]+:/}},"table-body":{pattern:RegExp("("+tableRow+")(?:"+tableRow+")+"),lookbehind:true,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"},td:{pattern:/\s*[^\s|][^|]*/,alias:"string"},punctuation:/\|/}},"table-head":{pattern:RegExp(tableRow),inside:{th:{pattern:/\s*[^\s|][^|]*/,alias:"variable"},punctuation:/\|/}},atrule:{pattern:/(^[ \t]+)(?:'ach|'a|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cando|Cand|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|Entonces|En|Epi|E|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kadar|Kada|Kad|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|ugeholl|Und|Un|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t])/m,lookbehind:true},string:{pattern:/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"}}},outline:{pattern:/<[^>]+>/,alias:"variable"}}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=git;git.displayName="git";git.aliases=[];function git(Prism){Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/m}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m}}},function(module,exports,__webpack_require__){"use strict";var refractorC=__webpack_require__(91);module.exports=glsl;glsl.displayName="glsl";glsl.aliases=[];function glsl(Prism){Prism.register(refractorC);Prism.languages.glsl=Prism.languages.extend("c",{keyword:/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[ibdu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/})}},function(module,exports,__webpack_require__){"use strict";module.exports=gml;gml.displayName="gml";gml.aliases=[];function gml(Prism){Prism.languages.gamemakerlanguage=Prism.languages.gml=Prism.languages.extend("clike",{keyword:/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/,number:/(?:\b0x[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ulf]{0,4}/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not|with|at|xor)\b/,constant:/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/,variable:/\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/})}},function(module,exports,__webpack_require__){"use strict";module.exports=go;go.displayName="go";go.aliases=[];function go(Prism){Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:true},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,number:/(?:\b0x[a-f\d]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[-+]?\d+)?)i?/i,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/});delete Prism.languages.go["class-name"]}},function(module,exports,__webpack_require__){"use strict";module.exports=graphql;graphql.displayName="graphql";graphql.aliases=[];function graphql(Prism){Prism.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:true,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:true,inside:Prism.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:true},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:true|false)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:true},"atom-input":{pattern:/[A-Z]\w*Input(?=!?.*$)/m,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:true},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:true,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:true,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:true,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/};Prism.hooks.add("after-tokenize",(function afterTokenizeGraphql(env){if(env.language!=="graphql"){return}var validTokens=env.tokens.filter((function(token){return typeof token!=="string"&&token.type!=="comment"&&token.type!=="scalar"}));var currentIndex=0;function getToken(offset){return validTokens[currentIndex+offset]}function isTokenType(types,offset){offset=offset||0;for(var i=0;i<types.length;i++){var token=getToken(i+offset);if(!token||token.type!==types[i]){return false}}return true}function findClosingBracket(open,close){var stackHeight=1;for(var i=currentIndex;i<validTokens.length;i++){var token=validTokens[i];var content=token.content;if(token.type==="punctuation"&&typeof content==="string"){if(open.test(content)){stackHeight++}else if(close.test(content)){stackHeight--;if(stackHeight===0){return i}}}}return-1}function addAlias(token,alias){var aliases=token.alias;if(!aliases){token.alias=aliases=[]}else if(!Array.isArray(aliases)){token.alias=aliases=[aliases]}aliases.push(alias)}for(;currentIndex<validTokens.length;){var startToken=validTokens[currentIndex++];if(startToken.type==="keyword"&&startToken.content==="mutation"){var inputVariables=[];if(isTokenType(["definition-mutation","punctuation"])&&getToken(1).content==="("){currentIndex+=2;var definitionEnd=findClosingBracket(/^\($/,/^\)$/);if(definitionEnd===-1){continue}for(;currentIndex<definitionEnd;currentIndex++){var t=getToken(0);if(t.type==="variable"){addAlias(t,"variable-input");inputVariables.push(t.content)}}currentIndex=definitionEnd+1}if(isTokenType(["punctuation","property-query"])&&getToken(0).content==="{"){currentIndex++;addAlias(getToken(0),"property-mutation");if(inputVariables.length>0){var mutationEnd=findClosingBracket(/^\{$/,/^\}$/);if(mutationEnd===-1){continue}for(var i=currentIndex;i<mutationEnd;i++){var varToken=validTokens[i];if(varToken.type==="variable"&&inputVariables.indexOf(varToken.content)>=0){addAlias(varToken,"variable-input")}}}}}}}))}},function(module,exports,__webpack_require__){"use strict";module.exports=groovy;groovy.displayName="groovy";groovy.aliases=[];function groovy(Prism){Prism.languages.groovy=Prism.languages.extend("clike",{string:[{pattern:/("""|''')(?:[^\\]|\\[\s\S])*?\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:true},{pattern:/(["'/])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true}],keyword:/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:true},punctuation:/\.+|[{}[\];(),:$]/});Prism.languages.insertBefore("groovy","string",{shebang:{pattern:/#!.+/,alias:"comment"}});Prism.languages.insertBefore("groovy","punctuation",{"spock-block":/\b(?:setup|given|when|then|and|cleanup|expect|where):/});Prism.languages.insertBefore("groovy","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:true,alias:"punctuation"}});Prism.hooks.add("wrap",(function(env){if(env.language==="groovy"&&env.type==="string"){var delimiter=env.content.value[0];if(delimiter!="'"){var pattern=/([^\\])(?:\$(?:\{.*?\}|[\w.]+))/;if(delimiter==="$"){pattern=/([^\$])(?:\$(?:\{.*?\}|[\w.]+))/}env.content.value=env.content.value.replace(/&lt;/g,"<").replace(/&amp;/g,"&");env.content=Prism.highlight(env.content.value,{expression:{pattern:pattern,lookbehind:true,inside:Prism.languages.groovy}});env.classes.push(delimiter==="/"?"regex":"gstring")}}}))}},function(module,exports,__webpack_require__){"use strict";var refractorRuby=__webpack_require__(127);module.exports=haml;haml.displayName="haml";haml.aliases=[];function haml(Prism){Prism.register(refractorRuby);(function(Prism){Prism.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,lookbehind:true,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,lookbehind:true,inside:Prism.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,lookbehind:true,inside:Prism.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,lookbehind:true,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:true,inside:Prism.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:true},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:true,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,lookbehind:true,inside:Prism.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:true},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:Prism.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:true,inside:Prism.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:Prism.languages.ruby}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:true}};var filter_pattern="((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+";var filters=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"];var all_filters={};for(var i=0,l=filters.length;i<l;i++){var filter=filters[i];filter=typeof filter==="string"?{filter:filter,language:filter}:filter;if(Prism.languages[filter.language]){all_filters["filter-"+filter.filter]={pattern:RegExp(filter_pattern.replace("{{filter_name}}",(function(){return filter.filter}))),lookbehind:true,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},rest:Prism.languages[filter.language]}}}}Prism.languages.insertBefore("haml","filter",all_filters)})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=handlebars;handlebars.displayName="handlebars";handlebars.aliases=["hbs"];function handlebars(Prism){Prism.register(refractorMarkupTemplating);(function(Prism){Prism.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:true|false)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/i,lookbehind:true,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/};Prism.hooks.add("before-tokenize",(function(env){var handlebarsPattern=/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g;Prism.languages["markup-templating"].buildPlaceholders(env,"handlebars",handlebarsPattern)}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"handlebars")}));Prism.languages.hbs=Prism.languages.handlebars})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=haxe;haxe.displayName="haxe";haxe.aliases=[];function haxe(Prism){Prism.languages.haxe=Prism.languages.extend("clike",{string:{pattern:/(["'])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:true,inside:{interpolation:{pattern:/(^|[^\\])\$(?:\w+|\{[^}]+\})/,lookbehind:true,inside:{interpolation:{pattern:/^\$\w*/,alias:"variable"}}}}},keyword:/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/,operator:/\.{3}|\+\+?|-[->]?|[=!]=?|&&?|\|\|?|<[<=]?|>[>=]?|[*\/%~^]/});Prism.languages.insertBefore("haxe","class-name",{regex:{pattern:/~\/(?:[^\/\\\r\n]|\\.)+\/[igmsu]*/,greedy:true}});Prism.languages.insertBefore("haxe","keyword",{preprocessor:{pattern:/#\w+/,alias:"builtin"},metadata:{pattern:/@:?\w+/,alias:"symbol"},reification:{pattern:/\$(?:\w+|(?=\{))/,alias:"variable"}});Prism.languages.haxe["string"].inside["interpolation"].inside.rest=Prism.languages.haxe;delete Prism.languages.haxe["class-name"]}},function(module,exports,__webpack_require__){"use strict";module.exports=hcl;hcl.displayName="hcl";hcl.aliases=[];function hcl(Prism){Prism.languages.hcl={comment:/(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,heredoc:{pattern:/<<-?(\w+\b)[\s\S]*?^[ \t]*\1/m,greedy:true,alias:"string"},keyword:[{pattern:/(?:resource|data)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+\{)/i,inside:{type:{pattern:/(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,lookbehind:true,alias:"variable"}}},{pattern:/(?:provider|provisioner|variable|output|module|backend)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?=\{)/i,inside:{type:{pattern:/(provider|provisioner|variable|output|module|backend)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,lookbehind:true,alias:"variable"}}},/[\w-]+(?=\s+\{)/],property:[/[-\w\.]+(?=\s*=(?!=))/,/"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],string:{pattern:/"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+(?!\$)|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,greedy:true,inside:{interpolation:{pattern:/(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,lookbehind:true,inside:{type:{pattern:/(\b(?:terraform|var|self|count|module|path|data|local)\b\.)[\w\*]+/i,lookbehind:true,alias:"variable"},keyword:/\b(?:terraform|var|self|count|module|path|data|local)\b/i,function:/\w+(?=\()/,string:{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:true},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/}}}},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,boolean:/\b(?:true|false)\b/i,punctuation:/[=\[\]{}]/}}},function(module,exports,__webpack_require__){"use strict";var refractorC=__webpack_require__(91);module.exports=hlsl;hlsl.displayName="hlsl";hlsl.aliases=[];function hlsl(Prism){Prism.register(refractorC);Prism.languages.hlsl=Prism.languages.extend("c",{"class-name":[Prism.languages.c["class-name"],/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/],keyword:[/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/,/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/],number:/(?:(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/,boolean:/\b(?:false|true)\b/})}},function(module,exports,__webpack_require__){"use strict";module.exports=hpkp;hpkp.displayName="hpkp";hpkp.aliases=[];function hpkp(Prism){Prism.languages.hpkp={directive:{pattern:/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[a-zA-Z\d+=/]+"|(?:max-age|report-uri)=|report-to )/,alias:"keyword"},safe:{pattern:/\b\d{7,}\b/,alias:"selector"},unsafe:{pattern:/\b\d{1,6}\b/,alias:"function"}}}},function(module,exports,__webpack_require__){"use strict";module.exports=hsts;hsts.displayName="hsts";hsts.aliases=[];function hsts(Prism){Prism.languages.hsts={directive:{pattern:/\b(?:max-age=|includeSubDomains|preload)/,alias:"keyword"},safe:{pattern:/\b\d{8,}\b/,alias:"selector"},unsafe:{pattern:/\b\d{1,7}\b/,alias:"function"}}}},function(module,exports,__webpack_require__){"use strict";module.exports=http;http.displayName="http";http.aliases=[];function http(Prism){(function(Prism){Prism.languages.http={"request-line":{pattern:/^(?:GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\s(?:https?:\/\/|\/)\S*\sHTTP\/[0-9.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:true,alias:"url",inside:Prism.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[0-9.]+/,lookbehind:true,alias:"property"}}},"response-status":{pattern:/^HTTP\/[0-9.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[0-9.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:true,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:true,alias:"string"}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var langs=Prism.languages;var httpLanguages={"application/javascript":langs.javascript,"application/json":langs.json||langs.javascript,"application/xml":langs.xml,"text/xml":langs.xml,"text/html":langs.html,"text/css":langs.css};var suffixTypes={"application/json":true,"application/xml":true};function getSuffixPattern(contentType){var suffix=contentType.replace(/^[a-z]+\//,"");var suffixPattern="\\w+/(?:[\\w.-]+\\+)+"+suffix+"(?![+\\w.-])";return"(?:"+contentType+"|"+suffixPattern+")"}var options;for(var contentType in httpLanguages){if(httpLanguages[contentType]){options=options||{};var pattern=suffixTypes[contentType]?getSuffixPattern(contentType):contentType;options[contentType.replace(/\//g,"-")]={pattern:RegExp("(content-type:\\s*"+pattern+"(?:(?:\\r\\n?|\\n).+)*)(?:\\r?\\n|\\r){2}[\\s\\S]*","i"),lookbehind:true,inside:httpLanguages[contentType]}}}if(options){Prism.languages.insertBefore("http","header-name",options)}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=ichigojam;ichigojam.displayName="ichigojam";ichigojam.aliases=[];function ichigojam(Prism){Prism.languages.ichigojam={comment:/(?:\B'|REM)(?:[^\n\r]*)/i,string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/i,greedy:true},number:/\B#[0-9A-F]+|\B`[01]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i,function:/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i,label:/(?:\B@\S+)/i,operator:/<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i,punctuation:/[\[,;:()\]]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=icon;icon.displayName="icon";icon.aliases=[];function icon(Prism){Prism.languages.icon={comment:/#.*/,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/,greedy:true},number:/\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i,"builtin-keyword":{pattern:/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/,alias:"variable"},directive:{pattern:/\$\w+/,alias:"builtin"},keyword:/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/,function:/\b(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/,operator:/[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/,punctuation:/[\[\](){},;]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=iecst;iecst.displayName="iecst";iecst.aliases=[];function iecst(Prism){Prism.languages.iecst={comment:[{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\(\*[\s\S]*?(?:\*\)|$)|\{[\s\S]*?(?:\}|$))/,lookbehind:true},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:true,greedy:true}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true},"class-name":/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i,keyword:/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/,variable:/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/,symbol:/%[IQM][XBWDL][\d.]*|%[IQ][\d.]*/,number:/\b(?:16#[\da-f]+|2#[01_]+|0x[\da-f]+)\b|\b(?:T|D|DT|TOD)#[\d_shmd:]*|\b[A-Z]*#[\d.,_]*|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/,function:/\w+(?=\()/,operator:/(?:S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-:^/+])|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GT|LT)\b/,punctuation:/[();]/,type:{pattern:/#/,alias:"selector"}}}},function(module,exports,__webpack_require__){"use strict";module.exports=ignore;ignore.displayName="ignore";ignore.aliases=["gitignore","hgignore","npmignore"];function ignore(Prism){(function(Prism){Prism.languages.ignore={comment:/^#.*/m,entry:{pattern:/\S(?:.*(?:(?:\\ )|\S))?/,alias:"string",inside:{operator:/^!|\*\*?|\?/,regex:{pattern:/(^|[^\\])\[[^\[\]]*\]/,lookbehind:true},punctuation:/\//}}};Prism.languages.gitignore=Prism.languages.ignore;Prism.languages.hgignore=Prism.languages.ignore;Prism.languages.npmignore=Prism.languages.ignore})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=inform7;inform7.displayName="inform7";inform7.aliases=[];function inform7(Prism){Prism.languages.inform7={string:{pattern:/"[^"]*"/,inside:{substitution:{pattern:/\[[^\[\]]+\]/,inside:{delimiter:{pattern:/\[|\]/,alias:"punctuation"}}}}},comment:{pattern:/\[[^\[\]]+\]/,greedy:true},title:{pattern:/^[ \t]*(?:volume|book|part(?! of)|chapter|section|table)\b.+/im,alias:"important"},number:{pattern:/(^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?(?:(?!\d)\w+)?|\b(?:one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve))\b(?!-)/i,lookbehind:true},verb:{pattern:/(^|[^-])\b(?:applying to|are|attacking|answering|asking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:s|ing)?|consulting|contain(?:s|ing)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:ve|s|ving)|hold(?:s|ing)?|impl(?:y|ies)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:s|ing)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:s|ing)?|setting|showing|singing|sleeping|smelling|squeezing|switching|support(?:s|ing)?|swearing|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:s|ing)?|var(?:y|ies|ying)|waiting|waking|waving|wear(?:s|ing)?)\b(?!-)/i,lookbehind:true,alias:"operator"},keyword:{pattern:/(^|[^-])\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|unless|the story)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\b(?!-)/i,lookbehind:true},property:{pattern:/(^|[^-])\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: on| off)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\b(?!-)/i,lookbehind:true,alias:"symbol"},position:{pattern:/(^|[^-])\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\b(?!-)/i,lookbehind:true,alias:"keyword"},type:{pattern:/(^|[^-])\b(?:actions?|activit(?:y|ies)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\b(?!-)/i,lookbehind:true,alias:"variable"},punctuation:/[.,:;(){}]/};Prism.languages.inform7["string"].inside["substitution"].inside.rest=Prism.languages.inform7;Prism.languages.inform7["string"].inside["substitution"].inside.rest.text={pattern:/\S(?:\s*\S)*/,alias:"comment"}}},function(module,exports,__webpack_require__){"use strict";module.exports=ini;ini.displayName="ini";ini.aliases=[];function ini(Prism){Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:true},header:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:true,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:true,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:true,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:true,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:true}}},punctuation:/=/}}},function(module,exports,__webpack_require__){"use strict";module.exports=io;io.displayName="io";io.aliases=[];function io(Prism){Prism.languages.io={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:true},{pattern:/(^|[^\\])\/\/.*/,lookbehind:true},{pattern:/(^|[^\\])#.*/,lookbehind:true}],"triple-quoted-string":{pattern:/"""(?:\\[\s\S]|(?!""")[^\\])*"""/,greedy:true,alias:"string"},string:{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:true},keyword:/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/,builtin:/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum)\b/,boolean:/\b(?:true|false|nil)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?/i,operator:/[=!*/%+\-^&|]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:return|and|or|not)\b|@@?|\?\??|\.\./,punctuation:/[{}[\];(),.:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=j;j.displayName="j";j.aliases=[];function j(Prism){Prism.languages.j={comment:/\bNB\..*/,string:{pattern:/'(?:''|[^'\r\n])*'/,greedy:true},keyword:/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/,verb:{pattern:/(?!\^:|;\.|[=!][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[=!\]]|[<>+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/,alias:"keyword"},number:/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/,adverb:{pattern:/[~}]|[\/\\]\.?|[bfM]\.|t[.:]/,alias:"builtin"},operator:/[=a][.:]|_\./,conjunction:{pattern:/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/,alias:"variable"},punctuation:/[()]/}}},function(module,exports,__webpack_require__){"use strict";var refractorJava=__webpack_require__(167);var refractorJavadoclike=__webpack_require__(128);module.exports=javadoc;javadoc.displayName="javadoc";javadoc.aliases=[];function javadoc(Prism){Prism.register(refractorJava);Prism.register(refractorJavadoclike);(function(Prism){var codeLinePattern=/(^(?:[\t ]*(?:\*\s*)*))[^*\s].*$/m;var memberReference=/#\s*\w+(?:\s*\([^()]*\))?/.source;var reference=/(?:\b[a-zA-Z]\w+\s*\.\s*)*\b[A-Z]\w*(?:\s*<mem>)?|<mem>/.source.replace(/<mem>/g,(function(){return memberReference}));Prism.languages.javadoc=Prism.languages.extend("javadoclike",{});Prism.languages.insertBefore("javadoc","keyword",{reference:{pattern:RegExp(/(@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?)/.source+"(?:"+reference+")"),lookbehind:true,inside:{function:{pattern:/(#\s*)\w+(?=\s*\()/,lookbehind:true},field:{pattern:/(#\s*)\w+/,lookbehind:true},namespace:{pattern:/\b(?:[a-z]\w*\s*\.\s*)+/,inside:{punctuation:/\./}},"class-name":/\b[A-Z]\w*/,keyword:Prism.languages.java.keyword,punctuation:/[#()[\],.]/}},"class-name":{pattern:/(@param\s+)<[A-Z]\w*>/,lookbehind:true,inside:{punctuation:/[.<>]/}},"code-section":[{pattern:/(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/,lookbehind:true,inside:{code:{pattern:codeLinePattern,lookbehind:true,inside:Prism.languages.java,alias:"language-java"}}},{pattern:/(<(code|pre|tt)>(?!<code>)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/,lookbehind:true,inside:{line:{pattern:codeLinePattern,lookbehind:true,inside:{tag:Prism.languages.markup.tag,entity:Prism.languages.markup.entity,code:{pattern:/.+/,inside:Prism.languages.java,alias:"language-java"}}}}}],tag:Prism.languages.markup.tag,entity:Prism.languages.markup.entity});Prism.languages.javadoclike.addSupport("java",Prism.languages.javadoc)})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=javascript;javascript.displayName="javascript";javascript.aliases=["js"];function javascript(Prism){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:true}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:true},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:true}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:true,greedy:true,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:true,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:true,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:true,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:true,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:true,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:true,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:true,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:true,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}});if(Prism.languages.markup){Prism.languages.markup.tag.addInlined("script","javascript");Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")}Prism.languages.js=Prism.languages.javascript}},function(module,exports,__webpack_require__){"use strict";module.exports=javastacktrace;javastacktrace.displayName="javastacktrace";javastacktrace.aliases=[];function javastacktrace(Prism){Prism.languages.javastacktrace={summary:{pattern:/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,inside:{keyword:{pattern:/^(\s*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,lookbehind:true},string:{pattern:/^(\s*)"[^"]*"/,lookbehind:true},exceptions:{pattern:/^(:?\s*)[\w$.]+(?=:|$)/,lookbehind:true,inside:{"class-name":/[\w$]+(?=$|:)/,namespace:/[a-z]\w*/,punctuation:/[.:]/}},message:{pattern:/(:\s*)\S.*/,lookbehind:true,alias:"string"},punctuation:/:/}},"stack-frame":{pattern:/^[\t ]*at (?:[\w$./]|@[\w$.+-]*\/)+(?:<init>)?\([^()]*\)/m,inside:{keyword:{pattern:/^(\s*)at(?= )/,lookbehind:true},source:[{pattern:/(\()\w+\.\w+:\d+(?=\))/,lookbehind:true,inside:{file:/^\w+\.\w+/,punctuation:/:/,"line-number":{pattern:/\d+/,alias:"number"}}},{pattern:/(\()[^()]*(?=\))/,lookbehind:true,inside:{keyword:/^(?:Unknown Source|Native Method)$/}}],"class-name":/[\w$]+(?=\.(?:<init>|[\w$]+)\()/,function:/(?:<init>|[\w$]+)(?=\()/,"class-loader":{pattern:/(\s)[a-z]\w*(?:\.[a-z]\w*)*(?=\/[\w@$.]*\/)/,lookbehind:true,alias:"namespace",inside:{punctuation:/\./}},module:{pattern:/([\s/])[a-z]\w*(?:\.[a-z]\w*)*(?:@[\w$.+-]*)?(?=\/)/,lookbehind:true,inside:{version:{pattern:/(@)[\s\S]+/,lookbehind:true,alias:"number"},punctuation:/[@.]/}},namespace:{pattern:/(?:[a-z]\w*\.)+/,inside:{punctuation:/\./}},punctuation:/[()/.]/}},more:{pattern:/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m,inside:{punctuation:/\.{3}/,number:/\d+/,keyword:/\b[a-z]+(?: [a-z]+)*\b/}}}}},function(module,exports,__webpack_require__){"use strict";module.exports=jolie;jolie.displayName="jolie";jolie.aliases=[];function jolie(Prism){Prism.languages.jolie=Prism.languages.extend("clike",{string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true},keyword:/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?l?/i,operator:/-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[:?\/%^]/,punctuation:/[,.]/,builtin:/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/,symbol:/[|;@]/});delete Prism.languages.jolie["class-name"];Prism.languages.insertBefore("jolie","keyword",{function:{pattern:/((?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*)\w+/,lookbehind:true},aggregates:{pattern:/(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,lookbehind:true,inside:{"with-extension":{pattern:/\bwith\s+\w+/,inside:{keyword:/\bwith\b/}},function:{pattern:/\w+/},punctuation:{pattern:/,/}}},redirects:{pattern:/(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,lookbehind:true,inside:{punctuation:{pattern:/,/},function:{pattern:/\w+/},symbol:{pattern:/=>/}}}})}},function(module,exports,__webpack_require__){"use strict";module.exports=jq;jq.displayName="jq";jq.aliases=[];function jq(Prism){(function(Prism){var interpolation=/\\\((?:[^()]|\([^()]*\))*\)/.source;var string=RegExp(/"(?:[^"\r\n\\]|\\[^\r\n(]|__)*"/.source.replace(/__/g,(function(){return interpolation})));var stringInterpolation={interpolation:{pattern:RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+interpolation),lookbehind:true,inside:{content:{pattern:/^(\\\()[\s\S]+(?=\)$)/,lookbehind:true,inside:null},punctuation:/^\\\(|\)$/}}};var jq=Prism.languages.jq={comment:/#.*/,property:{pattern:RegExp(string.source+/(?=\s*:(?!:))/.source),greedy:true,inside:stringInterpolation},string:{pattern:string,greedy:true,inside:stringInterpolation},function:{pattern:/(\bdef\s+)[a-z_]\w+/i,lookbehind:true},variable:/\B\$\w+/,"property-literal":{pattern:/\b[a-z_]\w*(?=\s*:(?!:))/i,alias:"property"},keyword:/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/,boolean:/\b(?:true|false)\b/,number:/(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/,operator:[{pattern:/\|=?/,alias:"pipe"},/\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|or|not)\b/],"c-style-function":{pattern:/\b[a-z_]\w*(?=\s*\()/i,alias:"function"},punctuation:/::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/,dot:{pattern:/\./,alias:"important"}};stringInterpolation.interpolation.inside.content.inside=jq})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=jsExtras;jsExtras.displayName="jsExtras";jsExtras.aliases=[];function jsExtras(Prism){(function(Prism){Prism.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+Prism.languages.javascript["function-variable"].pattern.source),lookbehind:true,alias:["function-variable","method","function","property-access"]}});Prism.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+Prism.languages.javascript["function"].source),lookbehind:true,alias:["function","property-access"]}});Prism.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]});function withId(source,flags){return RegExp(source.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),flags)}Prism.languages.insertBefore("javascript","keyword",{imports:{pattern:withId(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:true,inside:Prism.languages.javascript},exports:{pattern:withId(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:true,inside:Prism.languages.javascript}});Prism.languages.javascript["keyword"].unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|for|finally|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"});Prism.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}});Prism.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:withId(/(\.\s*)#?<ID>/.source),lookbehind:true},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:true},dom:{pattern:/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});var maybeClassNameTokens=["function","function-variable","method","method-variable","property-access"];for(var i=0;i<maybeClassNameTokens.length;i++){var token=maybeClassNameTokens[i];var value=Prism.languages.javascript[token];if(Prism.util.type(value)==="RegExp"){value=Prism.languages.javascript[token]={pattern:value}}var inside=value.inside||{};value.inside=inside;inside["maybe-class-name"]=/^[A-Z][\s\S]*/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=jsTemplates;jsTemplates.displayName="jsTemplates";jsTemplates.aliases=[];function jsTemplates(Prism){(function(Prism){var templateString=Prism.languages.javascript["template-string"];var templateLiteralPattern=templateString.pattern.source;var interpolationObject=templateString.inside["interpolation"];var interpolationPunctuationObject=interpolationObject.inside["interpolation-punctuation"];var interpolationPattern=interpolationObject.pattern.source;function createTemplate(language,tag){if(!Prism.languages[language]){return undefined}return{pattern:RegExp("((?:"+tag+")\\s*)"+templateLiteralPattern),lookbehind:true,greedy:true,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:language}}}}Prism.languages.javascript["template-string"]=[createTemplate("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),createTemplate("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),createTemplate("svg",/\bsvg/.source),createTemplate("markdown",/\b(?:md|markdown)/.source),createTemplate("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),createTemplate("sql",/\bsql/.source),templateString].filter(Boolean);function getPlaceholder(counter,language){return"___"+language.toUpperCase()+"_"+counter+"___"}function tokenizeWithHooks(code,grammar,language){var env={code:code,grammar:grammar,language:language};Prism.hooks.run("before-tokenize",env);env.tokens=Prism.tokenize(env.code,env.grammar);Prism.hooks.run("after-tokenize",env);return env.tokens}function tokenizeInterpolationExpression(expression){var tempGrammar={};tempGrammar["interpolation-punctuation"]=interpolationPunctuationObject;var tokens=Prism.tokenize(expression,tempGrammar);if(tokens.length===3){var args=[1,1];args.push.apply(args,tokenizeWithHooks(tokens[1],Prism.languages.javascript,"javascript"));tokens.splice.apply(tokens,args)}return new Prism.Token("interpolation",tokens,interpolationObject.alias,expression)}function tokenizeEmbedded(code,grammar,language){var _tokens=Prism.tokenize(code,{interpolation:{pattern:RegExp(interpolationPattern),lookbehind:true}});var placeholderCounter=0;var placeholderMap={};var embeddedCode=_tokens.map((function(token){if(typeof token==="string"){return token}else{var interpolationExpression=token.content;var placeholder;while(code.indexOf(placeholder=getPlaceholder(placeholderCounter++,language))!==-1){}placeholderMap[placeholder]=interpolationExpression;return placeholder}})).join("");var embeddedTokens=tokenizeWithHooks(embeddedCode,grammar,language);var placeholders=Object.keys(placeholderMap);placeholderCounter=0;function walkTokens(tokens){for(var i=0;i<tokens.length;i++){if(placeholderCounter>=placeholders.length){return}var token=tokens[i];if(typeof token==="string"||typeof token.content==="string"){var placeholder=placeholders[placeholderCounter];var s=typeof token==="string"?token:token.content;var index=s.indexOf(placeholder);if(index!==-1){++placeholderCounter;var before=s.substring(0,index);var middle=tokenizeInterpolationExpression(placeholderMap[placeholder]);var after=s.substring(index+placeholder.length);var replacement=[];if(before){replacement.push(before)}replacement.push(middle);if(after){var afterTokens=[after];walkTokens(afterTokens);replacement.push.apply(replacement,afterTokens)}if(typeof token==="string"){tokens.splice.apply(tokens,[i,1].concat(replacement));i+=replacement.length-1}else{token.content=replacement}}}else{var content=token.content;if(Array.isArray(content)){walkTokens(content)}else{walkTokens([content])}}}}walkTokens(embeddedTokens);return new Prism.Token(language,embeddedTokens,"language-"+language,code)}var supportedLanguages={javascript:true,js:true,typescript:true,ts:true,jsx:true,tsx:true};Prism.hooks.add("after-tokenize",(function(env){if(!(env.language in supportedLanguages)){return}function findTemplateStrings(tokens){for(var i=0,l=tokens.length;i<l;i++){var token=tokens[i];if(typeof token==="string"){continue}var content=token.content;if(!Array.isArray(content)){if(typeof content!=="string"){findTemplateStrings([content])}continue}if(token.type==="template-string"){var embedded=content[1];if(content.length===3&&typeof embedded!=="string"&&embedded.type==="embedded-code"){var code=stringContent(embedded);var alias=embedded.alias;var language=Array.isArray(alias)?alias[0]:alias;var grammar=Prism.languages[language];if(!grammar){continue}content[1]=tokenizeEmbedded(code,grammar,language)}}else{findTemplateStrings(content)}}}findTemplateStrings(env.tokens)}));function stringContent(value){if(typeof value==="string"){return value}else if(Array.isArray(value)){return value.map(stringContent).join("")}else{return stringContent(value.content)}}})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorJavadoclike=__webpack_require__(128);var refractorTypescript=__webpack_require__(168);module.exports=jsdoc;jsdoc.displayName="jsdoc";jsdoc.aliases=[];function jsdoc(Prism){Prism.register(refractorJavadoclike);Prism.register(refractorTypescript);(function(Prism){var javascript=Prism.languages.javascript;var type=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source;var parameterPrefix="(@(?:param|arg|argument|property)\\s+(?:"+type+"\\s+)?)";Prism.languages.jsdoc=Prism.languages.extend("javadoclike",{parameter:{pattern:RegExp(parameterPrefix+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:true,inside:{punctuation:/\./}}});Prism.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(parameterPrefix+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:true,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:true,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:true,inside:javascript,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return type}))),lookbehind:true,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+type),lookbehind:true,inside:{string:javascript.string,number:javascript.number,boolean:javascript.boolean,keyword:Prism.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:true,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:true,inside:javascript,alias:"language-javascript"}}}});Prism.languages.javadoclike.addSupport("javascript",Prism.languages.jsdoc)})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorJson=__webpack_require__(169);module.exports=json5;json5.displayName="json5";json5.aliases=[];function json5(Prism){Prism.register(refractorJson);(function(Prism){var string=/("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;Prism.languages.json5=Prism.languages.extend("json",{property:[{pattern:RegExp(string.source+"(?=\\s*:)"),greedy:true},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,alias:"unquoted"}],string:{pattern:string,greedy:true},number:/[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/})})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorJson=__webpack_require__(169);module.exports=jsonp;jsonp.displayName="jsonp";jsonp.aliases=[];function jsonp(Prism){Prism.register(refractorJson);Prism.languages.jsonp=Prism.languages.extend("json",{punctuation:/[{}[\]();,.]/});Prism.languages.insertBefore("jsonp","punctuation",{function:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*\()/})}},function(module,exports,__webpack_require__){"use strict";module.exports=jsstacktrace;jsstacktrace.displayName="jsstacktrace";jsstacktrace.aliases=[];function jsstacktrace(Prism){Prism.languages.jsstacktrace={"error-message":{pattern:/^\S.*/m,alias:"string"},"stack-frame":{pattern:/(^[ \t]+)at[ \t].*/m,lookbehind:true,inside:{"not-my-code":{pattern:/^at[ \t]+(?!\s)(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m,alias:"comment"},filename:{pattern:/(\bat\s+(?!\s)|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,lookbehind:true,alias:"url"},function:{pattern:/(at\s+(?:new\s+)?)(?!\s)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,lookbehind:true,inside:{punctuation:/\./}},punctuation:/[()]/,keyword:/\b(?:at|new)\b/,alias:{pattern:/\[(?:as\s+)?(?!\s)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,alias:"variable"},"line-number":{pattern:/:[0-9]+(?::[0-9]+)?\b/,alias:"number",inside:{punctuation:/:/}}}}}}},function(module,exports,__webpack_require__){"use strict";module.exports=julia;julia.displayName="julia";julia.aliases=[];function julia(Prism){Prism.languages.julia={comment:{pattern:/(^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,lookbehind:true},regex:{pattern:/r"(?:\\.|[^"\\\r\n])*"[imsx]{0,4}/,greedy:true},string:{pattern:/"""[\s\S]+?"""|(?:\b\w+)?"(?:\\.|[^"\\\r\n])*"|(^|[^\w'])'(?:\\[^\r\n][^'\r\n]*|[^\\\r\n])'|`(?:[^\\`\r\n]|\\.)*`/,lookbehind:true,greedy:true},keyword:/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/,boolean:/\b(?:true|false)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+(?:_[\da-f]+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[efp][+-]?\d+(?:_\d+)*)?j?/i,operator:/&&|\|\||[-+*^%÷⊻&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,punctuation:/::?|[{}[\]();,.?]/,constant:/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi)\b|[πℯ]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=keyman;keyman.displayName="keyman";keyman.aliases=[];function keyman(Prism){Prism.languages.keyman={comment:/\bc\s.*/i,function:/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[TKU]_[\w?]+|".+?"|'.+?')\s*\]/i,string:/("|').*?\1/,bold:[/&(?:baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\b/i,/\b(?:bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hotkey|language|layout|message|name|version)\b/i],keyword:/\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|return|reset|save|set|store|use)\b/i,atrule:/\b(?:ansi|begin|unicode|group|using keys|match|nomatch)\b/i,number:/\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,operator:/[+>\\,()]/,tag:/\$(?:keyman|kmfl|weaver|keymanweb|keymanonly):/i}}},function(module,exports,__webpack_require__){"use strict";module.exports=kotlin;kotlin.displayName="kotlin";kotlin.aliases=["kt","kts"];function kotlin(Prism){(function(Prism){Prism.languages.kotlin=Prism.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:true},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:true},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:true,greedy:true}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/});delete Prism.languages.kotlin["class-name"];Prism.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/("""|''')[\s\S]*?\1/,alias:"string"}});Prism.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}});Prism.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}});var interpolation=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:Prism.languages.kotlin}},{pattern:/\$\w+/,alias:"variable"}];Prism.languages.kotlin["string"].inside=Prism.languages.kotlin["raw-string"].inside={interpolation:interpolation};Prism.languages.kt=Prism.languages.kotlin;Prism.languages.kts=Prism.languages.kotlin})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=latex;latex.displayName="latex";latex.aliases=["tex","context"];function latex(Prism){(function(Prism){var funcPattern=/\\(?:[^a-z()[\]]|[a-z*]+)/i;var insideEqu={"equation-command":{pattern:funcPattern,alias:"regex"}};Prism.languages.latex={comment:/%.*/m,cdata:{pattern:/(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:true},equation:[{pattern:/\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:insideEqu,alias:"string"},{pattern:/(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:true,inside:insideEqu,alias:"string"}],keyword:{pattern:/(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:true},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:true},headline:{pattern:/(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:true,alias:"class-name"},function:{pattern:funcPattern,alias:"selector"},punctuation:/[[\]{}&]/};Prism.languages.tex=Prism.languages.latex;Prism.languages.context=Prism.languages.latex})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);var refractorPhp=__webpack_require__(129);module.exports=latte;latte.displayName="latte";latte.aliases=[];function latte(Prism){Prism.register(refractorMarkupTemplating);Prism.register(refractorPhp);(function(Prism){Prism.languages.latte={comment:/^\{\*[\s\S]*/,ld:{pattern:/^\{(?:[=_]|\/?(?!\d|\w+\()\w+)?/,inside:{punctuation:/^\{\/?/,tag:{pattern:/.+/,alias:"important"}}},rd:{pattern:/\}$/,inside:{punctuation:/.+/}},php:{pattern:/\S(?:[\s\S]*\S)?/,alias:"language-php",inside:Prism.languages.php}};var markupLatte=Prism.languages.extend("markup",{});Prism.languages.insertBefore("inside","attr-value",{"n-attr":{pattern:/n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,inside:{"attr-name":{pattern:/^[^\s=]+/,alias:"important"},"attr-value":{pattern:/=[\s\S]+/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:true}],php:{pattern:/\S(?:[\s\S]*\S)?/,inside:Prism.languages.php}}}}}},markupLatte.tag);Prism.hooks.add("before-tokenize",(function(env){if(env.language!=="latte"){return}var lattePattern=/\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*?\}/g;Prism.languages["markup-templating"].buildPlaceholders(env,"latte",lattePattern);env.grammar=markupLatte}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"latte")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=less;less.displayName="less";less.aliases=[];function less(Prism){Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:true}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*\/]/});Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:true,alias:"function"}})}},function(module,exports,__webpack_require__){"use strict";var refractorScheme=__webpack_require__(170);module.exports=lilypond;lilypond.displayName="lilypond";lilypond.aliases=[];function lilypond(Prism){Prism.register(refractorScheme);(function(Prism){var schemeExpression=/\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|<expr>)*\)/.source;var recursivenessLog2=5;for(var i=0;i<recursivenessLog2;i++){schemeExpression=schemeExpression.replace(/<expr>/g,(function(){return schemeExpression}))}schemeExpression=schemeExpression.replace(/<expr>/g,/[^\s\S]/.source);var lilypond=Prism.languages.lilypond={comment:/%(?:(?!\{).*|\{[\s\S]*?%\})/,"embedded-scheme":{pattern:RegExp(/(^|[=\s])#(?:"(?:[^"\\]|\\.)*"|[^\s()"]*(?:[^\s()]|<expr>))/.source.replace(/<expr>/g,(function(){return schemeExpression})),"m"),lookbehind:true,greedy:true,inside:{scheme:{pattern:/^(#)[\s\S]+$/,lookbehind:true,alias:"language-scheme",inside:{"embedded-lilypond":{pattern:/#\{[\s\S]*?#\}/,greedy:true,inside:{punctuation:/^#\{|#\}$/,lilypond:{pattern:/[\s\S]+/,alias:"language-lilypond",inside:null}}},rest:Prism.languages.scheme}},punctuation:/#/}},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:true},"class-name":{pattern:/(\\new\s+)[\w-]+/,lookbehind:true},keyword:{pattern:/\\[a-z][-\w]*/i,inside:{punctuation:/^\\/}},operator:/[=|]|<<|>>/,punctuation:{pattern:/(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\d))|[_^]\.?|[.!])|[{}()[\]<>^~]|\\[()[\]<>\\!]|--|__/,lookbehind:true},number:/\b\d+(?:\/\d+)?\b/};lilypond["embedded-scheme"].inside["scheme"].inside["embedded-lilypond"].inside["lilypond"].inside=lilypond;Prism.languages.ly=lilypond})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=liquid;liquid.displayName="liquid";liquid.aliases=[];function liquid(Prism){Prism.register(refractorMarkupTemplating);Prism.languages.liquid={comment:{pattern:/(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,lookbehind:true},delimiter:{pattern:/^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,alias:"punctuation"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:true},keyword:/\b(?:as|assign|break|continue|cycle|decrement|echo|else|elsif|(?:end)?(?:capture|case|comment|for|form|if|paginate|style|raw|tablerow|unless)|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/,function:[{pattern:/(\|\s*)\w+/,lookbehind:true,alias:"filter"},{pattern:/(\.\s*)(?:first|last|size)/,lookbehind:true}],boolean:/\b(?:true|false|nil)\b/,range:{pattern:/\.\./,alias:"operator"},number:/\b\d+(?:\.\d+)?\b/,operator:/[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|or|contains(?=\s))\b/,punctuation:/[.,\[\]()]/};Prism.hooks.add("before-tokenize",(function(env){var liquidPattern=/\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g;var insideRaw=false;Prism.languages["markup-templating"].buildPlaceholders(env,"liquid",liquidPattern,(function(match){var tagMatch=/^\{%-?\s*(\w+)/.exec(match);if(tagMatch){var tag=tagMatch[1];if(tag==="raw"&&!insideRaw){insideRaw=true;return true}else if(tag==="endraw"){insideRaw=false;return true}}return!insideRaw}))}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"liquid")}))}},function(module,exports,__webpack_require__){"use strict";module.exports=lisp;lisp.displayName="lisp";lisp.aliases=[];function lisp(Prism){(function(Prism){function simple_form(name){return RegExp("(\\()"+name+"(?=[\\s\\)])")}function primitive(pattern){return RegExp("([\\s([])"+pattern+"(?=[\\s)])")}var symbol="[-+*/_~!@$%^=<>{}\\w]+";var marker="&"+symbol;var par="(\\()";var endpar="(?=\\))";var space="(?=\\s)";var language={heading:{pattern:/;;;.*/,alias:["comment","title"]},comment:/;.*/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:true,inside:{argument:/[-A-Z]+(?=[.,\s])/,symbol:RegExp("`"+symbol+"'")}},"quoted-symbol":{pattern:RegExp("#?'"+symbol),alias:["variable","symbol"]},"lisp-property":{pattern:RegExp(":"+symbol),alias:"property"},splice:{pattern:RegExp(",@?"+symbol),alias:["symbol","variable"]},keyword:[{pattern:RegExp(par+"(?:(?:lexical-)?let\\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)"+space),lookbehind:true},{pattern:RegExp(par+"(?:for|do|collect|return|finally|append|concat|in|by)"+space),lookbehind:true}],declare:{pattern:simple_form("declare"),lookbehind:true,alias:"keyword"},interactive:{pattern:simple_form("interactive"),lookbehind:true,alias:"keyword"},boolean:{pattern:primitive("(?:t|nil)"),lookbehind:true},number:{pattern:primitive("[-+]?\\d+(?:\\.\\d*)?"),lookbehind:true},defvar:{pattern:RegExp(par+"def(?:var|const|custom|group)\\s+"+symbol),lookbehind:true,inside:{keyword:/^def[a-z]+/,variable:RegExp(symbol)}},defun:{pattern:RegExp(par+"(?:cl-)?(?:defun\\*?|defmacro)\\s+"+symbol+"\\s+\\([\\s\\S]*?\\)"),lookbehind:true,inside:{keyword:/^(?:cl-)?def\S+/,arguments:null,function:{pattern:RegExp("(^\\s)"+symbol),lookbehind:true},punctuation:/[()]/}},lambda:{pattern:RegExp(par+"lambda\\s+\\(\\s*(?:&?"+symbol+"(?:\\s+&?"+symbol+")*\\s*)?\\)"),lookbehind:true,inside:{keyword:/^lambda/,arguments:null,punctuation:/[()]/}},car:{pattern:RegExp(par+symbol),lookbehind:true},punctuation:[/(?:['`,]?\(|[)\[\]])/,{pattern:/(\s)\.(?=\s)/,lookbehind:true}]};var arg={"lisp-marker":RegExp(marker),rest:{argument:{pattern:RegExp(symbol),alias:"variable"},varform:{pattern:RegExp(par+symbol+"\\s+\\S[\\s\\S]*"+endpar),lookbehind:true,inside:{string:language.string,boolean:language.boolean,number:language.number,symbol:language.symbol,punctuation:/[()]/}}}};var forms="\\S+(?:\\s+\\S+)*";var arglist={pattern:RegExp(par+"[\\s\\S]*"+endpar),lookbehind:true,inside:{"rest-vars":{pattern:RegExp("&(?:rest|body)\\s+"+forms),inside:arg},"other-marker-vars":{pattern:RegExp("&(?:optional|aux)\\s+"+forms),inside:arg},keys:{pattern:RegExp("&key\\s+"+forms+"(?:\\s+&allow-other-keys)?"),inside:arg},argument:{pattern:RegExp(symbol),alias:"variable"},punctuation:/[()]/}};language["lambda"].inside.arguments=arglist;language["defun"].inside.arguments=Prism.util.clone(arglist);language["defun"].inside.arguments.inside.sublist=arglist;Prism.languages.lisp=language;Prism.languages.elisp=language;Prism.languages.emacs=language;Prism.languages["emacs-lisp"]=language})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=livescript;livescript.displayName="livescript";livescript.aliases=[];function livescript(Prism){Prism.languages.livescript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:true},{pattern:/(^|[^\\])#.*/,lookbehind:true}],"interpolated-string":{pattern:/(^|[^"])("""|")(?:\\[\s\S]|(?!\2)[^\\])*\2(?!")/,lookbehind:true,greedy:true,inside:{variable:{pattern:/(^|[^\\])#[a-z_](?:-?[a-z]|[\d_])*/m,lookbehind:true},interpolation:{pattern:/(^|[^\\])#\{[^}]+\}/m,lookbehind:true,inside:{"interpolation-punctuation":{pattern:/^#\{|\}$/,alias:"variable"}}},string:/[\s\S]+/}},string:[{pattern:/('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:true},{pattern:/<\[[\s\S]*?\]>/,greedy:true},/\\[^\s,;\])}]+/],regex:[{pattern:/\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/,greedy:true,inside:{comment:{pattern:/(^|[^\\])#.*/,lookbehind:true}}},{pattern:/\/(?:\[[^\r\n\]]*\]|\\.|[^/\\\r\n\[])+\/[gimyu]{0,5}/,greedy:true}],keyword:{pattern:/(^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m,lookbehind:true},"keyword-operator":{pattern:/(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m,lookbehind:true,alias:"operator"},boolean:{pattern:/(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m,lookbehind:true},argument:{pattern:/(^|(?!\.&\.)[^&])&(?!&)\d*/m,lookbehind:true,alias:"variable"},number:/\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i,identifier:/[a-z_](?:-?[a-z]|[\d_])*/i,operator:[{pattern:/( )\.(?= )/,lookbehind:true},/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[\/?]/],punctuation:/[(){}\[\]|.,:;`]/};Prism.languages.livescript["interpolated-string"].inside["interpolation"].inside.rest=Prism.languages.livescript}},function(module,exports,__webpack_require__){"use strict";module.exports=llvm;llvm.displayName="llvm";llvm.aliases=[];function llvm(Prism){(function(Prism){Prism.languages.llvm={comment:/;.*/,string:{pattern:/"[^"]*"/,greedy:true},boolean:/\b(?:true|false)\b/,variable:/[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,type:{pattern:/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/,alias:"class-name"},keyword:/\b[a-z_][a-z_0-9]*\b/,number:/[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[ML][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/,punctuation:/[{}[\];(),.!*=<>]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=lolcode;lolcode.displayName="lolcode";lolcode.aliases=[];function lolcode(Prism){Prism.languages.lolcode={comment:[/\bOBTW\s[\s\S]*?\sTLDR\b/,/\bBTW.+/],string:{pattern:/"(?::.|[^":])*"/,inside:{variable:/:\{[^}]+\}/,symbol:[/:\([a-f\d]+\)/i,/:\[[^\]]+\]/,/:[)>o":]/]},greedy:true},number:/(?:\B-)?(?:\b\d+(?:\.\d*)?|\B\.\d+)/,symbol:{pattern:/(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/,lookbehind:true,inside:{keyword:/A(?=\s)/}},label:{pattern:/((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,lookbehind:true,alias:"string"},function:{pattern:/((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/,lookbehind:true},keyword:[{pattern:/(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/,lookbehind:true},/'Z(?=\s|,|$)/],boolean:{pattern:/(^|\s)(?:WIN|FAIL)(?=\s|,|$)/,lookbehind:true},variable:{pattern:/(^|\s)IT(?=\s|,|$)/,lookbehind:true},operator:{pattern:/(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/,lookbehind:true},punctuation:/\.{3}|…|,|!/}}},function(module,exports,__webpack_require__){"use strict";module.exports=makefile;makefile.displayName="makefile";makefile.aliases=[];function makefile(Prism){Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:true},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true},builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:true}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=markdown;markdown.displayName="markdown";markdown.aliases=["md"];function markdown(Prism){(function(Prism){var inner=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function createInline(pattern){pattern=pattern.replace(/<inner>/g,(function(){return inner}));return RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+pattern+")")}var tableCell=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source;var tableRow=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return tableCell}));var tableLine=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;Prism.languages.markdown=Prism.languages.extend("markup",{});Prism.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:true,greedy:true,inside:{punctuation:/^---|---$/,"font-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:Prism.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+tableRow+tableLine+"(?:"+tableRow+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+tableRow+tableLine+")(?:"+tableRow+")*$"),lookbehind:true,inside:{"table-data":{pattern:RegExp(tableCell),inside:Prism.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+tableRow+")"+tableLine+"$"),lookbehind:true,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+tableRow+"$"),inside:{"table-header":{pattern:RegExp(tableCell),alias:"important",inside:Prism.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:true,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:true,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:true},"code-language":{pattern:/^(```).+/,lookbehind:true},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:true,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:true,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:true,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:true},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:createInline(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:true,greedy:true,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:true,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:createInline(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:true,greedy:true,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:true,inside:{}},punctuation:/[*_]/}},strike:{pattern:createInline(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:true,greedy:true,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:true,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:true,greedy:true,alias:["code","keyword"]},url:{pattern:createInline(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:true,greedy:true,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:true,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:true},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:true},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:true}}}});["url","bold","italic","strike"].forEach((function(token){["url","bold","italic","strike","code-snippet"].forEach((function(inside){if(token!==inside){Prism.languages.markdown[token].inside.content.inside[inside]=Prism.languages.markdown[inside]}}))}));Prism.hooks.add("after-tokenize",(function(env){if(env.language!=="markdown"&&env.language!=="md"){return}function walkTokens(tokens){if(!tokens||typeof tokens==="string"){return}for(var i=0,l=tokens.length;i<l;i++){var token=tokens[i];if(token.type!=="code"){walkTokens(token.content);continue}var codeLang=token.content[1];var codeBlock=token.content[3];if(codeLang&&codeBlock&&codeLang.type==="code-language"&&codeBlock.type==="code-block"&&typeof codeLang.content==="string"){var lang=codeLang.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");lang=(/[a-z][\w-]*/i.exec(lang)||[""])[0].toLowerCase();var alias="language-"+lang;if(!codeBlock.alias){codeBlock.alias=[alias]}else if(typeof codeBlock.alias==="string"){codeBlock.alias=[codeBlock.alias,alias]}else{codeBlock.alias.push(alias)}}}}walkTokens(env.tokens)}));Prism.hooks.add("wrap",(function(env){if(env.type!=="code-block"){return}var codeLang="";for(var i=0,l=env.classes.length;i<l;i++){var cls=env.classes[i];var match=/language-(.+)/.exec(cls);if(match){codeLang=match[1];break}}var grammar=Prism.languages[codeLang];if(!grammar){if(codeLang&&codeLang!=="none"&&Prism.plugins.autoloader){var id="md-"+(new Date).valueOf()+"-"+Math.floor(Math.random()*1e16);env.attributes["id"]=id;Prism.plugins.autoloader.loadLanguages(codeLang,(function(){var ele=document.getElementById(id);if(ele){ele.innerHTML=Prism.highlight(ele.textContent,Prism.languages[codeLang],codeLang)}}))}}else{var tempContainer=document.createElement("div");tempContainer.innerHTML=env.content.value;var code=tempContainer.textContent;env.content=Prism.highlight(code,grammar,codeLang)}}));Prism.languages.md=Prism.languages.markdown})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=markup;markup.displayName="markup";markup.aliases=["html","mathml","svg","xml","ssml","atom","rss"];function markup(Prism){Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:true,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:true,greedy:true,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:true},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata:/<!\[CDATA\[[\s\S]*?\]\]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:true,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Prism.languages.markup["tag"].inside["attr-value"].inside["entity"]=Prism.languages.markup["entity"];Prism.languages.markup["doctype"].inside["internal-subset"].inside=Prism.languages.markup;Prism.hooks.add("wrap",(function(env){if(env.type==="entity"){env.attributes["title"]=env.content.value.replace(/&amp;/,"&")}}));Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function addInlined(tagName,lang){var includedCdataInside={};includedCdataInside["language-"+lang]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:true,inside:Prism.languages[lang]};includedCdataInside["cdata"]=/^<!\[CDATA\[|\]\]>$/i;var inside={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:includedCdataInside}};inside["language-"+lang]={pattern:/[\s\S]+/,inside:Prism.languages[lang]};var def={};def[tagName]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return tagName})),"i"),lookbehind:true,greedy:true,inside:inside};Prism.languages.insertBefore("markup","cdata",def)}});Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(attrName,lang){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+attrName+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:true,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:true,alias:[lang,"language-"+lang],inside:Prism.languages[lang]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Prism.languages.html=Prism.languages.markup;Prism.languages.mathml=Prism.languages.markup;Prism.languages.svg=Prism.languages.markup;Prism.languages.xml=Prism.languages.extend("markup",{});Prism.languages.ssml=Prism.languages.xml;Prism.languages.atom=Prism.languages.xml;Prism.languages.rss=Prism.languages.xml}},function(module,exports,__webpack_require__){"use strict";module.exports=matlab;matlab.displayName="matlab";matlab.aliases=[];function matlab(Prism){Prism.languages.matlab={comment:[/%\{[\s\S]*?\}%/,/%.+/],string:{pattern:/\B'(?:''|[^'\r\n])*'/,greedy:true},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,keyword:/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/,function:/\b(?!\d)\w+(?=\s*\()/,operator:/\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,punctuation:/\.{3}|[.,;\[\](){}!]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=mel;mel.displayName="mel";mel.aliases=[];function mel(Prism){Prism.languages.mel={comment:/\/\/.*/,code:{pattern:/`(?:\\.|[^\\`\r\n])*`/,greedy:true,alias:"italic",inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"}}},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:true},variable:/\$\w+/,number:/\b0x[\da-fA-F]+\b|\b\d+(?:\.\d*)?|\B\.\d+/,flag:{pattern:/-[^\d\W]\w*/,alias:"operator"},keyword:/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/,function:/\b\w+(?=\()|\b(?:about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|CBG|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|Mayatomr|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\b/,operator:[/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[*\/!=]=?|[%^]/,{pattern:/(^|[^<])<(?!<)/,lookbehind:true},{pattern:/(^|[^>])>(?!>)/,lookbehind:true}],punctuation:/<<|>>|[.,:;?\[\](){}]/};Prism.languages.mel["code"].inside.rest=Prism.languages.mel}},function(module,exports,__webpack_require__){"use strict";module.exports=mizar;mizar.displayName="mizar";mizar.aliases=[];function mizar(Prism){Prism.languages.mizar={comment:/::.+/,keyword:/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/,parameter:{pattern:/\$(?:10|\d)/,alias:"variable"},variable:/\b\w+(?=:)/,number:/(?:\b|-)\d+\b/,operator:/\.\.\.|->|&|\.?=/,punctuation:/\(#|#\)|[,:;\[\](){}]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=mongodb;mongodb.displayName="mongodb";mongodb.aliases=[];function mongodb(Prism){(function(Prism){var operators=["$eq","$gt","$gte","$in","$lt","$lte","$ne","$nin","$and","$not","$nor","$or","$exists","$type","$expr","$jsonSchema","$mod","$regex","$text","$where","$geoIntersects","$geoWithin","$near","$nearSphere","$all","$elemMatch","$size","$bitsAllClear","$bitsAllSet","$bitsAnyClear","$bitsAnySet","$comment","$elemMatch","$meta","$slice","$currentDate","$inc","$min","$max","$mul","$rename","$set","$setOnInsert","$unset","$addToSet","$pop","$pull","$push","$pullAll","$each","$position","$slice","$sort","$bit","$addFields","$bucket","$bucketAuto","$collStats","$count","$currentOp","$facet","$geoNear","$graphLookup","$group","$indexStats","$limit","$listLocalSessions","$listSessions","$lookup","$match","$merge","$out","$planCacheStats","$project","$redact","$replaceRoot","$replaceWith","$sample","$set","$skip","$sort","$sortByCount","$unionWith","$unset","$unwind","$abs","$accumulator","$acos","$acosh","$add","$addToSet","$allElementsTrue","$and","$anyElementTrue","$arrayElemAt","$arrayToObject","$asin","$asinh","$atan","$atan2","$atanh","$avg","$binarySize","$bsonSize","$ceil","$cmp","$concat","$concatArrays","$cond","$convert","$cos","$dateFromParts","$dateToParts","$dateFromString","$dateToString","$dayOfMonth","$dayOfWeek","$dayOfYear","$degreesToRadians","$divide","$eq","$exp","$filter","$first","$floor","$function","$gt","$gte","$hour","$ifNull","$in","$indexOfArray","$indexOfBytes","$indexOfCP","$isArray","$isNumber","$isoDayOfWeek","$isoWeek","$isoWeekYear","$last","$last","$let","$literal","$ln","$log","$log10","$lt","$lte","$ltrim","$map","$max","$mergeObjects","$meta","$min","$millisecond","$minute","$mod","$month","$multiply","$ne","$not","$objectToArray","$or","$pow","$push","$radiansToDegrees","$range","$reduce","$regexFind","$regexFindAll","$regexMatch","$replaceOne","$replaceAll","$reverseArray","$round","$rtrim","$second","$setDifference","$setEquals","$setIntersection","$setIsSubset","$setUnion","$size","$sin","$slice","$split","$sqrt","$stdDevPop","$stdDevSamp","$strcasecmp","$strLenBytes","$strLenCP","$substr","$substrBytes","$substrCP","$subtract","$sum","$switch","$tan","$toBool","$toDate","$toDecimal","$toDouble","$toInt","$toLong","$toObjectId","$toString","$toLower","$toUpper","$trim","$trunc","$type","$week","$year","$zip","$comment","$explain","$hint","$max","$maxTimeMS","$min","$orderby","$query","$returnKey","$showDiskLoc","$natural"];var builtinFunctions=["ObjectId","Code","BinData","DBRef","Timestamp","NumberLong","NumberDecimal","MaxKey","MinKey","RegExp","ISODate","UUID"];operators=operators.map((function(operator){return operator.replace("$","\\$")}));var operatorsSource="(?:"+operators.join("|")+")\\b";Prism.languages.mongodb=Prism.languages.extend("javascript",{});Prism.languages.insertBefore("mongodb","string",{property:{pattern:/(?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:true,inside:{keyword:RegExp("^(['\"])?"+operatorsSource+"(?:\\1)?$")}}});Prism.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&/=]*/i,greedy:true},entity:{pattern:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/,greedy:true}};Prism.languages.insertBefore("mongodb","constant",{builtin:{pattern:RegExp("\\b(?:"+builtinFunctions.join("|")+")\\b"),alias:"keyword"}})})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=monkey;monkey.displayName="monkey";monkey.aliases=[];function monkey(Prism){Prism.languages.monkey={string:/"[^"\r\n]*"/,comment:[{pattern:/^#Rem\s[\s\S]*?^#End/im,greedy:true},{pattern:/'.+/,greedy:true}],preprocessor:{pattern:/(^[ \t]*)#.+/m,lookbehind:true,alias:"comment"},function:/\b\w+(?=\()/,"type-char":{pattern:/(\w)[?%#$]/,lookbehind:true,alias:"variable"},number:{pattern:/((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i,lookbehind:true},keyword:/\b(?:Void|Strict|Public|Private|Property|Bool|Int|Float|String|Array|Object|Continue|Exit|Import|Extern|New|Self|Super|Try|Catch|Eachin|True|False|Extends|Abstract|Final|Select|Case|Default|Const|Local|Global|Field|Method|Function|Class|End|If|Then|Else|ElseIf|EndIf|While|Wend|Repeat|Until|Forever|For|To|Step|Next|Return|Module|Interface|Implements|Inline|Throw|Null)\b/i,operator:/\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i,punctuation:/[.,:;()\[\]]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=moonscript;moonscript.displayName="moonscript";moonscript.aliases=["moon"];function moonscript(Prism){Prism.languages.moonscript={comment:/--.*/,string:[{pattern:/'[^']*'|\[(=*)\[[\s\S]*?\]\1\]/,greedy:true},{pattern:/"[^"]*"/,greedy:true,inside:{interpolation:{pattern:/#\{[^{}]*\}/,inside:{moonscript:{pattern:/(^#\{)[\s\S]+(?=\})/,lookbehind:true,inside:null},"interpolation-punctuation":{pattern:/#\{|\}/,alias:"punctuation"}}}}}],"class-name":[{pattern:/(\b(?:class|extends)[ \t]+)\w+/,lookbehind:true},/\b[A-Z]\w*/],keyword:/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/,variable:/@@?\w*/,property:{pattern:/\b(?!\d)\w+(?=:)|(:)(?!\d)\w+/,lookbehind:true},function:{pattern:/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/,inside:{punctuation:/\./}},boolean:/\b(?:false|true)\b/,number:/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[eE]))(?:[eE][-+]?\d+)?\b|\b(?:0x[a-fA-F\d]+|\d+)(?:U?LL)?\b/,operator:/\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\.\.)=?|[:#^]|\b(?:and|or)\b=?|\b(?:not)\b/,punctuation:/[.,()[\]{}\\]/};Prism.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside=Prism.languages.moonscript;Prism.languages.moon=Prism.languages.moonscript}},function(module,exports,__webpack_require__){"use strict";module.exports=n1ql;n1ql.displayName="n1ql";n1ql.aliases=[];function n1ql(Prism){Prism.languages.n1ql={comment:/\/\*[\s\S]*?(?:$|\*\/)/,parameter:/\$[\w.]+/,string:{pattern:/(["'])(?:\\[\s\S]|(?!\1)[^\\]|\1\1)*\1/,greedy:true},identifier:{pattern:/`(?:\\[\s\S]|[^\\`]|``)*`/,greedy:true},function:/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|IsBitSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i,keyword:/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i,boolean:/\b(?:TRUE|FALSE)\b/i,number:/(?:\b\d+\.|\B\.)\d+e[+\-]?\d+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/%]|!=|==?|\|\||<[>=]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i,punctuation:/[;[\](),.{}:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=n4js;n4js.displayName="n4js";n4js.aliases=["n4jsd"];function n4js(Prism){Prism.languages.n4js=Prism.languages.extend("javascript",{keyword:/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/});Prism.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}});Prism.languages.n4jsd=Prism.languages.n4js}},function(module,exports,__webpack_require__){"use strict";module.exports=nand2tetrisHdl;nand2tetrisHdl.displayName="nand2tetrisHdl";nand2tetrisHdl.aliases=[];function nand2tetrisHdl(Prism){Prism.languages["nand2tetris-hdl"]={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,keyword:/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/,boolean:/\b(?:true|false)\b/,function:/\b[A-Za-z][A-Za-z0-9]*(?=\()/,number:/\b\d+\b/,operator:/=|\.\./,punctuation:/[{}[\];(),:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=naniscript;naniscript.displayName="naniscript";naniscript.aliases=[];function naniscript(Prism){(function(Prism){var expressionDef=/\{[^\r\n\[\]{}]*\}/;var params={"quoted-string":{pattern:/"(?:[^"\\]|\\.)*"/,alias:"operator"},"command-param-id":{pattern:/(\s)\w+:/,lookbehind:true,alias:"property"},"command-param-value":[{pattern:expressionDef,alias:"selector"},{pattern:/([\t ])\S+/,lookbehind:true,greedy:true,alias:"operator"},{pattern:/\S(?:.*\S)?/,alias:"operator"}]};Prism.languages.naniscript={comment:{pattern:/^([\t ]*);.*/m,lookbehind:true},define:{pattern:/^>.+/m,alias:"tag",inside:{value:{pattern:/(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/,lookbehind:true,alias:"operator"},key:{pattern:/(^>)\w+/,lookbehind:true}}},label:{pattern:/^([\t ]*)#[\t ]*\w+[\t ]*$/m,lookbehind:true,alias:"regex"},command:{pattern:/^([\t ]*)@\w+(?=[\t ]|$).*/m,lookbehind:true,alias:"function",inside:{"command-name":/^@\w+/,expression:{pattern:expressionDef,greedy:true,alias:"selector"},"command-params":{pattern:/\s*\S[\s\S]*/,inside:params}}},"generic-text":{pattern:/(^[ \t]*)[^#@>;\s].*/m,lookbehind:true,alias:"punctuation",inside:{"escaped-char":/\\[{}\[\]"]/,expression:{pattern:expressionDef,greedy:true,alias:"selector"},"inline-command":{pattern:/\[[\t ]*\w[^\r\n\[\]]*\]/,greedy:true,alias:"function",inside:{"command-params":{pattern:/(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/,lookbehind:true,inside:params},"command-param-name":{pattern:/^(\[[\t ]*)\w+/,lookbehind:true,alias:"name"},"start-stop-char":/[\[\]]/}}}}};Prism.languages.nani=Prism.languages["naniscript"];Prism.hooks.add("after-tokenize",(function(env){var tokens=env.tokens;tokens.forEach((function(token){if(typeof token!=="string"&&token.type==="generic-text"){var content=getTextContent(token);if(!isBracketsBalanced(content)){token.type="bad-line";token.content=content}}}))}));function isBracketsBalanced(input){var brackets="[]{}";var stack=[];for(var i=0;i<input.length;i++){var bracket=input[i];var bracketsIndex=brackets.indexOf(bracket);if(bracketsIndex!==-1){if(bracketsIndex%2===0){stack.push(bracketsIndex+1)}else if(stack.pop()!==bracketsIndex){return false}}}return stack.length===0}function getTextContent(token){if(typeof token==="string"){return token}else if(Array.isArray(token)){return token.map(getTextContent).join("")}else{return getTextContent(token.content)}}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=nasm;nasm.displayName="nasm";nasm.aliases=[];function nasm(Prism){Prism.languages.nasm={comment:/;.*$/m,string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,label:{pattern:/(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m,lookbehind:true,alias:"function"},keyword:[/\[?BITS (?:16|32|64)\]?/,{pattern:/(^\s*)section\s*[a-z.]+:?/im,lookbehind:true},/(?:extern|global)[^;\r\n]*/i,/(?:CPU|FLOAT|DEFAULT).*$/m],register:{pattern:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s)\b/i,alias:"variable"},number:/(?:\b|(?=\$))(?:0[hx](?:\.[\da-f]+|[\da-f]+(?:\.[\da-f]+)?)(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-\/%<>=&|$!]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=neon;neon.displayName="neon";neon.aliases=[];function neon(Prism){Prism.languages.neon={comment:{pattern:/#.*/,greedy:true},datetime:{pattern:/(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\]}),\s])/,lookbehind:true,alias:"number"},key:{pattern:/(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/,lookbehind:true,alias:"atrule"},number:{pattern:/(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:[eE][+-]?\d+)?)(?=$|[\]}),:=\s])/,lookbehind:true},boolean:{pattern:/(^|[[{(=:,\s])(?:true|false|yes|no)(?=$|[\]}),:=\s])/i,lookbehind:true},null:{pattern:/(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i,lookbehind:true,alias:"keyword"},string:{pattern:/(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2|'[^'\r\n]*'|"(?:\\.|[^\\"\r\n])*")/,lookbehind:true,greedy:true},literal:{pattern:/(^|[[{(=:,\s])(?:[^#"',:=[\]{}()\s`-]|[:-][^"',=[\]{}()\s])(?:[^,:=\]})(\s]|:(?![\s,\]})]|$)|[ \t]+[^#,:=\]})(\s])*/,lookbehind:true,alias:"string"},punctuation:/[,:=[\]{}()-]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=nginx;nginx.displayName="nginx";nginx.aliases=[];function nginx(Prism){(function(Prism){var variable=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;Prism.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:true},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:true,greedy:true,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:true,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:variable}},comment:{pattern:/(\s)#.*/,lookbehind:true,greedy:true},keyword:{pattern:/^\S+/,greedy:true},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:true},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:true},variable:variable}},punctuation:/[{};]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=nim;nim.displayName="nim";nim.aliases=[];function nim(Prism){Prism.languages.nim={comment:/#.*/,string:{pattern:/(?:(?:\b(?!\d)(?:\w|\\x[8-9a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")|'(?:\\(?:\d+|x[\da-fA-F]{2}|.)|[^'])')/,greedy:true},number:/\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,keyword:/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/,function:{pattern:/(?:(?!\d)(?:\w|\\x[8-9a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,inside:{operator:/\*$/}},ignore:{pattern:/`[^`\r\n]+`/,inside:{punctuation:/`/}},operator:{pattern:/(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m,lookbehind:true},punctuation:/[({\[]\.|\.[)}\]]|[`(){}\[\],:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=nix;nix.displayName="nix";nix.aliases=[];function nix(Prism){Prism.languages.nix={comment:/\/\*[\s\S]*?\*\/|#.*/,string:{pattern:/"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,greedy:true,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\])\$\{(?:[^{}]|\{[^}]*\})*\}/,lookbehind:true,inside:{antiquotation:{pattern:/^\$(?=\{)/,alias:"variable"}}}}},url:[/\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/,{pattern:/([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/,lookbehind:true}],antiquotation:{pattern:/\$(?=\{)/,alias:"variable"},number:/\b\d+\b/,keyword:/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/,function:/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/,boolean:/\b(?:true|false)\b/,operator:/[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/,punctuation:/[{}()[\].,:;]/};Prism.languages.nix.string.inside.interpolation.inside.rest=Prism.languages.nix}},function(module,exports,__webpack_require__){"use strict";module.exports=nsis;nsis.displayName="nsis";nsis.aliases=[];function nsis(Prism){Prism.languages.nsis={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|[#;].*)/,lookbehind:true},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true},keyword:{pattern:/(^[\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m,lookbehind:true},property:/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/,constant:/\$\{[\w\.:\^-]+\}|\$\([\w\.:\^-]+\)/i,variable:/\$\w+/i,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[?*\/~^%]/,punctuation:/[{}[\];(),.:]/,important:{pattern:/(^[\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\b/im,lookbehind:true}}}},function(module,exports,__webpack_require__){"use strict";var refractorC=__webpack_require__(91);module.exports=objectivec;objectivec.displayName="objectivec";objectivec.aliases=["objc"];function objectivec(Prism){Prism.register(refractorC);Prism.languages.objectivec=Prism.languages.extend("c",{string:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,keyword:/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/});delete Prism.languages.objectivec["class-name"];Prism.languages.objc=Prism.languages.objectivec}},function(module,exports,__webpack_require__){"use strict";module.exports=ocaml;ocaml.displayName="ocaml";ocaml.aliases=[];function ocaml(Prism){Prism.languages.ocaml={comment:/\(\*[\s\S]*?\*\)/,string:[{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:true},{pattern:/(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i,greedy:true}],number:/\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?[\d_]+)?)/i,directive:{pattern:/\B#\w+/,alias:"important"},label:{pattern:/\B~\w+/,alias:"function"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"variable"},module:{pattern:/\b[A-Z]\w+/,alias:"variable"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,operator:/:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/[(){}\[\]|.,:;]|\b_\b/}}},function(module,exports,__webpack_require__){"use strict";var refractorC=__webpack_require__(91);module.exports=opencl;opencl.displayName="opencl";opencl.aliases=[];function opencl(Prism){Prism.register(refractorC);(function(Prism){Prism.languages.opencl=Prism.languages.extend("c",{keyword:/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|auto|break|case|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\b/,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[fuhl]{0,4}/i,boolean:/\b(?:false|true)\b/,"constant-opencl-kernel":{pattern:/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/,alias:"constant"}});Prism.languages.insertBefore("opencl","class-name",{"builtin-type":{pattern:/\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\b/,alias:"keyword"}});var attributes={"type-opencl-host":{pattern:/\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\b/,alias:"keyword"},"boolean-opencl-host":{pattern:/\bCL_(?:TRUE|FALSE)\b/,alias:"boolean"},"constant-opencl-host":{pattern:/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/,alias:"constant"},"function-opencl-host":{pattern:/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/,alias:"function"}};Prism.languages.insertBefore("c","keyword",attributes);if(Prism.languages.cpp){attributes["type-opencl-host-cpp"]={pattern:/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/,alias:"keyword"};Prism.languages.insertBefore("cpp","keyword",attributes)}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=oz;oz.displayName="oz";oz.aliases=[];function oz(Prism){Prism.languages.oz={comment:/\/\*[\s\S]*?\*\/|%.*/,string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:true},atom:{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:true,alias:"builtin"},keyword:/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/,function:[/\b[a-z][A-Za-z\d]*(?=\()/,{pattern:/(\{)[A-Z][A-Za-z\d]*\b/,lookbehind:true}],number:/\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i,variable:/\b[A-Z][A-Za-z\d]*|`(?:[^`\\]|\\.)+`/,"attr-name":/\b\w+(?=:)/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,punctuation:/[\[\](){}.:;?]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=parigp;parigp.displayName="parigp";parigp.aliases=[];function parigp(Prism){Prism.languages.parigp={comment:/\/\*[\s\S]*?\*\/|\\\\.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"/,greedy:true},keyword:function(){var keywords=["breakpoint","break","dbg_down","dbg_err","dbg_up","dbg_x","forcomposite","fordiv","forell","forpart","forprime","forstep","forsubgroup","forvec","for","iferr","if","local","my","next","return","until","while"];keywords=keywords.map((function(keyword){return keyword.split("").join(" *")})).join("|");return RegExp("\\b(?:"+keywords+")\\b")}(),function:/\b\w(?:[\w ]*\w)?(?= *\()/,number:{pattern:/((?:\. *\. *)?)(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *(?:[+-] *)?\d(?: *\d)*)?/i,lookbehind:true},operator:/\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/,punctuation:/[\[\]{}().,:;|]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=parser;parser.displayName="parser";parser.aliases=[];function parser(Prism){(function(Prism){var parser=Prism.languages.parser=Prism.languages.extend("markup",{keyword:{pattern:/(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/,lookbehind:true},variable:{pattern:/(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:true,inside:{punctuation:/\.|:+/}},function:{pattern:/(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:true,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:true},punctuation:/\.|:+/}},escape:{pattern:/\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i,alias:"builtin"},punctuation:/[\[\](){};]/});parser=Prism.languages.insertBefore("parser","keyword",{"parser-comment":{pattern:/(\s)#.*/,lookbehind:true,alias:"comment"},expression:{pattern:/(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/,greedy:true,lookbehind:true,inside:{string:{pattern:/(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/,lookbehind:true},keyword:parser.keyword,variable:parser.variable,function:parser.function,boolean:/\b(?:true|false)\b/,number:/\b(?:0x[a-f\d]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?)\b/i,escape:parser.escape,operator:/[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/,punctuation:parser.punctuation}}});Prism.languages.insertBefore("inside","punctuation",{expression:parser.expression,keyword:parser.keyword,variable:parser.variable,function:parser.function,escape:parser.escape,"parser-punctuation":{pattern:parser.punctuation,alias:"punctuation"}},parser["tag"].inside["attr-value"])})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=pascal;pascal.displayName="pascal";pascal.aliases=["objectpascal"];function pascal(Prism){Prism.languages.pascal={comment:[/\(\*[\s\S]+?\*\)/,/\{[\s\S]+?\}/,/\/\/.*/],string:{pattern:/(?:'(?:''|[^'\r\n])*'(?!')|#[&$%]?[a-f\d]+)+|\^[a-z]/i,greedy:true},keyword:[{pattern:/(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\b/i,lookbehind:true},{pattern:/(^|[^&])\b(?:dispose|exit|false|new|true)\b/i,lookbehind:true},{pattern:/(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i,lookbehind:true},{pattern:/(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\b/i,lookbehind:true}],number:[/(?:[&%]\d+|\$[a-f\d]+)/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i],operator:[/\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/i,{pattern:/(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/,lookbehind:true}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/};Prism.languages.objectpascal=Prism.languages.pascal}},function(module,exports,__webpack_require__){"use strict";module.exports=pascaligo;pascaligo.displayName="pascaligo";pascaligo.aliases=[];function pascaligo(Prism){(function(Prism){var braces=/\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/.source;var type=/(?:\b\w+(?:<braces>)?|<braces>)/.source.replace(/<braces>/g,(function(){return braces}));var pascaligo=Prism.languages.pascaligo={comment:/\(\*[\s\S]+?\*\)|\/\/.*/,string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1|\^[a-z]/i,greedy:true},"class-name":[{pattern:RegExp(/(\btype\s+\w+\s+is\s+)<type>/.source.replace(/<type>/g,(function(){return type})),"i"),lookbehind:true,inside:null},{pattern:RegExp(/<type>(?=\s+is\b)/.source.replace(/<type>/g,(function(){return type})),"i"),inside:null},{pattern:RegExp(/(:\s*)<type>/.source.replace(/<type>/g,(function(){return type}))),lookbehind:true,inside:null}],keyword:{pattern:/(^|[^&])\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\b/i,lookbehind:true},boolean:{pattern:/(^|[^&])\b(?:True|False)\b/i,lookbehind:true},builtin:{pattern:/(^|[^&])\b(?:bool|int|list|map|nat|record|string|unit)\b/i,lookbehind:true},function:/\b\w+(?=\s*\()/i,number:[/%[01]+|&[0-7]+|\$[a-f\d]+/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?(?:mtz|n)?/i],operator:/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=|]|\b(?:and|mod|or)\b/,punctuation:/\(\.|\.\)|[()\[\]:;,.{}]/};var classNameInside=["comment","keyword","builtin","operator","punctuation"].reduce((function(accum,key){accum[key]=pascaligo[key];return accum}),{});pascaligo["class-name"].forEach((function(p){p.inside=classNameInside}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=pcaxis;pcaxis.displayName="pcaxis";pcaxis.aliases=["px"];function pcaxis(Prism){Prism.languages.pcaxis={string:/"[^"]*"/,keyword:{pattern:/((?:^|;)\s*)[-A-Z\d]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/,lookbehind:true,greedy:true,inside:{keyword:/^[-A-Z\d]+/,language:{pattern:/^(\s*)\[[-\w]+\]/,lookbehind:true,inside:{punctuation:/^\[|\]$/,property:/[-\w]+/}},"sub-key":{pattern:/^(\s*)\S[\s\S]*/,lookbehind:true,inside:{parameter:{pattern:/"[^"]*"/,alias:"property"},punctuation:/^\(|\)$|,/}}}},operator:/=/,tlist:{pattern:/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/,greedy:true,inside:{function:/^TLIST/,property:{pattern:/^(\s*\(\s*)\w+/,lookbehind:true},string:/"[^"]*"/,punctuation:/[(),]/,operator:/-/}},punctuation:/[;,]/,number:{pattern:/(^|\s)\d+(?:\.\d+)?(?!\S)/,lookbehind:true},boolean:/YES|NO/};Prism.languages.px=Prism.languages.pcaxis}},function(module,exports,__webpack_require__){"use strict";module.exports=peoplecode;peoplecode.displayName="peoplecode";peoplecode.aliases=["pcode"];function peoplecode(Prism){Prism.languages.peoplecode={comment:RegExp([/\/\*[\s\S]*?\*\//.source,/\bREM[^;]*;/.source,/<\*(?:[^<*]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[\s\S])*\*>)*\*>/.source,/\/\+[\s\S]*?\+\//.source].join("|")),string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:true},variable:/%\w+/,"function-definition":{pattern:/((?:^|[^\w-])(?:function|method)\s+)\w+/i,lookbehind:true,alias:"function"},"class-name":{pattern:/((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\s+)\w+(?::\w+)*/i,lookbehind:true,inside:{punctuation:/:/}},keyword:/\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|implements|import|instance|if|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\b/i,"operator-keyword":{pattern:/\b(?:and|not|or)\b/i,alias:"operator"},function:/[_a-z]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/\b\d+(?:\.\d+)?\b/,operator:/<>|[<>]=?|!=|\*\*|[-+*/|=@]/,punctuation:/[:.;,()[\]]/};Prism.languages.pcode=Prism.languages.peoplecode}},function(module,exports,__webpack_require__){"use strict";module.exports=perl;perl.displayName="perl";perl.aliases=[];function perl(Prism){Prism.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:true},{pattern:/(^|[^\\$])#.*/,lookbehind:true}],string:[{pattern:/\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:true},{pattern:/\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:true},{pattern:/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/,greedy:true},{pattern:/\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/,greedy:true},{pattern:/\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/,greedy:true},{pattern:/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/,greedy:true},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:true},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:true}],regex:[{pattern:/\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:true},{pattern:/\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:true},{pattern:/\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/,greedy:true},{pattern:/\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/,greedy:true},{pattern:/\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/,greedy:true},{pattern:/\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/,greedy:true},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:true,greedy:true},{pattern:/(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:true,greedy:true},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/,lookbehind:true,greedy:true},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/,lookbehind:true,greedy:true},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/,lookbehind:true,greedy:true},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/,lookbehind:true,greedy:true},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/,greedy:true}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/i,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*>|\b_\b/,alias:"symbol"},vstring:{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/sub \w+/i,inside:{keyword:/sub/}},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/,punctuation:/[{}[\];(),:]/}}},function(module,exports,__webpack_require__){"use strict";var refractorPhp=__webpack_require__(129);module.exports=phpExtras;phpExtras.displayName="phpExtras";phpExtras.aliases=[];function phpExtras(Prism){Prism.register(refractorPhp);Prism.languages.insertBefore("php","variable",{this:/\$this\b/,global:/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/static|self|parent/,punctuation:/::|\\/}}})}},function(module,exports,__webpack_require__){"use strict";var refractorPhp=__webpack_require__(129);var refractorJavadoclike=__webpack_require__(128);module.exports=phpdoc;phpdoc.displayName="phpdoc";phpdoc.aliases=[];function phpdoc(Prism){Prism.register(refractorPhp);Prism.register(refractorJavadoclike);(function(Prism){var typeExpression=/(?:\b[a-zA-Z]\w*|[|\\[\]])+/.source;Prism.languages.phpdoc=Prism.languages.extend("javadoclike",{parameter:{pattern:RegExp("(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:"+typeExpression+"\\s+)?)\\$\\w+"),lookbehind:true}});Prism.languages.insertBefore("phpdoc","keyword",{"class-name":[{pattern:RegExp("(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)"+typeExpression),lookbehind:true,inside:{keyword:/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/,punctuation:/[|\\[\]()]/}}]});Prism.languages.javadoclike.addSupport("php",Prism.languages.phpdoc)})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorSql=__webpack_require__(171);module.exports=plsql;plsql.displayName="plsql";plsql.aliases=[];function plsql(Prism){Prism.register(refractorSql);(function(Prism){var plsql=Prism.languages.plsql=Prism.languages.extend("sql",{comment:[/\/\*[\s\S]*?\*\//,/--.*/]});var keyword=plsql["keyword"];if(!Array.isArray(keyword)){keyword=plsql["keyword"]=[keyword]}keyword.unshift(/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i);var operator=plsql["operator"];if(!Array.isArray(operator)){operator=plsql["operator"]=[operator]}operator.unshift(/:=/)})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=powerquery;powerquery.displayName="powerquery";powerquery.aliases=[];function powerquery(Prism){Prism.languages.powerquery={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/).*)/,lookbehind:true},"quoted-identifier":{pattern:/#"(?:[^"\r\n]|"")*"(?!")/,greedy:true,alias:"variable"},string:{pattern:/"(?:[^"\r\n]|"")*"(?!")/,greedy:true},constant:[/\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/,/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/,/\bOccurrence\.(?:First|Last|All)\b/,/\bOrder\.(?:Ascending|Descending)\b/,/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/,/\bMissingField\.(?:Error|Ignore|UseNull)\b/,/\bQuoteStyle\.(?:Csv|None)\b/,/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/,/\bGroupKind\.(?:Global|Local)\b/,/\bExtraValues\.(?:List|Ignore|Error)\b/,/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/,/\bJoinSide\.(?:Left|Right)\b/,/\bPrecision\.(?:Double|Decimal)\b/,/\bRelativePosition\.From(?:End|Start)\b/,/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/,/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/,/\bnull\b/],boolean:/\b(?:true|false)\b/,keyword:/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/,function:{pattern:/(^|[^#\w.])(?!\d)[\w.]+(?=\s*\()/,lookbehind:true},"data-type":{pattern:/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/,alias:"variable"},number:{pattern:/\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+)?\b/i,lookbehind:true},operator:/[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/,punctuation:/[,;\[\](){}]/};Prism.languages.pq=Prism.languages["powerquery"];Prism.languages.mscript=Prism.languages["powerquery"]}},function(module,exports,__webpack_require__){"use strict";module.exports=powershell;powershell.displayName="powershell";powershell.aliases=[];function powershell(Prism){(function(Prism){var powershell=Prism.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:true},{pattern:/(^|[^`])#.*/,lookbehind:true}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:true,inside:{function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:true,inside:{}}}},{pattern:/'(?:[^']|'')*'/,greedy:true}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:true|false)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(\W?)(?:!|-(?:eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match|Contains|In)|Replace|Join|is(?:Not)?|as)\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:true},punctuation:/[|{}[\];(),.]/};var stringInside=powershell.string[0].inside;stringInside.boolean=powershell.boolean;stringInside.variable=powershell.variable;stringInside.function.inside=powershell})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=processing;processing.displayName="processing";processing.aliases=[];function processing(Prism){Prism.languages.processing=Prism.languages.extend("clike",{keyword:/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/});Prism.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|[A-Z]\w*)\b/,alias:"variable"}});Prism.languages.processing["function"]=/\b\w+(?=\s*\()/;Prism.languages.processing["class-name"].alias="variable"}},function(module,exports,__webpack_require__){"use strict";module.exports=prolog;prolog.displayName="prolog";prolog.aliases=[];function prolog(Prism){Prism.languages.prolog={comment:[/%.+/,/\/\*[\s\S]*?\*\//],string:{pattern:/(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true},builtin:/\b(?:fx|fy|xf[xy]?|yfx?)\b/,variable:/\b[A-Z_]\w*/,function:/\b[a-z]\w*(?:(?=\()|\/\d+)/,number:/\b\d+(?:\.\d*)?/,operator:/[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,punctuation:/[(){}\[\],]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=properties;properties.displayName="properties";properties.aliases=[];function properties(Prism){Prism.languages.properties={comment:/^[ \t]*[#!].*$/m,"attr-value":{pattern:/(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?: *[=:] *(?! )| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,lookbehind:true},"attr-name":/^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?= *[=:]| )/m,punctuation:/[=:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=protobuf;protobuf.displayName="protobuf";protobuf.aliases=[];function protobuf(Prism){(function(Prism){var builtinTypes=/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/;Prism.languages.protobuf=Prism.languages.extend("clike",{"class-name":[{pattern:/(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/,lookbehind:true},{pattern:/(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s*\))/,lookbehind:true}],keyword:/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/,function:/\b[a-z_]\w*(?=\s*\()/i});Prism.languages.insertBefore("protobuf","operator",{map:{pattern:/\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/[<>.,]/,builtin:builtinTypes}},builtin:builtinTypes,"positional-class-name":{pattern:/(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/\./}},annotation:{pattern:/(\[\s*)[a-z_]\w*(?=\s*=)/i,lookbehind:true}})})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=pug;pug.displayName="pug";pug.aliases=[];function pug(Prism){(function(Prism){Prism.languages.pug={comment:{pattern:/(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ].+)*/m,lookbehind:true},"multiline-script":{pattern:/(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:true,inside:Prism.languages.javascript},filter:{pattern:/(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:true,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},"multiline-plain-text":{pattern:/(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:true},markup:{pattern:/(^[\t ]*)<.+/m,lookbehind:true,inside:Prism.languages.markup},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:true},"flow-control":{pattern:/(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,lookbehind:true,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:if|unless|else|case|when|default|while)\b/,alias:"keyword"},rest:Prism.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,lookbehind:true},mixin:[{pattern:/(^[\t ]*)mixin .+/m,lookbehind:true,inside:{keyword:/^mixin/,function:/\w+(?=\s*\(|\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\t ]*)\+.+/m,lookbehind:true,inside:{name:{pattern:/^\+\w+/,alias:"function"},rest:Prism.languages.javascript}}],script:{pattern:/(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]).+/m,lookbehind:true,inside:Prism.languages.javascript},"plain-text":{pattern:/(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]).+/m,lookbehind:true},tag:{pattern:/(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,lookbehind:true,inside:{attributes:[{pattern:/&[^(]+\([^)]+\)/,inside:Prism.languages.javascript},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*(?!\s))(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:true,inside:Prism.languages.javascript},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/,"attr-id":/#[\w\-]+/,"attr-class":/\.[\w\-]+/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:true,inside:Prism.languages.javascript}],punctuation:/[.\-!=|]+/};var filter_pattern=/(^([\t ]*)):<filter_name>(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/.source;var filters=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","less","livescript","markdown",{filter:"sass",language:"scss"},"stylus"];var all_filters={};for(var i=0,l=filters.length;i<l;i++){var filter=filters[i];filter=typeof filter==="string"?{filter:filter,language:filter}:filter;if(Prism.languages[filter.language]){all_filters["filter-"+filter.filter]={pattern:RegExp(filter_pattern.replace("<filter_name>",(function(){return filter.filter})),"m"),lookbehind:true,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},rest:Prism.languages[filter.language]}}}}Prism.languages.insertBefore("pug","filter",all_filters)})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=puppet;puppet.displayName="puppet";puppet.aliases=[];function puppet(Prism){(function(Prism){Prism.languages.puppet={heredoc:[{pattern:/(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:true,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:true,greedy:true,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/,alias:"string",inside:{punctuation:{pattern:/(\().+?(?=\))/,lookbehind:true}}}],"multiline-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:true,greedy:true,alias:"comment"},regex:{pattern:/((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,lookbehind:true,greedy:true,inside:{"extended-regex":{pattern:/^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/,inside:{comment:/#.*/}}}},comment:{pattern:/(^|[^\\])#.*/,lookbehind:true,greedy:true},string:{pattern:/(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|\$(?!\{)|(?!\1)[^\\$]|\\[\s\S])*\1/,greedy:true,inside:{"double-quoted":{pattern:/^"[\s\S]*"$/,inside:{}}}},variable:{pattern:/\$(?:::)?\w+(?:::\w+)*/,inside:{punctuation:/::/}},"attr-name":/(?:\b\w+|\*)(?=\s*=>)/,function:[{pattern:/(\.)(?!\d)\w+/,lookbehind:true},/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/],number:/\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,boolean:/\b(?:true|false)\b/,keyword:/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,datatype:{pattern:/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/,alias:"symbol"},operator:/=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/,punctuation:/[\[\]{}().,;]|:+/};var interpolation=[{pattern:/(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/,lookbehind:true,inside:{"short-variable":{pattern:/(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/,lookbehind:true,alias:"variable",inside:{punctuation:/::/}},delimiter:{pattern:/^\$/,alias:"variable"},rest:Prism.languages.puppet}},{pattern:/(^|[^\\])\$(?:::)?\w+(?:::\w+)*/,lookbehind:true,alias:"variable",inside:{punctuation:/::/}}];Prism.languages.puppet["heredoc"][0].inside.interpolation=interpolation;Prism.languages.puppet["string"].inside["double-quoted"].inside.interpolation=interpolation})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=pure;pure.displayName="pure";pure.aliases=[];function pure(Prism){(function(Prism){Prism.languages.pure={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:true},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:true},/#!.+/],"inline-lang":{pattern:/%<[\s\S]+?%>/,greedy:true,inside:{lang:{pattern:/(^%< *)-\*-.+?-\*-/,lookbehind:true,alias:"comment"},delimiter:{pattern:/^%<.*|%>$/,alias:"punctuation"}}},string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:true},number:{pattern:/((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?L?)/i,lookbehind:true},keyword:/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/,function:/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/,special:{pattern:/\b__[a-z]+__\b/i,alias:"builtin"},operator:/(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/,punctuation:/[(){}\[\];,|]/};var inlineLanguages=["c",{lang:"c++",alias:"cpp"},"fortran"];var inlineLanguageRe=/%< *-\*- *<lang>\d* *-\*-[\s\S]+?%>/.source;inlineLanguages.forEach((function(lang){var alias=lang;if(typeof lang!=="string"){alias=lang.alias;lang=lang.lang}if(Prism.languages[alias]){var o={};o["inline-lang-"+alias]={pattern:RegExp(inlineLanguageRe.replace("<lang>",lang.replace(/([.+*?\/\\(){}\[\]])/g,"\\$1")),"i"),inside:Prism.util.clone(Prism.languages.pure["inline-lang"].inside)};o["inline-lang-"+alias].inside.rest=Prism.util.clone(Prism.languages[alias]);Prism.languages.insertBefore("pure","inline-lang",o)}}));if(Prism.languages.c){Prism.languages.pure["inline-lang"].inside.rest=Prism.util.clone(Prism.languages.c)}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=purebasic;purebasic.displayName="purebasic";purebasic.aliases=[];function purebasic(Prism){Prism.languages.purebasic=Prism.languages.extend("clike",{comment:/;.*/,keyword:/\b(?:declarecdll|declaredll|compilerselect|compilercase|compilerdefault|compilerendselect|compilererror|enableexplicit|disableexplicit|not|and|or|xor|calldebugger|debuglevel|enabledebugger|disabledebugger|restore|read|includepath|includebinary|threaded|runtime|with|endwith|structureunion|endstructureunion|align|newlist|newmap|interface|endinterface|extends|enumeration|endenumeration|swap|foreach|continue|fakereturn|goto|gosub|return|break|module|endmodule|declaremodule|enddeclaremodule|declare|declarec|prototype|prototypec|enableasm|disableasm|dim|redim|data|datasection|enddatasection|to|procedurereturn|debug|default|case|select|endselect|as|import|endimport|importc|compilerif|compilerelse|compilerendif|compilerelseif|end|structure|endstructure|while|wend|for|next|step|if|else|elseif|endif|repeat|until|procedure|proceduredll|procedurec|procedurecdll|endprocedure|protected|shared|static|global|define|includefile|xincludefile|macro|endmacro)\b/i,function:/\b\w+(?:\.\w+)?\s*(?=\()/,number:/(?:\$[\da-f]+|\b-?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)\b/i,operator:/(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*/@]/});Prism.languages.insertBefore("purebasic","keyword",{tag:/#\w+/,asm:{pattern:/(^[\t ]*)!.*/m,lookbehind:true,alias:"tag",inside:{comment:/;.*/,string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true},"label-reference-anonymous":{pattern:/(!\s*j[a-z]+\s+)@[fb]/i,lookbehind:true,alias:"fasm-label"},"label-reference-addressed":{pattern:/(!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,lookbehind:true,alias:"fasm-label"},function:{pattern:/^([\t ]*!\s*)[\da-z]+(?=\s|$)/im,lookbehind:true},"function-inline":{pattern:/(:\s*)[\da-z]+(?=\s)/i,lookbehind:true,alias:"function"},label:{pattern:/^([\t ]*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,lookbehind:true,alias:"fasm-label"},keyword:[/\b(?:extern|global)\b[^;\r\n]*/i,/\b(?:CPU|FLOAT|DEFAULT)\b.*/],register:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s|mm\d+)\b/i,number:/(?:\b|-|(?=\$))(?:0[hx](?:[\da-f]*\.)?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-/%<>=&|$!,.:]/}}});delete Prism.languages.purebasic["class-name"];delete Prism.languages.purebasic["boolean"];Prism.languages.pbfasm=Prism.languages["purebasic"]}},function(module,exports,__webpack_require__){"use strict";var refractorHaskell=__webpack_require__(166);module.exports=purescript;purescript.displayName="purescript";purescript.aliases=["purs"];function purescript(Prism){Prism.register(refractorHaskell);Prism.languages.purescript=Prism.languages.extend("haskell",{keyword:/\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:true,inside:{keyword:/\b(?:import|as|hiding)\b/}},builtin:/\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\b/});Prism.languages.purs=Prism.languages.purescript}},function(module,exports,__webpack_require__){"use strict";module.exports=python;python.displayName="python";python.aliases=["py"];function python(Prism){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:true},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:true,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:true,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:true},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i,greedy:true,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:true},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:true},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:true},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/im,lookbehind:true,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/};Prism.languages.python["string-interpolation"].inside["interpolation"].inside.rest=Prism.languages.python;Prism.languages.py=Prism.languages.python}},function(module,exports,__webpack_require__){"use strict";module.exports=q;q.displayName="q";q.aliases=[];function q(Prism){Prism.languages.q={string:/"(?:\\.|[^"\\\r\n])*"/,comment:[{pattern:/([\t )\]}])\/.*/,lookbehind:true,greedy:true},{pattern:/(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r(?!\n)))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,lookbehind:true,greedy:true},{pattern:/^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,greedy:true},{pattern:/^#!.+/m,greedy:true}],symbol:/`(?::\S+|[\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/,alias:"number"},number:/\b(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\da-fA-F]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?[hjfeb]?)/,keyword:/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,adverb:{pattern:/['\/\\]:?|\beach\b/,alias:"function"},verb:{pattern:/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/,alias:"operator"},punctuation:/[(){}\[\];.]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=qml;qml.displayName="qml";qml.aliases=[];function qml(Prism){(function(Prism){var jsString=/"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source;var jsComment=/\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source;var jsExpr=/(?:[^\\()[\]{}"'/]|<string>|\/(?![*/])|<comment>|\(<expr>*\)|\[<expr>*\]|\{<expr>*\}|\\[\s\S])/.source.replace(/<string>/g,(function(){return jsString})).replace(/<comment>/g,(function(){return jsComment}));for(var i=0;i<2;i++){jsExpr=jsExpr.replace(/<expr>/g,(function(){return jsExpr}))}jsExpr=jsExpr.replace(/<expr>/g,"[^\\s\\S]");Prism.languages.qml={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:true},"javascript-function":{pattern:RegExp(/((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(<js>*\)\s*\{<js>*\}/.source.replace(/<js>/g,(function(){return jsExpr})),"m"),lookbehind:true,greedy:true,alias:"language-javascript",inside:Prism.languages.javascript},"class-name":{pattern:/((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m,lookbehind:true},property:[{pattern:/((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:true},{pattern:/((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:true,inside:{keyword:/^property/,property:/\w+(?:\.\w+)*/}}],"javascript-expression":{pattern:RegExp(/(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(/<js>/g,(function(){return jsExpr})),"m"),lookbehind:true,greedy:true,alias:"language-javascript",inside:Prism.languages.javascript},string:/"(?:\\.|[^\\"\r\n])*"/,keyword:/\b(?:as|import|on)\b/,punctuation:/[{}[\]:;,]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=qore;qore.displayName="qore";qore.aliases=[];function qore(Prism){Prism.languages.qore=Prism.languages.extend("clike",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/,lookbehind:true},string:{pattern:/("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:true},keyword:/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/,boolean:/\b(?:true|false)\b/i,function:/\$?\b(?!\d)\w+(?=\()/,number:/\b(?:0b[01]+|0x(?:[\da-f]*\.)?[\da-fp\-]+|(?:\d+(?:\.\d+)?|\.\d+)(?:e\d+)?[df]|(?:\d+(?:\.\d+)?|\.\d+))\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,lookbehind:true},variable:/\$(?!\d)\w+\b/})}},function(module,exports,__webpack_require__){"use strict";module.exports=r;r.displayName="r";r.aliases=[];function r(Prism){Prism.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:TRUE|FALSE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:NaN|Inf)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}},function(module,exports,__webpack_require__){"use strict";var refractorScheme=__webpack_require__(170);module.exports=racket;racket.displayName="racket";racket.aliases=["rkt"];function racket(Prism){Prism.register(refractorScheme);Prism.languages.racket=Prism.languages.extend("scheme",{"lambda-parameter":{pattern:/([(\[]lambda\s+[(\[])[^()\[\]'\s]+/,lookbehind:true}});Prism.languages.insertBefore("racket","string",{lang:{pattern:/^#lang.+/m,greedy:true,alias:"keyword"}});Prism.languages.rkt=Prism.languages.racket}},function(module,exports,__webpack_require__){"use strict";module.exports=reason;reason.displayName="reason";reason.aliases=[];function reason(Prism){Prism.languages.reason=Prism.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:true},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/});Prism.languages.insertBefore("reason","class-name",{character:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,alias:"string"},constructor:{pattern:/\b[A-Z]\w*\b(?!\s*\.)/,alias:"variable"},label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}});delete Prism.languages.reason.function}},function(module,exports,__webpack_require__){"use strict";module.exports=regex;regex.displayName="regex";regex.aliases=[];function regex(Prism){(function(Prism){var specialEscape={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"};var escape=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|c[a-zA-Z]|0[0-7]{0,2}|[123][0-7]{2}|.)/;var charClass={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"};var charClassWithoutDot={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"};var rangeChar="(?:[^\\\\-]|"+escape.source+")";var range=RegExp(rangeChar+"-"+rangeChar);var groupName={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:true,alias:"variable"};Prism.languages.regex={charset:{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:true,inside:{"charset-negation":{pattern:/(^\[)\^/,lookbehind:true,alias:"operator"},"charset-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:range,inside:{escape:escape,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":specialEscape,charclass:charClassWithoutDot,escape:escape}},"special-escape":specialEscape,charclass:charClass,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":groupName}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:escape,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":groupName}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=renpy;renpy.displayName="renpy";renpy.aliases=["rpy"];function renpy(Prism){Prism.languages.renpy={comment:{pattern:/(^|[^\\])#.+/,lookbehind:true},string:{pattern:/("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2|(?:^#?(?:[0-9a-fA-F]{6}|(?:[0-9a-fA-F]){3})$)/m,greedy:true},function:/\b[a-z_]\w*(?=\()/i,property:/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/,tag:/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/,keyword:/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/,boolean:/\b(?:[Tt]rue|[Ff]alse)\b/,number:/(?:\b(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?)|\B\.\d+)(?:e[+-]?\d+)?j?/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not|with|at)\b/,punctuation:/[{}[\];(),.:]/};Prism.languages.rpy=Prism.languages.renpy}},function(module,exports,__webpack_require__){"use strict";module.exports=rest;rest.displayName="rest";rest.aliases=[];function rest(Prism){Prism.languages.rest={table:[{pattern:/(^[\t ]*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1[+|].+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/m,lookbehind:true,inside:{punctuation:/\||(?:\+[=-]+)+\+/}},{pattern:/(^[\t ]*)=+ [ =]*=(?:(?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1=+ [ =]*=(?=(?:\r?\n|\r){2}|\s*$)/m,lookbehind:true,inside:{punctuation:/[=-]+/}}],"substitution-def":{pattern:/(^[\t ]*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m,lookbehind:true,inside:{substitution:{pattern:/^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/,alias:"attr-value",inside:{punctuation:/^\||\|$/}},directive:{pattern:/( )(?! )[^:]+::/,lookbehind:true,alias:"function",inside:{punctuation:/::$/}}}},"link-target":[{pattern:/(^[\t ]*\.\. )\[[^\]]+\]/m,lookbehind:true,alias:"string",inside:{punctuation:/^\[|\]$/}},{pattern:/(^[\t ]*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m,lookbehind:true,alias:"string",inside:{punctuation:/^_|:$/}}],directive:{pattern:/(^[\t ]*\.\. )[^:]+::/m,lookbehind:true,alias:"function",inside:{punctuation:/::$/}},comment:{pattern:/(^[\t ]*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m,lookbehind:true},title:[{pattern:/^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m,inside:{punctuation:/^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}},{pattern:/(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/,lookbehind:true,inside:{punctuation:/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}}],hr:{pattern:/((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/,lookbehind:true,alias:"punctuation"},field:{pattern:/(^[\t ]*):[^:\r\n]+:(?= )/m,lookbehind:true,alias:"attr-name"},"command-line-option":{pattern:/(^[\t ]*)(?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im,lookbehind:true,alias:"symbol"},"literal-block":{pattern:/::(?:\r?\n|\r){2}([ \t]+)(?![ \t]).+(?:(?:\r?\n|\r)\1.+)*/,inside:{"literal-block-punctuation":{pattern:/^::/,alias:"punctuation"}}},"quoted-literal-block":{pattern:/::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/,inside:{"literal-block-punctuation":{pattern:/^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\1*)/m,alias:"punctuation"}}},"list-bullet":{pattern:/(^[\t ]*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im,lookbehind:true,alias:"punctuation"},"doctest-block":{pattern:/(^[\t ]*)>>> .+(?:(?:\r?\n|\r).+)*/m,lookbehind:true,inside:{punctuation:/^>>>/}},inline:[{pattern:/(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s)(?:(?!\2).)*\S\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m,lookbehind:true,inside:{bold:{pattern:/(^\*\*).+(?=\*\*$)/,lookbehind:true},italic:{pattern:/(^\*).+(?=\*$)/,lookbehind:true},"inline-literal":{pattern:/(^``).+(?=``$)/,lookbehind:true,alias:"symbol"},role:{pattern:/^:[^:]+:|:[^:]+:$/,alias:"function",inside:{punctuation:/^:|:$/}},"interpreted-text":{pattern:/(^`).+(?=`$)/,lookbehind:true,alias:"attr-value"},substitution:{pattern:/(^\|).+(?=\|$)/,lookbehind:true,alias:"attr-value"},punctuation:/\*\*?|``?|\|/}}],link:[{pattern:/\[[^\[\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/,alias:"string",inside:{punctuation:/^\[|\]_$/}},{pattern:/(?:\b[a-z\d]+(?:[_.:+][a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i,alias:"string",inside:{punctuation:/^_?`|`$|`?_?_$/}}],punctuation:{pattern:/(^[\t ]*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m,lookbehind:true}}}},function(module,exports,__webpack_require__){"use strict";module.exports=rip;rip.displayName="rip";rip.aliases=[];function rip(Prism){Prism.languages.rip={comment:/#.*/,keyword:/(?:=>|->)|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/,builtin:/@|\bSystem\b/,boolean:/\b(?:true|false)\b/,date:/\b\d{4}-\d{2}-\d{2}\b/,time:/\b\d{2}:\d{2}:\d{2}\b/,datetime:/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,character:/\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,regex:{pattern:/(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:true,greedy:true},symbol:/:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true},number:/[+-]?\b(?:\d+\.\d+|\d+)\b/,punctuation:/(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,reference:/[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/}}},function(module,exports,__webpack_require__){"use strict";module.exports=roboconf;roboconf.displayName="roboconf";roboconf.aliases=[];function roboconf(Prism){Prism.languages.roboconf={comment:/#.*/,keyword:{pattern:/(^|\s)(?:(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{)|(?:external|import)\b)/,lookbehind:true},component:{pattern:/[\w-]+(?=[ \t]*\{)/,alias:"variable"},property:/[\w.-]+(?=[ \t]*:)/,value:{pattern:/(=[ \t]*(?![ \t]))[^,;]+/,lookbehind:true,alias:"attr-value"},optional:{pattern:/\(optional\)/,alias:"builtin"},wildcard:{pattern:/(\.)\*/,lookbehind:true,alias:"operator"},punctuation:/[{},.;:=]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=robotframework;robotframework.displayName="robotframework";robotframework.aliases=[];function robotframework(Prism){(function(Prism){var comment={pattern:/(^[ \t]*| {2}|\t)#.*/m,lookbehind:true,greedy:true};var variable={pattern:/((?:^|[^\\])(?:\\{2})*)[$@&%]\{(?:[^{}\r\n]|\{[^{}\r\n]*\})*\}/,lookbehind:true,inside:{punctuation:/^[$@&%]\{|\}$/}};function createSection(name,inside){var extendecInside={};extendecInside["section-header"]={pattern:/^ ?\*{3}.+?\*{3}/,alias:"keyword"};for(var token in inside){extendecInside[token]=inside[token]}extendecInside["tag"]={pattern:/([\r\n](?: {2}|\t)[ \t]*)\[[-\w]+\]/,lookbehind:true,inside:{punctuation:/\[|\]/}};extendecInside["variable"]=variable;extendecInside["comment"]=comment;return{pattern:RegExp(/^ ?\*{3}[ \t]*<name>[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/.source.replace(/<name>/g,(function(){return name})),"im"),alias:"section",inside:extendecInside}}var docTag={pattern:/(\[Documentation\](?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:true,alias:"string"};var testNameLike={pattern:/([\r\n] ?)(?!#)(?:\S(?:[ \t]\S)*)+/,lookbehind:true,alias:"function",inside:{variable:variable}};var testPropertyLike={pattern:/([\r\n](?: {2}|\t)[ \t]*)(?!\[|\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:true,inside:{variable:variable}};Prism.languages["robotframework"]={settings:createSection("Settings",{documentation:{pattern:/([\r\n] ?Documentation(?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:true,alias:"string"},property:{pattern:/([\r\n] ?)(?!\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:true}}),variables:createSection("Variables"),"test-cases":createSection("Test Cases",{"test-name":testNameLike,documentation:docTag,property:testPropertyLike}),keywords:createSection("Keywords",{"keyword-name":testNameLike,documentation:docTag,property:testPropertyLike}),tasks:createSection("Tasks",{"task-name":testNameLike,documentation:docTag,property:testPropertyLike}),comment:comment};Prism.languages.robot=Prism.languages["robotframework"]})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=rust;rust.displayName="rust";rust.aliases=[];function rust(Prism){(function(Prism){var multilineComment=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source;for(var i=0;i<2;i++){multilineComment=multilineComment.replace(/<self>/g,(function(){return multilineComment}))}multilineComment=multilineComment.replace(/<self>/g,(function(){return/[^\s\S]/.source}));Prism.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+multilineComment),lookbehind:true,greedy:true},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:true,greedy:true}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:true},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:true,alias:"string"},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:true,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:true,greedy:true,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:true,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:true,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|union)\s+)\w+/,lookbehind:true,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:true,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:true,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:[ui](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/};Prism.languages.rust["closure-params"].inside.rest=Prism.languages.rust;Prism.languages.rust["attribute"].inside["string"]=Prism.languages.rust["string"]})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=sas;sas.displayName="sas";sas.aliases=[];function sas(Prism){(function(Prism){var stringPattern=/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))/.source;var number=/\b(?:\d[\da-f]*x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i;var numericConstant={pattern:RegExp(stringPattern+"[bx]"),alias:"number"};var macroVariable={pattern:/&[a-z_]\w*/i};var macroKeyword={pattern:/((?:^|\s|=|\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i,lookbehind:true,alias:"keyword"};var step={pattern:/(^|\s)(?:proc\s+\w+|quit|run|data(?!=))\b/i,alias:"keyword",lookbehind:true};var comment=[/\/\*[\s\S]*?\*\//,{pattern:/(^[ \t]*|;\s*)\*[^;]*;/m,lookbehind:true}];var string={pattern:RegExp(stringPattern),greedy:true};var punctuation=/[$%@.(){}\[\];,\\]/;var func={pattern:/%?\b\w+(?=\()/,alias:"keyword"};var args={function:func,"arg-value":{pattern:/(=\s*)[A-Z\.]+/i,lookbehind:true},operator:/=/,"macro-variable":macroVariable,arg:{pattern:/[A-Z]+/i,alias:"keyword"},number:number,"numeric-constant":numericConstant,punctuation:punctuation,string:string};var format={pattern:/\b(?:format|put)\b=?[\w'$.]+/im,inside:{keyword:/^(?:format|put)(?==)/i,equals:/=/,format:{pattern:/(?:\w|\$\d)+\.\d?/i,alias:"number"}}};var altformat={pattern:/\b(?:format|put)\s+[\w']+(?:\s+[$.\w]+)+(?=;)/i,inside:{keyword:/^(?:format|put)/i,format:{pattern:/[\w$]+\.\d?/,alias:"number"}}};var globalStatements={pattern:/((?:^|\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\d?)\b/i,lookbehind:true,alias:"keyword"};var submitStatement={pattern:/(^|\s)(?:submit(?:\s+(?:load|parseonly|norun))?|endsubmit)\b/i,lookbehind:true,alias:"keyword"};var actionSets=/accessControl|cdm|aggregation|aStore|ruleMining|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|sccasl|clustering|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deepLearn|deepNeural|varReduce|simSystem|ds2|deduplication|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gam|gleam|graphSemiSupLearn|gVarCluster|hiddenMarkovModel|hyperGroup|image|iml|ica|kernalPca|langModel|ldaTopic|sparseML|mlTools|mixed|modelPublishing|mbc|network|optNetwork|neuralNet|nonlinear|nmf|nonParametricBayes|optimization|panel|pls|percentile|pca|phreg|qkb|qlim|quantreg|recommend|tsReconcile|deepRnn|regression|reinforcementLearn|robustPca|sampling|sparkEmbeddedProcess|search(?:Analytics)?|sentimentAnalysis|sequence|configuration|session(?:Prop)?|severity|simple|smartData|sandwich|spatialreg|stabilityMonitoring|spc|loadStreams|svDataDescription|svm|table|conditionalRandomFields|text(?:Rule(?:Develop|Score)|Mining|Parse|Topic|Util|Filters|Frequency)|tsInfo|timeData|transpose|uniTimeSeries/.source;var casActions={pattern:RegExp(/(^|\s)(?:action\s+)?(?:<act>)\.[a-z]+\b[^;]+/.source.replace(/<act>/g,(function(){return actionSets})),"i"),lookbehind:true,inside:{keyword:RegExp(/(?:<act>)\.[a-z]+\b/.source.replace(/<act>/g,(function(){return actionSets})),"i"),action:{pattern:/(?:action)/i,alias:"keyword"},comment:comment,function:func,"arg-value":args["arg-value"],operator:args.operator,argument:args.arg,number:number,"numeric-constant":numericConstant,punctuation:punctuation,string:string}};var keywords={pattern:/((?:^|\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\s+over|do|dol|drop|dul|end(?:source|comp)?|entryTitle|else|eval(?:uate)?|exec(?:ute)?|exit|fill(?:attrs)?|file(?:name)?|flist|fnc|function(?:list)?|goto|global|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|name|noobs|nowd|_?null_|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|put|print|raise|ranexp|rannor|rbreak|retain|return|select|set|session|sessref|source|statgraph|sum|summarize|table|temp|terminate|then\s+do|then|title\d?|to|var|when|where|xaxisopts|yaxisopts|y2axisopts)\b/i,lookbehind:true};Prism.languages.sas={datalines:{pattern:/^([ \t]*)(?:(?:data)?lines|cards);[\s\S]+?^[ \t]*;/im,lookbehind:true,alias:"string",inside:{keyword:{pattern:/^(?:(?:data)?lines|cards)/i},punctuation:/;/}},"proc-sql":{pattern:/(^proc\s+(?:fed)?sql(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|(?![\s\S]))/im,lookbehind:true,inside:{sql:{pattern:RegExp(/^[ \t]*(?:select|alter\s+table|(?:create|describe|drop)\s+(?:index|table(?:\s+constraints)?|view)|create\s+unique\s+index|insert\s+into|update)(?:<str>|[^;"'])+;/.source.replace(/<str>/g,(function(){return stringPattern})),"im"),alias:"language-sql",inside:Prism.languages.sql},"global-statements":globalStatements,"sql-statements":{pattern:/(^|\s)(?:disconnect\s+from|exec(?:ute)?|begin|commit|rollback|reset|validate)\b/i,lookbehind:true,alias:"keyword"},number:number,"numeric-constant":numericConstant,punctuation:punctuation,string:string}},"proc-groovy":{pattern:/(^proc\s+groovy(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|(?![\s\S]))/im,lookbehind:true,inside:{comment:comment,groovy:{pattern:RegExp(/(^[ \t]*submit(?:\s+(?:load|parseonly|norun))?)(?:<str>|[^"'])+?(?=endsubmit;)/.source.replace(/<str>/g,(function(){return stringPattern})),"im"),lookbehind:true,alias:"language-groovy",inside:Prism.languages.groovy},keyword:keywords,"submit-statement":submitStatement,"global-statements":globalStatements,number:number,"numeric-constant":numericConstant,punctuation:punctuation,string:string}},"proc-lua":{pattern:/(^proc\s+lua(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|(?![\s\S]))/im,lookbehind:true,inside:{comment:comment,lua:{pattern:RegExp(/(^[ \t]*submit(?:\s+(?:load|parseonly|norun))?)(?:<str>|[^"'])+?(?=endsubmit;)/.source.replace(/<str>/g,(function(){return stringPattern})),"im"),lookbehind:true,alias:"language-lua",inside:Prism.languages.lua},keyword:keywords,"submit-statement":submitStatement,"global-statements":globalStatements,number:number,"numeric-constant":numericConstant,punctuation:punctuation,string:string}},"proc-cas":{pattern:/(^proc\s+cas(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|data);|(?![\s\S]))/im,lookbehind:true,inside:{comment:comment,"statement-var":{pattern:/((?:^|\s)=?)saveresult\s[^;]+/im,lookbehind:true,inside:{statement:{pattern:/^saveresult\s+\S+/i,inside:{keyword:/^(?:saveresult)/i}},rest:args}},"cas-actions":casActions,statement:{pattern:/((?:^|\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,lookbehind:true,inside:args},step:step,keyword:keywords,function:func,format:format,altformat:altformat,"global-statements":globalStatements,number:number,"numeric-constant":numericConstant,punctuation:punctuation,string:string}},"proc-args":{pattern:RegExp(/(^proc\s+\w+\s+)(?!\s)(?:[^;"']|<str>)+;/.source.replace(/<str>/g,(function(){return stringPattern})),"im"),lookbehind:true,inside:args},"macro-keyword":macroKeyword,"macro-variable":macroVariable,"macro-string-functions":{pattern:/((?:^|\s|=))%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?(?:[^%]\))/i,lookbehind:true,inside:{function:{pattern:/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i,alias:"keyword"},"macro-keyword":macroKeyword,"macro-variable":macroVariable,"escaped-char":{pattern:/%['"()<>=¬^~;,#]/i},punctuation:punctuation}},"macro-declaration":{pattern:/^%macro[^;]+(?=;)/im,inside:{keyword:/%macro/i}},"macro-end":{pattern:/^%mend[^;]+(?=;)/im,inside:{keyword:/%mend/i}},macro:{pattern:/%_\w+(?=\()/,alias:"keyword"},input:{pattern:/\binput\s[-\w\s/*.$&]+;/i,inside:{input:{alias:"keyword",pattern:/^input/i},comment:comment,number:number,"numeric-constant":numericConstant}},"options-args":{pattern:/(^options)[-'"|/\\<>*+=:()\w\s]*(?=;)/im,lookbehind:true,inside:args},"cas-actions":casActions,comment:comment,function:func,format:format,altformat:altformat,"numeric-constant":numericConstant,datetime:{pattern:RegExp(stringPattern+"(?:dt?|t)"),alias:"number"},string:string,step:step,keyword:keywords,"operator-keyword":{pattern:/\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i,alias:"operator"},number:number,operator:/\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?/i,punctuation:punctuation}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=sass;sass.displayName="sass";sass.aliases=[];function sass(Prism){(function(Prism){Prism.languages.sass=Prism.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:true}});Prism.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,inside:{atrule:/(?:@[\w-]+|[+=])/m}}});delete Prism.languages.sass.atrule;var variable=/\$[-\w]+|#\{\$[-\w]+\}/;var operator=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:true}];Prism.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,inside:{punctuation:/:/,variable:variable,operator:operator}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:true}],punctuation:/:/,variable:variable,operator:operator,important:Prism.languages.sass.important}}});delete Prism.languages.sass.property;delete Prism.languages.sass.important;Prism.languages.insertBefore("sass","punctuation",{selector:{pattern:/([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/,lookbehind:true}})})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorJava=__webpack_require__(167);module.exports=scala;scala.displayName="scala";scala.aliases=[];function scala(Prism){Prism.register(refractorJava);Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:true,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/,symbol:/'[^\d\s\\]\w*/});delete Prism.languages.scala["class-name"];delete Prism.languages.scala["function"]}},function(module,exports,__webpack_require__){"use strict";module.exports=scss;scss.displayName="scss";scss.aliases=[];function scss(Prism){Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:true},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}});Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|forward|for|each|while|import|use|extend|debug|warn|mixin|include|function|return|content)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:true}]});Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/});Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|with|show|hide)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:true}});Prism.languages.scss["atrule"].inside.rest=Prism.languages.scss}},function(module,exports,__webpack_require__){"use strict";var refractorBash=__webpack_require__(227);module.exports=shellSession;shellSession.displayName="shellSession";shellSession.aliases=[];function shellSession(Prism){Prism.register(refractorBash);(function(Prism){var strings=[/"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,/'[^']*'/.source,/\$'(?:[^'\\]|\\[\s\S])*'/.source,/<<-?\s*(["']?)(\w+)\1\s[\s\S]*?[\r\n]\2/.source].join("|");Prism.languages["shell-session"]={command:{pattern:RegExp(/^(?:[^\s@:$#*!/\\]+@[^\r\n@:$#*!/\\]+(?::[^\0-\x1F$#*?"<>:;|]+)?|[^\0-\x1F$#*?"<>@:;|]+)?/.source+/[$#]/.source+/(?:[^\\\r\n'"<$]|\\(?:[^\r]|\r\n?)|\$(?!')|<<str>>)+/.source.replace(/<<str>>/g,(function(){return strings})),"m"),greedy:true,inside:{info:{pattern:/^[^#$]+/,alias:"punctuation",inside:{user:/^[^\s@:$#*!/\\]+@[^\r\n@:$#*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#]\s*)\S[\s\S]*/,lookbehind:true,alias:"language-bash",inside:Prism.languages.bash},"shell-symbol":{pattern:/^[$#]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/};Prism.languages["sh-session"]=Prism.languages["shellsession"]=Prism.languages["shell-session"]})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=smali;smali.displayName="smali";smali.aliases=[];function smali(Prism){Prism.languages.smali={comment:/#.*/,string:{pattern:/"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/,greedy:true},"class-name":{pattern:/(^|[^L])L(?:(?:\w+|`[^`\r\n]*`)\/)*(?:[\w$]+|`[^`\r\n]*`)(?=\s*;)/,lookbehind:true,inside:{"class-name":{pattern:/(^L|\/)(?:[\w$]+|`[^`\r\n]*`)$/,lookbehind:true},namespace:{pattern:/^(L)(?:(?:\w+|`[^`\r\n]*`)\/)+/,lookbehind:true,inside:{punctuation:/\//}},builtin:/^L/}},builtin:[{pattern:/([();\[])[BCDFIJSVZ]+/,lookbehind:true},{pattern:/([\w$>]:)[BCDFIJSVZ]/,lookbehind:true}],keyword:[{pattern:/(\.end\s+)[\w-]+/,lookbehind:true},{pattern:/(^|[^\w.-])\.(?!\d)[\w-]+/,lookbehind:true},{pattern:/(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w.-])/,lookbehind:true}],function:{pattern:/(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/,lookbehind:true},field:{pattern:/[\w$]+(?=:)/,alias:"variable"},register:{pattern:/(^|[^\w.-])[vp]\d(?![\w.-])/,lookbehind:true,alias:"variable"},boolean:{pattern:/(^|[^\w.-])(?:true|false)(?![\w.-])/,lookbehind:true},number:{pattern:/(^|[^/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)[dflst]?(?![\w.-])/i,lookbehind:true},label:{pattern:/(:)\w+/,lookbehind:true,alias:"property"},operator:/->|\.\.|[\[=]/,punctuation:/[{}(),;:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=smalltalk;smalltalk.displayName="smalltalk";smalltalk.aliases=[];function smalltalk(Prism){Prism.languages.smalltalk={comment:/"(?:""|[^"])*"/,character:{pattern:/\$./,alias:"string"},string:/'(?:''|[^'])*'/,symbol:/#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,"block-arguments":{pattern:/(\[\s*):[^\[|]*\|/,lookbehind:true,inside:{variable:/:[\da-z]+/i,punctuation:/\|/}},"temporary-variables":{pattern:/\|[^|]+\|/,inside:{variable:/[\da-z]+/i,punctuation:/\|/}},keyword:/\b(?:nil|true|false|self|super|new)\b/,number:[/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,/\b\d+(?:\.\d+)?(?:e-?\d+)?/],operator:/[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,punctuation:/[.;:?\[\](){}]/}}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=smarty;smarty.displayName="smarty";smarty.aliases=[];function smarty(Prism){Prism.register(refractorMarkupTemplating);(function(Prism){Prism.languages.smarty={comment:/\{\*[\s\S]*?\*\}/,delimiter:{pattern:/^\{|\}$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,variable:[/\$(?!\d)\w+/,/#(?!\d)\w+#/,{pattern:/(\.|->)(?!\d)\w+/,lookbehind:true},{pattern:/(\[)(?!\d)\w+(?=\])/,lookbehind:true}],function:[{pattern:/(\|\s*)@?(?!\d)\w+/,lookbehind:true},/^\/?(?!\d)\w+/,/(?!\d)\w+(?=\()/],"attr-name":{pattern:/\w+\s*=\s*(?:(?!\d)\w+)?/,inside:{variable:{pattern:/(=\s*)(?!\d)\w+/,lookbehind:true},operator:/=/}},punctuation:[/[\[\]().,:`]|->/],operator:[/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/],keyword:/\b(?:false|off|on|no|true|yes)\b/};Prism.hooks.add("before-tokenize",(function(env){var smartyPattern=/\{\*[\s\S]*?\*\}|\{[\s\S]+?\}/g;var smartyLitteralStart="{literal}";var smartyLitteralEnd="{/literal}";var smartyLitteralMode=false;Prism.languages["markup-templating"].buildPlaceholders(env,"smarty",smartyPattern,(function(match){if(match===smartyLitteralEnd){smartyLitteralMode=false}if(!smartyLitteralMode){if(match===smartyLitteralStart){smartyLitteralMode=true}return true}return false}))}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"smarty")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=sml;sml.displayName="sml";sml.aliases=["smlnj"];function sml(Prism){(function(Prism){var keywords=/\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\b/i;Prism.languages.sml={comment:/\(\*(?:[^*(]|\*(?!\))|\((?!\*)|\(\*(?:[^*(]|\*(?!\))|\((?!\*))*\*\))*\*\)/,string:{pattern:/#?"(?:[^"\\]|\\.)*"/,greedy:true},"class-name":[{pattern:RegExp(/((?:^|[^:]):\s*)<TERMINAL>(?:\s*(?:(?:\*|->)\s*<TERMINAL>|,\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\s+<LONG-ID>)))*/.source.replace(/<NOT-LAST>/g,(function(){return/\s*(?:[*,]|->)/.source})).replace(/<TERMINAL>/g,(function(){return/(?:'[\w']*|<LONG-ID>|\((?:[^()]|\([^()]*\))*\)|\{(?:[^{}]|\{[^{}]*\})*\})(?:\s+<LONG-ID>)*/.source})).replace(/<LONG-ID>/g,(function(){return/(?!<KEYWORD>)[a-z\d_][\w'.]*/.source})).replace(/<KEYWORD>/g,(function(){return keywords.source})),"i"),lookbehind:true,greedy:true,inside:null},{pattern:/((?:^|[^\w'])(?:datatype|exception|functor|signature|structure|type)\s+)[a-z_][\w'.]*/i,lookbehind:true}],function:{pattern:/((?:^|[^\w'])fun\s+)[a-z_][\w'.]*/i,lookbehind:true},keyword:keywords,variable:{pattern:/(^|[^\w'])'[\w']*/,lookbehind:true},number:/~?\b(?:\d+(?:\.\d+)?(?:e~?\d+)?|0x[\da-f]+)\b/i,word:{pattern:/\b0w(?:\d+|x[\da-f]+)\b/i,alias:"constant"},boolean:/\b(?:false|true)\b/i,operator:/\.\.\.|:[>=:]|=>?|->|[<>]=?|[!+\-*/^#|@~]/,punctuation:/[(){}\[\].:,;]/};Prism.languages.sml["class-name"][0].inside=Prism.languages.sml;Prism.languages.smlnj=Prism.languages.sml})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=solidity;solidity.displayName="solidity";solidity.aliases=["sol"];function solidity(Prism){Prism.languages.solidity=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,lookbehind:true},keyword:/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,operator:/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/});Prism.languages.insertBefore("solidity","keyword",{builtin:/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/});Prism.languages.insertBefore("solidity","number",{version:{pattern:/([<>]=?|\^)\d+\.\d+\.\d+\b/,lookbehind:true,alias:"number"}});Prism.languages.sol=Prism.languages.solidity}},function(module,exports,__webpack_require__){"use strict";module.exports=solutionFile;solutionFile.displayName="solutionFile";solutionFile.aliases=[];function solutionFile(Prism){(function(Prism){var guid={pattern:/\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i,alias:"constant",inside:{punctuation:/[{}]/}};Prism.languages["solution-file"]={comment:{pattern:/#.*/,greedy:true},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:true,inside:{guid:guid}},object:{pattern:/^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ \t]*$))|End[A-Z]\w*(?=[ \t]*$))/m,lookbehind:true,greedy:true,alias:"keyword"},property:{pattern:/^([ \t]*)(?!\s)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m,lookbehind:true,inside:{guid:guid}},guid:guid,number:/\b\d+(?:\.\d+)*\b/,boolean:/\b(?:FALSE|TRUE)\b/,operator:/=/,punctuation:/[(),]/};Prism.languages["sln"]=Prism.languages["solution-file"]})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=soy;soy.displayName="soy";soy.aliases=[];function soy(Prism){Prism.register(refractorMarkupTemplating);(function(Prism){var stringPattern=/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;var numberPattern=/\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/;Prism.languages.soy={comment:[/\/\*[\s\S]*?\*\//,{pattern:/(\s)\/\/.*/,lookbehind:true,greedy:true}],"command-arg":{pattern:/(\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/,lookbehind:true,alias:"string",inside:{punctuation:/\./}},parameter:{pattern:/(\{+\/?\s*@?param\??\s+)\.?[\w.]+/,lookbehind:true,alias:"variable"},keyword:[{pattern:/(\{+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/,lookbehind:true},/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/],delimiter:{pattern:/^\{+\/?|\/?\}+$/,alias:"punctuation"},property:/\w+(?==)/,variable:{pattern:/\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/,inside:{string:{pattern:stringPattern,greedy:true},number:numberPattern,punctuation:/[\[\].?]/}},string:{pattern:stringPattern,greedy:true},function:[/\w+(?=\()/,{pattern:/(\|[^\S\r\n]*)\w+/,lookbehind:true}],boolean:/\b(?:true|false)\b/,number:numberPattern,operator:/\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/,punctuation:/[{}()\[\]|.,:]/};Prism.hooks.add("before-tokenize",(function(env){var soyPattern=/\{\{.+?\}\}|\{.+?\}|\s\/\/.*|\/\*[\s\S]*?\*\//g;var soyLitteralStart="{literal}";var soyLitteralEnd="{/literal}";var soyLitteralMode=false;Prism.languages["markup-templating"].buildPlaceholders(env,"soy",soyPattern,(function(match){if(match===soyLitteralEnd){soyLitteralMode=false}if(!soyLitteralMode){if(match===soyLitteralStart){soyLitteralMode=true}return true}return false}))}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"soy")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorTurtle=__webpack_require__(231);module.exports=sparql;sparql.displayName="sparql";sparql.aliases=["rq"];function sparql(Prism){Prism.register(refractorTurtle);Prism.languages.sparql=Prism.languages.extend("turtle",{boolean:/\b(?:true|false)\b/i,variable:{pattern:/[?$]\w+/,greedy:true}});Prism.languages.insertBefore("sparql","punctuation",{keyword:[/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i,/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i,/\b(?:GRAPH|BASE|PREFIX)\b/i]});Prism.languages.rq=Prism.languages.sparql}},function(module,exports,__webpack_require__){"use strict";module.exports=splunkSpl;splunkSpl.displayName="splunkSpl";splunkSpl.aliases=[];function splunkSpl(Prism){Prism.languages["splunk-spl"]={comment:/`comment\("(?:\\.|[^\\"])*"\)`/,string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:true},keyword:/\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b/i,"operator-word":{pattern:/\b(?:and|as|by|not|or|xor)\b/i,alias:"operator"},function:/\b\w+(?=\s*\()/,property:/\b\w+(?=\s*=(?!=))/,date:{pattern:/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/,alias:"number"},number:/\b\d+(?:\.\d+)?\b/,boolean:/\b(?:f|false|t|true)\b/i,operator:/[<>=]=?|[-+*/%|]/,punctuation:/[()[\],]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=sqf;sqf.displayName="sqf";sqf.aliases=[];function sqf(Prism){Prism.languages.sqf=Prism.languages.extend("clike",{string:{pattern:/"(?:(?:"")?[^"])*"(?!")|'(?:[^'])*'/,greedy:true},keyword:/\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execVM|execFSM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\b/i,boolean:/\b(?:true|false)\b/i,function:/\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\b/i,number:/(?:\$|\b0x)[\da-f]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:e[+-]?\d+)?\b/i,operator:/##|>>|&&|\|\||[!=<>]=?|[-+*/%#^]|\b(?:and|mod|not|or)\b/i,"magic-variable":{pattern:/\b(?:_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x|this|thisList|thisTrigger)\b/i,alias:"keyword"},constant:/\bDIK(?:_[a-z\d]+)+\b/i});Prism.languages.insertBefore("sqf","string",{macro:{pattern:/(^[ \t]*)#[a-z](?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:true,greedy:true,alias:"property",inside:{directive:{pattern:/#[a-z]+\b/i,alias:"keyword"},comment:Prism.languages.sqf.comment}}});delete Prism.languages.sqf["class-name"]}},function(module,exports,__webpack_require__){"use strict";module.exports=stan;stan.displayName="stan";stan.aliases=[];function stan(Prism){Prism.languages.stan={comment:/\/\/.*|\/\*[\s\S]*?\*\/|#(?!include).*/,string:{pattern:/"[\x20\x21\x23-\x5B\x5D-\x7E]*"/,greedy:true},directive:{pattern:/^([ \t]*)#include\b.*/m,lookbehind:true,alias:"property"},"function-arg":{pattern:/(\b(?:algebra_solver|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect)\s*\(\s*)[a-zA-Z]\w*/,lookbehind:true,alias:"function"},constraint:{pattern:/(\b(?:int|matrix|real|row_vector|vector)\s*)<[^<>]*>/,lookbehind:true,inside:{expression:{pattern:/(=\s*)\S(?:\S|\s+(?!\s))*?(?=\s*(?:>$|,\s*\w+\s*=))/,lookbehind:true,inside:null},property:/\b[a-z]\w*(?=\s*=)/i,operator:/=/,punctuation:/^<|>$|,/}},keyword:[/\b(?:break|cholesky_factor_corr|cholesky_factor_cov|continue|corr_matrix|cov_matrix|data|else|for|functions|generated|if|in|increment_log_prob|int|matrix|model|ordered|parameters|positive_ordered|print|quantities|real|reject|return|row_vector|simplex|target|transformed|unit_vector|vector|void|while)\b/,/\b(?:algebra_solver|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect)\b/],function:/\b[a-z]\w*(?=\s*\()/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,operator:/<-|\.[*/]=?|\|\|?|&&|[!=<>+\-*/]=?|['^%~?:]/,punctuation:/[()\[\]{},;]/};Prism.languages.stan.constraint.inside.expression.inside=Prism.languages.stan}},function(module,exports,__webpack_require__){"use strict";module.exports=stylus;stylus.displayName="stylus";stylus.aliases=[];function stylus(Prism){(function(Prism){var unit={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:true};var number={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:true};var inside={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:true},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:true},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:true},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:if|else|for|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:true},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:unit,number:number,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:unit,boolean:/\b(?:true|false)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:number,punctuation:/[{}()\[\];:,]/};inside["interpolation"]={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:inside}};inside["func"]={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:inside}};Prism.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:true,inside:{atrule:/^@[\w-]+/,rest:inside}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:true,inside:{variable:/^\S+/,rest:inside}},statement:{pattern:/(^[ \t]*)(?:if|else|for|return|unless)[ \t].+/m,lookbehind:true,inside:{keyword:/^\S+/,rest:inside}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:true,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:inside.interpolation}},rest:inside}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:true,inside:{interpolation:inside.interpolation,comment:inside.comment,punctuation:/[{},]/}},func:inside.func,string:inside.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:true,greedy:true},interpolation:inside.interpolation,punctuation:/[{}()\[\];:.]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=swift;swift.displayName="swift";swift.aliases=[];function swift(Prism){Prism.languages.swift=Prism.languages.extend("clike",{string:{pattern:/("|')(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^(])|(?!\1)[^\\\r\n])*\1/,greedy:true,inside:{interpolation:{pattern:/\\\((?:[^()]|\([^)]+\))+\)/,inside:{delimiter:{pattern:/^\\\(|\)$/,alias:"variable"}}}}},keyword:/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|some|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/,number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,constant:/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,atrule:/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/,builtin:/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/});Prism.languages.swift["string"].inside["interpolation"].inside.rest=Prism.languages.swift}},function(module,exports,__webpack_require__){"use strict";var refractorT4Templating=__webpack_require__(172);var refractorCsharp=__webpack_require__(165);module.exports=t4Cs;t4Cs.displayName="t4Cs";t4Cs.aliases=[];function t4Cs(Prism){Prism.register(refractorT4Templating);Prism.register(refractorCsharp);Prism.languages.t4=Prism.languages["t4-cs"]=Prism.languages["t4-templating"].createT4("csharp")}},function(module,exports,__webpack_require__){"use strict";var refractorT4Templating=__webpack_require__(172);var refractorVbnet=__webpack_require__(232);module.exports=t4Vb;t4Vb.displayName="t4Vb";t4Vb.aliases=[];function t4Vb(Prism){Prism.register(refractorT4Templating);Prism.register(refractorVbnet);Prism.languages["t4-vb"]=Prism.languages["t4-templating"].createT4("vbnet")}},function(module,exports,__webpack_require__){"use strict";var refractorYaml=__webpack_require__(233);module.exports=tap;tap.displayName="tap";tap.aliases=[];function tap(Prism){Prism.register(refractorYaml);Prism.languages.tap={fail:/not ok[^#{\n\r]*/,pass:/ok[^#{\n\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \d+/i,plan:/\b\d+\.\.\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:true},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[ \t]*)---[\s\S]*?[\r\n][ \t]*\.\.\.$/m,lookbehind:true,inside:Prism.languages.yaml,alias:"language-yaml"}}}},function(module,exports,__webpack_require__){"use strict";module.exports=tcl;tcl.displayName="tcl";tcl.aliases=[];function tcl(Prism){Prism.languages.tcl={comment:{pattern:/(^|[^\\])#.*/,lookbehind:true},string:{pattern:/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,greedy:true},variable:[{pattern:/(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,lookbehind:true},{pattern:/(\$)\{[^}]+\}/,lookbehind:true},{pattern:/(^[\t ]*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,lookbehind:true}],function:{pattern:/(^[\t ]*proc[ \t]+)\S+/m,lookbehind:true},builtin:[{pattern:/(^[\t ]*)(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m,lookbehind:true},/\b(?:elseif|else)\b/],scope:{pattern:/(^[\t ]*)(?:global|upvar|variable)\b/m,lookbehind:true,alias:"constant"},keyword:{pattern:/(^[\t ]*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m,lookbehind:true},operator:/!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|ne|in|ni)\b/,punctuation:/[{}()\[\]]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=textile;textile.displayName="textile";textile.aliases=[];function textile(Prism){(function(Prism){var modifierRegex=/\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\}/.source;var parenthesesRegex=/\)|\((?![^|()\n]+\))/.source;function withModifier(source,flags){return RegExp(source.replace(/<MOD>/g,(function(){return"(?:"+modifierRegex+")"})).replace(/<PAR>/g,(function(){return"(?:"+parenthesesRegex+")"})),flags||"")}var modifierTokens={css:{pattern:/\{[^{}]+\}/,inside:{rest:Prism.languages.css}},"class-id":{pattern:/(\()[^()]+(?=\))/,lookbehind:true,alias:"attr-value"},lang:{pattern:/(\[)[^\[\]]+(?=\])/,lookbehind:true,alias:"attr-value"},punctuation:/[\\\/]\d+|\S/};var textile=Prism.languages.textile=Prism.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:true,inside:{"block-tag":{pattern:withModifier(/^[a-z]\w*(?:<MOD>|<PAR>|[<>=])*\./.source),inside:{modifier:{pattern:withModifier(/(^[a-z]\w*)(?:<MOD>|<PAR>|[<>=])+(?=\.)/.source),lookbehind:true,inside:modifierTokens},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:withModifier(/^[*#]+<MOD>*\s+\S.*/.source,"m"),inside:{modifier:{pattern:withModifier(/(^[*#]+)<MOD>+/.source),lookbehind:true,inside:modifierTokens},punctuation:/^[*#]+/}},table:{pattern:withModifier(/^(?:(?:<MOD>|<PAR>|[<>=^~])+\.\s*)?(?:\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+\.))[^|]*)+\|/.source,"m"),inside:{modifier:{pattern:withModifier(/(^|\|(?:\r?\n|\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+(?=\.)/.source),lookbehind:true,inside:modifierTokens},punctuation:/\||^\./}},inline:{pattern:withModifier(/(^|[^a-zA-Z\d])(\*\*|__|\?\?|[*_%@+\-^~])<MOD>*.+?\2(?![a-zA-Z\d])/.source),lookbehind:true,inside:{bold:{pattern:withModifier(/(^(\*\*?)<MOD>*).+?(?=\2)/.source),lookbehind:true},italic:{pattern:withModifier(/(^(__?)<MOD>*).+?(?=\2)/.source),lookbehind:true},cite:{pattern:withModifier(/(^\?\?<MOD>*).+?(?=\?\?)/.source),lookbehind:true,alias:"string"},code:{pattern:withModifier(/(^@<MOD>*).+?(?=@)/.source),lookbehind:true,alias:"keyword"},inserted:{pattern:withModifier(/(^\+<MOD>*).+?(?=\+)/.source),lookbehind:true},deleted:{pattern:withModifier(/(^-<MOD>*).+?(?=-)/.source),lookbehind:true},span:{pattern:withModifier(/(^%<MOD>*).+?(?=%)/.source),lookbehind:true},modifier:{pattern:withModifier(/(^\*\*|__|\?\?|[*_%@+\-^~])<MOD>+/.source),lookbehind:true,inside:modifierTokens},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:true},url:{pattern:/(^\])\S+$/,lookbehind:true},punctuation:/[\[\]]/}},link:{pattern:withModifier(/"<MOD>*[^"]+":.+?(?=[^\w/]?(?:\s|$))/.source),inside:{text:{pattern:withModifier(/(^"<MOD>*)[^"]+(?=")/.source),lookbehind:true},modifier:{pattern:withModifier(/(^")<MOD>+/.source),lookbehind:true,inside:modifierTokens},url:{pattern:/(:).+/,lookbehind:true},punctuation:/[":]/}},image:{pattern:withModifier(/!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\s()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/.source),inside:{source:{pattern:withModifier(/(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\s()]+(?:\([^)]+\))?(?=!)/.source),lookbehind:true,alias:"url"},modifier:{pattern:withModifier(/(^!)(?:<MOD>|<PAR>|[<>=])+/.source),lookbehind:true,inside:modifierTokens},url:{pattern:/(:).+/,lookbehind:true},punctuation:/[!:]/}},footnote:{pattern:/\b\[\d+\]/,alias:"comment",inside:{punctuation:/\[|\]/}},acronym:{pattern:/\b[A-Z\d]+\([^)]+\)/,inside:{comment:{pattern:/(\()[^()]+(?=\))/,lookbehind:true},punctuation:/[()]/}},mark:{pattern:/\b\((?:TM|R|C)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}});var phraseInside=textile["phrase"].inside;var nestedPatterns={inline:phraseInside["inline"],link:phraseInside["link"],image:phraseInside["image"],footnote:phraseInside["footnote"],acronym:phraseInside["acronym"],mark:phraseInside["mark"]};textile.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;var phraseInlineInside=phraseInside["inline"].inside;phraseInlineInside["bold"].inside=nestedPatterns;phraseInlineInside["italic"].inside=nestedPatterns;phraseInlineInside["inserted"].inside=nestedPatterns;phraseInlineInside["deleted"].inside=nestedPatterns;phraseInlineInside["span"].inside=nestedPatterns;var phraseTableInside=phraseInside["table"].inside;phraseTableInside["inline"]=nestedPatterns["inline"];phraseTableInside["link"]=nestedPatterns["link"];phraseTableInside["image"]=nestedPatterns["image"];phraseTableInside["footnote"]=nestedPatterns["footnote"];phraseTableInside["acronym"]=nestedPatterns["acronym"];phraseTableInside["mark"]=nestedPatterns["mark"]})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=toml;toml.displayName="toml";toml.aliases=[];function toml(Prism){(function(Prism){var key=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function insertKey(pattern){return pattern.replace(/__/g,(function(){return key}))}Prism.languages.toml={comment:{pattern:/#.*/,greedy:true},table:{pattern:RegExp(insertKey(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:true,greedy:true,alias:"class-name"},key:{pattern:RegExp(insertKey(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:true,greedy:true,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:true},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:true|false)\b/,punctuation:/[.,=[\]{}]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorJsx=__webpack_require__(230);var refractorTypescript=__webpack_require__(168);module.exports=tsx;tsx.displayName="tsx";tsx.aliases=[];function tsx(Prism){Prism.register(refractorJsx);Prism.register(refractorTypescript);(function(Prism){var typescript=Prism.util.clone(Prism.languages.typescript);Prism.languages.tsx=Prism.languages.extend("jsx",typescript);var tag=Prism.languages.tsx.tag;tag.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+tag.pattern.source+")",tag.pattern.flags);tag.lookbehind=true})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorMarkupTemplating=__webpack_require__(69);module.exports=tt2;tt2.displayName="tt2";tt2.aliases=[];function tt2(Prism){Prism.register(refractorMarkupTemplating);(function(Prism){Prism.languages.tt2=Prism.languages.extend("clike",{comment:/#.*|\[%#[\s\S]*?%\]/,keyword:/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/,punctuation:/[[\]{},()]/});Prism.languages.insertBefore("tt2","number",{operator:/=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/,variable:{pattern:/\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i}});Prism.languages.insertBefore("tt2","keyword",{delimiter:{pattern:/^(?:\[%|%%)-?|-?%\]$/,alias:"punctuation"}});Prism.languages.insertBefore("tt2","string",{"single-quoted-string":{pattern:/'[^\\']*(?:\\[\s\S][^\\']*)*'/,greedy:true,alias:"string"},"double-quoted-string":{pattern:/"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,greedy:true,alias:"string",inside:{variable:{pattern:/\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i}}}});delete Prism.languages.tt2.string;Prism.hooks.add("before-tokenize",(function(env){var tt2Pattern=/\[%[\s\S]+?%\]/g;Prism.languages["markup-templating"].buildPlaceholders(env,"tt2",tt2Pattern)}));Prism.hooks.add("after-tokenize",(function(env){Prism.languages["markup-templating"].tokenizePlaceholders(env,"tt2")}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=twig;twig.displayName="twig";twig.aliases=[];function twig(Prism){Prism.languages.twig={comment:/\{#[\s\S]*?#\}/,tag:{pattern:/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/,inside:{ld:{pattern:/^(?:\{\{-?|\{%-?\s*\w+)/,inside:{punctuation:/^(?:\{\{|\{%)-?/,keyword:/\w+/}},rd:{pattern:/-?(?:%\}|\}\})$/,inside:{punctuation:/.+/}},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:true|false|null)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:true},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],property:/\b[a-zA-Z_]\w*\b/,punctuation:/[()\[\]{}:.,]/}},other:{pattern:/\S(?:[\s\S]*\S)?/,inside:Prism.languages.markup}}}},function(module,exports,__webpack_require__){"use strict";module.exports=typoscript;typoscript.displayName="typoscript";typoscript.aliases=["tsconfig"];function typoscript(Prism){(function(Prism){var keywords=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;Prism.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:true},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:true,greedy:true},{pattern:/(^|[^"'])#.*/,lookbehind:true,greedy:true}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:keywords}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:true,inside:{function:/\{\$.*\}/,keyword:keywords,number:/^[0-9]+$/,punctuation:/[,|:]/}},keyword:keywords,number:{pattern:/\b[0-9]+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/};Prism.languages.tsconfig=Prism.languages.typoscript})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=unrealscript;unrealscript.displayName="unrealscript";unrealscript.aliases=["uc","uscript"];function unrealscript(Prism){Prism.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:true},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:true,greedy:true,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:true,greedy:true,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:true},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:Cross|Dot|ClockwiseFrom)\b/,punctuation:/[()[\]{};,.]/};Prism.languages.uc=Prism.languages.uscript=Prism.languages.unrealscript}},function(module,exports,__webpack_require__){"use strict";module.exports=vala;vala.displayName="vala";vala.aliases=[];function vala(Prism){Prism.languages.vala=Prism.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:true,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:true,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|interface|new|struct|enum)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:true,inside:{punctuation:/\./}}],keyword:/\b(?:bool|char|double|float|null|size_t|ssize_t|string|unichar|void|int|int8|int16|int32|int64|long|short|uchar|uint|uint8|uint16|uint32|uint64|ulong|ushort|class|delegate|enum|errordomain|interface|namespace|struct|break|continue|do|for|foreach|return|while|else|if|switch|assert|case|default|abstract|const|dynamic|ensures|extern|inline|internal|override|private|protected|public|requires|signal|static|virtual|volatile|weak|async|owned|unowned|try|catch|finally|throw|as|base|construct|delete|get|in|is|lock|new|out|params|ref|sizeof|set|this|throws|typeof|using|value|var|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/});Prism.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:true,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:true,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:Prism.languages.vala}},string:/[\s\S]+/}}});Prism.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:true,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:true,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}})}},function(module,exports,__webpack_require__){"use strict";module.exports=velocity;velocity.displayName="velocity";velocity.aliases=[];function velocity(Prism){(function(Prism){Prism.languages.velocity=Prism.languages.extend("markup",{});var velocity={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:true,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:true},number:/\b\d+\b/,boolean:/\b(?:true|false)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};velocity.variable.inside={string:velocity["string"],function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:true},number:velocity["number"],boolean:velocity["boolean"],punctuation:velocity["punctuation"]};Prism.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:true,greedy:true,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:true,greedy:true,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:true,greedy:true,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:true,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:velocity}},variable:velocity["variable"]});Prism.languages.velocity["tag"].inside["attr-value"].inside.rest=Prism.languages.velocity})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=verilog;verilog.displayName="verilog";verilog.aliases=[];function verilog(Prism){Prism.languages.verilog={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:true},property:/\B\$\w+\b/,constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=vhdl;vhdl.displayName="vhdl";vhdl.aliases=[];function vhdl(Prism){Prism.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,constant:/\b(?:use|library)\b/i,keyword:/\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,boolean:/\b(?:true|false)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xnor|xor|nor)\b/i,punctuation:/[{}[\];(),.:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=vim;vim.displayName="vim";vim.aliases=[];function vim(Prism){Prism.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=visualBasic;visualBasic.displayName="visualBasic";visualBasic.aliases=[];function visualBasic(Prism){Prism.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\S\r\n]_[^\S\r\n]*(?:\r\n?|\n)|.)+/i,alias:"comment",greedy:true},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:true},date:{pattern:/#[^\S\r\n]*(?:\d+([/-])\d+\1\d+(?:[^\S\r\n]+(?:\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?))?|\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?)[^\S\r\n]*#/i,alias:"builtin"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[FRD])?/i,boolean:/\b(?:True|False|Nothing)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Until|Xor)\b/i,operator:[/[+\-*/\\^<=>&#@$%!]/,{pattern:/([^\S\r\n])_(?=[^\S\r\n]*[\r\n])/,lookbehind:true}],punctuation:/[{}().,:?]/};Prism.languages.vb=Prism.languages["visual-basic"];Prism.languages.vba=Prism.languages["visual-basic"]}},function(module,exports,__webpack_require__){"use strict";module.exports=warpscript;warpscript.displayName="warpscript";warpscript.aliases=[];function warpscript(Prism){Prism.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:true},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:false|true|F|T)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/}}},function(module,exports,__webpack_require__){"use strict";module.exports=wasm;wasm.displayName="wasm";wasm.aliases=[];function wasm(Prism){Prism.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:true}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:true},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/i,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=wiki;wiki.displayName="wiki";wiki.aliases=[];function wiki(Prism){Prism.languages.wiki=Prism.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:true,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:true,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:true},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:true},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:RFC|PMID) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:true,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:Prism.languages.markup["tag"].inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m});Prism.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:Prism.languages.markup["tag"].inside}}}})}},function(module,exports,__webpack_require__){"use strict";module.exports=xeora;xeora.displayName="xeora";xeora.aliases=["xeoracube"];function xeora(Prism){(function(Prism){Prism.languages.xeora=Prism.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}});Prism.languages.insertBefore("inside","punctuation",{variable:Prism.languages.xeora["function-inline"].inside["variable"]},Prism.languages.xeora["function-block"]);Prism.languages.xeoracube=Prism.languages.xeora})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=xmlDoc;xmlDoc.displayName="xmlDoc";xmlDoc.aliases=[];function xmlDoc(Prism){(function(Prism){function insertDocComment(lang,docComment){if(Prism.languages[lang]){Prism.languages.insertBefore(lang,"comment",{"doc-comment":docComment})}}var tag=Prism.languages.markup.tag;var slashDocComment={pattern:/\/\/\/.*/,greedy:true,alias:"comment",inside:{tag:tag}};var tickDocComment={pattern:/'''.*/,greedy:true,alias:"comment",inside:{tag:tag}};insertDocComment("csharp",slashDocComment);insertDocComment("fsharp",slashDocComment);insertDocComment("vbnet",tickDocComment)})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=xojo;xojo.displayName="xojo";xojo.aliases=[];function xojo(Prism){Prism.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i},string:{pattern:/"(?:""|[^"])*"/,greedy:true},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],symbol:/#(?:If|Else|ElseIf|Endif|Pragma)\b/i,keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|By(?:Ref|Val)|Boolean|Break|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:erface|eger|8|16|32|64)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Single|Shared|Short|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:eger|8|16|32|64)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|Xor|WeakAddressOf)\b/i,punctuation:/[.,;:()]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=xquery;xquery.displayName="xquery";xquery.aliases=[];function xquery(Prism){(function(Prism){Prism.languages.xquery=Prism.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:true,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:true},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:true,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:true,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:true},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:true,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:true,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:true},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:true}],punctuation:/[[\](){},;:/]/});Prism.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;Prism.languages.xquery["tag"].inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/i;Prism.languages.xquery["tag"].inside["attr-value"].inside["punctuation"]=/^="|"$/;Prism.languages.xquery["tag"].inside["attr-value"].inside["expression"]={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:Prism.languages.xquery,alias:"language-xquery"};var stringifyToken=function(token){if(typeof token==="string"){return token}if(typeof token.content==="string"){return token.content}return token.content.map(stringifyToken).join("")};var walkTokens=function(tokens){var openedTags=[];for(var i=0;i<tokens.length;i++){var token=tokens[i];var notTagNorBrace=false;if(typeof token!=="string"){if(token.type==="tag"&&token.content[0]&&token.content[0].type==="tag"){if(token.content[0].content[0].content==="</"){if(openedTags.length>0&&openedTags[openedTags.length-1].tagName===stringifyToken(token.content[0].content[1])){openedTags.pop()}}else{if(token.content[token.content.length-1].content==="/>"){}else{openedTags.push({tagName:stringifyToken(token.content[0].content[1]),openedBraces:0})}}}else if(openedTags.length>0&&token.type==="punctuation"&&token.content==="{"&&(!tokens[i+1]||tokens[i+1].type!=="punctuation"||tokens[i+1].content!=="{")&&(!tokens[i-1]||tokens[i-1].type!=="plain-text"||tokens[i-1].content!=="{")){openedTags[openedTags.length-1].openedBraces++}else if(openedTags.length>0&&openedTags[openedTags.length-1].openedBraces>0&&token.type==="punctuation"&&token.content==="}"){openedTags[openedTags.length-1].openedBraces--}else if(token.type!=="comment"){notTagNorBrace=true}}if(notTagNorBrace||typeof token==="string"){if(openedTags.length>0&&openedTags[openedTags.length-1].openedBraces===0){var plainText=stringifyToken(token);if(i<tokens.length-1&&(typeof tokens[i+1]==="string"||tokens[i+1].type==="plain-text")){plainText+=stringifyToken(tokens[i+1]);tokens.splice(i+1,1)}if(i>0&&(typeof tokens[i-1]==="string"||tokens[i-1].type==="plain-text")){plainText=stringifyToken(tokens[i-1])+plainText;tokens.splice(i-1,1);i--}if(/^\s+$/.test(plainText)){tokens[i]=plainText}else{tokens[i]=new Prism.Token("plain-text",plainText,null,plainText)}}}if(token.content&&typeof token.content!=="string"){walkTokens(token.content)}}};Prism.hooks.add("after-tokenize",(function(env){if(env.language!=="xquery"){return}walkTokens(env.tokens)}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=yang;yang.displayName="yang";yang.aliases=[];function yang(Prism){Prism.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:true},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:true},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:true},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=zig;zig.displayName="zig";zig.aliases=[];function zig(Prism){(function(Prism){function literal(str){return function(){return str}}var keyword=/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/;var IDENTIFIER="\\b(?!"+keyword.source+")(?!\\d)\\w+\\b";var ALIGN=/align\s*\((?:[^()]|\([^()]*\))*\)/.source;var PREFIX_TYPE_OP=/(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*<ALIGN>|\s*const\b|\s*volatile\b|\s*allowzero\b)*)/.source.replace(/<ALIGN>/g,literal(ALIGN));var SUFFIX_EXPR=/(?:\bpromise\b|(?:\berror\.)?<ID>(?:\.<ID>)*(?!\s+<ID>))/.source.replace(/<ID>/g,literal(IDENTIFIER));var TYPE="(?!\\s)(?:!?\\s*(?:"+PREFIX_TYPE_OP+"\\s*)*"+SUFFIX_EXPR+")+";Prism.languages.zig={comment:[{pattern:/\/{3}.*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:true,greedy:true},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:true,greedy:true},{pattern:/(^|[^\\])'(?:[^'\\\r\n]|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:true,greedy:true}],builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:true},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp(/(:\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?[=;,)])|<TYPE>(?=\s*(?:<ALIGN>\s*)?\{)/.source.replace(/<TYPE>/g,literal(TYPE)).replace(/<ALIGN>/g,literal(ALIGN))),lookbehind:true,inside:null},{pattern:RegExp(/(\)\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?;)/.source.replace(/<TYPE>/g,literal(TYPE)).replace(/<ALIGN>/g,literal(ALIGN))),lookbehind:true,inside:null}],"builtin-types":{pattern:/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/,alias:"keyword"},keyword:keyword,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/};Prism.languages.zig["class-name"].forEach((function(obj){if(obj.inside===null){obj.inside=Prism.languages.zig}}))})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=Schema;var proto=Schema.prototype;proto.space=null;proto.normal={};proto.property={};function Schema(property,normal,space){this.property=property;this.normal=normal;if(space){this.space=space}}},function(module,exports,__webpack_require__){"use strict";var Info=__webpack_require__(764);var types=__webpack_require__(236);module.exports=DefinedInfo;DefinedInfo.prototype=new Info;DefinedInfo.prototype.defined=true;var checks=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"];var checksLength=checks.length;function DefinedInfo(property,attribute,mask,space){var index=-1;var check;mark(this,"space",space);Info.call(this,property,attribute);while(++index<checksLength){check=checks[index];mark(this,check,(mask&types[check])===types[check])}}function mark(values,key,value){if(value){values[key]=value}}},function(module,exports,__webpack_require__){"use strict";module.exports=Info;var proto=Info.prototype;proto.space=null;proto.attribute=null;proto.property=null;proto.boolean=false;proto.booleanish=false;proto.overloadedBoolean=false;proto.number=false;proto.commaSeparated=false;proto.spaceSeparated=false;proto.commaOrSpaceSeparated=false;proto.mustUseProperty=false;proto.defined=false;function Info(property,attribute){this.property=property;this.attribute=attribute}},function(module,exports,__webpack_require__){"use strict";var caseSensitiveTransform=__webpack_require__(1341);module.exports=caseInsensitiveTransform;function caseInsensitiveTransform(attributes,property){return caseSensitiveTransform(attributes,property.toLowerCase())}},function(module){module.exports=JSON.parse('{"AElig":"Æ","AMP":"&","Aacute":"Á","Acirc":"Â","Agrave":"À","Aring":"Å","Atilde":"Ã","Auml":"Ä","COPY":"©","Ccedil":"Ç","ETH":"Ð","Eacute":"É","Ecirc":"Ê","Egrave":"È","Euml":"Ë","GT":">","Iacute":"Í","Icirc":"Î","Igrave":"Ì","Iuml":"Ï","LT":"<","Ntilde":"Ñ","Oacute":"Ó","Ocirc":"Ô","Ograve":"Ò","Oslash":"Ø","Otilde":"Õ","Ouml":"Ö","QUOT":"\\"","REG":"®","THORN":"Þ","Uacute":"Ú","Ucirc":"Û","Ugrave":"Ù","Uuml":"Ü","Yacute":"Ý","aacute":"á","acirc":"â","acute":"´","aelig":"æ","agrave":"à","amp":"&","aring":"å","atilde":"ã","auml":"ä","brvbar":"¦","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","curren":"¤","deg":"°","divide":"÷","eacute":"é","ecirc":"ê","egrave":"è","eth":"ð","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","iacute":"í","icirc":"î","iexcl":"¡","igrave":"ì","iquest":"¿","iuml":"ï","laquo":"«","lt":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","ntilde":"ñ","oacute":"ó","ocirc":"ô","ograve":"ò","ordf":"ª","ordm":"º","oslash":"ø","otilde":"õ","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","raquo":"»","reg":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","thorn":"þ","times":"×","uacute":"ú","ucirc":"û","ugrave":"ù","uml":"¨","uuml":"ü","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(module){module.exports=JSON.parse('{"0":"�","128":"€","130":"‚","131":"ƒ","132":"„","133":"…","134":"†","135":"‡","136":"ˆ","137":"‰","138":"Š","139":"‹","140":"Œ","142":"Ž","145":"‘","146":"’","147":"“","148":"”","149":"•","150":"–","151":"—","152":"˜","153":"™","154":"š","155":"›","156":"œ","158":"ž","159":"Ÿ"}')},function(module,exports,__webpack_require__){"use strict";module.exports=hexadecimal;function hexadecimal(character){var code=typeof character==="string"?character.charCodeAt(0):character;return code>=97&&code<=102||code>=65&&code<=70||code>=48&&code<=57}},function(module,exports,__webpack_require__){"use strict";var alphabetical=__webpack_require__(770);var decimal=__webpack_require__(131);module.exports=alphanumerical;function alphanumerical(character){return alphabetical(character)||decimal(character)}},function(module,exports,__webpack_require__){"use strict";module.exports=alphabetical;function alphabetical(character){var code=typeof character==="string"?character.charCodeAt(0):character;return code>=97&&code<=122||code>=65&&code<=90}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default=["abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apl","applescript","aql","arduino","arff","asciidoc","asm6502","aspnet","autohotkey","autoit","bash","basic","batch","bbcode","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cil","clike","clojure","cmake","coffeescript","concurnas","cpp","crystal","csharp","csp","css-extras","css","cypher","d","dart","dax","dhall","diff","django","dns-zone-file","docker","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excel-formula","factor","firestore-security-rules","flow","fortran","fsharp","ftl","gcode","gdscript","gedcom","gherkin","git","glsl","gml","go","graphql","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hpkp","hsts","http","ichigojam","icon","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jolie","jq","js-extras","js-templates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keyman","kotlin","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","lolcode","lua","makefile","markdown","markup-templating","markup","matlab","mel","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetris-hdl","naniscript","nasm","neon","nginx","nim","nix","nsis","objectivec","ocaml","opencl","oz","parigp","parser","pascal","pascaligo","pcaxis","peoplecode","perl","php-extras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","properties","protobuf","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","r","racket","reason","regex","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shell-session","smali","smalltalk","smarty","sml","solidity","solution-file","soy","sparql","splunk-spl","sqf","sql","stan","stylus","swift","t4-cs","t4-templating","t4-vb","tap","tcl","textile","toml","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","vala","vbnet","velocity","verilog","vhdl","vim","visual-basic","warpscript","wasm","wiki","xeora","xml-doc","xojo","xquery","yaml","yang","zig"];exports.default=_default},function(module,exports,__webpack_require__){"use strict";var refractor=__webpack_require__(234);module.exports=refractor;refractor.register(__webpack_require__(549));refractor.register(__webpack_require__(550));refractor.register(__webpack_require__(551));refractor.register(__webpack_require__(552));refractor.register(__webpack_require__(553));refractor.register(__webpack_require__(554));refractor.register(__webpack_require__(555));refractor.register(__webpack_require__(556));refractor.register(__webpack_require__(1353));refractor.register(__webpack_require__(557));refractor.register(__webpack_require__(558));refractor.register(__webpack_require__(559));refractor.register(__webpack_require__(560));refractor.register(__webpack_require__(561));refractor.register(__webpack_require__(562));refractor.register(__webpack_require__(563));refractor.register(__webpack_require__(564));refractor.register(__webpack_require__(565));refractor.register(__webpack_require__(566));refractor.register(__webpack_require__(227));refractor.register(__webpack_require__(228));refractor.register(__webpack_require__(567));refractor.register(__webpack_require__(568));refractor.register(__webpack_require__(569));refractor.register(__webpack_require__(570));refractor.register(__webpack_require__(571));refractor.register(__webpack_require__(572));refractor.register(__webpack_require__(573));refractor.register(__webpack_require__(574));refractor.register(__webpack_require__(575));refractor.register(__webpack_require__(91));refractor.register(__webpack_require__(1354));refractor.register(__webpack_require__(1355));refractor.register(__webpack_require__(576));refractor.register(__webpack_require__(578));refractor.register(__webpack_require__(579));refractor.register(__webpack_require__(1356));refractor.register(__webpack_require__(580));refractor.register(__webpack_require__(581));refractor.register(__webpack_require__(1357));refractor.register(__webpack_require__(164));refractor.register(__webpack_require__(582));refractor.register(__webpack_require__(165));refractor.register(__webpack_require__(583));refractor.register(__webpack_require__(584));refractor.register(__webpack_require__(1358));refractor.register(__webpack_require__(586));refractor.register(__webpack_require__(587));refractor.register(__webpack_require__(588));refractor.register(__webpack_require__(1359));refractor.register(__webpack_require__(589));refractor.register(__webpack_require__(590));refractor.register(__webpack_require__(591));refractor.register(__webpack_require__(592));refractor.register(__webpack_require__(593));refractor.register(__webpack_require__(594));refractor.register(__webpack_require__(1360));refractor.register(__webpack_require__(595));refractor.register(__webpack_require__(596));refractor.register(__webpack_require__(597));refractor.register(__webpack_require__(598));refractor.register(__webpack_require__(599));refractor.register(__webpack_require__(600));refractor.register(__webpack_require__(601));refractor.register(__webpack_require__(602));refractor.register(__webpack_require__(603));refractor.register(__webpack_require__(604));refractor.register(__webpack_require__(605));refractor.register(__webpack_require__(1361));refractor.register(__webpack_require__(606));refractor.register(__webpack_require__(607));refractor.register(__webpack_require__(608));refractor.register(__webpack_require__(609));refractor.register(__webpack_require__(610));refractor.register(__webpack_require__(611));refractor.register(__webpack_require__(612));refractor.register(__webpack_require__(613));refractor.register(__webpack_require__(614));refractor.register(__webpack_require__(615));refractor.register(__webpack_require__(616));refractor.register(__webpack_require__(617));refractor.register(__webpack_require__(618));refractor.register(__webpack_require__(619));refractor.register(__webpack_require__(620));refractor.register(__webpack_require__(621));refractor.register(__webpack_require__(622));refractor.register(__webpack_require__(166));refractor.register(__webpack_require__(623));refractor.register(__webpack_require__(624));refractor.register(__webpack_require__(625));refractor.register(__webpack_require__(626));refractor.register(__webpack_require__(627));refractor.register(__webpack_require__(628));refractor.register(__webpack_require__(629));refractor.register(__webpack_require__(630));refractor.register(__webpack_require__(1362));refractor.register(__webpack_require__(1363));refractor.register(__webpack_require__(631));refractor.register(__webpack_require__(632));refractor.register(__webpack_require__(633));refractor.register(__webpack_require__(634));refractor.register(__webpack_require__(635));refractor.register(__webpack_require__(636));refractor.register(__webpack_require__(167));refractor.register(__webpack_require__(637));refractor.register(__webpack_require__(128));refractor.register(__webpack_require__(639));refractor.register(__webpack_require__(1364));refractor.register(__webpack_require__(640));refractor.register(__webpack_require__(641));refractor.register(__webpack_require__(642));refractor.register(__webpack_require__(643));refractor.register(__webpack_require__(644));refractor.register(__webpack_require__(169));refractor.register(__webpack_require__(645));refractor.register(__webpack_require__(646));refractor.register(__webpack_require__(647));refractor.register(__webpack_require__(230));refractor.register(__webpack_require__(648));refractor.register(__webpack_require__(649));refractor.register(__webpack_require__(650));refractor.register(__webpack_require__(1365));refractor.register(__webpack_require__(651));refractor.register(__webpack_require__(652));refractor.register(__webpack_require__(653));refractor.register(__webpack_require__(654));refractor.register(__webpack_require__(655));refractor.register(__webpack_require__(656));refractor.register(__webpack_require__(657));refractor.register(__webpack_require__(658));refractor.register(__webpack_require__(1366));refractor.register(__webpack_require__(659));refractor.register(__webpack_require__(229));refractor.register(__webpack_require__(660));refractor.register(__webpack_require__(661));refractor.register(__webpack_require__(69));refractor.register(__webpack_require__(663));refractor.register(__webpack_require__(664));refractor.register(__webpack_require__(665));refractor.register(__webpack_require__(666));refractor.register(__webpack_require__(667));refractor.register(__webpack_require__(668));refractor.register(__webpack_require__(669));refractor.register(__webpack_require__(670));refractor.register(__webpack_require__(671));refractor.register(__webpack_require__(672));refractor.register(__webpack_require__(673));refractor.register(__webpack_require__(674));refractor.register(__webpack_require__(1367));refractor.register(__webpack_require__(675));refractor.register(__webpack_require__(676));refractor.register(__webpack_require__(677));refractor.register(__webpack_require__(678));refractor.register(__webpack_require__(679));refractor.register(__webpack_require__(680));refractor.register(__webpack_require__(681));refractor.register(__webpack_require__(1368));refractor.register(__webpack_require__(682));refractor.register(__webpack_require__(683));refractor.register(__webpack_require__(684));refractor.register(__webpack_require__(685));refractor.register(__webpack_require__(686));refractor.register(__webpack_require__(687));refractor.register(__webpack_require__(688));refractor.register(__webpack_require__(689));refractor.register(__webpack_require__(690));refractor.register(__webpack_require__(129));refractor.register(__webpack_require__(691));refractor.register(__webpack_require__(692));refractor.register(__webpack_require__(693));refractor.register(__webpack_require__(694));refractor.register(__webpack_require__(695));refractor.register(__webpack_require__(696));refractor.register(__webpack_require__(1369));refractor.register(__webpack_require__(697));refractor.register(__webpack_require__(698));refractor.register(__webpack_require__(1370));refractor.register(__webpack_require__(699));refractor.register(__webpack_require__(700));refractor.register(__webpack_require__(701));refractor.register(__webpack_require__(702));refractor.register(__webpack_require__(703));refractor.register(__webpack_require__(704));refractor.register(__webpack_require__(705));refractor.register(__webpack_require__(706));refractor.register(__webpack_require__(707));refractor.register(__webpack_require__(1371));refractor.register(__webpack_require__(708));refractor.register(__webpack_require__(709));refractor.register(__webpack_require__(710));refractor.register(__webpack_require__(711));refractor.register(__webpack_require__(1372));refractor.register(__webpack_require__(712));refractor.register(__webpack_require__(713));refractor.register(__webpack_require__(714));refractor.register(__webpack_require__(715));refractor.register(__webpack_require__(716));refractor.register(__webpack_require__(127));refractor.register(__webpack_require__(717));refractor.register(__webpack_require__(718));refractor.register(__webpack_require__(719));refractor.register(__webpack_require__(720));refractor.register(__webpack_require__(170));refractor.register(__webpack_require__(721));refractor.register(__webpack_require__(722));refractor.register(__webpack_require__(723));refractor.register(__webpack_require__(724));refractor.register(__webpack_require__(725));refractor.register(__webpack_require__(726));refractor.register(__webpack_require__(727));refractor.register(__webpack_require__(728));refractor.register(__webpack_require__(729));refractor.register(__webpack_require__(730));refractor.register(__webpack_require__(731));refractor.register(__webpack_require__(732));refractor.register(__webpack_require__(171));refractor.register(__webpack_require__(1373));refractor.register(__webpack_require__(733));refractor.register(__webpack_require__(734));refractor.register(__webpack_require__(735));refractor.register(__webpack_require__(736));refractor.register(__webpack_require__(172));refractor.register(__webpack_require__(737));refractor.register(__webpack_require__(738));refractor.register(__webpack_require__(739));refractor.register(__webpack_require__(740));refractor.register(__webpack_require__(741));refractor.register(__webpack_require__(742));refractor.register(__webpack_require__(743));refractor.register(__webpack_require__(231));refractor.register(__webpack_require__(744));refractor.register(__webpack_require__(168));refractor.register(__webpack_require__(745));refractor.register(__webpack_require__(746));refractor.register(__webpack_require__(1374));refractor.register(__webpack_require__(1375));refractor.register(__webpack_require__(747));refractor.register(__webpack_require__(232));refractor.register(__webpack_require__(748));refractor.register(__webpack_require__(749));refractor.register(__webpack_require__(750));refractor.register(__webpack_require__(751));refractor.register(__webpack_require__(752));refractor.register(__webpack_require__(753));refractor.register(__webpack_require__(754));refractor.register(__webpack_require__(755));refractor.register(__webpack_require__(1376));refractor.register(__webpack_require__(756));refractor.register(__webpack_require__(757));refractor.register(__webpack_require__(758));refractor.register(__webpack_require__(759));refractor.register(__webpack_require__(233));refractor.register(__webpack_require__(760));refractor.register(__webpack_require__(761))},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Outputs=void 0;const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const OutputWrapper=styled_components_1.default.div.attrs(props=>({style:{maxHeight:props.expanded?"100%":null}}))`
  padding: 10px 10px 10px 10px;
  word-wrap: break-word;
  overflow-y: hidden;
  outline: none;
  text-overflow: ellipsis;

  &:empty {
    display: none;
  }

  /* NOTE: All these styles should get moved into some sort of
           "Default Output Style" that an output type can opt in to,
           like with HTML, Markdown, VDOM
           */
  & a {
    color: var(--link-color-unvisited, blue);
  }

  & a:visited {
    color: var(--link-color-visited, blue);
  }

  & code {
    font-family: "Source Code Pro", monospace;
    white-space: pre-wrap;
    font-size: 14px;
  }

  & pre {
    white-space: pre-wrap;
    font-size: 14px;
    word-wrap: break-word;
  }

  & img {
    display: block;
    max-width: 100%;
  }

  & kbd {
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0.1em 0.5em;
    margin: 0 0.2em;
    box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
    background-color: #f7f7f7;
  }

  & table {
    border-collapse: collapse;
  }

  & th,
  & td,
  /* for legacy output handling */
  & .th,
  & .td {
    padding: 0.5em 1em;
    border: 1px solid var(--theme-app-border, #cbcbcb);
  }

  & th {
    text-align: left;
  }

  & blockquote {
    padding: 0.75em 0.5em 0.75em 1em;
    background: var(--theme-cell-output-bg, white);
    border-left: 0.5em solid #ddd;
  }

  & blockquote::before {
    display: block;
    height: 0;
    content: "“";
    margin-left: -0.95em;
    font: italic 400%/1 Open Serif, Georgia, "Times New Roman", serif;
    color: solid var(--theme-app-border, #cbcbcb);
  }

  /* for nested paragraphs in block quotes */
  & blockquote p {
    display: inline;
  }

  & dd {
    display: block;
    -webkit-margin-start: 40px;
  }
  & dl {
    display: block;
    -webkit-margin-before: 1__qem;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
  }

  & dt {
    display: block;
  }

  & dl {
    width: 100%;
    overflow: hidden;
    padding: 0;
    margin: 0;
  }

  & dt {
    font-weight: bold;
    float: left;
    width: 20%;
    /* adjust the width; make sure the total of both is 100% */
    padding: 0;
    margin: 0;
  }

  & dd {
    float: left;
    width: 80%;
    /* adjust the width; make sure the total of both is 100% */
    padding: 0;
    margin: 0;
  }

  /** Adaptation for the R kernel's inline lists **/
  & .list-inline li {
    display: inline;
    padding-right: 20px;
    text-align: center;
  }
`;class Outputs extends React.PureComponent{render(){if(this.props.hidden){return null}if(this.props.children){return React.createElement(OutputWrapper,{expanded:this.props.expanded,className:this.props.className},this.props.children)}return null}}exports.Outputs=Outputs;Outputs.defaultProps={children:null,className:"nteract-outputs",hidden:false,expanded:false};exports.default=Outputs},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.SidebarItem=exports.getSidebarItemsFromData=void 0;const react_1=__importDefault(__webpack_require__(35));const classnames_1=__importDefault(__webpack_require__(76));const icons_1=__webpack_require__(237);function getSidebarItemsFromData(data,isOpen,level=0){return data.map(({name:name,subItems:subItems})=>react_1.default.createElement(SidebarItem,{key:name,level:level,defaultIsExpanded:isOpen,className:classnames_1.default("sidebar-item",{"sidebar-item-file":!subItems}),name:name,subItems:subItems}))}exports.getSidebarItemsFromData=getSidebarItemsFromData;const openStates={unset:undefined,open:true,closed:false};class ListWrapper extends react_1.default.PureComponent{constructor(){super(...arguments);this.listEl=react_1.default.createRef()}componentDidMount(){const{level:level}=this.props;if(this.listEl&&this.listEl.current){this.listEl.current.style.setProperty("--padding",`${((level||0)+1)*16}px`)}}render(){return react_1.default.createElement("ul",Object.assign({ref:this.listEl},this.props),this.props.children)}}class SidebarItem extends react_1.default.PureComponent{constructor(){super(...arguments);this.state={isExpanded:openStates.unset};this.handleToggleExpanded=e=>{const{onSelect:onSelect}=this.props;e.preventDefault();this.setState(previous=>({isExpanded:!previous.isExpanded}));if(onSelect){onSelect()}}}render(){var _a,_b;const{subItems:subItems,name:name,defaultIsExpanded:defaultIsExpanded=false,level:level}=this.props;const isFolder=subItems!==undefined;const image=isFolder?react_1.default.createElement(icons_1.Folder,null):react_1.default.createElement(icons_1.File,null);const isOpen=(_a=this.state.isExpanded)!==null&&_a!==void 0?_a:defaultIsExpanded;const folderImage=isFolder&&react_1.default.createElement(icons_1.Chevron,{className:classnames_1.default("chevron",{rotate:!isOpen})});return react_1.default.createElement("li",Object.assign({},this.props,{className:classnames_1.default("sidebar-item",{"sidebar-item-file":!subItems})}),react_1.default.createElement("button",{className:"sidebar-item-button",onClick:this.handleToggleExpanded},folderImage,image," ",name),subItems&&subItems.length>0&&react_1.default.createElement(ListWrapper,{level:level,className:classnames_1.default("sidebar-item-group",{"sidebar-item-group-expanded":(_b=this.state.isExpanded)!==null&&_b!==void 0?_b:defaultIsExpanded})},getSidebarItemsFromData(subItems,false,level+1)))}}exports.SidebarItem=SidebarItem},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.LightTheme=exports.DarkTheme=void 0;const styled_components_1=__webpack_require__(41);const DarkTheme=styled_components_1.createGlobalStyle`
:root {
  --theme-app-bg: #2b2b2b;
  --theme-app-fg: var(--nt-color-alabaster-lightest);
  --theme-app-border: var(--nt-color-alabaster-light);

  --theme-primary-bg: var(--nt-color-midnight);
  --theme-primary-bg-hover: var(--nt-color-midnight);
  --theme-primary-bg-focus: var(--nt-color-midnight-light);

  --theme-primary-fg: var(--nt-color-alabaster-light);
  --theme-primary-fg-hover: var(--nt-color-alabaster-lighter);
  --theme-primary-fg-focus: var(--theme-app-fg);

  --theme-secondary-bg: var(--theme-primary-bg);
  --theme-secondary-bg-hover: var(--theme-primary-bg-hover);
  --theme-secondary-bg-focus: var(--theme-primary-bg-focus);

  --theme-secondary-fg: var(--nt-color-alabaster-light);
  --theme-secondary-fg-hover: var(--nt-color-alabaster-lighter);
  --theme-secondary-fg-focus: var(--theme-primary-fg);

  --theme-primary-shadow-hover:
    1px  1px 3px rgba(255, 255, 255, 0.12),
    -1px -1px 3px rgba(255, 255, 255, 0.12);
  --theme-primary-shadow-focus:
    3px  3px 9px rgba(255, 255, 255, 0.12),
    -3px -3px 9px rgba(255, 255, 255, 0.12);

  --theme-title-bar-bg: var(--nt-color-midnight-darkest);

  --theme-menu-bg: var(--theme-primary-bg);
  --theme-menu-bg-hover: var(--theme-primary-bg-hover);
  --theme-menu-bg-focus: var(--theme-primary-bg-focus);
  --theme-menu-shadow: var(--theme-primary-shadow-hover);

  --theme-menu-fg: var(--theme-app-fg);
  --theme-menu-fg-hover: var(--theme-app-fg);
  --theme-menu-fg-focus: var(--theme-app-fg);

  --theme-cell-bg: #111;
  --theme-cell-border: #444;
  --theme-cell-gutter: #222;
  --theme-cell-gutter-color: #999;
  --theme-cell-shadow-hover: var(--theme-primary-shadow-hover);
  --theme-cell-shadow-focus: var(--theme-primary-shadow-focus);

  --theme-cell-prompt-bg: var(--theme-primary-bg);
  --theme-cell-prompt-bg-hover: var(--theme-primary-bg);
  --theme-cell-prompt-bg-focus: var(--theme-primary-bg);

  --theme-cell-prompt-fg: var(--theme-primary-fg);
  --theme-cell-prompt-fg-hover: var(--theme-primary-fg-hover);
  --theme-cell-prompt-fg-focus: var(--theme-primary-fg-focus);

  --theme-cell-toolbar-bg: var(--theme-primary-bg);
  --theme-cell-toolbar-bg-hover: var(--theme-primary-bg-hover);
  --theme-cell-toolbar-bg-focus: var(--theme-primary-bg-focus);

  --theme-cell-toolbar-fg: var(--theme-secondary-fg);
  --theme-cell-toolbar-fg-hover: var(--theme-secondary-fg-hover);
  --theme-cell-toolbar-fg-focus: var(--theme-secondary-fg-focus);

  --theme-cell-menu-bg: var(--theme-primary-bg);
  --theme-cell-menu-bg-hover: var(--theme-primary-bg-hover);
  --theme-cell-menu-bg-focus: var(--theme-primary-bg-focus);

  --theme-cell-menu-fg: var(--theme-primary-fg);
  --theme-cell-menu-fg-hover: var(--theme-primary-fg-hover);
  --theme-cell-menu-fg-focus: var(--theme-primary-fg-focus);

  --theme-cell-input-bg: var(--theme-secondary-bg);
  --theme-cell-input-fg: var(--theme-app-fg);

  --theme-cell-output-bg: var(--theme-app-bg);
  --theme-cell-output-fg: var(--theme-primary-fg);

  --theme-cell-creator-bg: var(--theme-app-bg);

  --theme-cell-creator-fg: var(--theme-secondary-fg);
  --theme-cell-creator-fg-hover: var(--theme-secondary-fg-hover);
  --theme-cell-creator-fg-focus: var(--theme-secondary-fg-focus);
  
  --theme-error-fg: hsl(0, 100%, 95%);
  --theme-error-bg: hsl(0, 100%, 30%);

  --theme-pager-bg: #111;

  --cm-background: #111;
  --cm-color: #ecf0f1;

  --cm-gutter-bg: #777;

  --cm-comment: #aaa;
  --cm-keyword: hsl(204deg, 70%, 60%);
  --cm-string: #f1c40f;
  --cm-builtin: hsl(168deg, 76%, 45%);
  --cm-special: #1abc9c;
  --cm-variable: #ecf0f1;
  --cm-number: #2ecc71;
  --cm-meta: #95a5a6;
  --cm-link: #2ecc71;
  --cm-operator: #ecf0f1;
  --cm-def: #ecf0f1;

  --cm-activeline-bg: #e8f2ff;
  --cm-matchingbracket-outline: grey;
  --cm-matchingbracket-color: white;

  --cm-hint-color: var(--theme-app-fg);
  --cm-hint-color-active: var(--cm-color);
  --cm-hint-bg: var(--theme-app-bg);
  --cm-hint-bg-active: #111;

  --status-bar: #111;
  --theme-toolbar-background: #4E4E4E;
  --theme-toolbar-color: #FAFAFA;
  --theme-sidebar-background: #3A3A3A;
  --theme-sidebar-color: #FAFAFA;
  --theme-cell-menu-background: #2F2F2F;
}
`;exports.DarkTheme=DarkTheme;const LightTheme=styled_components_1.createGlobalStyle`
:root {
  --theme-app-bg: white;
  --theme-app-fg: var(--nt-color-midnight);
  --theme-app-border: var(--nt-color-grey-light);

  --theme-primary-bg: var(--nt-color-grey-lightest);
  --theme-primary-bg-hover: var(--nt-color-grey-lighter);
  --theme-primary-bg-focus: var(--nt-color-grey-light);

  --theme-primary-fg: var(--nt-color-midnight-light);
  --theme-primary-fg-hover: var(--nt-color-midnight);
  --theme-primary-fg-focus: var(--theme-app-fg);

  --theme-secondary-bg: var(--theme-primary-bg);
  --theme-secondary-bg-hover: var(--theme-primary-bg-hover);
  --theme-secondary-bg-focus: var(--theme-primary-bg-focus);

  --theme-secondary-fg: var(--nt-color-midnight-lighter);
  --theme-secondary-fg-hover: var(--nt-color-midnight-light);
  --theme-secondary-fg-focus: var(--theme-primary-fg);

  --theme-primary-shadow-hover: 1px  1px 3px rgba(0, 0, 0, 0.12),
    -1px -1px 3px rgba(0, 0, 0, 0.12);
  --theme-primary-shadow-focus: 3px  3px 9px rgba(0, 0, 0, 0.12),
    -3px -3px 9px rgba(0, 0, 0, 0.12);

  --theme-title-bar-bg: var(--theme-primary-bg-hover);

  --theme-menu-bg: var(--theme-primary-bg);
  --theme-menu-bg-hover: var(--theme-primary-bg-hover);
  --theme-menu-bg-focus: var(--theme-primary-bg-focus);
  --theme-menu-shadow: var(--theme-primary-shadow-hover);

  --theme-menu-fg: var(--theme-app-fg);
  --theme-menu-fg-hover: var(--theme-app-fg);
  --theme-menu-fg-focus: var(--theme-app-fg);

  --theme-cell-bg: var(--theme-app-bg);
  --theme-cell-border: #e2e5e7;
  --theme-cell-gutter: var(--nt-color-grey-lighter);
  --theme-cell-gutter-color: unset;
  --theme-cell-shadow-hover: var(--theme-primary-shadow-hover);
  --theme-cell-shadow-focus: var(--theme-primary-shadow-focus);

  --theme-cell-prompt-bg: var(--theme-primary-bg);
  --theme-cell-prompt-bg-hover: var(--theme-primary-bg-hover);
  --theme-cell-prompt-bg-focus: var(--theme-primary-bg-focus);

  --theme-cell-prompt-fg: var(--theme-secondary-fg);
  --theme-cell-prompt-fg-hover: var(--theme-secondary-fg-hover);
  --theme-cell-prompt-fg-focus: var(--theme-secondary-fg-focus);

  --theme-cell-toolbar-bg: var(--theme-primary-bg);
  --theme-cell-toolbar-bg-hover: var(--theme-primary-bg-hover);
  --theme-cell-toolbar-bg-focus: var(--theme-primary-bg-focus);

  --theme-cell-toolbar-fg: var(--theme-secondary-fg);
  --theme-cell-toolbar-fg-hover: var(--theme-secondary-fg-hover);
  --theme-cell-toolbar-fg-focus: var(--theme-secondary-fg-focus);

  --theme-cell-menu-bg: var(--theme-primary-bg);
  --theme-cell-menu-bg-hover: var(--theme-primary-bg-hover);
  --theme-cell-menu-bg-focus: var(--theme-primary-bg-focus);

  --theme-cell-menu-fg: var(--theme-primary-fg);
  --theme-cell-menu-fg-hover: var(--theme-primary-fg-hover);
  --theme-cell-menu-fg-focus: var(--theme-primary-fg-focus);

  --theme-cell-input-bg: var(--theme-secondary-bg);
  --theme-cell-input-fg: var(--theme-app-fg);

  --theme-cell-output-bg: var(--theme-app-bg);
  --theme-cell-output-fg: var(--theme-primary-fg);

  --theme-cell-creator-bg: var(--theme-app-bg);

  --theme-cell-creator-fg: var(--theme-secondary-fg);
  --theme-cell-creator-fg-hover: var(--theme-secondary-fg-hover);
  --theme-cell-creator-fg-focus: var(--theme-secondary-fg-focus);

  --theme-error-fg: hsl(0, 100%, 30%);
  --theme-error-bg: hsl(0, 100%, 95%);
  
  --theme-pager-bg: #fafafa;

  --cm-background: #fff;
  --cm-color: black;

  --cm-gutter-bg: white;

  --cm-comment: hsl(30deg, 29%, 30%);
  --cm-keyword: blue;
  --cm-string: hsl(0deg, 67%, 35%);
  --cm-builtin: hsl(180deg, 100%, 18%);
  --cm-special: hsl(190deg, 100%, 20%);
  --cm-variable: black;
  --cm-number: hsl(120deg, 54%, 25%);
  --cm-meta: #555;
  --cm-link: hsl(120deg, 54%, 25%);
  --cm-operator: black;
  --cm-def: black;

  --cm-activeline-bg: #e8f2ff;
  --cm-matchingbracket-outline: grey;
  --cm-matchingbracket-color: black;

  --cm-hint-color: var(--cm-color);
  --cm-hint-color-active: var(--cm-color);
  --cm-hint-bg: var(--theme-app-bg);
  --cm-hint-bg-active: #abd1ff;

  --status-bar: #eeedee;
  --theme-toolbar-background: #fff;
  --theme-toolbar-color: #757f88;
  --theme-sidebar-background: #e2e5e7;
  --theme-sidebar-color: #333;
  --theme-cell-menu-background: #29313a;
}
`;exports.LightTheme=LightTheme},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.KeyTag=void 0;const react_1=__importDefault(__webpack_require__(35));const classnames_1=__importDefault(__webpack_require__(76));exports.KeyTag=({children:children,mini:mini})=>react_1.default.createElement("div",{className:classnames_1.default("command-palette-key-tag",{mini:!!mini})},children)},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.ToolbarItem=void 0;const react_1=__importDefault(__webpack_require__(35));const classnames_1=__importDefault(__webpack_require__(76));exports.ToolbarItem=({image:image,text:text,showText:showText=true,showButton:showButton=true,onClick:onClick,buttonClassName:buttonClassName})=>{const className=classnames_1.default("toolbar-item",buttonClassName,{hidden:!showButton});return react_1.default.createElement("button",{onClick:onClick,className:className},image,react_1.default.createElement("span",{className:classnames_1.default({display:showText})},text))}},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Plus=exports.Play=exports.Pause=exports.Group=exports.Commands=exports.Clear=exports.ExpandSidebar=exports.Expand=exports.Collapse=void 0;const react_1=__importDefault(__webpack_require__(35));exports.Collapse=({className:className})=>react_1.default.createElement("svg",{width:"25px",height:"25px",viewBox:"0 0 25 25",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:className},react_1.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},react_1.default.createElement("g",{id:"SVG-Layer",transform:"translate(0.500000, 0.500000)"},react_1.default.createElement("rect",{fill:"#E2E5E7",fillRule:"nonzero",x:"0",y:"0",width:"24",height:"24",rx:"4"}),react_1.default.createElement("polyline",{stroke:"#757F88",strokeLinecap:"round",strokeLinejoin:"round",points:"14 11.5 12 9.5 10 11.5"}),react_1.default.createElement("polyline",{stroke:"#757F88",strokeLinecap:"round",strokeLinejoin:"round",points:"14 14.5 12 12.5 10 14.5"}))));exports.Expand=()=>react_1.default.createElement(exports.Collapse,{className:"toolbar-icon-flip"});exports.ExpandSidebar=({isSidebarVisible:isSidebarVisible})=>isSidebarVisible?react_1.default.createElement("svg",{width:"16",height:"22",viewBox:"0 0 16 22",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("path",{d:"M0 0H12C14.2091 0 16 1.79086 16 4V18C16 20.2091 14.2091 22 12 22H0V0Z",fill:"#E2E5E7"}),react_1.default.createElement("rect",{width:"5",height:"1",rx:"0.5",transform:"matrix(-1 0 0 1 12 8)",fill:"#29313A"}),react_1.default.createElement("rect",{width:"5",height:"1",rx:"0.5",transform:"matrix(-1 0 0 1 12 10)",fill:"#29313A"}),react_1.default.createElement("rect",{width:"5",height:"1",rx:"0.5",transform:"matrix(-1 0 0 1 12 12)",fill:"#29313A"}),react_1.default.createElement("path",{d:"M2.85729 10.2856L4.62138 9.22717C4.78801 9.1272 5 9.24722 5 9.44155L5 11.5585C5 11.7528 4.78801 11.8728 4.62138 11.7728L2.85729 10.7144C2.69545 10.6173 2.69545 10.3827 2.85729 10.2856Z",fill:"#29313A"})):react_1.default.createElement("svg",{width:"16px",height:"24px",viewBox:"0 0 16 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("title",null,"Group"),react_1.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},react_1.default.createElement("g",{id:"Group"},react_1.default.createElement("path",{d:"M12,0 C14.209139,-4.05812251e-16 16,1.790861 16,4 L16,20 C16,22.209139 14.209139,24 12,24 L0,24 L0,0 L12,0 Z",id:"Combined-Shape",fill:"#E2E5E7"}),react_1.default.createElement("g",{id:"Group-6",transform:"translate(4.000000, 10.000000)",fill:"#29313A",fillRule:"nonzero"},react_1.default.createElement("rect",{x:"0",y:"0",width:"5",height:"1",rx:"0.5"}),react_1.default.createElement("rect",{x:"0",y:"2",width:"5",height:"1",rx:"0.5"}),react_1.default.createElement("rect",{x:"0",y:"4",width:"5",height:"1",rx:"0.5"}),react_1.default.createElement("path",{d:"M9.1427,2.28563 L7.3786,1.22717 C7.212,1.1272 7,1.24722 7,1.44155 L7,3.55845 C7,3.75278 7.212,3.8728 7.3786,3.77283 L9.1427,2.71437 C9.3045,2.61727 9.3045,2.38273 9.1427,2.28563 Z"})))));exports.Clear=()=>react_1.default.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("title",null,"Group 4"),react_1.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},react_1.default.createElement("g",{id:"Group-4"},react_1.default.createElement("rect",{fill:"#E2E5E7",fillRule:"nonzero",x:"0",y:"0",width:"24",height:"24",rx:"4"}),react_1.default.createElement("line",{x1:"15.5",y1:"13.5",x2:"18.5",y2:"13.5",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("line",{x1:"14.5",y1:"11.5",x2:"18.5",y2:"11.5",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("line",{x1:"15.5",y1:"9.5",x2:"18.5",y2:"9.5",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("path",{d:"M9.165,11.0698 C10.026,10.5137 10.984,10.125 12,10.0001 C12,10.0001 11.646,10.7967 11.608,11.9803 C11.323,11.9491 10.989,11.8924 10.64,11.7949 C10.112,11.647 9.591,11.4165 9.165,11.0698 Z M8.339,11.6765 C6.222,13.4292 4.876,16.1465 5,18.0001 L7.948,18.0001 C7.605,17.2117 7.537,16.424 7.567,15.7939 C7.587,15.3713 7.651,15.0114 7.711,14.7556 C7.741,14.6274 7.77,14.5245 7.792,14.4518 C7.803,14.4155 7.812,14.3867 7.819,14.366 L7.828,14.3411 L7.83,14.3333 L7.831,14.3306 L7.832,14.3296 L7.832,14.3292 C7.832,14.329 7.832,14.3288 8.302,14.4999 C8.772,14.6711 8.772,14.6709 8.772,14.6708 L8.772,14.6714 L8.767,14.6838 C8.763,14.6959 8.757,14.7157 8.749,14.7426 C8.732,14.7963 8.709,14.8779 8.685,14.9826 C8.636,15.1926 8.583,15.4915 8.566,15.8415 C8.535,16.4829 8.629,17.2684 9.071,18.0001 L11.241,18.0001 C10.83,17.6235 10.552,17.2219 10.365,16.8487 C10.185,16.4886 10.094,16.1626 10.048,15.9226 C10.025,15.8024 10.013,15.7031 10.007,15.6309 C10.004,15.5947 10.002,15.5653 10.001,15.5432 C10.001,15.5322 10,15.5231 10,15.5158 L10,15.5065 L10,15.5029 L10,15.5014 L10,15.5007 C10,15.5004 10,15.5001 10.5,15.5001 C11,15.5001 11,15.4998 11,15.4995 L11,15.4989 L11,15.498 L11,15.4966 L11,15.4958 L11,15.5023 C11.001,15.51 11.001,15.5245 11.003,15.545 C11.007,15.5861 11.014,15.6508 11.03,15.7338 C11.062,15.9 11.127,16.1365 11.26,16.4015 C11.513,16.908 12.027,17.5488 13.099,18.0001 L15,18.0001 C12.659,16.361 11.852,14.5027 11.657,12.9899 C11.278,12.9568 10.831,12.8866 10.371,12.7579 C9.697,12.5692 8.946,12.2405 8.339,11.6765 Z",id:"Shape",fill:"#29313A"}),react_1.default.createElement("line",{x1:"11.376",y1:"10.7986",x2:"16.5",y2:"5.67474",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"round"}))));exports.Commands=()=>react_1.default.createElement("svg",{width:"22px",height:"25px",viewBox:"0 0 22 25",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("title",null,"Group"),react_1.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},react_1.default.createElement("g",{id:"Group",transform:"translate(0.000000, 0.292248)"},react_1.default.createElement("rect",{fillOpacity:"0",fill:"#D8D8D8",x:"0",y:"0.7077525",width:"22",height:"23"}),react_1.default.createElement("path",{d:"M0,20.5077525 L3.96,22.7077525 L11,18.7077525 L18.04,22.7077525 L22,20.5077525 L22,6.8677525 L11.977,1.2549925 C11.37,0.9150025 10.63,0.9150025 10.023,1.2549925 L0,6.8677525 L0,20.5077525 Z",fill:"#E2E5E7",fillRule:"nonzero"}),react_1.default.createElement("polygon",{fill:"#8F969D",fillRule:"nonzero",points:"10.998 12.0560525 5 9.0572525 10.998 5.7077525 16.995 9.0572525"}),react_1.default.createElement("polygon",{fill:"#29313A",fillRule:"nonzero",points:"5 9.0587625 10.998 12.0529525 10.998 18.4066525 5 15.4078525"}),react_1.default.createElement("polygon",{fill:"#BABFC4",fillRule:"nonzero",points:"16.995 9.0587625 10.997 12.0529525 10.997 18.4066525 16.995 15.4078525"}),react_1.default.createElement("path",{d:"M10.998,18.4021525 L10.998,12.0437525 M10.998,12.0437525 L5,9.0542525 M10.998,12.0437525 L17,9.0542525",id:"Shape",stroke:"#E2E5E7",strokeWidth:"1.5"}))));exports.Group=()=>react_1.default.createElement("svg",{width:"165",height:"24",viewBox:"0 0 165 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("rect",{x:"36",width:"24",height:"24",rx:"4",fill:"#E2E5E7"}),react_1.default.createElement("path",{d:"M52.1317 11.4573L45.9792 7.612C45.5529 7.34558 45 7.65204 45 8.15472V15.8453C45 16.348 45.5529 16.6544 45.9792 16.388L52.1316 12.5427C52.5327 12.2921 52.5327 11.7079 52.1317 11.4573Z",fill:"#29313A",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("rect",{x:"72",width:"24",height:"24",rx:"4",fill:"#E2E5E7"}),react_1.default.createElement("path",{d:"M81 15H82V9H81V15Z",fill:"#29313A",stroke:"#29313A",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M86 15H87V9H86V15Z",fill:"#29313A",stroke:"#29313A",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("rect",{x:"105",width:"24",height:"24",rx:"4",fill:"#E2E5E7"}),react_1.default.createElement("path",{d:"M120.5 13.5H123.5",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("path",{d:"M119.5 11.5H123.5",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("path",{d:"M120.5 9.5H123.5",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"bevel"}),react_1.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M114.165 11.0698C115.026 10.5137 115.984 10.125 117 10.0001C117 10.0001 116.646 10.7967 116.608 11.9803C116.323 11.9491 115.989 11.8924 115.64 11.7949C115.112 11.647 114.591 11.4165 114.165 11.0698ZM113.339 11.6765C111.222 13.4292 109.876 16.1465 110 18.0001H112.948C112.605 17.2117 112.537 16.424 112.567 15.7939C112.587 15.3713 112.651 15.0114 112.711 14.7556C112.741 14.6274 112.77 14.5245 112.792 14.4518C112.803 14.4155 112.812 14.3867 112.819 14.366L112.828 14.3411L112.83 14.3333L112.831 14.3306L112.832 14.3296L112.832 14.3292C112.832 14.329 112.832 14.3288 113.302 14.4999C113.772 14.6711 113.772 14.6709 113.772 14.6708L113.772 14.6714L113.767 14.6838C113.763 14.6959 113.757 14.7157 113.749 14.7426C113.732 14.7963 113.709 14.8779 113.685 14.9826C113.636 15.1926 113.583 15.4915 113.566 15.8415C113.535 16.4829 113.629 17.2684 114.071 18.0001H116.241C115.83 17.6235 115.552 17.2219 115.365 16.8487C115.185 16.4886 115.094 16.1626 115.048 15.9226C115.025 15.8024 115.013 15.7031 115.007 15.6309C115.004 15.5947 115.002 15.5653 115.001 15.5432C115.001 15.5322 115 15.5231 115 15.5158L115 15.5065L115 15.5029L115 15.5014L115 15.5007C115 15.5004 115 15.5001 115.5 15.5001C116 15.5001 116 15.4998 116 15.4995L116 15.4989L116 15.498L116 15.4966L116 15.4958L116 15.5023C116.001 15.51 116.001 15.5245 116.003 15.545C116.007 15.5861 116.014 15.6508 116.03 15.7338C116.062 15.9 116.127 16.1365 116.26 16.4015C116.513 16.908 117.027 17.5488 118.099 18.0001H120C117.659 16.361 116.852 14.5027 116.657 12.9899C116.278 12.9568 115.831 12.8866 115.371 12.7579C114.697 12.5692 113.946 12.2405 113.339 11.6765Z",fill:"#29313A"}),react_1.default.createElement("path",{d:"M116.376 10.7986L121.5 5.67474",stroke:"#29313A",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("rect",{width:"24",height:"24",rx:"4",fill:"#E2E5E7"}),react_1.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 8V16V8Z",fill:"#29313A"}),react_1.default.createElement("path",{d:"M12 8V16",stroke:"#29313A",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 12H16H8Z",fill:"#29313A"}),react_1.default.createElement("path",{d:"M8 12H16",stroke:"#29313A",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M142 20.8L145.96 23L153 19L160.04 23L164 20.8V7.16L153.977 1.54724C153.37 1.20725 152.63 1.20725 152.023 1.54724L142 7.16V20.8Z",fill:"#E2E5E7"}),react_1.default.createElement("path",{d:"M152.998 12.3483L147 9.3495L152.998 6L158.995 9.3495L152.998 12.3483Z",fill:"#8F969D"}),react_1.default.createElement("path",{d:"M147 9.35101L152.998 12.3452V18.6989L147 15.7001V9.35101Z",fill:"#29313A"}),react_1.default.createElement("path",{d:"M158.995 9.35101L152.997 12.3452V18.6989L158.995 15.7001V9.35101Z",fill:"#BABFC4"}),react_1.default.createElement("path",{d:"M152.998 18.6944V12.336M152.998 12.336L147 9.3465M152.998 12.336L159 9.3465",stroke:"#E2E5E7",strokeWidth:"1.5"}));exports.Pause=()=>react_1.default.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("title",null,"Group 3"),react_1.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},react_1.default.createElement("g",{id:"Group-3",fillRule:"nonzero"},react_1.default.createElement("rect",{fill:"#E2E5E7",x:"0",y:"0",width:"24",height:"24",rx:"4"}),react_1.default.createElement("polygon",{stroke:"#29313A",strokeWidth:"2",fill:"#29313A",strokeLinecap:"round",strokeLinejoin:"round",points:"9 15 10 15 10 9 9 9"}),react_1.default.createElement("polygon",{stroke:"#29313A",strokeWidth:"2",fill:"#29313A",strokeLinecap:"round",strokeLinejoin:"round",points:"14 15 15 15 15 9 14 9"}))));exports.Play=()=>react_1.default.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("title",null,"Group 2"),react_1.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},react_1.default.createElement("g",{id:"Group-2",fillRule:"nonzero"},react_1.default.createElement("rect",{fill:"#E2E5E7",x:"0",y:"0",width:"24",height:"24",rx:"4"}),react_1.default.createElement("path",{d:"M16.1317,11.4573 L9.9792,7.612 C9.5529,7.34558 9,7.65204 9,8.15472 L9,15.8453 C9,16.348 9.5529,16.6544 9.9792,16.388 L16.1316,12.5427 C16.5327,12.2921 16.5327,11.7079 16.1317,11.4573 Z",stroke:"#29313A",fill:"#29313A",strokeLinecap:"round",strokeLinejoin:"round"}))));exports.Plus=()=>react_1.default.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("title",null,"Group 5"),react_1.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},react_1.default.createElement("g",{id:"Group-5"},react_1.default.createElement("rect",{fill:"#E2E5E7",fillRule:"nonzero",x:"0",y:"0",width:"24",height:"24",rx:"4"}),react_1.default.createElement("path",{d:"M12,8 L12,16 L12,8 Z",fill:"#29313A"}),react_1.default.createElement("line",{x1:"12",y1:"8",x2:"12",y2:"16",stroke:"#29313A",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("path",{d:"M8,12 L16,12 L8,12 Z",fill:"#29313A"}),react_1.default.createElement("line",{x1:"8",y1:"12",x2:"16",y2:"12",stroke:"#29313A",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}))))},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const markdown_render_1=__importDefault(__webpack_require__(780));var markdown_previewer_1=__webpack_require__(1484);exports.MarkdownPreviewer=markdown_previewer_1.MarkdownPreviewer;exports.default=markdown_render_1.default},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const MathJax=__importStar(__webpack_require__(781));const presentational_components_1=__webpack_require__(223);const react_1=__importDefault(__webpack_require__(35));const react_markdown_1=__importDefault(__webpack_require__(1402));const remark_math_1=__importDefault(__webpack_require__(1480));const attachment_transformer_1=__importDefault(__webpack_require__(1483));const math=props=>react_1.default.createElement(MathJax.Node,null,props.value);const inlineMath=props=>react_1.default.createElement(MathJax.Node,{inline:true},props.value);const code=props=>react_1.default.createElement(presentational_components_1.Source,{language:props.language},props.value);const MarkdownRender=props=>{var _a;const newProps=Object.assign(Object.assign({},props),{className:`markdown-body ${(_a=props.className)!==null&&_a!==void 0?_a:""}`,renderers:Object.assign({code:code,inlineMath:inlineMath,math:math},props.renderers),plugins:[remark_math_1.default],astPlugins:[attachment_transformer_1.default(props.attachments)].concat(props.astPlugins?props.astPlugins:[])});return react_1.default.createElement(react_markdown_1.default,Object.assign({},newProps))};exports.default=MarkdownRender},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var node_1=__webpack_require__(1399);Object.defineProperty(exports,"Node",{enumerable:true,get:function(){return node_1.default}});var text_1=__webpack_require__(1401);Object.defineProperty(exports,"Text",{enumerable:true,get:function(){return text_1.default}});var context_1=__webpack_require__(173);Object.defineProperty(exports,"Context",{enumerable:true,get:function(){return context_1.default}});var provider_1=__webpack_require__(238);Object.defineProperty(exports,"Provider",{enumerable:true,get:function(){return provider_1.default}})},function(module,exports,__webpack_require__){"use strict";module.exports={position:true,gfm:true,commonmark:false,footnotes:false,pedantic:false,blocks:__webpack_require__(1428)}},function(module,exports,__webpack_require__){"use strict";module.exports=indentation;var characters={" ":1,"\t":4};function indentation(value){var index=0;var indent=0;var character=value.charAt(index);var stops={};var size;while(character in characters){size=characters[character];indent+=size;if(size>1){indent=Math.floor(indent/size)*size}stops[indent]=index;character=value.charAt(++index)}return{indent:indent,stops:stops}}},function(module,exports,__webpack_require__){"use strict";var attributeName="[a-zA-Z_:][a-zA-Z0-9:._-]*";var unquoted="[^\"'=<>`\\u0000-\\u0020]+";var singleQuoted="'[^']*'";var doubleQuoted='"[^"]*"';var attributeValue="(?:"+unquoted+"|"+singleQuoted+"|"+doubleQuoted+")";var attribute="(?:\\s+"+attributeName+"(?:\\s*=\\s*"+attributeValue+")?)";var openTag="<[A-Za-z][A-Za-z0-9\\-]*"+attribute+"*\\s*\\/?>";var closeTag="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var comment="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var processing="<[?].*?[?]>";var declaration="<![A-Za-z]+\\s+[^>]*>";var cdata="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";exports.openCloseTag=new RegExp("^(?:"+openTag+"|"+closeTag+")");exports.tag=new RegExp("^(?:"+openTag+"|"+closeTag+"|"+comment+"|"+processing+"|"+declaration+"|"+cdata+")")},function(module,exports,__webpack_require__){"use strict";module.exports=locate;function locate(value,fromIndex){return value.indexOf("<",fromIndex)}},function(module,exports,__webpack_require__){"use strict";module.exports=locate;function locate(value,fromIndex){var link=value.indexOf("[",fromIndex);var image=value.indexOf("![",fromIndex);if(image===-1){return link}return link<image?link:image}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));var _objType=_interopRequireDefault(__webpack_require__(1499));var _JSONObjectNode=_interopRequireDefault(__webpack_require__(1500));var _JSONArrayNode=_interopRequireDefault(__webpack_require__(1503));var _JSONIterableNode=_interopRequireDefault(__webpack_require__(1504));var _JSONValueNode=_interopRequireDefault(__webpack_require__(1505));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}var JSONNode=function JSONNode(_ref){var getItemString=_ref.getItemString,keyPath=_ref.keyPath,labelRenderer=_ref.labelRenderer,styling=_ref.styling,value=_ref.value,valueRenderer=_ref.valueRenderer,isCustomNode=_ref.isCustomNode,rest=_objectWithoutProperties(_ref,["getItemString","keyPath","labelRenderer","styling","value","valueRenderer","isCustomNode"]);var nodeType=isCustomNode(value)?"Custom":(0,_objType["default"])(value);var simpleNodeProps={getItemString:getItemString,key:keyPath[0],keyPath:keyPath,labelRenderer:labelRenderer,nodeType:nodeType,styling:styling,value:value,valueRenderer:valueRenderer};var nestedNodeProps=_objectSpread(_objectSpread(_objectSpread({},rest),simpleNodeProps),{},{data:value,isCustomNode:isCustomNode});switch(nodeType){case"Object":case"Error":case"WeakMap":case"WeakSet":return _react["default"].createElement(_JSONObjectNode["default"],nestedNodeProps);case"Array":return _react["default"].createElement(_JSONArrayNode["default"],nestedNodeProps);case"Iterable":case"Map":case"Set":return _react["default"].createElement(_JSONIterableNode["default"],nestedNodeProps);case"String":return _react["default"].createElement(_JSONValueNode["default"],_extends({},simpleNodeProps,{valueGetter:function valueGetter(raw){return'"'.concat(raw,'"')}}));case"Number":return _react["default"].createElement(_JSONValueNode["default"],simpleNodeProps);case"Boolean":return _react["default"].createElement(_JSONValueNode["default"],_extends({},simpleNodeProps,{valueGetter:function valueGetter(raw){return raw?"true":"false"}}));case"Date":return _react["default"].createElement(_JSONValueNode["default"],_extends({},simpleNodeProps,{valueGetter:function valueGetter(raw){return raw.toISOString()}}));case"Null":return _react["default"].createElement(_JSONValueNode["default"],_extends({},simpleNodeProps,{valueGetter:function valueGetter(){return"null"}}));case"Undefined":return _react["default"].createElement(_JSONValueNode["default"],_extends({},simpleNodeProps,{valueGetter:function valueGetter(){return"undefined"}}));case"Function":case"Symbol":return _react["default"].createElement(_JSONValueNode["default"],_extends({},simpleNodeProps,{valueGetter:function valueGetter(raw){return raw.toString()}}));case"Custom":return _react["default"].createElement(_JSONValueNode["default"],simpleNodeProps);default:return _react["default"].createElement(_JSONValueNode["default"],_extends({},simpleNodeProps,{valueGetter:function valueGetter(){return"<".concat(nodeType,">")}}))}};JSONNode.propTypes={getItemString:_propTypes["default"].func.isRequired,keyPath:_propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string,_propTypes["default"].number])).isRequired,labelRenderer:_propTypes["default"].func.isRequired,styling:_propTypes["default"].func.isRequired,value:_propTypes["default"].any,valueRenderer:_propTypes["default"].func.isRequired,isCustomNode:_propTypes["default"].func.isRequired};var _default=JSONNode;exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}var JSONArrow=function JSONArrow(_ref){var styling=_ref.styling,arrowStyle=_ref.arrowStyle,expanded=_ref.expanded,nodeType=_ref.nodeType,onClick=_ref.onClick;return _react["default"].createElement("div",_extends({},styling("arrowContainer",arrowStyle),{onClick:onClick}),_react["default"].createElement("div",styling(["arrow","arrowSign"],nodeType,expanded,arrowStyle),"▶",arrowStyle==="double"&&_react["default"].createElement("div",styling(["arrowSign","arrowSignInner"]),"▶")))};JSONArrow.propTypes={styling:_propTypes["default"].func.isRequired,arrowStyle:_propTypes["default"].oneOf(["single","double"]),expanded:_propTypes["default"].bool.isRequired,nodeType:_propTypes["default"].string.isRequired,onClick:_propTypes["default"].func.isRequired};JSONArrow.defaultProps={arrowStyle:"single"};var _default=JSONArrow;exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.invertTheme=exports.getBase16Theme=exports.createStyling=exports.invertBase16Theme=void 0;var _lodash=_interopRequireDefault(__webpack_require__(1507));var base16=_interopRequireWildcard(__webpack_require__(1508));var _rgb2hex=_interopRequireDefault(__webpack_require__(1546));var _parse=_interopRequireDefault(__webpack_require__(1547));var _lodash2=_interopRequireDefault(__webpack_require__(1552));var _colorConverters=__webpack_require__(1553);function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap;_getRequireWildcardCache=function _getRequireWildcardCache(){return cache};return cache}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj)}return newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){if(typeof Symbol==="undefined"||!(Symbol.iterator in Object(arr)))return;var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}var DEFAULT_BASE16=base16["default"];var BASE16_KEYS=Object.keys(DEFAULT_BASE16);var flip=function flip(x){return x<.25?1:x<.5?.9-x:1.1-x};var invertColor=(0,_lodash2["default"])(_parse["default"],_colorConverters.rgb2yuv,(function(_ref){var _ref2=_slicedToArray(_ref,3),y=_ref2[0],u=_ref2[1],v=_ref2[2];return[flip(y),u,v]}),_colorConverters.yuv2rgb,_rgb2hex["default"]);var merger=function merger(styling){return function(prevStyling){return{className:[prevStyling.className,styling.className].filter(Boolean).join(" "),style:_objectSpread(_objectSpread({},prevStyling.style||{}),styling.style||{})}}};var mergeStyling=function mergeStyling(customStyling,defaultStyling){if(customStyling===undefined){return defaultStyling}if(defaultStyling===undefined){return customStyling}var customType=_typeof(customStyling);var defaultType=_typeof(defaultStyling);switch(customType){case"string":switch(defaultType){case"string":return[defaultStyling,customStyling].filter(Boolean).join(" ");case"object":return merger({className:customStyling,style:defaultStyling});case"function":return function(styling){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}return merger({className:customStyling})(defaultStyling.apply(void 0,[styling].concat(args)))}}break;case"object":switch(defaultType){case"string":return merger({className:defaultStyling,style:customStyling});case"object":return _objectSpread(_objectSpread({},defaultStyling),customStyling);case"function":return function(styling){for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2]}return merger({style:customStyling})(defaultStyling.apply(void 0,[styling].concat(args)))}}break;case"function":switch(defaultType){case"string":return function(styling){for(var _len3=arguments.length,args=new Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++){args[_key3-1]=arguments[_key3]}return customStyling.apply(void 0,[merger(styling)({className:defaultStyling})].concat(args))};case"object":return function(styling){for(var _len4=arguments.length,args=new Array(_len4>1?_len4-1:0),_key4=1;_key4<_len4;_key4++){args[_key4-1]=arguments[_key4]}return customStyling.apply(void 0,[merger(styling)({style:defaultStyling})].concat(args))};case"function":return function(styling){for(var _len5=arguments.length,args=new Array(_len5>1?_len5-1:0),_key5=1;_key5<_len5;_key5++){args[_key5-1]=arguments[_key5]}return customStyling.apply(void 0,[defaultStyling.apply(void 0,[styling].concat(args))].concat(args))}}}};var mergeStylings=function mergeStylings(customStylings,defaultStylings){var keys=Object.keys(defaultStylings);for(var key in customStylings){if(keys.indexOf(key)===-1)keys.push(key)}return keys.reduce((function(mergedStyling,key){return mergedStyling[key]=mergeStyling(customStylings[key],defaultStylings[key]),mergedStyling}),{})};var getStylingByKeys=function getStylingByKeys(mergedStyling,keys){for(var _len6=arguments.length,args=new Array(_len6>2?_len6-2:0),_key6=2;_key6<_len6;_key6++){args[_key6-2]=arguments[_key6]}if(keys===null){return mergedStyling}if(!Array.isArray(keys)){keys=[keys]}var styles=keys.map((function(key){return mergedStyling[key]})).filter(Boolean);var props=styles.reduce((function(obj,s){if(typeof s==="string"){obj.className=[obj.className,s].filter(Boolean).join(" ")}else if(_typeof(s)==="object"){obj.style=_objectSpread(_objectSpread({},obj.style),s)}else if(typeof s==="function"){obj=_objectSpread(_objectSpread({},obj),s.apply(void 0,[obj].concat(args)))}return obj}),{className:"",style:{}});if(!props.className){delete props.className}if(Object.keys(props.style).length===0){delete props.style}return props};var invertBase16Theme=function invertBase16Theme(base16Theme){return Object.keys(base16Theme).reduce((function(t,key){return t[key]=/^base/.test(key)?invertColor(base16Theme[key]):key==="scheme"?base16Theme[key]+":inverted":base16Theme[key],t}),{})};exports.invertBase16Theme=invertBase16Theme;var createStyling=(0,_lodash["default"])((function(getStylingFromBase16){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var themeOrStyling=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var _options$defaultBase=options.defaultBase16,defaultBase16=_options$defaultBase===void 0?DEFAULT_BASE16:_options$defaultBase,_options$base16Themes=options.base16Themes,base16Themes=_options$base16Themes===void 0?null:_options$base16Themes;var base16Theme=getBase16Theme(themeOrStyling,base16Themes);if(base16Theme){themeOrStyling=_objectSpread(_objectSpread({},base16Theme),themeOrStyling)}var theme=BASE16_KEYS.reduce((function(t,key){return t[key]=themeOrStyling[key]||defaultBase16[key],t}),{});var customStyling=Object.keys(themeOrStyling).reduce((function(s,key){return BASE16_KEYS.indexOf(key)===-1?(s[key]=themeOrStyling[key],s):s}),{});var defaultStyling=getStylingFromBase16(theme);var mergedStyling=mergeStylings(customStyling,defaultStyling);for(var _len7=arguments.length,args=new Array(_len7>3?_len7-3:0),_key7=3;_key7<_len7;_key7++){args[_key7-3]=arguments[_key7]}return(0,_lodash["default"])(getStylingByKeys,2).apply(void 0,[mergedStyling].concat(args))}),3);exports.createStyling=createStyling;var getBase16Theme=function getBase16Theme(theme,base16Themes){if(theme&&theme.extend){theme=theme.extend}if(typeof theme==="string"){var _theme$split=theme.split(":"),_theme$split2=_slicedToArray(_theme$split,2),themeName=_theme$split2[0],modifier=_theme$split2[1];theme=(base16Themes||{})[themeName]||base16[themeName];if(modifier==="inverted"){theme=invertBase16Theme(theme)}}return theme&&Object.prototype.hasOwnProperty.call(theme,"base00")?theme:undefined};exports.getBase16Theme=getBase16Theme;var invertTheme=function invertTheme(theme){if(typeof theme==="string"){return"".concat(theme,":inverted")}if(theme&&theme.extend){if(typeof theme.extend==="string"){return _objectSpread(_objectSpread({},theme),{},{extend:"".concat(theme.extend,":inverted")})}return _objectSpread(_objectSpread({},theme),{},{extend:invertBase16Theme(theme.extend)})}if(theme){return invertBase16Theme(theme)}};exports.invertTheme=invertTheme},function(module,exports){var component=/-?\d+(\.\d+)?%?/g;function extractComponents(color){return color.match(component)}module.exports=extractComponents},,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;var _Provider=_interopRequireDefault(__webpack_require__(814));exports.Provider=_Provider["default"];var _connectAdvanced=_interopRequireDefault(__webpack_require__(268));exports.connectAdvanced=_connectAdvanced["default"];var _Context=__webpack_require__(94);exports.ReactReduxContext=_Context.ReactReduxContext;var _connect=_interopRequireDefault(__webpack_require__(823));exports.connect=_connect["default"];var _useDispatch=__webpack_require__(831);exports.useDispatch=_useDispatch.useDispatch;exports.createDispatchHook=_useDispatch.createDispatchHook;var _useSelector=__webpack_require__(832);exports.useSelector=_useSelector.useSelector;exports.createSelectorHook=_useSelector.createSelectorHook;var _useStore=__webpack_require__(273);exports.useStore=_useStore.useStore;exports.createStoreHook=_useStore.createStoreHook;var _shallowEqual=_interopRequireDefault(__webpack_require__(269));exports.shallowEqual=_shallowEqual["default"]},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];var _interopRequireWildcard=__webpack_require__(266)["default"];exports.__esModule=true;exports["default"]=void 0;var _react=_interopRequireWildcard(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(71));var _Context=__webpack_require__(94);var _Subscription=__webpack_require__(184);var _useIsomorphicLayoutEffect=__webpack_require__(185);function Provider(_ref){var store=_ref.store,context=_ref.context,children=_ref.children;var contextValue=(0,_react.useMemo)((function(){var subscription=(0,_Subscription.createSubscription)(store);subscription.onStateChange=subscription.notifyNestedSubs;return{store:store,subscription:subscription}}),[store]);var previousState=(0,_react.useMemo)((function(){return store.getState()}),[store]);(0,_useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)((function(){var subscription=contextValue.subscription;subscription.trySubscribe();if(previousState!==store.getState()){subscription.notifyNestedSubs()}return function(){subscription.tryUnsubscribe();subscription.onStateChange=null}}),[contextValue,previousState]);var Context=context||_Context.ReactReduxContext;return _react["default"].createElement(Context.Provider,{value:contextValue},children)}if(false){}var _default=Provider;exports["default"]=_default},function(module,exports){function _typeof(obj){"@babel/helpers - typeof";return module.exports=_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},module.exports.__esModule=true,module.exports["default"]=module.exports,_typeof(obj)}module.exports=_typeof,module.exports.__esModule=true,module.exports["default"]=module.exports},function(module,exports,__webpack_require__){"use strict";var ReactPropTypesSecret=__webpack_require__(817);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction;module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){if(secret===ReactPropTypesSecret){return}var err=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. "+"Use PropTypes.checkPropTypes() to call them. "+"Read more at http://fb.me/use-check-prop-types");err.name="Invariant Violation";throw err}shim.isRequired=shim;function getShim(){return shim}var ReactPropTypes={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};ReactPropTypes.PropTypes=ReactPropTypes;return ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret},function(module,exports,__webpack_require__){"use strict";var reactIs=__webpack_require__(819);var REACT_STATICS={childContextTypes:true,contextType:true,contextTypes:true,defaultProps:true,displayName:true,getDefaultProps:true,getDerivedStateFromError:true,getDerivedStateFromProps:true,mixins:true,propTypes:true,type:true};var KNOWN_STATICS={name:true,length:true,prototype:true,caller:true,callee:true,arguments:true,arity:true};var FORWARD_REF_STATICS={$$typeof:true,render:true,defaultProps:true,displayName:true,propTypes:true};var MEMO_STATICS={$$typeof:true,compare:true,defaultProps:true,displayName:true,propTypes:true,type:true};var TYPE_STATICS={};TYPE_STATICS[reactIs.ForwardRef]=FORWARD_REF_STATICS;TYPE_STATICS[reactIs.Memo]=MEMO_STATICS;function getStatics(component){if(reactIs.isMemo(component)){return MEMO_STATICS}return TYPE_STATICS[component["$$typeof"]]||REACT_STATICS}var defineProperty=Object.defineProperty;var getOwnPropertyNames=Object.getOwnPropertyNames;var getOwnPropertySymbols=Object.getOwnPropertySymbols;var getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;var getPrototypeOf=Object.getPrototypeOf;var objectPrototype=Object.prototype;function hoistNonReactStatics(targetComponent,sourceComponent,blacklist){if(typeof sourceComponent!=="string"){if(objectPrototype){var inheritedComponent=getPrototypeOf(sourceComponent);if(inheritedComponent&&inheritedComponent!==objectPrototype){hoistNonReactStatics(targetComponent,inheritedComponent,blacklist)}}var keys=getOwnPropertyNames(sourceComponent);if(getOwnPropertySymbols){keys=keys.concat(getOwnPropertySymbols(sourceComponent))}var targetStatics=getStatics(targetComponent);var sourceStatics=getStatics(sourceComponent);for(var i=0;i<keys.length;++i){var key=keys[i];if(!KNOWN_STATICS[key]&&!(blacklist&&blacklist[key])&&!(sourceStatics&&sourceStatics[key])&&!(targetStatics&&targetStatics[key])){var descriptor=getOwnPropertyDescriptor(sourceComponent,key);try{defineProperty(targetComponent,key,descriptor)}catch(e){}}}}return targetComponent}module.exports=hoistNonReactStatics},function(module,exports,__webpack_require__){"use strict";if(true){module.exports=__webpack_require__(820)}else{}},function(module,exports,__webpack_require__){"use strict";
/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z},function(module,exports,__webpack_require__){"use strict";if(true){module.exports=__webpack_require__(822)}else{}},function(module,exports,__webpack_require__){"use strict";
/** @license React v17.0.2
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;if("function"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x("react.element");c=x("react.portal");d=x("react.fragment");e=x("react.strict_mode");f=x("react.profiler");g=x("react.provider");h=x("react.context");k=x("react.forward_ref");l=x("react.suspense");m=x("react.suspense_list");n=x("react.memo");p=x("react.lazy");q=x("react.block");r=x("react.server.block");u=x("react.fundamental");v=x("react.debug_trace_mode");w=x("react.legacy_hidden")}function y(a){if("object"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;exports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};exports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||"object"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};exports.typeOf=y},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;exports.createConnect=createConnect;exports["default"]=void 0;var _extends2=_interopRequireDefault(__webpack_require__(186));var _objectWithoutPropertiesLoose2=_interopRequireDefault(__webpack_require__(187));var _connectAdvanced=_interopRequireDefault(__webpack_require__(268));var _shallowEqual=_interopRequireDefault(__webpack_require__(269));var _mapDispatchToProps=_interopRequireDefault(__webpack_require__(824));var _mapStateToProps=_interopRequireDefault(__webpack_require__(827));var _mergeProps=_interopRequireDefault(__webpack_require__(828));var _selectorFactory=_interopRequireDefault(__webpack_require__(829));var _excluded=["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"];function match(arg,factories,name){for(var i=factories.length-1;i>=0;i--){var result=factories[i](arg);if(result)return result}return function(dispatch,options){throw new Error("Invalid value of type "+typeof arg+" for "+name+" argument when connecting component "+options.wrappedComponentName+".")}}function strictEqual(a,b){return a===b}function createConnect(_temp){var _ref=_temp===void 0?{}:_temp,_ref$connectHOC=_ref.connectHOC,connectHOC=_ref$connectHOC===void 0?_connectAdvanced["default"]:_ref$connectHOC,_ref$mapStateToPropsF=_ref.mapStateToPropsFactories,mapStateToPropsFactories=_ref$mapStateToPropsF===void 0?_mapStateToProps["default"]:_ref$mapStateToPropsF,_ref$mapDispatchToPro=_ref.mapDispatchToPropsFactories,mapDispatchToPropsFactories=_ref$mapDispatchToPro===void 0?_mapDispatchToProps["default"]:_ref$mapDispatchToPro,_ref$mergePropsFactor=_ref.mergePropsFactories,mergePropsFactories=_ref$mergePropsFactor===void 0?_mergeProps["default"]:_ref$mergePropsFactor,_ref$selectorFactory=_ref.selectorFactory,selectorFactory=_ref$selectorFactory===void 0?_selectorFactory["default"]:_ref$selectorFactory;return function connect(mapStateToProps,mapDispatchToProps,mergeProps,_ref2){if(_ref2===void 0){_ref2={}}var _ref3=_ref2,_ref3$pure=_ref3.pure,pure=_ref3$pure===void 0?true:_ref3$pure,_ref3$areStatesEqual=_ref3.areStatesEqual,areStatesEqual=_ref3$areStatesEqual===void 0?strictEqual:_ref3$areStatesEqual,_ref3$areOwnPropsEqua=_ref3.areOwnPropsEqual,areOwnPropsEqual=_ref3$areOwnPropsEqua===void 0?_shallowEqual["default"]:_ref3$areOwnPropsEqua,_ref3$areStatePropsEq=_ref3.areStatePropsEqual,areStatePropsEqual=_ref3$areStatePropsEq===void 0?_shallowEqual["default"]:_ref3$areStatePropsEq,_ref3$areMergedPropsE=_ref3.areMergedPropsEqual,areMergedPropsEqual=_ref3$areMergedPropsE===void 0?_shallowEqual["default"]:_ref3$areMergedPropsE,extraOptions=(0,_objectWithoutPropertiesLoose2["default"])(_ref3,_excluded);var initMapStateToProps=match(mapStateToProps,mapStateToPropsFactories,"mapStateToProps");var initMapDispatchToProps=match(mapDispatchToProps,mapDispatchToPropsFactories,"mapDispatchToProps");var initMergeProps=match(mergeProps,mergePropsFactories,"mergeProps");return connectHOC(selectorFactory,(0,_extends2["default"])({methodName:"connect",getDisplayName:function getDisplayName(name){return"Connect("+name+")"},shouldHandleStateChanges:Boolean(mapStateToProps),initMapStateToProps:initMapStateToProps,initMapDispatchToProps:initMapDispatchToProps,initMergeProps:initMergeProps,pure:pure,areStatesEqual:areStatesEqual,areOwnPropsEqual:areOwnPropsEqual,areStatePropsEqual:areStatePropsEqual,areMergedPropsEqual:areMergedPropsEqual},extraOptions))}}var _default=createConnect();exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;exports["default"]=void 0;exports.whenMapDispatchToPropsIsFunction=whenMapDispatchToPropsIsFunction;exports.whenMapDispatchToPropsIsMissing=whenMapDispatchToPropsIsMissing;exports.whenMapDispatchToPropsIsObject=whenMapDispatchToPropsIsObject;var _bindActionCreators=_interopRequireDefault(__webpack_require__(825));var _wrapMapToProps=__webpack_require__(270);function whenMapDispatchToPropsIsFunction(mapDispatchToProps){return typeof mapDispatchToProps==="function"?(0,_wrapMapToProps.wrapMapToPropsFunc)(mapDispatchToProps,"mapDispatchToProps"):undefined}function whenMapDispatchToPropsIsMissing(mapDispatchToProps){return!mapDispatchToProps?(0,_wrapMapToProps.wrapMapToPropsConstant)((function(dispatch){return{dispatch:dispatch}})):undefined}function whenMapDispatchToPropsIsObject(mapDispatchToProps){return mapDispatchToProps&&typeof mapDispatchToProps==="object"?(0,_wrapMapToProps.wrapMapToPropsConstant)((function(dispatch){return(0,_bindActionCreators["default"])(mapDispatchToProps,dispatch)})):undefined}var _default=[whenMapDispatchToPropsIsFunction,whenMapDispatchToPropsIsMissing,whenMapDispatchToPropsIsObject];exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]=bindActionCreators;function bindActionCreators(actionCreators,dispatch){var boundActionCreators={};var _loop=function _loop(key){var actionCreator=actionCreators[key];if(typeof actionCreator==="function"){boundActionCreators[key]=function(){return dispatch(actionCreator.apply(void 0,arguments))}}};for(var key in actionCreators){_loop(key)}return boundActionCreators}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]=isPlainObject;function isPlainObject(obj){if(typeof obj!=="object"||obj===null)return false;var proto=Object.getPrototypeOf(obj);if(proto===null)return true;var baseProto=proto;while(Object.getPrototypeOf(baseProto)!==null){baseProto=Object.getPrototypeOf(baseProto)}return proto===baseProto}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]=void 0;exports.whenMapStateToPropsIsFunction=whenMapStateToPropsIsFunction;exports.whenMapStateToPropsIsMissing=whenMapStateToPropsIsMissing;var _wrapMapToProps=__webpack_require__(270);function whenMapStateToPropsIsFunction(mapStateToProps){return typeof mapStateToProps==="function"?(0,_wrapMapToProps.wrapMapToPropsFunc)(mapStateToProps,"mapStateToProps"):undefined}function whenMapStateToPropsIsMissing(mapStateToProps){return!mapStateToProps?(0,_wrapMapToProps.wrapMapToPropsConstant)((function(){return{}})):undefined}var _default=[whenMapStateToPropsIsFunction,whenMapStateToPropsIsMissing];exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;exports["default"]=void 0;exports.defaultMergeProps=defaultMergeProps;exports.whenMergePropsIsFunction=whenMergePropsIsFunction;exports.whenMergePropsIsOmitted=whenMergePropsIsOmitted;exports.wrapMergePropsFunc=wrapMergePropsFunc;var _extends2=_interopRequireDefault(__webpack_require__(186));var _verifyPlainObject=_interopRequireDefault(__webpack_require__(271));function defaultMergeProps(stateProps,dispatchProps,ownProps){return(0,_extends2["default"])({},ownProps,stateProps,dispatchProps)}function wrapMergePropsFunc(mergeProps){return function initMergePropsProxy(dispatch,_ref){var displayName=_ref.displayName,pure=_ref.pure,areMergedPropsEqual=_ref.areMergedPropsEqual;var hasRunOnce=false;var mergedProps;return function mergePropsProxy(stateProps,dispatchProps,ownProps){var nextMergedProps=mergeProps(stateProps,dispatchProps,ownProps);if(hasRunOnce){if(!pure||!areMergedPropsEqual(nextMergedProps,mergedProps))mergedProps=nextMergedProps}else{hasRunOnce=true;mergedProps=nextMergedProps;if(false){}}return mergedProps}}}function whenMergePropsIsFunction(mergeProps){return typeof mergeProps==="function"?wrapMergePropsFunc(mergeProps):undefined}function whenMergePropsIsOmitted(mergeProps){return!mergeProps?function(){return defaultMergeProps}:undefined}var _default=[whenMergePropsIsFunction,whenMergePropsIsOmitted];exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;exports["default"]=finalPropsSelectorFactory;exports.impureFinalPropsSelectorFactory=impureFinalPropsSelectorFactory;exports.pureFinalPropsSelectorFactory=pureFinalPropsSelectorFactory;var _objectWithoutPropertiesLoose2=_interopRequireDefault(__webpack_require__(187));var _verifySubselectors=_interopRequireDefault(__webpack_require__(830));var _excluded=["initMapStateToProps","initMapDispatchToProps","initMergeProps"];function impureFinalPropsSelectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch){return function impureFinalPropsSelector(state,ownProps){return mergeProps(mapStateToProps(state,ownProps),mapDispatchToProps(dispatch,ownProps),ownProps)}}function pureFinalPropsSelectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch,_ref){var areStatesEqual=_ref.areStatesEqual,areOwnPropsEqual=_ref.areOwnPropsEqual,areStatePropsEqual=_ref.areStatePropsEqual;var hasRunAtLeastOnce=false;var state;var ownProps;var stateProps;var dispatchProps;var mergedProps;function handleFirstCall(firstState,firstOwnProps){state=firstState;ownProps=firstOwnProps;stateProps=mapStateToProps(state,ownProps);dispatchProps=mapDispatchToProps(dispatch,ownProps);mergedProps=mergeProps(stateProps,dispatchProps,ownProps);hasRunAtLeastOnce=true;return mergedProps}function handleNewPropsAndNewState(){stateProps=mapStateToProps(state,ownProps);if(mapDispatchToProps.dependsOnOwnProps)dispatchProps=mapDispatchToProps(dispatch,ownProps);mergedProps=mergeProps(stateProps,dispatchProps,ownProps);return mergedProps}function handleNewProps(){if(mapStateToProps.dependsOnOwnProps)stateProps=mapStateToProps(state,ownProps);if(mapDispatchToProps.dependsOnOwnProps)dispatchProps=mapDispatchToProps(dispatch,ownProps);mergedProps=mergeProps(stateProps,dispatchProps,ownProps);return mergedProps}function handleNewState(){var nextStateProps=mapStateToProps(state,ownProps);var statePropsChanged=!areStatePropsEqual(nextStateProps,stateProps);stateProps=nextStateProps;if(statePropsChanged)mergedProps=mergeProps(stateProps,dispatchProps,ownProps);return mergedProps}function handleSubsequentCalls(nextState,nextOwnProps){var propsChanged=!areOwnPropsEqual(nextOwnProps,ownProps);var stateChanged=!areStatesEqual(nextState,state);state=nextState;ownProps=nextOwnProps;if(propsChanged&&stateChanged)return handleNewPropsAndNewState();if(propsChanged)return handleNewProps();if(stateChanged)return handleNewState();return mergedProps}return function pureFinalPropsSelector(nextState,nextOwnProps){return hasRunAtLeastOnce?handleSubsequentCalls(nextState,nextOwnProps):handleFirstCall(nextState,nextOwnProps)}}function finalPropsSelectorFactory(dispatch,_ref2){var initMapStateToProps=_ref2.initMapStateToProps,initMapDispatchToProps=_ref2.initMapDispatchToProps,initMergeProps=_ref2.initMergeProps,options=(0,_objectWithoutPropertiesLoose2["default"])(_ref2,_excluded);var mapStateToProps=initMapStateToProps(dispatch,options);var mapDispatchToProps=initMapDispatchToProps(dispatch,options);var mergeProps=initMergeProps(dispatch,options);if(false){}var selectorFactory=options.pure?pureFinalPropsSelectorFactory:impureFinalPropsSelectorFactory;return selectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch,options)}},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(79)["default"];exports.__esModule=true;exports["default"]=verifySubselectors;var _warning=_interopRequireDefault(__webpack_require__(272));function verify(selector,methodName,displayName){if(!selector){throw new Error("Unexpected value for "+methodName+" in "+displayName+".")}else if(methodName==="mapStateToProps"||methodName==="mapDispatchToProps"){if(!Object.prototype.hasOwnProperty.call(selector,"dependsOnOwnProps")){(0,_warning["default"])("The selector for "+methodName+" of "+displayName+" did not specify a value for dependsOnOwnProps.")}}}function verifySubselectors(mapStateToProps,mapDispatchToProps,mergeProps,displayName){verify(mapStateToProps,"mapStateToProps",displayName);verify(mapDispatchToProps,"mapDispatchToProps",displayName);verify(mergeProps,"mergeProps",displayName)}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.createDispatchHook=createDispatchHook;exports.useDispatch=void 0;var _Context=__webpack_require__(94);var _useStore=__webpack_require__(273);function createDispatchHook(context){if(context===void 0){context=_Context.ReactReduxContext}var useStore=context===_Context.ReactReduxContext?_useStore.useStore:(0,_useStore.createStoreHook)(context);return function useDispatch(){var store=useStore();return store.dispatch}}var useDispatch=createDispatchHook();exports.useDispatch=useDispatch},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.createSelectorHook=createSelectorHook;exports.useSelector=void 0;var _react=__webpack_require__(35);var _useReduxContext2=__webpack_require__(274);var _Subscription=__webpack_require__(184);var _useIsomorphicLayoutEffect=__webpack_require__(185);var _Context=__webpack_require__(94);var refEquality=function refEquality(a,b){return a===b};function useSelectorWithStoreAndSubscription(selector,equalityFn,store,contextSub){var _useReducer=(0,_react.useReducer)((function(s){return s+1}),0),forceRender=_useReducer[1];var subscription=(0,_react.useMemo)((function(){return(0,_Subscription.createSubscription)(store,contextSub)}),[store,contextSub]);var latestSubscriptionCallbackError=(0,_react.useRef)();var latestSelector=(0,_react.useRef)();var latestStoreState=(0,_react.useRef)();var latestSelectedState=(0,_react.useRef)();var storeState=store.getState();var selectedState;try{if(selector!==latestSelector.current||storeState!==latestStoreState.current||latestSubscriptionCallbackError.current){var newSelectedState=selector(storeState);if(latestSelectedState.current===undefined||!equalityFn(newSelectedState,latestSelectedState.current)){selectedState=newSelectedState}else{selectedState=latestSelectedState.current}}else{selectedState=latestSelectedState.current}}catch(err){if(latestSubscriptionCallbackError.current){err.message+="\nThe error may be correlated with this previous error:\n"+latestSubscriptionCallbackError.current.stack+"\n\n"}throw err}(0,_useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)((function(){latestSelector.current=selector;latestStoreState.current=storeState;latestSelectedState.current=selectedState;latestSubscriptionCallbackError.current=undefined}));(0,_useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)((function(){function checkForUpdates(){try{var newStoreState=store.getState();if(newStoreState===latestStoreState.current){return}var _newSelectedState=latestSelector.current(newStoreState);if(equalityFn(_newSelectedState,latestSelectedState.current)){return}latestSelectedState.current=_newSelectedState;latestStoreState.current=newStoreState}catch(err){latestSubscriptionCallbackError.current=err}forceRender()}subscription.onStateChange=checkForUpdates;subscription.trySubscribe();checkForUpdates();return function(){return subscription.tryUnsubscribe()}}),[store,subscription]);return selectedState}function createSelectorHook(context){if(context===void 0){context=_Context.ReactReduxContext}var useReduxContext=context===_Context.ReactReduxContext?_useReduxContext2.useReduxContext:function(){return(0,_react.useContext)(context)};return function useSelector(selector,equalityFn){if(equalityFn===void 0){equalityFn=refEquality}if(false){}var _useReduxContext=useReduxContext(),store=_useReduxContext.store,contextSub=_useReduxContext.subscription;var selectedState=useSelectorWithStoreAndSubscription(selector,equalityFn,store,contextSub);(0,_react.useDebugValue)(selectedState);return selectedState}}var useSelector=createSelectorHook();exports.useSelector=useSelector},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.unstable_batchedUpdates=void 0;var _reactDom=__webpack_require__(42);exports.unstable_batchedUpdates=_reactDom.unstable_batchedUpdates},function(module,exports,__webpack_require__){var e,t=this&&this.__extends||(e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)},function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}),n=this&&this.__generator||function(e,t){var n,r,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;u;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return u.label++,{value:o[1],done:!1};case 5:u.label++,r=o[1],o=[0];continue;case 7:o=u.ops.pop(),u.trys.pop();continue;default:if(!((i=(i=u.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){u=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){u.label=o[1];break}if(6===o[0]&&u.label<i[1]){u.label=i[1],i=o;break}if(i&&u.label<i[2]){u.label=i[2],u.ops.push(o);break}i[2]&&u.ops.pop(),u.trys.pop();continue}o=t.call(e,u)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},r=this&&this.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n<r;n++,i++)e[i]=t[n];return e},i=Object.create,o=Object.defineProperty,u=Object.defineProperties,a=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,f=Object.getOwnPropertyNames,l=Object.getOwnPropertySymbols,s=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,v=function(e,t,n){return t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n},y=function(e,t){for(var n in t||(t={}))d.call(t,n)&&v(e,n,t[n]);if(l)for(var r=0,i=l(t);r<i.length;r++)p.call(t,n=i[r])&&v(e,n,t[n]);return e},h=function(e,t){return u(e,c(t))},g=function(e){return o(e,"__esModule",{value:!0})},m=function(e,t,n){if(t&&"object"==typeof t||"function"==typeof t)for(var r=function(r){d.call(e,r)||"default"===r||o(e,r,{get:function(){return t[r]},enumerable:!(n=a(t,r))||n.enumerable})},i=0,u=f(t);i<u.length;i++)r(u[i]);return e},b=function(e){return m(g(o(null!=e?i(s(e)):{},"default",e&&e.__esModule&&"default"in e?{get:function(){return e.default},enumerable:!0}:{value:e,enumerable:!0})),e)};g(exports),function(e,t){for(var n in t)o(e,n,{get:t[n],enumerable:!0})}(exports,{MiddlewareArray:function(){return M},configureStore:function(){return N},createAction:function(){return z},createAsyncThunk:function(){return ie},createDraftSafeSelector:function(){return _},createEntityAdapter:function(){return Z},createImmutableStateInvariantMiddleware:function(){return R},createNextState:function(){return w.default},createReducer:function(){return B},createSelector:function(){return j.createSelector},createSerializableStateInvariantMiddleware:function(){return T},createSlice:function(){return F},current:function(){return w.current},findNonSerializableValue:function(){return C},freeze:function(){return w.freeze},getDefaultMiddleware:function(){return V},getType:function(){return W},isAllOf:function(){return ce},isAnyOf:function(){return ae},isAsyncThunkAction:function(){return ye},isDraft:function(){return w.isDraft},isFulfilled:function(){return ve},isImmutableDefault:function(){return D},isPending:function(){return se},isPlain:function(){return k},isPlainObject:function(){return q},isRejected:function(){return de},isRejectedWithValue:function(){return pe},miniSerializeError:function(){return re},nanoid:function(){return $},original:function(){return w.original},unwrapResult:function(){return oe}});var O=b(__webpack_require__(108));m(exports,b(__webpack_require__(137)));var w=b(__webpack_require__(108)),j=b(__webpack_require__(275)),E=b(__webpack_require__(108)),S=b(__webpack_require__(275)),_=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=S.createSelector.apply(void 0,e),i=function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];return n.apply(void 0,r([(0,E.isDraft)(e)?(0,E.current)(e):e],t))};return i},A=b(__webpack_require__(137)),P=b(__webpack_require__(137)),x="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?P.compose:P.compose.apply(null,arguments)};function q(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}"undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window;var I=b(__webpack_require__(838)),M=function(e){function n(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var i=e.apply(this,t)||this;return Object.setPrototypeOf(i,n.prototype),i}return t(n,e),Object.defineProperty(n,Symbol.species,{get:function(){return n},enumerable:!1,configurable:!0}),n.prototype.concat=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.prototype.concat.apply(this,t)},n.prototype.prepend=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===e.length&&Array.isArray(e[0])?new(n.bind.apply(n,r([void 0],e[0].concat(this)))):new(n.bind.apply(n,r([void 0],e.concat(this))))},n}(Array);function D(e){return"object"!=typeof e||null==e||Object.isFrozen(e)}function R(e){return void 0===e&&(e={}),function(){return function(e){return function(t){return e(t)}}}}function k(e){var t=typeof e;return"undefined"===t||null===e||"string"===t||"boolean"===t||"number"===t||Array.isArray(e)||q(e)}function C(e,t,n,r,i){var o;if(void 0===t&&(t=""),void 0===n&&(n=k),void 0===i&&(i=[]),!n(e))return{keyPath:t||"<root>",value:e};if("object"!=typeof e||null===e)return!1;for(var u=null!=r?r(e):Object.entries(e),a=i.length>0,c=0,f=u;c<f.length;c++){var l=f[c],s=l[0],d=l[1],p=t?t+"."+s:s;if(!(a&&i.indexOf(p)>=0)){if(!n(d))return{keyPath:p,value:d};if("object"==typeof d&&(o=C(d,p,n,r,i)))return o}}return!1}function T(e){return void 0===e&&(e={}),function(){return function(e){return function(t){return e(t)}}}}function V(e){void 0===e&&(e={});var t=e.thunk,n=void 0===t||t,r=new M;return n&&r.push("boolean"==typeof n?I.default:I.default.withExtraArgument(n.extraArgument)),r}function N(e){var t,n=function(e){return V(e)},i=e||{},o=i.reducer,u=void 0===o?void 0:o,a=i.middleware,c=void 0===a?n():a,f=i.devTools,l=void 0===f||f,s=i.preloadedState,d=void 0===s?void 0:s,p=i.enhancers,v=void 0===p?void 0:p;if("function"==typeof u)t=u;else{if(!q(u))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');t=(0,A.combineReducers)(u)}var h=c;"function"==typeof h&&(h=h(n));var g=A.applyMiddleware.apply(void 0,h),m=A.compose;l&&(m=x(y({trace:!1},"object"==typeof l&&l)));var b=[g];Array.isArray(v)?b=r([g],v):"function"==typeof v&&(b=v(b));var O=m.apply(void 0,b);return(0,A.createStore)(t,d,O)}function z(e,t){function n(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];if(t){var i=t.apply(void 0,n);if(!i)throw new Error("prepareAction did not return an object");return y(y({type:e,payload:i.payload},"meta"in i&&{meta:i.meta}),"error"in i&&{error:i.error})}return{type:e,payload:n[0]}}return n.toString=function(){return""+e},n.type=e,n.match=function(t){return t.type===e},n}function L(e){return["type","payload","error","meta"].indexOf(e)>-1}function W(e){return""+e}var X=b(__webpack_require__(108));function U(e){var t,n={},r=[],i={addCase:function(e,t){var r="string"==typeof e?e:e.type;if(r in n)throw new Error("addCase cannot be called with two reducers for the same action type");return n[r]=t,i},addMatcher:function(e,t){return r.push({matcher:e,reducer:t}),i},addDefaultCase:function(e){return t=e,i}};return e(i),[n,r,t]}function B(e,t,n,i){void 0===n&&(n=[]);var o="function"==typeof t?U(t):[t,n,i],u=o[0],a=o[1],c=o[2],f=(0,X.default)(e,(function(){}));return function(e,t){void 0===e&&(e=f);var n=r([u[t.type]],a.filter((function(e){return(0,e.matcher)(t)})).map((function(e){return e.reducer})));return 0===n.filter((function(e){return!!e})).length&&(n=[c]),n.reduce((function(e,n){if(n){var r;if((0,X.isDraft)(e))return void 0===(r=n(e,t))?e:r;if((0,X.isDraftable)(e))return(0,X.default)(e,(function(e){return n(e,t)}));if(void 0===(r=n(e,t))){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}return e}),e)}}function F(e){var t=e.name,n=e.initialState;if(!t)throw new Error("`name` is a required option for createSlice");var r=e.reducers||{},i="function"==typeof e.extraReducers?U(e.extraReducers):[e.extraReducers],o=i[0],u=void 0===o?{}:o,a=i[1],c=void 0===a?[]:a,f=i[2],l=void 0===f?void 0:f,s=Object.keys(r),d={},p={},v={};s.forEach((function(e){var n,i,o=r[e],u=t+"/"+e;"reducer"in o?(n=o.reducer,i=o.prepare):n=o,d[e]=n,p[u]=n,v[e]=i?z(u,i):z(u)}));var h=B(n,y(y({},u),p),c,l);return{name:t,reducer:h,actions:v,caseReducers:d}}var G=b(__webpack_require__(108));function H(e){return function(t,n){var r=function(t){var r;q(r=n)&&"string"==typeof r.type&&Object.keys(r).every(L)?e(n.payload,t):e(n,t)};return(0,G.isDraft)(t)?(r(t),t):(0,G.default)(t,r)}}function J(e,t){return t(e)}function K(e){return Array.isArray(e)||(e=Object.values(e)),e}function Q(e,t,n){for(var r=[],i=[],o=0,u=e=K(e);o<u.length;o++){var a=u[o],c=J(a,t);c in n.entities?i.push({id:c,changes:a}):r.push(a)}return[r,i]}function Y(e){function t(t,n){var r=J(t,e);r in n.entities||(n.ids.push(r),n.entities[r]=t)}function n(e,n){for(var r=0,i=e=K(e);r<i.length;r++)t(i[r],n)}function r(t,n){var r=J(t,e);r in n.entities||n.ids.push(r),n.entities[r]=t}function i(e,t){var n=!1;e.forEach((function(e){e in t.entities&&(delete t.entities[e],n=!0)})),n&&(t.ids=t.ids.filter((function(e){return e in t.entities})))}function o(t,n){var r={},i={};t.forEach((function(e){e.id in n.entities&&(i[e.id]={id:e.id,changes:y(y({},i[e.id]?i[e.id].changes:null),e.changes)})})),(t=Object.values(i)).length>0&&t.filter((function(t){return function(t,n,r){var i=Object.assign({},r.entities[n.id],n.changes),o=J(i,e),u=o!==n.id;return u&&(t[n.id]=o,delete r.entities[n.id]),r.entities[o]=i,u}(r,t,n)})).length>0&&(n.ids=n.ids.map((function(e){return r[e]||e})))}function u(t,r){var i=Q(t,e,r),u=i[0];o(i[1],r),n(u,r)}return{removeAll:(a=function(e){Object.assign(e,{ids:[],entities:{}})},c=H((function(e,t){return a(t)})),function(e){return c(e,void 0)}),addOne:H(t),addMany:H(n),setOne:H(r),setMany:H((function(e,t){for(var n=0,i=e=K(e);n<i.length;n++)r(i[n],t)})),setAll:H((function(e,t){e=K(e),t.ids=[],t.entities={},n(e,t)})),updateOne:H((function(e,t){return o([e],t)})),updateMany:H(o),upsertOne:H((function(e,t){return u([e],t)})),upsertMany:H(u),removeOne:H((function(e,t){return i([e],t)})),removeMany:H(i)};var a,c}function Z(e){void 0===e&&(e={});var t=y({sortComparer:!1,selectId:function(e){return e.id}},e),n=t.selectId,r=t.sortComparer,i={getInitialState:function(e){return void 0===e&&(e={}),Object.assign({ids:[],entities:{}},e)}},o={getSelectors:function(e){var t=function(e){return e.ids},n=function(e){return e.entities},r=_(t,n,(function(e,t){return e.map((function(e){return t[e]}))})),i=function(e,t){return t},o=function(e,t){return e[t]},u=_(t,(function(e){return e.length}));if(!e)return{selectIds:t,selectEntities:n,selectAll:r,selectTotal:u,selectById:_(n,i,o)};var a=_(e,n);return{selectIds:_(e,t),selectEntities:a,selectAll:_(e,r),selectTotal:_(e,u),selectById:_(a,i,o)}}},u=r?function(e,t){var n=Y(e);function r(t,n){var r=(t=K(t)).filter((function(t){return!(J(t,e)in n.entities)}));0!==r.length&&a(r,n)}function i(e,t){0!==(e=K(e)).length&&a(e,t)}function o(t,n){var r=[];t.forEach((function(t){return function(t,n,r){if(!(n.id in r.entities))return!1;var i=Object.assign({},r.entities[n.id],n.changes),o=J(i,e);return delete r.entities[n.id],t.push(i),o!==n.id}(r,t,n)})),0!==r.length&&a(r,n)}function u(t,n){var i=Q(t,e,n),u=i[0];o(i[1],n),r(u,n)}function a(n,r){n.forEach((function(t){r.entities[e(t)]=t}));var i=Object.values(r.entities);i.sort(t);var o=i.map(e);(function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length&&n<t.length;n++)if(e[n]!==t[n])return!1;return!0})(r.ids,o)||(r.ids=o)}return{removeOne:n.removeOne,removeMany:n.removeMany,removeAll:n.removeAll,addOne:H((function(e,t){return r([e],t)})),updateOne:H((function(e,t){return o([e],t)})),upsertOne:H((function(e,t){return u([e],t)})),setOne:H((function(e,t){return i([e],t)})),setMany:H(i),setAll:H((function(e,t){e=K(e),t.entities={},t.ids=[],r(e,t)})),addMany:H(r),updateMany:H(o),upsertMany:H(u)}}(n,r):Y(n);return y(y(y({selectId:n,sortComparer:r},i),o),u)}var $=function(e){void 0===e&&(e=21);for(var t="",n=e;n--;)t+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return t},ee=["name","message","stack","code"],te=function(e,t){this.payload=e,this.meta=t},ne=function(e,t){this.payload=e,this.meta=t},re=function(e){if("object"==typeof e&&null!==e){for(var t={},n=0,r=ee;n<r.length;n++){var i=r[n];"string"==typeof e[i]&&(t[i]=e[i])}return t}return{message:String(e)}};function ie(e,t,r){var i=z(e+"/fulfilled",(function(e,t,n,r){return{payload:e,meta:h(y({},r||{}),{arg:n,requestId:t,requestStatus:"fulfilled"})}})),o=z(e+"/pending",(function(e,t,n){return{payload:void 0,meta:h(y({},n||{}),{arg:t,requestId:e,requestStatus:"pending"})}})),u=z(e+"/rejected",(function(e,t,n,i,o){return{payload:i,error:(r&&r.serializeError||re)(e||"Rejected"),meta:h(y({},o||{}),{arg:n,requestId:t,rejectedWithValue:!!i,requestStatus:"rejected",aborted:"AbortError"===(null==e?void 0:e.name),condition:"ConditionError"===(null==e?void 0:e.name)})}})),a="undefined"!=typeof AbortController?AbortController:function(){function e(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){}}}return e.prototype.abort=function(){},e}();return Object.assign((function(e){return function(c,f,l){var s,d,p=(null!=(s=null==r?void 0:r.idGenerator)?s:$)(),v=new a,y=new Promise((function(e,t){return v.signal.addEventListener("abort",(function(){return t({name:"AbortError",message:d||"Aborted"})}))})),h=!1,g=function(){return a=this,s=function(){var a,s,d;return n(this,(function(n){switch(n.label){case 0:if(n.trys.push([0,2,,3]),r&&r.condition&&!1===r.condition(e,{getState:f,extra:l}))throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return h=!0,c(o(p,e,null==(a=null==r?void 0:r.getPendingMeta)?void 0:a.call(r,{requestId:p,arg:e},{getState:f,extra:l}))),[4,Promise.race([y,Promise.resolve(t(e,{dispatch:c,getState:f,extra:l,requestId:p,signal:v.signal,rejectWithValue:function(e,t){return new te(e,t)},fulfillWithValue:function(e,t){return new ne(e,t)}})).then((function(t){if(t instanceof te)throw t;return t instanceof ne?i(t.payload,p,e,t.meta):i(t,p,e)}))])];case 1:return s=n.sent(),[3,3];case 2:return d=n.sent(),s=d instanceof te?u(null,p,e,d.payload,d.meta):u(d,p,e),[3,3];case 3:return r&&!r.dispatchConditionRejection&&u.match(s)&&s.meta.condition||c(s),[2,s]}}))},new Promise((function(e,t){var n=function(e){try{i(s.next(e))}catch(e){t(e)}},r=function(e){try{i(s.throw(e))}catch(e){t(e)}},i=function(t){return t.done?e(t.value):Promise.resolve(t.value).then(n,r)};i((s=s.apply(a,null)).next())}));var a,s}();return Object.assign(g,{abort:function(e){h&&(d=e,v.abort())},requestId:p,arg:e,unwrap:function(){return g.then(oe)}})}}),{pending:o,rejected:u,fulfilled:i,typePrefix:e})}function oe(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}var ue=function(e,t){return(n=e)&&"function"==typeof n.match?e.match(t):e(t);var n};function ae(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return e.some((function(e){return ue(e,t)}))}}function ce(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return e.every((function(e){return ue(e,t)}))}}function fe(e,t){if(!e||!e.meta)return!1;var n="string"==typeof e.meta.requestId,r=t.indexOf(e.meta.requestStatus)>-1;return n&&r}function le(e){return"function"==typeof e[0]&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function se(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 0===e.length?function(e){return fe(e,["pending"])}:le(e)?function(t){var n=e.map((function(e){return e.pending}));return ae.apply(void 0,n)(t)}:se()(e[0])}function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 0===e.length?function(e){return fe(e,["rejected"])}:le(e)?function(t){var n=e.map((function(e){return e.rejected}));return ae.apply(void 0,n)(t)}:de()(e[0])}function pe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return e&&e.meta&&e.meta.rejectedWithValue};return 0===e.length||le(e)?function(t){return ce(de.apply(void 0,e),n)(t)}:pe()(e[0])}function ve(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 0===e.length?function(e){return fe(e,["fulfilled"])}:le(e)?function(t){var n=e.map((function(e){return e.fulfilled}));return ae.apply(void 0,n)(t)}:ve()(e[0])}function ye(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 0===e.length?function(e){return fe(e,["pending","fulfilled","rejected"])}:le(e)?function(t){for(var n=[],r=0,i=e;r<i.length;r++){var o=i[r];n.push(o.pending,o.rejected,o.fulfilled)}return ae.apply(void 0,n)(t)}:ye()(e[0])}(0,O.enableES5)()},function(module,exports){function t(t){for(var n=arguments.length,r=Array(n>1?n-1:0),e=1;e<n;e++)r[e-1]=arguments[e];throw Error("[Immer] minified error nr: "+t+(r.length?" "+r.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function n(t){return!!t&&!!t[H]}function r(t){return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var n=Object.getPrototypeOf(t);if(null===n)return!0;var r=Object.hasOwnProperty.call(n,"constructor")&&n.constructor;return r===Object||"function"==typeof r&&Function.toString.call(r)===Q}(t)||Array.isArray(t)||!!t[G]||!!t.constructor[G]||c(t)||v(t))}function e(t,n,r){void 0===r&&(r=!1),0===i(t)?(r?Object.keys:T)(t).forEach((function(e){r&&"symbol"==typeof e||n(e,t[e],t)})):t.forEach((function(r,e){return n(e,r,t)}))}function i(t){var n=t[H];return n?n.t>3?n.t-4:n.t:Array.isArray(t)?1:c(t)?2:v(t)?3:0}function u(t,n){return 2===i(t)?t.has(n):Object.prototype.hasOwnProperty.call(t,n)}function o(t,n){return 2===i(t)?t.get(n):t[n]}function f(t,n,r){var e=i(t);2===e?t.set(n,r):3===e?(t.delete(n),t.add(r)):t[n]=r}function a(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}function c(t){return W&&t instanceof Map}function v(t){return X&&t instanceof Set}function s(t){return t.i||t.u}function p(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var n=U(t);delete n[H];for(var r=T(n),e=0;e<r.length;e++){var i=r[e],u=n[i];!1===u.writable&&(u.writable=!0,u.configurable=!0),(u.get||u.set)&&(n[i]={configurable:!0,writable:!0,enumerable:u.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),n)}function l(t,u){return void 0===u&&(u=!1),d(t)||n(t)||!r(t)?t:(i(t)>1&&(t.set=t.add=t.clear=t.delete=h),Object.freeze(t),u&&e(t,(function(t,n){return l(n,!0)}),!0),t)}function h(){t(2)}function d(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function y(n){var r=V[n];return r||t(18,n),r}function _(t,n){V[t]||(V[t]=n)}function b(){return J}function m(t,n){n&&(y("Patches"),t.o=[],t.v=[],t.s=n)}function j(t){O(t),t.p.forEach(w),t.p=null}function O(t){t===J&&(J=t.l)}function x(t){return J={p:[],l:J,h:t,_:!0,m:0}}function w(t){var n=t[H];0===n.t||1===n.t?n.j():n.O=!0}function S(n,e){e.m=e.p.length;var i=e.p[0],u=void 0!==n&&n!==i;return e.h.S||y("ES5").M(e,n,u),u?(i[H].P&&(j(e),t(4)),r(n)&&(n=M(e,n),e.l||g(e,n)),e.o&&y("Patches").g(i[H],n,e.o,e.v)):n=M(e,i,[]),j(e),e.o&&e.s(e.o,e.v),n!==B?n:void 0}function M(t,n,r){if(d(n))return n;var i=n[H];if(!i)return e(n,(function(e,u){return P(t,i,n,e,u,r)}),!0),n;if(i.A!==t)return n;if(!i.P)return g(t,i.u,!0),i.u;if(!i.R){i.R=!0,i.A.m--;var u=4===i.t||5===i.t?i.i=p(i.k):i.i;e(3===i.t?new Set(u):u,(function(n,e){return P(t,i,u,n,e,r)})),g(t,u,!1),r&&t.o&&y("Patches").F(i,r,t.o,t.v)}return i.i}function P(t,e,i,o,a,c){if(n(a)){var v=M(t,a,c&&e&&3!==e.t&&!u(e.D,o)?c.concat(o):void 0);if(f(i,o,v),!n(v))return;t._=!1}if(r(a)&&!d(a)){if(!t.h.K&&t.m<1)return;M(t,a),e&&e.A.l||g(t,a)}}function g(t,n,r){void 0===r&&(r=!1),t.h.K&&t._&&l(n,r)}function A(t,n){var r=t[H];return(r?s(r):t)[n]}function z(t,n){if(n in t)for(var r=Object.getPrototypeOf(t);r;){var e=Object.getOwnPropertyDescriptor(r,n);if(e)return e;r=Object.getPrototypeOf(r)}}function E(t){t.P||(t.P=!0,t.l&&E(t.l))}function R(t){t.i||(t.i=p(t.u))}function k(t,n,r){var e=c(n)?y("MapSet").$(n,r):v(n)?y("MapSet").C(n,r):t.S?function(t,n){var r=Array.isArray(t),e={t:r?1:0,A:n?n.A:b(),P:!1,R:!1,D:{},l:n,u:t,k:null,i:null,j:null,I:!1},i=e,u=Y;r&&(i=[e],u=Z);var o=Proxy.revocable(i,u),f=o.revoke,a=o.proxy;return e.k=a,e.j=f,a}(n,r):y("ES5").J(n,r);return(r?r.A:b()).p.push(e),e}function F(u){return n(u)||t(22,u),function t(n){if(!r(n))return n;var u,a=n[H],c=i(n);if(a){if(!a.P&&(a.t<4||!y("ES5").N(a)))return a.u;a.R=!0,u=D(n,c),a.R=!1}else u=D(n,c);return e(u,(function(n,r){a&&o(a.u,n)===r||f(u,n,t(r))})),3===c?new Set(u):u}(u)}function D(t,n){switch(n){case 2:return new Map(t);case 3:return Array.from(t)}return p(t)}function K(){function t(t,n){var r=f[t];return r?r.enumerable=n:f[t]=r={configurable:!0,enumerable:n,get:function(){return Y.get(this[H],t)},set:function(n){Y.set(this[H],t,n)}},r}function r(t){for(var n=t.length-1;n>=0;n--){var r=t[n][H];if(!r.P)switch(r.t){case 5:o(r)&&E(r);break;case 4:i(r)&&E(r)}}}function i(t){for(var n=t.u,r=t.k,e=T(r),i=e.length-1;i>=0;i--){var o=e[i];if(o!==H){var f=n[o];if(void 0===f&&!u(n,o))return!0;var c=r[o],v=c&&c[H];if(v?v.u!==f:!a(c,f))return!0}}var s=!!n[H];return e.length!==T(n).length+(s?0:1)}function o(t){var n=t.k;if(n.length!==t.u.length)return!0;var r=Object.getOwnPropertyDescriptor(n,n.length-1);return!(!r||r.get)}var f={};_("ES5",{J:function(n,r){var e=Array.isArray(n),i=function(n,r){if(n){for(var e=Array(r.length),i=0;i<r.length;i++)Object.defineProperty(e,""+i,t(i,!0));return e}var u=U(r);delete u[H];for(var o=T(u),f=0;f<o.length;f++){var a=o[f];u[a]=t(a,n||!!u[a].enumerable)}return Object.create(Object.getPrototypeOf(r),u)}(e,n),u={t:e?5:4,A:r?r.A:b(),P:!1,R:!1,D:{},l:r,u:n,k:i,i:null,O:!1,I:!1};return Object.defineProperty(i,H,{value:u,writable:!0}),i},M:function(t,i,f){f?n(i)&&i[H].A===t&&r(t.p):(t.o&&function t(n){if(n&&"object"==typeof n){var r=n[H];if(r){var i=r.u,f=r.k,a=r.D,c=r.t;if(4===c)e(f,(function(n){n!==H&&(void 0!==i[n]||u(i,n)?a[n]||t(f[n]):(a[n]=!0,E(r)))})),e(i,(function(t){void 0!==f[t]||u(f,t)||(a[t]=!1,E(r))}));else if(5===c){if(o(r)&&(E(r),a.length=!0),f.length<i.length)for(var v=f.length;v<i.length;v++)a[v]=!1;else for(var s=i.length;s<f.length;s++)a[s]=!0;for(var p=Math.min(f.length,i.length),l=0;l<p;l++)void 0===a[l]&&t(f[l])}}}}(t.p[0]),r(t.p))},N:function(t){return 4===t.t?i(t):o(t)}})}function $(){function f(t){if(!r(t))return t;if(Array.isArray(t))return t.map(f);if(c(t))return new Map(Array.from(t.entries()).map((function(t){return[t[0],f(t[1])]})));if(v(t))return new Set(Array.from(t).map(f));var n=Object.create(Object.getPrototypeOf(t));for(var e in t)n[e]=f(t[e]);return u(t,G)&&(n[G]=t[G]),n}function a(t){return n(t)?f(t):t}var s="add";_("Patches",{W:function(n,r){return r.forEach((function(r){for(var e=r.path,u=r.op,a=n,c=0;c<e.length-1;c++){var v=i(a),p=""+e[c];0!==v&&1!==v||"__proto__"!==p&&"constructor"!==p||t(24),"function"==typeof a&&"prototype"===p&&t(24),"object"!=typeof(a=o(a,p))&&t(15,e.join("/"))}var l=i(a),h=f(r.value),d=e[e.length-1];switch(u){case"replace":switch(l){case 2:return a.set(d,h);case 3:t(16);default:return a[d]=h}case s:switch(l){case 1:return a.splice(d,0,h);case 2:return a.set(d,h);case 3:return a.add(h);default:return a[d]=h}case"remove":switch(l){case 1:return a.splice(d,1);case 2:return a.delete(d);case 3:return a.delete(r.value);default:return delete a[d]}default:t(17,u)}})),n},F:function(t,n,r,i){switch(t.t){case 0:case 4:case 2:return function(t,n,r,i){var f=t.u,c=t.i;e(t.D,(function(t,e){var v=o(f,t),p=o(c,t),l=e?u(f,t)?"replace":s:"remove";if(v!==p||"replace"!==l){var h=n.concat(t);r.push("remove"===l?{op:l,path:h}:{op:l,path:h,value:p}),i.push(l===s?{op:"remove",path:h}:"remove"===l?{op:s,path:h,value:a(v)}:{op:"replace",path:h,value:a(v)})}}))}(t,n,r,i);case 5:case 1:return function(t,n,r,e){var i=t.u,u=t.D,o=t.i;if(o.length<i.length){var f=[o,i];i=f[0],o=f[1];var c=[e,r];r=c[0],e=c[1]}for(var v=0;v<i.length;v++)if(u[v]&&o[v]!==i[v]){var p=n.concat([v]);r.push({op:"replace",path:p,value:a(o[v])}),e.push({op:"replace",path:p,value:a(i[v])})}for(var l=i.length;l<o.length;l++){var h=n.concat([l]);r.push({op:s,path:h,value:a(o[l])})}i.length<o.length&&e.push({op:"replace",path:n.concat(["length"]),value:i.length})}(t,n,r,i);case 3:return function(t,n,r,e){var i=t.u,u=t.i,o=0;i.forEach((function(t){if(!u.has(t)){var i=n.concat([o]);r.push({op:"remove",path:i,value:t}),e.unshift({op:s,path:i,value:t})}o++})),o=0,u.forEach((function(t){if(!i.has(t)){var u=n.concat([o]);r.push({op:s,path:u,value:t}),e.unshift({op:"remove",path:u,value:t})}o++}))}(t,n,r,i)}},g:function(t,n,r,e){r.push({op:"replace",path:[],value:n===B?void 0:n}),e.push({op:"replace",path:[],value:t.u})}})}function C(){function n(t,n){function r(){this.constructor=t}f(t,n),t.prototype=(r.prototype=n.prototype,new r)}function i(t){t.i||(t.D=new Map,t.i=new Map(t.u))}function u(t){t.i||(t.i=new Set,t.u.forEach((function(n){if(r(n)){var e=k(t.A.h,n,t);t.p.set(n,e),t.i.add(e)}else t.i.add(n)})))}function o(n){n.O&&t(3,JSON.stringify(s(n)))}var f=function(t,n){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var r in n)n.hasOwnProperty(r)&&(t[r]=n[r])})(t,n)},a=function(){function t(t,n){return this[H]={t:2,l:n,A:n?n.A:b(),P:!1,R:!1,i:void 0,D:void 0,u:t,k:this,I:!1,O:!1},this}n(t,Map);var u=t.prototype;return Object.defineProperty(u,"size",{get:function(){return s(this[H]).size}}),u.has=function(t){return s(this[H]).has(t)},u.set=function(t,n){var r=this[H];return o(r),s(r).has(t)&&s(r).get(t)===n||(i(r),E(r),r.D.set(t,!0),r.i.set(t,n),r.D.set(t,!0)),this},u.delete=function(t){if(!this.has(t))return!1;var n=this[H];return o(n),i(n),E(n),n.D.set(t,!1),n.i.delete(t),!0},u.clear=function(){var t=this[H];o(t),s(t).size&&(i(t),E(t),t.D=new Map,e(t.u,(function(n){t.D.set(n,!1)})),t.i.clear())},u.forEach=function(t,n){var r=this;s(this[H]).forEach((function(e,i){t.call(n,r.get(i),i,r)}))},u.get=function(t){var n=this[H];o(n);var e=s(n).get(t);if(n.R||!r(e))return e;if(e!==n.u.get(t))return e;var u=k(n.A.h,e,n);return i(n),n.i.set(t,u),u},u.keys=function(){return s(this[H]).keys()},u.values=function(){var t,n=this,r=this.keys();return(t={})[L]=function(){return n.values()},t.next=function(){var t=r.next();return t.done?t:{done:!1,value:n.get(t.value)}},t},u.entries=function(){var t,n=this,r=this.keys();return(t={})[L]=function(){return n.entries()},t.next=function(){var t=r.next();if(t.done)return t;var e=n.get(t.value);return{done:!1,value:[t.value,e]}},t},u[L]=function(){return this.entries()},t}(),c=function(){function t(t,n){return this[H]={t:3,l:n,A:n?n.A:b(),P:!1,R:!1,i:void 0,u:t,k:this,p:new Map,O:!1,I:!1},this}n(t,Set);var r=t.prototype;return Object.defineProperty(r,"size",{get:function(){return s(this[H]).size}}),r.has=function(t){var n=this[H];return o(n),n.i?!!n.i.has(t)||!(!n.p.has(t)||!n.i.has(n.p.get(t))):n.u.has(t)},r.add=function(t){var n=this[H];return o(n),this.has(t)||(u(n),E(n),n.i.add(t)),this},r.delete=function(t){if(!this.has(t))return!1;var n=this[H];return o(n),u(n),E(n),n.i.delete(t)||!!n.p.has(t)&&n.i.delete(n.p.get(t))},r.clear=function(){var t=this[H];o(t),s(t).size&&(u(t),E(t),t.i.clear())},r.values=function(){var t=this[H];return o(t),u(t),t.i.values()},r.entries=function(){var t=this[H];return o(t),u(t),t.i.entries()},r.keys=function(){return this.values()},r[L]=function(){return this.values()},r.forEach=function(t,n){for(var r=this.values(),e=r.next();!e.done;)t.call(n,e.value,e.value,this),e=r.next()},t}();_("MapSet",{$:function(t,n){return new a(t,n)},C:function(t,n){return new c(t,n)}})}var I;Object.defineProperty(exports,"__esModule",{value:!0});var J,N="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),W="undefined"!=typeof Map,X="undefined"!=typeof Set,q="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,B=N?Symbol.for("immer-nothing"):((I={})["immer-nothing"]=!0,I),G=N?Symbol.for("immer-draftable"):"__$immer_draftable",H=N?Symbol.for("immer-state"):"__$immer_state",L="undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator",Q=""+Object.prototype.constructor,T="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,U=Object.getOwnPropertyDescriptors||function(t){var n={};return T(t).forEach((function(r){n[r]=Object.getOwnPropertyDescriptor(t,r)})),n},V={},Y={get:function(t,n){if(n===H)return t;var e=s(t);if(!u(e,n))return function(t,n,r){var e,i=z(n,r);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(t.k):void 0}(t,e,n);var i=e[n];return t.R||!r(i)?i:i===A(t.u,n)?(R(t),t.i[n]=k(t.A.h,i,t)):i},has:function(t,n){return n in s(t)},ownKeys:function(t){return Reflect.ownKeys(s(t))},set:function(t,n,r){var e=z(s(t),n);if(null==e?void 0:e.set)return e.set.call(t.k,r),!0;if(!t.P){var i=A(s(t),n),o=null==i?void 0:i[H];if(o&&o.u===r)return t.i[n]=r,t.D[n]=!1,!0;if(a(r,i)&&(void 0!==r||u(t.u,n)))return!0;R(t),E(t)}return t.i[n]===r&&"number"!=typeof r&&(void 0!==r||n in t.i)||(t.i[n]=r,t.D[n]=!0,!0)},deleteProperty:function(t,n){return void 0!==A(t.u,n)||n in t.u?(t.D[n]=!1,R(t),E(t)):delete t.D[n],t.i&&delete t.i[n],!0},getOwnPropertyDescriptor:function(t,n){var r=s(t),e=Reflect.getOwnPropertyDescriptor(r,n);return e?{writable:!0,configurable:1!==t.t||"length"!==n,enumerable:e.enumerable,value:r[n]}:e},defineProperty:function(){t(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.u)},setPrototypeOf:function(){t(12)}},Z={};e(Y,(function(t,n){Z[t]=function(){return arguments[0]=arguments[0][0],n.apply(this,arguments)}})),Z.deleteProperty=function(t,n){return Y.deleteProperty.call(this,t[0],n)},Z.set=function(t,n,r){return Y.set.call(this,t[0],n,r,t[0])};var tt=function(){function e(n){var e=this;this.S=q,this.K=!0,this.produce=function(n,i,u){if("function"==typeof n&&"function"!=typeof i){var o=i;i=n;var f=e;return function(t){var n=this;void 0===t&&(t=o);for(var r=arguments.length,e=Array(r>1?r-1:0),u=1;u<r;u++)e[u-1]=arguments[u];return f.produce(t,(function(t){var r;return(r=i).call.apply(r,[n,t].concat(e))}))}}var a;if("function"!=typeof i&&t(6),void 0!==u&&"function"!=typeof u&&t(7),r(n)){var c=x(e),v=k(e,n,void 0),s=!0;try{a=i(v),s=!1}finally{s?j(c):O(c)}return"undefined"!=typeof Promise&&a instanceof Promise?a.then((function(t){return m(c,u),S(t,c)}),(function(t){throw j(c),t})):(m(c,u),S(a,c))}if(!n||"object"!=typeof n){if((a=i(n))===B)return;return void 0===a&&(a=n),e.K&&l(a,!0),a}t(21,n)},this.produceWithPatches=function(t,n){return"function"==typeof t?function(n){for(var r=arguments.length,i=Array(r>1?r-1:0),u=1;u<r;u++)i[u-1]=arguments[u];return e.produceWithPatches(n,(function(n){return t.apply(void 0,[n].concat(i))}))}:[e.produce(t,n,(function(t,n){r=t,i=n})),r,i];var r,i},"boolean"==typeof(null==n?void 0:n.useProxies)&&this.setUseProxies(n.useProxies),"boolean"==typeof(null==n?void 0:n.autoFreeze)&&this.setAutoFreeze(n.autoFreeze)}var i=e.prototype;return i.createDraft=function(e){r(e)||t(8),n(e)&&(e=F(e));var i=x(this),u=k(this,e,void 0);return u[H].I=!0,O(i),u},i.finishDraft=function(t,n){var r=(t&&t[H]).A;return m(r,n),S(void 0,r)},i.setAutoFreeze=function(t){this.K=t},i.setUseProxies=function(n){n&&!q&&t(20),this.S=n},i.applyPatches=function(t,r){var e;for(e=r.length-1;e>=0;e--){var i=r[e];if(0===i.path.length&&"replace"===i.op){t=i.value;break}}var u=y("Patches").W;return n(t)?u(t,r):this.produce(t,(function(t){return u(t,r.slice(e+1))}))},e}(),nt=new tt,rt=nt.produce,et=nt.produceWithPatches.bind(nt),it=nt.setAutoFreeze.bind(nt),ut=nt.setUseProxies.bind(nt),ot=nt.applyPatches.bind(nt),ft=nt.createDraft.bind(nt),at=nt.finishDraft.bind(nt);exports.Immer=tt,exports.applyPatches=ot,exports.castDraft=function(t){return t},exports.castImmutable=function(t){return t},exports.createDraft=ft,exports.current=F,exports.default=rt,exports.enableAllPlugins=function(){K(),C(),$()},exports.enableES5=K,exports.enableMapSet=C,exports.enablePatches=$,exports.finishDraft=at,exports.freeze=l,exports.immerable=G,exports.isDraft=n,exports.isDraftable=r,exports.nothing=B,exports.original=function(r){return n(r)||t(23,r),r[H].u},exports.produce=rt,exports.produceWithPatches=et,exports.setAutoFreeze=it,exports.setUseProxies=ut},function(module,exports,__webpack_require__){var defineProperty=__webpack_require__(837);function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))}keys.push.apply(keys,symbols)}return keys}function _objectSpread2(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}module.exports=_objectSpread2;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}module.exports=_defineProperty;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;function createThunkMiddleware(extraArgument){return function(_ref){var dispatch=_ref.dispatch,getState=_ref.getState;return function(next){return function(action){if(typeof action==="function"){return action(dispatch,getState,extraArgument)}return next(action)}}}}var thunk=createThunkMiddleware();thunk.withExtraArgument=createThunkMiddleware;exports["default"]=thunk},,,,,,,,,function(module,exports,__webpack_require__){(function(global){var rng;var crypto=global.crypto||global.msCrypto;if(crypto&&crypto.getRandomValues){var _rnds8=new Uint8Array(16);rng=function whatwgRNG(){crypto.getRandomValues(_rnds8);return _rnds8}}if(!rng){var _rnds=new Array(16);rng=function(){for(var i=0,r;i<16;i++){if((i&3)===0)r=Math.random()*4294967296;_rnds[i]=r>>>((i&3)<<3)&255}return _rnds}}module.exports=rng}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=plotComponentFactory;var _react=_interopRequireWildcard(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap;_getRequireWildcardCache=function _getRequireWildcardCache(){return cache};return cache}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj)}return newObj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(Reflect.construct(Date,[],(function(){})));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var eventNames=["AfterExport","AfterPlot","Animated","AnimatingFrame","AnimationInterrupted","AutoSize","BeforeExport","BeforeHover","ButtonClicked","Click","ClickAnnotation","Deselect","DoubleClick","Framework","Hover","LegendClick","LegendDoubleClick","Relayout","Relayouting","Restyle","Redraw","Selected","Selecting","SliderChange","SliderEnd","SliderStart","SunburstClick","Transitioning","TransitionInterrupted","Unhover"];var updateEvents=["plotly_restyle","plotly_redraw","plotly_relayout","plotly_relayouting","plotly_doubleclick","plotly_animated","plotly_sunburstclick"];var isBrowser=typeof window!=="undefined";function plotComponentFactory(Plotly){var PlotlyComponent=function(_Component){_inherits(PlotlyComponent,_Component);var _super=_createSuper(PlotlyComponent);function PlotlyComponent(props){var _this;_classCallCheck(this,PlotlyComponent);_this=_super.call(this,props);_this.p=Promise.resolve();_this.resizeHandler=null;_this.handlers={};_this.syncWindowResize=_this.syncWindowResize.bind(_assertThisInitialized(_this));_this.syncEventHandlers=_this.syncEventHandlers.bind(_assertThisInitialized(_this));_this.attachUpdateEvents=_this.attachUpdateEvents.bind(_assertThisInitialized(_this));_this.getRef=_this.getRef.bind(_assertThisInitialized(_this));_this.handleUpdate=_this.handleUpdate.bind(_assertThisInitialized(_this));_this.figureCallback=_this.figureCallback.bind(_assertThisInitialized(_this));_this.updatePlotly=_this.updatePlotly.bind(_assertThisInitialized(_this));return _this}_createClass(PlotlyComponent,[{key:"updatePlotly",value:function updatePlotly(shouldInvokeResizeHandler,figureCallbackFunction,shouldAttachUpdateEvents){var _this2=this;this.p=this.p.then((function(){if(_this2.unmounting){return}if(!_this2.el){throw new Error("Missing element reference")}return Plotly.react(_this2.el,{data:_this2.props.data,layout:_this2.props.layout,config:_this2.props.config,frames:_this2.props.frames})})).then((function(){if(_this2.unmounting){return}_this2.syncWindowResize(shouldInvokeResizeHandler);_this2.syncEventHandlers();_this2.figureCallback(figureCallbackFunction);if(shouldAttachUpdateEvents){_this2.attachUpdateEvents()}}))["catch"]((function(err){if(_this2.props.onError){_this2.props.onError(err)}}))}},{key:"componentDidMount",value:function componentDidMount(){this.unmounting=false;this.updatePlotly(true,this.props.onInitialized,true)}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){this.unmounting=false;var numPrevFrames=prevProps.frames&&prevProps.frames.length?prevProps.frames.length:0;var numNextFrames=this.props.frames&&this.props.frames.length?this.props.frames.length:0;var figureChanged=!(prevProps.layout===this.props.layout&&prevProps.data===this.props.data&&prevProps.config===this.props.config&&numNextFrames===numPrevFrames);var revisionDefined=prevProps.revision!==void 0;var revisionChanged=prevProps.revision!==this.props.revision;if(!figureChanged&&(!revisionDefined||revisionDefined&&!revisionChanged)){return}this.updatePlotly(false,this.props.onUpdate,false)}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.unmounting=true;this.figureCallback(this.props.onPurge);if(this.resizeHandler&&isBrowser){window.removeEventListener("resize",this.resizeHandler);this.resizeHandler=null}this.removeUpdateEvents();Plotly.purge(this.el)}},{key:"attachUpdateEvents",value:function attachUpdateEvents(){var _this3=this;if(!this.el||!this.el.removeListener){return}updateEvents.forEach((function(updateEvent){_this3.el.on(updateEvent,_this3.handleUpdate)}))}},{key:"removeUpdateEvents",value:function removeUpdateEvents(){var _this4=this;if(!this.el||!this.el.removeListener){return}updateEvents.forEach((function(updateEvent){_this4.el.removeListener(updateEvent,_this4.handleUpdate)}))}},{key:"handleUpdate",value:function handleUpdate(){this.figureCallback(this.props.onUpdate)}},{key:"figureCallback",value:function figureCallback(callback){if(typeof callback==="function"){var _this$el=this.el,data=_this$el.data,layout=_this$el.layout;var frames=this.el._transitionData?this.el._transitionData._frames:null;var figure={data:data,layout:layout,frames:frames};callback(figure,this.el)}}},{key:"syncWindowResize",value:function syncWindowResize(invoke){var _this5=this;if(!isBrowser){return}if(this.props.useResizeHandler&&!this.resizeHandler){this.resizeHandler=function(){return Plotly.Plots.resize(_this5.el)};window.addEventListener("resize",this.resizeHandler);if(invoke){this.resizeHandler()}}else if(!this.props.useResizeHandler&&this.resizeHandler){window.removeEventListener("resize",this.resizeHandler);this.resizeHandler=null}}},{key:"getRef",value:function getRef(el){this.el=el;if(this.props.debug&&isBrowser){window.gd=this.el}}},{key:"syncEventHandlers",value:function syncEventHandlers(){var _this6=this;eventNames.forEach((function(eventName){var prop=_this6.props["on"+eventName];var handler=_this6.handlers[eventName];var hasHandler=Boolean(handler);if(prop&&!hasHandler){_this6.addEventHandler(eventName,prop)}else if(!prop&&hasHandler){_this6.removeEventHandler(eventName)}else if(prop&&hasHandler&&prop!==handler){_this6.removeEventHandler(eventName);_this6.addEventHandler(eventName,prop)}}))}},{key:"addEventHandler",value:function addEventHandler(eventName,prop){this.handlers[eventName]=prop;this.el.on(this.getPlotlyEventName(eventName),this.handlers[eventName])}},{key:"removeEventHandler",value:function removeEventHandler(eventName){this.el.removeListener(this.getPlotlyEventName(eventName),this.handlers[eventName]);delete this.handlers[eventName]}},{key:"getPlotlyEventName",value:function getPlotlyEventName(eventName){return"plotly_"+eventName.toLowerCase()}},{key:"render",value:function render(){return _react["default"].createElement("div",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}]);return PlotlyComponent}(_react.Component);PlotlyComponent.propTypes={data:_propTypes["default"].arrayOf(_propTypes["default"].object),config:_propTypes["default"].object,layout:_propTypes["default"].object,frames:_propTypes["default"].arrayOf(_propTypes["default"].object),revision:_propTypes["default"].number,onInitialized:_propTypes["default"].func,onPurge:_propTypes["default"].func,onError:_propTypes["default"].func,onUpdate:_propTypes["default"].func,debug:_propTypes["default"].bool,style:_propTypes["default"].object,className:_propTypes["default"].string,useResizeHandler:_propTypes["default"].bool,divId:_propTypes["default"].string};eventNames.forEach((function(eventName){PlotlyComponent.propTypes["on"+eventName]=_propTypes["default"].func}));PlotlyComponent.defaultProps={debug:false,useResizeHandler:false,data:[],style:{position:"relative",display:"inline-block"}};return PlotlyComponent}},function(module,exports,__webpack_require__){"use strict";var ReactPropTypesSecret=__webpack_require__(850);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction;module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){if(secret===ReactPropTypesSecret){return}var err=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. "+"Use PropTypes.checkPropTypes() to call them. "+"Read more at http://fb.me/use-check-prop-types");err.name="Invariant Violation";throw err}shim.isRequired=shim;function getShim(){return shim}var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};ReactPropTypes.PropTypes=ReactPropTypes;return ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret},function(module,exports,__webpack_require__){(function(global){var require;var require;(function(f){if(true){module.exports=f()}else{var g}})((function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return require(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,(function(r){var n=e[i][1][r];return o(n||r)}),p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../src/lib");var rules={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:#fff;","X .select-outline-2":"stroke:#000;stroke-dasharray:2px 2px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var selector in rules){var fullSelector=selector.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");Lib.addStyleRule(fullSelector,rules[selector])}},{"../src/lib":803}],2:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/transforms/aggregate")},{"../src/transforms/aggregate":1399}],3:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/bar")},{"../src/traces/bar":949}],4:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/barpolar")},{"../src/traces/barpolar":962}],5:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/box")},{"../src/traces/box":972}],6:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/components/calendars")},{"../src/components/calendars":664}],7:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/candlestick")},{"../src/traces/candlestick":981}],8:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/carpet")},{"../src/traces/carpet":1e3}],9:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/choropleth")},{"../src/traces/choropleth":1014}],10:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/choroplethmapbox")},{"../src/traces/choroplethmapbox":1021}],11:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/cone")},{"../src/traces/cone":1027}],12:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/contour")},{"../src/traces/contour":1042}],13:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":1053}],14:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/core")},{"../src/core":781}],15:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/densitymapbox")},{"../src/traces/densitymapbox":1061}],16:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/transforms/filter")},{"../src/transforms/filter":1400}],17:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/funnel")},{"../src/traces/funnel":1071}],18:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/funnelarea")},{"../src/traces/funnelarea":1080}],19:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/transforms/groupby")},{"../src/transforms/groupby":1401}],20:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/heatmap")},{"../src/traces/heatmap":1093}],21:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":1103}],22:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/histogram")},{"../src/traces/histogram":1115}],23:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/histogram2d")},{"../src/traces/histogram2d":1121}],24:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":1125}],25:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/icicle")},{"../src/traces/icicle":1131}],26:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/image")},{"../src/traces/image":1144}],27:[function(_dereq_,module,exports){"use strict";var Plotly=_dereq_("./core");Plotly.register([_dereq_("./bar"),_dereq_("./box"),_dereq_("./heatmap"),_dereq_("./histogram"),_dereq_("./histogram2d"),_dereq_("./histogram2dcontour"),_dereq_("./contour"),_dereq_("./scatterternary"),_dereq_("./violin"),_dereq_("./funnel"),_dereq_("./waterfall"),_dereq_("./image"),_dereq_("./pie"),_dereq_("./sunburst"),_dereq_("./treemap"),_dereq_("./icicle"),_dereq_("./funnelarea"),_dereq_("./scatter3d"),_dereq_("./surface"),_dereq_("./isosurface"),_dereq_("./volume"),_dereq_("./mesh3d"),_dereq_("./cone"),_dereq_("./streamtube"),_dereq_("./scattergeo"),_dereq_("./choropleth"),_dereq_("./scattergl"),_dereq_("./splom"),_dereq_("./pointcloud"),_dereq_("./heatmapgl"),_dereq_("./parcoords"),_dereq_("./parcats"),_dereq_("./scattermapbox"),_dereq_("./choroplethmapbox"),_dereq_("./densitymapbox"),_dereq_("./sankey"),_dereq_("./indicator"),_dereq_("./table"),_dereq_("./carpet"),_dereq_("./scattercarpet"),_dereq_("./contourcarpet"),_dereq_("./ohlc"),_dereq_("./candlestick"),_dereq_("./scatterpolar"),_dereq_("./scatterpolargl"),_dereq_("./barpolar"),_dereq_("./aggregate"),_dereq_("./filter"),_dereq_("./groupby"),_dereq_("./sort"),_dereq_("./calendars")]);module.exports=Plotly},{"./aggregate":2,"./bar":3,"./barpolar":4,"./box":5,"./calendars":6,"./candlestick":7,"./carpet":8,"./choropleth":9,"./choroplethmapbox":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./densitymapbox":15,"./filter":16,"./funnel":17,"./funnelarea":18,"./groupby":19,"./heatmap":20,"./heatmapgl":21,"./histogram":22,"./histogram2d":23,"./histogram2dcontour":24,"./icicle":25,"./image":26,"./indicator":28,"./isosurface":29,"./mesh3d":30,"./ohlc":31,"./parcats":32,"./parcoords":33,"./pie":34,"./pointcloud":35,"./sankey":36,"./scatter3d":37,"./scattercarpet":38,"./scattergeo":39,"./scattergl":40,"./scattermapbox":41,"./scatterpolar":42,"./scatterpolargl":43,"./scatterternary":44,"./sort":45,"./splom":46,"./streamtube":47,"./sunburst":48,"./surface":49,"./table":50,"./treemap":51,"./violin":52,"./volume":53,"./waterfall":54}],28:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/indicator")},{"../src/traces/indicator":1152}],29:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/isosurface")},{"../src/traces/isosurface":1158}],30:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/mesh3d")},{"../src/traces/mesh3d":1163}],31:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/ohlc")},{"../src/traces/ohlc":1168}],32:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/parcats")},{"../src/traces/parcats":1177}],33:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/parcoords")},{"../src/traces/parcoords":1187}],34:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/pie")},{"../src/traces/pie":1198}],35:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/pointcloud")},{"../src/traces/pointcloud":1207}],36:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/sankey")},{"../src/traces/sankey":1213}],37:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/scatter3d")},{"../src/traces/scatter3d":1251}],38:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1258}],39:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/scattergeo")},{"../src/traces/scattergeo":1266}],40:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/scattergl")},{"../src/traces/scattergl":1279}],41:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1289}],42:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1297}],43:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1304}],44:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/scatterternary")},{"../src/traces/scatterternary":1312}],45:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/transforms/sort")},{"../src/transforms/sort":1403}],46:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/splom")},{"../src/traces/splom":1321}],47:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/streamtube")},{"../src/traces/streamtube":1329}],48:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/sunburst")},{"../src/traces/sunburst":1337}],49:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/surface")},{"../src/traces/surface":1346}],50:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/table")},{"../src/traces/table":1354}],51:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/treemap")},{"../src/traces/treemap":1365}],52:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/violin")},{"../src/traces/violin":1378}],53:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/volume")},{"../src/traces/volume":1386}],54:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../src/traces/waterfall")},{"../src/traces/waterfall":1394}],55:[function(_dereq_,module,exports){"use strict";module.exports=createViewController;var createTurntable=_dereq_("turntable-camera-controller");var createOrbit=_dereq_("orbit-camera-controller");var createMatrix=_dereq_("matrix-camera-controller");function ViewController(controllers,mode){this._controllerNames=Object.keys(controllers);this._controllerList=this._controllerNames.map((function(n){return controllers[n]}));this._mode=mode;this._active=controllers[mode];if(!this._active){this._mode="turntable";this._active=controllers.turntable}this.modes=this._controllerNames;this.computedMatrix=this._active.computedMatrix;this.computedEye=this._active.computedEye;this.computedUp=this._active.computedUp;this.computedCenter=this._active.computedCenter;this.computedRadius=this._active.computedRadius}var proto=ViewController.prototype;var COMMON_METHODS=[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]];COMMON_METHODS.forEach((function(method){var name=method[0];var argNames=[];for(var i=0;i<method[1];++i){argNames.push("a"+i)}var code="var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i]."+method[0]+"("+argNames.join()+")}";proto[name]=Function.apply(null,argNames.concat(code))}));proto.recalcMatrix=function(t){this._active.recalcMatrix(t)};proto.getDistance=function(t){return this._active.getDistance(t)};proto.getDistanceLimits=function(out){return this._active.getDistanceLimits(out)};proto.lastT=function(){return this._active.lastT()};proto.setMode=function(mode){if(mode===this._mode){return}var idx=this._controllerNames.indexOf(mode);if(idx<0){return}var prev=this._active;var next=this._controllerList[idx];var lastT=Math.max(prev.lastT(),next.lastT());prev.recalcMatrix(lastT);next.setMatrix(lastT,prev.computedMatrix);this._active=next;this._mode=mode;this.computedMatrix=this._active.computedMatrix;this.computedEye=this._active.computedEye;this.computedUp=this._active.computedUp;this.computedCenter=this._active.computedCenter;this.computedRadius=this._active.computedRadius};proto.getMode=function(){return this._mode};function createViewController(options){options=options||{};var eye=options.eye||[0,0,1];var center=options.center||[0,0,0];var up=options.up||[0,1,0];var limits=options.distanceLimits||[0,Infinity];var mode=options.mode||"turntable";var turntable=createTurntable();var orbit=createOrbit();var matrix=createMatrix();turntable.setDistanceLimits(limits[0],limits[1]);turntable.lookAt(0,eye,center,up);orbit.setDistanceLimits(limits[0],limits[1]);orbit.lookAt(0,eye,center,up);matrix.setDistanceLimits(limits[0],limits[1]);matrix.lookAt(0,eye,center,up);return new ViewController({turntable:turntable,orbit:orbit,matrix:matrix},mode)}},{"matrix-camera-controller":468,"orbit-camera-controller":489,"turntable-camera-controller":603}],56:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,_dereq_("d3-array"),_dereq_("d3-collection"),_dereq_("d3-shape"),_dereq_("elementary-circuits-directed-graph")):typeof define==="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape","elementary-circuits-directed-graph"],factory):factory(global.d3=global.d3||{},global.d3,global.d3,global.d3,null)})(this,(function(exports,d3Array,d3Collection,d3Shape,findCircuits){"use strict";findCircuits=findCircuits&&findCircuits.hasOwnProperty("default")?findCircuits["default"]:findCircuits;function targetDepth(d){return d.target.depth}function left(node){return node.depth}function right(node,n){return n-1-node.height}function justify(node,n){return node.sourceLinks.length?node.depth:n-1}function center(node){return node.targetLinks.length?node.depth:node.sourceLinks.length?d3Array.min(node.sourceLinks,targetDepth)-1:0}function constant(x){return function(){return x}}var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};function ascendingSourceBreadth(a,b){return ascendingBreadth(a.source,b.source)||a.index-b.index}function ascendingTargetBreadth(a,b){return ascendingBreadth(a.target,b.target)||a.index-b.index}function ascendingBreadth(a,b){if(a.partOfCycle===b.partOfCycle){return a.y0-b.y0}else{if(a.circularLinkType==="top"||b.circularLinkType==="bottom"){return-1}else{return 1}}}function value(d){return d.value}function nodeCenter(node){return(node.y0+node.y1)/2}function linkSourceCenter(link){return nodeCenter(link.source)}function linkTargetCenter(link){return nodeCenter(link.target)}function defaultId(d){return d.index}function defaultNodes(graph){return graph.nodes}function defaultLinks(graph){return graph.links}function find(nodeById,id){var node=nodeById.get(id);if(!node)throw new Error("missing: "+id);return node}function getNodeID(node,id){return id(node)}var verticalMargin=25;var baseRadius=10;var scale=.3;function sankeyCircular(){var x0=0,y0=0,x1=1,y1=1,dx=24,py,id=defaultId,align=justify,nodes=defaultNodes,links=defaultLinks,iterations=32,circularLinkGap=2,paddingRatio,sortNodes=null;function sankeyCircular(){var graph={nodes:nodes.apply(null,arguments),links:links.apply(null,arguments)};computeNodeLinks(graph);identifyCircles(graph,id,sortNodes);computeNodeValues(graph);computeNodeDepths(graph);selectCircularLinkTypes(graph,id);computeNodeBreadths(graph,iterations,id);computeLinkBreadths(graph);var linkSortingIterations=4;for(var iteration=0;iteration<linkSortingIterations;iteration++){sortSourceLinks(graph,y1,id);sortTargetLinks(graph,y1,id);resolveNodeLinkOverlaps(graph,y0,y1,id);sortSourceLinks(graph,y1,id);sortTargetLinks(graph,y1,id)}fillHeight(graph,y0,y1);addCircularPathData(graph,circularLinkGap,y1,id);return graph}sankeyCircular.nodeId=function(_){return arguments.length?(id=typeof _==="function"?_:constant(_),sankeyCircular):id};sankeyCircular.nodeAlign=function(_){return arguments.length?(align=typeof _==="function"?_:constant(_),sankeyCircular):align};sankeyCircular.nodeWidth=function(_){return arguments.length?(dx=+_,sankeyCircular):dx};sankeyCircular.nodePadding=function(_){return arguments.length?(py=+_,sankeyCircular):py};sankeyCircular.nodes=function(_){return arguments.length?(nodes=typeof _==="function"?_:constant(_),sankeyCircular):nodes};sankeyCircular.links=function(_){return arguments.length?(links=typeof _==="function"?_:constant(_),sankeyCircular):links};sankeyCircular.size=function(_){return arguments.length?(x0=y0=0,x1=+_[0],y1=+_[1],sankeyCircular):[x1-x0,y1-y0]};sankeyCircular.extent=function(_){return arguments.length?(x0=+_[0][0],x1=+_[1][0],y0=+_[0][1],y1=+_[1][1],sankeyCircular):[[x0,y0],[x1,y1]]};sankeyCircular.iterations=function(_){return arguments.length?(iterations=+_,sankeyCircular):iterations};sankeyCircular.circularLinkGap=function(_){return arguments.length?(circularLinkGap=+_,sankeyCircular):circularLinkGap};sankeyCircular.nodePaddingRatio=function(_){return arguments.length?(paddingRatio=+_,sankeyCircular):paddingRatio};sankeyCircular.sortNodes=function(_){return arguments.length?(sortNodes=_,sankeyCircular):sortNodes};sankeyCircular.update=function(graph){selectCircularLinkTypes(graph,id);computeLinkBreadths(graph);graph.links.forEach((function(link){if(link.circular){link.circularLinkType=link.y0+link.y1<y1?"top":"bottom";link.source.circularLinkType=link.circularLinkType;link.target.circularLinkType=link.circularLinkType}}));sortSourceLinks(graph,y1,id,false);sortTargetLinks(graph,y1,id);addCircularPathData(graph,circularLinkGap,y1,id);return graph};function computeNodeLinks(graph){graph.nodes.forEach((function(node,i){node.index=i;node.sourceLinks=[];node.targetLinks=[]}));var nodeById=d3Collection.map(graph.nodes,id);graph.links.forEach((function(link,i){link.index=i;var source=link.source;var target=link.target;if((typeof source==="undefined"?"undefined":_typeof(source))!=="object"){source=link.source=find(nodeById,source)}if((typeof target==="undefined"?"undefined":_typeof(target))!=="object"){target=link.target=find(nodeById,target)}source.sourceLinks.push(link);target.targetLinks.push(link)}));return graph}function computeNodeValues(graph){graph.nodes.forEach((function(node){node.partOfCycle=false;node.value=Math.max(d3Array.sum(node.sourceLinks,value),d3Array.sum(node.targetLinks,value));node.sourceLinks.forEach((function(link){if(link.circular){node.partOfCycle=true;node.circularLinkType=link.circularLinkType}}));node.targetLinks.forEach((function(link){if(link.circular){node.partOfCycle=true;node.circularLinkType=link.circularLinkType}}))}))}function getCircleMargins(graph){var totalTopLinksWidth=0,totalBottomLinksWidth=0,totalRightLinksWidth=0,totalLeftLinksWidth=0;var maxColumn=d3Array.max(graph.nodes,(function(node){return node.column}));graph.links.forEach((function(link){if(link.circular){if(link.circularLinkType=="top"){totalTopLinksWidth=totalTopLinksWidth+link.width}else{totalBottomLinksWidth=totalBottomLinksWidth+link.width}if(link.target.column==0){totalLeftLinksWidth=totalLeftLinksWidth+link.width}if(link.source.column==maxColumn){totalRightLinksWidth=totalRightLinksWidth+link.width}}}));totalTopLinksWidth=totalTopLinksWidth>0?totalTopLinksWidth+verticalMargin+baseRadius:totalTopLinksWidth;totalBottomLinksWidth=totalBottomLinksWidth>0?totalBottomLinksWidth+verticalMargin+baseRadius:totalBottomLinksWidth;totalRightLinksWidth=totalRightLinksWidth>0?totalRightLinksWidth+verticalMargin+baseRadius:totalRightLinksWidth;totalLeftLinksWidth=totalLeftLinksWidth>0?totalLeftLinksWidth+verticalMargin+baseRadius:totalLeftLinksWidth;return{top:totalTopLinksWidth,bottom:totalBottomLinksWidth,left:totalLeftLinksWidth,right:totalRightLinksWidth}}function scaleSankeySize(graph,margin){var maxColumn=d3Array.max(graph.nodes,(function(node){return node.column}));var currentWidth=x1-x0;var currentHeight=y1-y0;var newWidth=currentWidth+margin.right+margin.left;var newHeight=currentHeight+margin.top+margin.bottom;var scaleX=currentWidth/newWidth;var scaleY=currentHeight/newHeight;x0=x0*scaleX+margin.left;x1=margin.right==0?x1:x1*scaleX;y0=y0*scaleY+margin.top;y1=y1*scaleY;graph.nodes.forEach((function(node){node.x0=x0+node.column*((x1-x0-dx)/maxColumn);node.x1=node.x0+dx}));return scaleY}function computeNodeDepths(graph){var nodes,next,x;for(nodes=graph.nodes,next=[],x=0;nodes.length;++x,nodes=next,next=[]){nodes.forEach((function(node){node.depth=x;node.sourceLinks.forEach((function(link){if(next.indexOf(link.target)<0&&!link.circular){next.push(link.target)}}))}))}for(nodes=graph.nodes,next=[],x=0;nodes.length;++x,nodes=next,next=[]){nodes.forEach((function(node){node.height=x;node.targetLinks.forEach((function(link){if(next.indexOf(link.source)<0&&!link.circular){next.push(link.source)}}))}))}graph.nodes.forEach((function(node){node.column=Math.floor(align.call(null,node,x))}))}function computeNodeBreadths(graph,iterations,id){var columns=d3Collection.nest().key((function(d){return d.column})).sortKeys(d3Array.ascending).entries(graph.nodes).map((function(d){return d.values}));initializeNodeBreadth(id);resolveCollisions();for(var alpha=1,n=iterations;n>0;--n){relaxLeftAndRight(alpha*=.99,id);resolveCollisions()}function initializeNodeBreadth(id){if(paddingRatio){var padding=Infinity;columns.forEach((function(nodes){var thisPadding=y1*paddingRatio/(nodes.length+1);padding=thisPadding<padding?thisPadding:padding}));py=padding}var ky=d3Array.min(columns,(function(nodes){return(y1-y0-(nodes.length-1)*py)/d3Array.sum(nodes,value)}));ky=ky*scale;graph.links.forEach((function(link){link.width=link.value*ky}));var margin=getCircleMargins(graph);var ratio=scaleSankeySize(graph,margin);ky=ky*ratio;graph.links.forEach((function(link){link.width=link.value*ky}));columns.forEach((function(nodes){var nodesLength=nodes.length;nodes.forEach((function(node,i){if(node.depth==columns.length-1&&nodesLength==1){node.y0=y1/2-node.value*ky;node.y1=node.y0+node.value*ky}else if(node.depth==0&&nodesLength==1){node.y0=y1/2-node.value*ky;node.y1=node.y0+node.value*ky}else if(node.partOfCycle){if(numberOfNonSelfLinkingCycles(node,id)==0){node.y0=y1/2+i;node.y1=node.y0+node.value*ky}else if(node.circularLinkType=="top"){node.y0=y0+i;node.y1=node.y0+node.value*ky}else{node.y0=y1-node.value*ky-i;node.y1=node.y0+node.value*ky}}else{if(margin.top==0||margin.bottom==0){node.y0=(y1-y0)/nodesLength*i;node.y1=node.y0+node.value*ky}else{node.y0=(y1-y0)/2-nodesLength/2+i;node.y1=node.y0+node.value*ky}}}))}))}function relaxLeftAndRight(alpha,id){var columnsLength=columns.length;columns.forEach((function(nodes){var n=nodes.length;var depth=nodes[0].depth;nodes.forEach((function(node){var nodeHeight;if(node.sourceLinks.length||node.targetLinks.length){if(node.partOfCycle&&numberOfNonSelfLinkingCycles(node,id)>0);else if(depth==0&&n==1){nodeHeight=node.y1-node.y0;node.y0=y1/2-nodeHeight/2;node.y1=y1/2+nodeHeight/2}else if(depth==columnsLength-1&&n==1){nodeHeight=node.y1-node.y0;node.y0=y1/2-nodeHeight/2;node.y1=y1/2+nodeHeight/2}else{var avg=0;var avgTargetY=d3Array.mean(node.sourceLinks,linkTargetCenter);var avgSourceY=d3Array.mean(node.targetLinks,linkSourceCenter);if(avgTargetY&&avgSourceY){avg=(avgTargetY+avgSourceY)/2}else{avg=avgTargetY||avgSourceY}var dy=(avg-nodeCenter(node))*alpha;node.y0+=dy;node.y1+=dy}}}))}))}function resolveCollisions(){columns.forEach((function(nodes){var node,dy,y=y0,n=nodes.length,i;nodes.sort(ascendingBreadth);for(i=0;i<n;++i){node=nodes[i];dy=y-node.y0;if(dy>0){node.y0+=dy;node.y1+=dy}y=node.y1+py}dy=y-py-y1;if(dy>0){y=node.y0-=dy,node.y1-=dy;for(i=n-2;i>=0;--i){node=nodes[i];dy=node.y1+py-y;if(dy>0)node.y0-=dy,node.y1-=dy;y=node.y0}}}))}}function computeLinkBreadths(graph){graph.nodes.forEach((function(node){node.sourceLinks.sort(ascendingTargetBreadth);node.targetLinks.sort(ascendingSourceBreadth)}));graph.nodes.forEach((function(node){var y0=node.y0;var y1=y0;var y0cycle=node.y1;var y1cycle=y0cycle;node.sourceLinks.forEach((function(link){if(link.circular){link.y0=y0cycle-link.width/2;y0cycle=y0cycle-link.width}else{link.y0=y0+link.width/2;y0+=link.width}}));node.targetLinks.forEach((function(link){if(link.circular){link.y1=y1cycle-link.width/2;y1cycle=y1cycle-link.width}else{link.y1=y1+link.width/2;y1+=link.width}}))}))}return sankeyCircular}function identifyCircles(graph,id,sortNodes){var circularLinkID=0;if(sortNodes===null){var adjList=[];for(var i=0;i<graph.links.length;i++){var link=graph.links[i];var source=link.source.index;var target=link.target.index;if(!adjList[source])adjList[source]=[];if(!adjList[target])adjList[target]=[];if(adjList[source].indexOf(target)===-1)adjList[source].push(target)}var cycles=findCircuits(adjList);cycles.sort((function(a,b){return a.length-b.length}));var circularLinks={};for(i=0;i<cycles.length;i++){var cycle=cycles[i];var last=cycle.slice(-2);if(!circularLinks[last[0]])circularLinks[last[0]]={};circularLinks[last[0]][last[1]]=true}graph.links.forEach((function(link){var target=link.target.index;var source=link.source.index;if(target===source||circularLinks[source]&&circularLinks[source][target]){link.circular=true;link.circularLinkID=circularLinkID;circularLinkID=circularLinkID+1}else{link.circular=false}}))}else{graph.links.forEach((function(link){if(link.source[sortNodes]<link.target[sortNodes]){link.circular=false}else{link.circular=true;link.circularLinkID=circularLinkID;circularLinkID=circularLinkID+1}}))}}function selectCircularLinkTypes(graph,id){var numberOfTops=0;var numberOfBottoms=0;graph.links.forEach((function(link){if(link.circular){if(link.source.circularLinkType||link.target.circularLinkType){link.circularLinkType=link.source.circularLinkType?link.source.circularLinkType:link.target.circularLinkType}else{link.circularLinkType=numberOfTops<numberOfBottoms?"top":"bottom"}if(link.circularLinkType=="top"){numberOfTops=numberOfTops+1}else{numberOfBottoms=numberOfBottoms+1}graph.nodes.forEach((function(node){if(getNodeID(node,id)==getNodeID(link.source,id)||getNodeID(node,id)==getNodeID(link.target,id)){node.circularLinkType=link.circularLinkType}}))}}));graph.links.forEach((function(link){if(link.circular){if(link.source.circularLinkType==link.target.circularLinkType){link.circularLinkType=link.source.circularLinkType}if(selfLinking(link,id)){link.circularLinkType=link.source.circularLinkType}}}))}function linkAngle(link){var adjacent=Math.abs(link.y1-link.y0);var opposite=Math.abs(link.target.x0-link.source.x1);return Math.atan(opposite/adjacent)}function circularLinksCross(link1,link2){if(link1.source.column<link2.target.column){return false}else if(link1.target.column>link2.source.column){return false}else{return true}}function numberOfNonSelfLinkingCycles(node,id){var sourceCount=0;node.sourceLinks.forEach((function(l){sourceCount=l.circular&&!selfLinking(l,id)?sourceCount+1:sourceCount}));var targetCount=0;node.targetLinks.forEach((function(l){targetCount=l.circular&&!selfLinking(l,id)?targetCount+1:targetCount}));return sourceCount+targetCount}function onlyCircularLink(link){var nodeSourceLinks=link.source.sourceLinks;var sourceCount=0;nodeSourceLinks.forEach((function(l){sourceCount=l.circular?sourceCount+1:sourceCount}));var nodeTargetLinks=link.target.targetLinks;var targetCount=0;nodeTargetLinks.forEach((function(l){targetCount=l.circular?targetCount+1:targetCount}));if(sourceCount>1||targetCount>1){return false}else{return true}}function calcVerticalBuffer(links,circularLinkGap,id){links.sort(sortLinkColumnAscending);links.forEach((function(link,i){var buffer=0;if(selfLinking(link,id)&&onlyCircularLink(link)){link.circularPathData.verticalBuffer=buffer+link.width/2}else{var j=0;for(j;j<i;j++){if(circularLinksCross(links[i],links[j])){var bufferOverThisLink=links[j].circularPathData.verticalBuffer+links[j].width/2+circularLinkGap;buffer=bufferOverThisLink>buffer?bufferOverThisLink:buffer}}link.circularPathData.verticalBuffer=buffer+link.width/2}}));return links}function addCircularPathData(graph,circularLinkGap,y1,id){var buffer=5;var minY=d3Array.min(graph.links,(function(link){return link.source.y0}));graph.links.forEach((function(link){if(link.circular){link.circularPathData={}}}));var topLinks=graph.links.filter((function(l){return l.circularLinkType=="top"}));calcVerticalBuffer(topLinks,circularLinkGap,id);var bottomLinks=graph.links.filter((function(l){return l.circularLinkType=="bottom"}));calcVerticalBuffer(bottomLinks,circularLinkGap,id);graph.links.forEach((function(link){if(link.circular){link.circularPathData.arcRadius=link.width+baseRadius;link.circularPathData.leftNodeBuffer=buffer;link.circularPathData.rightNodeBuffer=buffer;link.circularPathData.sourceWidth=link.source.x1-link.source.x0;link.circularPathData.sourceX=link.source.x0+link.circularPathData.sourceWidth;link.circularPathData.targetX=link.target.x0;link.circularPathData.sourceY=link.y0;link.circularPathData.targetY=link.y1;if(selfLinking(link,id)&&onlyCircularLink(link)){link.circularPathData.leftSmallArcRadius=baseRadius+link.width/2;link.circularPathData.leftLargeArcRadius=baseRadius+link.width/2;link.circularPathData.rightSmallArcRadius=baseRadius+link.width/2;link.circularPathData.rightLargeArcRadius=baseRadius+link.width/2;if(link.circularLinkType=="bottom"){link.circularPathData.verticalFullExtent=link.source.y1+verticalMargin+link.circularPathData.verticalBuffer;link.circularPathData.verticalLeftInnerExtent=link.circularPathData.verticalFullExtent-link.circularPathData.leftLargeArcRadius;link.circularPathData.verticalRightInnerExtent=link.circularPathData.verticalFullExtent-link.circularPathData.rightLargeArcRadius}else{link.circularPathData.verticalFullExtent=link.source.y0-verticalMargin-link.circularPathData.verticalBuffer;link.circularPathData.verticalLeftInnerExtent=link.circularPathData.verticalFullExtent+link.circularPathData.leftLargeArcRadius;link.circularPathData.verticalRightInnerExtent=link.circularPathData.verticalFullExtent+link.circularPathData.rightLargeArcRadius}}else{var thisColumn=link.source.column;var thisCircularLinkType=link.circularLinkType;var sameColumnLinks=graph.links.filter((function(l){return l.source.column==thisColumn&&l.circularLinkType==thisCircularLinkType}));if(link.circularLinkType=="bottom"){sameColumnLinks.sort(sortLinkSourceYDescending)}else{sameColumnLinks.sort(sortLinkSourceYAscending)}var radiusOffset=0;sameColumnLinks.forEach((function(l,i){if(l.circularLinkID==link.circularLinkID){link.circularPathData.leftSmallArcRadius=baseRadius+link.width/2+radiusOffset;link.circularPathData.leftLargeArcRadius=baseRadius+link.width/2+i*circularLinkGap+radiusOffset}radiusOffset=radiusOffset+l.width}));thisColumn=link.target.column;sameColumnLinks=graph.links.filter((function(l){return l.target.column==thisColumn&&l.circularLinkType==thisCircularLinkType}));if(link.circularLinkType=="bottom"){sameColumnLinks.sort(sortLinkTargetYDescending)}else{sameColumnLinks.sort(sortLinkTargetYAscending)}radiusOffset=0;sameColumnLinks.forEach((function(l,i){if(l.circularLinkID==link.circularLinkID){link.circularPathData.rightSmallArcRadius=baseRadius+link.width/2+radiusOffset;link.circularPathData.rightLargeArcRadius=baseRadius+link.width/2+i*circularLinkGap+radiusOffset}radiusOffset=radiusOffset+l.width}));if(link.circularLinkType=="bottom"){link.circularPathData.verticalFullExtent=Math.max(y1,link.source.y1,link.target.y1)+verticalMargin+link.circularPathData.verticalBuffer;link.circularPathData.verticalLeftInnerExtent=link.circularPathData.verticalFullExtent-link.circularPathData.leftLargeArcRadius;link.circularPathData.verticalRightInnerExtent=link.circularPathData.verticalFullExtent-link.circularPathData.rightLargeArcRadius}else{link.circularPathData.verticalFullExtent=minY-verticalMargin-link.circularPathData.verticalBuffer;link.circularPathData.verticalLeftInnerExtent=link.circularPathData.verticalFullExtent+link.circularPathData.leftLargeArcRadius;link.circularPathData.verticalRightInnerExtent=link.circularPathData.verticalFullExtent+link.circularPathData.rightLargeArcRadius}}link.circularPathData.leftInnerExtent=link.circularPathData.sourceX+link.circularPathData.leftNodeBuffer;link.circularPathData.rightInnerExtent=link.circularPathData.targetX-link.circularPathData.rightNodeBuffer;link.circularPathData.leftFullExtent=link.circularPathData.sourceX+link.circularPathData.leftLargeArcRadius+link.circularPathData.leftNodeBuffer;link.circularPathData.rightFullExtent=link.circularPathData.targetX-link.circularPathData.rightLargeArcRadius-link.circularPathData.rightNodeBuffer}if(link.circular){link.path=createCircularPathString(link)}else{var normalPath=d3Shape.linkHorizontal().source((function(d){var x=d.source.x0+(d.source.x1-d.source.x0);var y=d.y0;return[x,y]})).target((function(d){var x=d.target.x0;var y=d.y1;return[x,y]}));link.path=normalPath(link)}}))}function createCircularPathString(link){var pathString="";if(link.circularLinkType=="top"){pathString="M"+link.circularPathData.sourceX+" "+link.circularPathData.sourceY+" "+"L"+link.circularPathData.leftInnerExtent+" "+link.circularPathData.sourceY+" "+"A"+link.circularPathData.leftLargeArcRadius+" "+link.circularPathData.leftSmallArcRadius+" 0 0 0 "+link.circularPathData.leftFullExtent+" "+(link.circularPathData.sourceY-link.circularPathData.leftSmallArcRadius)+" "+"L"+link.circularPathData.leftFullExtent+" "+link.circularPathData.verticalLeftInnerExtent+" "+"A"+link.circularPathData.leftLargeArcRadius+" "+link.circularPathData.leftLargeArcRadius+" 0 0 0 "+link.circularPathData.leftInnerExtent+" "+link.circularPathData.verticalFullExtent+" "+"L"+link.circularPathData.rightInnerExtent+" "+link.circularPathData.verticalFullExtent+" "+"A"+link.circularPathData.rightLargeArcRadius+" "+link.circularPathData.rightLargeArcRadius+" 0 0 0 "+link.circularPathData.rightFullExtent+" "+link.circularPathData.verticalRightInnerExtent+" "+"L"+link.circularPathData.rightFullExtent+" "+(link.circularPathData.targetY-link.circularPathData.rightSmallArcRadius)+" "+"A"+link.circularPathData.rightLargeArcRadius+" "+link.circularPathData.rightSmallArcRadius+" 0 0 0 "+link.circularPathData.rightInnerExtent+" "+link.circularPathData.targetY+" "+"L"+link.circularPathData.targetX+" "+link.circularPathData.targetY}else{pathString="M"+link.circularPathData.sourceX+" "+link.circularPathData.sourceY+" "+"L"+link.circularPathData.leftInnerExtent+" "+link.circularPathData.sourceY+" "+"A"+link.circularPathData.leftLargeArcRadius+" "+link.circularPathData.leftSmallArcRadius+" 0 0 1 "+link.circularPathData.leftFullExtent+" "+(link.circularPathData.sourceY+link.circularPathData.leftSmallArcRadius)+" "+"L"+link.circularPathData.leftFullExtent+" "+link.circularPathData.verticalLeftInnerExtent+" "+"A"+link.circularPathData.leftLargeArcRadius+" "+link.circularPathData.leftLargeArcRadius+" 0 0 1 "+link.circularPathData.leftInnerExtent+" "+link.circularPathData.verticalFullExtent+" "+"L"+link.circularPathData.rightInnerExtent+" "+link.circularPathData.verticalFullExtent+" "+"A"+link.circularPathData.rightLargeArcRadius+" "+link.circularPathData.rightLargeArcRadius+" 0 0 1 "+link.circularPathData.rightFullExtent+" "+link.circularPathData.verticalRightInnerExtent+" "+"L"+link.circularPathData.rightFullExtent+" "+(link.circularPathData.targetY+link.circularPathData.rightSmallArcRadius)+" "+"A"+link.circularPathData.rightLargeArcRadius+" "+link.circularPathData.rightSmallArcRadius+" 0 0 1 "+link.circularPathData.rightInnerExtent+" "+link.circularPathData.targetY+" "+"L"+link.circularPathData.targetX+" "+link.circularPathData.targetY}return pathString}function sortLinkColumnAscending(link1,link2){if(linkColumnDistance(link1)==linkColumnDistance(link2)){return link1.circularLinkType=="bottom"?sortLinkSourceYDescending(link1,link2):sortLinkSourceYAscending(link1,link2)}else{return linkColumnDistance(link2)-linkColumnDistance(link1)}}function sortLinkSourceYAscending(link1,link2){return link1.y0-link2.y0}function sortLinkSourceYDescending(link1,link2){return link2.y0-link1.y0}function sortLinkTargetYAscending(link1,link2){return link1.y1-link2.y1}function sortLinkTargetYDescending(link1,link2){return link2.y1-link1.y1}function linkColumnDistance(link){return link.target.column-link.source.column}function linkXLength(link){return link.target.x0-link.source.x1}function linkPerpendicularYToLinkSource(longerLink,shorterLink){var angle=linkAngle(longerLink);var heightFromY1ToPependicular=linkXLength(shorterLink)/Math.tan(angle);var yPerpendicular=incline(longerLink)=="up"?longerLink.y1+heightFromY1ToPependicular:longerLink.y1-heightFromY1ToPependicular;return yPerpendicular}function linkPerpendicularYToLinkTarget(longerLink,shorterLink){var angle=linkAngle(longerLink);var heightFromY1ToPependicular=linkXLength(shorterLink)/Math.tan(angle);var yPerpendicular=incline(longerLink)=="up"?longerLink.y1-heightFromY1ToPependicular:longerLink.y1+heightFromY1ToPependicular;return yPerpendicular}function resolveNodeLinkOverlaps(graph,y0,y1,id){graph.links.forEach((function(link){if(link.circular){return}if(link.target.column-link.source.column>1){var columnToTest=link.source.column+1;var maxColumnToTest=link.target.column-1;var i=1;var numberOfColumnsToTest=maxColumnToTest-columnToTest+1;for(i=1;columnToTest<=maxColumnToTest;columnToTest++,i++){graph.nodes.forEach((function(node){if(node.column==columnToTest){var t=i/(numberOfColumnsToTest+1);var B0_t=Math.pow(1-t,3);var B1_t=3*t*Math.pow(1-t,2);var B2_t=3*Math.pow(t,2)*(1-t);var B3_t=Math.pow(t,3);var py_t=B0_t*link.y0+B1_t*link.y0+B2_t*link.y1+B3_t*link.y1;var linkY0AtColumn=py_t-link.width/2;var linkY1AtColumn=py_t+link.width/2;var dy;if(linkY0AtColumn>node.y0&&linkY0AtColumn<node.y1){dy=node.y1-linkY0AtColumn+10;dy=node.circularLinkType=="bottom"?dy:-dy;node=adjustNodeHeight(node,dy,y0,y1);graph.nodes.forEach((function(otherNode){if(getNodeID(otherNode,id)==getNodeID(node,id)||otherNode.column!=node.column){return}if(nodesOverlap(node,otherNode)){adjustNodeHeight(otherNode,dy,y0,y1)}}))}else if(linkY1AtColumn>node.y0&&linkY1AtColumn<node.y1){dy=linkY1AtColumn-node.y0+10;node=adjustNodeHeight(node,dy,y0,y1);graph.nodes.forEach((function(otherNode){if(getNodeID(otherNode,id)==getNodeID(node,id)||otherNode.column!=node.column){return}if(otherNode.y0<node.y1&&otherNode.y1>node.y1){adjustNodeHeight(otherNode,dy,y0,y1)}}))}else if(linkY0AtColumn<node.y0&&linkY1AtColumn>node.y1){dy=linkY1AtColumn-node.y0+10;node=adjustNodeHeight(node,dy,y0,y1);graph.nodes.forEach((function(otherNode){if(getNodeID(otherNode,id)==getNodeID(node,id)||otherNode.column!=node.column){return}if(otherNode.y0<node.y1&&otherNode.y1>node.y1){adjustNodeHeight(otherNode,dy,y0,y1)}}))}}}))}}}))}function nodesOverlap(nodeA,nodeB){if(nodeA.y0>nodeB.y0&&nodeA.y0<nodeB.y1){return true}else if(nodeA.y1>nodeB.y0&&nodeA.y1<nodeB.y1){return true}else if(nodeA.y0<nodeB.y0&&nodeA.y1>nodeB.y1){return true}else{return false}}function adjustNodeHeight(node,dy,sankeyY0,sankeyY1){if(node.y0+dy>=sankeyY0&&node.y1+dy<=sankeyY1){node.y0=node.y0+dy;node.y1=node.y1+dy;node.targetLinks.forEach((function(l){l.y1=l.y1+dy}));node.sourceLinks.forEach((function(l){l.y0=l.y0+dy}))}return node}function sortSourceLinks(graph,y1,id,moveNodes){graph.nodes.forEach((function(node){if(moveNodes&&node.y+(node.y1-node.y0)>y1){node.y=node.y-(node.y+(node.y1-node.y0)-y1)}var nodesSourceLinks=graph.links.filter((function(l){return getNodeID(l.source,id)==getNodeID(node,id)}));var nodeSourceLinksLength=nodesSourceLinks.length;if(nodeSourceLinksLength>1){nodesSourceLinks.sort((function(link1,link2){if(!link1.circular&&!link2.circular){if(link1.target.column==link2.target.column){return link1.y1-link2.y1}else if(!sameInclines(link1,link2)){return link1.y1-link2.y1}else{if(link1.target.column>link2.target.column){var link2Adj=linkPerpendicularYToLinkTarget(link2,link1);return link1.y1-link2Adj}if(link2.target.column>link1.target.column){var link1Adj=linkPerpendicularYToLinkTarget(link1,link2);return link1Adj-link2.y1}}}if(link1.circular&&!link2.circular){return link1.circularLinkType=="top"?-1:1}else if(link2.circular&&!link1.circular){return link2.circularLinkType=="top"?1:-1}if(link1.circular&&link2.circular){if(link1.circularLinkType===link2.circularLinkType&&link1.circularLinkType=="top"){if(link1.target.column===link2.target.column){return link1.target.y1-link2.target.y1}else{return link2.target.column-link1.target.column}}else if(link1.circularLinkType===link2.circularLinkType&&link1.circularLinkType=="bottom"){if(link1.target.column===link2.target.column){return link2.target.y1-link1.target.y1}else{return link1.target.column-link2.target.column}}else{return link1.circularLinkType=="top"?-1:1}}}))}var ySourceOffset=node.y0;nodesSourceLinks.forEach((function(link){link.y0=ySourceOffset+link.width/2;ySourceOffset=ySourceOffset+link.width}));nodesSourceLinks.forEach((function(link,i){if(link.circularLinkType=="bottom"){var j=i+1;var offsetFromBottom=0;for(j;j<nodeSourceLinksLength;j++){offsetFromBottom=offsetFromBottom+nodesSourceLinks[j].width}link.y0=node.y1-offsetFromBottom-link.width/2}}))}))}function sortTargetLinks(graph,y1,id){graph.nodes.forEach((function(node){var nodesTargetLinks=graph.links.filter((function(l){return getNodeID(l.target,id)==getNodeID(node,id)}));var nodesTargetLinksLength=nodesTargetLinks.length;if(nodesTargetLinksLength>1){nodesTargetLinks.sort((function(link1,link2){if(!link1.circular&&!link2.circular){if(link1.source.column==link2.source.column){return link1.y0-link2.y0}else if(!sameInclines(link1,link2)){return link1.y0-link2.y0}else{if(link2.source.column<link1.source.column){var link2Adj=linkPerpendicularYToLinkSource(link2,link1);return link1.y0-link2Adj}if(link1.source.column<link2.source.column){var link1Adj=linkPerpendicularYToLinkSource(link1,link2);return link1Adj-link2.y0}}}if(link1.circular&&!link2.circular){return link1.circularLinkType=="top"?-1:1}else if(link2.circular&&!link1.circular){return link2.circularLinkType=="top"?1:-1}if(link1.circular&&link2.circular){if(link1.circularLinkType===link2.circularLinkType&&link1.circularLinkType=="top"){if(link1.source.column===link2.source.column){return link1.source.y1-link2.source.y1}else{return link1.source.column-link2.source.column}}else if(link1.circularLinkType===link2.circularLinkType&&link1.circularLinkType=="bottom"){if(link1.source.column===link2.source.column){return link1.source.y1-link2.source.y1}else{return link2.source.column-link1.source.column}}else{return link1.circularLinkType=="top"?-1:1}}}))}var yTargetOffset=node.y0;nodesTargetLinks.forEach((function(link){link.y1=yTargetOffset+link.width/2;yTargetOffset=yTargetOffset+link.width}));nodesTargetLinks.forEach((function(link,i){if(link.circularLinkType=="bottom"){var j=i+1;var offsetFromBottom=0;for(j;j<nodesTargetLinksLength;j++){offsetFromBottom=offsetFromBottom+nodesTargetLinks[j].width}link.y1=node.y1-offsetFromBottom-link.width/2}}))}))}function sameInclines(link1,link2){return incline(link1)==incline(link2)}function incline(link){return link.y0-link.y1>0?"up":"down"}function selfLinking(link,id){return getNodeID(link.source,id)==getNodeID(link.target,id)}function fillHeight(graph,y0,y1){var nodes=graph.nodes;var links=graph.links;var top=false;var bottom=false;links.forEach((function(link){if(link.circularLinkType=="top"){top=true}else if(link.circularLinkType=="bottom"){bottom=true}}));if(top==false||bottom==false){var minY0=d3Array.min(nodes,(function(node){return node.y0}));var maxY1=d3Array.max(nodes,(function(node){return node.y1}));var currentHeight=maxY1-minY0;var chartHeight=y1-y0;var ratio=chartHeight/currentHeight;nodes.forEach((function(node){var nodeHeight=(node.y1-node.y0)*ratio;node.y0=(node.y0-minY0)*ratio;node.y1=node.y0+nodeHeight}));links.forEach((function(link){link.y0=(link.y0-minY0)*ratio;link.y1=(link.y1-minY0)*ratio;link.width=link.width*ratio}))}}exports.sankeyCircular=sankeyCircular;exports.sankeyCenter=center;exports.sankeyLeft=left;exports.sankeyRight=right;exports.sankeyJustify=justify;Object.defineProperty(exports,"__esModule",{value:true})}))},{"d3-array":162,"d3-collection":163,"d3-shape":174,"elementary-circuits-directed-graph":188}],57:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,_dereq_("d3-array"),_dereq_("d3-collection"),_dereq_("d3-shape")):typeof define==="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape"],factory):factory(global.d3=global.d3||{},global.d3,global.d3,global.d3)})(this,(function(exports,d3Array,d3Collection,d3Shape){"use strict";function targetDepth(d){return d.target.depth}function left(node){return node.depth}function right(node,n){return n-1-node.height}function justify(node,n){return node.sourceLinks.length?node.depth:n-1}function center(node){return node.targetLinks.length?node.depth:node.sourceLinks.length?d3Array.min(node.sourceLinks,targetDepth)-1:0}function constant(x){return function(){return x}}function ascendingSourceBreadth(a,b){return ascendingBreadth(a.source,b.source)||a.index-b.index}function ascendingTargetBreadth(a,b){return ascendingBreadth(a.target,b.target)||a.index-b.index}function ascendingBreadth(a,b){return a.y0-b.y0}function value(d){return d.value}function nodeCenter(node){return(node.y0+node.y1)/2}function weightedSource(link){return nodeCenter(link.source)*link.value}function weightedTarget(link){return nodeCenter(link.target)*link.value}function defaultId(d){return d.index}function defaultNodes(graph){return graph.nodes}function defaultLinks(graph){return graph.links}function find(nodeById,id){var node=nodeById.get(id);if(!node)throw new Error("missing: "+id);return node}var sankey=function(){var x0=0,y0=0,x1=1,y1=1,dx=24,py=8,id=defaultId,align=justify,nodes=defaultNodes,links=defaultLinks,iterations=32,maxPaddedSpace=2/3;function sankey(){var graph={nodes:nodes.apply(null,arguments),links:links.apply(null,arguments)};computeNodeLinks(graph);computeNodeValues(graph);computeNodeDepths(graph);computeNodeBreadths(graph,iterations);computeLinkBreadths(graph);return graph}sankey.update=function(graph){computeLinkBreadths(graph);return graph};sankey.nodeId=function(_){return arguments.length?(id=typeof _==="function"?_:constant(_),sankey):id};sankey.nodeAlign=function(_){return arguments.length?(align=typeof _==="function"?_:constant(_),sankey):align};sankey.nodeWidth=function(_){return arguments.length?(dx=+_,sankey):dx};sankey.nodePadding=function(_){return arguments.length?(py=+_,sankey):py};sankey.nodes=function(_){return arguments.length?(nodes=typeof _==="function"?_:constant(_),sankey):nodes};sankey.links=function(_){return arguments.length?(links=typeof _==="function"?_:constant(_),sankey):links};sankey.size=function(_){return arguments.length?(x0=y0=0,x1=+_[0],y1=+_[1],sankey):[x1-x0,y1-y0]};sankey.extent=function(_){return arguments.length?(x0=+_[0][0],x1=+_[1][0],y0=+_[0][1],y1=+_[1][1],sankey):[[x0,y0],[x1,y1]]};sankey.iterations=function(_){return arguments.length?(iterations=+_,sankey):iterations};function computeNodeLinks(graph){graph.nodes.forEach((function(node,i){node.index=i;node.sourceLinks=[];node.targetLinks=[]}));var nodeById=d3Collection.map(graph.nodes,id);graph.links.forEach((function(link,i){link.index=i;var source=link.source,target=link.target;if(typeof source!=="object")source=link.source=find(nodeById,source);if(typeof target!=="object")target=link.target=find(nodeById,target);source.sourceLinks.push(link);target.targetLinks.push(link)}))}function computeNodeValues(graph){graph.nodes.forEach((function(node){node.value=Math.max(d3Array.sum(node.sourceLinks,value),d3Array.sum(node.targetLinks,value))}))}function computeNodeDepths(graph){var nodes,next,x;for(nodes=graph.nodes,next=[],x=0;nodes.length;++x,nodes=next,next=[]){nodes.forEach((function(node){node.depth=x;node.sourceLinks.forEach((function(link){if(next.indexOf(link.target)<0){next.push(link.target)}}))}))}for(nodes=graph.nodes,next=[],x=0;nodes.length;++x,nodes=next,next=[]){nodes.forEach((function(node){node.height=x;node.targetLinks.forEach((function(link){if(next.indexOf(link.source)<0){next.push(link.source)}}))}))}var kx=(x1-x0-dx)/(x-1);graph.nodes.forEach((function(node){node.x1=(node.x0=x0+Math.max(0,Math.min(x-1,Math.floor(align.call(null,node,x))))*kx)+dx}))}function computeNodeBreadths(graph){var columns=d3Collection.nest().key((function(d){return d.x0})).sortKeys(d3Array.ascending).entries(graph.nodes).map((function(d){return d.values}));initializeNodeBreadth();resolveCollisions();for(var alpha=1,n=iterations;n>0;--n){relaxRightToLeft(alpha*=.99);resolveCollisions();relaxLeftToRight(alpha);resolveCollisions()}function initializeNodeBreadth(){var L=d3Array.max(columns,(function(nodes){return nodes.length}));var maxNodePadding=maxPaddedSpace*(y1-y0)/(L-1);if(py>maxNodePadding)py=maxNodePadding;var ky=d3Array.min(columns,(function(nodes){return(y1-y0-(nodes.length-1)*py)/d3Array.sum(nodes,value)}));columns.forEach((function(nodes){nodes.forEach((function(node,i){node.y1=(node.y0=i)+node.value*ky}))}));graph.links.forEach((function(link){link.width=link.value*ky}))}function relaxLeftToRight(alpha){columns.forEach((function(nodes){nodes.forEach((function(node){if(node.targetLinks.length){var dy=(d3Array.sum(node.targetLinks,weightedSource)/d3Array.sum(node.targetLinks,value)-nodeCenter(node))*alpha;node.y0+=dy,node.y1+=dy}}))}))}function relaxRightToLeft(alpha){columns.slice().reverse().forEach((function(nodes){nodes.forEach((function(node){if(node.sourceLinks.length){var dy=(d3Array.sum(node.sourceLinks,weightedTarget)/d3Array.sum(node.sourceLinks,value)-nodeCenter(node))*alpha;node.y0+=dy,node.y1+=dy}}))}))}function resolveCollisions(){columns.forEach((function(nodes){var node,dy,y=y0,n=nodes.length,i;nodes.sort(ascendingBreadth);for(i=0;i<n;++i){node=nodes[i];dy=y-node.y0;if(dy>0)node.y0+=dy,node.y1+=dy;y=node.y1+py}dy=y-py-y1;if(dy>0){y=node.y0-=dy,node.y1-=dy;for(i=n-2;i>=0;--i){node=nodes[i];dy=node.y1+py-y;if(dy>0)node.y0-=dy,node.y1-=dy;y=node.y0}}}))}}function computeLinkBreadths(graph){graph.nodes.forEach((function(node){node.sourceLinks.sort(ascendingTargetBreadth);node.targetLinks.sort(ascendingSourceBreadth)}));graph.nodes.forEach((function(node){var y0=node.y0,y1=y0;node.sourceLinks.forEach((function(link){link.y0=y0+link.width/2,y0+=link.width}));node.targetLinks.forEach((function(link){link.y1=y1+link.width/2,y1+=link.width}))}))}return sankey};function horizontalSource(d){return[d.source.x1,d.y0]}function horizontalTarget(d){return[d.target.x0,d.y1]}var sankeyLinkHorizontal=function(){return d3Shape.linkHorizontal().source(horizontalSource).target(horizontalTarget)};exports.sankey=sankey;exports.sankeyCenter=center;exports.sankeyLeft=left;exports.sankeyRight=right;exports.sankeyJustify=justify;exports.sankeyLinkHorizontal=sankeyLinkHorizontal;Object.defineProperty(exports,"__esModule",{value:true})}))},{"d3-array":162,"d3-collection":163,"d3-shape":174}],58:[function(_dereq_,module,exports){!function(){var d3={version:"3.8.0"};var d3_arraySlice=[].slice,d3_array=function(list){return d3_arraySlice.call(list)};var d3_document=self.document;function d3_documentElement(node){return node&&(node.ownerDocument||node.document||node).documentElement}function d3_window(node){return node&&(node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView)}if(d3_document){try{d3_array(d3_document.documentElement.childNodes)[0].nodeType}catch(e){d3_array=function(list){var i=list.length,array=new Array(i);while(i--)array[i]=list[i];return array}}}if(!Date.now)Date.now=function(){return+new Date};if(d3_document){try{d3_document.createElement("DIV").style.setProperty("opacity",0,"")}catch(error){var d3_element_prototype=this.Element.prototype,d3_element_setAttribute=d3_element_prototype.setAttribute,d3_element_setAttributeNS=d3_element_prototype.setAttributeNS,d3_style_prototype=this.CSSStyleDeclaration.prototype,d3_style_setProperty=d3_style_prototype.setProperty;d3_element_prototype.setAttribute=function(name,value){d3_element_setAttribute.call(this,name,value+"")};d3_element_prototype.setAttributeNS=function(space,local,value){d3_element_setAttributeNS.call(this,space,local,value+"")};d3_style_prototype.setProperty=function(name,value,priority){d3_style_setProperty.call(this,name,value+"",priority)}}}d3.ascending=d3_ascending;function d3_ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}d3.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN};d3.min=function(array,f){var i=-1,n=array.length,a,b;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=b;break}while(++i<n)if((b=array[i])!=null&&a>b)a=b}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=b;break}while(++i<n)if((b=f.call(array,array[i],i))!=null&&a>b)a=b}return a};d3.max=function(array,f){var i=-1,n=array.length,a,b;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=b;break}while(++i<n)if((b=array[i])!=null&&b>a)a=b}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=b;break}while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>a)a=b}return a};d3.extent=function(array,f){var i=-1,n=array.length,a,b,c;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=c=b;break}while(++i<n)if((b=array[i])!=null){if(a>b)a=b;if(c<b)c=b}}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=c=b;break}while(++i<n)if((b=f.call(array,array[i],i))!=null){if(a>b)a=b;if(c<b)c=b}}return[a,c]};function d3_number(x){return x===null?NaN:+x}function d3_numeric(x){return!isNaN(x)}d3.sum=function(array,f){var s=0,n=array.length,a,i=-1;if(arguments.length===1){while(++i<n)if(d3_numeric(a=+array[i]))s+=a}else{while(++i<n)if(d3_numeric(a=+f.call(array,array[i],i)))s+=a}return s};d3.mean=function(array,f){var s=0,n=array.length,a,i=-1,j=n;if(arguments.length===1){while(++i<n)if(d3_numeric(a=d3_number(array[i])))s+=a;else--j}else{while(++i<n)if(d3_numeric(a=d3_number(f.call(array,array[i],i))))s+=a;else--j}if(j)return s/j};d3.quantile=function(values,p){var H=(values.length-1)*p+1,h=Math.floor(H),v=+values[h-1],e=H-h;return e?v+e*(values[h]-v):v};d3.median=function(array,f){var numbers=[],n=array.length,a,i=-1;if(arguments.length===1){while(++i<n)if(d3_numeric(a=d3_number(array[i])))numbers.push(a)}else{while(++i<n)if(d3_numeric(a=d3_number(f.call(array,array[i],i))))numbers.push(a)}if(numbers.length)return d3.quantile(numbers.sort(d3_ascending),.5)};d3.variance=function(array,f){var n=array.length,m=0,a,d,s=0,i=-1,j=0;if(arguments.length===1){while(++i<n){if(d3_numeric(a=d3_number(array[i]))){d=a-m;m+=d/++j;s+=d*(a-m)}}}else{while(++i<n){if(d3_numeric(a=d3_number(f.call(array,array[i],i)))){d=a-m;m+=d/++j;s+=d*(a-m)}}}if(j>1)return s/(j-1)};d3.deviation=function(){var v=d3.variance.apply(this,arguments);return v?Math.sqrt(v):v};function d3_bisector(compare){return{left:function(a,x,lo,hi){if(arguments.length<3)lo=0;if(arguments.length<4)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)<0)lo=mid+1;else hi=mid}return lo},right:function(a,x,lo,hi){if(arguments.length<3)lo=0;if(arguments.length<4)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)>0)hi=mid;else lo=mid+1}return lo}}}var d3_bisect=d3_bisector(d3_ascending);d3.bisectLeft=d3_bisect.left;d3.bisect=d3.bisectRight=d3_bisect.right;d3.bisector=function(f){return d3_bisector(f.length===1?function(d,x){return d3_ascending(f(d),x)}:f)};d3.shuffle=function(array,i0,i1){if((m=arguments.length)<3){i1=array.length;if(m<2)i0=0}var m=i1-i0,t,i;while(m){i=Math.random()*m--|0;t=array[m+i0],array[m+i0]=array[i+i0],array[i+i0]=t}return array};d3.permute=function(array,indexes){var i=indexes.length,permutes=new Array(i);while(i--)permutes[i]=array[indexes[i]];return permutes};d3.pairs=function(array){var i=0,n=array.length-1,p0,p1=array[0],pairs=new Array(n<0?0:n);while(i<n)pairs[i]=[p0=p1,p1=array[++i]];return pairs};d3.transpose=function(matrix){if(!(n=matrix.length))return[];for(var i=-1,m=d3.min(matrix,d3_transposeLength),transpose=new Array(m);++i<m;){for(var j=-1,n,row=transpose[i]=new Array(n);++j<n;){row[j]=matrix[j][i]}}return transpose};function d3_transposeLength(d){return d.length}d3.zip=function(){return d3.transpose(arguments)};d3.keys=function(map){var keys=[];for(var key in map)keys.push(key);return keys};d3.values=function(map){var values=[];for(var key in map)values.push(map[key]);return values};d3.entries=function(map){var entries=[];for(var key in map)entries.push({key:key,value:map[key]});return entries};d3.merge=function(arrays){var n=arrays.length,m,i=-1,j=0,merged,array;while(++i<n)j+=arrays[i].length;merged=new Array(j);while(--n>=0){array=arrays[n];m=array.length;while(--m>=0){merged[--j]=array[m]}}return merged};var abs=Math.abs;d3.range=function(start,stop,step){if(arguments.length<3){step=1;if(arguments.length<2){stop=start;start=0}}if((stop-start)/step===Infinity)throw new Error("infinite range");var range=[],k=d3_range_integerScale(abs(step)),i=-1,j;start*=k,stop*=k,step*=k;if(step<0)while((j=start+step*++i)>stop)range.push(j/k);else while((j=start+step*++i)<stop)range.push(j/k);return range};function d3_range_integerScale(x){var k=1;while(x*k%1)k*=10;return k}function d3_class(ctor,properties){for(var key in properties){Object.defineProperty(ctor.prototype,key,{value:properties[key],enumerable:false})}}d3.map=function(object,f){var map=new d3_Map;if(object instanceof d3_Map){object.forEach((function(key,value){map.set(key,value)}))}else if(Array.isArray(object)){var i=-1,n=object.length,o;if(arguments.length===1)while(++i<n)map.set(i,object[i]);else while(++i<n)map.set(f.call(object,o=object[i],i),o)}else{for(var key in object)map.set(key,object[key])}return map};function d3_Map(){this._=Object.create(null)}var d3_map_proto="__proto__",d3_map_zero="\0";d3_class(d3_Map,{has:d3_map_has,get:function(key){return this._[d3_map_escape(key)]},set:function(key,value){return this._[d3_map_escape(key)]=value},remove:d3_map_remove,keys:d3_map_keys,values:function(){var values=[];for(var key in this._)values.push(this._[key]);return values},entries:function(){var entries=[];for(var key in this._)entries.push({key:d3_map_unescape(key),value:this._[key]});return entries},size:d3_map_size,empty:d3_map_empty,forEach:function(f){for(var key in this._)f.call(this,d3_map_unescape(key),this._[key])}});function d3_map_escape(key){return(key+="")===d3_map_proto||key[0]===d3_map_zero?d3_map_zero+key:key}function d3_map_unescape(key){return(key+="")[0]===d3_map_zero?key.slice(1):key}function d3_map_has(key){return d3_map_escape(key)in this._}function d3_map_remove(key){return(key=d3_map_escape(key))in this._&&delete this._[key]}function d3_map_keys(){var keys=[];for(var key in this._)keys.push(d3_map_unescape(key));return keys}function d3_map_size(){var size=0;for(var key in this._)++size;return size}function d3_map_empty(){for(var key in this._)return false;return true}d3.nest=function(){var nest={},keys=[],sortKeys=[],sortValues,rollup;function map(mapType,array,depth){if(depth>=keys.length)return rollup?rollup.call(nest,array):sortValues?array.sort(sortValues):array;var i=-1,n=array.length,key=keys[depth++],keyValue,object,setter,valuesByKey=new d3_Map,values;while(++i<n){if(values=valuesByKey.get(keyValue=key(object=array[i]))){values.push(object)}else{valuesByKey.set(keyValue,[object])}}if(mapType){object=mapType();setter=function(keyValue,values){object.set(keyValue,map(mapType,values,depth))}}else{object={};setter=function(keyValue,values){object[keyValue]=map(mapType,values,depth)}}valuesByKey.forEach(setter);return object}function entries(map,depth){if(depth>=keys.length)return map;var array=[],sortKey=sortKeys[depth++];map.forEach((function(key,keyMap){array.push({key:key,values:entries(keyMap,depth)})}));return sortKey?array.sort((function(a,b){return sortKey(a.key,b.key)})):array}nest.map=function(array,mapType){return map(mapType,array,0)};nest.entries=function(array){return entries(map(d3.map,array,0),0)};nest.key=function(d){keys.push(d);return nest};nest.sortKeys=function(order){sortKeys[keys.length-1]=order;return nest};nest.sortValues=function(order){sortValues=order;return nest};nest.rollup=function(f){rollup=f;return nest};return nest};d3.set=function(array){var set=new d3_Set;if(array)for(var i=0,n=array.length;i<n;++i)set.add(array[i]);return set};function d3_Set(){this._=Object.create(null)}d3_class(d3_Set,{has:d3_map_has,add:function(key){this._[d3_map_escape(key+="")]=true;return key},remove:d3_map_remove,values:d3_map_keys,size:d3_map_size,empty:d3_map_empty,forEach:function(f){for(var key in this._)f.call(this,d3_map_unescape(key))}});d3.behavior={};function d3_identity(d){return d}d3.rebind=function(target,source){var i=1,n=arguments.length,method;while(++i<n)target[method=arguments[i]]=d3_rebind(target,source,source[method]);return target};function d3_rebind(target,source,method){return function(){var value=method.apply(source,arguments);return value===source?target:value}}function d3_vendorSymbol(object,name){if(name in object)return name;name=name.charAt(0).toUpperCase()+name.slice(1);for(var i=0,n=d3_vendorPrefixes.length;i<n;++i){var prefixName=d3_vendorPrefixes[i]+name;if(prefixName in object)return prefixName}}var d3_vendorPrefixes=["webkit","ms","moz","Moz","o","O"];function d3_noop(){}d3.dispatch=function(){var dispatch=new d3_dispatch,i=-1,n=arguments.length;while(++i<n)dispatch[arguments[i]]=d3_dispatch_event(dispatch);return dispatch};function d3_dispatch(){}d3_dispatch.prototype.on=function(type,listener){var i=type.indexOf("."),name="";if(i>=0){name=type.slice(i+1);type=type.slice(0,i)}if(type)return arguments.length<2?this[type].on(name):this[type].on(name,listener);if(arguments.length===2){if(listener==null)for(type in this){if(this.hasOwnProperty(type))this[type].on(name,null)}return this}};function d3_dispatch_event(dispatch){var listeners=[],listenerByName=new d3_Map;function event(){var z=listeners,i=-1,n=z.length,l;while(++i<n)if(l=z[i].on)l.apply(this,arguments);return dispatch}event.on=function(name,listener){var l=listenerByName.get(name),i;if(arguments.length<2)return l&&l.on;if(l){l.on=null;listeners=listeners.slice(0,i=listeners.indexOf(l)).concat(listeners.slice(i+1));listenerByName.remove(name)}if(listener)listeners.push(listenerByName.set(name,{on:listener}));return dispatch};return event}d3.event=null;function d3_eventPreventDefault(){d3.event.preventDefault()}function d3_eventSource(){var e=d3.event,s;while(s=e.sourceEvent)e=s;return e}function d3_eventDispatch(target){var dispatch=new d3_dispatch,i=0,n=arguments.length;while(++i<n)dispatch[arguments[i]]=d3_dispatch_event(dispatch);dispatch.of=function(thiz,argumentz){return function(e1){try{var e0=e1.sourceEvent=d3.event;e1.target=target;d3.event=e1;dispatch[e1.type].apply(thiz,argumentz)}finally{d3.event=e0}}};return dispatch}d3.requote=function(s){return s.replace(d3_requote_re,"\\$&")};var d3_requote_re=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;var d3_subclass={}.__proto__?function(object,prototype){object.__proto__=prototype}:function(object,prototype){for(var property in prototype)object[property]=prototype[property]};function d3_selection(groups){d3_subclass(groups,d3_selectionPrototype);return groups}var d3_select=function(s,n){return n.querySelector(s)},d3_selectAll=function(s,n){return n.querySelectorAll(s)},d3_selectMatches=function(n,s){var d3_selectMatcher=n.matches||n[d3_vendorSymbol(n,"matchesSelector")];d3_selectMatches=function(n,s){return d3_selectMatcher.call(n,s)};return d3_selectMatches(n,s)};if(typeof Sizzle==="function"){d3_select=function(s,n){return Sizzle(s,n)[0]||null};d3_selectAll=Sizzle;d3_selectMatches=Sizzle.matchesSelector}d3.selection=function(){return d3.select(d3_document.documentElement)};var d3_selectionPrototype=d3.selection.prototype=[];d3_selectionPrototype.select=function(selector){var subgroups=[],subgroup,subnode,group,node;selector=d3_selection_selector(selector);for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);subgroup.parentNode=(group=this[j]).parentNode;for(var i=-1,n=group.length;++i<n;){if(node=group[i]){subgroup.push(subnode=selector.call(node,node.__data__,i,j));if(subnode&&"__data__"in node)subnode.__data__=node.__data__}else{subgroup.push(null)}}}return d3_selection(subgroups)};function d3_selection_selector(selector){return typeof selector==="function"?selector:function(){return d3_select(selector,this)}}d3_selectionPrototype.selectAll=function(selector){var subgroups=[],subgroup,node;selector=d3_selection_selectorAll(selector);for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i]){subgroups.push(subgroup=d3_array(selector.call(node,node.__data__,i,j)));subgroup.parentNode=node}}}return d3_selection(subgroups)};function d3_selection_selectorAll(selector){return typeof selector==="function"?selector:function(){return d3_selectAll(selector,this)}}var d3_nsXhtml="http://www.w3.org/1999/xhtml";var d3_nsPrefix={svg:"http://www.w3.org/2000/svg",xhtml:d3_nsXhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};d3.ns={prefix:d3_nsPrefix,qualify:function(name){var i=name.indexOf(":"),prefix=name;if(i>=0&&(prefix=name.slice(0,i))!=="xmlns")name=name.slice(i+1);return d3_nsPrefix.hasOwnProperty(prefix)?{space:d3_nsPrefix[prefix],local:name}:name}};d3_selectionPrototype.attr=function(name,value){if(arguments.length<2){if(typeof name==="string"){var node=this.node();name=d3.ns.qualify(name);return name.local?node.getAttributeNS(name.space,name.local):node.getAttribute(name)}for(value in name)this.each(d3_selection_attr(value,name[value]));return this}return this.each(d3_selection_attr(name,value))};function d3_selection_attr(name,value){name=d3.ns.qualify(name);function attrNull(){this.removeAttribute(name)}function attrNullNS(){this.removeAttributeNS(name.space,name.local)}function attrConstant(){this.setAttribute(name,value)}function attrConstantNS(){this.setAttributeNS(name.space,name.local,value)}function attrFunction(){var x=value.apply(this,arguments);if(x==null)this.removeAttribute(name);else this.setAttribute(name,x)}function attrFunctionNS(){var x=value.apply(this,arguments);if(x==null)this.removeAttributeNS(name.space,name.local);else this.setAttributeNS(name.space,name.local,x)}return value==null?name.local?attrNullNS:attrNull:typeof value==="function"?name.local?attrFunctionNS:attrFunction:name.local?attrConstantNS:attrConstant}function d3_collapse(s){return s.trim().replace(/\s+/g," ")}d3_selectionPrototype.classed=function(name,value){if(arguments.length<2){if(typeof name==="string"){var node=this.node(),n=(name=d3_selection_classes(name)).length,i=-1;if(value=node.classList){while(++i<n)if(!value.contains(name[i]))return false}else{value=node.getAttribute("class");while(++i<n)if(!d3_selection_classedRe(name[i]).test(value))return false}return true}for(value in name)this.each(d3_selection_classed(value,name[value]));return this}return this.each(d3_selection_classed(name,value))};function d3_selection_classedRe(name){return new RegExp("(?:^|\\s+)"+d3.requote(name)+"(?:\\s+|$)","g")}function d3_selection_classes(name){return(name+"").trim().split(/^|\s+/)}function d3_selection_classed(name,value){name=d3_selection_classes(name).map(d3_selection_classedName);var n=name.length;function classedConstant(){var i=-1;while(++i<n)name[i](this,value)}function classedFunction(){var i=-1,x=value.apply(this,arguments);while(++i<n)name[i](this,x)}return typeof value==="function"?classedFunction:classedConstant}function d3_selection_classedName(name){var re=d3_selection_classedRe(name);return function(node,value){if(c=node.classList)return value?c.add(name):c.remove(name);var c=node.getAttribute("class")||"";if(value){re.lastIndex=0;if(!re.test(c))node.setAttribute("class",d3_collapse(c+" "+name))}else{node.setAttribute("class",d3_collapse(c.replace(re," ")))}}}d3_selectionPrototype.style=function(name,value,priority){var n=arguments.length;if(n<3){if(typeof name!=="string"){if(n<2)value="";for(priority in name)this.each(d3_selection_style(priority,name[priority],value));return this}if(n<2){var node=this.node();return d3_window(node).getComputedStyle(node,null).getPropertyValue(name)}priority=""}return this.each(d3_selection_style(name,value,priority))};function d3_selection_style(name,value,priority){function styleNull(){this.style.removeProperty(name)}function styleConstant(){this.style.setProperty(name,value,priority)}function styleFunction(){var x=value.apply(this,arguments);if(x==null)this.style.removeProperty(name);else this.style.setProperty(name,x,priority)}return value==null?styleNull:typeof value==="function"?styleFunction:styleConstant}d3_selectionPrototype.property=function(name,value){if(arguments.length<2){if(typeof name==="string")return this.node()[name];for(value in name)this.each(d3_selection_property(value,name[value]));return this}return this.each(d3_selection_property(name,value))};function d3_selection_property(name,value){function propertyNull(){delete this[name]}function propertyConstant(){this[name]=value}function propertyFunction(){var x=value.apply(this,arguments);if(x==null)delete this[name];else this[name]=x}return value==null?propertyNull:typeof value==="function"?propertyFunction:propertyConstant}d3_selectionPrototype.text=function(value){return arguments.length?this.each(typeof value==="function"?function(){var v=value.apply(this,arguments);this.textContent=v==null?"":v}:value==null?function(){this.textContent=""}:function(){this.textContent=value}):this.node().textContent};d3_selectionPrototype.html=function(value){return arguments.length?this.each(typeof value==="function"?function(){var v=value.apply(this,arguments);this.innerHTML=v==null?"":v}:value==null?function(){this.innerHTML=""}:function(){this.innerHTML=value}):this.node().innerHTML};d3_selectionPrototype.append=function(name){name=d3_selection_creator(name);return this.select((function(){return this.appendChild(name.apply(this,arguments))}))};function d3_selection_creator(name){function create(){var document=this.ownerDocument,namespace=this.namespaceURI;return namespace===d3_nsXhtml&&document.documentElement.namespaceURI===d3_nsXhtml?document.createElement(name):document.createElementNS(namespace,name)}function createNS(){return this.ownerDocument.createElementNS(name.space,name.local)}return typeof name==="function"?name:(name=d3.ns.qualify(name)).local?createNS:create}d3_selectionPrototype.insert=function(name,before){name=d3_selection_creator(name);before=d3_selection_selector(before);return this.select((function(){return this.insertBefore(name.apply(this,arguments),before.apply(this,arguments)||null)}))};d3_selectionPrototype.remove=function(){return this.each(d3_selectionRemove)};function d3_selectionRemove(){var parent=this.parentNode;if(parent)parent.removeChild(this)}d3_selectionPrototype.data=function(value,key){var i=-1,n=this.length,group,node;if(!arguments.length){value=new Array(n=(group=this[0]).length);while(++i<n){if(node=group[i]){value[i]=node.__data__}}return value}function bind(group,groupData){var i,n=group.length,m=groupData.length,n0=Math.min(n,m),updateNodes=new Array(m),enterNodes=new Array(m),exitNodes=new Array(n),node,nodeData;if(key){var nodeByKeyValue=new d3_Map,keyValues=new Array(n),keyValue;for(i=-1;++i<n;){if(node=group[i]){if(nodeByKeyValue.has(keyValue=key.call(node,node.__data__,i))){exitNodes[i]=node}else{nodeByKeyValue.set(keyValue,node)}keyValues[i]=keyValue}}for(i=-1;++i<m;){if(!(node=nodeByKeyValue.get(keyValue=key.call(groupData,nodeData=groupData[i],i)))){enterNodes[i]=d3_selection_dataNode(nodeData)}else if(node!==true){updateNodes[i]=node;node.__data__=nodeData}nodeByKeyValue.set(keyValue,true)}for(i=-1;++i<n;){if(i in keyValues&&nodeByKeyValue.get(keyValues[i])!==true){exitNodes[i]=group[i]}}}else{for(i=-1;++i<n0;){node=group[i];nodeData=groupData[i];if(node){node.__data__=nodeData;updateNodes[i]=node}else{enterNodes[i]=d3_selection_dataNode(nodeData)}}for(;i<m;++i){enterNodes[i]=d3_selection_dataNode(groupData[i])}for(;i<n;++i){exitNodes[i]=group[i]}}enterNodes.update=updateNodes;enterNodes.parentNode=updateNodes.parentNode=exitNodes.parentNode=group.parentNode;enter.push(enterNodes);update.push(updateNodes);exit.push(exitNodes)}var enter=d3_selection_enter([]),update=d3_selection([]),exit=d3_selection([]);if(typeof value==="function"){while(++i<n){bind(group=this[i],value.call(group,group.parentNode.__data__,i))}}else{while(++i<n){bind(group=this[i],value)}}update.enter=function(){return enter};update.exit=function(){return exit};return update};function d3_selection_dataNode(data){return{__data__:data}}d3_selectionPrototype.datum=function(value){return arguments.length?this.property("__data__",value):this.property("__data__")};d3_selectionPrototype.filter=function(filter){var subgroups=[],subgroup,group,node;if(typeof filter!=="function")filter=d3_selection_filter(filter);for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);subgroup.parentNode=(group=this[j]).parentNode;for(var i=0,n=group.length;i<n;i++){if((node=group[i])&&filter.call(node,node.__data__,i,j)){subgroup.push(node)}}}return d3_selection(subgroups)};function d3_selection_filter(selector){return function(){return d3_selectMatches(this,selector)}}d3_selectionPrototype.order=function(){for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=group.length-1,next=group[i],node;--i>=0;){if(node=group[i]){if(next&&next!==node.nextSibling)next.parentNode.insertBefore(node,next);next=node}}}return this};d3_selectionPrototype.sort=function(comparator){comparator=d3_selection_sortComparator.apply(this,arguments);for(var j=-1,m=this.length;++j<m;)this[j].sort(comparator);return this.order()};function d3_selection_sortComparator(comparator){if(!arguments.length)comparator=d3_ascending;return function(a,b){return a&&b?comparator(a.__data__,b.__data__):!a-!b}}d3_selectionPrototype.each=function(callback){return d3_selection_each(this,(function(node,i,j){callback.call(node,node.__data__,i,j)}))};function d3_selection_each(groups,callback){for(var j=0,m=groups.length;j<m;j++){for(var group=groups[j],i=0,n=group.length,node;i<n;i++){if(node=group[i])callback(node,i,j)}}return groups}d3_selectionPrototype.call=function(callback){var args=d3_array(arguments);callback.apply(args[0]=this,args);return this};d3_selectionPrototype.empty=function(){return!this.node()};d3_selectionPrototype.node=function(){for(var j=0,m=this.length;j<m;j++){for(var group=this[j],i=0,n=group.length;i<n;i++){var node=group[i];if(node)return node}}return null};d3_selectionPrototype.size=function(){var n=0;d3_selection_each(this,(function(){++n}));return n};function d3_selection_enter(selection){d3_subclass(selection,d3_selection_enterPrototype);return selection}var d3_selection_enterPrototype=[];d3.selection.enter=d3_selection_enter;d3.selection.enter.prototype=d3_selection_enterPrototype;d3_selection_enterPrototype.append=d3_selectionPrototype.append;d3_selection_enterPrototype.empty=d3_selectionPrototype.empty;d3_selection_enterPrototype.node=d3_selectionPrototype.node;d3_selection_enterPrototype.call=d3_selectionPrototype.call;d3_selection_enterPrototype.size=d3_selectionPrototype.size;d3_selection_enterPrototype.select=function(selector){var subgroups=[],subgroup,subnode,upgroup,group,node;for(var j=-1,m=this.length;++j<m;){upgroup=(group=this[j]).update;subgroups.push(subgroup=[]);subgroup.parentNode=group.parentNode;for(var i=-1,n=group.length;++i<n;){if(node=group[i]){subgroup.push(upgroup[i]=subnode=selector.call(group.parentNode,node.__data__,i,j));subnode.__data__=node.__data__}else{subgroup.push(null)}}}return d3_selection(subgroups)};d3_selection_enterPrototype.insert=function(name,before){if(arguments.length<2)before=d3_selection_enterInsertBefore(this);return d3_selectionPrototype.insert.call(this,name,before)};function d3_selection_enterInsertBefore(enter){var i0,j0;return function(d,i,j){var group=enter[j].update,n=group.length,node;if(j!=j0)j0=j,i0=0;if(i>=i0)i0=i+1;while(!(node=group[i0])&&++i0<n);return node}}d3.select=function(node){var group;if(typeof node==="string"){group=[d3_select(node,d3_document)];group.parentNode=d3_document.documentElement}else{group=[node];group.parentNode=d3_documentElement(node)}return d3_selection([group])};d3.selectAll=function(nodes){var group;if(typeof nodes==="string"){group=d3_array(d3_selectAll(nodes,d3_document));group.parentNode=d3_document.documentElement}else{group=d3_array(nodes);group.parentNode=null}return d3_selection([group])};d3_selectionPrototype.on=function(type,listener,capture){var n=arguments.length;if(n<3){if(typeof type!=="string"){if(n<2)listener=false;for(capture in type)this.each(d3_selection_on(capture,type[capture],listener));return this}if(n<2)return(n=this.node()["__on"+type])&&n._;capture=false}return this.each(d3_selection_on(type,listener,capture))};function d3_selection_on(type,listener,capture){var name="__on"+type,i=type.indexOf("."),wrap=d3_selection_onListener;if(i>0)type=type.slice(0,i);var filter=d3_selection_onFilters.get(type);if(filter)type=filter,wrap=d3_selection_onFilter;function onRemove(){var l=this[name];if(l){this.removeEventListener(type,l,l.$);delete this[name]}}function onAdd(){var l=wrap(listener,d3_array(arguments));onRemove.call(this);this.addEventListener(type,this[name]=l,l.$=capture);l._=listener}function removeAll(){var re=new RegExp("^__on([^.]+)"+d3.requote(type)+"$"),match;for(var name in this){if(match=name.match(re)){var l=this[name];this.removeEventListener(match[1],l,l.$);delete this[name]}}}return i?listener?onAdd:onRemove:listener?d3_noop:removeAll}var d3_selection_onFilters=d3.map({mouseenter:"mouseover",mouseleave:"mouseout"});if(d3_document){d3_selection_onFilters.forEach((function(k){if("on"+k in d3_document)d3_selection_onFilters.remove(k)}))}function d3_selection_onListener(listener,argumentz){return function(e){var o=d3.event;d3.event=e;argumentz[0]=this.__data__;try{listener.apply(this,argumentz)}finally{d3.event=o}}}function d3_selection_onFilter(listener,argumentz){var l=d3_selection_onListener(listener,argumentz);return function(e){var target=this,related=e.relatedTarget;if(!related||related!==target&&!(related.compareDocumentPosition(target)&8)){l.call(target,e)}}}var d3_event_dragSelect,d3_event_dragId=0;function d3_event_dragSuppress(node){var name=".dragsuppress-"+ ++d3_event_dragId,click="click"+name,w=d3.select(d3_window(node)).on("touchmove"+name,d3_eventPreventDefault).on("dragstart"+name,d3_eventPreventDefault).on("selectstart"+name,d3_eventPreventDefault);if(d3_event_dragSelect==null){d3_event_dragSelect="onselectstart"in node?false:d3_vendorSymbol(node.style,"userSelect")}if(d3_event_dragSelect){var style=d3_documentElement(node).style,select=style[d3_event_dragSelect];style[d3_event_dragSelect]="none"}return function(suppressClick){w.on(name,null);if(d3_event_dragSelect)style[d3_event_dragSelect]=select;if(suppressClick){var off=function(){w.on(click,null)};w.on(click,(function(){d3_eventPreventDefault();off()}),true);setTimeout(off,0)}}}d3.mouse=function(container){return d3_mousePoint(container,d3_eventSource())};var d3_mouse_bug44083=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function d3_mousePoint(container,e){if(e.changedTouches)e=e.changedTouches[0];var svg=container.ownerSVGElement||container;if(svg.createSVGPoint){var point=svg.createSVGPoint();if(d3_mouse_bug44083<0){var window=d3_window(container);if(window.scrollX||window.scrollY){svg=d3.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var ctm=svg[0][0].getScreenCTM();d3_mouse_bug44083=!(ctm.f||ctm.e);svg.remove()}}if(d3_mouse_bug44083)point.x=e.pageX,point.y=e.pageY;else point.x=e.clientX,point.y=e.clientY;point=point.matrixTransform(container.getScreenCTM().inverse());return[point.x,point.y]}var rect=container.getBoundingClientRect();return[e.clientX-rect.left-container.clientLeft,e.clientY-rect.top-container.clientTop]}d3.touch=function(container,touches,identifier){if(arguments.length<3)identifier=touches,touches=d3_eventSource().changedTouches;if(touches)for(var i=0,n=touches.length,touch;i<n;++i){if((touch=touches[i]).identifier===identifier){return d3_mousePoint(container,touch)}}};d3.behavior.drag=function(){var event=d3_eventDispatch(drag,"drag","dragstart","dragend"),origin=null,mousedown=dragstart(d3_noop,d3.mouse,d3_window,"mousemove","mouseup"),touchstart=dragstart(d3_behavior_dragTouchId,d3.touch,d3_identity,"touchmove","touchend");function drag(){this.on("mousedown.drag",mousedown).on("touchstart.drag",touchstart)}function dragstart(id,position,subject,move,end){return function(){var that=this,target=d3.event.target.correspondingElement||d3.event.target,parent=that.parentNode,dispatch=event.of(that,arguments),dragged=0,dragId=id(),dragName=".drag"+(dragId==null?"":"-"+dragId),dragOffset,dragSubject=d3.select(subject(target)).on(move+dragName,moved).on(end+dragName,ended),dragRestore=d3_event_dragSuppress(target),position0=position(parent,dragId);if(origin){dragOffset=origin.apply(that,arguments);dragOffset=[dragOffset.x-position0[0],dragOffset.y-position0[1]]}else{dragOffset=[0,0]}dispatch({type:"dragstart"});function moved(){var position1=position(parent,dragId),dx,dy;if(!position1)return;dx=position1[0]-position0[0];dy=position1[1]-position0[1];dragged|=dx|dy;position0=position1;dispatch({type:"drag",x:position1[0]+dragOffset[0],y:position1[1]+dragOffset[1],dx:dx,dy:dy})}function ended(){if(!position(parent,dragId))return;dragSubject.on(move+dragName,null).on(end+dragName,null);dragRestore(dragged);dispatch({type:"dragend"})}}}drag.origin=function(x){if(!arguments.length)return origin;origin=x;return drag};return d3.rebind(drag,event,"on")};function d3_behavior_dragTouchId(){return d3.event.changedTouches[0].identifier}d3.touches=function(container,touches){if(arguments.length<2)touches=d3_eventSource().touches;return touches?d3_array(touches).map((function(touch){var point=d3_mousePoint(container,touch);point.identifier=touch.identifier;return point})):[]};var ε=1e-6,ε2=ε*ε,π=Math.PI,τ=2*π,τε=τ-ε,halfπ=π/2,d3_radians=π/180,d3_degrees=180/π;function d3_sgn(x){return x>0?1:x<0?-1:0}function d3_cross2d(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function d3_acos(x){return x>1?0:x<-1?π:Math.acos(x)}function d3_asin(x){return x>1?halfπ:x<-1?-halfπ:Math.asin(x)}function d3_sinh(x){return((x=Math.exp(x))-1/x)/2}function d3_cosh(x){return((x=Math.exp(x))+1/x)/2}function d3_tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function d3_haversin(x){return(x=Math.sin(x/2))*x}var ρ=Math.SQRT2,ρ2=2,ρ4=4;d3.interpolateZoom=function(p0,p1){var ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2],dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy,i,S;if(d2<ε2){S=Math.log(w1/w0)/ρ;i=function(t){return[ux0+t*dx,uy0+t*dy,w0*Math.exp(ρ*t*S)]}}else{var d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+ρ4*d2)/(2*w0*ρ2*d1),b1=(w1*w1-w0*w0-ρ4*d2)/(2*w1*ρ2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1);S=(r1-r0)/ρ;i=function(t){var s=t*S,coshr0=d3_cosh(r0),u=w0/(ρ2*d1)*(coshr0*d3_tanh(ρ*s+r0)-d3_sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/d3_cosh(ρ*s+r0)]}}i.duration=S*1e3;return i};d3.behavior.zoom=function(){var view={x:0,y:0,k:1},translate0,center0,center,size=[960,500],scaleExtent=d3_behavior_zoomInfinity,duration=250,zooming=0,mousedown="mousedown.zoom",mousemove="mousemove.zoom",mouseup="mouseup.zoom",mousewheelTimer,touchstart="touchstart.zoom",touchtime,event=d3_eventDispatch(zoom,"zoomstart","zoom","zoomend"),x0,x1,y0,y1;if(!d3_behavior_zoomWheel){d3_behavior_zoomWheel="onwheel"in d3_document?(d3_behavior_zoomDelta=function(){return-d3.event.deltaY*(d3.event.deltaMode?120:1)},"wheel"):"onmousewheel"in d3_document?(d3_behavior_zoomDelta=function(){return d3.event.wheelDelta},"mousewheel"):(d3_behavior_zoomDelta=function(){return-d3.event.detail},"MozMousePixelScroll")}function zoom(g){g.on(mousedown,mousedowned).on(d3_behavior_zoomWheel+".zoom",mousewheeled).on("dblclick.zoom",dblclicked).on(touchstart,touchstarted)}zoom.event=function(g){g.each((function(){var dispatch=event.of(this,arguments),view1=view;if(d3_transitionInheritId){d3.select(this).transition().each("start.zoom",(function(){view=this.__chart__||{x:0,y:0,k:1};zoomstarted(dispatch)})).tween("zoom:zoom",(function(){var dx=size[0],dy=size[1],cx=center0?center0[0]:dx/2,cy=center0?center0[1]:dy/2,i=d3.interpolateZoom([(cx-view.x)/view.k,(cy-view.y)/view.k,dx/view.k],[(cx-view1.x)/view1.k,(cy-view1.y)/view1.k,dx/view1.k]);return function(t){var l=i(t),k=dx/l[2];this.__chart__=view={x:cx-l[0]*k,y:cy-l[1]*k,k:k};zoomed(dispatch)}})).each("interrupt.zoom",(function(){zoomended(dispatch)})).each("end.zoom",(function(){zoomended(dispatch)}))}else{this.__chart__=view;zoomstarted(dispatch);zoomed(dispatch);zoomended(dispatch)}}))};zoom.translate=function(_){if(!arguments.length)return[view.x,view.y];view={x:+_[0],y:+_[1],k:view.k};rescale();return zoom};zoom.scale=function(_){if(!arguments.length)return view.k;view={x:view.x,y:view.y,k:null};scaleTo(+_);rescale();return zoom};zoom.scaleExtent=function(_){if(!arguments.length)return scaleExtent;scaleExtent=_==null?d3_behavior_zoomInfinity:[+_[0],+_[1]];return zoom};zoom.center=function(_){if(!arguments.length)return center;center=_&&[+_[0],+_[1]];return zoom};zoom.size=function(_){if(!arguments.length)return size;size=_&&[+_[0],+_[1]];return zoom};zoom.duration=function(_){if(!arguments.length)return duration;duration=+_;return zoom};zoom.x=function(z){if(!arguments.length)return x1;x1=z;x0=z.copy();view={x:0,y:0,k:1};return zoom};zoom.y=function(z){if(!arguments.length)return y1;y1=z;y0=z.copy();view={x:0,y:0,k:1};return zoom};function location(p){return[(p[0]-view.x)/view.k,(p[1]-view.y)/view.k]}function point(l){return[l[0]*view.k+view.x,l[1]*view.k+view.y]}function scaleTo(s){view.k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],s))}function translateTo(p,l){l=point(l);view.x+=p[0]-l[0];view.y+=p[1]-l[1]}function zoomTo(that,p,l,k){that.__chart__={x:view.x,y:view.y,k:view.k};scaleTo(Math.pow(2,k));translateTo(center0=p,l);that=d3.select(that);if(duration>0)that=that.transition().duration(duration);that.call(zoom.event)}function rescale(){if(x1)x1.domain(x0.range().map((function(x){return(x-view.x)/view.k})).map(x0.invert));if(y1)y1.domain(y0.range().map((function(y){return(y-view.y)/view.k})).map(y0.invert))}function zoomstarted(dispatch){if(!zooming++)dispatch({type:"zoomstart"})}function zoomed(dispatch){rescale();dispatch({type:"zoom",scale:view.k,translate:[view.x,view.y]})}function zoomended(dispatch){if(!--zooming)dispatch({type:"zoomend"}),center0=null}function mousedowned(){var that=this,dispatch=event.of(that,arguments),dragged=0,subject=d3.select(d3_window(that)).on(mousemove,moved).on(mouseup,ended),location0=location(d3.mouse(that)),dragRestore=d3_event_dragSuppress(that);d3_selection_interrupt.call(that);zoomstarted(dispatch);function moved(){dragged=1;translateTo(d3.mouse(that),location0);zoomed(dispatch)}function ended(){subject.on(mousemove,null).on(mouseup,null);dragRestore(dragged);zoomended(dispatch)}}function touchstarted(){var that=this,dispatch=event.of(that,arguments),locations0={},distance0=0,scale0,zoomName=".zoom-"+d3.event.changedTouches[0].identifier,touchmove="touchmove"+zoomName,touchend="touchend"+zoomName,targets=[],subject=d3.select(that),dragRestore=d3_event_dragSuppress(that);started();zoomstarted(dispatch);subject.on(mousedown,null).on(touchstart,started);function relocate(){var touches=d3.touches(that);scale0=view.k;touches.forEach((function(t){if(t.identifier in locations0)locations0[t.identifier]=location(t)}));return touches}function started(){var target=d3.event.target;d3.select(target).on(touchmove,moved).on(touchend,ended);targets.push(target);var changed=d3.event.changedTouches;for(var i=0,n=changed.length;i<n;++i){locations0[changed[i].identifier]=null}var touches=relocate(),now=Date.now();if(touches.length===1){if(now-touchtime<500){var p=touches[0];zoomTo(that,p,locations0[p.identifier],Math.floor(Math.log(view.k)/Math.LN2)+1);d3_eventPreventDefault()}touchtime=now}else if(touches.length>1){var p=touches[0],q=touches[1],dx=p[0]-q[0],dy=p[1]-q[1];distance0=dx*dx+dy*dy}}function moved(){var touches=d3.touches(that),p0,l0,p1,l1;d3_selection_interrupt.call(that);for(var i=0,n=touches.length;i<n;++i,l1=null){p1=touches[i];if(l1=locations0[p1.identifier]){if(l0)break;p0=p1,l0=l1}}if(l1){var distance1=(distance1=p1[0]-p0[0])*distance1+(distance1=p1[1]-p0[1])*distance1,scale1=distance0&&Math.sqrt(distance1/distance0);p0=[(p0[0]+p1[0])/2,(p0[1]+p1[1])/2];l0=[(l0[0]+l1[0])/2,(l0[1]+l1[1])/2];scaleTo(scale1*scale0)}touchtime=null;translateTo(p0,l0);zoomed(dispatch)}function ended(){if(d3.event.touches.length){var changed=d3.event.changedTouches;for(var i=0,n=changed.length;i<n;++i){delete locations0[changed[i].identifier]}for(var identifier in locations0){return void relocate()}}d3.selectAll(targets).on(zoomName,null);subject.on(mousedown,mousedowned).on(touchstart,touchstarted);dragRestore();zoomended(dispatch)}}function mousewheeled(){var dispatch=event.of(this,arguments);if(mousewheelTimer)clearTimeout(mousewheelTimer);else d3_selection_interrupt.call(this),translate0=location(center0=center||d3.mouse(this)),zoomstarted(dispatch);mousewheelTimer=setTimeout((function(){mousewheelTimer=null;zoomended(dispatch)}),50);d3_eventPreventDefault();scaleTo(Math.pow(2,d3_behavior_zoomDelta()*.002)*view.k);translateTo(center0,translate0);zoomed(dispatch)}function dblclicked(){var p=d3.mouse(this),k=Math.log(view.k)/Math.LN2;zoomTo(this,p,location(p),d3.event.shiftKey?Math.ceil(k)-1:Math.floor(k)+1)}return d3.rebind(zoom,event,"on")};var d3_behavior_zoomInfinity=[0,Infinity],d3_behavior_zoomDelta,d3_behavior_zoomWheel;d3.color=d3_color;function d3_color(){}d3_color.prototype.toString=function(){return this.rgb()+""};d3.hsl=d3_hsl;function d3_hsl(h,s,l){return this instanceof d3_hsl?void(this.h=+h,this.s=+s,this.l=+l):arguments.length<2?h instanceof d3_hsl?new d3_hsl(h.h,h.s,h.l):d3_rgb_parse(""+h,d3_rgb_hsl,d3_hsl):new d3_hsl(h,s,l)}var d3_hslPrototype=d3_hsl.prototype=new d3_color;d3_hslPrototype.brighter=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_hsl(this.h,this.s,this.l/k)};d3_hslPrototype.darker=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_hsl(this.h,this.s,k*this.l)};d3_hslPrototype.rgb=function(){return d3_hsl_rgb(this.h,this.s,this.l)};function d3_hsl_rgb(h,s,l){var m1,m2;h=isNaN(h)?0:(h%=360)<0?h+360:h;s=isNaN(s)?0:s<0?0:s>1?1:s;l=l<0?0:l>1?1:l;m2=l<=.5?l*(1+s):l+s-l*s;m1=2*l-m2;function v(h){if(h>360)h-=360;else if(h<0)h+=360;if(h<60)return m1+(m2-m1)*h/60;if(h<180)return m2;if(h<240)return m1+(m2-m1)*(240-h)/60;return m1}function vv(h){return Math.round(v(h)*255)}return new d3_rgb(vv(h+120),vv(h),vv(h-120))}d3.hcl=d3_hcl;function d3_hcl(h,c,l){return this instanceof d3_hcl?void(this.h=+h,this.c=+c,this.l=+l):arguments.length<2?h instanceof d3_hcl?new d3_hcl(h.h,h.c,h.l):h instanceof d3_lab?d3_lab_hcl(h.l,h.a,h.b):d3_lab_hcl((h=d3_rgb_lab((h=d3.rgb(h)).r,h.g,h.b)).l,h.a,h.b):new d3_hcl(h,c,l)}var d3_hclPrototype=d3_hcl.prototype=new d3_color;d3_hclPrototype.brighter=function(k){return new d3_hcl(this.h,this.c,Math.min(100,this.l+d3_lab_K*(arguments.length?k:1)))};d3_hclPrototype.darker=function(k){return new d3_hcl(this.h,this.c,Math.max(0,this.l-d3_lab_K*(arguments.length?k:1)))};d3_hclPrototype.rgb=function(){return d3_hcl_lab(this.h,this.c,this.l).rgb()};function d3_hcl_lab(h,c,l){if(isNaN(h))h=0;if(isNaN(c))c=0;return new d3_lab(l,Math.cos(h*=d3_radians)*c,Math.sin(h)*c)}d3.lab=d3_lab;function d3_lab(l,a,b){return this instanceof d3_lab?void(this.l=+l,this.a=+a,this.b=+b):arguments.length<2?l instanceof d3_lab?new d3_lab(l.l,l.a,l.b):l instanceof d3_hcl?d3_hcl_lab(l.h,l.c,l.l):d3_rgb_lab((l=d3_rgb(l)).r,l.g,l.b):new d3_lab(l,a,b)}var d3_lab_K=18;var d3_lab_X=.95047,d3_lab_Y=1,d3_lab_Z=1.08883;var d3_labPrototype=d3_lab.prototype=new d3_color;d3_labPrototype.brighter=function(k){return new d3_lab(Math.min(100,this.l+d3_lab_K*(arguments.length?k:1)),this.a,this.b)};d3_labPrototype.darker=function(k){return new d3_lab(Math.max(0,this.l-d3_lab_K*(arguments.length?k:1)),this.a,this.b)};d3_labPrototype.rgb=function(){return d3_lab_rgb(this.l,this.a,this.b)};function d3_lab_rgb(l,a,b){var y=(l+16)/116,x=y+a/500,z=y-b/200;x=d3_lab_xyz(x)*d3_lab_X;y=d3_lab_xyz(y)*d3_lab_Y;z=d3_lab_xyz(z)*d3_lab_Z;return new d3_rgb(d3_xyz_rgb(3.2404542*x-1.5371385*y-.4985314*z),d3_xyz_rgb(-.969266*x+1.8760108*y+.041556*z),d3_xyz_rgb(.0556434*x-.2040259*y+1.0572252*z))}function d3_lab_hcl(l,a,b){return l>0?new d3_hcl(Math.atan2(b,a)*d3_degrees,Math.sqrt(a*a+b*b),l):new d3_hcl(NaN,NaN,l)}function d3_lab_xyz(x){return x>.206893034?x*x*x:(x-4/29)/7.787037}function d3_xyz_lab(x){return x>.008856?Math.pow(x,1/3):7.787037*x+4/29}function d3_xyz_rgb(r){return Math.round(255*(r<=.00304?12.92*r:1.055*Math.pow(r,1/2.4)-.055))}d3.rgb=d3_rgb;function d3_rgb(r,g,b){return this instanceof d3_rgb?void(this.r=~~r,this.g=~~g,this.b=~~b):arguments.length<2?r instanceof d3_rgb?new d3_rgb(r.r,r.g,r.b):d3_rgb_parse(""+r,d3_rgb,d3_hsl_rgb):new d3_rgb(r,g,b)}function d3_rgbNumber(value){return new d3_rgb(value>>16,value>>8&255,value&255)}function d3_rgbString(value){return d3_rgbNumber(value)+""}var d3_rgbPrototype=d3_rgb.prototype=new d3_color;d3_rgbPrototype.brighter=function(k){k=Math.pow(.7,arguments.length?k:1);var r=this.r,g=this.g,b=this.b,i=30;if(!r&&!g&&!b)return new d3_rgb(i,i,i);if(r&&r<i)r=i;if(g&&g<i)g=i;if(b&&b<i)b=i;return new d3_rgb(Math.min(255,r/k),Math.min(255,g/k),Math.min(255,b/k))};d3_rgbPrototype.darker=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_rgb(k*this.r,k*this.g,k*this.b)};d3_rgbPrototype.hsl=function(){return d3_rgb_hsl(this.r,this.g,this.b)};d3_rgbPrototype.toString=function(){return"#"+d3_rgb_hex(this.r)+d3_rgb_hex(this.g)+d3_rgb_hex(this.b)};function d3_rgb_hex(v){return v<16?"0"+Math.max(0,v).toString(16):Math.min(255,v).toString(16)}function d3_rgb_parse(format,rgb,hsl){var r=0,g=0,b=0,m1,m2,color;m1=/([a-z]+)\((.*)\)/.exec(format=format.toLowerCase());if(m1){m2=m1[2].split(",");switch(m1[1]){case"hsl":{return hsl(parseFloat(m2[0]),parseFloat(m2[1])/100,parseFloat(m2[2])/100)}case"rgb":{return rgb(d3_rgb_parseNumber(m2[0]),d3_rgb_parseNumber(m2[1]),d3_rgb_parseNumber(m2[2]))}}}if(color=d3_rgb_names.get(format)){return rgb(color.r,color.g,color.b)}if(format!=null&&format.charAt(0)==="#"&&!isNaN(color=parseInt(format.slice(1),16))){if(format.length===4){r=(color&3840)>>4;r=r>>4|r;g=color&240;g=g>>4|g;b=color&15;b=b<<4|b}else if(format.length===7){r=(color&16711680)>>16;g=(color&65280)>>8;b=color&255}}return rgb(r,g,b)}function d3_rgb_hsl(r,g,b){var min=Math.min(r/=255,g/=255,b/=255),max=Math.max(r,g,b),d=max-min,h,s,l=(max+min)/2;if(d){s=l<.5?d/(max+min):d/(2-max-min);if(r==max)h=(g-b)/d+(g<b?6:0);else if(g==max)h=(b-r)/d+2;else h=(r-g)/d+4;h*=60}else{h=NaN;s=l>0&&l<1?0:h}return new d3_hsl(h,s,l)}function d3_rgb_lab(r,g,b){r=d3_rgb_xyz(r);g=d3_rgb_xyz(g);b=d3_rgb_xyz(b);var x=d3_xyz_lab((.4124564*r+.3575761*g+.1804375*b)/d3_lab_X),y=d3_xyz_lab((.2126729*r+.7151522*g+.072175*b)/d3_lab_Y),z=d3_xyz_lab((.0193339*r+.119192*g+.9503041*b)/d3_lab_Z);return d3_lab(116*y-16,500*(x-y),200*(y-z))}function d3_rgb_xyz(r){return(r/=255)<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function d3_rgb_parseNumber(c){var f=parseFloat(c);return c.charAt(c.length-1)==="%"?Math.round(f*2.55):f}var d3_rgb_names=d3.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});d3_rgb_names.forEach((function(key,value){d3_rgb_names.set(key,d3_rgbNumber(value))}));function d3_functor(v){return typeof v==="function"?v:function(){return v}}d3.functor=d3_functor;d3.xhr=d3_xhrType(d3_identity);function d3_xhrType(response){return function(url,mimeType,callback){if(arguments.length===2&&typeof mimeType==="function")callback=mimeType,mimeType=null;return d3_xhr(url,mimeType,response,callback)}}function d3_xhr(url,mimeType,response,callback){var xhr={},dispatch=d3.dispatch("beforesend","progress","load","error"),headers={},request=new XMLHttpRequest,responseType=null;if(self.XDomainRequest&&!("withCredentials"in request)&&/^(http(s)?:)?\/\//.test(url))request=new XDomainRequest;"onload"in request?request.onload=request.onerror=respond:request.onreadystatechange=function(){request.readyState>3&&respond()};function respond(){var status=request.status,result;if(!status&&d3_xhrHasResponse(request)||status>=200&&status<300||status===304){try{result=response.call(xhr,request)}catch(e){dispatch.error.call(xhr,e);return}dispatch.load.call(xhr,result)}else{dispatch.error.call(xhr,request)}}request.onprogress=function(event){var o=d3.event;d3.event=event;try{dispatch.progress.call(xhr,request)}finally{d3.event=o}};xhr.header=function(name,value){name=(name+"").toLowerCase();if(arguments.length<2)return headers[name];if(value==null)delete headers[name];else headers[name]=value+"";return xhr};xhr.mimeType=function(value){if(!arguments.length)return mimeType;mimeType=value==null?null:value+"";return xhr};xhr.responseType=function(value){if(!arguments.length)return responseType;responseType=value;return xhr};xhr.response=function(value){response=value;return xhr};["get","post"].forEach((function(method){xhr[method]=function(){return xhr.send.apply(xhr,[method].concat(d3_array(arguments)))}}));xhr.send=function(method,data,callback){if(arguments.length===2&&typeof data==="function")callback=data,data=null;request.open(method,url,true);if(mimeType!=null&&!("accept"in headers))headers["accept"]=mimeType+",*/*";if(request.setRequestHeader)for(var name in headers)request.setRequestHeader(name,headers[name]);if(mimeType!=null&&request.overrideMimeType)request.overrideMimeType(mimeType);if(responseType!=null)request.responseType=responseType;if(callback!=null)xhr.on("error",callback).on("load",(function(request){callback(null,request)}));dispatch.beforesend.call(xhr,request);request.send(data==null?null:data);return xhr};xhr.abort=function(){request.abort();return xhr};d3.rebind(xhr,dispatch,"on");return callback==null?xhr:xhr.get(d3_xhr_fixCallback(callback))}function d3_xhr_fixCallback(callback){return callback.length===1?function(error,request){callback(error==null?request:null)}:callback}function d3_xhrHasResponse(request){var type=request.responseType;return type&&type!=="text"?request.response:request.responseText}d3.dsv=function(delimiter,mimeType){var reFormat=new RegExp('["'+delimiter+"\n]"),delimiterCode=delimiter.charCodeAt(0);function dsv(url,row,callback){if(arguments.length<3)callback=row,row=null;var xhr=d3_xhr(url,mimeType,row==null?response:typedResponse(row),callback);xhr.row=function(_){return arguments.length?xhr.response((row=_)==null?response:typedResponse(_)):row};return xhr}function response(request){return dsv.parse(request.responseText)}function typedResponse(f){return function(request){return dsv.parse(request.responseText,f)}}dsv.parse=function(text,f){var o;return dsv.parseRows(text,(function(row,i){if(o)return o(row,i-1);var a=function(d){var obj={};var len=row.length;for(var k=0;k<len;++k){obj[row[k]]=d[k]}return obj};o=f?function(row,i){return f(a(row),i)}:a}))};dsv.parseRows=function(text,f){var EOL={},EOF={},rows=[],N=text.length,I=0,n=0,t,eol;function token(){if(I>=N)return EOF;if(eol)return eol=false,EOL;var j=I;if(text.charCodeAt(j)===34){var i=j;while(i++<N){if(text.charCodeAt(i)===34){if(text.charCodeAt(i+1)!==34)break;++i}}I=i+2;var c=text.charCodeAt(i+1);if(c===13){eol=true;if(text.charCodeAt(i+2)===10)++I}else if(c===10){eol=true}return text.slice(j+1,i).replace(/""/g,'"')}while(I<N){var c=text.charCodeAt(I++),k=1;if(c===10)eol=true;else if(c===13){eol=true;if(text.charCodeAt(I)===10)++I,++k}else if(c!==delimiterCode)continue;return text.slice(j,I-k)}return text.slice(j)}while((t=token())!==EOF){var a=[];while(t!==EOL&&t!==EOF){a.push(t);t=token()}if(f&&(a=f(a,n++))==null)continue;rows.push(a)}return rows};dsv.format=function(rows){if(Array.isArray(rows[0]))return dsv.formatRows(rows);var fieldSet=new d3_Set,fields=[];rows.forEach((function(row){for(var field in row){if(!fieldSet.has(field)){fields.push(fieldSet.add(field))}}}));return[fields.map(formatValue).join(delimiter)].concat(rows.map((function(row){return fields.map((function(field){return formatValue(row[field])})).join(delimiter)}))).join("\n")};dsv.formatRows=function(rows){return rows.map(formatRow).join("\n")};function formatRow(row){return row.map(formatValue).join(delimiter)}function formatValue(text){return reFormat.test(text)?'"'+text.replace(/\"/g,'""')+'"':text}return dsv};d3.csv=d3.dsv(",","text/csv");d3.tsv=d3.dsv("\t","text/tab-separated-values");var d3_timer_queueHead,d3_timer_queueTail,d3_timer_interval,d3_timer_timeout,d3_timer_frame=this[d3_vendorSymbol(this,"requestAnimationFrame")]||function(callback){setTimeout(callback,17)};d3.timer=function(){d3_timer.apply(this,arguments)};function d3_timer(callback,delay,then){var n=arguments.length;if(n<2)delay=0;if(n<3)then=Date.now();var time=then+delay,timer={c:callback,t:time,n:null};if(d3_timer_queueTail)d3_timer_queueTail.n=timer;else d3_timer_queueHead=timer;d3_timer_queueTail=timer;if(!d3_timer_interval){d3_timer_timeout=clearTimeout(d3_timer_timeout);d3_timer_interval=1;d3_timer_frame(d3_timer_step)}return timer}function d3_timer_step(){var now=d3_timer_mark(),delay=d3_timer_sweep()-now;if(delay>24){if(isFinite(delay)){clearTimeout(d3_timer_timeout);d3_timer_timeout=setTimeout(d3_timer_step,delay)}d3_timer_interval=0}else{d3_timer_interval=1;d3_timer_frame(d3_timer_step)}}d3.timer.flush=function(){d3_timer_mark();d3_timer_sweep()};function d3_timer_mark(){var now=Date.now(),timer=d3_timer_queueHead;while(timer){if(now>=timer.t&&timer.c(now-timer.t))timer.c=null;timer=timer.n}return now}function d3_timer_sweep(){var t0,t1=d3_timer_queueHead,time=Infinity;while(t1){if(t1.c){if(t1.t<time)time=t1.t;t1=(t0=t1).n}else{t1=t0?t0.n=t1.n:d3_timer_queueHead=t1.n}}d3_timer_queueTail=t0;return time}d3.round=function(x,n){return n?Math.round(x*(n=Math.pow(10,n)))/n:Math.round(x)};d3.geom={};function d3_geom_pointX(d){return d[0]}function d3_geom_pointY(d){return d[1]}d3.geom.hull=function(vertices){var x=d3_geom_pointX,y=d3_geom_pointY;if(arguments.length)return hull(vertices);function hull(data){if(data.length<3)return[];var fx=d3_functor(x),fy=d3_functor(y),i,n=data.length,points=[],flippedPoints=[];for(i=0;i<n;i++){points.push([+fx.call(this,data[i],i),+fy.call(this,data[i],i),i])}points.sort(d3_geom_hullOrder);for(i=0;i<n;i++)flippedPoints.push([points[i][0],-points[i][1]]);var upper=d3_geom_hullUpper(points),lower=d3_geom_hullUpper(flippedPoints);var skipLeft=lower[0]===upper[0],skipRight=lower[lower.length-1]===upper[upper.length-1],polygon=[];for(i=upper.length-1;i>=0;--i)polygon.push(data[points[upper[i]][2]]);for(i=+skipLeft;i<lower.length-skipRight;++i)polygon.push(data[points[lower[i]][2]]);return polygon}hull.x=function(_){return arguments.length?(x=_,hull):x};hull.y=function(_){return arguments.length?(y=_,hull):y};return hull};function d3_geom_hullUpper(points){var n=points.length,hull=[0,1],hs=2;for(var i=2;i<n;i++){while(hs>1&&d3_cross2d(points[hull[hs-2]],points[hull[hs-1]],points[i])<=0)--hs;hull[hs++]=i}return hull.slice(0,hs)}function d3_geom_hullOrder(a,b){return a[0]-b[0]||a[1]-b[1]}d3.geom.polygon=function(coordinates){d3_subclass(coordinates,d3_geom_polygonPrototype);return coordinates};var d3_geom_polygonPrototype=d3.geom.polygon.prototype=[];d3_geom_polygonPrototype.area=function(){var i=-1,n=this.length,a,b=this[n-1],area=0;while(++i<n){a=b;b=this[i];area+=a[1]*b[0]-a[0]*b[1]}return area*.5};d3_geom_polygonPrototype.centroid=function(k){var i=-1,n=this.length,x=0,y=0,a,b=this[n-1],c;if(!arguments.length)k=-1/(6*this.area());while(++i<n){a=b;b=this[i];c=a[0]*b[1]-b[0]*a[1];x+=(a[0]+b[0])*c;y+=(a[1]+b[1])*c}return[x*k,y*k]};d3_geom_polygonPrototype.clip=function(subject){var input,closed=d3_geom_polygonClosed(subject),i=-1,n=this.length-d3_geom_polygonClosed(this),j,m,a=this[n-1],b,c,d;while(++i<n){input=subject.slice();subject.length=0;b=this[i];c=input[(m=input.length-closed)-1];j=-1;while(++j<m){d=input[j];if(d3_geom_polygonInside(d,a,b)){if(!d3_geom_polygonInside(c,a,b)){subject.push(d3_geom_polygonIntersect(c,d,a,b))}subject.push(d)}else if(d3_geom_polygonInside(c,a,b)){subject.push(d3_geom_polygonIntersect(c,d,a,b))}c=d}if(closed)subject.push(subject[0]);a=b}return subject};function d3_geom_polygonInside(p,a,b){return(b[0]-a[0])*(p[1]-a[1])<(b[1]-a[1])*(p[0]-a[0])}function d3_geom_polygonIntersect(c,d,a,b){var x1=c[0],x3=a[0],x21=d[0]-x1,x43=b[0]-x3,y1=c[1],y3=a[1],y21=d[1]-y1,y43=b[1]-y3,ua=(x43*(y1-y3)-y43*(x1-x3))/(y43*x21-x43*y21);return[x1+ua*x21,y1+ua*y21]}function d3_geom_polygonClosed(coordinates){var a=coordinates[0],b=coordinates[coordinates.length-1];return!(a[0]-b[0]||a[1]-b[1])}var d3_geom_voronoiEdges,d3_geom_voronoiCells,d3_geom_voronoiBeaches,d3_geom_voronoiBeachPool=[],d3_geom_voronoiFirstCircle,d3_geom_voronoiCircles,d3_geom_voronoiCirclePool=[];function d3_geom_voronoiBeach(){d3_geom_voronoiRedBlackNode(this);this.edge=this.site=this.circle=null}function d3_geom_voronoiCreateBeach(site){var beach=d3_geom_voronoiBeachPool.pop()||new d3_geom_voronoiBeach;beach.site=site;return beach}function d3_geom_voronoiDetachBeach(beach){d3_geom_voronoiDetachCircle(beach);d3_geom_voronoiBeaches.remove(beach);d3_geom_voronoiBeachPool.push(beach);d3_geom_voronoiRedBlackNode(beach)}function d3_geom_voronoiRemoveBeach(beach){var circle=beach.circle,x=circle.x,y=circle.cy,vertex={x:x,y:y},previous=beach.P,next=beach.N,disappearing=[beach];d3_geom_voronoiDetachBeach(beach);var lArc=previous;while(lArc.circle&&abs(x-lArc.circle.x)<ε&&abs(y-lArc.circle.cy)<ε){previous=lArc.P;disappearing.unshift(lArc);d3_geom_voronoiDetachBeach(lArc);lArc=previous}disappearing.unshift(lArc);d3_geom_voronoiDetachCircle(lArc);var rArc=next;while(rArc.circle&&abs(x-rArc.circle.x)<ε&&abs(y-rArc.circle.cy)<ε){next=rArc.N;disappearing.push(rArc);d3_geom_voronoiDetachBeach(rArc);rArc=next}disappearing.push(rArc);d3_geom_voronoiDetachCircle(rArc);var nArcs=disappearing.length,iArc;for(iArc=1;iArc<nArcs;++iArc){rArc=disappearing[iArc];lArc=disappearing[iArc-1];d3_geom_voronoiSetEdgeEnd(rArc.edge,lArc.site,rArc.site,vertex)}lArc=disappearing[0];rArc=disappearing[nArcs-1];rArc.edge=d3_geom_voronoiCreateEdge(lArc.site,rArc.site,null,vertex);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc)}function d3_geom_voronoiAddBeach(site){var x=site.x,directrix=site.y,lArc,rArc,dxl,dxr,node=d3_geom_voronoiBeaches._;while(node){dxl=d3_geom_voronoiLeftBreakPoint(node,directrix)-x;if(dxl>ε)node=node.L;else{dxr=x-d3_geom_voronoiRightBreakPoint(node,directrix);if(dxr>ε){if(!node.R){lArc=node;break}node=node.R}else{if(dxl>-ε){lArc=node.P;rArc=node}else if(dxr>-ε){lArc=node;rArc=node.N}else{lArc=rArc=node}break}}}var newArc=d3_geom_voronoiCreateBeach(site);d3_geom_voronoiBeaches.insert(lArc,newArc);if(!lArc&&!rArc)return;if(lArc===rArc){d3_geom_voronoiDetachCircle(lArc);rArc=d3_geom_voronoiCreateBeach(lArc.site);d3_geom_voronoiBeaches.insert(newArc,rArc);newArc.edge=rArc.edge=d3_geom_voronoiCreateEdge(lArc.site,newArc.site);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc);return}if(!rArc){newArc.edge=d3_geom_voronoiCreateEdge(lArc.site,newArc.site);return}d3_geom_voronoiDetachCircle(lArc);d3_geom_voronoiDetachCircle(rArc);var lSite=lArc.site,ax=lSite.x,ay=lSite.y,bx=site.x-ax,by=site.y-ay,rSite=rArc.site,cx=rSite.x-ax,cy=rSite.y-ay,d=2*(bx*cy-by*cx),hb=bx*bx+by*by,hc=cx*cx+cy*cy,vertex={x:(cy*hb-by*hc)/d+ax,y:(bx*hc-cx*hb)/d+ay};d3_geom_voronoiSetEdgeEnd(rArc.edge,lSite,rSite,vertex);newArc.edge=d3_geom_voronoiCreateEdge(lSite,site,null,vertex);rArc.edge=d3_geom_voronoiCreateEdge(site,rSite,null,vertex);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc)}function d3_geom_voronoiLeftBreakPoint(arc,directrix){var site=arc.site,rfocx=site.x,rfocy=site.y,pby2=rfocy-directrix;if(!pby2)return rfocx;var lArc=arc.P;if(!lArc)return-Infinity;site=lArc.site;var lfocx=site.x,lfocy=site.y,plby2=lfocy-directrix;if(!plby2)return lfocx;var hl=lfocx-rfocx,aby2=1/pby2-1/plby2,b=hl/plby2;if(aby2)return(-b+Math.sqrt(b*b-2*aby2*(hl*hl/(-2*plby2)-lfocy+plby2/2+rfocy-pby2/2)))/aby2+rfocx;return(rfocx+lfocx)/2}function d3_geom_voronoiRightBreakPoint(arc,directrix){var rArc=arc.N;if(rArc)return d3_geom_voronoiLeftBreakPoint(rArc,directrix);var site=arc.site;return site.y===directrix?site.x:Infinity}function d3_geom_voronoiCell(site){this.site=site;this.edges=[]}d3_geom_voronoiCell.prototype.prepare=function(){var halfEdges=this.edges,iHalfEdge=halfEdges.length,edge;while(iHalfEdge--){edge=halfEdges[iHalfEdge].edge;if(!edge.b||!edge.a)halfEdges.splice(iHalfEdge,1)}halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);return halfEdges.length};function d3_geom_voronoiCloseCells(extent){var x0=extent[0][0],x1=extent[1][0],y0=extent[0][1],y1=extent[1][1],x2,y2,x3,y3,cells=d3_geom_voronoiCells,iCell=cells.length,cell,iHalfEdge,halfEdges,nHalfEdges,start,end;while(iCell--){cell=cells[iCell];if(!cell||!cell.prepare())continue;halfEdges=cell.edges;nHalfEdges=halfEdges.length;iHalfEdge=0;while(iHalfEdge<nHalfEdges){end=halfEdges[iHalfEdge].end(),x3=end.x,y3=end.y;start=halfEdges[++iHalfEdge%nHalfEdges].start(),x2=start.x,y2=start.y;if(abs(x3-x2)>ε||abs(y3-y2)>ε){halfEdges.splice(iHalfEdge,0,new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site,end,abs(x3-x0)<ε&&y1-y3>ε?{x:x0,y:abs(x2-x0)<ε?y2:y1}:abs(y3-y1)<ε&&x1-x3>ε?{x:abs(y2-y1)<ε?x2:x1,y:y1}:abs(x3-x1)<ε&&y3-y0>ε?{x:x1,y:abs(x2-x1)<ε?y2:y0}:abs(y3-y0)<ε&&x3-x0>ε?{x:abs(y2-y0)<ε?x2:x0,y:y0}:null),cell.site,null));++nHalfEdges}}}}function d3_geom_voronoiHalfEdgeOrder(a,b){return b.angle-a.angle}function d3_geom_voronoiCircle(){d3_geom_voronoiRedBlackNode(this);this.x=this.y=this.arc=this.site=this.cy=null}function d3_geom_voronoiAttachCircle(arc){var lArc=arc.P,rArc=arc.N;if(!lArc||!rArc)return;var lSite=lArc.site,cSite=arc.site,rSite=rArc.site;if(lSite===rSite)return;var bx=cSite.x,by=cSite.y,ax=lSite.x-bx,ay=lSite.y-by,cx=rSite.x-bx,cy=rSite.y-by;var d=2*(ax*cy-ay*cx);if(d>=-ε2)return;var ha=ax*ax+ay*ay,hc=cx*cx+cy*cy,x=(cy*ha-ay*hc)/d,y=(ax*hc-cx*ha)/d,cy=y+by;var circle=d3_geom_voronoiCirclePool.pop()||new d3_geom_voronoiCircle;circle.arc=arc;circle.site=cSite;circle.x=x+bx;circle.y=cy+Math.sqrt(x*x+y*y);circle.cy=cy;arc.circle=circle;var before=null,node=d3_geom_voronoiCircles._;while(node){if(circle.y<node.y||circle.y===node.y&&circle.x<=node.x){if(node.L)node=node.L;else{before=node.P;break}}else{if(node.R)node=node.R;else{before=node;break}}}d3_geom_voronoiCircles.insert(before,circle);if(!before)d3_geom_voronoiFirstCircle=circle}function d3_geom_voronoiDetachCircle(arc){var circle=arc.circle;if(circle){if(!circle.P)d3_geom_voronoiFirstCircle=circle.N;d3_geom_voronoiCircles.remove(circle);d3_geom_voronoiCirclePool.push(circle);d3_geom_voronoiRedBlackNode(circle);arc.circle=null}}function d3_geom_clipLine(x0,y0,x1,y1){return function(line){var a=line.a,b=line.b,ax=a.x,ay=a.y,bx=b.x,by=b.y,t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r<t0)return;if(r<t1)t1=r}else if(dx>0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r<t0)return;if(r<t1)t1=r}r=y0-ay;if(!dy&&r>0)return;r/=dy;if(dy<0){if(r<t0)return;if(r<t1)t1=r}else if(dy>0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r<t0)return;if(r<t1)t1=r}if(t0>0)line.a={x:ax+t0*dx,y:ay+t0*dy};if(t1<1)line.b={x:ax+t1*dx,y:ay+t1*dy};return line}}function d3_geom_voronoiClipEdges(extent){var edges=d3_geom_voronoiEdges,clip=d3_geom_clipLine(extent[0][0],extent[0][1],extent[1][0],extent[1][1]),i=edges.length,e;while(i--){e=edges[i];if(!d3_geom_voronoiConnectEdge(e,extent)||!clip(e)||abs(e.a.x-e.b.x)<ε&&abs(e.a.y-e.b.y)<ε){e.a=e.b=null;edges.splice(i,1)}}}function d3_geom_voronoiConnectEdge(edge,extent){var vb=edge.b;if(vb)return true;var va=edge.a,x0=extent[0][0],x1=extent[1][0],y0=extent[0][1],y1=extent[1][1],lSite=edge.l,rSite=edge.r,lx=lSite.x,ly=lSite.y,rx=rSite.x,ry=rSite.y,fx=(lx+rx)/2,fy=(ly+ry)/2,fm,fb;if(ry===ly){if(fx<x0||fx>=x1)return;if(lx>rx){if(!va)va={x:fx,y:y0};else if(va.y>=y1)return;vb={x:fx,y:y1}}else{if(!va)va={x:fx,y:y1};else if(va.y<y0)return;vb={x:fx,y:y0}}}else{fm=(lx-rx)/(ry-ly);fb=fy-fm*fx;if(fm<-1||fm>1){if(lx>rx){if(!va)va={x:(y0-fb)/fm,y:y0};else if(va.y>=y1)return;vb={x:(y1-fb)/fm,y:y1}}else{if(!va)va={x:(y1-fb)/fm,y:y1};else if(va.y<y0)return;vb={x:(y0-fb)/fm,y:y0}}}else{if(ly<ry){if(!va)va={x:x0,y:fm*x0+fb};else if(va.x>=x1)return;vb={x:x1,y:fm*x1+fb}}else{if(!va)va={x:x1,y:fm*x1+fb};else if(va.x<x0)return;vb={x:x0,y:fm*x0+fb}}}}edge.a=va;edge.b=vb;return true}function d3_geom_voronoiEdge(lSite,rSite){this.l=lSite;this.r=rSite;this.a=this.b=null}function d3_geom_voronoiCreateEdge(lSite,rSite,va,vb){var edge=new d3_geom_voronoiEdge(lSite,rSite);d3_geom_voronoiEdges.push(edge);if(va)d3_geom_voronoiSetEdgeEnd(edge,lSite,rSite,va);if(vb)d3_geom_voronoiSetEdgeEnd(edge,rSite,lSite,vb);d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge,lSite,rSite));d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge,rSite,lSite));return edge}function d3_geom_voronoiCreateBorderEdge(lSite,va,vb){var edge=new d3_geom_voronoiEdge(lSite,null);edge.a=va;edge.b=vb;d3_geom_voronoiEdges.push(edge);return edge}function d3_geom_voronoiSetEdgeEnd(edge,lSite,rSite,vertex){if(!edge.a&&!edge.b){edge.a=vertex;edge.l=lSite;edge.r=rSite}else if(edge.l===rSite){edge.b=vertex}else{edge.a=vertex}}function d3_geom_voronoiHalfEdge(edge,lSite,rSite){var va=edge.a,vb=edge.b;this.edge=edge;this.site=lSite;this.angle=rSite?Math.atan2(rSite.y-lSite.y,rSite.x-lSite.x):edge.l===lSite?Math.atan2(vb.x-va.x,va.y-vb.y):Math.atan2(va.x-vb.x,vb.y-va.y)}d3_geom_voronoiHalfEdge.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function d3_geom_voronoiRedBlackTree(){this._=null}function d3_geom_voronoiRedBlackNode(node){node.U=node.C=node.L=node.R=node.P=node.N=null}d3_geom_voronoiRedBlackTree.prototype={insert:function(after,node){var parent,grandpa,uncle;if(after){node.P=after;node.N=after.N;if(after.N)after.N.P=node;after.N=node;if(after.R){after=after.R;while(after.L)after=after.L;after.L=node}else{after.R=node}parent=after}else if(this._){after=d3_geom_voronoiRedBlackFirst(this._);node.P=null;node.N=after;after.P=after.L=node;parent=after}else{node.P=node.N=null;this._=node;parent=null}node.L=node.R=null;node.U=parent;node.C=true;after=node;while(parent&&parent.C){grandpa=parent.U;if(parent===grandpa.L){uncle=grandpa.R;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa}else{if(after===parent.R){d3_geom_voronoiRedBlackRotateLeft(this,parent);after=parent;parent=after.U}parent.C=false;grandpa.C=true;d3_geom_voronoiRedBlackRotateRight(this,grandpa)}}else{uncle=grandpa.L;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa}else{if(after===parent.L){d3_geom_voronoiRedBlackRotateRight(this,parent);after=parent;parent=after.U}parent.C=false;grandpa.C=true;d3_geom_voronoiRedBlackRotateLeft(this,grandpa)}}parent=after.U}this._.C=false},remove:function(node){if(node.N)node.N.P=node.P;if(node.P)node.P.N=node.N;node.N=node.P=null;var parent=node.U,sibling,left=node.L,right=node.R,next,red;if(!left)next=right;else if(!right)next=left;else next=d3_geom_voronoiRedBlackFirst(right);if(parent){if(parent.L===node)parent.L=next;else parent.R=next}else{this._=next}if(left&&right){red=next.C;next.C=node.C;next.L=left;left.U=next;if(next!==right){parent=next.U;next.U=node.U;node=next.R;parent.L=node;next.R=right;right.U=next}else{next.U=parent;parent=next;node=next.R}}else{red=node.C;node=next}if(node)node.U=parent;if(red)return;if(node&&node.C){node.C=false;return}do{if(node===this._)break;if(node===parent.L){sibling=parent.R;if(sibling.C){sibling.C=false;parent.C=true;d3_geom_voronoiRedBlackRotateLeft(this,parent);sibling=parent.R}if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.R||!sibling.R.C){sibling.L.C=false;sibling.C=true;d3_geom_voronoiRedBlackRotateRight(this,sibling);sibling=parent.R}sibling.C=parent.C;parent.C=sibling.R.C=false;d3_geom_voronoiRedBlackRotateLeft(this,parent);node=this._;break}}else{sibling=parent.L;if(sibling.C){sibling.C=false;parent.C=true;d3_geom_voronoiRedBlackRotateRight(this,parent);sibling=parent.L}if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.L||!sibling.L.C){sibling.R.C=false;sibling.C=true;d3_geom_voronoiRedBlackRotateLeft(this,sibling);sibling=parent.L}sibling.C=parent.C;parent.C=sibling.L.C=false;d3_geom_voronoiRedBlackRotateRight(this,parent);node=this._;break}}sibling.C=true;node=parent;parent=parent.U}while(!node.C);if(node)node.C=false}};function d3_geom_voronoiRedBlackRotateLeft(tree,node){var p=node,q=node.R,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q}else{tree._=q}q.U=parent;p.U=q;p.R=q.L;if(p.R)p.R.U=p;q.L=p}function d3_geom_voronoiRedBlackRotateRight(tree,node){var p=node,q=node.L,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q}else{tree._=q}q.U=parent;p.U=q;p.L=q.R;if(p.L)p.L.U=p;q.R=p}function d3_geom_voronoiRedBlackFirst(node){while(node.L)node=node.L;return node}function d3_geom_voronoi(sites,bbox){var site=sites.sort(d3_geom_voronoiVertexOrder).pop(),x0,y0,circle;d3_geom_voronoiEdges=[];d3_geom_voronoiCells=new Array(sites.length);d3_geom_voronoiBeaches=new d3_geom_voronoiRedBlackTree;d3_geom_voronoiCircles=new d3_geom_voronoiRedBlackTree;while(true){circle=d3_geom_voronoiFirstCircle;if(site&&(!circle||site.y<circle.y||site.y===circle.y&&site.x<circle.x)){if(site.x!==x0||site.y!==y0){d3_geom_voronoiCells[site.i]=new d3_geom_voronoiCell(site);d3_geom_voronoiAddBeach(site);x0=site.x,y0=site.y}site=sites.pop()}else if(circle){d3_geom_voronoiRemoveBeach(circle.arc)}else{break}}if(bbox)d3_geom_voronoiClipEdges(bbox),d3_geom_voronoiCloseCells(bbox);var diagram={cells:d3_geom_voronoiCells,edges:d3_geom_voronoiEdges};d3_geom_voronoiBeaches=d3_geom_voronoiCircles=d3_geom_voronoiEdges=d3_geom_voronoiCells=null;return diagram}function d3_geom_voronoiVertexOrder(a,b){return b.y-a.y||b.x-a.x}d3.geom.voronoi=function(points){var x=d3_geom_pointX,y=d3_geom_pointY,fx=x,fy=y,clipExtent=d3_geom_voronoiClipExtent;if(points)return voronoi(points);function voronoi(data){var polygons=new Array(data.length),x0=clipExtent[0][0],y0=clipExtent[0][1],x1=clipExtent[1][0],y1=clipExtent[1][1];d3_geom_voronoi(sites(data),clipExtent).cells.forEach((function(cell,i){var edges=cell.edges,site=cell.site,polygon=polygons[i]=edges.length?edges.map((function(e){var s=e.start();return[s.x,s.y]})):site.x>=x0&&site.x<=x1&&site.y>=y0&&site.y<=y1?[[x0,y1],[x1,y1],[x1,y0],[x0,y0]]:[];polygon.point=data[i]}));return polygons}function sites(data){return data.map((function(d,i){return{x:Math.round(fx(d,i)/ε)*ε,y:Math.round(fy(d,i)/ε)*ε,i:i}}))}voronoi.links=function(data){return d3_geom_voronoi(sites(data)).edges.filter((function(edge){return edge.l&&edge.r})).map((function(edge){return{source:data[edge.l.i],target:data[edge.r.i]}}))};voronoi.triangles=function(data){var triangles=[];d3_geom_voronoi(sites(data)).cells.forEach((function(cell,i){var site=cell.site,edges=cell.edges.sort(d3_geom_voronoiHalfEdgeOrder),j=-1,m=edges.length,e0,s0,e1=edges[m-1].edge,s1=e1.l===site?e1.r:e1.l;while(++j<m){e0=e1;s0=s1;e1=edges[j].edge;s1=e1.l===site?e1.r:e1.l;if(i<s0.i&&i<s1.i&&d3_geom_voronoiTriangleArea(site,s0,s1)<0){triangles.push([data[i],data[s0.i],data[s1.i]])}}}));return triangles};voronoi.x=function(_){return arguments.length?(fx=d3_functor(x=_),voronoi):x};voronoi.y=function(_){return arguments.length?(fy=d3_functor(y=_),voronoi):y};voronoi.clipExtent=function(_){if(!arguments.length)return clipExtent===d3_geom_voronoiClipExtent?null:clipExtent;clipExtent=_==null?d3_geom_voronoiClipExtent:_;return voronoi};voronoi.size=function(_){if(!arguments.length)return clipExtent===d3_geom_voronoiClipExtent?null:clipExtent&&clipExtent[1];return voronoi.clipExtent(_&&[[0,0],_])};return voronoi};var d3_geom_voronoiClipExtent=[[-1e6,-1e6],[1e6,1e6]];function d3_geom_voronoiTriangleArea(a,b,c){return(a.x-c.x)*(b.y-a.y)-(a.x-b.x)*(c.y-a.y)}d3.geom.delaunay=function(vertices){return d3.geom.voronoi().triangles(vertices)};d3.geom.quadtree=function(points,x1,y1,x2,y2){var x=d3_geom_pointX,y=d3_geom_pointY,compat;if(compat=arguments.length){x=d3_geom_quadtreeCompatX;y=d3_geom_quadtreeCompatY;if(compat===3){y2=y1;x2=x1;y1=x1=0}return quadtree(points)}function quadtree(data){var d,fx=d3_functor(x),fy=d3_functor(y),xs,ys,i,n,x1_,y1_,x2_,y2_;if(x1!=null){x1_=x1,y1_=y1,x2_=x2,y2_=y2}else{x2_=y2_=-(x1_=y1_=Infinity);xs=[],ys=[];n=data.length;if(compat)for(i=0;i<n;++i){d=data[i];if(d.x<x1_)x1_=d.x;if(d.y<y1_)y1_=d.y;if(d.x>x2_)x2_=d.x;if(d.y>y2_)y2_=d.y;xs.push(d.x);ys.push(d.y)}else for(i=0;i<n;++i){var x_=+fx(d=data[i],i),y_=+fy(d,i);if(x_<x1_)x1_=x_;if(y_<y1_)y1_=y_;if(x_>x2_)x2_=x_;if(y_>y2_)y2_=y_;xs.push(x_);ys.push(y_)}}var dx=x2_-x1_,dy=y2_-y1_;if(dx>dy)y2_=y1_+dx;else x2_=x1_+dy;function insert(n,d,x,y,x1,y1,x2,y2){if(isNaN(x)||isNaN(y))return;if(n.leaf){var nx=n.x,ny=n.y;if(nx!=null){if(abs(nx-x)+abs(ny-y)<.01){insertChild(n,d,x,y,x1,y1,x2,y2)}else{var nPoint=n.point;n.x=n.y=n.point=null;insertChild(n,nPoint,nx,ny,x1,y1,x2,y2);insertChild(n,d,x,y,x1,y1,x2,y2)}}else{n.x=x,n.y=y,n.point=d}}else{insertChild(n,d,x,y,x1,y1,x2,y2)}}function insertChild(n,d,x,y,x1,y1,x2,y2){var xm=(x1+x2)*.5,ym=(y1+y2)*.5,right=x>=xm,below=y>=ym,i=below<<1|right;n.leaf=false;n=n.nodes[i]||(n.nodes[i]=d3_geom_quadtreeNode());if(right)x1=xm;else x2=xm;if(below)y1=ym;else y2=ym;insert(n,d,x,y,x1,y1,x2,y2)}var root=d3_geom_quadtreeNode();root.add=function(d){insert(root,d,+fx(d,++i),+fy(d,i),x1_,y1_,x2_,y2_)};root.visit=function(f){d3_geom_quadtreeVisit(f,root,x1_,y1_,x2_,y2_)};root.find=function(point){return d3_geom_quadtreeFind(root,point[0],point[1],x1_,y1_,x2_,y2_)};i=-1;if(x1==null){while(++i<n){insert(root,data[i],xs[i],ys[i],x1_,y1_,x2_,y2_)}--i}else data.forEach(root.add);xs=ys=data=d=null;return root}quadtree.x=function(_){return arguments.length?(x=_,quadtree):x};quadtree.y=function(_){return arguments.length?(y=_,quadtree):y};quadtree.extent=function(_){if(!arguments.length)return x1==null?null:[[x1,y1],[x2,y2]];if(_==null)x1=y1=x2=y2=null;else x1=+_[0][0],y1=+_[0][1],x2=+_[1][0],y2=+_[1][1];return quadtree};quadtree.size=function(_){if(!arguments.length)return x1==null?null:[x2-x1,y2-y1];if(_==null)x1=y1=x2=y2=null;else x1=y1=0,x2=+_[0],y2=+_[1];return quadtree};return quadtree};function d3_geom_quadtreeCompatX(d){return d.x}function d3_geom_quadtreeCompatY(d){return d.y}function d3_geom_quadtreeNode(){return{leaf:true,nodes:[],point:null,x:null,y:null}}function d3_geom_quadtreeVisit(f,node,x1,y1,x2,y2){if(!f(node,x1,y1,x2,y2)){var sx=(x1+x2)*.5,sy=(y1+y2)*.5,children=node.nodes;if(children[0])d3_geom_quadtreeVisit(f,children[0],x1,y1,sx,sy);if(children[1])d3_geom_quadtreeVisit(f,children[1],sx,y1,x2,sy);if(children[2])d3_geom_quadtreeVisit(f,children[2],x1,sy,sx,y2);if(children[3])d3_geom_quadtreeVisit(f,children[3],sx,sy,x2,y2)}}function d3_geom_quadtreeFind(root,x,y,x0,y0,x3,y3){var minDistance2=Infinity,closestPoint;(function find(node,x1,y1,x2,y2){if(x1>x3||y1>y3||x2<x0||y2<y0)return;if(point=node.point){var point,dx=x-node.x,dy=y-node.y,distance2=dx*dx+dy*dy;if(distance2<minDistance2){var distance=Math.sqrt(minDistance2=distance2);x0=x-distance,y0=y-distance;x3=x+distance,y3=y+distance;closestPoint=point}}var children=node.nodes,xm=(x1+x2)*.5,ym=(y1+y2)*.5,right=x>=xm,below=y>=ym;for(var i=below<<1|right,j=i+4;i<j;++i){if(node=children[i&3])switch(i&3){case 0:find(node,x1,y1,xm,ym);break;case 1:find(node,xm,y1,x2,ym);break;case 2:find(node,x1,ym,xm,y2);break;case 3:find(node,xm,ym,x2,y2);break}}})(root,x0,y0,x3,y3);return closestPoint}d3.interpolateRgb=d3_interpolateRgb;function d3_interpolateRgb(a,b){a=d3.rgb(a);b=d3.rgb(b);var ar=a.r,ag=a.g,ab=a.b,br=b.r-ar,bg=b.g-ag,bb=b.b-ab;return function(t){return"#"+d3_rgb_hex(Math.round(ar+br*t))+d3_rgb_hex(Math.round(ag+bg*t))+d3_rgb_hex(Math.round(ab+bb*t))}}d3.interpolateObject=d3_interpolateObject;function d3_interpolateObject(a,b){var i={},c={},k;for(k in a){if(k in b){i[k]=d3_interpolate(a[k],b[k])}else{c[k]=a[k]}}for(k in b){if(!(k in a)){c[k]=b[k]}}return function(t){for(k in i)c[k]=i[k](t);return c}}d3.interpolateNumber=d3_interpolateNumber;function d3_interpolateNumber(a,b){a=+a,b=+b;return function(t){return a*(1-t)+b*t}}d3.interpolateString=d3_interpolateString;function d3_interpolateString(a,b){var bi=d3_interpolate_numberA.lastIndex=d3_interpolate_numberB.lastIndex=0,am,bm,bs,i=-1,s=[],q=[];a=a+"",b=b+"";while((am=d3_interpolate_numberA.exec(a))&&(bm=d3_interpolate_numberB.exec(b))){if((bs=bm.index)>bi){bs=b.slice(bi,bs);if(s[i])s[i]+=bs;else s[++i]=bs}if((am=am[0])===(bm=bm[0])){if(s[i])s[i]+=bm;else s[++i]=bm}else{s[++i]=null;q.push({i:i,x:d3_interpolateNumber(am,bm)})}bi=d3_interpolate_numberB.lastIndex}if(bi<b.length){bs=b.slice(bi);if(s[i])s[i]+=bs;else s[++i]=bs}return s.length<2?q[0]?(b=q[0].x,function(t){return b(t)+""}):function(){return b}:(b=q.length,function(t){for(var i=0,o;i<b;++i)s[(o=q[i]).i]=o.x(t);return s.join("")})}var d3_interpolate_numberA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,d3_interpolate_numberB=new RegExp(d3_interpolate_numberA.source,"g");d3.interpolate=d3_interpolate;function d3_interpolate(a,b){var i=d3.interpolators.length,f;while(--i>=0&&!(f=d3.interpolators[i](a,b)));return f}d3.interpolators=[function(a,b){var t=typeof b;return(t==="string"?d3_rgb_names.has(b.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(b)?d3_interpolateRgb:d3_interpolateString:b instanceof d3_color?d3_interpolateRgb:Array.isArray(b)?d3_interpolateArray:t==="object"&&isNaN(b)?d3_interpolateObject:d3_interpolateNumber)(a,b)}];d3.interpolateArray=d3_interpolateArray;function d3_interpolateArray(a,b){var x=[],c=[],na=a.length,nb=b.length,n0=Math.min(a.length,b.length),i;for(i=0;i<n0;++i)x.push(d3_interpolate(a[i],b[i]));for(;i<na;++i)c[i]=a[i];for(;i<nb;++i)c[i]=b[i];return function(t){for(i=0;i<n0;++i)c[i]=x[i](t);return c}}var d3_ease_default=function(){return d3_identity};var d3_ease=d3.map({linear:d3_ease_default,poly:d3_ease_poly,quad:function(){return d3_ease_quad},cubic:function(){return d3_ease_cubic},sin:function(){return d3_ease_sin},exp:function(){return d3_ease_exp},circle:function(){return d3_ease_circle},elastic:d3_ease_elastic,back:d3_ease_back,bounce:function(){return d3_ease_bounce}});var d3_ease_mode=d3.map({in:d3_identity,out:d3_ease_reverse,"in-out":d3_ease_reflect,"out-in":function(f){return d3_ease_reflect(d3_ease_reverse(f))}});d3.ease=function(name){var i=name.indexOf("-"),t=i>=0?name.slice(0,i):name,m=i>=0?name.slice(i+1):"in";t=d3_ease.get(t)||d3_ease_default;m=d3_ease_mode.get(m)||d3_identity;return d3_ease_clamp(m(t.apply(null,d3_arraySlice.call(arguments,1))))};function d3_ease_clamp(f){return function(t){return t<=0?0:t>=1?1:f(t)}}function d3_ease_reverse(f){return function(t){return 1-f(1-t)}}function d3_ease_reflect(f){return function(t){return.5*(t<.5?f(2*t):2-f(2-2*t))}}function d3_ease_quad(t){return t*t}function d3_ease_cubic(t){return t*t*t}function d3_ease_cubicInOut(t){if(t<=0)return 0;if(t>=1)return 1;var t2=t*t,t3=t2*t;return 4*(t<.5?t3:3*(t-t2)+t3-.75)}function d3_ease_poly(e){return function(t){return Math.pow(t,e)}}function d3_ease_sin(t){return 1-Math.cos(t*halfπ)}function d3_ease_exp(t){return Math.pow(2,10*(t-1))}function d3_ease_circle(t){return 1-Math.sqrt(1-t*t)}function d3_ease_elastic(a,p){var s;if(arguments.length<2)p=.45;if(arguments.length)s=p/τ*Math.asin(1/a);else a=1,s=p/4;return function(t){return 1+a*Math.pow(2,-10*t)*Math.sin((t-s)*τ/p)}}function d3_ease_back(s){if(!s)s=1.70158;return function(t){return t*t*((s+1)*t-s)}}function d3_ease_bounce(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}d3.interpolateHcl=d3_interpolateHcl;function d3_interpolateHcl(a,b){a=d3.hcl(a);b=d3.hcl(b);var ah=a.h,ac=a.c,al=a.l,bh=b.h-ah,bc=b.c-ac,bl=b.l-al;if(isNaN(bc))bc=0,ac=isNaN(ac)?b.c:ac;if(isNaN(bh))bh=0,ah=isNaN(ah)?b.h:ah;else if(bh>180)bh-=360;else if(bh<-180)bh+=360;return function(t){return d3_hcl_lab(ah+bh*t,ac+bc*t,al+bl*t)+""}}d3.interpolateHsl=d3_interpolateHsl;function d3_interpolateHsl(a,b){a=d3.hsl(a);b=d3.hsl(b);var ah=a.h,as=a.s,al=a.l,bh=b.h-ah,bs=b.s-as,bl=b.l-al;if(isNaN(bs))bs=0,as=isNaN(as)?b.s:as;if(isNaN(bh))bh=0,ah=isNaN(ah)?b.h:ah;else if(bh>180)bh-=360;else if(bh<-180)bh+=360;return function(t){return d3_hsl_rgb(ah+bh*t,as+bs*t,al+bl*t)+""}}d3.interpolateLab=d3_interpolateLab;function d3_interpolateLab(a,b){a=d3.lab(a);b=d3.lab(b);var al=a.l,aa=a.a,ab=a.b,bl=b.l-al,ba=b.a-aa,bb=b.b-ab;return function(t){return d3_lab_rgb(al+bl*t,aa+ba*t,ab+bb*t)+""}}d3.interpolateRound=d3_interpolateRound;function d3_interpolateRound(a,b){b-=a;return function(t){return Math.round(a+b*t)}}d3.transform=function(string){var g=d3_document.createElementNS(d3.ns.prefix.svg,"g");return(d3.transform=function(string){if(string!=null){g.setAttribute("transform",string);var t=g.transform.baseVal.consolidate()}return new d3_transform(t?t.matrix:d3_transformIdentity)})(string)};function d3_transform(m){var r0=[m.a,m.b],r1=[m.c,m.d],kx=d3_transformNormalize(r0),kz=d3_transformDot(r0,r1),ky=d3_transformNormalize(d3_transformCombine(r1,r0,-kz))||0;if(r0[0]*r1[1]<r1[0]*r0[1]){r0[0]*=-1;r0[1]*=-1;kx*=-1;kz*=-1}this.rotate=(kx?Math.atan2(r0[1],r0[0]):Math.atan2(-r1[0],r1[1]))*d3_degrees;this.translate=[m.e,m.f];this.scale=[kx,ky];this.skew=ky?Math.atan2(kz,ky)*d3_degrees:0}d3_transform.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};function d3_transformDot(a,b){return a[0]*b[0]+a[1]*b[1]}function d3_transformNormalize(a){var k=Math.sqrt(d3_transformDot(a,a));if(k){a[0]/=k;a[1]/=k}return k}function d3_transformCombine(a,b,k){a[0]+=k*b[0];a[1]+=k*b[1];return a}var d3_transformIdentity={a:1,b:0,c:0,d:1,e:0,f:0};d3.interpolateTransform=d3_interpolateTransform;function d3_interpolateTransformPop(s){return s.length?s.pop()+",":""}function d3_interpolateTranslate(ta,tb,s,q){if(ta[0]!==tb[0]||ta[1]!==tb[1]){var i=s.push("translate(",null,",",null,")");q.push({i:i-4,x:d3_interpolateNumber(ta[0],tb[0])},{i:i-2,x:d3_interpolateNumber(ta[1],tb[1])})}else if(tb[0]||tb[1]){s.push("translate("+tb+")")}}function d3_interpolateRotate(ra,rb,s,q){if(ra!==rb){if(ra-rb>180)rb+=360;else if(rb-ra>180)ra+=360;q.push({i:s.push(d3_interpolateTransformPop(s)+"rotate(",null,")")-2,x:d3_interpolateNumber(ra,rb)})}else if(rb){s.push(d3_interpolateTransformPop(s)+"rotate("+rb+")")}}function d3_interpolateSkew(wa,wb,s,q){if(wa!==wb){q.push({i:s.push(d3_interpolateTransformPop(s)+"skewX(",null,")")-2,x:d3_interpolateNumber(wa,wb)})}else if(wb){s.push(d3_interpolateTransformPop(s)+"skewX("+wb+")")}}function d3_interpolateScale(ka,kb,s,q){if(ka[0]!==kb[0]||ka[1]!==kb[1]){var i=s.push(d3_interpolateTransformPop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:d3_interpolateNumber(ka[0],kb[0])},{i:i-2,x:d3_interpolateNumber(ka[1],kb[1])})}else if(kb[0]!==1||kb[1]!==1){s.push(d3_interpolateTransformPop(s)+"scale("+kb+")")}}function d3_interpolateTransform(a,b){var s=[],q=[];a=d3.transform(a),b=d3.transform(b);d3_interpolateTranslate(a.translate,b.translate,s,q);d3_interpolateRotate(a.rotate,b.rotate,s,q);d3_interpolateSkew(a.skew,b.skew,s,q);d3_interpolateScale(a.scale,b.scale,s,q);a=b=null;return function(t){var i=-1,n=q.length,o;while(++i<n)s[(o=q[i]).i]=o.x(t);return s.join("")}}function d3_uninterpolateNumber(a,b){b=(b-=a=+a)||1/b;return function(x){return(x-a)/b}}function d3_uninterpolateClamp(a,b){b=(b-=a=+a)||1/b;return function(x){return Math.max(0,Math.min(1,(x-a)/b))}}d3.layout={};d3.layout.bundle=function(){return function(links){var paths=[],i=-1,n=links.length;while(++i<n)paths.push(d3_layout_bundlePath(links[i]));return paths}};function d3_layout_bundlePath(link){var start=link.source,end=link.target,lca=d3_layout_bundleLeastCommonAncestor(start,end),points=[start];while(start!==lca){start=start.parent;points.push(start)}var k=points.length;while(end!==lca){points.splice(k,0,end);end=end.parent}return points}function d3_layout_bundleAncestors(node){var ancestors=[],parent=node.parent;while(parent!=null){ancestors.push(node);node=parent;parent=parent.parent}ancestors.push(node);return ancestors}function d3_layout_bundleLeastCommonAncestor(a,b){if(a===b)return a;var aNodes=d3_layout_bundleAncestors(a),bNodes=d3_layout_bundleAncestors(b),aNode=aNodes.pop(),bNode=bNodes.pop(),sharedNode=null;while(aNode===bNode){sharedNode=aNode;aNode=aNodes.pop();bNode=bNodes.pop()}return sharedNode}d3.layout.chord=function(){var chord={},chords,groups,matrix,n,padding=0,sortGroups,sortSubgroups,sortChords;function relayout(){var subgroups={},groupSums=[],groupIndex=d3.range(n),subgroupIndex=[],k,x,x0,i,j;chords=[];groups=[];k=0,i=-1;while(++i<n){x=0,j=-1;while(++j<n){x+=matrix[i][j]}groupSums.push(x);subgroupIndex.push(d3.range(n));k+=x}if(sortGroups){groupIndex.sort((function(a,b){return sortGroups(groupSums[a],groupSums[b])}))}if(sortSubgroups){subgroupIndex.forEach((function(d,i){d.sort((function(a,b){return sortSubgroups(matrix[i][a],matrix[i][b])}))}))}k=(τ-padding*n)/k;x=0,i=-1;while(++i<n){x0=x,j=-1;while(++j<n){var di=groupIndex[i],dj=subgroupIndex[di][j],v=matrix[di][dj],a0=x,a1=x+=v*k;subgroups[di+"-"+dj]={index:di,subindex:dj,startAngle:a0,endAngle:a1,value:v}}groups[di]={index:di,startAngle:x0,endAngle:x,value:groupSums[di]};x+=padding}i=-1;while(++i<n){j=i-1;while(++j<n){var source=subgroups[i+"-"+j],target=subgroups[j+"-"+i];if(source.value||target.value){chords.push(source.value<target.value?{source:target,target:source}:{source:source,target:target})}}}if(sortChords)resort()}function resort(){chords.sort((function(a,b){return sortChords((a.source.value+a.target.value)/2,(b.source.value+b.target.value)/2)}))}chord.matrix=function(x){if(!arguments.length)return matrix;n=(matrix=x)&&matrix.length;chords=groups=null;return chord};chord.padding=function(x){if(!arguments.length)return padding;padding=x;chords=groups=null;return chord};chord.sortGroups=function(x){if(!arguments.length)return sortGroups;sortGroups=x;chords=groups=null;return chord};chord.sortSubgroups=function(x){if(!arguments.length)return sortSubgroups;sortSubgroups=x;chords=null;return chord};chord.sortChords=function(x){if(!arguments.length)return sortChords;sortChords=x;if(chords)resort();return chord};chord.chords=function(){if(!chords)relayout();return chords};chord.groups=function(){if(!groups)relayout();return groups};return chord};d3.layout.force=function(){var force={},event=d3.dispatch("start","tick","end"),timer,size=[1,1],drag,alpha,friction=.9,linkDistance=d3_layout_forceLinkDistance,linkStrength=d3_layout_forceLinkStrength,charge=-30,chargeDistance2=d3_layout_forceChargeDistance2,gravity=.1,theta2=.64,nodes=[],links=[],distances,strengths,charges;function repulse(node){return function(quad,x1,_,x2){if(quad.point!==node){var dx=quad.cx-node.x,dy=quad.cy-node.y,dw=x2-x1,dn=dx*dx+dy*dy;if(dw*dw/theta2<dn){if(dn<chargeDistance2){var k=quad.charge/dn;node.px-=dx*k;node.py-=dy*k}return true}if(quad.point&&dn&&dn<chargeDistance2){var k=quad.pointCharge/dn;node.px-=dx*k;node.py-=dy*k}}return!quad.charge}}force.tick=function(){if((alpha*=.99)<.005){timer=null;event.end({type:"end",alpha:alpha=0});return true}var n=nodes.length,m=links.length,q,i,o,s,t,l,k,x,y;for(i=0;i<m;++i){o=links[i];s=o.source;t=o.target;x=t.x-s.x;y=t.y-s.y;if(l=x*x+y*y){l=alpha*strengths[i]*((l=Math.sqrt(l))-distances[i])/l;x*=l;y*=l;t.x-=x*(k=s.weight+t.weight?s.weight/(s.weight+t.weight):.5);t.y-=y*k;s.x+=x*(k=1-k);s.y+=y*k}}if(k=alpha*gravity){x=size[0]/2;y=size[1]/2;i=-1;if(k)while(++i<n){o=nodes[i];o.x+=(x-o.x)*k;o.y+=(y-o.y)*k}}if(charge){d3_layout_forceAccumulate(q=d3.geom.quadtree(nodes),alpha,charges);i=-1;while(++i<n){if(!(o=nodes[i]).fixed){q.visit(repulse(o))}}}i=-1;while(++i<n){o=nodes[i];if(o.fixed){o.x=o.px;o.y=o.py}else{o.x-=(o.px-(o.px=o.x))*friction;o.y-=(o.py-(o.py=o.y))*friction}}event.tick({type:"tick",alpha:alpha})};force.nodes=function(x){if(!arguments.length)return nodes;nodes=x;return force};force.links=function(x){if(!arguments.length)return links;links=x;return force};force.size=function(x){if(!arguments.length)return size;size=x;return force};force.linkDistance=function(x){if(!arguments.length)return linkDistance;linkDistance=typeof x==="function"?x:+x;return force};force.distance=force.linkDistance;force.linkStrength=function(x){if(!arguments.length)return linkStrength;linkStrength=typeof x==="function"?x:+x;return force};force.friction=function(x){if(!arguments.length)return friction;friction=+x;return force};force.charge=function(x){if(!arguments.length)return charge;charge=typeof x==="function"?x:+x;return force};force.chargeDistance=function(x){if(!arguments.length)return Math.sqrt(chargeDistance2);chargeDistance2=x*x;return force};force.gravity=function(x){if(!arguments.length)return gravity;gravity=+x;return force};force.theta=function(x){if(!arguments.length)return Math.sqrt(theta2);theta2=x*x;return force};force.alpha=function(x){if(!arguments.length)return alpha;x=+x;if(alpha){if(x>0){alpha=x}else{timer.c=null,timer.t=NaN,timer=null;event.end({type:"end",alpha:alpha=0})}}else if(x>0){event.start({type:"start",alpha:alpha=x});timer=d3_timer(force.tick)}return force};force.start=function(){var i,n=nodes.length,m=links.length,w=size[0],h=size[1],neighbors,o;for(i=0;i<n;++i){(o=nodes[i]).index=i;o.weight=0}for(i=0;i<m;++i){o=links[i];if(typeof o.source=="number")o.source=nodes[o.source];if(typeof o.target=="number")o.target=nodes[o.target];++o.source.weight;++o.target.weight}for(i=0;i<n;++i){o=nodes[i];if(isNaN(o.x))o.x=position("x",w);if(isNaN(o.y))o.y=position("y",h);if(isNaN(o.px))o.px=o.x;if(isNaN(o.py))o.py=o.y}distances=[];if(typeof linkDistance==="function")for(i=0;i<m;++i)distances[i]=+linkDistance.call(this,links[i],i);else for(i=0;i<m;++i)distances[i]=linkDistance;strengths=[];if(typeof linkStrength==="function")for(i=0;i<m;++i)strengths[i]=+linkStrength.call(this,links[i],i);else for(i=0;i<m;++i)strengths[i]=linkStrength;charges=[];if(typeof charge==="function")for(i=0;i<n;++i)charges[i]=+charge.call(this,nodes[i],i);else for(i=0;i<n;++i)charges[i]=charge;function position(dimension,size){if(!neighbors){neighbors=new Array(n);for(j=0;j<n;++j){neighbors[j]=[]}for(j=0;j<m;++j){var o=links[j];neighbors[o.source.index].push(o.target);neighbors[o.target.index].push(o.source)}}var candidates=neighbors[i],j=-1,l=candidates.length,x;while(++j<l)if(!isNaN(x=candidates[j][dimension]))return x;return Math.random()*size}return force.resume()};force.resume=function(){return force.alpha(.1)};force.stop=function(){return force.alpha(0)};force.drag=function(){if(!drag)drag=d3.behavior.drag().origin(d3_identity).on("dragstart.force",d3_layout_forceDragstart).on("drag.force",dragmove).on("dragend.force",d3_layout_forceDragend);if(!arguments.length)return drag;this.on("mouseover.force",d3_layout_forceMouseover).on("mouseout.force",d3_layout_forceMouseout).call(drag)};function dragmove(d){d.px=d3.event.x,d.py=d3.event.y;force.resume()}return d3.rebind(force,event,"on")};function d3_layout_forceDragstart(d){d.fixed|=2}function d3_layout_forceDragend(d){d.fixed&=~6}function d3_layout_forceMouseover(d){d.fixed|=4;d.px=d.x,d.py=d.y}function d3_layout_forceMouseout(d){d.fixed&=~4}function d3_layout_forceAccumulate(quad,alpha,charges){var cx=0,cy=0;quad.charge=0;if(!quad.leaf){var nodes=quad.nodes,n=nodes.length,i=-1,c;while(++i<n){c=nodes[i];if(c==null)continue;d3_layout_forceAccumulate(c,alpha,charges);quad.charge+=c.charge;cx+=c.charge*c.cx;cy+=c.charge*c.cy}}if(quad.point){if(!quad.leaf){quad.point.x+=Math.random()-.5;quad.point.y+=Math.random()-.5}var k=alpha*charges[quad.point.index];quad.charge+=quad.pointCharge=k;cx+=k*quad.point.x;cy+=k*quad.point.y}quad.cx=cx/quad.charge;quad.cy=cy/quad.charge}var d3_layout_forceLinkDistance=20,d3_layout_forceLinkStrength=1,d3_layout_forceChargeDistance2=Infinity;d3.layout.hierarchy=function(){var sort=d3_layout_hierarchySort,children=d3_layout_hierarchyChildren,value=d3_layout_hierarchyValue;function hierarchy(root){var stack=[root],nodes=[],node;root.depth=0;while((node=stack.pop())!=null){nodes.push(node);if((childs=children.call(hierarchy,node,node.depth))&&(n=childs.length)){var n,childs,child;while(--n>=0){stack.push(child=childs[n]);child.parent=node;child.depth=node.depth+1}if(value)node.value=0;node.children=childs}else{if(value)node.value=+value.call(hierarchy,node,node.depth)||0;delete node.children}}d3_layout_hierarchyVisitAfter(root,(function(node){var childs,parent;if(sort&&(childs=node.children))childs.sort(sort);if(value&&(parent=node.parent))parent.value+=node.value}));return nodes}hierarchy.sort=function(x){if(!arguments.length)return sort;sort=x;return hierarchy};hierarchy.children=function(x){if(!arguments.length)return children;children=x;return hierarchy};hierarchy.value=function(x){if(!arguments.length)return value;value=x;return hierarchy};hierarchy.revalue=function(root){if(value){d3_layout_hierarchyVisitBefore(root,(function(node){if(node.children)node.value=0}));d3_layout_hierarchyVisitAfter(root,(function(node){var parent;if(!node.children)node.value=+value.call(hierarchy,node,node.depth)||0;if(parent=node.parent)parent.value+=node.value}))}return root};return hierarchy};function d3_layout_hierarchyRebind(object,hierarchy){d3.rebind(object,hierarchy,"sort","children","value");object.nodes=object;object.links=d3_layout_hierarchyLinks;return object}function d3_layout_hierarchyVisitBefore(node,callback){var nodes=[node];while((node=nodes.pop())!=null){callback(node);if((children=node.children)&&(n=children.length)){var n,children;while(--n>=0)nodes.push(children[n])}}}function d3_layout_hierarchyVisitAfter(node,callback){var nodes=[node],nodes2=[];while((node=nodes.pop())!=null){nodes2.push(node);if((children=node.children)&&(n=children.length)){var i=-1,n,children;while(++i<n)nodes.push(children[i])}}while((node=nodes2.pop())!=null){callback(node)}}function d3_layout_hierarchyChildren(d){return d.children}function d3_layout_hierarchyValue(d){return d.value}function d3_layout_hierarchySort(a,b){return b.value-a.value}function d3_layout_hierarchyLinks(nodes){return d3.merge(nodes.map((function(parent){return(parent.children||[]).map((function(child){return{source:parent,target:child}}))})))}d3.layout.partition=function(){var hierarchy=d3.layout.hierarchy(),size=[1,1];function position(node,x,dx,dy){var children=node.children;node.x=x;node.y=node.depth*dy;node.dx=dx;node.dy=dy;if(children&&(n=children.length)){var i=-1,n,c,d;dx=node.value?dx/node.value:0;while(++i<n){position(c=children[i],x,d=c.value*dx,dy);x+=d}}}function depth(node){var children=node.children,d=0;if(children&&(n=children.length)){var i=-1,n;while(++i<n)d=Math.max(d,depth(children[i]))}return 1+d}function partition(d,i){var nodes=hierarchy.call(this,d,i);position(nodes[0],0,size[0],size[1]/depth(nodes[0]));return nodes}partition.size=function(x){if(!arguments.length)return size;size=x;return partition};return d3_layout_hierarchyRebind(partition,hierarchy)};d3.layout.pie=function(){var value=Number,sort=d3_layout_pieSortByValue,startAngle=0,endAngle=τ,padAngle=0;function pie(data){var n=data.length,values=data.map((function(d,i){return+value.call(pie,d,i)})),a=+(typeof startAngle==="function"?startAngle.apply(this,arguments):startAngle),da=(typeof endAngle==="function"?endAngle.apply(this,arguments):endAngle)-a,p=Math.min(Math.abs(da)/n,+(typeof padAngle==="function"?padAngle.apply(this,arguments):padAngle)),pa=p*(da<0?-1:1),sum=d3.sum(values),k=sum?(da-n*pa)/sum:0,index=d3.range(n),arcs=[],v;if(sort!=null)index.sort(sort===d3_layout_pieSortByValue?function(i,j){return values[j]-values[i]}:function(i,j){return sort(data[i],data[j])});index.forEach((function(i){arcs[i]={data:data[i],value:v=values[i],startAngle:a,endAngle:a+=v*k+pa,padAngle:p}}));return arcs}pie.value=function(_){if(!arguments.length)return value;value=_;return pie};pie.sort=function(_){if(!arguments.length)return sort;sort=_;return pie};pie.startAngle=function(_){if(!arguments.length)return startAngle;startAngle=_;return pie};pie.endAngle=function(_){if(!arguments.length)return endAngle;endAngle=_;return pie};pie.padAngle=function(_){if(!arguments.length)return padAngle;padAngle=_;return pie};return pie};var d3_layout_pieSortByValue={};d3.layout.stack=function(){var values=d3_identity,order=d3_layout_stackOrderDefault,offset=d3_layout_stackOffsetZero,out=d3_layout_stackOut,x=d3_layout_stackX,y=d3_layout_stackY;function stack(data,index){if(!(n=data.length))return data;var series=data.map((function(d,i){return values.call(stack,d,i)}));var points=series.map((function(d){return d.map((function(v,i){return[x.call(stack,v,i),y.call(stack,v,i)]}))}));var orders=order.call(stack,points,index);series=d3.permute(series,orders);points=d3.permute(points,orders);var offsets=offset.call(stack,points,index);var m=series[0].length,n,i,j,o;for(j=0;j<m;++j){out.call(stack,series[0][j],o=offsets[j],points[0][j][1]);for(i=1;i<n;++i){out.call(stack,series[i][j],o+=points[i-1][j][1],points[i][j][1])}}return data}stack.values=function(x){if(!arguments.length)return values;values=x;return stack};stack.order=function(x){if(!arguments.length)return order;order=typeof x==="function"?x:d3_layout_stackOrders.get(x)||d3_layout_stackOrderDefault;return stack};stack.offset=function(x){if(!arguments.length)return offset;offset=typeof x==="function"?x:d3_layout_stackOffsets.get(x)||d3_layout_stackOffsetZero;return stack};stack.x=function(z){if(!arguments.length)return x;x=z;return stack};stack.y=function(z){if(!arguments.length)return y;y=z;return stack};stack.out=function(z){if(!arguments.length)return out;out=z;return stack};return stack};function d3_layout_stackX(d){return d.x}function d3_layout_stackY(d){return d.y}function d3_layout_stackOut(d,y0,y){d.y0=y0;d.y=y}var d3_layout_stackOrders=d3.map({"inside-out":function(data){var n=data.length,i,j,max=data.map(d3_layout_stackMaxIndex),sums=data.map(d3_layout_stackReduceSum),index=d3.range(n).sort((function(a,b){return max[a]-max[b]})),top=0,bottom=0,tops=[],bottoms=[];for(i=0;i<n;++i){j=index[i];if(top<bottom){top+=sums[j];tops.push(j)}else{bottom+=sums[j];bottoms.push(j)}}return bottoms.reverse().concat(tops)},reverse:function(data){return d3.range(data.length).reverse()},default:d3_layout_stackOrderDefault});var d3_layout_stackOffsets=d3.map({silhouette:function(data){var n=data.length,m=data[0].length,sums=[],max=0,i,j,o,y0=[];for(j=0;j<m;++j){for(i=0,o=0;i<n;i++)o+=data[i][j][1];if(o>max)max=o;sums.push(o)}for(j=0;j<m;++j){y0[j]=(max-sums[j])/2}return y0},wiggle:function(data){var n=data.length,x=data[0],m=x.length,i,j,k,s1,s2,s3,dx,o,o0,y0=[];y0[0]=o=o0=0;for(j=1;j<m;++j){for(i=0,s1=0;i<n;++i)s1+=data[i][j][1];for(i=0,s2=0,dx=x[j][0]-x[j-1][0];i<n;++i){for(k=0,s3=(data[i][j][1]-data[i][j-1][1])/(2*dx);k<i;++k){s3+=(data[k][j][1]-data[k][j-1][1])/dx}s2+=s3*data[i][j][1]}y0[j]=o-=s1?s2/s1*dx:0;if(o<o0)o0=o}for(j=0;j<m;++j)y0[j]-=o0;return y0},expand:function(data){var n=data.length,m=data[0].length,k=1/n,i,j,o,y0=[];for(j=0;j<m;++j){for(i=0,o=0;i<n;i++)o+=data[i][j][1];if(o)for(i=0;i<n;i++)data[i][j][1]/=o;else for(i=0;i<n;i++)data[i][j][1]=k}for(j=0;j<m;++j)y0[j]=0;return y0},zero:d3_layout_stackOffsetZero});function d3_layout_stackOrderDefault(data){return d3.range(data.length)}function d3_layout_stackOffsetZero(data){var j=-1,m=data[0].length,y0=[];while(++j<m)y0[j]=0;return y0}function d3_layout_stackMaxIndex(array){var i=1,j=0,v=array[0][1],k,n=array.length;for(;i<n;++i){if((k=array[i][1])>v){j=i;v=k}}return j}function d3_layout_stackReduceSum(d){return d.reduce(d3_layout_stackSum,0)}function d3_layout_stackSum(p,d){return p+d[1]}d3.layout.histogram=function(){var frequency=true,valuer=Number,ranger=d3_layout_histogramRange,binner=d3_layout_histogramBinSturges;function histogram(data,i){var bins=[],values=data.map(valuer,this),range=ranger.call(this,values,i),thresholds=binner.call(this,range,values,i),bin,i=-1,n=values.length,m=thresholds.length-1,k=frequency?1:1/n,x;while(++i<m){bin=bins[i]=[];bin.dx=thresholds[i+1]-(bin.x=thresholds[i]);bin.y=0}if(m>0){i=-1;while(++i<n){x=values[i];if(x>=range[0]&&x<=range[1]){bin=bins[d3.bisect(thresholds,x,1,m)-1];bin.y+=k;bin.push(data[i])}}}return bins}histogram.value=function(x){if(!arguments.length)return valuer;valuer=x;return histogram};histogram.range=function(x){if(!arguments.length)return ranger;ranger=d3_functor(x);return histogram};histogram.bins=function(x){if(!arguments.length)return binner;binner=typeof x==="number"?function(range){return d3_layout_histogramBinFixed(range,x)}:d3_functor(x);return histogram};histogram.frequency=function(x){if(!arguments.length)return frequency;frequency=!!x;return histogram};return histogram};function d3_layout_histogramBinSturges(range,values){return d3_layout_histogramBinFixed(range,Math.ceil(Math.log(values.length)/Math.LN2+1))}function d3_layout_histogramBinFixed(range,n){var x=-1,b=+range[0],m=(range[1]-b)/n,f=[];while(++x<=n)f[x]=m*x+b;return f}function d3_layout_histogramRange(values){return[d3.min(values),d3.max(values)]}d3.layout.pack=function(){var hierarchy=d3.layout.hierarchy().sort(d3_layout_packSort),padding=0,size=[1,1],radius;function pack(d,i){var nodes=hierarchy.call(this,d,i),root=nodes[0],w=size[0],h=size[1],r=radius==null?Math.sqrt:typeof radius==="function"?radius:function(){return radius};root.x=root.y=0;d3_layout_hierarchyVisitAfter(root,(function(d){d.r=+r(d.value)}));d3_layout_hierarchyVisitAfter(root,d3_layout_packSiblings);if(padding){var dr=padding*(radius?1:Math.max(2*root.r/w,2*root.r/h))/2;d3_layout_hierarchyVisitAfter(root,(function(d){d.r+=dr}));d3_layout_hierarchyVisitAfter(root,d3_layout_packSiblings);d3_layout_hierarchyVisitAfter(root,(function(d){d.r-=dr}))}d3_layout_packTransform(root,w/2,h/2,radius?1:1/Math.max(2*root.r/w,2*root.r/h));return nodes}pack.size=function(_){if(!arguments.length)return size;size=_;return pack};pack.radius=function(_){if(!arguments.length)return radius;radius=_==null||typeof _==="function"?_:+_;return pack};pack.padding=function(_){if(!arguments.length)return padding;padding=+_;return pack};return d3_layout_hierarchyRebind(pack,hierarchy)};function d3_layout_packSort(a,b){return a.value-b.value}function d3_layout_packInsert(a,b){var c=a._pack_next;a._pack_next=b;b._pack_prev=a;b._pack_next=c;c._pack_prev=b}function d3_layout_packSplice(a,b){a._pack_next=b;b._pack_prev=a}function d3_layout_packIntersects(a,b){var dx=b.x-a.x,dy=b.y-a.y,dr=a.r+b.r;return.999*dr*dr>dx*dx+dy*dy}function d3_layout_packSiblings(node){if(!(nodes=node.children)||!(n=nodes.length))return;var nodes,xMin=Infinity,xMax=-Infinity,yMin=Infinity,yMax=-Infinity,a,b,c,i,j,k,n;function bound(node){xMin=Math.min(node.x-node.r,xMin);xMax=Math.max(node.x+node.r,xMax);yMin=Math.min(node.y-node.r,yMin);yMax=Math.max(node.y+node.r,yMax)}nodes.forEach(d3_layout_packLink);a=nodes[0];a.x=-a.r;a.y=0;bound(a);if(n>1){b=nodes[1];b.x=b.r;b.y=0;bound(b);if(n>2){c=nodes[2];d3_layout_packPlace(a,b,c);bound(c);d3_layout_packInsert(a,c);a._pack_prev=c;d3_layout_packInsert(c,b);b=a._pack_next;for(i=3;i<n;i++){d3_layout_packPlace(a,b,c=nodes[i]);var isect=0,s1=1,s2=1;for(j=b._pack_next;j!==b;j=j._pack_next,s1++){if(d3_layout_packIntersects(j,c)){isect=1;break}}if(isect==1){for(k=a._pack_prev;k!==j._pack_prev;k=k._pack_prev,s2++){if(d3_layout_packIntersects(k,c)){break}}}if(isect){if(s1<s2||s1==s2&&b.r<a.r)d3_layout_packSplice(a,b=j);else d3_layout_packSplice(a=k,b);i--}else{d3_layout_packInsert(a,c);b=c;bound(c)}}}}var cx=(xMin+xMax)/2,cy=(yMin+yMax)/2,cr=0;for(i=0;i<n;i++){c=nodes[i];c.x-=cx;c.y-=cy;cr=Math.max(cr,c.r+Math.sqrt(c.x*c.x+c.y*c.y))}node.r=cr;nodes.forEach(d3_layout_packUnlink)}function d3_layout_packLink(node){node._pack_next=node._pack_prev=node}function d3_layout_packUnlink(node){delete node._pack_next;delete node._pack_prev}function d3_layout_packTransform(node,x,y,k){var children=node.children;node.x=x+=k*node.x;node.y=y+=k*node.y;node.r*=k;if(children){var i=-1,n=children.length;while(++i<n)d3_layout_packTransform(children[i],x,y,k)}}function d3_layout_packPlace(a,b,c){var db=a.r+c.r,dx=b.x-a.x,dy=b.y-a.y;if(db&&(dx||dy)){var da=b.r+c.r,dc=dx*dx+dy*dy;da*=da;db*=db;var x=.5+(db-da)/(2*dc),y=Math.sqrt(Math.max(0,2*da*(db+dc)-(db-=dc)*db-da*da))/(2*dc);c.x=a.x+x*dx+y*dy;c.y=a.y+x*dy-y*dx}else{c.x=a.x+db;c.y=a.y}}d3.layout.tree=function(){var hierarchy=d3.layout.hierarchy().sort(null).value(null),separation=d3_layout_treeSeparation,size=[1,1],nodeSize=null;function tree(d,i){var nodes=hierarchy.call(this,d,i),root0=nodes[0],root1=wrapTree(root0);d3_layout_hierarchyVisitAfter(root1,firstWalk),root1.parent.m=-root1.z;d3_layout_hierarchyVisitBefore(root1,secondWalk);if(nodeSize)d3_layout_hierarchyVisitBefore(root0,sizeNode);else{var left=root0,right=root0,bottom=root0;d3_layout_hierarchyVisitBefore(root0,(function(node){if(node.x<left.x)left=node;if(node.x>right.x)right=node;if(node.depth>bottom.depth)bottom=node}));var tx=separation(left,right)/2-left.x,kx=size[0]/(right.x+separation(right,left)/2+tx),ky=size[1]/(bottom.depth||1);d3_layout_hierarchyVisitBefore(root0,(function(node){node.x=(node.x+tx)*kx;node.y=node.depth*ky}))}return nodes}function wrapTree(root0){var root1={A:null,children:[root0]},queue=[root1],node1;while((node1=queue.pop())!=null){for(var children=node1.children,child,i=0,n=children.length;i<n;++i){queue.push((children[i]=child={_:children[i],parent:node1,children:(child=children[i].children)&&child.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:i}).a=child)}}return root1.children[0]}function firstWalk(v){var children=v.children,siblings=v.parent.children,w=v.i?siblings[v.i-1]:null;if(children.length){d3_layout_treeShift(v);var midpoint=(children[0].z+children[children.length-1].z)/2;if(w){v.z=w.z+separation(v._,w._);v.m=v.z-midpoint}else{v.z=midpoint}}else if(w){v.z=w.z+separation(v._,w._)}v.parent.A=apportion(v,w,v.parent.A||siblings[0])}function secondWalk(v){v._.x=v.z+v.parent.m;v.m+=v.parent.m}function apportion(v,w,ancestor){if(w){var vip=v,vop=v,vim=w,vom=vip.parent.children[0],sip=vip.m,sop=vop.m,sim=vim.m,som=vom.m,shift;while(vim=d3_layout_treeRight(vim),vip=d3_layout_treeLeft(vip),vim&&vip){vom=d3_layout_treeLeft(vom);vop=d3_layout_treeRight(vop);vop.a=v;shift=vim.z+sim-vip.z-sip+separation(vim._,vip._);if(shift>0){d3_layout_treeMove(d3_layout_treeAncestor(vim,v,ancestor),v,shift);sip+=shift;sop+=shift}sim+=vim.m;sip+=vip.m;som+=vom.m;sop+=vop.m}if(vim&&!d3_layout_treeRight(vop)){vop.t=vim;vop.m+=sim-sop}if(vip&&!d3_layout_treeLeft(vom)){vom.t=vip;vom.m+=sip-som;ancestor=v}}return ancestor}function sizeNode(node){node.x*=size[0];node.y=node.depth*size[1]}tree.separation=function(x){if(!arguments.length)return separation;separation=x;return tree};tree.size=function(x){if(!arguments.length)return nodeSize?null:size;nodeSize=(size=x)==null?sizeNode:null;return tree};tree.nodeSize=function(x){if(!arguments.length)return nodeSize?size:null;nodeSize=(size=x)==null?null:sizeNode;return tree};return d3_layout_hierarchyRebind(tree,hierarchy)};function d3_layout_treeSeparation(a,b){return a.parent==b.parent?1:2}function d3_layout_treeLeft(v){var children=v.children;return children.length?children[0]:v.t}function d3_layout_treeRight(v){var children=v.children,n;return(n=children.length)?children[n-1]:v.t}function d3_layout_treeMove(wm,wp,shift){var change=shift/(wp.i-wm.i);wp.c-=change;wp.s+=shift;wm.c+=change;wp.z+=shift;wp.m+=shift}function d3_layout_treeShift(v){var shift=0,change=0,children=v.children,i=children.length,w;while(--i>=0){w=children[i];w.z+=shift;w.m+=shift;shift+=w.s+(change+=w.c)}}function d3_layout_treeAncestor(vim,v,ancestor){return vim.a.parent===v.parent?vim.a:ancestor}d3.layout.cluster=function(){var hierarchy=d3.layout.hierarchy().sort(null).value(null),separation=d3_layout_treeSeparation,size=[1,1],nodeSize=false;function cluster(d,i){var nodes=hierarchy.call(this,d,i),root=nodes[0],previousNode,x=0;d3_layout_hierarchyVisitAfter(root,(function(node){var children=node.children;if(children&&children.length){node.x=d3_layout_clusterX(children);node.y=d3_layout_clusterY(children)}else{node.x=previousNode?x+=separation(node,previousNode):0;node.y=0;previousNode=node}}));var left=d3_layout_clusterLeft(root),right=d3_layout_clusterRight(root),x0=left.x-separation(left,right)/2,x1=right.x+separation(right,left)/2;d3_layout_hierarchyVisitAfter(root,nodeSize?function(node){node.x=(node.x-root.x)*size[0];node.y=(root.y-node.y)*size[1]}:function(node){node.x=(node.x-x0)/(x1-x0)*size[0];node.y=(1-(root.y?node.y/root.y:1))*size[1]});return nodes}cluster.separation=function(x){if(!arguments.length)return separation;separation=x;return cluster};cluster.size=function(x){if(!arguments.length)return nodeSize?null:size;nodeSize=(size=x)==null;return cluster};cluster.nodeSize=function(x){if(!arguments.length)return nodeSize?size:null;nodeSize=(size=x)!=null;return cluster};return d3_layout_hierarchyRebind(cluster,hierarchy)};function d3_layout_clusterY(children){return 1+d3.max(children,(function(child){return child.y}))}function d3_layout_clusterX(children){return children.reduce((function(x,child){return x+child.x}),0)/children.length}function d3_layout_clusterLeft(node){var children=node.children;return children&&children.length?d3_layout_clusterLeft(children[0]):node}function d3_layout_clusterRight(node){var children=node.children,n;return children&&(n=children.length)?d3_layout_clusterRight(children[n-1]):node}d3.layout.treemap=function(){var hierarchy=d3.layout.hierarchy(),round=Math.round,size=[1,1],padding=null,pad=d3_layout_treemapPadNull,sticky=false,stickies,mode="squarify",ratio=.5*(1+Math.sqrt(5));function scale(children,k){var i=-1,n=children.length,child,area;while(++i<n){area=(child=children[i]).value*(k<0?0:k);child.area=isNaN(area)||area<=0?0:area}}function squarify(node){var children=node.children;if(children&&children.length){var rect=pad(node),row=[],remaining=children.slice(),child,best=Infinity,score,u=mode==="slice"?rect.dx:mode==="dice"?rect.dy:mode==="slice-dice"?node.depth&1?rect.dy:rect.dx:Math.min(rect.dx,rect.dy),n;scale(remaining,rect.dx*rect.dy/node.value);row.area=0;while((n=remaining.length)>0){row.push(child=remaining[n-1]);row.area+=child.area;if(mode!=="squarify"||(score=worst(row,u))<=best){remaining.pop();best=score}else{row.area-=row.pop().area;position(row,u,rect,false);u=Math.min(rect.dx,rect.dy);row.length=row.area=0;best=Infinity}}if(row.length){position(row,u,rect,true);row.length=row.area=0}children.forEach(squarify)}}function stickify(node){var children=node.children;if(children&&children.length){var rect=pad(node),remaining=children.slice(),child,row=[];scale(remaining,rect.dx*rect.dy/node.value);row.area=0;while(child=remaining.pop()){row.push(child);row.area+=child.area;if(child.z!=null){position(row,child.z?rect.dx:rect.dy,rect,!remaining.length);row.length=row.area=0}}children.forEach(stickify)}}function worst(row,u){var s=row.area,r,rmax=0,rmin=Infinity,i=-1,n=row.length;while(++i<n){if(!(r=row[i].area))continue;if(r<rmin)rmin=r;if(r>rmax)rmax=r}s*=s;u*=u;return s?Math.max(u*rmax*ratio/s,s/(u*rmin*ratio)):Infinity}function position(row,u,rect,flush){var i=-1,n=row.length,x=rect.x,y=rect.y,v=u?round(row.area/u):0,o;if(u==rect.dx){if(flush||v>rect.dy)v=rect.dy;while(++i<n){o=row[i];o.x=x;o.y=y;o.dy=v;x+=o.dx=Math.min(rect.x+rect.dx-x,v?round(o.area/v):0)}o.z=true;o.dx+=rect.x+rect.dx-x;rect.y+=v;rect.dy-=v}else{if(flush||v>rect.dx)v=rect.dx;while(++i<n){o=row[i];o.x=x;o.y=y;o.dx=v;y+=o.dy=Math.min(rect.y+rect.dy-y,v?round(o.area/v):0)}o.z=false;o.dy+=rect.y+rect.dy-y;rect.x+=v;rect.dx-=v}}function treemap(d){var nodes=stickies||hierarchy(d),root=nodes[0];root.x=root.y=0;if(root.value)root.dx=size[0],root.dy=size[1];else root.dx=root.dy=0;if(stickies)hierarchy.revalue(root);scale([root],root.dx*root.dy/root.value);(stickies?stickify:squarify)(root);if(sticky)stickies=nodes;return nodes}treemap.size=function(x){if(!arguments.length)return size;size=x;return treemap};treemap.padding=function(x){if(!arguments.length)return padding;function padFunction(node){var p=x.call(treemap,node,node.depth);return p==null?d3_layout_treemapPadNull(node):d3_layout_treemapPad(node,typeof p==="number"?[p,p,p,p]:p)}function padConstant(node){return d3_layout_treemapPad(node,x)}var type;pad=(padding=x)==null?d3_layout_treemapPadNull:(type=typeof x)==="function"?padFunction:type==="number"?(x=[x,x,x,x],padConstant):padConstant;return treemap};treemap.round=function(x){if(!arguments.length)return round!=Number;round=x?Math.round:Number;return treemap};treemap.sticky=function(x){if(!arguments.length)return sticky;sticky=x;stickies=null;return treemap};treemap.ratio=function(x){if(!arguments.length)return ratio;ratio=x;return treemap};treemap.mode=function(x){if(!arguments.length)return mode;mode=x+"";return treemap};return d3_layout_hierarchyRebind(treemap,hierarchy)};function d3_layout_treemapPadNull(node){return{x:node.x,y:node.y,dx:node.dx,dy:node.dy}}function d3_layout_treemapPad(node,padding){var x=node.x+padding[3],y=node.y+padding[0],dx=node.dx-padding[1]-padding[3],dy=node.dy-padding[0]-padding[2];if(dx<0){x+=dx/2;dx=0}if(dy<0){y+=dy/2;dy=0}return{x:x,y:y,dx:dx,dy:dy}}d3.random={normal:function(µ,σ){var n=arguments.length;if(n<2)σ=1;if(n<1)µ=0;return function(){var x,y,r;do{x=Math.random()*2-1;y=Math.random()*2-1;r=x*x+y*y}while(!r||r>1);return µ+σ*x*Math.sqrt(-2*Math.log(r)/r)}},logNormal:function(){var random=d3.random.normal.apply(d3,arguments);return function(){return Math.exp(random())}},bates:function(m){var random=d3.random.irwinHall(m);return function(){return random()/m}},irwinHall:function(m){return function(){for(var s=0,j=0;j<m;j++)s+=Math.random();return s}}};d3.scale={};function d3_scaleExtent(domain){var start=domain[0],stop=domain[domain.length-1];return start<stop?[start,stop]:[stop,start]}function d3_scaleRange(scale){return scale.rangeExtent?scale.rangeExtent():d3_scaleExtent(scale.range())}function d3_scale_bilinear(domain,range,uninterpolate,interpolate){var u=uninterpolate(domain[0],domain[1]),i=interpolate(range[0],range[1]);return function(x){return i(u(x))}}function d3_scale_nice(domain,nice){var i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1],dx;if(x1<x0){dx=i0,i0=i1,i1=dx;dx=x0,x0=x1,x1=dx}domain[i0]=nice.floor(x0);domain[i1]=nice.ceil(x1);return domain}function d3_scale_niceStep(step){return step?{floor:function(x){return Math.floor(x/step)*step},ceil:function(x){return Math.ceil(x/step)*step}}:d3_scale_niceIdentity}var d3_scale_niceIdentity={floor:d3_identity,ceil:d3_identity};function d3_scale_polylinear(domain,range,uninterpolate,interpolate){var u=[],i=[],j=0,k=Math.min(domain.length,range.length)-1;if(domain[k]<domain[0]){domain=domain.slice().reverse();range=range.slice().reverse()}while(++j<=k){u.push(uninterpolate(domain[j-1],domain[j]));i.push(interpolate(range[j-1],range[j]))}return function(x){var j=d3.bisect(domain,x,1,k)-1;return i[j](u[j](x))}}d3.scale.linear=function(){return d3_scale_linear([0,1],[0,1],d3_interpolate,false)};function d3_scale_linear(domain,range,interpolate,clamp){var output,input;function rescale(){var linear=Math.min(domain.length,range.length)>2?d3_scale_polylinear:d3_scale_bilinear,uninterpolate=clamp?d3_uninterpolateClamp:d3_uninterpolateNumber;output=linear(domain,range,uninterpolate,interpolate);input=linear(range,domain,uninterpolate,d3_interpolate);return scale}function scale(x){return output(x)}scale.invert=function(y){return input(y)};scale.domain=function(x){if(!arguments.length)return domain;domain=x.map(Number);return rescale()};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale()};scale.rangeRound=function(x){return scale.range(x).interpolate(d3_interpolateRound)};scale.clamp=function(x){if(!arguments.length)return clamp;clamp=x;return rescale()};scale.interpolate=function(x){if(!arguments.length)return interpolate;interpolate=x;return rescale()};scale.ticks=function(m){return d3_scale_linearTicks(domain,m)};scale.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format)};scale.nice=function(m){d3_scale_linearNice(domain,m);return rescale()};scale.copy=function(){return d3_scale_linear(domain,range,interpolate,clamp)};return rescale()}function d3_scale_linearRebind(scale,linear){return d3.rebind(scale,linear,"range","rangeRound","interpolate","clamp")}function d3_scale_linearNice(domain,m){d3_scale_nice(domain,d3_scale_niceStep(d3_scale_linearTickRange(domain,m)[2]));d3_scale_nice(domain,d3_scale_niceStep(d3_scale_linearTickRange(domain,m)[2]));return domain}function d3_scale_linearTickRange(domain,m){if(m==null)m=10;var extent=d3_scaleExtent(domain),span=extent[1]-extent[0],step=Math.pow(10,Math.floor(Math.log(span/m)/Math.LN10)),err=m/span*step;if(err<=.15)step*=10;else if(err<=.35)step*=5;else if(err<=.75)step*=2;extent[0]=Math.ceil(extent[0]/step)*step;extent[1]=Math.floor(extent[1]/step)*step+step*.5;extent[2]=step;return extent}function d3_scale_linearTicks(domain,m){return d3.range.apply(d3,d3_scale_linearTickRange(domain,m))}var d3_scale_linearFormatSignificant={s:1,g:1,p:1,r:1,e:1};function d3_scale_linearPrecision(value){return-Math.floor(Math.log(value)/Math.LN10+.01)}function d3_scale_linearFormatPrecision(type,range){var p=d3_scale_linearPrecision(range[2]);return type in d3_scale_linearFormatSignificant?Math.abs(p-d3_scale_linearPrecision(Math.max(abs(range[0]),abs(range[1]))))+ +(type!=="e"):p-(type==="%")*2}d3.scale.log=function(){return d3_scale_log(d3.scale.linear().domain([0,1]),10,true,[1,10])};function d3_scale_log(linear,base,positive,domain){function log(x){return(positive?Math.log(x<0?0:x):-Math.log(x>0?0:-x))/Math.log(base)}function pow(x){return positive?Math.pow(base,x):-Math.pow(base,-x)}function scale(x){return linear(log(x))}scale.invert=function(x){return pow(linear.invert(x))};scale.domain=function(x){if(!arguments.length)return domain;positive=x[0]>=0;linear.domain((domain=x.map(Number)).map(log));return scale};scale.base=function(_){if(!arguments.length)return base;base=+_;linear.domain(domain.map(log));return scale};scale.nice=function(){var niced=d3_scale_nice(domain.map(log),positive?Math:d3_scale_logNiceNegative);linear.domain(niced);domain=niced.map(pow);return scale};scale.ticks=function(){var extent=d3_scaleExtent(domain),ticks=[],u=extent[0],v=extent[1],i=Math.floor(log(u)),j=Math.ceil(log(v)),n=base%1?2:base;if(isFinite(j-i)){if(positive){for(;i<j;i++)for(var k=1;k<n;k++)ticks.push(pow(i)*k);ticks.push(pow(i))}else{ticks.push(pow(i));for(;i++<j;)for(var k=n-1;k>0;k--)ticks.push(pow(i)*k)}for(i=0;ticks[i]<u;i++){}for(j=ticks.length;ticks[j-1]>v;j--){}ticks=ticks.slice(i,j)}return ticks};scale.copy=function(){return d3_scale_log(linear.copy(),base,positive,domain)};return d3_scale_linearRebind(scale,linear)}var d3_scale_logNiceNegative={floor:function(x){return-Math.ceil(-x)},ceil:function(x){return-Math.floor(-x)}};d3.scale.pow=function(){return d3_scale_pow(d3.scale.linear(),1,[0,1])};function d3_scale_pow(linear,exponent,domain){var powp=d3_scale_powPow(exponent),powb=d3_scale_powPow(1/exponent);function scale(x){return linear(powp(x))}scale.invert=function(x){return powb(linear.invert(x))};scale.domain=function(x){if(!arguments.length)return domain;linear.domain((domain=x.map(Number)).map(powp));return scale};scale.ticks=function(m){return d3_scale_linearTicks(domain,m)};scale.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format)};scale.nice=function(m){return scale.domain(d3_scale_linearNice(domain,m))};scale.exponent=function(x){if(!arguments.length)return exponent;powp=d3_scale_powPow(exponent=x);powb=d3_scale_powPow(1/exponent);linear.domain(domain.map(powp));return scale};scale.copy=function(){return d3_scale_pow(linear.copy(),exponent,domain)};return d3_scale_linearRebind(scale,linear)}function d3_scale_powPow(e){return function(x){return x<0?-Math.pow(-x,e):Math.pow(x,e)}}d3.scale.sqrt=function(){return d3.scale.pow().exponent(.5)};d3.scale.ordinal=function(){return d3_scale_ordinal([],{t:"range",a:[[]]})};function d3_scale_ordinal(domain,ranger){var index,range,rangeBand;function scale(x){return range[((index.get(x)||(ranger.t==="range"?index.set(x,domain.push(x)):NaN))-1)%range.length]}function steps(start,step){return d3.range(domain.length).map((function(i){return start+step*i}))}scale.domain=function(x){if(!arguments.length)return domain;domain=[];index=new d3_Map;var i=-1,n=x.length,xi;while(++i<n)if(!index.has(xi=x[i]))index.set(xi,domain.push(xi));return scale[ranger.t].apply(scale,ranger.a)};scale.range=function(x){if(!arguments.length)return range;range=x;rangeBand=0;ranger={t:"range",a:arguments};return scale};scale.rangePoints=function(x,padding){if(arguments.length<2)padding=0;var start=x[0],stop=x[1],step=domain.length<2?(start=(start+stop)/2,0):(stop-start)/(domain.length-1+padding);range=steps(start+step*padding/2,step);rangeBand=0;ranger={t:"rangePoints",a:arguments};return scale};scale.rangeRoundPoints=function(x,padding){if(arguments.length<2)padding=0;var start=x[0],stop=x[1],step=domain.length<2?(start=stop=Math.round((start+stop)/2),0):(stop-start)/(domain.length-1+padding)|0;range=steps(start+Math.round(step*padding/2+(stop-start-(domain.length-1+padding)*step)/2),step);rangeBand=0;ranger={t:"rangeRoundPoints",a:arguments};return scale};scale.rangeBands=function(x,padding,outerPadding){if(arguments.length<2)padding=0;if(arguments.length<3)outerPadding=padding;var reverse=x[1]<x[0],start=x[reverse-0],stop=x[1-reverse],step=(stop-start)/(domain.length-padding+2*outerPadding);range=steps(start+step*outerPadding,step);if(reverse)range.reverse();rangeBand=step*(1-padding);ranger={t:"rangeBands",a:arguments};return scale};scale.rangeRoundBands=function(x,padding,outerPadding){if(arguments.length<2)padding=0;if(arguments.length<3)outerPadding=padding;var reverse=x[1]<x[0],start=x[reverse-0],stop=x[1-reverse],step=Math.floor((stop-start)/(domain.length-padding+2*outerPadding));range=steps(start+Math.round((stop-start-(domain.length-padding)*step)/2),step);if(reverse)range.reverse();rangeBand=Math.round(step*(1-padding));ranger={t:"rangeRoundBands",a:arguments};return scale};scale.rangeBand=function(){return rangeBand};scale.rangeExtent=function(){return d3_scaleExtent(ranger.a[0])};scale.copy=function(){return d3_scale_ordinal(domain,ranger)};return scale.domain(domain)}d3.scale.category10=function(){return d3.scale.ordinal().range(d3_category10)};d3.scale.category20=function(){return d3.scale.ordinal().range(d3_category20)};d3.scale.category20b=function(){return d3.scale.ordinal().range(d3_category20b)};d3.scale.category20c=function(){return d3.scale.ordinal().range(d3_category20c)};var d3_category10=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(d3_rgbString);var d3_category20=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(d3_rgbString);var d3_category20b=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(d3_rgbString);var d3_category20c=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(d3_rgbString);d3.scale.quantile=function(){return d3_scale_quantile([],[])};function d3_scale_quantile(domain,range){var thresholds;function rescale(){var k=0,q=range.length;thresholds=[];while(++k<q)thresholds[k-1]=d3.quantile(domain,k/q);return scale}function scale(x){if(!isNaN(x=+x))return range[d3.bisect(thresholds,x)]}scale.domain=function(x){if(!arguments.length)return domain;domain=x.map(d3_number).filter(d3_numeric).sort(d3_ascending);return rescale()};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale()};scale.quantiles=function(){return thresholds};scale.invertExtent=function(y){y=range.indexOf(y);return y<0?[NaN,NaN]:[y>0?thresholds[y-1]:domain[0],y<thresholds.length?thresholds[y]:domain[domain.length-1]]};scale.copy=function(){return d3_scale_quantile(domain,range)};return rescale()}d3.scale.quantize=function(){return d3_scale_quantize(0,1,[0,1])};function d3_scale_quantize(x0,x1,range){var kx,i;function scale(x){return range[Math.max(0,Math.min(i,Math.floor(kx*(x-x0))))]}function rescale(){kx=range.length/(x1-x0);i=range.length-1;return scale}scale.domain=function(x){if(!arguments.length)return[x0,x1];x0=+x[0];x1=+x[x.length-1];return rescale()};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale()};scale.invertExtent=function(y){y=range.indexOf(y);y=y<0?NaN:y/kx+x0;return[y,y+1/kx]};scale.copy=function(){return d3_scale_quantize(x0,x1,range)};return rescale()}d3.scale.threshold=function(){return d3_scale_threshold([.5],[0,1])};function d3_scale_threshold(domain,range){function scale(x){if(x<=x)return range[d3.bisect(domain,x)]}scale.domain=function(_){if(!arguments.length)return domain;domain=_;return scale};scale.range=function(_){if(!arguments.length)return range;range=_;return scale};scale.invertExtent=function(y){y=range.indexOf(y);return[domain[y-1],domain[y]]};scale.copy=function(){return d3_scale_threshold(domain,range)};return scale}d3.scale.identity=function(){return d3_scale_identity([0,1])};function d3_scale_identity(domain){function identity(x){return+x}identity.invert=identity;identity.domain=identity.range=function(x){if(!arguments.length)return domain;domain=x.map(identity);return identity};identity.ticks=function(m){return d3_scale_linearTicks(domain,m)};identity.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format)};identity.copy=function(){return d3_scale_identity(domain)};return identity}d3.svg={};function d3_zero(){return 0}d3.svg.arc=function(){var innerRadius=d3_svg_arcInnerRadius,outerRadius=d3_svg_arcOuterRadius,cornerRadius=d3_zero,padRadius=d3_svg_arcAuto,startAngle=d3_svg_arcStartAngle,endAngle=d3_svg_arcEndAngle,padAngle=d3_svg_arcPadAngle;function arc(){var r0=Math.max(0,+innerRadius.apply(this,arguments)),r1=Math.max(0,+outerRadius.apply(this,arguments)),a0=startAngle.apply(this,arguments)-halfπ,a1=endAngle.apply(this,arguments)-halfπ,da=Math.abs(a1-a0),cw=a0>a1?0:1;if(r1<r0)rc=r1,r1=r0,r0=rc;if(da>=τε)return circleSegment(r1,cw)+(r0?circleSegment(r0,1-cw):"")+"Z";var rc,cr,rp,ap,p0=0,p1=0,x0,y0,x1,y1,x2,y2,x3,y3,path=[];if(ap=(+padAngle.apply(this,arguments)||0)/2){rp=padRadius===d3_svg_arcAuto?Math.sqrt(r0*r0+r1*r1):+padRadius.apply(this,arguments);if(!cw)p1*=-1;if(r1)p1=d3_asin(rp/r1*Math.sin(ap));if(r0)p0=d3_asin(rp/r0*Math.sin(ap))}if(r1){x0=r1*Math.cos(a0+p1);y0=r1*Math.sin(a0+p1);x1=r1*Math.cos(a1-p1);y1=r1*Math.sin(a1-p1);var l1=Math.abs(a1-a0-2*p1)<=π?0:1;if(p1&&d3_svg_arcSweep(x0,y0,x1,y1)===cw^l1){var h1=(a0+a1)/2;x0=r1*Math.cos(h1);y0=r1*Math.sin(h1);x1=y1=null}}else{x0=y0=0}if(r0){x2=r0*Math.cos(a1-p0);y2=r0*Math.sin(a1-p0);x3=r0*Math.cos(a0+p0);y3=r0*Math.sin(a0+p0);var l0=Math.abs(a0-a1+2*p0)<=π?0:1;if(p0&&d3_svg_arcSweep(x2,y2,x3,y3)===1-cw^l0){var h0=(a0+a1)/2;x2=r0*Math.cos(h0);y2=r0*Math.sin(h0);x3=y3=null}}else{x2=y2=0}if(da>ε&&(rc=Math.min(Math.abs(r1-r0)/2,+cornerRadius.apply(this,arguments)))>.001){cr=r0<r1^cw?0:1;var rc1=rc,rc0=rc;if(da<π){var oc=x3==null?[x2,y2]:x1==null?[x0,y0]:d3_geom_polygonIntersect([x0,y0],[x3,y3],[x1,y1],[x2,y2]),ax=x0-oc[0],ay=y0-oc[1],bx=x1-oc[0],by=y1-oc[1],kc=1/Math.sin(Math.acos((ax*bx+ay*by)/(Math.sqrt(ax*ax+ay*ay)*Math.sqrt(bx*bx+by*by)))/2),lc=Math.sqrt(oc[0]*oc[0]+oc[1]*oc[1]);rc0=Math.min(rc,(r0-lc)/(kc-1));rc1=Math.min(rc,(r1-lc)/(kc+1))}if(x1!=null){var t30=d3_svg_arcCornerTangents(x3==null?[x2,y2]:[x3,y3],[x0,y0],r1,rc1,cw),t12=d3_svg_arcCornerTangents([x1,y1],[x2,y2],r1,rc1,cw);if(rc===rc1){path.push("M",t30[0],"A",rc1,",",rc1," 0 0,",cr," ",t30[1],"A",r1,",",r1," 0 ",1-cw^d3_svg_arcSweep(t30[1][0],t30[1][1],t12[1][0],t12[1][1]),",",cw," ",t12[1],"A",rc1,",",rc1," 0 0,",cr," ",t12[0])}else{path.push("M",t30[0],"A",rc1,",",rc1," 0 1,",cr," ",t12[0])}}else{path.push("M",x0,",",y0)}if(x3!=null){var t03=d3_svg_arcCornerTangents([x0,y0],[x3,y3],r0,-rc0,cw),t21=d3_svg_arcCornerTangents([x2,y2],x1==null?[x0,y0]:[x1,y1],r0,-rc0,cw);if(rc===rc0){path.push("L",t21[0],"A",rc0,",",rc0," 0 0,",cr," ",t21[1],"A",r0,",",r0," 0 ",cw^d3_svg_arcSweep(t21[1][0],t21[1][1],t03[1][0],t03[1][1]),",",1-cw," ",t03[1],"A",rc0,",",rc0," 0 0,",cr," ",t03[0])}else{path.push("L",t21[0],"A",rc0,",",rc0," 0 0,",cr," ",t03[0])}}else{path.push("L",x2,",",y2)}}else{path.push("M",x0,",",y0);if(x1!=null)path.push("A",r1,",",r1," 0 ",l1,",",cw," ",x1,",",y1);path.push("L",x2,",",y2);if(x3!=null)path.push("A",r0,",",r0," 0 ",l0,",",1-cw," ",x3,",",y3)}path.push("Z");return path.join("")}function circleSegment(r1,cw){return"M0,"+r1+"A"+r1+","+r1+" 0 1,"+cw+" 0,"+-r1+"A"+r1+","+r1+" 0 1,"+cw+" 0,"+r1}arc.innerRadius=function(v){if(!arguments.length)return innerRadius;innerRadius=d3_functor(v);return arc};arc.outerRadius=function(v){if(!arguments.length)return outerRadius;outerRadius=d3_functor(v);return arc};arc.cornerRadius=function(v){if(!arguments.length)return cornerRadius;cornerRadius=d3_functor(v);return arc};arc.padRadius=function(v){if(!arguments.length)return padRadius;padRadius=v==d3_svg_arcAuto?d3_svg_arcAuto:d3_functor(v);return arc};arc.startAngle=function(v){if(!arguments.length)return startAngle;startAngle=d3_functor(v);return arc};arc.endAngle=function(v){if(!arguments.length)return endAngle;endAngle=d3_functor(v);return arc};arc.padAngle=function(v){if(!arguments.length)return padAngle;padAngle=d3_functor(v);return arc};arc.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-halfπ;return[Math.cos(a)*r,Math.sin(a)*r]};return arc};var d3_svg_arcAuto="auto";function d3_svg_arcInnerRadius(d){return d.innerRadius}function d3_svg_arcOuterRadius(d){return d.outerRadius}function d3_svg_arcStartAngle(d){return d.startAngle}function d3_svg_arcEndAngle(d){return d.endAngle}function d3_svg_arcPadAngle(d){return d&&d.padAngle}function d3_svg_arcSweep(x0,y0,x1,y1){return(x0-x1)*y0-(y0-y1)*x0>0?0:1}function d3_svg_arcCornerTangents(p0,p1,r1,rc,cw){var x01=p0[0]-p1[0],y01=p0[1]-p1[1],lo=(cw?rc:-rc)/Math.sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x1=p0[0]+ox,y1=p0[1]+oy,x2=p1[0]+ox,y2=p1[1]+oy,x3=(x1+x2)/2,y3=(y1+y2)/2,dx=x2-x1,dy=y2-y1,d2=dx*dx+dy*dy,r=r1-rc,D=x1*y2-x2*y1,d=(dy<0?-1:1)*Math.sqrt(Math.max(0,r*r*d2-D*D)),cx0=(D*dy-dx*d)/d2,cy0=(-D*dx-dy*d)/d2,cx1=(D*dy+dx*d)/d2,cy1=(-D*dx+dy*d)/d2,dx0=cx0-x3,dy0=cy0-y3,dx1=cx1-x3,dy1=cy1-y3;if(dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1)cx0=cx1,cy0=cy1;return[[cx0-ox,cy0-oy],[cx0*r1/r,cy0*r1/r]]}function d3_true(){return true}function d3_svg_line(projection){var x=d3_geom_pointX,y=d3_geom_pointY,defined=d3_true,interpolate=d3_svg_lineLinear,interpolateKey=interpolate.key,tension=.7;function line(data){var segments=[],points=[],i=-1,n=data.length,d,fx=d3_functor(x),fy=d3_functor(y);function segment(){segments.push("M",interpolate(projection(points),tension))}while(++i<n){if(defined.call(this,d=data[i],i)){points.push([+fx.call(this,d,i),+fy.call(this,d,i)])}else if(points.length){segment();points=[]}}if(points.length)segment();return segments.length?segments.join(""):null}line.x=function(_){if(!arguments.length)return x;x=_;return line};line.y=function(_){if(!arguments.length)return y;y=_;return line};line.defined=function(_){if(!arguments.length)return defined;defined=_;return line};line.interpolate=function(_){if(!arguments.length)return interpolateKey;if(typeof _==="function")interpolateKey=interpolate=_;else interpolateKey=(interpolate=d3_svg_lineInterpolators.get(_)||d3_svg_lineLinear).key;return line};line.tension=function(_){if(!arguments.length)return tension;tension=_;return line};return line}d3.svg.line=function(){return d3_svg_line(d3_identity)};var d3_svg_lineInterpolators=d3.map({linear:d3_svg_lineLinear,"linear-closed":d3_svg_lineLinearClosed,step:d3_svg_lineStep,"step-before":d3_svg_lineStepBefore,"step-after":d3_svg_lineStepAfter,basis:d3_svg_lineBasis,"basis-open":d3_svg_lineBasisOpen,"basis-closed":d3_svg_lineBasisClosed,bundle:d3_svg_lineBundle,cardinal:d3_svg_lineCardinal,"cardinal-open":d3_svg_lineCardinalOpen,"cardinal-closed":d3_svg_lineCardinalClosed,monotone:d3_svg_lineMonotone});d3_svg_lineInterpolators.forEach((function(key,value){value.key=key;value.closed=/-closed$/.test(key)}));function d3_svg_lineLinear(points){return points.length>1?points.join("L"):points+"Z"}function d3_svg_lineLinearClosed(points){return points.join("L")+"Z"}function d3_svg_lineStep(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("H",(p[0]+(p=points[i])[0])/2,"V",p[1]);if(n>1)path.push("H",p[0]);return path.join("")}function d3_svg_lineStepBefore(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("V",(p=points[i])[1],"H",p[0]);return path.join("")}function d3_svg_lineStepAfter(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("H",(p=points[i])[0],"V",p[1]);return path.join("")}function d3_svg_lineCardinalOpen(points,tension){return points.length<4?d3_svg_lineLinear(points):points[1]+d3_svg_lineHermite(points.slice(1,-1),d3_svg_lineCardinalTangents(points,tension))}function d3_svg_lineCardinalClosed(points,tension){return points.length<3?d3_svg_lineLinearClosed(points):points[0]+d3_svg_lineHermite((points.push(points[0]),points),d3_svg_lineCardinalTangents([points[points.length-2]].concat(points,[points[1]]),tension))}function d3_svg_lineCardinal(points,tension){return points.length<3?d3_svg_lineLinear(points):points[0]+d3_svg_lineHermite(points,d3_svg_lineCardinalTangents(points,tension))}function d3_svg_lineHermite(points,tangents){if(tangents.length<1||points.length!=tangents.length&&points.length!=tangents.length+2){return d3_svg_lineLinear(points)}var quad=points.length!=tangents.length,path="",p0=points[0],p=points[1],t0=tangents[0],t=t0,pi=1;if(quad){path+="Q"+(p[0]-t0[0]*2/3)+","+(p[1]-t0[1]*2/3)+","+p[0]+","+p[1];p0=points[1];pi=2}if(tangents.length>1){t=tangents[1];p=points[pi];pi++;path+="C"+(p0[0]+t0[0])+","+(p0[1]+t0[1])+","+(p[0]-t[0])+","+(p[1]-t[1])+","+p[0]+","+p[1];for(var i=2;i<tangents.length;i++,pi++){p=points[pi];t=tangents[i];path+="S"+(p[0]-t[0])+","+(p[1]-t[1])+","+p[0]+","+p[1]}}if(quad){var lp=points[pi];path+="Q"+(p[0]+t[0]*2/3)+","+(p[1]+t[1]*2/3)+","+lp[0]+","+lp[1]}return path}function d3_svg_lineCardinalTangents(points,tension){var tangents=[],a=(1-tension)/2,p0,p1=points[0],p2=points[1],i=1,n=points.length;while(++i<n){p0=p1;p1=p2;p2=points[i];tangents.push([a*(p2[0]-p0[0]),a*(p2[1]-p0[1])])}return tangents}function d3_svg_lineBasis(points){if(points.length<3)return d3_svg_lineLinear(points);var i=1,n=points.length,pi=points[0],x0=pi[0],y0=pi[1],px=[x0,x0,x0,(pi=points[1])[0]],py=[y0,y0,y0,pi[1]],path=[x0,",",y0,"L",d3_svg_lineDot4(d3_svg_lineBasisBezier3,px),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,py)];points.push(points[n-1]);while(++i<=n){pi=points[i];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py)}points.pop();path.push("L",pi);return path.join("")}function d3_svg_lineBasisOpen(points){if(points.length<4)return d3_svg_lineLinear(points);var path=[],i=-1,n=points.length,pi,px=[0],py=[0];while(++i<3){pi=points[i];px.push(pi[0]);py.push(pi[1])}path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3,px)+","+d3_svg_lineDot4(d3_svg_lineBasisBezier3,py));--i;while(++i<n){pi=points[i];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py)}return path.join("")}function d3_svg_lineBasisClosed(points){var path,i=-1,n=points.length,m=n+4,pi,px=[],py=[];while(++i<4){pi=points[i%n];px.push(pi[0]);py.push(pi[1])}path=[d3_svg_lineDot4(d3_svg_lineBasisBezier3,px),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,py)];--i;while(++i<m){pi=points[i%n];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py)}return path.join("")}function d3_svg_lineBundle(points,tension){var n=points.length-1;if(n){var x0=points[0][0],y0=points[0][1],dx=points[n][0]-x0,dy=points[n][1]-y0,i=-1,p,t;while(++i<=n){p=points[i];t=i/n;p[0]=tension*p[0]+(1-tension)*(x0+t*dx);p[1]=tension*p[1]+(1-tension)*(y0+t*dy)}}return d3_svg_lineBasis(points)}function d3_svg_lineDot4(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}var d3_svg_lineBasisBezier1=[0,2/3,1/3,0],d3_svg_lineBasisBezier2=[0,1/3,2/3,0],d3_svg_lineBasisBezier3=[0,1/6,2/3,1/6];function d3_svg_lineBasisBezier(path,x,y){path.push("C",d3_svg_lineDot4(d3_svg_lineBasisBezier1,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier1,y),",",d3_svg_lineDot4(d3_svg_lineBasisBezier2,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier2,y),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,y))}function d3_svg_lineSlope(p0,p1){return(p1[1]-p0[1])/(p1[0]-p0[0])}function d3_svg_lineFiniteDifferences(points){var i=0,j=points.length-1,m=[],p0=points[0],p1=points[1],d=m[0]=d3_svg_lineSlope(p0,p1);while(++i<j){m[i]=(d+(d=d3_svg_lineSlope(p0=p1,p1=points[i+1])))/2}m[i]=d;return m}function d3_svg_lineMonotoneTangents(points){var tangents=[],d,a,b,s,m=d3_svg_lineFiniteDifferences(points),i=-1,j=points.length-1;while(++i<j){d=d3_svg_lineSlope(points[i],points[i+1]);if(abs(d)<ε){m[i]=m[i+1]=0}else{a=m[i]/d;b=m[i+1]/d;s=a*a+b*b;if(s>9){s=d*3/Math.sqrt(s);m[i]=s*a;m[i+1]=s*b}}}i=-1;while(++i<=j){s=(points[Math.min(j,i+1)][0]-points[Math.max(0,i-1)][0])/(6*(1+m[i]*m[i]));tangents.push([s||0,m[i]*s||0])}return tangents}function d3_svg_lineMonotone(points){return points.length<3?d3_svg_lineLinear(points):points[0]+d3_svg_lineHermite(points,d3_svg_lineMonotoneTangents(points))}d3.svg.line.radial=function(){var line=d3_svg_line(d3_svg_lineRadial);line.radius=line.x,delete line.x;line.angle=line.y,delete line.y;return line};function d3_svg_lineRadial(points){var point,i=-1,n=points.length,r,a;while(++i<n){point=points[i];r=point[0];a=point[1]-halfπ;point[0]=r*Math.cos(a);point[1]=r*Math.sin(a)}return points}function d3_svg_area(projection){var x0=d3_geom_pointX,x1=d3_geom_pointX,y0=0,y1=d3_geom_pointY,defined=d3_true,interpolate=d3_svg_lineLinear,interpolateKey=interpolate.key,interpolateReverse=interpolate,L="L",tension=.7;function area(data){var segments=[],points0=[],points1=[],i=-1,n=data.length,d,fx0=d3_functor(x0),fy0=d3_functor(y0),fx1=x0===x1?function(){return x}:d3_functor(x1),fy1=y0===y1?function(){return y}:d3_functor(y1),x,y;function segment(){segments.push("M",interpolate(projection(points1),tension),L,interpolateReverse(projection(points0.reverse()),tension),"Z")}while(++i<n){if(defined.call(this,d=data[i],i)){points0.push([x=+fx0.call(this,d,i),y=+fy0.call(this,d,i)]);points1.push([+fx1.call(this,d,i),+fy1.call(this,d,i)])}else if(points0.length){segment();points0=[];points1=[]}}if(points0.length)segment();return segments.length?segments.join(""):null}area.x=function(_){if(!arguments.length)return x1;x0=x1=_;return area};area.x0=function(_){if(!arguments.length)return x0;x0=_;return area};area.x1=function(_){if(!arguments.length)return x1;x1=_;return area};area.y=function(_){if(!arguments.length)return y1;y0=y1=_;return area};area.y0=function(_){if(!arguments.length)return y0;y0=_;return area};area.y1=function(_){if(!arguments.length)return y1;y1=_;return area};area.defined=function(_){if(!arguments.length)return defined;defined=_;return area};area.interpolate=function(_){if(!arguments.length)return interpolateKey;if(typeof _==="function")interpolateKey=interpolate=_;else interpolateKey=(interpolate=d3_svg_lineInterpolators.get(_)||d3_svg_lineLinear).key;interpolateReverse=interpolate.reverse||interpolate;L=interpolate.closed?"M":"L";return area};area.tension=function(_){if(!arguments.length)return tension;tension=_;return area};return area}d3_svg_lineStepBefore.reverse=d3_svg_lineStepAfter;d3_svg_lineStepAfter.reverse=d3_svg_lineStepBefore;d3.svg.area=function(){return d3_svg_area(d3_identity)};d3.svg.area.radial=function(){var area=d3_svg_area(d3_svg_lineRadial);area.radius=area.x,delete area.x;area.innerRadius=area.x0,delete area.x0;area.outerRadius=area.x1,delete area.x1;area.angle=area.y,delete area.y;area.startAngle=area.y0,delete area.y0;area.endAngle=area.y1,delete area.y1;return area};function d3_source(d){return d.source}function d3_target(d){return d.target}d3.svg.chord=function(){var source=d3_source,target=d3_target,radius=d3_svg_chordRadius,startAngle=d3_svg_arcStartAngle,endAngle=d3_svg_arcEndAngle;function chord(d,i){var s=subgroup(this,source,d,i),t=subgroup(this,target,d,i);return"M"+s.p0+arc(s.r,s.p1,s.a1-s.a0)+(equals(s,t)?curve(s.r,s.p1,s.r,s.p0):curve(s.r,s.p1,t.r,t.p0)+arc(t.r,t.p1,t.a1-t.a0)+curve(t.r,t.p1,s.r,s.p0))+"Z"}function subgroup(self,f,d,i){var subgroup=f.call(self,d,i),r=radius.call(self,subgroup,i),a0=startAngle.call(self,subgroup,i)-halfπ,a1=endAngle.call(self,subgroup,i)-halfπ;return{r:r,a0:a0,a1:a1,p0:[r*Math.cos(a0),r*Math.sin(a0)],p1:[r*Math.cos(a1),r*Math.sin(a1)]}}function equals(a,b){return a.a0==b.a0&&a.a1==b.a1}function arc(r,p,a){return"A"+r+","+r+" 0 "+ +(a>π)+",1 "+p}function curve(r0,p0,r1,p1){return"Q 0,0 "+p1}chord.radius=function(v){if(!arguments.length)return radius;radius=d3_functor(v);return chord};chord.source=function(v){if(!arguments.length)return source;source=d3_functor(v);return chord};chord.target=function(v){if(!arguments.length)return target;target=d3_functor(v);return chord};chord.startAngle=function(v){if(!arguments.length)return startAngle;startAngle=d3_functor(v);return chord};chord.endAngle=function(v){if(!arguments.length)return endAngle;endAngle=d3_functor(v);return chord};return chord};function d3_svg_chordRadius(d){return d.radius}d3.svg.diagonal=function(){var source=d3_source,target=d3_target,projection=d3_svg_diagonalProjection;function diagonal(d,i){var p0=source.call(this,d,i),p3=target.call(this,d,i),m=(p0.y+p3.y)/2,p=[p0,{x:p0.x,y:m},{x:p3.x,y:m},p3];p=p.map(projection);return"M"+p[0]+"C"+p[1]+" "+p[2]+" "+p[3]}diagonal.source=function(x){if(!arguments.length)return source;source=d3_functor(x);return diagonal};diagonal.target=function(x){if(!arguments.length)return target;target=d3_functor(x);return diagonal};diagonal.projection=function(x){if(!arguments.length)return projection;projection=x;return diagonal};return diagonal};function d3_svg_diagonalProjection(d){return[d.x,d.y]}d3.svg.diagonal.radial=function(){var diagonal=d3.svg.diagonal(),projection=d3_svg_diagonalProjection,projection_=diagonal.projection;diagonal.projection=function(x){return arguments.length?projection_(d3_svg_diagonalRadialProjection(projection=x)):projection};return diagonal};function d3_svg_diagonalRadialProjection(projection){return function(){var d=projection.apply(this,arguments),r=d[0],a=d[1]-halfπ;return[r*Math.cos(a),r*Math.sin(a)]}}d3.svg.symbol=function(){var type=d3_svg_symbolType,size=d3_svg_symbolSize;function symbol(d,i){return(d3_svg_symbols.get(type.call(this,d,i))||d3_svg_symbolCircle)(size.call(this,d,i))}symbol.type=function(x){if(!arguments.length)return type;type=d3_functor(x);return symbol};symbol.size=function(x){if(!arguments.length)return size;size=d3_functor(x);return symbol};return symbol};function d3_svg_symbolSize(){return 64}function d3_svg_symbolType(){return"circle"}function d3_svg_symbolCircle(size){var r=Math.sqrt(size/π);return"M0,"+r+"A"+r+","+r+" 0 1,1 0,"+-r+"A"+r+","+r+" 0 1,1 0,"+r+"Z"}var d3_svg_symbols=d3.map({circle:d3_svg_symbolCircle,cross:function(size){var r=Math.sqrt(size/5)/2;return"M"+-3*r+","+-r+"H"+-r+"V"+-3*r+"H"+r+"V"+-r+"H"+3*r+"V"+r+"H"+r+"V"+3*r+"H"+-r+"V"+r+"H"+-3*r+"Z"},diamond:function(size){var ry=Math.sqrt(size/(2*d3_svg_symbolTan30)),rx=ry*d3_svg_symbolTan30;return"M0,"+-ry+"L"+rx+",0"+" 0,"+ry+" "+-rx+",0"+"Z"},square:function(size){var r=Math.sqrt(size)/2;return"M"+-r+","+-r+"L"+r+","+-r+" "+r+","+r+" "+-r+","+r+"Z"},"triangle-down":function(size){var rx=Math.sqrt(size/d3_svg_symbolSqrt3),ry=rx*d3_svg_symbolSqrt3/2;return"M0,"+ry+"L"+rx+","+-ry+" "+-rx+","+-ry+"Z"},"triangle-up":function(size){var rx=Math.sqrt(size/d3_svg_symbolSqrt3),ry=rx*d3_svg_symbolSqrt3/2;return"M0,"+-ry+"L"+rx+","+ry+" "+-rx+","+ry+"Z"}});d3.svg.symbolTypes=d3_svg_symbols.keys();var d3_svg_symbolSqrt3=Math.sqrt(3),d3_svg_symbolTan30=Math.tan(30*d3_radians);d3_selectionPrototype.transition=function(name){var id=d3_transitionInheritId||++d3_transitionId,ns=d3_transitionNamespace(name),subgroups=[],subgroup,node,transition=d3_transitionInherit||{time:Date.now(),ease:d3_ease_cubicInOut,delay:0,duration:250};for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i])d3_transitionNode(node,i,ns,id,transition);subgroup.push(node)}}return d3_transition(subgroups,ns,id)};d3_selectionPrototype.interrupt=function(name){return this.each(name==null?d3_selection_interrupt:d3_selection_interruptNS(d3_transitionNamespace(name)))};var d3_selection_interrupt=d3_selection_interruptNS(d3_transitionNamespace());function d3_selection_interruptNS(ns){return function(){var lock,activeId,active;if((lock=this[ns])&&(active=lock[activeId=lock.active])){active.timer.c=null;active.timer.t=NaN;if(--lock.count)delete lock[activeId];else delete this[ns];lock.active+=.5;active.event&&active.event.interrupt.call(this,this.__data__,active.index)}}}function d3_transition(groups,ns,id){d3_subclass(groups,d3_transitionPrototype);groups.namespace=ns;groups.id=id;return groups}var d3_transitionPrototype=[],d3_transitionId=0,d3_transitionInheritId,d3_transitionInherit;d3_transitionPrototype.call=d3_selectionPrototype.call;d3_transitionPrototype.empty=d3_selectionPrototype.empty;d3_transitionPrototype.node=d3_selectionPrototype.node;d3_transitionPrototype.size=d3_selectionPrototype.size;d3.transition=function(selection,name){return selection&&selection.transition?d3_transitionInheritId?selection.transition(name):selection:d3.selection().transition(selection)};d3.transition.prototype=d3_transitionPrototype;d3_transitionPrototype.select=function(selector){var id=this.id,ns=this.namespace,subgroups=[],subgroup,subnode,node;selector=d3_selection_selector(selector);for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);for(var group=this[j],i=-1,n=group.length;++i<n;){if((node=group[i])&&(subnode=selector.call(node,node.__data__,i,j))){if("__data__"in node)subnode.__data__=node.__data__;d3_transitionNode(subnode,i,ns,id,node[ns][id]);subgroup.push(subnode)}else{subgroup.push(null)}}}return d3_transition(subgroups,ns,id)};d3_transitionPrototype.selectAll=function(selector){var id=this.id,ns=this.namespace,subgroups=[],subgroup,subnodes,node,subnode,transition;selector=d3_selection_selectorAll(selector);for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i]){transition=node[ns][id];subnodes=selector.call(node,node.__data__,i,j);subgroups.push(subgroup=[]);for(var k=-1,o=subnodes.length;++k<o;){if(subnode=subnodes[k])d3_transitionNode(subnode,k,ns,id,transition);subgroup.push(subnode)}}}}return d3_transition(subgroups,ns,id)};d3_transitionPrototype.filter=function(filter){var subgroups=[],subgroup,group,node;if(typeof filter!=="function")filter=d3_selection_filter(filter);for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);for(var group=this[j],i=0,n=group.length;i<n;i++){if((node=group[i])&&filter.call(node,node.__data__,i,j)){subgroup.push(node)}}}return d3_transition(subgroups,this.namespace,this.id)};d3_transitionPrototype.tween=function(name,tween){var id=this.id,ns=this.namespace;if(arguments.length<2)return this.node()[ns][id].tween.get(name);return d3_selection_each(this,tween==null?function(node){node[ns][id].tween.remove(name)}:function(node){node[ns][id].tween.set(name,tween)})};function d3_transition_tween(groups,name,value,tween){var id=groups.id,ns=groups.namespace;return d3_selection_each(groups,typeof value==="function"?function(node,i,j){node[ns][id].tween.set(name,tween(value.call(node,node.__data__,i,j)))}:(value=tween(value),function(node){node[ns][id].tween.set(name,value)}))}d3_transitionPrototype.attr=function(nameNS,value){if(arguments.length<2){for(value in nameNS)this.attr(value,nameNS[value]);return this}var interpolate=nameNS=="transform"?d3_interpolateTransform:d3_interpolate,name=d3.ns.qualify(nameNS);function attrNull(){this.removeAttribute(name)}function attrNullNS(){this.removeAttributeNS(name.space,name.local)}function attrTween(b){return b==null?attrNull:(b+="",function(){var a=this.getAttribute(name),i;return a!==b&&(i=interpolate(a,b),function(t){this.setAttribute(name,i(t))})})}function attrTweenNS(b){return b==null?attrNullNS:(b+="",function(){var a=this.getAttributeNS(name.space,name.local),i;return a!==b&&(i=interpolate(a,b),function(t){this.setAttributeNS(name.space,name.local,i(t))})})}return d3_transition_tween(this,"attr."+nameNS,value,name.local?attrTweenNS:attrTween)};d3_transitionPrototype.attrTween=function(nameNS,tween){var name=d3.ns.qualify(nameNS);function attrTween(d,i){var f=tween.call(this,d,i,this.getAttribute(name));return f&&function(t){this.setAttribute(name,f(t))}}function attrTweenNS(d,i){var f=tween.call(this,d,i,this.getAttributeNS(name.space,name.local));return f&&function(t){this.setAttributeNS(name.space,name.local,f(t))}}return this.tween("attr."+nameNS,name.local?attrTweenNS:attrTween)};d3_transitionPrototype.style=function(name,value,priority){var n=arguments.length;if(n<3){if(typeof name!=="string"){if(n<2)value="";for(priority in name)this.style(priority,name[priority],value);return this}priority=""}function styleNull(){this.style.removeProperty(name)}function styleString(b){return b==null?styleNull:(b+="",function(){var a=d3_window(this).getComputedStyle(this,null).getPropertyValue(name),i;return a!==b&&(i=d3_interpolate(a,b),function(t){this.style.setProperty(name,i(t),priority)})})}return d3_transition_tween(this,"style."+name,value,styleString)};d3_transitionPrototype.styleTween=function(name,tween,priority){if(arguments.length<3)priority="";function styleTween(d,i){var f=tween.call(this,d,i,d3_window(this).getComputedStyle(this,null).getPropertyValue(name));return f&&function(t){this.style.setProperty(name,f(t),priority)}}return this.tween("style."+name,styleTween)};d3_transitionPrototype.text=function(value){return d3_transition_tween(this,"text",value,d3_transition_text)};function d3_transition_text(b){if(b==null)b="";return function(){this.textContent=b}}d3_transitionPrototype.remove=function(){var ns=this.namespace;return this.each("end.transition",(function(){var p;if(this[ns].count<2&&(p=this.parentNode))p.removeChild(this)}))};d3_transitionPrototype.ease=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].ease;if(typeof value!=="function")value=d3.ease.apply(d3,arguments);return d3_selection_each(this,(function(node){node[ns][id].ease=value}))};d3_transitionPrototype.delay=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].delay;return d3_selection_each(this,typeof value==="function"?function(node,i,j){node[ns][id].delay=+value.call(node,node.__data__,i,j)}:(value=+value,function(node){node[ns][id].delay=value}))};d3_transitionPrototype.duration=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].duration;return d3_selection_each(this,typeof value==="function"?function(node,i,j){node[ns][id].duration=Math.max(1,value.call(node,node.__data__,i,j))}:(value=Math.max(1,value),function(node){node[ns][id].duration=value}))};d3_transitionPrototype.each=function(type,listener){var id=this.id,ns=this.namespace;if(arguments.length<2){var inherit=d3_transitionInherit,inheritId=d3_transitionInheritId;try{d3_transitionInheritId=id;d3_selection_each(this,(function(node,i,j){d3_transitionInherit=node[ns][id];type.call(node,node.__data__,i,j)}))}finally{d3_transitionInherit=inherit;d3_transitionInheritId=inheritId}}else{d3_selection_each(this,(function(node){var transition=node[ns][id];(transition.event||(transition.event=d3.dispatch("start","end","interrupt"))).on(type,listener)}))}return this};d3_transitionPrototype.transition=function(){var id0=this.id,id1=++d3_transitionId,ns=this.namespace,subgroups=[],subgroup,group,node,transition;for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);for(var group=this[j],i=0,n=group.length;i<n;i++){if(node=group[i]){transition=node[ns][id0];d3_transitionNode(node,i,ns,id1,{time:transition.time,ease:transition.ease,delay:transition.delay+transition.duration,duration:transition.duration})}subgroup.push(node)}}return d3_transition(subgroups,ns,id1)};function d3_transitionNamespace(name){return name==null?"__transition__":"__transition_"+name+"__"}function d3_transitionNode(node,i,ns,id,inherit){var lock=node[ns]||(node[ns]={active:0,count:0}),transition=lock[id],time,timer,duration,ease,tweens;function schedule(elapsed){var delay=transition.delay;timer.t=delay+time;if(delay<=elapsed)return start(elapsed-delay);timer.c=start}function start(elapsed){var activeId=lock.active,active=lock[activeId];if(active){active.timer.c=null;active.timer.t=NaN;--lock.count;delete lock[activeId];active.event&&active.event.interrupt.call(node,node.__data__,active.index)}for(var cancelId in lock){if(+cancelId<id){var cancel=lock[cancelId];cancel.timer.c=null;cancel.timer.t=NaN;--lock.count;delete lock[cancelId]}}timer.c=tick;d3_timer((function(){if(timer.c&&tick(elapsed||1)){timer.c=null;timer.t=NaN}return 1}),0,time);lock.active=id;transition.event&&transition.event.start.call(node,node.__data__,i);tweens=[];transition.tween.forEach((function(key,value){if(value=value.call(node,node.__data__,i)){tweens.push(value)}}));ease=transition.ease;duration=transition.duration}function tick(elapsed){var t=elapsed/duration,e=ease(t),n=tweens.length;while(n>0){tweens[--n].call(node,e)}if(t>=1){transition.event&&transition.event.end.call(node,node.__data__,i);if(--lock.count)delete lock[id];else delete node[ns];return 1}}if(!transition){time=inherit.time;timer=d3_timer(schedule,0,time);transition=lock[id]={tween:new d3_Map,time:time,timer:timer,delay:inherit.delay,duration:inherit.duration,ease:inherit.ease,index:i};inherit=null;++lock.count}}d3.svg.axis=function(){var scale=d3.scale.linear(),orient=d3_svg_axisDefaultOrient,innerTickSize=6,outerTickSize=6,tickPadding=3,tickArguments_=[10],tickValues=null,tickFormat_;function axis(g){g.each((function(){var g=d3.select(this);var scale0=this.__chart__||scale,scale1=this.__chart__=scale.copy();var ticks=tickValues==null?scale1.ticks?scale1.ticks.apply(scale1,tickArguments_):scale1.domain():tickValues,tickFormat=tickFormat_==null?scale1.tickFormat?scale1.tickFormat.apply(scale1,tickArguments_):d3_identity:tickFormat_,tick=g.selectAll(".tick").data(ticks,scale1),tickEnter=tick.enter().insert("g",".domain").attr("class","tick").style("opacity",ε),tickExit=d3.transition(tick.exit()).style("opacity",ε).remove(),tickUpdate=d3.transition(tick.order()).style("opacity",1),tickSpacing=Math.max(innerTickSize,0)+tickPadding,tickTransform;var range=d3_scaleRange(scale1),path=g.selectAll(".domain").data([0]),pathUpdate=(path.enter().append("path").attr("class","domain"),d3.transition(path));tickEnter.append("line");tickEnter.append("text");var lineEnter=tickEnter.select("line"),lineUpdate=tickUpdate.select("line"),text=tick.select("text").text(tickFormat),textEnter=tickEnter.select("text"),textUpdate=tickUpdate.select("text"),sign=orient==="top"||orient==="left"?-1:1,x1,x2,y1,y2;if(orient==="bottom"||orient==="top"){tickTransform=d3_svg_axisX,x1="x",y1="y",x2="x2",y2="y2";text.attr("dy",sign<0?"0em":".71em").style("text-anchor","middle");pathUpdate.attr("d","M"+range[0]+","+sign*outerTickSize+"V0H"+range[1]+"V"+sign*outerTickSize)}else{tickTransform=d3_svg_axisY,x1="y",y1="x",x2="y2",y2="x2";text.attr("dy",".32em").style("text-anchor",sign<0?"end":"start");pathUpdate.attr("d","M"+sign*outerTickSize+","+range[0]+"H0V"+range[1]+"H"+sign*outerTickSize)}lineEnter.attr(y2,sign*innerTickSize);textEnter.attr(y1,sign*tickSpacing);lineUpdate.attr(x2,0).attr(y2,sign*innerTickSize);textUpdate.attr(x1,0).attr(y1,sign*tickSpacing);if(scale1.rangeBand){var x=scale1,dx=x.rangeBand()/2;scale0=scale1=function(d){return x(d)+dx}}else if(scale0.rangeBand){scale0=scale1}else{tickExit.call(tickTransform,scale1,scale0)}tickEnter.call(tickTransform,scale0,scale1);tickUpdate.call(tickTransform,scale1,scale1)}))}axis.scale=function(x){if(!arguments.length)return scale;scale=x;return axis};axis.orient=function(x){if(!arguments.length)return orient;orient=x in d3_svg_axisOrients?x+"":d3_svg_axisDefaultOrient;return axis};axis.ticks=function(){if(!arguments.length)return tickArguments_;tickArguments_=d3_array(arguments);return axis};axis.tickValues=function(x){if(!arguments.length)return tickValues;tickValues=x;return axis};axis.tickFormat=function(x){if(!arguments.length)return tickFormat_;tickFormat_=x;return axis};axis.tickSize=function(x){var n=arguments.length;if(!n)return innerTickSize;innerTickSize=+x;outerTickSize=+arguments[n-1];return axis};axis.innerTickSize=function(x){if(!arguments.length)return innerTickSize;innerTickSize=+x;return axis};axis.outerTickSize=function(x){if(!arguments.length)return outerTickSize;outerTickSize=+x;return axis};axis.tickPadding=function(x){if(!arguments.length)return tickPadding;tickPadding=+x;return axis};axis.tickSubdivide=function(){return arguments.length&&axis};return axis};var d3_svg_axisDefaultOrient="bottom",d3_svg_axisOrients={top:1,right:1,bottom:1,left:1};function d3_svg_axisX(selection,x0,x1){selection.attr("transform",(function(d){var v0=x0(d);return"translate("+(isFinite(v0)?v0:x1(d))+",0)"}))}function d3_svg_axisY(selection,y0,y1){selection.attr("transform",(function(d){var v0=y0(d);return"translate(0,"+(isFinite(v0)?v0:y1(d))+")"}))}d3.svg.brush=function(){var event=d3_eventDispatch(brush,"brushstart","brush","brushend"),x=null,y=null,xExtent=[0,0],yExtent=[0,0],xExtentDomain,yExtentDomain,xClamp=true,yClamp=true,resizes=d3_svg_brushResizes[0];function brush(g){g.each((function(){var g=d3.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",brushstart).on("touchstart.brush",brushstart);var background=g.selectAll(".background").data([0]);background.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair");g.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var resize=g.selectAll(".resize").data(resizes,d3_identity);resize.exit().remove();resize.enter().append("g").attr("class",(function(d){return"resize "+d})).style("cursor",(function(d){return d3_svg_brushCursor[d]})).append("rect").attr("x",(function(d){return/[ew]$/.test(d)?-3:null})).attr("y",(function(d){return/^[ns]/.test(d)?-3:null})).attr("width",6).attr("height",6).style("visibility","hidden");resize.style("display",brush.empty()?"none":null);var gUpdate=d3.transition(g),backgroundUpdate=d3.transition(background),range;if(x){range=d3_scaleRange(x);backgroundUpdate.attr("x",range[0]).attr("width",range[1]-range[0]);redrawX(gUpdate)}if(y){range=d3_scaleRange(y);backgroundUpdate.attr("y",range[0]).attr("height",range[1]-range[0]);redrawY(gUpdate)}redraw(gUpdate)}))}brush.event=function(g){g.each((function(){var event_=event.of(this,arguments),extent1={x:xExtent,y:yExtent,i:xExtentDomain,j:yExtentDomain},extent0=this.__chart__||extent1;this.__chart__=extent1;if(d3_transitionInheritId){d3.select(this).transition().each("start.brush",(function(){xExtentDomain=extent0.i;yExtentDomain=extent0.j;xExtent=extent0.x;yExtent=extent0.y;event_({type:"brushstart"})})).tween("brush:brush",(function(){var xi=d3_interpolateArray(xExtent,extent1.x),yi=d3_interpolateArray(yExtent,extent1.y);xExtentDomain=yExtentDomain=null;return function(t){xExtent=extent1.x=xi(t);yExtent=extent1.y=yi(t);event_({type:"brush",mode:"resize"})}})).each("end.brush",(function(){xExtentDomain=extent1.i;yExtentDomain=extent1.j;event_({type:"brush",mode:"resize"});event_({type:"brushend"})}))}else{event_({type:"brushstart"});event_({type:"brush",mode:"resize"});event_({type:"brushend"})}}))};function redraw(g){g.selectAll(".resize").attr("transform",(function(d){return"translate("+xExtent[+/e$/.test(d)]+","+yExtent[+/^s/.test(d)]+")"}))}function redrawX(g){g.select(".extent").attr("x",xExtent[0]);g.selectAll(".extent,.n>rect,.s>rect").attr("width",xExtent[1]-xExtent[0])}function redrawY(g){g.select(".extent").attr("y",yExtent[0]);g.selectAll(".extent,.e>rect,.w>rect").attr("height",yExtent[1]-yExtent[0])}function brushstart(){var target=this,eventTarget=d3.select(d3.event.target),event_=event.of(target,arguments),g=d3.select(target),resizing=eventTarget.datum(),resizingX=!/^(n|s)$/.test(resizing)&&x,resizingY=!/^(e|w)$/.test(resizing)&&y,dragging=eventTarget.classed("extent"),dragRestore=d3_event_dragSuppress(target),center,origin=d3.mouse(target),offset;var w=d3.select(d3_window(target)).on("keydown.brush",keydown).on("keyup.brush",keyup);if(d3.event.changedTouches){w.on("touchmove.brush",brushmove).on("touchend.brush",brushend)}else{w.on("mousemove.brush",brushmove).on("mouseup.brush",brushend)}g.interrupt().selectAll("*").interrupt();if(dragging){origin[0]=xExtent[0]-origin[0];origin[1]=yExtent[0]-origin[1]}else if(resizing){var ex=+/w$/.test(resizing),ey=+/^n/.test(resizing);offset=[xExtent[1-ex]-origin[0],yExtent[1-ey]-origin[1]];origin[0]=xExtent[ex];origin[1]=yExtent[ey]}else if(d3.event.altKey)center=origin.slice();g.style("pointer-events","none").selectAll(".resize").style("display",null);d3.select("body").style("cursor",eventTarget.style("cursor"));event_({type:"brushstart"});brushmove();function keydown(){if(d3.event.keyCode==32){if(!dragging){center=null;origin[0]-=xExtent[1];origin[1]-=yExtent[1];dragging=2}d3_eventPreventDefault()}}function keyup(){if(d3.event.keyCode==32&&dragging==2){origin[0]+=xExtent[1];origin[1]+=yExtent[1];dragging=0;d3_eventPreventDefault()}}function brushmove(){var point=d3.mouse(target),moved=false;if(offset){point[0]+=offset[0];point[1]+=offset[1]}if(!dragging){if(d3.event.altKey){if(!center)center=[(xExtent[0]+xExtent[1])/2,(yExtent[0]+yExtent[1])/2];origin[0]=xExtent[+(point[0]<center[0])];origin[1]=yExtent[+(point[1]<center[1])]}else center=null}if(resizingX&&move1(point,x,0)){redrawX(g);moved=true}if(resizingY&&move1(point,y,1)){redrawY(g);moved=true}if(moved){redraw(g);event_({type:"brush",mode:dragging?"move":"resize"})}}function move1(point,scale,i){var range=d3_scaleRange(scale),r0=range[0],r1=range[1],position=origin[i],extent=i?yExtent:xExtent,size=extent[1]-extent[0],min,max;if(dragging){r0-=position;r1-=size+position}min=(i?yClamp:xClamp)?Math.max(r0,Math.min(r1,point[i])):point[i];if(dragging){max=(min+=position)+size}else{if(center)position=Math.max(r0,Math.min(r1,2*center[i]-min));if(position<min){max=min;min=position}else{max=position}}if(extent[0]!=min||extent[1]!=max){if(i)yExtentDomain=null;else xExtentDomain=null;extent[0]=min;extent[1]=max;return true}}function brushend(){brushmove();g.style("pointer-events","all").selectAll(".resize").style("display",brush.empty()?"none":null);d3.select("body").style("cursor",null);w.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null);dragRestore();event_({type:"brushend"})}}brush.x=function(z){if(!arguments.length)return x;x=z;resizes=d3_svg_brushResizes[!x<<1|!y];return brush};brush.y=function(z){if(!arguments.length)return y;y=z;resizes=d3_svg_brushResizes[!x<<1|!y];return brush};brush.clamp=function(z){if(!arguments.length)return x&&y?[xClamp,yClamp]:x?xClamp:y?yClamp:null;if(x&&y)xClamp=!!z[0],yClamp=!!z[1];else if(x)xClamp=!!z;else if(y)yClamp=!!z;return brush};brush.extent=function(z){var x0,x1,y0,y1,t;if(!arguments.length){if(x){if(xExtentDomain){x0=xExtentDomain[0],x1=xExtentDomain[1]}else{x0=xExtent[0],x1=xExtent[1];if(x.invert)x0=x.invert(x0),x1=x.invert(x1);if(x1<x0)t=x0,x0=x1,x1=t}}if(y){if(yExtentDomain){y0=yExtentDomain[0],y1=yExtentDomain[1]}else{y0=yExtent[0],y1=yExtent[1];if(y.invert)y0=y.invert(y0),y1=y.invert(y1);if(y1<y0)t=y0,y0=y1,y1=t}}return x&&y?[[x0,y0],[x1,y1]]:x?[x0,x1]:y&&[y0,y1]}if(x){x0=z[0],x1=z[1];if(y)x0=x0[0],x1=x1[0];xExtentDomain=[x0,x1];if(x.invert)x0=x(x0),x1=x(x1);if(x1<x0)t=x0,x0=x1,x1=t;if(x0!=xExtent[0]||x1!=xExtent[1])xExtent=[x0,x1]}if(y){y0=z[0],y1=z[1];if(x)y0=y0[1],y1=y1[1];yExtentDomain=[y0,y1];if(y.invert)y0=y(y0),y1=y(y1);if(y1<y0)t=y0,y0=y1,y1=t;if(y0!=yExtent[0]||y1!=yExtent[1])yExtent=[y0,y1]}return brush};brush.clear=function(){if(!brush.empty()){xExtent=[0,0],yExtent=[0,0];xExtentDomain=yExtentDomain=null}return brush};brush.empty=function(){return!!x&&xExtent[0]==xExtent[1]||!!y&&yExtent[0]==yExtent[1]};return d3.rebind(brush,event,"on")};var d3_svg_brushCursor={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"};var d3_svg_brushResizes=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]];d3.text=d3_xhrType((function(request){return request.responseText}));d3.json=function(url,callback){return d3_xhr(url,"application/json",d3_json,callback)};function d3_json(request){return JSON.parse(request.responseText)}d3.html=function(url,callback){return d3_xhr(url,"text/html",d3_html,callback)};function d3_html(request){var range=d3_document.createRange();range.selectNode(d3_document.body);return range.createContextualFragment(request.responseText)}d3.xml=d3_xhrType((function(request){return request.responseXML}));if(typeof define==="function"&&define.amd)this.d3=d3,define(d3);else if(typeof module==="object"&&module.exports)module.exports=d3;else this.d3=d3}.apply(self)},{}],59:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./quad")},{"./quad":60}],60:[function(_dereq_,module,exports){"use strict";var search=_dereq_("binary-search-bounds");var clamp=_dereq_("clamp");var rect=_dereq_("parse-rect");var getBounds=_dereq_("array-bounds");var pick=_dereq_("pick-by-alias");var defined=_dereq_("defined");var flatten=_dereq_("flatten-vertex-data");var isObj=_dereq_("is-obj");var dtype=_dereq_("dtype");var log2=_dereq_("math-log2");var MAX_GROUP_ID=1073741824;module.exports=function cluster(srcPoints,options){if(!options){options={}}srcPoints=flatten(srcPoints,"float64");options=pick(options,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});var maxDepth=defined(options.maxDepth,255);var bounds=defined(options.bounds,getBounds(srcPoints,2));if(bounds[0]===bounds[2]){bounds[2]++}if(bounds[1]===bounds[3]){bounds[3]++}var points=normalize(srcPoints,bounds);var n=srcPoints.length>>>1;var ids;if(!options.dtype){options.dtype="array"}if(typeof options.dtype==="string"){ids=new(dtype(options.dtype))(n)}else if(options.dtype){ids=options.dtype;if(Array.isArray(ids)){ids.length=n}}for(var i=0;i<n;++i){ids[i]=i}var levels=[];var sublevels=[];var groups=[];var offsets=[];sort(0,0,1,ids,0,1);var offset=0;for(var level=0;level<levels.length;level++){var levelItems=levels[level];if(ids.set){ids.set(levelItems,offset)}else{for(var i$1=0,l=levelItems.length;i$1<l;i$1++){ids[i$1+offset]=levelItems[i$1]}}var nextOffset=offset+levels[level].length;offsets[level]=[offset,nextOffset];offset=nextOffset}ids.range=range;return ids;function sort(x,y,diam,ids,level,group){if(!ids.length){return null}var levelItems=levels[level]||(levels[level]=[]);var levelGroups=groups[level]||(groups[level]=[]);var sublevel=sublevels[level]||(sublevels[level]=[]);var offset=levelItems.length;level++;if(level>maxDepth||group>MAX_GROUP_ID){for(var i=0;i<ids.length;i++){levelItems.push(ids[i]);levelGroups.push(group);sublevel.push(null,null,null,null)}return offset}levelItems.push(ids[0]);levelGroups.push(group);if(ids.length<=1){sublevel.push(null,null,null,null);return offset}var d2=diam*.5;var cx=x+d2,cy=y+d2;var lolo=[],lohi=[],hilo=[],hihi=[];for(var i$1=1,l=ids.length;i$1<l;i$1++){var idx=ids[i$1],x$1=points[idx*2],y$1=points[idx*2+1];x$1<cx?y$1<cy?lolo.push(idx):lohi.push(idx):y$1<cy?hilo.push(idx):hihi.push(idx)}group<<=2;sublevel.push(sort(x,y,d2,lolo,level,group),sort(x,cy,d2,lohi,level,group+1),sort(cx,y,d2,hilo,level,group+2),sort(cx,cy,d2,hihi,level,group+3));return offset}function range(){var args=[],len=arguments.length;while(len--)args[len]=arguments[len];var options;if(isObj(args[args.length-1])){var arg=args.pop();if(!args.length&&(arg.x!=null||arg.l!=null||arg.left!=null)){args=[arg];options={}}options=pick(arg,{level:"level maxLevel",d:"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize",lod:"lod details ranges offsets"})}else{options={}}if(!args.length){args=bounds}var box=rect.apply(void 0,args);var ref=[Math.min(box.x,box.x+box.width),Math.min(box.y,box.y+box.height),Math.max(box.x,box.x+box.width),Math.max(box.y,box.y+box.height)];var minX=ref[0];var minY=ref[1];var maxX=ref[2];var maxY=ref[3];var ref$1=normalize([minX,minY,maxX,maxY],bounds);var nminX=ref$1[0];var nminY=ref$1[1];var nmaxX=ref$1[2];var nmaxY=ref$1[3];var maxLevel=defined(options.level,levels.length);if(options.d!=null){var d;if(typeof options.d==="number"){d=[options.d,options.d]}else if(options.d.length){d=options.d}maxLevel=Math.min(Math.max(Math.ceil(-log2(Math.abs(d[0])/(bounds[2]-bounds[0]))),Math.ceil(-log2(Math.abs(d[1])/(bounds[3]-bounds[1])))),maxLevel)}maxLevel=Math.min(maxLevel,levels.length);if(options.lod){return lod(nminX,nminY,nmaxX,nmaxY,maxLevel)}var selection=[];select(0,0,1,0,0,1);function select(lox,loy,d,level,from,to){if(from===null||to===null){return}var hix=lox+d;var hiy=loy+d;if(nminX>hix||nminY>hiy||nmaxX<lox||nmaxY<loy){return}if(level>=maxLevel){return}if(from===to){return}var levelItems=levels[level];if(to===undefined){to=levelItems.length}for(var i=from;i<to;i++){var id=levelItems[i];var px=srcPoints[id*2];var py=srcPoints[id*2+1];if(px>=minX&&px<=maxX&&py>=minY&&py<=maxY){selection.push(id)}}var offsets=sublevels[level];var off0=offsets[from*4+0];var off1=offsets[from*4+1];var off2=offsets[from*4+2];var off3=offsets[from*4+3];var end=nextOffset(offsets,from+1);var d2=d*.5;var nextLevel=level+1;select(lox,loy,d2,nextLevel,off0,off1||off2||off3||end);select(lox,loy+d2,d2,nextLevel,off1,off2||off3||end);select(lox+d2,loy,d2,nextLevel,off2,off3||end);select(lox+d2,loy+d2,d2,nextLevel,off3,end)}function nextOffset(offsets,from){var offset=null,i=0;while(offset===null){offset=offsets[from*4+i];i++;if(i>offsets.length){return null}}return offset}return selection}function lod(lox,loy,hix,hiy,maxLevel){var ranges=[];for(var level=0;level<maxLevel;level++){var levelGroups=groups[level];var from=offsets[level][0];var levelGroupStart=group(lox,loy,level);var levelGroupEnd=group(hix,hiy,level);var startOffset=search.ge(levelGroups,levelGroupStart);var endOffset=search.gt(levelGroups,levelGroupEnd,startOffset,levelGroups.length-1);ranges[level]=[startOffset+from,endOffset+from]}return ranges}function group(x,y,level){var group=1;var cx=.5,cy=.5;var diam=.5;for(var i=0;i<level;i++){group<<=2;group+=x<cx?y<cy?0:1:y<cy?2:3;diam*=.5;cx+=x<cx?-diam:diam;cy+=y<cy?-diam:diam}return group}};function normalize(pts,bounds){var lox=bounds[0];var loy=bounds[1];var hix=bounds[2];var hiy=bounds[3];var scaleX=1/(hix-lox);var scaleY=1/(hiy-loy);var result=new Array(pts.length);for(var i=0,n=pts.length/2;i<n;i++){result[2*i]=clamp((pts[2*i]-lox)*scaleX,0,1);result[2*i+1]=clamp((pts[2*i+1]-loy)*scaleY,0,1)}return result}},{"array-bounds":76,"binary-search-bounds":103,clamp:126,defined:179,dtype:184,"flatten-vertex-data":252,"is-obj":456,"math-log2":467,"parse-rect":492,"pick-by-alias":498}],61:[function(_dereq_,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var meta_1=_dereq_("@turf/meta");var RADIUS=6378137;function area(geojson){return meta_1.geomReduce(geojson,(function(value,geom){return value+calculateArea(geom)}),0)}exports.default=area;function calculateArea(geom){var total=0;var i;switch(geom.type){case"Polygon":return polygonArea(geom.coordinates);case"MultiPolygon":for(i=0;i<geom.coordinates.length;i++){total+=polygonArea(geom.coordinates[i])}return total;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function polygonArea(coords){var total=0;if(coords&&coords.length>0){total+=Math.abs(ringArea(coords[0]));for(var i=1;i<coords.length;i++){total-=Math.abs(ringArea(coords[i]))}}return total}function ringArea(coords){var p1;var p2;var p3;var lowerIndex;var middleIndex;var upperIndex;var i;var total=0;var coordsLength=coords.length;if(coordsLength>2){for(i=0;i<coordsLength;i++){if(i===coordsLength-2){lowerIndex=coordsLength-2;middleIndex=coordsLength-1;upperIndex=0}else if(i===coordsLength-1){lowerIndex=coordsLength-1;middleIndex=0;upperIndex=1}else{lowerIndex=i;middleIndex=i+1;upperIndex=i+2}p1=coords[lowerIndex];p2=coords[middleIndex];p3=coords[upperIndex];total+=(rad(p3[0])-rad(p1[0]))*Math.sin(rad(p2[1]))}total=total*RADIUS*RADIUS/2}return total}function rad(num){return num*Math.PI/180}},{"@turf/meta":63}],62:[function(_dereq_,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.earthRadius=6371008.8;exports.factors={centimeters:exports.earthRadius*100,centimetres:exports.earthRadius*100,degrees:exports.earthRadius/111325,feet:exports.earthRadius*3.28084,inches:exports.earthRadius*39.37,kilometers:exports.earthRadius/1e3,kilometres:exports.earthRadius/1e3,meters:exports.earthRadius,metres:exports.earthRadius,miles:exports.earthRadius/1609.344,millimeters:exports.earthRadius*1e3,millimetres:exports.earthRadius*1e3,nauticalmiles:exports.earthRadius/1852,radians:1,yards:exports.earthRadius*1.0936};exports.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/exports.earthRadius,yards:1.0936133};exports.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function feature(geom,properties,options){if(options===void 0){options={}}var feat={type:"Feature"};if(options.id===0||options.id){feat.id=options.id}if(options.bbox){feat.bbox=options.bbox}feat.properties=properties||{};feat.geometry=geom;return feat}exports.feature=feature;function geometry(type,coordinates,_options){if(_options===void 0){_options={}}switch(type){case"Point":return point(coordinates).geometry;case"LineString":return lineString(coordinates).geometry;case"Polygon":return polygon(coordinates).geometry;case"MultiPoint":return multiPoint(coordinates).geometry;case"MultiLineString":return multiLineString(coordinates).geometry;case"MultiPolygon":return multiPolygon(coordinates).geometry;default:throw new Error(type+" is invalid")}}exports.geometry=geometry;function point(coordinates,properties,options){if(options===void 0){options={}}if(!coordinates){throw new Error("coordinates is required")}if(!Array.isArray(coordinates)){throw new Error("coordinates must be an Array")}if(coordinates.length<2){throw new Error("coordinates must be at least 2 numbers long")}if(!isNumber(coordinates[0])||!isNumber(coordinates[1])){throw new Error("coordinates must contain numbers")}var geom={type:"Point",coordinates:coordinates};return feature(geom,properties,options)}exports.point=point;function points(coordinates,properties,options){if(options===void 0){options={}}return featureCollection(coordinates.map((function(coords){return point(coords,properties)})),options)}exports.points=points;function polygon(coordinates,properties,options){if(options===void 0){options={}}for(var _i=0,coordinates_1=coordinates;_i<coordinates_1.length;_i++){var ring=coordinates_1[_i];if(ring.length<4){throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.")}for(var j=0;j<ring[ring.length-1].length;j++){if(ring[ring.length-1][j]!==ring[0][j]){throw new Error("First and last Position are not equivalent.")}}}var geom={type:"Polygon",coordinates:coordinates};return feature(geom,properties,options)}exports.polygon=polygon;function polygons(coordinates,properties,options){if(options===void 0){options={}}return featureCollection(coordinates.map((function(coords){return polygon(coords,properties)})),options)}exports.polygons=polygons;function lineString(coordinates,properties,options){if(options===void 0){options={}}if(coordinates.length<2){throw new Error("coordinates must be an array of two or more positions")}var geom={type:"LineString",coordinates:coordinates};return feature(geom,properties,options)}exports.lineString=lineString;function lineStrings(coordinates,properties,options){if(options===void 0){options={}}return featureCollection(coordinates.map((function(coords){return lineString(coords,properties)})),options)}exports.lineStrings=lineStrings;function featureCollection(features,options){if(options===void 0){options={}}var fc={type:"FeatureCollection"};if(options.id){fc.id=options.id}if(options.bbox){fc.bbox=options.bbox}fc.features=features;return fc}exports.featureCollection=featureCollection;function multiLineString(coordinates,properties,options){if(options===void 0){options={}}var geom={type:"MultiLineString",coordinates:coordinates};return feature(geom,properties,options)}exports.multiLineString=multiLineString;function multiPoint(coordinates,properties,options){if(options===void 0){options={}}var geom={type:"MultiPoint",coordinates:coordinates};return feature(geom,properties,options)}exports.multiPoint=multiPoint;function multiPolygon(coordinates,properties,options){if(options===void 0){options={}}var geom={type:"MultiPolygon",coordinates:coordinates};return feature(geom,properties,options)}exports.multiPolygon=multiPolygon;function geometryCollection(geometries,properties,options){if(options===void 0){options={}}var geom={type:"GeometryCollection",geometries:geometries};return feature(geom,properties,options)}exports.geometryCollection=geometryCollection;function round(num,precision){if(precision===void 0){precision=0}if(precision&&!(precision>=0)){throw new Error("precision must be a positive number")}var multiplier=Math.pow(10,precision||0);return Math.round(num*multiplier)/multiplier}exports.round=round;function radiansToLength(radians,units){if(units===void 0){units="kilometers"}var factor=exports.factors[units];if(!factor){throw new Error(units+" units is invalid")}return radians*factor}exports.radiansToLength=radiansToLength;function lengthToRadians(distance,units){if(units===void 0){units="kilometers"}var factor=exports.factors[units];if(!factor){throw new Error(units+" units is invalid")}return distance/factor}exports.lengthToRadians=lengthToRadians;function lengthToDegrees(distance,units){return radiansToDegrees(lengthToRadians(distance,units))}exports.lengthToDegrees=lengthToDegrees;function bearingToAzimuth(bearing){var angle=bearing%360;if(angle<0){angle+=360}return angle}exports.bearingToAzimuth=bearingToAzimuth;function radiansToDegrees(radians){var degrees=radians%(2*Math.PI);return degrees*180/Math.PI}exports.radiansToDegrees=radiansToDegrees;function degreesToRadians(degrees){var radians=degrees%360;return radians*Math.PI/180}exports.degreesToRadians=degreesToRadians;function convertLength(length,originalUnit,finalUnit){if(originalUnit===void 0){originalUnit="kilometers"}if(finalUnit===void 0){finalUnit="kilometers"}if(!(length>=0)){throw new Error("length must be a positive number")}return radiansToLength(lengthToRadians(length,originalUnit),finalUnit)}exports.convertLength=convertLength;function convertArea(area,originalUnit,finalUnit){if(originalUnit===void 0){originalUnit="meters"}if(finalUnit===void 0){finalUnit="kilometers"}if(!(area>=0)){throw new Error("area must be a positive number")}var startFactor=exports.areaFactors[originalUnit];if(!startFactor){throw new Error("invalid original units")}var finalFactor=exports.areaFactors[finalUnit];if(!finalFactor){throw new Error("invalid final units")}return area/startFactor*finalFactor}exports.convertArea=convertArea;function isNumber(num){return!isNaN(num)&&num!==null&&!Array.isArray(num)}exports.isNumber=isNumber;function isObject(input){return!!input&&input.constructor===Object}exports.isObject=isObject;function validateBBox(bbox){if(!bbox){throw new Error("bbox is required")}if(!Array.isArray(bbox)){throw new Error("bbox must be an Array")}if(bbox.length!==4&&bbox.length!==6){throw new Error("bbox must be an Array of 4 or 6 numbers")}bbox.forEach((function(num){if(!isNumber(num)){throw new Error("bbox must only contain numbers")}}))}exports.validateBBox=validateBBox;function validateId(id){if(!id){throw new Error("id is required")}if(["string","number"].indexOf(typeof id)===-1){throw new Error("id must be a number or a string")}}exports.validateId=validateId},{}],63:[function(_dereq_,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var helpers=_dereq_("@turf/helpers");function coordEach(geojson,callback,excludeWrapCoord){if(geojson===null)return;var j,k,l,geometry,stopG,coords,geometryMaybeCollection,wrapShrink=0,coordIndex=0,isGeometryCollection,type=geojson.type,isFeatureCollection=type==="FeatureCollection",isFeature=type==="Feature",stop=isFeatureCollection?geojson.features.length:1;for(var featureIndex=0;featureIndex<stop;featureIndex++){geometryMaybeCollection=isFeatureCollection?geojson.features[featureIndex].geometry:isFeature?geojson.geometry:geojson;isGeometryCollection=geometryMaybeCollection?geometryMaybeCollection.type==="GeometryCollection":false;stopG=isGeometryCollection?geometryMaybeCollection.geometries.length:1;for(var geomIndex=0;geomIndex<stopG;geomIndex++){var multiFeatureIndex=0;var geometryIndex=0;geometry=isGeometryCollection?geometryMaybeCollection.geometries[geomIndex]:geometryMaybeCollection;if(geometry===null)continue;coords=geometry.coordinates;var geomType=geometry.type;wrapShrink=excludeWrapCoord&&(geomType==="Polygon"||geomType==="MultiPolygon")?1:0;switch(geomType){case null:break;case"Point":if(callback(coords,coordIndex,featureIndex,multiFeatureIndex,geometryIndex)===false)return false;coordIndex++;multiFeatureIndex++;break;case"LineString":case"MultiPoint":for(j=0;j<coords.length;j++){if(callback(coords[j],coordIndex,featureIndex,multiFeatureIndex,geometryIndex)===false)return false;coordIndex++;if(geomType==="MultiPoint")multiFeatureIndex++}if(geomType==="LineString")multiFeatureIndex++;break;case"Polygon":case"MultiLineString":for(j=0;j<coords.length;j++){for(k=0;k<coords[j].length-wrapShrink;k++){if(callback(coords[j][k],coordIndex,featureIndex,multiFeatureIndex,geometryIndex)===false)return false;coordIndex++}if(geomType==="MultiLineString")multiFeatureIndex++;if(geomType==="Polygon")geometryIndex++}if(geomType==="Polygon")multiFeatureIndex++;break;case"MultiPolygon":for(j=0;j<coords.length;j++){geometryIndex=0;for(k=0;k<coords[j].length;k++){for(l=0;l<coords[j][k].length-wrapShrink;l++){if(callback(coords[j][k][l],coordIndex,featureIndex,multiFeatureIndex,geometryIndex)===false)return false;coordIndex++}geometryIndex++}multiFeatureIndex++}break;case"GeometryCollection":for(j=0;j<geometry.geometries.length;j++)if(coordEach(geometry.geometries[j],callback,excludeWrapCoord)===false)return false;break;default:throw new Error("Unknown Geometry Type")}}}}function coordReduce(geojson,callback,initialValue,excludeWrapCoord){var previousValue=initialValue;coordEach(geojson,(function(currentCoord,coordIndex,featureIndex,multiFeatureIndex,geometryIndex){if(coordIndex===0&&initialValue===undefined)previousValue=currentCoord;else previousValue=callback(previousValue,currentCoord,coordIndex,featureIndex,multiFeatureIndex,geometryIndex)}),excludeWrapCoord);return previousValue}function propEach(geojson,callback){var i;switch(geojson.type){case"FeatureCollection":for(i=0;i<geojson.features.length;i++){if(callback(geojson.features[i].properties,i)===false)break}break;case"Feature":callback(geojson.properties,0);break}}function propReduce(geojson,callback,initialValue){var previousValue=initialValue;propEach(geojson,(function(currentProperties,featureIndex){if(featureIndex===0&&initialValue===undefined)previousValue=currentProperties;else previousValue=callback(previousValue,currentProperties,featureIndex)}));return previousValue}function featureEach(geojson,callback){if(geojson.type==="Feature"){callback(geojson,0)}else if(geojson.type==="FeatureCollection"){for(var i=0;i<geojson.features.length;i++){if(callback(geojson.features[i],i)===false)break}}}function featureReduce(geojson,callback,initialValue){var previousValue=initialValue;featureEach(geojson,(function(currentFeature,featureIndex){if(featureIndex===0&&initialValue===undefined)previousValue=currentFeature;else previousValue=callback(previousValue,currentFeature,featureIndex)}));return previousValue}function coordAll(geojson){var coords=[];coordEach(geojson,(function(coord){coords.push(coord)}));return coords}function geomEach(geojson,callback){var i,j,g,geometry,stopG,geometryMaybeCollection,isGeometryCollection,featureProperties,featureBBox,featureId,featureIndex=0,isFeatureCollection=geojson.type==="FeatureCollection",isFeature=geojson.type==="Feature",stop=isFeatureCollection?geojson.features.length:1;for(i=0;i<stop;i++){geometryMaybeCollection=isFeatureCollection?geojson.features[i].geometry:isFeature?geojson.geometry:geojson;featureProperties=isFeatureCollection?geojson.features[i].properties:isFeature?geojson.properties:{};featureBBox=isFeatureCollection?geojson.features[i].bbox:isFeature?geojson.bbox:undefined;featureId=isFeatureCollection?geojson.features[i].id:isFeature?geojson.id:undefined;isGeometryCollection=geometryMaybeCollection?geometryMaybeCollection.type==="GeometryCollection":false;stopG=isGeometryCollection?geometryMaybeCollection.geometries.length:1;for(g=0;g<stopG;g++){geometry=isGeometryCollection?geometryMaybeCollection.geometries[g]:geometryMaybeCollection;if(geometry===null){if(callback(null,featureIndex,featureProperties,featureBBox,featureId)===false)return false;continue}switch(geometry.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(callback(geometry,featureIndex,featureProperties,featureBBox,featureId)===false)return false;break}case"GeometryCollection":{for(j=0;j<geometry.geometries.length;j++){if(callback(geometry.geometries[j],featureIndex,featureProperties,featureBBox,featureId)===false)return false}break}default:throw new Error("Unknown Geometry Type")}}featureIndex++}}function geomReduce(geojson,callback,initialValue){var previousValue=initialValue;geomEach(geojson,(function(currentGeometry,featureIndex,featureProperties,featureBBox,featureId){if(featureIndex===0&&initialValue===undefined)previousValue=currentGeometry;else previousValue=callback(previousValue,currentGeometry,featureIndex,featureProperties,featureBBox,featureId)}));return previousValue}function flattenEach(geojson,callback){geomEach(geojson,(function(geometry,featureIndex,properties,bbox,id){var type=geometry===null?null:geometry.type;switch(type){case null:case"Point":case"LineString":case"Polygon":if(callback(helpers.feature(geometry,properties,{bbox:bbox,id:id}),featureIndex,0)===false)return false;return}var geomType;switch(type){case"MultiPoint":geomType="Point";break;case"MultiLineString":geomType="LineString";break;case"MultiPolygon":geomType="Polygon";break}for(var multiFeatureIndex=0;multiFeatureIndex<geometry.coordinates.length;multiFeatureIndex++){var coordinate=geometry.coordinates[multiFeatureIndex];var geom={type:geomType,coordinates:coordinate};if(callback(helpers.feature(geom,properties),featureIndex,multiFeatureIndex)===false)return false}}))}function flattenReduce(geojson,callback,initialValue){var previousValue=initialValue;flattenEach(geojson,(function(currentFeature,featureIndex,multiFeatureIndex){if(featureIndex===0&&multiFeatureIndex===0&&initialValue===undefined)previousValue=currentFeature;else previousValue=callback(previousValue,currentFeature,featureIndex,multiFeatureIndex)}));return previousValue}function segmentEach(geojson,callback){flattenEach(geojson,(function(feature,featureIndex,multiFeatureIndex){var segmentIndex=0;if(!feature.geometry)return;var type=feature.geometry.type;if(type==="Point"||type==="MultiPoint")return;var previousCoords;var previousFeatureIndex=0;var previousMultiIndex=0;var prevGeomIndex=0;if(coordEach(feature,(function(currentCoord,coordIndex,featureIndexCoord,multiPartIndexCoord,geometryIndex){if(previousCoords===undefined||featureIndex>previousFeatureIndex||multiPartIndexCoord>previousMultiIndex||geometryIndex>prevGeomIndex){previousCoords=currentCoord;previousFeatureIndex=featureIndex;previousMultiIndex=multiPartIndexCoord;prevGeomIndex=geometryIndex;segmentIndex=0;return}var currentSegment=helpers.lineString([previousCoords,currentCoord],feature.properties);if(callback(currentSegment,featureIndex,multiFeatureIndex,geometryIndex,segmentIndex)===false)return false;segmentIndex++;previousCoords=currentCoord}))===false)return false}))}function segmentReduce(geojson,callback,initialValue){var previousValue=initialValue;var started=false;segmentEach(geojson,(function(currentSegment,featureIndex,multiFeatureIndex,geometryIndex,segmentIndex){if(started===false&&initialValue===undefined)previousValue=currentSegment;else previousValue=callback(previousValue,currentSegment,featureIndex,multiFeatureIndex,geometryIndex,segmentIndex);started=true}));return previousValue}function lineEach(geojson,callback){if(!geojson)throw new Error("geojson is required");flattenEach(geojson,(function(feature,featureIndex,multiFeatureIndex){if(feature.geometry===null)return;var type=feature.geometry.type;var coords=feature.geometry.coordinates;switch(type){case"LineString":if(callback(feature,featureIndex,multiFeatureIndex,0,0)===false)return false;break;case"Polygon":for(var geometryIndex=0;geometryIndex<coords.length;geometryIndex++){if(callback(helpers.lineString(coords[geometryIndex],feature.properties),featureIndex,multiFeatureIndex,geometryIndex)===false)return false}break}}))}function lineReduce(geojson,callback,initialValue){var previousValue=initialValue;lineEach(geojson,(function(currentLine,featureIndex,multiFeatureIndex,geometryIndex){if(featureIndex===0&&initialValue===undefined)previousValue=currentLine;else previousValue=callback(previousValue,currentLine,featureIndex,multiFeatureIndex,geometryIndex)}));return previousValue}function findSegment(geojson,options){options=options||{};if(!helpers.isObject(options))throw new Error("options is invalid");var featureIndex=options.featureIndex||0;var multiFeatureIndex=options.multiFeatureIndex||0;var geometryIndex=options.geometryIndex||0;var segmentIndex=options.segmentIndex||0;var properties=options.properties;var geometry;switch(geojson.type){case"FeatureCollection":if(featureIndex<0)featureIndex=geojson.features.length+featureIndex;properties=properties||geojson.features[featureIndex].properties;geometry=geojson.features[featureIndex].geometry;break;case"Feature":properties=properties||geojson.properties;geometry=geojson.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":geometry=geojson;break;default:throw new Error("geojson is invalid")}if(geometry===null)return null;var coords=geometry.coordinates;switch(geometry.type){case"Point":case"MultiPoint":return null;case"LineString":if(segmentIndex<0)segmentIndex=coords.length+segmentIndex-1;return helpers.lineString([coords[segmentIndex],coords[segmentIndex+1]],properties,options);case"Polygon":if(geometryIndex<0)geometryIndex=coords.length+geometryIndex;if(segmentIndex<0)segmentIndex=coords[geometryIndex].length+segmentIndex-1;return helpers.lineString([coords[geometryIndex][segmentIndex],coords[geometryIndex][segmentIndex+1]],properties,options);case"MultiLineString":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;if(segmentIndex<0)segmentIndex=coords[multiFeatureIndex].length+segmentIndex-1;return helpers.lineString([coords[multiFeatureIndex][segmentIndex],coords[multiFeatureIndex][segmentIndex+1]],properties,options);case"MultiPolygon":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;if(geometryIndex<0)geometryIndex=coords[multiFeatureIndex].length+geometryIndex;if(segmentIndex<0)segmentIndex=coords[multiFeatureIndex][geometryIndex].length-segmentIndex-1;return helpers.lineString([coords[multiFeatureIndex][geometryIndex][segmentIndex],coords[multiFeatureIndex][geometryIndex][segmentIndex+1]],properties,options)}throw new Error("geojson is invalid")}function findPoint(geojson,options){options=options||{};if(!helpers.isObject(options))throw new Error("options is invalid");var featureIndex=options.featureIndex||0;var multiFeatureIndex=options.multiFeatureIndex||0;var geometryIndex=options.geometryIndex||0;var coordIndex=options.coordIndex||0;var properties=options.properties;var geometry;switch(geojson.type){case"FeatureCollection":if(featureIndex<0)featureIndex=geojson.features.length+featureIndex;properties=properties||geojson.features[featureIndex].properties;geometry=geojson.features[featureIndex].geometry;break;case"Feature":properties=properties||geojson.properties;geometry=geojson.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":geometry=geojson;break;default:throw new Error("geojson is invalid")}if(geometry===null)return null;var coords=geometry.coordinates;switch(geometry.type){case"Point":return helpers.point(coords,properties,options);case"MultiPoint":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;return helpers.point(coords[multiFeatureIndex],properties,options);case"LineString":if(coordIndex<0)coordIndex=coords.length+coordIndex;return helpers.point(coords[coordIndex],properties,options);case"Polygon":if(geometryIndex<0)geometryIndex=coords.length+geometryIndex;if(coordIndex<0)coordIndex=coords[geometryIndex].length+coordIndex;return helpers.point(coords[geometryIndex][coordIndex],properties,options);case"MultiLineString":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;if(coordIndex<0)coordIndex=coords[multiFeatureIndex].length+coordIndex;return helpers.point(coords[multiFeatureIndex][coordIndex],properties,options);case"MultiPolygon":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;if(geometryIndex<0)geometryIndex=coords[multiFeatureIndex].length+geometryIndex;if(coordIndex<0)coordIndex=coords[multiFeatureIndex][geometryIndex].length-coordIndex;return helpers.point(coords[multiFeatureIndex][geometryIndex][coordIndex],properties,options)}throw new Error("geojson is invalid")}exports.coordEach=coordEach;exports.coordReduce=coordReduce;exports.propEach=propEach;exports.propReduce=propReduce;exports.featureEach=featureEach;exports.featureReduce=featureReduce;exports.coordAll=coordAll;exports.geomEach=geomEach;exports.geomReduce=geomReduce;exports.flattenEach=flattenEach;exports.flattenReduce=flattenReduce;exports.segmentEach=segmentEach;exports.segmentReduce=segmentReduce;exports.lineEach=lineEach;exports.lineReduce=lineReduce;exports.findSegment=findSegment;exports.findPoint=findPoint},{"@turf/helpers":62}],64:[function(_dereq_,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var meta_1=_dereq_("@turf/meta");function bbox(geojson){var result=[Infinity,Infinity,-Infinity,-Infinity];meta_1.coordEach(geojson,(function(coord){if(result[0]>coord[0]){result[0]=coord[0]}if(result[1]>coord[1]){result[1]=coord[1]}if(result[2]<coord[0]){result[2]=coord[0]}if(result[3]<coord[1]){result[3]=coord[1]}}));return result}bbox["default"]=bbox;exports.default=bbox},{"@turf/meta":66}],65:[function(_dereq_,module,exports){arguments[4][62][0].apply(exports,arguments)},{dup:62}],66:[function(_dereq_,module,exports){arguments[4][63][0].apply(exports,arguments)},{"@turf/helpers":65,dup:63}],67:[function(_dereq_,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var meta_1=_dereq_("@turf/meta");var helpers_1=_dereq_("@turf/helpers");function centroid(geojson,options){if(options===void 0){options={}}var xSum=0;var ySum=0;var len=0;meta_1.coordEach(geojson,(function(coord){xSum+=coord[0];ySum+=coord[1];len++}));return helpers_1.point([xSum/len,ySum/len],options.properties)}exports.default=centroid},{"@turf/helpers":68,"@turf/meta":69}],68:[function(_dereq_,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.earthRadius=6371008.8;exports.factors={centimeters:exports.earthRadius*100,centimetres:exports.earthRadius*100,degrees:exports.earthRadius/111325,feet:exports.earthRadius*3.28084,inches:exports.earthRadius*39.37,kilometers:exports.earthRadius/1e3,kilometres:exports.earthRadius/1e3,meters:exports.earthRadius,metres:exports.earthRadius,miles:exports.earthRadius/1609.344,millimeters:exports.earthRadius*1e3,millimetres:exports.earthRadius*1e3,nauticalmiles:exports.earthRadius/1852,radians:1,yards:exports.earthRadius/1.0936};exports.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/exports.earthRadius,yards:1/1.0936};exports.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function feature(geom,properties,options){if(options===void 0){options={}}var feat={type:"Feature"};if(options.id===0||options.id){feat.id=options.id}if(options.bbox){feat.bbox=options.bbox}feat.properties=properties||{};feat.geometry=geom;return feat}exports.feature=feature;function geometry(type,coordinates,options){if(options===void 0){options={}}switch(type){case"Point":return point(coordinates).geometry;case"LineString":return lineString(coordinates).geometry;case"Polygon":return polygon(coordinates).geometry;case"MultiPoint":return multiPoint(coordinates).geometry;case"MultiLineString":return multiLineString(coordinates).geometry;case"MultiPolygon":return multiPolygon(coordinates).geometry;default:throw new Error(type+" is invalid")}}exports.geometry=geometry;function point(coordinates,properties,options){if(options===void 0){options={}}var geom={type:"Point",coordinates:coordinates};return feature(geom,properties,options)}exports.point=point;function points(coordinates,properties,options){if(options===void 0){options={}}return featureCollection(coordinates.map((function(coords){return point(coords,properties)})),options)}exports.points=points;function polygon(coordinates,properties,options){if(options===void 0){options={}}for(var _i=0,coordinates_1=coordinates;_i<coordinates_1.length;_i++){var ring=coordinates_1[_i];if(ring.length<4){throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.")}for(var j=0;j<ring[ring.length-1].length;j++){if(ring[ring.length-1][j]!==ring[0][j]){throw new Error("First and last Position are not equivalent.")}}}var geom={type:"Polygon",coordinates:coordinates};return feature(geom,properties,options)}exports.polygon=polygon;function polygons(coordinates,properties,options){if(options===void 0){options={}}return featureCollection(coordinates.map((function(coords){return polygon(coords,properties)})),options)}exports.polygons=polygons;function lineString(coordinates,properties,options){if(options===void 0){options={}}if(coordinates.length<2){throw new Error("coordinates must be an array of two or more positions")}var geom={type:"LineString",coordinates:coordinates};return feature(geom,properties,options)}exports.lineString=lineString;function lineStrings(coordinates,properties,options){if(options===void 0){options={}}return featureCollection(coordinates.map((function(coords){return lineString(coords,properties)})),options)}exports.lineStrings=lineStrings;function featureCollection(features,options){if(options===void 0){options={}}var fc={type:"FeatureCollection"};if(options.id){fc.id=options.id}if(options.bbox){fc.bbox=options.bbox}fc.features=features;return fc}exports.featureCollection=featureCollection;function multiLineString(coordinates,properties,options){if(options===void 0){options={}}var geom={type:"MultiLineString",coordinates:coordinates};return feature(geom,properties,options)}exports.multiLineString=multiLineString;function multiPoint(coordinates,properties,options){if(options===void 0){options={}}var geom={type:"MultiPoint",coordinates:coordinates};return feature(geom,properties,options)}exports.multiPoint=multiPoint;function multiPolygon(coordinates,properties,options){if(options===void 0){options={}}var geom={type:"MultiPolygon",coordinates:coordinates};return feature(geom,properties,options)}exports.multiPolygon=multiPolygon;function geometryCollection(geometries,properties,options){if(options===void 0){options={}}var geom={type:"GeometryCollection",geometries:geometries};return feature(geom,properties,options)}exports.geometryCollection=geometryCollection;function round(num,precision){if(precision===void 0){precision=0}if(precision&&!(precision>=0)){throw new Error("precision must be a positive number")}var multiplier=Math.pow(10,precision||0);return Math.round(num*multiplier)/multiplier}exports.round=round;function radiansToLength(radians,units){if(units===void 0){units="kilometers"}var factor=exports.factors[units];if(!factor){throw new Error(units+" units is invalid")}return radians*factor}exports.radiansToLength=radiansToLength;function lengthToRadians(distance,units){if(units===void 0){units="kilometers"}var factor=exports.factors[units];if(!factor){throw new Error(units+" units is invalid")}return distance/factor}exports.lengthToRadians=lengthToRadians;function lengthToDegrees(distance,units){return radiansToDegrees(lengthToRadians(distance,units))}exports.lengthToDegrees=lengthToDegrees;function bearingToAzimuth(bearing){var angle=bearing%360;if(angle<0){angle+=360}return angle}exports.bearingToAzimuth=bearingToAzimuth;function radiansToDegrees(radians){var degrees=radians%(2*Math.PI);return degrees*180/Math.PI}exports.radiansToDegrees=radiansToDegrees;function degreesToRadians(degrees){var radians=degrees%360;return radians*Math.PI/180}exports.degreesToRadians=degreesToRadians;function convertLength(length,originalUnit,finalUnit){if(originalUnit===void 0){originalUnit="kilometers"}if(finalUnit===void 0){finalUnit="kilometers"}if(!(length>=0)){throw new Error("length must be a positive number")}return radiansToLength(lengthToRadians(length,originalUnit),finalUnit)}exports.convertLength=convertLength;function convertArea(area,originalUnit,finalUnit){if(originalUnit===void 0){originalUnit="meters"}if(finalUnit===void 0){finalUnit="kilometers"}if(!(area>=0)){throw new Error("area must be a positive number")}var startFactor=exports.areaFactors[originalUnit];if(!startFactor){throw new Error("invalid original units")}var finalFactor=exports.areaFactors[finalUnit];if(!finalFactor){throw new Error("invalid final units")}return area/startFactor*finalFactor}exports.convertArea=convertArea;function isNumber(num){return!isNaN(num)&&num!==null&&!Array.isArray(num)&&!/^\s*$/.test(num)}exports.isNumber=isNumber;function isObject(input){return!!input&&input.constructor===Object}exports.isObject=isObject;function validateBBox(bbox){if(!bbox){throw new Error("bbox is required")}if(!Array.isArray(bbox)){throw new Error("bbox must be an Array")}if(bbox.length!==4&&bbox.length!==6){throw new Error("bbox must be an Array of 4 or 6 numbers")}bbox.forEach((function(num){if(!isNumber(num)){throw new Error("bbox must only contain numbers")}}))}exports.validateBBox=validateBBox;function validateId(id){if(!id){throw new Error("id is required")}if(["string","number"].indexOf(typeof id)===-1){throw new Error("id must be a number or a string")}}exports.validateId=validateId;function radians2degrees(){throw new Error("method has been renamed to `radiansToDegrees`")}exports.radians2degrees=radians2degrees;function degrees2radians(){throw new Error("method has been renamed to `degreesToRadians`")}exports.degrees2radians=degrees2radians;function distanceToDegrees(){throw new Error("method has been renamed to `lengthToDegrees`")}exports.distanceToDegrees=distanceToDegrees;function distanceToRadians(){throw new Error("method has been renamed to `lengthToRadians`")}exports.distanceToRadians=distanceToRadians;function radiansToDistance(){throw new Error("method has been renamed to `radiansToLength`")}exports.radiansToDistance=radiansToDistance;function bearingToAngle(){throw new Error("method has been renamed to `bearingToAzimuth`")}exports.bearingToAngle=bearingToAngle;function convertDistance(){throw new Error("method has been renamed to `convertLength`")}exports.convertDistance=convertDistance},{}],69:[function(_dereq_,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var helpers=_dereq_("@turf/helpers");function coordEach(geojson,callback,excludeWrapCoord){if(geojson===null)return;var j,k,l,geometry,stopG,coords,geometryMaybeCollection,wrapShrink=0,coordIndex=0,isGeometryCollection,type=geojson.type,isFeatureCollection=type==="FeatureCollection",isFeature=type==="Feature",stop=isFeatureCollection?geojson.features.length:1;for(var featureIndex=0;featureIndex<stop;featureIndex++){geometryMaybeCollection=isFeatureCollection?geojson.features[featureIndex].geometry:isFeature?geojson.geometry:geojson;isGeometryCollection=geometryMaybeCollection?geometryMaybeCollection.type==="GeometryCollection":false;stopG=isGeometryCollection?geometryMaybeCollection.geometries.length:1;for(var geomIndex=0;geomIndex<stopG;geomIndex++){var multiFeatureIndex=0;var geometryIndex=0;geometry=isGeometryCollection?geometryMaybeCollection.geometries[geomIndex]:geometryMaybeCollection;if(geometry===null)continue;coords=geometry.coordinates;var geomType=geometry.type;wrapShrink=excludeWrapCoord&&(geomType==="Polygon"||geomType==="MultiPolygon")?1:0;switch(geomType){case null:break;case"Point":if(callback(coords,coordIndex,featureIndex,multiFeatureIndex,geometryIndex)===false)return false;coordIndex++;multiFeatureIndex++;break;case"LineString":case"MultiPoint":for(j=0;j<coords.length;j++){if(callback(coords[j],coordIndex,featureIndex,multiFeatureIndex,geometryIndex)===false)return false;coordIndex++;if(geomType==="MultiPoint")multiFeatureIndex++}if(geomType==="LineString")multiFeatureIndex++;break;case"Polygon":case"MultiLineString":for(j=0;j<coords.length;j++){for(k=0;k<coords[j].length-wrapShrink;k++){if(callback(coords[j][k],coordIndex,featureIndex,multiFeatureIndex,geometryIndex)===false)return false;coordIndex++}if(geomType==="MultiLineString")multiFeatureIndex++;if(geomType==="Polygon")geometryIndex++}if(geomType==="Polygon")multiFeatureIndex++;break;case"MultiPolygon":for(j=0;j<coords.length;j++){geometryIndex=0;for(k=0;k<coords[j].length;k++){for(l=0;l<coords[j][k].length-wrapShrink;l++){if(callback(coords[j][k][l],coordIndex,featureIndex,multiFeatureIndex,geometryIndex)===false)return false;coordIndex++}geometryIndex++}multiFeatureIndex++}break;case"GeometryCollection":for(j=0;j<geometry.geometries.length;j++)if(coordEach(geometry.geometries[j],callback,excludeWrapCoord)===false)return false;break;default:throw new Error("Unknown Geometry Type")}}}}function coordReduce(geojson,callback,initialValue,excludeWrapCoord){var previousValue=initialValue;coordEach(geojson,(function(currentCoord,coordIndex,featureIndex,multiFeatureIndex,geometryIndex){if(coordIndex===0&&initialValue===undefined)previousValue=currentCoord;else previousValue=callback(previousValue,currentCoord,coordIndex,featureIndex,multiFeatureIndex,geometryIndex)}),excludeWrapCoord);return previousValue}function propEach(geojson,callback){var i;switch(geojson.type){case"FeatureCollection":for(i=0;i<geojson.features.length;i++){if(callback(geojson.features[i].properties,i)===false)break}break;case"Feature":callback(geojson.properties,0);break}}function propReduce(geojson,callback,initialValue){var previousValue=initialValue;propEach(geojson,(function(currentProperties,featureIndex){if(featureIndex===0&&initialValue===undefined)previousValue=currentProperties;else previousValue=callback(previousValue,currentProperties,featureIndex)}));return previousValue}function featureEach(geojson,callback){if(geojson.type==="Feature"){callback(geojson,0)}else if(geojson.type==="FeatureCollection"){for(var i=0;i<geojson.features.length;i++){if(callback(geojson.features[i],i)===false)break}}}function featureReduce(geojson,callback,initialValue){var previousValue=initialValue;featureEach(geojson,(function(currentFeature,featureIndex){if(featureIndex===0&&initialValue===undefined)previousValue=currentFeature;else previousValue=callback(previousValue,currentFeature,featureIndex)}));return previousValue}function coordAll(geojson){var coords=[];coordEach(geojson,(function(coord){coords.push(coord)}));return coords}function geomEach(geojson,callback){var i,j,g,geometry,stopG,geometryMaybeCollection,isGeometryCollection,featureProperties,featureBBox,featureId,featureIndex=0,isFeatureCollection=geojson.type==="FeatureCollection",isFeature=geojson.type==="Feature",stop=isFeatureCollection?geojson.features.length:1;for(i=0;i<stop;i++){geometryMaybeCollection=isFeatureCollection?geojson.features[i].geometry:isFeature?geojson.geometry:geojson;featureProperties=isFeatureCollection?geojson.features[i].properties:isFeature?geojson.properties:{};featureBBox=isFeatureCollection?geojson.features[i].bbox:isFeature?geojson.bbox:undefined;featureId=isFeatureCollection?geojson.features[i].id:isFeature?geojson.id:undefined;isGeometryCollection=geometryMaybeCollection?geometryMaybeCollection.type==="GeometryCollection":false;stopG=isGeometryCollection?geometryMaybeCollection.geometries.length:1;for(g=0;g<stopG;g++){geometry=isGeometryCollection?geometryMaybeCollection.geometries[g]:geometryMaybeCollection;if(geometry===null){if(callback(null,featureIndex,featureProperties,featureBBox,featureId)===false)return false;continue}switch(geometry.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(callback(geometry,featureIndex,featureProperties,featureBBox,featureId)===false)return false;break}case"GeometryCollection":{for(j=0;j<geometry.geometries.length;j++){if(callback(geometry.geometries[j],featureIndex,featureProperties,featureBBox,featureId)===false)return false}break}default:throw new Error("Unknown Geometry Type")}}featureIndex++}}function geomReduce(geojson,callback,initialValue){var previousValue=initialValue;geomEach(geojson,(function(currentGeometry,featureIndex,featureProperties,featureBBox,featureId){if(featureIndex===0&&initialValue===undefined)previousValue=currentGeometry;else previousValue=callback(previousValue,currentGeometry,featureIndex,featureProperties,featureBBox,featureId)}));return previousValue}function flattenEach(geojson,callback){geomEach(geojson,(function(geometry,featureIndex,properties,bbox,id){var type=geometry===null?null:geometry.type;switch(type){case null:case"Point":case"LineString":case"Polygon":if(callback(helpers.feature(geometry,properties,{bbox:bbox,id:id}),featureIndex,0)===false)return false;return}var geomType;switch(type){case"MultiPoint":geomType="Point";break;case"MultiLineString":geomType="LineString";break;case"MultiPolygon":geomType="Polygon";break}for(var multiFeatureIndex=0;multiFeatureIndex<geometry.coordinates.length;multiFeatureIndex++){var coordinate=geometry.coordinates[multiFeatureIndex];var geom={type:geomType,coordinates:coordinate};if(callback(helpers.feature(geom,properties),featureIndex,multiFeatureIndex)===false)return false}}))}function flattenReduce(geojson,callback,initialValue){var previousValue=initialValue;flattenEach(geojson,(function(currentFeature,featureIndex,multiFeatureIndex){if(featureIndex===0&&multiFeatureIndex===0&&initialValue===undefined)previousValue=currentFeature;else previousValue=callback(previousValue,currentFeature,featureIndex,multiFeatureIndex)}));return previousValue}function segmentEach(geojson,callback){flattenEach(geojson,(function(feature,featureIndex,multiFeatureIndex){var segmentIndex=0;if(!feature.geometry)return;var type=feature.geometry.type;if(type==="Point"||type==="MultiPoint")return;var previousCoords;var previousFeatureIndex=0;var previousMultiIndex=0;var prevGeomIndex=0;if(coordEach(feature,(function(currentCoord,coordIndex,featureIndexCoord,multiPartIndexCoord,geometryIndex){if(previousCoords===undefined||featureIndex>previousFeatureIndex||multiPartIndexCoord>previousMultiIndex||geometryIndex>prevGeomIndex){previousCoords=currentCoord;previousFeatureIndex=featureIndex;previousMultiIndex=multiPartIndexCoord;prevGeomIndex=geometryIndex;segmentIndex=0;return}var currentSegment=helpers.lineString([previousCoords,currentCoord],feature.properties);if(callback(currentSegment,featureIndex,multiFeatureIndex,geometryIndex,segmentIndex)===false)return false;segmentIndex++;previousCoords=currentCoord}))===false)return false}))}function segmentReduce(geojson,callback,initialValue){var previousValue=initialValue;var started=false;segmentEach(geojson,(function(currentSegment,featureIndex,multiFeatureIndex,geometryIndex,segmentIndex){if(started===false&&initialValue===undefined)previousValue=currentSegment;else previousValue=callback(previousValue,currentSegment,featureIndex,multiFeatureIndex,geometryIndex,segmentIndex);started=true}));return previousValue}function lineEach(geojson,callback){if(!geojson)throw new Error("geojson is required");flattenEach(geojson,(function(feature,featureIndex,multiFeatureIndex){if(feature.geometry===null)return;var type=feature.geometry.type;var coords=feature.geometry.coordinates;switch(type){case"LineString":if(callback(feature,featureIndex,multiFeatureIndex,0,0)===false)return false;break;case"Polygon":for(var geometryIndex=0;geometryIndex<coords.length;geometryIndex++){if(callback(helpers.lineString(coords[geometryIndex],feature.properties),featureIndex,multiFeatureIndex,geometryIndex)===false)return false}break}}))}function lineReduce(geojson,callback,initialValue){var previousValue=initialValue;lineEach(geojson,(function(currentLine,featureIndex,multiFeatureIndex,geometryIndex){if(featureIndex===0&&initialValue===undefined)previousValue=currentLine;else previousValue=callback(previousValue,currentLine,featureIndex,multiFeatureIndex,geometryIndex)}));return previousValue}function findSegment(geojson,options){options=options||{};if(!helpers.isObject(options))throw new Error("options is invalid");var featureIndex=options.featureIndex||0;var multiFeatureIndex=options.multiFeatureIndex||0;var geometryIndex=options.geometryIndex||0;var segmentIndex=options.segmentIndex||0;var properties=options.properties;var geometry;switch(geojson.type){case"FeatureCollection":if(featureIndex<0)featureIndex=geojson.features.length+featureIndex;properties=properties||geojson.features[featureIndex].properties;geometry=geojson.features[featureIndex].geometry;break;case"Feature":properties=properties||geojson.properties;geometry=geojson.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":geometry=geojson;break;default:throw new Error("geojson is invalid")}if(geometry===null)return null;var coords=geometry.coordinates;switch(geometry.type){case"Point":case"MultiPoint":return null;case"LineString":if(segmentIndex<0)segmentIndex=coords.length+segmentIndex-1;return helpers.lineString([coords[segmentIndex],coords[segmentIndex+1]],properties,options);case"Polygon":if(geometryIndex<0)geometryIndex=coords.length+geometryIndex;if(segmentIndex<0)segmentIndex=coords[geometryIndex].length+segmentIndex-1;return helpers.lineString([coords[geometryIndex][segmentIndex],coords[geometryIndex][segmentIndex+1]],properties,options);case"MultiLineString":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;if(segmentIndex<0)segmentIndex=coords[multiFeatureIndex].length+segmentIndex-1;return helpers.lineString([coords[multiFeatureIndex][segmentIndex],coords[multiFeatureIndex][segmentIndex+1]],properties,options);case"MultiPolygon":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;if(geometryIndex<0)geometryIndex=coords[multiFeatureIndex].length+geometryIndex;if(segmentIndex<0)segmentIndex=coords[multiFeatureIndex][geometryIndex].length-segmentIndex-1;return helpers.lineString([coords[multiFeatureIndex][geometryIndex][segmentIndex],coords[multiFeatureIndex][geometryIndex][segmentIndex+1]],properties,options)}throw new Error("geojson is invalid")}function findPoint(geojson,options){options=options||{};if(!helpers.isObject(options))throw new Error("options is invalid");var featureIndex=options.featureIndex||0;var multiFeatureIndex=options.multiFeatureIndex||0;var geometryIndex=options.geometryIndex||0;var coordIndex=options.coordIndex||0;var properties=options.properties;var geometry;switch(geojson.type){case"FeatureCollection":if(featureIndex<0)featureIndex=geojson.features.length+featureIndex;properties=properties||geojson.features[featureIndex].properties;geometry=geojson.features[featureIndex].geometry;break;case"Feature":properties=properties||geojson.properties;geometry=geojson.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":geometry=geojson;break;default:throw new Error("geojson is invalid")}if(geometry===null)return null;var coords=geometry.coordinates;switch(geometry.type){case"Point":return helpers.point(coords,properties,options);case"MultiPoint":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;return helpers.point(coords[multiFeatureIndex],properties,options);case"LineString":if(coordIndex<0)coordIndex=coords.length+coordIndex;return helpers.point(coords[coordIndex],properties,options);case"Polygon":if(geometryIndex<0)geometryIndex=coords.length+geometryIndex;if(coordIndex<0)coordIndex=coords[geometryIndex].length+coordIndex;return helpers.point(coords[geometryIndex][coordIndex],properties,options);case"MultiLineString":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;if(coordIndex<0)coordIndex=coords[multiFeatureIndex].length+coordIndex;return helpers.point(coords[multiFeatureIndex][coordIndex],properties,options);case"MultiPolygon":if(multiFeatureIndex<0)multiFeatureIndex=coords.length+multiFeatureIndex;if(geometryIndex<0)geometryIndex=coords[multiFeatureIndex].length+geometryIndex;if(coordIndex<0)coordIndex=coords[multiFeatureIndex][geometryIndex].length-coordIndex;return helpers.point(coords[multiFeatureIndex][geometryIndex][coordIndex],properties,options)}throw new Error("geojson is invalid")}exports.coordEach=coordEach;exports.coordReduce=coordReduce;exports.propEach=propEach;exports.propReduce=propReduce;exports.featureEach=featureEach;exports.featureReduce=featureReduce;exports.coordAll=coordAll;exports.geomEach=geomEach;exports.geomReduce=geomReduce;exports.flattenEach=flattenEach;exports.flattenReduce=flattenReduce;exports.segmentEach=segmentEach;exports.segmentReduce=segmentReduce;exports.lineEach=lineEach;exports.lineReduce=lineReduce;exports.findSegment=findSegment;exports.findPoint=findPoint},{"@turf/helpers":68}],70:[function(_dereq_,module,exports){"use strict";var weakMap=typeof WeakMap==="undefined"?_dereq_("weak-map"):WeakMap;var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var TriangleCache=new weakMap;function createABigTriangle(gl){var triangleVAO=TriangleCache.get(gl);var handle=triangleVAO&&(triangleVAO._triangleBuffer.handle||triangleVAO._triangleBuffer.buffer);if(!handle||!gl.isBuffer(handle)){var buf=createBuffer(gl,new Float32Array([-1,-1,-1,4,4,-1]));triangleVAO=createVAO(gl,[{buffer:buf,type:gl.FLOAT,size:2}]);triangleVAO._triangleBuffer=buf;TriangleCache.set(gl,triangleVAO)}triangleVAO.bind();gl.drawArrays(gl.TRIANGLES,0,3);triangleVAO.unbind()}module.exports=createABigTriangle},{"gl-buffer":267,"gl-vao":361,"weak-map":625}],71:[function(_dereq_,module,exports){module.exports=absolutize;function absolutize(path){var startX=0;var startY=0;var x=0;var y=0;return path.map((function(seg){seg=seg.slice();var type=seg[0];var command=type.toUpperCase();if(type!=command){seg[0]=command;switch(type){case"a":seg[6]+=x;seg[7]+=y;break;case"v":seg[1]+=y;break;case"h":seg[1]+=x;break;default:for(var i=1;i<seg.length;){seg[i++]+=x;seg[i++]+=y}}}switch(command){case"Z":x=startX;y=startY;break;case"H":x=seg[1];break;case"V":y=seg[1];break;case"M":x=startX=seg[1];y=startY=seg[2];break;default:x=seg[seg.length-2];y=seg[seg.length-1]}return seg}))}},{}],72:[function(_dereq_,module,exports){var padLeft=_dereq_("pad-left");module.exports=addLineNumbers;function addLineNumbers(string,start,delim){start=typeof start==="number"?start:1;delim=delim||": ";var lines=string.split(/\r?\n/);var totalDigits=String(lines.length+start-1).length;return lines.map((function(line,i){var c=i+start;var digits=String(c).length;var prefix=padLeft(c,totalDigits-digits);return prefix+delim+line})).join("\n")}},{"pad-left":490}],73:[function(_dereq_,module,exports){"use strict";module.exports=affineHull;var orient=_dereq_("robust-orientation");function linearlyIndependent(points,d){var nhull=new Array(d+1);for(var i=0;i<points.length;++i){nhull[i]=points[i]}for(var i=0;i<=points.length;++i){for(var j=points.length;j<=d;++j){var x=new Array(d);for(var k=0;k<d;++k){x[k]=Math.pow(j+1-i,k)}nhull[j]=x}var o=orient.apply(void 0,nhull);if(o){return true}}return false}function affineHull(points){var n=points.length;if(n===0){return[]}if(n===1){return[0]}var d=points[0].length;var frame=[points[0]];var index=[0];for(var i=1;i<n;++i){frame.push(points[i]);if(!linearlyIndependent(frame,d)){frame.pop();continue}index.push(i);if(index.length===d+1){return index}}return index}},{"robust-orientation":548}],74:[function(_dereq_,module,exports){"use strict";module.exports=alphaComplex;var delaunay=_dereq_("delaunay-triangulate");var circumradius=_dereq_("circumradius");function alphaComplex(alpha,points){return delaunay(points).filter((function(cell){var simplex=new Array(cell.length);for(var i=0;i<cell.length;++i){simplex[i]=points[cell[i]]}return circumradius(simplex)*alpha<1}))}},{circumradius:125,"delaunay-triangulate":180}],75:[function(_dereq_,module,exports){module.exports=alphaShape;var ac=_dereq_("alpha-complex");var bnd=_dereq_("simplicial-complex-boundary");function alphaShape(alpha,points){return bnd(ac(alpha,points))}},{"alpha-complex":74,"simplicial-complex-boundary":556}],76:[function(_dereq_,module,exports){"use strict";module.exports=normalize;function normalize(arr,dim){if(!arr||arr.length==null)throw Error("Argument should be an array");if(dim==null)dim=1;else dim=Math.floor(dim);var bounds=Array(dim*2);for(var offset=0;offset<dim;offset++){var max=-Infinity,min=Infinity,i=offset,l=arr.length;for(;i<l;i+=dim){if(arr[i]>max)max=arr[i];if(arr[i]<min)min=arr[i]}bounds[offset]=min;bounds[dim+offset]=max}return bounds}},{}],77:[function(_dereq_,module,exports){"use strict";module.exports=function(arr,predicate,ctx){if(typeof Array.prototype.findIndex==="function"){return arr.findIndex(predicate,ctx)}if(typeof predicate!=="function"){throw new TypeError("predicate must be a function")}var list=Object(arr);var len=list.length;if(len===0){return-1}for(var i=0;i<len;i++){if(predicate.call(ctx,list[i],i,list)){return i}}return-1}},{}],78:[function(_dereq_,module,exports){"use strict";var getBounds=_dereq_("array-bounds");module.exports=normalize;function normalize(arr,dim,bounds){if(!arr||arr.length==null)throw Error("Argument should be an array");if(dim==null)dim=1;if(bounds==null)bounds=getBounds(arr,dim);for(var offset=0;offset<dim;offset++){var max=bounds[dim+offset],min=bounds[offset],i=offset,l=arr.length;if(max===Infinity&&min===-Infinity){for(i=offset;i<l;i+=dim){arr[i]=arr[i]===max?1:arr[i]===min?0:.5}}else if(max===Infinity){for(i=offset;i<l;i+=dim){arr[i]=arr[i]===max?1:0}}else if(min===-Infinity){for(i=offset;i<l;i+=dim){arr[i]=arr[i]===min?0:1}}else{var range=max-min;for(i=offset;i<l;i+=dim){if(!isNaN(arr[i])){arr[i]=range===0?.5:(arr[i]-min)/range}}}}return arr}},{"array-bounds":76}],79:[function(_dereq_,module,exports){module.exports=function newArray(start,end){var n0=typeof start==="number",n1=typeof end==="number";if(n0&&!n1){end=start;start=0}else if(!n0&&!n1){start=0;end=0}start=start|0;end=end|0;var len=end-start;if(len<0)throw new Error("array length must be positive");var a=new Array(len);for(var i=0,c=start;i<len;i++,c++)a[i]=c;return a}},{}],80:[function(_dereq_,module,exports){(function(global){(function(){"use strict";var objectAssign=_dereq_("object-assign");
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */function compare(a,b){if(a===b){return 0}var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len;++i){if(a[i]!==b[i]){x=a[i];y=b[i];break}}if(x<y){return-1}if(y<x){return 1}return 0}function isBuffer(b){if(global.Buffer&&typeof global.Buffer.isBuffer==="function"){return global.Buffer.isBuffer(b)}return!!(b!=null&&b._isBuffer)}var util=_dereq_("util/");var hasOwn=Object.prototype.hasOwnProperty;var pSlice=Array.prototype.slice;var functionsHaveNames=function(){return function foo(){}.name==="foo"}();function pToString(obj){return Object.prototype.toString.call(obj)}function isView(arrbuf){if(isBuffer(arrbuf)){return false}if(typeof global.ArrayBuffer!=="function"){return false}if(typeof ArrayBuffer.isView==="function"){return ArrayBuffer.isView(arrbuf)}if(!arrbuf){return false}if(arrbuf instanceof DataView){return true}if(arrbuf.buffer&&arrbuf.buffer instanceof ArrayBuffer){return true}return false}var assert=module.exports=ok;var regex=/\s*function\s+([^\(\s]*)\s*/;function getName(func){if(!util.isFunction(func)){return}if(functionsHaveNames){return func.name}var str=func.toString();var match=str.match(regex);return match&&match[1]}assert.AssertionError=function AssertionError(options){this.name="AssertionError";this.actual=options.actual;this.expected=options.expected;this.operator=options.operator;if(options.message){this.message=options.message;this.generatedMessage=false}else{this.message=getMessage(this);this.generatedMessage=true}var stackStartFunction=options.stackStartFunction||fail;if(Error.captureStackTrace){Error.captureStackTrace(this,stackStartFunction)}else{var err=new Error;if(err.stack){var out=err.stack;var fn_name=getName(stackStartFunction);var idx=out.indexOf("\n"+fn_name);if(idx>=0){var next_line=out.indexOf("\n",idx+1);out=out.substring(next_line+1)}this.stack=out}}};util.inherits(assert.AssertionError,Error);function truncate(s,n){if(typeof s==="string"){return s.length<n?s:s.slice(0,n)}else{return s}}function inspect(something){if(functionsHaveNames||!util.isFunction(something)){return util.inspect(something)}var rawname=getName(something);var name=rawname?": "+rawname:"";return"[Function"+name+"]"}function getMessage(self){return truncate(inspect(self.actual),128)+" "+self.operator+" "+truncate(inspect(self.expected),128)}function fail(actual,expected,message,operator,stackStartFunction){throw new assert.AssertionError({message:message,actual:actual,expected:expected,operator:operator,stackStartFunction:stackStartFunction})}assert.fail=fail;function ok(value,message){if(!value)fail(value,true,message,"==",assert.ok)}assert.ok=ok;assert.equal=function equal(actual,expected,message){if(actual!=expected)fail(actual,expected,message,"==",assert.equal)};assert.notEqual=function notEqual(actual,expected,message){if(actual==expected){fail(actual,expected,message,"!=",assert.notEqual)}};assert.deepEqual=function deepEqual(actual,expected,message){if(!_deepEqual(actual,expected,false)){fail(actual,expected,message,"deepEqual",assert.deepEqual)}};assert.deepStrictEqual=function deepStrictEqual(actual,expected,message){if(!_deepEqual(actual,expected,true)){fail(actual,expected,message,"deepStrictEqual",assert.deepStrictEqual)}};function _deepEqual(actual,expected,strict,memos){if(actual===expected){return true}else if(isBuffer(actual)&&isBuffer(expected)){return compare(actual,expected)===0}else if(util.isDate(actual)&&util.isDate(expected)){return actual.getTime()===expected.getTime()}else if(util.isRegExp(actual)&&util.isRegExp(expected)){return actual.source===expected.source&&actual.global===expected.global&&actual.multiline===expected.multiline&&actual.lastIndex===expected.lastIndex&&actual.ignoreCase===expected.ignoreCase}else if((actual===null||typeof actual!=="object")&&(expected===null||typeof expected!=="object")){return strict?actual===expected:actual==expected}else if(isView(actual)&&isView(expected)&&pToString(actual)===pToString(expected)&&!(actual instanceof Float32Array||actual instanceof Float64Array)){return compare(new Uint8Array(actual.buffer),new Uint8Array(expected.buffer))===0}else if(isBuffer(actual)!==isBuffer(expected)){return false}else{memos=memos||{actual:[],expected:[]};var actualIndex=memos.actual.indexOf(actual);if(actualIndex!==-1){if(actualIndex===memos.expected.indexOf(expected)){return true}}memos.actual.push(actual);memos.expected.push(expected);return objEquiv(actual,expected,strict,memos)}}function isArguments(object){return Object.prototype.toString.call(object)=="[object Arguments]"}function objEquiv(a,b,strict,actualVisitedObjects){if(a===null||a===undefined||b===null||b===undefined)return false;if(util.isPrimitive(a)||util.isPrimitive(b))return a===b;if(strict&&Object.getPrototypeOf(a)!==Object.getPrototypeOf(b))return false;var aIsArgs=isArguments(a);var bIsArgs=isArguments(b);if(aIsArgs&&!bIsArgs||!aIsArgs&&bIsArgs)return false;if(aIsArgs){a=pSlice.call(a);b=pSlice.call(b);return _deepEqual(a,b,strict)}var ka=objectKeys(a);var kb=objectKeys(b);var key,i;if(ka.length!==kb.length)return false;ka.sort();kb.sort();for(i=ka.length-1;i>=0;i--){if(ka[i]!==kb[i])return false}for(i=ka.length-1;i>=0;i--){key=ka[i];if(!_deepEqual(a[key],b[key],strict,actualVisitedObjects))return false}return true}assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(_deepEqual(actual,expected,false)){fail(actual,expected,message,"notDeepEqual",assert.notDeepEqual)}};assert.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(actual,expected,message){if(_deepEqual(actual,expected,true)){fail(actual,expected,message,"notDeepStrictEqual",notDeepStrictEqual)}}assert.strictEqual=function strictEqual(actual,expected,message){if(actual!==expected){fail(actual,expected,message,"===",assert.strictEqual)}};assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(actual===expected){fail(actual,expected,message,"!==",assert.notStrictEqual)}};function expectedException(actual,expected){if(!actual||!expected){return false}if(Object.prototype.toString.call(expected)=="[object RegExp]"){return expected.test(actual)}try{if(actual instanceof expected){return true}}catch(e){}if(Error.isPrototypeOf(expected)){return false}return expected.call({},actual)===true}function _tryBlock(block){var error;try{block()}catch(e){error=e}return error}function _throws(shouldThrow,block,expected,message){var actual;if(typeof block!=="function"){throw new TypeError('"block" argument must be a function')}if(typeof expected==="string"){message=expected;expected=null}actual=_tryBlock(block);message=(expected&&expected.name?" ("+expected.name+").":".")+(message?" "+message:".");if(shouldThrow&&!actual){fail(actual,expected,"Missing expected exception"+message)}var userProvidedMessage=typeof message==="string";var isUnwantedException=!shouldThrow&&util.isError(actual);var isUnexpectedException=!shouldThrow&&actual&&!expected;if(isUnwantedException&&userProvidedMessage&&expectedException(actual,expected)||isUnexpectedException){fail(actual,expected,"Got unwanted exception"+message)}if(shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual){throw actual}}assert.throws=function(block,error,message){_throws(true,block,error,message)};assert.doesNotThrow=function(block,error,message){_throws(false,block,error,message)};assert.ifError=function(err){if(err)throw err};function strict(value,message){if(!value)fail(value,true,message,"==",strict)}assert.strict=objectAssign(strict,assert,{equal:assert.strictEqual,deepEqual:assert.deepStrictEqual,notEqual:assert.notStrictEqual,notDeepEqual:assert.notDeepStrictEqual});assert.strict.strict=assert.strict;var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){if(hasOwn.call(obj,key))keys.push(key)}return keys}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"object-assign":487,"util/":83}],81:[function(_dereq_,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}else{module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}},{}],82:[function(_dereq_,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==="object"&&typeof arg.copy==="function"&&typeof arg.fill==="function"&&typeof arg.readUInt8==="function"}},{}],83:[function(_dereq_,module,exports){(function(process,global){(function(){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){var objects=[];for(var i=0;i<arguments.length;i++){objects.push(inspect(arguments[i]))}return objects.join(" ")}var i=1;var args=arguments;var len=args.length;var str=String(f).replace(formatRegExp,(function(x){if(x==="%%")return"%";if(i>=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}}));for(var x=args[i];i<len;x=args[++i]){if(isNull(x)||!isObject(x)){str+=" "+x}else{str+=" "+inspect(x)}}return str};exports.deprecate=function(fn,msg){if(isUndefined(global.process)){return function(){return exports.deprecate(fn,msg).apply(this,arguments)}}if(process.noDeprecation===true){return fn}var warned=false;function deprecated(){if(!warned){if(process.throwDeprecation){throw new Error(msg)}else if(process.traceDeprecation){console.trace(msg)}else{console.error(msg)}warned=true}return fn.apply(this,arguments)}return deprecated};var debugs={};var debugEnviron;exports.debuglog=function(set){if(isUndefined(debugEnviron))debugEnviron=process.env.NODE_DEBUG||"";set=set.toUpperCase();if(!debugs[set]){if(new RegExp("\\b"+set+"\\b","i").test(debugEnviron)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else{debugs[set]=function(){}}}return debugs[set]};function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};if(arguments.length>=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach((function(val,idx){hash[val]=true}));return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map((function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)}))}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i<l;++i){if(hasOwnProperty(value,String(i))){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),true))}else{output.push("")}}keys.forEach((function(key){if(!key.match(/^\d+$/)){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,true))}}));return output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]};if(desc.get){if(desc.set){str=ctx.stylize("[Getter/Setter]","special")}else{str=ctx.stylize("[Getter]","special")}}else{if(desc.set){str=ctx.stylize("[Setter]","special")}}if(!hasOwnProperty(visibleKeys,key)){name="["+key+"]"}if(!str){if(ctx.seen.indexOf(desc.value)<0){if(isNull(recurseTimes)){str=formatValue(ctx,desc.value,null)}else{str=formatValue(ctx,desc.value,recurseTimes-1)}if(str.indexOf("\n")>-1){if(array){str=str.split("\n").map((function(line){return"  "+line})).join("\n").substr(2)}else{str="\n"+str.split("\n").map((function(line){return"   "+line})).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce((function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n  ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=_dereq_("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=_dereq_("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}}).call(this)}).call(this,_dereq_("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":82,_process:528,inherits:81}],84:[function(_dereq_,module,exports){module.exports=function _atob(str){return atob(str)}},{}],85:[function(_dereq_,module,exports){"use strict";module.exports=barycentric;var solve=_dereq_("robust-linear-solve");function reduce(x){var r=0;for(var i=0;i<x.length;++i){r+=x[i]}return r}function barycentric(simplex,point){var d=point.length;var A=new Array(d+1);for(var i=0;i<d;++i){var row=new Array(d+1);for(var j=0;j<=d;++j){row[j]=simplex[j][i]}A[i]=row}A[d]=new Array(d+1);for(var i=0;i<=d;++i){A[d][i]=1}var b=new Array(d+1);for(var i=0;i<d;++i){b[i]=point[i]}b[d]=1;var x=solve(A,b);var w=reduce(x[d+1]);if(w===0){w=1}var y=new Array(d+1);for(var i=0;i<=d;++i){y[i]=reduce(x[i])/w}return y}},{"robust-linear-solve":547}],86:[function(_dereq_,module,exports){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i<len;++i){lookup[i]=code[i];revLookup[code.charCodeAt(i)]=i}revLookup["-".charCodeAt(0)]=62;revLookup["_".charCodeAt(0)]=63;function getLens(b64){var len=b64.length;if(len%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i<len;i+=4){tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)];arr[curByte++]=tmp>>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;i<end;i+=3){tmp=(uint8[i]<<16&16711680)+(uint8[i+1]<<8&65280)+(uint8[i+2]&255);output.push(tripletToBase64(tmp))}return output.join("")}function fromByteArray(uint8){var tmp;var len=uint8.length;var extraBytes=len%3;var parts=[];var maxChunkLength=16383;for(var i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength){parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],87:[function(_dereq_,module,exports){"use strict";var rationalize=_dereq_("./lib/rationalize");module.exports=add;function add(a,b){return rationalize(a[0].mul(b[1]).add(b[0].mul(a[1])),a[1].mul(b[1]))}},{"./lib/rationalize":97}],88:[function(_dereq_,module,exports){"use strict";module.exports=cmp;function cmp(a,b){return a[0].mul(b[1]).cmp(b[0].mul(a[1]))}},{}],89:[function(_dereq_,module,exports){"use strict";var rationalize=_dereq_("./lib/rationalize");module.exports=div;function div(a,b){return rationalize(a[0].mul(b[1]),a[1].mul(b[0]))}},{"./lib/rationalize":97}],90:[function(_dereq_,module,exports){"use strict";var isRat=_dereq_("./is-rat");var isBN=_dereq_("./lib/is-bn");var num2bn=_dereq_("./lib/num-to-bn");var str2bn=_dereq_("./lib/str-to-bn");var rationalize=_dereq_("./lib/rationalize");var div=_dereq_("./div");module.exports=makeRational;function makeRational(numer,denom){if(isRat(numer)){if(denom){return div(numer,makeRational(denom))}return[numer[0].clone(),numer[1].clone()]}var shift=0;var a,b;if(isBN(numer)){a=numer.clone()}else if(typeof numer==="string"){a=str2bn(numer)}else if(numer===0){return[num2bn(0),num2bn(1)]}else if(numer===Math.floor(numer)){a=num2bn(numer)}else{while(numer!==Math.floor(numer)){numer=numer*Math.pow(2,256);shift-=256}a=num2bn(numer)}if(isRat(denom)){a.mul(denom[1]);b=denom[0].clone()}else if(isBN(denom)){b=denom.clone()}else if(typeof denom==="string"){b=str2bn(denom)}else if(!denom){b=num2bn(1)}else if(denom===Math.floor(denom)){b=num2bn(denom)}else{while(denom!==Math.floor(denom)){denom=denom*Math.pow(2,256);shift+=256}b=num2bn(denom)}if(shift>0){a=a.ushln(shift)}else if(shift<0){b=b.ushln(-shift)}return rationalize(a,b)}},{"./div":89,"./is-rat":91,"./lib/is-bn":95,"./lib/num-to-bn":96,"./lib/rationalize":97,"./lib/str-to-bn":98}],91:[function(_dereq_,module,exports){"use strict";var isBN=_dereq_("./lib/is-bn");module.exports=isRat;function isRat(x){return Array.isArray(x)&&x.length===2&&isBN(x[0])&&isBN(x[1])}},{"./lib/is-bn":95}],92:[function(_dereq_,module,exports){"use strict";var BN=_dereq_("bn.js");module.exports=sign;function sign(x){return x.cmp(new BN(0))}},{"bn.js":106}],93:[function(_dereq_,module,exports){"use strict";var sign=_dereq_("./bn-sign");module.exports=bn2num;function bn2num(b){var l=b.length;var words=b.words;var out=0;if(l===1){out=words[0]}else if(l===2){out=words[0]+words[1]*67108864}else{for(var i=0;i<l;i++){var w=words[i];out+=w*Math.pow(67108864,i)}}return sign(b)*out}},{"./bn-sign":92}],94:[function(_dereq_,module,exports){"use strict";var db=_dereq_("double-bits");var ctz=_dereq_("bit-twiddle").countTrailingZeros;module.exports=ctzNumber;function ctzNumber(x){var l=ctz(db.lo(x));if(l<32){return l}var h=ctz(db.hi(x));if(h>20){return 52}return h+32}},{"bit-twiddle":104,"double-bits":182}],95:[function(_dereq_,module,exports){"use strict";var BN=_dereq_("bn.js");module.exports=isBN;function isBN(x){return x&&typeof x==="object"&&Boolean(x.words)}},{"bn.js":106}],96:[function(_dereq_,module,exports){"use strict";var BN=_dereq_("bn.js");var db=_dereq_("double-bits");module.exports=num2bn;function num2bn(x){var e=db.exponent(x);if(e<52){return new BN(x)}else{return new BN(x*Math.pow(2,52-e)).ushln(e-52)}}},{"bn.js":106,"double-bits":182}],97:[function(_dereq_,module,exports){"use strict";var num2bn=_dereq_("./num-to-bn");var sign=_dereq_("./bn-sign");module.exports=rationalize;function rationalize(numer,denom){var snumer=sign(numer);var sdenom=sign(denom);if(snumer===0){return[num2bn(0),num2bn(1)]}if(sdenom===0){return[num2bn(0),num2bn(0)]}if(sdenom<0){numer=numer.neg();denom=denom.neg()}var d=numer.gcd(denom);if(d.cmpn(1)){return[numer.div(d),denom.div(d)]}return[numer,denom]}},{"./bn-sign":92,"./num-to-bn":96}],98:[function(_dereq_,module,exports){"use strict";var BN=_dereq_("bn.js");module.exports=str2BN;function str2BN(x){return new BN(x)}},{"bn.js":106}],99:[function(_dereq_,module,exports){"use strict";var rationalize=_dereq_("./lib/rationalize");module.exports=mul;function mul(a,b){return rationalize(a[0].mul(b[0]),a[1].mul(b[1]))}},{"./lib/rationalize":97}],100:[function(_dereq_,module,exports){"use strict";var bnsign=_dereq_("./lib/bn-sign");module.exports=sign;function sign(x){return bnsign(x[0])*bnsign(x[1])}},{"./lib/bn-sign":92}],101:[function(_dereq_,module,exports){"use strict";var rationalize=_dereq_("./lib/rationalize");module.exports=sub;function sub(a,b){return rationalize(a[0].mul(b[1]).sub(a[1].mul(b[0])),a[1].mul(b[1]))}},{"./lib/rationalize":97}],102:[function(_dereq_,module,exports){"use strict";var bn2num=_dereq_("./lib/bn-to-num");var ctz=_dereq_("./lib/ctz");module.exports=roundRat;function roundRat(f){var a=f[0];var b=f[1];if(a.cmpn(0)===0){return 0}var h=a.abs().divmod(b.abs());var iv=h.div;var x=bn2num(iv);var ir=h.mod;var sgn=a.negative!==b.negative?-1:1;if(ir.cmpn(0)===0){return sgn*x}if(x){var s=ctz(x)+4;var y=bn2num(ir.ushln(s).divRound(b));return sgn*(x+y*Math.pow(2,-s))}else{var ybits=b.bitLength()-ir.bitLength()+53;var y=bn2num(ir.ushln(ybits).divRound(b));if(ybits<1023){return sgn*y*Math.pow(2,-ybits)}y*=Math.pow(2,-1023);return sgn*y*Math.pow(2,1023-ybits)}}},{"./lib/bn-to-num":93,"./lib/ctz":94}],103:[function(_dereq_,module,exports){"use strict";function ge(a,y,c,l,h){var i=h+1;while(l<=h){var m=l+h>>>1,x=a[m];var p=c!==undefined?c(x,y):x-y;if(p>=0){i=m;h=m-1}else{l=m+1}}return i}function gt(a,y,c,l,h){var i=h+1;while(l<=h){var m=l+h>>>1,x=a[m];var p=c!==undefined?c(x,y):x-y;if(p>0){i=m;h=m-1}else{l=m+1}}return i}function lt(a,y,c,l,h){var i=l-1;while(l<=h){var m=l+h>>>1,x=a[m];var p=c!==undefined?c(x,y):x-y;if(p<0){i=m;l=m+1}else{h=m-1}}return i}function le(a,y,c,l,h){var i=l-1;while(l<=h){var m=l+h>>>1,x=a[m];var p=c!==undefined?c(x,y):x-y;if(p<=0){i=m;l=m+1}else{h=m-1}}return i}function eq(a,y,c,l,h){while(l<=h){var m=l+h>>>1,x=a[m];var p=c!==undefined?c(x,y):x-y;if(p===0){return m}if(p<=0){l=m+1}else{h=m-1}}return-1}function norm(a,y,c,l,h,f){if(typeof c==="function"){return f(a,y,c,l===undefined?0:l|0,h===undefined?a.length-1:h|0)}return f(a,y,undefined,c===undefined?0:c|0,l===undefined?a.length-1:l|0)}module.exports={ge:function(a,y,c,l,h){return norm(a,y,c,l,h,ge)},gt:function(a,y,c,l,h){return norm(a,y,c,l,h,gt)},lt:function(a,y,c,l,h){return norm(a,y,c,l,h,lt)},le:function(a,y,c,l,h){return norm(a,y,c,l,h,le)},eq:function(a,y,c,l,h){return norm(a,y,c,l,h,eq)}}},{}],104:[function(_dereq_,module,exports){"use strict";"use restrict";var INT_BITS=32;exports.INT_BITS=INT_BITS;exports.INT_MAX=2147483647;exports.INT_MIN=-1<<INT_BITS-1;exports.sign=function(v){return(v>0)-(v<0)};exports.abs=function(v){var mask=v>>INT_BITS-1;return(v^mask)-mask};exports.min=function(x,y){return y^(x^y)&-(x<y)};exports.max=function(x,y){return x^(x^y)&-(x<y)};exports.isPow2=function(v){return!(v&v-1)&&!!v};exports.log2=function(v){var r,shift;r=(v>65535)<<4;v>>>=r;shift=(v>255)<<3;v>>>=shift;r|=shift;shift=(v>15)<<2;v>>>=shift;r|=shift;shift=(v>3)<<1;v>>>=shift;r|=shift;return r|v>>1};exports.log10=function(v){return v>=1e9?9:v>=1e8?8:v>=1e7?7:v>=1e6?6:v>=1e5?5:v>=1e4?4:v>=1e3?3:v>=100?2:v>=10?1:0};exports.popCount=function(v){v=v-(v>>>1&1431655765);v=(v&858993459)+(v>>>2&858993459);return(v+(v>>>4)&252645135)*16843009>>>24};function countTrailingZeros(v){var c=32;v&=-v;if(v)c--;if(v&65535)c-=16;if(v&16711935)c-=8;if(v&252645135)c-=4;if(v&858993459)c-=2;if(v&1431655765)c-=1;return c}exports.countTrailingZeros=countTrailingZeros;exports.nextPow2=function(v){v+=v===0;--v;v|=v>>>1;v|=v>>>2;v|=v>>>4;v|=v>>>8;v|=v>>>16;return v+1};exports.prevPow2=function(v){v|=v>>>1;v|=v>>>2;v|=v>>>4;v|=v>>>8;v|=v>>>16;return v-(v>>>1)};exports.parity=function(v){v^=v>>>16;v^=v>>>8;v^=v>>>4;v&=15;return 27030>>>v&1};var REVERSE_TABLE=new Array(256);(function(tab){for(var i=0;i<256;++i){var v=i,r=i,s=7;for(v>>>=1;v;v>>>=1){r<<=1;r|=v&1;--s}tab[i]=r<<s&255}})(REVERSE_TABLE);exports.reverse=function(v){return REVERSE_TABLE[v&255]<<24|REVERSE_TABLE[v>>>8&255]<<16|REVERSE_TABLE[v>>>16&255]<<8|REVERSE_TABLE[v>>>24&255]};exports.interleave2=function(x,y){x&=65535;x=(x|x<<8)&16711935;x=(x|x<<4)&252645135;x=(x|x<<2)&858993459;x=(x|x<<1)&1431655765;y&=65535;y=(y|y<<8)&16711935;y=(y|y<<4)&252645135;y=(y|y<<2)&858993459;y=(y|y<<1)&1431655765;return x|y<<1};exports.deinterleave2=function(v,n){v=v>>>n&1431655765;v=(v|v>>>1)&858993459;v=(v|v>>>2)&252645135;v=(v|v>>>4)&16711935;v=(v|v>>>16)&65535;return v<<16>>16};exports.interleave3=function(x,y,z){x&=1023;x=(x|x<<16)&4278190335;x=(x|x<<8)&251719695;x=(x|x<<4)&3272356035;x=(x|x<<2)&1227133513;y&=1023;y=(y|y<<16)&4278190335;y=(y|y<<8)&251719695;y=(y|y<<4)&3272356035;y=(y|y<<2)&1227133513;x|=y<<1;z&=1023;z=(z|z<<16)&4278190335;z=(z|z<<8)&251719695;z=(z|z<<4)&3272356035;z=(z|z<<2)&1227133513;return x|z<<2};exports.deinterleave3=function(v,n){v=v>>>n&1227133513;v=(v|v>>>2)&3272356035;v=(v|v>>>4)&251719695;v=(v|v>>>8)&4278190335;v=(v|v>>>16)&1023;return v<<22>>22};exports.nextCombination=function(v){var t=v|v-1;return t+1|(~t&-~t)-1>>>countTrailingZeros(v)+1}},{}],105:[function(_dereq_,module,exports){"use strict";var clamp=_dereq_("clamp");module.exports=calcSDF;var INF=1e20;function calcSDF(src,options){if(!options)options={};var cutoff=options.cutoff==null?.25:options.cutoff;var radius=options.radius==null?8:options.radius;var channel=options.channel||0;var w,h,size,data,intData,stride,ctx,canvas,imgData,i,l;if(ArrayBuffer.isView(src)||Array.isArray(src)){if(!options.width||!options.height)throw Error("For raw data width and height should be provided by options");w=options.width,h=options.height;data=src;if(!options.stride)stride=Math.floor(src.length/w/h);else stride=options.stride}else{if(window.HTMLCanvasElement&&src instanceof window.HTMLCanvasElement){canvas=src;ctx=canvas.getContext("2d");w=canvas.width,h=canvas.height;imgData=ctx.getImageData(0,0,w,h);data=imgData.data;stride=4}else if(window.CanvasRenderingContext2D&&src instanceof window.CanvasRenderingContext2D){canvas=src.canvas;ctx=src;w=canvas.width,h=canvas.height;imgData=ctx.getImageData(0,0,w,h);data=imgData.data;stride=4}else if(window.ImageData&&src instanceof window.ImageData){imgData=src;w=src.width,h=src.height;data=imgData.data;stride=4}}size=Math.max(w,h);if(window.Uint8ClampedArray&&data instanceof window.Uint8ClampedArray||window.Uint8Array&&data instanceof window.Uint8Array){intData=data;data=Array(w*h);for(i=0,l=intData.length;i<l;i++){data[i]=intData[i*stride+channel]/255}}else{if(stride!==1)throw Error("Raw data can have only 1 value per pixel")}var gridOuter=Array(w*h);var gridInner=Array(w*h);var f=Array(size);var d=Array(size);var z=Array(size+1);var v=Array(size);for(i=0,l=w*h;i<l;i++){var a=data[i];gridOuter[i]=a===1?0:a===0?INF:Math.pow(Math.max(0,.5-a),2);gridInner[i]=a===1?INF:a===0?0:Math.pow(Math.max(0,a-.5),2)}edt(gridOuter,w,h,f,d,v,z);edt(gridInner,w,h,f,d,v,z);var dist=window.Float32Array?new Float32Array(w*h):new Array(w*h);for(i=0,l=w*h;i<l;i++){dist[i]=clamp(1-((gridOuter[i]-gridInner[i])/radius+cutoff),0,1)}return dist}function edt(data,width,height,f,d,v,z){for(var x=0;x<width;x++){for(var y=0;y<height;y++){f[y]=data[y*width+x]}edt1d(f,d,v,z,height);for(y=0;y<height;y++){data[y*width+x]=d[y]}}for(y=0;y<height;y++){for(x=0;x<width;x++){f[x]=data[y*width+x]}edt1d(f,d,v,z,width);for(x=0;x<width;x++){data[y*width+x]=Math.sqrt(d[x])}}}function edt1d(f,d,v,z,n){v[0]=0;z[0]=-INF;z[1]=+INF;for(var q=1,k=0;q<n;q++){var s=(f[q]+q*q-(f[v[k]]+v[k]*v[k]))/(2*q-2*v[k]);while(s<=z[k]){k--;s=(f[q]+q*q-(f[v[k]]+v[k]*v[k]))/(2*q-2*v[k])}k++;v[k]=q;z[k]=s;z[k+1]=+INF}for(q=0,k=0;q<n;q++){while(z[k+1]<q)k++;d[q]=(q-v[k])*(q-v[k])+f[v[k]]}}},{clamp:126}],106:[function(_dereq_,module,exports){(function(module,exports){"use strict";function assert(val,msg){if(!val)throw new Error(msg||"Assertion failed")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number)){return number}this.negative=0;this.words=null;this.length=0;this.red=null;if(number!==null){if(base==="le"||base==="be"){endian=base;base=10}this._init(number||0,base||10,endian||"be")}}if(typeof module==="object"){module.exports=BN}else{exports.BN=BN}BN.BN=BN;BN.wordSize=26;var Buffer;try{Buffer=_dereq_("buffer").Buffer}catch(e){}BN.isBN=function isBN(num){if(num instanceof BN){return true}return num!==null&&typeof num==="object"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)};BN.max=function max(left,right){if(left.cmp(right)>0)return left;return right};BN.min=function min(left,right){if(left.cmp(right)<0)return left;return right};BN.prototype._init=function init(number,base,endian){if(typeof number==="number"){return this._initNumber(number,base,endian)}if(typeof number==="object"){return this._initArray(number,base,endian)}if(base==="hex"){base=16}assert(base===(base|0)&&base>=2&&base<=36);number=number.toString().replace(/\s+/g,"");var start=0;if(number[0]==="-"){start++}if(base===16){this._parseHex(number,start)}else{this._parseBase(number,base,start)}if(number[0]==="-"){this.negative=1}this.strip();if(endian!=="le")return;this._initArray(this.toArray(),base,endian)};BN.prototype._initNumber=function _initNumber(number,base,endian){if(number<0){this.negative=1;number=-number}if(number<67108864){this.words=[number&67108863];this.length=1}else if(number<4503599627370496){this.words=[number&67108863,number/67108864&67108863];this.length=2}else{assert(number<9007199254740992);this.words=[number&67108863,number/67108864&67108863,1];this.length=3}if(endian!=="le")return;this._initArray(this.toArray(),base,endian)};BN.prototype._initArray=function _initArray(number,base,endian){assert(typeof number.length==="number");if(number.length<=0){this.words=[0];this.length=1;return this}this.length=Math.ceil(number.length/3);this.words=new Array(this.length);for(var i=0;i<this.length;i++){this.words[i]=0}var j,w;var off=0;if(endian==="be"){for(i=number.length-1,j=0;i>=0;i-=3){w=number[i]|number[i-1]<<8|number[i-2]<<16;this.words[j]|=w<<off&67108863;this.words[j+1]=w>>>26-off&67108863;off+=24;if(off>=26){off-=26;j++}}}else if(endian==="le"){for(i=0,j=0;i<number.length;i+=3){w=number[i]|number[i+1]<<8|number[i+2]<<16;this.words[j]|=w<<off&67108863;this.words[j+1]=w>>>26-off&67108863;off+=24;if(off>=26){off-=26;j++}}}return this.strip()};function parseHex(str,start,end){var r=0;var len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;r<<=4;if(c>=49&&c<=54){r|=c-49+10}else if(c>=17&&c<=22){r|=c-17+10}else{r|=c&15}}return r}BN.prototype._parseHex=function _parseHex(number,start){this.length=Math.ceil((number.length-start)/6);this.words=new Array(this.length);for(var i=0;i<this.length;i++){this.words[i]=0}var j,w;var off=0;for(i=number.length-6,j=0;i>=start;i-=6){w=parseHex(number,i,i+6);this.words[j]|=w<<off&67108863;this.words[j+1]|=w>>>26-off&4194303;off+=24;if(off>=26){off-=26;j++}}if(i+6!==start){w=parseHex(number,start,i+6);this.words[j]|=w<<off&67108863;this.words[j+1]|=w>>>26-off&4194303}this.strip()};function parseBase(str,start,end,mul){var r=0;var len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;r*=mul;if(c>=49){r+=c-49+10}else if(c>=17){r+=c-17+10}else{r+=c}}return r}BN.prototype._parseBase=function _parseBase(number,base,start){this.words=[0];this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base){limbLen++}limbLen--;limbPow=limbPow/base|0;var total=number.length-start;var mod=total%limbLen;var end=Math.min(total,total-mod)+start;var word=0;for(var i=start;i<end;i+=limbLen){word=parseBase(number,i,i+limbLen,base);this.imuln(limbPow);if(this.words[0]+word<67108864){this.words[0]+=word}else{this._iaddn(word)}}if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++){pow*=base}this.imuln(pow);if(this.words[0]+word<67108864){this.words[0]+=word}else{this._iaddn(word)}}};BN.prototype.copy=function copy(dest){dest.words=new Array(this.length);for(var i=0;i<this.length;i++){dest.words[i]=this.words[i]}dest.length=this.length;dest.negative=this.negative;dest.red=this.red};BN.prototype.clone=function clone(){var r=new BN(null);this.copy(r);return r};BN.prototype._expand=function _expand(size){while(this.length<size){this.words[this.length++]=0}return this};BN.prototype.strip=function strip(){while(this.length>1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};BN.prototype.inspect=function inspect(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var zeros=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"];var groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString(base,padding){base=base||10;padding=padding|0||1;var out;if(base===16||base==="hex"){out="";var off=0;var carry=0;for(var i=0;i<this.length;i++){var w=this.words[i];var word=((w<<off|carry)&16777215).toString(16);carry=w>>>24-off&16777215;if(carry!==0||i!==this.length-1){out=zeros[6-word.length]+word+out}else{out=word+out}off+=2;if(off>=26){off-=26;i--}}if(carry!==0){out=carry.toString(16)+out}while(out.length%padding!==0){out="0"+out}if(this.negative!==0){out="-"+out}return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base];var groupBase=groupBases[base];out="";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase);if(!c.isZero()){out=zeros[groupSize-r.length]+r+out}else{out=r+out}}if(this.isZero()){out="0"+out}while(out.length%padding!==0){out="0"+out}if(this.negative!==0){out="-"+out}return out}assert(false,"Base should be between 2 and 36")};BN.prototype.toNumber=function toNumber(){var ret=this.words[0];if(this.length===2){ret+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){ret+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,"Number can only safely store up to 53 bits")}return this.negative!==0?-ret:ret};BN.prototype.toJSON=function toJSON(){return this.toString(16)};BN.prototype.toBuffer=function toBuffer(endian,length){assert(typeof Buffer!=="undefined");return this.toArrayLike(Buffer,endian,length)};BN.prototype.toArray=function toArray(endian,length){return this.toArrayLike(Array,endian,length)};BN.prototype.toArrayLike=function toArrayLike(ArrayType,endian,length){var byteLength=this.byteLength();var reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,"byte array longer than desired length");assert(reqLength>0,"Requested array length <= 0");this.strip();var littleEndian=endian==="le";var res=new ArrayType(reqLength);var b,i;var q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++){res[i]=0}for(i=0;!q.isZero();i++){b=q.andln(255);q.iushrn(8);res[reqLength-i-1]=b}}else{for(i=0;!q.isZero();i++){b=q.andln(255);q.iushrn(8);res[i]=b}for(;i<reqLength;i++){res[i]=0}}return res};if(Math.clz32){BN.prototype._countBits=function _countBits(w){return 32-Math.clz32(w)}}else{BN.prototype._countBits=function _countBits(w){var t=w;var r=0;if(t>=4096){r+=13;t>>>=13}if(t>=64){r+=7;t>>>=7}if(t>=8){r+=4;t>>>=4}if(t>=2){r+=2;t>>>=2}return r+t}}BN.prototype._zeroBits=function _zeroBits(w){if(w===0)return 26;var t=w;var r=0;if((t&8191)===0){r+=13;t>>>=13}if((t&127)===0){r+=7;t>>>=7}if((t&15)===0){r+=4;t>>>=4}if((t&3)===0){r+=2;t>>>=2}if((t&1)===0){r++}return r};BN.prototype.bitLength=function bitLength(){var w=this.words[this.length-1];var hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=new Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0;var wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);r+=b;if(b!==26)break}return r};BN.prototype.byteLength=function byteLength(){return Math.ceil(this.bitLength()/8)};BN.prototype.toTwos=function toTwos(width){if(this.negative!==0){return this.abs().inotn(width).iaddn(1)}return this.clone()};BN.prototype.fromTwos=function fromTwos(width){if(this.testn(width-1)){return this.notn(width).iaddn(1).ineg()}return this.clone()};BN.prototype.isNeg=function isNeg(){return this.negative!==0};BN.prototype.neg=function neg(){return this.clone().ineg()};BN.prototype.ineg=function ineg(){if(!this.isZero()){this.negative^=1}return this};BN.prototype.iuor=function iuor(num){while(this.length<num.length){this.words[this.length++]=0}for(var i=0;i<num.length;i++){this.words[i]=this.words[i]|num.words[i]}return this.strip()};BN.prototype.ior=function ior(num){assert((this.negative|num.negative)===0);return this.iuor(num)};BN.prototype.or=function or(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)};BN.prototype.uor=function uor(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)};BN.prototype.iuand=function iuand(num){var b;if(this.length>num.length){b=num}else{b=this}for(var i=0;i<b.length;i++){this.words[i]=this.words[i]&num.words[i]}this.length=b.length;return this.strip()};BN.prototype.iand=function iand(num){assert((this.negative|num.negative)===0);return this.iuand(num)};BN.prototype.and=function and(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)};BN.prototype.uand=function uand(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)};BN.prototype.iuxor=function iuxor(num){var a;var b;if(this.length>num.length){a=this;b=num}else{a=num;b=this}for(var i=0;i<b.length;i++){this.words[i]=a.words[i]^b.words[i]}if(this!==a){for(;i<a.length;i++){this.words[i]=a.words[i]}}this.length=a.length;return this.strip()};BN.prototype.ixor=function ixor(num){assert((this.negative|num.negative)===0);return this.iuxor(num)};BN.prototype.xor=function xor(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)};BN.prototype.uxor=function uxor(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)};BN.prototype.inotn=function inotn(width){assert(typeof width==="number"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0;var bitsLeft=width%26;this._expand(bytesNeeded);if(bitsLeft>0){bytesNeeded--}for(var i=0;i<bytesNeeded;i++){this.words[i]=~this.words[i]&67108863}if(bitsLeft>0){this.words[i]=~this.words[i]&67108863>>26-bitsLeft}return this.strip()};BN.prototype.notn=function notn(width){return this.clone().inotn(width)};BN.prototype.setn=function setn(bit,val){assert(typeof bit==="number"&&bit>=0);var off=bit/26|0;var wbit=bit%26;this._expand(off+1);if(val){this.words[off]=this.words[off]|1<<wbit}else{this.words[off]=this.words[off]&~(1<<wbit)}return this.strip()};BN.prototype.iadd=function iadd(num){var r;if(this.negative!==0&&num.negative===0){this.negative=0;r=this.isub(num);this.negative^=1;return this._normSign()}else if(this.negative===0&&num.negative!==0){num.negative=0;r=this.isub(num);num.negative=1;return r._normSign()}var a,b;if(this.length>num.length){a=this;b=num}else{a=num;b=this}var carry=0;for(var i=0;i<b.length;i++){r=(a.words[i]|0)+(b.words[i]|0)+carry;this.words[i]=r&67108863;carry=r>>>26}for(;carry!==0&&i<a.length;i++){r=(a.words[i]|0)+carry;this.words[i]=r&67108863;carry=r>>>26}this.length=a.length;if(carry!==0){this.words[this.length]=carry;this.length++}else if(a!==this){for(;i<a.length;i++){this.words[i]=a.words[i]}}return this};BN.prototype.add=function add(num){var res;if(num.negative!==0&&this.negative===0){num.negative=0;res=this.sub(num);num.negative^=1;return res}else if(num.negative===0&&this.negative!==0){this.negative=0;res=num.sub(this);this.negative=1;return res}if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)};BN.prototype.isub=function isub(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);num.negative=1;return r._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(num);this.negative=1;return this._normSign()}var cmp=this.cmp(num);if(cmp===0){this.negative=0;this.length=1;this.words[0]=0;return this}var a,b;if(cmp>0){a=this;b=num}else{a=num;b=this}var carry=0;for(var i=0;i<b.length;i++){r=(a.words[i]|0)-(b.words[i]|0)+carry;carry=r>>26;this.words[i]=r&67108863}for(;carry!==0&&i<a.length;i++){r=(a.words[i]|0)+carry;carry=r>>26;this.words[i]=r&67108863}if(carry===0&&i<a.length&&a!==this){for(;i<a.length;i++){this.words[i]=a.words[i]}}this.length=Math.max(this.length,i);if(a!==this){this.negative=1}return this.strip()};BN.prototype.sub=function sub(num){return this.clone().isub(num)};function smallMulTo(self,num,out){out.negative=num.negative^self.negative;var len=self.length+num.length|0;out.length=len;len=len-1|0;var a=self.words[0]|0;var b=num.words[0]|0;var r=a*b;var lo=r&67108863;var carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26;var rword=carry&67108863;var maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self.length+1);j<=maxJ;j++){var i=k-j|0;a=self.words[i]|0;b=num.words[j]|0;r=a*b+rword;ncarry+=r/67108864|0;rword=r&67108863}out.words[k]=rword|0;carry=ncarry|0}if(carry!==0){out.words[k]=carry|0}else{out.length--}return out.strip()}var comb10MulTo=function comb10MulTo(self,num,out){var a=self.words;var b=num.words;var o=out.words;var c=0;var lo;var mid;var hi;var a0=a[0]|0;var al0=a0&8191;var ah0=a0>>>13;var a1=a[1]|0;var al1=a1&8191;var ah1=a1>>>13;var a2=a[2]|0;var al2=a2&8191;var ah2=a2>>>13;var a3=a[3]|0;var al3=a3&8191;var ah3=a3>>>13;var a4=a[4]|0;var al4=a4&8191;var ah4=a4>>>13;var a5=a[5]|0;var al5=a5&8191;var ah5=a5>>>13;var a6=a[6]|0;var al6=a6&8191;var ah6=a6>>>13;var a7=a[7]|0;var al7=a7&8191;var ah7=a7>>>13;var a8=a[8]|0;var al8=a8&8191;var ah8=a8>>>13;var a9=a[9]|0;var al9=a9&8191;var ah9=a9>>>13;var b0=b[0]|0;var bl0=b0&8191;var bh0=b0>>>13;var b1=b[1]|0;var bl1=b1&8191;var bh1=b1>>>13;var b2=b[2]|0;var bl2=b2&8191;var bh2=b2>>>13;var b3=b[3]|0;var bl3=b3&8191;var bh3=b3>>>13;var b4=b[4]|0;var bl4=b4&8191;var bh4=b4>>>13;var b5=b[5]|0;var bl5=b5&8191;var bh5=b5>>>13;var b6=b[6]|0;var bl6=b6&8191;var bh6=b6>>>13;var b7=b[7]|0;var bl7=b7&8191;var bh7=b7>>>13;var b8=b[8]|0;var bl8=b8&8191;var bh8=b8>>>13;var b9=b[9]|0;var bl9=b9&8191;var bh9=b9>>>13;out.negative=self.negative^num.negative;out.length=19;lo=Math.imul(al0,bl0);mid=Math.imul(al0,bh0);mid=mid+Math.imul(ah0,bl0)|0;hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0;w0&=67108863;lo=Math.imul(al1,bl0);mid=Math.imul(al1,bh0);mid=mid+Math.imul(ah1,bl0)|0;hi=Math.imul(ah1,bh0);lo=lo+Math.imul(al0,bl1)|0;mid=mid+Math.imul(al0,bh1)|0;mid=mid+Math.imul(ah0,bl1)|0;hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0;w1&=67108863;lo=Math.imul(al2,bl0);mid=Math.imul(al2,bh0);mid=mid+Math.imul(ah2,bl0)|0;hi=Math.imul(ah2,bh0);lo=lo+Math.imul(al1,bl1)|0;mid=mid+Math.imul(al1,bh1)|0;mid=mid+Math.imul(ah1,bl1)|0;hi=hi+Math.imul(ah1,bh1)|0;lo=lo+Math.imul(al0,bl2)|0;mid=mid+Math.imul(al0,bh2)|0;mid=mid+Math.imul(ah0,bl2)|0;hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0;w2&=67108863;lo=Math.imul(al3,bl0);mid=Math.imul(al3,bh0);mid=mid+Math.imul(ah3,bl0)|0;hi=Math.imul(ah3,bh0);lo=lo+Math.imul(al2,bl1)|0;mid=mid+Math.imul(al2,bh1)|0;mid=mid+Math.imul(ah2,bl1)|0;hi=hi+Math.imul(ah2,bh1)|0;lo=lo+Math.imul(al1,bl2)|0;mid=mid+Math.imul(al1,bh2)|0;mid=mid+Math.imul(ah1,bl2)|0;hi=hi+Math.imul(ah1,bh2)|0;lo=lo+Math.imul(al0,bl3)|0;mid=mid+Math.imul(al0,bh3)|0;mid=mid+Math.imul(ah0,bl3)|0;hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0;w3&=67108863;lo=Math.imul(al4,bl0);mid=Math.imul(al4,bh0);mid=mid+Math.imul(ah4,bl0)|0;hi=Math.imul(ah4,bh0);lo=lo+Math.imul(al3,bl1)|0;mid=mid+Math.imul(al3,bh1)|0;mid=mid+Math.imul(ah3,bl1)|0;hi=hi+Math.imul(ah3,bh1)|0;lo=lo+Math.imul(al2,bl2)|0;mid=mid+Math.imul(al2,bh2)|0;mid=mid+Math.imul(ah2,bl2)|0;hi=hi+Math.imul(ah2,bh2)|0;lo=lo+Math.imul(al1,bl3)|0;mid=mid+Math.imul(al1,bh3)|0;mid=mid+Math.imul(ah1,bl3)|0;hi=hi+Math.imul(ah1,bh3)|0;lo=lo+Math.imul(al0,bl4)|0;mid=mid+Math.imul(al0,bh4)|0;mid=mid+Math.imul(ah0,bl4)|0;hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0;w4&=67108863;lo=Math.imul(al5,bl0);mid=Math.imul(al5,bh0);mid=mid+Math.imul(ah5,bl0)|0;hi=Math.imul(ah5,bh0);lo=lo+Math.imul(al4,bl1)|0;mid=mid+Math.imul(al4,bh1)|0;mid=mid+Math.imul(ah4,bl1)|0;hi=hi+Math.imul(ah4,bh1)|0;lo=lo+Math.imul(al3,bl2)|0;mid=mid+Math.imul(al3,bh2)|0;mid=mid+Math.imul(ah3,bl2)|0;hi=hi+Math.imul(ah3,bh2)|0;lo=lo+Math.imul(al2,bl3)|0;mid=mid+Math.imul(al2,bh3)|0;mid=mid+Math.imul(ah2,bl3)|0;hi=hi+Math.imul(ah2,bh3)|0;lo=lo+Math.imul(al1,bl4)|0;mid=mid+Math.imul(al1,bh4)|0;mid=mid+Math.imul(ah1,bl4)|0;hi=hi+Math.imul(ah1,bh4)|0;lo=lo+Math.imul(al0,bl5)|0;mid=mid+Math.imul(al0,bh5)|0;mid=mid+Math.imul(ah0,bl5)|0;hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0;w5&=67108863;lo=Math.imul(al6,bl0);mid=Math.imul(al6,bh0);mid=mid+Math.imul(ah6,bl0)|0;hi=Math.imul(ah6,bh0);lo=lo+Math.imul(al5,bl1)|0;mid=mid+Math.imul(al5,bh1)|0;mid=mid+Math.imul(ah5,bl1)|0;hi=hi+Math.imul(ah5,bh1)|0;lo=lo+Math.imul(al4,bl2)|0;mid=mid+Math.imul(al4,bh2)|0;mid=mid+Math.imul(ah4,bl2)|0;hi=hi+Math.imul(ah4,bh2)|0;lo=lo+Math.imul(al3,bl3)|0;mid=mid+Math.imul(al3,bh3)|0;mid=mid+Math.imul(ah3,bl3)|0;hi=hi+Math.imul(ah3,bh3)|0;lo=lo+Math.imul(al2,bl4)|0;mid=mid+Math.imul(al2,bh4)|0;mid=mid+Math.imul(ah2,bl4)|0;hi=hi+Math.imul(ah2,bh4)|0;lo=lo+Math.imul(al1,bl5)|0;mid=mid+Math.imul(al1,bh5)|0;mid=mid+Math.imul(ah1,bl5)|0;hi=hi+Math.imul(ah1,bh5)|0;lo=lo+Math.imul(al0,bl6)|0;mid=mid+Math.imul(al0,bh6)|0;mid=mid+Math.imul(ah0,bl6)|0;hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0;w6&=67108863;lo=Math.imul(al7,bl0);mid=Math.imul(al7,bh0);mid=mid+Math.imul(ah7,bl0)|0;hi=Math.imul(ah7,bh0);lo=lo+Math.imul(al6,bl1)|0;mid=mid+Math.imul(al6,bh1)|0;mid=mid+Math.imul(ah6,bl1)|0;hi=hi+Math.imul(ah6,bh1)|0;lo=lo+Math.imul(al5,bl2)|0;mid=mid+Math.imul(al5,bh2)|0;mid=mid+Math.imul(ah5,bl2)|0;hi=hi+Math.imul(ah5,bh2)|0;lo=lo+Math.imul(al4,bl3)|0;mid=mid+Math.imul(al4,bh3)|0;mid=mid+Math.imul(ah4,bl3)|0;hi=hi+Math.imul(ah4,bh3)|0;lo=lo+Math.imul(al3,bl4)|0;mid=mid+Math.imul(al3,bh4)|0;mid=mid+Math.imul(ah3,bl4)|0;hi=hi+Math.imul(ah3,bh4)|0;lo=lo+Math.imul(al2,bl5)|0;mid=mid+Math.imul(al2,bh5)|0;mid=mid+Math.imul(ah2,bl5)|0;hi=hi+Math.imul(ah2,bh5)|0;lo=lo+Math.imul(al1,bl6)|0;mid=mid+Math.imul(al1,bh6)|0;mid=mid+Math.imul(ah1,bl6)|0;hi=hi+Math.imul(ah1,bh6)|0;lo=lo+Math.imul(al0,bl7)|0;mid=mid+Math.imul(al0,bh7)|0;mid=mid+Math.imul(ah0,bl7)|0;hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0;w7&=67108863;lo=Math.imul(al8,bl0);mid=Math.imul(al8,bh0);mid=mid+Math.imul(ah8,bl0)|0;hi=Math.imul(ah8,bh0);lo=lo+Math.imul(al7,bl1)|0;mid=mid+Math.imul(al7,bh1)|0;mid=mid+Math.imul(ah7,bl1)|0;hi=hi+Math.imul(ah7,bh1)|0;lo=lo+Math.imul(al6,bl2)|0;mid=mid+Math.imul(al6,bh2)|0;mid=mid+Math.imul(ah6,bl2)|0;hi=hi+Math.imul(ah6,bh2)|0;lo=lo+Math.imul(al5,bl3)|0;mid=mid+Math.imul(al5,bh3)|0;mid=mid+Math.imul(ah5,bl3)|0;hi=hi+Math.imul(ah5,bh3)|0;lo=lo+Math.imul(al4,bl4)|0;mid=mid+Math.imul(al4,bh4)|0;mid=mid+Math.imul(ah4,bl4)|0;hi=hi+Math.imul(ah4,bh4)|0;lo=lo+Math.imul(al3,bl5)|0;mid=mid+Math.imul(al3,bh5)|0;mid=mid+Math.imul(ah3,bl5)|0;hi=hi+Math.imul(ah3,bh5)|0;lo=lo+Math.imul(al2,bl6)|0;mid=mid+Math.imul(al2,bh6)|0;mid=mid+Math.imul(ah2,bl6)|0;hi=hi+Math.imul(ah2,bh6)|0;lo=lo+Math.imul(al1,bl7)|0;mid=mid+Math.imul(al1,bh7)|0;mid=mid+Math.imul(ah1,bl7)|0;hi=hi+Math.imul(ah1,bh7)|0;lo=lo+Math.imul(al0,bl8)|0;mid=mid+Math.imul(al0,bh8)|0;mid=mid+Math.imul(ah0,bl8)|0;hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0;w8&=67108863;lo=Math.imul(al9,bl0);mid=Math.imul(al9,bh0);mid=mid+Math.imul(ah9,bl0)|0;hi=Math.imul(ah9,bh0);lo=lo+Math.imul(al8,bl1)|0;mid=mid+Math.imul(al8,bh1)|0;mid=mid+Math.imul(ah8,bl1)|0;hi=hi+Math.imul(ah8,bh1)|0;lo=lo+Math.imul(al7,bl2)|0;mid=mid+Math.imul(al7,bh2)|0;mid=mid+Math.imul(ah7,bl2)|0;hi=hi+Math.imul(ah7,bh2)|0;lo=lo+Math.imul(al6,bl3)|0;mid=mid+Math.imul(al6,bh3)|0;mid=mid+Math.imul(ah6,bl3)|0;hi=hi+Math.imul(ah6,bh3)|0;lo=lo+Math.imul(al5,bl4)|0;mid=mid+Math.imul(al5,bh4)|0;mid=mid+Math.imul(ah5,bl4)|0;hi=hi+Math.imul(ah5,bh4)|0;lo=lo+Math.imul(al4,bl5)|0;mid=mid+Math.imul(al4,bh5)|0;mid=mid+Math.imul(ah4,bl5)|0;hi=hi+Math.imul(ah4,bh5)|0;lo=lo+Math.imul(al3,bl6)|0;mid=mid+Math.imul(al3,bh6)|0;mid=mid+Math.imul(ah3,bl6)|0;hi=hi+Math.imul(ah3,bh6)|0;lo=lo+Math.imul(al2,bl7)|0;mid=mid+Math.imul(al2,bh7)|0;mid=mid+Math.imul(ah2,bl7)|0;hi=hi+Math.imul(ah2,bh7)|0;lo=lo+Math.imul(al1,bl8)|0;mid=mid+Math.imul(al1,bh8)|0;mid=mid+Math.imul(ah1,bl8)|0;hi=hi+Math.imul(ah1,bh8)|0;lo=lo+Math.imul(al0,bl9)|0;mid=mid+Math.imul(al0,bh9)|0;mid=mid+Math.imul(ah0,bl9)|0;hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0;w9&=67108863;lo=Math.imul(al9,bl1);mid=Math.imul(al9,bh1);mid=mid+Math.imul(ah9,bl1)|0;hi=Math.imul(ah9,bh1);lo=lo+Math.imul(al8,bl2)|0;mid=mid+Math.imul(al8,bh2)|0;mid=mid+Math.imul(ah8,bl2)|0;hi=hi+Math.imul(ah8,bh2)|0;lo=lo+Math.imul(al7,bl3)|0;mid=mid+Math.imul(al7,bh3)|0;mid=mid+Math.imul(ah7,bl3)|0;hi=hi+Math.imul(ah7,bh3)|0;lo=lo+Math.imul(al6,bl4)|0;mid=mid+Math.imul(al6,bh4)|0;mid=mid+Math.imul(ah6,bl4)|0;hi=hi+Math.imul(ah6,bh4)|0;lo=lo+Math.imul(al5,bl5)|0;mid=mid+Math.imul(al5,bh5)|0;mid=mid+Math.imul(ah5,bl5)|0;hi=hi+Math.imul(ah5,bh5)|0;lo=lo+Math.imul(al4,bl6)|0;mid=mid+Math.imul(al4,bh6)|0;mid=mid+Math.imul(ah4,bl6)|0;hi=hi+Math.imul(ah4,bh6)|0;lo=lo+Math.imul(al3,bl7)|0;mid=mid+Math.imul(al3,bh7)|0;mid=mid+Math.imul(ah3,bl7)|0;hi=hi+Math.imul(ah3,bh7)|0;lo=lo+Math.imul(al2,bl8)|0;mid=mid+Math.imul(al2,bh8)|0;mid=mid+Math.imul(ah2,bl8)|0;hi=hi+Math.imul(ah2,bh8)|0;lo=lo+Math.imul(al1,bl9)|0;mid=mid+Math.imul(al1,bh9)|0;mid=mid+Math.imul(ah1,bl9)|0;hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0;w10&=67108863;lo=Math.imul(al9,bl2);mid=Math.imul(al9,bh2);mid=mid+Math.imul(ah9,bl2)|0;hi=Math.imul(ah9,bh2);lo=lo+Math.imul(al8,bl3)|0;mid=mid+Math.imul(al8,bh3)|0;mid=mid+Math.imul(ah8,bl3)|0;hi=hi+Math.imul(ah8,bh3)|0;lo=lo+Math.imul(al7,bl4)|0;mid=mid+Math.imul(al7,bh4)|0;mid=mid+Math.imul(ah7,bl4)|0;hi=hi+Math.imul(ah7,bh4)|0;lo=lo+Math.imul(al6,bl5)|0;mid=mid+Math.imul(al6,bh5)|0;mid=mid+Math.imul(ah6,bl5)|0;hi=hi+Math.imul(ah6,bh5)|0;lo=lo+Math.imul(al5,bl6)|0;mid=mid+Math.imul(al5,bh6)|0;mid=mid+Math.imul(ah5,bl6)|0;hi=hi+Math.imul(ah5,bh6)|0;lo=lo+Math.imul(al4,bl7)|0;mid=mid+Math.imul(al4,bh7)|0;mid=mid+Math.imul(ah4,bl7)|0;hi=hi+Math.imul(ah4,bh7)|0;lo=lo+Math.imul(al3,bl8)|0;mid=mid+Math.imul(al3,bh8)|0;mid=mid+Math.imul(ah3,bl8)|0;hi=hi+Math.imul(ah3,bh8)|0;lo=lo+Math.imul(al2,bl9)|0;mid=mid+Math.imul(al2,bh9)|0;mid=mid+Math.imul(ah2,bl9)|0;hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0;w11&=67108863;lo=Math.imul(al9,bl3);mid=Math.imul(al9,bh3);mid=mid+Math.imul(ah9,bl3)|0;hi=Math.imul(ah9,bh3);lo=lo+Math.imul(al8,bl4)|0;mid=mid+Math.imul(al8,bh4)|0;mid=mid+Math.imul(ah8,bl4)|0;hi=hi+Math.imul(ah8,bh4)|0;lo=lo+Math.imul(al7,bl5)|0;mid=mid+Math.imul(al7,bh5)|0;mid=mid+Math.imul(ah7,bl5)|0;hi=hi+Math.imul(ah7,bh5)|0;lo=lo+Math.imul(al6,bl6)|0;mid=mid+Math.imul(al6,bh6)|0;mid=mid+Math.imul(ah6,bl6)|0;hi=hi+Math.imul(ah6,bh6)|0;lo=lo+Math.imul(al5,bl7)|0;mid=mid+Math.imul(al5,bh7)|0;mid=mid+Math.imul(ah5,bl7)|0;hi=hi+Math.imul(ah5,bh7)|0;lo=lo+Math.imul(al4,bl8)|0;mid=mid+Math.imul(al4,bh8)|0;mid=mid+Math.imul(ah4,bl8)|0;hi=hi+Math.imul(ah4,bh8)|0;lo=lo+Math.imul(al3,bl9)|0;mid=mid+Math.imul(al3,bh9)|0;mid=mid+Math.imul(ah3,bl9)|0;hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0;w12&=67108863;lo=Math.imul(al9,bl4);mid=Math.imul(al9,bh4);mid=mid+Math.imul(ah9,bl4)|0;hi=Math.imul(ah9,bh4);lo=lo+Math.imul(al8,bl5)|0;mid=mid+Math.imul(al8,bh5)|0;mid=mid+Math.imul(ah8,bl5)|0;hi=hi+Math.imul(ah8,bh5)|0;lo=lo+Math.imul(al7,bl6)|0;mid=mid+Math.imul(al7,bh6)|0;mid=mid+Math.imul(ah7,bl6)|0;hi=hi+Math.imul(ah7,bh6)|0;lo=lo+Math.imul(al6,bl7)|0;mid=mid+Math.imul(al6,bh7)|0;mid=mid+Math.imul(ah6,bl7)|0;hi=hi+Math.imul(ah6,bh7)|0;lo=lo+Math.imul(al5,bl8)|0;mid=mid+Math.imul(al5,bh8)|0;mid=mid+Math.imul(ah5,bl8)|0;hi=hi+Math.imul(ah5,bh8)|0;lo=lo+Math.imul(al4,bl9)|0;mid=mid+Math.imul(al4,bh9)|0;mid=mid+Math.imul(ah4,bl9)|0;hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0;w13&=67108863;lo=Math.imul(al9,bl5);mid=Math.imul(al9,bh5);mid=mid+Math.imul(ah9,bl5)|0;hi=Math.imul(ah9,bh5);lo=lo+Math.imul(al8,bl6)|0;mid=mid+Math.imul(al8,bh6)|0;mid=mid+Math.imul(ah8,bl6)|0;hi=hi+Math.imul(ah8,bh6)|0;lo=lo+Math.imul(al7,bl7)|0;mid=mid+Math.imul(al7,bh7)|0;mid=mid+Math.imul(ah7,bl7)|0;hi=hi+Math.imul(ah7,bh7)|0;lo=lo+Math.imul(al6,bl8)|0;mid=mid+Math.imul(al6,bh8)|0;mid=mid+Math.imul(ah6,bl8)|0;hi=hi+Math.imul(ah6,bh8)|0;lo=lo+Math.imul(al5,bl9)|0;mid=mid+Math.imul(al5,bh9)|0;mid=mid+Math.imul(ah5,bl9)|0;hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0;w14&=67108863;lo=Math.imul(al9,bl6);mid=Math.imul(al9,bh6);mid=mid+Math.imul(ah9,bl6)|0;hi=Math.imul(ah9,bh6);lo=lo+Math.imul(al8,bl7)|0;mid=mid+Math.imul(al8,bh7)|0;mid=mid+Math.imul(ah8,bl7)|0;hi=hi+Math.imul(ah8,bh7)|0;lo=lo+Math.imul(al7,bl8)|0;mid=mid+Math.imul(al7,bh8)|0;mid=mid+Math.imul(ah7,bl8)|0;hi=hi+Math.imul(ah7,bh8)|0;lo=lo+Math.imul(al6,bl9)|0;mid=mid+Math.imul(al6,bh9)|0;mid=mid+Math.imul(ah6,bl9)|0;hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0;w15&=67108863;lo=Math.imul(al9,bl7);mid=Math.imul(al9,bh7);mid=mid+Math.imul(ah9,bl7)|0;hi=Math.imul(ah9,bh7);lo=lo+Math.imul(al8,bl8)|0;mid=mid+Math.imul(al8,bh8)|0;mid=mid+Math.imul(ah8,bl8)|0;hi=hi+Math.imul(ah8,bh8)|0;lo=lo+Math.imul(al7,bl9)|0;mid=mid+Math.imul(al7,bh9)|0;mid=mid+Math.imul(ah7,bl9)|0;hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0;w16&=67108863;lo=Math.imul(al9,bl8);mid=Math.imul(al9,bh8);mid=mid+Math.imul(ah9,bl8)|0;hi=Math.imul(ah9,bh8);lo=lo+Math.imul(al8,bl9)|0;mid=mid+Math.imul(al8,bh9)|0;mid=mid+Math.imul(ah8,bl9)|0;hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0;w17&=67108863;lo=Math.imul(al9,bl9);mid=Math.imul(al9,bh9);mid=mid+Math.imul(ah9,bl9)|0;hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w18>>>26)|0;w18&=67108863;o[0]=w0;o[1]=w1;o[2]=w2;o[3]=w3;o[4]=w4;o[5]=w5;o[6]=w6;o[7]=w7;o[8]=w8;o[9]=w9;o[10]=w10;o[11]=w11;o[12]=w12;o[13]=w13;o[14]=w14;o[15]=w15;o[16]=w16;o[17]=w17;o[18]=w18;if(c!==0){o[19]=c;out.length++}return out};if(!Math.imul){comb10MulTo=smallMulTo}function bigMulTo(self,num,out){out.negative=num.negative^self.negative;out.length=self.length+num.length;var carry=0;var hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863;var maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self.length+1);j<=maxJ;j++){var i=k-j;var a=self.words[i]|0;var b=num.words[j]|0;var r=a*b;var lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0;lo=lo+rword|0;rword=lo&67108863;ncarry=ncarry+(lo>>>26)|0;hncarry+=ncarry>>>26;ncarry&=67108863}out.words[k]=rword;carry=ncarry;ncarry=hncarry}if(carry!==0){out.words[k]=carry}else{out.length--}return out.strip()}function jumboMulTo(self,num,out){var fftm=new FFTM;return fftm.mulp(self,num,out)}BN.prototype.mulTo=function mulTo(num,out){var res;var len=this.length+num.length;if(this.length===10&&num.length===10){res=comb10MulTo(this,num,out)}else if(len<63){res=smallMulTo(this,num,out)}else if(len<1024){res=bigMulTo(this,num,out)}else{res=jumboMulTo(this,num,out)}return res};function FFTM(x,y){this.x=x;this.y=y}FFTM.prototype.makeRBT=function makeRBT(N){var t=new Array(N);var l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++){t[i]=this.revBin(i,l,N)}return t};FFTM.prototype.revBin=function revBin(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++){rb|=(x&1)<<l-i-1;x>>=1}return rb};FFTM.prototype.permute=function permute(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++){rtws[i]=rws[rbt[i]];itws[i]=iws[rbt[i]]}};FFTM.prototype.transform=function transform(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1;var rtwdf=Math.cos(2*Math.PI/l);var itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf;var itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j];var ie=itws[p+j];var ro=rtws[p+j+s];var io=itws[p+j+s];var rx=rtwdf_*ro-itwdf_*io;io=rtwdf_*io+itwdf_*ro;ro=rx;rtws[p+j]=re+ro;itws[p+j]=ie+io;rtws[p+j+s]=re-ro;itws[p+j+s]=ie-io;if(j!==l){rx=rtwdf*rtwdf_-itwdf*itwdf_;itwdf_=rtwdf*itwdf_+itwdf*rtwdf_;rtwdf_=rx}}}}};FFTM.prototype.guessLen13b=function guessLen13b(n,m){var N=Math.max(m,n)|1;var odd=N&1;var i=0;for(N=N/2|0;N;N=N>>>1){i++}return 1<<i+1+odd};FFTM.prototype.conjugate=function conjugate(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1];rws[N-i-1]=t;t=iws[i];iws[i]=-iws[N-i-1];iws[N-i-1]=-t}};FFTM.prototype.normalize13b=function normalize13b(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;ws[i]=w&67108863;if(w<67108864){carry=0}else{carry=w/67108864|0}}return ws};FFTM.prototype.convert13b=function convert13b(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++){carry=carry+(ws[i]|0);rws[2*i]=carry&8191;carry=carry>>>13;rws[2*i+1]=carry&8191;carry=carry>>>13}for(i=2*len;i<N;++i){rws[i]=0}assert(carry===0);assert((carry&~8191)===0)};FFTM.prototype.stub=function stub(N){var ph=new Array(N);for(var i=0;i<N;i++){ph[i]=0}return ph};FFTM.prototype.mulp=function mulp(x,y,out){var N=2*this.guessLen13b(x.length,y.length);var rbt=this.makeRBT(N);var _=this.stub(N);var rws=new Array(N);var rwst=new Array(N);var iwst=new Array(N);var nrws=new Array(N);var nrwst=new Array(N);var niwst=new Array(N);var rmws=out.words;rmws.length=N;this.convert13b(x.words,x.length,rws,N);this.convert13b(y.words,y.length,nrws,N);this.transform(rws,_,rwst,iwst,N,rbt);this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i];rwst[i]=rx}this.conjugate(rwst,iwst,N);this.transform(rwst,iwst,rmws,_,N,rbt);this.conjugate(rmws,_,N);this.normalize13b(rmws,N);out.negative=x.negative^y.negative;out.length=x.length+y.length;return out.strip()};BN.prototype.mul=function mul(num){var out=new BN(null);out.words=new Array(this.length+num.length);return this.mulTo(num,out)};BN.prototype.mulf=function mulf(num){var out=new BN(null);out.words=new Array(this.length+num.length);return jumboMulTo(this,num,out)};BN.prototype.imul=function imul(num){return this.clone().mulTo(num,this)};BN.prototype.imuln=function imuln(num){assert(typeof num==="number");assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num;var lo=(w&67108863)+(carry&67108863);carry>>=26;carry+=w/67108864|0;carry+=lo>>>26;this.words[i]=lo&67108863}if(carry!==0){this.words[i]=carry;this.length++}return this};BN.prototype.muln=function muln(num){return this.clone().imuln(num)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr()){if(w[i]!==0)break}if(++i<w.length){for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}}return res};BN.prototype.iushln=function iushln(bits){assert(typeof bits==="number"&&bits>=0);var r=bits%26;var s=(bits-r)/26;var carryMask=67108863>>>26-r<<26-r;var i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask;var c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry;carry=newCarry>>>26-r}if(carry){this.words[i]=carry;this.length++}}if(s!==0){for(i=this.length-1;i>=0;i--){this.words[i+s]=this.words[i]}for(i=0;i<s;i++){this.words[i]=0}this.length+=s}return this.strip()};BN.prototype.ishln=function ishln(bits){assert(this.negative===0);return this.iushln(bits)};BN.prototype.iushrn=function iushrn(bits,hint,extended){assert(typeof bits==="number"&&bits>=0);var h;if(hint){h=(hint-hint%26)/26}else{h=0}var r=bits%26;var s=Math.min((bits-r)/26,this.length);var mask=67108863^67108863>>>r<<r;var maskedWords=extended;h-=s;h=Math.max(0,h);if(maskedWords){for(var i=0;i<s;i++){maskedWords.words[i]=this.words[i]}maskedWords.length=s}if(s===0){}else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++){this.words[i]=this.words[i+s]}}else{this.words[0]=0;this.length=1}var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r;carry=word&mask}if(maskedWords&&carry!==0){maskedWords.words[maskedWords.length++]=carry}if(this.length===0){this.words[0]=0;this.length=1}return this.strip()};BN.prototype.ishrn=function ishrn(bits,hint,extended){assert(this.negative===0);return this.iushrn(bits,hint,extended)};BN.prototype.shln=function shln(bits){return this.clone().ishln(bits)};BN.prototype.ushln=function ushln(bits){return this.clone().iushln(bits)};BN.prototype.shrn=function shrn(bits){return this.clone().ishrn(bits)};BN.prototype.ushrn=function ushrn(bits){return this.clone().iushrn(bits)};BN.prototype.testn=function testn(bit){assert(typeof bit==="number"&&bit>=0);var r=bit%26;var s=(bit-r)/26;var q=1<<r;if(this.length<=s)return false;var w=this.words[s];return!!(w&q)};BN.prototype.imaskn=function imaskn(bits){assert(typeof bits==="number"&&bits>=0);var r=bits%26;var s=(bits-r)/26;assert(this.negative===0,"imaskn works only with positive numbers");if(this.length<=s){return this}if(r!==0){s++}this.length=Math.min(s,this.length);if(r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()};BN.prototype.maskn=function maskn(bits){return this.clone().imaskn(bits)};BN.prototype.iaddn=function iaddn(num){assert(typeof num==="number");assert(num<67108864);if(num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num){this.words[0]=num-(this.words[0]|0);this.negative=0;return this}this.negative=0;this.isubn(num);this.negative=1;return this}return this._iaddn(num)};BN.prototype._iaddn=function _iaddn(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++){this.words[i]-=67108864;if(i===this.length-1){this.words[i+1]=1}else{this.words[i+1]++}}this.length=Math.max(this.length,i+1);return this};BN.prototype.isubn=function isubn(num){assert(typeof num==="number");assert(num<67108864);if(num<0)return this.iaddn(-num);if(this.negative!==0){this.negative=0;this.iaddn(num);this.negative=1;return this}this.words[0]-=num;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var i=0;i<this.length&&this.words[i]<0;i++){this.words[i]+=67108864;this.words[i+1]-=1}}return this.strip()};BN.prototype.addn=function addn(num){return this.clone().iaddn(num)};BN.prototype.subn=function subn(num){return this.clone().isubn(num)};BN.prototype.iabs=function iabs(){this.negative=0;return this};BN.prototype.abs=function abs(){return this.clone().iabs()};BN.prototype._ishlnsubmul=function _ishlnsubmul(num,mul,shift){var len=num.length+shift;var i;this._expand(len);var w;var carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863;carry=(w>>26)-(right/67108864|0);this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++){w=(this.words[i+shift]|0)+carry;carry=w>>26;this.words[i+shift]=w&67108863}if(carry===0)return this.strip();assert(carry===-1);carry=0;for(i=0;i<this.length;i++){w=-(this.words[i]|0)+carry;carry=w>>26;this.words[i]=w&67108863}this.negative=1;return this.strip()};BN.prototype._wordDiv=function _wordDiv(num,mode){var shift=this.length-num.length;var a=this.clone();var b=num;var bhi=b.words[b.length-1]|0;var bhiBits=this._countBits(bhi);shift=26-bhiBits;if(shift!==0){b=b.ushln(shift);a.iushln(shift);bhi=b.words[b.length-1]|0}var m=a.length-b.length;var q;if(mode!=="mod"){q=new BN(null);q.length=m+1;q.words=new Array(q.length);for(var i=0;i<q.length;i++){q.words[i]=0}}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){a=diff;if(q){q.words[m]=1}}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863);a._ishlnsubmul(b,qj,j);while(a.negative!==0){qj--;a.negative=0;a._ishlnsubmul(b,1,j);if(!a.isZero()){a.negative^=1}}if(q){q.words[j]=qj}}if(q){q.strip()}a.strip();if(mode!=="div"&&shift!==0){a.iushrn(shift)}return{div:q||null,mod:a}};BN.prototype.divmod=function divmod(num,mode,positive){assert(!num.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var div,mod,res;if(this.negative!==0&&num.negative===0){res=this.neg().divmod(num,mode);if(mode!=="mod"){div=res.div.neg()}if(mode!=="div"){mod=res.mod.neg();if(positive&&mod.negative!==0){mod.iadd(num)}}return{div:div,mod:mod}}if(this.negative===0&&num.negative!==0){res=this.divmod(num.neg(),mode);if(mode!=="mod"){div=res.div.neg()}return{div:div,mod:res.mod}}if((this.negative&num.negative)!==0){res=this.neg().divmod(num.neg(),mode);if(mode!=="div"){mod=res.mod.neg();if(positive&&mod.negative!==0){mod.isub(num)}}return{div:res.div,mod:mod}}if(num.length>this.length||this.cmp(num)<0){return{div:new BN(0),mod:this}}if(num.length===1){if(mode==="div"){return{div:this.divn(num.words[0]),mod:null}}if(mode==="mod"){return{div:null,mod:new BN(this.modn(num.words[0]))}}return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)};BN.prototype.div=function div(num){return this.divmod(num,"div",false).div};BN.prototype.mod=function mod(num){return this.divmod(num,"mod",false).mod};BN.prototype.umod=function umod(num){return this.divmod(num,"mod",true).mod};BN.prototype.divRound=function divRound(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod;var half=num.ushrn(1);var r2=num.andln(1);var cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)};BN.prototype.modn=function modn(num){assert(num<=67108863);var p=(1<<26)%num;var acc=0;for(var i=this.length-1;i>=0;i--){acc=(p*acc+(this.words[i]|0))%num}return acc};BN.prototype.idivn=function idivn(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0;carry=w%num}return this.strip()};BN.prototype.divn=function divn(num){return this.clone().idivn(num)};BN.prototype.egcd=function egcd(p){assert(p.negative===0);assert(!p.isZero());var x=this;var y=p.clone();if(x.negative!==0){x=x.umod(p)}else{x=x.clone()}var A=new BN(1);var B=new BN(0);var C=new BN(0);var D=new BN(1);var g=0;while(x.isEven()&&y.isEven()){x.iushrn(1);y.iushrn(1);++g}var yp=y.clone();var xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd()){A.iadd(yp);B.isub(xp)}A.iushrn(1);B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd()){C.iadd(yp);D.isub(xp)}C.iushrn(1);D.iushrn(1)}}if(x.cmp(y)>=0){x.isub(y);A.isub(C);B.isub(D)}else{y.isub(x);C.isub(A);D.isub(B)}}return{a:C,b:D,gcd:y.iushln(g)}};BN.prototype._invmp=function _invmp(p){assert(p.negative===0);assert(!p.isZero());var a=this;var b=p.clone();if(a.negative!==0){a=a.umod(p)}else{a=a.clone()}var x1=new BN(1);var x2=new BN(0);var delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd()){x1.iadd(delta)}x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd()){x2.iadd(delta)}x2.iushrn(1)}}if(a.cmp(b)>=0){a.isub(b);x1.isub(x2)}else{b.isub(a);x2.isub(x1)}}var res;if(a.cmpn(1)===0){res=x1}else{res=x2}if(res.cmpn(0)<0){res.iadd(p)}return res};BN.prototype.gcd=function gcd(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone();var b=num.clone();a.negative=0;b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++){a.iushrn(1);b.iushrn(1)}do{while(a.isEven()){a.iushrn(1)}while(b.isEven()){b.iushrn(1)}var r=a.cmp(b);if(r<0){var t=a;a=b;b=t}else if(r===0||b.cmpn(1)===0){break}a.isub(b)}while(true);return b.iushln(shift)};BN.prototype.invm=function invm(num){return this.egcd(num).a.umod(num)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(num){return this.words[0]&num};BN.prototype.bincn=function bincn(bit){assert(typeof bit==="number");var r=bit%26;var s=(bit-r)/26;var q=1<<r;if(this.length<=s){this._expand(s+1);this.words[s]|=q;return this}var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry;carry=w>>>26;w&=67108863;this.words[i]=w}if(carry!==0){this.words[i]=carry;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1){res=1}else{if(negative){num=-num}assert(num<=67108863,"Number is too big");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res};BN.prototype.cmp=function cmp(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res};BN.prototype.ucmp=function ucmp(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0;var b=num.words[i]|0;if(a===b)continue;if(a<b){res=-1}else if(a>b){res=1}break}return res};BN.prototype.gtn=function gtn(num){return this.cmpn(num)===1};BN.prototype.gt=function gt(num){return this.cmp(num)===1};BN.prototype.gten=function gten(num){return this.cmpn(num)>=0};BN.prototype.gte=function gte(num){return this.cmp(num)>=0};BN.prototype.ltn=function ltn(num){return this.cmpn(num)===-1};BN.prototype.lt=function lt(num){return this.cmp(num)===-1};BN.prototype.lten=function lten(num){return this.cmpn(num)<=0};BN.prototype.lte=function lte(num){return this.cmp(num)<=0};BN.prototype.eqn=function eqn(num){return this.cmpn(num)===0};BN.prototype.eq=function eq(num){return this.cmp(num)===0};BN.red=function red(num){return new Red(num)};BN.prototype.toRed=function toRed(ctx){assert(!this.red,"Already a number in reduction context");assert(this.negative===0,"red works only with positives");return ctx.convertTo(this)._forceRed(ctx)};BN.prototype.fromRed=function fromRed(){assert(this.red,"fromRed works only with numbers in reduction context");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(ctx){this.red=ctx;return this};BN.prototype.forceRed=function forceRed(ctx){assert(!this.red,"Already a number in reduction context");return this._forceRed(ctx)};BN.prototype.redAdd=function redAdd(num){assert(this.red,"redAdd works only with red numbers");return this.red.add(this,num)};BN.prototype.redIAdd=function redIAdd(num){assert(this.red,"redIAdd works only with red numbers");return this.red.iadd(this,num)};BN.prototype.redSub=function redSub(num){assert(this.red,"redSub works only with red numbers");return this.red.sub(this,num)};BN.prototype.redISub=function redISub(num){assert(this.red,"redISub works only with red numbers");return this.red.isub(this,num)};BN.prototype.redShl=function redShl(num){assert(this.red,"redShl works only with red numbers");return this.red.shl(this,num)};BN.prototype.redMul=function redMul(num){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,num);return this.red.mul(this,num)};BN.prototype.redIMul=function redIMul(num){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,num);return this.red.imul(this,num)};BN.prototype.redSqr=function redSqr(){assert(this.red,"redSqr works only with red numbers");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,"redISqr works only with red numbers");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,"redSqrt works only with red numbers");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,"redInvm works only with red numbers");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,"redNeg works only with red numbers");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(num){assert(this.red&&!num.red,"redPow(normalNum)");this.red._verify1(this);return this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name;this.p=new BN(p,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var tmp=new BN(null);tmp.words=new Array(Math.ceil(this.n/13));return tmp};MPrime.prototype.ireduce=function ireduce(num){var r=num;var rlen;do{this.split(r,this.tmp);r=this.imulK(r);r=r.iadd(this.tmp);rlen=r.bitLength()}while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0){r.words[0]=0;r.length=1}else if(cmp>0){r.isub(this.p)}else{r.strip()}return r};MPrime.prototype.split=function split(input,out){input.iushrn(this.n,0,out)};MPrime.prototype.imulK=function imulK(num){return num.imul(this.k)};function K256(){MPrime.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}inherits(K256,MPrime);K256.prototype.split=function split(input,output){var mask=4194303;var outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++){output.words[i]=input.words[i]}output.length=outLen;if(input.length<=9){input.words[0]=0;input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22;prev=next}prev>>>=22;input.words[i-10]=prev;if(prev===0&&input.length>10){input.length-=10}else{input.length-=9}};K256.prototype.imulK=function imulK(num){num.words[num.length]=0;num.words[num.length+1]=0;num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977;num.words[i]=lo&67108863;lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){num.length--;if(num.words[num.length-1]===0){num.length--}}return num};function P224(){MPrime.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}inherits(P224,MPrime);function P192(){MPrime.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}inherits(P192,MPrime);function P25519(){MPrime.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}inherits(P25519,MPrime);P25519.prototype.imulK=function imulK(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry;var lo=hi&67108863;hi>>>=26;num.words[i]=lo;carry=hi}if(carry!==0){num.words[num.length++]=carry}return num};BN._prime=function prime(name){if(primes[name])return primes[name];var prime;if(name==="k256"){prime=new K256}else if(name==="p224"){prime=new P224}else if(name==="p192"){prime=new P192}else if(name==="p25519"){prime=new P25519}else{throw new Error("Unknown prime "+name)}primes[name]=prime;return prime};function Red(m){if(typeof m==="string"){var prime=BN._prime(m);this.m=prime.p;this.prime=prime}else{assert(m.gtn(1),"modulus must be greater than 1");this.m=m;this.prime=null}}Red.prototype._verify1=function _verify1(a){assert(a.negative===0,"red works only with positives");assert(a.red,"red works only with red numbers")};Red.prototype._verify2=function _verify2(a,b){assert((a.negative|b.negative)===0,"red works only with positives");assert(a.red&&a.red===b.red,"red works only with red numbers")};Red.prototype.imod=function imod(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)};Red.prototype.neg=function neg(a){if(a.isZero()){return a.clone()}return this.m.sub(a)._forceRed(this)};Red.prototype.add=function add(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0){res.isub(this.m)}return res._forceRed(this)};Red.prototype.iadd=function iadd(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0){res.isub(this.m)}return res};Red.prototype.sub=function sub(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0){res.iadd(this.m)}return res._forceRed(this)};Red.prototype.isub=function isub(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0){res.iadd(this.m)}return res};Red.prototype.shl=function shl(a,num){this._verify1(a);return this.imod(a.ushln(num))};Red.prototype.imul=function imul(a,b){this._verify2(a,b);return this.imod(a.imul(b))};Red.prototype.mul=function mul(a,b){this._verify2(a,b);return this.imod(a.mul(b))};Red.prototype.isqr=function isqr(a){return this.imul(a,a.clone())};Red.prototype.sqr=function sqr(a){return this.mul(a,a)};Red.prototype.sqrt=function sqrt(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);assert(mod3%2===1);if(mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1);var s=0;while(!q.isZero()&&q.andln(1)===0){s++;q.iushrn(1)}assert(!q.isZero());var one=new BN(1).toRed(this);var nOne=one.redNeg();var lpow=this.m.subn(1).iushrn(1);var z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0){z.redIAdd(nOne)}var c=this.pow(z,q);var r=this.pow(a,q.addn(1).iushrn(1));var t=this.pow(a,q);var m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++){tmp=tmp.redSqr()}assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b);c=b.redSqr();t=t.redMul(c);m=i}return r};Red.prototype.invm=function invm(a){var inv=a._invmp(this.m);if(inv.negative!==0){inv.negative=0;return this.imod(inv).redNeg()}else{return this.imod(inv)}};Red.prototype.pow=function pow(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4;var wnd=new Array(1<<windowSize);wnd[0]=new BN(1).toRed(this);wnd[1]=a;for(var i=2;i<wnd.length;i++){wnd[i]=this.mul(wnd[i-1],a)}var res=wnd[0];var current=0;var currentLen=0;var start=num.bitLength()%26;if(start===0){start=26}for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]){res=this.sqr(res)}if(bit===0&&current===0){currentLen=0;continue}current<<=1;current|=bit;currentLen++;if(currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]);currentLen=0;current=0}start=26}return res};Red.prototype.convertTo=function convertTo(num){var r=num.umod(this.m);return r===num?r.clone():r};Red.prototype.convertFrom=function convertFrom(num){var res=num.clone();res.red=null;return res};BN.mont=function mont(num){return new Mont(num)};function Mont(m){Red.call(this,m);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits(Mont,Red);Mont.prototype.convertTo=function convertTo(num){return this.imod(num.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(num){var r=this.imod(num.mul(this.rinv));r.red=null;return r};Mont.prototype.imul=function imul(a,b){if(a.isZero()||b.isZero()){a.words[0]=0;a.length=1;return a}var t=a.imul(b);var c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var u=t.isub(c).iushrn(this.shift);var res=u;if(u.cmp(this.m)>=0){res=u.isub(this.m)}else if(u.cmpn(0)<0){res=u.iadd(this.m)}return res._forceRed(this)};Mont.prototype.mul=function mul(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b);var c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var u=t.isub(c).iushrn(this.shift);var res=u;if(u.cmp(this.m)>=0){res=u.isub(this.m)}else if(u.cmpn(0)<0){res=u.iadd(this.m)}return res._forceRed(this)};Mont.prototype.invm=function invm(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module==="undefined"||module,this)},{buffer:115}],107:[function(_dereq_,module,exports){"use strict";module.exports=boundary;function boundary(cells){var i,j,k;var n=cells.length;var sz=0;for(i=0;i<n;++i){sz+=cells[i].length}var result=new Array(sz);var ptr=0;for(i=0;i<n;++i){var c=cells[i];var d=c.length;for(j=0;j<d;++j){var b=result[ptr++]=new Array(d-1);var p=0;for(k=0;k<d;++k){if(k===j){continue}b[p++]=c[k]}if(j&1){var tmp=b[1];b[1]=b[0];b[0]=tmp}}}return result}},{}],108:[function(_dereq_,module,exports){"use strict";module.exports=boxIntersectWrapper;var pool=_dereq_("typedarray-pool");var sweep=_dereq_("./lib/sweep");var boxIntersectIter=_dereq_("./lib/intersect");function boxEmpty(d,box){for(var j=0;j<d;++j){if(!(box[j]<=box[j+d])){return true}}return false}function convertBoxes(boxes,d,data,ids){var ptr=0;var count=0;for(var i=0,n=boxes.length;i<n;++i){var b=boxes[i];if(boxEmpty(d,b)){continue}for(var j=0;j<2*d;++j){data[ptr++]=b[j]}ids[count++]=i}return count}function boxIntersect(red,blue,visit,full){var n=red.length;var m=blue.length;if(n<=0||m<=0){return}var d=red[0].length>>>1;if(d<=0){return}var retval;var redList=pool.mallocDouble(2*d*n);var redIds=pool.mallocInt32(n);n=convertBoxes(red,d,redList,redIds);if(n>0){if(d===1&&full){sweep.init(n);retval=sweep.sweepComplete(d,visit,0,n,redList,redIds,0,n,redList,redIds)}else{var blueList=pool.mallocDouble(2*d*m);var blueIds=pool.mallocInt32(m);m=convertBoxes(blue,d,blueList,blueIds);if(m>0){sweep.init(n+m);if(d===1){retval=sweep.sweepBipartite(d,visit,0,n,redList,redIds,0,m,blueList,blueIds)}else{retval=boxIntersectIter(d,visit,full,n,redList,redIds,m,blueList,blueIds)}pool.free(blueList);pool.free(blueIds)}}pool.free(redList);pool.free(redIds)}return retval}var RESULT;function appendItem(i,j){RESULT.push([i,j])}function intersectFullArray(x){RESULT=[];boxIntersect(x,x,appendItem,true);return RESULT}function intersectBipartiteArray(x,y){RESULT=[];boxIntersect(x,y,appendItem,false);return RESULT}function boxIntersectWrapper(arg0,arg1,arg2){var result;switch(arguments.length){case 1:return intersectFullArray(arg0);case 2:if(typeof arg1==="function"){return boxIntersect(arg0,arg0,arg1,true)}else{return intersectBipartiteArray(arg0,arg1)}case 3:return boxIntersect(arg0,arg1,arg2,false);default:throw new Error("box-intersect: Invalid arguments")}}},{"./lib/intersect":110,"./lib/sweep":114,"typedarray-pool":617}],109:[function(_dereq_,module,exports){"use strict";var DIMENSION="d";var AXIS="ax";var VISIT="vv";var FLIP="fp";var ELEM_SIZE="es";var RED_START="rs";var RED_END="re";var RED_BOXES="rb";var RED_INDEX="ri";var RED_PTR="rp";var BLUE_START="bs";var BLUE_END="be";var BLUE_BOXES="bb";var BLUE_INDEX="bi";var BLUE_PTR="bp";var RETVAL="rv";var INNER_LABEL="Q";var ARGS=[DIMENSION,AXIS,VISIT,RED_START,RED_END,RED_BOXES,RED_INDEX,BLUE_START,BLUE_END,BLUE_BOXES,BLUE_INDEX];function generateBruteForce(redMajor,flip,full){var funcName="bruteForce"+(redMajor?"Red":"Blue")+(flip?"Flip":"")+(full?"Full":"");var code=["function ",funcName,"(",ARGS.join(),"){","var ",ELEM_SIZE,"=2*",DIMENSION,";"];var redLoop="for(var i="+RED_START+","+RED_PTR+"="+ELEM_SIZE+"*"+RED_START+";"+"i<"+RED_END+";"+"++i,"+RED_PTR+"+="+ELEM_SIZE+"){"+"var x0="+RED_BOXES+"["+AXIS+"+"+RED_PTR+"],"+"x1="+RED_BOXES+"["+AXIS+"+"+RED_PTR+"+"+DIMENSION+"],"+"xi="+RED_INDEX+"[i];";var blueLoop="for(var j="+BLUE_START+","+BLUE_PTR+"="+ELEM_SIZE+"*"+BLUE_START+";"+"j<"+BLUE_END+";"+"++j,"+BLUE_PTR+"+="+ELEM_SIZE+"){"+"var y0="+BLUE_BOXES+"["+AXIS+"+"+BLUE_PTR+"],"+(full?"y1="+BLUE_BOXES+"["+AXIS+"+"+BLUE_PTR+"+"+DIMENSION+"],":"")+"yi="+BLUE_INDEX+"[j];";if(redMajor){code.push(redLoop,INNER_LABEL,":",blueLoop)}else{code.push(blueLoop,INNER_LABEL,":",redLoop)}if(full){code.push("if(y1<x0||x1<y0)continue;")}else if(flip){code.push("if(y0<=x0||x1<y0)continue;")}else{code.push("if(y0<x0||x1<y0)continue;")}code.push("for(var k="+AXIS+"+1;k<"+DIMENSION+";++k){"+"var r0="+RED_BOXES+"[k+"+RED_PTR+"],"+"r1="+RED_BOXES+"[k+"+DIMENSION+"+"+RED_PTR+"],"+"b0="+BLUE_BOXES+"[k+"+BLUE_PTR+"],"+"b1="+BLUE_BOXES+"[k+"+DIMENSION+"+"+BLUE_PTR+"];"+"if(r1<b0||b1<r0)continue "+INNER_LABEL+";}"+"var "+RETVAL+"="+VISIT+"(");if(flip){code.push("yi,xi")}else{code.push("xi,yi")}code.push(");if("+RETVAL+"!==void 0)return "+RETVAL+";}}}");return{name:funcName,code:code.join("")}}function bruteForcePlanner(full){var funcName="bruteForce"+(full?"Full":"Partial");var prefix=[];var fargs=ARGS.slice();if(!full){fargs.splice(3,0,FLIP)}var code=["function "+funcName+"("+fargs.join()+"){"];function invoke(redMajor,flip){var res=generateBruteForce(redMajor,flip,full);prefix.push(res.code);code.push("return "+res.name+"("+ARGS.join()+");")}code.push("if("+RED_END+"-"+RED_START+">"+BLUE_END+"-"+BLUE_START+"){");if(full){invoke(true,false);code.push("}else{");invoke(false,false)}else{code.push("if("+FLIP+"){");invoke(true,true);code.push("}else{");invoke(true,false);code.push("}}else{if("+FLIP+"){");invoke(false,true);code.push("}else{");invoke(false,false);code.push("}")}code.push("}}return "+funcName);var codeStr=prefix.join("")+code.join("");var proc=new Function(codeStr);return proc()}exports.partial=bruteForcePlanner(false);exports.full=bruteForcePlanner(true)},{}],110:[function(_dereq_,module,exports){"use strict";module.exports=boxIntersectIter;var pool=_dereq_("typedarray-pool");var bits=_dereq_("bit-twiddle");var bruteForce=_dereq_("./brute");var bruteForcePartial=bruteForce.partial;var bruteForceFull=bruteForce.full;var sweep=_dereq_("./sweep");var findMedian=_dereq_("./median");var genPartition=_dereq_("./partition");var BRUTE_FORCE_CUTOFF=128;var SCAN_CUTOFF=1<<22;var SCAN_COMPLETE_CUTOFF=1<<22;var partitionInteriorContainsInterval=genPartition("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]);var partitionStartEqual=genPartition("lo===p0",["p0"]);var partitionStartLessThan=genPartition("lo<p0",["p0"]);var partitionEndLessThanEqual=genPartition("hi<=p0",["p0"]);var partitionContainsPoint=genPartition("lo<=p0&&p0<=hi",["p0"]);var partitionContainsPointProper=genPartition("lo<p0&&p0<=hi",["p0"]);var IFRAME_SIZE=6;var DFRAME_SIZE=2;var INIT_CAPACITY=1024;var BOX_ISTACK=pool.mallocInt32(INIT_CAPACITY);var BOX_DSTACK=pool.mallocDouble(INIT_CAPACITY);function iterInit(d,count){var levels=8*bits.log2(count+1)*(d+1)|0;var maxInts=bits.nextPow2(IFRAME_SIZE*levels);if(BOX_ISTACK.length<maxInts){pool.free(BOX_ISTACK);BOX_ISTACK=pool.mallocInt32(maxInts)}var maxDoubles=bits.nextPow2(DFRAME_SIZE*levels);if(BOX_DSTACK.length<maxDoubles){pool.free(BOX_DSTACK);BOX_DSTACK=pool.mallocDouble(maxDoubles)}}function iterPush(ptr,axis,redStart,redEnd,blueStart,blueEnd,state,lo,hi){var iptr=IFRAME_SIZE*ptr;BOX_ISTACK[iptr]=axis;BOX_ISTACK[iptr+1]=redStart;BOX_ISTACK[iptr+2]=redEnd;BOX_ISTACK[iptr+3]=blueStart;BOX_ISTACK[iptr+4]=blueEnd;BOX_ISTACK[iptr+5]=state;var dptr=DFRAME_SIZE*ptr;BOX_DSTACK[dptr]=lo;BOX_DSTACK[dptr+1]=hi}function onePointPartial(d,axis,visit,flip,redStart,redEnd,red,redIndex,blueOffset,blue,blueId){var elemSize=2*d;var bluePtr=blueOffset*elemSize;var blueX=blue[bluePtr+axis];red_loop:for(var i=redStart,redPtr=redStart*elemSize;i<redEnd;++i,redPtr+=elemSize){var r0=red[redPtr+axis];var r1=red[redPtr+axis+d];if(blueX<r0||r1<blueX){continue}if(flip&&blueX===r0){continue}var redId=redIndex[i];for(var j=axis+1;j<d;++j){var r0=red[redPtr+j];var r1=red[redPtr+j+d];var b0=blue[bluePtr+j];var b1=blue[bluePtr+j+d];if(r1<b0||b1<r0){continue red_loop}}var retval;if(flip){retval=visit(blueId,redId)}else{retval=visit(redId,blueId)}if(retval!==void 0){return retval}}}function onePointFull(d,axis,visit,redStart,redEnd,red,redIndex,blueOffset,blue,blueId){var elemSize=2*d;var bluePtr=blueOffset*elemSize;var blueX=blue[bluePtr+axis];red_loop:for(var i=redStart,redPtr=redStart*elemSize;i<redEnd;++i,redPtr+=elemSize){var redId=redIndex[i];if(redId===blueId){continue}var r0=red[redPtr+axis];var r1=red[redPtr+axis+d];if(blueX<r0||r1<blueX){continue}for(var j=axis+1;j<d;++j){var r0=red[redPtr+j];var r1=red[redPtr+j+d];var b0=blue[bluePtr+j];var b1=blue[bluePtr+j+d];if(r1<b0||b1<r0){continue red_loop}}var retval=visit(redId,blueId);if(retval!==void 0){return retval}}}function boxIntersectIter(d,visit,initFull,xSize,xBoxes,xIndex,ySize,yBoxes,yIndex){iterInit(d,xSize+ySize);var top=0;var elemSize=2*d;var retval;iterPush(top++,0,0,xSize,0,ySize,initFull?16:0,-Infinity,Infinity);if(!initFull){iterPush(top++,0,0,ySize,0,xSize,1,-Infinity,Infinity)}while(top>0){top-=1;var iptr=top*IFRAME_SIZE;var axis=BOX_ISTACK[iptr];var redStart=BOX_ISTACK[iptr+1];var redEnd=BOX_ISTACK[iptr+2];var blueStart=BOX_ISTACK[iptr+3];var blueEnd=BOX_ISTACK[iptr+4];var state=BOX_ISTACK[iptr+5];var dptr=top*DFRAME_SIZE;var lo=BOX_DSTACK[dptr];var hi=BOX_DSTACK[dptr+1];var flip=state&1;var full=!!(state&16);var red=xBoxes;var redIndex=xIndex;var blue=yBoxes;var blueIndex=yIndex;if(flip){red=yBoxes;redIndex=yIndex;blue=xBoxes;blueIndex=xIndex}if(state&2){redEnd=partitionStartLessThan(d,axis,redStart,redEnd,red,redIndex,hi);if(redStart>=redEnd){continue}}if(state&4){redStart=partitionEndLessThanEqual(d,axis,redStart,redEnd,red,redIndex,lo);if(redStart>=redEnd){continue}}var redCount=redEnd-redStart;var blueCount=blueEnd-blueStart;if(full){if(d*redCount*(redCount+blueCount)<SCAN_COMPLETE_CUTOFF){retval=sweep.scanComplete(d,axis,visit,redStart,redEnd,red,redIndex,blueStart,blueEnd,blue,blueIndex);if(retval!==void 0){return retval}continue}}else{if(d*Math.min(redCount,blueCount)<BRUTE_FORCE_CUTOFF){retval=bruteForcePartial(d,axis,visit,flip,redStart,redEnd,red,redIndex,blueStart,blueEnd,blue,blueIndex);if(retval!==void 0){return retval}continue}else if(d*redCount*blueCount<SCAN_CUTOFF){retval=sweep.scanBipartite(d,axis,visit,flip,redStart,redEnd,red,redIndex,blueStart,blueEnd,blue,blueIndex);if(retval!==void 0){return retval}continue}}var red0=partitionInteriorContainsInterval(d,axis,redStart,redEnd,red,redIndex,lo,hi);if(redStart<red0){if(d*(red0-redStart)<BRUTE_FORCE_CUTOFF){retval=bruteForceFull(d,axis+1,visit,redStart,red0,red,redIndex,blueStart,blueEnd,blue,blueIndex);if(retval!==void 0){return retval}}else if(axis===d-2){if(flip){retval=sweep.sweepBipartite(d,visit,blueStart,blueEnd,blue,blueIndex,redStart,red0,red,redIndex)}else{retval=sweep.sweepBipartite(d,visit,redStart,red0,red,redIndex,blueStart,blueEnd,blue,blueIndex)}if(retval!==void 0){return retval}}else{iterPush(top++,axis+1,redStart,red0,blueStart,blueEnd,flip,-Infinity,Infinity);iterPush(top++,axis+1,blueStart,blueEnd,redStart,red0,flip^1,-Infinity,Infinity)}}if(red0<redEnd){var blue0=findMedian(d,axis,blueStart,blueEnd,blue,blueIndex);var mid=blue[elemSize*blue0+axis];var blue1=partitionStartEqual(d,axis,blue0,blueEnd,blue,blueIndex,mid);if(blue1<blueEnd){iterPush(top++,axis,red0,redEnd,blue1,blueEnd,(flip|4)+(full?16:0),mid,hi)}if(blueStart<blue0){iterPush(top++,axis,red0,redEnd,blueStart,blue0,(flip|2)+(full?16:0),lo,mid)}if(blue0+1===blue1){if(full){retval=onePointFull(d,axis,visit,red0,redEnd,red,redIndex,blue0,blue,blueIndex[blue0])}else{retval=onePointPartial(d,axis,visit,flip,red0,redEnd,red,redIndex,blue0,blue,blueIndex[blue0])}if(retval!==void 0){return retval}}else if(blue0<blue1){var red1;if(full){red1=partitionContainsPoint(d,axis,red0,redEnd,red,redIndex,mid);if(red0<red1){var redX=partitionStartEqual(d,axis,red0,red1,red,redIndex,mid);if(axis===d-2){if(red0<redX){retval=sweep.sweepComplete(d,visit,red0,redX,red,redIndex,blue0,blue1,blue,blueIndex);if(retval!==void 0){return retval}}if(redX<red1){retval=sweep.sweepBipartite(d,visit,redX,red1,red,redIndex,blue0,blue1,blue,blueIndex);if(retval!==void 0){return retval}}}else{if(red0<redX){iterPush(top++,axis+1,red0,redX,blue0,blue1,16,-Infinity,Infinity)}if(redX<red1){iterPush(top++,axis+1,redX,red1,blue0,blue1,0,-Infinity,Infinity);iterPush(top++,axis+1,blue0,blue1,redX,red1,1,-Infinity,Infinity)}}}}else{if(flip){red1=partitionContainsPointProper(d,axis,red0,redEnd,red,redIndex,mid)}else{red1=partitionContainsPoint(d,axis,red0,redEnd,red,redIndex,mid)}if(red0<red1){if(axis===d-2){if(flip){retval=sweep.sweepBipartite(d,visit,blue0,blue1,blue,blueIndex,red0,red1,red,redIndex)}else{retval=sweep.sweepBipartite(d,visit,red0,red1,red,redIndex,blue0,blue1,blue,blueIndex)}}else{iterPush(top++,axis+1,red0,red1,blue0,blue1,flip,-Infinity,Infinity);iterPush(top++,axis+1,blue0,blue1,red0,red1,flip^1,-Infinity,Infinity)}}}}}}}},{"./brute":109,"./median":111,"./partition":112,"./sweep":114,"bit-twiddle":104,"typedarray-pool":617}],111:[function(_dereq_,module,exports){"use strict";module.exports=findMedian;var genPartition=_dereq_("./partition");var partitionStartLessThan=genPartition("lo<p0",["p0"]);var PARTITION_THRESHOLD=8;function insertionSort(d,axis,start,end,boxes,ids){var elemSize=2*d;var boxPtr=elemSize*(start+1)+axis;for(var i=start+1;i<end;++i,boxPtr+=elemSize){var x=boxes[boxPtr];for(var j=i,ptr=elemSize*(i-1);j>start&&boxes[ptr+axis]>x;--j,ptr-=elemSize){var aPtr=ptr;var bPtr=ptr+elemSize;for(var k=0;k<elemSize;++k,++aPtr,++bPtr){var y=boxes[aPtr];boxes[aPtr]=boxes[bPtr];boxes[bPtr]=y}var tmp=ids[j];ids[j]=ids[j-1];ids[j-1]=tmp}}}function findMedian(d,axis,start,end,boxes,ids){if(end<=start+1){return start}var lo=start;var hi=end;var mid=end+start>>>1;var elemSize=2*d;var pivot=mid;var value=boxes[elemSize*mid+axis];while(lo<hi){if(hi-lo<PARTITION_THRESHOLD){insertionSort(d,axis,lo,hi,boxes,ids);value=boxes[elemSize*mid+axis];break}var count=hi-lo;var pivot0=Math.random()*count+lo|0;var value0=boxes[elemSize*pivot0+axis];var pivot1=Math.random()*count+lo|0;var value1=boxes[elemSize*pivot1+axis];var pivot2=Math.random()*count+lo|0;var value2=boxes[elemSize*pivot2+axis];if(value0<=value1){if(value2>=value1){pivot=pivot1;value=value1}else if(value0>=value2){pivot=pivot0;value=value0}else{pivot=pivot2;value=value2}}else{if(value1>=value2){pivot=pivot1;value=value1}else if(value2>=value0){pivot=pivot0;value=value0}else{pivot=pivot2;value=value2}}var aPtr=elemSize*(hi-1);var bPtr=elemSize*pivot;for(var i=0;i<elemSize;++i,++aPtr,++bPtr){var x=boxes[aPtr];boxes[aPtr]=boxes[bPtr];boxes[bPtr]=x}var y=ids[hi-1];ids[hi-1]=ids[pivot];ids[pivot]=y;pivot=partitionStartLessThan(d,axis,lo,hi-1,boxes,ids,value);var aPtr=elemSize*(hi-1);var bPtr=elemSize*pivot;for(var i=0;i<elemSize;++i,++aPtr,++bPtr){var x=boxes[aPtr];boxes[aPtr]=boxes[bPtr];boxes[bPtr]=x}var y=ids[hi-1];ids[hi-1]=ids[pivot];ids[pivot]=y;if(mid<pivot){hi=pivot-1;while(lo<hi&&boxes[elemSize*(hi-1)+axis]===value){hi-=1}hi+=1}else if(pivot<mid){lo=pivot+1;while(lo<hi&&boxes[elemSize*lo+axis]===value){lo+=1}}else{break}}return partitionStartLessThan(d,axis,start,mid,boxes,ids,boxes[elemSize*mid+axis])}},{"./partition":112}],112:[function(_dereq_,module,exports){"use strict";module.exports=genPartition;var code="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m";function genPartition(predicate,args){var fargs="abcdef".split("").concat(args);var reads=[];if(predicate.indexOf("lo")>=0){reads.push("lo=e[k+n]")}if(predicate.indexOf("hi")>=0){reads.push("hi=e[k+o]")}fargs.push(code.replace("_",reads.join()).replace("$",predicate));return Function.apply(void 0,fargs)}},{}],113:[function(_dereq_,module,exports){"use strict";module.exports=wrapper;var INSERT_SORT_CUTOFF=32;function wrapper(data,n0){if(n0<=4*INSERT_SORT_CUTOFF){insertionSort(0,n0-1,data)}else{quickSort(0,n0-1,data)}}function insertionSort(left,right,data){var ptr=2*(left+1);for(var i=left+1;i<=right;++i){var a=data[ptr++];var b=data[ptr++];var j=i;var jptr=ptr-2;while(j-- >left){var x=data[jptr-2];var y=data[jptr-1];if(x<a){break}else if(x===a&&y<b){break}data[jptr]=x;data[jptr+1]=y;jptr-=2}data[jptr]=a;data[jptr+1]=b}}function swap(i,j,data){i*=2;j*=2;var x=data[i];var y=data[i+1];data[i]=data[j];data[i+1]=data[j+1];data[j]=x;data[j+1]=y}function move(i,j,data){i*=2;j*=2;data[i]=data[j];data[i+1]=data[j+1]}function rotate(i,j,k,data){i*=2;j*=2;k*=2;var x=data[i];var y=data[i+1];data[i]=data[j];data[i+1]=data[j+1];data[j]=data[k];data[j+1]=data[k+1];data[k]=x;data[k+1]=y}function shufflePivot(i,j,px,py,data){i*=2;j*=2;data[i]=data[j];data[j]=px;data[i+1]=data[j+1];data[j+1]=py}function compare(i,j,data){i*=2;j*=2;var x=data[i],y=data[j];if(x<y){return false}else if(x===y){return data[i+1]>data[j+1]}return true}function comparePivot(i,y,b,data){i*=2;var x=data[i];if(x<y){return true}else if(x===y){return data[i+1]<b}return false}function quickSort(left,right,data){var sixth=(right-left+1)/6|0,index1=left+sixth,index5=right-sixth,index3=left+right>>1,index2=index3-sixth,index4=index3+sixth,el1=index1,el2=index2,el3=index3,el4=index4,el5=index5,less=left+1,great=right-1,tmp=0;if(compare(el1,el2,data)){tmp=el1;el1=el2;el2=tmp}if(compare(el4,el5,data)){tmp=el4;el4=el5;el5=tmp}if(compare(el1,el3,data)){tmp=el1;el1=el3;el3=tmp}if(compare(el2,el3,data)){tmp=el2;el2=el3;el3=tmp}if(compare(el1,el4,data)){tmp=el1;el1=el4;el4=tmp}if(compare(el3,el4,data)){tmp=el3;el3=el4;el4=tmp}if(compare(el2,el5,data)){tmp=el2;el2=el5;el5=tmp}if(compare(el2,el3,data)){tmp=el2;el2=el3;el3=tmp}if(compare(el4,el5,data)){tmp=el4;el4=el5;el5=tmp}var pivot1X=data[2*el2];var pivot1Y=data[2*el2+1];var pivot2X=data[2*el4];var pivot2Y=data[2*el4+1];var ptr0=2*el1;var ptr2=2*el3;var ptr4=2*el5;var ptr5=2*index1;var ptr6=2*index3;var ptr7=2*index5;for(var i1=0;i1<2;++i1){var x=data[ptr0+i1];var y=data[ptr2+i1];var z=data[ptr4+i1];data[ptr5+i1]=x;data[ptr6+i1]=y;data[ptr7+i1]=z}move(index2,left,data);move(index4,right,data);for(var k=less;k<=great;++k){if(comparePivot(k,pivot1X,pivot1Y,data)){if(k!==less){swap(k,less,data)}++less}else{if(!comparePivot(k,pivot2X,pivot2Y,data)){while(true){if(!comparePivot(great,pivot2X,pivot2Y,data)){if(--great<k){break}continue}else{if(comparePivot(great,pivot1X,pivot1Y,data)){rotate(k,less,great,data);++less;--great}else{swap(k,great,data);--great}break}}}}}shufflePivot(left,less-1,pivot1X,pivot1Y,data);shufflePivot(right,great+1,pivot2X,pivot2Y,data);if(less-2-left<=INSERT_SORT_CUTOFF){insertionSort(left,less-2,data)}else{quickSort(left,less-2,data)}if(right-(great+2)<=INSERT_SORT_CUTOFF){insertionSort(great+2,right,data)}else{quickSort(great+2,right,data)}if(great-less<=INSERT_SORT_CUTOFF){insertionSort(less,great,data)}else{quickSort(less,great,data)}}},{}],114:[function(_dereq_,module,exports){"use strict";module.exports={init:sqInit,sweepBipartite:sweepBipartite,sweepComplete:sweepComplete,scanBipartite:scanBipartite,scanComplete:scanComplete};var pool=_dereq_("typedarray-pool");var bits=_dereq_("bit-twiddle");var isort=_dereq_("./sort");var BLUE_FLAG=1<<28;var INIT_CAPACITY=1024;var RED_SWEEP_QUEUE=pool.mallocInt32(INIT_CAPACITY);var RED_SWEEP_INDEX=pool.mallocInt32(INIT_CAPACITY);var BLUE_SWEEP_QUEUE=pool.mallocInt32(INIT_CAPACITY);var BLUE_SWEEP_INDEX=pool.mallocInt32(INIT_CAPACITY);var COMMON_SWEEP_QUEUE=pool.mallocInt32(INIT_CAPACITY);var COMMON_SWEEP_INDEX=pool.mallocInt32(INIT_CAPACITY);var SWEEP_EVENTS=pool.mallocDouble(INIT_CAPACITY*8);function sqInit(count){var rcount=bits.nextPow2(count);if(RED_SWEEP_QUEUE.length<rcount){pool.free(RED_SWEEP_QUEUE);RED_SWEEP_QUEUE=pool.mallocInt32(rcount)}if(RED_SWEEP_INDEX.length<rcount){pool.free(RED_SWEEP_INDEX);RED_SWEEP_INDEX=pool.mallocInt32(rcount)}if(BLUE_SWEEP_QUEUE.length<rcount){pool.free(BLUE_SWEEP_QUEUE);BLUE_SWEEP_QUEUE=pool.mallocInt32(rcount)}if(BLUE_SWEEP_INDEX.length<rcount){pool.free(BLUE_SWEEP_INDEX);BLUE_SWEEP_INDEX=pool.mallocInt32(rcount)}if(COMMON_SWEEP_QUEUE.length<rcount){pool.free(COMMON_SWEEP_QUEUE);COMMON_SWEEP_QUEUE=pool.mallocInt32(rcount)}if(COMMON_SWEEP_INDEX.length<rcount){pool.free(COMMON_SWEEP_INDEX);COMMON_SWEEP_INDEX=pool.mallocInt32(rcount)}var eventLength=8*rcount;if(SWEEP_EVENTS.length<eventLength){pool.free(SWEEP_EVENTS);SWEEP_EVENTS=pool.mallocDouble(eventLength)}}function sqPop(queue,index,count,item){var idx=index[item];var top=queue[count-1];queue[idx]=top;index[top]=idx}function sqPush(queue,index,count,item){queue[count]=item;index[item]=count}function sweepBipartite(d,visit,redStart,redEnd,red,redIndex,blueStart,blueEnd,blue,blueIndex){var ptr=0;var elemSize=2*d;var istart=d-1;var iend=elemSize-1;for(var i=redStart;i<redEnd;++i){var idx=redIndex[i];var redOffset=elemSize*i;SWEEP_EVENTS[ptr++]=red[redOffset+istart];SWEEP_EVENTS[ptr++]=-(idx+1);SWEEP_EVENTS[ptr++]=red[redOffset+iend];SWEEP_EVENTS[ptr++]=idx}for(var i=blueStart;i<blueEnd;++i){var idx=blueIndex[i]+BLUE_FLAG;var blueOffset=elemSize*i;SWEEP_EVENTS[ptr++]=blue[blueOffset+istart];SWEEP_EVENTS[ptr++]=-idx;SWEEP_EVENTS[ptr++]=blue[blueOffset+iend];SWEEP_EVENTS[ptr++]=idx}var n=ptr>>>1;isort(SWEEP_EVENTS,n);var redActive=0;var blueActive=0;for(var i=0;i<n;++i){var e=SWEEP_EVENTS[2*i+1]|0;if(e>=BLUE_FLAG){e=e-BLUE_FLAG|0;sqPop(BLUE_SWEEP_QUEUE,BLUE_SWEEP_INDEX,blueActive--,e)}else if(e>=0){sqPop(RED_SWEEP_QUEUE,RED_SWEEP_INDEX,redActive--,e)}else if(e<=-BLUE_FLAG){e=-e-BLUE_FLAG|0;for(var j=0;j<redActive;++j){var retval=visit(RED_SWEEP_QUEUE[j],e);if(retval!==void 0){return retval}}sqPush(BLUE_SWEEP_QUEUE,BLUE_SWEEP_INDEX,blueActive++,e)}else{e=-e-1|0;for(var j=0;j<blueActive;++j){var retval=visit(e,BLUE_SWEEP_QUEUE[j]);if(retval!==void 0){return retval}}sqPush(RED_SWEEP_QUEUE,RED_SWEEP_INDEX,redActive++,e)}}}function sweepComplete(d,visit,redStart,redEnd,red,redIndex,blueStart,blueEnd,blue,blueIndex){var ptr=0;var elemSize=2*d;var istart=d-1;var iend=elemSize-1;for(var i=redStart;i<redEnd;++i){var idx=redIndex[i]+1<<1;var redOffset=elemSize*i;SWEEP_EVENTS[ptr++]=red[redOffset+istart];SWEEP_EVENTS[ptr++]=-idx;SWEEP_EVENTS[ptr++]=red[redOffset+iend];SWEEP_EVENTS[ptr++]=idx}for(var i=blueStart;i<blueEnd;++i){var idx=blueIndex[i]+1<<1;var blueOffset=elemSize*i;SWEEP_EVENTS[ptr++]=blue[blueOffset+istart];SWEEP_EVENTS[ptr++]=-idx|1;SWEEP_EVENTS[ptr++]=blue[blueOffset+iend];SWEEP_EVENTS[ptr++]=idx|1}var n=ptr>>>1;isort(SWEEP_EVENTS,n);var redActive=0;var blueActive=0;var commonActive=0;for(var i=0;i<n;++i){var e=SWEEP_EVENTS[2*i+1]|0;var color=e&1;if(i<n-1&&e>>1===SWEEP_EVENTS[2*i+3]>>1){color=2;i+=1}if(e<0){var id=-(e>>1)-1;for(var j=0;j<commonActive;++j){var retval=visit(COMMON_SWEEP_QUEUE[j],id);if(retval!==void 0){return retval}}if(color!==0){for(var j=0;j<redActive;++j){var retval=visit(RED_SWEEP_QUEUE[j],id);if(retval!==void 0){return retval}}}if(color!==1){for(var j=0;j<blueActive;++j){var retval=visit(BLUE_SWEEP_QUEUE[j],id);if(retval!==void 0){return retval}}}if(color===0){sqPush(RED_SWEEP_QUEUE,RED_SWEEP_INDEX,redActive++,id)}else if(color===1){sqPush(BLUE_SWEEP_QUEUE,BLUE_SWEEP_INDEX,blueActive++,id)}else if(color===2){sqPush(COMMON_SWEEP_QUEUE,COMMON_SWEEP_INDEX,commonActive++,id)}}else{var id=(e>>1)-1;if(color===0){sqPop(RED_SWEEP_QUEUE,RED_SWEEP_INDEX,redActive--,id)}else if(color===1){sqPop(BLUE_SWEEP_QUEUE,BLUE_SWEEP_INDEX,blueActive--,id)}else if(color===2){sqPop(COMMON_SWEEP_QUEUE,COMMON_SWEEP_INDEX,commonActive--,id)}}}}function scanBipartite(d,axis,visit,flip,redStart,redEnd,red,redIndex,blueStart,blueEnd,blue,blueIndex){var ptr=0;var elemSize=2*d;var istart=axis;var iend=axis+d;var redShift=1;var blueShift=1;if(flip){blueShift=BLUE_FLAG}else{redShift=BLUE_FLAG}for(var i=redStart;i<redEnd;++i){var idx=i+redShift;var redOffset=elemSize*i;SWEEP_EVENTS[ptr++]=red[redOffset+istart];SWEEP_EVENTS[ptr++]=-idx;SWEEP_EVENTS[ptr++]=red[redOffset+iend];SWEEP_EVENTS[ptr++]=idx}for(var i=blueStart;i<blueEnd;++i){var idx=i+blueShift;var blueOffset=elemSize*i;SWEEP_EVENTS[ptr++]=blue[blueOffset+istart];SWEEP_EVENTS[ptr++]=-idx}var n=ptr>>>1;isort(SWEEP_EVENTS,n);var redActive=0;for(var i=0;i<n;++i){var e=SWEEP_EVENTS[2*i+1]|0;if(e<0){var idx=-e;var isRed=false;if(idx>=BLUE_FLAG){isRed=!flip;idx-=BLUE_FLAG}else{isRed=!!flip;idx-=1}if(isRed){sqPush(RED_SWEEP_QUEUE,RED_SWEEP_INDEX,redActive++,idx)}else{var blueId=blueIndex[idx];var bluePtr=elemSize*idx;var b0=blue[bluePtr+axis+1];var b1=blue[bluePtr+axis+1+d];red_loop:for(var j=0;j<redActive;++j){var oidx=RED_SWEEP_QUEUE[j];var redPtr=elemSize*oidx;if(b1<red[redPtr+axis+1]||red[redPtr+axis+1+d]<b0){continue}for(var k=axis+2;k<d;++k){if(blue[bluePtr+k+d]<red[redPtr+k]||red[redPtr+k+d]<blue[bluePtr+k]){continue red_loop}}var redId=redIndex[oidx];var retval;if(flip){retval=visit(blueId,redId)}else{retval=visit(redId,blueId)}if(retval!==void 0){return retval}}}}else{sqPop(RED_SWEEP_QUEUE,RED_SWEEP_INDEX,redActive--,e-redShift)}}}function scanComplete(d,axis,visit,redStart,redEnd,red,redIndex,blueStart,blueEnd,blue,blueIndex){var ptr=0;var elemSize=2*d;var istart=axis;var iend=axis+d;for(var i=redStart;i<redEnd;++i){var idx=i+BLUE_FLAG;var redOffset=elemSize*i;SWEEP_EVENTS[ptr++]=red[redOffset+istart];SWEEP_EVENTS[ptr++]=-idx;SWEEP_EVENTS[ptr++]=red[redOffset+iend];SWEEP_EVENTS[ptr++]=idx}for(var i=blueStart;i<blueEnd;++i){var idx=i+1;var blueOffset=elemSize*i;SWEEP_EVENTS[ptr++]=blue[blueOffset+istart];SWEEP_EVENTS[ptr++]=-idx}var n=ptr>>>1;isort(SWEEP_EVENTS,n);var redActive=0;for(var i=0;i<n;++i){var e=SWEEP_EVENTS[2*i+1]|0;if(e<0){var idx=-e;if(idx>=BLUE_FLAG){RED_SWEEP_QUEUE[redActive++]=idx-BLUE_FLAG}else{idx-=1;var blueId=blueIndex[idx];var bluePtr=elemSize*idx;var b0=blue[bluePtr+axis+1];var b1=blue[bluePtr+axis+1+d];red_loop:for(var j=0;j<redActive;++j){var oidx=RED_SWEEP_QUEUE[j];var redId=redIndex[oidx];if(redId===blueId){break}var redPtr=elemSize*oidx;if(b1<red[redPtr+axis+1]||red[redPtr+axis+1+d]<b0){continue}for(var k=axis+2;k<d;++k){if(blue[bluePtr+k+d]<red[redPtr+k]||red[redPtr+k+d]<blue[bluePtr+k]){continue red_loop}}var retval=visit(redId,blueId);if(retval!==void 0){return retval}}}}else{var idx=e-BLUE_FLAG;for(var j=redActive-1;j>=0;--j){if(RED_SWEEP_QUEUE[j]===idx){for(var k=j+1;k<redActive;++k){RED_SWEEP_QUEUE[k-1]=RED_SWEEP_QUEUE[k]}break}}--redActive}}}},{"./sort":113,"bit-twiddle":104,"typedarray-pool":617}],115:[function(_dereq_,module,exports){},{}],116:[function(_dereq_,module,exports){"use strict";var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter;module.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function emit(type){var args=[];for(var i=1;i<arguments.length;i++)args.push(arguments[i]);var doError=type==="error";var events=this._events;if(events!==undefined)doError=doError&&events.error===undefined;else if(!doError)return false;if(doError){var er;if(args.length>0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)ReflectApply(listeners[i],this,args)}return true};function _addListener(target,type,listener,prepend){var m;var events;var existing;checkListener(listener);events=target._events;if(events===undefined){events=target._events=Object.create(null);target._eventsCount=0}else{if(events.newListener!==undefined){target.emit("newListener",type,listener.listener?listener.listener:listener);events=target._events}existing=events[type]}if(existing===undefined){existing=events[type]=listener;++target._eventsCount}else{if(typeof existing==="function"){existing=events[type]=prepend?[listener,existing]:[existing,listener]}else if(prepend){existing.unshift(listener)}else{existing.push(listener)}m=_getMaxListeners(target);if(m>0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i<keys.length;++i){key=keys[i];if(key==="removeListener")continue;this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events=Object.create(null);this._eventsCount=0;return this}listeners=events[type];if(typeof listeners==="function"){this.removeListener(type,listeners)}else if(listeners!==undefined){for(i=listeners.length-1;i>=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i<n;++i)copy[i]=arr[i];return copy}function spliceOne(list,index){for(;index+1<list.length;index++)list[index]=list[index+1];list.pop()}function unwrapListeners(arr){var ret=new Array(arr.length);for(var i=0;i<ret.length;++i){ret[i]=arr[i].listener||arr[i]}return ret}function once(emitter,name){return new Promise((function(resolve,reject){function eventListener(){if(errorListener!==undefined){emitter.removeListener("error",errorListener)}resolve([].slice.call(arguments))}var errorListener;if(name!=="error"){errorListener=function errorListener(err){emitter.removeListener(name,eventListener);reject(err)};emitter.once("error",errorListener)}emitter.once(name,eventListener)}))}},{}],117:[function(_dereq_,module,exports){(function(Buffer){(function(){
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */
"use strict";var base64=_dereq_("base64-js");var ieee754=_dereq_("ieee754");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;exports.kMaxLength=K_MAX_LENGTH;Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport();if(!Buffer.TYPED_ARRAY_SUPPORT&&typeof console!=="undefined"&&typeof console.error==="function"){console.error("This browser lacks typed array (Uint8Array) support which is required by "+"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.")}function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42}catch(e){return false}}Object.defineProperty(Buffer.prototype,"parent",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.buffer}});Object.defineProperty(Buffer.prototype,"offset",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.byteOffset}});function createBuffer(length){if(length>K_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i<length;i+=1){buf[i]=array[i]&255}return buf}function fromArrayBuffer(array,byteOffset,length){if(byteOffset<0||array.byteLength<byteOffset){throw new RangeError('"offset" is outside of buffer bounds')}if(array.byteLength<byteOffset+(length||0)){throw new RangeError('"length" is outside of buffer bounds')}var buf;if(byteOffset===undefined&&length===undefined){buf=new Uint8Array(array)}else if(length===undefined){buf=new Uint8Array(array,byteOffset)}else{buf=new Uint8Array(array,byteOffset,length)}buf.__proto__=Buffer.prototype;return buf}function fromObject(obj){if(Buffer.isBuffer(obj)){var len=checked(obj.length)|0;var buf=createBuffer(len);if(buf.length===0){return buf}obj.copy(buf,0,0,len);return buf}if(obj.length!==undefined){if(typeof obj.length!=="number"||numberIsNaN(obj.length)){return createBuffer(0)}return fromArrayLike(obj)}if(obj.type==="Buffer"&&Array.isArray(obj.data)){return fromArrayLike(obj.data)}}function checked(length){if(length>=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len;++i){if(a[i]!==b[i]){x=a[i];y=b[i];break}}if(x<y)return-1;if(y<x)return 1;return 0};Buffer.isEncoding=function isEncoding(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return true;default:return false}};Buffer.concat=function concat(list,length){if(!Array.isArray(list)){throw new TypeError('"list" argument must be an Array of Buffers')}if(list.length===0){return Buffer.alloc(0)}var i;if(length===undefined){length=0;for(i=0;i<list.length;++i){length+=list[i].length}}var buffer=Buffer.allocUnsafe(length);var pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(isInstance(buf,Uint8Array)){buf=Buffer.from(buf)}if(!Buffer.isBuffer(buf)){throw new TypeError('"list" argument must be an Array of Buffers')}buf.copy(buffer,pos);pos+=buf.length}return buffer};function byteLength(string,encoding){if(Buffer.isBuffer(string)){return string.length}if(ArrayBuffer.isView(string)||isInstance(string,ArrayBuffer)){return string.byteLength}if(typeof string!=="string"){throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. '+"Received type "+typeof string)}var len=string.length;var mustMatch=arguments.length>2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i<len;i+=2){swap(this,i,i+1)}return this};Buffer.prototype.swap32=function swap32(){var len=this.length;if(len%4!==0){throw new RangeError("Buffer size must be a multiple of 32-bits")}for(var i=0;i<len;i+=4){swap(this,i,i+3);swap(this,i+1,i+2)}return this};Buffer.prototype.swap64=function swap64(){var len=this.length;if(len%8!==0){throw new RangeError("Buffer size must be a multiple of 64-bits")}for(var i=0;i<len;i+=8){swap(this,i,i+7);swap(this,i+1,i+6);swap(this,i+2,i+5);swap(this,i+3,i+4)}return this};Buffer.prototype.toString=function toString(){var length=this.length;if(length===0)return"";if(arguments.length===0)return utf8Slice(this,0,length);return slowToString.apply(this,arguments)};Buffer.prototype.toLocaleString=Buffer.prototype.toString;Buffer.prototype.equals=function equals(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");if(this===b)return true;return Buffer.compare(this,b)===0};Buffer.prototype.inspect=function inspect(){var str="";var max=exports.INSPECT_MAX_BYTES;str=this.toString("hex",0,max).replace(/(.{2})/g,"$1 ").trim();if(this.length>max)str+=" ... ";return"<Buffer "+str+">"};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i<len;++i){if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i];y=targetCopy[i];break}}if(x<y)return-1;if(y<x)return 1;return 0};function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(buffer.length===0)return-1;if(typeof byteOffset==="string"){encoding=byteOffset;byteOffset=0}else if(byteOffset>2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++){if(read(arr,i)===read(val,foundIndex===-1?0:i-foundIndex)){if(foundIndex===-1)foundIndex=i;if(i-foundIndex+1===valLength)return foundIndex*indexSize}else{if(foundIndex!==-1)i-=i-foundIndex;foundIndex=-1}}}else{if(byteOffset+valLength>arrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;j<valLength;j++){if(read(arr,i+j)!==read(val,j)){found=false;break}}if(found)return i}}return-1}Buffer.prototype.includes=function includes(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1};Buffer.prototype.indexOf=function indexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,true)};Buffer.prototype.lastIndexOf=function lastIndexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,false)};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;if(!length){length=remaining}else{length=Number(length);if(length>remaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i<length;++i){var parsed=parseInt(string.substr(i*2,2),16);if(numberIsNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length)}Buffer.prototype.write=function write(string,offset,length,encoding){if(offset===undefined){encoding="utf8";length=this.length;offset=0}else if(length===undefined&&typeof offset==="string"){encoding=offset;length=this.length;offset=0}else if(isFinite(offset)){offset=offset>>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i<end){var firstByte=buf[i];var codePoint=null;var bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(i<len){res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=MAX_ARGUMENTS_LENGTH))}return res}function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i]&127)}return ret}function latin1Slice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i])}return ret}function hexSlice(buf,start,end){var len=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len)end=len;var out="";for(var i=start;i<end;++i){out+=toHex(buf[i])}return out}function utf16leSlice(buf,start,end){var bytes=buf.slice(start,end);var res="";for(var i=0;i<bytes.length;i+=2){res+=String.fromCharCode(bytes[i]+bytes[i+1]*256)}return res}Buffer.prototype.slice=function slice(start,end){var len=this.length;start=~~start;end=end===undefined?len:~~end;if(start<0){start+=len;if(start<0)start=0}else if(start>len){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(end<start)end=start;var newBuf=this.subarray(start,end);newBuf.__proto__=Buffer.prototype;return newBuf};function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw new RangeError("offset is not uint");if(offset+ext>length)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=256)){val+=this[offset+i]*mul}return val};Buffer.prototype.readUIntBE=function readUIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=256)){val+=this[offset+i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i<byteLength&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUIntBE=function writeUIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i<byteLength&&(mul*=256)){if(value<0&&sub===0&&this[offset+i-1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end<start)end=start;if(end===start)return 0;if(target.length===0||this.length===0)return 0;if(targetStart<0){throw new RangeError("targetStart out of bounds")}if(start<0||start>=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart<end-start){end=target.length-targetStart+start}var len=end-start;if(this===target&&typeof Uint8Array.prototype.copyWithin==="function"){this.copyWithin(targetStart,start,end)}else if(this===target&&start<targetStart&&targetStart<end){for(var i=len-1;i>=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length<start||this.length<end){throw new RangeError("Out of range index")}if(end<=start){return this}start=start>>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i<end;++i){this[i]=val}}else{var bytes=Buffer.isBuffer(val)?val:Buffer.from(val,encoding);var len=bytes.length;if(len===0){throw new TypeError('The value "'+val+'" is invalid for argument "value"')}for(i=0;i<end-start;++i){this[i+start]=bytes[i%len]}}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(str){str=str.split("=")[0];str=str.trim().replace(INVALID_BASE64_RE,"");if(str.length<2)return"";while(str.length%4!==0){str=str+"="}return str}function toHex(n){if(n<16)return"0"+n.toString(16);return n.toString(16)}function utf8ToBytes(string,units){units=units||Infinity;var codePoint;var length=string.length;var leadSurrogate=null;var bytes=[];for(var i=0;i<length;++i){codePoint=string.charCodeAt(i);if(codePoint>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i<str.length;++i){byteArray.push(str.charCodeAt(i)&255)}return byteArray}function utf16leToBytes(str,units){var c,hi,lo;var byteArray=[];for(var i=0;i<str.length;++i){if((units-=2)<0)break;c=str.charCodeAt(i);hi=c>>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length;++i){if(i+offset>=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this)}).call(this,_dereq_("buffer").Buffer)},{"base64-js":86,buffer:117,ieee754:445}],118:[function(_dereq_,module,exports){"use strict";var monotoneTriangulate=_dereq_("./lib/monotone");var makeIndex=_dereq_("./lib/triangulation");var delaunayFlip=_dereq_("./lib/delaunay");var filterTriangulation=_dereq_("./lib/filter");module.exports=cdt2d;function canonicalizeEdge(e){return[Math.min(e[0],e[1]),Math.max(e[0],e[1])]}function compareEdge(a,b){return a[0]-b[0]||a[1]-b[1]}function canonicalizeEdges(edges){return edges.map(canonicalizeEdge).sort(compareEdge)}function getDefault(options,property,dflt){if(property in options){return options[property]}return dflt}function cdt2d(points,edges,options){if(!Array.isArray(edges)){options=edges||{};edges=[]}else{options=options||{};edges=edges||[]}var delaunay=!!getDefault(options,"delaunay",true);var interior=!!getDefault(options,"interior",true);var exterior=!!getDefault(options,"exterior",true);var infinity=!!getDefault(options,"infinity",false);if(!interior&&!exterior||points.length===0){return[]}var cells=monotoneTriangulate(points,edges);if(delaunay||interior!==exterior||infinity){var triangulation=makeIndex(points.length,canonicalizeEdges(edges));for(var i=0;i<cells.length;++i){var f=cells[i];triangulation.addTriangle(f[0],f[1],f[2])}if(delaunay){delaunayFlip(points,triangulation)}if(!exterior){return filterTriangulation(triangulation,-1)}else if(!interior){return filterTriangulation(triangulation,1,infinity)}else if(infinity){return filterTriangulation(triangulation,0,infinity)}else{return triangulation.cells()}}else{return cells}}},{"./lib/delaunay":119,"./lib/filter":120,"./lib/monotone":121,"./lib/triangulation":122}],119:[function(_dereq_,module,exports){"use strict";var inCircle=_dereq_("robust-in-sphere")[4];var bsearch=_dereq_("binary-search-bounds");module.exports=delaunayRefine;function testFlip(points,triangulation,stack,a,b,x){var y=triangulation.opposite(a,b);if(y<0){return}if(b<a){var tmp=a;a=b;b=tmp;tmp=x;x=y;y=tmp}if(triangulation.isConstraint(a,b)){return}if(inCircle(points[a],points[b],points[x],points[y])<0){stack.push(a,b)}}function delaunayRefine(points,triangulation){var stack=[];var numPoints=points.length;var stars=triangulation.stars;for(var a=0;a<numPoints;++a){var star=stars[a];for(var j=1;j<star.length;j+=2){var b=star[j];if(b<a){continue}if(triangulation.isConstraint(a,b)){continue}var x=star[j-1],y=-1;for(var k=1;k<star.length;k+=2){if(star[k-1]===b){y=star[k];break}}if(y<0){continue}if(inCircle(points[a],points[b],points[x],points[y])<0){stack.push(a,b)}}}while(stack.length>0){var b=stack.pop();var a=stack.pop();var x=-1,y=-1;var star=stars[a];for(var i=1;i<star.length;i+=2){var s=star[i-1];var t=star[i];if(s===b){y=t}else if(t===b){x=s}}if(x<0||y<0){continue}if(inCircle(points[a],points[b],points[x],points[y])>=0){continue}triangulation.flip(a,b);testFlip(points,triangulation,stack,x,a,y);testFlip(points,triangulation,stack,a,y,x);testFlip(points,triangulation,stack,y,b,x);testFlip(points,triangulation,stack,b,x,y)}}},{"binary-search-bounds":103,"robust-in-sphere":546}],120:[function(_dereq_,module,exports){"use strict";var bsearch=_dereq_("binary-search-bounds");module.exports=classifyFaces;function FaceIndex(cells,neighbor,constraint,flags,active,next,boundary){this.cells=cells;this.neighbor=neighbor;this.flags=flags;this.constraint=constraint;this.active=active;this.next=next;this.boundary=boundary}var proto=FaceIndex.prototype;function compareCell(a,b){return a[0]-b[0]||a[1]-b[1]||a[2]-b[2]}proto.locate=function(){var key=[0,0,0];return function(a,b,c){var x=a,y=b,z=c;if(b<c){if(b<a){x=b;y=c;z=a}}else if(c<a){x=c;y=a;z=b}if(x<0){return-1}key[0]=x;key[1]=y;key[2]=z;return bsearch.eq(this.cells,key,compareCell)}}();function indexCells(triangulation,infinity){var cells=triangulation.cells();var nc=cells.length;for(var i=0;i<nc;++i){var c=cells[i];var x=c[0],y=c[1],z=c[2];if(y<z){if(y<x){c[0]=y;c[1]=z;c[2]=x}}else if(z<x){c[0]=z;c[1]=x;c[2]=y}}cells.sort(compareCell);var flags=new Array(nc);for(var i=0;i<flags.length;++i){flags[i]=0}var active=[];var next=[];var neighbor=new Array(3*nc);var constraint=new Array(3*nc);var boundary=null;if(infinity){boundary=[]}var index=new FaceIndex(cells,neighbor,constraint,flags,active,next,boundary);for(var i=0;i<nc;++i){var c=cells[i];for(var j=0;j<3;++j){var x=c[j],y=c[(j+1)%3];var a=neighbor[3*i+j]=index.locate(y,x,triangulation.opposite(y,x));var b=constraint[3*i+j]=triangulation.isConstraint(x,y);if(a<0){if(b){next.push(i)}else{active.push(i);flags[i]=1}if(infinity){boundary.push([y,x,-1])}}}}return index}function filterCells(cells,flags,target){var ptr=0;for(var i=0;i<cells.length;++i){if(flags[i]===target){cells[ptr++]=cells[i]}}cells.length=ptr;return cells}function classifyFaces(triangulation,target,infinity){var index=indexCells(triangulation,infinity);if(target===0){if(infinity){return index.cells.concat(index.boundary)}else{return index.cells}}var side=1;var active=index.active;var next=index.next;var flags=index.flags;var cells=index.cells;var constraint=index.constraint;var neighbor=index.neighbor;while(active.length>0||next.length>0){while(active.length>0){var t=active.pop();if(flags[t]===-side){continue}flags[t]=side;var c=cells[t];for(var j=0;j<3;++j){var f=neighbor[3*t+j];if(f>=0&&flags[f]===0){if(constraint[3*t+j]){next.push(f)}else{active.push(f);flags[f]=side}}}}var tmp=next;next=active;active=tmp;next.length=0;side=-side}var result=filterCells(cells,flags,target);if(infinity){return result.concat(index.boundary)}return result}},{"binary-search-bounds":103}],121:[function(_dereq_,module,exports){"use strict";var bsearch=_dereq_("binary-search-bounds");var orient=_dereq_("robust-orientation")[3];var EVENT_POINT=0;var EVENT_END=1;var EVENT_START=2;module.exports=monotoneTriangulate;function PartialHull(a,b,idx,lowerIds,upperIds){this.a=a;this.b=b;this.idx=idx;this.lowerIds=lowerIds;this.upperIds=upperIds}function Event(a,b,type,idx){this.a=a;this.b=b;this.type=type;this.idx=idx}function compareEvent(a,b){var d=a.a[0]-b.a[0]||a.a[1]-b.a[1]||a.type-b.type;if(d){return d}if(a.type!==EVENT_POINT){d=orient(a.a,a.b,b.b);if(d){return d}}return a.idx-b.idx}function testPoint(hull,p){return orient(hull.a,hull.b,p)}function addPoint(cells,hulls,points,p,idx){var lo=bsearch.lt(hulls,p,testPoint);var hi=bsearch.gt(hulls,p,testPoint);for(var i=lo;i<hi;++i){var hull=hulls[i];var lowerIds=hull.lowerIds;var m=lowerIds.length;while(m>1&&orient(points[lowerIds[m-2]],points[lowerIds[m-1]],p)>0){cells.push([lowerIds[m-1],lowerIds[m-2],idx]);m-=1}lowerIds.length=m;lowerIds.push(idx);var upperIds=hull.upperIds;var m=upperIds.length;while(m>1&&orient(points[upperIds[m-2]],points[upperIds[m-1]],p)<0){cells.push([upperIds[m-2],upperIds[m-1],idx]);m-=1}upperIds.length=m;upperIds.push(idx)}}function findSplit(hull,edge){var d;if(hull.a[0]<edge.a[0]){d=orient(hull.a,hull.b,edge.a)}else{d=orient(edge.b,edge.a,hull.a)}if(d){return d}if(edge.b[0]<hull.b[0]){d=orient(hull.a,hull.b,edge.b)}else{d=orient(edge.b,edge.a,hull.b)}return d||hull.idx-edge.idx}function splitHulls(hulls,points,event){var splitIdx=bsearch.le(hulls,event,findSplit);var hull=hulls[splitIdx];var upperIds=hull.upperIds;var x=upperIds[upperIds.length-1];hull.upperIds=[x];hulls.splice(splitIdx+1,0,new PartialHull(event.a,event.b,event.idx,[x],upperIds))}function mergeHulls(hulls,points,event){var tmp=event.a;event.a=event.b;event.b=tmp;var mergeIdx=bsearch.eq(hulls,event,findSplit);var upper=hulls[mergeIdx];var lower=hulls[mergeIdx-1];lower.upperIds=upper.upperIds;hulls.splice(mergeIdx,1)}function monotoneTriangulate(points,edges){var numPoints=points.length;var numEdges=edges.length;var events=[];for(var i=0;i<numPoints;++i){events.push(new Event(points[i],null,EVENT_POINT,i))}for(var i=0;i<numEdges;++i){var e=edges[i];var a=points[e[0]];var b=points[e[1]];if(a[0]<b[0]){events.push(new Event(a,b,EVENT_START,i),new Event(b,a,EVENT_END,i))}else if(a[0]>b[0]){events.push(new Event(b,a,EVENT_START,i),new Event(a,b,EVENT_END,i))}}events.sort(compareEvent);var minX=events[0].a[0]-(1+Math.abs(events[0].a[0]))*Math.pow(2,-52);var hull=[new PartialHull([minX,1],[minX,0],-1,[],[],[],[])];var cells=[];for(var i=0,numEvents=events.length;i<numEvents;++i){var event=events[i];var type=event.type;if(type===EVENT_POINT){addPoint(cells,hull,points,event.a,event.idx)}else if(type===EVENT_START){splitHulls(hull,points,event)}else{mergeHulls(hull,points,event)}}return cells}},{"binary-search-bounds":103,"robust-orientation":548}],122:[function(_dereq_,module,exports){"use strict";var bsearch=_dereq_("binary-search-bounds");module.exports=createTriangulation;function Triangulation(stars,edges){this.stars=stars;this.edges=edges}var proto=Triangulation.prototype;function removePair(list,j,k){for(var i=1,n=list.length;i<n;i+=2){if(list[i-1]===j&&list[i]===k){list[i-1]=list[n-2];list[i]=list[n-1];list.length=n-2;return}}}proto.isConstraint=function(){var e=[0,0];function compareLex(a,b){return a[0]-b[0]||a[1]-b[1]}return function(i,j){e[0]=Math.min(i,j);e[1]=Math.max(i,j);return bsearch.eq(this.edges,e,compareLex)>=0}}();proto.removeTriangle=function(i,j,k){var stars=this.stars;removePair(stars[i],j,k);removePair(stars[j],k,i);removePair(stars[k],i,j)};proto.addTriangle=function(i,j,k){var stars=this.stars;stars[i].push(j,k);stars[j].push(k,i);stars[k].push(i,j)};proto.opposite=function(j,i){var list=this.stars[i];for(var k=1,n=list.length;k<n;k+=2){if(list[k]===j){return list[k-1]}}return-1};proto.flip=function(i,j){var a=this.opposite(i,j);var b=this.opposite(j,i);this.removeTriangle(i,j,a);this.removeTriangle(j,i,b);this.addTriangle(i,b,a);this.addTriangle(j,a,b)};proto.edges=function(){var stars=this.stars;var result=[];for(var i=0,n=stars.length;i<n;++i){var list=stars[i];for(var j=0,m=list.length;j<m;j+=2){result.push([list[j],list[j+1]])}}return result};proto.cells=function(){var stars=this.stars;var result=[];for(var i=0,n=stars.length;i<n;++i){var list=stars[i];for(var j=0,m=list.length;j<m;j+=2){var s=list[j];var t=list[j+1];if(i<Math.min(s,t)){result.push([i,s,t])}}}return result};function createTriangulation(numVerts,edges){var stars=new Array(numVerts);for(var i=0;i<numVerts;++i){stars[i]=[]}return new Triangulation(stars,edges)}},{"binary-search-bounds":103}],123:[function(_dereq_,module,exports){"use strict";module.exports=orientation;function orientation(s){var p=1;for(var i=1;i<s.length;++i){for(var j=0;j<i;++j){if(s[i]<s[j]){p=-p}else if(s[j]===s[i]){return 0}}}return p}},{}],124:[function(_dereq_,module,exports){"use strict";var dup=_dereq_("dup");var solve=_dereq_("robust-linear-solve");function dot(a,b){var s=0;var d=a.length;for(var i=0;i<d;++i){s+=a[i]*b[i]}return s}function barycentricCircumcenter(points){var N=points.length;if(N===0){return[]}var D=points[0].length;var A=dup([points.length+1,points.length+1],1);var b=dup([points.length+1],1);A[N][N]=0;for(var i=0;i<N;++i){for(var j=0;j<=i;++j){A[j][i]=A[i][j]=2*dot(points[i],points[j])}b[i]=dot(points[i],points[i])}var x=solve(A,b);var denom=0;var h=x[N+1];for(var i=0;i<h.length;++i){denom+=h[i]}var y=new Array(N);for(var i=0;i<N;++i){var h=x[i];var numer=0;for(var j=0;j<h.length;++j){numer+=h[j]}y[i]=numer/denom}return y}function circumcenter(points){if(points.length===0){return[]}var D=points[0].length;var result=dup([D]);var weights=barycentricCircumcenter(points);for(var i=0;i<points.length;++i){for(var j=0;j<D;++j){result[j]+=points[i][j]*weights[i]}}return result}circumcenter.barycenetric=barycentricCircumcenter;module.exports=circumcenter},{dup:185,"robust-linear-solve":547}],125:[function(_dereq_,module,exports){module.exports=circumradius;var circumcenter=_dereq_("circumcenter");function circumradius(points){var center=circumcenter(points);var avgDist=0;for(var i=0;i<points.length;++i){var p=points[i];for(var j=0;j<center.length;++j){avgDist+=Math.pow(p[j]-center[j],2)}}return Math.sqrt(avgDist/points.length)}},{circumcenter:124}],126:[function(_dereq_,module,exports){module.exports=clamp;function clamp(value,min,max){return min<max?value<min?min:value>max?max:value:value<max?max:value>min?min:value}},{}],127:[function(_dereq_,module,exports){"use strict";module.exports=cleanPSLG;var UnionFind=_dereq_("union-find");var boxIntersect=_dereq_("box-intersect");var segseg=_dereq_("robust-segment-intersect");var rat=_dereq_("big-rat");var ratCmp=_dereq_("big-rat/cmp");var ratToFloat=_dereq_("big-rat/to-float");var ratVec=_dereq_("rat-vec");var nextafter=_dereq_("nextafter");var solveIntersection=_dereq_("./lib/rat-seg-intersect");function boundRat(r){var f=ratToFloat(r);return[nextafter(f,-Infinity),nextafter(f,Infinity)]}function boundEdges(points,edges){var bounds=new Array(edges.length);for(var i=0;i<edges.length;++i){var e=edges[i];var a=points[e[0]];var b=points[e[1]];bounds[i]=[nextafter(Math.min(a[0],b[0]),-Infinity),nextafter(Math.min(a[1],b[1]),-Infinity),nextafter(Math.max(a[0],b[0]),Infinity),nextafter(Math.max(a[1],b[1]),Infinity)]}return bounds}function boundPoints(points){var bounds=new Array(points.length);for(var i=0;i<points.length;++i){var p=points[i];bounds[i]=[nextafter(p[0],-Infinity),nextafter(p[1],-Infinity),nextafter(p[0],Infinity),nextafter(p[1],Infinity)]}return bounds}function getCrossings(points,edges,edgeBounds){var result=[];boxIntersect(edgeBounds,(function(i,j){var e=edges[i];var f=edges[j];if(e[0]===f[0]||e[0]===f[1]||e[1]===f[0]||e[1]===f[1]){return}var a=points[e[0]];var b=points[e[1]];var c=points[f[0]];var d=points[f[1]];if(segseg(a,b,c,d)){result.push([i,j])}}));return result}function getTJunctions(points,edges,edgeBounds,vertBounds){var result=[];boxIntersect(edgeBounds,vertBounds,(function(i,v){var e=edges[i];if(e[0]===v||e[1]===v){return}var p=points[v];var a=points[e[0]];var b=points[e[1]];if(segseg(a,b,p,p)){result.push([i,v])}}));return result}function cutEdges(floatPoints,edges,crossings,junctions,useColor){var i,e;var ratPoints=floatPoints.map((function(p){return[rat(p[0]),rat(p[1])]}));for(i=0;i<crossings.length;++i){var crossing=crossings[i];e=crossing[0];var f=crossing[1];var ee=edges[e];var ef=edges[f];var x=solveIntersection(ratVec(floatPoints[ee[0]]),ratVec(floatPoints[ee[1]]),ratVec(floatPoints[ef[0]]),ratVec(floatPoints[ef[1]]));if(!x){continue}var idx=floatPoints.length;floatPoints.push([ratToFloat(x[0]),ratToFloat(x[1])]);ratPoints.push(x);junctions.push([e,idx],[f,idx])}junctions.sort((function(a,b){if(a[0]!==b[0]){return a[0]-b[0]}var u=ratPoints[a[1]];var v=ratPoints[b[1]];return ratCmp(u[0],v[0])||ratCmp(u[1],v[1])}));for(i=junctions.length-1;i>=0;--i){var junction=junctions[i];e=junction[0];var edge=edges[e];var s=edge[0];var t=edge[1];var a=floatPoints[s];var b=floatPoints[t];if((a[0]-b[0]||a[1]-b[1])<0){var tmp=s;s=t;t=tmp}edge[0]=s;var last=edge[1]=junction[1];var color;if(useColor){color=edge[2]}while(i>0&&junctions[i-1][0]===e){var junction=junctions[--i];var next=junction[1];if(useColor){edges.push([last,next,color])}else{edges.push([last,next])}last=next}if(useColor){edges.push([last,t,color])}else{edges.push([last,t])}}return ratPoints}function dedupPoints(floatPoints,ratPoints,floatBounds){var numPoints=ratPoints.length;var uf=new UnionFind(numPoints);var bounds=[];for(var i=0;i<ratPoints.length;++i){var p=ratPoints[i];var xb=boundRat(p[0]);var yb=boundRat(p[1]);bounds.push([nextafter(xb[0],-Infinity),nextafter(yb[0],-Infinity),nextafter(xb[1],Infinity),nextafter(yb[1],Infinity)])}boxIntersect(bounds,(function(i,j){uf.link(i,j)}));var noDupes=true;var labels=new Array(numPoints);for(var i=0;i<numPoints;++i){var j=uf.find(i);if(j!==i){noDupes=false;floatPoints[j]=[Math.min(floatPoints[i][0],floatPoints[j][0]),Math.min(floatPoints[i][1],floatPoints[j][1])]}}if(noDupes){return null}var ptr=0;for(var i=0;i<numPoints;++i){var j=uf.find(i);if(j===i){labels[i]=ptr;floatPoints[ptr++]=floatPoints[i]}else{labels[i]=-1}}floatPoints.length=ptr;for(var i=0;i<numPoints;++i){if(labels[i]<0){labels[i]=labels[uf.find(i)]}}return labels}function compareLex2(a,b){return a[0]-b[0]||a[1]-b[1]}function compareLex3(a,b){var d=a[0]-b[0]||a[1]-b[1];if(d){return d}if(a[2]<b[2]){return-1}else if(a[2]>b[2]){return 1}return 0}function dedupEdges(edges,labels,useColor){if(edges.length===0){return}if(labels){for(var i=0;i<edges.length;++i){var e=edges[i];var a=labels[e[0]];var b=labels[e[1]];e[0]=Math.min(a,b);e[1]=Math.max(a,b)}}else{for(var i=0;i<edges.length;++i){var e=edges[i];var a=e[0];var b=e[1];e[0]=Math.min(a,b);e[1]=Math.max(a,b)}}if(useColor){edges.sort(compareLex3)}else{edges.sort(compareLex2)}var ptr=1;for(var i=1;i<edges.length;++i){var prev=edges[i-1];var next=edges[i];if(next[0]===prev[0]&&next[1]===prev[1]&&(!useColor||next[2]===prev[2])){continue}edges[ptr++]=next}edges.length=ptr}function preRound(points,edges,useColor){var labels=dedupPoints(points,[],boundPoints(points));dedupEdges(edges,labels,useColor);return!!labels}function snapRound(points,edges,useColor){var edgeBounds=boundEdges(points,edges);var crossings=getCrossings(points,edges,edgeBounds);var vertBounds=boundPoints(points);var tjunctions=getTJunctions(points,edges,edgeBounds,vertBounds);var ratPoints=cutEdges(points,edges,crossings,tjunctions,useColor);var labels=dedupPoints(points,ratPoints,vertBounds);dedupEdges(edges,labels,useColor);if(!labels){return crossings.length>0||tjunctions.length>0}return true}function cleanPSLG(points,edges,colors){var prevEdges;if(colors){prevEdges=edges;var augEdges=new Array(edges.length);for(var i=0;i<edges.length;++i){var e=edges[i];augEdges[i]=[e[0],e[1],colors[i]]}edges=augEdges}var modified=preRound(points,edges,!!colors);while(snapRound(points,edges,!!colors)){modified=true}if(!!colors&&modified){prevEdges.length=0;colors.length=0;for(var i=0;i<edges.length;++i){var e=edges[i];prevEdges.push([e[0],e[1]]);colors.push(e[2])}}return modified}},{"./lib/rat-seg-intersect":128,"big-rat":90,"big-rat/cmp":88,"big-rat/to-float":102,"box-intersect":108,nextafter:484,"rat-vec":532,"robust-segment-intersect":551,"union-find":618}],128:[function(_dereq_,module,exports){"use strict";module.exports=solveIntersection;var ratMul=_dereq_("big-rat/mul");var ratDiv=_dereq_("big-rat/div");var ratSub=_dereq_("big-rat/sub");var ratSign=_dereq_("big-rat/sign");var rvSub=_dereq_("rat-vec/sub");var rvAdd=_dereq_("rat-vec/add");var rvMuls=_dereq_("rat-vec/muls");function ratPerp(a,b){return ratSub(ratMul(a[0],b[1]),ratMul(a[1],b[0]))}function solveIntersection(a,b,c,d){var ba=rvSub(b,a);var dc=rvSub(d,c);var baXdc=ratPerp(ba,dc);if(ratSign(baXdc)===0){return null}var ac=rvSub(a,c);var dcXac=ratPerp(dc,ac);var t=ratDiv(dcXac,baXdc);var s=rvMuls(ba,t);var r=rvAdd(a,s);return r}},{"big-rat/div":89,"big-rat/mul":99,"big-rat/sign":100,"big-rat/sub":101,"rat-vec/add":531,"rat-vec/muls":533,"rat-vec/sub":534}],129:[function(_dereq_,module,exports){"use strict";var clamp=_dereq_("clamp");module.exports=toNumber;module.exports.to=toNumber;module.exports.from=fromNumber;function toNumber(rgba,normalized){if(normalized==null)normalized=true;var r=rgba[0],g=rgba[1],b=rgba[2],a=rgba[3];if(a==null)a=normalized?1:255;if(normalized){r*=255;g*=255;b*=255;a*=255}r=clamp(r,0,255)&255;g=clamp(g,0,255)&255;b=clamp(b,0,255)&255;a=clamp(a,0,255)&255;var n=r*16777216+(g<<16)+(b<<8)+a;return n}function fromNumber(n,normalized){n=+n;var r=n>>>24;var g=(n&16711680)>>>16;var b=(n&65280)>>>8;var a=n&255;if(normalized===false)return[r,g,b,a];return[r/255,g/255,b/255,a/255]}},{clamp:126}],130:[function(_dereq_,module,exports){"use strict";module.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],131:[function(_dereq_,module,exports){"use strict";var rgba=_dereq_("color-rgba");var clamp=_dereq_("clamp");var dtype=_dereq_("dtype");module.exports=function normalize(color,type){if(type==="float"||!type)type="array";if(type==="uint")type="uint8";if(type==="uint_clamped")type="uint8_clamped";var Ctor=dtype(type);var output=new Ctor(4);var normalize=type!=="uint8"&&type!=="uint8_clamped";if(!color.length||typeof color==="string"){color=rgba(color);color[0]/=255;color[1]/=255;color[2]/=255}if(isInt(color)){output[0]=color[0];output[1]=color[1];output[2]=color[2];output[3]=color[3]!=null?color[3]:255;if(normalize){output[0]/=255;output[1]/=255;output[2]/=255;output[3]/=255}return output}if(!normalize){output[0]=clamp(Math.floor(color[0]*255),0,255);output[1]=clamp(Math.floor(color[1]*255),0,255);output[2]=clamp(Math.floor(color[2]*255),0,255);output[3]=color[3]==null?255:clamp(Math.floor(color[3]*255),0,255)}else{output[0]=color[0];output[1]=color[1];output[2]=color[2];output[3]=color[3]!=null?color[3]:1}return output};function isInt(color){if(color instanceof Uint8Array||color instanceof Uint8ClampedArray)return true;if(Array.isArray(color)&&(color[0]>1||color[0]===0)&&(color[1]>1||color[1]===0)&&(color[2]>1||color[2]===0)&&(!color[3]||color[3]>1))return true;return false}},{clamp:126,"color-rgba":133,dtype:184}],132:[function(_dereq_,module,exports){(function(global){(function(){"use strict";var names=_dereq_("color-name");var isObject=_dereq_("is-plain-obj");var defined=_dereq_("defined");module.exports=parse;var baseHues={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function parse(cstr){var m,parts=[],alpha=1,space;if(typeof cstr==="string"){if(names[cstr]){parts=names[cstr].slice();space="rgb"}else if(cstr==="transparent"){alpha=0;space="rgb";parts=[0,0,0]}else if(/^#[A-Fa-f0-9]+$/.test(cstr)){var base=cstr.slice(1);var size=base.length;var isShort=size<=4;alpha=1;if(isShort){parts=[parseInt(base[0]+base[0],16),parseInt(base[1]+base[1],16),parseInt(base[2]+base[2],16)];if(size===4){alpha=parseInt(base[3]+base[3],16)/255}}else{parts=[parseInt(base[0]+base[1],16),parseInt(base[2]+base[3],16),parseInt(base[4]+base[5],16)];if(size===8){alpha=parseInt(base[6]+base[7],16)/255}}if(!parts[0])parts[0]=0;if(!parts[1])parts[1]=0;if(!parts[2])parts[2]=0;space="rgb"}else if(m=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(cstr)){var name=m[1];var isRGB=name==="rgb";var base=name.replace(/a$/,"");space=base;var size=base==="cmyk"?4:base==="gray"?1:3;parts=m[2].trim().split(/\s*,\s*/).map((function(x,i){if(/%$/.test(x)){if(i===size)return parseFloat(x)/100;if(base==="rgb")return parseFloat(x)*255/100;return parseFloat(x)}else if(base[i]==="h"){if(/deg$/.test(x)){return parseFloat(x)}else if(baseHues[x]!==undefined){return baseHues[x]}}return parseFloat(x)}));if(name===base)parts.push(1);alpha=isRGB?1:parts[size]===undefined?1:parts[size];parts=parts.slice(0,size)}else if(cstr.length>10&&/[0-9](?:\s|\/)/.test(cstr)){parts=cstr.match(/([0-9]+)/g).map((function(value){return parseFloat(value)}));space=cstr.match(/([a-z])/gi).join("").toLowerCase()}}else if(!isNaN(cstr)){space="rgb";parts=[cstr>>>16,(cstr&65280)>>>8,cstr&255]}else if(isObject(cstr)){var r=defined(cstr.r,cstr.red,cstr.R,null);if(r!==null){space="rgb";parts=[r,defined(cstr.g,cstr.green,cstr.G),defined(cstr.b,cstr.blue,cstr.B)]}else{space="hsl";parts=[defined(cstr.h,cstr.hue,cstr.H),defined(cstr.s,cstr.saturation,cstr.S),defined(cstr.l,cstr.lightness,cstr.L,cstr.b,cstr.brightness)]}alpha=defined(cstr.a,cstr.alpha,cstr.opacity,1);if(cstr.opacity!=null)alpha/=100}else if(Array.isArray(cstr)||global.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(cstr)){parts=[cstr[0],cstr[1],cstr[2]];space="rgb";alpha=cstr.length===4?cstr[3]:1}return{space:space,values:parts,alpha:alpha}}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"color-name":130,defined:179,"is-plain-obj":457}],133:[function(_dereq_,module,exports){"use strict";var parse=_dereq_("color-parse");var hsl=_dereq_("color-space/hsl");var clamp=_dereq_("clamp");module.exports=function rgba(color){var values,i,l;var parsed=parse(color);if(!parsed.space)return[];values=Array(3);values[0]=clamp(parsed.values[0],0,255);values[1]=clamp(parsed.values[1],0,255);values[2]=clamp(parsed.values[2],0,255);if(parsed.space[0]==="h"){values=hsl.rgb(values)}values.push(clamp(parsed.alpha,0,1));return values}},{clamp:126,"color-parse":132,"color-space/hsl":134}],134:[function(_dereq_,module,exports){"use strict";var rgb=_dereq_("./rgb");module.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(hsl){var h=hsl[0]/360,s=hsl[1]/100,l=hsl[2]/100,t1,t2,t3,rgb,val;if(s===0){val=l*255;return[val,val,val]}if(l<.5){t2=l*(1+s)}else{t2=l+s-l*s}t1=2*l-t2;rgb=[0,0,0];for(var i=0;i<3;i++){t3=h+1/3*-(i-1);if(t3<0){t3++}else if(t3>1){t3--}if(6*t3<1){val=t1+(t2-t1)*6*t3}else if(2*t3<1){val=t2}else if(3*t3<2){val=t1+(t2-t1)*(2/3-t3)*6}else{val=t1}rgb[i]=val*255}return rgb}};rgb.hsl=function(rgb){var r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,min=Math.min(r,g,b),max=Math.max(r,g,b),delta=max-min,h,s,l;if(max===min){h=0}else if(r===max){h=(g-b)/delta}else if(g===max){h=2+(b-r)/delta}else if(b===max){h=4+(r-g)/delta}h=Math.min(h*60,360);if(h<0){h+=360}l=(min+max)/2;if(max===min){s=0}else if(l<=.5){s=delta/(max+min)}else{s=delta/(2-max-min)}return[h,s*100,l*100]}},{"./rgb":135}],135:[function(_dereq_,module,exports){"use strict";module.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],136:[function(_dereq_,module,exports){module.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],137:[function(_dereq_,module,exports){"use strict";var colorScale=_dereq_("./colorScale");var lerp=_dereq_("lerp");module.exports=createColormap;function createColormap(spec){var indicies,fromrgba,torgba,nsteps,cmap,colormap,format,nshades,colors,alpha,i;if(!spec)spec={};nshades=(spec.nshades||72)-1;format=spec.format||"hex";colormap=spec.colormap;if(!colormap)colormap="jet";if(typeof colormap==="string"){colormap=colormap.toLowerCase();if(!colorScale[colormap]){throw Error(colormap+" not a supported colorscale")}cmap=colorScale[colormap]}else if(Array.isArray(colormap)){cmap=colormap.slice()}else{throw Error("unsupported colormap option",colormap)}if(cmap.length>nshades+1){throw new Error(colormap+" map requires nshades to be at least size "+cmap.length)}if(!Array.isArray(spec.alpha)){if(typeof spec.alpha==="number"){alpha=[spec.alpha,spec.alpha]}else{alpha=[1,1]}}else if(spec.alpha.length!==2){alpha=[1,1]}else{alpha=spec.alpha.slice()}indicies=cmap.map((function(c){return Math.round(c.index*nshades)}));alpha[0]=Math.min(Math.max(alpha[0],0),1);alpha[1]=Math.min(Math.max(alpha[1],0),1);var steps=cmap.map((function(c,i){var index=cmap[i].index;var rgba=cmap[i].rgb.slice();if(rgba.length===4&&rgba[3]>=0&&rgba[3]<=1){return rgba}rgba[3]=alpha[0]+(alpha[1]-alpha[0])*index;return rgba}));var colors=[];for(i=0;i<indicies.length-1;++i){nsteps=indicies[i+1]-indicies[i];fromrgba=steps[i];torgba=steps[i+1];for(var j=0;j<nsteps;j++){var amt=j/nsteps;colors.push([Math.round(lerp(fromrgba[0],torgba[0],amt)),Math.round(lerp(fromrgba[1],torgba[1],amt)),Math.round(lerp(fromrgba[2],torgba[2],amt)),lerp(fromrgba[3],torgba[3],amt)])}}colors.push(cmap[cmap.length-1].rgb.concat(alpha[1]));if(format==="hex")colors=colors.map(rgb2hex);else if(format==="rgbaString")colors=colors.map(rgbaStr);else if(format==="float")colors=colors.map(rgb2float);return colors}function rgb2float(rgba){return[rgba[0]/255,rgba[1]/255,rgba[2]/255,rgba[3]]}function rgb2hex(rgba){var dig,hex="#";for(var i=0;i<3;++i){dig=rgba[i];dig=dig.toString(16);hex+=("00"+dig).substr(dig.length)}return hex}function rgbaStr(rgba){return"rgba("+rgba.join(",")+")"}},{"./colorScale":136,lerp:460}],138:[function(_dereq_,module,exports){"use strict";module.exports=compareAngle;var orient=_dereq_("robust-orientation");var sgn=_dereq_("signum");var twoSum=_dereq_("two-sum");var robustProduct=_dereq_("robust-product");var robustSum=_dereq_("robust-sum");function testInterior(a,b,c){var x0=twoSum(a[0],-b[0]);var y0=twoSum(a[1],-b[1]);var x1=twoSum(c[0],-b[0]);var y1=twoSum(c[1],-b[1]);var d=robustSum(robustProduct(x0,x1),robustProduct(y0,y1));return d[d.length-1]>=0}function compareAngle(a,b,c,d){var bcd=orient(b,c,d);if(bcd===0){var sabc=sgn(orient(a,b,c));var sabd=sgn(orient(a,b,d));if(sabc===sabd){if(sabc===0){var ic=testInterior(a,b,c);var id=testInterior(a,b,d);if(ic===id){return 0}else if(ic){return 1}else{return-1}}return 0}else if(sabd===0){if(sabc>0){return-1}else if(testInterior(a,b,d)){return-1}else{return 1}}else if(sabc===0){if(sabd>0){return 1}else if(testInterior(a,b,c)){return 1}else{return-1}}return sgn(sabd-sabc)}var abc=orient(a,b,c);if(abc>0){if(bcd>0&&orient(a,b,d)>0){return 1}return-1}else if(abc<0){if(bcd>0||orient(a,b,d)>0){return 1}return-1}else{var abd=orient(a,b,d);if(abd>0){return 1}else{if(testInterior(a,b,c)){return 1}else{return-1}}}}},{"robust-orientation":548,"robust-product":549,"robust-sum":553,signum:555,"two-sum":605}],139:[function(_dereq_,module,exports){module.exports=compareCells;var min=Math.min;function compareInt(a,b){return a-b}function compareCells(a,b){var n=a.length,t=a.length-b.length;if(t){return t}switch(n){case 0:return 0;case 1:return a[0]-b[0];case 2:return a[0]+a[1]-b[0]-b[1]||min(a[0],a[1])-min(b[0],b[1]);case 3:var l1=a[0]+a[1],m1=b[0]+b[1];t=l1+a[2]-(m1+b[2]);if(t){return t}var l0=min(a[0],a[1]),m0=min(b[0],b[1]);return min(l0,a[2])-min(m0,b[2])||min(l0+a[2],l1)-min(m0+b[2],m1);case 4:var aw=a[0],ax=a[1],ay=a[2],az=a[3],bw=b[0],bx=b[1],by=b[2],bz=b[3];return aw+ax+ay+az-(bw+bx+by+bz)||min(aw,ax,ay,az)-min(bw,bx,by,bz,bw)||min(aw+ax,aw+ay,aw+az,ax+ay,ax+az,ay+az)-min(bw+bx,bw+by,bw+bz,bx+by,bx+bz,by+bz)||min(aw+ax+ay,aw+ax+az,aw+ay+az,ax+ay+az)-min(bw+bx+by,bw+bx+bz,bw+by+bz,bx+by+bz);default:var as=a.slice().sort(compareInt);var bs=b.slice().sort(compareInt);for(var i=0;i<n;++i){t=as[i]-bs[i];if(t){return t}}return 0}}},{}],140:[function(_dereq_,module,exports){"use strict";var compareCells=_dereq_("compare-cell");var parity=_dereq_("cell-orientation");module.exports=compareOrientedCells;function compareOrientedCells(a,b){return compareCells(a,b)||parity(a)-parity(b)}},{"cell-orientation":123,"compare-cell":139}],141:[function(_dereq_,module,exports){"use strict";var convexHull1d=_dereq_("./lib/ch1d");var convexHull2d=_dereq_("./lib/ch2d");var convexHullnd=_dereq_("./lib/chnd");module.exports=convexHull;function convexHull(points){var n=points.length;if(n===0){return[]}else if(n===1){return[[0]]}var d=points[0].length;if(d===0){return[]}else if(d===1){return convexHull1d(points)}else if(d===2){return convexHull2d(points)}return convexHullnd(points,d)}},{"./lib/ch1d":142,"./lib/ch2d":143,"./lib/chnd":144}],142:[function(_dereq_,module,exports){"use strict";module.exports=convexHull1d;function convexHull1d(points){var lo=0;var hi=0;for(var i=1;i<points.length;++i){if(points[i][0]<points[lo][0]){lo=i}if(points[i][0]>points[hi][0]){hi=i}}if(lo<hi){return[[lo],[hi]]}else if(lo>hi){return[[hi],[lo]]}else{return[[lo]]}}},{}],143:[function(_dereq_,module,exports){"use strict";module.exports=convexHull2D;var monotoneHull=_dereq_("monotone-convex-hull-2d");function convexHull2D(points){var hull=monotoneHull(points);var h=hull.length;if(h<=2){return[]}var edges=new Array(h);var a=hull[h-1];for(var i=0;i<h;++i){var b=hull[i];edges[i]=[a,b];a=b}return edges}},{"monotone-convex-hull-2d":469}],144:[function(_dereq_,module,exports){"use strict";module.exports=convexHullnD;var ich=_dereq_("incremental-convex-hull");var aff=_dereq_("affine-hull");function permute(points,front){var n=points.length;var npoints=new Array(n);for(var i=0;i<front.length;++i){npoints[i]=points[front[i]]}var ptr=front.length;for(var i=0;i<n;++i){if(front.indexOf(i)<0){npoints[ptr++]=points[i]}}return npoints}function invPermute(cells,front){var nc=cells.length;var nf=front.length;for(var i=0;i<nc;++i){var c=cells[i];for(var j=0;j<c.length;++j){var x=c[j];if(x<nf){c[j]=front[x]}else{x=x-nf;for(var k=0;k<nf;++k){if(x>=front[k]){x+=1}}c[j]=x}}}return cells}function convexHullnD(points,d){try{return ich(points,true)}catch(e){var ah=aff(points);if(ah.length<=d){return[]}var npoints=permute(points,ah);var nhull=ich(npoints,true);return invPermute(nhull,ah)}}},{"affine-hull":73,"incremental-convex-hull":446}],145:[function(_dereq_,module,exports){module.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],146:[function(_dereq_,module,exports){module.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],147:[function(_dereq_,module,exports){module.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],148:[function(_dereq_,module,exports){module.exports=["normal","italic","oblique"]},{}],149:[function(_dereq_,module,exports){module.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],150:[function(_dereq_,module,exports){"use strict";module.exports={parse:_dereq_("./parse"),stringify:_dereq_("./stringify")}},{"./parse":152,"./stringify":153}],151:[function(_dereq_,module,exports){"use strict";var sizes=_dereq_("css-font-size-keywords");module.exports={isSize:function isSize(value){return/^[\d\.]/.test(value)||value.indexOf("/")!==-1||sizes.indexOf(value)!==-1}}},{"css-font-size-keywords":146}],152:[function(_dereq_,module,exports){"use strict";var unquote=_dereq_("unquote");var globalKeywords=_dereq_("css-global-keywords");var systemFontKeywords=_dereq_("css-system-font-keywords");var fontWeightKeywords=_dereq_("css-font-weight-keywords");var fontStyleKeywords=_dereq_("css-font-style-keywords");var fontStretchKeywords=_dereq_("css-font-stretch-keywords");var splitBy=_dereq_("string-split-by");var isSize=_dereq_("./lib/util").isSize;module.exports=parseFont;var cache=parseFont.cache={};function parseFont(value){if(typeof value!=="string")throw new Error("Font argument must be a string.");if(cache[value])return cache[value];if(value===""){throw new Error("Cannot parse an empty string.")}if(systemFontKeywords.indexOf(value)!==-1){return cache[value]={system:value}}var font={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]};var tokens=splitBy(value,/\s+/);var token;while(token=tokens.shift()){if(globalKeywords.indexOf(token)!==-1){["style","variant","weight","stretch"].forEach((function(prop){font[prop]=token}));return cache[value]=font}if(fontStyleKeywords.indexOf(token)!==-1){font.style=token;continue}if(token==="normal"||token==="small-caps"){font.variant=token;continue}if(fontStretchKeywords.indexOf(token)!==-1){font.stretch=token;continue}if(fontWeightKeywords.indexOf(token)!==-1){font.weight=token;continue}if(isSize(token)){var parts=splitBy(token,"/");font.size=parts[0];if(parts[1]!=null){font.lineHeight=parseLineHeight(parts[1])}else if(tokens[0]==="/"){tokens.shift();font.lineHeight=parseLineHeight(tokens.shift())}if(!tokens.length){throw new Error("Missing required font-family.")}font.family=splitBy(tokens.join(" "),/\s*,\s*/).map(unquote);return cache[value]=font}throw new Error("Unknown or unsupported font token: "+token)}throw new Error("Missing required font-size.")}function parseLineHeight(value){var parsed=parseFloat(value);if(parsed.toString()===value){return parsed}return value}},{"./lib/util":151,"css-font-stretch-keywords":147,"css-font-style-keywords":148,"css-font-weight-keywords":149,"css-global-keywords":154,"css-system-font-keywords":155,"string-split-by":589,unquote:620}],153:[function(_dereq_,module,exports){"use strict";var pick=_dereq_("pick-by-alias");var isSize=_dereq_("./lib/util").isSize;var globals=a2o(_dereq_("css-global-keywords"));var systems=a2o(_dereq_("css-system-font-keywords"));var weights=a2o(_dereq_("css-font-weight-keywords"));var styles=a2o(_dereq_("css-font-style-keywords"));var stretches=a2o(_dereq_("css-font-stretch-keywords"));var variants={normal:1,"small-caps":1};var fams={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1};var defaults={style:"normal",variant:"normal",weight:"normal",stretch:"normal",size:"1rem",lineHeight:"normal",family:"serif"};module.exports=function stringifyFont(o){o=pick(o,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"});if(o.system){if(o.system)verify(o.system,systems);return o.system}verify(o.style,styles);verify(o.variant,variants);verify(o.weight,weights);verify(o.stretch,stretches);if(o.size==null)o.size=defaults.size;if(typeof o.size==="number")o.size+="px";if(!isSize)throw Error("Bad size value `"+o.size+"`");if(!o.family)o.family=defaults.family;if(Array.isArray(o.family)){if(!o.family.length)o.family=[defaults.family];o.family=o.family.map((function(f){return fams[f]?f:'"'+f+'"'})).join(", ")}var result=[];result.push(o.style);if(o.variant!==o.style)result.push(o.variant);if(o.weight!==o.variant&&o.weight!==o.style)result.push(o.weight);if(o.stretch!==o.weight&&o.stretch!==o.variant&&o.stretch!==o.style)result.push(o.stretch);result.push(o.size+(o.lineHeight==null||o.lineHeight==="normal"||o.lineHeight+""==="1"?"":"/"+o.lineHeight));result.push(o.family);return result.filter(Boolean).join(" ")};function verify(value,values){if(value&&!values[value]&&!globals[value])throw Error("Unknown keyword `"+value+"`");return value}function a2o(a){var o={};for(var i=0;i<a.length;i++){o[a[i]]=1}return o}},{"./lib/util":151,"css-font-stretch-keywords":147,"css-font-style-keywords":148,"css-font-weight-keywords":149,"css-global-keywords":154,"css-system-font-keywords":155,"pick-by-alias":498}],154:[function(_dereq_,module,exports){module.exports=["inherit","initial","unset"]},{}],155:[function(_dereq_,module,exports){module.exports=["caption","icon","menu","message-box","small-caption","status-bar"]},{}],156:[function(_dereq_,module,exports){"use strict";function dcubicHermite(p0,v0,p1,v1,t,f){var dh00=6*t*t-6*t,dh10=3*t*t-4*t+1,dh01=-6*t*t+6*t,dh11=3*t*t-2*t;if(p0.length){if(!f){f=new Array(p0.length)}for(var i=p0.length-1;i>=0;--i){f[i]=dh00*p0[i]+dh10*v0[i]+dh01*p1[i]+dh11*v1[i]}return f}return dh00*p0+dh10*v0+dh01*p1[i]+dh11*v1}function cubicHermite(p0,v0,p1,v1,t,f){var ti=t-1,t2=t*t,ti2=ti*ti,h00=(1+2*t)*ti2,h10=t*ti2,h01=t2*(3-2*t),h11=t2*ti;if(p0.length){if(!f){f=new Array(p0.length)}for(var i=p0.length-1;i>=0;--i){f[i]=h00*p0[i]+h10*v0[i]+h01*p1[i]+h11*v1[i]}return f}return h00*p0+h10*v0+h01*p1+h11*v1}module.exports=cubicHermite;module.exports.derivative=dcubicHermite},{}],157:[function(_dereq_,module,exports){"use strict";var createThunk=_dereq_("./lib/thunk.js");function Procedure(){this.argTypes=[];this.shimArgs=[];this.arrayArgs=[];this.arrayBlockIndices=[];this.scalarArgs=[];this.offsetArgs=[];this.offsetArgIndex=[];this.indexArgs=[];this.shapeArgs=[];this.funcName="";this.pre=null;this.body=null;this.post=null;this.debug=false}function compileCwise(user_args){var proc=new Procedure;proc.pre=user_args.pre;proc.body=user_args.body;proc.post=user_args.post;var proc_args=user_args.args.slice(0);proc.argTypes=proc_args;for(var i=0;i<proc_args.length;++i){var arg_type=proc_args[i];if(arg_type==="array"||typeof arg_type==="object"&&arg_type.blockIndices){proc.argTypes[i]="array";proc.arrayArgs.push(i);proc.arrayBlockIndices.push(arg_type.blockIndices?arg_type.blockIndices:0);proc.shimArgs.push("array"+i);if(i<proc.pre.args.length&&proc.pre.args[i].count>0){throw new Error("cwise: pre() block may not reference array args")}if(i<proc.post.args.length&&proc.post.args[i].count>0){throw new Error("cwise: post() block may not reference array args")}}else if(arg_type==="scalar"){proc.scalarArgs.push(i);proc.shimArgs.push("scalar"+i)}else if(arg_type==="index"){proc.indexArgs.push(i);if(i<proc.pre.args.length&&proc.pre.args[i].count>0){throw new Error("cwise: pre() block may not reference array index")}if(i<proc.body.args.length&&proc.body.args[i].lvalue){throw new Error("cwise: body() block may not write to array index")}if(i<proc.post.args.length&&proc.post.args[i].count>0){throw new Error("cwise: post() block may not reference array index")}}else if(arg_type==="shape"){proc.shapeArgs.push(i);if(i<proc.pre.args.length&&proc.pre.args[i].lvalue){throw new Error("cwise: pre() block may not write to array shape")}if(i<proc.body.args.length&&proc.body.args[i].lvalue){throw new Error("cwise: body() block may not write to array shape")}if(i<proc.post.args.length&&proc.post.args[i].lvalue){throw new Error("cwise: post() block may not write to array shape")}}else if(typeof arg_type==="object"&&arg_type.offset){proc.argTypes[i]="offset";proc.offsetArgs.push({array:arg_type.array,offset:arg_type.offset});proc.offsetArgIndex.push(i)}else{throw new Error("cwise: Unknown argument type "+proc_args[i])}}if(proc.arrayArgs.length<=0){throw new Error("cwise: No array arguments specified")}if(proc.pre.args.length>proc_args.length){throw new Error("cwise: Too many arguments in pre() block")}if(proc.body.args.length>proc_args.length){throw new Error("cwise: Too many arguments in body() block")}if(proc.post.args.length>proc_args.length){throw new Error("cwise: Too many arguments in post() block")}proc.debug=!!user_args.printCode||!!user_args.debug;proc.funcName=user_args.funcName||"cwise";proc.blockSize=user_args.blockSize||64;return createThunk(proc)}module.exports=compileCwise},{"./lib/thunk.js":159}],158:[function(_dereq_,module,exports){"use strict";var uniq=_dereq_("uniq");function innerFill(order,proc,body){var dimension=order.length,nargs=proc.arrayArgs.length,has_index=proc.indexArgs.length>0,code=[],vars=[],idx=0,pidx=0,i,j;for(i=0;i<dimension;++i){vars.push(["i",i,"=0"].join(""))}for(j=0;j<nargs;++j){for(i=0;i<dimension;++i){pidx=idx;idx=order[i];if(i===0){vars.push(["d",j,"s",i,"=t",j,"p",idx].join(""))}else{vars.push(["d",j,"s",i,"=(t",j,"p",idx,"-s",pidx,"*t",j,"p",pidx,")"].join(""))}}}if(vars.length>0){code.push("var "+vars.join(","))}for(i=dimension-1;i>=0;--i){idx=order[i];code.push(["for(i",i,"=0;i",i,"<s",idx,";++i",i,"){"].join(""))}code.push(body);for(i=0;i<dimension;++i){pidx=idx;idx=order[i];for(j=0;j<nargs;++j){code.push(["p",j,"+=d",j,"s",i].join(""))}if(has_index){if(i>0){code.push(["index[",pidx,"]-=s",pidx].join(""))}code.push(["++index[",idx,"]"].join(""))}code.push("}")}return code.join("\n")}function outerFill(matched,order,proc,body){var dimension=order.length,nargs=proc.arrayArgs.length,blockSize=proc.blockSize,has_index=proc.indexArgs.length>0,code=[];for(var i=0;i<nargs;++i){code.push(["var offset",i,"=p",i].join(""))}for(var i=matched;i<dimension;++i){code.push(["for(var j"+i+"=SS[",order[i],"]|0;j",i,">0;){"].join(""));code.push(["if(j",i,"<",blockSize,"){"].join(""));code.push(["s",order[i],"=j",i].join(""));code.push(["j",i,"=0"].join(""));code.push(["}else{s",order[i],"=",blockSize].join(""));code.push(["j",i,"-=",blockSize,"}"].join(""));if(has_index){code.push(["index[",order[i],"]=j",i].join(""))}}for(var i=0;i<nargs;++i){var indexStr=["offset"+i];for(var j=matched;j<dimension;++j){indexStr.push(["j",j,"*t",i,"p",order[j]].join(""))}code.push(["p",i,"=(",indexStr.join("+"),")"].join(""))}code.push(innerFill(order,proc,body));for(var i=matched;i<dimension;++i){code.push("}")}return code.join("\n")}function countMatches(orders){var matched=0,dimension=orders[0].length;while(matched<dimension){for(var j=1;j<orders.length;++j){if(orders[j][matched]!==orders[0][matched]){return matched}}++matched}return matched}function processBlock(block,proc,dtypes){var code=block.body;var pre=[];var post=[];for(var i=0;i<block.args.length;++i){var carg=block.args[i];if(carg.count<=0){continue}var re=new RegExp(carg.name,"g");var ptrStr="";var arrNum=proc.arrayArgs.indexOf(i);switch(proc.argTypes[i]){case"offset":var offArgIndex=proc.offsetArgIndex.indexOf(i);var offArg=proc.offsetArgs[offArgIndex];arrNum=offArg.array;ptrStr="+q"+offArgIndex;case"array":ptrStr="p"+arrNum+ptrStr;var localStr="l"+i;var arrStr="a"+arrNum;if(proc.arrayBlockIndices[arrNum]===0){if(carg.count===1){if(dtypes[arrNum]==="generic"){if(carg.lvalue){pre.push(["var ",localStr,"=",arrStr,".get(",ptrStr,")"].join(""));code=code.replace(re,localStr);post.push([arrStr,".set(",ptrStr,",",localStr,")"].join(""))}else{code=code.replace(re,[arrStr,".get(",ptrStr,")"].join(""))}}else{code=code.replace(re,[arrStr,"[",ptrStr,"]"].join(""))}}else if(dtypes[arrNum]==="generic"){pre.push(["var ",localStr,"=",arrStr,".get(",ptrStr,")"].join(""));code=code.replace(re,localStr);if(carg.lvalue){post.push([arrStr,".set(",ptrStr,",",localStr,")"].join(""))}}else{pre.push(["var ",localStr,"=",arrStr,"[",ptrStr,"]"].join(""));code=code.replace(re,localStr);if(carg.lvalue){post.push([arrStr,"[",ptrStr,"]=",localStr].join(""))}}}else{var reStrArr=[carg.name],ptrStrArr=[ptrStr];for(var j=0;j<Math.abs(proc.arrayBlockIndices[arrNum]);j++){reStrArr.push("\\s*\\[([^\\]]+)\\]");ptrStrArr.push("$"+(j+1)+"*t"+arrNum+"b"+j)}re=new RegExp(reStrArr.join(""),"g");ptrStr=ptrStrArr.join("+");if(dtypes[arrNum]==="generic"){throw new Error("cwise: Generic arrays not supported in combination with blocks!")}else{code=code.replace(re,[arrStr,"[",ptrStr,"]"].join(""))}}break;case"scalar":code=code.replace(re,"Y"+proc.scalarArgs.indexOf(i));break;case"index":code=code.replace(re,"index");break;case"shape":code=code.replace(re,"shape");break}}return[pre.join("\n"),code,post.join("\n")].join("\n").trim()}function typeSummary(dtypes){var summary=new Array(dtypes.length);var allEqual=true;for(var i=0;i<dtypes.length;++i){var t=dtypes[i];var digits=t.match(/\d+/);if(!digits){digits=""}else{digits=digits[0]}if(t.charAt(0)===0){summary[i]="u"+t.charAt(1)+digits}else{summary[i]=t.charAt(0)+digits}if(i>0){allEqual=allEqual&&summary[i]===summary[i-1]}}if(allEqual){return summary[0]}return summary.join("")}function generateCWiseOp(proc,typesig){var dimension=typesig[1].length-Math.abs(proc.arrayBlockIndices[0])|0;var orders=new Array(proc.arrayArgs.length);var dtypes=new Array(proc.arrayArgs.length);for(var i=0;i<proc.arrayArgs.length;++i){dtypes[i]=typesig[2*i];orders[i]=typesig[2*i+1]}var blockBegin=[],blockEnd=[];var loopBegin=[],loopEnd=[];var loopOrders=[];for(var i=0;i<proc.arrayArgs.length;++i){if(proc.arrayBlockIndices[i]<0){loopBegin.push(0);loopEnd.push(dimension);blockBegin.push(dimension);blockEnd.push(dimension+proc.arrayBlockIndices[i])}else{loopBegin.push(proc.arrayBlockIndices[i]);loopEnd.push(proc.arrayBlockIndices[i]+dimension);blockBegin.push(0);blockEnd.push(proc.arrayBlockIndices[i])}var newOrder=[];for(var j=0;j<orders[i].length;j++){if(loopBegin[i]<=orders[i][j]&&orders[i][j]<loopEnd[i]){newOrder.push(orders[i][j]-loopBegin[i])}}loopOrders.push(newOrder)}var arglist=["SS"];var code=["'use strict'"];var vars=[];for(var j=0;j<dimension;++j){vars.push(["s",j,"=SS[",j,"]"].join(""))}for(var i=0;i<proc.arrayArgs.length;++i){arglist.push("a"+i);arglist.push("t"+i);arglist.push("p"+i);for(var j=0;j<dimension;++j){vars.push(["t",i,"p",j,"=t",i,"[",loopBegin[i]+j,"]"].join(""))}for(var j=0;j<Math.abs(proc.arrayBlockIndices[i]);++j){vars.push(["t",i,"b",j,"=t",i,"[",blockBegin[i]+j,"]"].join(""))}}for(var i=0;i<proc.scalarArgs.length;++i){arglist.push("Y"+i)}if(proc.shapeArgs.length>0){vars.push("shape=SS.slice(0)")}if(proc.indexArgs.length>0){var zeros=new Array(dimension);for(var i=0;i<dimension;++i){zeros[i]="0"}vars.push(["index=[",zeros.join(","),"]"].join(""))}for(var i=0;i<proc.offsetArgs.length;++i){var off_arg=proc.offsetArgs[i];var init_string=[];for(var j=0;j<off_arg.offset.length;++j){if(off_arg.offset[j]===0){continue}else if(off_arg.offset[j]===1){init_string.push(["t",off_arg.array,"p",j].join(""))}else{init_string.push([off_arg.offset[j],"*t",off_arg.array,"p",j].join(""))}}if(init_string.length===0){vars.push("q"+i+"=0")}else{vars.push(["q",i,"=",init_string.join("+")].join(""))}}var thisVars=uniq([].concat(proc.pre.thisVars).concat(proc.body.thisVars).concat(proc.post.thisVars));vars=vars.concat(thisVars);if(vars.length>0){code.push("var "+vars.join(","))}for(var i=0;i<proc.arrayArgs.length;++i){code.push("p"+i+"|=0")}if(proc.pre.body.length>3){code.push(processBlock(proc.pre,proc,dtypes))}var body=processBlock(proc.body,proc,dtypes);var matched=countMatches(loopOrders);if(matched<dimension){code.push(outerFill(matched,loopOrders[0],proc,body))}else{code.push(innerFill(loopOrders[0],proc,body))}if(proc.post.body.length>3){code.push(processBlock(proc.post,proc,dtypes))}if(proc.debug){console.log("-----Generated cwise routine for ",typesig,":\n"+code.join("\n")+"\n----------")}var loopName=[proc.funcName||"unnamed","_cwise_loop_",orders[0].join("s"),"m",matched,typeSummary(dtypes)].join("");var f=new Function(["function ",loopName,"(",arglist.join(","),"){",code.join("\n"),"} return ",loopName].join(""));return f()}module.exports=generateCWiseOp},{uniq:619}],159:[function(_dereq_,module,exports){"use strict";var compile=_dereq_("./compile.js");function createThunk(proc){var code=["'use strict'","var CACHED={}"];var vars=[];var thunkName=proc.funcName+"_cwise_thunk";code.push(["return function ",thunkName,"(",proc.shimArgs.join(","),"){"].join(""));var typesig=[];var string_typesig=[];var proc_args=[["array",proc.arrayArgs[0],".shape.slice(",Math.max(0,proc.arrayBlockIndices[0]),proc.arrayBlockIndices[0]<0?","+proc.arrayBlockIndices[0]+")":")"].join("")];var shapeLengthConditions=[],shapeConditions=[];for(var i=0;i<proc.arrayArgs.length;++i){var j=proc.arrayArgs[i];vars.push(["t",j,"=array",j,".dtype,","r",j,"=array",j,".order"].join(""));typesig.push("t"+j);typesig.push("r"+j);string_typesig.push("t"+j);string_typesig.push("r"+j+".join()");proc_args.push("array"+j+".data");proc_args.push("array"+j+".stride");proc_args.push("array"+j+".offset|0");if(i>0){shapeLengthConditions.push("array"+proc.arrayArgs[0]+".shape.length===array"+j+".shape.length+"+(Math.abs(proc.arrayBlockIndices[0])-Math.abs(proc.arrayBlockIndices[i])));shapeConditions.push("array"+proc.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,proc.arrayBlockIndices[0])+"]===array"+j+".shape[shapeIndex+"+Math.max(0,proc.arrayBlockIndices[i])+"]")}}if(proc.arrayArgs.length>1){code.push("if (!("+shapeLengthConditions.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')");code.push("for(var shapeIndex=array"+proc.arrayArgs[0]+".shape.length-"+Math.abs(proc.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {");code.push("if (!("+shapeConditions.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')");code.push("}")}for(var i=0;i<proc.scalarArgs.length;++i){proc_args.push("scalar"+proc.scalarArgs[i])}vars.push(["type=[",string_typesig.join(","),"].join()"].join(""));vars.push("proc=CACHED[type]");code.push("var "+vars.join(","));code.push(["if(!proc){","CACHED[type]=proc=compile([",typesig.join(","),"])}","return proc(",proc_args.join(","),")}"].join(""));if(proc.debug){console.log("-----Generated thunk:\n"+code.join("\n")+"\n----------")}var thunk=new Function("compile",code.join("\n"));return thunk(compile.bind(undefined,proc))}module.exports=createThunk},{"./compile.js":158}],160:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("type/value/is"),ensureValue=_dereq_("type/value/ensure"),ensurePlainFunction=_dereq_("type/plain-function/ensure"),copy=_dereq_("es5-ext/object/copy"),normalizeOptions=_dereq_("es5-ext/object/normalize-options"),map=_dereq_("es5-ext/object/map");var bind=Function.prototype.bind,defineProperty=Object.defineProperty,hasOwnProperty=Object.prototype.hasOwnProperty,define;define=function(name,desc,options){var value=ensureValue(desc)&&ensurePlainFunction(desc.value),dgs;dgs=copy(desc);delete dgs.writable;delete dgs.value;dgs.get=function(){if(!options.overwriteDefinition&&hasOwnProperty.call(this,name))return value;desc.value=bind.call(value,options.resolveContext?options.resolveContext(this):this);defineProperty(this,name,desc);return this[name]};return dgs};module.exports=function(props){var options=normalizeOptions(arguments[1]);if(isValue(options.resolveContext))ensurePlainFunction(options.resolveContext);return map(props,(function(desc,name){return define(name,desc,options)}))}},{"es5-ext/object/copy":205,"es5-ext/object/map":213,"es5-ext/object/normalize-options":214,"type/plain-function/ensure":611,"type/value/ensure":615,"type/value/is":616}],161:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("type/value/is"),isPlainFunction=_dereq_("type/plain-function/is"),assign=_dereq_("es5-ext/object/assign"),normalizeOpts=_dereq_("es5-ext/object/normalize-options"),contains=_dereq_("es5-ext/string/#/contains");var d=module.exports=function(dscr,value){var c,e,w,options,desc;if(arguments.length<2||typeof dscr!=="string"){options=value;value=dscr;dscr=null}else{options=arguments[2]}if(isValue(dscr)){c=contains.call(dscr,"c");e=contains.call(dscr,"e");w=contains.call(dscr,"w")}else{c=w=true;e=false}desc={value:value,configurable:c,enumerable:e,writable:w};return!options?desc:assign(normalizeOpts(options),desc)};d.gs=function(dscr,get,set){var c,e,options,desc;if(typeof dscr!=="string"){options=set;set=get;get=dscr;dscr=null}else{options=arguments[3]}if(!isValue(get)){get=undefined}else if(!isPlainFunction(get)){options=get;get=set=undefined}else if(!isValue(set)){set=undefined}else if(!isPlainFunction(set)){options=set;set=undefined}if(isValue(dscr)){c=contains.call(dscr,"c");e=contains.call(dscr,"e")}else{c=true;e=false}desc={get:get,set:set,configurable:c,enumerable:e};return!options?desc:assign(normalizeOpts(options),desc)}},{"es5-ext/object/assign":202,"es5-ext/object/normalize-options":214,"es5-ext/string/#/contains":221,"type/plain-function/is":612,"type/value/is":616}],162:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,(function(exports){"use strict";function ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function bisector(compare){if(compare.length===1)compare=ascendingComparator(compare);return{left:function(a,x,lo,hi){if(lo==null)lo=0;if(hi==null)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)<0)lo=mid+1;else hi=mid}return lo},right:function(a,x,lo,hi){if(lo==null)lo=0;if(hi==null)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)>0)hi=mid;else lo=mid+1}return lo}}}function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}var ascendingBisect=bisector(ascending);var bisectRight=ascendingBisect.right;var bisectLeft=ascendingBisect.left;function pairs(array,f){if(f==null)f=pair;var i=0,n=array.length-1,p=array[0],pairs=new Array(n<0?0:n);while(i<n)pairs[i]=f(p,p=array[++i]);return pairs}function pair(a,b){return[a,b]}function cross(values0,values1,reduce){var n0=values0.length,n1=values1.length,values=new Array(n0*n1),i0,i1,i,value0;if(reduce==null)reduce=pair;for(i0=i=0;i0<n0;++i0){for(value0=values0[i0],i1=0;i1<n1;++i1,++i){values[i]=reduce(value0,values1[i1])}}return values}function descending(a,b){return b<a?-1:b>a?1:b>=a?0:NaN}function number(x){return x===null?NaN:+x}function variance(values,valueof){var n=values.length,m=0,i=-1,mean=0,value,delta,sum=0;if(valueof==null){while(++i<n){if(!isNaN(value=number(values[i]))){delta=value-mean;mean+=delta/++m;sum+=delta*(value-mean)}}}else{while(++i<n){if(!isNaN(value=number(valueof(values[i],i,values)))){delta=value-mean;mean+=delta/++m;sum+=delta*(value-mean)}}}if(m>1)return sum/(m-1)}function deviation(array,f){var v=variance(array,f);return v?Math.sqrt(v):v}function extent(values,valueof){var n=values.length,i=-1,value,min,max;if(valueof==null){while(++i<n){if((value=values[i])!=null&&value>=value){min=max=value;while(++i<n){if((value=values[i])!=null){if(min>value)min=value;if(max<value)max=value}}}}}else{while(++i<n){if((value=valueof(values[i],i,values))!=null&&value>=value){min=max=value;while(++i<n){if((value=valueof(values[i],i,values))!=null){if(min>value)min=value;if(max<value)max=value}}}}}return[min,max]}var array=Array.prototype;var slice=array.slice;var map=array.map;function constant(x){return function(){return x}}function identity(x){return x}function range(start,stop,step){start=+start,stop=+stop,step=(n=arguments.length)<2?(stop=start,start=0,1):n<3?1:+step;var i=-1,n=Math.max(0,Math.ceil((stop-start)/step))|0,range=new Array(n);while(++i<n){range[i]=start+i*step}return range}var e10=Math.sqrt(50),e5=Math.sqrt(10),e2=Math.sqrt(2);function ticks(start,stop,count){var reverse,i=-1,n,ticks,step;stop=+stop,start=+start,count=+count;if(start===stop&&count>0)return[start];if(reverse=stop<start)n=start,start=stop,stop=n;if((step=tickIncrement(start,stop,count))===0||!isFinite(step))return[];if(step>0){start=Math.ceil(start/step);stop=Math.floor(stop/step);ticks=new Array(n=Math.ceil(stop-start+1));while(++i<n)ticks[i]=(start+i)*step}else{start=Math.floor(start*step);stop=Math.ceil(stop*step);ticks=new Array(n=Math.ceil(start-stop+1));while(++i<n)ticks[i]=(start-i)/step}if(reverse)ticks.reverse();return ticks}function tickIncrement(start,stop,count){var step=(stop-start)/Math.max(0,count),power=Math.floor(Math.log(step)/Math.LN10),error=step/Math.pow(10,power);return power>=0?(error>=e10?10:error>=e5?5:error>=e2?2:1)*Math.pow(10,power):-Math.pow(10,-power)/(error>=e10?10:error>=e5?5:error>=e2?2:1)}function tickStep(start,stop,count){var step0=Math.abs(stop-start)/Math.max(0,count),step1=Math.pow(10,Math.floor(Math.log(step0)/Math.LN10)),error=step0/step1;if(error>=e10)step1*=10;else if(error>=e5)step1*=5;else if(error>=e2)step1*=2;return stop<start?-step1:step1}function sturges(values){return Math.ceil(Math.log(values.length)/Math.LN2)+1}function histogram(){var value=identity,domain=extent,threshold=sturges;function histogram(data){var i,n=data.length,x,values=new Array(n);for(i=0;i<n;++i){values[i]=value(data[i],i,data)}var xz=domain(values),x0=xz[0],x1=xz[1],tz=threshold(values,x0,x1);if(!Array.isArray(tz)){tz=tickStep(x0,x1,tz);tz=range(Math.ceil(x0/tz)*tz,x1,tz)}var m=tz.length;while(tz[0]<=x0)tz.shift(),--m;while(tz[m-1]>x1)tz.pop(),--m;var bins=new Array(m+1),bin;for(i=0;i<=m;++i){bin=bins[i]=[];bin.x0=i>0?tz[i-1]:x0;bin.x1=i<m?tz[i]:x1}for(i=0;i<n;++i){x=values[i];if(x0<=x&&x<=x1){bins[bisectRight(tz,x,0,m)].push(data[i])}}return bins}histogram.value=function(_){return arguments.length?(value=typeof _==="function"?_:constant(_),histogram):value};histogram.domain=function(_){return arguments.length?(domain=typeof _==="function"?_:constant([_[0],_[1]]),histogram):domain};histogram.thresholds=function(_){return arguments.length?(threshold=typeof _==="function"?_:Array.isArray(_)?constant(slice.call(_)):constant(_),histogram):threshold};return histogram}function quantile(values,p,valueof){if(valueof==null)valueof=number;if(!(n=values.length))return;if((p=+p)<=0||n<2)return+valueof(values[0],0,values);if(p>=1)return+valueof(values[n-1],n-1,values);var n,i=(n-1)*p,i0=Math.floor(i),value0=+valueof(values[i0],i0,values),value1=+valueof(values[i0+1],i0+1,values);return value0+(value1-value0)*(i-i0)}function freedmanDiaconis(values,min,max){values=map.call(values,number).sort(ascending);return Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))}function scott(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))}function max(values,valueof){var n=values.length,i=-1,value,max;if(valueof==null){while(++i<n){if((value=values[i])!=null&&value>=value){max=value;while(++i<n){if((value=values[i])!=null&&value>max){max=value}}}}}else{while(++i<n){if((value=valueof(values[i],i,values))!=null&&value>=value){max=value;while(++i<n){if((value=valueof(values[i],i,values))!=null&&value>max){max=value}}}}}return max}function mean(values,valueof){var n=values.length,m=n,i=-1,value,sum=0;if(valueof==null){while(++i<n){if(!isNaN(value=number(values[i])))sum+=value;else--m}}else{while(++i<n){if(!isNaN(value=number(valueof(values[i],i,values))))sum+=value;else--m}}if(m)return sum/m}function median(values,valueof){var n=values.length,i=-1,value,numbers=[];if(valueof==null){while(++i<n){if(!isNaN(value=number(values[i]))){numbers.push(value)}}}else{while(++i<n){if(!isNaN(value=number(valueof(values[i],i,values)))){numbers.push(value)}}}return quantile(numbers.sort(ascending),.5)}function merge(arrays){var n=arrays.length,m,i=-1,j=0,merged,array;while(++i<n)j+=arrays[i].length;merged=new Array(j);while(--n>=0){array=arrays[n];m=array.length;while(--m>=0){merged[--j]=array[m]}}return merged}function min(values,valueof){var n=values.length,i=-1,value,min;if(valueof==null){while(++i<n){if((value=values[i])!=null&&value>=value){min=value;while(++i<n){if((value=values[i])!=null&&min>value){min=value}}}}}else{while(++i<n){if((value=valueof(values[i],i,values))!=null&&value>=value){min=value;while(++i<n){if((value=valueof(values[i],i,values))!=null&&min>value){min=value}}}}}return min}function permute(array,indexes){var i=indexes.length,permutes=new Array(i);while(i--)permutes[i]=array[indexes[i]];return permutes}function scan(values,compare){if(!(n=values.length))return;var n,i=0,j=0,xi,xj=values[j];if(compare==null)compare=ascending;while(++i<n){if(compare(xi=values[i],xj)<0||compare(xj,xj)!==0){xj=xi,j=i}}if(compare(xj,xj)===0)return j}function shuffle(array,i0,i1){var m=(i1==null?array.length:i1)-(i0=i0==null?0:+i0),t,i;while(m){i=Math.random()*m--|0;t=array[m+i0];array[m+i0]=array[i+i0];array[i+i0]=t}return array}function sum(values,valueof){var n=values.length,i=-1,value,sum=0;if(valueof==null){while(++i<n){if(value=+values[i])sum+=value}}else{while(++i<n){if(value=+valueof(values[i],i,values))sum+=value}}return sum}function transpose(matrix){if(!(n=matrix.length))return[];for(var i=-1,m=min(matrix,length),transpose=new Array(m);++i<m;){for(var j=-1,n,row=transpose[i]=new Array(n);++j<n;){row[j]=matrix[j][i]}}return transpose}function length(d){return d.length}function zip(){return transpose(arguments)}exports.bisect=bisectRight;exports.bisectRight=bisectRight;exports.bisectLeft=bisectLeft;exports.ascending=ascending;exports.bisector=bisector;exports.cross=cross;exports.descending=descending;exports.deviation=deviation;exports.extent=extent;exports.histogram=histogram;exports.thresholdFreedmanDiaconis=freedmanDiaconis;exports.thresholdScott=scott;exports.thresholdSturges=sturges;exports.max=max;exports.mean=mean;exports.median=median;exports.merge=merge;exports.min=min;exports.pairs=pairs;exports.permute=permute;exports.quantile=quantile;exports.range=range;exports.scan=scan;exports.shuffle=shuffle;exports.sum=sum;exports.ticks=ticks;exports.tickIncrement=tickIncrement;exports.tickStep=tickStep;exports.transpose=transpose;exports.variance=variance;exports.zip=zip;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],163:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.d3=global.d3||{})})(this,(function(exports){"use strict";var prefix="$";function Map(){}Map.prototype=map.prototype={constructor:Map,has:function(key){return prefix+key in this},get:function(key){return this[prefix+key]},set:function(key,value){this[prefix+key]=value;return this},remove:function(key){var property=prefix+key;return property in this&&delete this[property]},clear:function(){for(var property in this)if(property[0]===prefix)delete this[property]},keys:function(){var keys=[];for(var property in this)if(property[0]===prefix)keys.push(property.slice(1));return keys},values:function(){var values=[];for(var property in this)if(property[0]===prefix)values.push(this[property]);return values},entries:function(){var entries=[];for(var property in this)if(property[0]===prefix)entries.push({key:property.slice(1),value:this[property]});return entries},size:function(){var size=0;for(var property in this)if(property[0]===prefix)++size;return size},empty:function(){for(var property in this)if(property[0]===prefix)return false;return true},each:function(f){for(var property in this)if(property[0]===prefix)f(this[property],property.slice(1),this)}};function map(object,f){var map=new Map;if(object instanceof Map)object.each((function(value,key){map.set(key,value)}));else if(Array.isArray(object)){var i=-1,n=object.length,o;if(f==null)while(++i<n)map.set(i,object[i]);else while(++i<n)map.set(f(o=object[i],i,object),o)}else if(object)for(var key in object)map.set(key,object[key]);return map}function nest(){var keys=[],sortKeys=[],sortValues,rollup,nest;function apply(array,depth,createResult,setResult){if(depth>=keys.length){if(sortValues!=null)array.sort(sortValues);return rollup!=null?rollup(array):array}var i=-1,n=array.length,key=keys[depth++],keyValue,value,valuesByKey=map(),values,result=createResult();while(++i<n){if(values=valuesByKey.get(keyValue=key(value=array[i])+"")){values.push(value)}else{valuesByKey.set(keyValue,[value])}}valuesByKey.each((function(values,key){setResult(result,key,apply(values,depth,createResult,setResult))}));return result}function entries(map$$1,depth){if(++depth>keys.length)return map$$1;var array,sortKey=sortKeys[depth-1];if(rollup!=null&&depth>=keys.length)array=map$$1.entries();else array=[],map$$1.each((function(v,k){array.push({key:k,values:entries(v,depth)})}));return sortKey!=null?array.sort((function(a,b){return sortKey(a.key,b.key)})):array}return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){keys.push(d);return nest},sortKeys:function(order){sortKeys[keys.length-1]=order;return nest},sortValues:function(order){sortValues=order;return nest},rollup:function(f){rollup=f;return nest}}}function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return map()}function setMap(map$$1,key,value){map$$1.set(key,value)}function Set(){}var proto=map.prototype;Set.prototype=set.prototype={constructor:Set,has:proto.has,add:function(value){value+="";this[prefix+value]=value;return this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};function set(object,f){var set=new Set;if(object instanceof Set)object.each((function(value){set.add(value)}));else if(object){var i=-1,n=object.length;if(f==null)while(++i<n)set.add(object[i]);else while(++i<n)set.add(f(object[i],i,object))}return set}function keys(map){var keys=[];for(var key in map)keys.push(key);return keys}function values(map){var values=[];for(var key in map)values.push(map[key]);return values}function entries(map){var entries=[];for(var key in map)entries.push({key:key,value:map[key]});return entries}exports.nest=nest;exports.set=set;exports.map=map;exports.keys=keys;exports.values=values;exports.entries=entries;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],164:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.d3=global.d3||{}))})(this,(function(exports){"use strict";function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype;prototype.constructor=constructor}function extend(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}var darker=.7;var brighter=1/darker;var reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp("^rgb\\("+[reI,reI,reI]+"\\)$"),reRgbPercent=new RegExp("^rgb\\("+[reP,reP,reP]+"\\)$"),reRgbaInteger=new RegExp("^rgba\\("+[reI,reI,reI,reN]+"\\)$"),reRgbaPercent=new RegExp("^rgba\\("+[reP,reP,reP,reN]+"\\)$"),reHslPercent=new RegExp("^hsl\\("+[reN,reP,reP]+"\\)$"),reHslaPercent=new RegExp("^hsla\\("+[reN,reP,reP,reN]+"\\)$");var named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};define(Color,color,{copy:function(channels){return Object.assign(new this.constructor,this,channels)},displayable:function(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb});function color_formatHex(){return this.rgb().formatHex()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(format){var m,l;format=(format+"").trim().toLowerCase();return(m=reHex.exec(format))?(l=m[1].length,m=parseInt(m[1],16),l===6?rgbn(m):l===3?new Rgb(m>>8&15|m>>4&240,m>>4&15|m&240,(m&15)<<4|m&15,1):l===8?rgba(m>>24&255,m>>16&255,m>>8&255,(m&255)/255):l===4?rgba(m>>12&15|m>>8&240,m>>8&15|m>>4&240,m>>4&15|m&240,((m&15)<<4|m&15)/255):null):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(m[1]*255/100,m[2]*255/100,m[3]*255/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(m[1]*255/100,m[2]*255/100,m[3]*255/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):format==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,n&255,1)}function rgba(r,g,b,a){if(a<=0)r=g=b=NaN;return new Rgb(r,g,b,a)}function rgbConvert(o){if(!(o instanceof Color))o=color(o);if(!o)return new Rgb;o=o.rgb();return new Rgb(o.r,o.g,o.b,o.opacity)}function rgb(r,g,b,opacity){return arguments.length===1?rgbConvert(r):new Rgb(r,g,b,opacity==null?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r;this.g=+g;this.b=+b;this.opacity=+opacity}define(Rgb,rgb,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&(-.5<=this.g&&this.g<255.5)&&(-.5<=this.b&&this.b<255.5)&&(0<=this.opacity&&this.opacity<=1)},hex:rgb_formatHex,formatHex:rgb_formatHex,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)}function rgb_formatRgb(){var a=this.opacity;a=isNaN(a)?1:Math.max(0,Math.min(1,a));return(a===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(a===1?")":", "+a+")")}function hex(value){value=Math.max(0,Math.min(255,Math.round(value)||0));return(value<16?"0":"")+value.toString(16)}function hsla(h,s,l,a){if(a<=0)h=s=l=NaN;else if(l<=0||l>=1)h=s=NaN;else if(s<=0)h=NaN;return new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(!(o instanceof Color))o=color(o);if(!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;if(s){if(r===max)h=(g-b)/s+(g<b)*6;else if(g===max)h=(b-r)/s+2;else h=(r-g)/s+4;s/=l<.5?max+min:2-max-min;h*=60}else{s=l>0&&l<1?0:h}return new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return arguments.length===1?hslConvert(h):new Hsl(h,s,l,opacity==null?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h;this.s=+s;this.l=+l;this.opacity=+opacity}define(Hsl,hsl,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+(this.h<0)*360,s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(l<.5?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(h<120?h+240:h-120,m1,m2),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&(0<=this.l&&this.l<=1)&&(0<=this.opacity&&this.opacity<=1)},formatHsl:function(){var a=this.opacity;a=isNaN(a)?1:Math.max(0,Math.min(1,a));return(a===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(a===1?")":", "+a+")")}}));function hsl2rgb(h,m1,m2){return(h<60?m1+(m2-m1)*h/60:h<180?m2:h<240?m1+(m2-m1)*(240-h)/60:m1)*255}var deg2rad=Math.PI/180;var rad2deg=180/Math.PI;var K=18,Xn=.96422,Yn=1,Zn=.82521,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl)return hcl2lab(o);if(!(o instanceof Rgb))o=rgbConvert(o);var r=rgb2lrgb(o.r),g=rgb2lrgb(o.g),b=rgb2lrgb(o.b),y=xyz2lab((.2225045*r+.7168786*g+.0606169*b)/Yn),x,z;if(r===g&&g===b)x=z=y;else{x=xyz2lab((.4360747*r+.3850649*g+.1430804*b)/Xn);z=xyz2lab((.0139322*r+.0971045*g+.7141733*b)/Zn)}return new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function gray(l,opacity){return new Lab(l,0,0,opacity==null?1:opacity)}function lab(l,a,b,opacity){return arguments.length===1?labConvert(l):new Lab(l,a,b,opacity==null?1:opacity)}function Lab(l,a,b,opacity){this.l=+l;this.a=+a;this.b=+b;this.opacity=+opacity}define(Lab,lab,extend(Color,{brighter:function(k){return new Lab(this.l+K*(k==null?1:k),this.a,this.b,this.opacity)},darker:function(k){return new Lab(this.l-K*(k==null?1:k),this.a,this.b,this.opacity)},rgb:function(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;x=Xn*lab2xyz(x);y=Yn*lab2xyz(y);z=Zn*lab2xyz(z);return new Rgb(lrgb2rgb(3.1338561*x-1.6168667*y-.4906146*z),lrgb2rgb(-.9787684*x+1.9161415*y+.033454*z),lrgb2rgb(.0719453*x-.2289914*y+1.4052427*z),this.opacity)}}));function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function lrgb2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2lrgb(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(!(o instanceof Lab))o=labConvert(o);if(o.a===0&&o.b===0)return new Hcl(NaN,0<o.l&&o.l<100?0:NaN,o.l,o.opacity);var h=Math.atan2(o.b,o.a)*rad2deg;return new Hcl(h<0?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function lch(l,c,h,opacity){return arguments.length===1?hclConvert(l):new Hcl(h,c,l,opacity==null?1:opacity)}function hcl(h,c,l,opacity){return arguments.length===1?hclConvert(h):new Hcl(h,c,l,opacity==null?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h;this.c=+c;this.l=+l;this.opacity=+opacity}function hcl2lab(o){if(isNaN(o.h))return new Lab(o.l,0,0,o.opacity);var h=o.h*deg2rad;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}define(Hcl,hcl,extend(Color,{brighter:function(k){return new Hcl(this.h,this.c,this.l+K*(k==null?1:k),this.opacity)},darker:function(k){return new Hcl(this.h,this.c,this.l-K*(k==null?1:k),this.opacity)},rgb:function(){return hcl2lab(this).rgb()}}));var A=-.14861,B=+1.78277,C=-.29227,D=-.90649,E=+1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);if(!(o instanceof Rgb))o=rgbConvert(o);var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*rad2deg-120:NaN;return new Cubehelix(h<0?h+360:h,s,l,o.opacity)}function cubehelix(h,s,l,opacity){return arguments.length===1?cubehelixConvert(h):new Cubehelix(h,s,l,opacity==null?1:opacity)}function Cubehelix(h,s,l,opacity){this.h=+h;this.s=+s;this.l=+l;this.opacity=+opacity}define(Cubehelix,cubehelix,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=isNaN(this.h)?0:(this.h+120)*deg2rad,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh=Math.cos(h),sinh=Math.sin(h);return new Rgb(255*(l+a*(A*cosh+B*sinh)),255*(l+a*(C*cosh+D*sinh)),255*(l+a*(E*cosh)),this.opacity)}}));exports.color=color;exports.cubehelix=cubehelix;exports.gray=gray;exports.hcl=hcl;exports.hsl=hsl;exports.lab=lab;exports.lch=lch;exports.rgb=rgb;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],165:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.d3=global.d3||{}))})(this,(function(exports){"use strict";var noop={value:function(){}};function dispatch(){for(var i=0,n=arguments.length,_={},t;i<n;++i){if(!(t=arguments[i]+"")||t in _||/[\s.]/.test(t))throw new Error("illegal type: "+t);_[t]=[]}return new Dispatch(_)}function Dispatch(_){this._=_}function parseTypenames(typenames,types){return typenames.trim().split(/^|\s+/).map((function(t){var name="",i=t.indexOf(".");if(i>=0)name=t.slice(i+1),t=t.slice(0,i);if(t&&!types.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:name}}))}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(typename,callback){var _=this._,T=parseTypenames(typename+"",_),t,i=-1,n=T.length;if(arguments.length<2){while(++i<n)if((t=(typename=T[i]).type)&&(t=get(_[t],typename.name)))return t;return}if(callback!=null&&typeof callback!=="function")throw new Error("invalid callback: "+callback);while(++i<n){if(t=(typename=T[i]).type)_[t]=set(_[t],typename.name,callback);else if(callback==null)for(t in _)_[t]=set(_[t],typename.name,null)}return this},copy:function(){var copy={},_=this._;for(var t in _)copy[t]=_[t].slice();return new Dispatch(copy)},call:function(type,that){if((n=arguments.length-2)>0)for(var args=new Array(n),i=0,n,t;i<n;++i)args[i]=arguments[i+2];if(!this._.hasOwnProperty(type))throw new Error("unknown type: "+type);for(t=this._[type],i=0,n=t.length;i<n;++i)t[i].value.apply(that,args)},apply:function(type,that,args){if(!this._.hasOwnProperty(type))throw new Error("unknown type: "+type);for(var t=this._[type],i=0,n=t.length;i<n;++i)t[i].value.apply(that,args)}};function get(type,name){for(var i=0,n=type.length,c;i<n;++i){if((c=type[i]).name===name){return c.value}}}function set(type,name,callback){for(var i=0,n=type.length;i<n;++i){if(type[i].name===name){type[i]=noop,type=type.slice(0,i).concat(type.slice(i+1));break}}if(callback!=null)type.push({name:name,value:callback});return type}exports.dispatch=dispatch;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],166:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,_dereq_("d3-quadtree"),_dereq_("d3-collection"),_dereq_("d3-dispatch"),_dereq_("d3-timer")):typeof define==="function"&&define.amd?define(["exports","d3-quadtree","d3-collection","d3-dispatch","d3-timer"],factory):factory(global.d3=global.d3||{},global.d3,global.d3,global.d3,global.d3)})(this,(function(exports,d3Quadtree,d3Collection,d3Dispatch,d3Timer){"use strict";function center(x,y){var nodes;if(x==null)x=0;if(y==null)y=0;function force(){var i,n=nodes.length,node,sx=0,sy=0;for(i=0;i<n;++i){node=nodes[i],sx+=node.x,sy+=node.y}for(sx=sx/n-x,sy=sy/n-y,i=0;i<n;++i){node=nodes[i],node.x-=sx,node.y-=sy}}force.initialize=function(_){nodes=_};force.x=function(_){return arguments.length?(x=+_,force):x};force.y=function(_){return arguments.length?(y=+_,force):y};return force}function constant(x){return function(){return x}}function jiggle(){return(Math.random()-.5)*1e-6}function x(d){return d.x+d.vx}function y(d){return d.y+d.vy}function collide(radius){var nodes,radii,strength=1,iterations=1;if(typeof radius!=="function")radius=constant(radius==null?1:+radius);function force(){var i,n=nodes.length,tree,node,xi,yi,ri,ri2;for(var k=0;k<iterations;++k){tree=d3Quadtree.quadtree(nodes,x,y).visitAfter(prepare);for(i=0;i<n;++i){node=nodes[i];ri=radii[node.index],ri2=ri*ri;xi=node.x+node.vx;yi=node.y+node.vy;tree.visit(apply)}}function apply(quad,x0,y0,x1,y1){var data=quad.data,rj=quad.r,r=ri+rj;if(data){if(data.index>node.index){var x=xi-data.x-data.vx,y=yi-data.y-data.vy,l=x*x+y*y;if(l<r*r){if(x===0)x=jiggle(),l+=x*x;if(y===0)y=jiggle(),l+=y*y;l=(r-(l=Math.sqrt(l)))/l*strength;node.vx+=(x*=l)*(r=(rj*=rj)/(ri2+rj));node.vy+=(y*=l)*r;data.vx-=x*(r=1-r);data.vy-=y*r}}return}return x0>xi+r||x1<xi-r||y0>yi+r||y1<yi-r}}function prepare(quad){if(quad.data)return quad.r=radii[quad.data.index];for(var i=quad.r=0;i<4;++i){if(quad[i]&&quad[i].r>quad.r){quad.r=quad[i].r}}}function initialize(){if(!nodes)return;var i,n=nodes.length,node;radii=new Array(n);for(i=0;i<n;++i)node=nodes[i],radii[node.index]=+radius(node,i,nodes)}force.initialize=function(_){nodes=_;initialize()};force.iterations=function(_){return arguments.length?(iterations=+_,force):iterations};force.strength=function(_){return arguments.length?(strength=+_,force):strength};force.radius=function(_){return arguments.length?(radius=typeof _==="function"?_:constant(+_),initialize(),force):radius};return force}function index(d){return d.index}function find(nodeById,nodeId){var node=nodeById.get(nodeId);if(!node)throw new Error("missing: "+nodeId);return node}function link(links){var id=index,strength=defaultStrength,strengths,distance=constant(30),distances,nodes,count,bias,iterations=1;if(links==null)links=[];function defaultStrength(link){return 1/Math.min(count[link.source.index],count[link.target.index])}function force(alpha){for(var k=0,n=links.length;k<iterations;++k){for(var i=0,link,source,target,x,y,l,b;i<n;++i){link=links[i],source=link.source,target=link.target;x=target.x+target.vx-source.x-source.vx||jiggle();y=target.y+target.vy-source.y-source.vy||jiggle();l=Math.sqrt(x*x+y*y);l=(l-distances[i])/l*alpha*strengths[i];x*=l,y*=l;target.vx-=x*(b=bias[i]);target.vy-=y*b;source.vx+=x*(b=1-b);source.vy+=y*b}}}function initialize(){if(!nodes)return;var i,n=nodes.length,m=links.length,nodeById=d3Collection.map(nodes,id),link;for(i=0,count=new Array(n);i<m;++i){link=links[i],link.index=i;if(typeof link.source!=="object")link.source=find(nodeById,link.source);if(typeof link.target!=="object")link.target=find(nodeById,link.target);count[link.source.index]=(count[link.source.index]||0)+1;count[link.target.index]=(count[link.target.index]||0)+1}for(i=0,bias=new Array(m);i<m;++i){link=links[i],bias[i]=count[link.source.index]/(count[link.source.index]+count[link.target.index])}strengths=new Array(m),initializeStrength();distances=new Array(m),initializeDistance()}function initializeStrength(){if(!nodes)return;for(var i=0,n=links.length;i<n;++i){strengths[i]=+strength(links[i],i,links)}}function initializeDistance(){if(!nodes)return;for(var i=0,n=links.length;i<n;++i){distances[i]=+distance(links[i],i,links)}}force.initialize=function(_){nodes=_;initialize()};force.links=function(_){return arguments.length?(links=_,initialize(),force):links};force.id=function(_){return arguments.length?(id=_,force):id};force.iterations=function(_){return arguments.length?(iterations=+_,force):iterations};force.strength=function(_){return arguments.length?(strength=typeof _==="function"?_:constant(+_),initializeStrength(),force):strength};force.distance=function(_){return arguments.length?(distance=typeof _==="function"?_:constant(+_),initializeDistance(),force):distance};return force}function x$1(d){return d.x}function y$1(d){return d.y}var initialRadius=10,initialAngle=Math.PI*(3-Math.sqrt(5));function simulation(nodes){var simulation,alpha=1,alphaMin=.001,alphaDecay=1-Math.pow(alphaMin,1/300),alphaTarget=0,velocityDecay=.6,forces=d3Collection.map(),stepper=d3Timer.timer(step),event=d3Dispatch.dispatch("tick","end");if(nodes==null)nodes=[];function step(){tick();event.call("tick",simulation);if(alpha<alphaMin){stepper.stop();event.call("end",simulation)}}function tick(iterations){var i,n=nodes.length,node;if(iterations===undefined)iterations=1;for(var k=0;k<iterations;++k){alpha+=(alphaTarget-alpha)*alphaDecay;forces.each((function(force){force(alpha)}));for(i=0;i<n;++i){node=nodes[i];if(node.fx==null)node.x+=node.vx*=velocityDecay;else node.x=node.fx,node.vx=0;if(node.fy==null)node.y+=node.vy*=velocityDecay;else node.y=node.fy,node.vy=0}}return simulation}function initializeNodes(){for(var i=0,n=nodes.length,node;i<n;++i){node=nodes[i],node.index=i;if(node.fx!=null)node.x=node.fx;if(node.fy!=null)node.y=node.fy;if(isNaN(node.x)||isNaN(node.y)){var radius=initialRadius*Math.sqrt(i),angle=i*initialAngle;node.x=radius*Math.cos(angle);node.y=radius*Math.sin(angle)}if(isNaN(node.vx)||isNaN(node.vy)){node.vx=node.vy=0}}}function initializeForce(force){if(force.initialize)force.initialize(nodes);return force}initializeNodes();return simulation={tick:tick,restart:function(){return stepper.restart(step),simulation},stop:function(){return stepper.stop(),simulation},nodes:function(_){return arguments.length?(nodes=_,initializeNodes(),forces.each(initializeForce),simulation):nodes},alpha:function(_){return arguments.length?(alpha=+_,simulation):alpha},alphaMin:function(_){return arguments.length?(alphaMin=+_,simulation):alphaMin},alphaDecay:function(_){return arguments.length?(alphaDecay=+_,simulation):+alphaDecay},alphaTarget:function(_){return arguments.length?(alphaTarget=+_,simulation):alphaTarget},velocityDecay:function(_){return arguments.length?(velocityDecay=1-_,simulation):1-velocityDecay},force:function(name,_){return arguments.length>1?(_==null?forces.remove(name):forces.set(name,initializeForce(_)),simulation):forces.get(name)},find:function(x,y,radius){var i=0,n=nodes.length,dx,dy,d2,node,closest;if(radius==null)radius=Infinity;else radius*=radius;for(i=0;i<n;++i){node=nodes[i];dx=x-node.x;dy=y-node.y;d2=dx*dx+dy*dy;if(d2<radius)closest=node,radius=d2}return closest},on:function(name,_){return arguments.length>1?(event.on(name,_),simulation):event.on(name)}}}function manyBody(){var nodes,node,alpha,strength=constant(-30),strengths,distanceMin2=1,distanceMax2=Infinity,theta2=.81;function force(_){var i,n=nodes.length,tree=d3Quadtree.quadtree(nodes,x$1,y$1).visitAfter(accumulate);for(alpha=_,i=0;i<n;++i)node=nodes[i],tree.visit(apply)}function initialize(){if(!nodes)return;var i,n=nodes.length,node;strengths=new Array(n);for(i=0;i<n;++i)node=nodes[i],strengths[node.index]=+strength(node,i,nodes)}function accumulate(quad){var strength=0,q,c,weight=0,x,y,i;if(quad.length){for(x=y=i=0;i<4;++i){if((q=quad[i])&&(c=Math.abs(q.value))){strength+=q.value,weight+=c,x+=c*q.x,y+=c*q.y}}quad.x=x/weight;quad.y=y/weight}else{q=quad;q.x=q.data.x;q.y=q.data.y;do{strength+=strengths[q.data.index]}while(q=q.next)}quad.value=strength}function apply(quad,x1,_,x2){if(!quad.value)return true;var x=quad.x-node.x,y=quad.y-node.y,w=x2-x1,l=x*x+y*y;if(w*w/theta2<l){if(l<distanceMax2){if(x===0)x=jiggle(),l+=x*x;if(y===0)y=jiggle(),l+=y*y;if(l<distanceMin2)l=Math.sqrt(distanceMin2*l);node.vx+=x*quad.value*alpha/l;node.vy+=y*quad.value*alpha/l}return true}else if(quad.length||l>=distanceMax2)return;if(quad.data!==node||quad.next){if(x===0)x=jiggle(),l+=x*x;if(y===0)y=jiggle(),l+=y*y;if(l<distanceMin2)l=Math.sqrt(distanceMin2*l)}do{if(quad.data!==node){w=strengths[quad.data.index]*alpha/l;node.vx+=x*w;node.vy+=y*w}}while(quad=quad.next)}force.initialize=function(_){nodes=_;initialize()};force.strength=function(_){return arguments.length?(strength=typeof _==="function"?_:constant(+_),initialize(),force):strength};force.distanceMin=function(_){return arguments.length?(distanceMin2=_*_,force):Math.sqrt(distanceMin2)};force.distanceMax=function(_){return arguments.length?(distanceMax2=_*_,force):Math.sqrt(distanceMax2)};force.theta=function(_){return arguments.length?(theta2=_*_,force):Math.sqrt(theta2)};return force}function radial(radius,x,y){var nodes,strength=constant(.1),strengths,radiuses;if(typeof radius!=="function")radius=constant(+radius);if(x==null)x=0;if(y==null)y=0;function force(alpha){for(var i=0,n=nodes.length;i<n;++i){var node=nodes[i],dx=node.x-x||1e-6,dy=node.y-y||1e-6,r=Math.sqrt(dx*dx+dy*dy),k=(radiuses[i]-r)*strengths[i]*alpha/r;node.vx+=dx*k;node.vy+=dy*k}}function initialize(){if(!nodes)return;var i,n=nodes.length;strengths=new Array(n);radiuses=new Array(n);for(i=0;i<n;++i){radiuses[i]=+radius(nodes[i],i,nodes);strengths[i]=isNaN(radiuses[i])?0:+strength(nodes[i],i,nodes)}}force.initialize=function(_){nodes=_,initialize()};force.strength=function(_){return arguments.length?(strength=typeof _==="function"?_:constant(+_),initialize(),force):strength};force.radius=function(_){return arguments.length?(radius=typeof _==="function"?_:constant(+_),initialize(),force):radius};force.x=function(_){return arguments.length?(x=+_,force):x};force.y=function(_){return arguments.length?(y=+_,force):y};return force}function x$2(x){var strength=constant(.1),nodes,strengths,xz;if(typeof x!=="function")x=constant(x==null?0:+x);function force(alpha){for(var i=0,n=nodes.length,node;i<n;++i){node=nodes[i],node.vx+=(xz[i]-node.x)*strengths[i]*alpha}}function initialize(){if(!nodes)return;var i,n=nodes.length;strengths=new Array(n);xz=new Array(n);for(i=0;i<n;++i){strengths[i]=isNaN(xz[i]=+x(nodes[i],i,nodes))?0:+strength(nodes[i],i,nodes)}}force.initialize=function(_){nodes=_;initialize()};force.strength=function(_){return arguments.length?(strength=typeof _==="function"?_:constant(+_),initialize(),force):strength};force.x=function(_){return arguments.length?(x=typeof _==="function"?_:constant(+_),initialize(),force):x};return force}function y$2(y){var strength=constant(.1),nodes,strengths,yz;if(typeof y!=="function")y=constant(y==null?0:+y);function force(alpha){for(var i=0,n=nodes.length,node;i<n;++i){node=nodes[i],node.vy+=(yz[i]-node.y)*strengths[i]*alpha}}function initialize(){if(!nodes)return;var i,n=nodes.length;strengths=new Array(n);yz=new Array(n);for(i=0;i<n;++i){strengths[i]=isNaN(yz[i]=+y(nodes[i],i,nodes))?0:+strength(nodes[i],i,nodes)}}force.initialize=function(_){nodes=_;initialize()};force.strength=function(_){return arguments.length?(strength=typeof _==="function"?_:constant(+_),initialize(),force):strength};force.y=function(_){return arguments.length?(y=typeof _==="function"?_:constant(+_),initialize(),force):y};return force}exports.forceCenter=center;exports.forceCollide=collide;exports.forceLink=link;exports.forceManyBody=manyBody;exports.forceRadial=radial;exports.forceSimulation=simulation;exports.forceX=x$2;exports.forceY=y$2;Object.defineProperty(exports,"__esModule",{value:true})}))},{"d3-collection":163,"d3-dispatch":165,"d3-quadtree":173,"d3-timer":178}],167:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,factory(global.d3=global.d3||{}))})(this,(function(exports){"use strict";function formatDecimal(x){return Math.abs(x=Math.round(x))>=1e21?x.toLocaleString("en").replace(/,/g,""):x.toString(10)}function formatDecimalParts(x,p){if((i=(x=p?x.toExponential(p-1):x.toExponential()).indexOf("e"))<0)return null;var i,coefficient=x.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]}function exponent(x){return x=formatDecimalParts(Math.abs(x)),x?x[1]:NaN}function formatGroup(grouping,thousands){return function(value,width){var i=value.length,t=[],j=0,g=grouping[0],length=0;while(i>0&&g>0){if(length+g+1>width)g=Math.max(1,width-length);t.push(value.substring(i-=g,i+g));if((length+=g+1)>width)break;g=grouping[j=(j+1)%grouping.length]}return t.reverse().join(thousands)}}function formatNumerals(numerals){return function(value){return value.replace(/[0-9]/g,(function(i){return numerals[+i]}))}}var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function formatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match;return new FormatSpecifier({fill:match[1],align:match[2],sign:match[3],symbol:match[4],zero:match[5],width:match[6],comma:match[7],precision:match[8]&&match[8].slice(1),trim:match[9],type:match[10]})}formatSpecifier.prototype=FormatSpecifier.prototype;function FormatSpecifier(specifier){this.fill=specifier.fill===undefined?" ":specifier.fill+"";this.align=specifier.align===undefined?">":specifier.align+"";this.sign=specifier.sign===undefined?"-":specifier.sign+"";this.symbol=specifier.symbol===undefined?"":specifier.symbol+"";this.zero=!!specifier.zero;this.width=specifier.width===undefined?undefined:+specifier.width;this.comma=!!specifier.comma;this.precision=specifier.precision===undefined?undefined:+specifier.precision;this.trim=!!specifier.trim;this.type=specifier.type===undefined?"":specifier.type+""}FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===undefined?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===undefined?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function formatTrim(s){out:for(var n=s.length,i=1,i0=-1,i1;i<n;++i){switch(s[i]){case".":i0=i1=i;break;case"0":if(i0===0)i0=i;i1=i;break;default:if(!+s[i])break out;if(i0>0)i0=0;break}}return i0>0?s.slice(0,i0)+s.slice(i1+1):s}var prefixExponent;function formatPrefixAuto(x,p){var d=formatDecimalParts(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=Math.max(-8,Math.min(8,Math.floor(exponent/3)))*3)+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimalParts(x,Math.max(0,p+i-1))[0]}function formatRounded(x,p){var d=formatDecimalParts(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return exponent<0?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")}var formatTypes={"%":function(x,p){return(x*100).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:formatDecimal,e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(x*100,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}};function identity(x){return x}var map=Array.prototype.map,prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function formatLocale(locale){var group=locale.grouping===undefined||locale.thousands===undefined?identity:formatGroup(map.call(locale.grouping,Number),locale.thousands+""),currencyPrefix=locale.currency===undefined?"":locale.currency[0]+"",currencySuffix=locale.currency===undefined?"":locale.currency[1]+"",decimal=locale.decimal===undefined?".":locale.decimal+"",numerals=locale.numerals===undefined?identity:formatNumerals(map.call(locale.numerals,String)),percent=locale.percent===undefined?"%":locale.percent+"",minus=locale.minus===undefined?"-":locale.minus+"",nan=locale.nan===undefined?"NaN":locale.nan+"";function newFormat(specifier){specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,trim=specifier.trim,type=specifier.type;if(type==="n")comma=true,type="g";else if(!formatTypes[type])precision===undefined&&(precision=12),trim=true,type="g";if(zero||fill==="0"&&align==="=")zero=true,fill="0",align="=";var prefix=symbol==="$"?currencyPrefix:symbol==="#"&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix=symbol==="$"?currencySuffix:/[%p]/.test(type)?percent:"";var formatType=formatTypes[type],maybeSuffix=/[defgprs%]/.test(type);precision=precision===undefined?6:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision));function format(value){var valuePrefix=prefix,valueSuffix=suffix,i,n,c;if(type==="c"){valueSuffix=formatType(value)+valueSuffix;value=""}else{value=+value;var valueNegative=value<0||1/value<0;value=isNaN(value)?nan:formatType(Math.abs(value),precision);if(trim)value=formatTrim(value);if(valueNegative&&+value===0&&sign!=="+")valueNegative=false;valuePrefix=(valueNegative?sign==="("?sign:minus:sign==="-"||sign==="("?"":sign)+valuePrefix;valueSuffix=(type==="s"?prefixes[8+prefixExponent/3]:"")+valueSuffix+(valueNegative&&sign==="("?")":"");if(maybeSuffix){i=-1,n=value.length;while(++i<n){if(c=value.charCodeAt(i),48>c||c>57){valueSuffix=(c===46?decimal+value.slice(i+1):value.slice(i))+valueSuffix;value=value.slice(0,i);break}}}}if(comma&&!zero)value=group(value,Infinity);var length=valuePrefix.length+value.length+valueSuffix.length,padding=length<width?new Array(width-length+1).join(fill):"";if(comma&&zero)value=group(padding+value,padding.length?width-valueSuffix.length:Infinity),padding="";switch(align){case"<":value=valuePrefix+value+valueSuffix+padding;break;case"=":value=valuePrefix+padding+value+valueSuffix;break;case"^":value=padding.slice(0,length=padding.length>>1)+valuePrefix+value+valueSuffix+padding.slice(length);break;default:value=padding+valuePrefix+value+valueSuffix;break}return numerals(value)}format.toString=function(){return specifier+""};return format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))*3,k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}return{format:newFormat,formatPrefix:formatPrefix}}var locale;defaultLocale({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function defaultLocale(definition){locale=formatLocale(definition);exports.format=locale.format;exports.formatPrefix=locale.formatPrefix;return locale}function precisionFixed(step){return Math.max(0,-exponent(Math.abs(step)))}function precisionPrefix(step,value){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))*3-exponent(Math.abs(step)))}function precisionRound(step,max){step=Math.abs(step),max=Math.abs(max)-step;return Math.max(0,exponent(max)-exponent(step))+1}exports.FormatSpecifier=FormatSpecifier;exports.formatDefaultLocale=defaultLocale;exports.formatLocale=formatLocale;exports.formatSpecifier=formatSpecifier;exports.precisionFixed=precisionFixed;exports.precisionPrefix=precisionPrefix;exports.precisionRound=precisionRound;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],168:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,_dereq_("d3-geo"),_dereq_("d3-array")):typeof define==="function"&&define.amd?define(["exports","d3-geo","d3-array"],factory):factory(global.d3=global.d3||{},global.d3,global.d3)})(this,(function(exports,d3Geo,d3Array){"use strict";var abs=Math.abs;var atan=Math.atan;var atan2=Math.atan2;var cos=Math.cos;var exp=Math.exp;var floor=Math.floor;var log=Math.log;var max=Math.max;var min=Math.min;var pow=Math.pow;var round=Math.round;var sign=Math.sign||function(x){return x>0?1:x<0?-1:0};var sin=Math.sin;var tan=Math.tan;var epsilon=1e-6;var epsilon2=1e-12;var pi=Math.PI;var halfPi=pi/2;var quarterPi=pi/4;var sqrt1_2=Math.SQRT1_2;var sqrt2=sqrt(2);var sqrtPi=sqrt(pi);var tau=pi*2;var degrees=180/pi;var radians=pi/180;function sinci(x){return x?x/Math.sin(x):1}function asin(x){return x>1?halfPi:x<-1?-halfPi:Math.asin(x)}function acos(x){return x>1?0:x<-1?pi:Math.acos(x)}function sqrt(x){return x>0?Math.sqrt(x):0}function tanh(x){x=exp(2*x);return(x-1)/(x+1)}function sinh(x){return(exp(x)-exp(-x))/2}function cosh(x){return(exp(x)+exp(-x))/2}function arsinh(x){return log(x+sqrt(x*x+1))}function arcosh(x){return log(x+sqrt(x*x-1))}function airyRaw(beta){var tanBeta_2=tan(beta/2),b=2*log(cos(beta/2))/(tanBeta_2*tanBeta_2);function forward(x,y){var cosx=cos(x),cosy=cos(y),siny=sin(y),cosz=cosy*cosx,k=-((1-cosz?log((1+cosz)/2)/(1-cosz):-.5)+b/(1+cosz));return[k*cosy*sin(x),k*siny]}forward.invert=function(x,y){var r=sqrt(x*x+y*y),z=-beta/2,i=50,delta;if(!r)return[0,0];do{var z_2=z/2,cosz_2=cos(z_2),sinz_2=sin(z_2),tanz_2=sinz_2/cosz_2,lnsecz_2=-log(abs(cosz_2));z-=delta=(2/tanz_2*lnsecz_2-b*tanz_2-r)/(-lnsecz_2/(sinz_2*sinz_2)+1-b/(2*cosz_2*cosz_2))*(cosz_2<0?.7:1)}while(abs(delta)>epsilon&&--i>0);var sinz=sin(z);return[atan2(x*sinz,r*cos(z)),asin(y*sinz/r)]};return forward}function airy(){var beta=halfPi,m=d3Geo.geoProjectionMutator(airyRaw),p=m(beta);p.radius=function(_){return arguments.length?m(beta=_*radians):beta*degrees};return p.scale(179.976).clipAngle(147)}function aitoffRaw(x,y){var cosy=cos(y),sincia=sinci(acos(cosy*cos(x/=2)));return[2*cosy*sin(x)*sincia,sin(y)*sincia]}aitoffRaw.invert=function(x,y){if(x*x+4*y*y>pi*pi+epsilon)return;var x1=x,y1=y,i=25;do{var sinx=sin(x1),sinx_2=sin(x1/2),cosx_2=cos(x1/2),siny=sin(y1),cosy=cos(y1),sin_2y=sin(2*y1),sin2y=siny*siny,cos2y=cosy*cosy,sin2x_2=sinx_2*sinx_2,c=1-cos2y*cosx_2*cosx_2,e=c?acos(cosy*cosx_2)*sqrt(f=1/c):f=0,f,fx=2*e*cosy*sinx_2-x,fy=e*siny-y,dxdx=f*(cos2y*sin2x_2+e*cosy*cosx_2*sin2y),dxdy=f*(.5*sinx*sin_2y-e*2*siny*sinx_2),dydx=f*.25*(sin_2y*sinx_2-e*siny*cos2y*sinx),dydy=f*(sin2y*cosx_2+e*sin2x_2*cosy),z=dxdy*dydx-dydy*dxdx;if(!z)break;var dx=(fy*dxdy-fx*dydy)/z,dy=(fx*dydx-fy*dxdx)/z;x1-=dx,y1-=dy}while((abs(dx)>epsilon||abs(dy)>epsilon)&&--i>0);return[x1,y1]};function aitoff(){return d3Geo.geoProjection(aitoffRaw).scale(152.63)}function armadilloRaw(phi0){var sinPhi0=sin(phi0),cosPhi0=cos(phi0),sPhi0=phi0>=0?1:-1,tanPhi0=tan(sPhi0*phi0),k=(1+sinPhi0-cosPhi0)/2;function forward(lambda,phi){var cosPhi=cos(phi),cosLambda=cos(lambda/=2);return[(1+cosPhi)*sin(lambda),(sPhi0*phi>-atan2(cosLambda,tanPhi0)-.001?0:-sPhi0*10)+k+sin(phi)*cosPhi0-(1+cosPhi)*sinPhi0*cosLambda]}forward.invert=function(x,y){var lambda=0,phi=0,i=50;do{var cosLambda=cos(lambda),sinLambda=sin(lambda),cosPhi=cos(phi),sinPhi=sin(phi),A=1+cosPhi,fx=A*sinLambda-x,fy=k+sinPhi*cosPhi0-A*sinPhi0*cosLambda-y,dxdLambda=A*cosLambda/2,dxdPhi=-sinLambda*sinPhi,dydLambda=sinPhi0*A*sinLambda/2,dydPhi=cosPhi0*cosPhi+sinPhi0*cosLambda*sinPhi,denominator=dxdPhi*dydLambda-dydPhi*dxdLambda,dLambda=(fy*dxdPhi-fx*dydPhi)/denominator/2,dPhi=(fx*dydLambda-fy*dxdLambda)/denominator;if(abs(dPhi)>2)dPhi/=2;lambda-=dLambda,phi-=dPhi}while((abs(dLambda)>epsilon||abs(dPhi)>epsilon)&&--i>0);return sPhi0*phi>-atan2(cos(lambda),tanPhi0)-.001?[lambda*2,phi]:null};return forward}function armadillo(){var phi0=20*radians,sPhi0=phi0>=0?1:-1,tanPhi0=tan(sPhi0*phi0),m=d3Geo.geoProjectionMutator(armadilloRaw),p=m(phi0),stream_=p.stream;p.parallel=function(_){if(!arguments.length)return phi0*degrees;tanPhi0=tan((sPhi0=(phi0=_*radians)>=0?1:-1)*phi0);return m(phi0)};p.stream=function(stream){var rotate=p.rotate(),rotateStream=stream_(stream),sphereStream=(p.rotate([0,0]),stream_(stream)),precision=p.precision();p.rotate(rotate);rotateStream.sphere=function(){sphereStream.polygonStart(),sphereStream.lineStart();for(var lambda=sPhi0*-180;sPhi0*lambda<180;lambda+=sPhi0*90)sphereStream.point(lambda,sPhi0*90);if(phi0)while(sPhi0*(lambda-=3*sPhi0*precision)>=-180){sphereStream.point(lambda,sPhi0*-atan2(cos(lambda*radians/2),tanPhi0)*degrees)}sphereStream.lineEnd(),sphereStream.polygonEnd()};return rotateStream};return p.scale(218.695).center([0,28.0974])}function augustRaw(lambda,phi){var tanPhi=tan(phi/2),k=sqrt(1-tanPhi*tanPhi),c=1+k*cos(lambda/=2),x=sin(lambda)*k/c,y=tanPhi/c,x2=x*x,y2=y*y;return[4/3*x*(3+x2-3*y2),4/3*y*(3+3*x2-y2)]}augustRaw.invert=function(x,y){x*=3/8,y*=3/8;if(!x&&abs(y)>1)return null;var x2=x*x,y2=y*y,s=1+x2+y2,sin3Eta=sqrt((s-sqrt(s*s-4*y*y))/2),eta=asin(sin3Eta)/3,xi=sin3Eta?arcosh(abs(y/sin3Eta))/3:arsinh(abs(x))/3,cosEta=cos(eta),coshXi=cosh(xi),d=coshXi*coshXi-cosEta*cosEta;return[sign(x)*2*atan2(sinh(xi)*cosEta,.25-d),sign(y)*2*atan2(coshXi*sin(eta),.25+d)]};function august(){return d3Geo.geoProjection(augustRaw).scale(66.1603)}var sqrt8=sqrt(8),phi0=log(1+sqrt2);function bakerRaw(lambda,phi){var phi0=abs(phi);return phi0<quarterPi?[lambda,log(tan(quarterPi+phi/2))]:[lambda*cos(phi0)*(2*sqrt2-1/sin(phi0)),sign(phi)*(2*sqrt2*(phi0-quarterPi)-log(tan(phi0/2)))]}bakerRaw.invert=function(x,y){if((y0=abs(y))<phi0)return[x,2*atan(exp(y))-halfPi];var phi=quarterPi,i=25,delta,y0;do{var cosPhi_2=cos(phi/2),tanPhi_2=tan(phi/2);phi-=delta=(sqrt8*(phi-quarterPi)-log(tanPhi_2)-y0)/(sqrt8-cosPhi_2*cosPhi_2/(2*tanPhi_2))}while(abs(delta)>epsilon2&&--i>0);return[x/(cos(phi)*(sqrt8-1/sin(phi))),sign(y)*phi]};function baker(){return d3Geo.geoProjection(bakerRaw).scale(112.314)}function berghausRaw(lobes){var k=2*pi/lobes;function forward(lambda,phi){var p=d3Geo.geoAzimuthalEquidistantRaw(lambda,phi);if(abs(lambda)>halfPi){var theta=atan2(p[1],p[0]),r=sqrt(p[0]*p[0]+p[1]*p[1]),theta0=k*round((theta-halfPi)/k)+halfPi,alpha=atan2(sin(theta-=theta0),2-cos(theta));theta=theta0+asin(pi/r*sin(alpha))-alpha;p[0]=r*cos(theta);p[1]=r*sin(theta)}return p}forward.invert=function(x,y){var r=sqrt(x*x+y*y);if(r>halfPi){var theta=atan2(y,x),theta0=k*round((theta-halfPi)/k)+halfPi,s=theta>theta0?-1:1,A=r*cos(theta0-theta),cotAlpha=1/tan(s*acos((A-pi)/sqrt(pi*(pi-2*A)+r*r)));theta=theta0+2*atan((cotAlpha+s*sqrt(cotAlpha*cotAlpha-3))/3);x=r*cos(theta),y=r*sin(theta)}return d3Geo.geoAzimuthalEquidistantRaw.invert(x,y)};return forward}function berghaus(){var lobes=5,m=d3Geo.geoProjectionMutator(berghausRaw),p=m(lobes),projectionStream=p.stream,epsilon$$1=.01,cr=-cos(epsilon$$1*radians),sr=sin(epsilon$$1*radians);p.lobes=function(_){return arguments.length?m(lobes=+_):lobes};p.stream=function(stream){var rotate=p.rotate(),rotateStream=projectionStream(stream),sphereStream=(p.rotate([0,0]),projectionStream(stream));p.rotate(rotate);rotateStream.sphere=function(){sphereStream.polygonStart(),sphereStream.lineStart();for(var i=0,delta=360/lobes,delta0=2*pi/lobes,phi=90-180/lobes,phi0=halfPi;i<lobes;++i,phi-=delta,phi0-=delta0){sphereStream.point(atan2(sr*cos(phi0),cr)*degrees,asin(sr*sin(phi0))*degrees);if(phi<-90){sphereStream.point(-90,-180-phi-epsilon$$1);sphereStream.point(-90,-180-phi+epsilon$$1)}else{sphereStream.point(90,phi+epsilon$$1);sphereStream.point(90,phi-epsilon$$1)}}sphereStream.lineEnd(),sphereStream.polygonEnd()};return rotateStream};return p.scale(87.8076).center([0,17.1875]).clipAngle(180-.001)}function hammerRaw(A,B){if(arguments.length<2)B=A;if(B===1)return d3Geo.geoAzimuthalEqualAreaRaw;if(B===Infinity)return hammerQuarticAuthalicRaw;function forward(lambda,phi){var coordinates=d3Geo.geoAzimuthalEqualAreaRaw(lambda/B,phi);coordinates[0]*=A;return coordinates}forward.invert=function(x,y){var coordinates=d3Geo.geoAzimuthalEqualAreaRaw.invert(x/A,y);coordinates[0]*=B;return coordinates};return forward}function hammerQuarticAuthalicRaw(lambda,phi){return[lambda*cos(phi)/cos(phi/=2),2*sin(phi)]}hammerQuarticAuthalicRaw.invert=function(x,y){var phi=2*asin(y/2);return[x*cos(phi/2)/cos(phi),phi]};function hammer(){var B=2,m=d3Geo.geoProjectionMutator(hammerRaw),p=m(B);p.coefficient=function(_){if(!arguments.length)return B;return m(B=+_)};return p.scale(169.529)}function solve(f,y,x){var steps=100,delta,f0,f1;x=x===undefined?0:+x;y=+y;do{f0=f(x);f1=f(x+epsilon);if(f0===f1)f1=f0+epsilon;x-=delta=-1*epsilon*(f0-y)/(f0-f1)}while(steps-- >0&&abs(delta)>epsilon);return steps<0?NaN:x}function solve2d(f,MAX_ITERATIONS,eps){if(MAX_ITERATIONS===undefined)MAX_ITERATIONS=40;if(eps===undefined)eps=epsilon2;return function(x,y,a,b){var err2,da,db;a=a===undefined?0:+a;b=b===undefined?0:+b;for(var i=0;i<MAX_ITERATIONS;i++){var p=f(a,b),tx=p[0]-x,ty=p[1]-y;if(abs(tx)<eps&&abs(ty)<eps)break;var h=tx*tx+ty*ty;if(h>err2){a-=da/=2;b-=db/=2;continue}err2=h;var ea=(a>0?-1:1)*eps,eb=(b>0?-1:1)*eps,pa=f(a+ea,b),pb=f(a,b+eb),dxa=(pa[0]-p[0])/ea,dya=(pa[1]-p[1])/ea,dxb=(pb[0]-p[0])/eb,dyb=(pb[1]-p[1])/eb,D=dyb*dxa-dya*dxb,l=(abs(D)<.5?.5:1)/D;da=(ty*dxb-tx*dyb)*l;db=(tx*dya-ty*dxa)*l;a+=da;b+=db;if(abs(da)<eps&&abs(db)<eps)break}return[a,b]}}function bertin1953Raw(){var hammer$$1=hammerRaw(1.68,2),fu=1.4,k=12;function forward(lambda,phi){if(lambda+phi<-fu){var u=(lambda-phi+1.6)*(lambda+phi+fu)/8;lambda+=u;phi-=.8*u*sin(phi+pi/2)}var r=hammer$$1(lambda,phi);var d=(1-cos(lambda*phi))/k;if(r[1]<0){r[0]*=1+d}if(r[1]>0){r[1]*=1+d/1.5*r[0]*r[0]}return r}forward.invert=solve2d(forward);return forward}function bertin(){return d3Geo.geoProjection(bertin1953Raw()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function mollweideBromleyTheta(cp,phi){var cpsinPhi=cp*sin(phi),i=30,delta;do{phi-=delta=(phi+sin(phi)-cpsinPhi)/(1+cos(phi))}while(abs(delta)>epsilon&&--i>0);return phi/2}function mollweideBromleyRaw(cx,cy,cp){function forward(lambda,phi){return[cx*lambda*cos(phi=mollweideBromleyTheta(cp,phi)),cy*sin(phi)]}forward.invert=function(x,y){return y=asin(y/cy),[x/(cx*cos(y)),asin((2*y+sin(2*y))/cp)]};return forward}var mollweideRaw=mollweideBromleyRaw(sqrt2/halfPi,sqrt2,pi);function mollweide(){return d3Geo.geoProjection(mollweideRaw).scale(169.529)}var k=2.00276,w=1.11072;function boggsRaw(lambda,phi){var theta=mollweideBromleyTheta(pi,phi);return[k*lambda/(1/cos(phi)+w/cos(theta)),(phi+sqrt2*sin(theta))/k]}boggsRaw.invert=function(x,y){var ky=k*y,theta=y<0?-quarterPi:quarterPi,i=25,delta,phi;do{phi=ky-sqrt2*sin(theta);theta-=delta=(sin(2*theta)+2*theta-pi*sin(phi))/(2*cos(2*theta)+2+pi*cos(phi)*sqrt2*cos(theta))}while(abs(delta)>epsilon&&--i>0);phi=ky-sqrt2*sin(theta);return[x*(1/cos(phi)+w/cos(theta))/k,phi]};function boggs(){return d3Geo.geoProjection(boggsRaw).scale(160.857)}function parallel1(projectAt){var phi0=0,m=d3Geo.geoProjectionMutator(projectAt),p=m(phi0);p.parallel=function(_){return arguments.length?m(phi0=_*radians):phi0*degrees};return p}function sinusoidalRaw(lambda,phi){return[lambda*cos(phi),phi]}sinusoidalRaw.invert=function(x,y){return[x/cos(y),y]};function sinusoidal(){return d3Geo.geoProjection(sinusoidalRaw).scale(152.63)}function bonneRaw(phi0){if(!phi0)return sinusoidalRaw;var cotPhi0=1/tan(phi0);function forward(lambda,phi){var rho=cotPhi0+phi0-phi,e=rho?lambda*cos(phi)/rho:rho;return[rho*sin(e),cotPhi0-rho*cos(e)]}forward.invert=function(x,y){var rho=sqrt(x*x+(y=cotPhi0-y)*y),phi=cotPhi0+phi0-rho;return[rho/cos(phi)*atan2(x,y),phi]};return forward}function bonne(){return parallel1(bonneRaw).scale(123.082).center([0,26.1441]).parallel(45)}function bottomleyRaw(sinPsi){function forward(lambda,phi){var rho=halfPi-phi,eta=rho?lambda*sinPsi*sin(rho)/rho:rho;return[rho*sin(eta)/sinPsi,halfPi-rho*cos(eta)]}forward.invert=function(x,y){var x1=x*sinPsi,y1=halfPi-y,rho=sqrt(x1*x1+y1*y1),eta=atan2(x1,y1);return[(rho?rho/sin(rho):1)*eta/sinPsi,halfPi-rho]};return forward}function bottomley(){var sinPsi=.5,m=d3Geo.geoProjectionMutator(bottomleyRaw),p=m(sinPsi);p.fraction=function(_){return arguments.length?m(sinPsi=+_):sinPsi};return p.scale(158.837)}var bromleyRaw=mollweideBromleyRaw(1,4/pi,pi);function bromley(){return d3Geo.geoProjection(bromleyRaw).scale(152.63)}function distance(dPhi,c1,s1,c2,s2,dLambda){var cosdLambda=cos(dLambda),r;if(abs(dPhi)>1||abs(dLambda)>1){r=acos(s1*s2+c1*c2*cosdLambda)}else{var sindPhi=sin(dPhi/2),sindLambda=sin(dLambda/2);r=2*asin(sqrt(sindPhi*sindPhi+c1*c2*sindLambda*sindLambda))}return abs(r)>epsilon?[r,atan2(c2*sin(dLambda),c1*s2-s1*c2*cosdLambda)]:[0,0]}function angle(b,c,a){return acos((b*b+c*c-a*a)/(2*b*c))}function longitude(lambda){return lambda-2*pi*floor((lambda+pi)/(2*pi))}function chamberlinRaw(p0,p1,p2){var points=[[p0[0],p0[1],sin(p0[1]),cos(p0[1])],[p1[0],p1[1],sin(p1[1]),cos(p1[1])],[p2[0],p2[1],sin(p2[1]),cos(p2[1])]];for(var a=points[2],b,i=0;i<3;++i,a=b){b=points[i];a.v=distance(b[1]-a[1],a[3],a[2],b[3],b[2],b[0]-a[0]);a.point=[0,0]}var beta0=angle(points[0].v[0],points[2].v[0],points[1].v[0]),beta1=angle(points[0].v[0],points[1].v[0],points[2].v[0]),beta2=pi-beta0;points[2].point[1]=0;points[0].point[0]=-(points[1].point[0]=points[0].v[0]/2);var mean=[points[2].point[0]=points[0].point[0]+points[2].v[0]*cos(beta0),2*(points[0].point[1]=points[1].point[1]=points[2].v[0]*sin(beta0))];function forward(lambda,phi){var sinPhi=sin(phi),cosPhi=cos(phi),v=new Array(3),i;for(i=0;i<3;++i){var p=points[i];v[i]=distance(phi-p[1],p[3],p[2],cosPhi,sinPhi,lambda-p[0]);if(!v[i][0])return p.point;v[i][1]=longitude(v[i][1]-p.v[1])}var point=mean.slice();for(i=0;i<3;++i){var j=i==2?0:i+1;var a=angle(points[i].v[0],v[i][0],v[j][0]);if(v[i][1]<0)a=-a;if(!i){point[0]+=v[i][0]*cos(a);point[1]-=v[i][0]*sin(a)}else if(i==1){a=beta1-a;point[0]-=v[i][0]*cos(a);point[1]-=v[i][0]*sin(a)}else{a=beta2-a;point[0]+=v[i][0]*cos(a);point[1]+=v[i][0]*sin(a)}}point[0]/=3,point[1]/=3;return point}return forward}function pointRadians(p){return p[0]*=radians,p[1]*=radians,p}function chamberlinAfrica(){return chamberlin([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function chamberlin(p0,p1,p2){var c=d3Geo.geoCentroid({type:"MultiPoint",coordinates:[p0,p1,p2]}),R=[-c[0],-c[1]],r=d3Geo.geoRotation(R),f=chamberlinRaw(pointRadians(r(p0)),pointRadians(r(p1)),pointRadians(r(p2)));f.invert=solve2d(f);var p=d3Geo.geoProjection(f).rotate(R),center=p.center;delete p.rotate;p.center=function(_){return arguments.length?center(r(_)):r.invert(center())};return p.clipAngle(90)}function collignonRaw(lambda,phi){var alpha=sqrt(1-sin(phi));return[2/sqrtPi*lambda*alpha,sqrtPi*(1-alpha)]}collignonRaw.invert=function(x,y){var lambda=(lambda=y/sqrtPi-1)*lambda;return[lambda>0?x*sqrt(pi/lambda)/2:0,asin(1-lambda)]};function collignon(){return d3Geo.geoProjection(collignonRaw).scale(95.6464).center([0,30])}function craigRaw(phi0){var tanPhi0=tan(phi0);function forward(lambda,phi){return[lambda,(lambda?lambda/sin(lambda):1)*(sin(phi)*cos(lambda)-tanPhi0*cos(phi))]}forward.invert=tanPhi0?function(x,y){if(x)y*=sin(x)/x;var cosLambda=cos(x);return[x,2*atan2(sqrt(cosLambda*cosLambda+tanPhi0*tanPhi0-y*y)-cosLambda,tanPhi0-y)]}:function(x,y){return[x,asin(x?y*tan(x)/x:y)]};return forward}function craig(){return parallel1(craigRaw).scale(249.828).clipAngle(90)}var sqrt3=sqrt(3);function crasterRaw(lambda,phi){return[sqrt3*lambda*(2*cos(2*phi/3)-1)/sqrtPi,sqrt3*sqrtPi*sin(phi/3)]}crasterRaw.invert=function(x,y){var phi=3*asin(y/(sqrt3*sqrtPi));return[sqrtPi*x/(sqrt3*(2*cos(2*phi/3)-1)),phi]};function craster(){return d3Geo.geoProjection(crasterRaw).scale(156.19)}function cylindricalEqualAreaRaw(phi0){var cosPhi0=cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,sin(phi)/cosPhi0]}forward.invert=function(x,y){return[x/cosPhi0,asin(y*cosPhi0)]};return forward}function cylindricalEqualArea(){return parallel1(cylindricalEqualAreaRaw).parallel(38.58).scale(195.044)}function cylindricalStereographicRaw(phi0){var cosPhi0=cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,(1+cosPhi0)*tan(phi/2)]}forward.invert=function(x,y){return[x/cosPhi0,atan(y/(1+cosPhi0))*2]};return forward}function cylindricalStereographic(){return parallel1(cylindricalStereographicRaw).scale(124.75)}function eckert1Raw(lambda,phi){var alpha=sqrt(8/(3*pi));return[alpha*lambda*(1-abs(phi)/pi),alpha*phi]}eckert1Raw.invert=function(x,y){var alpha=sqrt(8/(3*pi)),phi=y/alpha;return[x/(alpha*(1-abs(phi)/pi)),phi]};function eckert1(){return d3Geo.geoProjection(eckert1Raw).scale(165.664)}function eckert2Raw(lambda,phi){var alpha=sqrt(4-3*sin(abs(phi)));return[2/sqrt(6*pi)*lambda*alpha,sign(phi)*sqrt(2*pi/3)*(2-alpha)]}eckert2Raw.invert=function(x,y){var alpha=2-abs(y)/sqrt(2*pi/3);return[x*sqrt(6*pi)/(2*alpha),sign(y)*asin((4-alpha*alpha)/3)]};function eckert2(){return d3Geo.geoProjection(eckert2Raw).scale(165.664)}function eckert3Raw(lambda,phi){var k=sqrt(pi*(4+pi));return[2/k*lambda*(1+sqrt(1-4*phi*phi/(pi*pi))),4/k*phi]}eckert3Raw.invert=function(x,y){var k=sqrt(pi*(4+pi))/2;return[x*k/(1+sqrt(1-y*y*(4+pi)/(4*pi))),y*k/2]};function eckert3(){return d3Geo.geoProjection(eckert3Raw).scale(180.739)}function eckert4Raw(lambda,phi){var k=(2+halfPi)*sin(phi);phi/=2;for(var i=0,delta=Infinity;i<10&&abs(delta)>epsilon;i++){var cosPhi=cos(phi);phi-=delta=(phi+sin(phi)*(cosPhi+2)-k)/(2*cosPhi*(1+cosPhi))}return[2/sqrt(pi*(4+pi))*lambda*(1+cos(phi)),2*sqrt(pi/(4+pi))*sin(phi)]}eckert4Raw.invert=function(x,y){var A=y*sqrt((4+pi)/pi)/2,k=asin(A),c=cos(k);return[x/(2/sqrt(pi*(4+pi))*(1+c)),asin((k+A*(c+2))/(2+halfPi))]};function eckert4(){return d3Geo.geoProjection(eckert4Raw).scale(180.739)}function eckert5Raw(lambda,phi){return[lambda*(1+cos(phi))/sqrt(2+pi),2*phi/sqrt(2+pi)]}eckert5Raw.invert=function(x,y){var k=sqrt(2+pi),phi=y*k/2;return[k*x/(1+cos(phi)),phi]};function eckert5(){return d3Geo.geoProjection(eckert5Raw).scale(173.044)}function eckert6Raw(lambda,phi){var k=(1+halfPi)*sin(phi);for(var i=0,delta=Infinity;i<10&&abs(delta)>epsilon;i++){phi-=delta=(phi+sin(phi)-k)/(1+cos(phi))}k=sqrt(2+pi);return[lambda*(1+cos(phi))/k,2*phi/k]}eckert6Raw.invert=function(x,y){var j=1+halfPi,k=sqrt(j/2);return[x*2*k/(1+cos(y*=k)),asin((y+sin(y))/j)]};function eckert6(){return d3Geo.geoProjection(eckert6Raw).scale(173.044)}var eisenlohrK=3+2*sqrt2;function eisenlohrRaw(lambda,phi){var s0=sin(lambda/=2),c0=cos(lambda),k=sqrt(cos(phi)),c1=cos(phi/=2),t=sin(phi)/(c1+sqrt2*c0*k),c=sqrt(2/(1+t*t)),v=sqrt((sqrt2*c1+(c0+s0)*k)/(sqrt2*c1+(c0-s0)*k));return[eisenlohrK*(c*(v-1/v)-2*log(v)),eisenlohrK*(c*t*(v+1/v)-2*atan(t))]}eisenlohrRaw.invert=function(x,y){if(!(p=augustRaw.invert(x/1.2,y*1.065)))return null;var lambda=p[0],phi=p[1],i=20,p;x/=eisenlohrK,y/=eisenlohrK;do{var _0=lambda/2,_1=phi/2,s0=sin(_0),c0=cos(_0),s1=sin(_1),c1=cos(_1),cos1=cos(phi),k=sqrt(cos1),t=s1/(c1+sqrt2*c0*k),t2=t*t,c=sqrt(2/(1+t2)),v0=sqrt2*c1+(c0+s0)*k,v1=sqrt2*c1+(c0-s0)*k,v2=v0/v1,v=sqrt(v2),vm1v=v-1/v,vp1v=v+1/v,fx=c*vm1v-2*log(v)-x,fy=c*t*vp1v-2*atan(t)-y,deltatDeltaLambda=s1&&sqrt1_2*k*s0*t2/s1,deltatDeltaPhi=(sqrt2*c0*c1+k)/(2*(c1+sqrt2*c0*k)*(c1+sqrt2*c0*k)*k),deltacDeltat=-.5*t*c*c*c,deltacDeltaLambda=deltacDeltat*deltatDeltaLambda,deltacDeltaPhi=deltacDeltat*deltatDeltaPhi,A=(A=2*c1+sqrt2*k*(c0-s0))*A*v,deltavDeltaLambda=(sqrt2*c0*c1*k+cos1)/A,deltavDeltaPhi=-(sqrt2*s0*s1)/(k*A),deltaxDeltaLambda=vm1v*deltacDeltaLambda-2*deltavDeltaLambda/v+c*(deltavDeltaLambda+deltavDeltaLambda/v2),deltaxDeltaPhi=vm1v*deltacDeltaPhi-2*deltavDeltaPhi/v+c*(deltavDeltaPhi+deltavDeltaPhi/v2),deltayDeltaLambda=t*vp1v*deltacDeltaLambda-2*deltatDeltaLambda/(1+t2)+c*vp1v*deltatDeltaLambda+c*t*(deltavDeltaLambda-deltavDeltaLambda/v2),deltayDeltaPhi=t*vp1v*deltacDeltaPhi-2*deltatDeltaPhi/(1+t2)+c*vp1v*deltatDeltaPhi+c*t*(deltavDeltaPhi-deltavDeltaPhi/v2),denominator=deltaxDeltaPhi*deltayDeltaLambda-deltayDeltaPhi*deltaxDeltaLambda;if(!denominator)break;var deltaLambda=(fy*deltaxDeltaPhi-fx*deltayDeltaPhi)/denominator,deltaPhi=(fx*deltayDeltaLambda-fy*deltaxDeltaLambda)/denominator;lambda-=deltaLambda;phi=max(-halfPi,min(halfPi,phi-deltaPhi))}while((abs(deltaLambda)>epsilon||abs(deltaPhi)>epsilon)&&--i>0);return abs(abs(phi)-halfPi)<epsilon?[0,phi]:i&&[lambda,phi]};function eisenlohr(){return d3Geo.geoProjection(eisenlohrRaw).scale(62.5271)}var faheyK=cos(35*radians);function faheyRaw(lambda,phi){var t=tan(phi/2);return[lambda*faheyK*sqrt(1-t*t),(1+faheyK)*t]}faheyRaw.invert=function(x,y){var t=y/(1+faheyK);return[x&&x/(faheyK*sqrt(1-t*t)),2*atan(t)]};function fahey(){return d3Geo.geoProjection(faheyRaw).scale(137.152)}function foucautRaw(lambda,phi){var k=phi/2,cosk=cos(k);return[2*lambda/sqrtPi*cos(phi)*cosk*cosk,sqrtPi*tan(k)]}foucautRaw.invert=function(x,y){var k=atan(y/sqrtPi),cosk=cos(k),phi=2*k;return[x*sqrtPi/2/(cos(phi)*cosk*cosk),phi]};function foucaut(){return d3Geo.geoProjection(foucautRaw).scale(135.264)}function foucautSinusoidalRaw(alpha){var beta=1-alpha,equatorial=raw(pi,0)[0]-raw(-pi,0)[0],polar=raw(0,halfPi)[1]-raw(0,-halfPi)[1],ratio=sqrt(2*polar/equatorial);function raw(lambda,phi){var cosphi=cos(phi),sinphi=sin(phi);return[cosphi/(beta+alpha*cosphi)*lambda,beta*phi+alpha*sinphi]}function forward(lambda,phi){var p=raw(lambda,phi);return[p[0]*ratio,p[1]/ratio]}function forwardMeridian(phi){return forward(0,phi)[1]}forward.invert=function(x,y){var phi=solve(forwardMeridian,y),lambda=x/ratio*(alpha+beta/cos(phi));return[lambda,phi]};return forward}function foucautSinusoidal(){var alpha=.5,m=d3Geo.geoProjectionMutator(foucautSinusoidalRaw),p=m(alpha);p.alpha=function(_){return arguments.length?m(alpha=+_):alpha};return p.scale(168.725)}function gilbertForward(point){return[point[0]/2,asin(tan(point[1]/2*radians))*degrees]}function gilbertInvert(point){return[point[0]*2,2*atan(sin(point[1]*radians))*degrees]}function gilbert(projectionType){if(projectionType==null)projectionType=d3Geo.geoOrthographic;var projection=projectionType(),equirectangular=d3Geo.geoEquirectangular().scale(degrees).precision(0).clipAngle(null).translate([0,0]);function gilbert(point){return projection(gilbertForward(point))}if(projection.invert)gilbert.invert=function(point){return gilbertInvert(projection.invert(point))};gilbert.stream=function(stream){var s1=projection.stream(stream),s0=equirectangular.stream({point:function(lambda,phi){s1.point(lambda/2,asin(tan(-phi/2*radians))*degrees)},lineStart:function(){s1.lineStart()},lineEnd:function(){s1.lineEnd()},polygonStart:function(){s1.polygonStart()},polygonEnd:function(){s1.polygonEnd()}});s0.sphere=s1.sphere;return s0};function property(name){gilbert[name]=function(){return arguments.length?(projection[name].apply(projection,arguments),gilbert):projection[name]()}}gilbert.rotate=function(_){return arguments.length?(equirectangular.rotate(_),gilbert):equirectangular.rotate()};gilbert.center=function(_){return arguments.length?(projection.center(gilbertForward(_)),gilbert):gilbertInvert(projection.center())};property("angle");property("clipAngle");property("clipExtent");property("fitExtent");property("fitHeight");property("fitSize");property("fitWidth");property("scale");property("translate");property("precision");return gilbert.scale(249.5)}function gingeryRaw(rho,n){var k=2*pi/n,rho2=rho*rho;function forward(lambda,phi){var p=d3Geo.geoAzimuthalEquidistantRaw(lambda,phi),x=p[0],y=p[1],r2=x*x+y*y;if(r2>rho2){var r=sqrt(r2),theta=atan2(y,x),theta0=k*round(theta/k),alpha=theta-theta0,rhoCosAlpha=rho*cos(alpha),k_=(rho*sin(alpha)-alpha*sin(rhoCosAlpha))/(halfPi-rhoCosAlpha),s_=gingeryLength(alpha,k_),e=(pi-rho)/gingeryIntegrate(s_,rhoCosAlpha,pi);x=r;var i=50,delta;do{x-=delta=(rho+gingeryIntegrate(s_,rhoCosAlpha,x)*e-r)/(s_(x)*e)}while(abs(delta)>epsilon&&--i>0);y=alpha*sin(x);if(x<halfPi)y-=k_*(x-halfPi);var s=sin(theta0),c=cos(theta0);p[0]=x*c-y*s;p[1]=x*s+y*c}return p}forward.invert=function(x,y){var r2=x*x+y*y;if(r2>rho2){var r=sqrt(r2),theta=atan2(y,x),theta0=k*round(theta/k),dTheta=theta-theta0;x=r*cos(dTheta);y=r*sin(dTheta);var x_halfPi=x-halfPi,sinx=sin(x),alpha=y/sinx,delta=x<halfPi?Infinity:0,i=10;while(true){var rhosinAlpha=rho*sin(alpha),rhoCosAlpha=rho*cos(alpha),sinRhoCosAlpha=sin(rhoCosAlpha),halfPi_RhoCosAlpha=halfPi-rhoCosAlpha,k_=(rhosinAlpha-alpha*sinRhoCosAlpha)/halfPi_RhoCosAlpha,s_=gingeryLength(alpha,k_);if(abs(delta)<epsilon2||!--i)break;alpha-=delta=(alpha*sinx-k_*x_halfPi-y)/(sinx-x_halfPi*2*(halfPi_RhoCosAlpha*(rhoCosAlpha+alpha*rhosinAlpha*cos(rhoCosAlpha)-sinRhoCosAlpha)-rhosinAlpha*(rhosinAlpha-alpha*sinRhoCosAlpha))/(halfPi_RhoCosAlpha*halfPi_RhoCosAlpha))}r=rho+gingeryIntegrate(s_,rhoCosAlpha,x)*(pi-rho)/gingeryIntegrate(s_,rhoCosAlpha,pi);theta=theta0+alpha;x=r*cos(theta);y=r*sin(theta)}return d3Geo.geoAzimuthalEquidistantRaw.invert(x,y)};return forward}function gingeryLength(alpha,k){return function(x){var y_=alpha*cos(x);if(x<halfPi)y_-=k;return sqrt(1+y_*y_)}}function gingeryIntegrate(f,a,b){var n=50,h=(b-a)/n,s=f(a)+f(b);for(var i=1,x=a;i<n;++i)s+=2*f(x+=h);return s*.5*h}function gingery(){var n=6,rho=30*radians,cRho=cos(rho),sRho=sin(rho),m=d3Geo.geoProjectionMutator(gingeryRaw),p=m(rho,n),stream_=p.stream,epsilon$$1=.01,cr=-cos(epsilon$$1*radians),sr=sin(epsilon$$1*radians);p.radius=function(_){if(!arguments.length)return rho*degrees;cRho=cos(rho=_*radians);sRho=sin(rho);return m(rho,n)};p.lobes=function(_){if(!arguments.length)return n;return m(rho,n=+_)};p.stream=function(stream){var rotate=p.rotate(),rotateStream=stream_(stream),sphereStream=(p.rotate([0,0]),stream_(stream));p.rotate(rotate);rotateStream.sphere=function(){sphereStream.polygonStart(),sphereStream.lineStart();for(var i=0,delta=2*pi/n,phi=0;i<n;++i,phi-=delta){sphereStream.point(atan2(sr*cos(phi),cr)*degrees,asin(sr*sin(phi))*degrees);sphereStream.point(atan2(sRho*cos(phi-delta/2),cRho)*degrees,asin(sRho*sin(phi-delta/2))*degrees)}sphereStream.lineEnd(),sphereStream.polygonEnd()};return rotateStream};return p.rotate([90,-40]).scale(91.7095).clipAngle(180-.001)}function ginzburgPolyconicRaw(a,b,c,d,e,f,g,h){if(arguments.length<8)h=0;function forward(lambda,phi){if(!phi)return[a*lambda/pi,0];var phi2=phi*phi,xB=a+phi2*(b+phi2*(c+phi2*d)),yB=phi*(e-1+phi2*(f-h+phi2*g)),m=(xB*xB+yB*yB)/(2*yB),alpha=lambda*asin(xB/m)/pi;return[m*sin(alpha),phi*(1+phi2*h)+m*(1-cos(alpha))]}forward.invert=function(x,y){var lambda=pi*x/a,phi=y,deltaLambda,deltaPhi,i=50;do{var phi2=phi*phi,xB=a+phi2*(b+phi2*(c+phi2*d)),yB=phi*(e-1+phi2*(f-h+phi2*g)),p=xB*xB+yB*yB,q=2*yB,m=p/q,m2=m*m,dAlphadLambda=asin(xB/m)/pi,alpha=lambda*dAlphadLambda,xB2=xB*xB,dxBdPhi=(2*b+phi2*(4*c+phi2*6*d))*phi,dyBdPhi=e+phi2*(3*f+phi2*5*g),dpdPhi=2*(xB*dxBdPhi+yB*(dyBdPhi-1)),dqdPhi=2*(dyBdPhi-1),dmdPhi=(dpdPhi*q-p*dqdPhi)/(q*q),cosAlpha=cos(alpha),sinAlpha=sin(alpha),mcosAlpha=m*cosAlpha,msinAlpha=m*sinAlpha,dAlphadPhi=lambda/pi*(1/sqrt(1-xB2/m2))*(dxBdPhi*m-xB*dmdPhi)/m2,fx=msinAlpha-x,fy=phi*(1+phi2*h)+m-mcosAlpha-y,deltaxDeltaPhi=dmdPhi*sinAlpha+mcosAlpha*dAlphadPhi,deltaxDeltaLambda=mcosAlpha*dAlphadLambda,deltayDeltaPhi=1+dmdPhi-(dmdPhi*cosAlpha-msinAlpha*dAlphadPhi),deltayDeltaLambda=msinAlpha*dAlphadLambda,denominator=deltaxDeltaPhi*deltayDeltaLambda-deltayDeltaPhi*deltaxDeltaLambda;if(!denominator)break;lambda-=deltaLambda=(fy*deltaxDeltaPhi-fx*deltayDeltaPhi)/denominator;phi-=deltaPhi=(fx*deltayDeltaLambda-fy*deltaxDeltaLambda)/denominator}while((abs(deltaLambda)>epsilon||abs(deltaPhi)>epsilon)&&--i>0);return[lambda,phi]};return forward}var ginzburg4Raw=ginzburgPolyconicRaw(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function ginzburg4(){return d3Geo.geoProjection(ginzburg4Raw).scale(149.995)}var ginzburg5Raw=ginzburgPolyconicRaw(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function ginzburg5(){return d3Geo.geoProjection(ginzburg5Raw).scale(153.93)}var ginzburg6Raw=ginzburgPolyconicRaw(5/6*pi,-.62636,-.0344,0,1.3493,-.05524,0,.045);function ginzburg6(){return d3Geo.geoProjection(ginzburg6Raw).scale(130.945)}function ginzburg8Raw(lambda,phi){var lambda2=lambda*lambda,phi2=phi*phi;return[lambda*(1-.162388*phi2)*(.87-952426e-9*lambda2*lambda2),phi*(1+phi2/12)]}ginzburg8Raw.invert=function(x,y){var lambda=x,phi=y,i=50,delta;do{var phi2=phi*phi;phi-=delta=(phi*(1+phi2/12)-y)/(1+phi2/4)}while(abs(delta)>epsilon&&--i>0);i=50;x/=1-.162388*phi2;do{var lambda4=(lambda4=lambda*lambda)*lambda4;lambda-=delta=(lambda*(.87-952426e-9*lambda4)-x)/(.87-.00476213*lambda4)}while(abs(delta)>epsilon&&--i>0);return[lambda,phi]};function ginzburg8(){return d3Geo.geoProjection(ginzburg8Raw).scale(131.747)}var ginzburg9Raw=ginzburgPolyconicRaw(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function ginzburg9(){return d3Geo.geoProjection(ginzburg9Raw).scale(131.087)}function squareRaw(project){var dx=project(halfPi,0)[0]-project(-halfPi,0)[0];function projectSquare(lambda,phi){var s=lambda>0?-.5:.5,point=project(lambda+s*pi,phi);point[0]-=s*dx;return point}if(project.invert)projectSquare.invert=function(x,y){var s=x>0?-.5:.5,location=project.invert(x+s*dx,y),lambda=location[0]-s*pi;if(lambda<-pi)lambda+=2*pi;else if(lambda>pi)lambda-=2*pi;location[0]=lambda;return location};return projectSquare}function gringortenRaw(lambda,phi){var sLambda=sign(lambda),sPhi=sign(phi),cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(sPhi*phi);lambda=abs(atan2(y,z));phi=asin(x);if(abs(lambda-halfPi)>epsilon)lambda%=halfPi;var point=gringortenHexadecant(lambda>pi/4?halfPi-lambda:lambda,phi);if(lambda>pi/4)z=point[0],point[0]=-point[1],point[1]=-z;return point[0]*=sLambda,point[1]*=-sPhi,point}gringortenRaw.invert=function(x,y){if(abs(x)>1)x=sign(x)*2-x;if(abs(y)>1)y=sign(y)*2-y;var sx=sign(x),sy=sign(y),x0=-sx*x,y0=-sy*y,t=y0/x0<1,p=gringortenHexadecantInvert(t?y0:x0,t?x0:y0),lambda=p[0],phi=p[1],cosPhi=cos(phi);if(t)lambda=-halfPi-lambda;return[sx*(atan2(sin(lambda)*cosPhi,-sin(phi))+pi),sy*asin(cos(lambda)*cosPhi)]};function gringortenHexadecant(lambda,phi){if(phi===halfPi)return[0,0];var sinPhi=sin(phi),r=sinPhi*sinPhi,r2=r*r,j=1+r2,k=1+3*r2,q=1-r2,z=asin(1/sqrt(j)),v=q+r*j*z,p2=(1-sinPhi)/v,p=sqrt(p2),a2=p2*j,a=sqrt(a2),h=p*q,x,i;if(lambda===0)return[0,-(h+r*a)];var cosPhi=cos(phi),secPhi=1/cosPhi,drdPhi=2*sinPhi*cosPhi,dvdPhi=(-3*r+z*k)*drdPhi,dp2dPhi=(-v*cosPhi-(1-sinPhi)*dvdPhi)/(v*v),dpdPhi=.5*dp2dPhi/p,dhdPhi=q*dpdPhi-2*r*p*drdPhi,dra2dPhi=r*j*dp2dPhi+p2*k*drdPhi,mu=-secPhi*drdPhi,nu=-secPhi*dra2dPhi,zeta=-2*secPhi*dhdPhi,lambda1=4*lambda/pi,delta;if(lambda>.222*pi||phi<pi/4&&lambda>.175*pi){x=(h+r*sqrt(a2*(1+r2)-h*h))/(1+r2);if(lambda>pi/4)return[x,x];var x1=x,x0=.5*x;x=.5*(x0+x1),i=50;do{var g=sqrt(a2-x*x),f=x*(zeta+mu*g)+nu*asin(x/a)-lambda1;if(!f)break;if(f<0)x0=x;else x1=x;x=.5*(x0+x1)}while(abs(x1-x0)>epsilon&&--i>0)}else{x=epsilon,i=25;do{var x2=x*x,g2=sqrt(a2-x2),zetaMug=zeta+mu*g2,f2=x*zetaMug+nu*asin(x/a)-lambda1,df=zetaMug+(nu-mu*x2)/g2;x-=delta=g2?f2/df:0}while(abs(delta)>epsilon&&--i>0)}return[x,-h-r*sqrt(a2-x*x)]}function gringortenHexadecantInvert(x,y){var x0=0,x1=1,r=.5,i=50;while(true){var r2=r*r,sinPhi=sqrt(r),z=asin(1/sqrt(1+r2)),v=1-r2+r*(1+r2)*z,p2=(1-sinPhi)/v,p=sqrt(p2),a2=p2*(1+r2),h=p*(1-r2),g2=a2-x*x,g=sqrt(g2),y0=y+h+r*g;if(abs(x1-x0)<epsilon2||--i===0||y0===0)break;if(y0>0)x0=r;else x1=r;r=.5*(x0+x1)}if(!i)return null;var phi=asin(sinPhi),cosPhi=cos(phi),secPhi=1/cosPhi,drdPhi=2*sinPhi*cosPhi,dvdPhi=(-3*r+z*(1+3*r2))*drdPhi,dp2dPhi=(-v*cosPhi-(1-sinPhi)*dvdPhi)/(v*v),dpdPhi=.5*dp2dPhi/p,dhdPhi=(1-r2)*dpdPhi-2*r*p*drdPhi,zeta=-2*secPhi*dhdPhi,mu=-secPhi*drdPhi,nu=-secPhi*(r*(1+r2)*dp2dPhi+p2*(1+3*r2)*drdPhi);return[pi/4*(x*(zeta+mu*g)+nu*asin(x/sqrt(a2))),phi]}function gringorten(){return d3Geo.geoProjection(squareRaw(gringortenRaw)).scale(239.75)}function ellipticJi(u,v,m){var a,b,c;if(!u){b=ellipticJ(v,1-m);return[[0,b[0]/b[1]],[1/b[1],0],[b[2]/b[1],0]]}a=ellipticJ(u,m);if(!v)return[[a[0],0],[a[1],0],[a[2],0]];b=ellipticJ(v,1-m);c=b[1]*b[1]+m*a[0]*a[0]*b[0]*b[0];return[[a[0]*b[2]/c,a[1]*a[2]*b[0]*b[1]/c],[a[1]*b[1]/c,-a[0]*a[2]*b[0]*b[2]/c],[a[2]*b[1]*b[2]/c,-m*a[0]*a[1]*b[0]/c]]}function ellipticJ(u,m){var ai,b,phi,t,twon;if(m<epsilon){t=sin(u);b=cos(u);ai=m*(u-t*b)/4;return[t-ai*b,b+ai*t,1-m*t*t/2,u-ai]}if(m>=1-epsilon){ai=(1-m)/4;b=cosh(u);t=tanh(u);phi=1/b;twon=b*sinh(u);return[t+ai*(twon-u)/(b*b),phi-ai*t*phi*(twon-u),phi+ai*t*phi*(twon+u),2*atan(exp(u))-halfPi+ai*(twon-u)/b]}var a=[1,0,0,0,0,0,0,0,0],c=[sqrt(m),0,0,0,0,0,0,0,0],i=0;b=sqrt(1-m);twon=1;while(abs(c[i]/a[i])>epsilon&&i<8){ai=a[i++];c[i]=(ai-b)/2;a[i]=(ai+b)/2;b=sqrt(ai*b);twon*=2}phi=twon*a[i]*u;do{t=c[i]*sin(b=phi)/a[i];phi=(asin(t)+phi)/2}while(--i);return[sin(phi),t=cos(phi),t/cos(phi-b),phi]}function ellipticFi(phi,psi,m){var r=abs(phi),i=abs(psi),sinhPsi=sinh(i);if(r){var cscPhi=1/sin(r),cotPhi2=1/(tan(r)*tan(r)),b=-(cotPhi2+m*(sinhPsi*sinhPsi*cscPhi*cscPhi)-1+m),c=(m-1)*cotPhi2,cotLambda2=(-b+sqrt(b*b-4*c))/2;return[ellipticF(atan(1/sqrt(cotLambda2)),m)*sign(phi),ellipticF(atan(sqrt((cotLambda2/cotPhi2-1)/m)),1-m)*sign(psi)]}return[0,ellipticF(atan(sinhPsi),1-m)*sign(psi)]}function ellipticF(phi,m){if(!m)return phi;if(m===1)return log(tan(phi/2+quarterPi));var a=1,b=sqrt(1-m),c=sqrt(m);for(var i=0;abs(c)>epsilon;i++){if(phi%pi){var dPhi=atan(b*tan(phi)/a);if(dPhi<0)dPhi+=pi;phi+=dPhi+~~(phi/pi)*pi}else phi+=phi;c=(a+b)/2;b=sqrt(a*b);c=((a=c)-b)/2}return phi/(pow(2,i)*a)}function guyouRaw(lambda,phi){var k_=(sqrt2-1)/(sqrt2+1),k=sqrt(1-k_*k_),K=ellipticF(halfPi,k*k),f=-1,psi=log(tan(pi/4+abs(phi)/2)),r=exp(f*psi)/sqrt(k_),at=guyouComplexAtan(r*cos(f*lambda),r*sin(f*lambda)),t=ellipticFi(at[0],at[1],k*k);return[-t[1],(phi>=0?1:-1)*(.5*K-t[0])]}function guyouComplexAtan(x,y){var x2=x*x,y_1=y+1,t=1-x2-y*y;return[.5*((x>=0?halfPi:-halfPi)-atan2(t,2*x)),-.25*log(t*t+4*x2)+.5*log(y_1*y_1+x2)]}function guyouComplexDivide(a,b){var denominator=b[0]*b[0]+b[1]*b[1];return[(a[0]*b[0]+a[1]*b[1])/denominator,(a[1]*b[0]-a[0]*b[1])/denominator]}guyouRaw.invert=function(x,y){var k_=(sqrt2-1)/(sqrt2+1),k=sqrt(1-k_*k_),K=ellipticF(halfPi,k*k),f=-1,j=ellipticJi(.5*K-y,-x,k*k),tn=guyouComplexDivide(j[0],j[1]),lambda=atan2(tn[1],tn[0])/f;return[lambda,2*atan(exp(.5/f*log(k_*tn[0]*tn[0]+k_*tn[1]*tn[1])))-halfPi]};function guyou(){return d3Geo.geoProjection(squareRaw(guyouRaw)).scale(151.496)}function hammerRetroazimuthalRaw(phi0){var sinPhi0=sin(phi0),cosPhi0=cos(phi0),rotate=hammerRetroazimuthalRotation(phi0);rotate.invert=hammerRetroazimuthalRotation(-phi0);function forward(lambda,phi){var p=rotate(lambda,phi);lambda=p[0],phi=p[1];var sinPhi=sin(phi),cosPhi=cos(phi),cosLambda=cos(lambda),z=acos(sinPhi0*sinPhi+cosPhi0*cosPhi*cosLambda),sinz=sin(z),K=abs(sinz)>epsilon?z/sinz:1;return[K*cosPhi0*sin(lambda),(abs(lambda)>halfPi?K:-K)*(sinPhi0*cosPhi-cosPhi0*sinPhi*cosLambda)]}forward.invert=function(x,y){var rho=sqrt(x*x+y*y),sinz=-sin(rho),cosz=cos(rho),a=rho*cosz,b=-y*sinz,c=rho*sinPhi0,d=sqrt(a*a+b*b-c*c),phi=atan2(a*c+b*d,b*c-a*d),lambda=(rho>halfPi?-1:1)*atan2(x*sinz,rho*cos(phi)*cosz+y*sin(phi)*sinz);return rotate.invert(lambda,phi)};return forward}function hammerRetroazimuthalRotation(phi0){var sinPhi0=sin(phi0),cosPhi0=cos(phi0);return function(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi);return[atan2(y,x*cosPhi0-z*sinPhi0),asin(z*cosPhi0+x*sinPhi0)]}}function hammerRetroazimuthal(){var phi0=0,m=d3Geo.geoProjectionMutator(hammerRetroazimuthalRaw),p=m(phi0),rotate_=p.rotate,stream_=p.stream,circle=d3Geo.geoCircle();p.parallel=function(_){if(!arguments.length)return phi0*degrees;var r=p.rotate();return m(phi0=_*radians).rotate(r)};p.rotate=function(_){if(!arguments.length)return _=rotate_.call(p),_[1]+=phi0*degrees,_;rotate_.call(p,[_[0],_[1]-phi0*degrees]);circle.center([-_[0],-_[1]]);return p};p.stream=function(stream){stream=stream_(stream);stream.sphere=function(){stream.polygonStart();var epsilon$$1=.01,ring=circle.radius(90-epsilon$$1)().coordinates[0],n=ring.length-1,i=-1,p;stream.lineStart();while(++i<n)stream.point((p=ring[i])[0],p[1]);stream.lineEnd();ring=circle.radius(90+epsilon$$1)().coordinates[0];n=ring.length-1;stream.lineStart();while(--i>=0)stream.point((p=ring[i])[0],p[1]);stream.lineEnd();stream.polygonEnd()};return stream};return p.scale(79.4187).parallel(45).clipAngle(180-.001)}var K=3,healpixParallel=asin(1-1/K)*degrees,healpixLambert=cylindricalEqualAreaRaw(0);function healpixRaw(H){var phi0=healpixParallel*radians,dx=collignonRaw(pi,phi0)[0]-collignonRaw(-pi,phi0)[0],y0=healpixLambert(0,phi0)[1],y1=collignonRaw(0,phi0)[1],dy1=sqrtPi-y1,k=tau/H,w=4/tau,h=y0+dy1*dy1*4/tau;function forward(lambda,phi){var point,phi2=abs(phi);if(phi2>phi0){var i=min(H-1,max(0,floor((lambda+pi)/k)));lambda+=pi*(H-1)/H-i*k;point=collignonRaw(lambda,phi2);point[0]=point[0]*tau/dx-tau*(H-1)/(2*H)+i*tau/H;point[1]=y0+(point[1]-y1)*4*dy1/tau;if(phi<0)point[1]=-point[1]}else{point=healpixLambert(lambda,phi)}point[0]*=w,point[1]/=h;return point}forward.invert=function(x,y){x/=w,y*=h;var y2=abs(y);if(y2>y0){var i=min(H-1,max(0,floor((x+pi)/k)));x=(x+pi*(H-1)/H-i*k)*dx/tau;var point=collignonRaw.invert(x,.25*(y2-y0)*tau/dy1+y1);point[0]-=pi*(H-1)/H-i*k;if(y<0)point[1]=-point[1];return point}return healpixLambert.invert(x,y)};return forward}function sphereTop(x,i){return[x,i&1?90-epsilon:healpixParallel]}function sphereBottom(x,i){return[x,i&1?-90+epsilon:-healpixParallel]}function sphereNudge(d){return[d[0]*(1-epsilon),d[1]]}function sphere(step){var c=[].concat(d3Array.range(-180,180+step/2,step).map(sphereTop),d3Array.range(180,-180-step/2,-step).map(sphereBottom));return{type:"Polygon",coordinates:[step===180?c.map(sphereNudge):c]}}function healpix(){var H=4,m=d3Geo.geoProjectionMutator(healpixRaw),p=m(H),stream_=p.stream;p.lobes=function(_){return arguments.length?m(H=+_):H};p.stream=function(stream){var rotate=p.rotate(),rotateStream=stream_(stream),sphereStream=(p.rotate([0,0]),stream_(stream));p.rotate(rotate);rotateStream.sphere=function(){d3Geo.geoStream(sphere(180/H),sphereStream)};return rotateStream};return p.scale(239.75)}function hillRaw(K){var L=1+K,sinBt=sin(1/L),Bt=asin(sinBt),A=2*sqrt(pi/(B=pi+4*Bt*L)),B,rho0=.5*A*(L+sqrt(K*(2+K))),K2=K*K,L2=L*L;function forward(lambda,phi){var t=1-sin(phi),rho,omega;if(t&&t<2){var theta=halfPi-phi,i=25,delta;do{var sinTheta=sin(theta),cosTheta=cos(theta),Bt_Bt1=Bt+atan2(sinTheta,L-cosTheta),C=1+L2-2*L*cosTheta;theta-=delta=(theta-K2*Bt-L*sinTheta+C*Bt_Bt1-.5*t*B)/(2*L*sinTheta*Bt_Bt1)}while(abs(delta)>epsilon2&&--i>0);rho=A*sqrt(C);omega=lambda*Bt_Bt1/pi}else{rho=A*(K+t);omega=lambda*Bt/pi}return[rho*sin(omega),rho0-rho*cos(omega)]}forward.invert=function(x,y){var rho2=x*x+(y-=rho0)*y,cosTheta=(1+L2-rho2/(A*A))/(2*L),theta=acos(cosTheta),sinTheta=sin(theta),Bt_Bt1=Bt+atan2(sinTheta,L-cosTheta);return[asin(x/sqrt(rho2))*pi/Bt_Bt1,asin(1-2*(theta-K2*Bt-L*sinTheta+(1+L2-2*L*cosTheta)*Bt_Bt1)/B)]};return forward}function hill(){var K=1,m=d3Geo.geoProjectionMutator(hillRaw),p=m(K);p.ratio=function(_){return arguments.length?m(K=+_):K};return p.scale(167.774).center([0,18.67])}var sinuMollweidePhi=.7109889596207567;var sinuMollweideY=.0528035274542;function sinuMollweideRaw(lambda,phi){return phi>-sinuMollweidePhi?(lambda=mollweideRaw(lambda,phi),lambda[1]+=sinuMollweideY,lambda):sinusoidalRaw(lambda,phi)}sinuMollweideRaw.invert=function(x,y){return y>-sinuMollweidePhi?mollweideRaw.invert(x,y-sinuMollweideY):sinusoidalRaw.invert(x,y)};function sinuMollweide(){return d3Geo.geoProjection(sinuMollweideRaw).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function homolosineRaw(lambda,phi){return abs(phi)>sinuMollweidePhi?(lambda=mollweideRaw(lambda,phi),lambda[1]-=phi>0?sinuMollweideY:-sinuMollweideY,lambda):sinusoidalRaw(lambda,phi)}homolosineRaw.invert=function(x,y){return abs(y)>sinuMollweidePhi?mollweideRaw.invert(x,y+(y>0?sinuMollweideY:-sinuMollweideY)):sinusoidalRaw.invert(x,y)};function homolosine(){return d3Geo.geoProjection(homolosineRaw).scale(152.63)}function hufnagelRaw(a,b,psiMax,ratio){var k=sqrt(4*pi/(2*psiMax+(1+a-b/2)*sin(2*psiMax)+(a+b)/2*sin(4*psiMax)+b/2*sin(6*psiMax))),c=sqrt(ratio*sin(psiMax)*sqrt((1+a*cos(2*psiMax)+b*cos(4*psiMax))/(1+a+b))),M=psiMax*mapping(1);function radius(psi){return sqrt(1+a*cos(2*psi)+b*cos(4*psi))}function mapping(t){var psi=t*psiMax;return(2*psi+(1+a-b/2)*sin(2*psi)+(a+b)/2*sin(4*psi)+b/2*sin(6*psi))/psiMax}function inversemapping(psi){return radius(psi)*sin(psi)}var forward=function(lambda,phi){var psi=psiMax*solve(mapping,M*sin(phi)/psiMax,phi/pi);if(isNaN(psi))psi=psiMax*sign(phi);var kr=k*radius(psi);return[kr*c*lambda/pi*cos(psi),kr/c*sin(psi)]};forward.invert=function(x,y){var psi=solve(inversemapping,y*c/k);return[x*pi/(cos(psi)*k*c*radius(psi)),asin(psiMax*mapping(psi/psiMax)/M)]};if(psiMax===0){k=sqrt(ratio/pi);forward=function(lambda,phi){return[lambda*k,sin(phi)/k]};forward.invert=function(x,y){return[x/k,asin(y*k)]}}return forward}function hufnagel(){var a=1,b=0,psiMax=45*radians,ratio=2,mutate=d3Geo.geoProjectionMutator(hufnagelRaw),projection=mutate(a,b,psiMax,ratio);projection.a=function(_){return arguments.length?mutate(a=+_,b,psiMax,ratio):a};projection.b=function(_){return arguments.length?mutate(a,b=+_,psiMax,ratio):b};projection.psiMax=function(_){return arguments.length?mutate(a,b,psiMax=+_*radians,ratio):psiMax*degrees};projection.ratio=function(_){return arguments.length?mutate(a,b,psiMax,ratio=+_):ratio};return projection.scale(180.739)}function adsimp(f,a,b,fa,fm,fb,V0,tol,maxdepth,depth,state){if(state.nanEncountered){return NaN}var h,f1,f2,sl,sr,s2,m,V1,V2,err;h=b-a;f1=f(a+h*.25);f2=f(b-h*.25);if(isNaN(f1)){state.nanEncountered=true;return}if(isNaN(f2)){state.nanEncountered=true;return}sl=h*(fa+4*f1+fm)/12;sr=h*(fm+4*f2+fb)/12;s2=sl+sr;err=(s2-V0)/15;if(depth>maxdepth){state.maxDepthCount++;return s2+err}else if(Math.abs(err)<tol){return s2+err}else{m=a+h*.5;V1=adsimp(f,a,m,fa,f1,fm,sl,tol*.5,maxdepth,depth+1,state);if(isNaN(V1)){state.nanEncountered=true;return NaN}V2=adsimp(f,m,b,fm,f2,fb,sr,tol*.5,maxdepth,depth+1,state);if(isNaN(V2)){state.nanEncountered=true;return NaN}return V1+V2}}function integrate(f,a,b,tol,maxdepth){var state={maxDepthCount:0,nanEncountered:false};if(tol===undefined){tol=1e-8}if(maxdepth===undefined){maxdepth=20}var fa=f(a);var fm=f(.5*(a+b));var fb=f(b);var V0=(fa+4*fm+fb)*(b-a)/6;var result=adsimp(f,a,b,fa,fm,fb,V0,tol,maxdepth,1,state);return result}function hyperellipticalRaw(alpha,k,gamma){function elliptic(f){return alpha+(1-alpha)*pow(1-pow(f,k),1/k)}function z(f){return integrate(elliptic,0,f,1e-4)}var G=1/z(1),n=1e3,m=(1+1e-8)*G,approx=[];for(var i=0;i<=n;i++)approx.push(z(i/n)*m);function Y(sinphi){var rmin=0,rmax=n,r=n>>1;do{if(approx[r]>sinphi)rmax=r;else rmin=r;r=rmin+rmax>>1}while(r>rmin);var u=approx[r+1]-approx[r];if(u)u=(sinphi-approx[r+1])/u;return(r+1+u)/n}var ratio=2*Y(1)/pi*G/gamma;var forward=function(lambda,phi){var y=Y(abs(sin(phi))),x=elliptic(y)*lambda;y/=ratio;return[x,phi>=0?y:-y]};forward.invert=function(x,y){var phi;y*=ratio;if(abs(y)<1)phi=sign(y)*asin(z(abs(y))*G);return[x/elliptic(abs(y)),phi]};return forward}function hyperelliptical(){var alpha=0,k=2.5,gamma=1.183136,m=d3Geo.geoProjectionMutator(hyperellipticalRaw),p=m(alpha,k,gamma);p.alpha=function(_){return arguments.length?m(alpha=+_,k,gamma):alpha};p.k=function(_){return arguments.length?m(alpha,k=+_,gamma):k};p.gamma=function(_){return arguments.length?m(alpha,k,gamma=+_):gamma};return p.scale(152.63)}function pointEqual(a,b){return abs(a[0]-b[0])<epsilon&&abs(a[1]-b[1])<epsilon}function interpolateLine(coordinates,m){var i=-1,n=coordinates.length,p0=coordinates[0],p1,dx,dy,resampled=[];while(++i<n){p1=coordinates[i];dx=(p1[0]-p0[0])/m;dy=(p1[1]-p0[1])/m;for(var j=0;j<m;++j)resampled.push([p0[0]+j*dx,p0[1]+j*dy]);p0=p1}resampled.push(p1);return resampled}function interpolateSphere(lobes){var coordinates=[],lobe,lambda0,phi0,phi1,lambda2,phi2,i,n=lobes[0].length;for(i=0;i<n;++i){lobe=lobes[0][i];lambda0=lobe[0][0],phi0=lobe[0][1],phi1=lobe[1][1];lambda2=lobe[2][0],phi2=lobe[2][1];coordinates.push(interpolateLine([[lambda0+epsilon,phi0+epsilon],[lambda0+epsilon,phi1-epsilon],[lambda2-epsilon,phi1-epsilon],[lambda2-epsilon,phi2+epsilon]],30))}for(i=lobes[1].length-1;i>=0;--i){lobe=lobes[1][i];lambda0=lobe[0][0],phi0=lobe[0][1],phi1=lobe[1][1];lambda2=lobe[2][0],phi2=lobe[2][1];coordinates.push(interpolateLine([[lambda2-epsilon,phi2-epsilon],[lambda2-epsilon,phi1+epsilon],[lambda0+epsilon,phi1+epsilon],[lambda0+epsilon,phi0-epsilon]],30))}return{type:"Polygon",coordinates:[d3Array.merge(coordinates)]}}function interrupt(project,lobes,inverse){var sphere,bounds;function forward(lambda,phi){var sign$$1=phi<0?-1:+1,lobe=lobes[+(phi<0)];for(var i=0,n=lobe.length-1;i<n&&lambda>lobe[i][2][0];++i);var p=project(lambda-lobe[i][1][0],phi);p[0]+=project(lobe[i][1][0],sign$$1*phi>sign$$1*lobe[i][0][1]?lobe[i][0][1]:phi)[0];return p}if(inverse){forward.invert=inverse(forward)}else if(project.invert){forward.invert=function(x,y){var bound=bounds[+(y<0)],lobe=lobes[+(y<0)];for(var i=0,n=bound.length;i<n;++i){var b=bound[i];if(b[0][0]<=x&&x<b[1][0]&&b[0][1]<=y&&y<b[1][1]){var p=project.invert(x-project(lobe[i][1][0],0)[0],y);p[0]+=lobe[i][1][0];return pointEqual(forward(p[0],p[1]),[x,y])?p:null}}}}var p=d3Geo.geoProjection(forward),stream_=p.stream;p.stream=function(stream){var rotate=p.rotate(),rotateStream=stream_(stream),sphereStream=(p.rotate([0,0]),stream_(stream));p.rotate(rotate);rotateStream.sphere=function(){d3Geo.geoStream(sphere,sphereStream)};return rotateStream};p.lobes=function(_){if(!arguments.length)return lobes.map((function(lobe){return lobe.map((function(l){return[[l[0][0]*degrees,l[0][1]*degrees],[l[1][0]*degrees,l[1][1]*degrees],[l[2][0]*degrees,l[2][1]*degrees]]}))}));sphere=interpolateSphere(_);lobes=_.map((function(lobe){return lobe.map((function(l){return[[l[0][0]*radians,l[0][1]*radians],[l[1][0]*radians,l[1][1]*radians],[l[2][0]*radians,l[2][1]*radians]]}))}));bounds=lobes.map((function(lobe){return lobe.map((function(l){var x0=project(l[0][0],l[0][1])[0],x1=project(l[2][0],l[2][1])[0],y0=project(l[1][0],l[0][1])[1],y1=project(l[1][0],l[1][1])[1],t;if(y0>y1)t=y0,y0=y1,y1=t;return[[x0,y0],[x1,y1]]}))}));return p};if(lobes!=null)p.lobes(lobes);return p}var lobes=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function boggs$1(){return interrupt(boggsRaw,lobes).scale(160.857)}var lobes$1=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function homolosine$1(){return interrupt(homolosineRaw,lobes$1).scale(152.63)}var lobes$2=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function mollweide$1(){return interrupt(mollweideRaw,lobes$2).scale(169.529)}var lobes$3=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function mollweideHemispheres(){return interrupt(mollweideRaw,lobes$3).scale(169.529).rotate([20,0])}var lobes$4=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function sinuMollweide$1(){return interrupt(sinuMollweideRaw,lobes$4,solve2d).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var lobes$5=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function sinusoidal$1(){return interrupt(sinusoidalRaw,lobes$5).scale(152.63).rotate([-20,0])}function kavrayskiy7Raw(lambda,phi){return[3/tau*lambda*sqrt(pi*pi/3-phi*phi),phi]}kavrayskiy7Raw.invert=function(x,y){return[tau/3*x/sqrt(pi*pi/3-y*y),y]};function kavrayskiy7(){return d3Geo.geoProjection(kavrayskiy7Raw).scale(158.837)}function lagrangeRaw(n){function forward(lambda,phi){if(abs(abs(phi)-halfPi)<epsilon)return[0,phi<0?-2:2];var sinPhi=sin(phi),v=pow((1+sinPhi)/(1-sinPhi),n/2),c=.5*(v+1/v)+cos(lambda*=n);return[2*sin(lambda)/c,(v-1/v)/c]}forward.invert=function(x,y){var y0=abs(y);if(abs(y0-2)<epsilon)return x?null:[0,sign(y)*halfPi];if(y0>2)return null;x/=2,y/=2;var x2=x*x,y2=y*y,t=2*y/(1+x2+y2);t=pow((1+t)/(1-t),1/n);return[atan2(2*x,1-x2-y2)/n,asin((t-1)/(t+1))]};return forward}function lagrange(){var n=.5,m=d3Geo.geoProjectionMutator(lagrangeRaw),p=m(n);p.spacing=function(_){return arguments.length?m(n=+_):n};return p.scale(124.75)}var pi_sqrt2=pi/sqrt2;function larriveeRaw(lambda,phi){return[lambda*(1+sqrt(cos(phi)))/2,phi/(cos(phi/2)*cos(lambda/6))]}larriveeRaw.invert=function(x,y){var x0=abs(x),y0=abs(y),lambda=epsilon,phi=halfPi;if(y0<pi_sqrt2)phi*=y0/pi_sqrt2;else lambda+=6*acos(pi_sqrt2/y0);for(var i=0;i<25;i++){var sinPhi=sin(phi),sqrtcosPhi=sqrt(cos(phi)),sinPhi_2=sin(phi/2),cosPhi_2=cos(phi/2),sinLambda_6=sin(lambda/6),cosLambda_6=cos(lambda/6),f0=.5*lambda*(1+sqrtcosPhi)-x0,f1=phi/(cosPhi_2*cosLambda_6)-y0,df0dPhi=sqrtcosPhi?-.25*lambda*sinPhi/sqrtcosPhi:0,df0dLambda=.5*(1+sqrtcosPhi),df1dPhi=(1+.5*phi*sinPhi_2/cosPhi_2)/(cosPhi_2*cosLambda_6),df1dLambda=phi/cosPhi_2*(sinLambda_6/6)/(cosLambda_6*cosLambda_6),denom=df0dPhi*df1dLambda-df1dPhi*df0dLambda,dPhi=(f0*df1dLambda-f1*df0dLambda)/denom,dLambda=(f1*df0dPhi-f0*df1dPhi)/denom;phi-=dPhi;lambda-=dLambda;if(abs(dPhi)<epsilon&&abs(dLambda)<epsilon)break}return[x<0?-lambda:lambda,y<0?-phi:phi]};function larrivee(){return d3Geo.geoProjection(larriveeRaw).scale(97.2672)}function laskowskiRaw(lambda,phi){var lambda2=lambda*lambda,phi2=phi*phi;return[lambda*(.975534+phi2*(-.119161+lambda2*-.0143059+phi2*-.0547009)),phi*(1.00384+lambda2*(.0802894+phi2*-.02855+lambda2*199025e-9)+phi2*(.0998909+phi2*-.0491032))]}laskowskiRaw.invert=function(x,y){var lambda=sign(x)*pi,phi=y/2,i=50;do{var lambda2=lambda*lambda,phi2=phi*phi,lambdaPhi=lambda*phi,fx=lambda*(.975534+phi2*(-.119161+lambda2*-.0143059+phi2*-.0547009))-x,fy=phi*(1.00384+lambda2*(.0802894+phi2*-.02855+lambda2*199025e-9)+phi2*(.0998909+phi2*-.0491032))-y,deltaxDeltaLambda=.975534-phi2*(.119161+3*lambda2*.0143059+phi2*.0547009),deltaxDeltaPhi=-lambdaPhi*(2*.119161+4*.0547009*phi2+2*.0143059*lambda2),deltayDeltaLambda=lambdaPhi*(2*.0802894+4*199025e-9*lambda2+2*-.02855*phi2),deltayDeltaPhi=1.00384+lambda2*(.0802894+199025e-9*lambda2)+phi2*(3*(.0998909-.02855*lambda2)-5*.0491032*phi2),denominator=deltaxDeltaPhi*deltayDeltaLambda-deltayDeltaPhi*deltaxDeltaLambda,deltaLambda=(fy*deltaxDeltaPhi-fx*deltayDeltaPhi)/denominator,deltaPhi=(fx*deltayDeltaLambda-fy*deltaxDeltaLambda)/denominator;lambda-=deltaLambda,phi-=deltaPhi}while((abs(deltaLambda)>epsilon||abs(deltaPhi)>epsilon)&&--i>0);return i&&[lambda,phi]};function laskowski(){return d3Geo.geoProjection(laskowskiRaw).scale(139.98)}function littrowRaw(lambda,phi){return[sin(lambda)/cos(phi),tan(phi)*cos(lambda)]}littrowRaw.invert=function(x,y){var x2=x*x,y2=y*y,y2_1=y2+1,x2_y2_1=x2+y2_1,cosPhi=x?sqrt1_2*sqrt((x2_y2_1-sqrt(x2_y2_1*x2_y2_1-4*x2))/x2):1/sqrt(y2_1);return[asin(x*cosPhi),sign(y)*acos(cosPhi)]};function littrow(){return d3Geo.geoProjection(littrowRaw).scale(144.049).clipAngle(90-.001)}function loximuthalRaw(phi0){var cosPhi0=cos(phi0),tanPhi0=tan(quarterPi+phi0/2);function forward(lambda,phi){var y=phi-phi0,x=abs(y)<epsilon?lambda*cosPhi0:abs(x=quarterPi+phi/2)<epsilon||abs(abs(x)-halfPi)<epsilon?0:lambda*y/log(tan(x)/tanPhi0);return[x,y]}forward.invert=function(x,y){var lambda,phi=y+phi0;return[abs(y)<epsilon?x/cosPhi0:abs(lambda=quarterPi+phi/2)<epsilon||abs(abs(lambda)-halfPi)<epsilon?0:x*log(tan(lambda)/tanPhi0)/y,phi]};return forward}function loximuthal(){return parallel1(loximuthalRaw).parallel(40).scale(158.837)}function millerRaw(lambda,phi){return[lambda,1.25*log(tan(quarterPi+.4*phi))]}millerRaw.invert=function(x,y){return[x,2.5*atan(exp(.8*y))-.625*pi]};function miller(){return d3Geo.geoProjection(millerRaw).scale(108.318)}function modifiedStereographicRaw(C){var m=C.length-1;function forward(lambda,phi){var cosPhi=cos(phi),k=2/(1+cosPhi*cos(lambda)),zr=k*cosPhi*sin(lambda),zi=k*sin(phi),i=m,w=C[i],ar=w[0],ai=w[1],t;while(--i>=0){w=C[i];ar=w[0]+zr*(t=ar)-zi*ai;ai=w[1]+zr*ai+zi*t}ar=zr*(t=ar)-zi*ai;ai=zr*ai+zi*t;return[ar,ai]}forward.invert=function(x,y){var i=20,zr=x,zi=y;do{var j=m,w=C[j],ar=w[0],ai=w[1],br=0,bi=0,t;while(--j>=0){w=C[j];br=ar+zr*(t=br)-zi*bi;bi=ai+zr*bi+zi*t;ar=w[0]+zr*(t=ar)-zi*ai;ai=w[1]+zr*ai+zi*t}br=ar+zr*(t=br)-zi*bi;bi=ai+zr*bi+zi*t;ar=zr*(t=ar)-zi*ai-x;ai=zr*ai+zi*t-y;var denominator=br*br+bi*bi,deltar,deltai;zr-=deltar=(ar*br+ai*bi)/denominator;zi-=deltai=(ai*br-ar*bi)/denominator}while(abs(deltar)+abs(deltai)>epsilon*epsilon&&--i>0);if(i){var rho=sqrt(zr*zr+zi*zi),c=2*atan(rho*.5),sinc=sin(c);return[atan2(zr*sinc,rho*cos(c)),rho?asin(zi*sinc/rho):0]}};return forward}var alaska=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],gs48=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],gs50=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],miller$1=[[.9245,0],[0,0],[.01943,0]],lee=[[.721316,0],[0,0],[-.00881625,-.00617325]];function modifiedStereographicAlaska(){return modifiedStereographic(alaska,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function modifiedStereographicGs48(){return modifiedStereographic(gs48,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function modifiedStereographicGs50(){return modifiedStereographic(gs50,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function modifiedStereographicMiller(){return modifiedStereographic(miller$1,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function modifiedStereographicLee(){return modifiedStereographic(lee,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function modifiedStereographic(coefficients,rotate){var p=d3Geo.geoProjection(modifiedStereographicRaw(coefficients)).rotate(rotate).clipAngle(90),r=d3Geo.geoRotation(rotate),center=p.center;delete p.rotate;p.center=function(_){return arguments.length?center(r(_)):r.invert(center())};return p}var sqrt6=sqrt(6),sqrt7=sqrt(7);function mtFlatPolarParabolicRaw(lambda,phi){var theta=asin(7*sin(phi)/(3*sqrt6));return[sqrt6*lambda*(2*cos(2*theta/3)-1)/sqrt7,9*sin(theta/3)/sqrt7]}mtFlatPolarParabolicRaw.invert=function(x,y){var theta=3*asin(y*sqrt7/9);return[x*sqrt7/(sqrt6*(2*cos(2*theta/3)-1)),asin(sin(theta)*3*sqrt6/7)]};function mtFlatPolarParabolic(){return d3Geo.geoProjection(mtFlatPolarParabolicRaw).scale(164.859)}function mtFlatPolarQuarticRaw(lambda,phi){var k=(1+sqrt1_2)*sin(phi),theta=phi;for(var i=0,delta;i<25;i++){theta-=delta=(sin(theta/2)+sin(theta)-k)/(.5*cos(theta/2)+cos(theta));if(abs(delta)<epsilon)break}return[lambda*(1+2*cos(theta)/cos(theta/2))/(3*sqrt2),2*sqrt(3)*sin(theta/2)/sqrt(2+sqrt2)]}mtFlatPolarQuarticRaw.invert=function(x,y){var sinTheta_2=y*sqrt(2+sqrt2)/(2*sqrt(3)),theta=2*asin(sinTheta_2);return[3*sqrt2*x/(1+2*cos(theta)/cos(theta/2)),asin((sinTheta_2+sin(theta))/(1+sqrt1_2))]};function mtFlatPolarQuartic(){return d3Geo.geoProjection(mtFlatPolarQuarticRaw).scale(188.209)}function mtFlatPolarSinusoidalRaw(lambda,phi){var A=sqrt(6/(4+pi)),k=(1+pi/4)*sin(phi),theta=phi/2;for(var i=0,delta;i<25;i++){theta-=delta=(theta/2+sin(theta)-k)/(.5+cos(theta));if(abs(delta)<epsilon)break}return[A*(.5+cos(theta))*lambda/1.5,A*theta]}mtFlatPolarSinusoidalRaw.invert=function(x,y){var A=sqrt(6/(4+pi)),theta=y/A;if(abs(abs(theta)-halfPi)<epsilon)theta=theta<0?-halfPi:halfPi;return[1.5*x/(A*(.5+cos(theta))),asin((theta/2+sin(theta))/(1+pi/4))]};function mtFlatPolarSinusoidal(){return d3Geo.geoProjection(mtFlatPolarSinusoidalRaw).scale(166.518)}function naturalEarth2Raw(lambda,phi){var phi2=phi*phi,phi4=phi2*phi2,phi6=phi2*phi4;return[lambda*(.84719-.13063*phi2+phi6*phi6*(-.04515+.05494*phi2-.02326*phi4+.00331*phi6)),phi*(1.01183+phi4*phi4*(-.02625+.01926*phi2-.00396*phi4))]}naturalEarth2Raw.invert=function(x,y){var phi=y,i=25,delta,phi2,phi4,phi6;do{phi2=phi*phi;phi4=phi2*phi2;phi-=delta=(phi*(1.01183+phi4*phi4*(-.02625+.01926*phi2-.00396*phi4))-y)/(1.01183+phi4*phi4*(9*-.02625+11*.01926*phi2+13*-.00396*phi4))}while(abs(delta)>epsilon2&&--i>0);phi2=phi*phi;phi4=phi2*phi2;phi6=phi2*phi4;return[x/(.84719-.13063*phi2+phi6*phi6*(-.04515+.05494*phi2-.02326*phi4+.00331*phi6)),phi]};function naturalEarth2(){return d3Geo.geoProjection(naturalEarth2Raw).scale(175.295)}function nellHammerRaw(lambda,phi){return[lambda*(1+cos(phi))/2,2*(phi-tan(phi/2))]}nellHammerRaw.invert=function(x,y){var p=y/2;for(var i=0,delta=Infinity;i<10&&abs(delta)>epsilon;++i){var c=cos(y/2);y-=delta=(y-tan(y/2)-p)/(1-.5/(c*c))}return[2*x/(1+cos(y)),y]};function nellHammer(){return d3Geo.geoProjection(nellHammerRaw).scale(152.63)}var lobes$6=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function quarticAuthalic(){return interrupt(hammerRaw(Infinity),lobes$6).rotate([20,0]).scale(152.63)}function nicolosiRaw(lambda,phi){var sinPhi=sin(phi),q=cos(phi),s=sign(lambda);if(lambda===0||abs(phi)===halfPi)return[0,phi];else if(phi===0)return[lambda,0];else if(abs(lambda)===halfPi)return[lambda*q,halfPi*sinPhi];var b=pi/(2*lambda)-2*lambda/pi,c=2*phi/pi,d=(1-c*c)/(sinPhi-c);var b2=b*b,d2=d*d,b2d2=1+b2/d2,d2b2=1+d2/b2;var M=(b*sinPhi/d-b/2)/b2d2,N=(d2*sinPhi/b2+d/2)/d2b2,m=M*M+q*q/b2d2,n=N*N-(d2*sinPhi*sinPhi/b2+d*sinPhi-1)/d2b2;return[halfPi*(M+sqrt(m)*s),halfPi*(N+sqrt(n<0?0:n)*sign(-phi*b)*s)]}nicolosiRaw.invert=function(x,y){x/=halfPi;y/=halfPi;var x2=x*x,y2=y*y,x2y2=x2+y2,pi2=pi*pi;return[x?(x2y2-1+sqrt((1-x2y2)*(1-x2y2)+4*x2))/(2*x)*halfPi:0,solve((function(phi){return x2y2*(pi*sin(phi)-2*phi)*pi+4*phi*phi*(y-sin(phi))+2*pi*phi-pi2*y}),0)]};function nicolosi(){return d3Geo.geoProjection(nicolosiRaw).scale(127.267)}var pattersonK1=1.0148,pattersonK2=.23185,pattersonK3=-.14499,pattersonK4=.02406,pattersonC1=pattersonK1,pattersonC2=5*pattersonK2,pattersonC3=7*pattersonK3,pattersonC4=9*pattersonK4,pattersonYmax=1.790857183;function pattersonRaw(lambda,phi){var phi2=phi*phi;return[lambda,phi*(pattersonK1+phi2*phi2*(pattersonK2+phi2*(pattersonK3+pattersonK4*phi2)))]}pattersonRaw.invert=function(x,y){if(y>pattersonYmax)y=pattersonYmax;else if(y<-pattersonYmax)y=-pattersonYmax;var yc=y,delta;do{var y2=yc*yc;yc-=delta=(yc*(pattersonK1+y2*y2*(pattersonK2+y2*(pattersonK3+pattersonK4*y2)))-y)/(pattersonC1+y2*y2*(pattersonC2+y2*(pattersonC3+pattersonC4*y2)))}while(abs(delta)>epsilon);return[x,yc]};function patterson(){return d3Geo.geoProjection(pattersonRaw).scale(139.319)}function polyconicRaw(lambda,phi){if(abs(phi)<epsilon)return[lambda,0];var tanPhi=tan(phi),k=lambda*sin(phi);return[sin(k)/tanPhi,phi+(1-cos(k))/tanPhi]}polyconicRaw.invert=function(x,y){if(abs(y)<epsilon)return[x,0];var k=x*x+y*y,phi=y*.5,i=10,delta;do{var tanPhi=tan(phi),secPhi=1/cos(phi),j=k-2*y*phi+phi*phi;phi-=delta=(tanPhi*j+2*(phi-y))/(2+j*secPhi*secPhi+2*(phi-y)*tanPhi)}while(abs(delta)>epsilon&&--i>0);tanPhi=tan(phi);return[(abs(y)<abs(phi+1/tanPhi)?asin(x*tanPhi):sign(y)*sign(x)*(acos(abs(x*tanPhi))+halfPi))/sin(phi),phi]};function polyconic(){return d3Geo.geoProjection(polyconicRaw).scale(103.74)}function matrix(a,b){var u=subtract(a[1],a[0]),v=subtract(b[1],b[0]),phi=angle$1(u,v),s=length(u)/length(v);return multiply([1,0,a[0][0],0,1,a[0][1]],multiply([s,0,0,0,s,0],multiply([cos(phi),sin(phi),0,-sin(phi),cos(phi),0],[1,0,-b[0][0],0,1,-b[0][1]])))}function inverse(m){var k=1/(m[0]*m[4]-m[1]*m[3]);return[k*m[4],-k*m[1],k*(m[1]*m[5]-m[2]*m[4]),-k*m[3],k*m[0],k*(m[2]*m[3]-m[0]*m[5])]}function multiply(a,b){return[a[0]*b[0]+a[1]*b[3],a[0]*b[1]+a[1]*b[4],a[0]*b[2]+a[1]*b[5]+a[2],a[3]*b[0]+a[4]*b[3],a[3]*b[1]+a[4]*b[4],a[3]*b[2]+a[4]*b[5]+a[5]]}function subtract(a,b){return[a[0]-b[0],a[1]-b[1]]}function length(v){return sqrt(v[0]*v[0]+v[1]*v[1])}function angle$1(a,b){return atan2(a[0]*b[1]-a[1]*b[0],a[0]*b[0]+a[1]*b[1])}function polyhedral(root,face,r){recurse(root,{transform:null});function recurse(node,parent){node.edges=faceEdges(node.face);if(parent.face){var shared=node.shared=sharedEdge(node.face,parent.face),m=matrix(shared.map(parent.project),shared.map(node.project));node.transform=parent.transform?multiply(parent.transform,m):m;var edges=parent.edges;for(var i=0,n=edges.length;i<n;++i){if(pointEqual$1(shared[0],edges[i][1])&&pointEqual$1(shared[1],edges[i][0]))edges[i]=node;if(pointEqual$1(shared[0],edges[i][0])&&pointEqual$1(shared[1],edges[i][1]))edges[i]=node}edges=node.edges;for(i=0,n=edges.length;i<n;++i){if(pointEqual$1(shared[0],edges[i][0])&&pointEqual$1(shared[1],edges[i][1]))edges[i]=parent;if(pointEqual$1(shared[0],edges[i][1])&&pointEqual$1(shared[1],edges[i][0]))edges[i]=parent}}else{node.transform=parent.transform}if(node.children){node.children.forEach((function(child){recurse(child,node)}))}return node}function forward(lambda,phi){var node=face(lambda,phi),point=node.project([lambda*degrees,phi*degrees]),t;if(t=node.transform){return[t[0]*point[0]+t[1]*point[1]+t[2],-(t[3]*point[0]+t[4]*point[1]+t[5])]}point[1]=-point[1];return point}if(hasInverse(root))forward.invert=function(x,y){var coordinates=faceInvert(root,[x,-y]);return coordinates&&(coordinates[0]*=radians,coordinates[1]*=radians,coordinates)};function faceInvert(node,coordinates){var invert=node.project.invert,t=node.transform,point=coordinates;if(t){t=inverse(t);point=[t[0]*point[0]+t[1]*point[1]+t[2],t[3]*point[0]+t[4]*point[1]+t[5]]}if(invert&&node===faceDegrees(p=invert(point)))return p;var p,children=node.children;for(var i=0,n=children&&children.length;i<n;++i){if(p=faceInvert(children[i],coordinates))return p}}function faceDegrees(coordinates){return face(coordinates[0]*radians,coordinates[1]*radians)}var proj=d3Geo.geoProjection(forward),stream_=proj.stream;proj.stream=function(stream){var rotate=proj.rotate(),rotateStream=stream_(stream),sphereStream=(proj.rotate([0,0]),stream_(stream));proj.rotate(rotate);rotateStream.sphere=function(){sphereStream.polygonStart();sphereStream.lineStart();outline(sphereStream,root);sphereStream.lineEnd();sphereStream.polygonEnd()};return rotateStream};return proj.angle(r==null?-30:r*degrees)}function outline(stream,node,parent){var point,edges=node.edges,n=edges.length,edge,multiPoint={type:"MultiPoint",coordinates:node.face},notPoles=node.face.filter((function(d){return abs(d[1])!==90})),b=d3Geo.geoBounds({type:"MultiPoint",coordinates:notPoles}),inside=false,j=-1,dx=b[1][0]-b[0][0];var c=dx===180||dx===360?[(b[0][0]+b[1][0])/2,(b[0][1]+b[1][1])/2]:d3Geo.geoCentroid(multiPoint);if(parent)while(++j<n){if(edges[j]===parent)break}++j;for(var i=0;i<n;++i){edge=edges[(i+j)%n];if(Array.isArray(edge)){if(!inside){stream.point((point=d3Geo.geoInterpolate(edge[0],c)(epsilon))[0],point[1]);inside=true}stream.point((point=d3Geo.geoInterpolate(edge[1],c)(epsilon))[0],point[1])}else{inside=false;if(edge!==parent)outline(stream,edge,node)}}}function pointEqual$1(a,b){return a&&b&&a[0]===b[0]&&a[1]===b[1]}function sharedEdge(a,b){var x,y,n=a.length,found=null;for(var i=0;i<n;++i){x=a[i];for(var j=b.length;--j>=0;){y=b[j];if(x[0]===y[0]&&x[1]===y[1]){if(found)return[found,x];found=x}}}}function faceEdges(face){var n=face.length,edges=[];for(var a=face[n-1],i=0;i<n;++i)edges.push([a,a=face[i]]);return edges}function hasInverse(node){return node.project.invert||node.children&&node.children.some(hasInverse)}var octahedron=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]];var octahedron$1=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map((function(face){return face.map((function(i){return octahedron[i]}))}));function butterfly(faceProjection){faceProjection=faceProjection||function(face){var c=d3Geo.geoCentroid({type:"MultiPoint",coordinates:face});return d3Geo.geoGnomonic().scale(1).translate([0,0]).rotate([-c[0],-c[1]])};var faces=octahedron$1.map((function(face){return{face:face,project:faceProjection(face)}}));[-1,0,0,1,0,1,4,5].forEach((function(d,i){var node=faces[d];node&&(node.children||(node.children=[])).push(faces[i])}));return polyhedral(faces[0],(function(lambda,phi){return faces[lambda<-pi/2?phi<0?6:4:lambda<0?phi<0?2:0:lambda<pi/2?phi<0?3:1:phi<0?7:5]})).angle(-30).scale(101.858).center([0,45])}var kx=2/sqrt(3);function collignonK(a,b){var p=collignonRaw(a,b);return[p[0]*kx,p[1]]}collignonK.invert=function(x,y){return collignonRaw.invert(x/kx,y)};function collignon$1(faceProjection){faceProjection=faceProjection||function(face){var c=d3Geo.geoCentroid({type:"MultiPoint",coordinates:face});return d3Geo.geoProjection(collignonK).translate([0,0]).scale(1).rotate(c[1]>0?[-c[0],0]:[180-c[0],180])};var faces=octahedron$1.map((function(face){return{face:face,project:faceProjection(face)}}));[-1,0,0,1,0,1,4,5].forEach((function(d,i){var node=faces[d];node&&(node.children||(node.children=[])).push(faces[i])}));return polyhedral(faces[0],(function(lambda,phi){return faces[lambda<-pi/2?phi<0?6:4:lambda<0?phi<0?2:0:lambda<pi/2?phi<0?3:1:phi<0?7:5]})).angle(-30).scale(121.906).center([0,48.5904])}function waterman(faceProjection){faceProjection=faceProjection||function(face){var c=face.length===6?d3Geo.geoCentroid({type:"MultiPoint",coordinates:face}):face[0];return d3Geo.geoGnomonic().scale(1).translate([0,0]).rotate([-c[0],-c[1]])};var w5=octahedron$1.map((function(face){var xyz=face.map(cartesian),n=xyz.length,a=xyz[n-1],b,hexagon=[];for(var i=0;i<n;++i){b=xyz[i];hexagon.push(spherical([a[0]*.9486832980505138+b[0]*.31622776601683794,a[1]*.9486832980505138+b[1]*.31622776601683794,a[2]*.9486832980505138+b[2]*.31622776601683794]),spherical([b[0]*.9486832980505138+a[0]*.31622776601683794,b[1]*.9486832980505138+a[1]*.31622776601683794,b[2]*.9486832980505138+a[2]*.31622776601683794]));a=b}return hexagon}));var cornerNormals=[];var parents=[-1,0,0,1,0,1,4,5];w5.forEach((function(hexagon,j){var face=octahedron$1[j],n=face.length,normals=cornerNormals[j]=[];for(var i=0;i<n;++i){w5.push([face[i],hexagon[(i*2+2)%(2*n)],hexagon[(i*2+1)%(2*n)]]);parents.push(j);normals.push(cross(cartesian(hexagon[(i*2+2)%(2*n)]),cartesian(hexagon[(i*2+1)%(2*n)])))}}));var faces=w5.map((function(face){return{project:faceProjection(face),face:face}}));parents.forEach((function(d,i){var parent=faces[d];parent&&(parent.children||(parent.children=[])).push(faces[i])}));function face(lambda,phi){var cosphi=cos(phi),p=[cosphi*cos(lambda),cosphi*sin(lambda),sin(phi)];var hexagon=lambda<-pi/2?phi<0?6:4:lambda<0?phi<0?2:0:lambda<pi/2?phi<0?3:1:phi<0?7:5;var n=cornerNormals[hexagon];return faces[dot(n[0],p)<0?8+3*hexagon:dot(n[1],p)<0?8+3*hexagon+1:dot(n[2],p)<0?8+3*hexagon+2:hexagon]}return polyhedral(faces[0],face).angle(-30).scale(110.625).center([0,45])}function dot(a,b){for(var i=0,n=a.length,s=0;i<n;++i)s+=a[i]*b[i];return s}function cross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function spherical(cartesian){return[atan2(cartesian[1],cartesian[0])*degrees,asin(max(-1,min(1,cartesian[2])))*degrees]}function cartesian(coordinates){var lambda=coordinates[0]*radians,phi=coordinates[1]*radians,cosphi=cos(phi);return[cosphi*cos(lambda),cosphi*sin(lambda),sin(phi)]}function noop(){}function clockwise(ring){if((n=ring.length)<4)return false;var i=0,n,area=ring[n-1][1]*ring[0][0]-ring[n-1][0]*ring[0][1];while(++i<n)area+=ring[i-1][1]*ring[i][0]-ring[i-1][0]*ring[i][1];return area<=0}function contains(ring,point){var x=point[0],y=point[1],contains=false;for(var i=0,n=ring.length,j=n-1;i<n;j=i++){var pi=ring[i],xi=pi[0],yi=pi[1],pj=ring[j],xj=pj[0],yj=pj[1];if(yi>y^yj>y&&x<(xj-xi)*(y-yi)/(yj-yi)+xi)contains=!contains}return contains}function index(object,projection){var stream=projection.stream,project;if(!stream)throw new Error("invalid projection");switch(object&&object.type){case"Feature":project=projectFeature;break;case"FeatureCollection":project=projectFeatureCollection;break;default:project=projectGeometry;break}return project(object,stream)}function projectFeatureCollection(o,stream){return{type:"FeatureCollection",features:o.features.map((function(f){return projectFeature(f,stream)}))}}function projectFeature(o,stream){return{type:"Feature",id:o.id,properties:o.properties,geometry:projectGeometry(o.geometry,stream)}}function projectGeometryCollection(o,stream){return{type:"GeometryCollection",geometries:o.geometries.map((function(o){return projectGeometry(o,stream)}))}}function projectGeometry(o,stream){if(!o)return null;if(o.type==="GeometryCollection")return projectGeometryCollection(o,stream);var sink;switch(o.type){case"Point":sink=sinkPoint;break;case"MultiPoint":sink=sinkPoint;break;case"LineString":sink=sinkLine;break;case"MultiLineString":sink=sinkLine;break;case"Polygon":sink=sinkPolygon;break;case"MultiPolygon":sink=sinkPolygon;break;case"Sphere":sink=sinkPolygon;break;default:return null}d3Geo.geoStream(o,stream(sink));return sink.result()}var points=[],lines=[];var sinkPoint={point:function(x,y){points.push([x,y])},result:function(){var result=!points.length?null:points.length<2?{type:"Point",coordinates:points[0]}:{type:"MultiPoint",coordinates:points};points=[];return result}};var sinkLine={lineStart:noop,point:function(x,y){points.push([x,y])},lineEnd:function(){if(points.length)lines.push(points),points=[]},result:function(){var result=!lines.length?null:lines.length<2?{type:"LineString",coordinates:lines[0]}:{type:"MultiLineString",coordinates:lines};lines=[];return result}};var sinkPolygon={polygonStart:noop,lineStart:noop,point:function(x,y){points.push([x,y])},lineEnd:function(){var n=points.length;if(n){do{points.push(points[0].slice())}while(++n<4);lines.push(points),points=[]}},polygonEnd:noop,result:function(){if(!lines.length)return null;var polygons=[],holes=[];lines.forEach((function(ring){if(clockwise(ring))polygons.push([ring]);else holes.push(ring)}));holes.forEach((function(hole){var point=hole[0];polygons.some((function(polygon){if(contains(polygon[0],point)){polygon.push(hole);return true}}))||polygons.push([hole])}));lines=[];return!polygons.length?null:polygons.length>1?{type:"MultiPolygon",coordinates:polygons}:{type:"Polygon",coordinates:polygons[0]}}};function quincuncial(project){var dx=project(halfPi,0)[0]-project(-halfPi,0)[0];function projectQuincuncial(lambda,phi){var t=abs(lambda)<halfPi,p=project(t?lambda:lambda>0?lambda-pi:lambda+pi,phi),x=(p[0]-p[1])*sqrt1_2,y=(p[0]+p[1])*sqrt1_2;if(t)return[x,y];var d=dx*sqrt1_2,s=x>0^y>0?-1:1;return[s*x-sign(y)*d,s*y-sign(x)*d]}if(project.invert)projectQuincuncial.invert=function(x0,y0){var x=(x0+y0)*sqrt1_2,y=(y0-x0)*sqrt1_2,t=abs(x)<.5*dx&&abs(y)<.5*dx;if(!t){var d=dx*sqrt1_2,s=x>0^y>0?-1:1,x1=-s*x0+(y>0?1:-1)*d,y1=-s*y0+(x>0?1:-1)*d;x=(-x1-y1)*sqrt1_2;y=(x1-y1)*sqrt1_2}var p=project.invert(x,y);if(!t)p[0]+=x>0?pi:-pi;return p};return d3Geo.geoProjection(projectQuincuncial).rotate([-90,-90,45]).clipAngle(180-.001)}function gringorten$1(){return quincuncial(gringortenRaw).scale(176.423)}function peirce(){return quincuncial(guyouRaw).scale(111.48)}function quantize(input,digits){if(!(0<=(digits=+digits)&&digits<=20))throw new Error("invalid digits");function quantizePoint(input){var n=input.length,i=2,output=new Array(n);output[0]=+input[0].toFixed(digits);output[1]=+input[1].toFixed(digits);while(i<n)output[i]=input[i],++i;return output}function quantizePoints(input){return input.map(quantizePoint)}function quantizePointsNoDuplicates(input){var point0=quantizePoint(input[0]);var output=[point0];for(var i=1;i<input.length;i++){var point=quantizePoint(input[i]);if(point.length>2||point[0]!=point0[0]||point[1]!=point0[1]){output.push(point);point0=point}}if(output.length===1&&input.length>1){output.push(quantizePoint(input[input.length-1]))}return output}function quantizePolygon(input){return input.map(quantizePointsNoDuplicates)}function quantizeGeometry(input){if(input==null)return input;var output;switch(input.type){case"GeometryCollection":output={type:"GeometryCollection",geometries:input.geometries.map(quantizeGeometry)};break;case"Point":output={type:"Point",coordinates:quantizePoint(input.coordinates)};break;case"MultiPoint":output={type:input.type,coordinates:quantizePoints(input.coordinates)};break;case"LineString":output={type:input.type,coordinates:quantizePointsNoDuplicates(input.coordinates)};break;case"MultiLineString":case"Polygon":output={type:input.type,coordinates:quantizePolygon(input.coordinates)};break;case"MultiPolygon":output={type:"MultiPolygon",coordinates:input.coordinates.map(quantizePolygon)};break;default:return input}if(input.bbox!=null)output.bbox=input.bbox;return output}function quantizeFeature(input){var output={type:"Feature",properties:input.properties,geometry:quantizeGeometry(input.geometry)};if(input.id!=null)output.id=input.id;if(input.bbox!=null)output.bbox=input.bbox;return output}if(input!=null)switch(input.type){case"Feature":return quantizeFeature(input);case"FeatureCollection":{var output={type:"FeatureCollection",features:input.features.map(quantizeFeature)};if(input.bbox!=null)output.bbox=input.bbox;return output}default:return quantizeGeometry(input)}return input}function rectangularPolyconicRaw(phi0){var sinPhi0=sin(phi0);function forward(lambda,phi){var A=sinPhi0?tan(lambda*sinPhi0/2)/sinPhi0:lambda/2;if(!phi)return[2*A,-phi0];var E=2*atan(A*sin(phi)),cotPhi=1/tan(phi);return[sin(E)*cotPhi,phi+(1-cos(E))*cotPhi-phi0]}forward.invert=function(x,y){if(abs(y+=phi0)<epsilon)return[sinPhi0?2*atan(sinPhi0*x/2)/sinPhi0:x,0];var k=x*x+y*y,phi=0,i=10,delta;do{var tanPhi=tan(phi),secPhi=1/cos(phi),j=k-2*y*phi+phi*phi;phi-=delta=(tanPhi*j+2*(phi-y))/(2+j*secPhi*secPhi+2*(phi-y)*tanPhi)}while(abs(delta)>epsilon&&--i>0);var E=x*(tanPhi=tan(phi)),A=tan(abs(y)<abs(phi+1/tanPhi)?asin(E)*.5:acos(E)*.5+pi/4)/sin(phi);return[sinPhi0?2*atan(sinPhi0*A)/sinPhi0:2*A,phi]};return forward}function rectangularPolyconic(){return parallel1(rectangularPolyconicRaw).scale(131.215)}var K$1=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];K$1.forEach((function(d){d[1]*=1.0144}));function robinsonRaw(lambda,phi){var i=min(18,abs(phi)*36/pi),i0=floor(i),di=i-i0,ax=(k=K$1[i0])[0],ay=k[1],bx=(k=K$1[++i0])[0],by=k[1],cx=(k=K$1[min(19,++i0)])[0],cy=k[1],k;return[lambda*(bx+di*(cx-ax)/2+di*di*(cx-2*bx+ax)/2),(phi>0?halfPi:-halfPi)*(by+di*(cy-ay)/2+di*di*(cy-2*by+ay)/2)]}robinsonRaw.invert=function(x,y){var yy=y/halfPi,phi=yy*90,i=min(18,abs(phi/5)),i0=max(0,floor(i));do{var ay=K$1[i0][1],by=K$1[i0+1][1],cy=K$1[min(19,i0+2)][1],u=cy-ay,v=cy-2*by+ay,t=2*(abs(yy)-by)/u,c=v/u,di=t*(1-c*t*(1-2*c*t));if(di>=0||i0===1){phi=(y>=0?5:-5)*(di+i);var j=50,delta;do{i=min(18,abs(phi)/5);i0=floor(i);di=i-i0;ay=K$1[i0][1];by=K$1[i0+1][1];cy=K$1[min(19,i0+2)][1];phi-=(delta=(y>=0?halfPi:-halfPi)*(by+di*(cy-ay)/2+di*di*(cy-2*by+ay)/2)-y)*degrees}while(abs(delta)>epsilon2&&--j>0);break}}while(--i0>=0);var ax=K$1[i0][0],bx=K$1[i0+1][0],cx=K$1[min(19,i0+2)][0];return[x/(bx+di*(cx-ax)/2+di*di*(cx-2*bx+ax)/2),phi*radians]};function robinson(){return d3Geo.geoProjection(robinsonRaw).scale(152.63)}function satelliteVerticalRaw(P){function forward(lambda,phi){var cosPhi=cos(phi),k=(P-1)/(P-cosPhi*cos(lambda));return[k*cosPhi*sin(lambda),k*sin(phi)]}forward.invert=function(x,y){var rho2=x*x+y*y,rho=sqrt(rho2),sinc=(P-sqrt(1-rho2*(P+1)/(P-1)))/((P-1)/rho+rho/(P-1));return[atan2(x*sinc,rho*sqrt(1-sinc*sinc)),rho?asin(y*sinc/rho):0]};return forward}function satelliteRaw(P,omega){var vertical=satelliteVerticalRaw(P);if(!omega)return vertical;var cosOmega=cos(omega),sinOmega=sin(omega);function forward(lambda,phi){var coordinates=vertical(lambda,phi),y=coordinates[1],A=y*sinOmega/(P-1)+cosOmega;return[coordinates[0]*cosOmega/A,y/A]}forward.invert=function(x,y){var k=(P-1)/(P-1-y*sinOmega);return vertical.invert(k*x,k*y*cosOmega)};return forward}function satellite(){var distance=2,omega=0,m=d3Geo.geoProjectionMutator(satelliteRaw),p=m(distance,omega);p.distance=function(_){if(!arguments.length)return distance;return m(distance=+_,omega)};p.tilt=function(_){if(!arguments.length)return omega*degrees;return m(distance,omega=_*radians)};return p.scale(432.147).clipAngle(acos(1/distance)*degrees-1e-6)}var epsilon$1=1e-4,epsilonInverse=1e4,x0=-180,x0e=x0+epsilon$1,x1=180,x1e=x1-epsilon$1,y0=-90,y0e=y0+epsilon$1,y1=90,y1e=y1-epsilon$1;function nonempty(coordinates){return coordinates.length>0}function quantize$1(x){return Math.floor(x*epsilonInverse)/epsilonInverse}function normalizePoint(y){return y===y0||y===y1?[0,y]:[x0,quantize$1(y)]}function clampPoint(p){var x=p[0],y=p[1],clamped=false;if(x<=x0e)x=x0,clamped=true;else if(x>=x1e)x=x1,clamped=true;if(y<=y0e)y=y0,clamped=true;else if(y>=y1e)y=y1,clamped=true;return clamped?[x,y]:p}function clampPoints(points){return points.map(clampPoint)}function extractFragments(rings,polygon,fragments){for(var j=0,m=rings.length;j<m;++j){var ring=rings[j].slice();fragments.push({index:-1,polygon:polygon,ring:ring});for(var i=0,n=ring.length;i<n;++i){var point=ring[i],x=point[0],y=point[1];if(x<=x0e||x>=x1e||y<=y0e||y>=y1e){ring[i]=clampPoint(point);for(var k=i+1;k<n;++k){var pointk=ring[k],xk=pointk[0],yk=pointk[1];if(xk>x0e&&xk<x1e&&yk>y0e&&yk<y1e)break}if(k===i+1)continue;if(i){var fragmentBefore={index:-1,polygon:polygon,ring:ring.slice(0,i+1)};fragmentBefore.ring[fragmentBefore.ring.length-1]=normalizePoint(y);fragments[fragments.length-1]=fragmentBefore}else fragments.pop();if(k>=n)break;fragments.push({index:-1,polygon:polygon,ring:ring=ring.slice(k-1)});ring[0]=normalizePoint(ring[0][1]);i=-1;n=ring.length}}}}function stitchFragments(fragments){var i,n=fragments.length;var fragmentByStart={},fragmentByEnd={},fragment,start,startFragment,end,endFragment;for(i=0;i<n;++i){fragment=fragments[i];start=fragment.ring[0];end=fragment.ring[fragment.ring.length-1];if(start[0]===end[0]&&start[1]===end[1]){fragment.polygon.push(fragment.ring);fragments[i]=null;continue}fragment.index=i;fragmentByStart[start]=fragmentByEnd[end]=fragment}for(i=0;i<n;++i){fragment=fragments[i];if(fragment){start=fragment.ring[0];end=fragment.ring[fragment.ring.length-1];startFragment=fragmentByEnd[start];endFragment=fragmentByStart[end];delete fragmentByStart[start];delete fragmentByEnd[end];if(start[0]===end[0]&&start[1]===end[1]){fragment.polygon.push(fragment.ring);continue}if(startFragment){delete fragmentByEnd[start];delete fragmentByStart[startFragment.ring[0]];startFragment.ring.pop();fragments[startFragment.index]=null;fragment={index:-1,polygon:startFragment.polygon,ring:startFragment.ring.concat(fragment.ring)};if(startFragment===endFragment){fragment.polygon.push(fragment.ring)}else{fragment.index=n++;fragments.push(fragmentByStart[fragment.ring[0]]=fragmentByEnd[fragment.ring[fragment.ring.length-1]]=fragment)}}else if(endFragment){delete fragmentByStart[end];delete fragmentByEnd[endFragment.ring[endFragment.ring.length-1]];fragment.ring.pop();fragment={index:n++,polygon:endFragment.polygon,ring:fragment.ring.concat(endFragment.ring)};fragments[endFragment.index]=null;fragments.push(fragmentByStart[fragment.ring[0]]=fragmentByEnd[fragment.ring[fragment.ring.length-1]]=fragment)}else{fragment.ring.push(fragment.ring[0]);fragment.polygon.push(fragment.ring)}}}}function stitchFeature(input){var output={type:"Feature",geometry:stitchGeometry(input.geometry)};if(input.id!=null)output.id=input.id;if(input.bbox!=null)output.bbox=input.bbox;if(input.properties!=null)output.properties=input.properties;return output}function stitchGeometry(input){if(input==null)return input;var output,fragments,i,n;switch(input.type){case"GeometryCollection":output={type:"GeometryCollection",geometries:input.geometries.map(stitchGeometry)};break;case"Point":output={type:"Point",coordinates:clampPoint(input.coordinates)};break;case"MultiPoint":case"LineString":output={type:input.type,coordinates:clampPoints(input.coordinates)};break;case"MultiLineString":output={type:"MultiLineString",coordinates:input.coordinates.map(clampPoints)};break;case"Polygon":{var polygon=[];extractFragments(input.coordinates,polygon,fragments=[]);stitchFragments(fragments);output={type:"Polygon",coordinates:polygon};break}case"MultiPolygon":{fragments=[],i=-1,n=input.coordinates.length;var polygons=new Array(n);while(++i<n)extractFragments(input.coordinates[i],polygons[i]=[],fragments);stitchFragments(fragments);output={type:"MultiPolygon",coordinates:polygons.filter(nonempty)};break}default:return input}if(input.bbox!=null)output.bbox=input.bbox;return output}function stitch(input){if(input==null)return input;switch(input.type){case"Feature":return stitchFeature(input);case"FeatureCollection":{var output={type:"FeatureCollection",features:input.features.map(stitchFeature)};if(input.bbox!=null)output.bbox=input.bbox;return output}default:return stitchGeometry(input)}}function timesRaw(lambda,phi){var t=tan(phi/2),s=sin(quarterPi*t);return[lambda*(.74482-.34588*s*s),1.70711*t]}timesRaw.invert=function(x,y){var t=y/1.70711,s=sin(quarterPi*t);return[x/(.74482-.34588*s*s),2*atan(t)]};function times(){return d3Geo.geoProjection(timesRaw).scale(146.153)}function twoPoint(raw,p0,p1){var i=d3Geo.geoInterpolate(p0,p1),o=i(.5),a=d3Geo.geoRotation([-o[0],-o[1]])(p0),b=i.distance/2,y=-asin(sin(a[1]*radians)/sin(b)),R=[-o[0],-o[1],-(a[0]>0?pi-y:y)*degrees],p=d3Geo.geoProjection(raw(b)).rotate(R),r=d3Geo.geoRotation(R),center=p.center;delete p.rotate;p.center=function(_){return arguments.length?center(r(_)):r.invert(center())};return p.clipAngle(90)}function twoPointAzimuthalRaw(d){var cosd=cos(d);function forward(lambda,phi){var coordinates=d3Geo.geoGnomonicRaw(lambda,phi);coordinates[0]*=cosd;return coordinates}forward.invert=function(x,y){return d3Geo.geoGnomonicRaw.invert(x/cosd,y)};return forward}function twoPointAzimuthalUsa(){return twoPointAzimuthal([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function twoPointAzimuthal(p0,p1){return twoPoint(twoPointAzimuthalRaw,p0,p1)}function twoPointEquidistantRaw(z0){if(!(z0*=2))return d3Geo.geoAzimuthalEquidistantRaw;var lambdaa=-z0/2,lambdab=-lambdaa,z02=z0*z0,tanLambda0=tan(lambdab),S=.5/sin(lambdab);function forward(lambda,phi){var za=acos(cos(phi)*cos(lambda-lambdaa)),zb=acos(cos(phi)*cos(lambda-lambdab)),ys=phi<0?-1:1;za*=za,zb*=zb;return[(za-zb)/(2*z0),ys*sqrt(4*z02*zb-(z02-za+zb)*(z02-za+zb))/(2*z0)]}forward.invert=function(x,y){var y2=y*y,cosza=cos(sqrt(y2+(t=x+lambdaa)*t)),coszb=cos(sqrt(y2+(t=x+lambdab)*t)),t,d;return[atan2(d=cosza-coszb,t=(cosza+coszb)*tanLambda0),(y<0?-1:1)*acos(sqrt(t*t+d*d)*S)]};return forward}function twoPointEquidistantUsa(){return twoPointEquidistant([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function twoPointEquidistant(p0,p1){return twoPoint(twoPointEquidistantRaw,p0,p1)}function vanDerGrintenRaw(lambda,phi){if(abs(phi)<epsilon)return[lambda,0];var sinTheta=abs(phi/halfPi),theta=asin(sinTheta);if(abs(lambda)<epsilon||abs(abs(phi)-halfPi)<epsilon)return[0,sign(phi)*pi*tan(theta/2)];var cosTheta=cos(theta),A=abs(pi/lambda-lambda/pi)/2,A2=A*A,G=cosTheta/(sinTheta+cosTheta-1),P=G*(2/sinTheta-1),P2=P*P,P2_A2=P2+A2,G_P2=G-P2,Q=A2+G;return[sign(lambda)*pi*(A*G_P2+sqrt(A2*G_P2*G_P2-P2_A2*(G*G-P2)))/P2_A2,sign(phi)*pi*(P*Q-A*sqrt((A2+1)*P2_A2-Q*Q))/P2_A2]}vanDerGrintenRaw.invert=function(x,y){if(abs(y)<epsilon)return[x,0];if(abs(x)<epsilon)return[0,halfPi*sin(2*atan(y/pi))];var x2=(x/=pi)*x,y2=(y/=pi)*y,x2_y2=x2+y2,z=x2_y2*x2_y2,c1=-abs(y)*(1+x2_y2),c2=c1-2*y2+x2,c3=-2*c1+1+2*y2+z,d=y2/c3+(2*c2*c2*c2/(c3*c3*c3)-9*c1*c2/(c3*c3))/27,a1=(c1-c2*c2/(3*c3))/c3,m1=2*sqrt(-a1/3),theta1=acos(3*d/(a1*m1))/3;return[pi*(x2_y2-1+sqrt(1+2*(x2-y2)+z))/(2*x),sign(y)*pi*(-m1*cos(theta1+pi/3)-c2/(3*c3))]};function vanDerGrinten(){return d3Geo.geoProjection(vanDerGrintenRaw).scale(79.4183)}function vanDerGrinten2Raw(lambda,phi){if(abs(phi)<epsilon)return[lambda,0];var sinTheta=abs(phi/halfPi),theta=asin(sinTheta);if(abs(lambda)<epsilon||abs(abs(phi)-halfPi)<epsilon)return[0,sign(phi)*pi*tan(theta/2)];var cosTheta=cos(theta),A=abs(pi/lambda-lambda/pi)/2,A2=A*A,x1=cosTheta*(sqrt(1+A2)-A*cosTheta)/(1+A2*sinTheta*sinTheta);return[sign(lambda)*pi*x1,sign(phi)*pi*sqrt(1-x1*(2*A+x1))]}vanDerGrinten2Raw.invert=function(x,y){if(!x)return[0,halfPi*sin(2*atan(y/pi))];var x1=abs(x/pi),A=(1-x1*x1-(y/=pi)*y)/(2*x1),A2=A*A,B=sqrt(A2+1);return[sign(x)*pi*(B-A),sign(y)*halfPi*sin(2*atan2(sqrt((1-2*A*x1)*(A+B)-x1),sqrt(B+A+x1)))]};function vanDerGrinten2(){return d3Geo.geoProjection(vanDerGrinten2Raw).scale(79.4183)}function vanDerGrinten3Raw(lambda,phi){if(abs(phi)<epsilon)return[lambda,0];var sinTheta=phi/halfPi,theta=asin(sinTheta);if(abs(lambda)<epsilon||abs(abs(phi)-halfPi)<epsilon)return[0,pi*tan(theta/2)];var A=(pi/lambda-lambda/pi)/2,y1=sinTheta/(1+cos(theta));return[pi*(sign(lambda)*sqrt(A*A+1-y1*y1)-A),pi*y1]}vanDerGrinten3Raw.invert=function(x,y){if(!y)return[x,0];var y1=y/pi,A=(pi*pi*(1-y1*y1)-x*x)/(2*pi*x);return[x?pi*(sign(x)*sqrt(A*A+1)-A):0,halfPi*sin(2*atan(y1))]};function vanDerGrinten3(){return d3Geo.geoProjection(vanDerGrinten3Raw).scale(79.4183)}function vanDerGrinten4Raw(lambda,phi){if(!phi)return[lambda,0];var phi0=abs(phi);if(!lambda||phi0===halfPi)return[0,phi];var B=phi0/halfPi,B2=B*B,C=(8*B-B2*(B2+2)-5)/(2*B2*(B-1)),C2=C*C,BC=B*C,B_C2=B2+C2+2*BC,B_3C=B+3*C,lambda0=lambda/halfPi,lambda1=lambda0+1/lambda0,D=sign(abs(lambda)-halfPi)*sqrt(lambda1*lambda1-4),D2=D*D,F=B_C2*(B2+C2*D2-1)+(1-B2)*(B2*(B_3C*B_3C+4*C2)+12*BC*C2+4*C2*C2),x1=(D*(B_C2+C2-1)+2*sqrt(F))/(4*B_C2+D2);return[sign(lambda)*halfPi*x1,sign(phi)*halfPi*sqrt(1+D*abs(x1)-x1*x1)]}vanDerGrinten4Raw.invert=function(x,y){var delta;if(!x||!y)return[x,y];y/=pi;var x1=sign(x)*x/halfPi,D=(x1*x1-1+4*y*y)/abs(x1),D2=D*D,B=2*y,i=50;do{var B2=B*B,C=(8*B-B2*(B2+2)-5)/(2*B2*(B-1)),C_=(3*B-B2*B-10)/(2*B2*B),C2=C*C,BC=B*C,B_C=B+C,B_C2=B_C*B_C,B_3C=B+3*C,F=B_C2*(B2+C2*D2-1)+(1-B2)*(B2*(B_3C*B_3C+4*C2)+C2*(12*BC+4*C2)),F_=-2*B_C*(4*BC*C2+(1-4*B2+3*B2*B2)*(1+C_)+C2*(-6+14*B2-D2+(-8+8*B2-2*D2)*C_)+BC*(-8+12*B2+(-10+10*B2-D2)*C_)),sqrtF=sqrt(F),f=D*(B_C2+C2-1)+2*sqrtF-x1*(4*B_C2+D2),f_=D*(2*C*C_+2*B_C*(1+C_))+F_/sqrtF-8*B_C*(D*(-1+C2+B_C2)+2*sqrtF)*(1+C_)/(D2+4*B_C2);B-=delta=f/f_}while(delta>epsilon&&--i>0);return[sign(x)*(sqrt(D*D+4)+D)*pi/4,halfPi*B]};function vanDerGrinten4(){return d3Geo.geoProjection(vanDerGrinten4Raw).scale(127.16)}function wagnerFormula(cx,cy,m1,m2,n){function forward(lambda,phi){var s=m1*sin(m2*phi),c0=sqrt(1-s*s),c1=sqrt(2/(1+c0*cos(lambda*=n)));return[cx*c0*c1*sin(lambda),cy*s*c1]}forward.invert=function(x,y){var t1=x/cx,t2=y/cy,p=sqrt(t1*t1+t2*t2),c=2*asin(p/2);return[atan2(x*tan(c),cx*p)/n,p&&asin(y*sin(c)/(cy*m1*p))/m2]};return forward}function wagnerRaw(poleline,parallels,inflation,ratio){var phi1=pi/3;poleline=max(poleline,epsilon);parallels=max(parallels,epsilon);poleline=min(poleline,halfPi);parallels=min(parallels,pi-epsilon);inflation=max(inflation,0);inflation=min(inflation,100-epsilon);ratio=max(ratio,epsilon);var vinflation=inflation/100+1;var vratio=ratio/100;var m2=acos(vinflation*cos(phi1))/phi1,m1=sin(poleline)/sin(m2*halfPi),n=parallels/pi,k=sqrt(vratio*sin(poleline/2)/sin(parallels/2)),cx=k/sqrt(n*m1*m2),cy=1/(k*sqrt(n*m1*m2));return wagnerFormula(cx,cy,m1,m2,n)}function wagner(){var poleline=65*radians,parallels=60*radians,inflation=20,ratio=200,mutate=d3Geo.geoProjectionMutator(wagnerRaw),projection=mutate(poleline,parallels,inflation,ratio);projection.poleline=function(_){return arguments.length?mutate(poleline=+_*radians,parallels,inflation,ratio):poleline*degrees};projection.parallels=function(_){return arguments.length?mutate(poleline,parallels=+_*radians,inflation,ratio):parallels*degrees};projection.inflation=function(_){return arguments.length?mutate(poleline,parallels,inflation=+_,ratio):inflation};projection.ratio=function(_){return arguments.length?mutate(poleline,parallels,inflation,ratio=+_):ratio};return projection.scale(163.775)}function wagner7(){return wagner().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var A=4*pi+3*sqrt(3),B=2*sqrt(2*pi*sqrt(3)/A);var wagner4Raw=mollweideBromleyRaw(B*sqrt(3)/pi,B,A/6);function wagner4(){return d3Geo.geoProjection(wagner4Raw).scale(176.84)}function wagner6Raw(lambda,phi){return[lambda*sqrt(1-3*phi*phi/(pi*pi)),phi]}wagner6Raw.invert=function(x,y){return[x/sqrt(1-3*y*y/(pi*pi)),y]};function wagner6(){return d3Geo.geoProjection(wagner6Raw).scale(152.63)}function wiechelRaw(lambda,phi){var cosPhi=cos(phi),sinPhi=cos(lambda)*cosPhi,sin1_Phi=1-sinPhi,cosLambda=cos(lambda=atan2(sin(lambda)*cosPhi,-sin(phi))),sinLambda=sin(lambda);cosPhi=sqrt(1-sinPhi*sinPhi);return[sinLambda*cosPhi-cosLambda*sin1_Phi,-cosLambda*cosPhi-sinLambda*sin1_Phi]}wiechelRaw.invert=function(x,y){var w=(x*x+y*y)/-2,k=sqrt(-w*(2+w)),b=y*w+x*k,a=x*w-y*k,D=sqrt(a*a+b*b);return[atan2(k*b,D*(1+w)),D?-asin(k*a/D):0]};function wiechel(){return d3Geo.geoProjection(wiechelRaw).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function winkel3Raw(lambda,phi){var coordinates=aitoffRaw(lambda,phi);return[(coordinates[0]+lambda/halfPi)/2,(coordinates[1]+phi)/2]}winkel3Raw.invert=function(x,y){var lambda=x,phi=y,i=25;do{var cosphi=cos(phi),sinphi=sin(phi),sin_2phi=sin(2*phi),sin2phi=sinphi*sinphi,cos2phi=cosphi*cosphi,sinlambda=sin(lambda),coslambda_2=cos(lambda/2),sinlambda_2=sin(lambda/2),sin2lambda_2=sinlambda_2*sinlambda_2,C=1-cos2phi*coslambda_2*coslambda_2,E=C?acos(cosphi*coslambda_2)*sqrt(F=1/C):F=0,F,fx=.5*(2*E*cosphi*sinlambda_2+lambda/halfPi)-x,fy=.5*(E*sinphi+phi)-y,dxdlambda=.5*F*(cos2phi*sin2lambda_2+E*cosphi*coslambda_2*sin2phi)+.5/halfPi,dxdphi=F*(sinlambda*sin_2phi/4-E*sinphi*sinlambda_2),dydlambda=.125*F*(sin_2phi*sinlambda_2-E*sinphi*cos2phi*sinlambda),dydphi=.5*F*(sin2phi*coslambda_2+E*sin2lambda_2*cosphi)+.5,denominator=dxdphi*dydlambda-dydphi*dxdlambda,dlambda=(fy*dxdphi-fx*dydphi)/denominator,dphi=(fx*dydlambda-fy*dxdlambda)/denominator;lambda-=dlambda,phi-=dphi}while((abs(dlambda)>epsilon||abs(dphi)>epsilon)&&--i>0);return[lambda,phi]};function winkel3(){return d3Geo.geoProjection(winkel3Raw).scale(158.837)}exports.geoNaturalEarth=d3Geo.geoNaturalEarth1;exports.geoNaturalEarthRaw=d3Geo.geoNaturalEarth1Raw;exports.geoAiry=airy;exports.geoAiryRaw=airyRaw;exports.geoAitoff=aitoff;exports.geoAitoffRaw=aitoffRaw;exports.geoArmadillo=armadillo;exports.geoArmadilloRaw=armadilloRaw;exports.geoAugust=august;exports.geoAugustRaw=augustRaw;exports.geoBaker=baker;exports.geoBakerRaw=bakerRaw;exports.geoBerghaus=berghaus;exports.geoBerghausRaw=berghausRaw;exports.geoBertin1953=bertin;exports.geoBertin1953Raw=bertin1953Raw;exports.geoBoggs=boggs;exports.geoBoggsRaw=boggsRaw;exports.geoBonne=bonne;exports.geoBonneRaw=bonneRaw;exports.geoBottomley=bottomley;exports.geoBottomleyRaw=bottomleyRaw;exports.geoBromley=bromley;exports.geoBromleyRaw=bromleyRaw;exports.geoChamberlin=chamberlin;exports.geoChamberlinRaw=chamberlinRaw;exports.geoChamberlinAfrica=chamberlinAfrica;exports.geoCollignon=collignon;exports.geoCollignonRaw=collignonRaw;exports.geoCraig=craig;exports.geoCraigRaw=craigRaw;exports.geoCraster=craster;exports.geoCrasterRaw=crasterRaw;exports.geoCylindricalEqualArea=cylindricalEqualArea;exports.geoCylindricalEqualAreaRaw=cylindricalEqualAreaRaw;exports.geoCylindricalStereographic=cylindricalStereographic;exports.geoCylindricalStereographicRaw=cylindricalStereographicRaw;exports.geoEckert1=eckert1;exports.geoEckert1Raw=eckert1Raw;exports.geoEckert2=eckert2;exports.geoEckert2Raw=eckert2Raw;exports.geoEckert3=eckert3;exports.geoEckert3Raw=eckert3Raw;exports.geoEckert4=eckert4;exports.geoEckert4Raw=eckert4Raw;exports.geoEckert5=eckert5;exports.geoEckert5Raw=eckert5Raw;exports.geoEckert6=eckert6;exports.geoEckert6Raw=eckert6Raw;exports.geoEisenlohr=eisenlohr;exports.geoEisenlohrRaw=eisenlohrRaw;exports.geoFahey=fahey;exports.geoFaheyRaw=faheyRaw;exports.geoFoucaut=foucaut;exports.geoFoucautRaw=foucautRaw;exports.geoFoucautSinusoidal=foucautSinusoidal;exports.geoFoucautSinusoidalRaw=foucautSinusoidalRaw;exports.geoGilbert=gilbert;exports.geoGingery=gingery;exports.geoGingeryRaw=gingeryRaw;exports.geoGinzburg4=ginzburg4;exports.geoGinzburg4Raw=ginzburg4Raw;exports.geoGinzburg5=ginzburg5;exports.geoGinzburg5Raw=ginzburg5Raw;exports.geoGinzburg6=ginzburg6;exports.geoGinzburg6Raw=ginzburg6Raw;exports.geoGinzburg8=ginzburg8;exports.geoGinzburg8Raw=ginzburg8Raw;exports.geoGinzburg9=ginzburg9;exports.geoGinzburg9Raw=ginzburg9Raw;exports.geoGringorten=gringorten;exports.geoGringortenRaw=gringortenRaw;exports.geoGuyou=guyou;exports.geoGuyouRaw=guyouRaw;exports.geoHammer=hammer;exports.geoHammerRaw=hammerRaw;exports.geoHammerRetroazimuthal=hammerRetroazimuthal;exports.geoHammerRetroazimuthalRaw=hammerRetroazimuthalRaw;exports.geoHealpix=healpix;exports.geoHealpixRaw=healpixRaw;exports.geoHill=hill;exports.geoHillRaw=hillRaw;exports.geoHomolosine=homolosine;exports.geoHomolosineRaw=homolosineRaw;exports.geoHufnagel=hufnagel;exports.geoHufnagelRaw=hufnagelRaw;exports.geoHyperelliptical=hyperelliptical;exports.geoHyperellipticalRaw=hyperellipticalRaw;exports.geoInterrupt=interrupt;exports.geoInterruptedBoggs=boggs$1;exports.geoInterruptedHomolosine=homolosine$1;exports.geoInterruptedMollweide=mollweide$1;exports.geoInterruptedMollweideHemispheres=mollweideHemispheres;exports.geoInterruptedSinuMollweide=sinuMollweide$1;exports.geoInterruptedSinusoidal=sinusoidal$1;exports.geoKavrayskiy7=kavrayskiy7;exports.geoKavrayskiy7Raw=kavrayskiy7Raw;exports.geoLagrange=lagrange;exports.geoLagrangeRaw=lagrangeRaw;exports.geoLarrivee=larrivee;exports.geoLarriveeRaw=larriveeRaw;exports.geoLaskowski=laskowski;exports.geoLaskowskiRaw=laskowskiRaw;exports.geoLittrow=littrow;exports.geoLittrowRaw=littrowRaw;exports.geoLoximuthal=loximuthal;exports.geoLoximuthalRaw=loximuthalRaw;exports.geoMiller=miller;exports.geoMillerRaw=millerRaw;exports.geoModifiedStereographic=modifiedStereographic;exports.geoModifiedStereographicRaw=modifiedStereographicRaw;exports.geoModifiedStereographicAlaska=modifiedStereographicAlaska;exports.geoModifiedStereographicGs48=modifiedStereographicGs48;exports.geoModifiedStereographicGs50=modifiedStereographicGs50;exports.geoModifiedStereographicMiller=modifiedStereographicMiller;exports.geoModifiedStereographicLee=modifiedStereographicLee;exports.geoMollweide=mollweide;exports.geoMollweideRaw=mollweideRaw;exports.geoMtFlatPolarParabolic=mtFlatPolarParabolic;exports.geoMtFlatPolarParabolicRaw=mtFlatPolarParabolicRaw;exports.geoMtFlatPolarQuartic=mtFlatPolarQuartic;exports.geoMtFlatPolarQuarticRaw=mtFlatPolarQuarticRaw;exports.geoMtFlatPolarSinusoidal=mtFlatPolarSinusoidal;exports.geoMtFlatPolarSinusoidalRaw=mtFlatPolarSinusoidalRaw;exports.geoNaturalEarth2=naturalEarth2;exports.geoNaturalEarth2Raw=naturalEarth2Raw;exports.geoNellHammer=nellHammer;exports.geoNellHammerRaw=nellHammerRaw;exports.geoInterruptedQuarticAuthalic=quarticAuthalic;exports.geoNicolosi=nicolosi;exports.geoNicolosiRaw=nicolosiRaw;exports.geoPatterson=patterson;exports.geoPattersonRaw=pattersonRaw;exports.geoPolyconic=polyconic;exports.geoPolyconicRaw=polyconicRaw;exports.geoPolyhedral=polyhedral;exports.geoPolyhedralButterfly=butterfly;exports.geoPolyhedralCollignon=collignon$1;exports.geoPolyhedralWaterman=waterman;exports.geoProject=index;exports.geoGringortenQuincuncial=gringorten$1;exports.geoPeirceQuincuncial=peirce;exports.geoPierceQuincuncial=peirce;exports.geoQuantize=quantize;exports.geoQuincuncial=quincuncial;exports.geoRectangularPolyconic=rectangularPolyconic;exports.geoRectangularPolyconicRaw=rectangularPolyconicRaw;exports.geoRobinson=robinson;exports.geoRobinsonRaw=robinsonRaw;exports.geoSatellite=satellite;exports.geoSatelliteRaw=satelliteRaw;exports.geoSinuMollweide=sinuMollweide;exports.geoSinuMollweideRaw=sinuMollweideRaw;exports.geoSinusoidal=sinusoidal;exports.geoSinusoidalRaw=sinusoidalRaw;exports.geoStitch=stitch;exports.geoTimes=times;exports.geoTimesRaw=timesRaw;exports.geoTwoPointAzimuthal=twoPointAzimuthal;exports.geoTwoPointAzimuthalRaw=twoPointAzimuthalRaw;exports.geoTwoPointAzimuthalUsa=twoPointAzimuthalUsa;exports.geoTwoPointEquidistant=twoPointEquidistant;exports.geoTwoPointEquidistantRaw=twoPointEquidistantRaw;exports.geoTwoPointEquidistantUsa=twoPointEquidistantUsa;exports.geoVanDerGrinten=vanDerGrinten;exports.geoVanDerGrintenRaw=vanDerGrintenRaw;exports.geoVanDerGrinten2=vanDerGrinten2;exports.geoVanDerGrinten2Raw=vanDerGrinten2Raw;exports.geoVanDerGrinten3=vanDerGrinten3;exports.geoVanDerGrinten3Raw=vanDerGrinten3Raw;exports.geoVanDerGrinten4=vanDerGrinten4;exports.geoVanDerGrinten4Raw=vanDerGrinten4Raw;exports.geoWagner=wagner;exports.geoWagner7=wagner7;exports.geoWagnerRaw=wagnerRaw;exports.geoWagner4=wagner4;exports.geoWagner4Raw=wagner4Raw;exports.geoWagner6=wagner6;exports.geoWagner6Raw=wagner6Raw;exports.geoWiechel=wiechel;exports.geoWiechelRaw=wiechelRaw;exports.geoWinkel3=winkel3;exports.geoWinkel3Raw=winkel3Raw;Object.defineProperty(exports,"__esModule",{value:true})}))},{"d3-array":162,"d3-geo":169}],169:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,_dereq_("d3-array")):typeof define==="function"&&define.amd?define(["exports","d3-array"],factory):(global=global||self,factory(global.d3=global.d3||{},global.d3))})(this,(function(exports,d3Array){"use strict";function adder(){return new Adder}function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){this.s=this.t=0},add:function(y){add(temp,y,this.t);add(this,temp.s,this.s);if(this.s)this.t+=temp.t;else this.s=temp.t},valueOf:function(){return this.s}};var temp=new Adder;function add(adder,a,b){var x=adder.s=a+b,bv=x-a,av=x-bv;adder.t=a-av+(b-bv)}var epsilon=1e-6;var epsilon2=1e-12;var pi=Math.PI;var halfPi=pi/2;var quarterPi=pi/4;var tau=pi*2;var degrees=180/pi;var radians=pi/180;var abs=Math.abs;var atan=Math.atan;var atan2=Math.atan2;var cos=Math.cos;var ceil=Math.ceil;var exp=Math.exp;var log=Math.log;var pow=Math.pow;var sin=Math.sin;var sign=Math.sign||function(x){return x>0?1:x<0?-1:0};var sqrt=Math.sqrt;var tan=Math.tan;function acos(x){return x>1?0:x<-1?pi:Math.acos(x)}function asin(x){return x>1?halfPi:x<-1?-halfPi:Math.asin(x)}function haversin(x){return(x=sin(x/2))*x}function noop(){}function streamGeometry(geometry,stream){if(geometry&&streamGeometryType.hasOwnProperty(geometry.type)){streamGeometryType[geometry.type](geometry,stream)}}var streamObjectType={Feature:function(object,stream){streamGeometry(object.geometry,stream)},FeatureCollection:function(object,stream){var features=object.features,i=-1,n=features.length;while(++i<n)streamGeometry(features[i].geometry,stream)}};var streamGeometryType={Sphere:function(object,stream){stream.sphere()},Point:function(object,stream){object=object.coordinates;stream.point(object[0],object[1],object[2])},MultiPoint:function(object,stream){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)object=coordinates[i],stream.point(object[0],object[1],object[2])},LineString:function(object,stream){streamLine(object.coordinates,stream,0)},MultiLineString:function(object,stream){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)streamLine(coordinates[i],stream,0)},Polygon:function(object,stream){streamPolygon(object.coordinates,stream)},MultiPolygon:function(object,stream){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)streamPolygon(coordinates[i],stream)},GeometryCollection:function(object,stream){var geometries=object.geometries,i=-1,n=geometries.length;while(++i<n)streamGeometry(geometries[i],stream)}};function streamLine(coordinates,stream,closed){var i=-1,n=coordinates.length-closed,coordinate;stream.lineStart();while(++i<n)coordinate=coordinates[i],stream.point(coordinate[0],coordinate[1],coordinate[2]);stream.lineEnd()}function streamPolygon(coordinates,stream){var i=-1,n=coordinates.length;stream.polygonStart();while(++i<n)streamLine(coordinates[i],stream,1);stream.polygonEnd()}function geoStream(object,stream){if(object&&streamObjectType.hasOwnProperty(object.type)){streamObjectType[object.type](object,stream)}else{streamGeometry(object,stream)}}var areaRingSum=adder();var areaSum=adder(),lambda00,phi00,lambda0,cosPhi0,sinPhi0;var areaStream={point:noop,lineStart:noop,lineEnd:noop,polygonStart:function(){areaRingSum.reset();areaStream.lineStart=areaRingStart;areaStream.lineEnd=areaRingEnd},polygonEnd:function(){var areaRing=+areaRingSum;areaSum.add(areaRing<0?tau+areaRing:areaRing);this.lineStart=this.lineEnd=this.point=noop},sphere:function(){areaSum.add(tau)}};function areaRingStart(){areaStream.point=areaPointFirst}function areaRingEnd(){areaPoint(lambda00,phi00)}function areaPointFirst(lambda,phi){areaStream.point=areaPoint;lambda00=lambda,phi00=phi;lambda*=radians,phi*=radians;lambda0=lambda,cosPhi0=cos(phi=phi/2+quarterPi),sinPhi0=sin(phi)}function areaPoint(lambda,phi){lambda*=radians,phi*=radians;phi=phi/2+quarterPi;var dLambda=lambda-lambda0,sdLambda=dLambda>=0?1:-1,adLambda=sdLambda*dLambda,cosPhi=cos(phi),sinPhi=sin(phi),k=sinPhi0*sinPhi,u=cosPhi0*cosPhi+k*cos(adLambda),v=k*sdLambda*sin(adLambda);areaRingSum.add(atan2(v,u));lambda0=lambda,cosPhi0=cosPhi,sinPhi0=sinPhi}function area(object){areaSum.reset();geoStream(object,areaStream);return areaSum*2}function spherical(cartesian){return[atan2(cartesian[1],cartesian[0]),asin(cartesian[2])]}function cartesian(spherical){var lambda=spherical[0],phi=spherical[1],cosPhi=cos(phi);return[cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi)]}function cartesianDot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function cartesianCross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function cartesianAddInPlace(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function cartesianScale(vector,k){return[vector[0]*k,vector[1]*k,vector[2]*k]}function cartesianNormalizeInPlace(d){var l=sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]);d[0]/=l,d[1]/=l,d[2]/=l}var lambda0$1,phi0,lambda1,phi1,lambda2,lambda00$1,phi00$1,p0,deltaSum=adder(),ranges,range;var boundsStream={point:boundsPoint,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){boundsStream.point=boundsRingPoint;boundsStream.lineStart=boundsRingStart;boundsStream.lineEnd=boundsRingEnd;deltaSum.reset();areaStream.polygonStart()},polygonEnd:function(){areaStream.polygonEnd();boundsStream.point=boundsPoint;boundsStream.lineStart=boundsLineStart;boundsStream.lineEnd=boundsLineEnd;if(areaRingSum<0)lambda0$1=-(lambda1=180),phi0=-(phi1=90);else if(deltaSum>epsilon)phi1=90;else if(deltaSum<-epsilon)phi0=-90;range[0]=lambda0$1,range[1]=lambda1},sphere:function(){lambda0$1=-(lambda1=180),phi0=-(phi1=90)}};function boundsPoint(lambda,phi){ranges.push(range=[lambda0$1=lambda,lambda1=lambda]);if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi}function linePoint(lambda,phi){var p=cartesian([lambda*radians,phi*radians]);if(p0){var normal=cartesianCross(p0,p),equatorial=[normal[1],-normal[0],0],inflection=cartesianCross(equatorial,normal);cartesianNormalizeInPlace(inflection);inflection=spherical(inflection);var delta=lambda-lambda2,sign=delta>0?1:-1,lambdai=inflection[0]*degrees*sign,phii,antimeridian=abs(delta)>180;if(antimeridian^(sign*lambda2<lambdai&&lambdai<sign*lambda)){phii=inflection[1]*degrees;if(phii>phi1)phi1=phii}else if(lambdai=(lambdai+360)%360-180,antimeridian^(sign*lambda2<lambdai&&lambdai<sign*lambda)){phii=-inflection[1]*degrees;if(phii<phi0)phi0=phii}else{if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi}if(antimeridian){if(lambda<lambda2){if(angle(lambda0$1,lambda)>angle(lambda0$1,lambda1))lambda1=lambda}else{if(angle(lambda,lambda1)>angle(lambda0$1,lambda1))lambda0$1=lambda}}else{if(lambda1>=lambda0$1){if(lambda<lambda0$1)lambda0$1=lambda;if(lambda>lambda1)lambda1=lambda}else{if(lambda>lambda2){if(angle(lambda0$1,lambda)>angle(lambda0$1,lambda1))lambda1=lambda}else{if(angle(lambda,lambda1)>angle(lambda0$1,lambda1))lambda0$1=lambda}}}}else{ranges.push(range=[lambda0$1=lambda,lambda1=lambda])}if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi;p0=p,lambda2=lambda}function boundsLineStart(){boundsStream.point=linePoint}function boundsLineEnd(){range[0]=lambda0$1,range[1]=lambda1;boundsStream.point=boundsPoint;p0=null}function boundsRingPoint(lambda,phi){if(p0){var delta=lambda-lambda2;deltaSum.add(abs(delta)>180?delta+(delta>0?360:-360):delta)}else{lambda00$1=lambda,phi00$1=phi}areaStream.point(lambda,phi);linePoint(lambda,phi)}function boundsRingStart(){areaStream.lineStart()}function boundsRingEnd(){boundsRingPoint(lambda00$1,phi00$1);areaStream.lineEnd();if(abs(deltaSum)>epsilon)lambda0$1=-(lambda1=180);range[0]=lambda0$1,range[1]=lambda1;p0=null}function angle(lambda0,lambda1){return(lambda1-=lambda0)<0?lambda1+360:lambda1}function rangeCompare(a,b){return a[0]-b[0]}function rangeContains(range,x){return range[0]<=range[1]?range[0]<=x&&x<=range[1]:x<range[0]||range[1]<x}function bounds(feature){var i,n,a,b,merged,deltaMax,delta;phi1=lambda1=-(lambda0$1=phi0=Infinity);ranges=[];geoStream(feature,boundsStream);if(n=ranges.length){ranges.sort(rangeCompare);for(i=1,a=ranges[0],merged=[a];i<n;++i){b=ranges[i];if(rangeContains(a,b[0])||rangeContains(a,b[1])){if(angle(a[0],b[1])>angle(a[0],a[1]))a[1]=b[1];if(angle(b[0],a[1])>angle(a[0],a[1]))a[0]=b[0]}else{merged.push(a=b)}}for(deltaMax=-Infinity,n=merged.length-1,i=0,a=merged[n];i<=n;a=b,++i){b=merged[i];if((delta=angle(a[1],b[0]))>deltaMax)deltaMax=delta,lambda0$1=b[0],lambda1=a[1]}}ranges=range=null;return lambda0$1===Infinity||phi0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[lambda0$1,phi0],[lambda1,phi1]]}var W0,W1,X0,Y0,Z0,X1,Y1,Z1,X2,Y2,Z2,lambda00$2,phi00$2,x0,y0,z0;var centroidStream={sphere:noop,point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart;centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.lineStart=centroidLineStart;centroidStream.lineEnd=centroidLineEnd}};function centroidPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);centroidPointCartesian(cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi))}function centroidPointCartesian(x,y,z){++W0;X0+=(x-X0)/W0;Y0+=(y-Y0)/W0;Z0+=(z-Z0)/W0}function centroidLineStart(){centroidStream.point=centroidLinePointFirst}function centroidLinePointFirst(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);x0=cosPhi*cos(lambda);y0=cosPhi*sin(lambda);z0=sin(phi);centroidStream.point=centroidLinePoint;centroidPointCartesian(x0,y0,z0)}function centroidLinePoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),w=atan2(sqrt((w=y0*z-z0*y)*w+(w=z0*x-x0*z)*w+(w=x0*y-y0*x)*w),x0*x+y0*y+z0*z);W1+=w;X1+=w*(x0+(x0=x));Y1+=w*(y0+(y0=y));Z1+=w*(z0+(z0=z));centroidPointCartesian(x0,y0,z0)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidRingPointFirst}function centroidRingEnd(){centroidRingPoint(lambda00$2,phi00$2);centroidStream.point=centroidPoint}function centroidRingPointFirst(lambda,phi){lambda00$2=lambda,phi00$2=phi;lambda*=radians,phi*=radians;centroidStream.point=centroidRingPoint;var cosPhi=cos(phi);x0=cosPhi*cos(lambda);y0=cosPhi*sin(lambda);z0=sin(phi);centroidPointCartesian(x0,y0,z0)}function centroidRingPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),cx=y0*z-z0*y,cy=z0*x-x0*z,cz=x0*y-y0*x,m=sqrt(cx*cx+cy*cy+cz*cz),w=asin(m),v=m&&-w/m;X2+=v*cx;Y2+=v*cy;Z2+=v*cz;W1+=w;X1+=w*(x0+(x0=x));Y1+=w*(y0+(y0=y));Z1+=w*(z0+(z0=z));centroidPointCartesian(x0,y0,z0)}function centroid(object){W0=W1=X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0;geoStream(object,centroidStream);var x=X2,y=Y2,z=Z2,m=x*x+y*y+z*z;if(m<epsilon2){x=X1,y=Y1,z=Z1;if(W1<epsilon)x=X0,y=Y0,z=Z0;m=x*x+y*y+z*z;if(m<epsilon2)return[NaN,NaN]}return[atan2(y,x)*degrees,asin(z/sqrt(m))*degrees]}function constant(x){return function(){return x}}function compose(a,b){function compose(x,y){return x=a(x,y),b(x[0],x[1])}if(a.invert&&b.invert)compose.invert=function(x,y){return x=b.invert(x,y),x&&a.invert(x[0],x[1])};return compose}function rotationIdentity(lambda,phi){return[abs(lambda)>pi?lambda+Math.round(-lambda/tau)*tau:lambda,phi]}rotationIdentity.invert=rotationIdentity;function rotateRadians(deltaLambda,deltaPhi,deltaGamma){return(deltaLambda%=tau)?deltaPhi||deltaGamma?compose(rotationLambda(deltaLambda),rotationPhiGamma(deltaPhi,deltaGamma)):rotationLambda(deltaLambda):deltaPhi||deltaGamma?rotationPhiGamma(deltaPhi,deltaGamma):rotationIdentity}function forwardRotationLambda(deltaLambda){return function(lambda,phi){return lambda+=deltaLambda,[lambda>pi?lambda-tau:lambda<-pi?lambda+tau:lambda,phi]}}function rotationLambda(deltaLambda){var rotation=forwardRotationLambda(deltaLambda);rotation.invert=forwardRotationLambda(-deltaLambda);return rotation}function rotationPhiGamma(deltaPhi,deltaGamma){var cosDeltaPhi=cos(deltaPhi),sinDeltaPhi=sin(deltaPhi),cosDeltaGamma=cos(deltaGamma),sinDeltaGamma=sin(deltaGamma);function rotation(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaPhi+x*sinDeltaPhi;return[atan2(y*cosDeltaGamma-k*sinDeltaGamma,x*cosDeltaPhi-z*sinDeltaPhi),asin(k*cosDeltaGamma+y*sinDeltaGamma)]}rotation.invert=function(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaGamma-y*sinDeltaGamma;return[atan2(y*cosDeltaGamma+z*sinDeltaGamma,x*cosDeltaPhi+k*sinDeltaPhi),asin(k*cosDeltaPhi-x*sinDeltaPhi)]};return rotation}function rotation(rotate){rotate=rotateRadians(rotate[0]*radians,rotate[1]*radians,rotate.length>2?rotate[2]*radians:0);function forward(coordinates){coordinates=rotate(coordinates[0]*radians,coordinates[1]*radians);return coordinates[0]*=degrees,coordinates[1]*=degrees,coordinates}forward.invert=function(coordinates){coordinates=rotate.invert(coordinates[0]*radians,coordinates[1]*radians);return coordinates[0]*=degrees,coordinates[1]*=degrees,coordinates};return forward}function circleStream(stream,radius,delta,direction,t0,t1){if(!delta)return;var cosRadius=cos(radius),sinRadius=sin(radius),step=direction*delta;if(t0==null){t0=radius+direction*tau;t1=radius-step/2}else{t0=circleRadius(cosRadius,t0);t1=circleRadius(cosRadius,t1);if(direction>0?t0<t1:t0>t1)t0+=direction*tau}for(var point,t=t0;direction>0?t>t1:t<t1;t-=step){point=spherical([cosRadius,-sinRadius*cos(t),-sinRadius*sin(t)]);stream.point(point[0],point[1])}}function circleRadius(cosRadius,point){point=cartesian(point),point[0]-=cosRadius;cartesianNormalizeInPlace(point);var radius=acos(-point[1]);return((-point[2]<0?-radius:radius)+tau-epsilon)%tau}function circle(){var center=constant([0,0]),radius=constant(90),precision=constant(6),ring,rotate,stream={point:point};function point(x,y){ring.push(x=rotate(x,y));x[0]*=degrees,x[1]*=degrees}function circle(){var c=center.apply(this,arguments),r=radius.apply(this,arguments)*radians,p=precision.apply(this,arguments)*radians;ring=[];rotate=rotateRadians(-c[0]*radians,-c[1]*radians,0).invert;circleStream(stream,r,p,1);c={type:"Polygon",coordinates:[ring]};ring=rotate=null;return c}circle.center=function(_){return arguments.length?(center=typeof _==="function"?_:constant([+_[0],+_[1]]),circle):center};circle.radius=function(_){return arguments.length?(radius=typeof _==="function"?_:constant(+_),circle):radius};circle.precision=function(_){return arguments.length?(precision=typeof _==="function"?_:constant(+_),circle):precision};return circle}function clipBuffer(){var lines=[],line;return{point:function(x,y,m){line.push([x,y,m])},lineStart:function(){lines.push(line=[])},lineEnd:noop,rejoin:function(){if(lines.length>1)lines.push(lines.pop().concat(lines.shift()))},result:function(){var result=lines;lines=[];line=null;return result}}}function pointEqual(a,b){return abs(a[0]-b[0])<epsilon&&abs(a[1]-b[1])<epsilon}function Intersection(point,points,other,entry){this.x=point;this.z=points;this.o=other;this.e=entry;this.v=false;this.n=this.p=null}function clipRejoin(segments,compareIntersection,startInside,interpolate,stream){var subject=[],clip=[],i,n;segments.forEach((function(segment){if((n=segment.length-1)<=0)return;var n,p0=segment[0],p1=segment[n],x;if(pointEqual(p0,p1)){if(!p0[2]&&!p1[2]){stream.lineStart();for(i=0;i<n;++i)stream.point((p0=segment[i])[0],p0[1]);stream.lineEnd();return}p1[0]+=2*epsilon}subject.push(x=new Intersection(p0,segment,null,true));clip.push(x.o=new Intersection(p0,null,x,false));subject.push(x=new Intersection(p1,segment,null,false));clip.push(x.o=new Intersection(p1,null,x,true))}));if(!subject.length)return;clip.sort(compareIntersection);link(subject);link(clip);for(i=0,n=clip.length;i<n;++i){clip[i].e=startInside=!startInside}var start=subject[0],points,point;while(1){var current=start,isSubject=true;while(current.v)if((current=current.n)===start)return;points=current.z;stream.lineStart();do{current.v=current.o.v=true;if(current.e){if(isSubject){for(i=0,n=points.length;i<n;++i)stream.point((point=points[i])[0],point[1])}else{interpolate(current.x,current.n.x,1,stream)}current=current.n}else{if(isSubject){points=current.p.z;for(i=points.length-1;i>=0;--i)stream.point((point=points[i])[0],point[1])}else{interpolate(current.x,current.p.x,-1,stream)}current=current.p}current=current.o;points=current.z;isSubject=!isSubject}while(!current.v);stream.lineEnd()}}function link(array){if(!(n=array.length))return;var n,i=0,a=array[0],b;while(++i<n){a.n=b=array[i];b.p=a;a=b}a.n=b=array[0];b.p=a}var sum=adder();function longitude(point){if(abs(point[0])<=pi)return point[0];else return sign(point[0])*((abs(point[0])+pi)%tau-pi)}function polygonContains(polygon,point){var lambda=longitude(point),phi=point[1],sinPhi=sin(phi),normal=[sin(lambda),-cos(lambda),0],angle=0,winding=0;sum.reset();if(sinPhi===1)phi=halfPi+epsilon;else if(sinPhi===-1)phi=-halfPi-epsilon;for(var i=0,n=polygon.length;i<n;++i){if(!(m=(ring=polygon[i]).length))continue;var ring,m,point0=ring[m-1],lambda0=longitude(point0),phi0=point0[1]/2+quarterPi,sinPhi0=sin(phi0),cosPhi0=cos(phi0);for(var j=0;j<m;++j,lambda0=lambda1,sinPhi0=sinPhi1,cosPhi0=cosPhi1,point0=point1){var point1=ring[j],lambda1=longitude(point1),phi1=point1[1]/2+quarterPi,sinPhi1=sin(phi1),cosPhi1=cos(phi1),delta=lambda1-lambda0,sign=delta>=0?1:-1,absDelta=sign*delta,antimeridian=absDelta>pi,k=sinPhi0*sinPhi1;sum.add(atan2(k*sign*sin(absDelta),cosPhi0*cosPhi1+k*cos(absDelta)));angle+=antimeridian?delta+sign*tau:delta;if(antimeridian^lambda0>=lambda^lambda1>=lambda){var arc=cartesianCross(cartesian(point0),cartesian(point1));cartesianNormalizeInPlace(arc);var intersection=cartesianCross(normal,arc);cartesianNormalizeInPlace(intersection);var phiArc=(antimeridian^delta>=0?-1:1)*asin(intersection[2]);if(phi>phiArc||phi===phiArc&&(arc[0]||arc[1])){winding+=antimeridian^delta>=0?1:-1}}}}return(angle<-epsilon||angle<epsilon&&sum<-epsilon)^winding&1}function clip(pointVisible,clipLine,interpolate,start){return function(sink){var line=clipLine(sink),ringBuffer=clipBuffer(),ringSink=clipLine(ringBuffer),polygonStarted=false,polygon,segments,ring;var clip={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){clip.point=pointRing;clip.lineStart=ringStart;clip.lineEnd=ringEnd;segments=[];polygon=[]},polygonEnd:function(){clip.point=point;clip.lineStart=lineStart;clip.lineEnd=lineEnd;segments=d3Array.merge(segments);var startInside=polygonContains(polygon,start);if(segments.length){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;clipRejoin(segments,compareIntersection,startInside,interpolate,sink)}else if(startInside){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();interpolate(null,null,1,sink);sink.lineEnd()}if(polygonStarted)sink.polygonEnd(),polygonStarted=false;segments=polygon=null},sphere:function(){sink.polygonStart();sink.lineStart();interpolate(null,null,1,sink);sink.lineEnd();sink.polygonEnd()}};function point(lambda,phi){if(pointVisible(lambda,phi))sink.point(lambda,phi)}function pointLine(lambda,phi){line.point(lambda,phi)}function lineStart(){clip.point=pointLine;line.lineStart()}function lineEnd(){clip.point=point;line.lineEnd()}function pointRing(lambda,phi){ring.push([lambda,phi]);ringSink.point(lambda,phi)}function ringStart(){ringSink.lineStart();ring=[]}function ringEnd(){pointRing(ring[0][0],ring[0][1]);ringSink.lineEnd();var clean=ringSink.clean(),ringSegments=ringBuffer.result(),i,n=ringSegments.length,m,segment,point;ring.pop();polygon.push(ring);ring=null;if(!n)return;if(clean&1){segment=ringSegments[0];if((m=segment.length-1)>0){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();for(i=0;i<m;++i)sink.point((point=segment[i])[0],point[1]);sink.lineEnd()}return}if(n>1&&clean&2)ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));segments.push(ringSegments.filter(validSegment))}return clip}}function validSegment(segment){return segment.length>1}function compareIntersection(a,b){return((a=a.x)[0]<0?a[1]-halfPi-epsilon:halfPi-a[1])-((b=b.x)[0]<0?b[1]-halfPi-epsilon:halfPi-b[1])}var clipAntimeridian=clip((function(){return true}),clipAntimeridianLine,clipAntimeridianInterpolate,[-pi,-halfPi]);function clipAntimeridianLine(stream){var lambda0=NaN,phi0=NaN,sign0=NaN,clean;return{lineStart:function(){stream.lineStart();clean=1},point:function(lambda1,phi1){var sign1=lambda1>0?pi:-pi,delta=abs(lambda1-lambda0);if(abs(delta-pi)<epsilon){stream.point(lambda0,phi0=(phi0+phi1)/2>0?halfPi:-halfPi);stream.point(sign0,phi0);stream.lineEnd();stream.lineStart();stream.point(sign1,phi0);stream.point(lambda1,phi0);clean=0}else if(sign0!==sign1&&delta>=pi){if(abs(lambda0-sign0)<epsilon)lambda0-=sign0*epsilon;if(abs(lambda1-sign1)<epsilon)lambda1-=sign1*epsilon;phi0=clipAntimeridianIntersect(lambda0,phi0,lambda1,phi1);stream.point(sign0,phi0);stream.lineEnd();stream.lineStart();stream.point(sign1,phi0);clean=0}stream.point(lambda0=lambda1,phi0=phi1);sign0=sign1},lineEnd:function(){stream.lineEnd();lambda0=phi0=NaN},clean:function(){return 2-clean}}}function clipAntimeridianIntersect(lambda0,phi0,lambda1,phi1){var cosPhi0,cosPhi1,sinLambda0Lambda1=sin(lambda0-lambda1);return abs(sinLambda0Lambda1)>epsilon?atan((sin(phi0)*(cosPhi1=cos(phi1))*sin(lambda1)-sin(phi1)*(cosPhi0=cos(phi0))*sin(lambda0))/(cosPhi0*cosPhi1*sinLambda0Lambda1)):(phi0+phi1)/2}function clipAntimeridianInterpolate(from,to,direction,stream){var phi;if(from==null){phi=direction*halfPi;stream.point(-pi,phi);stream.point(0,phi);stream.point(pi,phi);stream.point(pi,0);stream.point(pi,-phi);stream.point(0,-phi);stream.point(-pi,-phi);stream.point(-pi,0);stream.point(-pi,phi)}else if(abs(from[0]-to[0])>epsilon){var lambda=from[0]<to[0]?pi:-pi;phi=direction*lambda/2;stream.point(-lambda,phi);stream.point(0,phi);stream.point(lambda,phi)}else{stream.point(to[0],to[1])}}function clipCircle(radius){var cr=cos(radius),delta=6*radians,smallRadius=cr>0,notHemisphere=abs(cr)>epsilon;function interpolate(from,to,direction,stream){circleStream(stream,radius,delta,direction,from,to)}function visible(lambda,phi){return cos(lambda)*cos(phi)>cr}function clipLine(stream){var point0,c0,v0,v00,clean;return{lineStart:function(){v00=v0=false;clean=1},point:function(lambda,phi){var point1=[lambda,phi],point2,v=visible(lambda,phi),c=smallRadius?v?0:code(lambda,phi):v?code(lambda+(lambda<0?pi:-pi),phi):0;if(!point0&&(v00=v0=v))stream.lineStart();if(v!==v0){point2=intersect(point0,point1);if(!point2||pointEqual(point0,point2)||pointEqual(point1,point2))point1[2]=1}if(v!==v0){clean=0;if(v){stream.lineStart();point2=intersect(point1,point0);stream.point(point2[0],point2[1])}else{point2=intersect(point0,point1);stream.point(point2[0],point2[1],2);stream.lineEnd()}point0=point2}else if(notHemisphere&&point0&&smallRadius^v){var t;if(!(c&c0)&&(t=intersect(point1,point0,true))){clean=0;if(smallRadius){stream.lineStart();stream.point(t[0][0],t[0][1]);stream.point(t[1][0],t[1][1]);stream.lineEnd()}else{stream.point(t[1][0],t[1][1]);stream.lineEnd();stream.lineStart();stream.point(t[0][0],t[0][1],3)}}}if(v&&(!point0||!pointEqual(point0,point1))){stream.point(point1[0],point1[1])}point0=point1,v0=v,c0=c},lineEnd:function(){if(v0)stream.lineEnd();point0=null},clean:function(){return clean|(v00&&v0)<<1}}}function intersect(a,b,two){var pa=cartesian(a),pb=cartesian(b);var n1=[1,0,0],n2=cartesianCross(pa,pb),n2n2=cartesianDot(n2,n2),n1n2=n2[0],determinant=n2n2-n1n2*n1n2;if(!determinant)return!two&&a;var c1=cr*n2n2/determinant,c2=-cr*n1n2/determinant,n1xn2=cartesianCross(n1,n2),A=cartesianScale(n1,c1),B=cartesianScale(n2,c2);cartesianAddInPlace(A,B);var u=n1xn2,w=cartesianDot(A,u),uu=cartesianDot(u,u),t2=w*w-uu*(cartesianDot(A,A)-1);if(t2<0)return;var t=sqrt(t2),q=cartesianScale(u,(-w-t)/uu);cartesianAddInPlace(q,A);q=spherical(q);if(!two)return q;var lambda0=a[0],lambda1=b[0],phi0=a[1],phi1=b[1],z;if(lambda1<lambda0)z=lambda0,lambda0=lambda1,lambda1=z;var delta=lambda1-lambda0,polar=abs(delta-pi)<epsilon,meridian=polar||delta<epsilon;if(!polar&&phi1<phi0)z=phi0,phi0=phi1,phi1=z;if(meridian?polar?phi0+phi1>0^q[1]<(abs(q[0]-lambda0)<epsilon?phi0:phi1):phi0<=q[1]&&q[1]<=phi1:delta>pi^(lambda0<=q[0]&&q[0]<=lambda1)){var q1=cartesianScale(u,(-w+t)/uu);cartesianAddInPlace(q1,A);return[q,spherical(q1)]}}function code(lambda,phi){var r=smallRadius?radius:pi-radius,code=0;if(lambda<-r)code|=1;else if(lambda>r)code|=2;if(phi<-r)code|=4;else if(phi>r)code|=8;return code}return clip(visible,clipLine,interpolate,smallRadius?[0,-radius]:[-pi,radius-pi])}function clipLine(a,b,x0,y0,x1,y1){var ax=a[0],ay=a[1],bx=b[0],by=b[1],t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r<t0)return;if(r<t1)t1=r}else if(dx>0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r<t0)return;if(r<t1)t1=r}r=y0-ay;if(!dy&&r>0)return;r/=dy;if(dy<0){if(r<t0)return;if(r<t1)t1=r}else if(dy>0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r<t0)return;if(r<t1)t1=r}if(t0>0)a[0]=ax+t0*dx,a[1]=ay+t0*dy;if(t1<1)b[0]=ax+t1*dx,b[1]=ay+t1*dy;return true}var clipMax=1e9,clipMin=-clipMax;function clipRectangle(x0,y0,x1,y1){function visible(x,y){return x0<=x&&x<=x1&&y0<=y&&y<=y1}function interpolate(from,to,direction,stream){var a=0,a1=0;if(from==null||(a=corner(from,direction))!==(a1=corner(to,direction))||comparePoint(from,to)<0^direction>0){do{stream.point(a===0||a===3?x0:x1,a>1?y1:y0)}while((a=(a+direction+4)%4)!==a1)}else{stream.point(to[0],to[1])}}function corner(p,direction){return abs(p[0]-x0)<epsilon?direction>0?0:3:abs(p[0]-x1)<epsilon?direction>0?2:1:abs(p[1]-y0)<epsilon?direction>0?1:0:direction>0?3:2}function compareIntersection(a,b){return comparePoint(a.x,b.x)}function comparePoint(a,b){var ca=corner(a,1),cb=corner(b,1);return ca!==cb?ca-cb:ca===0?b[1]-a[1]:ca===1?a[0]-b[0]:ca===2?a[1]-b[1]:b[0]-a[0]}return function(stream){var activeStream=stream,bufferStream=clipBuffer(),segments,polygon,ring,x__,y__,v__,x_,y_,v_,first,clean;var clipStream={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:polygonStart,polygonEnd:polygonEnd};function point(x,y){if(visible(x,y))activeStream.point(x,y)}function polygonInside(){var winding=0;for(var i=0,n=polygon.length;i<n;++i){for(var ring=polygon[i],j=1,m=ring.length,point=ring[0],a0,a1,b0=point[0],b1=point[1];j<m;++j){a0=b0,a1=b1,point=ring[j],b0=point[0],b1=point[1];if(a1<=y1){if(b1>y1&&(b0-a0)*(y1-a1)>(b1-a1)*(x0-a0))++winding}else{if(b1<=y1&&(b0-a0)*(y1-a1)<(b1-a1)*(x0-a0))--winding}}}return winding}function polygonStart(){activeStream=bufferStream,segments=[],polygon=[],clean=true}function polygonEnd(){var startInside=polygonInside(),cleanInside=clean&&startInside,visible=(segments=d3Array.merge(segments)).length;if(cleanInside||visible){stream.polygonStart();if(cleanInside){stream.lineStart();interpolate(null,null,1,stream);stream.lineEnd()}if(visible){clipRejoin(segments,compareIntersection,startInside,interpolate,stream)}stream.polygonEnd()}activeStream=stream,segments=polygon=ring=null}function lineStart(){clipStream.point=linePoint;if(polygon)polygon.push(ring=[]);first=true;v_=false;x_=y_=NaN}function lineEnd(){if(segments){linePoint(x__,y__);if(v__&&v_)bufferStream.rejoin();segments.push(bufferStream.result())}clipStream.point=point;if(v_)activeStream.lineEnd()}function linePoint(x,y){var v=visible(x,y);if(polygon)ring.push([x,y]);if(first){x__=x,y__=y,v__=v;first=false;if(v){activeStream.lineStart();activeStream.point(x,y)}}else{if(v&&v_)activeStream.point(x,y);else{var a=[x_=Math.max(clipMin,Math.min(clipMax,x_)),y_=Math.max(clipMin,Math.min(clipMax,y_))],b=[x=Math.max(clipMin,Math.min(clipMax,x)),y=Math.max(clipMin,Math.min(clipMax,y))];if(clipLine(a,b,x0,y0,x1,y1)){if(!v_){activeStream.lineStart();activeStream.point(a[0],a[1])}activeStream.point(b[0],b[1]);if(!v)activeStream.lineEnd();clean=false}else if(v){activeStream.lineStart();activeStream.point(x,y);clean=false}}}x_=x,y_=y,v_=v}return clipStream}}function extent(){var x0=0,y0=0,x1=960,y1=500,cache,cacheStream,clip;return clip={stream:function(stream){return cache&&cacheStream===stream?cache:cache=clipRectangle(x0,y0,x1,y1)(cacheStream=stream)},extent:function(_){return arguments.length?(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1],cache=cacheStream=null,clip):[[x0,y0],[x1,y1]]}}}var lengthSum=adder(),lambda0$2,sinPhi0$1,cosPhi0$1;var lengthStream={sphere:noop,point:noop,lineStart:lengthLineStart,lineEnd:noop,polygonStart:noop,polygonEnd:noop};function lengthLineStart(){lengthStream.point=lengthPointFirst;lengthStream.lineEnd=lengthLineEnd}function lengthLineEnd(){lengthStream.point=lengthStream.lineEnd=noop}function lengthPointFirst(lambda,phi){lambda*=radians,phi*=radians;lambda0$2=lambda,sinPhi0$1=sin(phi),cosPhi0$1=cos(phi);lengthStream.point=lengthPoint}function lengthPoint(lambda,phi){lambda*=radians,phi*=radians;var sinPhi=sin(phi),cosPhi=cos(phi),delta=abs(lambda-lambda0$2),cosDelta=cos(delta),sinDelta=sin(delta),x=cosPhi*sinDelta,y=cosPhi0$1*sinPhi-sinPhi0$1*cosPhi*cosDelta,z=sinPhi0$1*sinPhi+cosPhi0$1*cosPhi*cosDelta;lengthSum.add(atan2(sqrt(x*x+y*y),z));lambda0$2=lambda,sinPhi0$1=sinPhi,cosPhi0$1=cosPhi}function length(object){lengthSum.reset();geoStream(object,lengthStream);return+lengthSum}var coordinates=[null,null],object={type:"LineString",coordinates:coordinates};function distance(a,b){coordinates[0]=a;coordinates[1]=b;return length(object)}var containsObjectType={Feature:function(object,point){return containsGeometry(object.geometry,point)},FeatureCollection:function(object,point){var features=object.features,i=-1,n=features.length;while(++i<n)if(containsGeometry(features[i].geometry,point))return true;return false}};var containsGeometryType={Sphere:function(){return true},Point:function(object,point){return containsPoint(object.coordinates,point)},MultiPoint:function(object,point){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)if(containsPoint(coordinates[i],point))return true;return false},LineString:function(object,point){return containsLine(object.coordinates,point)},MultiLineString:function(object,point){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)if(containsLine(coordinates[i],point))return true;return false},Polygon:function(object,point){return containsPolygon(object.coordinates,point)},MultiPolygon:function(object,point){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)if(containsPolygon(coordinates[i],point))return true;return false},GeometryCollection:function(object,point){var geometries=object.geometries,i=-1,n=geometries.length;while(++i<n)if(containsGeometry(geometries[i],point))return true;return false}};function containsGeometry(geometry,point){return geometry&&containsGeometryType.hasOwnProperty(geometry.type)?containsGeometryType[geometry.type](geometry,point):false}function containsPoint(coordinates,point){return distance(coordinates,point)===0}function containsLine(coordinates,point){var ao,bo,ab;for(var i=0,n=coordinates.length;i<n;i++){bo=distance(coordinates[i],point);if(bo===0)return true;if(i>0){ab=distance(coordinates[i],coordinates[i-1]);if(ab>0&&ao<=ab&&bo<=ab&&(ao+bo-ab)*(1-Math.pow((ao-bo)/ab,2))<epsilon2*ab)return true}ao=bo}return false}function containsPolygon(coordinates,point){return!!polygonContains(coordinates.map(ringRadians),pointRadians(point))}function ringRadians(ring){return ring=ring.map(pointRadians),ring.pop(),ring}function pointRadians(point){return[point[0]*radians,point[1]*radians]}function contains(object,point){return(object&&containsObjectType.hasOwnProperty(object.type)?containsObjectType[object.type]:containsGeometry)(object,point)}function graticuleX(y0,y1,dy){var y=d3Array.range(y0,y1-epsilon,dy).concat(y1);return function(x){return y.map((function(y){return[x,y]}))}}function graticuleY(x0,x1,dx){var x=d3Array.range(x0,x1-epsilon,dx).concat(x1);return function(y){return x.map((function(x){return[x,y]}))}}function graticule(){var x1,x0,X1,X0,y1,y0,Y1,Y0,dx=10,dy=dx,DX=90,DY=360,x,y,X,Y,precision=2.5;function graticule(){return{type:"MultiLineString",coordinates:lines()}}function lines(){return d3Array.range(ceil(X0/DX)*DX,X1,DX).map(X).concat(d3Array.range(ceil(Y0/DY)*DY,Y1,DY).map(Y)).concat(d3Array.range(ceil(x0/dx)*dx,x1,dx).filter((function(x){return abs(x%DX)>epsilon})).map(x)).concat(d3Array.range(ceil(y0/dy)*dy,y1,dy).filter((function(y){return abs(y%DY)>epsilon})).map(y))}graticule.lines=function(){return lines().map((function(coordinates){return{type:"LineString",coordinates:coordinates}}))};graticule.outline=function(){return{type:"Polygon",coordinates:[X(X0).concat(Y(Y1).slice(1),X(X1).reverse().slice(1),Y(Y0).reverse().slice(1))]}};graticule.extent=function(_){if(!arguments.length)return graticule.extentMinor();return graticule.extentMajor(_).extentMinor(_)};graticule.extentMajor=function(_){if(!arguments.length)return[[X0,Y0],[X1,Y1]];X0=+_[0][0],X1=+_[1][0];Y0=+_[0][1],Y1=+_[1][1];if(X0>X1)_=X0,X0=X1,X1=_;if(Y0>Y1)_=Y0,Y0=Y1,Y1=_;return graticule.precision(precision)};graticule.extentMinor=function(_){if(!arguments.length)return[[x0,y0],[x1,y1]];x0=+_[0][0],x1=+_[1][0];y0=+_[0][1],y1=+_[1][1];if(x0>x1)_=x0,x0=x1,x1=_;if(y0>y1)_=y0,y0=y1,y1=_;return graticule.precision(precision)};graticule.step=function(_){if(!arguments.length)return graticule.stepMinor();return graticule.stepMajor(_).stepMinor(_)};graticule.stepMajor=function(_){if(!arguments.length)return[DX,DY];DX=+_[0],DY=+_[1];return graticule};graticule.stepMinor=function(_){if(!arguments.length)return[dx,dy];dx=+_[0],dy=+_[1];return graticule};graticule.precision=function(_){if(!arguments.length)return precision;precision=+_;x=graticuleX(y0,y1,90);y=graticuleY(x0,x1,precision);X=graticuleX(Y0,Y1,90);Y=graticuleY(X0,X1,precision);return graticule};return graticule.extentMajor([[-180,-90+epsilon],[180,90-epsilon]]).extentMinor([[-180,-80-epsilon],[180,80+epsilon]])}function graticule10(){return graticule()()}function interpolate(a,b){var x0=a[0]*radians,y0=a[1]*radians,x1=b[0]*radians,y1=b[1]*radians,cy0=cos(y0),sy0=sin(y0),cy1=cos(y1),sy1=sin(y1),kx0=cy0*cos(x0),ky0=cy0*sin(x0),kx1=cy1*cos(x1),ky1=cy1*sin(x1),d=2*asin(sqrt(haversin(y1-y0)+cy0*cy1*haversin(x1-x0))),k=sin(d);var interpolate=d?function(t){var B=sin(t*=d)/k,A=sin(d-t)/k,x=A*kx0+B*kx1,y=A*ky0+B*ky1,z=A*sy0+B*sy1;return[atan2(y,x)*degrees,atan2(z,sqrt(x*x+y*y))*degrees]}:function(){return[x0*degrees,y0*degrees]};interpolate.distance=d;return interpolate}function identity(x){return x}var areaSum$1=adder(),areaRingSum$1=adder(),x00,y00,x0$1,y0$1;var areaStream$1={point:noop,lineStart:noop,lineEnd:noop,polygonStart:function(){areaStream$1.lineStart=areaRingStart$1;areaStream$1.lineEnd=areaRingEnd$1},polygonEnd:function(){areaStream$1.lineStart=areaStream$1.lineEnd=areaStream$1.point=noop;areaSum$1.add(abs(areaRingSum$1));areaRingSum$1.reset()},result:function(){var area=areaSum$1/2;areaSum$1.reset();return area}};function areaRingStart$1(){areaStream$1.point=areaPointFirst$1}function areaPointFirst$1(x,y){areaStream$1.point=areaPoint$1;x00=x0$1=x,y00=y0$1=y}function areaPoint$1(x,y){areaRingSum$1.add(y0$1*x-x0$1*y);x0$1=x,y0$1=y}function areaRingEnd$1(){areaPoint$1(x00,y00)}var x0$2=Infinity,y0$2=x0$2,x1=-x0$2,y1=x1;var boundsStream$1={point:boundsPoint$1,lineStart:noop,lineEnd:noop,polygonStart:noop,polygonEnd:noop,result:function(){var bounds=[[x0$2,y0$2],[x1,y1]];x1=y1=-(y0$2=x0$2=Infinity);return bounds}};function boundsPoint$1(x,y){if(x<x0$2)x0$2=x;if(x>x1)x1=x;if(y<y0$2)y0$2=y;if(y>y1)y1=y}var X0$1=0,Y0$1=0,Z0$1=0,X1$1=0,Y1$1=0,Z1$1=0,X2$1=0,Y2$1=0,Z2$1=0,x00$1,y00$1,x0$3,y0$3;var centroidStream$1={point:centroidPoint$1,lineStart:centroidLineStart$1,lineEnd:centroidLineEnd$1,polygonStart:function(){centroidStream$1.lineStart=centroidRingStart$1;centroidStream$1.lineEnd=centroidRingEnd$1},polygonEnd:function(){centroidStream$1.point=centroidPoint$1;centroidStream$1.lineStart=centroidLineStart$1;centroidStream$1.lineEnd=centroidLineEnd$1},result:function(){var centroid=Z2$1?[X2$1/Z2$1,Y2$1/Z2$1]:Z1$1?[X1$1/Z1$1,Y1$1/Z1$1]:Z0$1?[X0$1/Z0$1,Y0$1/Z0$1]:[NaN,NaN];X0$1=Y0$1=Z0$1=X1$1=Y1$1=Z1$1=X2$1=Y2$1=Z2$1=0;return centroid}};function centroidPoint$1(x,y){X0$1+=x;Y0$1+=y;++Z0$1}function centroidLineStart$1(){centroidStream$1.point=centroidPointFirstLine}function centroidPointFirstLine(x,y){centroidStream$1.point=centroidPointLine;centroidPoint$1(x0$3=x,y0$3=y)}function centroidPointLine(x,y){var dx=x-x0$3,dy=y-y0$3,z=sqrt(dx*dx+dy*dy);X1$1+=z*(x0$3+x)/2;Y1$1+=z*(y0$3+y)/2;Z1$1+=z;centroidPoint$1(x0$3=x,y0$3=y)}function centroidLineEnd$1(){centroidStream$1.point=centroidPoint$1}function centroidRingStart$1(){centroidStream$1.point=centroidPointFirstRing}function centroidRingEnd$1(){centroidPointRing(x00$1,y00$1)}function centroidPointFirstRing(x,y){centroidStream$1.point=centroidPointRing;centroidPoint$1(x00$1=x0$3=x,y00$1=y0$3=y)}function centroidPointRing(x,y){var dx=x-x0$3,dy=y-y0$3,z=sqrt(dx*dx+dy*dy);X1$1+=z*(x0$3+x)/2;Y1$1+=z*(y0$3+y)/2;Z1$1+=z;z=y0$3*x-x0$3*y;X2$1+=z*(x0$3+x);Y2$1+=z*(y0$3+y);Z2$1+=z*3;centroidPoint$1(x0$3=x,y0$3=y)}function PathContext(context){this._context=context}PathContext.prototype={_radius:4.5,pointRadius:function(_){return this._radius=_,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN},point:function(x,y){switch(this._point){case 0:{this._context.moveTo(x,y);this._point=1;break}case 1:{this._context.lineTo(x,y);break}default:{this._context.moveTo(x+this._radius,y);this._context.arc(x,y,this._radius,0,tau);break}}},result:noop};var lengthSum$1=adder(),lengthRing,x00$2,y00$2,x0$4,y0$4;var lengthStream$1={point:noop,lineStart:function(){lengthStream$1.point=lengthPointFirst$1},lineEnd:function(){if(lengthRing)lengthPoint$1(x00$2,y00$2);lengthStream$1.point=noop},polygonStart:function(){lengthRing=true},polygonEnd:function(){lengthRing=null},result:function(){var length=+lengthSum$1;lengthSum$1.reset();return length}};function lengthPointFirst$1(x,y){lengthStream$1.point=lengthPoint$1;x00$2=x0$4=x,y00$2=y0$4=y}function lengthPoint$1(x,y){x0$4-=x,y0$4-=y;lengthSum$1.add(sqrt(x0$4*x0$4+y0$4*y0$4));x0$4=x,y0$4=y}function PathString(){this._string=[]}PathString.prototype={_radius:4.5,_circle:circle$1(4.5),pointRadius:function(_){if((_=+_)!==this._radius)this._radius=_,this._circle=null;return this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._string.push("Z");this._point=NaN},point:function(x,y){switch(this._point){case 0:{this._string.push("M",x,",",y);this._point=1;break}case 1:{this._string.push("L",x,",",y);break}default:{if(this._circle==null)this._circle=circle$1(this._radius);this._string.push("M",x,",",y,this._circle);break}}},result:function(){if(this._string.length){var result=this._string.join("");this._string=[];return result}else{return null}}};function circle$1(radius){return"m0,"+radius+"a"+radius+","+radius+" 0 1,1 0,"+-2*radius+"a"+radius+","+radius+" 0 1,1 0,"+2*radius+"z"}function index(projection,context){var pointRadius=4.5,projectionStream,contextStream;function path(object){if(object){if(typeof pointRadius==="function")contextStream.pointRadius(+pointRadius.apply(this,arguments));geoStream(object,projectionStream(contextStream))}return contextStream.result()}path.area=function(object){geoStream(object,projectionStream(areaStream$1));return areaStream$1.result()};path.measure=function(object){geoStream(object,projectionStream(lengthStream$1));return lengthStream$1.result()};path.bounds=function(object){geoStream(object,projectionStream(boundsStream$1));return boundsStream$1.result()};path.centroid=function(object){geoStream(object,projectionStream(centroidStream$1));return centroidStream$1.result()};path.projection=function(_){return arguments.length?(projectionStream=_==null?(projection=null,identity):(projection=_).stream,path):projection};path.context=function(_){if(!arguments.length)return context;contextStream=_==null?(context=null,new PathString):new PathContext(context=_);if(typeof pointRadius!=="function")contextStream.pointRadius(pointRadius);return path};path.pointRadius=function(_){if(!arguments.length)return pointRadius;pointRadius=typeof _==="function"?_:(contextStream.pointRadius(+_),+_);return path};return path.projection(projection).context(context)}function transform(methods){return{stream:transformer(methods)}}function transformer(methods){return function(stream){var s=new TransformStream;for(var key in methods)s[key]=methods[key];s.stream=stream;return s}}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(x,y){this.stream.point(x,y)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function fit(projection,fitBounds,object){var clip=projection.clipExtent&&projection.clipExtent();projection.scale(150).translate([0,0]);if(clip!=null)projection.clipExtent(null);geoStream(object,projection.stream(boundsStream$1));fitBounds(boundsStream$1.result());if(clip!=null)projection.clipExtent(clip);return projection}function fitExtent(projection,extent,object){return fit(projection,(function(b){var w=extent[1][0]-extent[0][0],h=extent[1][1]-extent[0][1],k=Math.min(w/(b[1][0]-b[0][0]),h/(b[1][1]-b[0][1])),x=+extent[0][0]+(w-k*(b[1][0]+b[0][0]))/2,y=+extent[0][1]+(h-k*(b[1][1]+b[0][1]))/2;projection.scale(150*k).translate([x,y])}),object)}function fitSize(projection,size,object){return fitExtent(projection,[[0,0],size],object)}function fitWidth(projection,width,object){return fit(projection,(function(b){var w=+width,k=w/(b[1][0]-b[0][0]),x=(w-k*(b[1][0]+b[0][0]))/2,y=-k*b[0][1];projection.scale(150*k).translate([x,y])}),object)}function fitHeight(projection,height,object){return fit(projection,(function(b){var h=+height,k=h/(b[1][1]-b[0][1]),x=-k*b[0][0],y=(h-k*(b[1][1]+b[0][1]))/2;projection.scale(150*k).translate([x,y])}),object)}var maxDepth=16,cosMinDistance=cos(30*radians);function resample(project,delta2){return+delta2?resample$1(project,delta2):resampleNone(project)}function resampleNone(project){return transformer({point:function(x,y){x=project(x,y);this.stream.point(x[0],x[1])}})}function resample$1(project,delta2){function resampleLineTo(x0,y0,lambda0,a0,b0,c0,x1,y1,lambda1,a1,b1,c1,depth,stream){var dx=x1-x0,dy=y1-y0,d2=dx*dx+dy*dy;if(d2>4*delta2&&depth--){var a=a0+a1,b=b0+b1,c=c0+c1,m=sqrt(a*a+b*b+c*c),phi2=asin(c/=m),lambda2=abs(abs(c)-1)<epsilon||abs(lambda0-lambda1)<epsilon?(lambda0+lambda1)/2:atan2(b,a),p=project(lambda2,phi2),x2=p[0],y2=p[1],dx2=x2-x0,dy2=y2-y0,dz=dy*dx2-dx*dy2;if(dz*dz/d2>delta2||abs((dx*dx2+dy*dy2)/d2-.5)>.3||a0*a1+b0*b1+c0*c1<cosMinDistance){resampleLineTo(x0,y0,lambda0,a0,b0,c0,x2,y2,lambda2,a/=m,b/=m,c,depth,stream);stream.point(x2,y2);resampleLineTo(x2,y2,lambda2,a,b,c,x1,y1,lambda1,a1,b1,c1,depth,stream)}}}return function(stream){var lambda00,x00,y00,a00,b00,c00,lambda0,x0,y0,a0,b0,c0;var resampleStream={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){stream.polygonStart();resampleStream.lineStart=ringStart},polygonEnd:function(){stream.polygonEnd();resampleStream.lineStart=lineStart}};function point(x,y){x=project(x,y);stream.point(x[0],x[1])}function lineStart(){x0=NaN;resampleStream.point=linePoint;stream.lineStart()}function linePoint(lambda,phi){var c=cartesian([lambda,phi]),p=project(lambda,phi);resampleLineTo(x0,y0,lambda0,a0,b0,c0,x0=p[0],y0=p[1],lambda0=lambda,a0=c[0],b0=c[1],c0=c[2],maxDepth,stream);stream.point(x0,y0)}function lineEnd(){resampleStream.point=point;stream.lineEnd()}function ringStart(){lineStart();resampleStream.point=ringPoint;resampleStream.lineEnd=ringEnd}function ringPoint(lambda,phi){linePoint(lambda00=lambda,phi),x00=x0,y00=y0,a00=a0,b00=b0,c00=c0;resampleStream.point=linePoint}function ringEnd(){resampleLineTo(x0,y0,lambda0,a0,b0,c0,x00,y00,lambda00,a00,b00,c00,maxDepth,stream);resampleStream.lineEnd=lineEnd;lineEnd()}return resampleStream}}var transformRadians=transformer({point:function(x,y){this.stream.point(x*radians,y*radians)}});function transformRotate(rotate){return transformer({point:function(x,y){var r=rotate(x,y);return this.stream.point(r[0],r[1])}})}function scaleTranslate(k,dx,dy,sx,sy){function transform(x,y){x*=sx;y*=sy;return[dx+k*x,dy-k*y]}transform.invert=function(x,y){return[(x-dx)/k*sx,(dy-y)/k*sy]};return transform}function scaleTranslateRotate(k,dx,dy,sx,sy,alpha){var cosAlpha=cos(alpha),sinAlpha=sin(alpha),a=cosAlpha*k,b=sinAlpha*k,ai=cosAlpha/k,bi=sinAlpha/k,ci=(sinAlpha*dy-cosAlpha*dx)/k,fi=(sinAlpha*dx+cosAlpha*dy)/k;function transform(x,y){x*=sx;y*=sy;return[a*x-b*y+dx,dy-b*x-a*y]}transform.invert=function(x,y){return[sx*(ai*x-bi*y+ci),sy*(fi-bi*x-ai*y)]};return transform}function projection(project){return projectionMutator((function(){return project}))()}function projectionMutator(projectAt){var project,k=150,x=480,y=250,lambda=0,phi=0,deltaLambda=0,deltaPhi=0,deltaGamma=0,rotate,alpha=0,sx=1,sy=1,theta=null,preclip=clipAntimeridian,x0=null,y0,x1,y1,postclip=identity,delta2=.5,projectResample,projectTransform,projectRotateTransform,cache,cacheStream;function projection(point){return projectRotateTransform(point[0]*radians,point[1]*radians)}function invert(point){point=projectRotateTransform.invert(point[0],point[1]);return point&&[point[0]*degrees,point[1]*degrees]}projection.stream=function(stream){return cache&&cacheStream===stream?cache:cache=transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream=stream)))))};projection.preclip=function(_){return arguments.length?(preclip=_,theta=undefined,reset()):preclip};projection.postclip=function(_){return arguments.length?(postclip=_,x0=y0=x1=y1=null,reset()):postclip};projection.clipAngle=function(_){return arguments.length?(preclip=+_?clipCircle(theta=_*radians):(theta=null,clipAntimeridian),reset()):theta*degrees};projection.clipExtent=function(_){return arguments.length?(postclip=_==null?(x0=y0=x1=y1=null,identity):clipRectangle(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]),reset()):x0==null?null:[[x0,y0],[x1,y1]]};projection.scale=function(_){return arguments.length?(k=+_,recenter()):k};projection.translate=function(_){return arguments.length?(x=+_[0],y=+_[1],recenter()):[x,y]};projection.center=function(_){return arguments.length?(lambda=_[0]%360*radians,phi=_[1]%360*radians,recenter()):[lambda*degrees,phi*degrees]};projection.rotate=function(_){return arguments.length?(deltaLambda=_[0]%360*radians,deltaPhi=_[1]%360*radians,deltaGamma=_.length>2?_[2]%360*radians:0,recenter()):[deltaLambda*degrees,deltaPhi*degrees,deltaGamma*degrees]};projection.angle=function(_){return arguments.length?(alpha=_%360*radians,recenter()):alpha*degrees};projection.reflectX=function(_){return arguments.length?(sx=_?-1:1,recenter()):sx<0};projection.reflectY=function(_){return arguments.length?(sy=_?-1:1,recenter()):sy<0};projection.precision=function(_){return arguments.length?(projectResample=resample(projectTransform,delta2=_*_),reset()):sqrt(delta2)};projection.fitExtent=function(extent,object){return fitExtent(projection,extent,object)};projection.fitSize=function(size,object){return fitSize(projection,size,object)};projection.fitWidth=function(width,object){return fitWidth(projection,width,object)};projection.fitHeight=function(height,object){return fitHeight(projection,height,object)};function recenter(){var center=scaleTranslateRotate(k,0,0,sx,sy,alpha).apply(null,project(lambda,phi)),transform=(alpha?scaleTranslateRotate:scaleTranslate)(k,x-center[0],y-center[1],sx,sy,alpha);rotate=rotateRadians(deltaLambda,deltaPhi,deltaGamma);projectTransform=compose(project,transform);projectRotateTransform=compose(rotate,projectTransform);projectResample=resample(projectTransform,delta2);return reset()}function reset(){cache=cacheStream=null;return projection}return function(){project=projectAt.apply(this,arguments);projection.invert=project.invert&&invert;return recenter()}}function conicProjection(projectAt){var phi0=0,phi1=pi/3,m=projectionMutator(projectAt),p=m(phi0,phi1);p.parallels=function(_){return arguments.length?m(phi0=_[0]*radians,phi1=_[1]*radians):[phi0*degrees,phi1*degrees]};return p}function cylindricalEqualAreaRaw(phi0){var cosPhi0=cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,sin(phi)/cosPhi0]}forward.invert=function(x,y){return[x/cosPhi0,asin(y*cosPhi0)]};return forward}function conicEqualAreaRaw(y0,y1){var sy0=sin(y0),n=(sy0+sin(y1))/2;if(abs(n)<epsilon)return cylindricalEqualAreaRaw(y0);var c=1+sy0*(2*n-sy0),r0=sqrt(c)/n;function project(x,y){var r=sqrt(c-2*n*sin(y))/n;return[r*sin(x*=n),r0-r*cos(x)]}project.invert=function(x,y){var r0y=r0-y,l=atan2(x,abs(r0y))*sign(r0y);if(r0y*n<0)l-=pi*sign(x)*sign(r0y);return[l/n,asin((c-(x*x+r0y*r0y)*n*n)/(2*n))]};return project}function conicEqualArea(){return conicProjection(conicEqualAreaRaw).scale(155.424).center([0,33.6442])}function albers(){return conicEqualArea().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function multiplex(streams){var n=streams.length;return{point:function(x,y){var i=-1;while(++i<n)streams[i].point(x,y)},sphere:function(){var i=-1;while(++i<n)streams[i].sphere()},lineStart:function(){var i=-1;while(++i<n)streams[i].lineStart()},lineEnd:function(){var i=-1;while(++i<n)streams[i].lineEnd()},polygonStart:function(){var i=-1;while(++i<n)streams[i].polygonStart()},polygonEnd:function(){var i=-1;while(++i<n)streams[i].polygonEnd()}}}function albersUsa(){var cache,cacheStream,lower48=albers(),lower48Point,alaska=conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),alaskaPoint,hawaii=conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),hawaiiPoint,point,pointStream={point:function(x,y){point=[x,y]}};function albersUsa(coordinates){var x=coordinates[0],y=coordinates[1];return point=null,(lower48Point.point(x,y),point)||(alaskaPoint.point(x,y),point)||(hawaiiPoint.point(x,y),point)}albersUsa.invert=function(coordinates){var k=lower48.scale(),t=lower48.translate(),x=(coordinates[0]-t[0])/k,y=(coordinates[1]-t[1])/k;return(y>=.12&&y<.234&&x>=-.425&&x<-.214?alaska:y>=.166&&y<.234&&x>=-.214&&x<-.115?hawaii:lower48).invert(coordinates)};albersUsa.stream=function(stream){return cache&&cacheStream===stream?cache:cache=multiplex([lower48.stream(cacheStream=stream),alaska.stream(stream),hawaii.stream(stream)])};albersUsa.precision=function(_){if(!arguments.length)return lower48.precision();lower48.precision(_),alaska.precision(_),hawaii.precision(_);return reset()};albersUsa.scale=function(_){if(!arguments.length)return lower48.scale();lower48.scale(_),alaska.scale(_*.35),hawaii.scale(_);return albersUsa.translate(lower48.translate())};albersUsa.translate=function(_){if(!arguments.length)return lower48.translate();var k=lower48.scale(),x=+_[0],y=+_[1];lower48Point=lower48.translate(_).clipExtent([[x-.455*k,y-.238*k],[x+.455*k,y+.238*k]]).stream(pointStream);alaskaPoint=alaska.translate([x-.307*k,y+.201*k]).clipExtent([[x-.425*k+epsilon,y+.12*k+epsilon],[x-.214*k-epsilon,y+.234*k-epsilon]]).stream(pointStream);hawaiiPoint=hawaii.translate([x-.205*k,y+.212*k]).clipExtent([[x-.214*k+epsilon,y+.166*k+epsilon],[x-.115*k-epsilon,y+.234*k-epsilon]]).stream(pointStream);return reset()};albersUsa.fitExtent=function(extent,object){return fitExtent(albersUsa,extent,object)};albersUsa.fitSize=function(size,object){return fitSize(albersUsa,size,object)};albersUsa.fitWidth=function(width,object){return fitWidth(albersUsa,width,object)};albersUsa.fitHeight=function(height,object){return fitHeight(albersUsa,height,object)};function reset(){cache=cacheStream=null;return albersUsa}return albersUsa.scale(1070)}function azimuthalRaw(scale){return function(x,y){var cx=cos(x),cy=cos(y),k=scale(cx*cy);return[k*cy*sin(x),k*sin(y)]}}function azimuthalInvert(angle){return function(x,y){var z=sqrt(x*x+y*y),c=angle(z),sc=sin(c),cc=cos(c);return[atan2(x*sc,z*cc),asin(z&&y*sc/z)]}}var azimuthalEqualAreaRaw=azimuthalRaw((function(cxcy){return sqrt(2/(1+cxcy))}));azimuthalEqualAreaRaw.invert=azimuthalInvert((function(z){return 2*asin(z/2)}));function azimuthalEqualArea(){return projection(azimuthalEqualAreaRaw).scale(124.75).clipAngle(180-.001)}var azimuthalEquidistantRaw=azimuthalRaw((function(c){return(c=acos(c))&&c/sin(c)}));azimuthalEquidistantRaw.invert=azimuthalInvert((function(z){return z}));function azimuthalEquidistant(){return projection(azimuthalEquidistantRaw).scale(79.4188).clipAngle(180-.001)}function mercatorRaw(lambda,phi){return[lambda,log(tan((halfPi+phi)/2))]}mercatorRaw.invert=function(x,y){return[x,2*atan(exp(y))-halfPi]};function mercator(){return mercatorProjection(mercatorRaw).scale(961/tau)}function mercatorProjection(project){var m=projection(project),center=m.center,scale=m.scale,translate=m.translate,clipExtent=m.clipExtent,x0=null,y0,x1,y1;m.scale=function(_){return arguments.length?(scale(_),reclip()):scale()};m.translate=function(_){return arguments.length?(translate(_),reclip()):translate()};m.center=function(_){return arguments.length?(center(_),reclip()):center()};m.clipExtent=function(_){return arguments.length?(_==null?x0=y0=x1=y1=null:(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]),reclip()):x0==null?null:[[x0,y0],[x1,y1]]};function reclip(){var k=pi*scale(),t=m(rotation(m.rotate()).invert([0,0]));return clipExtent(x0==null?[[t[0]-k,t[1]-k],[t[0]+k,t[1]+k]]:project===mercatorRaw?[[Math.max(t[0]-k,x0),y0],[Math.min(t[0]+k,x1),y1]]:[[x0,Math.max(t[1]-k,y0)],[x1,Math.min(t[1]+k,y1)]])}return reclip()}function tany(y){return tan((halfPi+y)/2)}function conicConformalRaw(y0,y1){var cy0=cos(y0),n=y0===y1?sin(y0):log(cy0/cos(y1))/log(tany(y1)/tany(y0)),f=cy0*pow(tany(y0),n)/n;if(!n)return mercatorRaw;function project(x,y){if(f>0){if(y<-halfPi+epsilon)y=-halfPi+epsilon}else{if(y>halfPi-epsilon)y=halfPi-epsilon}var r=f/pow(tany(y),n);return[r*sin(n*x),f-r*cos(n*x)]}project.invert=function(x,y){var fy=f-y,r=sign(n)*sqrt(x*x+fy*fy),l=atan2(x,abs(fy))*sign(fy);if(fy*n<0)l-=pi*sign(x)*sign(fy);return[l/n,2*atan(pow(f/r,1/n))-halfPi]};return project}function conicConformal(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30])}function equirectangularRaw(lambda,phi){return[lambda,phi]}equirectangularRaw.invert=equirectangularRaw;function equirectangular(){return projection(equirectangularRaw).scale(152.63)}function conicEquidistantRaw(y0,y1){var cy0=cos(y0),n=y0===y1?sin(y0):(cy0-cos(y1))/(y1-y0),g=cy0/n+y0;if(abs(n)<epsilon)return equirectangularRaw;function project(x,y){var gy=g-y,nx=n*x;return[gy*sin(nx),g-gy*cos(nx)]}project.invert=function(x,y){var gy=g-y,l=atan2(x,abs(gy))*sign(gy);if(gy*n<0)l-=pi*sign(x)*sign(gy);return[l/n,g-sign(n)*sqrt(x*x+gy*gy)]};return project}function conicEquidistant(){return conicProjection(conicEquidistantRaw).scale(131.154).center([0,13.9389])}var A1=1.340264,A2=-.081106,A3=893e-6,A4=.003796,M=sqrt(3)/2,iterations=12;function equalEarthRaw(lambda,phi){var l=asin(M*sin(phi)),l2=l*l,l6=l2*l2*l2;return[lambda*cos(l)/(M*(A1+3*A2*l2+l6*(7*A3+9*A4*l2))),l*(A1+A2*l2+l6*(A3+A4*l2))]}equalEarthRaw.invert=function(x,y){var l=y,l2=l*l,l6=l2*l2*l2;for(var i=0,delta,fy,fpy;i<iterations;++i){fy=l*(A1+A2*l2+l6*(A3+A4*l2))-y;fpy=A1+3*A2*l2+l6*(7*A3+9*A4*l2);l-=delta=fy/fpy,l2=l*l,l6=l2*l2*l2;if(abs(delta)<epsilon2)break}return[M*x*(A1+3*A2*l2+l6*(7*A3+9*A4*l2))/cos(l),asin(sin(l)/M)]};function equalEarth(){return projection(equalEarthRaw).scale(177.158)}function gnomonicRaw(x,y){var cy=cos(y),k=cos(x)*cy;return[cy*sin(x)/k,sin(y)/k]}gnomonicRaw.invert=azimuthalInvert(atan);function gnomonic(){return projection(gnomonicRaw).scale(144.049).clipAngle(60)}function identity$1(){var k=1,tx=0,ty=0,sx=1,sy=1,alpha=0,ca,sa,x0=null,y0,x1,y1,kx=1,ky=1,transform=transformer({point:function(x,y){var p=projection([x,y]);this.stream.point(p[0],p[1])}}),postclip=identity,cache,cacheStream;function reset(){kx=k*sx;ky=k*sy;cache=cacheStream=null;return projection}function projection(p){var x=p[0]*kx,y=p[1]*ky;if(alpha){var t=y*ca-x*sa;x=x*ca+y*sa;y=t}return[x+tx,y+ty]}projection.invert=function(p){var x=p[0]-tx,y=p[1]-ty;if(alpha){var t=y*ca+x*sa;x=x*ca-y*sa;y=t}return[x/kx,y/ky]};projection.stream=function(stream){return cache&&cacheStream===stream?cache:cache=transform(postclip(cacheStream=stream))};projection.postclip=function(_){return arguments.length?(postclip=_,x0=y0=x1=y1=null,reset()):postclip};projection.clipExtent=function(_){return arguments.length?(postclip=_==null?(x0=y0=x1=y1=null,identity):clipRectangle(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]),reset()):x0==null?null:[[x0,y0],[x1,y1]]};projection.scale=function(_){return arguments.length?(k=+_,reset()):k};projection.translate=function(_){return arguments.length?(tx=+_[0],ty=+_[1],reset()):[tx,ty]};projection.angle=function(_){return arguments.length?(alpha=_%360*radians,sa=sin(alpha),ca=cos(alpha),reset()):alpha*degrees};projection.reflectX=function(_){return arguments.length?(sx=_?-1:1,reset()):sx<0};projection.reflectY=function(_){return arguments.length?(sy=_?-1:1,reset()):sy<0};projection.fitExtent=function(extent,object){return fitExtent(projection,extent,object)};projection.fitSize=function(size,object){return fitSize(projection,size,object)};projection.fitWidth=function(width,object){return fitWidth(projection,width,object)};projection.fitHeight=function(height,object){return fitHeight(projection,height,object)};return projection}function naturalEarth1Raw(lambda,phi){var phi2=phi*phi,phi4=phi2*phi2;return[lambda*(.8707-.131979*phi2+phi4*(-.013791+phi4*(.003971*phi2-.001529*phi4))),phi*(1.007226+phi2*(.015085+phi4*(-.044475+.028874*phi2-.005916*phi4)))]}naturalEarth1Raw.invert=function(x,y){var phi=y,i=25,delta;do{var phi2=phi*phi,phi4=phi2*phi2;phi-=delta=(phi*(1.007226+phi2*(.015085+phi4*(-.044475+.028874*phi2-.005916*phi4)))-y)/(1.007226+phi2*(.015085*3+phi4*(-.044475*7+.028874*9*phi2-.005916*11*phi4)))}while(abs(delta)>epsilon&&--i>0);return[x/(.8707+(phi2=phi*phi)*(-.131979+phi2*(-.013791+phi2*phi2*phi2*(.003971-.001529*phi2)))),phi]};function naturalEarth1(){return projection(naturalEarth1Raw).scale(175.295)}function orthographicRaw(x,y){return[cos(y)*sin(x),sin(y)]}orthographicRaw.invert=azimuthalInvert(asin);function orthographic(){return projection(orthographicRaw).scale(249.5).clipAngle(90+epsilon)}function stereographicRaw(x,y){var cy=cos(y),k=1+cos(x)*cy;return[cy*sin(x)/k,sin(y)/k]}stereographicRaw.invert=azimuthalInvert((function(z){return 2*atan(z)}));function stereographic(){return projection(stereographicRaw).scale(250).clipAngle(142)}function transverseMercatorRaw(lambda,phi){return[log(tan((halfPi+phi)/2)),-lambda]}transverseMercatorRaw.invert=function(x,y){return[-y,2*atan(exp(x))-halfPi]};function transverseMercator(){var m=mercatorProjection(transverseMercatorRaw),center=m.center,rotate=m.rotate;m.center=function(_){return arguments.length?center([-_[1],_[0]]):(_=center(),[_[1],-_[0]])};m.rotate=function(_){return arguments.length?rotate([_[0],_[1],_.length>2?_[2]+90:90]):(_=rotate(),[_[0],_[1],_[2]-90])};return rotate([0,0,90]).scale(159.155)}exports.geoAlbers=albers;exports.geoAlbersUsa=albersUsa;exports.geoArea=area;exports.geoAzimuthalEqualArea=azimuthalEqualArea;exports.geoAzimuthalEqualAreaRaw=azimuthalEqualAreaRaw;exports.geoAzimuthalEquidistant=azimuthalEquidistant;exports.geoAzimuthalEquidistantRaw=azimuthalEquidistantRaw;exports.geoBounds=bounds;exports.geoCentroid=centroid;exports.geoCircle=circle;exports.geoClipAntimeridian=clipAntimeridian;exports.geoClipCircle=clipCircle;exports.geoClipExtent=extent;exports.geoClipRectangle=clipRectangle;exports.geoConicConformal=conicConformal;exports.geoConicConformalRaw=conicConformalRaw;exports.geoConicEqualArea=conicEqualArea;exports.geoConicEqualAreaRaw=conicEqualAreaRaw;exports.geoConicEquidistant=conicEquidistant;exports.geoConicEquidistantRaw=conicEquidistantRaw;exports.geoContains=contains;exports.geoDistance=distance;exports.geoEqualEarth=equalEarth;exports.geoEqualEarthRaw=equalEarthRaw;exports.geoEquirectangular=equirectangular;exports.geoEquirectangularRaw=equirectangularRaw;exports.geoGnomonic=gnomonic;exports.geoGnomonicRaw=gnomonicRaw;exports.geoGraticule=graticule;exports.geoGraticule10=graticule10;exports.geoIdentity=identity$1;exports.geoInterpolate=interpolate;exports.geoLength=length;exports.geoMercator=mercator;exports.geoMercatorRaw=mercatorRaw;exports.geoNaturalEarth1=naturalEarth1;exports.geoNaturalEarth1Raw=naturalEarth1Raw;exports.geoOrthographic=orthographic;exports.geoOrthographicRaw=orthographicRaw;exports.geoPath=index;exports.geoProjection=projection;exports.geoProjectionMutator=projectionMutator;exports.geoRotation=rotation;exports.geoStereographic=stereographic;exports.geoStereographicRaw=stereographicRaw;exports.geoStream=geoStream;exports.geoTransform=transform;exports.geoTransverseMercator=transverseMercator;exports.geoTransverseMercatorRaw=transverseMercatorRaw;Object.defineProperty(exports,"__esModule",{value:true})}))},{"d3-array":162}],170:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.d3=global.d3||{}))})(this,(function(exports){"use strict";function defaultSeparation(a,b){return a.parent===b.parent?1:2}function meanX(children){return children.reduce(meanXReduce,0)/children.length}function meanXReduce(x,c){return x+c.x}function maxY(children){return 1+children.reduce(maxYReduce,0)}function maxYReduce(y,c){return Math.max(y,c.y)}function leafLeft(node){var children;while(children=node.children)node=children[0];return node}function leafRight(node){var children;while(children=node.children)node=children[children.length-1];return node}function cluster(){var separation=defaultSeparation,dx=1,dy=1,nodeSize=false;function cluster(root){var previousNode,x=0;root.eachAfter((function(node){var children=node.children;if(children){node.x=meanX(children);node.y=maxY(children)}else{node.x=previousNode?x+=separation(node,previousNode):0;node.y=0;previousNode=node}}));var left=leafLeft(root),right=leafRight(root),x0=left.x-separation(left,right)/2,x1=right.x+separation(right,left)/2;return root.eachAfter(nodeSize?function(node){node.x=(node.x-root.x)*dx;node.y=(root.y-node.y)*dy}:function(node){node.x=(node.x-x0)/(x1-x0)*dx;node.y=(1-(root.y?node.y/root.y:1))*dy})}cluster.separation=function(x){return arguments.length?(separation=x,cluster):separation};cluster.size=function(x){return arguments.length?(nodeSize=false,dx=+x[0],dy=+x[1],cluster):nodeSize?null:[dx,dy]};cluster.nodeSize=function(x){return arguments.length?(nodeSize=true,dx=+x[0],dy=+x[1],cluster):nodeSize?[dx,dy]:null};return cluster}function count(node){var sum=0,children=node.children,i=children&&children.length;if(!i)sum=1;else while(--i>=0)sum+=children[i].value;node.value=sum}function node_count(){return this.eachAfter(count)}function node_each(callback){var node=this,current,next=[node],children,i,n;do{current=next.reverse(),next=[];while(node=current.pop()){callback(node),children=node.children;if(children)for(i=0,n=children.length;i<n;++i){next.push(children[i])}}}while(next.length);return this}function node_eachBefore(callback){var node=this,nodes=[node],children,i;while(node=nodes.pop()){callback(node),children=node.children;if(children)for(i=children.length-1;i>=0;--i){nodes.push(children[i])}}return this}function node_eachAfter(callback){var node=this,nodes=[node],next=[],children,i,n;while(node=nodes.pop()){next.push(node),children=node.children;if(children)for(i=0,n=children.length;i<n;++i){nodes.push(children[i])}}while(node=next.pop()){callback(node)}return this}function node_sum(value){return this.eachAfter((function(node){var sum=+value(node.data)||0,children=node.children,i=children&&children.length;while(--i>=0)sum+=children[i].value;node.value=sum}))}function node_sort(compare){return this.eachBefore((function(node){if(node.children){node.children.sort(compare)}}))}function node_path(end){var start=this,ancestor=leastCommonAncestor(start,end),nodes=[start];while(start!==ancestor){start=start.parent;nodes.push(start)}var k=nodes.length;while(end!==ancestor){nodes.splice(k,0,end);end=end.parent}return nodes}function leastCommonAncestor(a,b){if(a===b)return a;var aNodes=a.ancestors(),bNodes=b.ancestors(),c=null;a=aNodes.pop();b=bNodes.pop();while(a===b){c=a;a=aNodes.pop();b=bNodes.pop()}return c}function node_ancestors(){var node=this,nodes=[node];while(node=node.parent){nodes.push(node)}return nodes}function node_descendants(){var nodes=[];this.each((function(node){nodes.push(node)}));return nodes}function node_leaves(){var leaves=[];this.eachBefore((function(node){if(!node.children){leaves.push(node)}}));return leaves}function node_links(){var root=this,links=[];root.each((function(node){if(node!==root){links.push({source:node.parent,target:node})}}));return links}function hierarchy(data,children){var root=new Node(data),valued=+data.value&&(root.value=data.value),node,nodes=[root],child,childs,i,n;if(children==null)children=defaultChildren;while(node=nodes.pop()){if(valued)node.value=+node.data.value;if((childs=children(node.data))&&(n=childs.length)){node.children=new Array(n);for(i=n-1;i>=0;--i){nodes.push(child=node.children[i]=new Node(childs[i]));child.parent=node;child.depth=node.depth+1}}}return root.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function defaultChildren(d){return d.children}function copyData(node){node.data=node.data.data}function computeHeight(node){var height=0;do{node.height=height}while((node=node.parent)&&node.height<++height)}function Node(data){this.data=data;this.depth=this.height=0;this.parent=null}Node.prototype=hierarchy.prototype={constructor:Node,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy};var slice=Array.prototype.slice;function shuffle(array){var m=array.length,t,i;while(m){i=Math.random()*m--|0;t=array[m];array[m]=array[i];array[i]=t}return array}function enclose(circles){var i=0,n=(circles=shuffle(slice.call(circles))).length,B=[],p,e;while(i<n){p=circles[i];if(e&&enclosesWeak(e,p))++i;else e=encloseBasis(B=extendBasis(B,p)),i=0}return e}function extendBasis(B,p){var i,j;if(enclosesWeakAll(p,B))return[p];for(i=0;i<B.length;++i){if(enclosesNot(p,B[i])&&enclosesWeakAll(encloseBasis2(B[i],p),B)){return[B[i],p]}}for(i=0;i<B.length-1;++i){for(j=i+1;j<B.length;++j){if(enclosesNot(encloseBasis2(B[i],B[j]),p)&&enclosesNot(encloseBasis2(B[i],p),B[j])&&enclosesNot(encloseBasis2(B[j],p),B[i])&&enclosesWeakAll(encloseBasis3(B[i],B[j],p),B)){return[B[i],B[j],p]}}}throw new Error}function enclosesNot(a,b){var dr=a.r-b.r,dx=b.x-a.x,dy=b.y-a.y;return dr<0||dr*dr<dx*dx+dy*dy}function enclosesWeak(a,b){var dr=a.r-b.r+1e-6,dx=b.x-a.x,dy=b.y-a.y;return dr>0&&dr*dr>dx*dx+dy*dy}function enclosesWeakAll(a,B){for(var i=0;i<B.length;++i){if(!enclosesWeak(a,B[i])){return false}}return true}function encloseBasis(B){switch(B.length){case 1:return encloseBasis1(B[0]);case 2:return encloseBasis2(B[0],B[1]);case 3:return encloseBasis3(B[0],B[1],B[2])}}function encloseBasis1(a){return{x:a.x,y:a.y,r:a.r}}function encloseBasis2(a,b){var x1=a.x,y1=a.y,r1=a.r,x2=b.x,y2=b.y,r2=b.r,x21=x2-x1,y21=y2-y1,r21=r2-r1,l=Math.sqrt(x21*x21+y21*y21);return{x:(x1+x2+x21/l*r21)/2,y:(y1+y2+y21/l*r21)/2,r:(l+r1+r2)/2}}function encloseBasis3(a,b,c){var x1=a.x,y1=a.y,r1=a.r,x2=b.x,y2=b.y,r2=b.r,x3=c.x,y3=c.y,r3=c.r,a2=x1-x2,a3=x1-x3,b2=y1-y2,b3=y1-y3,c2=r2-r1,c3=r3-r1,d1=x1*x1+y1*y1-r1*r1,d2=d1-x2*x2-y2*y2+r2*r2,d3=d1-x3*x3-y3*y3+r3*r3,ab=a3*b2-a2*b3,xa=(b2*d3-b3*d2)/(ab*2)-x1,xb=(b3*c2-b2*c3)/ab,ya=(a3*d2-a2*d3)/(ab*2)-y1,yb=(a2*c3-a3*c2)/ab,A=xb*xb+yb*yb-1,B=2*(r1+xa*xb+ya*yb),C=xa*xa+ya*ya-r1*r1,r=-(A?(B+Math.sqrt(B*B-4*A*C))/(2*A):C/B);return{x:x1+xa+xb*r,y:y1+ya+yb*r,r:r}}function place(b,a,c){var dx=b.x-a.x,x,a2,dy=b.y-a.y,y,b2,d2=dx*dx+dy*dy;if(d2){a2=a.r+c.r,a2*=a2;b2=b.r+c.r,b2*=b2;if(a2>b2){x=(d2+b2-a2)/(2*d2);y=Math.sqrt(Math.max(0,b2/d2-x*x));c.x=b.x-x*dx-y*dy;c.y=b.y-x*dy+y*dx}else{x=(d2+a2-b2)/(2*d2);y=Math.sqrt(Math.max(0,a2/d2-x*x));c.x=a.x+x*dx-y*dy;c.y=a.y+x*dy+y*dx}}else{c.x=a.x+c.r;c.y=a.y}}function intersects(a,b){var dr=a.r+b.r-1e-6,dx=b.x-a.x,dy=b.y-a.y;return dr>0&&dr*dr>dx*dx+dy*dy}function score(node){var a=node._,b=node.next._,ab=a.r+b.r,dx=(a.x*b.r+b.x*a.r)/ab,dy=(a.y*b.r+b.y*a.r)/ab;return dx*dx+dy*dy}function Node$1(circle){this._=circle;this.next=null;this.previous=null}function packEnclose(circles){if(!(n=circles.length))return 0;var a,b,c,n,aa,ca,i,j,k,sj,sk;a=circles[0],a.x=0,a.y=0;if(!(n>1))return a.r;b=circles[1],a.x=-b.r,b.x=a.r,b.y=0;if(!(n>2))return a.r+b.r;place(b,a,c=circles[2]);a=new Node$1(a),b=new Node$1(b),c=new Node$1(c);a.next=c.previous=b;b.next=a.previous=c;c.next=b.previous=a;pack:for(i=3;i<n;++i){place(a._,b._,c=circles[i]),c=new Node$1(c);j=b.next,k=a.previous,sj=b._.r,sk=a._.r;do{if(sj<=sk){if(intersects(j._,c._)){b=j,a.next=b,b.previous=a,--i;continue pack}sj+=j._.r,j=j.next}else{if(intersects(k._,c._)){a=k,a.next=b,b.previous=a,--i;continue pack}sk+=k._.r,k=k.previous}}while(j!==k.next);c.previous=a,c.next=b,a.next=b.previous=b=c;aa=score(a);while((c=c.next)!==b){if((ca=score(c))<aa){a=c,aa=ca}}b=a.next}a=[b._],c=b;while((c=c.next)!==b)a.push(c._);c=enclose(a);for(i=0;i<n;++i)a=circles[i],a.x-=c.x,a.y-=c.y;return c.r}function siblings(circles){packEnclose(circles);return circles}function optional(f){return f==null?null:required(f)}function required(f){if(typeof f!=="function")throw new Error;return f}function constantZero(){return 0}function constant(x){return function(){return x}}function defaultRadius(d){return Math.sqrt(d.value)}function index(){var radius=null,dx=1,dy=1,padding=constantZero;function pack(root){root.x=dx/2,root.y=dy/2;if(radius){root.eachBefore(radiusLeaf(radius)).eachAfter(packChildren(padding,.5)).eachBefore(translateChild(1))}else{root.eachBefore(radiusLeaf(defaultRadius)).eachAfter(packChildren(constantZero,1)).eachAfter(packChildren(padding,root.r/Math.min(dx,dy))).eachBefore(translateChild(Math.min(dx,dy)/(2*root.r)))}return root}pack.radius=function(x){return arguments.length?(radius=optional(x),pack):radius};pack.size=function(x){return arguments.length?(dx=+x[0],dy=+x[1],pack):[dx,dy]};pack.padding=function(x){return arguments.length?(padding=typeof x==="function"?x:constant(+x),pack):padding};return pack}function radiusLeaf(radius){return function(node){if(!node.children){node.r=Math.max(0,+radius(node)||0)}}}function packChildren(padding,k){return function(node){if(children=node.children){var children,i,n=children.length,r=padding(node)*k||0,e;if(r)for(i=0;i<n;++i)children[i].r+=r;e=packEnclose(children);if(r)for(i=0;i<n;++i)children[i].r-=r;node.r=e+r}}}function translateChild(k){return function(node){var parent=node.parent;node.r*=k;if(parent){node.x=parent.x+k*node.x;node.y=parent.y+k*node.y}}}function roundNode(node){node.x0=Math.round(node.x0);node.y0=Math.round(node.y0);node.x1=Math.round(node.x1);node.y1=Math.round(node.y1)}function treemapDice(parent,x0,y0,x1,y1){var nodes=parent.children,node,i=-1,n=nodes.length,k=parent.value&&(x1-x0)/parent.value;while(++i<n){node=nodes[i],node.y0=y0,node.y1=y1;node.x0=x0,node.x1=x0+=node.value*k}}function partition(){var dx=1,dy=1,padding=0,round=false;function partition(root){var n=root.height+1;root.x0=root.y0=padding;root.x1=dx;root.y1=dy/n;root.eachBefore(positionNode(dy,n));if(round)root.eachBefore(roundNode);return root}function positionNode(dy,n){return function(node){if(node.children){treemapDice(node,node.x0,dy*(node.depth+1)/n,node.x1,dy*(node.depth+2)/n)}var x0=node.x0,y0=node.y0,x1=node.x1-padding,y1=node.y1-padding;if(x1<x0)x0=x1=(x0+x1)/2;if(y1<y0)y0=y1=(y0+y1)/2;node.x0=x0;node.y0=y0;node.x1=x1;node.y1=y1}}partition.round=function(x){return arguments.length?(round=!!x,partition):round};partition.size=function(x){return arguments.length?(dx=+x[0],dy=+x[1],partition):[dx,dy]};partition.padding=function(x){return arguments.length?(padding=+x,partition):padding};return partition}var keyPrefix="$",preroot={depth:-1},ambiguous={};function defaultId(d){return d.id}function defaultParentId(d){return d.parentId}function stratify(){var id=defaultId,parentId=defaultParentId;function stratify(data){var d,i,n=data.length,root,parent,node,nodes=new Array(n),nodeId,nodeKey,nodeByKey={};for(i=0;i<n;++i){d=data[i],node=nodes[i]=new Node(d);if((nodeId=id(d,i,data))!=null&&(nodeId+="")){nodeKey=keyPrefix+(node.id=nodeId);nodeByKey[nodeKey]=nodeKey in nodeByKey?ambiguous:node}}for(i=0;i<n;++i){node=nodes[i],nodeId=parentId(data[i],i,data);if(nodeId==null||!(nodeId+="")){if(root)throw new Error("multiple roots");root=node}else{parent=nodeByKey[keyPrefix+nodeId];if(!parent)throw new Error("missing: "+nodeId);if(parent===ambiguous)throw new Error("ambiguous: "+nodeId);if(parent.children)parent.children.push(node);else parent.children=[node];node.parent=parent}}if(!root)throw new Error("no root");root.parent=preroot;root.eachBefore((function(node){node.depth=node.parent.depth+1;--n})).eachBefore(computeHeight);root.parent=null;if(n>0)throw new Error("cycle");return root}stratify.id=function(x){return arguments.length?(id=required(x),stratify):id};stratify.parentId=function(x){return arguments.length?(parentId=required(x),stratify):parentId};return stratify}function defaultSeparation$1(a,b){return a.parent===b.parent?1:2}function nextLeft(v){var children=v.children;return children?children[0]:v.t}function nextRight(v){var children=v.children;return children?children[children.length-1]:v.t}function moveSubtree(wm,wp,shift){var change=shift/(wp.i-wm.i);wp.c-=change;wp.s+=shift;wm.c+=change;wp.z+=shift;wp.m+=shift}function executeShifts(v){var shift=0,change=0,children=v.children,i=children.length,w;while(--i>=0){w=children[i];w.z+=shift;w.m+=shift;shift+=w.s+(change+=w.c)}}function nextAncestor(vim,v,ancestor){return vim.a.parent===v.parent?vim.a:ancestor}function TreeNode(node,i){this._=node;this.parent=null;this.children=null;this.A=null;this.a=this;this.z=0;this.m=0;this.c=0;this.s=0;this.t=null;this.i=i}TreeNode.prototype=Object.create(Node.prototype);function treeRoot(root){var tree=new TreeNode(root,0),node,nodes=[tree],child,children,i,n;while(node=nodes.pop()){if(children=node._.children){node.children=new Array(n=children.length);for(i=n-1;i>=0;--i){nodes.push(child=node.children[i]=new TreeNode(children[i],i));child.parent=node}}}(tree.parent=new TreeNode(null,0)).children=[tree];return tree}function tree(){var separation=defaultSeparation$1,dx=1,dy=1,nodeSize=null;function tree(root){var t=treeRoot(root);t.eachAfter(firstWalk),t.parent.m=-t.z;t.eachBefore(secondWalk);if(nodeSize)root.eachBefore(sizeNode);else{var left=root,right=root,bottom=root;root.eachBefore((function(node){if(node.x<left.x)left=node;if(node.x>right.x)right=node;if(node.depth>bottom.depth)bottom=node}));var s=left===right?1:separation(left,right)/2,tx=s-left.x,kx=dx/(right.x+s+tx),ky=dy/(bottom.depth||1);root.eachBefore((function(node){node.x=(node.x+tx)*kx;node.y=node.depth*ky}))}return root}function firstWalk(v){var children=v.children,siblings=v.parent.children,w=v.i?siblings[v.i-1]:null;if(children){executeShifts(v);var midpoint=(children[0].z+children[children.length-1].z)/2;if(w){v.z=w.z+separation(v._,w._);v.m=v.z-midpoint}else{v.z=midpoint}}else if(w){v.z=w.z+separation(v._,w._)}v.parent.A=apportion(v,w,v.parent.A||siblings[0])}function secondWalk(v){v._.x=v.z+v.parent.m;v.m+=v.parent.m}function apportion(v,w,ancestor){if(w){var vip=v,vop=v,vim=w,vom=vip.parent.children[0],sip=vip.m,sop=vop.m,sim=vim.m,som=vom.m,shift;while(vim=nextRight(vim),vip=nextLeft(vip),vim&&vip){vom=nextLeft(vom);vop=nextRight(vop);vop.a=v;shift=vim.z+sim-vip.z-sip+separation(vim._,vip._);if(shift>0){moveSubtree(nextAncestor(vim,v,ancestor),v,shift);sip+=shift;sop+=shift}sim+=vim.m;sip+=vip.m;som+=vom.m;sop+=vop.m}if(vim&&!nextRight(vop)){vop.t=vim;vop.m+=sim-sop}if(vip&&!nextLeft(vom)){vom.t=vip;vom.m+=sip-som;ancestor=v}}return ancestor}function sizeNode(node){node.x*=dx;node.y=node.depth*dy}tree.separation=function(x){return arguments.length?(separation=x,tree):separation};tree.size=function(x){return arguments.length?(nodeSize=false,dx=+x[0],dy=+x[1],tree):nodeSize?null:[dx,dy]};tree.nodeSize=function(x){return arguments.length?(nodeSize=true,dx=+x[0],dy=+x[1],tree):nodeSize?[dx,dy]:null};return tree}function treemapSlice(parent,x0,y0,x1,y1){var nodes=parent.children,node,i=-1,n=nodes.length,k=parent.value&&(y1-y0)/parent.value;while(++i<n){node=nodes[i],node.x0=x0,node.x1=x1;node.y0=y0,node.y1=y0+=node.value*k}}var phi=(1+Math.sqrt(5))/2;function squarifyRatio(ratio,parent,x0,y0,x1,y1){var rows=[],nodes=parent.children,row,nodeValue,i0=0,i1=0,n=nodes.length,dx,dy,value=parent.value,sumValue,minValue,maxValue,newRatio,minRatio,alpha,beta;while(i0<n){dx=x1-x0,dy=y1-y0;do{sumValue=nodes[i1++].value}while(!sumValue&&i1<n);minValue=maxValue=sumValue;alpha=Math.max(dy/dx,dx/dy)/(value*ratio);beta=sumValue*sumValue*alpha;minRatio=Math.max(maxValue/beta,beta/minValue);for(;i1<n;++i1){sumValue+=nodeValue=nodes[i1].value;if(nodeValue<minValue)minValue=nodeValue;if(nodeValue>maxValue)maxValue=nodeValue;beta=sumValue*sumValue*alpha;newRatio=Math.max(maxValue/beta,beta/minValue);if(newRatio>minRatio){sumValue-=nodeValue;break}minRatio=newRatio}rows.push(row={value:sumValue,dice:dx<dy,children:nodes.slice(i0,i1)});if(row.dice)treemapDice(row,x0,y0,x1,value?y0+=dy*sumValue/value:y1);else treemapSlice(row,x0,y0,value?x0+=dx*sumValue/value:x1,y1);value-=sumValue,i0=i1}return rows}var squarify=function custom(ratio){function squarify(parent,x0,y0,x1,y1){squarifyRatio(ratio,parent,x0,y0,x1,y1)}squarify.ratio=function(x){return custom((x=+x)>1?x:1)};return squarify}(phi);function index$1(){var tile=squarify,round=false,dx=1,dy=1,paddingStack=[0],paddingInner=constantZero,paddingTop=constantZero,paddingRight=constantZero,paddingBottom=constantZero,paddingLeft=constantZero;function treemap(root){root.x0=root.y0=0;root.x1=dx;root.y1=dy;root.eachBefore(positionNode);paddingStack=[0];if(round)root.eachBefore(roundNode);return root}function positionNode(node){var p=paddingStack[node.depth],x0=node.x0+p,y0=node.y0+p,x1=node.x1-p,y1=node.y1-p;if(x1<x0)x0=x1=(x0+x1)/2;if(y1<y0)y0=y1=(y0+y1)/2;node.x0=x0;node.y0=y0;node.x1=x1;node.y1=y1;if(node.children){p=paddingStack[node.depth+1]=paddingInner(node)/2;x0+=paddingLeft(node)-p;y0+=paddingTop(node)-p;x1-=paddingRight(node)-p;y1-=paddingBottom(node)-p;if(x1<x0)x0=x1=(x0+x1)/2;if(y1<y0)y0=y1=(y0+y1)/2;tile(node,x0,y0,x1,y1)}}treemap.round=function(x){return arguments.length?(round=!!x,treemap):round};treemap.size=function(x){return arguments.length?(dx=+x[0],dy=+x[1],treemap):[dx,dy]};treemap.tile=function(x){return arguments.length?(tile=required(x),treemap):tile};treemap.padding=function(x){return arguments.length?treemap.paddingInner(x).paddingOuter(x):treemap.paddingInner()};treemap.paddingInner=function(x){return arguments.length?(paddingInner=typeof x==="function"?x:constant(+x),treemap):paddingInner};treemap.paddingOuter=function(x){return arguments.length?treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x):treemap.paddingTop()};treemap.paddingTop=function(x){return arguments.length?(paddingTop=typeof x==="function"?x:constant(+x),treemap):paddingTop};treemap.paddingRight=function(x){return arguments.length?(paddingRight=typeof x==="function"?x:constant(+x),treemap):paddingRight};treemap.paddingBottom=function(x){return arguments.length?(paddingBottom=typeof x==="function"?x:constant(+x),treemap):paddingBottom};treemap.paddingLeft=function(x){return arguments.length?(paddingLeft=typeof x==="function"?x:constant(+x),treemap):paddingLeft};return treemap}function binary(parent,x0,y0,x1,y1){var nodes=parent.children,i,n=nodes.length,sum,sums=new Array(n+1);for(sums[0]=sum=i=0;i<n;++i){sums[i+1]=sum+=nodes[i].value}partition(0,n,parent.value,x0,y0,x1,y1);function partition(i,j,value,x0,y0,x1,y1){if(i>=j-1){var node=nodes[i];node.x0=x0,node.y0=y0;node.x1=x1,node.y1=y1;return}var valueOffset=sums[i],valueTarget=value/2+valueOffset,k=i+1,hi=j-1;while(k<hi){var mid=k+hi>>>1;if(sums[mid]<valueTarget)k=mid+1;else hi=mid}if(valueTarget-sums[k-1]<sums[k]-valueTarget&&i+1<k)--k;var valueLeft=sums[k]-valueOffset,valueRight=value-valueLeft;if(x1-x0>y1-y0){var xk=(x0*valueRight+x1*valueLeft)/value;partition(i,k,valueLeft,x0,y0,xk,y1);partition(k,j,valueRight,xk,y0,x1,y1)}else{var yk=(y0*valueRight+y1*valueLeft)/value;partition(i,k,valueLeft,x0,y0,x1,yk);partition(k,j,valueRight,x0,yk,x1,y1)}}}function sliceDice(parent,x0,y0,x1,y1){(parent.depth&1?treemapSlice:treemapDice)(parent,x0,y0,x1,y1)}var resquarify=function custom(ratio){function resquarify(parent,x0,y0,x1,y1){if((rows=parent._squarify)&&rows.ratio===ratio){var rows,row,nodes,i,j=-1,n,m=rows.length,value=parent.value;while(++j<m){row=rows[j],nodes=row.children;for(i=row.value=0,n=nodes.length;i<n;++i)row.value+=nodes[i].value;if(row.dice)treemapDice(row,x0,y0,x1,y0+=(y1-y0)*row.value/value);else treemapSlice(row,x0,y0,x0+=(x1-x0)*row.value/value,y1);value-=row.value}}else{parent._squarify=rows=squarifyRatio(ratio,parent,x0,y0,x1,y1);rows.ratio=ratio}}resquarify.ratio=function(x){return custom((x=+x)>1?x:1)};return resquarify}(phi);exports.cluster=cluster;exports.hierarchy=hierarchy;exports.pack=index;exports.packEnclose=enclose;exports.packSiblings=siblings;exports.partition=partition;exports.stratify=stratify;exports.tree=tree;exports.treemap=index$1;exports.treemapBinary=binary;exports.treemapDice=treemapDice;exports.treemapResquarify=resquarify;exports.treemapSlice=treemapSlice;exports.treemapSliceDice=sliceDice;exports.treemapSquarify=squarify;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],171:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,_dereq_("d3-color")):typeof define==="function"&&define.amd?define(["exports","d3-color"],factory):(global=global||self,factory(global.d3=global.d3||{},global.d3))})(this,(function(exports,d3Color){"use strict";function basis(t1,v0,v1,v2,v3){var t2=t1*t1,t3=t2*t1;return((1-3*t1+3*t2-t3)*v0+(4-6*t2+3*t3)*v1+(1+3*t1+3*t2-3*t3)*v2+t3*v3)/6}function basis$1(values){var n=values.length-1;return function(t){var i=t<=0?t=0:t>=1?(t=1,n-1):Math.floor(t*n),v1=values[i],v2=values[i+1],v0=i>0?values[i-1]:2*v1-v2,v3=i<n-1?values[i+2]:2*v2-v1;return basis((t-i/n)*n,v0,v1,v2,v3)}}function basisClosed(values){var n=values.length;return function(t){var i=Math.floor(((t%=1)<0?++t:t)*n),v0=values[(i+n-1)%n],v1=values[i%n],v2=values[(i+1)%n],v3=values[(i+2)%n];return basis((t-i/n)*n,v0,v1,v2,v3)}}function constant(x){return function(){return x}}function linear(a,d){return function(t){return a+t*d}}function exponential(a,b,y){return a=Math.pow(a,y),b=Math.pow(b,y)-a,y=1/y,function(t){return Math.pow(a+t*b,y)}}function hue(a,b){var d=b-a;return d?linear(a,d>180||d<-180?d-360*Math.round(d/360):d):constant(isNaN(a)?b:a)}function gamma(y){return(y=+y)===1?nogamma:function(a,b){return b-a?exponential(a,b,y):constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):constant(isNaN(a)?b:a)}var rgb=function rgbGamma(y){var color=gamma(y);function rgb(start,end){var r=color((start=d3Color.rgb(start)).r,(end=d3Color.rgb(end)).r),g=color(start.g,end.g),b=color(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){start.r=r(t);start.g=g(t);start.b=b(t);start.opacity=opacity(t);return start+""}}rgb.gamma=rgbGamma;return rgb}(1);function rgbSpline(spline){return function(colors){var n=colors.length,r=new Array(n),g=new Array(n),b=new Array(n),i,color;for(i=0;i<n;++i){color=d3Color.rgb(colors[i]);r[i]=color.r||0;g[i]=color.g||0;b[i]=color.b||0}r=spline(r);g=spline(g);b=spline(b);color.opacity=1;return function(t){color.r=r(t);color.g=g(t);color.b=b(t);return color+""}}}var rgbBasis=rgbSpline(basis$1);var rgbBasisClosed=rgbSpline(basisClosed);function numberArray(a,b){if(!b)b=[];var n=a?Math.min(b.length,a.length):0,c=b.slice(),i;return function(t){for(i=0;i<n;++i)c[i]=a[i]*(1-t)+b[i]*t;return c}}function isNumberArray(x){return ArrayBuffer.isView(x)&&!(x instanceof DataView)}function array(a,b){return(isNumberArray(b)?numberArray:genericArray)(a,b)}function genericArray(a,b){var nb=b?b.length:0,na=a?Math.min(nb,a.length):0,x=new Array(na),c=new Array(nb),i;for(i=0;i<na;++i)x[i]=value(a[i],b[i]);for(;i<nb;++i)c[i]=b[i];return function(t){for(i=0;i<na;++i)c[i]=x[i](t);return c}}function date(a,b){var d=new Date;return a=+a,b=+b,function(t){return d.setTime(a*(1-t)+b*t),d}}function number(a,b){return a=+a,b=+b,function(t){return a*(1-t)+b*t}}function object(a,b){var i={},c={},k;if(a===null||typeof a!=="object")a={};if(b===null||typeof b!=="object")b={};for(k in b){if(k in a){i[k]=value(a[k],b[k])}else{c[k]=b[k]}}return function(t){for(k in i)c[k]=i[k](t);return c}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(b){return function(){return b}}function one(b){return function(t){return b(t)+""}}function string(a,b){var bi=reA.lastIndex=reB.lastIndex=0,am,bm,bs,i=-1,s=[],q=[];a=a+"",b=b+"";while((am=reA.exec(a))&&(bm=reB.exec(b))){if((bs=bm.index)>bi){bs=b.slice(bi,bs);if(s[i])s[i]+=bs;else s[++i]=bs}if((am=am[0])===(bm=bm[0])){if(s[i])s[i]+=bm;else s[++i]=bm}else{s[++i]=null;q.push({i:i,x:number(am,bm)})}bi=reB.lastIndex}if(bi<b.length){bs=b.slice(bi);if(s[i])s[i]+=bs;else s[++i]=bs}return s.length<2?q[0]?one(q[0].x):zero(b):(b=q.length,function(t){for(var i=0,o;i<b;++i)s[(o=q[i]).i]=o.x(t);return s.join("")})}function value(a,b){var t=typeof b,c;return b==null||t==="boolean"?constant(b):(t==="number"?number:t==="string"?(c=d3Color.color(b))?(b=c,rgb):string:b instanceof d3Color.color?rgb:b instanceof Date?date:isNumberArray(b)?numberArray:Array.isArray(b)?genericArray:typeof b.valueOf!=="function"&&typeof b.toString!=="function"||isNaN(b)?object:number)(a,b)}function discrete(range){var n=range.length;return function(t){return range[Math.max(0,Math.min(n-1,Math.floor(t*n)))]}}function hue$1(a,b){var i=hue(+a,+b);return function(t){var x=i(t);return x-360*Math.floor(x/360)}}function round(a,b){return a=+a,b=+b,function(t){return Math.round(a*(1-t)+b*t)}}var degrees=180/Math.PI;var identity={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(a,b,c,d,e,f){var scaleX,scaleY,skewX;if(scaleX=Math.sqrt(a*a+b*b))a/=scaleX,b/=scaleX;if(skewX=a*c+b*d)c-=a*skewX,d-=b*skewX;if(scaleY=Math.sqrt(c*c+d*d))c/=scaleY,d/=scaleY,skewX/=scaleY;if(a*d<b*c)a=-a,b=-b,skewX=-skewX,scaleX=-scaleX;return{translateX:e,translateY:f,rotate:Math.atan2(b,a)*degrees,skewX:Math.atan(skewX)*degrees,scaleX:scaleX,scaleY:scaleY}}var cssNode,cssRoot,cssView,svgNode;function parseCss(value){if(value==="none")return identity;if(!cssNode)cssNode=document.createElement("DIV"),cssRoot=document.documentElement,cssView=document.defaultView;cssNode.style.transform=value;value=cssView.getComputedStyle(cssRoot.appendChild(cssNode),null).getPropertyValue("transform");cssRoot.removeChild(cssNode);value=value.slice(7,-1).split(",");return decompose(+value[0],+value[1],+value[2],+value[3],+value[4],+value[5])}function parseSvg(value){if(value==null)return identity;if(!svgNode)svgNode=document.createElementNS("http://www.w3.org/2000/svg","g");svgNode.setAttribute("transform",value);if(!(value=svgNode.transform.baseVal.consolidate()))return identity;value=value.matrix;return decompose(value.a,value.b,value.c,value.d,value.e,value.f)}function interpolateTransform(parse,pxComma,pxParen,degParen){function pop(s){return s.length?s.pop()+" ":""}function translate(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push("translate(",null,pxComma,null,pxParen);q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else if(xb||yb){s.push("translate("+xb+pxComma+yb+pxParen)}}function rotate(a,b,s,q){if(a!==b){if(a-b>180)b+=360;else if(b-a>180)a+=360;q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})}else if(b){s.push(pop(s)+"rotate("+b+degParen)}}function skewX(a,b,s,q){if(a!==b){q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)})}else if(b){s.push(pop(s)+"skewX("+b+degParen)}}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else if(xb!==1||yb!==1){s.push(pop(s)+"scale("+xb+","+yb+")")}}return function(a,b){var s=[],q=[];a=parse(a),b=parse(b);translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q);rotate(a.rotate,b.rotate,s,q);skewX(a.skewX,b.skewX,s,q);scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q);a=b=null;return function(t){var i=-1,n=q.length,o;while(++i<n)s[(o=q[i]).i]=o.x(t);return s.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)");var interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")");var rho=Math.SQRT2,rho2=2,rho4=4,epsilon2=1e-12;function cosh(x){return((x=Math.exp(x))+1/x)/2}function sinh(x){return((x=Math.exp(x))-1/x)/2}function tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function zoom(p0,p1){var ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2],dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy,i,S;if(d2<epsilon2){S=Math.log(w1/w0)/rho;i=function(t){return[ux0+t*dx,uy0+t*dy,w0*Math.exp(rho*t*S)]}}else{var d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+rho4*d2)/(2*w0*rho2*d1),b1=(w1*w1-w0*w0-rho4*d2)/(2*w1*rho2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1);S=(r1-r0)/rho;i=function(t){var s=t*S,coshr0=cosh(r0),u=w0/(rho2*d1)*(coshr0*tanh(rho*s+r0)-sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/cosh(rho*s+r0)]}}i.duration=S*1e3;return i}function hsl(hue){return function(start,end){var h=hue((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){start.h=h(t);start.s=s(t);start.l=l(t);start.opacity=opacity(t);return start+""}}}var hsl$1=hsl(hue);var hslLong=hsl(nogamma);function lab(start,end){var l=nogamma((start=d3Color.lab(start)).l,(end=d3Color.lab(end)).l),a=nogamma(start.a,end.a),b=nogamma(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){start.l=l(t);start.a=a(t);start.b=b(t);start.opacity=opacity(t);return start+""}}function hcl(hue){return function(start,end){var h=hue((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){start.h=h(t);start.c=c(t);start.l=l(t);start.opacity=opacity(t);return start+""}}}var hcl$1=hcl(hue);var hclLong=hcl(nogamma);function cubehelix(hue){return function cubehelixGamma(y){y=+y;function cubehelix(start,end){var h=hue((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){start.h=h(t);start.s=s(t);start.l=l(Math.pow(t,y));start.opacity=opacity(t);return start+""}}cubehelix.gamma=cubehelixGamma;return cubehelix}(1)}var cubehelix$1=cubehelix(hue);var cubehelixLong=cubehelix(nogamma);function piecewise(interpolate,values){var i=0,n=values.length-1,v=values[0],I=new Array(n<0?0:n);while(i<n)I[i]=interpolate(v,v=values[++i]);return function(t){var i=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return I[i](t-i)}}function quantize(interpolator,n){var samples=new Array(n);for(var i=0;i<n;++i)samples[i]=interpolator(i/(n-1));return samples}exports.interpolate=value;exports.interpolateArray=array;exports.interpolateBasis=basis$1;exports.interpolateBasisClosed=basisClosed;exports.interpolateCubehelix=cubehelix$1;exports.interpolateCubehelixLong=cubehelixLong;exports.interpolateDate=date;exports.interpolateDiscrete=discrete;exports.interpolateHcl=hcl$1;exports.interpolateHclLong=hclLong;exports.interpolateHsl=hsl$1;exports.interpolateHslLong=hslLong;exports.interpolateHue=hue$1;exports.interpolateLab=lab;exports.interpolateNumber=number;exports.interpolateNumberArray=numberArray;exports.interpolateObject=object;exports.interpolateRgb=rgb;exports.interpolateRgbBasis=rgbBasis;exports.interpolateRgbBasisClosed=rgbBasisClosed;exports.interpolateRound=round;exports.interpolateString=string;exports.interpolateTransformCss=interpolateTransformCss;exports.interpolateTransformSvg=interpolateTransformSvg;exports.interpolateZoom=zoom;exports.piecewise=piecewise;exports.quantize=quantize;Object.defineProperty(exports,"__esModule",{value:true})}))},{"d3-color":164}],172:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.d3=global.d3||{}))})(this,(function(exports){"use strict";var pi=Math.PI,tau=2*pi,epsilon=1e-6,tauEpsilon=tau-epsilon;function Path(){this._x0=this._y0=this._x1=this._y1=null;this._=""}function path(){return new Path}Path.prototype=path.prototype={constructor:Path,moveTo:function(x,y){this._+="M"+(this._x0=this._x1=+x)+","+(this._y0=this._y1=+y)},closePath:function(){if(this._x1!==null){this._x1=this._x0,this._y1=this._y0;this._+="Z"}},lineTo:function(x,y){this._+="L"+(this._x1=+x)+","+(this._y1=+y)},quadraticCurveTo:function(x1,y1,x,y){this._+="Q"+ +x1+","+ +y1+","+(this._x1=+x)+","+(this._y1=+y)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._+="C"+ +x1+","+ +y1+","+ +x2+","+ +y2+","+(this._x1=+x)+","+(this._y1=+y)},arcTo:function(x1,y1,x2,y2,r){x1=+x1,y1=+y1,x2=+x2,y2=+y2,r=+r;var x0=this._x1,y0=this._y1,x21=x2-x1,y21=y2-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(r<0)throw new Error("negative radius: "+r);if(this._x1===null){this._+="M"+(this._x1=x1)+","+(this._y1=y1)}else if(!(l01_2>epsilon));else if(!(Math.abs(y01*x21-y21*x01)>epsilon)||!r){this._+="L"+(this._x1=x1)+","+(this._y1=y1)}else{var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;if(Math.abs(t01-1)>epsilon){this._+="L"+(x1+t01*x01)+","+(y1+t01*y01)}this._+="A"+r+","+r+",0,0,"+ +(y01*x20>x01*y20)+","+(this._x1=x1+t21*x21)+","+(this._y1=y1+t21*y21)}},arc:function(x,y,r,a0,a1,ccw){x=+x,y=+y,r=+r,ccw=!!ccw;var dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x+dx,y0=y+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(r<0)throw new Error("negative radius: "+r);if(this._x1===null){this._+="M"+x0+","+y0}else if(Math.abs(this._x1-x0)>epsilon||Math.abs(this._y1-y0)>epsilon){this._+="L"+x0+","+y0}if(!r)return;if(da<0)da=da%tau+tau;if(da>tauEpsilon){this._+="A"+r+","+r+",0,1,"+cw+","+(x-dx)+","+(y-dy)+"A"+r+","+r+",0,1,"+cw+","+(this._x1=x0)+","+(this._y1=y0)}else if(da>epsilon){this._+="A"+r+","+r+",0,"+ +(da>=pi)+","+cw+","+(this._x1=x+r*Math.cos(a1))+","+(this._y1=y+r*Math.sin(a1))}},rect:function(x,y,w,h){this._+="M"+(this._x0=this._x1=+x)+","+(this._y0=this._y1=+y)+"h"+ +w+"v"+ +h+"h"+-w+"Z"},toString:function(){return this._}};exports.path=path;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],173:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.d3=global.d3||{}))})(this,(function(exports){"use strict";function tree_add(d){var x=+this._x.call(null,d),y=+this._y.call(null,d);return add(this.cover(x,y),x,y,d)}function add(tree,x,y,d){if(isNaN(x)||isNaN(y))return tree;var parent,node=tree._root,leaf={data:d},x0=tree._x0,y0=tree._y0,x1=tree._x1,y1=tree._y1,xm,ym,xp,yp,right,bottom,i,j;if(!node)return tree._root=leaf,tree;while(node.length){if(right=x>=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym;if(parent=node,!(node=node[i=bottom<<1|right]))return parent[i]=leaf,tree}xp=+tree._x.call(null,node.data);yp=+tree._y.call(null,node.data);if(x===xp&&y===yp)return leaf.next=node,parent?parent[i]=leaf:tree._root=leaf,tree;do{parent=parent?parent[i]=new Array(4):tree._root=new Array(4);if(right=x>=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym}while((i=bottom<<1|right)===(j=(yp>=ym)<<1|xp>=xm));return parent[j]=node,parent[i]=leaf,tree}function addAll(data){var d,i,n=data.length,x,y,xz=new Array(n),yz=new Array(n),x0=Infinity,y0=Infinity,x1=-Infinity,y1=-Infinity;for(i=0;i<n;++i){if(isNaN(x=+this._x.call(null,d=data[i]))||isNaN(y=+this._y.call(null,d)))continue;xz[i]=x;yz[i]=y;if(x<x0)x0=x;if(x>x1)x1=x;if(y<y0)y0=y;if(y>y1)y1=y}if(x0>x1||y0>y1)return this;this.cover(x0,y0).cover(x1,y1);for(i=0;i<n;++i){add(this,xz[i],yz[i],data[i])}return this}function tree_cover(x,y){if(isNaN(x=+x)||isNaN(y=+y))return this;var x0=this._x0,y0=this._y0,x1=this._x1,y1=this._y1;if(isNaN(x0)){x1=(x0=Math.floor(x))+1;y1=(y0=Math.floor(y))+1}else{var z=x1-x0,node=this._root,parent,i;while(x0>x||x>=x1||y0>y||y>=y1){i=(y<y0)<<1|x<x0;parent=new Array(4),parent[i]=node,node=parent,z*=2;switch(i){case 0:x1=x0+z,y1=y0+z;break;case 1:x0=x1-z,y1=y0+z;break;case 2:x1=x0+z,y0=y1-z;break;case 3:x0=x1-z,y0=y1-z;break}}if(this._root&&this._root.length)this._root=node}this._x0=x0;this._y0=y0;this._x1=x1;this._y1=y1;return this}function tree_data(){var data=[];this.visit((function(node){if(!node.length)do{data.push(node.data)}while(node=node.next)}));return data}function tree_extent(_){return arguments.length?this.cover(+_[0][0],+_[0][1]).cover(+_[1][0],+_[1][1]):isNaN(this._x0)?undefined:[[this._x0,this._y0],[this._x1,this._y1]]}function Quad(node,x0,y0,x1,y1){this.node=node;this.x0=x0;this.y0=y0;this.x1=x1;this.y1=y1}function tree_find(x,y,radius){var data,x0=this._x0,y0=this._y0,x1,y1,x2,y2,x3=this._x1,y3=this._y1,quads=[],node=this._root,q,i;if(node)quads.push(new Quad(node,x0,y0,x3,y3));if(radius==null)radius=Infinity;else{x0=x-radius,y0=y-radius;x3=x+radius,y3=y+radius;radius*=radius}while(q=quads.pop()){if(!(node=q.node)||(x1=q.x0)>x3||(y1=q.y0)>y3||(x2=q.x1)<x0||(y2=q.y1)<y0)continue;if(node.length){var xm=(x1+x2)/2,ym=(y1+y2)/2;quads.push(new Quad(node[3],xm,ym,x2,y2),new Quad(node[2],x1,ym,xm,y2),new Quad(node[1],xm,y1,x2,ym),new Quad(node[0],x1,y1,xm,ym));if(i=(y>=ym)<<1|x>=xm){q=quads[quads.length-1];quads[quads.length-1]=quads[quads.length-1-i];quads[quads.length-1-i]=q}}else{var dx=x-+this._x.call(null,node.data),dy=y-+this._y.call(null,node.data),d2=dx*dx+dy*dy;if(d2<radius){var d=Math.sqrt(radius=d2);x0=x-d,y0=y-d;x3=x+d,y3=y+d;data=node.data}}}return data}function tree_remove(d){if(isNaN(x=+this._x.call(null,d))||isNaN(y=+this._y.call(null,d)))return this;var parent,node=this._root,retainer,previous,next,x0=this._x0,y0=this._y0,x1=this._x1,y1=this._y1,x,y,xm,ym,right,bottom,i,j;if(!node)return this;if(node.length)while(true){if(right=x>=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym;if(!(parent=node,node=node[i=bottom<<1|right]))return this;if(!node.length)break;if(parent[i+1&3]||parent[i+2&3]||parent[i+3&3])retainer=parent,j=i}while(node.data!==d)if(!(previous=node,node=node.next))return this;if(next=node.next)delete node.next;if(previous)return next?previous.next=next:delete previous.next,this;if(!parent)return this._root=next,this;next?parent[i]=next:delete parent[i];if((node=parent[0]||parent[1]||parent[2]||parent[3])&&node===(parent[3]||parent[2]||parent[1]||parent[0])&&!node.length){if(retainer)retainer[j]=node;else this._root=node}return this}function removeAll(data){for(var i=0,n=data.length;i<n;++i)this.remove(data[i]);return this}function tree_root(){return this._root}function tree_size(){var size=0;this.visit((function(node){if(!node.length)do{++size}while(node=node.next)}));return size}function tree_visit(callback){var quads=[],q,node=this._root,child,x0,y0,x1,y1;if(node)quads.push(new Quad(node,this._x0,this._y0,this._x1,this._y1));while(q=quads.pop()){if(!callback(node=q.node,x0=q.x0,y0=q.y0,x1=q.x1,y1=q.y1)&&node.length){var xm=(x0+x1)/2,ym=(y0+y1)/2;if(child=node[3])quads.push(new Quad(child,xm,ym,x1,y1));if(child=node[2])quads.push(new Quad(child,x0,ym,xm,y1));if(child=node[1])quads.push(new Quad(child,xm,y0,x1,ym));if(child=node[0])quads.push(new Quad(child,x0,y0,xm,ym))}}return this}function tree_visitAfter(callback){var quads=[],next=[],q;if(this._root)quads.push(new Quad(this._root,this._x0,this._y0,this._x1,this._y1));while(q=quads.pop()){var node=q.node;if(node.length){var child,x0=q.x0,y0=q.y0,x1=q.x1,y1=q.y1,xm=(x0+x1)/2,ym=(y0+y1)/2;if(child=node[0])quads.push(new Quad(child,x0,y0,xm,ym));if(child=node[1])quads.push(new Quad(child,xm,y0,x1,ym));if(child=node[2])quads.push(new Quad(child,x0,ym,xm,y1));if(child=node[3])quads.push(new Quad(child,xm,ym,x1,y1))}next.push(q)}while(q=next.pop()){callback(q.node,q.x0,q.y0,q.x1,q.y1)}return this}function defaultX(d){return d[0]}function tree_x(_){return arguments.length?(this._x=_,this):this._x}function defaultY(d){return d[1]}function tree_y(_){return arguments.length?(this._y=_,this):this._y}function quadtree(nodes,x,y){var tree=new Quadtree(x==null?defaultX:x,y==null?defaultY:y,NaN,NaN,NaN,NaN);return nodes==null?tree:tree.addAll(nodes)}function Quadtree(x,y,x0,y0,x1,y1){this._x=x;this._y=y;this._x0=x0;this._y0=y0;this._x1=x1;this._y1=y1;this._root=undefined}function leaf_copy(leaf){var copy={data:leaf.data},next=copy;while(leaf=leaf.next)next=next.next={data:leaf.data};return copy}var treeProto=quadtree.prototype=Quadtree.prototype;treeProto.copy=function(){var copy=new Quadtree(this._x,this._y,this._x0,this._y0,this._x1,this._y1),node=this._root,nodes,child;if(!node)return copy;if(!node.length)return copy._root=leaf_copy(node),copy;nodes=[{source:node,target:copy._root=new Array(4)}];while(node=nodes.pop()){for(var i=0;i<4;++i){if(child=node.source[i]){if(child.length)nodes.push({source:child,target:node.target[i]=new Array(4)});else node.target[i]=leaf_copy(child)}}}return copy};treeProto.add=tree_add;treeProto.addAll=addAll;treeProto.cover=tree_cover;treeProto.data=tree_data;treeProto.extent=tree_extent;treeProto.find=tree_find;treeProto.remove=tree_remove;treeProto.removeAll=removeAll;treeProto.root=tree_root;treeProto.size=tree_size;treeProto.visit=tree_visit;treeProto.visitAfter=tree_visitAfter;treeProto.x=tree_x;treeProto.y=tree_y;exports.quadtree=quadtree;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],174:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,_dereq_("d3-path")):typeof define==="function"&&define.amd?define(["exports","d3-path"],factory):(global=global||self,factory(global.d3=global.d3||{},global.d3))})(this,(function(exports,d3Path){"use strict";function constant(x){return function constant(){return x}}var abs=Math.abs;var atan2=Math.atan2;var cos=Math.cos;var max=Math.max;var min=Math.min;var sin=Math.sin;var sqrt=Math.sqrt;var epsilon=1e-12;var pi=Math.PI;var halfPi=pi/2;var tau=2*pi;function acos(x){return x>1?0:x<-1?pi:Math.acos(x)}function asin(x){return x>=1?halfPi:x<=-1?-halfPi:Math.asin(x)}function arcInnerRadius(d){return d.innerRadius}function arcOuterRadius(d){return d.outerRadius}function arcStartAngle(d){return d.startAngle}function arcEndAngle(d){return d.endAngle}function arcPadAngle(d){return d&&d.padAngle}function intersect(x0,y0,x1,y1,x2,y2,x3,y3){var x10=x1-x0,y10=y1-y0,x32=x3-x2,y32=y3-y2,t=y32*x10-x32*y10;if(t*t<epsilon)return;t=(x32*(y0-y2)-y32*(x0-x2))/t;return[x0+t*x10,y0+t*y10]}function cornerTangents(x0,y0,x1,y1,r1,rc,cw){var x01=x0-x1,y01=y0-y1,lo=(cw?rc:-rc)/sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x11=x0+ox,y11=y0+oy,x10=x1+ox,y10=y1+oy,x00=(x11+x10)/2,y00=(y11+y10)/2,dx=x10-x11,dy=y10-y11,d2=dx*dx+dy*dy,r=r1-rc,D=x11*y10-x10*y11,d=(dy<0?-1:1)*sqrt(max(0,r*r*d2-D*D)),cx0=(D*dy-dx*d)/d2,cy0=(-D*dx-dy*d)/d2,cx1=(D*dy+dx*d)/d2,cy1=(-D*dx+dy*d)/d2,dx0=cx0-x00,dy0=cy0-y00,dx1=cx1-x00,dy1=cy1-y00;if(dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1)cx0=cx1,cy0=cy1;return{cx:cx0,cy:cy0,x01:-ox,y01:-oy,x11:cx0*(r1/r-1),y11:cy0*(r1/r-1)}}function arc(){var innerRadius=arcInnerRadius,outerRadius=arcOuterRadius,cornerRadius=constant(0),padRadius=null,startAngle=arcStartAngle,endAngle=arcEndAngle,padAngle=arcPadAngle,context=null;function arc(){var buffer,r,r0=+innerRadius.apply(this,arguments),r1=+outerRadius.apply(this,arguments),a0=startAngle.apply(this,arguments)-halfPi,a1=endAngle.apply(this,arguments)-halfPi,da=abs(a1-a0),cw=a1>a0;if(!context)context=buffer=d3Path.path();if(r1<r0)r=r1,r1=r0,r0=r;if(!(r1>epsilon))context.moveTo(0,0);else if(da>tau-epsilon){context.moveTo(r1*cos(a0),r1*sin(a0));context.arc(0,0,r1,a0,a1,!cw);if(r0>epsilon){context.moveTo(r0*cos(a1),r0*sin(a1));context.arc(0,0,r0,a1,a0,cw)}}else{var a01=a0,a11=a1,a00=a0,a10=a1,da0=da,da1=da,ap=padAngle.apply(this,arguments)/2,rp=ap>epsilon&&(padRadius?+padRadius.apply(this,arguments):sqrt(r0*r0+r1*r1)),rc=min(abs(r1-r0)/2,+cornerRadius.apply(this,arguments)),rc0=rc,rc1=rc,t0,t1;if(rp>epsilon){var p0=asin(rp/r0*sin(ap)),p1=asin(rp/r1*sin(ap));if((da0-=p0*2)>epsilon)p0*=cw?1:-1,a00+=p0,a10-=p0;else da0=0,a00=a10=(a0+a1)/2;if((da1-=p1*2)>epsilon)p1*=cw?1:-1,a01+=p1,a11-=p1;else da1=0,a01=a11=(a0+a1)/2}var x01=r1*cos(a01),y01=r1*sin(a01),x10=r0*cos(a10),y10=r0*sin(a10);if(rc>epsilon){var x11=r1*cos(a11),y11=r1*sin(a11),x00=r0*cos(a00),y00=r0*sin(a00),oc;if(da<pi&&(oc=intersect(x01,y01,x00,y00,x11,y11,x10,y10))){var ax=x01-oc[0],ay=y01-oc[1],bx=x11-oc[0],by=y11-oc[1],kc=1/sin(acos((ax*bx+ay*by)/(sqrt(ax*ax+ay*ay)*sqrt(bx*bx+by*by)))/2),lc=sqrt(oc[0]*oc[0]+oc[1]*oc[1]);rc0=min(rc,(r0-lc)/(kc-1));rc1=min(rc,(r1-lc)/(kc+1))}}if(!(da1>epsilon))context.moveTo(x01,y01);else if(rc1>epsilon){t0=cornerTangents(x00,y00,x01,y01,r1,rc1,cw);t1=cornerTangents(x11,y11,x10,y10,r1,rc1,cw);context.moveTo(t0.cx+t0.x01,t0.cy+t0.y01);if(rc1<rc)context.arc(t0.cx,t0.cy,rc1,atan2(t0.y01,t0.x01),atan2(t1.y01,t1.x01),!cw);else{context.arc(t0.cx,t0.cy,rc1,atan2(t0.y01,t0.x01),atan2(t0.y11,t0.x11),!cw);context.arc(0,0,r1,atan2(t0.cy+t0.y11,t0.cx+t0.x11),atan2(t1.cy+t1.y11,t1.cx+t1.x11),!cw);context.arc(t1.cx,t1.cy,rc1,atan2(t1.y11,t1.x11),atan2(t1.y01,t1.x01),!cw)}}else context.moveTo(x01,y01),context.arc(0,0,r1,a01,a11,!cw);if(!(r0>epsilon)||!(da0>epsilon))context.lineTo(x10,y10);else if(rc0>epsilon){t0=cornerTangents(x10,y10,x11,y11,r0,-rc0,cw);t1=cornerTangents(x01,y01,x00,y00,r0,-rc0,cw);context.lineTo(t0.cx+t0.x01,t0.cy+t0.y01);if(rc0<rc)context.arc(t0.cx,t0.cy,rc0,atan2(t0.y01,t0.x01),atan2(t1.y01,t1.x01),!cw);else{context.arc(t0.cx,t0.cy,rc0,atan2(t0.y01,t0.x01),atan2(t0.y11,t0.x11),!cw);context.arc(0,0,r0,atan2(t0.cy+t0.y11,t0.cx+t0.x11),atan2(t1.cy+t1.y11,t1.cx+t1.x11),cw);context.arc(t1.cx,t1.cy,rc0,atan2(t1.y11,t1.x11),atan2(t1.y01,t1.x01),!cw)}}else context.arc(0,0,r0,a10,a00,cw)}context.closePath();if(buffer)return context=null,buffer+""||null}arc.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-pi/2;return[cos(a)*r,sin(a)*r]};arc.innerRadius=function(_){return arguments.length?(innerRadius=typeof _==="function"?_:constant(+_),arc):innerRadius};arc.outerRadius=function(_){return arguments.length?(outerRadius=typeof _==="function"?_:constant(+_),arc):outerRadius};arc.cornerRadius=function(_){return arguments.length?(cornerRadius=typeof _==="function"?_:constant(+_),arc):cornerRadius};arc.padRadius=function(_){return arguments.length?(padRadius=_==null?null:typeof _==="function"?_:constant(+_),arc):padRadius};arc.startAngle=function(_){return arguments.length?(startAngle=typeof _==="function"?_:constant(+_),arc):startAngle};arc.endAngle=function(_){return arguments.length?(endAngle=typeof _==="function"?_:constant(+_),arc):endAngle};arc.padAngle=function(_){return arguments.length?(padAngle=typeof _==="function"?_:constant(+_),arc):padAngle};arc.context=function(_){return arguments.length?(context=_==null?null:_,arc):context};return arc}function Linear(context){this._context=context}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:this._context.lineTo(x,y);break}}};function curveLinear(context){return new Linear(context)}function x(p){return p[0]}function y(p){return p[1]}function line(){var x$1=x,y$1=y,defined=constant(true),context=null,curve=curveLinear,output=null;function line(data){var i,n=data.length,d,defined0=false,buffer;if(context==null)output=curve(buffer=d3Path.path());for(i=0;i<=n;++i){if(!(i<n&&defined(d=data[i],i,data))===defined0){if(defined0=!defined0)output.lineStart();else output.lineEnd()}if(defined0)output.point(+x$1(d,i,data),+y$1(d,i,data))}if(buffer)return output=null,buffer+""||null}line.x=function(_){return arguments.length?(x$1=typeof _==="function"?_:constant(+_),line):x$1};line.y=function(_){return arguments.length?(y$1=typeof _==="function"?_:constant(+_),line):y$1};line.defined=function(_){return arguments.length?(defined=typeof _==="function"?_:constant(!!_),line):defined};line.curve=function(_){return arguments.length?(curve=_,context!=null&&(output=curve(context)),line):curve};line.context=function(_){return arguments.length?(_==null?context=output=null:output=curve(context=_),line):context};return line}function area(){var x0=x,x1=null,y0=constant(0),y1=y,defined=constant(true),context=null,curve=curveLinear,output=null;function area(data){var i,j,k,n=data.length,d,defined0=false,buffer,x0z=new Array(n),y0z=new Array(n);if(context==null)output=curve(buffer=d3Path.path());for(i=0;i<=n;++i){if(!(i<n&&defined(d=data[i],i,data))===defined0){if(defined0=!defined0){j=i;output.areaStart();output.lineStart()}else{output.lineEnd();output.lineStart();for(k=i-1;k>=j;--k){output.point(x0z[k],y0z[k])}output.lineEnd();output.areaEnd()}}if(defined0){x0z[i]=+x0(d,i,data),y0z[i]=+y0(d,i,data);output.point(x1?+x1(d,i,data):x0z[i],y1?+y1(d,i,data):y0z[i])}}if(buffer)return output=null,buffer+""||null}function arealine(){return line().defined(defined).curve(curve).context(context)}area.x=function(_){return arguments.length?(x0=typeof _==="function"?_:constant(+_),x1=null,area):x0};area.x0=function(_){return arguments.length?(x0=typeof _==="function"?_:constant(+_),area):x0};area.x1=function(_){return arguments.length?(x1=_==null?null:typeof _==="function"?_:constant(+_),area):x1};area.y=function(_){return arguments.length?(y0=typeof _==="function"?_:constant(+_),y1=null,area):y0};area.y0=function(_){return arguments.length?(y0=typeof _==="function"?_:constant(+_),area):y0};area.y1=function(_){return arguments.length?(y1=_==null?null:typeof _==="function"?_:constant(+_),area):y1};area.lineX0=area.lineY0=function(){return arealine().x(x0).y(y0)};area.lineY1=function(){return arealine().x(x0).y(y1)};area.lineX1=function(){return arealine().x(x1).y(y0)};area.defined=function(_){return arguments.length?(defined=typeof _==="function"?_:constant(!!_),area):defined};area.curve=function(_){return arguments.length?(curve=_,context!=null&&(output=curve(context)),area):curve};area.context=function(_){return arguments.length?(_==null?context=output=null:output=curve(context=_),area):context};return area}function descending(a,b){return b<a?-1:b>a?1:b>=a?0:NaN}function identity(d){return d}function pie(){var value=identity,sortValues=descending,sort=null,startAngle=constant(0),endAngle=constant(tau),padAngle=constant(0);function pie(data){var i,n=data.length,j,k,sum=0,index=new Array(n),arcs=new Array(n),a0=+startAngle.apply(this,arguments),da=Math.min(tau,Math.max(-tau,endAngle.apply(this,arguments)-a0)),a1,p=Math.min(Math.abs(da)/n,padAngle.apply(this,arguments)),pa=p*(da<0?-1:1),v;for(i=0;i<n;++i){if((v=arcs[index[i]=i]=+value(data[i],i,data))>0){sum+=v}}if(sortValues!=null)index.sort((function(i,j){return sortValues(arcs[i],arcs[j])}));else if(sort!=null)index.sort((function(i,j){return sort(data[i],data[j])}));for(i=0,k=sum?(da-n*pa)/sum:0;i<n;++i,a0=a1){j=index[i],v=arcs[j],a1=a0+(v>0?v*k:0)+pa,arcs[j]={data:data[j],index:i,value:v,startAngle:a0,endAngle:a1,padAngle:p}}return arcs}pie.value=function(_){return arguments.length?(value=typeof _==="function"?_:constant(+_),pie):value};pie.sortValues=function(_){return arguments.length?(sortValues=_,sort=null,pie):sortValues};pie.sort=function(_){return arguments.length?(sort=_,sortValues=null,pie):sort};pie.startAngle=function(_){return arguments.length?(startAngle=typeof _==="function"?_:constant(+_),pie):startAngle};pie.endAngle=function(_){return arguments.length?(endAngle=typeof _==="function"?_:constant(+_),pie):endAngle};pie.padAngle=function(_){return arguments.length?(padAngle=typeof _==="function"?_:constant(+_),pie):padAngle};return pie}var curveRadialLinear=curveRadial(curveLinear);function Radial(curve){this._curve=curve}Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(a,r){this._curve.point(r*Math.sin(a),r*-Math.cos(a))}};function curveRadial(curve){function radial(context){return new Radial(curve(context))}radial._curve=curve;return radial}function lineRadial(l){var c=l.curve;l.angle=l.x,delete l.x;l.radius=l.y,delete l.y;l.curve=function(_){return arguments.length?c(curveRadial(_)):c()._curve};return l}function lineRadial$1(){return lineRadial(line().curve(curveRadialLinear))}function areaRadial(){var a=area().curve(curveRadialLinear),c=a.curve,x0=a.lineX0,x1=a.lineX1,y0=a.lineY0,y1=a.lineY1;a.angle=a.x,delete a.x;a.startAngle=a.x0,delete a.x0;a.endAngle=a.x1,delete a.x1;a.radius=a.y,delete a.y;a.innerRadius=a.y0,delete a.y0;a.outerRadius=a.y1,delete a.y1;a.lineStartAngle=function(){return lineRadial(x0())},delete a.lineX0;a.lineEndAngle=function(){return lineRadial(x1())},delete a.lineX1;a.lineInnerRadius=function(){return lineRadial(y0())},delete a.lineY0;a.lineOuterRadius=function(){return lineRadial(y1())},delete a.lineY1;a.curve=function(_){return arguments.length?c(curveRadial(_)):c()._curve};return a}function pointRadial(x,y){return[(y=+y)*Math.cos(x-=Math.PI/2),y*Math.sin(x)]}var slice=Array.prototype.slice;function linkSource(d){return d.source}function linkTarget(d){return d.target}function link(curve){var source=linkSource,target=linkTarget,x$1=x,y$1=y,context=null;function link(){var buffer,argv=slice.call(arguments),s=source.apply(this,argv),t=target.apply(this,argv);if(!context)context=buffer=d3Path.path();curve(context,+x$1.apply(this,(argv[0]=s,argv)),+y$1.apply(this,argv),+x$1.apply(this,(argv[0]=t,argv)),+y$1.apply(this,argv));if(buffer)return context=null,buffer+""||null}link.source=function(_){return arguments.length?(source=_,link):source};link.target=function(_){return arguments.length?(target=_,link):target};link.x=function(_){return arguments.length?(x$1=typeof _==="function"?_:constant(+_),link):x$1};link.y=function(_){return arguments.length?(y$1=typeof _==="function"?_:constant(+_),link):y$1};link.context=function(_){return arguments.length?(context=_==null?null:_,link):context};return link}function curveHorizontal(context,x0,y0,x1,y1){context.moveTo(x0,y0);context.bezierCurveTo(x0=(x0+x1)/2,y0,x0,y1,x1,y1)}function curveVertical(context,x0,y0,x1,y1){context.moveTo(x0,y0);context.bezierCurveTo(x0,y0=(y0+y1)/2,x1,y0,x1,y1)}function curveRadial$1(context,x0,y0,x1,y1){var p0=pointRadial(x0,y0),p1=pointRadial(x0,y0=(y0+y1)/2),p2=pointRadial(x1,y0),p3=pointRadial(x1,y1);context.moveTo(p0[0],p0[1]);context.bezierCurveTo(p1[0],p1[1],p2[0],p2[1],p3[0],p3[1])}function linkHorizontal(){return link(curveHorizontal)}function linkVertical(){return link(curveVertical)}function linkRadial(){var l=link(curveRadial$1);l.angle=l.x,delete l.x;l.radius=l.y,delete l.y;return l}var circle={draw:function(context,size){var r=Math.sqrt(size/pi);context.moveTo(r,0);context.arc(0,0,r,0,tau)}};var cross={draw:function(context,size){var r=Math.sqrt(size/5)/2;context.moveTo(-3*r,-r);context.lineTo(-r,-r);context.lineTo(-r,-3*r);context.lineTo(r,-3*r);context.lineTo(r,-r);context.lineTo(3*r,-r);context.lineTo(3*r,r);context.lineTo(r,r);context.lineTo(r,3*r);context.lineTo(-r,3*r);context.lineTo(-r,r);context.lineTo(-3*r,r);context.closePath()}};var tan30=Math.sqrt(1/3),tan30_2=tan30*2;var diamond={draw:function(context,size){var y=Math.sqrt(size/tan30_2),x=y*tan30;context.moveTo(0,-y);context.lineTo(x,0);context.lineTo(0,y);context.lineTo(-x,0);context.closePath()}};var ka=.8908130915292852,kr=Math.sin(pi/10)/Math.sin(7*pi/10),kx=Math.sin(tau/10)*kr,ky=-Math.cos(tau/10)*kr;var star={draw:function(context,size){var r=Math.sqrt(size*ka),x=kx*r,y=ky*r;context.moveTo(0,-r);context.lineTo(x,y);for(var i=1;i<5;++i){var a=tau*i/5,c=Math.cos(a),s=Math.sin(a);context.lineTo(s*r,-c*r);context.lineTo(c*x-s*y,s*x+c*y)}context.closePath()}};var square={draw:function(context,size){var w=Math.sqrt(size),x=-w/2;context.rect(x,x,w,w)}};var sqrt3=Math.sqrt(3);var triangle={draw:function(context,size){var y=-Math.sqrt(size/(sqrt3*3));context.moveTo(0,y*2);context.lineTo(-sqrt3*y,-y);context.lineTo(sqrt3*y,-y);context.closePath()}};var c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=(k/2+1)*3;var wye={draw:function(context,size){var r=Math.sqrt(size/a),x0=r/2,y0=r*k,x1=x0,y1=r*k+r,x2=-x1,y2=y1;context.moveTo(x0,y0);context.lineTo(x1,y1);context.lineTo(x2,y2);context.lineTo(c*x0-s*y0,s*x0+c*y0);context.lineTo(c*x1-s*y1,s*x1+c*y1);context.lineTo(c*x2-s*y2,s*x2+c*y2);context.lineTo(c*x0+s*y0,c*y0-s*x0);context.lineTo(c*x1+s*y1,c*y1-s*x1);context.lineTo(c*x2+s*y2,c*y2-s*x2);context.closePath()}};var symbols=[circle,cross,diamond,square,star,triangle,wye];function symbol(){var type=constant(circle),size=constant(64),context=null;function symbol(){var buffer;if(!context)context=buffer=d3Path.path();type.apply(this,arguments).draw(context,+size.apply(this,arguments));if(buffer)return context=null,buffer+""||null}symbol.type=function(_){return arguments.length?(type=typeof _==="function"?_:constant(_),symbol):type};symbol.size=function(_){return arguments.length?(size=typeof _==="function"?_:constant(+_),symbol):size};symbol.context=function(_){return arguments.length?(context=_==null?null:_,symbol):context};return symbol}function noop(){}function point(that,x,y){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x)/6,(that._y0+4*that._y1+y)/6)}function Basis(context){this._context=context}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){switch(this._point){case 3:point(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};function basis(context){return new Basis(context)}function BasisClosed(context){this._context=context}BasisClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN;this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2);this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3);this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3);this._context.closePath();break}case 3:{this.point(this._x2,this._y2);this.point(this._x3,this._y3);this.point(this._x4,this._y4);break}}},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._x2=x,this._y2=y;break;case 1:this._point=2;this._x3=x,this._y3=y;break;case 2:this._point=3;this._x4=x,this._y4=y;this._context.moveTo((this._x0+4*this._x1+x)/6,(this._y0+4*this._y1+y)/6);break;default:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};function basisClosed(context){return new BasisClosed(context)}function BasisOpen(context){this._context=context}BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var x0=(this._x0+4*this._x1+x)/6,y0=(this._y0+4*this._y1+y)/6;this._line?this._context.lineTo(x0,y0):this._context.moveTo(x0,y0);break;case 3:this._point=4;default:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};function basisOpen(context){return new BasisOpen(context)}function Bundle(context,beta){this._basis=new Basis(context);this._beta=beta}Bundle.prototype={lineStart:function(){this._x=[];this._y=[];this._basis.lineStart()},lineEnd:function(){var x=this._x,y=this._y,j=x.length-1;if(j>0){var x0=x[0],y0=y[0],dx=x[j]-x0,dy=y[j]-y0,i=-1,t;while(++i<=j){t=i/j;this._basis.point(this._beta*x[i]+(1-this._beta)*(x0+t*dx),this._beta*y[i]+(1-this._beta)*(y0+t*dy))}}this._x=this._y=null;this._basis.lineEnd()},point:function(x,y){this._x.push(+x);this._y.push(+y)}};var bundle=function custom(beta){function bundle(context){return beta===1?new Basis(context):new Bundle(context,beta)}bundle.beta=function(beta){return custom(+beta)};return bundle}(.85);function point$1(that,x,y){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x),that._y2+that._k*(that._y1-y),that._x2,that._y2)}function Cardinal(context,tension){this._context=context;this._k=(1-tension)/6}Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$1(this,this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;this._x1=x,this._y1=y;break;case 2:this._point=3;default:point$1(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinal=function custom(tension){function cardinal(context){return new Cardinal(context,tension)}cardinal.tension=function(tension){return custom(+tension)};return cardinal}(0);function CardinalClosed(context,tension){this._context=context;this._k=(1-tension)/6}CardinalClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN;this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3);this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3);this._context.closePath();break}case 3:{this.point(this._x3,this._y3);this.point(this._x4,this._y4);this.point(this._x5,this._y5);break}}},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._x3=x,this._y3=y;break;case 1:this._point=2;this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3;this._x5=x,this._y5=y;break;default:point$1(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinalClosed=function custom(tension){function cardinal(context){return new CardinalClosed(context,tension)}cardinal.tension=function(tension){return custom(+tension)};return cardinal}(0);function CardinalOpen(context,tension){this._context=context;this._k=(1-tension)/6}CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinalOpen=function custom(tension){function cardinal(context){return new CardinalOpen(context,tension)}cardinal.tension=function(tension){return custom(+tension)};return cardinal}(0);function point$2(that,x,y){var x1=that._x1,y1=that._y1,x2=that._x2,y2=that._y2;if(that._l01_a>epsilon){var a=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a-that._x0*that._l12_2a+that._x2*that._l01_2a)/n;y1=(y1*a-that._y0*that._l12_2a+that._y2*that._l01_2a)/n}if(that._l23_a>epsilon){var b=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m=3*that._l23_a*(that._l23_a+that._l12_a);x2=(x2*b+that._x1*that._l23_2a-x*that._l12_2a)/m;y2=(y2*b+that._y1*that._l23_2a-y*that._l12_2a)/m}that._context.bezierCurveTo(x1,y1,x2,y2,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context;this._alpha=alpha}CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;default:point$2(this,x,y);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var catmullRom=function custom(alpha){function catmullRom(context){return alpha?new CatmullRom(context,alpha):new Cardinal(context,0)}catmullRom.alpha=function(alpha){return custom(+alpha)};return catmullRom}(.5);function CatmullRomClosed(context,alpha){this._context=context;this._alpha=alpha}CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3);this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3);this._context.closePath();break}case 3:{this.point(this._x3,this._y3);this.point(this._x4,this._y4);this.point(this._x5,this._y5);break}}},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;this._x3=x,this._y3=y;break;case 1:this._point=2;this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3;this._x5=x,this._y5=y;break;default:point$2(this,x,y);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var catmullRomClosed=function custom(alpha){function catmullRom(context){return alpha?new CatmullRomClosed(context,alpha):new CardinalClosed(context,0)}catmullRom.alpha=function(alpha){return custom(+alpha)};return catmullRom}(.5);function CatmullRomOpen(context,alpha){this._context=context;this._alpha=alpha}CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,x,y);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var catmullRomOpen=function custom(alpha){function catmullRom(context){return alpha?new CatmullRomOpen(context,alpha):new CardinalOpen(context,0)}catmullRom.alpha=function(alpha){return custom(+alpha)};return catmullRom}(.5);function LinearClosed(context){this._context=context}LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){if(this._point)this._context.closePath()},point:function(x,y){x=+x,y=+y;if(this._point)this._context.lineTo(x,y);else this._point=1,this._context.moveTo(x,y)}};function linearClosed(context){return new LinearClosed(context)}function sign(x){return x<0?-1:1}function slope3(that,x2,y2){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||h1<0&&-0),s1=(y2-that._y1)/(h1||h0<0&&-0),p=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p))||0}function slope2(that,t){var h=that._x1-that._x0;return h?(3*(that._y1-that._y0)/h-t)/2:t}function point$3(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point$3(this,this._t0,slope2(this,this._t0));break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){var t1=NaN;x=+x,y=+y;if(x===this._x1&&y===this._y1)return;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;point$3(this,slope2(this,t1=slope3(this,x,y)),t1);break;default:point$3(this,this._t0,t1=slope3(this,x,y));break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y;this._t0=t1}};function MonotoneY(context){this._context=new ReflectContext(context)}(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x,y){MonotoneX.prototype.point.call(this,y,x)};function ReflectContext(context){this._context=context}ReflectContext.prototype={moveTo:function(x,y){this._context.moveTo(y,x)},closePath:function(){this._context.closePath()},lineTo:function(x,y){this._context.lineTo(y,x)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._context.bezierCurveTo(y1,x1,y2,x2,y,x)}};function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[];this._y=[]},lineEnd:function(){var x=this._x,y=this._y,n=x.length;if(n){this._line?this._context.lineTo(x[0],y[0]):this._context.moveTo(x[0],y[0]);if(n===2){this._context.lineTo(x[1],y[1])}else{var px=controlPoints(x),py=controlPoints(y);for(var i0=0,i1=1;i1<n;++i0,++i1){this._context.bezierCurveTo(px[0][i0],py[0][i0],px[1][i0],py[1][i0],x[i1],y[i1])}}}if(this._line||this._line!==0&&n===1)this._context.closePath();this._line=1-this._line;this._x=this._y=null},point:function(x,y){this._x.push(+x);this._y.push(+y)}};function controlPoints(x){var i,n=x.length-1,m,a=new Array(n),b=new Array(n),r=new Array(n);a[0]=0,b[0]=2,r[0]=x[0]+2*x[1];for(i=1;i<n-1;++i)a[i]=1,b[i]=4,r[i]=4*x[i]+2*x[i+1];a[n-1]=2,b[n-1]=7,r[n-1]=8*x[n-1]+x[n];for(i=1;i<n;++i)m=a[i]/b[i-1],b[i]-=m,r[i]-=m*r[i-1];a[n-1]=r[n-1]/b[n-1];for(i=n-2;i>=0;--i)a[i]=(r[i]-a[i+1])/b[i];b[n-1]=(x[n]+a[n-1])/2;for(i=0;i<n-1;++i)b[i]=2*x[i+1]-a[i+1];return[a,b]}function natural(context){return new Natural(context)}function Step(context,t){this._context=context;this._t=t}Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN;this._point=0},lineEnd:function(){if(0<this._t&&this._t<1&&this._point===2)this._context.lineTo(this._x,this._y);if(this._line||this._line!==0&&this._point===1)this._context.closePath();if(this._line>=0)this._t=1-this._t,this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:{if(this._t<=0){this._context.lineTo(this._x,y);this._context.lineTo(x,y)}else{var x1=this._x*(1-this._t)+x*this._t;this._context.lineTo(x1,this._y);this._context.lineTo(x1,y)}break}}this._x=x,this._y=y}};function step(context){return new Step(context,.5)}function stepBefore(context){return new Step(context,0)}function stepAfter(context){return new Step(context,1)}function none(series,order){if(!((n=series.length)>1))return;for(var i=1,j,s0,s1=series[order[0]],n,m=s1.length;i<n;++i){s0=s1,s1=series[order[i]];for(j=0;j<m;++j){s1[j][1]+=s1[j][0]=isNaN(s0[j][1])?s0[j][0]:s0[j][1]}}}function none$1(series){var n=series.length,o=new Array(n);while(--n>=0)o[n]=n;return o}function stackValue(d,key){return d[key]}function stack(){var keys=constant([]),order=none$1,offset=none,value=stackValue;function stack(data){var kz=keys.apply(this,arguments),i,m=data.length,n=kz.length,sz=new Array(n),oz;for(i=0;i<n;++i){for(var ki=kz[i],si=sz[i]=new Array(m),j=0,sij;j<m;++j){si[j]=sij=[0,+value(data[j],ki,j,data)];sij.data=data[j]}si.key=ki}for(i=0,oz=order(sz);i<n;++i){sz[oz[i]].index=i}offset(sz,oz);return sz}stack.keys=function(_){return arguments.length?(keys=typeof _==="function"?_:constant(slice.call(_)),stack):keys};stack.value=function(_){return arguments.length?(value=typeof _==="function"?_:constant(+_),stack):value};stack.order=function(_){return arguments.length?(order=_==null?none$1:typeof _==="function"?_:constant(slice.call(_)),stack):order};stack.offset=function(_){return arguments.length?(offset=_==null?none:_,stack):offset};return stack}function expand(series,order){if(!((n=series.length)>0))return;for(var i,n,j=0,m=series[0].length,y;j<m;++j){for(y=i=0;i<n;++i)y+=series[i][j][1]||0;if(y)for(i=0;i<n;++i)series[i][j][1]/=y}none(series,order)}function diverging(series,order){if(!((n=series.length)>0))return;for(var i,j=0,d,dy,yp,yn,n,m=series[order[0]].length;j<m;++j){for(yp=yn=0,i=0;i<n;++i){if((dy=(d=series[order[i]][j])[1]-d[0])>0){d[0]=yp,d[1]=yp+=dy}else if(dy<0){d[1]=yn,d[0]=yn+=dy}else{d[0]=0,d[1]=dy}}}}function silhouette(series,order){if(!((n=series.length)>0))return;for(var j=0,s0=series[order[0]],n,m=s0.length;j<m;++j){for(var i=0,y=0;i<n;++i)y+=series[i][j][1]||0;s0[j][1]+=s0[j][0]=-y/2}none(series,order)}function wiggle(series,order){if(!((n=series.length)>0)||!((m=(s0=series[order[0]]).length)>0))return;for(var y=0,j=1,s0,m,n;j<m;++j){for(var i=0,s1=0,s2=0;i<n;++i){var si=series[order[i]],sij0=si[j][1]||0,sij1=si[j-1][1]||0,s3=(sij0-sij1)/2;for(var k=0;k<i;++k){var sk=series[order[k]],skj0=sk[j][1]||0,skj1=sk[j-1][1]||0;s3+=skj0-skj1}s1+=sij0,s2+=s3*sij0}s0[j-1][1]+=s0[j-1][0]=y;if(s1)y-=s2/s1}s0[j-1][1]+=s0[j-1][0]=y;none(series,order)}function appearance(series){var peaks=series.map(peak);return none$1(series).sort((function(a,b){return peaks[a]-peaks[b]}))}function peak(series){var i=-1,j=0,n=series.length,vi,vj=-Infinity;while(++i<n)if((vi=+series[i][1])>vj)vj=vi,j=i;return j}function ascending(series){var sums=series.map(sum);return none$1(series).sort((function(a,b){return sums[a]-sums[b]}))}function sum(series){var s=0,i=-1,n=series.length,v;while(++i<n)if(v=+series[i][1])s+=v;return s}function descending$1(series){return ascending(series).reverse()}function insideOut(series){var n=series.length,i,j,sums=series.map(sum),order=appearance(series),top=0,bottom=0,tops=[],bottoms=[];for(i=0;i<n;++i){j=order[i];if(top<bottom){top+=sums[j];tops.push(j)}else{bottom+=sums[j];bottoms.push(j)}}return bottoms.reverse().concat(tops)}function reverse(series){return none$1(series).reverse()}exports.arc=arc;exports.area=area;exports.areaRadial=areaRadial;exports.curveBasis=basis;exports.curveBasisClosed=basisClosed;exports.curveBasisOpen=basisOpen;exports.curveBundle=bundle;exports.curveCardinal=cardinal;exports.curveCardinalClosed=cardinalClosed;exports.curveCardinalOpen=cardinalOpen;exports.curveCatmullRom=catmullRom;exports.curveCatmullRomClosed=catmullRomClosed;exports.curveCatmullRomOpen=catmullRomOpen;exports.curveLinear=curveLinear;exports.curveLinearClosed=linearClosed;exports.curveMonotoneX=monotoneX;exports.curveMonotoneY=monotoneY;exports.curveNatural=natural;exports.curveStep=step;exports.curveStepAfter=stepAfter;exports.curveStepBefore=stepBefore;exports.line=line;exports.lineRadial=lineRadial$1;exports.linkHorizontal=linkHorizontal;exports.linkRadial=linkRadial;exports.linkVertical=linkVertical;exports.pie=pie;exports.pointRadial=pointRadial;exports.radialArea=areaRadial;exports.radialLine=lineRadial$1;exports.stack=stack;exports.stackOffsetDiverging=diverging;exports.stackOffsetExpand=expand;exports.stackOffsetNone=none;exports.stackOffsetSilhouette=silhouette;exports.stackOffsetWiggle=wiggle;exports.stackOrderAppearance=appearance;exports.stackOrderAscending=ascending;exports.stackOrderDescending=descending$1;exports.stackOrderInsideOut=insideOut;exports.stackOrderNone=none$1;exports.stackOrderReverse=reverse;exports.symbol=symbol;exports.symbolCircle=circle;exports.symbolCross=cross;exports.symbolDiamond=diamond;exports.symbolSquare=square;exports.symbolStar=star;exports.symbolTriangle=triangle;exports.symbolWye=wye;exports.symbols=symbols;Object.defineProperty(exports,"__esModule",{value:true})}))},{"d3-path":172}],175:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,_dereq_("d3-time")):typeof define==="function"&&define.amd?define(["exports","d3-time"],factory):(global=global||self,factory(global.d3=global.d3||{},global.d3))})(this,(function(exports,d3Time){"use strict";function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);date.setFullYear(d.y);return date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));date.setUTCFullYear(d.y);return date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newDate(y,m,d){return{y:y,m:m,d:d,H:0,M:0,S:0,L:0}}function formatLocale(locale){var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths;var periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths);var formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,q:formatQuarter,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent};var utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,q:formatUTCQuarter,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent};var parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,q:parseQuarter,Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};formats.x=newFormat(locale_date,formats);formats.X=newFormat(locale_time,formats);formats.c=newFormat(locale_dateTime,formats);utcFormats.x=newFormat(locale_date,utcFormats);utcFormats.X=newFormat(locale_time,utcFormats);utcFormats.c=newFormat(locale_dateTime,utcFormats);function newFormat(specifier,formats){return function(date){var string=[],i=-1,j=0,n=specifier.length,c,pad,format;if(!(date instanceof Date))date=new Date(+date);while(++i<n){if(specifier.charCodeAt(i)===37){string.push(specifier.slice(j,i));if((pad=pads[c=specifier.charAt(++i)])!=null)c=specifier.charAt(++i);else pad=c==="e"?" ":"0";if(format=formats[c])c=format(date,pad);string.push(c);j=i+1}}string.push(specifier.slice(j,i));return string.join("")}}function newParse(specifier,Z){return function(string){var d=newDate(1900,undefined,1),i=parseSpecifier(d,specifier,string+="",0),week,day;if(i!=string.length)return null;if("Q"in d)return new Date(d.Q);if("s"in d)return new Date(d.s*1e3+("L"in d?d.L:0));if(Z&&!("Z"in d))d.Z=0;if("p"in d)d.H=d.H%12+d.p*12;if(d.m===undefined)d.m="q"in d?d.q:0;if("V"in d){if(d.V<1||d.V>53)return null;if(!("w"in d))d.w=1;if("Z"in d){week=utcDate(newDate(d.y,0,1)),day=week.getUTCDay();week=day>4||day===0?d3Time.utcMonday.ceil(week):d3Time.utcMonday(week);week=d3Time.utcDay.offset(week,(d.V-1)*7);d.y=week.getUTCFullYear();d.m=week.getUTCMonth();d.d=week.getUTCDate()+(d.w+6)%7}else{week=localDate(newDate(d.y,0,1)),day=week.getDay();week=day>4||day===0?d3Time.timeMonday.ceil(week):d3Time.timeMonday(week);week=d3Time.timeDay.offset(week,(d.V-1)*7);d.y=week.getFullYear();d.m=week.getMonth();d.d=week.getDate()+(d.w+6)%7}}else if("W"in d||"U"in d){if(!("w"in d))d.w="u"in d?d.u%7:"W"in d?1:0;day="Z"in d?utcDate(newDate(d.y,0,1)).getUTCDay():localDate(newDate(d.y,0,1)).getDay();d.m=0;d.d="W"in d?(d.w+6)%7+d.W*7-(day+5)%7:d.w+d.U*7-(day+6)%7}if("Z"in d){d.H+=d.Z/100|0;d.M+=d.Z%100;return utcDate(d)}return localDate(d)}}function parseSpecifier(d,specifier,string,j){var i=0,n=specifier.length,m=string.length,c,parse;while(i<n){if(j>=m)return-1;c=specifier.charCodeAt(i++);if(c===37){c=specifier.charAt(i++);parse=parses[c in pads?specifier.charAt(i++):c];if(!parse||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++)){return-1}}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatQuarter(d){return 1+~~(d.getMonth()/3)}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}function formatUTCQuarter(d){return 1+~~(d.getUTCMonth()/3)}return{format:function(specifier){var f=newFormat(specifier+="",formats);f.toString=function(){return specifier};return f},parse:function(specifier){var p=newParse(specifier+="",false);p.toString=function(){return specifier};return p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);f.toString=function(){return specifier};return f},utcParse:function(specifier){var p=newParse(specifier+="",true);p.toString=function(){return specifier};return p}}}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g;function pad(value,fill,width){var sign=value<0?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(length<width?new Array(width-length+1).join(fill)+string:string)}function requote(s){return s.replace(requoteRe,"\\$&")}function formatRe(names){return new RegExp("^(?:"+names.map(requote).join("|")+")","i")}function formatLookup(names){var map={},i=-1,n=names.length;while(++i<n)map[names[i].toLowerCase()]=i;return map}function parseWeekdayNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.w=+n[0],i+n[0].length):-1}function parseWeekdayNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.u=+n[0],i+n[0].length):-1}function parseWeekNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.U=+n[0],i+n[0].length):-1}function parseWeekNumberISO(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.V=+n[0],i+n[0].length):-1}function parseWeekNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.W=+n[0],i+n[0].length):-1}function parseFullYear(d,string,i){var n=numberRe.exec(string.slice(i,i+4));return n?(d.y=+n[0],i+n[0].length):-1}function parseYear(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.y=+n[0]+(+n[0]>68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseQuarter(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.q=n[0]*3-3,i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseMicroseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+6));return n?(d.L=Math.floor(n[0]/1e3),i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function parseUnixTimestamp(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.Q=+n[0],i+n[0].length):-1}function parseUnixTimestampSeconds(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.s=+n[0],i+n[0].length):-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+d3Time.timeDay.count(d3Time.timeYear(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMicroseconds(d,p){return formatMilliseconds(d,p)+"000"}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekdayNumberMonday(d){var day=d.getDay();return day===0?7:day}function formatWeekNumberSunday(d,p){return pad(d3Time.timeSunday.count(d3Time.timeYear(d)-1,d),p,2)}function formatWeekNumberISO(d,p){var day=d.getDay();d=day>=4||day===0?d3Time.timeThursday(d):d3Time.timeThursday.ceil(d);return pad(d3Time.timeThursday.count(d3Time.timeYear(d),d)+(d3Time.timeYear(d).getDay()===4),p,2)}function formatWeekdayNumberSunday(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(d3Time.timeMonday.count(d3Time.timeYear(d)-1,d),p,2)}function formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+d3Time.utcDay.count(d3Time.utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMicroseconds(d,p){return formatUTCMilliseconds(d,p)+"000"}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekdayNumberMonday(d){var dow=d.getUTCDay();return dow===0?7:dow}function formatUTCWeekNumberSunday(d,p){return pad(d3Time.utcSunday.count(d3Time.utcYear(d)-1,d),p,2)}function formatUTCWeekNumberISO(d,p){var day=d.getUTCDay();d=day>=4||day===0?d3Time.utcThursday(d):d3Time.utcThursday.ceil(d);return pad(d3Time.utcThursday.count(d3Time.utcYear(d),d)+(d3Time.utcYear(d).getUTCDay()===4),p,2)}function formatUTCWeekdayNumberSunday(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(d3Time.utcMonday.count(d3Time.utcYear(d)-1,d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(d){return+d}function formatUnixTimestampSeconds(d){return Math.floor(+d/1e3)}var locale;defaultLocale({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function defaultLocale(definition){locale=formatLocale(definition);exports.timeFormat=locale.format;exports.timeParse=locale.parse;exports.utcFormat=locale.utcFormat;exports.utcParse=locale.utcParse;return locale}var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(date){return date.toISOString()}var formatIso=Date.prototype.toISOString?formatIsoNative:exports.utcFormat(isoSpecifier);function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:exports.utcParse(isoSpecifier);exports.isoFormat=formatIso;exports.isoParse=parseIso;exports.timeFormatDefaultLocale=defaultLocale;exports.timeFormatLocale=formatLocale;Object.defineProperty(exports,"__esModule",{value:true})}))},{"d3-time":176}],176:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.d3=global.d3||{}))})(this,(function(exports){"use strict";var t0=new Date,t1=new Date;function newInterval(floori,offseti,count,field){function interval(date){return floori(date=arguments.length===0?new Date:new Date(+date)),date}interval.floor=function(date){return floori(date=new Date(+date)),date};interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date};interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return date-d0<d1-date?d0:d1};interval.offset=function(date,step){return offseti(date=new Date(+date),step==null?1:Math.floor(step)),date};interval.range=function(start,stop,step){var range=[],previous;start=interval.ceil(start);step=step==null?1:Math.floor(step);if(!(start<stop)||!(step>0))return range;do{range.push(previous=new Date(+start)),offseti(start,step),floori(start)}while(previous<start&&start<stop);return range};interval.filter=function(test){return newInterval((function(date){if(date>=date)while(floori(date),!test(date))date.setTime(date-1)}),(function(date,step){if(date>=date){if(step<0)while(++step<=0){while(offseti(date,-1),!test(date)){}}else while(--step>=0){while(offseti(date,+1),!test(date)){}}}}))};if(count){interval.count=function(start,end){t0.setTime(+start),t1.setTime(+end);floori(t0),floori(t1);return Math.floor(count(t0,t1))};interval.every=function(step){step=Math.floor(step);return!isFinite(step)||!(step>0)?null:!(step>1)?interval:interval.filter(field?function(d){return field(d)%step===0}:function(d){return interval.count(0,d)%step===0})}}return interval}var millisecond=newInterval((function(){}),(function(date,step){date.setTime(+date+step)}),(function(start,end){return end-start}));millisecond.every=function(k){k=Math.floor(k);if(!isFinite(k)||!(k>0))return null;if(!(k>1))return millisecond;return newInterval((function(date){date.setTime(Math.floor(date/k)*k)}),(function(date,step){date.setTime(+date+step*k)}),(function(start,end){return(end-start)/k}))};var milliseconds=millisecond.range;var durationSecond=1e3;var durationMinute=6e4;var durationHour=36e5;var durationDay=864e5;var durationWeek=6048e5;var second=newInterval((function(date){date.setTime(date-date.getMilliseconds())}),(function(date,step){date.setTime(+date+step*durationSecond)}),(function(start,end){return(end-start)/durationSecond}),(function(date){return date.getUTCSeconds()}));var seconds=second.range;var minute=newInterval((function(date){date.setTime(date-date.getMilliseconds()-date.getSeconds()*durationSecond)}),(function(date,step){date.setTime(+date+step*durationMinute)}),(function(start,end){return(end-start)/durationMinute}),(function(date){return date.getMinutes()}));var minutes=minute.range;var hour=newInterval((function(date){date.setTime(date-date.getMilliseconds()-date.getSeconds()*durationSecond-date.getMinutes()*durationMinute)}),(function(date,step){date.setTime(+date+step*durationHour)}),(function(start,end){return(end-start)/durationHour}),(function(date){return date.getHours()}));var hours=hour.range;var day=newInterval((function(date){date.setHours(0,0,0,0)}),(function(date,step){date.setDate(date.getDate()+step)}),(function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*durationMinute)/durationDay}),(function(date){return date.getDate()-1}));var days=day.range;function weekday(i){return newInterval((function(date){date.setDate(date.getDate()-(date.getDay()+7-i)%7);date.setHours(0,0,0,0)}),(function(date,step){date.setDate(date.getDate()+step*7)}),(function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*durationMinute)/durationWeek}))}var sunday=weekday(0);var monday=weekday(1);var tuesday=weekday(2);var wednesday=weekday(3);var thursday=weekday(4);var friday=weekday(5);var saturday=weekday(6);var sundays=sunday.range;var mondays=monday.range;var tuesdays=tuesday.range;var wednesdays=wednesday.range;var thursdays=thursday.range;var fridays=friday.range;var saturdays=saturday.range;var month=newInterval((function(date){date.setDate(1);date.setHours(0,0,0,0)}),(function(date,step){date.setMonth(date.getMonth()+step)}),(function(start,end){return end.getMonth()-start.getMonth()+(end.getFullYear()-start.getFullYear())*12}),(function(date){return date.getMonth()}));var months=month.range;var year=newInterval((function(date){date.setMonth(0,1);date.setHours(0,0,0,0)}),(function(date,step){date.setFullYear(date.getFullYear()+step)}),(function(start,end){return end.getFullYear()-start.getFullYear()}),(function(date){return date.getFullYear()}));year.every=function(k){return!isFinite(k=Math.floor(k))||!(k>0)?null:newInterval((function(date){date.setFullYear(Math.floor(date.getFullYear()/k)*k);date.setMonth(0,1);date.setHours(0,0,0,0)}),(function(date,step){date.setFullYear(date.getFullYear()+step*k)}))};var years=year.range;var utcMinute=newInterval((function(date){date.setUTCSeconds(0,0)}),(function(date,step){date.setTime(+date+step*durationMinute)}),(function(start,end){return(end-start)/durationMinute}),(function(date){return date.getUTCMinutes()}));var utcMinutes=utcMinute.range;var utcHour=newInterval((function(date){date.setUTCMinutes(0,0,0)}),(function(date,step){date.setTime(+date+step*durationHour)}),(function(start,end){return(end-start)/durationHour}),(function(date){return date.getUTCHours()}));var utcHours=utcHour.range;var utcDay=newInterval((function(date){date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCDate(date.getUTCDate()+step)}),(function(start,end){return(end-start)/durationDay}),(function(date){return date.getUTCDate()-1}));var utcDays=utcDay.range;function utcWeekday(i){return newInterval((function(date){date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7);date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCDate(date.getUTCDate()+step*7)}),(function(start,end){return(end-start)/durationWeek}))}var utcSunday=utcWeekday(0);var utcMonday=utcWeekday(1);var utcTuesday=utcWeekday(2);var utcWednesday=utcWeekday(3);var utcThursday=utcWeekday(4);var utcFriday=utcWeekday(5);var utcSaturday=utcWeekday(6);var utcSundays=utcSunday.range;var utcMondays=utcMonday.range;var utcTuesdays=utcTuesday.range;var utcWednesdays=utcWednesday.range;var utcThursdays=utcThursday.range;var utcFridays=utcFriday.range;var utcSaturdays=utcSaturday.range;var utcMonth=newInterval((function(date){date.setUTCDate(1);date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCMonth(date.getUTCMonth()+step)}),(function(start,end){return end.getUTCMonth()-start.getUTCMonth()+(end.getUTCFullYear()-start.getUTCFullYear())*12}),(function(date){return date.getUTCMonth()}));var utcMonths=utcMonth.range;var utcYear=newInterval((function(date){date.setUTCMonth(0,1);date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)}),(function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()}),(function(date){return date.getUTCFullYear()}));utcYear.every=function(k){return!isFinite(k=Math.floor(k))||!(k>0)?null:newInterval((function(date){date.setUTCFullYear(Math.floor(date.getUTCFullYear()/k)*k);date.setUTCMonth(0,1);date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step*k)}))};var utcYears=utcYear.range;exports.timeDay=day;exports.timeDays=days;exports.timeFriday=friday;exports.timeFridays=fridays;exports.timeHour=hour;exports.timeHours=hours;exports.timeInterval=newInterval;exports.timeMillisecond=millisecond;exports.timeMilliseconds=milliseconds;exports.timeMinute=minute;exports.timeMinutes=minutes;exports.timeMonday=monday;exports.timeMondays=mondays;exports.timeMonth=month;exports.timeMonths=months;exports.timeSaturday=saturday;exports.timeSaturdays=saturdays;exports.timeSecond=second;exports.timeSeconds=seconds;exports.timeSunday=sunday;exports.timeSundays=sundays;exports.timeThursday=thursday;exports.timeThursdays=thursdays;exports.timeTuesday=tuesday;exports.timeTuesdays=tuesdays;exports.timeWednesday=wednesday;exports.timeWednesdays=wednesdays;exports.timeWeek=sunday;exports.timeWeeks=sundays;exports.timeYear=year;exports.timeYears=years;exports.utcDay=utcDay;exports.utcDays=utcDays;exports.utcFriday=utcFriday;exports.utcFridays=utcFridays;exports.utcHour=utcHour;exports.utcHours=utcHours;exports.utcMillisecond=millisecond;exports.utcMilliseconds=milliseconds;exports.utcMinute=utcMinute;exports.utcMinutes=utcMinutes;exports.utcMonday=utcMonday;exports.utcMondays=utcMondays;exports.utcMonth=utcMonth;exports.utcMonths=utcMonths;exports.utcSaturday=utcSaturday;exports.utcSaturdays=utcSaturdays;exports.utcSecond=second;exports.utcSeconds=seconds;exports.utcSunday=utcSunday;exports.utcSundays=utcSundays;exports.utcThursday=utcThursday;exports.utcThursdays=utcThursdays;exports.utcTuesday=utcTuesday;exports.utcTuesdays=utcTuesdays;exports.utcWednesday=utcWednesday;exports.utcWednesdays=utcWednesdays;exports.utcWeek=utcSunday;exports.utcWeeks=utcSundays;exports.utcYear=utcYear;exports.utcYears=utcYears;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],177:[function(_dereq_,module,exports){arguments[4][176][0].apply(exports,arguments)},{dup:176}],178:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.d3=global.d3||{}))})(this,(function(exports){"use strict";var frame=0,timeout=0,interval=0,pokeDelay=1e3,taskHead,taskTail,clockLast=0,clockNow=0,clockSkew=0,clock=typeof performance==="object"&&performance.now?performance:Date,setFrame=typeof window==="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(f){setTimeout(f,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}Timer.prototype=timer.prototype={constructor:Timer,restart:function(callback,delay,time){if(typeof callback!=="function")throw new TypeError("callback is not a function");time=(time==null?now():+time)+(delay==null?0:+delay);if(!this._next&&taskTail!==this){if(taskTail)taskTail._next=this;else taskHead=this;taskTail=this}this._call=callback;this._time=time;sleep()},stop:function(){if(this._call){this._call=null;this._time=Infinity;sleep()}}};function timer(callback,delay,time){var t=new Timer;t.restart(callback,delay,time);return t}function timerFlush(){now();++frame;var t=taskHead,e;while(t){if((e=clockNow-t._time)>=0)t._call.call(null,e);t=t._next}--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew;frame=timeout=0;try{timerFlush()}finally{frame=0;nap();clockNow=0}}function poke(){var now=clock.now(),delay=now-clockLast;if(delay>pokeDelay)clockSkew-=delay,clockLast=now}function nap(){var t0,t1=taskHead,t2,time=Infinity;while(t1){if(t1._call){if(time>t1._time)time=t1._time;t0=t1,t1=t1._next}else{t2=t1._next,t1._next=null;t1=t0?t0._next=t2:taskHead=t2}}taskTail=t0;sleep(time)}function sleep(time){if(frame)return;if(timeout)timeout=clearTimeout(timeout);var delay=time-clockNow;if(delay>24){if(time<Infinity)timeout=setTimeout(wake,time-clock.now()-clockSkew);if(interval)interval=clearInterval(interval)}else{if(!interval)clockLast=clock.now(),interval=setInterval(poke,pokeDelay);frame=1,setFrame(wake)}}function timeout$1(callback,delay,time){var t=new Timer;delay=delay==null?0:+delay;t.restart((function(elapsed){t.stop();callback(elapsed+delay)}),delay,time);return t}function interval$1(callback,delay,time){var t=new Timer,total=delay;if(delay==null)return t.restart(callback,delay,time),t;delay=+delay,time=time==null?now():+time;t.restart((function tick(elapsed){elapsed+=total;t.restart(tick,total+=delay,time);callback(elapsed)}),delay,time);return t}exports.interval=interval$1;exports.now=now;exports.timeout=timeout$1;exports.timer=timer;exports.timerFlush=timerFlush;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],179:[function(_dereq_,module,exports){module.exports=function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined)return arguments[i]}}},{}],180:[function(_dereq_,module,exports){"use strict";var ch=_dereq_("incremental-convex-hull");var uniq=_dereq_("uniq");module.exports=triangulate;function LiftedPoint(p,i){this.point=p;this.index=i}function compareLifted(a,b){var ap=a.point;var bp=b.point;var d=ap.length;for(var i=0;i<d;++i){var s=bp[i]-ap[i];if(s){return s}}return 0}function triangulate1D(n,points,includePointAtInfinity){if(n===1){if(includePointAtInfinity){return[[-1,0]]}else{return[]}}var lifted=points.map((function(p,i){return[p[0],i]}));lifted.sort((function(a,b){return a[0]-b[0]}));var cells=new Array(n-1);for(var i=1;i<n;++i){var a=lifted[i-1];var b=lifted[i];cells[i-1]=[a[1],b[1]]}if(includePointAtInfinity){cells.push([-1,cells[0][1]],[cells[n-1][1],-1])}return cells}function triangulate(points,includePointAtInfinity){var n=points.length;if(n===0){return[]}var d=points[0].length;if(d<1){return[]}if(d===1){return triangulate1D(n,points,includePointAtInfinity)}var lifted=new Array(n);var upper=1;for(var i=0;i<n;++i){var p=points[i];var x=new Array(d+1);var l=0;for(var j=0;j<d;++j){var v=p[j];x[j]=v;l+=v*v}x[d]=l;lifted[i]=new LiftedPoint(x,i);upper=Math.max(l,upper)}uniq(lifted,compareLifted);n=lifted.length;var dpoints=new Array(n+d+1);var dindex=new Array(n+d+1);var u=(d+1)*(d+1)*upper;var y=new Array(d+1);for(var i=0;i<=d;++i){y[i]=0}y[d]=u;dpoints[0]=y.slice();dindex[0]=-1;for(var i=0;i<=d;++i){var x=y.slice();x[i]=1;dpoints[i+1]=x;dindex[i+1]=-1}for(var i=0;i<n;++i){var h=lifted[i];dpoints[i+d+1]=h.point;dindex[i+d+1]=h.index}var hull=ch(dpoints,false);if(includePointAtInfinity){hull=hull.filter((function(cell){var count=0;for(var j=0;j<=d;++j){var v=dindex[cell[j]];if(v<0){if(++count>=2){return false}}cell[j]=v}return true}))}else{hull=hull.filter((function(cell){for(var i=0;i<=d;++i){var v=dindex[cell[i]];if(v<0){return false}cell[i]=v}return true}))}if(d&1){for(var i=0;i<hull.length;++i){var h=hull[i];var x=h[0];h[0]=h[1];h[1]=x}}return hull}},{"incremental-convex-hull":446,uniq:619}],181:[function(_dereq_,module,exports){"use strict";module.exports=kerning;var canvas=kerning.canvas=document.createElement("canvas");var ctx=canvas.getContext("2d");var asciiPairs=createPairs([32,126]);kerning.createPairs=createPairs;kerning.ascii=asciiPairs;function kerning(family,o){if(Array.isArray(family))family=family.join(", ");var table={},pairs,fs=16,threshold=.05;if(o){if(o.length===2&&typeof o[0]==="number"){pairs=createPairs(o)}else if(Array.isArray(o)){pairs=o}else{if(o.o)pairs=createPairs(o.o);else if(o.pairs)pairs=o.pairs;if(o.fontSize)fs=o.fontSize;if(o.threshold!=null)threshold=o.threshold}}if(!pairs)pairs=asciiPairs;ctx.font=fs+"px "+family;for(var i=0;i<pairs.length;i++){var pair=pairs[i];var width=ctx.measureText(pair[0]).width+ctx.measureText(pair[1]).width;var kerningWidth=ctx.measureText(pair).width;if(Math.abs(width-kerningWidth)>fs*threshold){var emWidth=(kerningWidth-width)/fs;table[pair]=emWidth*1e3}}return table}function createPairs(range){var pairs=[];for(var i=range[0];i<=range[1];i++){var leftChar=String.fromCharCode(i);for(var j=range[0];j<range[1];j++){var rightChar=String.fromCharCode(j);var pair=leftChar+rightChar;pairs.push(pair)}}return pairs}},{}],182:[function(_dereq_,module,exports){(function(Buffer){(function(){var hasTypedArrays=false;if(typeof Float64Array!=="undefined"){var DOUBLE_VIEW=new Float64Array(1),UINT_VIEW=new Uint32Array(DOUBLE_VIEW.buffer);DOUBLE_VIEW[0]=1;hasTypedArrays=true;if(UINT_VIEW[1]===1072693248){module.exports=function doubleBitsLE(n){DOUBLE_VIEW[0]=n;return[UINT_VIEW[0],UINT_VIEW[1]]};function toDoubleLE(lo,hi){UINT_VIEW[0]=lo;UINT_VIEW[1]=hi;return DOUBLE_VIEW[0]}module.exports.pack=toDoubleLE;function lowUintLE(n){DOUBLE_VIEW[0]=n;return UINT_VIEW[0]}module.exports.lo=lowUintLE;function highUintLE(n){DOUBLE_VIEW[0]=n;return UINT_VIEW[1]}module.exports.hi=highUintLE}else if(UINT_VIEW[0]===1072693248){module.exports=function doubleBitsBE(n){DOUBLE_VIEW[0]=n;return[UINT_VIEW[1],UINT_VIEW[0]]};function toDoubleBE(lo,hi){UINT_VIEW[1]=lo;UINT_VIEW[0]=hi;return DOUBLE_VIEW[0]}module.exports.pack=toDoubleBE;function lowUintBE(n){DOUBLE_VIEW[0]=n;return UINT_VIEW[1]}module.exports.lo=lowUintBE;function highUintBE(n){DOUBLE_VIEW[0]=n;return UINT_VIEW[0]}module.exports.hi=highUintBE}else{hasTypedArrays=false}}if(!hasTypedArrays){var buffer=new Buffer(8);module.exports=function doubleBits(n){buffer.writeDoubleLE(n,0,true);return[buffer.readUInt32LE(0,true),buffer.readUInt32LE(4,true)]};function toDouble(lo,hi){buffer.writeUInt32LE(lo,0,true);buffer.writeUInt32LE(hi,4,true);return buffer.readDoubleLE(0,true)}module.exports.pack=toDouble;function lowUint(n){buffer.writeDoubleLE(n,0,true);return buffer.readUInt32LE(0,true)}module.exports.lo=lowUint;function highUint(n){buffer.writeDoubleLE(n,0,true);return buffer.readUInt32LE(4,true)}module.exports.hi=highUint}module.exports.sign=function(n){return module.exports.hi(n)>>>31};module.exports.exponent=function(n){var b=module.exports.hi(n);return(b<<1>>>21)-1023};module.exports.fraction=function(n){var lo=module.exports.lo(n);var hi=module.exports.hi(n);var b=hi&(1<<20)-1;if(hi&2146435072){b+=1<<20}return[lo,b]};module.exports.denormalized=function(n){var hi=module.exports.hi(n);return!(hi&2146435072)}}).call(this)}).call(this,_dereq_("buffer").Buffer)},{buffer:117}],183:[function(_dereq_,module,exports){var abs=_dereq_("abs-svg-path");var normalize=_dereq_("normalize-svg-path");var methods={M:"moveTo",C:"bezierCurveTo"};module.exports=function(context,segments){context.beginPath();normalize(abs(segments)).forEach((function(segment){var command=segment[0];var args=segment.slice(1);context[methods[command]].apply(context,args)}));context.closePath()}},{"abs-svg-path":71,"normalize-svg-path":485}],184:[function(_dereq_,module,exports){module.exports=function(dtype){switch(dtype){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],185:[function(_dereq_,module,exports){"use strict";function dupe_array(count,value,i){var c=count[i]|0;if(c<=0){return[]}var result=new Array(c),j;if(i===count.length-1){for(j=0;j<c;++j){result[j]=value}}else{for(j=0;j<c;++j){result[j]=dupe_array(count,value,i+1)}}return result}function dupe_number(count,value){var result,i;result=new Array(count);for(i=0;i<count;++i){result[i]=value}return result}function dupe(count,value){if(typeof value==="undefined"){value=0}switch(typeof count){case"number":if(count>0){return dupe_number(count|0,value)}break;case"object":if(typeof count.length==="number"){return dupe_array(count,value,0)}break}return[]}module.exports=dupe},{}],186:[function(_dereq_,module,exports){"use strict";module.exports=earcut;module.exports.default=earcut;function earcut(data,holeIndices,dim){dim=dim||2;var hasHoles=holeIndices&&holeIndices.length,outerLen=hasHoles?holeIndices[0]*dim:data.length,outerNode=linkedList(data,0,outerLen,dim,true),triangles=[];if(!outerNode||outerNode.next===outerNode.prev)return triangles;var minX,minY,maxX,maxY,x,y,invSize;if(hasHoles)outerNode=eliminateHoles(data,holeIndices,outerNode,dim);if(data.length>80*dim){minX=maxX=data[0];minY=maxY=data[1];for(var i=dim;i<outerLen;i+=dim){x=data[i];y=data[i+1];if(x<minX)minX=x;if(y<minY)minY=y;if(x>maxX)maxX=x;if(y>maxY)maxY=y}invSize=Math.max(maxX-minX,maxY-minY);invSize=invSize!==0?1/invSize:0}earcutLinked(outerNode,triangles,dim,minX,minY,invSize);return triangles}function linkedList(data,start,end,dim,clockwise){var i,last;if(clockwise===signedArea(data,start,end,dim)>0){for(i=start;i<end;i+=dim)last=insertNode(i,data[i],data[i+1],last)}else{for(i=end-dim;i>=start;i-=dim)last=insertNode(i,data[i],data[i+1],last)}if(last&&equals(last,last.next)){removeNode(last);last=last.next}return last}function filterPoints(start,end){if(!start)return start;if(!end)end=start;var p=start,again;do{again=false;if(!p.steiner&&(equals(p,p.next)||area(p.prev,p,p.next)===0)){removeNode(p);p=end=p.prev;if(p===p.next)break;again=true}else{p=p.next}}while(again||p!==end);return end}function earcutLinked(ear,triangles,dim,minX,minY,invSize,pass){if(!ear)return;if(!pass&&invSize)indexCurve(ear,minX,minY,invSize);var stop=ear,prev,next;while(ear.prev!==ear.next){prev=ear.prev;next=ear.next;if(invSize?isEarHashed(ear,minX,minY,invSize):isEar(ear)){triangles.push(prev.i/dim);triangles.push(ear.i/dim);triangles.push(next.i/dim);removeNode(ear);ear=next.next;stop=next.next;continue}ear=next;if(ear===stop){if(!pass){earcutLinked(filterPoints(ear),triangles,dim,minX,minY,invSize,1)}else if(pass===1){ear=cureLocalIntersections(filterPoints(ear),triangles,dim);earcutLinked(ear,triangles,dim,minX,minY,invSize,2)}else if(pass===2){splitEarcut(ear,triangles,dim,minX,minY,invSize)}break}}}function isEar(ear){var a=ear.prev,b=ear,c=ear.next;if(area(a,b,c)>=0)return false;var p=ear.next.next;while(p!==ear.prev){if(pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.next}return true}function isEarHashed(ear,minX,minY,invSize){var a=ear.prev,b=ear,c=ear.next;if(area(a,b,c)>=0)return false;var minTX=a.x<b.x?a.x<c.x?a.x:c.x:b.x<c.x?b.x:c.x,minTY=a.y<b.y?a.y<c.y?a.y:c.y:b.y<c.y?b.y:c.y,maxTX=a.x>b.x?a.x>c.x?a.x:c.x:b.x>c.x?b.x:c.x,maxTY=a.y>b.y?a.y>c.y?a.y:c.y:b.y>c.y?b.y:c.y;var minZ=zOrder(minTX,minTY,minX,minY,invSize),maxZ=zOrder(maxTX,maxTY,minX,minY,invSize);var p=ear.prevZ,n=ear.nextZ;while(p&&p.z>=minZ&&n&&n.z<=maxZ){if(p!==ear.prev&&p!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.prevZ;if(n!==ear.prev&&n!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,n.x,n.y)&&area(n.prev,n,n.next)>=0)return false;n=n.nextZ}while(p&&p.z>=minZ){if(p!==ear.prev&&p!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.prevZ}while(n&&n.z<=maxZ){if(n!==ear.prev&&n!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,n.x,n.y)&&area(n.prev,n,n.next)>=0)return false;n=n.nextZ}return true}function cureLocalIntersections(start,triangles,dim){var p=start;do{var a=p.prev,b=p.next.next;if(!equals(a,b)&&intersects(a,p,p.next,b)&&locallyInside(a,b)&&locallyInside(b,a)){triangles.push(a.i/dim);triangles.push(p.i/dim);triangles.push(b.i/dim);removeNode(p);removeNode(p.next);p=start=b}p=p.next}while(p!==start);return filterPoints(p)}function splitEarcut(start,triangles,dim,minX,minY,invSize){var a=start;do{var b=a.next.next;while(b!==a.prev){if(a.i!==b.i&&isValidDiagonal(a,b)){var c=splitPolygon(a,b);a=filterPoints(a,a.next);c=filterPoints(c,c.next);earcutLinked(a,triangles,dim,minX,minY,invSize);earcutLinked(c,triangles,dim,minX,minY,invSize);return}b=b.next}a=a.next}while(a!==start)}function eliminateHoles(data,holeIndices,outerNode,dim){var queue=[],i,len,start,end,list;for(i=0,len=holeIndices.length;i<len;i++){start=holeIndices[i]*dim;end=i<len-1?holeIndices[i+1]*dim:data.length;list=linkedList(data,start,end,dim,false);if(list===list.next)list.steiner=true;queue.push(getLeftmost(list))}queue.sort(compareX);for(i=0;i<queue.length;i++){eliminateHole(queue[i],outerNode);outerNode=filterPoints(outerNode,outerNode.next)}return outerNode}function compareX(a,b){return a.x-b.x}function eliminateHole(hole,outerNode){outerNode=findHoleBridge(hole,outerNode);if(outerNode){var b=splitPolygon(outerNode,hole);filterPoints(outerNode,outerNode.next);filterPoints(b,b.next)}}function findHoleBridge(hole,outerNode){var p=outerNode,hx=hole.x,hy=hole.y,qx=-Infinity,m;do{if(hy<=p.y&&hy>=p.next.y&&p.next.y!==p.y){var x=p.x+(hy-p.y)*(p.next.x-p.x)/(p.next.y-p.y);if(x<=hx&&x>qx){qx=x;if(x===hx){if(hy===p.y)return p;if(hy===p.next.y)return p.next}m=p.x<p.next.x?p:p.next}}p=p.next}while(p!==outerNode);if(!m)return null;if(hx===qx)return m;var stop=m,mx=m.x,my=m.y,tanMin=Infinity,tan;p=m;do{if(hx>=p.x&&p.x>=mx&&hx!==p.x&&pointInTriangle(hy<my?hx:qx,hy,mx,my,hy<my?qx:hx,hy,p.x,p.y)){tan=Math.abs(hy-p.y)/(hx-p.x);if(locallyInside(p,hole)&&(tan<tanMin||tan===tanMin&&(p.x>m.x||p.x===m.x&&sectorContainsSector(m,p)))){m=p;tanMin=tan}}p=p.next}while(p!==stop);return m}function sectorContainsSector(m,p){return area(m.prev,m,p.prev)<0&&area(p.next,m,m.next)<0}function indexCurve(start,minX,minY,invSize){var p=start;do{if(p.z===null)p.z=zOrder(p.x,p.y,minX,minY,invSize);p.prevZ=p.prev;p.nextZ=p.next;p=p.next}while(p!==start);p.prevZ.nextZ=null;p.prevZ=null;sortLinked(p)}function sortLinked(list){var i,p,q,e,tail,numMerges,pSize,qSize,inSize=1;do{p=list;list=null;tail=null;numMerges=0;while(p){numMerges++;q=p;pSize=0;for(i=0;i<inSize;i++){pSize++;q=q.nextZ;if(!q)break}qSize=inSize;while(pSize>0||qSize>0&&q){if(pSize!==0&&(qSize===0||!q||p.z<=q.z)){e=p;p=p.nextZ;pSize--}else{e=q;q=q.nextZ;qSize--}if(tail)tail.nextZ=e;else list=e;e.prevZ=tail;tail=e}p=q}tail.nextZ=null;inSize*=2}while(numMerges>1);return list}function zOrder(x,y,minX,minY,invSize){x=32767*(x-minX)*invSize;y=32767*(y-minY)*invSize;x=(x|x<<8)&16711935;x=(x|x<<4)&252645135;x=(x|x<<2)&858993459;x=(x|x<<1)&1431655765;y=(y|y<<8)&16711935;y=(y|y<<4)&252645135;y=(y|y<<2)&858993459;y=(y|y<<1)&1431655765;return x|y<<1}function getLeftmost(start){var p=start,leftmost=start;do{if(p.x<leftmost.x||p.x===leftmost.x&&p.y<leftmost.y)leftmost=p;p=p.next}while(p!==start);return leftmost}function pointInTriangle(ax,ay,bx,by,cx,cy,px,py){return(cx-px)*(ay-py)-(ax-px)*(cy-py)>=0&&(ax-px)*(by-py)-(bx-px)*(ay-py)>=0&&(bx-px)*(cy-py)-(cx-px)*(by-py)>=0}function isValidDiagonal(a,b){return a.next.i!==b.i&&a.prev.i!==b.i&&!intersectsPolygon(a,b)&&(locallyInside(a,b)&&locallyInside(b,a)&&middleInside(a,b)&&(area(a.prev,a,b.prev)||area(a,b.prev,b))||equals(a,b)&&area(a.prev,a,a.next)>0&&area(b.prev,b,b.next)>0)}function area(p,q,r){return(q.y-p.y)*(r.x-q.x)-(q.x-p.x)*(r.y-q.y)}function equals(p1,p2){return p1.x===p2.x&&p1.y===p2.y}function intersects(p1,q1,p2,q2){var o1=sign(area(p1,q1,p2));var o2=sign(area(p1,q1,q2));var o3=sign(area(p2,q2,p1));var o4=sign(area(p2,q2,q1));if(o1!==o2&&o3!==o4)return true;if(o1===0&&onSegment(p1,p2,q1))return true;if(o2===0&&onSegment(p1,q2,q1))return true;if(o3===0&&onSegment(p2,p1,q2))return true;if(o4===0&&onSegment(p2,q1,q2))return true;return false}function onSegment(p,q,r){return q.x<=Math.max(p.x,r.x)&&q.x>=Math.min(p.x,r.x)&&q.y<=Math.max(p.y,r.y)&&q.y>=Math.min(p.y,r.y)}function sign(num){return num>0?1:num<0?-1:0}function intersectsPolygon(a,b){var p=a;do{if(p.i!==a.i&&p.next.i!==a.i&&p.i!==b.i&&p.next.i!==b.i&&intersects(p,p.next,a,b))return true;p=p.next}while(p!==a);return false}function locallyInside(a,b){return area(a.prev,a,a.next)<0?area(a,b,a.next)>=0&&area(a,a.prev,b)>=0:area(a,b,a.prev)<0||area(a,a.next,b)<0}function middleInside(a,b){var p=a,inside=false,px=(a.x+b.x)/2,py=(a.y+b.y)/2;do{if(p.y>py!==p.next.y>py&&p.next.y!==p.y&&px<(p.next.x-p.x)*(py-p.y)/(p.next.y-p.y)+p.x)inside=!inside;p=p.next}while(p!==a);return inside}function splitPolygon(a,b){var a2=new Node(a.i,a.x,a.y),b2=new Node(b.i,b.x,b.y),an=a.next,bp=b.prev;a.next=b;b.prev=a;a2.next=an;an.prev=a2;b2.next=a2;a2.prev=b2;bp.next=b2;b2.prev=bp;return b2}function insertNode(i,x,y,last){var p=new Node(i,x,y);if(!last){p.prev=p;p.next=p}else{p.next=last.next;p.prev=last;last.next.prev=p;last.next=p}return p}function removeNode(p){p.next.prev=p.prev;p.prev.next=p.next;if(p.prevZ)p.prevZ.nextZ=p.nextZ;if(p.nextZ)p.nextZ.prevZ=p.prevZ}function Node(i,x,y){this.i=i;this.x=x;this.y=y;this.prev=null;this.next=null;this.z=null;this.prevZ=null;this.nextZ=null;this.steiner=false}earcut.deviation=function(data,holeIndices,dim,triangles){var hasHoles=holeIndices&&holeIndices.length;var outerLen=hasHoles?holeIndices[0]*dim:data.length;var polygonArea=Math.abs(signedArea(data,0,outerLen,dim));if(hasHoles){for(var i=0,len=holeIndices.length;i<len;i++){var start=holeIndices[i]*dim;var end=i<len-1?holeIndices[i+1]*dim:data.length;polygonArea-=Math.abs(signedArea(data,start,end,dim))}}var trianglesArea=0;for(i=0;i<triangles.length;i+=3){var a=triangles[i]*dim;var b=triangles[i+1]*dim;var c=triangles[i+2]*dim;trianglesArea+=Math.abs((data[a]-data[c])*(data[b+1]-data[a+1])-(data[a]-data[b])*(data[c+1]-data[a+1]))}return polygonArea===0&&trianglesArea===0?0:Math.abs((trianglesArea-polygonArea)/polygonArea)};function signedArea(data,start,end,dim){var sum=0;for(var i=start,j=end-dim;i<end;i+=dim){sum+=(data[j]-data[i])*(data[i+1]+data[j+1]);j=i}return sum}earcut.flatten=function(data){var dim=data[0][0].length,result={vertices:[],holes:[],dimensions:dim},holeIndex=0;for(var i=0;i<data.length;i++){for(var j=0;j<data[i].length;j++){for(var d=0;d<dim;d++)result.vertices.push(data[i][j][d])}if(i>0){holeIndex+=data[i-1].length;result.holes.push(holeIndex)}}return result}},{}],187:[function(_dereq_,module,exports){"use strict";module.exports=edgeToAdjacency;var uniq=_dereq_("uniq");function edgeToAdjacency(edges,numVertices){var numEdges=edges.length;if(typeof numVertices!=="number"){numVertices=0;for(var i=0;i<numEdges;++i){var e=edges[i];numVertices=Math.max(numVertices,e[0],e[1])}numVertices=(numVertices|0)+1}numVertices=numVertices|0;var adj=new Array(numVertices);for(var i=0;i<numVertices;++i){adj[i]=[]}for(var i=0;i<numEdges;++i){var e=edges[i];adj[e[0]].push(e[1]);adj[e[1]].push(e[0])}for(var j=0;j<numVertices;++j){uniq(adj[j],(function(a,b){return a-b}))}return adj}},{uniq:619}],188:[function(_dereq_,module,exports){var tarjan=_dereq_("strongly-connected-components");module.exports=function findCircuits(edges,cb){var circuits=[];var stack=[];var blocked=[];var B={};var Ak=[];var s;function unblock(u){blocked[u]=false;if(B.hasOwnProperty(u)){Object.keys(B[u]).forEach((function(w){delete B[u][w];if(blocked[w]){unblock(w)}}))}}function circuit(v){var found=false;stack.push(v);blocked[v]=true;var i;var w;for(i=0;i<Ak[v].length;i++){w=Ak[v][i];if(w===s){output(s,stack);found=true}else if(!blocked[w]){found=circuit(w)}}if(found){unblock(v)}else{for(i=0;i<Ak[v].length;i++){w=Ak[v][i];var entry=B[w];if(!entry){entry={};B[w]=entry}entry[w]=true}}stack.pop();return found}function output(start,stack){var cycle=[].concat(stack).concat(start);if(cb){cb(circuit)}else{circuits.push(cycle)}}function subgraph(minId){for(var i=0;i<edges.length;i++){if(i<minId)edges[i]=[];edges[i]=edges[i].filter((function(i){return i>=minId}))}}function adjacencyStructureSCC(from){subgraph(from);var g=edges;var sccs=tarjan(g);var ccs=sccs.components.filter((function(scc){return scc.length>1}));var leastVertex=Infinity;var leastVertexComponent;for(var i=0;i<ccs.length;i++){for(var j=0;j<ccs[i].length;j++){if(ccs[i][j]<leastVertex){leastVertex=ccs[i][j];leastVertexComponent=i}}}var cc=ccs[leastVertexComponent];if(!cc)return false;var adjList=edges.map((function(l,index){if(cc.indexOf(index)===-1)return[];return l.filter((function(i){return cc.indexOf(i)!==-1}))}));return{leastVertex:leastVertex,adjList:adjList}}s=0;var n=edges.length;while(s<n){var p=adjacencyStructureSCC(s);s=p.leastVertex;Ak=p.adjList;if(Ak){for(var i=0;i<Ak.length;i++){for(var j=0;j<Ak[i].length;j++){var vertexId=Ak[i][j];blocked[+vertexId]=false;B[vertexId]={}}}circuit(s);s=s+1}else{s=n}}if(cb){return}else{return circuits}}},{"strongly-connected-components":590}],189:[function(_dereq_,module,exports){"use strict";var value=_dereq_("../../object/valid-value");module.exports=function(){value(this).length=0;return this}},{"../../object/valid-value":220}],190:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?Array.from:_dereq_("./shim")},{"./is-implemented":191,"./shim":192}],191:[function(_dereq_,module,exports){"use strict";module.exports=function(){var from=Array.from,arr,result;if(typeof from!=="function")return false;arr=["raz","dwa"];result=from(arr);return Boolean(result&&result!==arr&&result[1]==="dwa")}},{}],192:[function(_dereq_,module,exports){"use strict";var iteratorSymbol=_dereq_("es6-symbol").iterator,isArguments=_dereq_("../../function/is-arguments"),isFunction=_dereq_("../../function/is-function"),toPosInt=_dereq_("../../number/to-pos-integer"),callable=_dereq_("../../object/valid-callable"),validValue=_dereq_("../../object/valid-value"),isValue=_dereq_("../../object/is-value"),isString=_dereq_("../../string/is-string"),isArray=Array.isArray,call=Function.prototype.call,desc={configurable:true,enumerable:true,writable:true,value:null},defineProperty=Object.defineProperty;module.exports=function(arrayLike){var mapFn=arguments[1],thisArg=arguments[2],Context,i,j,arr,length,code,iterator,result,getIterator,value;arrayLike=Object(validValue(arrayLike));if(isValue(mapFn))callable(mapFn);if(!this||this===Array||!isFunction(this)){if(!mapFn){if(isArguments(arrayLike)){length=arrayLike.length;if(length!==1)return Array.apply(null,arrayLike);arr=new Array(1);arr[0]=arrayLike[0];return arr}if(isArray(arrayLike)){arr=new Array(length=arrayLike.length);for(i=0;i<length;++i)arr[i]=arrayLike[i];return arr}}arr=[]}else{Context=this}if(!isArray(arrayLike)){if((getIterator=arrayLike[iteratorSymbol])!==undefined){iterator=callable(getIterator).call(arrayLike);if(Context)arr=new Context;result=iterator.next();i=0;while(!result.done){value=mapFn?call.call(mapFn,thisArg,result.value,i):result.value;if(Context){desc.value=value;defineProperty(arr,i,desc)}else{arr[i]=value}result=iterator.next();++i}length=i}else if(isString(arrayLike)){length=arrayLike.length;if(Context)arr=new Context;for(i=0,j=0;i<length;++i){value=arrayLike[i];if(i+1<length){code=value.charCodeAt(0);if(code>=55296&&code<=56319)value+=arrayLike[++i]}value=mapFn?call.call(mapFn,thisArg,value,j):value;if(Context){desc.value=value;defineProperty(arr,j,desc)}else{arr[j]=value}++j}length=j}}if(length===undefined){length=toPosInt(arrayLike.length);if(Context)arr=new Context(length);for(i=0;i<length;++i){value=mapFn?call.call(mapFn,thisArg,arrayLike[i],i):arrayLike[i];if(Context){desc.value=value;defineProperty(arr,i,desc)}else{arr[i]=value}}}if(Context){desc.value=null;arr.length=length}return arr}},{"../../function/is-arguments":193,"../../function/is-function":194,"../../number/to-pos-integer":200,"../../object/is-value":209,"../../object/valid-callable":218,"../../object/valid-value":220,"../../string/is-string":224,"es6-symbol":233}],193:[function(_dereq_,module,exports){"use strict";var objToString=Object.prototype.toString,id=objToString.call(function(){return arguments}());module.exports=function(value){return objToString.call(value)===id}},{}],194:[function(_dereq_,module,exports){"use strict";var objToString=Object.prototype.toString,isFunctionStringTag=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);module.exports=function(value){return typeof value==="function"&&isFunctionStringTag(objToString.call(value))}},{}],195:[function(_dereq_,module,exports){"use strict";module.exports=function(){}},{}],196:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?Math.sign:_dereq_("./shim")},{"./is-implemented":197,"./shim":198}],197:[function(_dereq_,module,exports){"use strict";module.exports=function(){var sign=Math.sign;if(typeof sign!=="function")return false;return sign(10)===1&&sign(-20)===-1}},{}],198:[function(_dereq_,module,exports){"use strict";module.exports=function(value){value=Number(value);if(isNaN(value)||value===0)return value;return value>0?1:-1}},{}],199:[function(_dereq_,module,exports){"use strict";var sign=_dereq_("../math/sign"),abs=Math.abs,floor=Math.floor;module.exports=function(value){if(isNaN(value))return 0;value=Number(value);if(value===0||!isFinite(value))return value;return sign(value)*floor(abs(value))}},{"../math/sign":196}],200:[function(_dereq_,module,exports){"use strict";var toInteger=_dereq_("./to-integer"),max=Math.max;module.exports=function(value){return max(0,toInteger(value))}},{"./to-integer":199}],201:[function(_dereq_,module,exports){"use strict";var callable=_dereq_("./valid-callable"),value=_dereq_("./valid-value"),bind=Function.prototype.bind,call=Function.prototype.call,keys=Object.keys,objPropertyIsEnumerable=Object.prototype.propertyIsEnumerable;module.exports=function(method,defVal){return function(obj,cb){var list,thisArg=arguments[2],compareFn=arguments[3];obj=Object(value(obj));callable(cb);list=keys(obj);if(compareFn){list.sort(typeof compareFn==="function"?bind.call(compareFn,obj):undefined)}if(typeof method!=="function")method=list[method];return call.call(method,list,(function(key,index){if(!objPropertyIsEnumerable.call(obj,key))return defVal;return call.call(cb,thisArg,obj[key],key,obj,index)}))}}},{"./valid-callable":218,"./valid-value":220}],202:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?Object.assign:_dereq_("./shim")},{"./is-implemented":203,"./shim":204}],203:[function(_dereq_,module,exports){"use strict";module.exports=function(){var assign=Object.assign,obj;if(typeof assign!=="function")return false;obj={foo:"raz"};assign(obj,{bar:"dwa"},{trzy:"trzy"});return obj.foo+obj.bar+obj.trzy==="razdwatrzy"}},{}],204:[function(_dereq_,module,exports){"use strict";var keys=_dereq_("../keys"),value=_dereq_("../valid-value"),max=Math.max;module.exports=function(dest,src){var error,i,length=max(arguments.length,2),assign;dest=Object(value(dest));assign=function(key){try{dest[key]=src[key]}catch(e){if(!error)error=e}};for(i=1;i<length;++i){src=arguments[i];keys(src).forEach(assign)}if(error!==undefined)throw error;return dest}},{"../keys":210,"../valid-value":220}],205:[function(_dereq_,module,exports){"use strict";var aFrom=_dereq_("../array/from"),assign=_dereq_("./assign"),value=_dereq_("./valid-value");module.exports=function(obj){var copy=Object(value(obj)),propertyNames=arguments[1],options=Object(arguments[2]);if(copy!==obj&&!propertyNames)return copy;var result={};if(propertyNames){aFrom(propertyNames,(function(propertyName){if(options.ensure||propertyName in obj)result[propertyName]=obj[propertyName]}))}else{assign(result,obj)}return result}},{"../array/from":190,"./assign":202,"./valid-value":220}],206:[function(_dereq_,module,exports){"use strict";var create=Object.create,shim;if(!_dereq_("./set-prototype-of/is-implemented")()){shim=_dereq_("./set-prototype-of/shim")}module.exports=function(){var nullObject,polyProps,desc;if(!shim)return create;if(shim.level!==1)return create;nullObject={};polyProps={};desc={configurable:false,enumerable:false,writable:true,value:undefined};Object.getOwnPropertyNames(Object.prototype).forEach((function(name){if(name==="__proto__"){polyProps[name]={configurable:true,enumerable:false,writable:true,value:undefined};return}polyProps[name]=desc}));Object.defineProperties(nullObject,polyProps);Object.defineProperty(shim,"nullPolyfill",{configurable:false,enumerable:false,writable:false,value:nullObject});return function(prototype,props){return create(prototype===null?nullObject:prototype,props)}}()},{"./set-prototype-of/is-implemented":216,"./set-prototype-of/shim":217}],207:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./_iterate")("forEach")},{"./_iterate":201}],208:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("./is-value");var map={function:true,object:true};module.exports=function(value){return isValue(value)&&map[typeof value]||false}},{"./is-value":209}],209:[function(_dereq_,module,exports){"use strict";var _undefined=_dereq_("../function/noop")();module.exports=function(val){return val!==_undefined&&val!==null}},{"../function/noop":195}],210:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?Object.keys:_dereq_("./shim")},{"./is-implemented":211,"./shim":212}],211:[function(_dereq_,module,exports){"use strict";module.exports=function(){try{Object.keys("primitive");return true}catch(e){return false}}},{}],212:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("../is-value");var keys=Object.keys;module.exports=function(object){return keys(isValue(object)?Object(object):object)}},{"../is-value":209}],213:[function(_dereq_,module,exports){"use strict";var callable=_dereq_("./valid-callable"),forEach=_dereq_("./for-each"),call=Function.prototype.call;module.exports=function(obj,cb){var result={},thisArg=arguments[2];callable(cb);forEach(obj,(function(value,key,targetObj,index){result[key]=call.call(cb,thisArg,value,key,targetObj,index)}));return result}},{"./for-each":207,"./valid-callable":218}],214:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("./is-value");var forEach=Array.prototype.forEach,create=Object.create;var process=function(src,obj){var key;for(key in src)obj[key]=src[key]};module.exports=function(opts1){var result=create(null);forEach.call(arguments,(function(options){if(!isValue(options))return;process(Object(options),result)}));return result}},{"./is-value":209}],215:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?Object.setPrototypeOf:_dereq_("./shim")},{"./is-implemented":216,"./shim":217}],216:[function(_dereq_,module,exports){"use strict";var create=Object.create,getPrototypeOf=Object.getPrototypeOf,plainObject={};module.exports=function(){var setPrototypeOf=Object.setPrototypeOf,customCreate=arguments[0]||create;if(typeof setPrototypeOf!=="function")return false;return getPrototypeOf(setPrototypeOf(customCreate(null),plainObject))===plainObject}},{}],217:[function(_dereq_,module,exports){"use strict";var isObject=_dereq_("../is-object"),value=_dereq_("../valid-value"),objIsPrototypeOf=Object.prototype.isPrototypeOf,defineProperty=Object.defineProperty,nullDesc={configurable:true,enumerable:false,writable:true,value:undefined},validate;validate=function(obj,prototype){value(obj);if(prototype===null||isObject(prototype))return obj;throw new TypeError("Prototype must be null or an object")};module.exports=function(status){var fn,set;if(!status)return null;if(status.level===2){if(status.set){set=status.set;fn=function(obj,prototype){set.call(validate(obj,prototype),prototype);return obj}}else{fn=function(obj,prototype){validate(obj,prototype).__proto__=prototype;return obj}}}else{fn=function self(obj,prototype){var isNullBase;validate(obj,prototype);isNullBase=objIsPrototypeOf.call(self.nullPolyfill,obj);if(isNullBase)delete self.nullPolyfill.__proto__;if(prototype===null)prototype=self.nullPolyfill;obj.__proto__=prototype;if(isNullBase)defineProperty(self.nullPolyfill,"__proto__",nullDesc);return obj}}return Object.defineProperty(fn,"level",{configurable:false,enumerable:false,writable:false,value:status.level})}(function(){var tmpObj1=Object.create(null),tmpObj2={},set,desc=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(desc){try{set=desc.set;set.call(tmpObj1,tmpObj2)}catch(ignore){}if(Object.getPrototypeOf(tmpObj1)===tmpObj2)return{set:set,level:2}}tmpObj1.__proto__=tmpObj2;if(Object.getPrototypeOf(tmpObj1)===tmpObj2)return{level:2};tmpObj1={};tmpObj1.__proto__=tmpObj2;if(Object.getPrototypeOf(tmpObj1)===tmpObj2)return{level:1};return false}());_dereq_("../create")},{"../create":206,"../is-object":208,"../valid-value":220}],218:[function(_dereq_,module,exports){"use strict";module.exports=function(fn){if(typeof fn!=="function")throw new TypeError(fn+" is not a function");return fn}},{}],219:[function(_dereq_,module,exports){"use strict";var isObject=_dereq_("./is-object");module.exports=function(value){if(!isObject(value))throw new TypeError(value+" is not an Object");return value}},{"./is-object":208}],220:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("./is-value");module.exports=function(value){if(!isValue(value))throw new TypeError("Cannot use null or undefined");return value}},{"./is-value":209}],221:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?String.prototype.contains:_dereq_("./shim")},{"./is-implemented":222,"./shim":223}],222:[function(_dereq_,module,exports){"use strict";var str="razdwatrzy";module.exports=function(){if(typeof str.contains!=="function")return false;return str.contains("dwa")===true&&str.contains("foo")===false}},{}],223:[function(_dereq_,module,exports){"use strict";var indexOf=String.prototype.indexOf;module.exports=function(searchString){return indexOf.call(this,searchString,arguments[1])>-1}},{}],224:[function(_dereq_,module,exports){"use strict";var objToString=Object.prototype.toString,id=objToString.call("");module.exports=function(value){return typeof value==="string"||value&&typeof value==="object"&&(value instanceof String||objToString.call(value)===id)||false}},{}],225:[function(_dereq_,module,exports){"use strict";var generated=Object.create(null),random=Math.random;module.exports=function(){var str;do{str=random().toString(36).slice(2)}while(generated[str]);return str}},{}],226:[function(_dereq_,module,exports){"use strict";var setPrototypeOf=_dereq_("es5-ext/object/set-prototype-of"),contains=_dereq_("es5-ext/string/#/contains"),d=_dereq_("d"),Symbol=_dereq_("es6-symbol"),Iterator=_dereq_("./");var defineProperty=Object.defineProperty,ArrayIterator;ArrayIterator=module.exports=function(arr,kind){if(!(this instanceof ArrayIterator))throw new TypeError("Constructor requires 'new'");Iterator.call(this,arr);if(!kind)kind="value";else if(contains.call(kind,"key+value"))kind="key+value";else if(contains.call(kind,"key"))kind="key";else kind="value";defineProperty(this,"__kind__",d("",kind))};if(setPrototypeOf)setPrototypeOf(ArrayIterator,Iterator);delete ArrayIterator.prototype.constructor;ArrayIterator.prototype=Object.create(Iterator.prototype,{_resolve:d((function(i){if(this.__kind__==="value")return this.__list__[i];if(this.__kind__==="key+value")return[i,this.__list__[i]];return i}))});defineProperty(ArrayIterator.prototype,Symbol.toStringTag,d("c","Array Iterator"))},{"./":229,d:161,"es5-ext/object/set-prototype-of":215,"es5-ext/string/#/contains":221,"es6-symbol":233}],227:[function(_dereq_,module,exports){"use strict";var isArguments=_dereq_("es5-ext/function/is-arguments"),callable=_dereq_("es5-ext/object/valid-callable"),isString=_dereq_("es5-ext/string/is-string"),get=_dereq_("./get");var isArray=Array.isArray,call=Function.prototype.call,some=Array.prototype.some;module.exports=function(iterable,cb){var mode,thisArg=arguments[2],result,doBreak,broken,i,length,char,code;if(isArray(iterable)||isArguments(iterable))mode="array";else if(isString(iterable))mode="string";else iterable=get(iterable);callable(cb);doBreak=function(){broken=true};if(mode==="array"){some.call(iterable,(function(value){call.call(cb,thisArg,value,doBreak);return broken}));return}if(mode==="string"){length=iterable.length;for(i=0;i<length;++i){char=iterable[i];if(i+1<length){code=char.charCodeAt(0);if(code>=55296&&code<=56319)char+=iterable[++i]}call.call(cb,thisArg,char,doBreak);if(broken)break}return}result=iterable.next();while(!result.done){call.call(cb,thisArg,result.value,doBreak);if(broken)return;result=iterable.next()}}},{"./get":228,"es5-ext/function/is-arguments":193,"es5-ext/object/valid-callable":218,"es5-ext/string/is-string":224}],228:[function(_dereq_,module,exports){"use strict";var isArguments=_dereq_("es5-ext/function/is-arguments"),isString=_dereq_("es5-ext/string/is-string"),ArrayIterator=_dereq_("./array"),StringIterator=_dereq_("./string"),iterable=_dereq_("./valid-iterable"),iteratorSymbol=_dereq_("es6-symbol").iterator;module.exports=function(obj){if(typeof iterable(obj)[iteratorSymbol]==="function")return obj[iteratorSymbol]();if(isArguments(obj))return new ArrayIterator(obj);if(isString(obj))return new StringIterator(obj);return new ArrayIterator(obj)}},{"./array":226,"./string":231,"./valid-iterable":232,"es5-ext/function/is-arguments":193,"es5-ext/string/is-string":224,"es6-symbol":233}],229:[function(_dereq_,module,exports){"use strict";var clear=_dereq_("es5-ext/array/#/clear"),assign=_dereq_("es5-ext/object/assign"),callable=_dereq_("es5-ext/object/valid-callable"),value=_dereq_("es5-ext/object/valid-value"),d=_dereq_("d"),autoBind=_dereq_("d/auto-bind"),Symbol=_dereq_("es6-symbol");var defineProperty=Object.defineProperty,defineProperties=Object.defineProperties,Iterator;module.exports=Iterator=function(list,context){if(!(this instanceof Iterator))throw new TypeError("Constructor requires 'new'");defineProperties(this,{__list__:d("w",value(list)),__context__:d("w",context),__nextIndex__:d("w",0)});if(!context)return;callable(context.on);context.on("_add",this._onAdd);context.on("_delete",this._onDelete);context.on("_clear",this._onClear)};delete Iterator.prototype.constructor;defineProperties(Iterator.prototype,assign({_next:d((function(){var i;if(!this.__list__)return undefined;if(this.__redo__){i=this.__redo__.shift();if(i!==undefined)return i}if(this.__nextIndex__<this.__list__.length)return this.__nextIndex__++;this._unBind();return undefined})),next:d((function(){return this._createResult(this._next())})),_createResult:d((function(i){if(i===undefined)return{done:true,value:undefined};return{done:false,value:this._resolve(i)}})),_resolve:d((function(i){return this.__list__[i]})),_unBind:d((function(){this.__list__=null;delete this.__redo__;if(!this.__context__)return;this.__context__.off("_add",this._onAdd);this.__context__.off("_delete",this._onDelete);this.__context__.off("_clear",this._onClear);this.__context__=null})),toString:d((function(){return"[object "+(this[Symbol.toStringTag]||"Object")+"]"}))},autoBind({_onAdd:d((function(index){if(index>=this.__nextIndex__)return;++this.__nextIndex__;if(!this.__redo__){defineProperty(this,"__redo__",d("c",[index]));return}this.__redo__.forEach((function(redo,i){if(redo>=index)this.__redo__[i]=++redo}),this);this.__redo__.push(index)})),_onDelete:d((function(index){var i;if(index>=this.__nextIndex__)return;--this.__nextIndex__;if(!this.__redo__)return;i=this.__redo__.indexOf(index);if(i!==-1)this.__redo__.splice(i,1);this.__redo__.forEach((function(redo,j){if(redo>index)this.__redo__[j]=--redo}),this)})),_onClear:d((function(){if(this.__redo__)clear.call(this.__redo__);this.__nextIndex__=0}))})));defineProperty(Iterator.prototype,Symbol.iterator,d((function(){return this})))},{d:161,"d/auto-bind":160,"es5-ext/array/#/clear":189,"es5-ext/object/assign":202,"es5-ext/object/valid-callable":218,"es5-ext/object/valid-value":220,"es6-symbol":233}],230:[function(_dereq_,module,exports){"use strict";var isArguments=_dereq_("es5-ext/function/is-arguments"),isValue=_dereq_("es5-ext/object/is-value"),isString=_dereq_("es5-ext/string/is-string");var iteratorSymbol=_dereq_("es6-symbol").iterator,isArray=Array.isArray;module.exports=function(value){if(!isValue(value))return false;if(isArray(value))return true;if(isString(value))return true;if(isArguments(value))return true;return typeof value[iteratorSymbol]==="function"}},{"es5-ext/function/is-arguments":193,"es5-ext/object/is-value":209,"es5-ext/string/is-string":224,"es6-symbol":233}],231:[function(_dereq_,module,exports){"use strict";var setPrototypeOf=_dereq_("es5-ext/object/set-prototype-of"),d=_dereq_("d"),Symbol=_dereq_("es6-symbol"),Iterator=_dereq_("./");var defineProperty=Object.defineProperty,StringIterator;StringIterator=module.exports=function(str){if(!(this instanceof StringIterator))throw new TypeError("Constructor requires 'new'");str=String(str);Iterator.call(this,str);defineProperty(this,"__length__",d("",str.length))};if(setPrototypeOf)setPrototypeOf(StringIterator,Iterator);delete StringIterator.prototype.constructor;StringIterator.prototype=Object.create(Iterator.prototype,{_next:d((function(){if(!this.__list__)return undefined;if(this.__nextIndex__<this.__length__)return this.__nextIndex__++;this._unBind();return undefined})),_resolve:d((function(i){var char=this.__list__[i],code;if(this.__nextIndex__===this.__length__)return char;code=char.charCodeAt(0);if(code>=55296&&code<=56319)return char+this.__list__[this.__nextIndex__++];return char}))});defineProperty(StringIterator.prototype,Symbol.toStringTag,d("c","String Iterator"))},{"./":229,d:161,"es5-ext/object/set-prototype-of":215,"es6-symbol":233}],232:[function(_dereq_,module,exports){"use strict";var isIterable=_dereq_("./is-iterable");module.exports=function(value){if(!isIterable(value))throw new TypeError(value+" is not iterable");return value}},{"./is-iterable":230}],233:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?_dereq_("ext/global-this").Symbol:_dereq_("./polyfill")},{"./is-implemented":234,"./polyfill":239,"ext/global-this":246}],234:[function(_dereq_,module,exports){"use strict";var global=_dereq_("ext/global-this"),validTypes={object:true,symbol:true};module.exports=function(){var Symbol=global.Symbol;var symbol;if(typeof Symbol!=="function")return false;symbol=Symbol("test symbol");try{String(symbol)}catch(e){return false}if(!validTypes[typeof Symbol.iterator])return false;if(!validTypes[typeof Symbol.toPrimitive])return false;if(!validTypes[typeof Symbol.toStringTag])return false;return true}},{"ext/global-this":246}],235:[function(_dereq_,module,exports){"use strict";module.exports=function(value){if(!value)return false;if(typeof value==="symbol")return true;if(!value.constructor)return false;if(value.constructor.name!=="Symbol")return false;return value[value.constructor.toStringTag]==="Symbol"}},{}],236:[function(_dereq_,module,exports){"use strict";var d=_dereq_("d");var create=Object.create,defineProperty=Object.defineProperty,objPrototype=Object.prototype;var created=create(null);module.exports=function(desc){var postfix=0,name,ie11BugWorkaround;while(created[desc+(postfix||"")])++postfix;desc+=postfix||"";created[desc]=true;name="@@"+desc;defineProperty(objPrototype,name,d.gs(null,(function(value){if(ie11BugWorkaround)return;ie11BugWorkaround=true;defineProperty(this,name,d(value));ie11BugWorkaround=false})));return name}},{d:161}],237:[function(_dereq_,module,exports){"use strict";var d=_dereq_("d"),NativeSymbol=_dereq_("ext/global-this").Symbol;module.exports=function(SymbolPolyfill){return Object.defineProperties(SymbolPolyfill,{hasInstance:d("",NativeSymbol&&NativeSymbol.hasInstance||SymbolPolyfill("hasInstance")),isConcatSpreadable:d("",NativeSymbol&&NativeSymbol.isConcatSpreadable||SymbolPolyfill("isConcatSpreadable")),iterator:d("",NativeSymbol&&NativeSymbol.iterator||SymbolPolyfill("iterator")),match:d("",NativeSymbol&&NativeSymbol.match||SymbolPolyfill("match")),replace:d("",NativeSymbol&&NativeSymbol.replace||SymbolPolyfill("replace")),search:d("",NativeSymbol&&NativeSymbol.search||SymbolPolyfill("search")),species:d("",NativeSymbol&&NativeSymbol.species||SymbolPolyfill("species")),split:d("",NativeSymbol&&NativeSymbol.split||SymbolPolyfill("split")),toPrimitive:d("",NativeSymbol&&NativeSymbol.toPrimitive||SymbolPolyfill("toPrimitive")),toStringTag:d("",NativeSymbol&&NativeSymbol.toStringTag||SymbolPolyfill("toStringTag")),unscopables:d("",NativeSymbol&&NativeSymbol.unscopables||SymbolPolyfill("unscopables"))})}},{d:161,"ext/global-this":246}],238:[function(_dereq_,module,exports){"use strict";var d=_dereq_("d"),validateSymbol=_dereq_("../../../validate-symbol");var registry=Object.create(null);module.exports=function(SymbolPolyfill){return Object.defineProperties(SymbolPolyfill,{for:d((function(key){if(registry[key])return registry[key];return registry[key]=SymbolPolyfill(String(key))})),keyFor:d((function(symbol){var key;validateSymbol(symbol);for(key in registry){if(registry[key]===symbol)return key}return undefined}))})}},{"../../../validate-symbol":240,d:161}],239:[function(_dereq_,module,exports){"use strict";var d=_dereq_("d"),validateSymbol=_dereq_("./validate-symbol"),NativeSymbol=_dereq_("ext/global-this").Symbol,generateName=_dereq_("./lib/private/generate-name"),setupStandardSymbols=_dereq_("./lib/private/setup/standard-symbols"),setupSymbolRegistry=_dereq_("./lib/private/setup/symbol-registry");var create=Object.create,defineProperties=Object.defineProperties,defineProperty=Object.defineProperty;var SymbolPolyfill,HiddenSymbol,isNativeSafe;if(typeof NativeSymbol==="function"){try{String(NativeSymbol());isNativeSafe=true}catch(ignore){}}else{NativeSymbol=null}HiddenSymbol=function Symbol(description){if(this instanceof HiddenSymbol)throw new TypeError("Symbol is not a constructor");return SymbolPolyfill(description)};module.exports=SymbolPolyfill=function Symbol(description){var symbol;if(this instanceof Symbol)throw new TypeError("Symbol is not a constructor");if(isNativeSafe)return NativeSymbol(description);symbol=create(HiddenSymbol.prototype);description=description===undefined?"":String(description);return defineProperties(symbol,{__description__:d("",description),__name__:d("",generateName(description))})};setupStandardSymbols(SymbolPolyfill);setupSymbolRegistry(SymbolPolyfill);defineProperties(HiddenSymbol.prototype,{constructor:d(SymbolPolyfill),toString:d("",(function(){return this.__name__}))});defineProperties(SymbolPolyfill.prototype,{toString:d((function(){return"Symbol ("+validateSymbol(this).__description__+")"})),valueOf:d((function(){return validateSymbol(this)}))});defineProperty(SymbolPolyfill.prototype,SymbolPolyfill.toPrimitive,d("",(function(){var symbol=validateSymbol(this);if(typeof symbol==="symbol")return symbol;return symbol.toString()})));defineProperty(SymbolPolyfill.prototype,SymbolPolyfill.toStringTag,d("c","Symbol"));defineProperty(HiddenSymbol.prototype,SymbolPolyfill.toStringTag,d("c",SymbolPolyfill.prototype[SymbolPolyfill.toStringTag]));defineProperty(HiddenSymbol.prototype,SymbolPolyfill.toPrimitive,d("c",SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive]))},{"./lib/private/generate-name":236,"./lib/private/setup/standard-symbols":237,"./lib/private/setup/symbol-registry":238,"./validate-symbol":240,d:161,"ext/global-this":246}],240:[function(_dereq_,module,exports){"use strict";var isSymbol=_dereq_("./is-symbol");module.exports=function(value){if(!isSymbol(value))throw new TypeError(value+" is not a symbol");return value}},{"./is-symbol":235}],241:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?WeakMap:_dereq_("./polyfill")},{"./is-implemented":242,"./polyfill":244}],242:[function(_dereq_,module,exports){"use strict";module.exports=function(){var weakMap,obj;if(typeof WeakMap!=="function")return false;try{weakMap=new WeakMap([[obj={},"one"],[{},"two"],[{},"three"]])}catch(e){return false}if(String(weakMap)!=="[object WeakMap]")return false;if(typeof weakMap.set!=="function")return false;if(weakMap.set({},1)!==weakMap)return false;if(typeof weakMap.delete!=="function")return false;if(typeof weakMap.has!=="function")return false;if(weakMap.get(obj)!=="one")return false;return true}},{}],243:[function(_dereq_,module,exports){"use strict";module.exports=function(){if(typeof WeakMap!=="function")return false;return Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()},{}],244:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("es5-ext/object/is-value"),setPrototypeOf=_dereq_("es5-ext/object/set-prototype-of"),object=_dereq_("es5-ext/object/valid-object"),ensureValue=_dereq_("es5-ext/object/valid-value"),randomUniq=_dereq_("es5-ext/string/random-uniq"),d=_dereq_("d"),getIterator=_dereq_("es6-iterator/get"),forOf=_dereq_("es6-iterator/for-of"),toStringTagSymbol=_dereq_("es6-symbol").toStringTag,isNative=_dereq_("./is-native-implemented"),isArray=Array.isArray,defineProperty=Object.defineProperty,objHasOwnProperty=Object.prototype.hasOwnProperty,getPrototypeOf=Object.getPrototypeOf,WeakMapPoly;module.exports=WeakMapPoly=function(){var iterable=arguments[0],self;if(!(this instanceof WeakMapPoly))throw new TypeError("Constructor requires 'new'");self=isNative&&setPrototypeOf&&WeakMap!==WeakMapPoly?setPrototypeOf(new WeakMap,getPrototypeOf(this)):this;if(isValue(iterable)){if(!isArray(iterable))iterable=getIterator(iterable)}defineProperty(self,"__weakMapData__",d("c","$weakMap$"+randomUniq()));if(!iterable)return self;forOf(iterable,(function(val){ensureValue(val);self.set(val[0],val[1])}));return self};if(isNative){if(setPrototypeOf)setPrototypeOf(WeakMapPoly,WeakMap);WeakMapPoly.prototype=Object.create(WeakMap.prototype,{constructor:d(WeakMapPoly)})}Object.defineProperties(WeakMapPoly.prototype,{delete:d((function(key){if(objHasOwnProperty.call(object(key),this.__weakMapData__)){delete key[this.__weakMapData__];return true}return false})),get:d((function(key){if(!objHasOwnProperty.call(object(key),this.__weakMapData__))return undefined;return key[this.__weakMapData__]})),has:d((function(key){return objHasOwnProperty.call(object(key),this.__weakMapData__)})),set:d((function(key,value){defineProperty(object(key),this.__weakMapData__,d("c",value));return this})),toString:d((function(){return"[object WeakMap]"}))});defineProperty(WeakMapPoly.prototype,toStringTagSymbol,d("c","WeakMap"))},{"./is-native-implemented":243,d:161,"es5-ext/object/is-value":209,"es5-ext/object/set-prototype-of":215,"es5-ext/object/valid-object":219,"es5-ext/object/valid-value":220,"es5-ext/string/random-uniq":225,"es6-iterator/for-of":227,"es6-iterator/get":228,"es6-symbol":233}],245:[function(_dereq_,module,exports){var naiveFallback=function(){if(typeof self==="object"&&self)return self;if(typeof window==="object"&&window)return window;throw new Error("Unable to resolve global `this`")};module.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:true})}catch(error){return naiveFallback()}try{if(!__global__)return naiveFallback();return __global__}finally{delete Object.prototype.__global__}}()},{}],246:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("./is-implemented")()?globalThis:_dereq_("./implementation")},{"./implementation":245,"./is-implemented":247}],247:[function(_dereq_,module,exports){"use strict";module.exports=function(){if(typeof globalThis!=="object")return false;if(!globalThis)return false;return globalThis.Array===Array}},{}],248:[function(_dereq_,module,exports){"use strict";module.exports=extractPlanes;function extractPlanes(M,zNear,zFar){var z=zNear||0;var zf=zFar||1;return[[M[12]+M[0],M[13]+M[1],M[14]+M[2],M[15]+M[3]],[M[12]-M[0],M[13]-M[1],M[14]-M[2],M[15]-M[3]],[M[12]+M[4],M[13]+M[5],M[14]+M[6],M[15]+M[7]],[M[12]-M[4],M[13]-M[5],M[14]-M[6],M[15]-M[7]],[z*M[12]+M[8],z*M[13]+M[9],z*M[14]+M[10],z*M[15]+M[11]],[zf*M[12]-M[8],zf*M[13]-M[9],zf*M[14]-M[10],zf*M[15]-M[11]]]}},{}],249:[function(_dereq_,module,exports){"use strict";var allBlankCharCodes=_dereq_("is-string-blank");module.exports=function(n){var type=typeof n;if(type==="string"){var original=n;n=+n;if(n===0&&allBlankCharCodes(original))return false}else if(type!=="number")return false;return n-n<1}},{"is-string-blank":458}],250:[function(_dereq_,module,exports){"use strict";module.exports=createFilteredVector;var cubicHermite=_dereq_("cubic-hermite");var bsearch=_dereq_("binary-search-bounds");function clamp(lo,hi,x){return Math.min(hi,Math.max(lo,x))}function FilteredVector(state0,velocity0,t0){this.dimension=state0.length;this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var i=0;i<this.dimension;++i){this.bounds[0][i]=-Infinity;this.bounds[1][i]=Infinity}this._state=state0.slice().reverse();this._velocity=velocity0.slice().reverse();this._time=[t0];this._scratch=[state0.slice(),state0.slice(),state0.slice(),state0.slice(),state0.slice()]}var proto=FilteredVector.prototype;proto.flush=function(t){var idx=bsearch.gt(this._time,t)-1;if(idx<=0){return}this._time.splice(0,idx);this._state.splice(0,idx*this.dimension);this._velocity.splice(0,idx*this.dimension)};proto.curve=function(t){var time=this._time;var n=time.length;var idx=bsearch.le(time,t);var result=this._scratch[0];var state=this._state;var velocity=this._velocity;var d=this.dimension;var bounds=this.bounds;if(idx<0){var ptr=d-1;for(var i=0;i<d;++i,--ptr){result[i]=state[ptr]}}else if(idx>=n-1){var ptr=state.length-1;var tf=t-time[n-1];for(var i=0;i<d;++i,--ptr){result[i]=state[ptr]+tf*velocity[ptr]}}else{var ptr=d*(idx+1)-1;var t0=time[idx];var t1=time[idx+1];var dt=t1-t0||1;var x0=this._scratch[1];var x1=this._scratch[2];var v0=this._scratch[3];var v1=this._scratch[4];var steady=true;for(var i=0;i<d;++i,--ptr){x0[i]=state[ptr];v0[i]=velocity[ptr]*dt;x1[i]=state[ptr+d];v1[i]=velocity[ptr+d]*dt;steady=steady&&(x0[i]===x1[i]&&v0[i]===v1[i]&&v0[i]===0)}if(steady){for(var i=0;i<d;++i){result[i]=x0[i]}}else{cubicHermite(x0,v0,x1,v1,(t-t0)/dt,result)}}var lo=bounds[0];var hi=bounds[1];for(var i=0;i<d;++i){result[i]=clamp(lo[i],hi[i],result[i])}return result};proto.dcurve=function(t){var time=this._time;var n=time.length;var idx=bsearch.le(time,t);var result=this._scratch[0];var state=this._state;var velocity=this._velocity;var d=this.dimension;if(idx>=n-1){var ptr=state.length-1;var tf=t-time[n-1];for(var i=0;i<d;++i,--ptr){result[i]=velocity[ptr]}}else{var ptr=d*(idx+1)-1;var t0=time[idx];var t1=time[idx+1];var dt=t1-t0||1;var x0=this._scratch[1];var x1=this._scratch[2];var v0=this._scratch[3];var v1=this._scratch[4];var steady=true;for(var i=0;i<d;++i,--ptr){x0[i]=state[ptr];v0[i]=velocity[ptr]*dt;x1[i]=state[ptr+d];v1[i]=velocity[ptr+d]*dt;steady=steady&&(x0[i]===x1[i]&&v0[i]===v1[i]&&v0[i]===0)}if(steady){for(var i=0;i<d;++i){result[i]=0}}else{cubicHermite.derivative(x0,v0,x1,v1,(t-t0)/dt,result);for(var i=0;i<d;++i){result[i]/=dt}}}return result};proto.lastT=function(){var time=this._time;return time[time.length-1]};proto.stable=function(){var velocity=this._velocity;var ptr=velocity.length;for(var i=this.dimension-1;i>=0;--i){if(velocity[--ptr]){return false}}return true};proto.jump=function(t){var t0=this.lastT();var d=this.dimension;if(t<t0||arguments.length!==d+1){return}var state=this._state;var velocity=this._velocity;var ptr=state.length-this.dimension;var bounds=this.bounds;var lo=bounds[0];var hi=bounds[1];this._time.push(t0,t);for(var j=0;j<2;++j){for(var i=0;i<d;++i){state.push(state[ptr++]);velocity.push(0)}}this._time.push(t);for(var i=d;i>0;--i){state.push(clamp(lo[i-1],hi[i-1],arguments[i]));velocity.push(0)}};proto.push=function(t){var t0=this.lastT();var d=this.dimension;if(t<t0||arguments.length!==d+1){return}var state=this._state;var velocity=this._velocity;var ptr=state.length-this.dimension;var dt=t-t0;var bounds=this.bounds;var lo=bounds[0];var hi=bounds[1];var sf=dt>1e-6?1/dt:0;this._time.push(t);for(var i=d;i>0;--i){var xc=clamp(lo[i-1],hi[i-1],arguments[i]);state.push(xc);velocity.push((xc-state[ptr++])*sf)}};proto.set=function(t){var d=this.dimension;if(t<this.lastT()||arguments.length!==d+1){return}var state=this._state;var velocity=this._velocity;var bounds=this.bounds;var lo=bounds[0];var hi=bounds[1];this._time.push(t);for(var i=d;i>0;--i){state.push(clamp(lo[i-1],hi[i-1],arguments[i]));velocity.push(0)}};proto.move=function(t){var t0=this.lastT();var d=this.dimension;if(t<=t0||arguments.length!==d+1){return}var state=this._state;var velocity=this._velocity;var statePtr=state.length-this.dimension;var bounds=this.bounds;var lo=bounds[0];var hi=bounds[1];var dt=t-t0;var sf=dt>1e-6?1/dt:0;this._time.push(t);for(var i=d;i>0;--i){var dx=arguments[i];state.push(clamp(lo[i-1],hi[i-1],state[statePtr++]+dx));velocity.push(dx*sf)}};proto.idle=function(t){var t0=this.lastT();if(t<t0){return}var d=this.dimension;var state=this._state;var velocity=this._velocity;var statePtr=state.length-d;var bounds=this.bounds;var lo=bounds[0];var hi=bounds[1];var dt=t-t0;this._time.push(t);for(var i=d-1;i>=0;--i){state.push(clamp(lo[i],hi[i],state[statePtr]+dt*velocity[statePtr]));velocity.push(0);statePtr+=1}};function getZero(d){var result=new Array(d);for(var i=0;i<d;++i){result[i]=0}return result}function createFilteredVector(initState,initVelocity,initTime){switch(arguments.length){case 0:return new FilteredVector([0],[0],0);case 1:if(typeof initState==="number"){var zero=getZero(initState);return new FilteredVector(zero,zero,0)}else{return new FilteredVector(initState,getZero(initState.length),0)}case 2:if(typeof initVelocity==="number"){var zero=getZero(initState.length);return new FilteredVector(initState,zero,+initVelocity)}else{initTime=0}case 3:if(initState.length!==initVelocity.length){throw new Error("state and velocity lengths must match")}return new FilteredVector(initState,initVelocity,initTime)}}},{"binary-search-bounds":251,"cubic-hermite":156}],251:[function(_dereq_,module,exports){"use strict";function compileSearch(funcName,predicate,reversed,extraArgs,useNdarray,earlyOut){var code=["function ",funcName,"(a,l,h,",extraArgs.join(","),"){",earlyOut?"":"var i=",reversed?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",useNdarray?".get(m)":"[m]"];if(earlyOut){if(predicate.indexOf("c")<0){code.push(";if(x===y){return m}else if(x<=y){")}else{code.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){")}}else{code.push(";if(",predicate,"){i=m;")}if(reversed){code.push("l=m+1}else{h=m-1}")}else{code.push("h=m-1}else{l=m+1}")}code.push("}");if(earlyOut){code.push("return -1};")}else{code.push("return i};")}return code.join("")}function compileBoundsSearch(predicate,reversed,suffix,earlyOut){var result=new Function([compileSearch("A","x"+predicate+"y",reversed,["y"],false,earlyOut),compileSearch("B","x"+predicate+"y",reversed,["y"],true,earlyOut),compileSearch("P","c(x,y)"+predicate+"0",reversed,["y","c"],false,earlyOut),compileSearch("Q","c(x,y)"+predicate+"0",reversed,["y","c"],true,earlyOut),"function dispatchBsearch",suffix,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",suffix].join(""));return result()}module.exports={ge:compileBoundsSearch(">=",false,"GE"),gt:compileBoundsSearch(">",false,"GT"),lt:compileBoundsSearch("<",true,"LT"),le:compileBoundsSearch("<=",true,"LE"),eq:compileBoundsSearch("-",true,"EQ",true)}},{}],252:[function(_dereq_,module,exports){var dtype=_dereq_("dtype");module.exports=flattenVertexData;function flattenVertexData(data,output,offset){if(!data)throw new TypeError("must specify data as first parameter");offset=+(offset||0)|0;if(Array.isArray(data)&&(data[0]&&typeof data[0][0]==="number")){var dim=data[0].length;var length=data.length*dim;var i,j,k,l;if(!output||typeof output==="string"){output=new(dtype(output||"float32"))(length+offset)}var dstLength=output.length-offset;if(length!==dstLength){throw new Error("source length "+length+" ("+dim+"x"+data.length+")"+" does not match destination length "+dstLength)}for(i=0,k=offset;i<data.length;i++){for(j=0;j<dim;j++){output[k++]=data[i][j]===null?NaN:data[i][j]}}}else{if(!output||typeof output==="string"){var Ctor=dtype(output||"float32");if(Array.isArray(data)||output==="array"){output=new Ctor(data.length+offset);for(i=0,k=offset,l=output.length;k<l;k++,i++){output[k]=data[i]===null?NaN:data[i]}}else{if(offset===0){output=new Ctor(data)}else{output=new Ctor(data.length+offset);output.set(data,offset)}}}else{output.set(data,offset)}}return output}},{dtype:184}],253:[function(_dereq_,module,exports){"use strict";var stringifyFont=_dereq_("css-font/stringify");var defaultChars=[32,126];module.exports=atlas;function atlas(options){options=options||{};var shape=options.shape?options.shape:options.canvas?[options.canvas.width,options.canvas.height]:[512,512];var canvas=options.canvas||document.createElement("canvas");var font=options.font;var step=typeof options.step==="number"?[options.step,options.step]:options.step||[32,32];var chars=options.chars||defaultChars;if(font&&typeof font!=="string")font=stringifyFont(font);if(!Array.isArray(chars)){chars=String(chars).split("")}else if(chars.length===2&&typeof chars[0]==="number"&&typeof chars[1]==="number"){var newchars=[];for(var i=chars[0],j=0;i<=chars[1];i++){newchars[j++]=String.fromCharCode(i)}chars=newchars}shape=shape.slice();canvas.width=shape[0];canvas.height=shape[1];var ctx=canvas.getContext("2d");ctx.fillStyle="#000";ctx.fillRect(0,0,canvas.width,canvas.height);ctx.font=font;ctx.textAlign="center";ctx.textBaseline="middle";ctx.fillStyle="#fff";var x=step[0]/2;var y=step[1]/2;for(var i=0;i<chars.length;i++){ctx.fillText(chars[i],x,y);if((x+=step[0])>shape[0]-step[0]/2)x=step[0]/2,y+=step[1]}return canvas}},{"css-font/stringify":153}],254:[function(_dereq_,module,exports){"use strict";module.exports=measure;measure.canvas=document.createElement("canvas");measure.cache={};function measure(font,o){if(!o)o={};if(typeof font==="string"||Array.isArray(font)){o.family=font}var family=Array.isArray(o.family)?o.family.join(", "):o.family;if(!family)throw Error("`family` must be defined");var fs=o.size||o.fontSize||o.em||48;var weight=o.weight||o.fontWeight||"";var style=o.style||o.fontStyle||"";var font=[style,weight,fs].join(" ")+"px "+family;var origin=o.origin||"top";if(measure.cache[family]){if(fs<=measure.cache[family].em){return applyOrigin(measure.cache[family],origin)}}var canvas=o.canvas||measure.canvas;var ctx=canvas.getContext("2d");var chars={upper:o.upper!==undefined?o.upper:"H",lower:o.lower!==undefined?o.lower:"x",descent:o.descent!==undefined?o.descent:"p",ascent:o.ascent!==undefined?o.ascent:"h",tittle:o.tittle!==undefined?o.tittle:"i",overshoot:o.overshoot!==undefined?o.overshoot:"O"};var l=Math.ceil(fs*1.5);canvas.height=l;canvas.width=l*.5;ctx.font=font;var char="H";var result={top:0};ctx.clearRect(0,0,l,l);ctx.textBaseline="top";ctx.fillStyle="black";ctx.fillText(char,0,0);var topPx=firstTop(ctx.getImageData(0,0,l,l));ctx.clearRect(0,0,l,l);ctx.textBaseline="bottom";ctx.fillText(char,0,l);var bottomPx=firstTop(ctx.getImageData(0,0,l,l));result.lineHeight=result.bottom=l-bottomPx+topPx;ctx.clearRect(0,0,l,l);ctx.textBaseline="alphabetic";ctx.fillText(char,0,l);var baselinePx=firstTop(ctx.getImageData(0,0,l,l));var baseline=l-baselinePx-1+topPx;result.baseline=result.alphabetic=baseline;ctx.clearRect(0,0,l,l);ctx.textBaseline="middle";ctx.fillText(char,0,l*.5);var medianPx=firstTop(ctx.getImageData(0,0,l,l));result.median=result.middle=l-medianPx-1+topPx-l*.5;ctx.clearRect(0,0,l,l);ctx.textBaseline="hanging";ctx.fillText(char,0,l*.5);var hangingPx=firstTop(ctx.getImageData(0,0,l,l));result.hanging=l-hangingPx-1+topPx-l*.5;ctx.clearRect(0,0,l,l);ctx.textBaseline="ideographic";ctx.fillText(char,0,l);var ideographicPx=firstTop(ctx.getImageData(0,0,l,l));result.ideographic=l-ideographicPx-1+topPx;if(chars.upper){ctx.clearRect(0,0,l,l);ctx.textBaseline="top";ctx.fillText(chars.upper,0,0);result.upper=firstTop(ctx.getImageData(0,0,l,l));result.capHeight=result.baseline-result.upper}if(chars.lower){ctx.clearRect(0,0,l,l);ctx.textBaseline="top";ctx.fillText(chars.lower,0,0);result.lower=firstTop(ctx.getImageData(0,0,l,l));result.xHeight=result.baseline-result.lower}if(chars.tittle){ctx.clearRect(0,0,l,l);ctx.textBaseline="top";ctx.fillText(chars.tittle,0,0);result.tittle=firstTop(ctx.getImageData(0,0,l,l))}if(chars.ascent){ctx.clearRect(0,0,l,l);ctx.textBaseline="top";ctx.fillText(chars.ascent,0,0);result.ascent=firstTop(ctx.getImageData(0,0,l,l))}if(chars.descent){ctx.clearRect(0,0,l,l);ctx.textBaseline="top";ctx.fillText(chars.descent,0,0);result.descent=firstBottom(ctx.getImageData(0,0,l,l))}if(chars.overshoot){ctx.clearRect(0,0,l,l);ctx.textBaseline="top";ctx.fillText(chars.overshoot,0,0);var overshootPx=firstBottom(ctx.getImageData(0,0,l,l));result.overshoot=overshootPx-baseline}for(var name in result){result[name]/=fs}result.em=fs;measure.cache[family]=result;return applyOrigin(result,origin)}function applyOrigin(obj,origin){var res={};if(typeof origin==="string")origin=obj[origin];for(var name in obj){if(name==="em")continue;res[name]=obj[name]-origin}return res}function firstTop(iData){var l=iData.height;var data=iData.data;for(var i=3;i<data.length;i+=4){if(data[i]!==0){return Math.floor((i-3)*.25/l)}}}function firstBottom(iData){var l=iData.height;var data=iData.data;for(var i=data.length-1;i>0;i-=4){if(data[i]!==0){return Math.floor((i-3)*.25/l)}}}},{}],255:[function(_dereq_,module,exports){"use strict";module.exports=createRBTree;var RED=0;var BLACK=1;function RBNode(color,key,value,left,right,count){this._color=color;this.key=key;this.value=value;this.left=left;this.right=right;this._count=count}function cloneNode(node){return new RBNode(node._color,node.key,node.value,node.left,node.right,node._count)}function repaint(color,node){return new RBNode(color,node.key,node.value,node.left,node.right,node._count)}function recount(node){node._count=1+(node.left?node.left._count:0)+(node.right?node.right._count:0)}function RedBlackTree(compare,root){this._compare=compare;this.root=root}var proto=RedBlackTree.prototype;Object.defineProperty(proto,"keys",{get:function(){var result=[];this.forEach((function(k,v){result.push(k)}));return result}});Object.defineProperty(proto,"values",{get:function(){var result=[];this.forEach((function(k,v){result.push(v)}));return result}});Object.defineProperty(proto,"length",{get:function(){if(this.root){return this.root._count}return 0}});proto.insert=function(key,value){var cmp=this._compare;var n=this.root;var n_stack=[];var d_stack=[];while(n){var d=cmp(key,n.key);n_stack.push(n);d_stack.push(d);if(d<=0){n=n.left}else{n=n.right}}n_stack.push(new RBNode(RED,key,value,null,null,1));for(var s=n_stack.length-2;s>=0;--s){var n=n_stack[s];if(d_stack[s]<=0){n_stack[s]=new RBNode(n._color,n.key,n.value,n_stack[s+1],n.right,n._count+1)}else{n_stack[s]=new RBNode(n._color,n.key,n.value,n.left,n_stack[s+1],n._count+1)}}for(var s=n_stack.length-1;s>1;--s){var p=n_stack[s-1];var n=n_stack[s];if(p._color===BLACK||n._color===BLACK){break}var pp=n_stack[s-2];if(pp.left===p){if(p.left===n){var y=pp.right;if(y&&y._color===RED){p._color=BLACK;pp.right=repaint(BLACK,y);pp._color=RED;s-=1}else{pp._color=RED;pp.left=p.right;p._color=BLACK;p.right=pp;n_stack[s-2]=p;n_stack[s-1]=n;recount(pp);recount(p);if(s>=3){var ppp=n_stack[s-3];if(ppp.left===pp){ppp.left=p}else{ppp.right=p}}break}}else{var y=pp.right;if(y&&y._color===RED){p._color=BLACK;pp.right=repaint(BLACK,y);pp._color=RED;s-=1}else{p.right=n.left;pp._color=RED;pp.left=n.right;n._color=BLACK;n.left=p;n.right=pp;n_stack[s-2]=n;n_stack[s-1]=p;recount(pp);recount(p);recount(n);if(s>=3){var ppp=n_stack[s-3];if(ppp.left===pp){ppp.left=n}else{ppp.right=n}}break}}}else{if(p.right===n){var y=pp.left;if(y&&y._color===RED){p._color=BLACK;pp.left=repaint(BLACK,y);pp._color=RED;s-=1}else{pp._color=RED;pp.right=p.left;p._color=BLACK;p.left=pp;n_stack[s-2]=p;n_stack[s-1]=n;recount(pp);recount(p);if(s>=3){var ppp=n_stack[s-3];if(ppp.right===pp){ppp.right=p}else{ppp.left=p}}break}}else{var y=pp.left;if(y&&y._color===RED){p._color=BLACK;pp.left=repaint(BLACK,y);pp._color=RED;s-=1}else{p.left=n.right;pp._color=RED;pp.right=n.left;n._color=BLACK;n.right=p;n.left=pp;n_stack[s-2]=n;n_stack[s-1]=p;recount(pp);recount(p);recount(n);if(s>=3){var ppp=n_stack[s-3];if(ppp.right===pp){ppp.right=n}else{ppp.left=n}}break}}}}n_stack[0]._color=BLACK;return new RedBlackTree(cmp,n_stack[0])};function doVisitFull(visit,node){if(node.left){var v=doVisitFull(visit,node.left);if(v){return v}}var v=visit(node.key,node.value);if(v){return v}if(node.right){return doVisitFull(visit,node.right)}}function doVisitHalf(lo,compare,visit,node){var l=compare(lo,node.key);if(l<=0){if(node.left){var v=doVisitHalf(lo,compare,visit,node.left);if(v){return v}}var v=visit(node.key,node.value);if(v){return v}}if(node.right){return doVisitHalf(lo,compare,visit,node.right)}}function doVisit(lo,hi,compare,visit,node){var l=compare(lo,node.key);var h=compare(hi,node.key);var v;if(l<=0){if(node.left){v=doVisit(lo,hi,compare,visit,node.left);if(v){return v}}if(h>0){v=visit(node.key,node.value);if(v){return v}}}if(h>0&&node.right){return doVisit(lo,hi,compare,visit,node.right)}}proto.forEach=function rbTreeForEach(visit,lo,hi){if(!this.root){return}switch(arguments.length){case 1:return doVisitFull(visit,this.root);break;case 2:return doVisitHalf(lo,this._compare,visit,this.root);break;case 3:if(this._compare(lo,hi)>=0){return}return doVisit(lo,hi,this._compare,visit,this.root);break}};Object.defineProperty(proto,"begin",{get:function(){var stack=[];var n=this.root;while(n){stack.push(n);n=n.left}return new RedBlackTreeIterator(this,stack)}});Object.defineProperty(proto,"end",{get:function(){var stack=[];var n=this.root;while(n){stack.push(n);n=n.right}return new RedBlackTreeIterator(this,stack)}});proto.at=function(idx){if(idx<0){return new RedBlackTreeIterator(this,[])}var n=this.root;var stack=[];while(true){stack.push(n);if(n.left){if(idx<n.left._count){n=n.left;continue}idx-=n.left._count}if(!idx){return new RedBlackTreeIterator(this,stack)}idx-=1;if(n.right){if(idx>=n.right._count){break}n=n.right}else{break}}return new RedBlackTreeIterator(this,[])};proto.ge=function(key){var cmp=this._compare;var n=this.root;var stack=[];var last_ptr=0;while(n){var d=cmp(key,n.key);stack.push(n);if(d<=0){last_ptr=stack.length}if(d<=0){n=n.left}else{n=n.right}}stack.length=last_ptr;return new RedBlackTreeIterator(this,stack)};proto.gt=function(key){var cmp=this._compare;var n=this.root;var stack=[];var last_ptr=0;while(n){var d=cmp(key,n.key);stack.push(n);if(d<0){last_ptr=stack.length}if(d<0){n=n.left}else{n=n.right}}stack.length=last_ptr;return new RedBlackTreeIterator(this,stack)};proto.lt=function(key){var cmp=this._compare;var n=this.root;var stack=[];var last_ptr=0;while(n){var d=cmp(key,n.key);stack.push(n);if(d>0){last_ptr=stack.length}if(d<=0){n=n.left}else{n=n.right}}stack.length=last_ptr;return new RedBlackTreeIterator(this,stack)};proto.le=function(key){var cmp=this._compare;var n=this.root;var stack=[];var last_ptr=0;while(n){var d=cmp(key,n.key);stack.push(n);if(d>=0){last_ptr=stack.length}if(d<0){n=n.left}else{n=n.right}}stack.length=last_ptr;return new RedBlackTreeIterator(this,stack)};proto.find=function(key){var cmp=this._compare;var n=this.root;var stack=[];while(n){var d=cmp(key,n.key);stack.push(n);if(d===0){return new RedBlackTreeIterator(this,stack)}if(d<=0){n=n.left}else{n=n.right}}return new RedBlackTreeIterator(this,[])};proto.remove=function(key){var iter=this.find(key);if(iter){return iter.remove()}return this};proto.get=function(key){var cmp=this._compare;var n=this.root;while(n){var d=cmp(key,n.key);if(d===0){return n.value}if(d<=0){n=n.left}else{n=n.right}}return};function RedBlackTreeIterator(tree,stack){this.tree=tree;this._stack=stack}var iproto=RedBlackTreeIterator.prototype;Object.defineProperty(iproto,"valid",{get:function(){return this._stack.length>0}});Object.defineProperty(iproto,"node",{get:function(){if(this._stack.length>0){return this._stack[this._stack.length-1]}return null},enumerable:true});iproto.clone=function(){return new RedBlackTreeIterator(this.tree,this._stack.slice())};function swapNode(n,v){n.key=v.key;n.value=v.value;n.left=v.left;n.right=v.right;n._color=v._color;n._count=v._count}function fixDoubleBlack(stack){var n,p,s,z;for(var i=stack.length-1;i>=0;--i){n=stack[i];if(i===0){n._color=BLACK;return}p=stack[i-1];if(p.left===n){s=p.right;if(s.right&&s.right._color===RED){s=p.right=cloneNode(s);z=s.right=cloneNode(s.right);p.right=s.left;s.left=p;s.right=z;s._color=p._color;n._color=BLACK;p._color=BLACK;z._color=BLACK;recount(p);recount(s);if(i>1){var pp=stack[i-2];if(pp.left===p){pp.left=s}else{pp.right=s}}stack[i-1]=s;return}else if(s.left&&s.left._color===RED){s=p.right=cloneNode(s);z=s.left=cloneNode(s.left);p.right=z.left;s.left=z.right;z.left=p;z.right=s;z._color=p._color;p._color=BLACK;s._color=BLACK;n._color=BLACK;recount(p);recount(s);recount(z);if(i>1){var pp=stack[i-2];if(pp.left===p){pp.left=z}else{pp.right=z}}stack[i-1]=z;return}if(s._color===BLACK){if(p._color===RED){p._color=BLACK;p.right=repaint(RED,s);return}else{p.right=repaint(RED,s);continue}}else{s=cloneNode(s);p.right=s.left;s.left=p;s._color=p._color;p._color=RED;recount(p);recount(s);if(i>1){var pp=stack[i-2];if(pp.left===p){pp.left=s}else{pp.right=s}}stack[i-1]=s;stack[i]=p;if(i+1<stack.length){stack[i+1]=n}else{stack.push(n)}i=i+2}}else{s=p.left;if(s.left&&s.left._color===RED){s=p.left=cloneNode(s);z=s.left=cloneNode(s.left);p.left=s.right;s.right=p;s.left=z;s._color=p._color;n._color=BLACK;p._color=BLACK;z._color=BLACK;recount(p);recount(s);if(i>1){var pp=stack[i-2];if(pp.right===p){pp.right=s}else{pp.left=s}}stack[i-1]=s;return}else if(s.right&&s.right._color===RED){s=p.left=cloneNode(s);z=s.right=cloneNode(s.right);p.left=z.right;s.right=z.left;z.right=p;z.left=s;z._color=p._color;p._color=BLACK;s._color=BLACK;n._color=BLACK;recount(p);recount(s);recount(z);if(i>1){var pp=stack[i-2];if(pp.right===p){pp.right=z}else{pp.left=z}}stack[i-1]=z;return}if(s._color===BLACK){if(p._color===RED){p._color=BLACK;p.left=repaint(RED,s);return}else{p.left=repaint(RED,s);continue}}else{s=cloneNode(s);p.left=s.right;s.right=p;s._color=p._color;p._color=RED;recount(p);recount(s);if(i>1){var pp=stack[i-2];if(pp.right===p){pp.right=s}else{pp.left=s}}stack[i-1]=s;stack[i]=p;if(i+1<stack.length){stack[i+1]=n}else{stack.push(n)}i=i+2}}}}iproto.remove=function(){var stack=this._stack;if(stack.length===0){return this.tree}var cstack=new Array(stack.length);var n=stack[stack.length-1];cstack[cstack.length-1]=new RBNode(n._color,n.key,n.value,n.left,n.right,n._count);for(var i=stack.length-2;i>=0;--i){var n=stack[i];if(n.left===stack[i+1]){cstack[i]=new RBNode(n._color,n.key,n.value,cstack[i+1],n.right,n._count)}else{cstack[i]=new RBNode(n._color,n.key,n.value,n.left,cstack[i+1],n._count)}}n=cstack[cstack.length-1];if(n.left&&n.right){var split=cstack.length;n=n.left;while(n.right){cstack.push(n);n=n.right}var v=cstack[split-1];cstack.push(new RBNode(n._color,v.key,v.value,n.left,n.right,n._count));cstack[split-1].key=n.key;cstack[split-1].value=n.value;for(var i=cstack.length-2;i>=split;--i){n=cstack[i];cstack[i]=new RBNode(n._color,n.key,n.value,n.left,cstack[i+1],n._count)}cstack[split-1].left=cstack[split]}n=cstack[cstack.length-1];if(n._color===RED){var p=cstack[cstack.length-2];if(p.left===n){p.left=null}else if(p.right===n){p.right=null}cstack.pop();for(var i=0;i<cstack.length;++i){cstack[i]._count--}return new RedBlackTree(this.tree._compare,cstack[0])}else{if(n.left||n.right){if(n.left){swapNode(n,n.left)}else if(n.right){swapNode(n,n.right)}n._color=BLACK;for(var i=0;i<cstack.length-1;++i){cstack[i]._count--}return new RedBlackTree(this.tree._compare,cstack[0])}else if(cstack.length===1){return new RedBlackTree(this.tree._compare,null)}else{for(var i=0;i<cstack.length;++i){cstack[i]._count--}var parent=cstack[cstack.length-2];fixDoubleBlack(cstack);if(parent.left===n){parent.left=null}else{parent.right=null}}}return new RedBlackTree(this.tree._compare,cstack[0])};Object.defineProperty(iproto,"key",{get:function(){if(this._stack.length>0){return this._stack[this._stack.length-1].key}return},enumerable:true});Object.defineProperty(iproto,"value",{get:function(){if(this._stack.length>0){return this._stack[this._stack.length-1].value}return},enumerable:true});Object.defineProperty(iproto,"index",{get:function(){var idx=0;var stack=this._stack;if(stack.length===0){var r=this.tree.root;if(r){return r._count}return 0}else if(stack[stack.length-1].left){idx=stack[stack.length-1].left._count}for(var s=stack.length-2;s>=0;--s){if(stack[s+1]===stack[s].right){++idx;if(stack[s].left){idx+=stack[s].left._count}}}return idx},enumerable:true});iproto.next=function(){var stack=this._stack;if(stack.length===0){return}var n=stack[stack.length-1];if(n.right){n=n.right;while(n){stack.push(n);n=n.left}}else{stack.pop();while(stack.length>0&&stack[stack.length-1].right===n){n=stack[stack.length-1];stack.pop()}}};Object.defineProperty(iproto,"hasNext",{get:function(){var stack=this._stack;if(stack.length===0){return false}if(stack[stack.length-1].right){return true}for(var s=stack.length-1;s>0;--s){if(stack[s-1].left===stack[s]){return true}}return false}});iproto.update=function(value){var stack=this._stack;if(stack.length===0){throw new Error("Can't update empty node!")}var cstack=new Array(stack.length);var n=stack[stack.length-1];cstack[cstack.length-1]=new RBNode(n._color,n.key,value,n.left,n.right,n._count);for(var i=stack.length-2;i>=0;--i){n=stack[i];if(n.left===stack[i+1]){cstack[i]=new RBNode(n._color,n.key,n.value,cstack[i+1],n.right,n._count)}else{cstack[i]=new RBNode(n._color,n.key,n.value,n.left,cstack[i+1],n._count)}}return new RedBlackTree(this.tree._compare,cstack[0])};iproto.prev=function(){var stack=this._stack;if(stack.length===0){return}var n=stack[stack.length-1];if(n.left){n=n.left;while(n){stack.push(n);n=n.right}}else{stack.pop();while(stack.length>0&&stack[stack.length-1].left===n){n=stack[stack.length-1];stack.pop()}}};Object.defineProperty(iproto,"hasPrev",{get:function(){var stack=this._stack;if(stack.length===0){return false}if(stack[stack.length-1].left){return true}for(var s=stack.length-1;s>0;--s){if(stack[s-1].right===stack[s]){return true}}return false}});function defaultCompare(a,b){if(a<b){return-1}if(a>b){return 1}return 0}function createRBTree(compare){return new RedBlackTree(compare||defaultCompare,null)}},{}],256:[function(_dereq_,module,exports){var g=7;var p=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];var g_ln=607/128;var p_ln=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function lngamma(z){if(z<0)return Number("0/0");var x=p_ln[0];for(var i=p_ln.length-1;i>0;--i)x+=p_ln[i]/(z+i);var t=z+g_ln+.5;return.5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z)}module.exports=function gamma(z){if(z<.5){return Math.PI/(Math.sin(Math.PI*z)*gamma(1-z))}else if(z>100)return Math.exp(lngamma(z));else{z-=1;var x=p[0];for(var i=1;i<g+2;i++){x+=p[i]/(z+i)}var t=z+g+.5;return Math.sqrt(2*Math.PI)*Math.pow(t,z+.5)*Math.exp(-t)*x}};module.exports.log=lngamma},{}],257:[function(_dereq_,module,exports){module.exports=getCanvasContext;function getCanvasContext(type,opts){if(typeof type!=="string"){throw new TypeError("must specify type string")}opts=opts||{};if(typeof document==="undefined"&&!opts.canvas){return null}var canvas=opts.canvas||document.createElement("canvas");if(typeof opts.width==="number"){canvas.width=opts.width}if(typeof opts.height==="number"){canvas.height=opts.height}var attribs=opts;var gl;try{var names=[type];if(type.indexOf("webgl")===0){names.push("experimental-"+type)}for(var i=0;i<names.length;i++){gl=canvas.getContext(names[i],attribs);if(gl)return gl}}catch(e){gl=null}return gl||null}},{}],258:[function(_dereq_,module,exports){"use strict";module.exports=createAxes;var createText=_dereq_("./lib/text.js");var createLines=_dereq_("./lib/lines.js");var createBackground=_dereq_("./lib/background.js");var getCubeProperties=_dereq_("./lib/cube.js");var Ticks=_dereq_("./lib/ticks.js");var identity=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function copyVec3(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a}function Axes(gl){this.gl=gl;this.pixelRatio=1;this.bounds=[[-10,-10,-10],[10,10,10]];this.ticks=[[],[],[]];this.autoTicks=true;this.tickSpacing=[1,1,1];this.tickEnable=[true,true,true];this.tickFont=["sans-serif","sans-serif","sans-serif"];this.tickSize=[12,12,12];this.tickAngle=[0,0,0];this.tickAlign=["auto","auto","auto"];this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.tickPad=[10,10,10];this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]};this.labels=["x","y","z"];this.labelEnable=[true,true,true];this.labelFont="sans-serif";this.labelSize=[20,20,20];this.labelAngle=[0,0,0];this.labelAlign=["auto","auto","auto"];this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.labelPad=[10,10,10];this.lineEnable=[true,true,true];this.lineMirror=[false,false,false];this.lineWidth=[1,1,1];this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.lineTickEnable=[true,true,true];this.lineTickMirror=[false,false,false];this.lineTickLength=[0,0,0];this.lineTickWidth=[1,1,1];this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.gridEnable=[true,true,true];this.gridWidth=[1,1,1];this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.zeroEnable=[true,true,true];this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.zeroLineWidth=[2,2,2];this.backgroundEnable=[false,false,false];this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]];this._firstInit=true;this._text=null;this._lines=null;this._background=createBackground(gl)}var proto=Axes.prototype;proto.update=function(options){options=options||{};function parseOption(nest,cons,name){if(name in options){var opt=options[name];var prev=this[name];var next;if(nest?Array.isArray(opt)&&Array.isArray(opt[0]):Array.isArray(opt)){this[name]=next=[cons(opt[0]),cons(opt[1]),cons(opt[2])]}else{this[name]=next=[cons(opt),cons(opt),cons(opt)]}for(var i=0;i<3;++i){if(next[i]!==prev[i]){return true}}}return false}var NUMBER=parseOption.bind(this,false,Number);var BOOLEAN=parseOption.bind(this,false,Boolean);var STRING=parseOption.bind(this,false,String);var COLOR=parseOption.bind(this,true,(function(v){if(Array.isArray(v)){if(v.length===3){return[+v[0],+v[1],+v[2],1]}else if(v.length===4){return[+v[0],+v[1],+v[2],+v[3]]}}return[0,0,0,1]}));var nextTicks;var ticksUpdate=false;var boundsChanged=false;if("bounds"in options){var bounds=options.bounds;i_loop:for(var i=0;i<2;++i){for(var j=0;j<3;++j){if(bounds[i][j]!==this.bounds[i][j]){boundsChanged=true}this.bounds[i][j]=bounds[i][j]}}}if("ticks"in options){nextTicks=options.ticks;ticksUpdate=true;this.autoTicks=false;for(var i=0;i<3;++i){this.tickSpacing[i]=0}}else if(NUMBER("tickSpacing")){this.autoTicks=true;boundsChanged=true}if(this._firstInit){if(!("ticks"in options||"tickSpacing"in options)){this.autoTicks=true}boundsChanged=true;ticksUpdate=true;this._firstInit=false}if(boundsChanged&&this.autoTicks){nextTicks=Ticks.create(this.bounds,this.tickSpacing);ticksUpdate=true}if(ticksUpdate){for(var i=0;i<3;++i){nextTicks[i].sort((function(a,b){return a.x-b.x}))}if(Ticks.equal(nextTicks,this.ticks)){ticksUpdate=false}else{this.ticks=nextTicks}}BOOLEAN("tickEnable");if(STRING("tickFont")){ticksUpdate=true}NUMBER("tickSize");NUMBER("tickAngle");NUMBER("tickPad");COLOR("tickColor");var labelUpdate=STRING("labels");if(STRING("labelFont")){labelUpdate=true}BOOLEAN("labelEnable");NUMBER("labelSize");NUMBER("labelPad");COLOR("labelColor");BOOLEAN("lineEnable");BOOLEAN("lineMirror");NUMBER("lineWidth");COLOR("lineColor");BOOLEAN("lineTickEnable");BOOLEAN("lineTickMirror");NUMBER("lineTickLength");NUMBER("lineTickWidth");COLOR("lineTickColor");BOOLEAN("gridEnable");NUMBER("gridWidth");COLOR("gridColor");BOOLEAN("zeroEnable");COLOR("zeroLineColor");NUMBER("zeroLineWidth");BOOLEAN("backgroundEnable");COLOR("backgroundColor");if(!this._text){this._text=createText(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont)}else if(this._text&&(labelUpdate||ticksUpdate)){this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont)}if(this._lines&&ticksUpdate){this._lines.dispose();this._lines=null}if(!this._lines){this._lines=createLines(this.gl,this.bounds,this.ticks)}};function OffsetInfo(){this.primalOffset=[0,0,0];this.primalMinor=[0,0,0];this.mirrorOffset=[0,0,0];this.mirrorMinor=[0,0,0]}var LINE_OFFSET=[new OffsetInfo,new OffsetInfo,new OffsetInfo];function computeLineOffset(result,i,bounds,cubeEdges,cubeAxis){var primalOffset=result.primalOffset;var primalMinor=result.primalMinor;var dualOffset=result.mirrorOffset;var dualMinor=result.mirrorMinor;var e=cubeEdges[i];for(var j=0;j<3;++j){if(i===j){continue}var a=primalOffset,b=dualOffset,c=primalMinor,d=dualMinor;if(e&1<<j){a=dualOffset;b=primalOffset;c=dualMinor;d=primalMinor}a[j]=bounds[0][j];b[j]=bounds[1][j];if(cubeAxis[j]>0){c[j]=-1;d[j]=0}else{c[j]=0;d[j]=+1}}}var CUBE_ENABLE=[0,0,0];var DEFAULT_PARAMS={model:identity,view:identity,projection:identity,_ortho:false};proto.isOpaque=function(){return true};proto.isTransparent=function(){return false};proto.drawTransparent=function(params){};var ALIGN_OPTION_AUTO=0;var PRIMAL_MINOR=[0,0,0];var MIRROR_MINOR=[0,0,0];var PRIMAL_OFFSET=[0,0,0];proto.draw=function(params){params=params||DEFAULT_PARAMS;var gl=this.gl;var model=params.model||identity;var view=params.view||identity;var projection=params.projection||identity;var bounds=this.bounds;var isOrtho=params._ortho||false;var cubeParams=getCubeProperties(model,view,projection,bounds,isOrtho);var cubeEdges=cubeParams.cubeEdges;var cubeAxis=cubeParams.axis;var cx=view[12];var cy=view[13];var cz=view[14];var cw=view[15];var orthoFix=isOrtho?2:1;var pixelScaleF=orthoFix*this.pixelRatio*(projection[3]*cx+projection[7]*cy+projection[11]*cz+projection[15]*cw)/gl.drawingBufferHeight;for(var i=0;i<3;++i){this.lastCubeProps.cubeEdges[i]=cubeEdges[i];this.lastCubeProps.axis[i]=cubeAxis[i]}var lineOffset=LINE_OFFSET;for(var i=0;i<3;++i){computeLineOffset(LINE_OFFSET[i],i,this.bounds,cubeEdges,cubeAxis)}var gl=this.gl;var cubeEnable=CUBE_ENABLE;for(var i=0;i<3;++i){if(this.backgroundEnable[i]){cubeEnable[i]=cubeAxis[i]}else{cubeEnable[i]=0}}this._background.draw(model,view,projection,bounds,cubeEnable,this.backgroundColor);this._lines.bind(model,view,projection,this);for(var i=0;i<3;++i){var x=[0,0,0];if(cubeAxis[i]>0){x[i]=bounds[1][i]}else{x[i]=bounds[0][i]}for(var j=0;j<2;++j){var u=(i+1+j)%3;var v=(i+1+(j^1))%3;if(this.gridEnable[u]){this._lines.drawGrid(u,v,this.bounds,x,this.gridColor[u],this.gridWidth[u]*this.pixelRatio)}}for(var j=0;j<2;++j){var u=(i+1+j)%3;var v=(i+1+(j^1))%3;if(this.zeroEnable[v]){if(Math.min(bounds[0][v],bounds[1][v])<=0&&Math.max(bounds[0][v],bounds[1][v])>=0){this._lines.drawZero(u,v,this.bounds,x,this.zeroLineColor[v],this.zeroLineWidth[v]*this.pixelRatio)}}}}for(var i=0;i<3;++i){if(this.lineEnable[i]){this._lines.drawAxisLine(i,this.bounds,lineOffset[i].primalOffset,this.lineColor[i],this.lineWidth[i]*this.pixelRatio)}if(this.lineMirror[i]){this._lines.drawAxisLine(i,this.bounds,lineOffset[i].mirrorOffset,this.lineColor[i],this.lineWidth[i]*this.pixelRatio)}var primalMinor=copyVec3(PRIMAL_MINOR,lineOffset[i].primalMinor);var mirrorMinor=copyVec3(MIRROR_MINOR,lineOffset[i].mirrorMinor);var tickLength=this.lineTickLength;for(var j=0;j<3;++j){var scaleFactor=pixelScaleF/model[5*j];primalMinor[j]*=tickLength[j]*scaleFactor;mirrorMinor[j]*=tickLength[j]*scaleFactor}if(this.lineTickEnable[i]){this._lines.drawAxisTicks(i,lineOffset[i].primalOffset,primalMinor,this.lineTickColor[i],this.lineTickWidth[i]*this.pixelRatio)}if(this.lineTickMirror[i]){this._lines.drawAxisTicks(i,lineOffset[i].mirrorOffset,mirrorMinor,this.lineTickColor[i],this.lineTickWidth[i]*this.pixelRatio)}}this._lines.unbind();this._text.bind(model,view,projection,this.pixelRatio);var alignOpt;var hv_ratio=.5;var enableAlign;var alignDir;function alignTo(i){alignDir=[0,0,0];alignDir[i]=1}function solveTickAlignments(i,minor,major){var i1=(i+1)%3;var i2=(i+2)%3;var A=minor[i1];var B=minor[i2];var C=major[i1];var D=major[i2];if(A>0&&D>0){alignTo(i1);return}else if(A>0&&D<0){alignTo(i1);return}else if(A<0&&D>0){alignTo(i1);return}else if(A<0&&D<0){alignTo(i1);return}else if(B>0&&C>0){alignTo(i2);return}else if(B>0&&C<0){alignTo(i2);return}else if(B<0&&C>0){alignTo(i2);return}else if(B<0&&C<0){alignTo(i2);return}}for(var i=0;i<3;++i){var minor=lineOffset[i].primalMinor;var major=lineOffset[i].mirrorMinor;var offset=copyVec3(PRIMAL_OFFSET,lineOffset[i].primalOffset);for(var j=0;j<3;++j){if(this.lineTickEnable[i]){offset[j]+=pixelScaleF*minor[j]*Math.max(this.lineTickLength[j],0)/model[5*j]}}var axis=[0,0,0];axis[i]=1;if(this.tickEnable[i]){if(this.tickAngle[i]===-3600){this.tickAngle[i]=0;this.tickAlign[i]="auto"}else{this.tickAlign[i]=-1}enableAlign=1;alignOpt=[this.tickAlign[i],hv_ratio,enableAlign];if(alignOpt[0]==="auto")alignOpt[0]=ALIGN_OPTION_AUTO;else alignOpt[0]=parseInt(""+alignOpt[0]);alignDir=[0,0,0];solveTickAlignments(i,minor,major);for(var j=0;j<3;++j){offset[j]+=pixelScaleF*minor[j]*this.tickPad[j]/model[5*j]}this._text.drawTicks(i,this.tickSize[i],this.tickAngle[i],offset,this.tickColor[i],axis,alignDir,alignOpt)}if(this.labelEnable[i]){enableAlign=0;alignDir=[0,0,0];if(this.labels[i].length>4){alignTo(i);enableAlign=1}alignOpt=[this.labelAlign[i],hv_ratio,enableAlign];if(alignOpt[0]==="auto")alignOpt[0]=ALIGN_OPTION_AUTO;else alignOpt[0]=parseInt(""+alignOpt[0]);for(var j=0;j<3;++j){offset[j]+=pixelScaleF*minor[j]*this.labelPad[j]/model[5*j]}offset[i]+=.5*(bounds[0][i]+bounds[1][i]);this._text.drawLabel(i,this.labelSize[i],this.labelAngle[i],offset,this.labelColor[i],[0,0,0],alignDir,alignOpt)}}this._text.unbind()};proto.dispose=function(){this._text.dispose();this._lines.dispose();this._background.dispose();this._lines=null;this._text=null;this._background=null;this.gl=null};function createAxes(gl,options){var axes=new Axes(gl);axes.update(options);return axes}},{"./lib/background.js":259,"./lib/cube.js":260,"./lib/lines.js":261,"./lib/text.js":263,"./lib/ticks.js":264}],259:[function(_dereq_,module,exports){"use strict";module.exports=createBackgroundCube;var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var createShader=_dereq_("./shaders").bg;function BackgroundCube(gl,buffer,vao,shader){this.gl=gl;this.buffer=buffer;this.vao=vao;this.shader=shader}var proto=BackgroundCube.prototype;proto.draw=function(model,view,projection,bounds,enable,colors){var needsBG=false;for(var i=0;i<3;++i){needsBG=needsBG||enable[i]}if(!needsBG){return}var gl=this.gl;gl.enable(gl.POLYGON_OFFSET_FILL);gl.polygonOffset(1,2);this.shader.bind();this.shader.uniforms={model:model,view:view,projection:projection,bounds:bounds,enable:enable,colors:colors};this.vao.bind();this.vao.draw(this.gl.TRIANGLES,36);this.vao.unbind();gl.disable(gl.POLYGON_OFFSET_FILL)};proto.dispose=function(){this.vao.dispose();this.buffer.dispose();this.shader.dispose()};function createBackgroundCube(gl){var vertices=[];var indices=[];var ptr=0;for(var d=0;d<3;++d){var u=(d+1)%3;var v=(d+2)%3;var x=[0,0,0];var c=[0,0,0];for(var s=-1;s<=1;s+=2){indices.push(ptr,ptr+2,ptr+1,ptr+1,ptr+2,ptr+3);x[d]=s;c[d]=s;for(var i=-1;i<=1;i+=2){x[u]=i;for(var j=-1;j<=1;j+=2){x[v]=j;vertices.push(x[0],x[1],x[2],c[0],c[1],c[2]);ptr+=1}}var tt=u;u=v;v=tt}}var buffer=createBuffer(gl,new Float32Array(vertices));var elements=createBuffer(gl,new Uint16Array(indices),gl.ELEMENT_ARRAY_BUFFER);var vao=createVAO(gl,[{buffer:buffer,type:gl.FLOAT,size:3,offset:0,stride:24},{buffer:buffer,type:gl.FLOAT,size:3,offset:12,stride:24}],elements);var shader=createShader(gl);shader.attributes.position.location=0;shader.attributes.normal.location=1;return new BackgroundCube(gl,buffer,vao,shader)}},{"./shaders":262,"gl-buffer":267,"gl-vao":361}],260:[function(_dereq_,module,exports){"use strict";module.exports=getCubeEdges;var bits=_dereq_("bit-twiddle");var multiply=_dereq_("gl-mat4/multiply");var splitPoly=_dereq_("split-polygon");var orient=_dereq_("robust-orientation");var mvp=new Array(16);var pCubeVerts=new Array(8);var cubeVerts=new Array(8);var x=new Array(3);var zero3=[0,0,0];(function(){for(var i=0;i<8;++i){pCubeVerts[i]=[1,1,1,1];cubeVerts[i]=[1,1,1]}})();function transformHg(result,x,mat){for(var i=0;i<4;++i){result[i]=mat[12+i];for(var j=0;j<3;++j){result[i]+=x[j]*mat[4*j+i]}}}var FRUSTUM_PLANES=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function polygonArea(p){for(var i=0;i<FRUSTUM_PLANES.length;++i){p=splitPoly.positive(p,FRUSTUM_PLANES[i]);if(p.length<3){return 0}}var base=p[0];var ax=base[0]/base[3];var ay=base[1]/base[3];var area=0;for(var i=1;i+1<p.length;++i){var b=p[i];var c=p[i+1];var bx=b[0]/b[3];var by=b[1]/b[3];var cx=c[0]/c[3];var cy=c[1]/c[3];var ux=bx-ax;var uy=by-ay;var vx=cx-ax;var vy=cy-ay;area+=Math.abs(ux*vy-uy*vx)}return area}var CUBE_EDGES=[1,1,1];var CUBE_AXIS=[0,0,0];var CUBE_RESULT={cubeEdges:CUBE_EDGES,axis:CUBE_AXIS};function getCubeEdges(model,view,projection,bounds,ortho){multiply(mvp,view,model);multiply(mvp,projection,mvp);var ptr=0;for(var i=0;i<2;++i){x[2]=bounds[i][2];for(var j=0;j<2;++j){x[1]=bounds[j][1];for(var k=0;k<2;++k){x[0]=bounds[k][0];transformHg(pCubeVerts[ptr],x,mvp);ptr+=1}}}var closest=-1;for(var i=0;i<8;++i){var w=pCubeVerts[i][3];for(var l=0;l<3;++l){cubeVerts[i][l]=pCubeVerts[i][l]/w}if(ortho)cubeVerts[i][2]*=-1;if(w<0){if(closest<0){closest=i}else if(cubeVerts[i][2]<cubeVerts[closest][2]){closest=i}}}if(closest<0){closest=0;for(var d=0;d<3;++d){var u=(d+2)%3;var v=(d+1)%3;var o0=-1;var o1=-1;for(var s=0;s<2;++s){var f0=s<<d;var f1=f0+(s<<u)+(1-s<<v);var f2=f0+(1-s<<u)+(s<<v);if(orient(cubeVerts[f0],cubeVerts[f1],cubeVerts[f2],zero3)<0){continue}if(s){o0=1}else{o1=1}}if(o0<0||o1<0){if(o1>o0){closest|=1<<d}continue}for(var s=0;s<2;++s){var f0=s<<d;var f1=f0+(s<<u)+(1-s<<v);var f2=f0+(1-s<<u)+(s<<v);var o=polygonArea([pCubeVerts[f0],pCubeVerts[f1],pCubeVerts[f2],pCubeVerts[f0+(1<<u)+(1<<v)]]);if(s){o0=o}else{o1=o}}if(o1>o0){closest|=1<<d;continue}}}var farthest=7^closest;var bottom=-1;for(var i=0;i<8;++i){if(i===closest||i===farthest){continue}if(bottom<0){bottom=i}else if(cubeVerts[bottom][1]>cubeVerts[i][1]){bottom=i}}var left=-1;for(var i=0;i<3;++i){var idx=bottom^1<<i;if(idx===closest||idx===farthest){continue}if(left<0){left=idx}var v=cubeVerts[idx];if(v[0]<cubeVerts[left][0]){left=idx}}var right=-1;for(var i=0;i<3;++i){var idx=bottom^1<<i;if(idx===closest||idx===farthest||idx===left){continue}if(right<0){right=idx}var v=cubeVerts[idx];if(v[0]>cubeVerts[right][0]){right=idx}}var cubeEdges=CUBE_EDGES;cubeEdges[0]=cubeEdges[1]=cubeEdges[2]=0;cubeEdges[bits.log2(left^bottom)]=bottom&left;cubeEdges[bits.log2(bottom^right)]=bottom&right;var top=right^7;if(top===closest||top===farthest){top=left^7;cubeEdges[bits.log2(right^top)]=top&right}else{cubeEdges[bits.log2(left^top)]=top&left}var axis=CUBE_AXIS;var cutCorner=closest;for(var d=0;d<3;++d){if(cutCorner&1<<d){axis[d]=-1}else{axis[d]=1}}return CUBE_RESULT}},{"bit-twiddle":104,"gl-mat4/multiply":301,"robust-orientation":548,"split-polygon":567}],261:[function(_dereq_,module,exports){"use strict";module.exports=createLines;var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var createShader=_dereq_("./shaders").line;var MAJOR_AXIS=[0,0,0];var MINOR_AXIS=[0,0,0];var SCREEN_AXIS=[0,0,0];var OFFSET_VEC=[0,0,0];var SHAPE=[1,1];function zeroVec(a){a[0]=a[1]=a[2]=0;return a}function copyVec(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a}function Lines(gl,vertBuffer,vao,shader,tickCount,tickOffset,gridCount,gridOffset){this.gl=gl;this.vertBuffer=vertBuffer;this.vao=vao;this.shader=shader;this.tickCount=tickCount;this.tickOffset=tickOffset;this.gridCount=gridCount;this.gridOffset=gridOffset}var proto=Lines.prototype;proto.bind=function(model,view,projection){this.shader.bind();this.shader.uniforms.model=model;this.shader.uniforms.view=view;this.shader.uniforms.projection=projection;SHAPE[0]=this.gl.drawingBufferWidth;SHAPE[1]=this.gl.drawingBufferHeight;this.shader.uniforms.screenShape=SHAPE;this.vao.bind()};proto.unbind=function(){this.vao.unbind()};proto.drawAxisLine=function(j,bounds,offset,color,lineWidth){var minorAxis=zeroVec(MINOR_AXIS);this.shader.uniforms.majorAxis=MINOR_AXIS;minorAxis[j]=bounds[1][j]-bounds[0][j];this.shader.uniforms.minorAxis=minorAxis;var noffset=copyVec(OFFSET_VEC,offset);noffset[j]+=bounds[0][j];this.shader.uniforms.offset=noffset;this.shader.uniforms.lineWidth=lineWidth;this.shader.uniforms.color=color;var screenAxis=zeroVec(SCREEN_AXIS);screenAxis[(j+2)%3]=1;this.shader.uniforms.screenAxis=screenAxis;this.vao.draw(this.gl.TRIANGLES,6);var screenAxis=zeroVec(SCREEN_AXIS);screenAxis[(j+1)%3]=1;this.shader.uniforms.screenAxis=screenAxis;this.vao.draw(this.gl.TRIANGLES,6)};proto.drawAxisTicks=function(j,offset,minorAxis,color,lineWidth){if(!this.tickCount[j]){return}var majorAxis=zeroVec(MAJOR_AXIS);majorAxis[j]=1;this.shader.uniforms.majorAxis=majorAxis;this.shader.uniforms.offset=offset;this.shader.uniforms.minorAxis=minorAxis;this.shader.uniforms.color=color;this.shader.uniforms.lineWidth=lineWidth;var screenAxis=zeroVec(SCREEN_AXIS);screenAxis[j]=1;this.shader.uniforms.screenAxis=screenAxis;this.vao.draw(this.gl.TRIANGLES,this.tickCount[j],this.tickOffset[j])};proto.drawGrid=function(i,j,bounds,offset,color,lineWidth){if(!this.gridCount[i]){return}var minorAxis=zeroVec(MINOR_AXIS);minorAxis[j]=bounds[1][j]-bounds[0][j];this.shader.uniforms.minorAxis=minorAxis;var noffset=copyVec(OFFSET_VEC,offset);noffset[j]+=bounds[0][j];this.shader.uniforms.offset=noffset;var majorAxis=zeroVec(MAJOR_AXIS);majorAxis[i]=1;this.shader.uniforms.majorAxis=majorAxis;var screenAxis=zeroVec(SCREEN_AXIS);screenAxis[i]=1;this.shader.uniforms.screenAxis=screenAxis;this.shader.uniforms.lineWidth=lineWidth;this.shader.uniforms.color=color;this.vao.draw(this.gl.TRIANGLES,this.gridCount[i],this.gridOffset[i])};proto.drawZero=function(j,i,bounds,offset,color,lineWidth){var minorAxis=zeroVec(MINOR_AXIS);this.shader.uniforms.majorAxis=minorAxis;minorAxis[j]=bounds[1][j]-bounds[0][j];this.shader.uniforms.minorAxis=minorAxis;var noffset=copyVec(OFFSET_VEC,offset);noffset[j]+=bounds[0][j];this.shader.uniforms.offset=noffset;var screenAxis=zeroVec(SCREEN_AXIS);screenAxis[i]=1;this.shader.uniforms.screenAxis=screenAxis;this.shader.uniforms.lineWidth=lineWidth;this.shader.uniforms.color=color;this.vao.draw(this.gl.TRIANGLES,6)};proto.dispose=function(){this.vao.dispose();this.vertBuffer.dispose();this.shader.dispose()};function createLines(gl,bounds,ticks){var vertices=[];var tickOffset=[0,0,0];var tickCount=[0,0,0];var gridOffset=[0,0,0];var gridCount=[0,0,0];vertices.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var i=0;i<3;++i){var start=vertices.length/3|0;for(var j=0;j<ticks[i].length;++j){var x=+ticks[i][j].x;vertices.push(x,0,1,x,1,1,x,0,-1,x,0,-1,x,1,1,x,1,-1)}var end=vertices.length/3|0;tickOffset[i]=start;tickCount[i]=end-start;var start=vertices.length/3|0;for(var k=0;k<ticks[i].length;++k){var x=+ticks[i][k].x;vertices.push(x,0,1,x,1,1,x,0,-1,x,0,-1,x,1,1,x,1,-1)}var end=vertices.length/3|0;gridOffset[i]=start;gridCount[i]=end-start}var vertBuf=createBuffer(gl,new Float32Array(vertices));var vao=createVAO(gl,[{buffer:vertBuf,type:gl.FLOAT,size:3,stride:0,offset:0}]);var shader=createShader(gl);shader.attributes.position.location=0;return new Lines(gl,vertBuf,vao,shader,tickCount,tickOffset,gridCount,gridOffset)}},{"./shaders":262,"gl-buffer":267,"gl-vao":361}],262:[function(_dereq_,module,exports){"use strict";var glslify=_dereq_("glslify");var createShader=_dereq_("gl-shader");var lineVert=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n  vec4 pp = projection * view * model * vec4(p, 1.0);\n  return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n  vec3 major = position.x * majorAxis;\n  vec3 minor = position.y * minorAxis;\n\n  vec3 vPosition = major + minor + offset;\n  vec3 pPosition = project(vPosition);\n  vec3 offset = project(vPosition + screenAxis * position.z);\n\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n"]);var lineFrag=glslify(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}"]);exports.line=function(gl){return createShader(gl,lineVert,lineFrag,null,[{name:"position",type:"vec3"}])};var textVert=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvec3 project(vec3 p) {\n  vec4 pp = projection * view * model * vec4(p, 1.0);\n  return pp.xyz / max(pp.w, 0.0001);\n}\n\nfloat computeViewAngle(vec3 a, vec3 b) {\n  vec3 A = project(a);\n  vec3 B = project(b);\n\n  return atan(\n    (B.y - A.y) * resolution.y,\n    (B.x - A.x) * resolution.x\n  );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio =       alignOpt.y;\nbool enableAlign =    (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n  return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n  return mod_angle((a < 0.0) ?\n    a + TWO_PI :\n    a\n  );\n}\n\nfloat look_upwards(float a) {\n  float b = positive_angle(a);\n  return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n    b - PI :\n    b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n  // ratio controls the ratio between being horizontal to (vertical + horizontal)\n  // if ratio is set to 0.5 then it is 50%, 50%.\n  // when using a higher ratio e.g. 0.75 the result would\n  // likely be more horizontal than vertical.\n\n  float b = positive_angle(a);\n\n  return\n    (b < (      ratio) * HALF_PI) ? 0.0 :\n    (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n    (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n    (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n                                    0.0;\n}\n\nfloat roundTo(float a, float b) {\n  return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n  float b = positive_angle(a);\n  float div = TWO_PI / float(n);\n  float c = roundTo(b, div);\n  return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n  return\n    (option >  2) ? look_round_n_directions(rawAngle + delta, option) :       // option 3-n: round to n directions\n    (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n    (option == 1) ? rawAngle + delta :       // use free angle, and flip to align with one direction of the axis\n    (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n    (option ==-1) ? 0.0 :                    // useful for backward compatibility, all texts remains horizontal\n                    rawAngle;                // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n                   (axis.y == 0.0) &&\n                   (axis.z == 0.0);\n\nvoid main() {\n  //Compute world offset\n  float axisDistance = position.z;\n  vec3 dataPosition = axisDistance * axis + offset;\n\n  float beta = angle; // i.e. user defined attributes for each tick\n\n  float axisAngle;\n  float clipAngle;\n  float flip;\n\n  if (enableAlign) {\n    axisAngle = (isAxisTitle) ? HALF_PI :\n                      computeViewAngle(dataPosition, dataPosition + axis);\n    clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n    axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n    clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n    flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n                vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n    beta += applyAlignOption(clipAngle, flip * PI);\n  }\n\n  //Compute plane offset\n  vec2 planeCoord = position.xy * pixelScale;\n\n  mat2 planeXform = scale * mat2(\n     cos(beta), sin(beta),\n    -sin(beta), cos(beta)\n  );\n\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n  //Compute clip position\n  vec3 clipPosition = project(dataPosition);\n\n  //Apply text offset in clip coordinates\n  clipPosition += vec3(viewOffset, 0.0);\n\n  //Done\n  gl_Position = vec4(clipPosition, 1.0);\n}"]);var textFrag=glslify(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}"]);exports.text=function(gl){return createShader(gl,textVert,textFrag,null,[{name:"position",type:"vec3"}])};var bgVert=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n  vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n  vec3 realNormal = signAxis * normal;\n\n  if(dot(realNormal, enable) > 0.0) {\n    vec3 minRange = min(bounds[0], bounds[1]);\n    vec3 maxRange = max(bounds[0], bounds[1]);\n    vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\n  } else {\n    gl_Position = vec4(0,0,0,0);\n  }\n\n  colorChannel = abs(realNormal);\n}"]);var bgFrag=glslify(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n  gl_FragColor = colorChannel.x * colors[0] +\n                 colorChannel.y * colors[1] +\n                 colorChannel.z * colors[2];\n}"]);exports.bg=function(gl){return createShader(gl,bgVert,bgFrag,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":339,glslify:265}],263:[function(_dereq_,module,exports){(function(process){(function(){"use strict";module.exports=createTextSprites;var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var vectorizeText=_dereq_("vectorize-text");var createShader=_dereq_("./shaders").text;var globals=window||process.global||{};var __TEXT_CACHE=globals.__TEXT_CACHE||{};globals.__TEXT_CACHE={};var VERTEX_SIZE=3;function TextSprites(gl,shader,buffer,vao){this.gl=gl;this.shader=shader;this.buffer=buffer;this.vao=vao;this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var proto=TextSprites.prototype;var SHAPE=[0,0];proto.bind=function(model,view,projection,pixelScale){this.vao.bind();this.shader.bind();var uniforms=this.shader.uniforms;uniforms.model=model;uniforms.view=view;uniforms.projection=projection;uniforms.pixelScale=pixelScale;SHAPE[0]=this.gl.drawingBufferWidth;SHAPE[1]=this.gl.drawingBufferHeight;this.shader.uniforms.resolution=SHAPE};proto.unbind=function(){this.vao.unbind()};proto.update=function(bounds,labels,labelFont,ticks,tickFont){var data=[];function addItem(t,text,font,size,lineSpacing,styletags){var fontcache=__TEXT_CACHE[font];if(!fontcache){fontcache=__TEXT_CACHE[font]={}}var mesh=fontcache[text];if(!mesh){mesh=fontcache[text]=tryVectorizeText(text,{triangles:true,font:font,textAlign:"center",textBaseline:"middle",lineSpacing:lineSpacing,styletags:styletags})}var scale=(size||12)/12;var positions=mesh.positions;var cells=mesh.cells;for(var i=0,nc=cells.length;i<nc;++i){var c=cells[i];for(var j=2;j>=0;--j){var p=positions[c[j]];data.push(scale*p[0],-scale*p[1],t)}}}var tickOffset=[0,0,0];var tickCount=[0,0,0];var labelOffset=[0,0,0];var labelCount=[0,0,0];var lineSpacing=1.25;var styletags={breaklines:true,bolds:true,italics:true,subscripts:true,superscripts:true};for(var d=0;d<3;++d){labelOffset[d]=data.length/VERTEX_SIZE|0;addItem(.5*(bounds[0][d]+bounds[1][d]),labels[d],labelFont[d],12,lineSpacing,styletags);labelCount[d]=(data.length/VERTEX_SIZE|0)-labelOffset[d];tickOffset[d]=data.length/VERTEX_SIZE|0;for(var i=0;i<ticks[d].length;++i){if(!ticks[d][i].text){continue}addItem(ticks[d][i].x,ticks[d][i].text,ticks[d][i].font||tickFont,ticks[d][i].fontSize||12,lineSpacing,styletags)}tickCount[d]=(data.length/VERTEX_SIZE|0)-tickOffset[d]}this.buffer.update(data);this.tickOffset=tickOffset;this.tickCount=tickCount;this.labelOffset=labelOffset;this.labelCount=labelCount};proto.drawTicks=function(d,scale,angle,offset,color,axis,alignDir,alignOpt){if(!this.tickCount[d]){return}this.shader.uniforms.axis=axis;this.shader.uniforms.color=color;this.shader.uniforms.angle=angle;this.shader.uniforms.scale=scale;this.shader.uniforms.offset=offset;this.shader.uniforms.alignDir=alignDir;this.shader.uniforms.alignOpt=alignOpt;this.vao.draw(this.gl.TRIANGLES,this.tickCount[d],this.tickOffset[d])};proto.drawLabel=function(d,scale,angle,offset,color,axis,alignDir,alignOpt){if(!this.labelCount[d]){return}this.shader.uniforms.axis=axis;this.shader.uniforms.color=color;this.shader.uniforms.angle=angle;this.shader.uniforms.scale=scale;this.shader.uniforms.offset=offset;this.shader.uniforms.alignDir=alignDir;this.shader.uniforms.alignOpt=alignOpt;this.vao.draw(this.gl.TRIANGLES,this.labelCount[d],this.labelOffset[d])};proto.dispose=function(){this.shader.dispose();this.vao.dispose();this.buffer.dispose()};function tryVectorizeText(text,options){try{return vectorizeText(text,options)}catch(e){console.warn('error vectorizing text:"'+text+'" error:',e);return{cells:[],positions:[]}}}function createTextSprites(gl,bounds,labels,labelFont,ticks,tickFont){var buffer=createBuffer(gl);var vao=createVAO(gl,[{buffer:buffer,size:3}]);var shader=createShader(gl);shader.attributes.position.location=0;var result=new TextSprites(gl,shader,buffer,vao);result.update(bounds,labels,labelFont,ticks,tickFont);return result}}).call(this)}).call(this,_dereq_("_process"))},{"./shaders":262,_process:528,"gl-buffer":267,"gl-vao":361,"vectorize-text":623}],264:[function(_dereq_,module,exports){"use strict";exports.create=defaultTicks;exports.equal=ticksEqual;function prettyPrint(spacing,i){var stepStr=spacing+"";var u=stepStr.indexOf(".");var sigFigs=0;if(u>=0){sigFigs=stepStr.length-u-1}var shift=Math.pow(10,sigFigs);var x=Math.round(spacing*i*shift);var xstr=x+"";if(xstr.indexOf("e")>=0){return xstr}var xi=x/shift,xf=x%shift;if(x<0){xi=-Math.ceil(xi)|0;xf=-xf|0}else{xi=Math.floor(xi)|0;xf=xf|0}var xis=""+xi;if(x<0){xis="-"+xis}if(sigFigs){var xs=""+xf;while(xs.length<sigFigs){xs="0"+xs}return xis+"."+xs}else{return xis}}function defaultTicks(bounds,tickSpacing){var array=[];for(var d=0;d<3;++d){var ticks=[];var m=.5*(bounds[0][d]+bounds[1][d]);for(var t=0;t*tickSpacing[d]<=bounds[1][d];++t){ticks.push({x:t*tickSpacing[d],text:prettyPrint(tickSpacing[d],t)})}for(var t=-1;t*tickSpacing[d]>=bounds[0][d];--t){ticks.push({x:t*tickSpacing[d],text:prettyPrint(tickSpacing[d],t)})}array.push(ticks)}return array}function ticksEqual(ticksA,ticksB){for(var i=0;i<3;++i){if(ticksA[i].length!==ticksB[i].length){return false}for(var j=0;j<ticksA[i].length;++j){var a=ticksA[i][j];var b=ticksB[i][j];if(a.x!==b.x||a.text!==b.text||a.font!==b.font||a.fontColor!==b.fontColor||a.fontSize!==b.fontSize||a.dx!==b.dx||a.dy!==b.dy){return false}}}return true}},{}],265:[function(_dereq_,module,exports){module.exports=function(strings){if(typeof strings==="string")strings=[strings];var exprs=[].slice.call(arguments,1);var parts=[];for(var i=0;i<strings.length-1;i++){parts.push(strings[i],exprs[i]||"")}parts.push(strings[i]);return parts.join("")}},{}],266:[function(_dereq_,module,exports){"use strict";module.exports=axesProperties;var getPlanes=_dereq_("extract-frustum-planes");var splitPoly=_dereq_("split-polygon");var cubeParams=_dereq_("./lib/cube.js");var m4mul=_dereq_("gl-mat4/multiply");var m4transpose=_dereq_("gl-mat4/transpose");var v4transformMat4=_dereq_("gl-vec4/transformMat4");var identity=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);var mvp=new Float32Array(16);function AxesRange3D(lo,hi,pixelsPerDataUnit){this.lo=lo;this.hi=hi;this.pixelsPerDataUnit=pixelsPerDataUnit}var SCRATCH_P=[0,0,0,1];var SCRATCH_Q=[0,0,0,1];function gradient(result,M,v,width,height){for(var i=0;i<3;++i){var p=SCRATCH_P;var q=SCRATCH_Q;for(var j=0;j<3;++j){q[j]=p[j]=v[j]}q[3]=p[3]=1;q[i]+=1;v4transformMat4(q,q,M);if(q[3]<0){result[i]=Infinity}p[i]-=1;v4transformMat4(p,p,M);if(p[3]<0){result[i]=Infinity}var dx=(p[0]/p[3]-q[0]/q[3])*width;var dy=(p[1]/p[3]-q[1]/q[3])*height;result[i]=.25*Math.sqrt(dx*dx+dy*dy)}return result}var RANGES=[new AxesRange3D(Infinity,-Infinity,Infinity),new AxesRange3D(Infinity,-Infinity,Infinity),new AxesRange3D(Infinity,-Infinity,Infinity)];var SCRATCH_X=[0,0,0];function axesProperties(axes,camera,width,height,params){var model=camera.model||identity;var view=camera.view||identity;var projection=camera.projection||identity;var isOrtho=camera._ortho||false;var bounds=axes.bounds;var params=params||cubeParams(model,view,projection,bounds,isOrtho);var axis=params.axis;m4mul(mvp,view,model);m4mul(mvp,projection,mvp);var ranges=RANGES;for(var i=0;i<3;++i){ranges[i].lo=Infinity;ranges[i].hi=-Infinity;ranges[i].pixelsPerDataUnit=Infinity}var frustum=getPlanes(m4transpose(mvp,mvp));m4transpose(mvp,mvp);for(var d=0;d<3;++d){var u=(d+1)%3;var v=(d+2)%3;var x=SCRATCH_X;i_loop:for(var i=0;i<2;++i){var poly=[];if(axis[d]<0===!!i){continue}x[d]=bounds[i][d];for(var j=0;j<2;++j){x[u]=bounds[j^i][u];for(var k=0;k<2;++k){x[v]=bounds[k^j^i][v];poly.push(x.slice())}}var Q=isOrtho?5:4;for(var j=Q;j===Q;++j){if(poly.length===0){continue i_loop}poly=splitPoly.positive(poly,frustum[j])}for(var j=0;j<poly.length;++j){var v=poly[j];var grad=gradient(SCRATCH_X,mvp,v,width,height);for(var k=0;k<3;++k){ranges[k].lo=Math.min(ranges[k].lo,v[k]);ranges[k].hi=Math.max(ranges[k].hi,v[k]);if(k!==d){ranges[k].pixelsPerDataUnit=Math.min(ranges[k].pixelsPerDataUnit,Math.abs(grad[k]))}}}}}return ranges}},{"./lib/cube.js":260,"extract-frustum-planes":248,"gl-mat4/multiply":301,"gl-mat4/transpose":312,"gl-vec4/transformMat4":432,"split-polygon":567}],267:[function(_dereq_,module,exports){"use strict";var pool=_dereq_("typedarray-pool");var ops=_dereq_("ndarray-ops");var ndarray=_dereq_("ndarray");var SUPPORTED_TYPES=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function GLBuffer(gl,type,handle,length,usage){this.gl=gl;this.type=type;this.handle=handle;this.length=length;this.usage=usage}var proto=GLBuffer.prototype;proto.bind=function(){this.gl.bindBuffer(this.type,this.handle)};proto.unbind=function(){this.gl.bindBuffer(this.type,null)};proto.dispose=function(){this.gl.deleteBuffer(this.handle)};function updateTypeArray(gl,type,len,usage,data,offset){var dataLen=data.length*data.BYTES_PER_ELEMENT;if(offset<0){gl.bufferData(type,data,usage);return dataLen}if(dataLen+offset>len){throw new Error("gl-buffer: If resizing buffer, must not specify offset")}gl.bufferSubData(type,offset,data);return len}function makeScratchTypeArray(array,dtype){var res=pool.malloc(array.length,dtype);var n=array.length;for(var i=0;i<n;++i){res[i]=array[i]}return res}function isPacked(shape,stride){var n=1;for(var i=stride.length-1;i>=0;--i){if(stride[i]!==n){return false}n*=shape[i]}return true}proto.update=function(array,offset){if(typeof offset!=="number"){offset=-1}this.bind();if(typeof array==="object"&&typeof array.shape!=="undefined"){var dtype=array.dtype;if(SUPPORTED_TYPES.indexOf(dtype)<0){dtype="float32"}if(this.type===this.gl.ELEMENT_ARRAY_BUFFER){var ext=gl.getExtension("OES_element_index_uint");if(ext&&dtype!=="uint16"){dtype="uint32"}else{dtype="uint16"}}if(dtype===array.dtype&&isPacked(array.shape,array.stride)){if(array.offset===0&&array.data.length===array.shape[0]){this.length=updateTypeArray(this.gl,this.type,this.length,this.usage,array.data,offset)}else{this.length=updateTypeArray(this.gl,this.type,this.length,this.usage,array.data.subarray(array.offset,array.shape[0]),offset)}}else{var tmp=pool.malloc(array.size,dtype);var ndt=ndarray(tmp,array.shape);ops.assign(ndt,array);if(offset<0){this.length=updateTypeArray(this.gl,this.type,this.length,this.usage,tmp,offset)}else{this.length=updateTypeArray(this.gl,this.type,this.length,this.usage,tmp.subarray(0,array.size),offset)}pool.free(tmp)}}else if(Array.isArray(array)){var t;if(this.type===this.gl.ELEMENT_ARRAY_BUFFER){t=makeScratchTypeArray(array,"uint16")}else{t=makeScratchTypeArray(array,"float32")}if(offset<0){this.length=updateTypeArray(this.gl,this.type,this.length,this.usage,t,offset)}else{this.length=updateTypeArray(this.gl,this.type,this.length,this.usage,t.subarray(0,array.length),offset)}pool.free(t)}else if(typeof array==="object"&&typeof array.length==="number"){this.length=updateTypeArray(this.gl,this.type,this.length,this.usage,array,offset)}else if(typeof array==="number"||array===undefined){if(offset>=0){throw new Error("gl-buffer: Cannot specify offset when resizing buffer")}array=array|0;if(array<=0){array=1}this.gl.bufferData(this.type,array|0,this.usage);this.length=array}else{throw new Error("gl-buffer: Invalid data type")}};function createBuffer(gl,data,type,usage){type=type||gl.ARRAY_BUFFER;usage=usage||gl.DYNAMIC_DRAW;if(type!==gl.ARRAY_BUFFER&&type!==gl.ELEMENT_ARRAY_BUFFER){throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER")}if(usage!==gl.DYNAMIC_DRAW&&usage!==gl.STATIC_DRAW&&usage!==gl.STREAM_DRAW){throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW")}var handle=gl.createBuffer();var result=new GLBuffer(gl,type,handle,0,usage);result.update(data);return result}module.exports=createBuffer},{ndarray:483,"ndarray-ops":478,"typedarray-pool":617}],268:[function(_dereq_,module,exports){"use strict";var vec3=_dereq_("gl-vec3");module.exports=function(vectorfield,bounds){var positions=vectorfield.positions;var vectors=vectorfield.vectors;var geo={positions:[],vertexIntensity:[],vertexIntensityBounds:vectorfield.vertexIntensityBounds,vectors:[],cells:[],coneOffset:vectorfield.coneOffset,colormap:vectorfield.colormap};if(vectorfield.positions.length===0){if(bounds){bounds[0]=[0,0,0];bounds[1]=[0,0,0]}return geo}var maxNorm=0;var minX=Infinity,maxX=-Infinity;var minY=Infinity,maxY=-Infinity;var minZ=Infinity,maxZ=-Infinity;var p2=null;var u2=null;var positionVectors=[];var vectorScale=Infinity;var skipIt=false;for(var i=0;i<positions.length;i++){var p=positions[i];minX=Math.min(p[0],minX);maxX=Math.max(p[0],maxX);minY=Math.min(p[1],minY);maxY=Math.max(p[1],maxY);minZ=Math.min(p[2],minZ);maxZ=Math.max(p[2],maxZ);var u=vectors[i];if(vec3.length(u)>maxNorm){maxNorm=vec3.length(u)}if(i){var q=2*vec3.distance(p2,p)/(vec3.length(u2)+vec3.length(u));if(q){vectorScale=Math.min(vectorScale,q);skipIt=false}else{skipIt=true}}if(!skipIt){p2=p;u2=u}positionVectors.push(u)}var minV=[minX,minY,minZ];var maxV=[maxX,maxY,maxZ];if(bounds){bounds[0]=minV;bounds[1]=maxV}if(maxNorm===0){maxNorm=1}var invertedMaxNorm=1/maxNorm;if(!isFinite(vectorScale)){vectorScale=1}geo.vectorScale=vectorScale;var coneScale=vectorfield.coneSize||.5;if(vectorfield.absoluteConeSize){coneScale=vectorfield.absoluteConeSize*invertedMaxNorm}geo.coneScale=coneScale;for(var i=0,j=0;i<positions.length;i++){var p=positions[i];var x=p[0],y=p[1],z=p[2];var d=positionVectors[i];var intensity=vec3.length(d)*invertedMaxNorm;for(var k=0,l=8;k<l;k++){geo.positions.push([x,y,z,j++]);geo.positions.push([x,y,z,j++]);geo.positions.push([x,y,z,j++]);geo.positions.push([x,y,z,j++]);geo.positions.push([x,y,z,j++]);geo.positions.push([x,y,z,j++]);geo.vectors.push(d);geo.vectors.push(d);geo.vectors.push(d);geo.vectors.push(d);geo.vectors.push(d);geo.vectors.push(d);geo.vertexIntensity.push(intensity,intensity,intensity);geo.vertexIntensity.push(intensity,intensity,intensity);var m=geo.positions.length;geo.cells.push([m-6,m-5,m-4],[m-3,m-2,m-1])}}return geo};var shaders=_dereq_("./lib/shaders");module.exports.createMesh=_dereq_("./create_mesh");module.exports.createConeMesh=function(gl,params){return module.exports.createMesh(gl,params,{shaders:shaders,traceType:"cone"})}},{"./create_mesh":269,"./lib/shaders":270,"gl-vec3":380}],269:[function(_dereq_,module,exports){"use strict";var createShader=_dereq_("gl-shader");var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var createTexture=_dereq_("gl-texture2d");var multiply=_dereq_("gl-mat4/multiply");var invert=_dereq_("gl-mat4/invert");var ndarray=_dereq_("ndarray");var colormap=_dereq_("colormap");var IDENTITY=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function VectorMesh(gl,texture,triShader,pickShader,trianglePositions,triangleVectors,triangleIds,triangleColors,triangleUVs,triangleVAO,traceType){this.gl=gl;this.pixelRatio=1;this.cells=[];this.positions=[];this.intensity=[];this.texture=texture;this.dirty=true;this.triShader=triShader;this.pickShader=pickShader;this.trianglePositions=trianglePositions;this.triangleVectors=triangleVectors;this.triangleColors=triangleColors;this.triangleUVs=triangleUVs;this.triangleIds=triangleIds;this.triangleVAO=triangleVAO;this.triangleCount=0;this.pickId=1;this.bounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];this.clipBounds=[[-Infinity,-Infinity,-Infinity],[Infinity,Infinity,Infinity]];this.lightPosition=[1e5,1e5,0];this.ambientLight=.8;this.diffuseLight=.8;this.specularLight=2;this.roughness=.5;this.fresnel=1.5;this.opacity=1;this.traceType=traceType;this.tubeScale=1;this.coneScale=2;this.vectorScale=1;this.coneOffset=.25;this._model=IDENTITY;this._view=IDENTITY;this._projection=IDENTITY;this._resolution=[1,1]}var proto=VectorMesh.prototype;proto.isOpaque=function(){return this.opacity>=1};proto.isTransparent=function(){return this.opacity<1};proto.pickSlots=1;proto.setPickBase=function(id){this.pickId=id};function genColormap(param){var colors=colormap({colormap:param,nshades:256,format:"rgba"});var result=new Uint8Array(256*4);for(var i=0;i<256;++i){var c=colors[i];for(var j=0;j<3;++j){result[4*i+j]=c[j]}result[4*i+3]=c[3]*255}return ndarray(result,[256,256,4],[4,0,1])}function takeZComponent(array){var n=array.length;var result=new Array(n);for(var i=0;i<n;++i){result[i]=array[i][2]}return result}proto.update=function(params){params=params||{};var gl=this.gl;this.dirty=true;if("lightPosition"in params){this.lightPosition=params.lightPosition}if("opacity"in params){this.opacity=params.opacity}if("ambient"in params){this.ambientLight=params.ambient}if("diffuse"in params){this.diffuseLight=params.diffuse}if("specular"in params){this.specularLight=params.specular}if("roughness"in params){this.roughness=params.roughness}if("fresnel"in params){this.fresnel=params.fresnel}if(params.tubeScale!==undefined){this.tubeScale=params.tubeScale}if(params.vectorScale!==undefined){this.vectorScale=params.vectorScale}if(params.coneScale!==undefined){this.coneScale=params.coneScale}if(params.coneOffset!==undefined){this.coneOffset=params.coneOffset}if(params.colormap){this.texture.shape=[256,256];this.texture.minFilter=gl.LINEAR_MIPMAP_LINEAR;this.texture.magFilter=gl.LINEAR;this.texture.setPixels(genColormap(params.colormap));this.texture.generateMipmap()}var cells=params.cells;var positions=params.positions;var vectors=params.vectors;if(!positions||!cells||!vectors){return}var tPos=[];var tVec=[];var tCol=[];var tUVs=[];var tIds=[];this.cells=cells;this.positions=positions;this.vectors=vectors;var meshColor=params.meshColor||[1,1,1,1];var vertexIntensity=params.vertexIntensity;var intensityLo=Infinity;var intensityHi=-Infinity;if(vertexIntensity){if(params.vertexIntensityBounds){intensityLo=+params.vertexIntensityBounds[0];intensityHi=+params.vertexIntensityBounds[1]}else{for(var i=0;i<vertexIntensity.length;++i){var f=vertexIntensity[i];intensityLo=Math.min(intensityLo,f);intensityHi=Math.max(intensityHi,f)}}}else{for(var i=0;i<positions.length;++i){var f=positions[i][2];intensityLo=Math.min(intensityLo,f);intensityHi=Math.max(intensityHi,f)}}if(vertexIntensity){this.intensity=vertexIntensity}else{this.intensity=takeZComponent(positions)}this.bounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];for(var i=0;i<positions.length;++i){var p=positions[i];for(var j=0;j<3;++j){if(isNaN(p[j])||!isFinite(p[j])){continue}this.bounds[0][j]=Math.min(this.bounds[0][j],p[j]);this.bounds[1][j]=Math.max(this.bounds[1][j],p[j])}}var triangleCount=0;fill_loop:for(var i=0;i<cells.length;++i){var cell=cells[i];switch(cell.length){case 3:for(var j=0;j<3;++j){var v=cell[j];var p=positions[v];for(var k=0;k<3;++k){if(isNaN(p[k])||!isFinite(p[k])){continue fill_loop}}}for(var j=0;j<3;++j){var v=cell[2-j];var p=positions[v];tPos.push(p[0],p[1],p[2],p[3]);var w=vectors[v];tVec.push(w[0],w[1],w[2],w[3]||0);var c=meshColor;if(c.length===3){tCol.push(c[0],c[1],c[2],1)}else{tCol.push(c[0],c[1],c[2],c[3])}var uv;if(vertexIntensity){uv=[(vertexIntensity[v]-intensityLo)/(intensityHi-intensityLo),0]}else{uv=[(p[2]-intensityLo)/(intensityHi-intensityLo),0]}tUVs.push(uv[0],uv[1]);tIds.push(i)}triangleCount+=1;break;default:break}}this.triangleCount=triangleCount;this.trianglePositions.update(tPos);this.triangleVectors.update(tVec);this.triangleColors.update(tCol);this.triangleUVs.update(tUVs);this.triangleIds.update(new Uint32Array(tIds))};proto.drawTransparent=proto.draw=function(params){params=params||{};var gl=this.gl;var model=params.model||IDENTITY;var view=params.view||IDENTITY;var projection=params.projection||IDENTITY;var clipBounds=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]];for(var i=0;i<3;++i){clipBounds[0][i]=Math.max(clipBounds[0][i],this.clipBounds[0][i]);clipBounds[1][i]=Math.min(clipBounds[1][i],this.clipBounds[1][i])}var uniforms={model:model,view:view,projection:projection,inverseModel:IDENTITY.slice(),clipBounds:clipBounds,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};uniforms.inverseModel=invert(uniforms.inverseModel,uniforms.model);gl.disable(gl.CULL_FACE);this.texture.bind(0);var invCameraMatrix=new Array(16);multiply(invCameraMatrix,uniforms.view,uniforms.model);multiply(invCameraMatrix,uniforms.projection,invCameraMatrix);invert(invCameraMatrix,invCameraMatrix);for(var i=0;i<3;++i){uniforms.eyePosition[i]=invCameraMatrix[12+i]/invCameraMatrix[15]}var w=invCameraMatrix[15];for(var i=0;i<3;++i){w+=this.lightPosition[i]*invCameraMatrix[4*i+3]}for(var i=0;i<3;++i){var s=invCameraMatrix[12+i];for(var j=0;j<3;++j){s+=invCameraMatrix[4*j+i]*this.lightPosition[j]}uniforms.lightPosition[i]=s/w}if(this.triangleCount>0){var shader=this.triShader;shader.bind();shader.uniforms=uniforms;this.triangleVAO.bind();gl.drawArrays(gl.TRIANGLES,0,this.triangleCount*3);this.triangleVAO.unbind()}};proto.drawPick=function(params){params=params||{};var gl=this.gl;var model=params.model||IDENTITY;var view=params.view||IDENTITY;var projection=params.projection||IDENTITY;var clipBounds=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]];for(var i=0;i<3;++i){clipBounds[0][i]=Math.max(clipBounds[0][i],this.clipBounds[0][i]);clipBounds[1][i]=Math.min(clipBounds[1][i],this.clipBounds[1][i])}this._model=[].slice.call(model);this._view=[].slice.call(view);this._projection=[].slice.call(projection);this._resolution=[gl.drawingBufferWidth,gl.drawingBufferHeight];var uniforms={model:model,view:view,projection:projection,clipBounds:clipBounds,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255};var shader=this.pickShader;shader.bind();shader.uniforms=uniforms;if(this.triangleCount>0){this.triangleVAO.bind();gl.drawArrays(gl.TRIANGLES,0,this.triangleCount*3);this.triangleVAO.unbind()}};proto.pick=function(pickData){if(!pickData){return null}if(pickData.id!==this.pickId){return null}var cellId=pickData.value[0]+256*pickData.value[1]+65536*pickData.value[2];var cell=this.cells[cellId];var pos=this.positions[cell[1]].slice(0,3);var result={position:pos,dataCoordinate:pos,index:Math.floor(cell[1]/48)};if(this.traceType==="cone"){result.index=Math.floor(cell[1]/48)}else if(this.traceType==="streamtube"){result.intensity=this.intensity[cell[1]];result.velocity=this.vectors[cell[1]].slice(0,3);result.divergence=this.vectors[cell[1]][3];result.index=cellId}return result};proto.dispose=function(){this.texture.dispose();this.triShader.dispose();this.pickShader.dispose();this.triangleVAO.dispose();this.trianglePositions.dispose();this.triangleVectors.dispose();this.triangleColors.dispose();this.triangleUVs.dispose();this.triangleIds.dispose()};function createMeshShader(gl,shaders){var shader=createShader(gl,shaders.meshShader.vertex,shaders.meshShader.fragment,null,shaders.meshShader.attributes);shader.attributes.position.location=0;shader.attributes.color.location=2;shader.attributes.uv.location=3;shader.attributes.vector.location=4;return shader}function createPickShader(gl,shaders){var shader=createShader(gl,shaders.pickShader.vertex,shaders.pickShader.fragment,null,shaders.pickShader.attributes);shader.attributes.position.location=0;shader.attributes.id.location=1;shader.attributes.vector.location=4;return shader}function createVectorMesh(gl,params,opts){var shaders=opts.shaders;if(arguments.length===1){params=gl;gl=params.gl}var triShader=createMeshShader(gl,shaders);var pickShader=createPickShader(gl,shaders);var meshTexture=createTexture(gl,ndarray(new Uint8Array([255,255,255,255]),[1,1,4]));meshTexture.generateMipmap();meshTexture.minFilter=gl.LINEAR_MIPMAP_LINEAR;meshTexture.magFilter=gl.LINEAR;var trianglePositions=createBuffer(gl);var triangleVectors=createBuffer(gl);var triangleColors=createBuffer(gl);var triangleUVs=createBuffer(gl);var triangleIds=createBuffer(gl);var triangleVAO=createVAO(gl,[{buffer:trianglePositions,type:gl.FLOAT,size:4},{buffer:triangleIds,type:gl.UNSIGNED_BYTE,size:4,normalized:true},{buffer:triangleColors,type:gl.FLOAT,size:4},{buffer:triangleUVs,type:gl.FLOAT,size:2},{buffer:triangleVectors,type:gl.FLOAT,size:4}]);var mesh=new VectorMesh(gl,meshTexture,triShader,pickShader,trianglePositions,triangleVectors,triangleIds,triangleColors,triangleUVs,triangleVAO,opts.traceType||"cone");mesh.update(params);return mesh}module.exports=createVectorMesh},{colormap:137,"gl-buffer":267,"gl-mat4/invert":299,"gl-mat4/multiply":301,"gl-shader":339,"gl-texture2d":356,"gl-vao":361,ndarray:483}],270:[function(_dereq_,module,exports){var glslify=_dereq_("glslify");var triVertSrc=glslify(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n//   segment + 0 top vertex\n//   segment + 1 perimeter vertex a+1\n//   segment + 2 perimeter vertex a\n//   segment + 3 center base vertex\n//   segment + 4 perimeter vertex a\n//   segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n  const float segmentCount = 8.0;\n\n  float index = rawIndex - floor(rawIndex /\n    (segmentCount * 6.0)) *\n    (segmentCount * 6.0);\n\n  float segment = floor(0.001 + index/6.0);\n  float segmentIndex = index - (segment*6.0);\n\n  normal = -normalize(d);\n\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n    return mix(vec3(0.0), -d, coneOffset);\n  }\n\n  float nextAngle = (\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\n  ) ? 1.0 : 0.0;\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\n  vec3 v2 = v1 - d;\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d)*0.25;\n  vec3 y = v * sin(angle) * length(d)*0.25;\n  vec3 v3 = v2 + x + y;\n  if (segmentIndex < 3.0) {\n    vec3 tx = u * sin(angle);\n    vec3 ty = v * -cos(angle);\n    vec3 tangent = tx + ty;\n    normal = normalize(cross(v3 - v1, tangent));\n  }\n\n  if (segmentIndex == 0.0) {\n    return mix(d, vec3(0.0), coneOffset);\n  }\n  return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  // Scale the vector magnitude to stay constant with\n  // model & view changes.\n  vec3 normal;\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * conePosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  // vec4 m_position  = model * vec4(conePosition, 1.0);\n  vec4 t_position  = view * conePosition;\n  gl_Position      = projection * t_position;\n\n  f_color          = color;\n  f_data           = conePosition.xyz;\n  f_position       = position.xyz;\n  f_uv             = uv;\n}\n"]);var triFragSrc=glslify(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * opacity;\n}\n"]);var pickVertSrc=glslify(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n//   segment + 0 top vertex\n//   segment + 1 perimeter vertex a+1\n//   segment + 2 perimeter vertex a\n//   segment + 3 center base vertex\n//   segment + 4 perimeter vertex a\n//   segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n  const float segmentCount = 8.0;\n\n  float index = rawIndex - floor(rawIndex /\n    (segmentCount * 6.0)) *\n    (segmentCount * 6.0);\n\n  float segment = floor(0.001 + index/6.0);\n  float segmentIndex = index - (segment*6.0);\n\n  normal = -normalize(d);\n\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n    return mix(vec3(0.0), -d, coneOffset);\n  }\n\n  float nextAngle = (\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\n  ) ? 1.0 : 0.0;\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\n  vec3 v2 = v1 - d;\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d)*0.25;\n  vec3 y = v * sin(angle) * length(d)*0.25;\n  vec3 v3 = v2 + x + y;\n  if (segmentIndex < 3.0) {\n    vec3 tx = u * sin(angle);\n    vec3 ty = v * -cos(angle);\n    vec3 tangent = tx + ty;\n    normal = normalize(cross(v3 - v1, tangent));\n  }\n\n  if (segmentIndex == 0.0) {\n    return mix(d, vec3(0.0), coneOffset);\n  }\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  vec3 normal;\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n  gl_Position = projection * view * conePosition;\n  f_id        = id;\n  f_position  = position.xyz;\n}\n"]);var pickFragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);exports.meshShader={vertex:triVertSrc,fragment:triFragSrc,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]};exports.pickShader={vertex:pickVertSrc,fragment:pickFragSrc,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:442}],271:[function(_dereq_,module,exports){module.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],272:[function(_dereq_,module,exports){var gl10=_dereq_("./1.0/numbers");module.exports=function lookupConstant(number){return gl10[number]}},{"./1.0/numbers":271}],273:[function(_dereq_,module,exports){"use strict";module.exports=createErrorBars;var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var createShader=_dereq_("./shaders/index");var IDENTITY=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function ErrorBars(gl,buffer,vao,shader){this.gl=gl;this.shader=shader;this.buffer=buffer;this.vao=vao;this.pixelRatio=1;this.bounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];this.clipBounds=[[-Infinity,-Infinity,-Infinity],[Infinity,Infinity,Infinity]];this.lineWidth=[1,1,1];this.capSize=[10,10,10];this.lineCount=[0,0,0];this.lineOffset=[0,0,0];this.opacity=1;this.hasAlpha=false}var proto=ErrorBars.prototype;proto.isOpaque=function(){return!this.hasAlpha};proto.isTransparent=function(){return this.hasAlpha};proto.drawTransparent=proto.draw=function(cameraParams){var gl=this.gl;var uniforms=this.shader.uniforms;this.shader.bind();var view=uniforms.view=cameraParams.view||IDENTITY;var projection=uniforms.projection=cameraParams.projection||IDENTITY;uniforms.model=cameraParams.model||IDENTITY;uniforms.clipBounds=this.clipBounds;uniforms.opacity=this.opacity;var cx=view[12];var cy=view[13];var cz=view[14];var cw=view[15];var isOrtho=cameraParams._ortho||false;var orthoFix=isOrtho?2:1;var pixelScaleF=orthoFix*this.pixelRatio*(projection[3]*cx+projection[7]*cy+projection[11]*cz+projection[15]*cw)/gl.drawingBufferHeight;this.vao.bind();for(var i=0;i<3;++i){gl.lineWidth(this.lineWidth[i]*this.pixelRatio);uniforms.capSize=this.capSize[i]*pixelScaleF;if(this.lineCount[i]){gl.drawArrays(gl.LINES,this.lineOffset[i],this.lineCount[i])}}this.vao.unbind()};function updateBounds(bounds,point){for(var i=0;i<3;++i){bounds[0][i]=Math.min(bounds[0][i],point[i]);bounds[1][i]=Math.max(bounds[1][i],point[i])}}var FACE_TABLE=function(){var table=new Array(3);for(var d=0;d<3;++d){var row=[];for(var j=1;j<=2;++j){for(var s=-1;s<=1;s+=2){var u=(j+d)%3;var y=[0,0,0];y[u]=s;row.push(y)}}table[d]=row}return table}();function emitFace(verts,x,c,d){var offsets=FACE_TABLE[d];for(var i=0;i<offsets.length;++i){var o=offsets[i];verts.push(x[0],x[1],x[2],c[0],c[1],c[2],c[3],o[0],o[1],o[2])}return offsets.length}proto.update=function(options){options=options||{};if("lineWidth"in options){this.lineWidth=options.lineWidth;if(!Array.isArray(this.lineWidth)){this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth]}}if("capSize"in options){this.capSize=options.capSize;if(!Array.isArray(this.capSize)){this.capSize=[this.capSize,this.capSize,this.capSize]}}this.hasAlpha=false;if("opacity"in options){this.opacity=+options.opacity;if(this.opacity<1){this.hasAlpha=true}}var color=options.color||[[0,0,0],[0,0,0],[0,0,0]];var position=options.position;var error=options.error;if(!Array.isArray(color[0])){color=[color,color,color]}if(position&&error){var verts=[];var n=position.length;var vertexCount=0;this.bounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];this.lineCount=[0,0,0];for(var j=0;j<3;++j){this.lineOffset[j]=vertexCount;i_loop:for(var i=0;i<n;++i){var p=position[i];for(var k=0;k<3;++k){if(isNaN(p[k])||!isFinite(p[k])){continue i_loop}}var e=error[i];var c=color[j];if(Array.isArray(c[0])){c=color[i]}if(c.length===3){c=[c[0],c[1],c[2],1]}else if(c.length===4){c=[c[0],c[1],c[2],c[3]];if(!this.hasAlpha&&c[3]<1)this.hasAlpha=true}if(isNaN(e[0][j])||isNaN(e[1][j])){continue}if(e[0][j]<0){var x=p.slice();x[j]+=e[0][j];verts.push(p[0],p[1],p[2],c[0],c[1],c[2],c[3],0,0,0,x[0],x[1],x[2],c[0],c[1],c[2],c[3],0,0,0);updateBounds(this.bounds,x);vertexCount+=2+emitFace(verts,x,c,j)}if(e[1][j]>0){var x=p.slice();x[j]+=e[1][j];verts.push(p[0],p[1],p[2],c[0],c[1],c[2],c[3],0,0,0,x[0],x[1],x[2],c[0],c[1],c[2],c[3],0,0,0);updateBounds(this.bounds,x);vertexCount+=2+emitFace(verts,x,c,j)}}this.lineCount[j]=vertexCount-this.lineOffset[j]}this.buffer.update(verts)}};proto.dispose=function(){this.shader.dispose();this.buffer.dispose();this.vao.dispose()};function createErrorBars(options){var gl=options.gl;var buffer=createBuffer(gl);var vao=createVAO(gl,[{buffer:buffer,type:gl.FLOAT,size:3,offset:0,stride:40},{buffer:buffer,type:gl.FLOAT,size:4,offset:12,stride:40},{buffer:buffer,type:gl.FLOAT,size:3,offset:28,stride:40}]);var shader=createShader(gl);shader.attributes.position.location=0;shader.attributes.color.location=1;shader.attributes.offset.location=2;var result=new ErrorBars(gl,buffer,vao,shader);result.update(options);return result}},{"./shaders/index":275,"gl-buffer":267,"gl-vao":361}],274:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],275:[function(_dereq_,module,exports){"use strict";var glslify=_dereq_("glslify");var createShader=_dereq_("gl-shader");var vertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n  vec4 worldPosition  = model * vec4(position, 1.0);\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n  gl_Position         = projection * view * worldPosition;\n  fragColor           = color;\n  fragPosition        = position;\n}"]);var fragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n  if (\n    outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n    fragColor.a * opacity == 0.\n  ) discard;\n\n  gl_FragColor = opacity * fragColor;\n}"]);module.exports=function(gl){return createShader(gl,vertSrc,fragSrc,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":339,glslify:274}],276:[function(_dereq_,module,exports){"use strict";var createTexture=_dereq_("gl-texture2d");module.exports=createFBO;var colorAttachmentArrays=null;var FRAMEBUFFER_UNSUPPORTED;var FRAMEBUFFER_INCOMPLETE_ATTACHMENT;var FRAMEBUFFER_INCOMPLETE_DIMENSIONS;var FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;function saveFBOState(gl){var fbo=gl.getParameter(gl.FRAMEBUFFER_BINDING);var rbo=gl.getParameter(gl.RENDERBUFFER_BINDING);var tex=gl.getParameter(gl.TEXTURE_BINDING_2D);return[fbo,rbo,tex]}function restoreFBOState(gl,data){gl.bindFramebuffer(gl.FRAMEBUFFER,data[0]);gl.bindRenderbuffer(gl.RENDERBUFFER,data[1]);gl.bindTexture(gl.TEXTURE_2D,data[2])}function lazyInitColorAttachments(gl,ext){var maxColorAttachments=gl.getParameter(ext.MAX_COLOR_ATTACHMENTS_WEBGL);colorAttachmentArrays=new Array(maxColorAttachments+1);for(var i=0;i<=maxColorAttachments;++i){var x=new Array(maxColorAttachments);for(var j=0;j<i;++j){x[j]=gl.COLOR_ATTACHMENT0+j}for(var j=i;j<maxColorAttachments;++j){x[j]=gl.NONE}colorAttachmentArrays[i]=x}}function throwFBOError(status){switch(status){case FRAMEBUFFER_UNSUPPORTED:throw new Error("gl-fbo: Framebuffer unsupported");case FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw new Error("gl-fbo: Framebuffer incomplete attachment");case FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function initTexture(gl,width,height,type,format,attachment){if(!type){return null}var result=createTexture(gl,width,height,format,type);result.magFilter=gl.NEAREST;result.minFilter=gl.NEAREST;result.mipSamples=1;result.bind();gl.framebufferTexture2D(gl.FRAMEBUFFER,attachment,gl.TEXTURE_2D,result.handle,0);return result}function initRenderBuffer(gl,width,height,component,attachment){var result=gl.createRenderbuffer();gl.bindRenderbuffer(gl.RENDERBUFFER,result);gl.renderbufferStorage(gl.RENDERBUFFER,component,width,height);gl.framebufferRenderbuffer(gl.FRAMEBUFFER,attachment,gl.RENDERBUFFER,result);return result}function rebuildFBO(fbo){var state=saveFBOState(fbo.gl);var gl=fbo.gl;var handle=fbo.handle=gl.createFramebuffer();var width=fbo._shape[0];var height=fbo._shape[1];var numColors=fbo.color.length;var ext=fbo._ext;var useStencil=fbo._useStencil;var useDepth=fbo._useDepth;var colorType=fbo._colorType;gl.bindFramebuffer(gl.FRAMEBUFFER,handle);for(var i=0;i<numColors;++i){fbo.color[i]=initTexture(gl,width,height,colorType,gl.RGBA,gl.COLOR_ATTACHMENT0+i)}if(numColors===0){fbo._color_rb=initRenderBuffer(gl,width,height,gl.RGBA4,gl.COLOR_ATTACHMENT0);if(ext){ext.drawBuffersWEBGL(colorAttachmentArrays[0])}}else if(numColors>1){ext.drawBuffersWEBGL(colorAttachmentArrays[numColors])}var WEBGL_depth_texture=gl.getExtension("WEBGL_depth_texture");if(WEBGL_depth_texture){if(useStencil){fbo.depth=initTexture(gl,width,height,WEBGL_depth_texture.UNSIGNED_INT_24_8_WEBGL,gl.DEPTH_STENCIL,gl.DEPTH_STENCIL_ATTACHMENT)}else if(useDepth){fbo.depth=initTexture(gl,width,height,gl.UNSIGNED_SHORT,gl.DEPTH_COMPONENT,gl.DEPTH_ATTACHMENT)}}else{if(useDepth&&useStencil){fbo._depth_rb=initRenderBuffer(gl,width,height,gl.DEPTH_STENCIL,gl.DEPTH_STENCIL_ATTACHMENT)}else if(useDepth){fbo._depth_rb=initRenderBuffer(gl,width,height,gl.DEPTH_COMPONENT16,gl.DEPTH_ATTACHMENT)}else if(useStencil){fbo._depth_rb=initRenderBuffer(gl,width,height,gl.STENCIL_INDEX,gl.STENCIL_ATTACHMENT)}}var status=gl.checkFramebufferStatus(gl.FRAMEBUFFER);if(status!==gl.FRAMEBUFFER_COMPLETE){fbo._destroyed=true;gl.bindFramebuffer(gl.FRAMEBUFFER,null);gl.deleteFramebuffer(fbo.handle);fbo.handle=null;if(fbo.depth){fbo.depth.dispose();fbo.depth=null}if(fbo._depth_rb){gl.deleteRenderbuffer(fbo._depth_rb);fbo._depth_rb=null}for(var i=0;i<fbo.color.length;++i){fbo.color[i].dispose();fbo.color[i]=null}if(fbo._color_rb){gl.deleteRenderbuffer(fbo._color_rb);fbo._color_rb=null}restoreFBOState(gl,state);throwFBOError(status)}restoreFBOState(gl,state)}function Framebuffer(gl,width,height,colorType,numColors,useDepth,useStencil,ext){this.gl=gl;this._shape=[width|0,height|0];this._destroyed=false;this._ext=ext;this.color=new Array(numColors);for(var i=0;i<numColors;++i){this.color[i]=null}this._color_rb=null;this.depth=null;this._depth_rb=null;this._colorType=colorType;this._useDepth=useDepth;this._useStencil=useStencil;var parent=this;var shapeVector=[width|0,height|0];Object.defineProperties(shapeVector,{0:{get:function(){return parent._shape[0]},set:function(w){return parent.width=w}},1:{get:function(){return parent._shape[1]},set:function(h){return parent.height=h}}});this._shapeVector=shapeVector;rebuildFBO(this)}var proto=Framebuffer.prototype;function reshapeFBO(fbo,w,h){if(fbo._destroyed){throw new Error("gl-fbo: Can't resize destroyed FBO")}if(fbo._shape[0]===w&&fbo._shape[1]===h){return}var gl=fbo.gl;var maxFBOSize=gl.getParameter(gl.MAX_RENDERBUFFER_SIZE);if(w<0||w>maxFBOSize||h<0||h>maxFBOSize){throw new Error("gl-fbo: Can't resize FBO, invalid dimensions")}fbo._shape[0]=w;fbo._shape[1]=h;var state=saveFBOState(gl);for(var i=0;i<fbo.color.length;++i){fbo.color[i].shape=fbo._shape}if(fbo._color_rb){gl.bindRenderbuffer(gl.RENDERBUFFER,fbo._color_rb);gl.renderbufferStorage(gl.RENDERBUFFER,gl.RGBA4,fbo._shape[0],fbo._shape[1])}if(fbo.depth){fbo.depth.shape=fbo._shape}if(fbo._depth_rb){gl.bindRenderbuffer(gl.RENDERBUFFER,fbo._depth_rb);if(fbo._useDepth&&fbo._useStencil){gl.renderbufferStorage(gl.RENDERBUFFER,gl.DEPTH_STENCIL,fbo._shape[0],fbo._shape[1])}else if(fbo._useDepth){gl.renderbufferStorage(gl.RENDERBUFFER,gl.DEPTH_COMPONENT16,fbo._shape[0],fbo._shape[1])}else if(fbo._useStencil){gl.renderbufferStorage(gl.RENDERBUFFER,gl.STENCIL_INDEX,fbo._shape[0],fbo._shape[1])}}gl.bindFramebuffer(gl.FRAMEBUFFER,fbo.handle);var status=gl.checkFramebufferStatus(gl.FRAMEBUFFER);if(status!==gl.FRAMEBUFFER_COMPLETE){fbo.dispose();restoreFBOState(gl,state);throwFBOError(status)}restoreFBOState(gl,state)}Object.defineProperties(proto,{shape:{get:function(){if(this._destroyed){return[0,0]}return this._shapeVector},set:function(x){if(!Array.isArray(x)){x=[x|0,x|0]}if(x.length!==2){throw new Error("gl-fbo: Shape vector must be length 2")}var w=x[0]|0;var h=x[1]|0;reshapeFBO(this,w,h);return[w,h]},enumerable:false},width:{get:function(){if(this._destroyed){return 0}return this._shape[0]},set:function(w){w=w|0;reshapeFBO(this,w,this._shape[1]);return w},enumerable:false},height:{get:function(){if(this._destroyed){return 0}return this._shape[1]},set:function(h){h=h|0;reshapeFBO(this,this._shape[0],h);return h},enumerable:false}});proto.bind=function(){if(this._destroyed){return}var gl=this.gl;gl.bindFramebuffer(gl.FRAMEBUFFER,this.handle);gl.viewport(0,0,this._shape[0],this._shape[1])};proto.dispose=function(){if(this._destroyed){return}this._destroyed=true;var gl=this.gl;gl.deleteFramebuffer(this.handle);this.handle=null;if(this.depth){this.depth.dispose();this.depth=null}if(this._depth_rb){gl.deleteRenderbuffer(this._depth_rb);this._depth_rb=null}for(var i=0;i<this.color.length;++i){this.color[i].dispose();this.color[i]=null}if(this._color_rb){gl.deleteRenderbuffer(this._color_rb);this._color_rb=null}};function createFBO(gl,width,height,options){if(!FRAMEBUFFER_UNSUPPORTED){FRAMEBUFFER_UNSUPPORTED=gl.FRAMEBUFFER_UNSUPPORTED;FRAMEBUFFER_INCOMPLETE_ATTACHMENT=gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;FRAMEBUFFER_INCOMPLETE_DIMENSIONS=gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT}var WEBGL_draw_buffers=gl.getExtension("WEBGL_draw_buffers");if(!colorAttachmentArrays&&WEBGL_draw_buffers){lazyInitColorAttachments(gl,WEBGL_draw_buffers)}if(Array.isArray(width)){options=height;height=width[1]|0;width=width[0]|0}if(typeof width!=="number"){throw new Error("gl-fbo: Missing shape parameter")}var maxFBOSize=gl.getParameter(gl.MAX_RENDERBUFFER_SIZE);if(width<0||width>maxFBOSize||height<0||height>maxFBOSize){throw new Error("gl-fbo: Parameters are too large for FBO")}options=options||{};var numColors=1;if("color"in options){numColors=Math.max(options.color|0,0);if(numColors<0){throw new Error("gl-fbo: Must specify a nonnegative number of colors")}if(numColors>1){if(!WEBGL_draw_buffers){throw new Error("gl-fbo: Multiple draw buffer extension not supported")}else if(numColors>gl.getParameter(WEBGL_draw_buffers.MAX_COLOR_ATTACHMENTS_WEBGL)){throw new Error("gl-fbo: Context does not support "+numColors+" draw buffers")}}}var colorType=gl.UNSIGNED_BYTE;var OES_texture_float=gl.getExtension("OES_texture_float");if(options.float&&numColors>0){if(!OES_texture_float){throw new Error("gl-fbo: Context does not support floating point textures")}colorType=gl.FLOAT}else if(options.preferFloat&&numColors>0){if(OES_texture_float){colorType=gl.FLOAT}}var useDepth=true;if("depth"in options){useDepth=!!options.depth}var useStencil=false;if("stencil"in options){useStencil=!!options.stencil}return new Framebuffer(gl,width,height,colorType,numColors,useDepth,useStencil,WEBGL_draw_buffers)}},{"gl-texture2d":356}],277:[function(_dereq_,module,exports){var sprintf=_dereq_("sprintf-js").sprintf;var glConstants=_dereq_("gl-constants/lookup");var shaderName=_dereq_("glsl-shader-name");var addLineNumbers=_dereq_("add-line-numbers");module.exports=formatCompilerError;function formatCompilerError(errLog,src,type){"use strict";var name=shaderName(src)||"of unknown name (see npm glsl-shader-name)";var typeName="unknown type";if(type!==undefined){typeName=type===glConstants.FRAGMENT_SHADER?"fragment":"vertex"}var longForm=sprintf("Error compiling %s shader %s:\n",typeName,name);var shortForm=sprintf("%s%s",longForm,errLog);var errorStrings=errLog.split("\n");var errors={};for(var i=0;i<errorStrings.length;i++){var errorString=errorStrings[i];if(errorString===""||errorString==="\0")continue;var lineNo=parseInt(errorString.split(":")[2]);if(isNaN(lineNo)){throw new Error(sprintf("Could not parse error: %s",errorString))}errors[lineNo]=errorString}var lines=addLineNumbers(src).split("\n");for(var i=0;i<lines.length;i++){if(!errors[i+3]&&!errors[i+2]&&!errors[i+1])continue;var line=lines[i];longForm+=line+"\n";if(errors[i+1]){var e=errors[i+1];e=e.substr(e.split(":",3).join(":").length+1).trim();longForm+=sprintf("^^^ %s\n\n",e)}}return{long:longForm.trim(),short:shortForm.trim()}}},{"add-line-numbers":72,"gl-constants/lookup":272,"glsl-shader-name":434,"sprintf-js":568}],278:[function(_dereq_,module,exports){"use strict";module.exports=createHeatmap2D;var bsearch=_dereq_("binary-search-bounds");var iota=_dereq_("iota-array");var pool=_dereq_("typedarray-pool");var createShader=_dereq_("gl-shader");var createBuffer=_dereq_("gl-buffer");var shaders=_dereq_("./lib/shaders");function GLHeatmap2D(plot,shader,pickShader,positionBuffer,weightBuffer,colorBuffer,idBuffer){this.plot=plot;this.shader=shader;this.pickShader=pickShader;this.positionBuffer=positionBuffer;this.weightBuffer=weightBuffer;this.colorBuffer=colorBuffer;this.idBuffer=idBuffer;this.xData=[];this.yData=[];this.shape=[0,0];this.bounds=[Infinity,Infinity,-Infinity,-Infinity];this.pickOffset=0}var proto=GLHeatmap2D.prototype;var WEIGHTS=[0,0,1,0,0,1,1,0,1,1,0,1];proto.draw=function(){var MATRIX=[1,0,0,0,1,0,0,0,1];return function(){var plot=this.plot;var shader=this.shader;var bounds=this.bounds;var numVertices=this.numVertices;if(numVertices<=0){return}var gl=plot.gl;var dataBox=plot.dataBox;var boundX=bounds[2]-bounds[0];var boundY=bounds[3]-bounds[1];var dataX=dataBox[2]-dataBox[0];var dataY=dataBox[3]-dataBox[1];MATRIX[0]=2*boundX/dataX;MATRIX[4]=2*boundY/dataY;MATRIX[6]=2*(bounds[0]-dataBox[0])/dataX-1;MATRIX[7]=2*(bounds[1]-dataBox[1])/dataY-1;shader.bind();var uniforms=shader.uniforms;uniforms.viewTransform=MATRIX;uniforms.shape=this.shape;var attributes=shader.attributes;this.positionBuffer.bind();attributes.position.pointer();this.weightBuffer.bind();attributes.weight.pointer(gl.UNSIGNED_BYTE,false);this.colorBuffer.bind();attributes.color.pointer(gl.UNSIGNED_BYTE,true);gl.drawArrays(gl.TRIANGLES,0,numVertices)}}();proto.drawPick=function(){var MATRIX=[1,0,0,0,1,0,0,0,1];var PICK_VECTOR=[0,0,0,0];return function(pickOffset){var plot=this.plot;var shader=this.pickShader;var bounds=this.bounds;var numVertices=this.numVertices;if(numVertices<=0){return}var gl=plot.gl;var dataBox=plot.dataBox;var boundX=bounds[2]-bounds[0];var boundY=bounds[3]-bounds[1];var dataX=dataBox[2]-dataBox[0];var dataY=dataBox[3]-dataBox[1];MATRIX[0]=2*boundX/dataX;MATRIX[4]=2*boundY/dataY;MATRIX[6]=2*(bounds[0]-dataBox[0])/dataX-1;MATRIX[7]=2*(bounds[1]-dataBox[1])/dataY-1;for(var i=0;i<4;++i){PICK_VECTOR[i]=pickOffset>>i*8&255}this.pickOffset=pickOffset;shader.bind();var uniforms=shader.uniforms;uniforms.viewTransform=MATRIX;uniforms.pickOffset=PICK_VECTOR;uniforms.shape=this.shape;var attributes=shader.attributes;this.positionBuffer.bind();attributes.position.pointer();this.weightBuffer.bind();attributes.weight.pointer(gl.UNSIGNED_BYTE,false);this.idBuffer.bind();attributes.pickId.pointer(gl.UNSIGNED_BYTE,false);gl.drawArrays(gl.TRIANGLES,0,numVertices);return pickOffset+this.shape[0]*this.shape[1]}}();proto.pick=function(x,y,value){var pickOffset=this.pickOffset;var pointCount=this.shape[0]*this.shape[1];if(value<pickOffset||value>=pickOffset+pointCount){return null}var pointId=value-pickOffset;var xData=this.xData;var yData=this.yData;return{object:this,pointId:pointId,dataCoord:[xData[pointId%this.shape[0]],yData[pointId/this.shape[0]|0]]}};proto.update=function(options){options=options||{};var shape=options.shape||[0,0];var x=options.x||iota(shape[0]);var y=options.y||iota(shape[1]);var z=options.z||new Float32Array(shape[0]*shape[1]);var isSmooth=options.zsmooth!==false;this.xData=x;this.yData=y;var colorLevels=options.colorLevels||[0];var colorValues=options.colorValues||[0,0,0,1];var colorCount=colorLevels.length;var bounds=this.bounds;var lox,loy,hix,hiy;if(isSmooth){lox=bounds[0]=x[0];loy=bounds[1]=y[0];hix=bounds[2]=x[x.length-1];hiy=bounds[3]=y[y.length-1]}else{lox=bounds[0]=x[0]+(x[1]-x[0])/2;loy=bounds[1]=y[0]+(y[1]-y[0])/2;hix=bounds[2]=x[x.length-1]+(x[x.length-1]-x[x.length-2])/2;hiy=bounds[3]=y[y.length-1]+(y[y.length-1]-y[y.length-2])/2}var xs=1/(hix-lox);var ys=1/(hiy-loy);var numX=shape[0];var numY=shape[1];this.shape=[numX,numY];var numVerts=(isSmooth?(numX-1)*(numY-1):numX*numY)*(WEIGHTS.length>>>1);this.numVertices=numVerts;var colors=pool.mallocUint8(numVerts*4);var positions=pool.mallocFloat32(numVerts*2);var weights=pool.mallocUint8(numVerts*2);var ids=pool.mallocUint32(numVerts);var ptr=0;var ni=isSmooth?numX-1:numX;var nj=isSmooth?numY-1:numY;for(var j=0;j<nj;++j){var yc0,yc1;if(isSmooth){yc0=ys*(y[j]-loy);yc1=ys*(y[j+1]-loy)}else{yc0=j<numY-1?ys*(y[j]-(y[j+1]-y[j])/2-loy):ys*(y[j]-(y[j]-y[j-1])/2-loy);yc1=j<numY-1?ys*(y[j]+(y[j+1]-y[j])/2-loy):ys*(y[j]+(y[j]-y[j-1])/2-loy)}for(var i=0;i<ni;++i){var xc0,xc1;if(isSmooth){xc0=xs*(x[i]-lox);xc1=xs*(x[i+1]-lox)}else{xc0=i<numX-1?xs*(x[i]-(x[i+1]-x[i])/2-lox):xs*(x[i]-(x[i]-x[i-1])/2-lox);xc1=i<numX-1?xs*(x[i]+(x[i+1]-x[i])/2-lox):xs*(x[i]+(x[i]-x[i-1])/2-lox)}for(var dd=0;dd<WEIGHTS.length;dd+=2){var dx=WEIGHTS[dd];var dy=WEIGHTS[dd+1];var offset=isSmooth?(j+dy)*numX+(i+dx):j*numX+i;var zc=z[offset];var colorIdx=bsearch.le(colorLevels,zc);var r,g,b,a;if(colorIdx<0){r=colorValues[0];g=colorValues[1];b=colorValues[2];a=colorValues[3]}else if(colorIdx===colorCount-1){r=colorValues[4*colorCount-4];g=colorValues[4*colorCount-3];b=colorValues[4*colorCount-2];a=colorValues[4*colorCount-1]}else{var t=(zc-colorLevels[colorIdx])/(colorLevels[colorIdx+1]-colorLevels[colorIdx]);var ti=1-t;var i0=4*colorIdx;var i1=4*(colorIdx+1);r=ti*colorValues[i0]+t*colorValues[i1];g=ti*colorValues[i0+1]+t*colorValues[i1+1];b=ti*colorValues[i0+2]+t*colorValues[i1+2];a=ti*colorValues[i0+3]+t*colorValues[i1+3]}colors[4*ptr]=255*r;colors[4*ptr+1]=255*g;colors[4*ptr+2]=255*b;colors[4*ptr+3]=255*a;positions[2*ptr]=xc0*.5+xc1*.5;positions[2*ptr+1]=yc0*.5+yc1*.5;weights[2*ptr]=dx;weights[2*ptr+1]=dy;ids[ptr]=j*numX+i;ptr+=1}}}this.positionBuffer.update(positions);this.weightBuffer.update(weights);this.colorBuffer.update(colors);this.idBuffer.update(ids);pool.free(positions);pool.free(colors);pool.free(weights);pool.free(ids)};proto.dispose=function(){this.shader.dispose();this.pickShader.dispose();this.positionBuffer.dispose();this.weightBuffer.dispose();this.colorBuffer.dispose();this.idBuffer.dispose();this.plot.removeObject(this)};function createHeatmap2D(plot,options){var gl=plot.gl;var shader=createShader(gl,shaders.vertex,shaders.fragment);var pickShader=createShader(gl,shaders.pickVertex,shaders.pickFragment);var positionBuffer=createBuffer(gl);var weightBuffer=createBuffer(gl);var colorBuffer=createBuffer(gl);var idBuffer=createBuffer(gl);var heatmap=new GLHeatmap2D(plot,shader,pickShader,positionBuffer,weightBuffer,colorBuffer,idBuffer);heatmap.update(options);plot.addObject(heatmap);return heatmap}},{"./lib/shaders":279,"binary-search-bounds":103,"gl-buffer":267,"gl-shader":339,"iota-array":451,"typedarray-pool":617}],279:[function(_dereq_,module,exports){"use strict";var glslify=_dereq_("glslify");module.exports={fragment:glslify(["precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n"]),vertex:glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n  fragColor = color;\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"]),pickFragment:glslify(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n  vec2 d = step(.5, vWeight);\n  vec4 id = fragId + pickOffset;\n  id.x += d.x + d.y*shape.x;\n\n  id.y += floor(id.x / 256.0);\n  id.x -= floor(id.x / 256.0) * 256.0;\n\n  id.z += floor(id.y / 256.0);\n  id.y -= floor(id.y / 256.0) * 256.0;\n\n  id.w += floor(id.z / 256.0);\n  id.z -= floor(id.z / 256.0) * 256.0;\n\n  gl_FragColor = id/255.;\n}\n"]),pickVertex:glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n  vWeight = weight;\n\n  fragId = pickId;\n\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"])}},{glslify:442}],280:[function(_dereq_,module,exports){var glslify=_dereq_("glslify");var createShader=_dereq_("gl-shader");var vertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvec4 project(vec3 p) {\n  return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n  vec4 startPoint = project(position);\n  vec4 endPoint   = project(nextPosition);\n\n  vec2 A = startPoint.xy / startPoint.w;\n  vec2 B =   endPoint.xy /   endPoint.w;\n\n  float clipAngle = atan(\n    (B.y - A.y) * screenShape.y,\n    (B.x - A.x) * screenShape.x\n  );\n\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n    sin(clipAngle),\n    -cos(clipAngle)\n  ) / screenShape;\n\n  gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n  worldPosition = position;\n  pixelArcLength = arcLength;\n  fragColor = color;\n}\n"]);var forwardFrag=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3      clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float     dashScale;\nuniform float     opacity;\n\nvarying vec3    worldPosition;\nvarying float   pixelArcLength;\nvarying vec4    fragColor;\n\nvoid main() {\n  if (\n    outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n    fragColor.a * opacity == 0.\n  ) discard;\n\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n  if(dashWeight < 0.5) {\n    discard;\n  }\n  gl_FragColor = fragColor * opacity;\n}\n"]);var pickFrag=glslify(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX  1.70141184e38\n#define FLOAT_MIN  1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n  float av = abs(v);\n\n  //Handle special cases\n  if(av < FLOAT_MIN) {\n    return vec4(0.0, 0.0, 0.0, 0.0);\n  } else if(v > FLOAT_MAX) {\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n  } else if(v < -FLOAT_MAX) {\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n  }\n\n  vec4 c = vec4(0,0,0,0);\n\n  //Compute exponent and mantissa\n  float e = floor(log2(av));\n  float m = av * pow(2.0, -e) - 1.0;\n\n  //Unpack mantissa\n  c[1] = floor(128.0 * m);\n  m -= c[1] / 128.0;\n  c[2] = floor(32768.0 * m);\n  m -= c[2] / 32768.0;\n  c[3] = floor(8388608.0 * m);\n\n  //Unpack exponent\n  float ebias = e + 127.0;\n  c[0] = floor(ebias / 2.0);\n  ebias -= c[0] * 2.0;\n  c[1] += floor(ebias) * 128.0;\n\n  //Unpack sign bit\n  c[0] += 128.0 * step(0.0, -v);\n\n  //Scale back to range\n  return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n  gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]);var ATTRIBUTES=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];exports.createShader=function(gl){return createShader(gl,vertSrc,forwardFrag,null,ATTRIBUTES)};exports.createPickShader=function(gl){return createShader(gl,vertSrc,pickFrag,null,ATTRIBUTES)}},{"gl-shader":339,glslify:282}],281:[function(_dereq_,module,exports){"use strict";module.exports=createLinePlot;var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var createTexture=_dereq_("gl-texture2d");var UINT8_VIEW=new Uint8Array(4);var FLOAT_VIEW=new Float32Array(UINT8_VIEW.buffer);function unpackFloat(x,y,z,w){UINT8_VIEW[0]=w;UINT8_VIEW[1]=z;UINT8_VIEW[2]=y;UINT8_VIEW[3]=x;return FLOAT_VIEW[0]}var bsearch=_dereq_("binary-search-bounds");var ndarray=_dereq_("ndarray");var shaders=_dereq_("./lib/shaders");var createShader=shaders.createShader;var createPickShader=shaders.createPickShader;var identity=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function distance(a,b){var s=0;for(var i=0;i<3;++i){var d=a[i]-b[i];s+=d*d}return Math.sqrt(s)}function filterClipBounds(bounds){var result=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]];for(var i=0;i<3;++i){result[0][i]=Math.max(bounds[0][i],result[0][i]);result[1][i]=Math.min(bounds[1][i],result[1][i])}return result}function PickResult(tau,position,index,dataCoordinate){this.arcLength=tau;this.position=position;this.index=index;this.dataCoordinate=dataCoordinate}function LinePlot(gl,shader,pickShader,buffer,vao,texture){this.gl=gl;this.shader=shader;this.pickShader=pickShader;this.buffer=buffer;this.vao=vao;this.clipBounds=[[-Infinity,-Infinity,-Infinity],[Infinity,Infinity,Infinity]];this.points=[];this.arcLength=[];this.vertexCount=0;this.bounds=[[0,0,0],[0,0,0]];this.pickId=0;this.lineWidth=1;this.texture=texture;this.dashScale=1;this.opacity=1;this.hasAlpha=false;this.dirty=true;this.pixelRatio=1}var proto=LinePlot.prototype;proto.isTransparent=function(){return this.hasAlpha};proto.isOpaque=function(){return!this.hasAlpha};proto.pickSlots=1;proto.setPickBase=function(id){this.pickId=id};proto.drawTransparent=proto.draw=function(camera){if(!this.vertexCount)return;var gl=this.gl;var shader=this.shader;var vao=this.vao;shader.bind();shader.uniforms={model:camera.model||identity,view:camera.view||identity,projection:camera.projection||identity,clipBounds:filterClipBounds(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[gl.drawingBufferWidth,gl.drawingBufferHeight],pixelRatio:this.pixelRatio};vao.bind();vao.draw(gl.TRIANGLE_STRIP,this.vertexCount);vao.unbind()};proto.drawPick=function(camera){if(!this.vertexCount)return;var gl=this.gl;var shader=this.pickShader;var vao=this.vao;shader.bind();shader.uniforms={model:camera.model||identity,view:camera.view||identity,projection:camera.projection||identity,pickId:this.pickId,clipBounds:filterClipBounds(this.clipBounds),screenShape:[gl.drawingBufferWidth,gl.drawingBufferHeight],pixelRatio:this.pixelRatio};vao.bind();vao.draw(gl.TRIANGLE_STRIP,this.vertexCount);vao.unbind()};proto.update=function(options){var i,j;this.dirty=true;var connectGaps=!!options.connectGaps;if("dashScale"in options){this.dashScale=options.dashScale}this.hasAlpha=false;if("opacity"in options){this.opacity=+options.opacity;if(this.opacity<1){this.hasAlpha=true}}var buffer=[];var arcLengthArray=[];var pointArray=[];var arcLength=0;var vertexCount=0;var bounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];var positions=options.position||options.positions;if(positions){var colors=options.color||options.colors||[0,0,0,1];var lineWidth=options.lineWidth||1;var hadGap=false;fill_loop:for(i=1;i<positions.length;++i){var a=positions[i-1];var b=positions[i];arcLengthArray.push(arcLength);pointArray.push(a.slice());for(j=0;j<3;++j){if(isNaN(a[j])||isNaN(b[j])||!isFinite(a[j])||!isFinite(b[j])){if(!connectGaps&&buffer.length>0){for(var k=0;k<24;++k){buffer.push(buffer[buffer.length-12])}vertexCount+=2;hadGap=true}continue fill_loop}bounds[0][j]=Math.min(bounds[0][j],a[j],b[j]);bounds[1][j]=Math.max(bounds[1][j],a[j],b[j])}var acolor,bcolor;if(Array.isArray(colors[0])){acolor=colors.length>i-1?colors[i-1]:colors.length>0?colors[colors.length-1]:[0,0,0,1];bcolor=colors.length>i?colors[i]:colors.length>0?colors[colors.length-1]:[0,0,0,1]}else{acolor=bcolor=colors}if(acolor.length===3){acolor=[acolor[0],acolor[1],acolor[2],1]}if(bcolor.length===3){bcolor=[bcolor[0],bcolor[1],bcolor[2],1]}if(!this.hasAlpha&&acolor[3]<1)this.hasAlpha=true;var w0;if(Array.isArray(lineWidth)){w0=lineWidth.length>i-1?lineWidth[i-1]:lineWidth.length>0?lineWidth[lineWidth.length-1]:[0,0,0,1]}else{w0=lineWidth}var t0=arcLength;arcLength+=distance(a,b);if(hadGap){for(j=0;j<2;++j){buffer.push(a[0],a[1],a[2],b[0],b[1],b[2],t0,w0,acolor[0],acolor[1],acolor[2],acolor[3])}vertexCount+=2;hadGap=false}buffer.push(a[0],a[1],a[2],b[0],b[1],b[2],t0,w0,acolor[0],acolor[1],acolor[2],acolor[3],a[0],a[1],a[2],b[0],b[1],b[2],t0,-w0,acolor[0],acolor[1],acolor[2],acolor[3],b[0],b[1],b[2],a[0],a[1],a[2],arcLength,-w0,bcolor[0],bcolor[1],bcolor[2],bcolor[3],b[0],b[1],b[2],a[0],a[1],a[2],arcLength,w0,bcolor[0],bcolor[1],bcolor[2],bcolor[3]);vertexCount+=4}}this.buffer.update(buffer);arcLengthArray.push(arcLength);pointArray.push(positions[positions.length-1].slice());this.bounds=bounds;this.vertexCount=vertexCount;this.points=pointArray;this.arcLength=arcLengthArray;if("dashes"in options){var dashArray=options.dashes;var prefixSum=dashArray.slice();prefixSum.unshift(0);for(i=1;i<prefixSum.length;++i){prefixSum[i]=prefixSum[i-1]+prefixSum[i]}var dashTexture=ndarray(new Array(256*4),[256,1,4]);for(i=0;i<256;++i){for(j=0;j<4;++j){dashTexture.set(i,0,j,0)}if(bsearch.le(prefixSum,prefixSum[prefixSum.length-1]*i/255)&1){dashTexture.set(i,0,0,0)}else{dashTexture.set(i,0,0,255)}}this.texture.setPixels(dashTexture)}};proto.dispose=function(){this.shader.dispose();this.vao.dispose();this.buffer.dispose()};proto.pick=function(selection){if(!selection){return null}if(selection.id!==this.pickId){return null}var tau=unpackFloat(selection.value[0],selection.value[1],selection.value[2],0);var index=bsearch.le(this.arcLength,tau);if(index<0){return null}if(index===this.arcLength.length-1){return new PickResult(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),index)}var a=this.points[index];var b=this.points[Math.min(index+1,this.points.length-1)];var t=(tau-this.arcLength[index])/(this.arcLength[index+1]-this.arcLength[index]);var ti=1-t;var x=[0,0,0];for(var i=0;i<3;++i){x[i]=ti*a[i]+t*b[i]}var dataIndex=Math.min(t<.5?index:index+1,this.points.length-1);return new PickResult(tau,x,dataIndex,this.points[dataIndex])};function createLinePlot(options){var gl=options.gl||options.scene&&options.scene.gl;var shader=createShader(gl);shader.attributes.position.location=0;shader.attributes.nextPosition.location=1;shader.attributes.arcLength.location=2;shader.attributes.lineWidth.location=3;shader.attributes.color.location=4;var pickShader=createPickShader(gl);pickShader.attributes.position.location=0;pickShader.attributes.nextPosition.location=1;pickShader.attributes.arcLength.location=2;pickShader.attributes.lineWidth.location=3;pickShader.attributes.color.location=4;var buffer=createBuffer(gl);var vao=createVAO(gl,[{buffer:buffer,size:3,offset:0,stride:48},{buffer:buffer,size:3,offset:12,stride:48},{buffer:buffer,size:1,offset:24,stride:48},{buffer:buffer,size:1,offset:28,stride:48},{buffer:buffer,size:4,offset:32,stride:48}]);var defaultTexture=ndarray(new Array(256*4),[256,1,4]);for(var i=0;i<256*4;++i){defaultTexture.data[i]=255}var texture=createTexture(gl,defaultTexture);texture.wrap=gl.REPEAT;var linePlot=new LinePlot(gl,shader,pickShader,buffer,vao,texture);linePlot.update(options);return linePlot}},{"./lib/shaders":280,"binary-search-bounds":103,"gl-buffer":267,"gl-texture2d":356,"gl-vao":361,ndarray:483}],282:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],283:[function(_dereq_,module,exports){module.exports=adjoint;function adjoint(out,a){var a00=a[0],a01=a[1],a02=a[2],a03=a[3],a10=a[4],a11=a[5],a12=a[6],a13=a[7],a20=a[8],a21=a[9],a22=a[10],a23=a[11],a30=a[12],a31=a[13],a32=a[14],a33=a[15];out[0]=a11*(a22*a33-a23*a32)-a21*(a12*a33-a13*a32)+a31*(a12*a23-a13*a22);out[1]=-(a01*(a22*a33-a23*a32)-a21*(a02*a33-a03*a32)+a31*(a02*a23-a03*a22));out[2]=a01*(a12*a33-a13*a32)-a11*(a02*a33-a03*a32)+a31*(a02*a13-a03*a12);out[3]=-(a01*(a12*a23-a13*a22)-a11*(a02*a23-a03*a22)+a21*(a02*a13-a03*a12));out[4]=-(a10*(a22*a33-a23*a32)-a20*(a12*a33-a13*a32)+a30*(a12*a23-a13*a22));out[5]=a00*(a22*a33-a23*a32)-a20*(a02*a33-a03*a32)+a30*(a02*a23-a03*a22);out[6]=-(a00*(a12*a33-a13*a32)-a10*(a02*a33-a03*a32)+a30*(a02*a13-a03*a12));out[7]=a00*(a12*a23-a13*a22)-a10*(a02*a23-a03*a22)+a20*(a02*a13-a03*a12);out[8]=a10*(a21*a33-a23*a31)-a20*(a11*a33-a13*a31)+a30*(a11*a23-a13*a21);out[9]=-(a00*(a21*a33-a23*a31)-a20*(a01*a33-a03*a31)+a30*(a01*a23-a03*a21));out[10]=a00*(a11*a33-a13*a31)-a10*(a01*a33-a03*a31)+a30*(a01*a13-a03*a11);out[11]=-(a00*(a11*a23-a13*a21)-a10*(a01*a23-a03*a21)+a20*(a01*a13-a03*a11));out[12]=-(a10*(a21*a32-a22*a31)-a20*(a11*a32-a12*a31)+a30*(a11*a22-a12*a21));out[13]=a00*(a21*a32-a22*a31)-a20*(a01*a32-a02*a31)+a30*(a01*a22-a02*a21);out[14]=-(a00*(a11*a32-a12*a31)-a10*(a01*a32-a02*a31)+a30*(a01*a12-a02*a11));out[15]=a00*(a11*a22-a12*a21)-a10*(a01*a22-a02*a21)+a20*(a01*a12-a02*a11);return out}},{}],284:[function(_dereq_,module,exports){module.exports=clone;function clone(a){var out=new Float32Array(16);out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];out[4]=a[4];out[5]=a[5];out[6]=a[6];out[7]=a[7];out[8]=a[8];out[9]=a[9];out[10]=a[10];out[11]=a[11];out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15];return out}},{}],285:[function(_dereq_,module,exports){module.exports=copy;function copy(out,a){out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];out[4]=a[4];out[5]=a[5];out[6]=a[6];out[7]=a[7];out[8]=a[8];out[9]=a[9];out[10]=a[10];out[11]=a[11];out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15];return out}},{}],286:[function(_dereq_,module,exports){module.exports=create;function create(){var out=new Float32Array(16);out[0]=1;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=1;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=1;out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}},{}],287:[function(_dereq_,module,exports){module.exports=determinant;function determinant(a){var a00=a[0],a01=a[1],a02=a[2],a03=a[3],a10=a[4],a11=a[5],a12=a[6],a13=a[7],a20=a[8],a21=a[9],a22=a[10],a23=a[11],a30=a[12],a31=a[13],a32=a[14],a33=a[15],b00=a00*a11-a01*a10,b01=a00*a12-a02*a10,b02=a00*a13-a03*a10,b03=a01*a12-a02*a11,b04=a01*a13-a03*a11,b05=a02*a13-a03*a12,b06=a20*a31-a21*a30,b07=a20*a32-a22*a30,b08=a20*a33-a23*a30,b09=a21*a32-a22*a31,b10=a21*a33-a23*a31,b11=a22*a33-a23*a32;return b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06}},{}],288:[function(_dereq_,module,exports){module.exports=fromQuat;function fromQuat(out,q){var x=q[0],y=q[1],z=q[2],w=q[3],x2=x+x,y2=y+y,z2=z+z,xx=x*x2,yx=y*x2,yy=y*y2,zx=z*x2,zy=z*y2,zz=z*z2,wx=w*x2,wy=w*y2,wz=w*z2;out[0]=1-yy-zz;out[1]=yx+wz;out[2]=zx-wy;out[3]=0;out[4]=yx-wz;out[5]=1-xx-zz;out[6]=zy+wx;out[7]=0;out[8]=zx+wy;out[9]=zy-wx;out[10]=1-xx-yy;out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}},{}],289:[function(_dereq_,module,exports){module.exports=fromRotation;function fromRotation(out,rad,axis){var s,c,t;var x=axis[0];var y=axis[1];var z=axis[2];var len=Math.sqrt(x*x+y*y+z*z);if(Math.abs(len)<1e-6){return null}len=1/len;x*=len;y*=len;z*=len;s=Math.sin(rad);c=Math.cos(rad);t=1-c;out[0]=x*x*t+c;out[1]=y*x*t+z*s;out[2]=z*x*t-y*s;out[3]=0;out[4]=x*y*t-z*s;out[5]=y*y*t+c;out[6]=z*y*t+x*s;out[7]=0;out[8]=x*z*t+y*s;out[9]=y*z*t-x*s;out[10]=z*z*t+c;out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}},{}],290:[function(_dereq_,module,exports){module.exports=fromRotationTranslation;function fromRotationTranslation(out,q,v){var x=q[0],y=q[1],z=q[2],w=q[3],x2=x+x,y2=y+y,z2=z+z,xx=x*x2,xy=x*y2,xz=x*z2,yy=y*y2,yz=y*z2,zz=z*z2,wx=w*x2,wy=w*y2,wz=w*z2;out[0]=1-(yy+zz);out[1]=xy+wz;out[2]=xz-wy;out[3]=0;out[4]=xy-wz;out[5]=1-(xx+zz);out[6]=yz+wx;out[7]=0;out[8]=xz+wy;out[9]=yz-wx;out[10]=1-(xx+yy);out[11]=0;out[12]=v[0];out[13]=v[1];out[14]=v[2];out[15]=1;return out}},{}],291:[function(_dereq_,module,exports){module.exports=fromScaling;function fromScaling(out,v){out[0]=v[0];out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=v[1];out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=v[2];out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}},{}],292:[function(_dereq_,module,exports){module.exports=fromTranslation;function fromTranslation(out,v){out[0]=1;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=1;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=1;out[11]=0;out[12]=v[0];out[13]=v[1];out[14]=v[2];out[15]=1;return out}},{}],293:[function(_dereq_,module,exports){module.exports=fromXRotation;function fromXRotation(out,rad){var s=Math.sin(rad),c=Math.cos(rad);out[0]=1;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=c;out[6]=s;out[7]=0;out[8]=0;out[9]=-s;out[10]=c;out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}},{}],294:[function(_dereq_,module,exports){module.exports=fromYRotation;function fromYRotation(out,rad){var s=Math.sin(rad),c=Math.cos(rad);out[0]=c;out[1]=0;out[2]=-s;out[3]=0;out[4]=0;out[5]=1;out[6]=0;out[7]=0;out[8]=s;out[9]=0;out[10]=c;out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}},{}],295:[function(_dereq_,module,exports){module.exports=fromZRotation;function fromZRotation(out,rad){var s=Math.sin(rad),c=Math.cos(rad);out[0]=c;out[1]=s;out[2]=0;out[3]=0;out[4]=-s;out[5]=c;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=1;out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}},{}],296:[function(_dereq_,module,exports){module.exports=frustum;function frustum(out,left,right,bottom,top,near,far){var rl=1/(right-left),tb=1/(top-bottom),nf=1/(near-far);out[0]=near*2*rl;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=near*2*tb;out[6]=0;out[7]=0;out[8]=(right+left)*rl;out[9]=(top+bottom)*tb;out[10]=(far+near)*nf;out[11]=-1;out[12]=0;out[13]=0;out[14]=far*near*2*nf;out[15]=0;return out}},{}],297:[function(_dereq_,module,exports){module.exports=identity;function identity(out){out[0]=1;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=1;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=1;out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}},{}],298:[function(_dereq_,module,exports){module.exports={create:_dereq_("./create"),clone:_dereq_("./clone"),copy:_dereq_("./copy"),identity:_dereq_("./identity"),transpose:_dereq_("./transpose"),invert:_dereq_("./invert"),adjoint:_dereq_("./adjoint"),determinant:_dereq_("./determinant"),multiply:_dereq_("./multiply"),translate:_dereq_("./translate"),scale:_dereq_("./scale"),rotate:_dereq_("./rotate"),rotateX:_dereq_("./rotateX"),rotateY:_dereq_("./rotateY"),rotateZ:_dereq_("./rotateZ"),fromRotation:_dereq_("./fromRotation"),fromRotationTranslation:_dereq_("./fromRotationTranslation"),fromScaling:_dereq_("./fromScaling"),fromTranslation:_dereq_("./fromTranslation"),fromXRotation:_dereq_("./fromXRotation"),fromYRotation:_dereq_("./fromYRotation"),fromZRotation:_dereq_("./fromZRotation"),fromQuat:_dereq_("./fromQuat"),frustum:_dereq_("./frustum"),perspective:_dereq_("./perspective"),perspectiveFromFieldOfView:_dereq_("./perspectiveFromFieldOfView"),ortho:_dereq_("./ortho"),lookAt:_dereq_("./lookAt"),str:_dereq_("./str")}},{"./adjoint":283,"./clone":284,"./copy":285,"./create":286,"./determinant":287,"./fromQuat":288,"./fromRotation":289,"./fromRotationTranslation":290,"./fromScaling":291,"./fromTranslation":292,"./fromXRotation":293,"./fromYRotation":294,"./fromZRotation":295,"./frustum":296,"./identity":297,"./invert":299,"./lookAt":300,"./multiply":301,"./ortho":302,"./perspective":303,"./perspectiveFromFieldOfView":304,"./rotate":305,"./rotateX":306,"./rotateY":307,"./rotateZ":308,"./scale":309,"./str":310,"./translate":311,"./transpose":312}],299:[function(_dereq_,module,exports){module.exports=invert;function invert(out,a){var a00=a[0],a01=a[1],a02=a[2],a03=a[3],a10=a[4],a11=a[5],a12=a[6],a13=a[7],a20=a[8],a21=a[9],a22=a[10],a23=a[11],a30=a[12],a31=a[13],a32=a[14],a33=a[15],b00=a00*a11-a01*a10,b01=a00*a12-a02*a10,b02=a00*a13-a03*a10,b03=a01*a12-a02*a11,b04=a01*a13-a03*a11,b05=a02*a13-a03*a12,b06=a20*a31-a21*a30,b07=a20*a32-a22*a30,b08=a20*a33-a23*a30,b09=a21*a32-a22*a31,b10=a21*a33-a23*a31,b11=a22*a33-a23*a32,det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;if(!det){return null}det=1/det;out[0]=(a11*b11-a12*b10+a13*b09)*det;out[1]=(a02*b10-a01*b11-a03*b09)*det;out[2]=(a31*b05-a32*b04+a33*b03)*det;out[3]=(a22*b04-a21*b05-a23*b03)*det;out[4]=(a12*b08-a10*b11-a13*b07)*det;out[5]=(a00*b11-a02*b08+a03*b07)*det;out[6]=(a32*b02-a30*b05-a33*b01)*det;out[7]=(a20*b05-a22*b02+a23*b01)*det;out[8]=(a10*b10-a11*b08+a13*b06)*det;out[9]=(a01*b08-a00*b10-a03*b06)*det;out[10]=(a30*b04-a31*b02+a33*b00)*det;out[11]=(a21*b02-a20*b04-a23*b00)*det;out[12]=(a11*b07-a10*b09-a12*b06)*det;out[13]=(a00*b09-a01*b07+a02*b06)*det;out[14]=(a31*b01-a30*b03-a32*b00)*det;out[15]=(a20*b03-a21*b01+a22*b00)*det;return out}},{}],300:[function(_dereq_,module,exports){var identity=_dereq_("./identity");module.exports=lookAt;function lookAt(out,eye,center,up){var x0,x1,x2,y0,y1,y2,z0,z1,z2,len,eyex=eye[0],eyey=eye[1],eyez=eye[2],upx=up[0],upy=up[1],upz=up[2],centerx=center[0],centery=center[1],centerz=center[2];if(Math.abs(eyex-centerx)<1e-6&&Math.abs(eyey-centery)<1e-6&&Math.abs(eyez-centerz)<1e-6){return identity(out)}z0=eyex-centerx;z1=eyey-centery;z2=eyez-centerz;len=1/Math.sqrt(z0*z0+z1*z1+z2*z2);z0*=len;z1*=len;z2*=len;x0=upy*z2-upz*z1;x1=upz*z0-upx*z2;x2=upx*z1-upy*z0;len=Math.sqrt(x0*x0+x1*x1+x2*x2);if(!len){x0=0;x1=0;x2=0}else{len=1/len;x0*=len;x1*=len;x2*=len}y0=z1*x2-z2*x1;y1=z2*x0-z0*x2;y2=z0*x1-z1*x0;len=Math.sqrt(y0*y0+y1*y1+y2*y2);if(!len){y0=0;y1=0;y2=0}else{len=1/len;y0*=len;y1*=len;y2*=len}out[0]=x0;out[1]=y0;out[2]=z0;out[3]=0;out[4]=x1;out[5]=y1;out[6]=z1;out[7]=0;out[8]=x2;out[9]=y2;out[10]=z2;out[11]=0;out[12]=-(x0*eyex+x1*eyey+x2*eyez);out[13]=-(y0*eyex+y1*eyey+y2*eyez);out[14]=-(z0*eyex+z1*eyey+z2*eyez);out[15]=1;return out}},{"./identity":297}],301:[function(_dereq_,module,exports){module.exports=multiply;function multiply(out,a,b){var a00=a[0],a01=a[1],a02=a[2],a03=a[3],a10=a[4],a11=a[5],a12=a[6],a13=a[7],a20=a[8],a21=a[9],a22=a[10],a23=a[11],a30=a[12],a31=a[13],a32=a[14],a33=a[15];var b0=b[0],b1=b[1],b2=b[2],b3=b[3];out[0]=b0*a00+b1*a10+b2*a20+b3*a30;out[1]=b0*a01+b1*a11+b2*a21+b3*a31;out[2]=b0*a02+b1*a12+b2*a22+b3*a32;out[3]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[4];b1=b[5];b2=b[6];b3=b[7];out[4]=b0*a00+b1*a10+b2*a20+b3*a30;out[5]=b0*a01+b1*a11+b2*a21+b3*a31;out[6]=b0*a02+b1*a12+b2*a22+b3*a32;out[7]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[8];b1=b[9];b2=b[10];b3=b[11];out[8]=b0*a00+b1*a10+b2*a20+b3*a30;out[9]=b0*a01+b1*a11+b2*a21+b3*a31;out[10]=b0*a02+b1*a12+b2*a22+b3*a32;out[11]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[12];b1=b[13];b2=b[14];b3=b[15];out[12]=b0*a00+b1*a10+b2*a20+b3*a30;out[13]=b0*a01+b1*a11+b2*a21+b3*a31;out[14]=b0*a02+b1*a12+b2*a22+b3*a32;out[15]=b0*a03+b1*a13+b2*a23+b3*a33;return out}},{}],302:[function(_dereq_,module,exports){module.exports=ortho;function ortho(out,left,right,bottom,top,near,far){var lr=1/(left-right),bt=1/(bottom-top),nf=1/(near-far);out[0]=-2*lr;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=-2*bt;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=2*nf;out[11]=0;out[12]=(left+right)*lr;out[13]=(top+bottom)*bt;out[14]=(far+near)*nf;out[15]=1;return out}},{}],303:[function(_dereq_,module,exports){module.exports=perspective;function perspective(out,fovy,aspect,near,far){var f=1/Math.tan(fovy/2),nf=1/(near-far);out[0]=f/aspect;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=f;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=(far+near)*nf;out[11]=-1;out[12]=0;out[13]=0;out[14]=2*far*near*nf;out[15]=0;return out}},{}],304:[function(_dereq_,module,exports){module.exports=perspectiveFromFieldOfView;function perspectiveFromFieldOfView(out,fov,near,far){var upTan=Math.tan(fov.upDegrees*Math.PI/180),downTan=Math.tan(fov.downDegrees*Math.PI/180),leftTan=Math.tan(fov.leftDegrees*Math.PI/180),rightTan=Math.tan(fov.rightDegrees*Math.PI/180),xScale=2/(leftTan+rightTan),yScale=2/(upTan+downTan);out[0]=xScale;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=yScale;out[6]=0;out[7]=0;out[8]=-((leftTan-rightTan)*xScale*.5);out[9]=(upTan-downTan)*yScale*.5;out[10]=far/(near-far);out[11]=-1;out[12]=0;out[13]=0;out[14]=far*near/(near-far);out[15]=0;return out}},{}],305:[function(_dereq_,module,exports){module.exports=rotate;function rotate(out,a,rad,axis){var x=axis[0],y=axis[1],z=axis[2],len=Math.sqrt(x*x+y*y+z*z),s,c,t,a00,a01,a02,a03,a10,a11,a12,a13,a20,a21,a22,a23,b00,b01,b02,b10,b11,b12,b20,b21,b22;if(Math.abs(len)<1e-6){return null}len=1/len;x*=len;y*=len;z*=len;s=Math.sin(rad);c=Math.cos(rad);t=1-c;a00=a[0];a01=a[1];a02=a[2];a03=a[3];a10=a[4];a11=a[5];a12=a[6];a13=a[7];a20=a[8];a21=a[9];a22=a[10];a23=a[11];b00=x*x*t+c;b01=y*x*t+z*s;b02=z*x*t-y*s;b10=x*y*t-z*s;b11=y*y*t+c;b12=z*y*t+x*s;b20=x*z*t+y*s;b21=y*z*t-x*s;b22=z*z*t+c;out[0]=a00*b00+a10*b01+a20*b02;out[1]=a01*b00+a11*b01+a21*b02;out[2]=a02*b00+a12*b01+a22*b02;out[3]=a03*b00+a13*b01+a23*b02;out[4]=a00*b10+a10*b11+a20*b12;out[5]=a01*b10+a11*b11+a21*b12;out[6]=a02*b10+a12*b11+a22*b12;out[7]=a03*b10+a13*b11+a23*b12;out[8]=a00*b20+a10*b21+a20*b22;out[9]=a01*b20+a11*b21+a21*b22;out[10]=a02*b20+a12*b21+a22*b22;out[11]=a03*b20+a13*b21+a23*b22;if(a!==out){out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15]}return out}},{}],306:[function(_dereq_,module,exports){module.exports=rotateX;function rotateX(out,a,rad){var s=Math.sin(rad),c=Math.cos(rad),a10=a[4],a11=a[5],a12=a[6],a13=a[7],a20=a[8],a21=a[9],a22=a[10],a23=a[11];if(a!==out){out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15]}out[4]=a10*c+a20*s;out[5]=a11*c+a21*s;out[6]=a12*c+a22*s;out[7]=a13*c+a23*s;out[8]=a20*c-a10*s;out[9]=a21*c-a11*s;out[10]=a22*c-a12*s;out[11]=a23*c-a13*s;return out}},{}],307:[function(_dereq_,module,exports){module.exports=rotateY;function rotateY(out,a,rad){var s=Math.sin(rad),c=Math.cos(rad),a00=a[0],a01=a[1],a02=a[2],a03=a[3],a20=a[8],a21=a[9],a22=a[10],a23=a[11];if(a!==out){out[4]=a[4];out[5]=a[5];out[6]=a[6];out[7]=a[7];out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15]}out[0]=a00*c-a20*s;out[1]=a01*c-a21*s;out[2]=a02*c-a22*s;out[3]=a03*c-a23*s;out[8]=a00*s+a20*c;out[9]=a01*s+a21*c;out[10]=a02*s+a22*c;out[11]=a03*s+a23*c;return out}},{}],308:[function(_dereq_,module,exports){module.exports=rotateZ;function rotateZ(out,a,rad){var s=Math.sin(rad),c=Math.cos(rad),a00=a[0],a01=a[1],a02=a[2],a03=a[3],a10=a[4],a11=a[5],a12=a[6],a13=a[7];if(a!==out){out[8]=a[8];out[9]=a[9];out[10]=a[10];out[11]=a[11];out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15]}out[0]=a00*c+a10*s;out[1]=a01*c+a11*s;out[2]=a02*c+a12*s;out[3]=a03*c+a13*s;out[4]=a10*c-a00*s;out[5]=a11*c-a01*s;out[6]=a12*c-a02*s;out[7]=a13*c-a03*s;return out}},{}],309:[function(_dereq_,module,exports){module.exports=scale;function scale(out,a,v){var x=v[0],y=v[1],z=v[2];out[0]=a[0]*x;out[1]=a[1]*x;out[2]=a[2]*x;out[3]=a[3]*x;out[4]=a[4]*y;out[5]=a[5]*y;out[6]=a[6]*y;out[7]=a[7]*y;out[8]=a[8]*z;out[9]=a[9]*z;out[10]=a[10]*z;out[11]=a[11]*z;out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15];return out}},{}],310:[function(_dereq_,module,exports){module.exports=str;function str(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"}},{}],311:[function(_dereq_,module,exports){module.exports=translate;function translate(out,a,v){var x=v[0],y=v[1],z=v[2],a00,a01,a02,a03,a10,a11,a12,a13,a20,a21,a22,a23;if(a===out){out[12]=a[0]*x+a[4]*y+a[8]*z+a[12];out[13]=a[1]*x+a[5]*y+a[9]*z+a[13];out[14]=a[2]*x+a[6]*y+a[10]*z+a[14];out[15]=a[3]*x+a[7]*y+a[11]*z+a[15]}else{a00=a[0];a01=a[1];a02=a[2];a03=a[3];a10=a[4];a11=a[5];a12=a[6];a13=a[7];a20=a[8];a21=a[9];a22=a[10];a23=a[11];out[0]=a00;out[1]=a01;out[2]=a02;out[3]=a03;out[4]=a10;out[5]=a11;out[6]=a12;out[7]=a13;out[8]=a20;out[9]=a21;out[10]=a22;out[11]=a23;out[12]=a00*x+a10*y+a20*z+a[12];out[13]=a01*x+a11*y+a21*z+a[13];out[14]=a02*x+a12*y+a22*z+a[14];out[15]=a03*x+a13*y+a23*z+a[15]}return out}},{}],312:[function(_dereq_,module,exports){module.exports=transpose;function transpose(out,a){if(out===a){var a01=a[1],a02=a[2],a03=a[3],a12=a[6],a13=a[7],a23=a[11];out[1]=a[4];out[2]=a[8];out[3]=a[12];out[4]=a01;out[6]=a[9];out[7]=a[13];out[8]=a02;out[9]=a12;out[11]=a[14];out[12]=a03;out[13]=a13;out[14]=a23}else{out[0]=a[0];out[1]=a[4];out[2]=a[8];out[3]=a[12];out[4]=a[1];out[5]=a[5];out[6]=a[9];out[7]=a[13];out[8]=a[2];out[9]=a[6];out[10]=a[10];out[11]=a[14];out[12]=a[3];out[13]=a[7];out[14]=a[11];out[15]=a[15]}return out}},{}],313:[function(_dereq_,module,exports){"use strict";var barycentric=_dereq_("barycentric");var closestPointToTriangle=_dereq_("polytope-closest-point/lib/closest_point_2d.js");module.exports=closestPointToPickLocation;function xformMatrix(m,v){var out=[0,0,0,0];for(var i=0;i<4;++i){for(var j=0;j<4;++j){out[j]+=m[4*i+j]*v[i]}}return out}function projectVertex(v,model,view,projection,resolution){var p=xformMatrix(projection,xformMatrix(view,xformMatrix(model,[v[0],v[1],v[2],1])));for(var i=0;i<3;++i){p[i]/=p[3]}return[.5*resolution[0]*(1+p[0]),.5*resolution[1]*(1-p[1])]}function barycentricCoord(simplex,point){if(simplex.length===2){var d0=0;var d1=0;for(var i=0;i<2;++i){d0+=Math.pow(point[i]-simplex[0][i],2);d1+=Math.pow(point[i]-simplex[1][i],2)}d0=Math.sqrt(d0);d1=Math.sqrt(d1);if(d0+d1<1e-6){return[1,0]}return[d1/(d0+d1),d0/(d1+d0)]}else if(simplex.length===3){var closestPoint=[0,0];closestPointToTriangle(simplex[0],simplex[1],simplex[2],point,closestPoint);return barycentric(simplex,closestPoint)}return[]}function interpolate(simplex,weights){var result=[0,0,0];for(var i=0;i<simplex.length;++i){var p=simplex[i];var w=weights[i];for(var j=0;j<3;++j){result[j]+=w*p[j]}}return result}function closestPointToPickLocation(simplex,pixelCoord,model,view,projection,resolution){if(simplex.length===1){return[0,simplex[0].slice()]}var simplex2D=new Array(simplex.length);for(var i=0;i<simplex.length;++i){simplex2D[i]=projectVertex(simplex[i],model,view,projection,resolution)}var closestIndex=0;var closestDist=Infinity;for(var i=0;i<simplex2D.length;++i){var d2=0;for(var j=0;j<2;++j){d2+=Math.pow(simplex2D[i][j]-pixelCoord[j],2)}if(d2<closestDist){closestDist=d2;closestIndex=i}}var weights=barycentricCoord(simplex2D,pixelCoord);var s=0;for(var i=0;i<3;++i){if(weights[i]<-.001||weights[i]>1.0001){return null}s+=weights[i]}if(Math.abs(s-1)>.001){return null}return[closestIndex,interpolate(simplex,weights),weights]}},{barycentric:85,"polytope-closest-point/lib/closest_point_2d.js":512}],314:[function(_dereq_,module,exports){var glslify=_dereq_("glslify");var triVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n           , view\n           , projection\n           , inverseModel;\nuniform vec3 eyePosition\n           , lightPosition;\n\nvarying vec3 f_normal\n           , f_lightDirection\n           , f_eyeDirection\n           , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n  return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n  gl_Position      = project(position);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * vec4(position , 1.0);\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal  = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  f_color          = color;\n  f_data           = position;\n  f_uv             = uv;\n}\n"]);var triFragSrc=glslify(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n            , fresnel\n            , kambient\n            , kdiffuse\n            , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n           , f_lightDirection\n           , f_eyeDirection\n           , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (f_color.a == 0.0 ||\n    outOfRange(clipBounds[0], clipBounds[1], f_data)\n  ) discard;\n\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * f_color.a;\n}\n"]);var edgeVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n  f_color = color;\n  f_data  = position;\n  f_uv    = uv;\n}"]);var edgeFragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]);var pointVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n  } else {\n    gl_Position = projection * view * model * vec4(position, 1.0);\n  }\n  gl_PointSize = pointSize;\n  f_color = color;\n  f_uv = uv;\n}"]);var pointFragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n  if(dot(pointR, pointR) > 0.25) {\n    discard;\n  }\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]);var pickVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n  f_id        = id;\n  f_position  = position;\n}"]);var pickFragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);var pickPointVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3  position;\nattribute float pointSize;\nattribute vec4  id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n  } else {\n    gl_Position  = projection * view * model * vec4(position, 1.0);\n    gl_PointSize = pointSize;\n  }\n  f_id         = id;\n  f_position   = position;\n}"]);var contourVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n}"]);var contourFragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n  gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);exports.meshShader={vertex:triVertSrc,fragment:triFragSrc,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]};exports.wireShader={vertex:edgeVertSrc,fragment:edgeFragSrc,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]};exports.pointShader={vertex:pointVertSrc,fragment:pointFragSrc,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]};exports.pickShader={vertex:pickVertSrc,fragment:pickFragSrc,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]};exports.pointPickShader={vertex:pickPointVertSrc,fragment:pickFragSrc,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]};exports.contourShader={vertex:contourVertSrc,fragment:contourFragSrc,attributes:[{name:"position",type:"vec3"}]}},{glslify:442}],315:[function(_dereq_,module,exports){"use strict";var DEFAULT_VERTEX_NORMALS_EPSILON=1e-6;var DEFAULT_FACE_NORMALS_EPSILON=1e-6;var createShader=_dereq_("gl-shader");var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var createTexture=_dereq_("gl-texture2d");var normals=_dereq_("normals");var multiply=_dereq_("gl-mat4/multiply");var invert=_dereq_("gl-mat4/invert");var ndarray=_dereq_("ndarray");var colormap=_dereq_("colormap");var getContour=_dereq_("simplicial-complex-contour");var pool=_dereq_("typedarray-pool");var shaders=_dereq_("./lib/shaders");var closestPoint=_dereq_("./lib/closest-point");var meshShader=shaders.meshShader;var wireShader=shaders.wireShader;var pointShader=shaders.pointShader;var pickShader=shaders.pickShader;var pointPickShader=shaders.pointPickShader;var contourShader=shaders.contourShader;var IDENTITY=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function SimplicialMesh(gl,texture,triShader,lineShader,pointShader,pickShader,pointPickShader,contourShader,trianglePositions,triangleIds,triangleColors,triangleUVs,triangleNormals,triangleVAO,edgePositions,edgeIds,edgeColors,edgeUVs,edgeVAO,pointPositions,pointIds,pointColors,pointUVs,pointSizes,pointVAO,contourPositions,contourVAO){this.gl=gl;this.pixelRatio=1;this.cells=[];this.positions=[];this.intensity=[];this.texture=texture;this.dirty=true;this.triShader=triShader;this.lineShader=lineShader;this.pointShader=pointShader;this.pickShader=pickShader;this.pointPickShader=pointPickShader;this.contourShader=contourShader;this.trianglePositions=trianglePositions;this.triangleColors=triangleColors;this.triangleNormals=triangleNormals;this.triangleUVs=triangleUVs;this.triangleIds=triangleIds;this.triangleVAO=triangleVAO;this.triangleCount=0;this.lineWidth=1;this.edgePositions=edgePositions;this.edgeColors=edgeColors;this.edgeUVs=edgeUVs;this.edgeIds=edgeIds;this.edgeVAO=edgeVAO;this.edgeCount=0;this.pointPositions=pointPositions;this.pointColors=pointColors;this.pointUVs=pointUVs;this.pointSizes=pointSizes;this.pointIds=pointIds;this.pointVAO=pointVAO;this.pointCount=0;this.contourLineWidth=1;this.contourPositions=contourPositions;this.contourVAO=contourVAO;this.contourCount=0;this.contourColor=[0,0,0];this.contourEnable=true;this.pickVertex=true;this.pickId=1;this.bounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];this.clipBounds=[[-Infinity,-Infinity,-Infinity],[Infinity,Infinity,Infinity]];this.lightPosition=[1e5,1e5,0];this.ambientLight=.8;this.diffuseLight=.8;this.specularLight=2;this.roughness=.5;this.fresnel=1.5;this.opacity=1;this.hasAlpha=false;this.opacityscale=false;this._model=IDENTITY;this._view=IDENTITY;this._projection=IDENTITY;this._resolution=[1,1]}var proto=SimplicialMesh.prototype;proto.isOpaque=function(){return!this.hasAlpha};proto.isTransparent=function(){return this.hasAlpha};proto.pickSlots=1;proto.setPickBase=function(id){this.pickId=id};function getOpacityFromScale(ratio,opacityscale){if(!opacityscale)return 1;if(!opacityscale.length)return 1;for(var i=0;i<opacityscale.length;++i){if(opacityscale.length<2)return 1;if(opacityscale[i][0]===ratio)return opacityscale[i][1];if(opacityscale[i][0]>ratio&&i>0){var d=(opacityscale[i][0]-ratio)/(opacityscale[i][0]-opacityscale[i-1][0]);return opacityscale[i][1]*(1-d)+d*opacityscale[i-1][1]}}return 1}function genColormap(param,opacityscale){var colors=colormap({colormap:param,nshades:256,format:"rgba"});var result=new Uint8Array(256*4);for(var i=0;i<256;++i){var c=colors[i];for(var j=0;j<3;++j){result[4*i+j]=c[j]}if(!opacityscale){result[4*i+3]=255*c[3]}else{result[4*i+3]=255*getOpacityFromScale(i/255,opacityscale)}}return ndarray(result,[256,256,4],[4,0,1])}function takeZComponent(array){var n=array.length;var result=new Array(n);for(var i=0;i<n;++i){result[i]=array[i][2]}return result}proto.highlight=function(selection){if(!selection||!this.contourEnable){this.contourCount=0;return}var level=getContour(this.cells,this.intensity,selection.intensity);var cells=level.cells;var vertexIds=level.vertexIds;var vertexWeights=level.vertexWeights;var numCells=cells.length;var result=pool.mallocFloat32(2*3*numCells);var ptr=0;for(var i=0;i<numCells;++i){var c=cells[i];for(var j=0;j<2;++j){var v=c[0];if(c.length===2){v=c[j]}var a=vertexIds[v][0];var b=vertexIds[v][1];var w=vertexWeights[v];var wi=1-w;var pa=this.positions[a];var pb=this.positions[b];for(var k=0;k<3;++k){result[ptr++]=w*pa[k]+wi*pb[k]}}}this.contourCount=ptr/3|0;this.contourPositions.update(result.subarray(0,ptr));pool.free(result)};proto.update=function(params){params=params||{};var gl=this.gl;this.dirty=true;if("contourEnable"in params){this.contourEnable=params.contourEnable}if("contourColor"in params){this.contourColor=params.contourColor}if("lineWidth"in params){this.lineWidth=params.lineWidth}if("lightPosition"in params){this.lightPosition=params.lightPosition}this.hasAlpha=false;if("opacity"in params){this.opacity=params.opacity;if(this.opacity<1){this.hasAlpha=true}}if("opacityscale"in params){this.opacityscale=params.opacityscale;this.hasAlpha=true}if("ambient"in params){this.ambientLight=params.ambient}if("diffuse"in params){this.diffuseLight=params.diffuse}if("specular"in params){this.specularLight=params.specular}if("roughness"in params){this.roughness=params.roughness}if("fresnel"in params){this.fresnel=params.fresnel}if(params.texture){this.texture.dispose();this.texture=createTexture(gl,params.texture)}else if(params.colormap){this.texture.shape=[256,256];this.texture.minFilter=gl.LINEAR_MIPMAP_LINEAR;this.texture.magFilter=gl.LINEAR;this.texture.setPixels(genColormap(params.colormap,this.opacityscale));this.texture.generateMipmap()}var cells=params.cells;var positions=params.positions;if(!positions||!cells){return}var tPos=[];var tCol=[];var tNor=[];var tUVs=[];var tIds=[];var ePos=[];var eCol=[];var eUVs=[];var eIds=[];var pPos=[];var pCol=[];var pUVs=[];var pSiz=[];var pIds=[];this.cells=cells;this.positions=positions;var vertexNormals=params.vertexNormals;var cellNormals=params.cellNormals;var vertexNormalsEpsilon=params.vertexNormalsEpsilon===void 0?DEFAULT_VERTEX_NORMALS_EPSILON:params.vertexNormalsEpsilon;var faceNormalsEpsilon=params.faceNormalsEpsilon===void 0?DEFAULT_FACE_NORMALS_EPSILON:params.faceNormalsEpsilon;if(params.useFacetNormals&&!cellNormals){cellNormals=normals.faceNormals(cells,positions,faceNormalsEpsilon)}if(!cellNormals&&!vertexNormals){vertexNormals=normals.vertexNormals(cells,positions,vertexNormalsEpsilon)}var vertexColors=params.vertexColors;var cellColors=params.cellColors;var meshColor=params.meshColor||[1,1,1,1];var vertexUVs=params.vertexUVs;var vertexIntensity=params.vertexIntensity;var cellUVs=params.cellUVs;var cellIntensity=params.cellIntensity;var intensityLo=Infinity;var intensityHi=-Infinity;if(!vertexUVs&&!cellUVs){if(vertexIntensity){if(params.vertexIntensityBounds){intensityLo=+params.vertexIntensityBounds[0];intensityHi=+params.vertexIntensityBounds[1]}else{for(var i=0;i<vertexIntensity.length;++i){var f=vertexIntensity[i];intensityLo=Math.min(intensityLo,f);intensityHi=Math.max(intensityHi,f)}}}else if(cellIntensity){if(params.cellIntensityBounds){intensityLo=+params.cellIntensityBounds[0];intensityHi=+params.cellIntensityBounds[1]}else{for(var i=0;i<cellIntensity.length;++i){var f=cellIntensity[i];intensityLo=Math.min(intensityLo,f);intensityHi=Math.max(intensityHi,f)}}}else{for(var i=0;i<positions.length;++i){var f=positions[i][2];intensityLo=Math.min(intensityLo,f);intensityHi=Math.max(intensityHi,f)}}}if(vertexIntensity){this.intensity=vertexIntensity}else if(cellIntensity){this.intensity=cellIntensity}else{this.intensity=takeZComponent(positions)}this.pickVertex=!(cellIntensity||cellColors);var pointSizes=params.pointSizes;var meshPointSize=params.pointSize||1;this.bounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];for(var i=0;i<positions.length;++i){var p=positions[i];for(var j=0;j<3;++j){if(isNaN(p[j])||!isFinite(p[j])){continue}this.bounds[0][j]=Math.min(this.bounds[0][j],p[j]);this.bounds[1][j]=Math.max(this.bounds[1][j],p[j])}}var triangleCount=0;var edgeCount=0;var pointCount=0;fill_loop:for(var i=0;i<cells.length;++i){var cell=cells[i];switch(cell.length){case 1:var v=cell[0];var p=positions[v];for(var j=0;j<3;++j){if(isNaN(p[j])||!isFinite(p[j])){continue fill_loop}}pPos.push(p[0],p[1],p[2]);var c;if(vertexColors){c=vertexColors[v]}else if(cellColors){c=cellColors[i]}else{c=meshColor}if(this.opacityscale&&vertexIntensity){tCol.push(c[0],c[1],c[2],this.opacity*getOpacityFromScale((vertexIntensity[v]-intensityLo)/(intensityHi-intensityLo),this.opacityscale))}else if(c.length===3){pCol.push(c[0],c[1],c[2],this.opacity)}else{pCol.push(c[0],c[1],c[2],c[3]*this.opacity);if(c[3]<1)this.hasAlpha=true}var uv;if(vertexUVs){uv=vertexUVs[v]}else if(vertexIntensity){uv=[(vertexIntensity[v]-intensityLo)/(intensityHi-intensityLo),0]}else if(cellUVs){uv=cellUVs[i]}else if(cellIntensity){uv=[(cellIntensity[i]-intensityLo)/(intensityHi-intensityLo),0]}else{uv=[(p[2]-intensityLo)/(intensityHi-intensityLo),0]}pUVs.push(uv[0],uv[1]);if(pointSizes){pSiz.push(pointSizes[v])}else{pSiz.push(meshPointSize)}pIds.push(i);pointCount+=1;break;case 2:for(var j=0;j<2;++j){var v=cell[j];var p=positions[v];for(var k=0;k<3;++k){if(isNaN(p[k])||!isFinite(p[k])){continue fill_loop}}}for(var j=0;j<2;++j){var v=cell[j];var p=positions[v];ePos.push(p[0],p[1],p[2]);var c;if(vertexColors){c=vertexColors[v]}else if(cellColors){c=cellColors[i]}else{c=meshColor}if(this.opacityscale&&vertexIntensity){tCol.push(c[0],c[1],c[2],this.opacity*getOpacityFromScale((vertexIntensity[v]-intensityLo)/(intensityHi-intensityLo),this.opacityscale))}else if(c.length===3){eCol.push(c[0],c[1],c[2],this.opacity)}else{eCol.push(c[0],c[1],c[2],c[3]*this.opacity);if(c[3]<1)this.hasAlpha=true}var uv;if(vertexUVs){uv=vertexUVs[v]}else if(vertexIntensity){uv=[(vertexIntensity[v]-intensityLo)/(intensityHi-intensityLo),0]}else if(cellUVs){uv=cellUVs[i]}else if(cellIntensity){uv=[(cellIntensity[i]-intensityLo)/(intensityHi-intensityLo),0]}else{uv=[(p[2]-intensityLo)/(intensityHi-intensityLo),0]}eUVs.push(uv[0],uv[1]);eIds.push(i)}edgeCount+=1;break;case 3:for(var j=0;j<3;++j){var v=cell[j];var p=positions[v];for(var k=0;k<3;++k){if(isNaN(p[k])||!isFinite(p[k])){continue fill_loop}}}for(var j=0;j<3;++j){var v=cell[2-j];var p=positions[v];tPos.push(p[0],p[1],p[2]);var c;if(vertexColors){c=vertexColors[v]}else if(cellColors){c=cellColors[i]}else{c=meshColor}if(!c){tCol.push(.5,.5,.5,1)}else if(this.opacityscale&&vertexIntensity){tCol.push(c[0],c[1],c[2],this.opacity*getOpacityFromScale((vertexIntensity[v]-intensityLo)/(intensityHi-intensityLo),this.opacityscale))}else if(c.length===3){tCol.push(c[0],c[1],c[2],this.opacity)}else{tCol.push(c[0],c[1],c[2],c[3]*this.opacity);if(c[3]<1)this.hasAlpha=true}var uv;if(vertexUVs){uv=vertexUVs[v]}else if(vertexIntensity){uv=[(vertexIntensity[v]-intensityLo)/(intensityHi-intensityLo),0]}else if(cellUVs){uv=cellUVs[i]}else if(cellIntensity){uv=[(cellIntensity[i]-intensityLo)/(intensityHi-intensityLo),0]}else{uv=[(p[2]-intensityLo)/(intensityHi-intensityLo),0]}tUVs.push(uv[0],uv[1]);var q;if(vertexNormals){q=vertexNormals[v]}else{q=cellNormals[i]}tNor.push(q[0],q[1],q[2]);tIds.push(i)}triangleCount+=1;break;default:break}}this.pointCount=pointCount;this.edgeCount=edgeCount;this.triangleCount=triangleCount;this.pointPositions.update(pPos);this.pointColors.update(pCol);this.pointUVs.update(pUVs);this.pointSizes.update(pSiz);this.pointIds.update(new Uint32Array(pIds));this.edgePositions.update(ePos);this.edgeColors.update(eCol);this.edgeUVs.update(eUVs);this.edgeIds.update(new Uint32Array(eIds));this.trianglePositions.update(tPos);this.triangleColors.update(tCol);this.triangleUVs.update(tUVs);this.triangleNormals.update(tNor);this.triangleIds.update(new Uint32Array(tIds))};proto.drawTransparent=proto.draw=function(params){params=params||{};var gl=this.gl;var model=params.model||IDENTITY;var view=params.view||IDENTITY;var projection=params.projection||IDENTITY;var clipBounds=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]];for(var i=0;i<3;++i){clipBounds[0][i]=Math.max(clipBounds[0][i],this.clipBounds[0][i]);clipBounds[1][i]=Math.min(clipBounds[1][i],this.clipBounds[1][i])}var uniforms={model:model,view:view,projection:projection,inverseModel:IDENTITY.slice(),clipBounds:clipBounds,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};uniforms.inverseModel=invert(uniforms.inverseModel,uniforms.model);gl.disable(gl.CULL_FACE);this.texture.bind(0);var invCameraMatrix=new Array(16);multiply(invCameraMatrix,uniforms.view,uniforms.model);multiply(invCameraMatrix,uniforms.projection,invCameraMatrix);invert(invCameraMatrix,invCameraMatrix);for(var i=0;i<3;++i){uniforms.eyePosition[i]=invCameraMatrix[12+i]/invCameraMatrix[15]}var w=invCameraMatrix[15];for(var i=0;i<3;++i){w+=this.lightPosition[i]*invCameraMatrix[4*i+3]}for(var i=0;i<3;++i){var s=invCameraMatrix[12+i];for(var j=0;j<3;++j){s+=invCameraMatrix[4*j+i]*this.lightPosition[j]}uniforms.lightPosition[i]=s/w}if(this.triangleCount>0){var shader=this.triShader;shader.bind();shader.uniforms=uniforms;this.triangleVAO.bind();gl.drawArrays(gl.TRIANGLES,0,this.triangleCount*3);this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var shader=this.lineShader;shader.bind();shader.uniforms=uniforms;this.edgeVAO.bind();gl.lineWidth(this.lineWidth*this.pixelRatio);gl.drawArrays(gl.LINES,0,this.edgeCount*2);this.edgeVAO.unbind()}if(this.pointCount>0){var shader=this.pointShader;shader.bind();shader.uniforms=uniforms;this.pointVAO.bind();gl.drawArrays(gl.POINTS,0,this.pointCount);this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var shader=this.contourShader;shader.bind();shader.uniforms=uniforms;this.contourVAO.bind();gl.drawArrays(gl.LINES,0,this.contourCount);this.contourVAO.unbind()}};proto.drawPick=function(params){params=params||{};var gl=this.gl;var model=params.model||IDENTITY;var view=params.view||IDENTITY;var projection=params.projection||IDENTITY;var clipBounds=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]];for(var i=0;i<3;++i){clipBounds[0][i]=Math.max(clipBounds[0][i],this.clipBounds[0][i]);clipBounds[1][i]=Math.min(clipBounds[1][i],this.clipBounds[1][i])}this._model=[].slice.call(model);this._view=[].slice.call(view);this._projection=[].slice.call(projection);this._resolution=[gl.drawingBufferWidth,gl.drawingBufferHeight];var uniforms={model:model,view:view,projection:projection,clipBounds:clipBounds,pickId:this.pickId/255};var shader=this.pickShader;shader.bind();shader.uniforms=uniforms;if(this.triangleCount>0){this.triangleVAO.bind();gl.drawArrays(gl.TRIANGLES,0,this.triangleCount*3);this.triangleVAO.unbind()}if(this.edgeCount>0){this.edgeVAO.bind();gl.lineWidth(this.lineWidth*this.pixelRatio);gl.drawArrays(gl.LINES,0,this.edgeCount*2);this.edgeVAO.unbind()}if(this.pointCount>0){var shader=this.pointPickShader;shader.bind();shader.uniforms=uniforms;this.pointVAO.bind();gl.drawArrays(gl.POINTS,0,this.pointCount);this.pointVAO.unbind()}};proto.pick=function(pickData){if(!pickData){return null}if(pickData.id!==this.pickId){return null}var cellId=pickData.value[0]+256*pickData.value[1]+65536*pickData.value[2];var cell=this.cells[cellId];var positions=this.positions;var simplex=new Array(cell.length);for(var i=0;i<cell.length;++i){simplex[i]=positions[cell[i]]}var x=pickData.coord[0];var y=pickData.coord[1];if(!this.pickVertex){var A=this.positions[cell[0]];var B=this.positions[cell[1]];var C=this.positions[cell[2]];var dataCoordinate=[(A[0]+B[0]+C[0])/3,(A[1]+B[1]+C[1])/3,(A[2]+B[2]+C[2])/3];return{_cellCenter:true,position:[x,y],index:cellId,cell:cell,cellId:cellId,intensity:this.intensity[cellId],dataCoordinate:dataCoordinate}}var data=closestPoint(simplex,[x*this.pixelRatio,this._resolution[1]-y*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!data){return null}var weights=data[2];var interpIntensity=0;for(var i=0;i<cell.length;++i){interpIntensity+=weights[i]*this.intensity[cell[i]]}return{position:data[1],index:cell[data[0]],cell:cell,cellId:cellId,intensity:interpIntensity,dataCoordinate:this.positions[cell[data[0]]]}};proto.dispose=function(){this.texture.dispose();this.triShader.dispose();this.lineShader.dispose();this.pointShader.dispose();this.pickShader.dispose();this.pointPickShader.dispose();this.triangleVAO.dispose();this.trianglePositions.dispose();this.triangleColors.dispose();this.triangleUVs.dispose();this.triangleNormals.dispose();this.triangleIds.dispose();this.edgeVAO.dispose();this.edgePositions.dispose();this.edgeColors.dispose();this.edgeUVs.dispose();this.edgeIds.dispose();this.pointVAO.dispose();this.pointPositions.dispose();this.pointColors.dispose();this.pointUVs.dispose();this.pointSizes.dispose();this.pointIds.dispose();this.contourVAO.dispose();this.contourPositions.dispose();this.contourShader.dispose()};function createMeshShader(gl){var shader=createShader(gl,meshShader.vertex,meshShader.fragment);shader.attributes.position.location=0;shader.attributes.color.location=2;shader.attributes.uv.location=3;shader.attributes.normal.location=4;return shader}function createWireShader(gl){var shader=createShader(gl,wireShader.vertex,wireShader.fragment);shader.attributes.position.location=0;shader.attributes.color.location=2;shader.attributes.uv.location=3;return shader}function createPointShader(gl){var shader=createShader(gl,pointShader.vertex,pointShader.fragment);shader.attributes.position.location=0;shader.attributes.color.location=2;shader.attributes.uv.location=3;shader.attributes.pointSize.location=4;return shader}function createPickShader(gl){var shader=createShader(gl,pickShader.vertex,pickShader.fragment);shader.attributes.position.location=0;shader.attributes.id.location=1;return shader}function createPointPickShader(gl){var shader=createShader(gl,pointPickShader.vertex,pointPickShader.fragment);shader.attributes.position.location=0;shader.attributes.id.location=1;shader.attributes.pointSize.location=4;return shader}function createContourShader(gl){var shader=createShader(gl,contourShader.vertex,contourShader.fragment);shader.attributes.position.location=0;return shader}function createSimplicialMesh(gl,params){if(arguments.length===1){params=gl;gl=params.gl}var ext=gl.getExtension("OES_standard_derivatives")||gl.getExtension("MOZ_OES_standard_derivatives")||gl.getExtension("WEBKIT_OES_standard_derivatives");if(!ext)throw new Error("derivatives not supported");var triShader=createMeshShader(gl);var lineShader=createWireShader(gl);var pointShader=createPointShader(gl);var pickShader=createPickShader(gl);var pointPickShader=createPointPickShader(gl);var contourShader=createContourShader(gl);var meshTexture=createTexture(gl,ndarray(new Uint8Array([255,255,255,255]),[1,1,4]));meshTexture.generateMipmap();meshTexture.minFilter=gl.LINEAR_MIPMAP_LINEAR;meshTexture.magFilter=gl.LINEAR;var trianglePositions=createBuffer(gl);var triangleColors=createBuffer(gl);var triangleUVs=createBuffer(gl);var triangleNormals=createBuffer(gl);var triangleIds=createBuffer(gl);var triangleVAO=createVAO(gl,[{buffer:trianglePositions,type:gl.FLOAT,size:3},{buffer:triangleIds,type:gl.UNSIGNED_BYTE,size:4,normalized:true},{buffer:triangleColors,type:gl.FLOAT,size:4},{buffer:triangleUVs,type:gl.FLOAT,size:2},{buffer:triangleNormals,type:gl.FLOAT,size:3}]);var edgePositions=createBuffer(gl);var edgeColors=createBuffer(gl);var edgeUVs=createBuffer(gl);var edgeIds=createBuffer(gl);var edgeVAO=createVAO(gl,[{buffer:edgePositions,type:gl.FLOAT,size:3},{buffer:edgeIds,type:gl.UNSIGNED_BYTE,size:4,normalized:true},{buffer:edgeColors,type:gl.FLOAT,size:4},{buffer:edgeUVs,type:gl.FLOAT,size:2}]);var pointPositions=createBuffer(gl);var pointColors=createBuffer(gl);var pointUVs=createBuffer(gl);var pointSizes=createBuffer(gl);var pointIds=createBuffer(gl);var pointVAO=createVAO(gl,[{buffer:pointPositions,type:gl.FLOAT,size:3},{buffer:pointIds,type:gl.UNSIGNED_BYTE,size:4,normalized:true},{buffer:pointColors,type:gl.FLOAT,size:4},{buffer:pointUVs,type:gl.FLOAT,size:2},{buffer:pointSizes,type:gl.FLOAT,size:1}]);var contourPositions=createBuffer(gl);var contourVAO=createVAO(gl,[{buffer:contourPositions,type:gl.FLOAT,size:3}]);var mesh=new SimplicialMesh(gl,meshTexture,triShader,lineShader,pointShader,pickShader,pointPickShader,contourShader,trianglePositions,triangleIds,triangleColors,triangleUVs,triangleNormals,triangleVAO,edgePositions,edgeIds,edgeColors,edgeUVs,edgeVAO,pointPositions,pointIds,pointColors,pointUVs,pointSizes,pointVAO,contourPositions,contourVAO);mesh.update(params);return mesh}module.exports=createSimplicialMesh},{"./lib/closest-point":313,"./lib/shaders":314,colormap:137,"gl-buffer":267,"gl-mat4/invert":299,"gl-mat4/multiply":301,"gl-shader":339,"gl-texture2d":356,"gl-vao":361,ndarray:483,normals:486,"simplicial-complex-contour":557,"typedarray-pool":617}],316:[function(_dereq_,module,exports){"use strict";module.exports=createBoxes;var createBuffer=_dereq_("gl-buffer");var createShader=_dereq_("gl-shader");var shaders=_dereq_("./shaders");function Boxes(plot,vbo,shader){this.plot=plot;this.vbo=vbo;this.shader=shader}var proto=Boxes.prototype;proto.bind=function(){var shader=this.shader;this.vbo.bind();this.shader.bind();shader.attributes.coord.pointer();shader.uniforms.screenBox=this.plot.screenBox};proto.drawBox=function(){var lo=[0,0];var hi=[0,0];return function(loX,loY,hiX,hiY,color){var plot=this.plot;var shader=this.shader;var gl=plot.gl;lo[0]=loX;lo[1]=loY;hi[0]=hiX;hi[1]=hiY;shader.uniforms.lo=lo;shader.uniforms.hi=hi;shader.uniforms.color=color;gl.drawArrays(gl.TRIANGLE_STRIP,0,4)}}();proto.dispose=function(){this.vbo.dispose();this.shader.dispose()};function createBoxes(plot){var gl=plot.gl;var vbo=createBuffer(gl,[0,0,0,1,1,0,1,1]);var shader=createShader(gl,shaders.boxVert,shaders.lineFrag);return new Boxes(plot,vbo,shader)}},{"./shaders":319,"gl-buffer":267,"gl-shader":339}],317:[function(_dereq_,module,exports){"use strict";module.exports=createGrid;var createBuffer=_dereq_("gl-buffer");var createShader=_dereq_("gl-shader");var bsearch=_dereq_("binary-search-bounds");var shaders=_dereq_("./shaders");function Grid(plot,vbo,shader,tickShader){this.plot=plot;this.vbo=vbo;this.shader=shader;this.tickShader=tickShader;this.ticks=[[],[]]}function compareTickNum(a,b){return a-b}var proto=Grid.prototype;proto.draw=function(){var DATA_SHIFT=[0,0];var DATA_SCALE=[0,0];var DATA_AXIS=[0,0];return function(){var plot=this.plot;var vbo=this.vbo;var shader=this.shader;var ticks=this.ticks;var gl=plot.gl;var bounds=plot._tickBounds;var dataBox=plot.dataBox;var viewPixels=plot.viewBox;var lineWidth=plot.gridLineWidth;var gridColor=plot.gridLineColor;var gridEnable=plot.gridLineEnable;var pixelRatio=plot.pixelRatio;for(var i=0;i<2;++i){var lo=bounds[i];var hi=bounds[i+2];var boundScale=hi-lo;var dataCenter=.5*(dataBox[i+2]+dataBox[i]);var dataWidth=dataBox[i+2]-dataBox[i];DATA_SCALE[i]=2*boundScale/dataWidth;DATA_SHIFT[i]=2*(lo-dataCenter)/dataWidth}shader.bind();vbo.bind();shader.attributes.dataCoord.pointer();shader.uniforms.dataShift=DATA_SHIFT;shader.uniforms.dataScale=DATA_SCALE;var offset=0;for(var i=0;i<2;++i){DATA_AXIS[0]=DATA_AXIS[1]=0;DATA_AXIS[i]=1;shader.uniforms.dataAxis=DATA_AXIS;shader.uniforms.lineWidth=lineWidth[i]/(viewPixels[i+2]-viewPixels[i])*pixelRatio;shader.uniforms.color=gridColor[i];var size=ticks[i].length*6;if(gridEnable[i]&&size){gl.drawArrays(gl.TRIANGLES,offset,size)}offset+=size}}}();proto.drawTickMarks=function(){var DATA_SHIFT=[0,0];var DATA_SCALE=[0,0];var X_AXIS=[1,0];var Y_AXIS=[0,1];var SCR_OFFSET=[0,0];var TICK_SCALE=[0,0];return function(){var plot=this.plot;var vbo=this.vbo;var shader=this.tickShader;var ticks=this.ticks;var gl=plot.gl;var bounds=plot._tickBounds;var dataBox=plot.dataBox;var viewBox=plot.viewBox;var pixelRatio=plot.pixelRatio;var screenBox=plot.screenBox;var screenWidth=screenBox[2]-screenBox[0];var screenHeight=screenBox[3]-screenBox[1];var viewWidth=viewBox[2]-viewBox[0];var viewHeight=viewBox[3]-viewBox[1];for(var i=0;i<2;++i){var lo=bounds[i];var hi=bounds[i+2];var boundScale=hi-lo;var dataCenter=.5*(dataBox[i+2]+dataBox[i]);var dataWidth=dataBox[i+2]-dataBox[i];DATA_SCALE[i]=2*boundScale/dataWidth;DATA_SHIFT[i]=2*(lo-dataCenter)/dataWidth}DATA_SCALE[0]*=viewWidth/screenWidth;DATA_SHIFT[0]*=viewWidth/screenWidth;DATA_SCALE[1]*=viewHeight/screenHeight;DATA_SHIFT[1]*=viewHeight/screenHeight;shader.bind();vbo.bind();shader.attributes.dataCoord.pointer();var uniforms=shader.uniforms;uniforms.dataShift=DATA_SHIFT;uniforms.dataScale=DATA_SCALE;var tickMarkLength=plot.tickMarkLength;var tickMarkWidth=plot.tickMarkWidth;var tickMarkColor=plot.tickMarkColor;var xTicksOffset=0;var yTicksOffset=ticks[0].length*6;var xStart=Math.min(bsearch.ge(ticks[0],(dataBox[0]-bounds[0])/(bounds[2]-bounds[0]),compareTickNum),ticks[0].length);var xEnd=Math.min(bsearch.gt(ticks[0],(dataBox[2]-bounds[0])/(bounds[2]-bounds[0]),compareTickNum),ticks[0].length);var xOffset=xTicksOffset+6*xStart;var xCount=6*Math.max(0,xEnd-xStart);var yStart=Math.min(bsearch.ge(ticks[1],(dataBox[1]-bounds[1])/(bounds[3]-bounds[1]),compareTickNum),ticks[1].length);var yEnd=Math.min(bsearch.gt(ticks[1],(dataBox[3]-bounds[1])/(bounds[3]-bounds[1]),compareTickNum),ticks[1].length);var yOffset=yTicksOffset+6*yStart;var yCount=6*Math.max(0,yEnd-yStart);SCR_OFFSET[0]=2*(viewBox[0]-tickMarkLength[1])/screenWidth-1;SCR_OFFSET[1]=(viewBox[3]+viewBox[1])/screenHeight-1;TICK_SCALE[0]=tickMarkLength[1]*pixelRatio/screenWidth;TICK_SCALE[1]=tickMarkWidth[1]*pixelRatio/screenHeight;if(yCount){uniforms.color=tickMarkColor[1];uniforms.tickScale=TICK_SCALE;uniforms.dataAxis=Y_AXIS;uniforms.screenOffset=SCR_OFFSET;gl.drawArrays(gl.TRIANGLES,yOffset,yCount)}SCR_OFFSET[0]=(viewBox[2]+viewBox[0])/screenWidth-1;SCR_OFFSET[1]=2*(viewBox[1]-tickMarkLength[0])/screenHeight-1;TICK_SCALE[0]=tickMarkWidth[0]*pixelRatio/screenWidth;TICK_SCALE[1]=tickMarkLength[0]*pixelRatio/screenHeight;if(xCount){uniforms.color=tickMarkColor[0];uniforms.tickScale=TICK_SCALE;uniforms.dataAxis=X_AXIS;uniforms.screenOffset=SCR_OFFSET;gl.drawArrays(gl.TRIANGLES,xOffset,xCount)}SCR_OFFSET[0]=2*(viewBox[2]+tickMarkLength[3])/screenWidth-1;SCR_OFFSET[1]=(viewBox[3]+viewBox[1])/screenHeight-1;TICK_SCALE[0]=tickMarkLength[3]*pixelRatio/screenWidth;TICK_SCALE[1]=tickMarkWidth[3]*pixelRatio/screenHeight;if(yCount){uniforms.color=tickMarkColor[3];uniforms.tickScale=TICK_SCALE;uniforms.dataAxis=Y_AXIS;uniforms.screenOffset=SCR_OFFSET;gl.drawArrays(gl.TRIANGLES,yOffset,yCount)}SCR_OFFSET[0]=(viewBox[2]+viewBox[0])/screenWidth-1;SCR_OFFSET[1]=2*(viewBox[3]+tickMarkLength[2])/screenHeight-1;TICK_SCALE[0]=tickMarkWidth[2]*pixelRatio/screenWidth;TICK_SCALE[1]=tickMarkLength[2]*pixelRatio/screenHeight;if(xCount){uniforms.color=tickMarkColor[2];uniforms.tickScale=TICK_SCALE;uniforms.dataAxis=X_AXIS;uniforms.screenOffset=SCR_OFFSET;gl.drawArrays(gl.TRIANGLES,xOffset,xCount)}}}();proto.update=function(){var OFFSET_X=[1,1,-1,-1,1,-1];var OFFSET_Y=[1,-1,1,1,-1,-1];return function(options){var ticks=options.ticks;var bounds=options.bounds;var data=new Float32Array(6*3*(ticks[0].length+ticks[1].length));var zeroLineEnable=this.plot.zeroLineEnable;var ptr=0;var gridTicks=[[],[]];for(var dim=0;dim<2;++dim){var localTicks=gridTicks[dim];var axisTicks=ticks[dim];var lo=bounds[dim];var hi=bounds[dim+2];for(var i=0;i<axisTicks.length;++i){var x=(axisTicks[i].x-lo)/(hi-lo);localTicks.push(x);for(var j=0;j<6;++j){data[ptr++]=x;data[ptr++]=OFFSET_X[j];data[ptr++]=OFFSET_Y[j]}}}this.ticks=gridTicks;this.vbo.update(data)}}();proto.dispose=function(){this.vbo.dispose();this.shader.dispose();this.tickShader.dispose()};function createGrid(plot){var gl=plot.gl;var vbo=createBuffer(gl);var shader=createShader(gl,shaders.gridVert,shaders.gridFrag);var tickShader=createShader(gl,shaders.tickVert,shaders.gridFrag);var grid=new Grid(plot,vbo,shader,tickShader);return grid}},{"./shaders":319,"binary-search-bounds":103,"gl-buffer":267,"gl-shader":339}],318:[function(_dereq_,module,exports){"use strict";module.exports=createLines;var createBuffer=_dereq_("gl-buffer");var createShader=_dereq_("gl-shader");var shaders=_dereq_("./shaders");function Lines(plot,vbo,shader){this.plot=plot;this.vbo=vbo;this.shader=shader}var proto=Lines.prototype;proto.bind=function(){var shader=this.shader;this.vbo.bind();this.shader.bind();shader.attributes.coord.pointer();shader.uniforms.screenBox=this.plot.screenBox};proto.drawLine=function(){var start=[0,0];var end=[0,0];return function(startX,startY,endX,endY,width,color){var plot=this.plot;var shader=this.shader;var gl=plot.gl;start[0]=startX;start[1]=startY;end[0]=endX;end[1]=endY;shader.uniforms.start=start;shader.uniforms.end=end;shader.uniforms.width=width*plot.pixelRatio;shader.uniforms.color=color;gl.drawArrays(gl.TRIANGLE_STRIP,0,4)}}();proto.dispose=function(){this.vbo.dispose();this.shader.dispose()};function createLines(plot){var gl=plot.gl;var vbo=createBuffer(gl,[-1,-1,-1,1,1,-1,1,1]);var shader=createShader(gl,shaders.lineVert,shaders.lineFrag);var lines=new Lines(plot,vbo,shader);return lines}},{"./shaders":319,"gl-buffer":267,"gl-shader":339}],319:[function(_dereq_,module,exports){"use strict";var glslify=_dereq_("glslify");var FRAGMENT=glslify(["precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n"]);module.exports={lineVert:glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n  return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n  vec2 delta = normalize(perp(start - end));\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n"]),lineFrag:FRAGMENT,textVert:glslify(["#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n  float dataOffset  = textCoordinate.z;\n  vec2 glyphOffset  = textCoordinate.xy;\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n    glyphMatrix * glyphOffset * textScale + screenOffset;\n  gl_Position = vec4(screenCoordinate, 0, 1);\n}\n"]),textFrag:FRAGMENT,gridVert:glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n  gl_Position = vec4(pos, 0, 1);\n}\n"]),gridFrag:FRAGMENT,boxVert:glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n"]),tickVert:glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n"])}},{glslify:321}],320:[function(_dereq_,module,exports){"use strict";module.exports=createTextElements;var createBuffer=_dereq_("gl-buffer");var createShader=_dereq_("gl-shader");var getText=_dereq_("text-cache");var bsearch=_dereq_("binary-search-bounds");var shaders=_dereq_("./shaders");function TextElements(plot,vbo,shader){this.plot=plot;this.vbo=vbo;this.shader=shader;this.tickOffset=[[],[]];this.tickX=[[],[]];this.labelOffset=[0,0];this.labelCount=[0,0]}var proto=TextElements.prototype;proto.drawTicks=function(){var DATA_AXIS=[0,0];var SCREEN_OFFSET=[0,0];var ZERO_2=[0,0];return function(axis){var plot=this.plot;var shader=this.shader;var tickX=this.tickX[axis];var tickOffset=this.tickOffset[axis];var gl=plot.gl;var viewBox=plot.viewBox;var dataBox=plot.dataBox;var screenBox=plot.screenBox;var pixelRatio=plot.pixelRatio;var tickEnable=plot.tickEnable;var tickPad=plot.tickPad;var textColor=plot.tickColor;var textAngle=plot.tickAngle;var labelEnable=plot.labelEnable;var labelPad=plot.labelPad;var labelColor=plot.labelColor;var labelAngle=plot.labelAngle;var labelOffset=this.labelOffset[axis];var labelCount=this.labelCount[axis];var start=bsearch.lt(tickX,dataBox[axis]);var end=bsearch.le(tickX,dataBox[axis+2]);DATA_AXIS[0]=DATA_AXIS[1]=0;DATA_AXIS[axis]=1;SCREEN_OFFSET[axis]=(viewBox[2+axis]+viewBox[axis])/(screenBox[2+axis]-screenBox[axis])-1;var screenScale=2/screenBox[2+(axis^1)]-screenBox[axis^1];SCREEN_OFFSET[axis^1]=screenScale*viewBox[axis^1]-1;if(tickEnable[axis]){SCREEN_OFFSET[axis^1]-=screenScale*pixelRatio*tickPad[axis];if(start<end&&tickOffset[end]>tickOffset[start]){shader.uniforms.dataAxis=DATA_AXIS;shader.uniforms.screenOffset=SCREEN_OFFSET;shader.uniforms.color=textColor[axis];shader.uniforms.angle=textAngle[axis];gl.drawArrays(gl.TRIANGLES,tickOffset[start],tickOffset[end]-tickOffset[start])}}if(labelEnable[axis]&&labelCount){SCREEN_OFFSET[axis^1]-=screenScale*pixelRatio*labelPad[axis];shader.uniforms.dataAxis=ZERO_2;shader.uniforms.screenOffset=SCREEN_OFFSET;shader.uniforms.color=labelColor[axis];shader.uniforms.angle=labelAngle[axis];gl.drawArrays(gl.TRIANGLES,labelOffset,labelCount)}SCREEN_OFFSET[axis^1]=screenScale*viewBox[2+(axis^1)]-1;if(tickEnable[axis+2]){SCREEN_OFFSET[axis^1]+=screenScale*pixelRatio*tickPad[axis+2];if(start<end&&tickOffset[end]>tickOffset[start]){shader.uniforms.dataAxis=DATA_AXIS;shader.uniforms.screenOffset=SCREEN_OFFSET;shader.uniforms.color=textColor[axis+2];shader.uniforms.angle=textAngle[axis+2];gl.drawArrays(gl.TRIANGLES,tickOffset[start],tickOffset[end]-tickOffset[start])}}if(labelEnable[axis+2]&&labelCount){SCREEN_OFFSET[axis^1]+=screenScale*pixelRatio*labelPad[axis+2];shader.uniforms.dataAxis=ZERO_2;shader.uniforms.screenOffset=SCREEN_OFFSET;shader.uniforms.color=labelColor[axis+2];shader.uniforms.angle=labelAngle[axis+2];gl.drawArrays(gl.TRIANGLES,labelOffset,labelCount)}}}();proto.drawTitle=function(){var DATA_AXIS=[0,0];var SCREEN_OFFSET=[0,0];return function(){var plot=this.plot;var shader=this.shader;var gl=plot.gl;var screenBox=plot.screenBox;var titleCenter=plot.titleCenter;var titleAngle=plot.titleAngle;var titleColor=plot.titleColor;var pixelRatio=plot.pixelRatio;if(!this.titleCount){return}for(var i=0;i<2;++i){SCREEN_OFFSET[i]=2*(titleCenter[i]*pixelRatio-screenBox[i])/(screenBox[2+i]-screenBox[i])-1}shader.bind();shader.uniforms.dataAxis=DATA_AXIS;shader.uniforms.screenOffset=SCREEN_OFFSET;shader.uniforms.angle=titleAngle;shader.uniforms.color=titleColor;gl.drawArrays(gl.TRIANGLES,this.titleOffset,this.titleCount)}}();proto.bind=function(){var DATA_SHIFT=[0,0];var DATA_SCALE=[0,0];var TEXT_SCALE=[0,0];return function(){var plot=this.plot;var shader=this.shader;var bounds=plot._tickBounds;var dataBox=plot.dataBox;var screenBox=plot.screenBox;var viewBox=plot.viewBox;shader.bind();for(var i=0;i<2;++i){var lo=bounds[i];var hi=bounds[i+2];var boundScale=hi-lo;var dataCenter=.5*(dataBox[i+2]+dataBox[i]);var dataWidth=dataBox[i+2]-dataBox[i];var viewLo=viewBox[i];var viewHi=viewBox[i+2];var viewScale=viewHi-viewLo;var screenLo=screenBox[i];var screenHi=screenBox[i+2];var screenScale=screenHi-screenLo;DATA_SCALE[i]=2*boundScale/dataWidth*viewScale/screenScale;DATA_SHIFT[i]=2*(lo-dataCenter)/dataWidth*viewScale/screenScale}TEXT_SCALE[1]=2*plot.pixelRatio/(screenBox[3]-screenBox[1]);TEXT_SCALE[0]=TEXT_SCALE[1]*(screenBox[3]-screenBox[1])/(screenBox[2]-screenBox[0]);shader.uniforms.dataScale=DATA_SCALE;shader.uniforms.dataShift=DATA_SHIFT;shader.uniforms.textScale=TEXT_SCALE;this.vbo.bind();shader.attributes.textCoordinate.pointer()}}();proto.update=function(options){var vertices=[];var axesTicks=options.ticks;var bounds=options.bounds;var i,j,k,data,scale,dimension;for(dimension=0;dimension<2;++dimension){var offsets=[Math.floor(vertices.length/3)],tickX=[-Infinity];var ticks=axesTicks[dimension];for(i=0;i<ticks.length;++i){var tick=ticks[i];var x=tick.x;var text=tick.text;var font=tick.font||"sans-serif";scale=tick.fontSize||12;var coordScale=1/(bounds[dimension+2]-bounds[dimension]);var coordShift=bounds[dimension];var rows=text.split("\n");for(var r=0;r<rows.length;r++){data=getText(font,rows[r]).data;for(j=0;j<data.length;j+=2){vertices.push(data[j]*scale,-data[j+1]*scale-r*scale*1.2,(x-coordShift)*coordScale)}}offsets.push(Math.floor(vertices.length/3));tickX.push(x)}this.tickOffset[dimension]=offsets;this.tickX[dimension]=tickX}for(dimension=0;dimension<2;++dimension){this.labelOffset[dimension]=Math.floor(vertices.length/3);data=getText(options.labelFont[dimension],options.labels[dimension],{textAlign:"center"}).data;scale=options.labelSize[dimension];for(i=0;i<data.length;i+=2){vertices.push(data[i]*scale,-data[i+1]*scale,0)}this.labelCount[dimension]=Math.floor(vertices.length/3)-this.labelOffset[dimension]}this.titleOffset=Math.floor(vertices.length/3);data=getText(options.titleFont,options.title).data;scale=options.titleSize;for(i=0;i<data.length;i+=2){vertices.push(data[i]*scale,-data[i+1]*scale,0)}this.titleCount=Math.floor(vertices.length/3)-this.titleOffset;this.vbo.update(vertices)};proto.dispose=function(){this.vbo.dispose();this.shader.dispose()};function createTextElements(plot){var gl=plot.gl;var vbo=createBuffer(gl);var shader=createShader(gl,shaders.textVert,shaders.textFrag);var text=new TextElements(plot,vbo,shader);return text}},{"./shaders":319,"binary-search-bounds":103,"gl-buffer":267,"gl-shader":339,"text-cache":596}],321:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],322:[function(_dereq_,module,exports){"use strict";module.exports=createGLPlot2D;var createPick=_dereq_("gl-select-static");var createGrid=_dereq_("./lib/grid");var createText=_dereq_("./lib/text");var createLine=_dereq_("./lib/line");var createBox=_dereq_("./lib/box");function GLPlot2D(gl,pickBuffer){this.gl=gl;this.pickBuffer=pickBuffer;this.screenBox=[0,0,gl.drawingBufferWidth,gl.drawingBufferHeight];this.viewBox=[0,0,0,0];this.dataBox=[-10,-10,10,10];this.gridLineEnable=[true,true];this.gridLineWidth=[1,1];this.gridLineColor=[[0,0,0,1],[0,0,0,1]];this.pixelRatio=1;this.tickMarkLength=[0,0,0,0];this.tickMarkWidth=[0,0,0,0];this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.tickPad=[15,15,15,15];this.tickAngle=[0,0,0,0];this.tickEnable=[true,true,true,true];this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.labelPad=[15,15,15,15];this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2];this.labelEnable=[true,true,true,true];this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.titleCenter=[0,0];this.titleEnable=true;this.titleAngle=0;this.titleColor=[0,0,0,1];this.borderColor=[0,0,0,0];this.backgroundColor=[0,0,0,0];this.zeroLineEnable=[true,true];this.zeroLineWidth=[4,4];this.zeroLineColor=[[0,0,0,1],[0,0,0,1]];this.borderLineEnable=[true,true,true,true];this.borderLineWidth=[2,2,2,2];this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.grid=null;this.text=null;this.line=null;this.box=null;this.objects=[];this.overlays=[];this._tickBounds=[Infinity,Infinity,-Infinity,-Infinity];this.static=false;this.dirty=false;this.pickDirty=false;this.pickDelay=120;this.pickRadius=10;this._pickTimeout=null;this._drawPick=this.drawPick.bind(this);this._depthCounter=0}var proto=GLPlot2D.prototype;proto.setDirty=function(){this.dirty=this.pickDirty=true};proto.setOverlayDirty=function(){this.dirty=true};proto.nextDepthValue=function(){return this._depthCounter++/65536};function lerp(a,b,t){var s=.5*(t+1);return Math.floor((1-s)*a+s*b)|0}proto.draw=function(){var TICK_MARK_BOX=[0,0,0,0];return function(){var gl=this.gl;var screenBox=this.screenBox;var viewPixels=this.viewBox;var dataBox=this.dataBox;var pixelRatio=this.pixelRatio;var grid=this.grid;var line=this.line;var text=this.text;var objects=this.objects;this._depthCounter=0;if(this.pickDirty){if(this._pickTimeout){clearTimeout(this._pickTimeout)}this.pickDirty=false;this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)}if(!this.dirty){return}this.dirty=false;gl.bindFramebuffer(gl.FRAMEBUFFER,null);gl.enable(gl.SCISSOR_TEST);gl.disable(gl.DEPTH_TEST);gl.depthFunc(gl.LESS);gl.depthMask(false);gl.enable(gl.BLEND);gl.blendEquation(gl.FUNC_ADD,gl.FUNC_ADD);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);if(this.borderColor){gl.scissor(screenBox[0],screenBox[1],screenBox[2]-screenBox[0],screenBox[3]-screenBox[1]);var borderColor=this.borderColor;gl.clearColor(borderColor[0]*borderColor[3],borderColor[1]*borderColor[3],borderColor[2]*borderColor[3],borderColor[3]);gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT)}gl.scissor(viewPixels[0],viewPixels[1],viewPixels[2]-viewPixels[0],viewPixels[3]-viewPixels[1]);gl.viewport(viewPixels[0],viewPixels[1],viewPixels[2]-viewPixels[0],viewPixels[3]-viewPixels[1]);var backgroundColor=this.backgroundColor;gl.clearColor(backgroundColor[0]*backgroundColor[3],backgroundColor[1]*backgroundColor[3],backgroundColor[2]*backgroundColor[3],backgroundColor[3]);gl.clear(gl.COLOR_BUFFER_BIT);grid.draw();var zeroLineEnable=this.zeroLineEnable;var zeroLineColor=this.zeroLineColor;var zeroLineWidth=this.zeroLineWidth;if(zeroLineEnable[0]||zeroLineEnable[1]){line.bind();for(var i=0;i<2;++i){if(!zeroLineEnable[i]||!(dataBox[i]<=0&&dataBox[i+2]>=0)){continue}var zeroIntercept=screenBox[i]-dataBox[i]*(screenBox[i+2]-screenBox[i])/(dataBox[i+2]-dataBox[i]);if(i===0){line.drawLine(zeroIntercept,screenBox[1],zeroIntercept,screenBox[3],zeroLineWidth[i],zeroLineColor[i])}else{line.drawLine(screenBox[0],zeroIntercept,screenBox[2],zeroIntercept,zeroLineWidth[i],zeroLineColor[i])}}}for(var i=0;i<objects.length;++i){objects[i].draw()}gl.viewport(screenBox[0],screenBox[1],screenBox[2]-screenBox[0],screenBox[3]-screenBox[1]);gl.scissor(screenBox[0],screenBox[1],screenBox[2]-screenBox[0],screenBox[3]-screenBox[1]);this.grid.drawTickMarks();line.bind();var borderLineEnable=this.borderLineEnable;var borderLineWidth=this.borderLineWidth;var borderLineColor=this.borderLineColor;if(borderLineEnable[1]){line.drawLine(viewPixels[0],viewPixels[1]-.5*borderLineWidth[1]*pixelRatio,viewPixels[0],viewPixels[3]+.5*borderLineWidth[3]*pixelRatio,borderLineWidth[1],borderLineColor[1])}if(borderLineEnable[0]){line.drawLine(viewPixels[0]-.5*borderLineWidth[0]*pixelRatio,viewPixels[1],viewPixels[2]+.5*borderLineWidth[2]*pixelRatio,viewPixels[1],borderLineWidth[0],borderLineColor[0])}if(borderLineEnable[3]){line.drawLine(viewPixels[2],viewPixels[1]-.5*borderLineWidth[1]*pixelRatio,viewPixels[2],viewPixels[3]+.5*borderLineWidth[3]*pixelRatio,borderLineWidth[3],borderLineColor[3])}if(borderLineEnable[2]){line.drawLine(viewPixels[0]-.5*borderLineWidth[0]*pixelRatio,viewPixels[3],viewPixels[2]+.5*borderLineWidth[2]*pixelRatio,viewPixels[3],borderLineWidth[2],borderLineColor[2])}text.bind();for(var i=0;i<2;++i){text.drawTicks(i)}if(this.titleEnable){text.drawTitle()}var overlays=this.overlays;for(var i=0;i<overlays.length;++i){overlays[i].draw()}gl.disable(gl.SCISSOR_TEST);gl.disable(gl.BLEND);gl.depthMask(true)}}();proto.drawPick=function(){return function(){if(this.static)return;var pickBuffer=this.pickBuffer;var gl=this.gl;this._pickTimeout=null;pickBuffer.begin();var pickOffset=1;var objects=this.objects;for(var i=0;i<objects.length;++i){pickOffset=objects[i].drawPick(pickOffset)}pickBuffer.end()}}();proto.pick=function(){return function(x,y){if(this.static)return;var pixelRatio=this.pixelRatio;var pickPixelRatio=this.pickPixelRatio;var viewBox=this.viewBox;var scrX=Math.round((x-viewBox[0]/pixelRatio)*pickPixelRatio)|0;var scrY=Math.round((y-viewBox[1]/pixelRatio)*pickPixelRatio)|0;var pickResult=this.pickBuffer.query(scrX,scrY,this.pickRadius);if(!pickResult){return null}var pickValue=pickResult.id+(pickResult.value[0]<<8)+(pickResult.value[1]<<16)+(pickResult.value[2]<<24);var objects=this.objects;for(var i=0;i<objects.length;++i){var result=objects[i].pick(scrX,scrY,pickValue);if(result){return result}}return null}}();function deepClone(array){var result=array.slice();for(var i=0;i<result.length;++i){result[i]=result[i].slice()}return result}function compareTicks(a,b){return a.x-b.x}proto.setScreenBox=function(nbox){var screenBox=this.screenBox;var pixelRatio=this.pixelRatio;screenBox[0]=Math.round(nbox[0]*pixelRatio)|0;screenBox[1]=Math.round(nbox[1]*pixelRatio)|0;screenBox[2]=Math.round(nbox[2]*pixelRatio)|0;screenBox[3]=Math.round(nbox[3]*pixelRatio)|0;this.setDirty()};proto.setDataBox=function(nbox){var dataBox=this.dataBox;var different=dataBox[0]!==nbox[0]||dataBox[1]!==nbox[1]||dataBox[2]!==nbox[2]||dataBox[3]!==nbox[3];if(different){dataBox[0]=nbox[0];dataBox[1]=nbox[1];dataBox[2]=nbox[2];dataBox[3]=nbox[3];this.setDirty()}};proto.setViewBox=function(nbox){var pixelRatio=this.pixelRatio;var viewBox=this.viewBox;viewBox[0]=Math.round(nbox[0]*pixelRatio)|0;viewBox[1]=Math.round(nbox[1]*pixelRatio)|0;viewBox[2]=Math.round(nbox[2]*pixelRatio)|0;viewBox[3]=Math.round(nbox[3]*pixelRatio)|0;var pickPixelRatio=this.pickPixelRatio;this.pickBuffer.shape=[Math.round((nbox[2]-nbox[0])*pickPixelRatio)|0,Math.round((nbox[3]-nbox[1])*pickPixelRatio)|0];this.setDirty()};proto.update=function(options){options=options||{};var gl=this.gl;this.pixelRatio=options.pixelRatio||1;var pixelRatio=this.pixelRatio;this.pickPixelRatio=Math.max(pixelRatio,1);this.setScreenBox(options.screenBox||[0,0,gl.drawingBufferWidth/pixelRatio,gl.drawingBufferHeight/pixelRatio]);var screenBox=this.screenBox;this.setViewBox(options.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/pixelRatio,.125*(this.screenBox[3]-this.screenBox[1])/pixelRatio,.875*(this.screenBox[2]-this.screenBox[0])/pixelRatio,.875*(this.screenBox[3]-this.screenBox[1])/pixelRatio]);var viewBox=this.viewBox;var aspectRatio=(viewBox[2]-viewBox[0])/(viewBox[3]-viewBox[1]);this.setDataBox(options.dataBox||[-10,-10/aspectRatio,10,10/aspectRatio]);this.borderColor=options.borderColor!==false?(options.borderColor||[0,0,0,0]).slice():false;this.backgroundColor=(options.backgroundColor||[0,0,0,0]).slice();this.gridLineEnable=(options.gridLineEnable||[true,true]).slice();this.gridLineWidth=(options.gridLineWidth||[1,1]).slice();this.gridLineColor=deepClone(options.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]);this.zeroLineEnable=(options.zeroLineEnable||[true,true]).slice();this.zeroLineWidth=(options.zeroLineWidth||[4,4]).slice();this.zeroLineColor=deepClone(options.zeroLineColor||[[0,0,0,1],[0,0,0,1]]);this.tickMarkLength=(options.tickMarkLength||[0,0,0,0]).slice();this.tickMarkWidth=(options.tickMarkWidth||[0,0,0,0]).slice();this.tickMarkColor=deepClone(options.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);this.titleCenter=(options.titleCenter||[.5*(viewBox[0]+viewBox[2])/pixelRatio,(viewBox[3]+120)/pixelRatio]).slice();this.titleEnable=!("titleEnable"in options)||!!options.titleEnable;this.titleAngle=options.titleAngle||0;this.titleColor=(options.titleColor||[0,0,0,1]).slice();this.labelPad=(options.labelPad||[15,15,15,15]).slice();this.labelAngle=(options.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice();this.labelEnable=(options.labelEnable||[true,true,true,true]).slice();this.labelColor=deepClone(options.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);this.tickPad=(options.tickPad||[15,15,15,15]).slice();this.tickAngle=(options.tickAngle||[0,0,0,0]).slice();this.tickEnable=(options.tickEnable||[true,true,true,true]).slice();this.tickColor=deepClone(options.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);this.borderLineEnable=(options.borderLineEnable||[true,true,true,true]).slice();this.borderLineWidth=(options.borderLineWidth||[2,2,2,2]).slice();this.borderLineColor=deepClone(options.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var ticks=options.ticks||[[],[]];var bounds=this._tickBounds;bounds[0]=bounds[1]=Infinity;bounds[2]=bounds[3]=-Infinity;for(var i=0;i<2;++i){var axisTicks=ticks[i].slice(0);if(axisTicks.length===0){continue}axisTicks.sort(compareTicks);bounds[i]=Math.min(bounds[i],axisTicks[0].x);bounds[i+2]=Math.max(bounds[i+2],axisTicks[axisTicks.length-1].x)}this.grid.update({bounds:bounds,ticks:ticks});this.text.update({bounds:bounds,ticks:ticks,labels:options.labels||["x","y"],labelSize:options.labelSize||[12,12],labelFont:options.labelFont||["sans-serif","sans-serif"],title:options.title||"",titleSize:options.titleSize||18,titleFont:options.titleFont||"sans-serif"});this.static=!!options.static;this.setDirty()};proto.dispose=function(){this.box.dispose();this.grid.dispose();this.text.dispose();this.line.dispose();for(var i=this.objects.length-1;i>=0;--i){this.objects[i].dispose()}this.objects.length=0;for(var i=this.overlays.length-1;i>=0;--i){this.overlays[i].dispose()}this.overlays.length=0;this.gl=null};proto.addObject=function(object){if(this.objects.indexOf(object)<0){this.objects.push(object);this.setDirty()}};proto.removeObject=function(object){var objects=this.objects;for(var i=0;i<objects.length;++i){if(objects[i]===object){objects.splice(i,1);this.setDirty();break}}};proto.addOverlay=function(object){if(this.overlays.indexOf(object)<0){this.overlays.push(object);this.setOverlayDirty()}};proto.removeOverlay=function(object){var objects=this.overlays;for(var i=0;i<objects.length;++i){if(objects[i]===object){objects.splice(i,1);this.setOverlayDirty();break}}};function createGLPlot2D(options){var gl=options.gl;var pickBuffer=createPick(gl,[gl.drawingBufferWidth,gl.drawingBufferHeight]);var plot=new GLPlot2D(gl,pickBuffer);plot.grid=createGrid(plot);plot.text=createText(plot);plot.line=createLine(plot);plot.box=createBox(plot);plot.update(options);return plot}},{"./lib/box":316,"./lib/grid":317,"./lib/line":318,"./lib/text":320,"gl-select-static":338}],323:[function(_dereq_,module,exports){"use strict";module.exports=createCamera;var now=_dereq_("right-now");var createView=_dereq_("3d-view");var mouseChange=_dereq_("mouse-change");var mouseWheel=_dereq_("mouse-wheel");var mouseOffset=_dereq_("mouse-event-offset");var hasPassive=_dereq_("has-passive-events");function createCamera(element,options){element=element||document.body;options=options||{};var limits=[.01,Infinity];if("distanceLimits"in options){limits[0]=options.distanceLimits[0];limits[1]=options.distanceLimits[1]}if("zoomMin"in options){limits[0]=options.zoomMin}if("zoomMax"in options){limits[1]=options.zoomMax}var view=createView({center:options.center||[0,0,0],up:options.up||[0,1,0],eye:options.eye||[0,0,10],mode:options.mode||"orbit",distanceLimits:limits});var pmatrix=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var distance=0;var width=element.clientWidth;var height=element.clientHeight;var camera={keyBindingMode:"rotate",enableWheel:true,view:view,element:element,delay:options.delay||16,rotateSpeed:options.rotateSpeed||1,zoomSpeed:options.zoomSpeed||1,translateSpeed:options.translateSpeed||1,flipX:!!options.flipX,flipY:!!options.flipY,modes:view.modes,_ortho:options._ortho||options.projection&&options.projection.type==="orthographic"||false,tick:function(){var t=now();var delay=this.delay;var ctime=t-2*delay;view.idle(t-delay);view.recalcMatrix(ctime);view.flush(t-(100+delay*2));var allEqual=true;var matrix=view.computedMatrix;for(var i=0;i<16;++i){allEqual=allEqual&&pmatrix[i]===matrix[i];pmatrix[i]=matrix[i]}var sizeChanged=element.clientWidth===width&&element.clientHeight===height;width=element.clientWidth;height=element.clientHeight;if(allEqual){return!sizeChanged}distance=Math.exp(view.computedRadius[0]);return true},lookAt:function(eye,center,up){view.lookAt(view.lastT(),eye,center,up)},rotate:function(pitch,yaw,roll){view.rotate(view.lastT(),pitch,yaw,roll)},pan:function(dx,dy,dz){view.pan(view.lastT(),dx,dy,dz)},translate:function(dx,dy,dz){view.translate(view.lastT(),dx,dy,dz)}};Object.defineProperties(camera,{matrix:{get:function(){return view.computedMatrix},set:function(mat){view.setMatrix(view.lastT(),mat);return view.computedMatrix},enumerable:true},mode:{get:function(){return view.getMode()},set:function(mode){var curUp=view.computedUp.slice();var curEye=view.computedEye.slice();var curCenter=view.computedCenter.slice();view.setMode(mode);if(mode==="turntable"){var t0=now();view._active.lookAt(t0,curEye,curCenter,curUp);view._active.lookAt(t0+500,curEye,curCenter,[0,0,1]);view._active.flush(t0)}return view.getMode()},enumerable:true},center:{get:function(){return view.computedCenter},set:function(ncenter){view.lookAt(view.lastT(),null,ncenter);return view.computedCenter},enumerable:true},eye:{get:function(){return view.computedEye},set:function(neye){view.lookAt(view.lastT(),neye);return view.computedEye},enumerable:true},up:{get:function(){return view.computedUp},set:function(nup){view.lookAt(view.lastT(),null,null,nup);return view.computedUp},enumerable:true},distance:{get:function(){return distance},set:function(d){view.setDistance(view.lastT(),d);return d},enumerable:true},distanceLimits:{get:function(){return view.getDistanceLimits(limits)},set:function(v){view.setDistanceLimits(v);return v},enumerable:true}});element.addEventListener("contextmenu",(function(ev){ev.preventDefault();return false}));camera._lastX=-1;camera._lastY=-1;camera._lastMods={shift:false,control:false,alt:false,meta:false};camera.enableMouseListeners=function(){camera.mouseListener=mouseChange(element,handleInteraction);element.addEventListener("touchstart",(function(ev){var xy=mouseOffset(ev.changedTouches[0],element);handleInteraction(0,xy[0],xy[1],camera._lastMods);handleInteraction(1,xy[0],xy[1],camera._lastMods)}),hasPassive?{passive:true}:false);element.addEventListener("touchmove",(function(ev){var xy=mouseOffset(ev.changedTouches[0],element);handleInteraction(1,xy[0],xy[1],camera._lastMods);ev.preventDefault()}),hasPassive?{passive:false}:false);element.addEventListener("touchend",(function(ev){handleInteraction(0,camera._lastX,camera._lastY,camera._lastMods)}),hasPassive?{passive:true}:false);function handleInteraction(buttons,x,y,mods){var keyBindingMode=camera.keyBindingMode;if(keyBindingMode===false)return;var rotate=keyBindingMode==="rotate";var pan=keyBindingMode==="pan";var zoom=keyBindingMode==="zoom";var ctrl=!!mods.control;var alt=!!mods.alt;var shift=!!mods.shift;var left=!!(buttons&1);var right=!!(buttons&2);var middle=!!(buttons&4);var scale=1/element.clientHeight;var dx=scale*(x-camera._lastX);var dy=scale*(y-camera._lastY);var flipX=camera.flipX?1:-1;var flipY=camera.flipY?1:-1;var drot=Math.PI*camera.rotateSpeed;var t=now();if(camera._lastX!==-1&&camera._lastY!==-1){if(rotate&&left&&!ctrl&&!alt&&!shift||left&&!ctrl&&!alt&&shift){view.rotate(t,flipX*drot*dx,-flipY*drot*dy,0)}if(pan&&left&&!ctrl&&!alt&&!shift||right||left&&ctrl&&!alt&&!shift){view.pan(t,-camera.translateSpeed*dx*distance,camera.translateSpeed*dy*distance,0)}if(zoom&&left&&!ctrl&&!alt&&!shift||middle||left&&!ctrl&&alt&&!shift){var kzoom=-camera.zoomSpeed*dy/window.innerHeight*(t-view.lastT())*100;view.pan(t,0,0,distance*(Math.exp(kzoom)-1))}}camera._lastX=x;camera._lastY=y;camera._lastMods=mods;return true}camera.wheelListener=mouseWheel(element,(function(dx,dy){if(camera.keyBindingMode===false)return;if(!camera.enableWheel)return;var flipX=camera.flipX?1:-1;var flipY=camera.flipY?1:-1;var t=now();if(Math.abs(dx)>Math.abs(dy)){view.rotate(t,0,0,-dx*flipX*Math.PI*camera.rotateSpeed/window.innerWidth)}else{if(!camera._ortho){var kzoom=-camera.zoomSpeed*flipY*dy/window.innerHeight*(t-view.lastT())/20;view.pan(t,0,0,distance*(Math.exp(kzoom)-1))}}}),true)};camera.enableMouseListeners();return camera}},{"3d-view":55,"has-passive-events":444,"mouse-change":470,"mouse-event-offset":471,"mouse-wheel":473,"right-now":542}],324:[function(_dereq_,module,exports){var glslify=_dereq_("glslify");var createShader=_dereq_("gl-shader");var vertSrc=glslify(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n  uv = position;\n  gl_Position = vec4(position, 0, 1);\n}"]);var fragSrc=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n  gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);module.exports=function(gl){return createShader(gl,vertSrc,fragSrc,null,[{name:"position",type:"vec2"}])}},{"gl-shader":339,glslify:325}],325:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],326:[function(_dereq_,module,exports){"use strict";var createCamera=_dereq_("./camera.js");var createAxes=_dereq_("gl-axes3d");var axesRanges=_dereq_("gl-axes3d/properties");var createSpikes=_dereq_("gl-spikes3d");var createSelect=_dereq_("gl-select-static");var createFBO=_dereq_("gl-fbo");var drawTriangle=_dereq_("a-big-triangle");var mouseChange=_dereq_("mouse-change");var perspective=_dereq_("gl-mat4/perspective");var ortho=_dereq_("gl-mat4/ortho");var createShader=_dereq_("./lib/shader");var isMobile=_dereq_("is-mobile")({tablet:true,featureDetect:true});module.exports={createScene:createScene,createCamera:createCamera};function MouseSelect(){this.mouse=[-1,-1];this.screen=null;this.distance=Infinity;this.index=null;this.dataCoordinate=null;this.dataPosition=null;this.object=null;this.data=null}function getContext(canvas,options){var gl=null;try{gl=canvas.getContext("webgl",options);if(!gl){gl=canvas.getContext("experimental-webgl",options)}}catch(e){return null}return gl}function roundUpPow10(x){var y=Math.round(Math.log(Math.abs(x))/Math.log(10));if(y<0){var base=Math.round(Math.pow(10,-y));return Math.ceil(x*base)/base}else if(y>0){var base=Math.round(Math.pow(10,y));return Math.ceil(x/base)*base}return Math.ceil(x)}function defaultBool(x){if(typeof x==="boolean"){return x}return true}function createScene(options){options=options||{};options.camera=options.camera||{};var canvas=options.canvas;if(!canvas){canvas=document.createElement("canvas");if(options.container){var container=options.container;container.appendChild(canvas)}else{document.body.appendChild(canvas)}}var gl=options.gl;if(!gl){if(options.glOptions){isMobile=!!options.glOptions.preserveDrawingBuffer}gl=getContext(canvas,options.glOptions||{premultipliedAlpha:true,antialias:true,preserveDrawingBuffer:isMobile})}if(!gl){throw new Error("webgl not supported")}var bounds=options.bounds||[[-10,-10,-10],[10,10,10]];var selection=new MouseSelect;var accumBuffer=createFBO(gl,gl.drawingBufferWidth,gl.drawingBufferHeight,{preferFloat:!isMobile});var accumShader=createShader(gl);var isOrtho=options.cameraObject&&options.cameraObject._ortho===true||options.camera.projection&&options.camera.projection.type==="orthographic"||false;var cameraOptions={eye:options.camera.eye||[2,0,0],center:options.camera.center||[0,0,0],up:options.camera.up||[0,1,0],zoomMin:options.camera.zoomMax||.1,zoomMax:options.camera.zoomMin||100,mode:options.camera.mode||"turntable",_ortho:isOrtho};var axesOptions=options.axes||{};var axes=createAxes(gl,axesOptions);axes.enable=!axesOptions.disable;var spikeOptions=options.spikes||{};var spikes=createSpikes(gl,spikeOptions);var objects=[];var pickBufferIds=[];var pickBufferCount=[];var pickBuffers=[];var dirty=true;var pickDirty=true;var projection=new Array(16);var model=new Array(16);var cameraParams={view:null,projection:projection,model:model,_ortho:false};var pickDirty=true;var viewShape=[gl.drawingBufferWidth,gl.drawingBufferHeight];var camera=options.cameraObject||createCamera(canvas,cameraOptions);var scene={gl:gl,contextLost:false,pixelRatio:options.pixelRatio||1,canvas:canvas,selection:selection,camera:camera,axes:axes,axesPixels:null,spikes:spikes,bounds:bounds,objects:objects,shape:viewShape,aspect:options.aspectRatio||[1,1,1],pickRadius:options.pickRadius||10,zNear:options.zNear||.01,zFar:options.zFar||1e3,fovy:options.fovy||Math.PI/4,clearColor:options.clearColor||[0,0,0,0],autoResize:defaultBool(options.autoResize),autoBounds:defaultBool(options.autoBounds),autoScale:!!options.autoScale,autoCenter:defaultBool(options.autoCenter),clipToBounds:defaultBool(options.clipToBounds),snapToData:!!options.snapToData,onselect:options.onselect||null,onrender:options.onrender||null,onclick:options.onclick||null,cameraParams:cameraParams,oncontextloss:null,mouseListener:null,_stopped:false,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(aspectratio){this.aspect[0]=aspectratio.x;this.aspect[1]=aspectratio.y;this.aspect[2]=aspectratio.z;pickDirty=true},setBounds:function(axisIndex,range){this.bounds[0][axisIndex]=range.min;this.bounds[1][axisIndex]=range.max},setClearColor:function(clearColor){this.clearColor=clearColor},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]);this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}};var pickShape=[gl.drawingBufferWidth/scene.pixelRatio|0,gl.drawingBufferHeight/scene.pixelRatio|0];function resizeListener(){if(scene._stopped){return}if(!scene.autoResize){return}var parent=canvas.parentNode;var width=1;var height=1;if(parent&&parent!==document.body){width=parent.clientWidth;height=parent.clientHeight}else{width=window.innerWidth;height=window.innerHeight}var nextWidth=Math.ceil(width*scene.pixelRatio)|0;var nextHeight=Math.ceil(height*scene.pixelRatio)|0;if(nextWidth!==canvas.width||nextHeight!==canvas.height){canvas.width=nextWidth;canvas.height=nextHeight;var style=canvas.style;style.position=style.position||"absolute";style.left="0px";style.top="0px";style.width=width+"px";style.height=height+"px";dirty=true}}if(scene.autoResize){resizeListener()}window.addEventListener("resize",resizeListener);function reallocPickIds(){var numObjs=objects.length;var numPick=pickBuffers.length;for(var i=0;i<numPick;++i){pickBufferCount[i]=0}obj_loop:for(var i=0;i<numObjs;++i){var obj=objects[i];var pickCount=obj.pickSlots;if(!pickCount){pickBufferIds[i]=-1;continue}for(var j=0;j<numPick;++j){if(pickBufferCount[j]+pickCount<255){pickBufferIds[i]=j;obj.setPickBase(pickBufferCount[j]+1);pickBufferCount[j]+=pickCount;continue obj_loop}}var nbuffer=createSelect(gl,viewShape);pickBufferIds[i]=numPick;pickBuffers.push(nbuffer);pickBufferCount.push(pickCount);obj.setPickBase(1);numPick+=1}while(numPick>0&&pickBufferCount[numPick-1]===0){pickBufferCount.pop();pickBuffers.pop().dispose()}}scene.update=function(options){if(scene._stopped){return}options=options||{};dirty=true;pickDirty=true};scene.add=function(obj){if(scene._stopped){return}obj.axes=axes;objects.push(obj);pickBufferIds.push(-1);dirty=true;pickDirty=true;reallocPickIds()};scene.remove=function(obj){if(scene._stopped){return}var idx=objects.indexOf(obj);if(idx<0){return}objects.splice(idx,1);pickBufferIds.pop();dirty=true;pickDirty=true;reallocPickIds()};scene.dispose=function(){if(scene._stopped){return}scene._stopped=true;window.removeEventListener("resize",resizeListener);canvas.removeEventListener("webglcontextlost",checkContextLoss);scene.mouseListener.enabled=false;if(scene.contextLost){return}axes.dispose();spikes.dispose();for(var i=0;i<objects.length;++i){objects[i].dispose()}accumBuffer.dispose();for(var i=0;i<pickBuffers.length;++i){pickBuffers[i].dispose()}accumShader.dispose();gl=null;axes=null;spikes=null;objects=[]};scene._mouseRotating=false;scene._prevButtons=0;scene.enableMouseListeners=function(){scene.mouseListener=mouseChange(canvas,(function(buttons,x,y){if(scene._stopped){return}var numPick=pickBuffers.length;var numObjs=objects.length;var prevObj=selection.object;selection.distance=Infinity;selection.mouse[0]=x;selection.mouse[1]=y;selection.object=null;selection.screen=null;selection.dataCoordinate=selection.dataPosition=null;var change=false;if(buttons&&scene._prevButtons){scene._mouseRotating=true}else{if(scene._mouseRotating){pickDirty=true}scene._mouseRotating=false;for(var i=0;i<numPick;++i){var result=pickBuffers[i].query(x,pickShape[1]-y-1,scene.pickRadius);if(result){if(result.distance>selection.distance){continue}for(var j=0;j<numObjs;++j){var obj=objects[j];if(pickBufferIds[j]!==i){continue}var objPick=obj.pick(result);if(objPick){selection.buttons=buttons;selection.screen=result.coord;selection.distance=result.distance;selection.object=obj;selection.index=objPick.distance;selection.dataPosition=objPick.position;selection.dataCoordinate=objPick.dataCoordinate;selection.data=objPick;change=true}}}}}if(prevObj&&prevObj!==selection.object){if(prevObj.highlight){prevObj.highlight(null)}dirty=true}if(selection.object){if(selection.object.highlight){selection.object.highlight(selection.data)}dirty=true}change=change||selection.object!==prevObj;if(change&&scene.onselect){scene.onselect(selection)}if(buttons&1&&!(scene._prevButtons&1)&&scene.onclick){scene.onclick(selection)}scene._prevButtons=buttons}))};function checkContextLoss(){if(scene.contextLost){return true}if(gl.isContextLost()){scene.contextLost=true;scene.mouseListener.enabled=false;scene.selection.object=null;if(scene.oncontextloss){scene.oncontextloss()}}}canvas.addEventListener("webglcontextlost",checkContextLoss);function renderPick(){if(checkContextLoss()){return}gl.colorMask(true,true,true,true);gl.depthMask(true);gl.disable(gl.BLEND);gl.enable(gl.DEPTH_TEST);gl.depthFunc(gl.LEQUAL);var numObjs=objects.length;var numPick=pickBuffers.length;for(var j=0;j<numPick;++j){var buf=pickBuffers[j];buf.shape=pickShape;buf.begin();for(var i=0;i<numObjs;++i){if(pickBufferIds[i]!==j){continue}var obj=objects[i];if(obj.drawPick){obj.pixelRatio=1;obj.drawPick(cameraParams)}}buf.end()}}var nBounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];var prevBounds=[nBounds[0].slice(),nBounds[1].slice()];function redraw(){if(checkContextLoss()){return}resizeListener();var cameraMoved=scene.camera.tick();cameraParams.view=scene.camera.matrix;dirty=dirty||cameraMoved;pickDirty=pickDirty||cameraMoved;axes.pixelRatio=scene.pixelRatio;spikes.pixelRatio=scene.pixelRatio;var numObjs=objects.length;var lo=nBounds[0];var hi=nBounds[1];lo[0]=lo[1]=lo[2]=Infinity;hi[0]=hi[1]=hi[2]=-Infinity;for(var i=0;i<numObjs;++i){var obj=objects[i];obj.pixelRatio=scene.pixelRatio;obj.axes=scene.axes;dirty=dirty||!!obj.dirty;pickDirty=pickDirty||!!obj.dirty;var obb=obj.bounds;if(obb){var olo=obb[0];var ohi=obb[1];for(var j=0;j<3;++j){lo[j]=Math.min(lo[j],olo[j]);hi[j]=Math.max(hi[j],ohi[j])}}}var bounds=scene.bounds;if(scene.autoBounds){for(var j=0;j<3;++j){if(hi[j]<lo[j]){lo[j]=-1;hi[j]=1}else{if(lo[j]===hi[j]){lo[j]-=1;hi[j]+=1}var padding=.05*(hi[j]-lo[j]);lo[j]=lo[j]-padding;hi[j]=hi[j]+padding}bounds[0][j]=lo[j];bounds[1][j]=hi[j]}}var boundsChanged=false;for(var j=0;j<3;++j){boundsChanged=boundsChanged||prevBounds[0][j]!==bounds[0][j]||prevBounds[1][j]!==bounds[1][j];prevBounds[0][j]=bounds[0][j];prevBounds[1][j]=bounds[1][j]}pickDirty=pickDirty||boundsChanged;dirty=dirty||boundsChanged;if(!dirty){return}if(boundsChanged){var tickSpacing=[0,0,0];for(var i=0;i<3;++i){tickSpacing[i]=roundUpPow10((bounds[1][i]-bounds[0][i])/10)}if(axes.autoTicks){axes.update({bounds:bounds,tickSpacing:tickSpacing})}else{axes.update({bounds:bounds})}}var width=gl.drawingBufferWidth;var height=gl.drawingBufferHeight;viewShape[0]=width;viewShape[1]=height;pickShape[0]=Math.max(width/scene.pixelRatio,1)|0;pickShape[1]=Math.max(height/scene.pixelRatio,1)|0;calcCameraParams(scene,isOrtho);for(var i=0;i<numObjs;++i){var obj=objects[i];obj.axesBounds=bounds;if(scene.clipToBounds){obj.clipBounds=bounds}}if(selection.object){if(scene.snapToData){spikes.position=selection.dataCoordinate}else{spikes.position=selection.dataPosition}spikes.bounds=bounds}if(pickDirty){pickDirty=false;renderPick()}scene.axesPixels=axesRanges(scene.axes,cameraParams,width,height);if(scene.onrender){scene.onrender()}gl.bindFramebuffer(gl.FRAMEBUFFER,null);gl.viewport(0,0,width,height);scene.clearRGBA();gl.depthMask(true);gl.colorMask(true,true,true,true);gl.enable(gl.DEPTH_TEST);gl.depthFunc(gl.LEQUAL);gl.disable(gl.BLEND);gl.disable(gl.CULL_FACE);var hasTransparent=false;if(axes.enable){hasTransparent=hasTransparent||axes.isTransparent();axes.draw(cameraParams)}spikes.axes=axes;if(selection.object){spikes.draw(cameraParams)}gl.disable(gl.CULL_FACE);for(var i=0;i<numObjs;++i){var obj=objects[i];obj.axes=axes;obj.pixelRatio=scene.pixelRatio;if(obj.isOpaque&&obj.isOpaque()){obj.draw(cameraParams)}if(obj.isTransparent&&obj.isTransparent()){hasTransparent=true}}if(hasTransparent){accumBuffer.shape=viewShape;accumBuffer.bind();gl.clear(gl.DEPTH_BUFFER_BIT);gl.colorMask(false,false,false,false);gl.depthMask(true);gl.depthFunc(gl.LESS);if(axes.enable&&axes.isTransparent()){axes.drawTransparent(cameraParams)}for(var i=0;i<numObjs;++i){var obj=objects[i];if(obj.isOpaque&&obj.isOpaque()){obj.draw(cameraParams)}}gl.enable(gl.BLEND);gl.blendEquation(gl.FUNC_ADD);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);gl.colorMask(true,true,true,true);gl.depthMask(false);gl.clearColor(0,0,0,0);gl.clear(gl.COLOR_BUFFER_BIT);if(axes.isTransparent()){axes.drawTransparent(cameraParams)}for(var i=0;i<numObjs;++i){var obj=objects[i];if(obj.isTransparent&&obj.isTransparent()){obj.drawTransparent(cameraParams)}}gl.bindFramebuffer(gl.FRAMEBUFFER,null);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);gl.disable(gl.DEPTH_TEST);accumShader.bind();accumBuffer.color[0].bind(0);accumShader.uniforms.accumBuffer=0;drawTriangle(gl);gl.disable(gl.BLEND)}dirty=false;for(var i=0;i<numObjs;++i){objects[i].dirty=false}}function render(){if(scene._stopped||scene.contextLost){return}redraw();requestAnimationFrame(render)}scene.enableMouseListeners();render();scene.redraw=function(){if(scene._stopped){return}dirty=true;redraw()};return scene}function calcCameraParams(scene,isOrtho){var bounds=scene.bounds;var cameraParams=scene.cameraParams;var projection=cameraParams.projection;var model=cameraParams.model;var width=scene.gl.drawingBufferWidth;var height=scene.gl.drawingBufferHeight;var zNear=scene.zNear;var zFar=scene.zFar;var fovy=scene.fovy;var r=width/height;if(isOrtho){ortho(projection,-r,r,-1,1,zNear,zFar);cameraParams._ortho=true}else{perspective(projection,fovy,r,zNear,zFar);cameraParams._ortho=false}for(var i=0;i<16;++i){model[i]=0}model[15]=1;var maxS=0;for(var i=0;i<3;++i){maxS=Math.max(maxS,bounds[1][i]-bounds[0][i])}for(var i=0;i<3;++i){if(scene.autoScale){model[5*i]=scene.aspect[i]/(bounds[1][i]-bounds[0][i])}else{model[5*i]=1/maxS}if(scene.autoCenter){model[12+i]=-model[5*i]*.5*(bounds[0][i]+bounds[1][i])}}}},{"./camera.js":323,"./lib/shader":324,"a-big-triangle":70,"gl-axes3d":258,"gl-axes3d/properties":266,"gl-fbo":276,"gl-mat4/ortho":302,"gl-mat4/perspective":303,"gl-select-static":338,"gl-spikes3d":349,"is-mobile":455,"mouse-change":470}],327:[function(_dereq_,module,exports){var glslify=_dereq_("glslify");exports.pointVertex=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n  highp float a = 12.9898;\n  highp float b = 78.233;\n  highp float c = 43758.5453;\n  highp float d = dot(co.xy, vec2(a, b));\n  highp float e = mod(d, 3.14);\n  return fract(sin(e) * c);\n}\n\nvoid main() {\n  vec3 hgPosition = matrix * vec3(position, 1);\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\n    // if we don't jitter the point size a bit, overall point cloud\n    // saturation 'jumps' on zooming, which is disturbing and confusing\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n  if(pointCloud != 0.0) { // pointCloud is truthy\n    // get the same square surface as circle would be\n    gl_PointSize *= 0.886;\n  }\n}"]);exports.pointFragment=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n  float radius;\n  vec4 baseColor;\n  if(pointCloud != 0.0) { // pointCloud is truthy\n    if(centerFraction == 1.0) {\n      gl_FragColor = color;\n    } else {\n      gl_FragColor = mix(borderColor, color, centerFraction);\n    }\n  } else {\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\n    if(radius > 1.0) {\n      discard;\n    }\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n  }\n}\n"]);exports.pickVertex=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n  vec3 hgPosition = matrix * vec3(position, 1);\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\n  gl_PointSize = pointSize;\n\n  vec4 id = pickId + pickOffset;\n  id.y += floor(id.x / 256.0);\n  id.x -= floor(id.x / 256.0) * 256.0;\n\n  id.z += floor(id.y / 256.0);\n  id.y -= floor(id.y / 256.0) * 256.0;\n\n  id.w += floor(id.z / 256.0);\n  id.z -= floor(id.z / 256.0) * 256.0;\n\n  fragId = id;\n}\n"]);exports.pickFragment=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n  if(radius > 1.0) {\n    discard;\n  }\n  gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:442}],328:[function(_dereq_,module,exports){"use strict";var createShader=_dereq_("gl-shader");var createBuffer=_dereq_("gl-buffer");var pool=_dereq_("typedarray-pool");var SHADERS=_dereq_("./lib/shader");module.exports=createPointcloud2D;function Pointcloud2D(plot,offsetBuffer,pickBuffer,shader,pickShader){this.plot=plot;this.offsetBuffer=offsetBuffer;this.pickBuffer=pickBuffer;this.shader=shader;this.pickShader=pickShader;this.sizeMin=.5;this.sizeMinCap=2;this.sizeMax=20;this.areaRatio=1;this.pointCount=0;this.color=[1,0,0,1];this.borderColor=[0,0,0,1];this.blend=false;this.pickOffset=0;this.points=null}var proto=Pointcloud2D.prototype;proto.dispose=function(){this.shader.dispose();this.pickShader.dispose();this.offsetBuffer.dispose();this.pickBuffer.dispose();this.plot.removeObject(this)};proto.update=function(options){var i;options=options||{};function dflt(opt,value){if(opt in options){return options[opt]}return value}this.sizeMin=dflt("sizeMin",.5);this.sizeMax=dflt("sizeMax",20);this.color=dflt("color",[1,0,0,1]).slice();this.areaRatio=dflt("areaRatio",1);this.borderColor=dflt("borderColor",[0,0,0,1]).slice();this.blend=dflt("blend",false);var pointCount=options.positions.length>>>1;var dataStraightThrough=options.positions instanceof Float32Array;var idStraightThrough=options.idToIndex instanceof Int32Array&&options.idToIndex.length>=pointCount;var data=options.positions;var packed=dataStraightThrough?data:pool.mallocFloat32(data.length);var packedId=idStraightThrough?options.idToIndex:pool.mallocInt32(pointCount);if(!dataStraightThrough){packed.set(data)}if(!idStraightThrough){packed.set(data);for(i=0;i<pointCount;i++){packedId[i]=i}}this.points=data;this.offsetBuffer.update(packed);this.pickBuffer.update(packedId);if(!dataStraightThrough){pool.free(packed)}if(!idStraightThrough){pool.free(packedId)}this.pointCount=pointCount;this.pickOffset=0};function count(points,dataBox){var visiblePointCountEstimate=0;var length=points.length>>>1;var i;for(i=0;i<length;i++){var x=points[i*2];var y=points[i*2+1];if(x>=dataBox[0]&&x<=dataBox[2]&&y>=dataBox[1]&&y<=dataBox[3])visiblePointCountEstimate++}return visiblePointCountEstimate}proto.unifiedDraw=function(){var MATRIX=[1,0,0,0,1,0,0,0,1];var PICK_VEC4=[0,0,0,0];return function(pickOffset){var pick=pickOffset!==void 0;var shader=pick?this.pickShader:this.shader;var gl=this.plot.gl;var dataBox=this.plot.dataBox;if(this.pointCount===0){return pickOffset}var dataX=dataBox[2]-dataBox[0];var dataY=dataBox[3]-dataBox[1];var visiblePointCountEstimate=count(this.points,dataBox);var basicPointSize=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(visiblePointCountEstimate,.33333)));MATRIX[0]=2/dataX;MATRIX[4]=2/dataY;MATRIX[6]=-2*dataBox[0]/dataX-1;MATRIX[7]=-2*dataBox[1]/dataY-1;this.offsetBuffer.bind();shader.bind();shader.attributes.position.pointer();shader.uniforms.matrix=MATRIX;shader.uniforms.color=this.color;shader.uniforms.borderColor=this.borderColor;shader.uniforms.pointCloud=basicPointSize<5;shader.uniforms.pointSize=basicPointSize;shader.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio)));if(pick){PICK_VEC4[0]=pickOffset&255;PICK_VEC4[1]=pickOffset>>8&255;PICK_VEC4[2]=pickOffset>>16&255;PICK_VEC4[3]=pickOffset>>24&255;this.pickBuffer.bind();shader.attributes.pickId.pointer(gl.UNSIGNED_BYTE);shader.uniforms.pickOffset=PICK_VEC4;this.pickOffset=pickOffset}var blend=gl.getParameter(gl.BLEND);var dither=gl.getParameter(gl.DITHER);if(blend&&!this.blend)gl.disable(gl.BLEND);if(dither)gl.disable(gl.DITHER);gl.drawArrays(gl.POINTS,0,this.pointCount);if(blend&&!this.blend)gl.enable(gl.BLEND);if(dither)gl.enable(gl.DITHER);return pickOffset+this.pointCount}}();proto.draw=proto.unifiedDraw;proto.drawPick=proto.unifiedDraw;proto.pick=function(x,y,value){var pickOffset=this.pickOffset;var pointCount=this.pointCount;if(value<pickOffset||value>=pickOffset+pointCount){return null}var pointId=value-pickOffset;var points=this.points;return{object:this,pointId:pointId,dataCoord:[points[2*pointId],points[2*pointId+1]]}};function createPointcloud2D(plot,options){var gl=plot.gl;var buffer=createBuffer(gl);var pickBuffer=createBuffer(gl);var shader=createShader(gl,SHADERS.pointVertex,SHADERS.pointFragment);var pickShader=createShader(gl,SHADERS.pickVertex,SHADERS.pickFragment);var result=new Pointcloud2D(plot,buffer,pickBuffer,shader,pickShader);result.update(options);plot.addObject(result);return result}},{"./lib/shader":327,"gl-buffer":267,"gl-shader":339,"typedarray-pool":617}],329:[function(_dereq_,module,exports){module.exports=slerp;function slerp(out,a,b,t){var ax=a[0],ay=a[1],az=a[2],aw=a[3],bx=b[0],by=b[1],bz=b[2],bw=b[3];var omega,cosom,sinom,scale0,scale1;cosom=ax*bx+ay*by+az*bz+aw*bw;if(cosom<0){cosom=-cosom;bx=-bx;by=-by;bz=-bz;bw=-bw}if(1-cosom>1e-6){omega=Math.acos(cosom);sinom=Math.sin(omega);scale0=Math.sin((1-t)*omega)/sinom;scale1=Math.sin(t*omega)/sinom}else{scale0=1-t;scale1=t}out[0]=scale0*ax+scale1*bx;out[1]=scale0*ay+scale1*by;out[2]=scale0*az+scale1*bz;out[3]=scale0*aw+scale1*bw;return out}},{}],330:[function(_dereq_,module,exports){"use strict";module.exports=function(a){return!a&&a!==0?"":a.toString()}},{}],331:[function(_dereq_,module,exports){"use strict";var vectorizeText=_dereq_("vectorize-text");module.exports=getGlyph;var GLYPH_CACHE={};function getGlyph(symbol,font,pixelRatio){var fontCache=GLYPH_CACHE[font];if(!fontCache){fontCache=GLYPH_CACHE[font]={}}if(symbol in fontCache){return fontCache[symbol]}var config={textAlign:"center",textBaseline:"middle",lineHeight:1,font:font,lineSpacing:1.25,styletags:{breaklines:true,bolds:true,italics:true,subscripts:true,superscripts:true}};config.triangles=true;var triSymbol=vectorizeText(symbol,config);config.triangles=false;var lineSymbol=vectorizeText(symbol,config);var i,j;if(pixelRatio&&pixelRatio!==1){for(i=0;i<triSymbol.positions.length;++i){for(j=0;j<triSymbol.positions[i].length;++j){triSymbol.positions[i][j]/=pixelRatio}}for(i=0;i<lineSymbol.positions.length;++i){for(j=0;j<lineSymbol.positions[i].length;++j){lineSymbol.positions[i][j]/=pixelRatio}}}var bounds=[[Infinity,Infinity],[-Infinity,-Infinity]];var n=lineSymbol.positions.length;for(i=0;i<n;++i){var p=lineSymbol.positions[i];for(j=0;j<2;++j){bounds[0][j]=Math.min(bounds[0][j],p[j]);bounds[1][j]=Math.max(bounds[1][j],p[j])}}return fontCache[symbol]=[triSymbol,lineSymbol,bounds]}},{"vectorize-text":623}],332:[function(_dereq_,module,exports){var createShaderWrapper=_dereq_("gl-shader");var glslify=_dereq_("glslify");var perspectiveVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = 1.0;\n    if(distance(highlightId, id) < 0.0001) {\n      scale = highlightScale;\n    }\n\n    vec4 worldPosition = model * vec4(position, 1);\n    vec4 viewPosition = view * worldPosition;\n    viewPosition = viewPosition / viewPosition.w;\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n    gl_Position = clipPosition;\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = position;\n  }\n}"]);var orthographicVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = pixelRatio;\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\n      scale *= highlightScale;\n    }\n\n    vec4 worldPosition = model * vec4(position, 1.0);\n    vec4 viewPosition = view * worldPosition;\n    vec4 clipPosition = projection * viewPosition;\n    clipPosition /= clipPosition.w;\n\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = position;\n  }\n}"]);var projectionVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float lscale = pixelRatio * scale;\n    if(distance(highlightId, id) < 0.0001) {\n      lscale *= highlightScale;\n    }\n\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n    gl_Position = clipPosition;\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = dataPosition;\n  }\n}\n"]);var drawFragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (\n    outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n    interpColor.a * opacity == 0.\n  ) discard;\n  gl_FragColor = interpColor * opacity;\n}\n"]);var pickFragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n  gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]);var ATTRIBUTES=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}];var perspective={vertex:perspectiveVertSrc,fragment:drawFragSrc,attributes:ATTRIBUTES},ortho={vertex:orthographicVertSrc,fragment:drawFragSrc,attributes:ATTRIBUTES},project={vertex:projectionVertSrc,fragment:drawFragSrc,attributes:ATTRIBUTES},pickPerspective={vertex:perspectiveVertSrc,fragment:pickFragSrc,attributes:ATTRIBUTES},pickOrtho={vertex:orthographicVertSrc,fragment:pickFragSrc,attributes:ATTRIBUTES},pickProject={vertex:projectionVertSrc,fragment:pickFragSrc,attributes:ATTRIBUTES};function createShader(gl,src){var shader=createShaderWrapper(gl,src);var attr=shader.attributes;attr.position.location=0;attr.color.location=1;attr.glyph.location=2;attr.id.location=3;return shader}exports.createPerspective=function(gl){return createShader(gl,perspective)};exports.createOrtho=function(gl){return createShader(gl,ortho)};exports.createProject=function(gl){return createShader(gl,project)};exports.createPickPerspective=function(gl){return createShader(gl,pickPerspective)};exports.createPickOrtho=function(gl){return createShader(gl,pickOrtho)};exports.createPickProject=function(gl){return createShader(gl,pickProject)}},{"gl-shader":339,glslify:333}],333:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],334:[function(_dereq_,module,exports){"use strict";var isAllBlank=_dereq_("is-string-blank");var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var pool=_dereq_("typedarray-pool");var mat4mult=_dereq_("gl-mat4/multiply");var shaders=_dereq_("./lib/shaders");var getGlyph=_dereq_("./lib/glyphs");var getSimpleString=_dereq_("./lib/get-simple-string");var IDENTITY=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];module.exports=createPointCloud;function transformMat4(x,m){var x0=x[0];var x1=x[1];var x2=x[2];var x3=x[3];x[0]=m[0]*x0+m[4]*x1+m[8]*x2+m[12]*x3;x[1]=m[1]*x0+m[5]*x1+m[9]*x2+m[13]*x3;x[2]=m[2]*x0+m[6]*x1+m[10]*x2+m[14]*x3;x[3]=m[3]*x0+m[7]*x1+m[11]*x2+m[15]*x3;return x}function project(p,v,m,x){transformMat4(x,x,m);transformMat4(x,x,v);return transformMat4(x,x,p)}function ScatterPlotPickResult(index,position){this.index=index;this.dataCoordinate=this.position=position}function fixOpacity(a){if(a===true)return 1;if(a>1)return 1;return a}function PointCloud(gl,shader,orthoShader,projectShader,pointBuffer,colorBuffer,glyphBuffer,idBuffer,vao,pickPerspectiveShader,pickOrthoShader,pickProjectShader){this.gl=gl;this.pixelRatio=1;this.shader=shader;this.orthoShader=orthoShader;this.projectShader=projectShader;this.pointBuffer=pointBuffer;this.colorBuffer=colorBuffer;this.glyphBuffer=glyphBuffer;this.idBuffer=idBuffer;this.vao=vao;this.vertexCount=0;this.lineVertexCount=0;this.opacity=1;this.hasAlpha=false;this.lineWidth=0;this.projectScale=[2/3,2/3,2/3];this.projectOpacity=[1,1,1];this.projectHasAlpha=false;this.pickId=0;this.pickPerspectiveShader=pickPerspectiveShader;this.pickOrthoShader=pickOrthoShader;this.pickProjectShader=pickProjectShader;this.points=[];this._selectResult=new ScatterPlotPickResult(0,[0,0,0]);this.useOrtho=true;this.bounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];this.axesProject=[true,true,true];this.axesBounds=[[-Infinity,-Infinity,-Infinity],[Infinity,Infinity,Infinity]];this.highlightId=[1,1,1,1];this.highlightScale=2;this.clipBounds=[[-Infinity,-Infinity,-Infinity],[Infinity,Infinity,Infinity]];this.dirty=true}var proto=PointCloud.prototype;proto.pickSlots=1;proto.setPickBase=function(pickBase){this.pickId=pickBase};proto.isTransparent=function(){if(this.hasAlpha){return true}for(var i=0;i<3;++i){if(this.axesProject[i]&&this.projectHasAlpha){return true}}return false};proto.isOpaque=function(){if(!this.hasAlpha){return true}for(var i=0;i<3;++i){if(this.axesProject[i]&&!this.projectHasAlpha){return true}}return false};var VIEW_SHAPE=[0,0];var U_VEC=[0,0,0];var V_VEC=[0,0,0];var MU_VEC=[0,0,0,1];var MV_VEC=[0,0,0,1];var SCRATCH_MATRIX=IDENTITY.slice();var SCRATCH_VEC=[0,0,0];var CLIP_BOUNDS=[[0,0,0],[0,0,0]];function zeroVec(a){a[0]=a[1]=a[2]=0;return a}function augment(hg,af){hg[0]=af[0];hg[1]=af[1];hg[2]=af[2];hg[3]=1;return hg}function setComponent(out,v,i,x){out[0]=v[0];out[1]=v[1];out[2]=v[2];out[i]=x;return out}function getClipBounds(bounds){var result=CLIP_BOUNDS;for(var i=0;i<2;++i){for(var j=0;j<3;++j){result[i][j]=Math.max(Math.min(bounds[i][j],1e8),-1e8)}}return result}function drawProject(shader,points,camera,pixelRatio){var axesProject=points.axesProject;var gl=points.gl;var uniforms=shader.uniforms;var model=camera.model||IDENTITY;var view=camera.view||IDENTITY;var projection=camera.projection||IDENTITY;var bounds=points.axesBounds;var clipBounds=getClipBounds(points.clipBounds);var cubeAxis;if(points.axes&&points.axes.lastCubeProps){cubeAxis=points.axes.lastCubeProps.axis}else{cubeAxis=[1,1,1]}VIEW_SHAPE[0]=2/gl.drawingBufferWidth;VIEW_SHAPE[1]=2/gl.drawingBufferHeight;shader.bind();uniforms.view=view;uniforms.projection=projection;uniforms.screenSize=VIEW_SHAPE;uniforms.highlightId=points.highlightId;uniforms.highlightScale=points.highlightScale;uniforms.clipBounds=clipBounds;uniforms.pickGroup=points.pickId/255;uniforms.pixelRatio=pixelRatio;for(var i=0;i<3;++i){if(!axesProject[i]){continue}uniforms.scale=points.projectScale[i];uniforms.opacity=points.projectOpacity[i];var pmodel=SCRATCH_MATRIX;for(var j=0;j<16;++j){pmodel[j]=0}for(var j=0;j<4;++j){pmodel[5*j]=1}pmodel[5*i]=0;if(cubeAxis[i]<0){pmodel[12+i]=bounds[0][i]}else{pmodel[12+i]=bounds[1][i]}mat4mult(pmodel,model,pmodel);uniforms.model=pmodel;var u=(i+1)%3;var v=(i+2)%3;var du=zeroVec(U_VEC);var dv=zeroVec(V_VEC);du[u]=1;dv[v]=1;var mdu=project(projection,view,model,augment(MU_VEC,du));var mdv=project(projection,view,model,augment(MV_VEC,dv));if(Math.abs(mdu[1])>Math.abs(mdv[1])){var tmp=mdu;mdu=mdv;mdv=tmp;tmp=du;du=dv;dv=tmp;var t=u;u=v;v=t}if(mdu[0]<0){du[u]=-1}if(mdv[1]>0){dv[v]=-1}var su=0;var sv=0;for(var j=0;j<4;++j){su+=Math.pow(model[4*u+j],2);sv+=Math.pow(model[4*v+j],2)}du[u]/=Math.sqrt(su);dv[v]/=Math.sqrt(sv);uniforms.axes[0]=du;uniforms.axes[1]=dv;uniforms.fragClipBounds[0]=setComponent(SCRATCH_VEC,clipBounds[0],i,-1e8);uniforms.fragClipBounds[1]=setComponent(SCRATCH_VEC,clipBounds[1],i,1e8);points.vao.bind();points.vao.draw(gl.TRIANGLES,points.vertexCount);if(points.lineWidth>0){gl.lineWidth(points.lineWidth*pixelRatio);points.vao.draw(gl.LINES,points.lineVertexCount,points.vertexCount)}points.vao.unbind()}}var NEG_INFINITY3=[-1e8,-1e8,-1e8];var POS_INFINITY3=[1e8,1e8,1e8];var CLIP_GROUP=[NEG_INFINITY3,POS_INFINITY3];function drawFull(shader,pshader,points,camera,pixelRatio,transparent,forceDraw){var gl=points.gl;if(transparent===points.projectHasAlpha||forceDraw){drawProject(pshader,points,camera,pixelRatio)}if(transparent===points.hasAlpha||forceDraw){shader.bind();var uniforms=shader.uniforms;uniforms.model=camera.model||IDENTITY;uniforms.view=camera.view||IDENTITY;uniforms.projection=camera.projection||IDENTITY;VIEW_SHAPE[0]=2/gl.drawingBufferWidth;VIEW_SHAPE[1]=2/gl.drawingBufferHeight;uniforms.screenSize=VIEW_SHAPE;uniforms.highlightId=points.highlightId;uniforms.highlightScale=points.highlightScale;uniforms.fragClipBounds=CLIP_GROUP;uniforms.clipBounds=points.axes.bounds;uniforms.opacity=points.opacity;uniforms.pickGroup=points.pickId/255;uniforms.pixelRatio=pixelRatio;points.vao.bind();points.vao.draw(gl.TRIANGLES,points.vertexCount);if(points.lineWidth>0){gl.lineWidth(points.lineWidth*pixelRatio);points.vao.draw(gl.LINES,points.lineVertexCount,points.vertexCount)}points.vao.unbind()}}proto.draw=function(camera){var shader=this.useOrtho?this.orthoShader:this.shader;drawFull(shader,this.projectShader,this,camera,this.pixelRatio,false,false)};proto.drawTransparent=function(camera){var shader=this.useOrtho?this.orthoShader:this.shader;drawFull(shader,this.projectShader,this,camera,this.pixelRatio,true,false)};proto.drawPick=function(camera){var shader=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;drawFull(shader,this.pickProjectShader,this,camera,1,true,true)};proto.pick=function(selected){if(!selected){return null}if(selected.id!==this.pickId){return null}var x=selected.value[2]+(selected.value[1]<<8)+(selected.value[0]<<16);if(x>=this.pointCount||x<0){return null}var coord=this.points[x];var result=this._selectResult;result.index=x;for(var i=0;i<3;++i){result.position[i]=result.dataCoordinate[i]=coord[i]}return result};proto.highlight=function(selection){if(!selection){this.highlightId=[1,1,1,1]}else{var pointId=selection.index;var a0=pointId&255;var a1=pointId>>8&255;var a2=pointId>>16&255;this.highlightId=[a0/255,a1/255,a2/255,0]}};function get_glyphData(glyphs,index,font,pixelRatio){var str;if(Array.isArray(glyphs)){if(index<glyphs.length){str=glyphs[index]}else{str=undefined}}else{str=glyphs}str=getSimpleString(str);var visible=true;if(isAllBlank(str)){str="▼";visible=false}var glyph=getGlyph(str,font,pixelRatio);return{mesh:glyph[0],lines:glyph[1],bounds:glyph[2],visible:visible}}proto.update=function(options){options=options||{};if("perspective"in options){this.useOrtho=!options.perspective}if("orthographic"in options){this.useOrtho=!!options.orthographic}if("lineWidth"in options){this.lineWidth=options.lineWidth}if("project"in options){if(Array.isArray(options.project)){this.axesProject=options.project}else{var v=!!options.project;this.axesProject=[v,v,v]}}if("projectScale"in options){if(Array.isArray(options.projectScale)){this.projectScale=options.projectScale.slice()}else{var s=+options.projectScale;this.projectScale=[s,s,s]}}this.projectHasAlpha=false;if("projectOpacity"in options){if(Array.isArray(options.projectOpacity)){this.projectOpacity=options.projectOpacity.slice()}else{var s=+options.projectOpacity;this.projectOpacity=[s,s,s]}for(var i=0;i<3;++i){this.projectOpacity[i]=fixOpacity(this.projectOpacity[i]);if(this.projectOpacity[i]<1){this.projectHasAlpha=true}}}this.hasAlpha=false;if("opacity"in options){this.opacity=fixOpacity(options.opacity);if(this.opacity<1){this.hasAlpha=true}}this.dirty=true;var points=options.position;var font=options.font||"normal";var alignment=options.alignment||[0,0];var alignmentX;var alignmentY;if(alignment.length===2){alignmentX=alignment[0];alignmentY=alignment[1]}else{alignmentX=[];alignmentY=[];for(var i=0;i<alignment.length;++i){alignmentX[i]=alignment[i][0];alignmentY[i]=alignment[i][1]}}var lowerBound=[Infinity,Infinity,Infinity];var upperBound=[-Infinity,-Infinity,-Infinity];var glyphs=options.glyph;var colors=options.color;var sizes=options.size;var angles=options.angle;var lineColors=options.lineColor;var pickCounter=-1;var triVertexCount=0;var lineVertexCount=0;var numPoints=0;if(points.length){numPoints=points.length;count_loop:for(var i=0;i<numPoints;++i){var x=points[i];for(var j=0;j<3;++j){if(isNaN(x[j])||!isFinite(x[j])){continue count_loop}}var glyphData=get_glyphData(glyphs,i,font,this.pixelRatio);var glyphMesh=glyphData.mesh;var glyphLines=glyphData.lines;var glyphBounds=glyphData.bounds;triVertexCount+=glyphMesh.cells.length*3;lineVertexCount+=glyphLines.edges.length*2}}var vertexCount=triVertexCount+lineVertexCount;var positionArray=pool.mallocFloat(3*vertexCount);var colorArray=pool.mallocFloat(4*vertexCount);var glyphArray=pool.mallocFloat(2*vertexCount);var idArray=pool.mallocUint32(vertexCount);if(vertexCount>0){var triOffset=0;var lineOffset=triVertexCount;var color=[0,0,0,1];var lineColor=[0,0,0,1];var isColorArray=Array.isArray(colors)&&Array.isArray(colors[0]);var isLineColorArray=Array.isArray(lineColors)&&Array.isArray(lineColors[0]);fill_loop:for(var i=0;i<numPoints;++i){pickCounter+=1;var x=points[i];for(var j=0;j<3;++j){if(isNaN(x[j])||!isFinite(x[j])){continue fill_loop}upperBound[j]=Math.max(upperBound[j],x[j]);lowerBound[j]=Math.min(lowerBound[j],x[j])}var glyphData=get_glyphData(glyphs,i,font,this.pixelRatio);var glyphMesh=glyphData.mesh;var glyphLines=glyphData.lines;var glyphBounds=glyphData.bounds;var glyphVisible=glyphData.visible;if(!glyphVisible)color=[1,1,1,0];else if(Array.isArray(colors)){var c;if(isColorArray){if(i<colors.length){c=colors[i]}else{c=[0,0,0,0]}}else{c=colors}if(c.length===3){for(var j=0;j<3;++j){color[j]=c[j]}color[3]=1}else if(c.length===4){for(var j=0;j<4;++j){color[j]=c[j]}if(!this.hasAlpha&&c[3]<1)this.hasAlpha=true}}else{color[0]=color[1]=color[2]=0;color[3]=1}if(!glyphVisible)lineColor=[1,1,1,0];else if(Array.isArray(lineColors)){var c;if(isLineColorArray){if(i<lineColors.length){c=lineColors[i]}else{c=[0,0,0,0]}}else{c=lineColors}if(c.length===3){for(var j=0;j<3;++j){lineColor[j]=c[j]}lineColor[j]=1}else if(c.length===4){for(var j=0;j<4;++j){lineColor[j]=c[j]}if(!this.hasAlpha&&c[3]<1)this.hasAlpha=true}}else{lineColor[0]=lineColor[1]=lineColor[2]=0;lineColor[3]=1}var size=.5;if(!glyphVisible)size=0;else if(Array.isArray(sizes)){if(i<sizes.length){size=+sizes[i]}else{size=12}}else if(sizes){size=+sizes}else if(this.useOrtho){size=12}var angle=0;if(Array.isArray(angles)){if(i<angles.length){angle=+angles[i]}else{angle=0}}else if(angles){angle=+angles}var cos=Math.cos(angle);var sin=Math.sin(angle);var x=points[i];for(var j=0;j<3;++j){upperBound[j]=Math.max(upperBound[j],x[j]);lowerBound[j]=Math.min(lowerBound[j],x[j])}var textOffsetX=alignmentX;var textOffsetY=alignmentY;var textOffsetX=0;if(Array.isArray(alignmentX)){if(i<alignmentX.length){textOffsetX=alignmentX[i]}else{textOffsetX=0}}else if(alignmentX){textOffsetX=alignmentX}var textOffsetY=0;if(Array.isArray(alignmentY)){if(i<alignmentY.length){textOffsetY=alignmentY[i]}else{textOffsetY=0}}else if(alignmentY){textOffsetY=alignmentY}textOffsetX*=textOffsetX>0?1-glyphBounds[0][0]:textOffsetX<0?1+glyphBounds[1][0]:1;textOffsetY*=textOffsetY>0?1-glyphBounds[0][1]:textOffsetY<0?1+glyphBounds[1][1]:1;var textOffset=[textOffsetX,textOffsetY];var cells=glyphMesh.cells||[];var verts=glyphMesh.positions||[];for(var j=0;j<cells.length;++j){var cell=cells[j];for(var k=0;k<3;++k){for(var l=0;l<3;++l){positionArray[3*triOffset+l]=x[l]}for(var l=0;l<4;++l){colorArray[4*triOffset+l]=color[l]}idArray[triOffset]=pickCounter;var p=verts[cell[k]];glyphArray[2*triOffset]=size*(cos*p[0]-sin*p[1]+textOffset[0]);glyphArray[2*triOffset+1]=size*(sin*p[0]+cos*p[1]+textOffset[1]);triOffset+=1}}var cells=glyphLines.edges;var verts=glyphLines.positions;for(var j=0;j<cells.length;++j){var cell=cells[j];for(var k=0;k<2;++k){for(var l=0;l<3;++l){positionArray[3*lineOffset+l]=x[l]}for(var l=0;l<4;++l){colorArray[4*lineOffset+l]=lineColor[l]}idArray[lineOffset]=pickCounter;var p=verts[cell[k]];glyphArray[2*lineOffset]=size*(cos*p[0]-sin*p[1]+textOffset[0]);glyphArray[2*lineOffset+1]=size*(sin*p[0]+cos*p[1]+textOffset[1]);lineOffset+=1}}}}this.bounds=[lowerBound,upperBound];this.points=points;this.pointCount=points.length;this.vertexCount=triVertexCount;this.lineVertexCount=lineVertexCount;this.pointBuffer.update(positionArray);this.colorBuffer.update(colorArray);this.glyphBuffer.update(glyphArray);this.idBuffer.update(idArray);pool.free(positionArray);pool.free(colorArray);pool.free(glyphArray);pool.free(idArray)};proto.dispose=function(){this.shader.dispose();this.orthoShader.dispose();this.pickPerspectiveShader.dispose();this.pickOrthoShader.dispose();this.vao.dispose();this.pointBuffer.dispose();this.colorBuffer.dispose();this.glyphBuffer.dispose();this.idBuffer.dispose()};function createPointCloud(options){var gl=options.gl;var shader=shaders.createPerspective(gl);var orthoShader=shaders.createOrtho(gl);var projectShader=shaders.createProject(gl);var pickPerspectiveShader=shaders.createPickPerspective(gl);var pickOrthoShader=shaders.createPickOrtho(gl);var pickProjectShader=shaders.createPickProject(gl);var pointBuffer=createBuffer(gl);var colorBuffer=createBuffer(gl);var glyphBuffer=createBuffer(gl);var idBuffer=createBuffer(gl);var vao=createVAO(gl,[{buffer:pointBuffer,size:3,type:gl.FLOAT},{buffer:colorBuffer,size:4,type:gl.FLOAT},{buffer:glyphBuffer,size:2,type:gl.FLOAT},{buffer:idBuffer,size:4,type:gl.UNSIGNED_BYTE,normalized:true}]);var pointCloud=new PointCloud(gl,shader,orthoShader,projectShader,pointBuffer,colorBuffer,glyphBuffer,idBuffer,vao,pickPerspectiveShader,pickOrthoShader,pickProjectShader);pointCloud.update(options);return pointCloud}},{"./lib/get-simple-string":330,"./lib/glyphs":331,"./lib/shaders":332,"gl-buffer":267,"gl-mat4/multiply":301,"gl-vao":361,"is-string-blank":458,"typedarray-pool":617}],335:[function(_dereq_,module,exports){"use strict";var glslify=_dereq_("glslify");exports.boxVertex=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]);exports.boxFragment=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n  gl_FragColor = color;\n}\n"])},{glslify:336}],336:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],337:[function(_dereq_,module,exports){"use strict";var createShader=_dereq_("gl-shader");var createBuffer=_dereq_("gl-buffer");var SHADERS=_dereq_("./lib/shaders");module.exports=createSelectBox;function SelectBox(plot,boxBuffer,boxShader){this.plot=plot;this.boxBuffer=boxBuffer;this.boxShader=boxShader;this.enabled=true;this.selectBox=[Infinity,Infinity,-Infinity,-Infinity];this.borderColor=[0,0,0,1];this.innerFill=false;this.innerColor=[0,0,0,.25];this.outerFill=true;this.outerColor=[0,0,0,.5];this.borderWidth=10}var proto=SelectBox.prototype;proto.draw=function(){if(!this.enabled){return}var plot=this.plot;var selectBox=this.selectBox;var lineWidth=this.borderWidth;var innerFill=this.innerFill;var innerColor=this.innerColor;var outerFill=this.outerFill;var outerColor=this.outerColor;var borderColor=this.borderColor;var boxes=plot.box;var screenBox=plot.screenBox;var dataBox=plot.dataBox;var viewBox=plot.viewBox;var pixelRatio=plot.pixelRatio;var loX=(selectBox[0]-dataBox[0])*(viewBox[2]-viewBox[0])/(dataBox[2]-dataBox[0])+viewBox[0];var loY=(selectBox[1]-dataBox[1])*(viewBox[3]-viewBox[1])/(dataBox[3]-dataBox[1])+viewBox[1];var hiX=(selectBox[2]-dataBox[0])*(viewBox[2]-viewBox[0])/(dataBox[2]-dataBox[0])+viewBox[0];var hiY=(selectBox[3]-dataBox[1])*(viewBox[3]-viewBox[1])/(dataBox[3]-dataBox[1])+viewBox[1];loX=Math.max(loX,viewBox[0]);loY=Math.max(loY,viewBox[1]);hiX=Math.min(hiX,viewBox[2]);hiY=Math.min(hiY,viewBox[3]);if(hiX<loX||hiY<loY){return}boxes.bind();var screenWidth=screenBox[2]-screenBox[0];var screenHeight=screenBox[3]-screenBox[1];if(this.outerFill){boxes.drawBox(0,0,screenWidth,loY,outerColor);boxes.drawBox(0,loY,loX,hiY,outerColor);boxes.drawBox(0,hiY,screenWidth,screenHeight,outerColor);boxes.drawBox(hiX,loY,screenWidth,hiY,outerColor)}if(this.innerFill){boxes.drawBox(loX,loY,hiX,hiY,innerColor)}if(lineWidth>0){var w=lineWidth*pixelRatio;boxes.drawBox(loX-w,loY-w,hiX+w,loY+w,borderColor);boxes.drawBox(loX-w,hiY-w,hiX+w,hiY+w,borderColor);boxes.drawBox(loX-w,loY-w,loX+w,hiY+w,borderColor);boxes.drawBox(hiX-w,loY-w,hiX+w,hiY+w,borderColor)}};proto.update=function(options){options=options||{};this.innerFill=!!options.innerFill;this.outerFill=!!options.outerFill;this.innerColor=(options.innerColor||[0,0,0,.5]).slice();this.outerColor=(options.outerColor||[0,0,0,.5]).slice();this.borderColor=(options.borderColor||[0,0,0,1]).slice();this.borderWidth=options.borderWidth||0;this.selectBox=(options.selectBox||this.selectBox).slice()};proto.dispose=function(){this.boxBuffer.dispose();this.boxShader.dispose();this.plot.removeOverlay(this)};function createSelectBox(plot,options){var gl=plot.gl;var buffer=createBuffer(gl,[0,0,0,1,1,0,1,1]);var shader=createShader(gl,SHADERS.boxVertex,SHADERS.boxFragment);var selectBox=new SelectBox(plot,buffer,shader);selectBox.update(options);plot.addOverlay(selectBox);return selectBox}},{"./lib/shaders":335,"gl-buffer":267,"gl-shader":339}],338:[function(_dereq_,module,exports){"use strict";module.exports=createSelectBuffer;var createFBO=_dereq_("gl-fbo");var pool=_dereq_("typedarray-pool");var ndarray=_dereq_("ndarray");var nextPow2=_dereq_("bit-twiddle").nextPow2;var selectRange=function(arr,x,y){var closestD2=1e8;var closestX=-1;var closestY=-1;var ni=arr.shape[0];var nj=arr.shape[1];for(var i=0;i<ni;i++){for(var j=0;j<nj;j++){var r=arr.get(i,j,0);var g=arr.get(i,j,1);var b=arr.get(i,j,2);var a=arr.get(i,j,3);if(r<255||g<255||b<255||a<255){var dx=x-i;var dy=y-j;var d2=dx*dx+dy*dy;if(d2<closestD2){closestD2=d2;closestX=i;closestY=j}}}}return[closestX,closestY,closestD2]};function SelectResult(x,y,id,value,distance){this.coord=[x,y];this.id=id;this.value=value;this.distance=distance}function SelectBuffer(gl,fbo,buffer){this.gl=gl;this.fbo=fbo;this.buffer=buffer;this._readTimeout=null;var self=this;this._readCallback=function(){if(!self.gl){return}fbo.bind();gl.readPixels(0,0,fbo.shape[0],fbo.shape[1],gl.RGBA,gl.UNSIGNED_BYTE,self.buffer);self._readTimeout=null}}var proto=SelectBuffer.prototype;Object.defineProperty(proto,"shape",{get:function(){if(!this.gl){return[0,0]}return this.fbo.shape.slice()},set:function(v){if(!this.gl){return}this.fbo.shape=v;var c=this.fbo.shape[0];var r=this.fbo.shape[1];if(r*c*4>this.buffer.length){pool.free(this.buffer);var buffer=this.buffer=pool.mallocUint8(nextPow2(r*c*4));for(var i=0;i<r*c*4;++i){buffer[i]=255}}return v}});proto.begin=function(){var gl=this.gl;var shape=this.shape;if(!gl){return}this.fbo.bind();gl.clearColor(1,1,1,1);gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT)};proto.end=function(){var gl=this.gl;if(!gl){return}gl.bindFramebuffer(gl.FRAMEBUFFER,null);if(!this._readTimeout){clearTimeout(this._readTimeout)}this._readTimeout=setTimeout(this._readCallback,1)};proto.query=function(x,y,radius){if(!this.gl){return null}var shape=this.fbo.shape.slice();x=x|0;y=y|0;if(typeof radius!=="number"){radius=1}var x0=Math.min(Math.max(x-radius,0),shape[0])|0;var x1=Math.min(Math.max(x+radius,0),shape[0])|0;var y0=Math.min(Math.max(y-radius,0),shape[1])|0;var y1=Math.min(Math.max(y+radius,0),shape[1])|0;if(x1<=x0||y1<=y0){return null}var dims=[x1-x0,y1-y0];var region=ndarray(this.buffer,[dims[0],dims[1],4],[4,shape[0]*4,1],4*(x0+shape[0]*y0));var closest=selectRange(region.hi(dims[0],dims[1],1),radius,radius);var dx=closest[0];var dy=closest[1];if(dx<0||Math.pow(this.radius,2)<closest[2]){return null}var c0=region.get(dx,dy,0);var c1=region.get(dx,dy,1);var c2=region.get(dx,dy,2);var c3=region.get(dx,dy,3);return new SelectResult(dx+x0|0,dy+y0|0,c0,[c1,c2,c3],Math.sqrt(closest[2]))};proto.dispose=function(){if(!this.gl){return}this.fbo.dispose();pool.free(this.buffer);this.gl=null;if(this._readTimeout){clearTimeout(this._readTimeout)}};function createSelectBuffer(gl,shape){var width=shape[0];var height=shape[1];var options={};var fbo=createFBO(gl,width,height,options);var buffer=pool.mallocUint8(width*height*4);return new SelectBuffer(gl,fbo,buffer)}},{"bit-twiddle":104,"gl-fbo":276,ndarray:483,"typedarray-pool":617}],339:[function(_dereq_,module,exports){"use strict";var createUniformWrapper=_dereq_("./lib/create-uniforms");var createAttributeWrapper=_dereq_("./lib/create-attributes");var makeReflect=_dereq_("./lib/reflect");var shaderCache=_dereq_("./lib/shader-cache");var runtime=_dereq_("./lib/runtime-reflect");var GLError=_dereq_("./lib/GLError");function Shader(gl){this.gl=gl;this.gl.lastAttribCount=0;this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var proto=Shader.prototype;proto.bind=function(){if(!this.program){this._relink()}var i;var newAttribCount=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES);var oldAttribCount=this.gl.lastAttribCount;if(newAttribCount>oldAttribCount){for(i=oldAttribCount;i<newAttribCount;i++){this.gl.enableVertexAttribArray(i)}}else if(oldAttribCount>newAttribCount){for(i=newAttribCount;i<oldAttribCount;i++){this.gl.disableVertexAttribArray(i)}}this.gl.lastAttribCount=newAttribCount;this.gl.useProgram(this.program)};proto.dispose=function(){var oldAttribCount=this.gl.lastAttribCount;for(var i=0;i<oldAttribCount;i++){this.gl.disableVertexAttribArray(i)}this.gl.lastAttribCount=0;if(this._fref){this._fref.dispose()}if(this._vref){this._vref.dispose()}this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null};function compareAttributes(a,b){if(a.name<b.name){return-1}return 1}proto.update=function(vertSource,fragSource,uniforms,attributes){if(!fragSource||arguments.length===1){var obj=vertSource;vertSource=obj.vertex;fragSource=obj.fragment;uniforms=obj.uniforms;attributes=obj.attributes}var wrapper=this;var gl=wrapper.gl;var pvref=wrapper._vref;wrapper._vref=shaderCache.shader(gl,gl.VERTEX_SHADER,vertSource);if(pvref){pvref.dispose()}wrapper.vertShader=wrapper._vref.shader;var pfref=this._fref;wrapper._fref=shaderCache.shader(gl,gl.FRAGMENT_SHADER,fragSource);if(pfref){pfref.dispose()}wrapper.fragShader=wrapper._fref.shader;if(!uniforms||!attributes){var testProgram=gl.createProgram();gl.attachShader(testProgram,wrapper.fragShader);gl.attachShader(testProgram,wrapper.vertShader);gl.linkProgram(testProgram);if(!gl.getProgramParameter(testProgram,gl.LINK_STATUS)){var errLog=gl.getProgramInfoLog(testProgram);throw new GLError(errLog,"Error linking program:"+errLog)}uniforms=uniforms||runtime.uniforms(gl,testProgram);attributes=attributes||runtime.attributes(gl,testProgram);gl.deleteProgram(testProgram)}attributes=attributes.slice();attributes.sort(compareAttributes);var attributeUnpacked=[];var attributeNames=[];var attributeLocations=[];var i;for(i=0;i<attributes.length;++i){var attr=attributes[i];if(attr.type.indexOf("mat")>=0){var size=attr.type.charAt(attr.type.length-1)|0;var locVector=new Array(size);for(var j=0;j<size;++j){locVector[j]=attributeLocations.length;attributeNames.push(attr.name+"["+j+"]");if(typeof attr.location==="number"){attributeLocations.push(attr.location+j)}else if(Array.isArray(attr.location)&&attr.location.length===size&&typeof attr.location[j]==="number"){attributeLocations.push(attr.location[j]|0)}else{attributeLocations.push(-1)}}attributeUnpacked.push({name:attr.name,type:attr.type,locations:locVector})}else{attributeUnpacked.push({name:attr.name,type:attr.type,locations:[attributeLocations.length]});attributeNames.push(attr.name);if(typeof attr.location==="number"){attributeLocations.push(attr.location|0)}else{attributeLocations.push(-1)}}}var curLocation=0;for(i=0;i<attributeLocations.length;++i){if(attributeLocations[i]<0){while(attributeLocations.indexOf(curLocation)>=0){curLocation+=1}attributeLocations[i]=curLocation}}var uniformLocations=new Array(uniforms.length);function relink(){wrapper.program=shaderCache.program(gl,wrapper._vref,wrapper._fref,attributeNames,attributeLocations);for(var i=0;i<uniforms.length;++i){uniformLocations[i]=gl.getUniformLocation(wrapper.program,uniforms[i].name)}}relink();wrapper._relink=relink;wrapper.types={uniforms:makeReflect(uniforms),attributes:makeReflect(attributes)};wrapper.attributes=createAttributeWrapper(gl,wrapper,attributeUnpacked,attributeLocations);Object.defineProperty(wrapper,"uniforms",createUniformWrapper(gl,wrapper,uniforms,uniformLocations))};function createShader(gl,vertSource,fragSource,uniforms,attributes){var shader=new Shader(gl);shader.update(vertSource,fragSource,uniforms,attributes);return shader}module.exports=createShader},{"./lib/GLError":340,"./lib/create-attributes":341,"./lib/create-uniforms":342,"./lib/reflect":343,"./lib/runtime-reflect":344,"./lib/shader-cache":345}],340:[function(_dereq_,module,exports){function GLError(rawError,shortMessage,longMessage){this.shortMessage=shortMessage||"";this.longMessage=longMessage||"";this.rawError=rawError||"";this.message="gl-shader: "+(shortMessage||rawError||"")+(longMessage?"\n"+longMessage:"");this.stack=(new Error).stack}GLError.prototype=new Error;GLError.prototype.name="GLError";GLError.prototype.constructor=GLError;module.exports=GLError},{}],341:[function(_dereq_,module,exports){"use strict";module.exports=createAttributeWrapper;var GLError=_dereq_("./GLError");function ShaderAttribute(gl,wrapper,index,locations,dimension,constFunc){this._gl=gl;this._wrapper=wrapper;this._index=index;this._locations=locations;this._dimension=dimension;this._constFunc=constFunc}var proto=ShaderAttribute.prototype;proto.pointer=function setAttribPointer(type,normalized,stride,offset){var self=this;var gl=self._gl;var location=self._locations[self._index];gl.vertexAttribPointer(location,self._dimension,type||gl.FLOAT,!!normalized,stride||0,offset||0);gl.enableVertexAttribArray(location)};proto.set=function(x0,x1,x2,x3){return this._constFunc(this._locations[this._index],x0,x1,x2,x3)};Object.defineProperty(proto,"location",{get:function(){return this._locations[this._index]},set:function(v){if(v!==this._locations[this._index]){this._locations[this._index]=v|0;this._wrapper.program=null}return v|0}});function addVectorAttribute(gl,wrapper,index,locations,dimension,obj,name){var constFuncArgs=["gl","v"];var varNames=[];for(var i=0;i<dimension;++i){constFuncArgs.push("x"+i);varNames.push("x"+i)}constFuncArgs.push("if(x0.length===void 0){return gl.vertexAttrib"+dimension+"f(v,"+varNames.join()+")}else{return gl.vertexAttrib"+dimension+"fv(v,x0)}");var constFunc=Function.apply(null,constFuncArgs);var attr=new ShaderAttribute(gl,wrapper,index,locations,dimension,constFunc);Object.defineProperty(obj,name,{set:function(x){gl.disableVertexAttribArray(locations[index]);constFunc(gl,locations[index],x);return x},get:function(){return attr},enumerable:true})}function addMatrixAttribute(gl,wrapper,index,locations,dimension,obj,name){var parts=new Array(dimension);var attrs=new Array(dimension);for(var i=0;i<dimension;++i){addVectorAttribute(gl,wrapper,index[i],locations,dimension,parts,i);attrs[i]=parts[i]}Object.defineProperty(parts,"location",{set:function(v){if(Array.isArray(v)){for(var i=0;i<dimension;++i){attrs[i].location=v[i]}}else{for(var i=0;i<dimension;++i){attrs[i].location=v+i}}return v},get:function(){var result=new Array(dimension);for(var i=0;i<dimension;++i){result[i]=locations[index[i]]}return result},enumerable:true});parts.pointer=function(type,normalized,stride,offset){type=type||gl.FLOAT;normalized=!!normalized;stride=stride||dimension*dimension;offset=offset||0;for(var i=0;i<dimension;++i){var location=locations[index[i]];gl.vertexAttribPointer(location,dimension,type,normalized,stride,offset+i*dimension);gl.enableVertexAttribArray(location)}};var scratch=new Array(dimension);var vertexAttrib=gl["vertexAttrib"+dimension+"fv"];Object.defineProperty(obj,name,{set:function(x){for(var i=0;i<dimension;++i){var loc=locations[index[i]];gl.disableVertexAttribArray(loc);if(Array.isArray(x[0])){vertexAttrib.call(gl,loc,x[i])}else{for(var j=0;j<dimension;++j){scratch[j]=x[dimension*i+j]}vertexAttrib.call(gl,loc,scratch)}}return x},get:function(){return parts},enumerable:true})}function createAttributeWrapper(gl,wrapper,attributes,locations){var obj={};for(var i=0,n=attributes.length;i<n;++i){var a=attributes[i];var name=a.name;var type=a.type;var locs=a.locations;switch(type){case"bool":case"int":case"float":addVectorAttribute(gl,wrapper,locs[0],locations,1,obj,name);break;default:if(type.indexOf("vec")>=0){var d=type.charCodeAt(type.length-1)-48;if(d<2||d>4){throw new GLError("","Invalid data type for attribute "+name+": "+type)}addVectorAttribute(gl,wrapper,locs[0],locations,d,obj,name)}else if(type.indexOf("mat")>=0){var d=type.charCodeAt(type.length-1)-48;if(d<2||d>4){throw new GLError("","Invalid data type for attribute "+name+": "+type)}addMatrixAttribute(gl,wrapper,locs,locations,d,obj,name)}else{throw new GLError("","Unknown data type for attribute "+name+": "+type)}break}}return obj}},{"./GLError":340}],342:[function(_dereq_,module,exports){"use strict";var coallesceUniforms=_dereq_("./reflect");var GLError=_dereq_("./GLError");module.exports=createUniformWrapper;function identity(x){var c=new Function("y","return function(){return y}");return c(x)}function makeVector(length,fill){var result=new Array(length);for(var i=0;i<length;++i){result[i]=fill}return result}function createUniformWrapper(gl,wrapper,uniforms,locations){function makeGetter(index){var proc=new Function("gl","wrapper","locations","return function(){return gl.getUniform(wrapper.program,locations["+index+"])}");return proc(gl,wrapper,locations)}function makePropSetter(path,index,type){switch(type){case"bool":case"int":case"sampler2D":case"samplerCube":return"gl.uniform1i(locations["+index+"],obj"+path+")";case"float":return"gl.uniform1f(locations["+index+"],obj"+path+")";default:var vidx=type.indexOf("vec");if(0<=vidx&&vidx<=1&&type.length===4+vidx){var d=type.charCodeAt(type.length-1)-48;if(d<2||d>4){throw new GLError("","Invalid data type")}switch(type.charAt(0)){case"b":case"i":return"gl.uniform"+d+"iv(locations["+index+"],obj"+path+")";case"v":return"gl.uniform"+d+"fv(locations["+index+"],obj"+path+")";default:throw new GLError("","Unrecognized data type for vector "+name+": "+type)}}else if(type.indexOf("mat")===0&&type.length===4){var d=type.charCodeAt(type.length-1)-48;if(d<2||d>4){throw new GLError("","Invalid uniform dimension type for matrix "+name+": "+type)}return"gl.uniformMatrix"+d+"fv(locations["+index+"],false,obj"+path+")"}else{throw new GLError("","Unknown uniform data type for "+name+": "+type)}break}}function enumerateIndices(prefix,type){if(typeof type!=="object"){return[[prefix,type]]}var indices=[];for(var id in type){var prop=type[id];var tprefix=prefix;if(parseInt(id)+""===id){tprefix+="["+id+"]"}else{tprefix+="."+id}if(typeof prop==="object"){indices.push.apply(indices,enumerateIndices(tprefix,prop))}else{indices.push([tprefix,prop])}}return indices}function makeSetter(type){var code=["return function updateProperty(obj){"];var indices=enumerateIndices("",type);for(var i=0;i<indices.length;++i){var item=indices[i];var path=item[0];var idx=item[1];if(locations[idx]){code.push(makePropSetter(path,idx,uniforms[idx].type))}}code.push("return obj}");var proc=new Function("gl","locations",code.join("\n"));return proc(gl,locations)}function defaultValue(type){switch(type){case"bool":return false;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var vidx=type.indexOf("vec");if(0<=vidx&&vidx<=1&&type.length===4+vidx){var d=type.charCodeAt(type.length-1)-48;if(d<2||d>4){throw new GLError("","Invalid data type")}if(type.charAt(0)==="b"){return makeVector(d,false)}return makeVector(d,0)}else if(type.indexOf("mat")===0&&type.length===4){var d=type.charCodeAt(type.length-1)-48;if(d<2||d>4){throw new GLError("","Invalid uniform dimension type for matrix "+name+": "+type)}return makeVector(d*d,0)}else{throw new GLError("","Unknown uniform data type for "+name+": "+type)}break}}function storeProperty(obj,prop,type){if(typeof type==="object"){var child=processObject(type);Object.defineProperty(obj,prop,{get:identity(child),set:makeSetter(type),enumerable:true,configurable:false})}else{if(locations[type]){Object.defineProperty(obj,prop,{get:makeGetter(type),set:makeSetter(type),enumerable:true,configurable:false})}else{obj[prop]=defaultValue(uniforms[type].type)}}}function processObject(obj){var result;if(Array.isArray(obj)){result=new Array(obj.length);for(var i=0;i<obj.length;++i){storeProperty(result,i,obj[i])}}else{result={};for(var id in obj){storeProperty(result,id,obj[id])}}return result}var coallesced=coallesceUniforms(uniforms,true);return{get:identity(processObject(coallesced)),set:makeSetter(coallesced),enumerable:true,configurable:true}}},{"./GLError":340,"./reflect":343}],343:[function(_dereq_,module,exports){"use strict";module.exports=makeReflectTypes;function makeReflectTypes(uniforms,useIndex){var obj={};for(var i=0;i<uniforms.length;++i){var n=uniforms[i].name;var parts=n.split(".");var o=obj;for(var j=0;j<parts.length;++j){var x=parts[j].split("[");if(x.length>1){if(!(x[0]in o)){o[x[0]]=[]}o=o[x[0]];for(var k=1;k<x.length;++k){var y=parseInt(x[k]);if(k<x.length-1||j<parts.length-1){if(!(y in o)){if(k<x.length-1){o[y]=[]}else{o[y]={}}}o=o[y]}else{if(useIndex){o[y]=i}else{o[y]=uniforms[i].type}}}}else if(j<parts.length-1){if(!(x[0]in o)){o[x[0]]={}}o=o[x[0]]}else{if(useIndex){o[x[0]]=i}else{o[x[0]]=uniforms[i].type}}}}return obj}},{}],344:[function(_dereq_,module,exports){"use strict";exports.uniforms=runtimeUniforms;exports.attributes=runtimeAttributes;var GL_TO_GLSL_TYPES={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"};var GL_TABLE=null;function getType(gl,type){if(!GL_TABLE){var typeNames=Object.keys(GL_TO_GLSL_TYPES);GL_TABLE={};for(var i=0;i<typeNames.length;++i){var tn=typeNames[i];GL_TABLE[gl[tn]]=GL_TO_GLSL_TYPES[tn]}}return GL_TABLE[type]}function runtimeUniforms(gl,program){var numUniforms=gl.getProgramParameter(program,gl.ACTIVE_UNIFORMS);var result=[];for(var i=0;i<numUniforms;++i){var info=gl.getActiveUniform(program,i);if(info){var type=getType(gl,info.type);if(info.size>1){for(var j=0;j<info.size;++j){result.push({name:info.name.replace("[0]","["+j+"]"),type:type})}}else{result.push({name:info.name,type:type})}}}return result}function runtimeAttributes(gl,program){var numAttributes=gl.getProgramParameter(program,gl.ACTIVE_ATTRIBUTES);var result=[];for(var i=0;i<numAttributes;++i){var info=gl.getActiveAttrib(program,i);if(info){result.push({name:info.name,type:getType(gl,info.type)})}}return result}},{}],345:[function(_dereq_,module,exports){"use strict";exports.shader=getShaderReference;exports.program=createProgram;var GLError=_dereq_("./GLError");var formatCompilerError=_dereq_("gl-format-compiler-error");var weakMap=typeof WeakMap==="undefined"?_dereq_("weakmap-shim"):WeakMap;var CACHE=new weakMap;var SHADER_COUNTER=0;function ShaderReference(id,src,type,shader,programs,count,cache){this.id=id;this.src=src;this.type=type;this.shader=shader;this.count=count;this.programs=[];this.cache=cache}ShaderReference.prototype.dispose=function(){if(--this.count===0){var cache=this.cache;var gl=cache.gl;var programs=this.programs;for(var i=0,n=programs.length;i<n;++i){var p=cache.programs[programs[i]];if(p){delete cache.programs[i];gl.deleteProgram(p)}}gl.deleteShader(this.shader);delete cache.shaders[this.type===gl.FRAGMENT_SHADER|0][this.src]}};function ContextCache(gl){this.gl=gl;this.shaders=[{},{}];this.programs={}}var proto=ContextCache.prototype;function compileShader(gl,type,src){var shader=gl.createShader(type);gl.shaderSource(shader,src);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){var errLog=gl.getShaderInfoLog(shader);try{var fmt=formatCompilerError(errLog,src,type)}catch(e){console.warn("Failed to format compiler error: "+e);throw new GLError(errLog,"Error compiling shader:\n"+errLog)}throw new GLError(errLog,fmt.short,fmt.long)}return shader}proto.getShaderReference=function(type,src){var gl=this.gl;var shaders=this.shaders[type===gl.FRAGMENT_SHADER|0];var shader=shaders[src];if(!shader||!gl.isShader(shader.shader)){var shaderObj=compileShader(gl,type,src);shader=shaders[src]=new ShaderReference(SHADER_COUNTER++,src,type,shaderObj,[],1,this)}else{shader.count+=1}return shader};function linkProgram(gl,vshader,fshader,attribs,locations){var program=gl.createProgram();gl.attachShader(program,vshader);gl.attachShader(program,fshader);for(var i=0;i<attribs.length;++i){gl.bindAttribLocation(program,locations[i],attribs[i])}gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){var errLog=gl.getProgramInfoLog(program);throw new GLError(errLog,"Error linking program: "+errLog)}return program}proto.getProgram=function(vref,fref,attribs,locations){var token=[vref.id,fref.id,attribs.join(":"),locations.join(":")].join("@");var prog=this.programs[token];if(!prog||!this.gl.isProgram(prog)){this.programs[token]=prog=linkProgram(this.gl,vref.shader,fref.shader,attribs,locations);vref.programs.push(token);fref.programs.push(token)}return prog};function getCache(gl){var ctxCache=CACHE.get(gl);if(!ctxCache){ctxCache=new ContextCache(gl);CACHE.set(gl,ctxCache)}return ctxCache}function getShaderReference(gl,type,src){return getCache(gl).getShaderReference(type,src)}function createProgram(gl,vref,fref,attribs,locations){return getCache(gl).getProgram(vref,fref,attribs,locations)}},{"./GLError":340,"gl-format-compiler-error":277,"weakmap-shim":628}],346:[function(_dereq_,module,exports){"use strict";module.exports=createSpikes2D;function GLSpikes2D(plot){this.plot=plot;this.enable=[true,true,false,false];this.width=[1,1,1,1];this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.center=[Infinity,Infinity]}var proto=GLSpikes2D.prototype;proto.update=function(options){options=options||{};this.enable=(options.enable||[true,true,false,false]).slice();this.width=(options.width||[1,1,1,1]).slice();this.color=(options.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map((function(x){return x.slice()}));this.center=(options.center||[Infinity,Infinity]).slice();this.plot.setOverlayDirty()};proto.draw=function(){var spikeEnable=this.enable;var spikeWidth=this.width;var spikeColor=this.color;var spikeCenter=this.center;var plot=this.plot;var line=plot.line;var dataBox=plot.dataBox;var viewPixels=plot.viewBox;line.bind();if(dataBox[0]<=spikeCenter[0]&&spikeCenter[0]<=dataBox[2]&&dataBox[1]<=spikeCenter[1]&&spikeCenter[1]<=dataBox[3]){var centerX=viewPixels[0]+(spikeCenter[0]-dataBox[0])/(dataBox[2]-dataBox[0])*(viewPixels[2]-viewPixels[0]);var centerY=viewPixels[1]+(spikeCenter[1]-dataBox[1])/(dataBox[3]-dataBox[1])*(viewPixels[3]-viewPixels[1]);if(spikeEnable[0]){line.drawLine(centerX,centerY,viewPixels[0],centerY,spikeWidth[0],spikeColor[0])}if(spikeEnable[1]){line.drawLine(centerX,centerY,centerX,viewPixels[1],spikeWidth[1],spikeColor[1])}if(spikeEnable[2]){line.drawLine(centerX,centerY,viewPixels[2],centerY,spikeWidth[2],spikeColor[2])}if(spikeEnable[3]){line.drawLine(centerX,centerY,centerX,viewPixels[3],spikeWidth[3],spikeColor[3])}}};proto.dispose=function(){this.plot.removeOverlay(this)};function createSpikes2D(plot,options){var spikes=new GLSpikes2D(plot);spikes.update(options);plot.addOverlay(spikes);return spikes}},{}],347:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],348:[function(_dereq_,module,exports){"use strict";var glslify=_dereq_("glslify");var createShader=_dereq_("gl-shader");var vertSrc=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n  vec3 vertexPosition = mix(coordinates[0],\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n  vec2 delta = weight * clipOffset * screenShape;\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n"]);var fragSrc=glslify(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n  gl_FragColor = fragColor;\n}"]);module.exports=function(gl){return createShader(gl,vertSrc,fragSrc,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},{"gl-shader":339,glslify:347}],349:[function(_dereq_,module,exports){"use strict";var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var createShader=_dereq_("./shaders/index");module.exports=createSpikes;var identity=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function AxisSpikes(gl,buffer,vao,shader){this.gl=gl;this.buffer=buffer;this.vao=vao;this.shader=shader;this.pixelRatio=1;this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]];this.position=[0,0,0];this.lineWidth=[2,2,2];this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.enabled=[true,true,true];this.drawSides=[true,true,true];this.axes=null}var proto=AxisSpikes.prototype;var OUTER_FACE=[0,0,0];var INNER_FACE=[0,0,0];var SHAPE=[0,0];proto.isTransparent=function(){return false};proto.drawTransparent=function(camera){};proto.draw=function(camera){var gl=this.gl;var vao=this.vao;var shader=this.shader;vao.bind();shader.bind();var model=camera.model||identity;var view=camera.view||identity;var projection=camera.projection||identity;var axis;if(this.axes){axis=this.axes.lastCubeProps.axis}var outerFace=OUTER_FACE;var innerFace=INNER_FACE;for(var i=0;i<3;++i){if(axis&&axis[i]<0){outerFace[i]=this.bounds[0][i];innerFace[i]=this.bounds[1][i]}else{outerFace[i]=this.bounds[1][i];innerFace[i]=this.bounds[0][i]}}SHAPE[0]=gl.drawingBufferWidth;SHAPE[1]=gl.drawingBufferHeight;shader.uniforms.model=model;shader.uniforms.view=view;shader.uniforms.projection=projection;shader.uniforms.coordinates=[this.position,outerFace,innerFace];shader.uniforms.colors=this.colors;shader.uniforms.screenShape=SHAPE;for(var i=0;i<3;++i){shader.uniforms.lineWidth=this.lineWidth[i]*this.pixelRatio;if(this.enabled[i]){vao.draw(gl.TRIANGLES,6,6*i);if(this.drawSides[i]){vao.draw(gl.TRIANGLES,12,18+12*i)}}}vao.unbind()};proto.update=function(options){if(!options){return}if("bounds"in options){this.bounds=options.bounds}if("position"in options){this.position=options.position}if("lineWidth"in options){this.lineWidth=options.lineWidth}if("colors"in options){this.colors=options.colors}if("enabled"in options){this.enabled=options.enabled}if("drawSides"in options){this.drawSides=options.drawSides}};proto.dispose=function(){this.vao.dispose();this.buffer.dispose();this.shader.dispose()};function createSpikes(gl,options){var data=[];function line(x,y,z,i,l,h){var row=[x,y,z,0,0,0,1];row[i+3]=1;row[i]=l;data.push.apply(data,row);row[6]=-1;data.push.apply(data,row);row[i]=h;data.push.apply(data,row);data.push.apply(data,row);row[6]=1;data.push.apply(data,row);row[i]=l;data.push.apply(data,row)}line(0,0,0,0,0,1);line(0,0,0,1,0,1);line(0,0,0,2,0,1);line(1,0,0,1,-1,1);line(1,0,0,2,-1,1);line(0,1,0,0,-1,1);line(0,1,0,2,-1,1);line(0,0,1,0,-1,1);line(0,0,1,1,-1,1);var buffer=createBuffer(gl,data);var vao=createVAO(gl,[{type:gl.FLOAT,buffer:buffer,size:3,offset:0,stride:28},{type:gl.FLOAT,buffer:buffer,size:3,offset:12,stride:28},{type:gl.FLOAT,buffer:buffer,size:1,offset:24,stride:28}]);var shader=createShader(gl);shader.attributes.position.location=0;shader.attributes.color.location=1;shader.attributes.weight.location=2;var spikes=new AxisSpikes(gl,buffer,vao,shader);spikes.update(options);return spikes}},{"./shaders/index":348,"gl-buffer":267,"gl-vao":361}],350:[function(_dereq_,module,exports){var glslify=_dereq_("glslify");var triVertSrc=glslify(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n  float segmentCount = 8.0;\n\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d);\n  vec3 y = v * sin(angle) * length(d);\n  vec3 v3 = x + y;\n\n  normal = normalize(v3);\n\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  // Scale the vector magnitude to stay constant with\n  // model & view changes.\n  vec3 normal;\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * tubePosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  // vec4 m_position  = model * vec4(tubePosition, 1.0);\n  vec4 t_position  = view * tubePosition;\n  gl_Position      = projection * t_position;\n\n  f_color          = color;\n  f_data           = tubePosition.xyz;\n  f_position       = position.xyz;\n  f_uv             = uv;\n}\n"]);var triFragSrc=glslify(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * opacity;\n}\n"]);var pickVertSrc=glslify(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n  float segmentCount = 8.0;\n\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d);\n  vec3 y = v * sin(angle) * length(d);\n  vec3 v3 = x + y;\n\n  normal = normalize(v3);\n\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  vec3 normal;\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  gl_Position = projection * view * tubePosition;\n  f_id        = id;\n  f_position  = position.xyz;\n}\n"]);var pickFragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);exports.meshShader={vertex:triVertSrc,fragment:triFragSrc,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]};exports.pickShader={vertex:pickVertSrc,fragment:pickFragSrc,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:351}],351:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],352:[function(_dereq_,module,exports){"use strict";var vec3=_dereq_("gl-vec3");var vec4=_dereq_("gl-vec4");var GRID_TYPES=["xyz","xzy","yxz","yzx","zxy","zyx"];var streamToTube=function(stream,maxDivergence,minDistance,maxNorm){var points=stream.points;var velocities=stream.velocities;var divergences=stream.divergences;var verts=[];var faces=[];var vectors=[];var previousVerts=[];var currentVerts=[];var intensities=[];var previousIntensity=0;var currentIntensity=0;var currentVector=vec4.create();var previousVector=vec4.create();var facets=8;for(var i=0;i<points.length;i++){var p=points[i];var fwd=velocities[i];var r=divergences[i];if(maxDivergence===0){r=minDistance*.05}currentIntensity=vec3.length(fwd)/maxNorm;currentVector=vec4.create();vec3.copy(currentVector,fwd);currentVector[3]=r;for(var a=0;a<facets;a++){currentVerts[a]=[p[0],p[1],p[2],a]}if(previousVerts.length>0){for(var a=0;a<facets;a++){var a1=(a+1)%facets;verts.push(previousVerts[a],currentVerts[a],currentVerts[a1],currentVerts[a1],previousVerts[a1],previousVerts[a]);vectors.push(previousVector,currentVector,currentVector,currentVector,previousVector,previousVector);intensities.push(previousIntensity,currentIntensity,currentIntensity,currentIntensity,previousIntensity,previousIntensity);var len=verts.length;faces.push([len-6,len-5,len-4],[len-3,len-2,len-1])}}var tmp1=previousVerts;previousVerts=currentVerts;currentVerts=tmp1;var tmp2=previousVector;previousVector=currentVector;currentVector=tmp2;var tmp3=previousIntensity;previousIntensity=currentIntensity;currentIntensity=tmp3}return{positions:verts,cells:faces,vectors:vectors,vertexIntensity:intensities}};var createTubes=function(streams,colormap,maxDivergence,minDistance){var maxNorm=0;for(var i=0;i<streams.length;i++){var velocities=streams[i].velocities;for(var j=0;j<velocities.length;j++){maxNorm=Math.max(maxNorm,vec3.length(velocities[j]))}}var tubes=streams.map((function(s){return streamToTube(s,maxDivergence,minDistance,maxNorm)}));var positions=[];var cells=[];var vectors=[];var vertexIntensity=[];for(var i=0;i<tubes.length;i++){var tube=tubes[i];var offset=positions.length;positions=positions.concat(tube.positions);vectors=vectors.concat(tube.vectors);vertexIntensity=vertexIntensity.concat(tube.vertexIntensity);for(var j=0;j<tube.cells.length;j++){var cell=tube.cells[j];var newCell=[];cells.push(newCell);for(var k=0;k<cell.length;k++){newCell.push(cell[k]+offset)}}}return{positions:positions,cells:cells,vectors:vectors,vertexIntensity:vertexIntensity,colormap:colormap}};var findLastSmallerIndex=function(points,v){var len=points.length;var i;for(i=0;i<len;i++){var p=points[i];if(p===v)return i;else if(p>v)return i-1}return i};var clamp=function(v,min,max){return v<min?min:v>max?max:v};var sampleMeshgrid=function(point,vectorField,gridInfo){var vectors=vectorField.vectors;var meshgrid=vectorField.meshgrid;var x=point[0];var y=point[1];var z=point[2];var w=meshgrid[0].length;var h=meshgrid[1].length;var d=meshgrid[2].length;var x0=findLastSmallerIndex(meshgrid[0],x);var y0=findLastSmallerIndex(meshgrid[1],y);var z0=findLastSmallerIndex(meshgrid[2],z);var x1=x0+1;var y1=y0+1;var z1=z0+1;x0=clamp(x0,0,w-1);x1=clamp(x1,0,w-1);y0=clamp(y0,0,h-1);y1=clamp(y1,0,h-1);z0=clamp(z0,0,d-1);z1=clamp(z1,0,d-1);if(x0<0||y0<0||z0<0||x1>w-1||y1>h-1||z1>d-1){return vec3.create()}var mX0=meshgrid[0][x0];var mX1=meshgrid[0][x1];var mY0=meshgrid[1][y0];var mY1=meshgrid[1][y1];var mZ0=meshgrid[2][z0];var mZ1=meshgrid[2][z1];var xf=(x-mX0)/(mX1-mX0);var yf=(y-mY0)/(mY1-mY0);var zf=(z-mZ0)/(mZ1-mZ0);if(!isFinite(xf))xf=.5;if(!isFinite(yf))yf=.5;if(!isFinite(zf))zf=.5;var x0off;var x1off;var y0off;var y1off;var z0off;var z1off;if(gridInfo.reversedX){x0=w-1-x0;x1=w-1-x1}if(gridInfo.reversedY){y0=h-1-y0;y1=h-1-y1}if(gridInfo.reversedZ){z0=d-1-z0;z1=d-1-z1}switch(gridInfo.filled){case 5:z0off=z0;z1off=z1;y0off=y0*d;y1off=y1*d;x0off=x0*d*h;x1off=x1*d*h;break;case 4:z0off=z0;z1off=z1;x0off=x0*d;x1off=x1*d;y0off=y0*d*w;y1off=y1*d*w;break;case 3:y0off=y0;y1off=y1;z0off=z0*h;z1off=z1*h;x0off=x0*h*d;x1off=x1*h*d;break;case 2:y0off=y0;y1off=y1;x0off=x0*h;x1off=x1*h;z0off=z0*h*w;z1off=z1*h*w;break;case 1:x0off=x0;x1off=x1;z0off=z0*w;z1off=z1*w;y0off=y0*w*d;y1off=y1*w*d;break;default:x0off=x0;x1off=x1;y0off=y0*w;y1off=y1*w;z0off=z0*w*h;z1off=z1*w*h;break}var v000=vectors[x0off+y0off+z0off];var v001=vectors[x0off+y0off+z1off];var v010=vectors[x0off+y1off+z0off];var v011=vectors[x0off+y1off+z1off];var v100=vectors[x1off+y0off+z0off];var v101=vectors[x1off+y0off+z1off];var v110=vectors[x1off+y1off+z0off];var v111=vectors[x1off+y1off+z1off];var c00=vec3.create();var c01=vec3.create();var c10=vec3.create();var c11=vec3.create();vec3.lerp(c00,v000,v100,xf);vec3.lerp(c01,v001,v101,xf);vec3.lerp(c10,v010,v110,xf);vec3.lerp(c11,v011,v111,xf);var c0=vec3.create();var c1=vec3.create();vec3.lerp(c0,c00,c10,yf);vec3.lerp(c1,c01,c11,yf);var c=vec3.create();vec3.lerp(c,c0,c1,zf);return c};var vabs=function(dst,v){var x=v[0];var y=v[1];var z=v[2];dst[0]=x<0?-x:x;dst[1]=y<0?-y:y;dst[2]=z<0?-z:z;return dst};var findMinSeparation=function(xs){var minSeparation=Infinity;xs.sort((function(a,b){return a-b}));var len=xs.length;for(var i=1;i<len;i++){var d=Math.abs(xs[i]-xs[i-1]);if(d<minSeparation){minSeparation=d}}return minSeparation};var calculateMinPositionDistance=function(positions){var xs=[],ys=[],zs=[];var xi={},yi={},zi={};var len=positions.length;for(var i=0;i<len;i++){var p=positions[i];var x=p[0],y=p[1],z=p[2];if(!xi[x]){xs.push(x);xi[x]=true}if(!yi[y]){ys.push(y);yi[y]=true}if(!zi[z]){zs.push(z);zi[z]=true}}var xSep=findMinSeparation(xs);var ySep=findMinSeparation(ys);var zSep=findMinSeparation(zs);var minSeparation=Math.min(xSep,ySep,zSep);return isFinite(minSeparation)?minSeparation:1};module.exports=function(vectorField,bounds){var positions=vectorField.startingPositions;var maxLength=vectorField.maxLength||1e3;var tubeSize=vectorField.tubeSize||1;var absoluteTubeSize=vectorField.absoluteTubeSize;var gridFill=vectorField.gridFill||"+x+y+z";var gridInfo={};if(gridFill.indexOf("-x")!==-1){gridInfo.reversedX=true}if(gridFill.indexOf("-y")!==-1){gridInfo.reversedY=true}if(gridFill.indexOf("-z")!==-1){gridInfo.reversedZ=true}gridInfo.filled=GRID_TYPES.indexOf(gridFill.replace(/-/g,"").replace(/\+/g,""));var getVelocity=vectorField.getVelocity||function(p){return sampleMeshgrid(p,vectorField,gridInfo)};var getDivergence=vectorField.getDivergence||function(p,v0){var dp=vec3.create();var e=1e-4;vec3.add(dp,p,[e,0,0]);var vx=getVelocity(dp);vec3.subtract(vx,vx,v0);vec3.scale(vx,vx,1/e);vec3.add(dp,p,[0,e,0]);var vy=getVelocity(dp);vec3.subtract(vy,vy,v0);vec3.scale(vy,vy,1/e);vec3.add(dp,p,[0,0,e]);var vz=getVelocity(dp);vec3.subtract(vz,vz,v0);vec3.scale(vz,vz,1/e);vec3.add(dp,vx,vy);vec3.add(dp,dp,vz);return dp};var streams=[];var minX=bounds[0][0],minY=bounds[0][1],minZ=bounds[0][2];var maxX=bounds[1][0],maxY=bounds[1][1],maxZ=bounds[1][2];var inBounds=function(p){var x=p[0];var y=p[1];var z=p[2];return!(x<minX||x>maxX||y<minY||y>maxY||z<minZ||z>maxZ)};var boundsSize=vec3.distance(bounds[0],bounds[1]);var maxStepSize=10*boundsSize/maxLength;var maxStepSizeSq=maxStepSize*maxStepSize;var minDistance=1;var maxDivergence=0;var len=positions.length;if(len>1){minDistance=calculateMinPositionDistance(positions)}for(var i=0;i<len;i++){var p=vec3.create();vec3.copy(p,positions[i]);var stream=[p];var velocities=[];var v=getVelocity(p);var op=p;velocities.push(v);var divergences=[];var dv=getDivergence(p,v);var dvLength=vec3.length(dv);if(isFinite(dvLength)&&dvLength>maxDivergence){maxDivergence=dvLength}divergences.push(dvLength);streams.push({points:stream,velocities:velocities,divergences:divergences});var j=0;while(j<maxLength*100&&stream.length<maxLength&&inBounds(p)){j++;var np=vec3.clone(v);var sqLen=vec3.squaredLength(np);if(sqLen===0){break}else if(sqLen>maxStepSizeSq){vec3.scale(np,np,maxStepSize/Math.sqrt(sqLen))}vec3.add(np,np,p);v=getVelocity(np);if(vec3.squaredDistance(op,np)-maxStepSizeSq>-1e-4*maxStepSizeSq){stream.push(np);op=np;velocities.push(v);var dv=getDivergence(np,v);var dvLength=vec3.length(dv);if(isFinite(dvLength)&&dvLength>maxDivergence){maxDivergence=dvLength}divergences.push(dvLength)}p=np}}var tubes=createTubes(streams,vectorField.colormap,maxDivergence,minDistance);if(absoluteTubeSize){tubes.tubeScale=absoluteTubeSize}else{if(maxDivergence===0){maxDivergence=1}tubes.tubeScale=tubeSize*.5*minDistance/maxDivergence}return tubes};var shaders=_dereq_("./lib/shaders");var createMesh=_dereq_("gl-cone3d").createMesh;module.exports.createTubeMesh=function(gl,params){return createMesh(gl,params,{shaders:shaders,traceType:"streamtube"})}},{"./lib/shaders":350,"gl-cone3d":268,"gl-vec3":380,"gl-vec4":416}],353:[function(_dereq_,module,exports){var createShader=_dereq_("gl-shader");var glslify=_dereq_("glslify");var vertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  vec3 localCoordinate = vec3(uv.zw, f.x);\n  worldCoordinate = objectOffset + localCoordinate;\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n  vec4 clipPosition = projection * view * worldPosition;\n  gl_Position = clipPosition;\n  kill = f.y;\n  value = f.z;\n  planeCoordinate = uv.xy;\n\n  vColor = texture2D(colormap, vec2(value, value));\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * worldPosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  lightDirection = lightPosition - cameraCoordinate.xyz;\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]);var fragSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness) {\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  if (\n    kill > 0.0 ||\n    vColor.a == 0.0 ||\n    outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n  ) discard;\n\n  vec3 N = normalize(surfaceNormal);\n  vec3 V = normalize(eyeDirection);\n  vec3 L = normalize(lightDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  //decide how to interpolate color — in vertex or in fragment\n  vec4 surfaceColor =\n    step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n    step(.5, vertexColor) * vColor;\n\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]);var contourVertSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n  worldCoordinate = objectOffset + dataCoordinate;\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n  vec4 clipPosition = projection * view * worldPosition;\n  clipPosition.z += zOffset;\n\n  gl_Position = clipPosition;\n  value = f + objectOffset.z;\n  kill = -1.0;\n  planeCoordinate = uv.zw;\n\n  vColor = texture2D(colormap, vec2(value, value));\n\n  //Don't do lighting for contours\n  surfaceNormal   = vec3(1,0,0);\n  eyeDirection    = vec3(0,1,0);\n  lightDirection  = vec3(0,0,1);\n}\n"]);var pickSrc=glslify(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n  float vh = 255.0 * v;\n  float upper = floor(vh);\n  float lower = fract(vh);\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n  if ((kill > 0.0) ||\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);exports.createShader=function(gl){var shader=createShader(gl,vertSrc,fragSrc,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);shader.attributes.uv.location=0;shader.attributes.f.location=1;shader.attributes.normal.location=2;return shader};exports.createPickShader=function(gl){var shader=createShader(gl,vertSrc,pickSrc,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);shader.attributes.uv.location=0;shader.attributes.f.location=1;shader.attributes.normal.location=2;return shader};exports.createContourShader=function(gl){var shader=createShader(gl,contourVertSrc,fragSrc,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);shader.attributes.uv.location=0;shader.attributes.f.location=1;return shader};exports.createPickContourShader=function(gl){var shader=createShader(gl,contourVertSrc,pickSrc,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);shader.attributes.uv.location=0;shader.attributes.f.location=1;return shader}},{"gl-shader":339,glslify:442}],354:[function(_dereq_,module,exports){"use strict";module.exports=createSurfacePlot;var bits=_dereq_("bit-twiddle");var createBuffer=_dereq_("gl-buffer");var createVAO=_dereq_("gl-vao");var createTexture=_dereq_("gl-texture2d");var pool=_dereq_("typedarray-pool");var colormap=_dereq_("colormap");var ops=_dereq_("ndarray-ops");var pack=_dereq_("ndarray-pack");var ndarray=_dereq_("ndarray");var surfaceNets=_dereq_("surface-nets");var multiply=_dereq_("gl-mat4/multiply");var invert=_dereq_("gl-mat4/invert");var bsearch=_dereq_("binary-search-bounds");var gradient=_dereq_("ndarray-gradient");var shaders=_dereq_("./lib/shaders");var createShader=shaders.createShader;var createContourShader=shaders.createContourShader;var createPickShader=shaders.createPickShader;var createPickContourShader=shaders.createPickContourShader;var SURFACE_VERTEX_SIZE=4*(4+3+3);var IDENTITY=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];var QUAD=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]];var PERMUTATIONS=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];(function(){for(var i=0;i<3;++i){var p=PERMUTATIONS[i];var u=(i+1)%3;var v=(i+2)%3;p[u+0]=1;p[v+3]=1;p[i+6]=1}})();function SurfacePickResult(position,index,uv,level,dataCoordinate){this.position=position;this.index=index;this.uv=uv;this.level=level;this.dataCoordinate=dataCoordinate}var N_COLORS=256;function SurfacePlot(gl,shape,bounds,shader,pickShader,coordinates,vao,colorMap,contourShader,contourPickShader,contourBuffer,contourVAO,dynamicBuffer,dynamicVAO,objectOffset){this.gl=gl;this.shape=shape;this.bounds=bounds;this.objectOffset=objectOffset;this.intensityBounds=[];this._shader=shader;this._pickShader=pickShader;this._coordinateBuffer=coordinates;this._vao=vao;this._colorMap=colorMap;this._contourShader=contourShader;this._contourPickShader=contourPickShader;this._contourBuffer=contourBuffer;this._contourVAO=contourVAO;this._contourOffsets=[[],[],[]];this._contourCounts=[[],[],[]];this._vertexCount=0;this._pickResult=new SurfacePickResult([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]);this._dynamicBuffer=dynamicBuffer;this._dynamicVAO=dynamicVAO;this._dynamicOffsets=[0,0,0];this._dynamicCounts=[0,0,0];this.contourWidth=[1,1,1];this.contourLevels=[[1],[1],[1]];this.contourTint=[0,0,0];this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]];this.showContour=true;this.showSurface=true;this.enableHighlight=[true,true,true];this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.highlightTint=[1,1,1];this.highlightLevel=[-1,-1,-1];this.enableDynamic=[true,true,true];this.dynamicLevel=[NaN,NaN,NaN];this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.dynamicTint=[1,1,1];this.dynamicWidth=[1,1,1];this.axesBounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];this.surfaceProject=[false,false,false];this.contourProject=[[false,false,false],[false,false,false],[false,false,false]];this.colorBounds=[false,false];this._field=[ndarray(pool.mallocFloat(1024),[0,0]),ndarray(pool.mallocFloat(1024),[0,0]),ndarray(pool.mallocFloat(1024),[0,0])];this.pickId=1;this.clipBounds=[[-Infinity,-Infinity,-Infinity],[Infinity,Infinity,Infinity]];this.snapToData=false;this.pixelRatio=1;this.opacity=1;this.lightPosition=[10,1e4,0];this.ambientLight=.8;this.diffuseLight=.8;this.specularLight=2;this.roughness=.5;this.fresnel=1.5;this.vertexColor=0;this.dirty=true}var proto=SurfacePlot.prototype;proto.genColormap=function(name,opacityscale){var hasAlpha=false;var x=pack([colormap({colormap:name,nshades:N_COLORS,format:"rgba"}).map((function(c,i){var a=opacityscale?getOpacityFromScale(i/255,opacityscale):c[3];if(a<1)hasAlpha=true;return[c[0],c[1],c[2],255*a]}))]);ops.divseq(x,255);this.hasAlphaScale=hasAlpha;return x};proto.isTransparent=function(){return this.opacity<1||this.hasAlphaScale};proto.isOpaque=function(){return!this.isTransparent()};proto.pickSlots=1;proto.setPickBase=function(id){this.pickId=id};function getOpacityFromScale(ratio,opacityscale){if(!opacityscale)return 1;if(!opacityscale.length)return 1;for(var i=0;i<opacityscale.length;++i){if(opacityscale.length<2)return 1;if(opacityscale[i][0]===ratio)return opacityscale[i][1];if(opacityscale[i][0]>ratio&&i>0){var d=(opacityscale[i][0]-ratio)/(opacityscale[i][0]-opacityscale[i-1][0]);return opacityscale[i][1]*(1-d)+d*opacityscale[i-1][1]}}return 1}var ZERO_VEC=[0,0,0];var PROJECT_DATA={showSurface:false,showContour:false,projections:[IDENTITY.slice(),IDENTITY.slice(),IDENTITY.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function computeProjectionData(camera,obj){var i,j,k;var cubeAxis=obj.axes&&obj.axes.lastCubeProps.axis||ZERO_VEC;var showSurface=obj.showSurface;var showContour=obj.showContour;for(i=0;i<3;++i){showSurface=showSurface||obj.surfaceProject[i];for(j=0;j<3;++j){showContour=showContour||obj.contourProject[i][j]}}for(i=0;i<3;++i){var axisSquish=PROJECT_DATA.projections[i];for(j=0;j<16;++j){axisSquish[j]=0}for(j=0;j<4;++j){axisSquish[5*j]=1}axisSquish[5*i]=0;axisSquish[12+i]=obj.axesBounds[+(cubeAxis[i]>0)][i];multiply(axisSquish,camera.model,axisSquish);var nclipBounds=PROJECT_DATA.clipBounds[i];for(k=0;k<2;++k){for(j=0;j<3;++j){nclipBounds[k][j]=camera.clipBounds[k][j]}}nclipBounds[0][i]=-1e8;nclipBounds[1][i]=1e8}PROJECT_DATA.showSurface=showSurface;PROJECT_DATA.showContour=showContour;return PROJECT_DATA}var UNIFORMS={model:IDENTITY,view:IDENTITY,projection:IDENTITY,inverseModel:IDENTITY.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0};var MATRIX_INVERSE=IDENTITY.slice();var DEFAULT_PERM=[1,0,0,0,1,0,0,0,1];function drawCore(params,transparent){params=params||{};var gl=this.gl;gl.disable(gl.CULL_FACE);this._colorMap.bind(0);var uniforms=UNIFORMS;uniforms.model=params.model||IDENTITY;uniforms.view=params.view||IDENTITY;uniforms.projection=params.projection||IDENTITY;uniforms.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]];uniforms.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]];uniforms.objectOffset=this.objectOffset;uniforms.contourColor=this.contourColor[0];uniforms.inverseModel=invert(uniforms.inverseModel,uniforms.model);for(var i=0;i<2;++i){var clipClamped=uniforms.clipBounds[i];for(var j=0;j<3;++j){clipClamped[j]=Math.min(Math.max(this.clipBounds[i][j],-1e8),1e8)}}uniforms.kambient=this.ambientLight;uniforms.kdiffuse=this.diffuseLight;uniforms.kspecular=this.specularLight;uniforms.roughness=this.roughness;uniforms.fresnel=this.fresnel;uniforms.opacity=this.opacity;uniforms.height=0;uniforms.permutation=DEFAULT_PERM;uniforms.vertexColor=this.vertexColor;var invCameraMatrix=MATRIX_INVERSE;multiply(invCameraMatrix,uniforms.view,uniforms.model);multiply(invCameraMatrix,uniforms.projection,invCameraMatrix);invert(invCameraMatrix,invCameraMatrix);for(i=0;i<3;++i){uniforms.eyePosition[i]=invCameraMatrix[12+i]/invCameraMatrix[15]}var w=invCameraMatrix[15];for(i=0;i<3;++i){w+=this.lightPosition[i]*invCameraMatrix[4*i+3]}for(i=0;i<3;++i){var s=invCameraMatrix[12+i];for(j=0;j<3;++j){s+=invCameraMatrix[4*j+i]*this.lightPosition[j]}uniforms.lightPosition[i]=s/w}var projectData=computeProjectionData(uniforms,this);if(projectData.showSurface){this._shader.bind();this._shader.uniforms=uniforms;this._vao.bind();if(this.showSurface&&this._vertexCount){this._vao.draw(gl.TRIANGLES,this._vertexCount)}for(i=0;i<3;++i){if(!this.surfaceProject[i]||!this.vertexCount){continue}this._shader.uniforms.model=projectData.projections[i];this._shader.uniforms.clipBounds=projectData.clipBounds[i];this._vao.draw(gl.TRIANGLES,this._vertexCount)}this._vao.unbind()}if(projectData.showContour){var shader=this._contourShader;uniforms.kambient=1;uniforms.kdiffuse=0;uniforms.kspecular=0;uniforms.opacity=1;shader.bind();shader.uniforms=uniforms;var vao=this._contourVAO;vao.bind();for(i=0;i<3;++i){shader.uniforms.permutation=PERMUTATIONS[i];gl.lineWidth(this.contourWidth[i]*this.pixelRatio);for(j=0;j<this.contourLevels[i].length;++j){if(j===this.highlightLevel[i]){shader.uniforms.contourColor=this.highlightColor[i];shader.uniforms.contourTint=this.highlightTint[i]}else if(j===0||j-1===this.highlightLevel[i]){shader.uniforms.contourColor=this.contourColor[i];shader.uniforms.contourTint=this.contourTint[i]}if(!this._contourCounts[i][j]){continue}shader.uniforms.height=this.contourLevels[i][j];vao.draw(gl.LINES,this._contourCounts[i][j],this._contourOffsets[i][j])}}for(i=0;i<3;++i){shader.uniforms.model=projectData.projections[i];shader.uniforms.clipBounds=projectData.clipBounds[i];for(j=0;j<3;++j){if(!this.contourProject[i][j]){continue}shader.uniforms.permutation=PERMUTATIONS[j];gl.lineWidth(this.contourWidth[j]*this.pixelRatio);for(var k=0;k<this.contourLevels[j].length;++k){if(k===this.highlightLevel[j]){shader.uniforms.contourColor=this.highlightColor[j];shader.uniforms.contourTint=this.highlightTint[j]}else if(k===0||k-1===this.highlightLevel[j]){shader.uniforms.contourColor=this.contourColor[j];shader.uniforms.contourTint=this.contourTint[j]}if(!this._contourCounts[j][k]){continue}shader.uniforms.height=this.contourLevels[j][k];vao.draw(gl.LINES,this._contourCounts[j][k],this._contourOffsets[j][k])}}}vao.unbind();vao=this._dynamicVAO;vao.bind();for(i=0;i<3;++i){if(this._dynamicCounts[i]===0){continue}shader.uniforms.model=uniforms.model;shader.uniforms.clipBounds=uniforms.clipBounds;shader.uniforms.permutation=PERMUTATIONS[i];gl.lineWidth(this.dynamicWidth[i]*this.pixelRatio);shader.uniforms.contourColor=this.dynamicColor[i];shader.uniforms.contourTint=this.dynamicTint[i];shader.uniforms.height=this.dynamicLevel[i];vao.draw(gl.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]);for(j=0;j<3;++j){if(!this.contourProject[j][i]){continue}shader.uniforms.model=projectData.projections[j];shader.uniforms.clipBounds=projectData.clipBounds[j];vao.draw(gl.LINES,this._dynamicCounts[i],this._dynamicOffsets[i])}}vao.unbind()}}proto.draw=function(params){return drawCore.call(this,params,false)};proto.drawTransparent=function(params){return drawCore.call(this,params,true)};var PICK_UNIFORMS={model:IDENTITY,view:IDENTITY,projection:IDENTITY,inverseModel:IDENTITY,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};proto.drawPick=function(params){params=params||{};var gl=this.gl;gl.disable(gl.CULL_FACE);var uniforms=PICK_UNIFORMS;uniforms.model=params.model||IDENTITY;uniforms.view=params.view||IDENTITY;uniforms.projection=params.projection||IDENTITY;uniforms.shape=this._field[2].shape;uniforms.pickId=this.pickId/255;uniforms.lowerBound=this.bounds[0];uniforms.upperBound=this.bounds[1];uniforms.objectOffset=this.objectOffset;uniforms.permutation=DEFAULT_PERM;for(var i=0;i<2;++i){var clipClamped=uniforms.clipBounds[i];for(var j=0;j<3;++j){clipClamped[j]=Math.min(Math.max(this.clipBounds[i][j],-1e8),1e8)}}var projectData=computeProjectionData(uniforms,this);if(projectData.showSurface){this._pickShader.bind();this._pickShader.uniforms=uniforms;this._vao.bind();this._vao.draw(gl.TRIANGLES,this._vertexCount);for(i=0;i<3;++i){if(!this.surfaceProject[i]){continue}this._pickShader.uniforms.model=projectData.projections[i];this._pickShader.uniforms.clipBounds=projectData.clipBounds[i];this._vao.draw(gl.TRIANGLES,this._vertexCount)}this._vao.unbind()}if(projectData.showContour){var shader=this._contourPickShader;shader.bind();shader.uniforms=uniforms;var vao=this._contourVAO;vao.bind();for(j=0;j<3;++j){gl.lineWidth(this.contourWidth[j]*this.pixelRatio);shader.uniforms.permutation=PERMUTATIONS[j];for(i=0;i<this.contourLevels[j].length;++i){if(this._contourCounts[j][i]){shader.uniforms.height=this.contourLevels[j][i];vao.draw(gl.LINES,this._contourCounts[j][i],this._contourOffsets[j][i])}}}for(i=0;i<3;++i){shader.uniforms.model=projectData.projections[i];shader.uniforms.clipBounds=projectData.clipBounds[i];for(j=0;j<3;++j){if(!this.contourProject[i][j]){continue}shader.uniforms.permutation=PERMUTATIONS[j];gl.lineWidth(this.contourWidth[j]*this.pixelRatio);for(var k=0;k<this.contourLevels[j].length;++k){if(this._contourCounts[j][k]){shader.uniforms.height=this.contourLevels[j][k];vao.draw(gl.LINES,this._contourCounts[j][k],this._contourOffsets[j][k])}}}}vao.unbind()}};proto.pick=function(selection){if(!selection){return null}if(selection.id!==this.pickId){return null}var shape=this._field[2].shape;var result=this._pickResult;var x=shape[0]*(selection.value[0]+(selection.value[2]>>4)/16)/255;var ix=Math.floor(x);var fx=x-ix;var y=shape[1]*(selection.value[1]+(selection.value[2]&15)/16)/255;var iy=Math.floor(y);var fy=y-iy;ix+=1;iy+=1;var pos=result.position;pos[0]=pos[1]=pos[2]=0;for(var dx=0;dx<2;++dx){var s=dx?fx:1-fx;for(var dy=0;dy<2;++dy){var t=dy?fy:1-fy;var r=ix+dx;var c=iy+dy;var w=s*t;for(var i=0;i<3;++i){pos[i]+=this._field[i].get(r,c)*w}}}var levelIndex=this._pickResult.level;for(var j=0;j<3;++j){levelIndex[j]=bsearch.le(this.contourLevels[j],pos[j]);if(levelIndex[j]<0){if(this.contourLevels[j].length>0){levelIndex[j]=0}}else if(levelIndex[j]<this.contourLevels[j].length-1){var a=this.contourLevels[j][levelIndex[j]];var b=this.contourLevels[j][levelIndex[j]+1];if(Math.abs(a-pos[j])>Math.abs(b-pos[j])){levelIndex[j]+=1}}}result.index[0]=fx<.5?ix:ix+1;result.index[1]=fy<.5?iy:iy+1;result.uv[0]=x/shape[0];result.uv[1]=y/shape[1];for(i=0;i<3;++i){result.dataCoordinate[i]=this._field[i].get(result.index[0],result.index[1])}return result};proto.padField=function(dstField,srcField){var srcShape=srcField.shape.slice();var dstShape=dstField.shape.slice();ops.assign(dstField.lo(1,1).hi(srcShape[0],srcShape[1]),srcField);ops.assign(dstField.lo(1).hi(srcShape[0],1),srcField.hi(srcShape[0],1));ops.assign(dstField.lo(1,dstShape[1]-1).hi(srcShape[0],1),srcField.lo(0,srcShape[1]-1).hi(srcShape[0],1));ops.assign(dstField.lo(0,1).hi(1,srcShape[1]),srcField.hi(1));ops.assign(dstField.lo(dstShape[0]-1,1).hi(1,srcShape[1]),srcField.lo(srcShape[0]-1));dstField.set(0,0,srcField.get(0,0));dstField.set(0,dstShape[1]-1,srcField.get(0,srcShape[1]-1));dstField.set(dstShape[0]-1,0,srcField.get(srcShape[0]-1,0));dstField.set(dstShape[0]-1,dstShape[1]-1,srcField.get(srcShape[0]-1,srcShape[1]-1))};function handleArray(param,ctor){if(Array.isArray(param)){return[ctor(param[0]),ctor(param[1]),ctor(param[2])]}return[ctor(param),ctor(param),ctor(param)]}function toColor(x){if(Array.isArray(x)){if(x.length===3){return[x[0],x[1],x[2],1]}return[x[0],x[1],x[2],x[3]]}return[0,0,0,1]}function handleColor(param){if(Array.isArray(param)){if(Array.isArray(param)){return[toColor(param[0]),toColor(param[1]),toColor(param[2])]}else{var c=toColor(param);return[c.slice(),c.slice(),c.slice()]}}}proto.update=function(params){params=params||{};this.objectOffset=params.objectOffset||this.objectOffset;this.dirty=true;if("contourWidth"in params){this.contourWidth=handleArray(params.contourWidth,Number)}if("showContour"in params){this.showContour=handleArray(params.showContour,Boolean)}if("showSurface"in params){this.showSurface=!!params.showSurface}if("contourTint"in params){this.contourTint=handleArray(params.contourTint,Boolean)}if("contourColor"in params){this.contourColor=handleColor(params.contourColor)}if("contourProject"in params){this.contourProject=handleArray(params.contourProject,(function(x){return handleArray(x,Boolean)}))}if("surfaceProject"in params){this.surfaceProject=params.surfaceProject}if("dynamicColor"in params){this.dynamicColor=handleColor(params.dynamicColor)}if("dynamicTint"in params){this.dynamicTint=handleArray(params.dynamicTint,Number)}if("dynamicWidth"in params){this.dynamicWidth=handleArray(params.dynamicWidth,Number)}if("opacity"in params){this.opacity=params.opacity}if("opacityscale"in params){this.opacityscale=params.opacityscale}if("colorBounds"in params){this.colorBounds=params.colorBounds}if("vertexColor"in params){this.vertexColor=params.vertexColor?1:0}if("colormap"in params){this._colorMap.setPixels(this.genColormap(params.colormap,this.opacityscale))}var field=params.field||params.coords&&params.coords[2]||null;var levelsChanged=false;if(!field){if(this._field[2].shape[0]||this._field[2].shape[2]){field=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2)}else{field=this._field[2].hi(0,0)}}if("field"in params||"coords"in params){var fsize=(field.shape[0]+2)*(field.shape[1]+2);if(fsize>this._field[2].data.length){pool.freeFloat(this._field[2].data);this._field[2].data=pool.mallocFloat(bits.nextPow2(fsize))}this._field[2]=ndarray(this._field[2].data,[field.shape[0]+2,field.shape[1]+2]);this.padField(this._field[2],field);this.shape=field.shape.slice();var shape=this.shape;for(var i=0;i<2;++i){if(this._field[2].size>this._field[i].data.length){pool.freeFloat(this._field[i].data);this._field[i].data=pool.mallocFloat(this._field[2].size)}this._field[i]=ndarray(this._field[i].data,[shape[0]+2,shape[1]+2])}if(params.coords){var coords=params.coords;if(!Array.isArray(coords)||coords.length!==3){throw new Error("gl-surface: invalid coordinates for x/y")}for(i=0;i<2;++i){var coord=coords[i];for(j=0;j<2;++j){if(coord.shape[j]!==shape[j]){throw new Error("gl-surface: coords have incorrect shape")}}this.padField(this._field[i],coord)}}else if(params.ticks){var ticks=params.ticks;if(!Array.isArray(ticks)||ticks.length!==2){throw new Error("gl-surface: invalid ticks")}for(i=0;i<2;++i){var tick=ticks[i];if(Array.isArray(tick)||tick.length){tick=ndarray(tick)}if(tick.shape[0]!==shape[i]){throw new Error("gl-surface: invalid tick length")}var tick2=ndarray(tick.data,shape);tick2.stride[i]=tick.stride[0];tick2.stride[i^1]=0;this.padField(this._field[i],tick2)}}else{for(i=0;i<2;++i){var offset=[0,0];offset[i]=1;this._field[i]=ndarray(this._field[i].data,[shape[0]+2,shape[1]+2],offset,0)}this._field[0].set(0,0,0);for(var j=0;j<shape[0];++j){this._field[0].set(j+1,0,j)}this._field[0].set(shape[0]+1,0,shape[0]-1);this._field[1].set(0,0,0);for(j=0;j<shape[1];++j){this._field[1].set(0,j+1,j)}this._field[1].set(0,shape[1]+1,shape[1]-1)}var fields=this._field;var dfields=ndarray(pool.mallocFloat(fields[2].size*3*2),[3,shape[0]+2,shape[1]+2,2]);for(i=0;i<3;++i){gradient(dfields.pick(i),fields[i],"mirror")}var normals=ndarray(pool.mallocFloat(fields[2].size*3),[shape[0]+2,shape[1]+2,3]);for(i=0;i<shape[0]+2;++i){for(j=0;j<shape[1]+2;++j){var dxdu=dfields.get(0,i,j,0);var dxdv=dfields.get(0,i,j,1);var dydu=dfields.get(1,i,j,0);var dydv=dfields.get(1,i,j,1);var dzdu=dfields.get(2,i,j,0);var dzdv=dfields.get(2,i,j,1);var nx=dydu*dzdv-dydv*dzdu;var ny=dzdu*dxdv-dzdv*dxdu;var nz=dxdu*dydv-dxdv*dydu;var nl=Math.sqrt(nx*nx+ny*ny+nz*nz);if(nl<1e-8){nl=Math.max(Math.abs(nx),Math.abs(ny),Math.abs(nz));if(nl<1e-8){nz=1;ny=nx=0;nl=1}else{nl=1/nl}}else{nl=1/Math.sqrt(nl)}normals.set(i,j,0,nx*nl);normals.set(i,j,1,ny*nl);normals.set(i,j,2,nz*nl)}}pool.free(dfields.data);var lo=[Infinity,Infinity,Infinity];var hi=[-Infinity,-Infinity,-Infinity];var lo_intensity=Infinity;var hi_intensity=-Infinity;var count=(shape[0]-1)*(shape[1]-1)*6;var tverts=pool.mallocFloat(bits.nextPow2(10*count));var tptr=0;var vertexCount=0;for(i=0;i<shape[0]-1;++i){j_loop:for(j=0;j<shape[1]-1;++j){for(var dx=0;dx<2;++dx){for(var dy=0;dy<2;++dy){for(var k=0;k<3;++k){var f=this._field[k].get(1+i+dx,1+j+dy);if(isNaN(f)||!isFinite(f)){continue j_loop}}}}for(k=0;k<6;++k){var r=i+QUAD[k][0];var c=j+QUAD[k][1];var tx=this._field[0].get(r+1,c+1);var ty=this._field[1].get(r+1,c+1);f=this._field[2].get(r+1,c+1);nx=normals.get(r+1,c+1,0);ny=normals.get(r+1,c+1,1);nz=normals.get(r+1,c+1,2);if(params.intensity){vf=params.intensity.get(r,c)}var vf=params.intensity?params.intensity.get(r,c):f+this.objectOffset[2];tverts[tptr++]=r;tverts[tptr++]=c;tverts[tptr++]=tx;tverts[tptr++]=ty;tverts[tptr++]=f;tverts[tptr++]=0;tverts[tptr++]=vf;tverts[tptr++]=nx;tverts[tptr++]=ny;tverts[tptr++]=nz;lo[0]=Math.min(lo[0],tx+this.objectOffset[0]);lo[1]=Math.min(lo[1],ty+this.objectOffset[1]);lo[2]=Math.min(lo[2],f+this.objectOffset[2]);lo_intensity=Math.min(lo_intensity,vf);hi[0]=Math.max(hi[0],tx+this.objectOffset[0]);hi[1]=Math.max(hi[1],ty+this.objectOffset[1]);hi[2]=Math.max(hi[2],f+this.objectOffset[2]);hi_intensity=Math.max(hi_intensity,vf);vertexCount+=1}}}if(params.intensityBounds){lo_intensity=+params.intensityBounds[0];hi_intensity=+params.intensityBounds[1]}for(i=6;i<tptr;i+=10){tverts[i]=(tverts[i]-lo_intensity)/(hi_intensity-lo_intensity)}this._vertexCount=vertexCount;this._coordinateBuffer.update(tverts.subarray(0,tptr));pool.freeFloat(tverts);pool.free(normals.data);this.bounds=[lo,hi];this.intensity=params.intensity||this._field[2];if(this.intensityBounds[0]!==lo_intensity||this.intensityBounds[1]!==hi_intensity){levelsChanged=true}this.intensityBounds=[lo_intensity,hi_intensity]}if("levels"in params){var levels=params.levels;if(!Array.isArray(levels[0])){levels=[[],[],levels]}else{levels=levels.slice()}for(i=0;i<3;++i){levels[i]=levels[i].slice();levels[i].sort((function(a,b){return a-b}))}for(i=0;i<3;++i){for(j=0;j<levels[i].length;++j){levels[i][j]-=this.objectOffset[i]}}change_test:for(i=0;i<3;++i){if(levels[i].length!==this.contourLevels[i].length){levelsChanged=true;break}for(j=0;j<levels[i].length;++j){if(levels[i][j]!==this.contourLevels[i][j]){levelsChanged=true;break change_test}}}this.contourLevels=levels}if(levelsChanged){fields=this._field;shape=this.shape;var contourVerts=[];for(var dim=0;dim<3;++dim){var contourLevel=this.contourLevels[dim];var levelOffsets=[];var levelCounts=[];var parts=[0,0,0];for(i=0;i<contourLevel.length;++i){var graph=surfaceNets(this._field[dim],contourLevel[i]);levelOffsets.push(contourVerts.length/5|0);vertexCount=0;edge_loop:for(j=0;j<graph.cells.length;++j){var e=graph.cells[j];for(k=0;k<2;++k){var p=graph.positions[e[k]];var x=p[0];var ix=Math.floor(x)|0;var fx=x-ix;var y=p[1];var iy=Math.floor(y)|0;var fy=y-iy;var hole=false;axis_loop:for(var axis=0;axis<3;++axis){parts[axis]=0;var iu=(dim+axis+1)%3;for(dx=0;dx<2;++dx){var s=dx?fx:1-fx;r=Math.min(Math.max(ix+dx,0),shape[0])|0;for(dy=0;dy<2;++dy){var t=dy?fy:1-fy;c=Math.min(Math.max(iy+dy,0),shape[1])|0;if(axis<2){f=this._field[iu].get(r,c)}else{f=(this.intensity.get(r,c)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0])}if(!isFinite(f)||isNaN(f)){hole=true;break axis_loop}var w=s*t;parts[axis]+=w*f}}}if(!hole){contourVerts.push(parts[0],parts[1],p[0],p[1],parts[2]);vertexCount+=1}else{if(k>0){for(var l=0;l<5;++l){contourVerts.pop()}vertexCount-=1}continue edge_loop}}}levelCounts.push(vertexCount)}this._contourOffsets[dim]=levelOffsets;this._contourCounts[dim]=levelCounts}var floatBuffer=pool.mallocFloat(contourVerts.length);for(i=0;i<contourVerts.length;++i){floatBuffer[i]=contourVerts[i]}this._contourBuffer.update(floatBuffer);pool.freeFloat(floatBuffer)}};proto.dispose=function(){this._shader.dispose();this._vao.dispose();this._coordinateBuffer.dispose();this._colorMap.dispose();this._contourBuffer.dispose();this._contourVAO.dispose();this._contourShader.dispose();this._contourPickShader.dispose();this._dynamicBuffer.dispose();this._dynamicVAO.dispose();for(var i=0;i<3;++i){pool.freeFloat(this._field[i].data)}};proto.highlight=function(selection){var i;if(!selection){this._dynamicCounts=[0,0,0];this.dyanamicLevel=[NaN,NaN,NaN];this.highlightLevel=[-1,-1,-1];return}for(i=0;i<3;++i){if(this.enableHighlight[i]){this.highlightLevel[i]=selection.level[i]}else{this.highlightLevel[i]=-1}}var levels;if(this.snapToData){levels=selection.dataCoordinate}else{levels=selection.position}for(i=0;i<3;++i){levels[i]-=this.objectOffset[i]}if((!this.enableDynamic[0]||levels[0]===this.dynamicLevel[0])&&(!this.enableDynamic[1]||levels[1]===this.dynamicLevel[1])&&(!this.enableDynamic[2]||levels[2]===this.dynamicLevel[2])){return}var vertexCount=0;var shape=this.shape;var scratchBuffer=pool.mallocFloat(12*shape[0]*shape[1]);for(var d=0;d<3;++d){if(!this.enableDynamic[d]){this.dynamicLevel[d]=NaN;this._dynamicCounts[d]=0;continue}this.dynamicLevel[d]=levels[d];var u=(d+1)%3;var v=(d+2)%3;var f=this._field[d];var g=this._field[u];var h=this._field[v];var graph=surfaceNets(f,levels[d]);var edges=graph.cells;var positions=graph.positions;this._dynamicOffsets[d]=vertexCount;for(i=0;i<edges.length;++i){var e=edges[i];for(var j=0;j<2;++j){var p=positions[e[j]];var x=+p[0];var ix=x|0;var jx=Math.min(ix+1,shape[0])|0;var fx=x-ix;var hx=1-fx;var y=+p[1];var iy=y|0;var jy=Math.min(iy+1,shape[1])|0;var fy=y-iy;var hy=1-fy;var w00=hx*hy;var w01=hx*fy;var w10=fx*hy;var w11=fx*fy;var cu=w00*g.get(ix,iy)+w01*g.get(ix,jy)+w10*g.get(jx,iy)+w11*g.get(jx,jy);var cv=w00*h.get(ix,iy)+w01*h.get(ix,jy)+w10*h.get(jx,iy)+w11*h.get(jx,jy);if(isNaN(cu)||isNaN(cv)){if(j){vertexCount-=1}break}scratchBuffer[2*vertexCount+0]=cu;scratchBuffer[2*vertexCount+1]=cv;vertexCount+=1}}this._dynamicCounts[d]=vertexCount-this._dynamicOffsets[d]}this._dynamicBuffer.update(scratchBuffer.subarray(0,2*vertexCount));pool.freeFloat(scratchBuffer)};function createSurfacePlot(params){var gl=params.gl;var shader=createShader(gl);var pickShader=createPickShader(gl);var contourShader=createContourShader(gl);var contourPickShader=createPickContourShader(gl);var coordinateBuffer=createBuffer(gl);var vao=createVAO(gl,[{buffer:coordinateBuffer,size:4,stride:SURFACE_VERTEX_SIZE,offset:0},{buffer:coordinateBuffer,size:3,stride:SURFACE_VERTEX_SIZE,offset:16},{buffer:coordinateBuffer,size:3,stride:SURFACE_VERTEX_SIZE,offset:28}]);var contourBuffer=createBuffer(gl);var contourVAO=createVAO(gl,[{buffer:contourBuffer,size:4,stride:20,offset:0},{buffer:contourBuffer,size:1,stride:20,offset:16}]);var dynamicBuffer=createBuffer(gl);var dynamicVAO=createVAO(gl,[{buffer:dynamicBuffer,size:2,type:gl.FLOAT}]);var cmap=createTexture(gl,1,N_COLORS,gl.RGBA,gl.UNSIGNED_BYTE);cmap.minFilter=gl.LINEAR;cmap.magFilter=gl.LINEAR;var surface=new SurfacePlot(gl,[0,0],[[0,0,0],[0,0,0]],shader,pickShader,coordinateBuffer,vao,cmap,contourShader,contourPickShader,contourBuffer,contourVAO,dynamicBuffer,dynamicVAO,[0,0,0]);var nparams={levels:[[],[],[]]};for(var id in params){nparams[id]=params[id]}nparams.colormap=nparams.colormap||"jet";surface.update(nparams);return surface}},{"./lib/shaders":353,"binary-search-bounds":103,"bit-twiddle":104,colormap:137,"gl-buffer":267,"gl-mat4/invert":299,"gl-mat4/multiply":301,"gl-texture2d":356,"gl-vao":361,ndarray:483,"ndarray-gradient":476,"ndarray-ops":478,"ndarray-pack":479,"surface-nets":591,"typedarray-pool":617}],355:[function(_dereq_,module,exports){"use strict";var Font=_dereq_("css-font");var pick=_dereq_("pick-by-alias");var createRegl=_dereq_("regl");var createGl=_dereq_("gl-util/context");var WeakMap=_dereq_("es6-weak-map");var rgba=_dereq_("color-normalize");var fontAtlas=_dereq_("font-atlas");var pool=_dereq_("typedarray-pool");var parseRect=_dereq_("parse-rect");var isObj=_dereq_("is-plain-obj");var parseUnit=_dereq_("parse-unit");var px=_dereq_("to-px");var kerning=_dereq_("detect-kerning");var extend=_dereq_("object-assign");var metrics=_dereq_("font-measure");var flatten=_dereq_("flatten-vertex-data");var ref=_dereq_("bit-twiddle");var nextPow2=ref.nextPow2;var shaderCache=new WeakMap;var isStretchSupported=false;if(document.body){var el=document.body.appendChild(document.createElement("div"));el.style.font="italic small-caps bold condensed 16px/2 cursive";if(getComputedStyle(el).fontStretch){isStretchSupported=true}document.body.removeChild(el)}var GlText=function GlText(o){if(isRegl(o)){o={regl:o};this.gl=o.regl._gl}else{this.gl=createGl(o)}this.shader=shaderCache.get(this.gl);if(!this.shader){this.regl=o.regl||createRegl({gl:this.gl})}else{this.regl=this.shader.regl}this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"});this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"});if(!this.shader){this.shader=this.createShader();shaderCache.set(this.gl,this.shader)}this.batch=[];this.fontSize=[];this.font=[];this.fontAtlas=[];this.draw=this.shader.draw.bind(this);this.render=function(){this.regl._refresh();this.draw(this.batch)};this.canvas=this.gl.canvas;this.update(isObj(o)?o:{})};GlText.prototype.createShader=function createShader(){var regl=this.regl;var draw=regl({blend:{enable:true,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:false},depth:{enable:false},count:regl.prop("count"),offset:regl.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:regl.this("sizeBuffer")},width:{offset:0,stride:8,buffer:regl.this("sizeBuffer")},char:regl.this("charBuffer"),position:regl.this("position")},uniforms:{atlasSize:function(c,p){return[p.atlas.width,p.atlas.height]},atlasDim:function(c,p){return[p.atlas.cols,p.atlas.rows]},atlas:function(c,p){return p.atlas.texture},charStep:function(c,p){return p.atlas.step},em:function(c,p){return p.atlas.em},color:regl.prop("color"),opacity:regl.prop("opacity"),viewport:regl.this("viewportArray"),scale:regl.this("scale"),align:regl.prop("align"),baseline:regl.prop("baseline"),translate:regl.this("translate"),positionOffset:regl.prop("positionOffset")},primitive:"points",viewport:regl.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\t"+(!GlText.normalViewport?"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);":"")+"\n\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ positionOffset))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\t"+(GlText.normalViewport?"position.y = 1. - position.y;":"")+"\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform sampler2D atlas;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});var atlas={};return{regl:regl,draw:draw,atlas:atlas}};GlText.prototype.update=function update(o){var this$1=this;if(typeof o==="string"){o={text:o}}else if(!o){return}o=pick(o,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},true);if(o.opacity!=null){if(Array.isArray(o.opacity)){this.opacity=o.opacity.map((function(o){return parseFloat(o)}))}else{this.opacity=parseFloat(o.opacity)}}if(o.viewport!=null){this.viewport=parseRect(o.viewport);if(GlText.normalViewport){this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height}this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]}if(this.viewport==null){this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight};this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]}if(o.kerning!=null){this.kerning=o.kerning}if(o.offset!=null){if(typeof o.offset==="number"){o.offset=[o.offset,0]}this.positionOffset=flatten(o.offset)}if(o.direction){this.direction=o.direction}if(o.range){this.range=o.range;this.scale=[1/(o.range[2]-o.range[0]),1/(o.range[3]-o.range[1])];this.translate=[-o.range[0],-o.range[1]]}if(o.scale){this.scale=o.scale}if(o.translate){this.translate=o.translate}if(!this.scale){this.scale=[1/this.viewport.width,1/this.viewport.height]}if(!this.translate){this.translate=[0,0]}if(!this.font.length&&!o.font){o.font=GlText.baseFontSize+"px sans-serif"}var newFont=false,newFontSize=false;if(o.font){(Array.isArray(o.font)?o.font:[o.font]).forEach((function(font,i){if(typeof font==="string"){try{font=Font.parse(font)}catch(e){font=Font.parse(GlText.baseFontSize+"px "+font)}}else{font=Font.parse(Font.stringify(font))}var baseString=Font.stringify({size:GlText.baseFontSize,family:font.family,stretch:isStretchSupported?font.stretch:undefined,variant:font.variant,weight:font.weight,style:font.style});var unit=parseUnit(font.size);var fs=Math.round(unit[0]*px(unit[1]));if(fs!==this$1.fontSize[i]){newFontSize=true;this$1.fontSize[i]=fs}if(!this$1.font[i]||baseString!=this$1.font[i].baseString){newFont=true;this$1.font[i]=GlText.fonts[baseString];if(!this$1.font[i]){var family=font.family.join(", ");var style=[font.style];if(font.style!=font.variant){style.push(font.variant)}if(font.variant!=font.weight){style.push(font.weight)}if(isStretchSupported&&font.weight!=font.stretch){style.push(font.stretch)}this$1.font[i]={baseString:baseString,family:family,weight:font.weight,stretch:font.stretch,style:font.style,variant:font.variant,width:{},kerning:{},metrics:metrics(family,{origin:"top",fontSize:GlText.baseFontSize,fontStyle:style.join(" ")})};GlText.fonts[baseString]=this$1.font[i]}}}))}if(newFont||newFontSize){this.font.forEach((function(font,i){var fontString=Font.stringify({size:this$1.fontSize[i],family:font.family,stretch:isStretchSupported?font.stretch:undefined,variant:font.variant,weight:font.weight,style:font.style});this$1.fontAtlas[i]=this$1.shader.atlas[fontString];if(!this$1.fontAtlas[i]){var metrics=font.metrics;this$1.shader.atlas[fontString]=this$1.fontAtlas[i]={fontString:fontString,step:Math.ceil(this$1.fontSize[i]*metrics.bottom*.5)*2,em:this$1.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:this$1.regl.texture()}}if(o.text==null){o.text=this$1.text}}))}if(typeof o.text==="string"&&o.position&&o.position.length>2){var textArray=Array(o.position.length*.5);for(var i=0;i<textArray.length;i++){textArray[i]=o.text}o.text=textArray}var newAtlasChars;if(o.text!=null||newFont){this.textOffsets=[0];if(Array.isArray(o.text)){this.count=o.text[0].length;this.counts=[this.count];for(var i$1=1;i$1<o.text.length;i$1++){this.textOffsets[i$1]=this.textOffsets[i$1-1]+o.text[i$1-1].length;this.count+=o.text[i$1].length;this.counts.push(o.text[i$1].length)}this.text=o.text.join("")}else{this.text=o.text;this.count=this.text.length;this.counts=[this.count]}newAtlasChars=[];this.font.forEach((function(font,idx){GlText.atlasContext.font=font.baseString;var atlas=this$1.fontAtlas[idx];for(var i=0;i<this$1.text.length;i++){var char=this$1.text.charAt(i);if(atlas.ids[char]==null){atlas.ids[char]=atlas.chars.length;atlas.chars.push(char);newAtlasChars.push(char)}if(font.width[char]==null){font.width[char]=GlText.atlasContext.measureText(char).width/GlText.baseFontSize;if(this$1.kerning){var pairs=[];for(var baseChar in font.width){pairs.push(baseChar+char,char+baseChar)}extend(font.kerning,kerning(font.family,{pairs:pairs}))}}}}))}if(o.position){if(o.position.length>2){var flat=!o.position[0].length;var positionData=pool.mallocFloat(this.count*2);for(var i$2=0,ptr=0;i$2<this.counts.length;i$2++){var count=this.counts[i$2];if(flat){for(var j=0;j<count;j++){positionData[ptr++]=o.position[i$2*2];positionData[ptr++]=o.position[i$2*2+1]}}else{for(var j$1=0;j$1<count;j$1++){positionData[ptr++]=o.position[i$2][0];positionData[ptr++]=o.position[i$2][1]}}}if(this.position.call){this.position({type:"float",data:positionData})}else{this.position=this.regl.buffer({type:"float",data:positionData})}pool.freeFloat(positionData)}else{if(this.position.destroy){this.position.destroy()}this.position={constant:o.position}}}if(o.text||newFont){var charIds=pool.mallocUint8(this.count);var sizeData=pool.mallocFloat(this.count*2);this.textWidth=[];for(var i$3=0,ptr$1=0;i$3<this.counts.length;i$3++){var count$1=this.counts[i$3];var font=this.font[i$3]||this.font[0];var atlas=this.fontAtlas[i$3]||this.fontAtlas[0];for(var j$2=0;j$2<count$1;j$2++){var char=this.text.charAt(ptr$1);var prevChar=this.text.charAt(ptr$1-1);charIds[ptr$1]=atlas.ids[char];sizeData[ptr$1*2]=font.width[char];if(j$2){var prevWidth=sizeData[ptr$1*2-2];var currWidth=sizeData[ptr$1*2];var prevOffset=sizeData[ptr$1*2-1];var offset=prevOffset+prevWidth*.5+currWidth*.5;if(this.kerning){var kerning$1=font.kerning[prevChar+char];if(kerning$1){offset+=kerning$1*.001}}sizeData[ptr$1*2+1]=offset}else{sizeData[ptr$1*2+1]=sizeData[ptr$1*2]*.5}ptr$1++}this.textWidth.push(!sizeData.length?0:sizeData[ptr$1*2-2]*.5+sizeData[ptr$1*2-1])}if(!o.align){o.align=this.align}this.charBuffer({data:charIds,type:"uint8",usage:"stream"});this.sizeBuffer({data:sizeData,type:"float",usage:"stream"});pool.freeUint8(charIds);pool.freeFloat(sizeData);if(newAtlasChars.length){this.font.forEach((function(font,i){var atlas=this$1.fontAtlas[i];var step=atlas.step;var maxCols=Math.floor(GlText.maxAtlasSize/step);var cols=Math.min(maxCols,atlas.chars.length);var rows=Math.ceil(atlas.chars.length/cols);var atlasWidth=nextPow2(cols*step);var atlasHeight=nextPow2(rows*step);atlas.width=atlasWidth;atlas.height=atlasHeight;atlas.rows=rows;atlas.cols=cols;if(!atlas.em){return}atlas.texture({data:fontAtlas({canvas:GlText.atlasCanvas,font:atlas.fontString,chars:atlas.chars,shape:[atlasWidth,atlasHeight],step:[step,step]})})}))}}if(o.align){this.align=o.align;this.alignOffset=this.textWidth.map((function(textWidth,i){var align=!Array.isArray(this$1.align)?this$1.align:this$1.align.length>1?this$1.align[i]:this$1.align[0];if(typeof align==="number"){return align}switch(align){case"right":case"end":return-textWidth;case"center":case"centre":case"middle":return-textWidth*.5}return 0}))}if(this.baseline==null&&o.baseline==null){o.baseline=0}if(o.baseline!=null){this.baseline=o.baseline;if(!Array.isArray(this.baseline)){this.baseline=[this.baseline]}this.baselineOffset=this.baseline.map((function(baseline,i){var m=(this$1.font[i]||this$1.font[0]).metrics;var base=0;base+=m.bottom*.5;if(typeof baseline==="number"){base+=baseline-m.baseline}else{base+=-m[baseline]}if(!GlText.normalViewport){base*=-1}return base}))}if(o.color!=null){if(!o.color){o.color="transparent"}if(typeof o.color==="string"||!isNaN(o.color)){this.color=rgba(o.color,"uint8")}else{var colorData;if(typeof o.color[0]==="number"&&o.color.length>this.counts.length){var l=o.color.length;colorData=pool.mallocUint8(l);var sub=(o.color.subarray||o.color.slice).bind(o.color);for(var i$4=0;i$4<l;i$4+=4){colorData.set(rgba(sub(i$4,i$4+4),"uint8"),i$4)}}else{var l$1=o.color.length;colorData=pool.mallocUint8(l$1*4);for(var i$5=0;i$5<l$1;i$5++){colorData.set(rgba(o.color[i$5]||0,"uint8"),i$5*4)}}this.color=colorData}}if(o.position||o.text||o.color||o.baseline||o.align||o.font||o.offset||o.opacity){var isBatch=this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(isBatch){var length=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(length);for(var i$6=0;i$6<this.batch.length;i$6++){this.batch[i$6]={count:this.counts.length>1?this.counts[i$6]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[i$6]:this.textOffsets[0],color:!this.color?[0,0,0,255]:this.color.length<=4?this.color:this.color.subarray(i$6*4,i$6*4+4),opacity:Array.isArray(this.opacity)?this.opacity[i$6]:this.opacity,baseline:this.baselineOffset[i$6]!=null?this.baselineOffset[i$6]:this.baselineOffset[0],align:!this.align?0:this.alignOffset[i$6]!=null?this.alignOffset[i$6]:this.alignOffset[0],atlas:this.fontAtlas[i$6]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(i$6*2,i$6*2+2):this.positionOffset}}}else{if(this.count){this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]}else{this.batch=[]}}}};GlText.prototype.destroy=function destroy(){};GlText.prototype.kerning=true;GlText.prototype.position={constant:new Float32Array(2)};GlText.prototype.translate=null;GlText.prototype.scale=null;GlText.prototype.font=null;GlText.prototype.text="";GlText.prototype.positionOffset=[0,0];GlText.prototype.opacity=1;GlText.prototype.color=new Uint8Array([0,0,0,255]);GlText.prototype.alignOffset=[0,0];GlText.normalViewport=false;GlText.maxAtlasSize=1024;GlText.atlasCanvas=document.createElement("canvas");GlText.atlasContext=GlText.atlasCanvas.getContext("2d",{alpha:false});GlText.baseFontSize=64;GlText.fonts={};function isRegl(o){return typeof o==="function"&&o._gl&&o.prop&&o.texture&&o.buffer}module.exports=GlText},{"bit-twiddle":104,"color-normalize":131,"css-font":150,"detect-kerning":181,"es6-weak-map":241,"flatten-vertex-data":252,"font-atlas":253,"font-measure":254,"gl-util/context":357,"is-plain-obj":457,"object-assign":487,"parse-rect":492,"parse-unit":494,"pick-by-alias":498,regl:540,"to-px":600,"typedarray-pool":617}],356:[function(_dereq_,module,exports){"use strict";var ndarray=_dereq_("ndarray");var ops=_dereq_("ndarray-ops");var pool=_dereq_("typedarray-pool");module.exports=createTexture2D;var linearTypes=null;var filterTypes=null;var wrapTypes=null;function lazyInitLinearTypes(gl){linearTypes=[gl.LINEAR,gl.NEAREST_MIPMAP_LINEAR,gl.LINEAR_MIPMAP_NEAREST,gl.LINEAR_MIPMAP_NEAREST];filterTypes=[gl.NEAREST,gl.LINEAR,gl.NEAREST_MIPMAP_NEAREST,gl.NEAREST_MIPMAP_LINEAR,gl.LINEAR_MIPMAP_NEAREST,gl.LINEAR_MIPMAP_LINEAR];wrapTypes=[gl.REPEAT,gl.CLAMP_TO_EDGE,gl.MIRRORED_REPEAT]}function acceptTextureDOM(obj){return"undefined"!=typeof HTMLCanvasElement&&obj instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&obj instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&obj instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&obj instanceof ImageData}var convertFloatToUint8=function(out,inp){ops.muls(out,inp,255)};function reshapeTexture(tex,w,h){var gl=tex.gl;var maxSize=gl.getParameter(gl.MAX_TEXTURE_SIZE);if(w<0||w>maxSize||h<0||h>maxSize){throw new Error("gl-texture2d: Invalid texture size")}tex._shape=[w,h];tex.bind();gl.texImage2D(gl.TEXTURE_2D,0,tex.format,w,h,0,tex.format,tex.type,null);tex._mipLevels=[0];return tex}function Texture2D(gl,handle,width,height,format,type){this.gl=gl;this.handle=handle;this.format=format;this.type=type;this._shape=[width,height];this._mipLevels=[0];this._magFilter=gl.NEAREST;this._minFilter=gl.NEAREST;this._wrapS=gl.CLAMP_TO_EDGE;this._wrapT=gl.CLAMP_TO_EDGE;this._anisoSamples=1;var parent=this;var wrapVector=[this._wrapS,this._wrapT];Object.defineProperties(wrapVector,[{get:function(){return parent._wrapS},set:function(v){return parent.wrapS=v}},{get:function(){return parent._wrapT},set:function(v){return parent.wrapT=v}}]);this._wrapVector=wrapVector;var shapeVector=[this._shape[0],this._shape[1]];Object.defineProperties(shapeVector,[{get:function(){return parent._shape[0]},set:function(v){return parent.width=v}},{get:function(){return parent._shape[1]},set:function(v){return parent.height=v}}]);this._shapeVector=shapeVector}var proto=Texture2D.prototype;Object.defineProperties(proto,{minFilter:{get:function(){return this._minFilter},set:function(v){this.bind();var gl=this.gl;if(this.type===gl.FLOAT&&linearTypes.indexOf(v)>=0){if(!gl.getExtension("OES_texture_float_linear")){v=gl.NEAREST}}if(filterTypes.indexOf(v)<0){throw new Error("gl-texture2d: Unknown filter mode "+v)}gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,v);return this._minFilter=v}},magFilter:{get:function(){return this._magFilter},set:function(v){this.bind();var gl=this.gl;if(this.type===gl.FLOAT&&linearTypes.indexOf(v)>=0){if(!gl.getExtension("OES_texture_float_linear")){v=gl.NEAREST}}if(filterTypes.indexOf(v)<0){throw new Error("gl-texture2d: Unknown filter mode "+v)}gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,v);return this._magFilter=v}},mipSamples:{get:function(){return this._anisoSamples},set:function(i){var psamples=this._anisoSamples;this._anisoSamples=Math.max(i,1)|0;if(psamples!==this._anisoSamples){var ext=this.gl.getExtension("EXT_texture_filter_anisotropic");if(ext){this.gl.texParameterf(this.gl.TEXTURE_2D,ext.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(v){this.bind();if(wrapTypes.indexOf(v)<0){throw new Error("gl-texture2d: Unknown wrap mode "+v)}this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,v);return this._wrapS=v}},wrapT:{get:function(){return this._wrapT},set:function(v){this.bind();if(wrapTypes.indexOf(v)<0){throw new Error("gl-texture2d: Unknown wrap mode "+v)}this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,v);return this._wrapT=v}},wrap:{get:function(){return this._wrapVector},set:function(v){if(!Array.isArray(v)){v=[v,v]}if(v.length!==2){throw new Error("gl-texture2d: Must specify wrap mode for rows and columns")}for(var i=0;i<2;++i){if(wrapTypes.indexOf(v[i])<0){throw new Error("gl-texture2d: Unknown wrap mode "+v)}}this._wrapS=v[0];this._wrapT=v[1];var gl=this.gl;this.bind();gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,this._wrapS);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,this._wrapT);return v}},shape:{get:function(){return this._shapeVector},set:function(x){if(!Array.isArray(x)){x=[x|0,x|0]}else{if(x.length!==2){throw new Error("gl-texture2d: Invalid texture shape")}}reshapeTexture(this,x[0]|0,x[1]|0);return[x[0]|0,x[1]|0]}},width:{get:function(){return this._shape[0]},set:function(w){w=w|0;reshapeTexture(this,w,this._shape[1]);return w}},height:{get:function(){return this._shape[1]},set:function(h){h=h|0;reshapeTexture(this,this._shape[0],h);return h}}});proto.bind=function(unit){var gl=this.gl;if(unit!==undefined){gl.activeTexture(gl.TEXTURE0+(unit|0))}gl.bindTexture(gl.TEXTURE_2D,this.handle);if(unit!==undefined){return unit|0}return gl.getParameter(gl.ACTIVE_TEXTURE)-gl.TEXTURE0};proto.dispose=function(){this.gl.deleteTexture(this.handle)};proto.generateMipmap=function(){this.bind();this.gl.generateMipmap(this.gl.TEXTURE_2D);var l=Math.min(this._shape[0],this._shape[1]);for(var i=0;l>0;++i,l>>>=1){if(this._mipLevels.indexOf(i)<0){this._mipLevels.push(i)}}};proto.setPixels=function(data,x_off,y_off,mip_level){var gl=this.gl;this.bind();if(Array.isArray(x_off)){mip_level=y_off;y_off=x_off[1]|0;x_off=x_off[0]|0}else{x_off=x_off||0;y_off=y_off||0}mip_level=mip_level||0;var directData=acceptTextureDOM(data)?data:data.raw;if(directData){var needsMip=this._mipLevels.indexOf(mip_level)<0;if(needsMip){gl.texImage2D(gl.TEXTURE_2D,0,this.format,this.format,this.type,directData);this._mipLevels.push(mip_level)}else{gl.texSubImage2D(gl.TEXTURE_2D,mip_level,x_off,y_off,this.format,this.type,directData)}}else if(data.shape&&data.stride&&data.data){if(data.shape.length<2||x_off+data.shape[1]>this._shape[1]>>>mip_level||y_off+data.shape[0]>this._shape[0]>>>mip_level||x_off<0||y_off<0){throw new Error("gl-texture2d: Texture dimensions are out of bounds")}texSubImageArray(gl,x_off,y_off,mip_level,this.format,this.type,this._mipLevels,data)}else{throw new Error("gl-texture2d: Unsupported data type")}};function isPacked(shape,stride){if(shape.length===3){return stride[2]===1&&stride[1]===shape[0]*shape[2]&&stride[0]===shape[2]}return stride[0]===1&&stride[1]===shape[0]}function texSubImageArray(gl,x_off,y_off,mip_level,cformat,ctype,mipLevels,array){var dtype=array.dtype;var shape=array.shape.slice();if(shape.length<2||shape.length>3){throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d")}var type=0,format=0;var packed=isPacked(shape,array.stride.slice());if(dtype==="float32"){type=gl.FLOAT}else if(dtype==="float64"){type=gl.FLOAT;packed=false;dtype="float32"}else if(dtype==="uint8"){type=gl.UNSIGNED_BYTE}else{type=gl.UNSIGNED_BYTE;packed=false;dtype="uint8"}var channels=1;if(shape.length===2){format=gl.LUMINANCE;shape=[shape[0],shape[1],1];array=ndarray(array.data,shape,[array.stride[0],array.stride[1],1],array.offset)}else if(shape.length===3){if(shape[2]===1){format=gl.ALPHA}else if(shape[2]===2){format=gl.LUMINANCE_ALPHA}else if(shape[2]===3){format=gl.RGB}else if(shape[2]===4){format=gl.RGBA}else{throw new Error("gl-texture2d: Invalid shape for pixel coords")}channels=shape[2]}else{throw new Error("gl-texture2d: Invalid shape for texture")}if((format===gl.LUMINANCE||format===gl.ALPHA)&&(cformat===gl.LUMINANCE||cformat===gl.ALPHA)){format=cformat}if(format!==cformat){throw new Error("gl-texture2d: Incompatible texture format for setPixels")}var size=array.size;var needsMip=mipLevels.indexOf(mip_level)<0;if(needsMip){mipLevels.push(mip_level)}if(type===ctype&&packed){if(array.offset===0&&array.data.length===size){if(needsMip){gl.texImage2D(gl.TEXTURE_2D,mip_level,cformat,shape[0],shape[1],0,cformat,ctype,array.data)}else{gl.texSubImage2D(gl.TEXTURE_2D,mip_level,x_off,y_off,shape[0],shape[1],cformat,ctype,array.data)}}else{if(needsMip){gl.texImage2D(gl.TEXTURE_2D,mip_level,cformat,shape[0],shape[1],0,cformat,ctype,array.data.subarray(array.offset,array.offset+size))}else{gl.texSubImage2D(gl.TEXTURE_2D,mip_level,x_off,y_off,shape[0],shape[1],cformat,ctype,array.data.subarray(array.offset,array.offset+size))}}}else{var pack_buffer;if(ctype===gl.FLOAT){pack_buffer=pool.mallocFloat32(size)}else{pack_buffer=pool.mallocUint8(size)}var pack_view=ndarray(pack_buffer,shape,[shape[2],shape[2]*shape[0],1]);if(type===gl.FLOAT&&ctype===gl.UNSIGNED_BYTE){convertFloatToUint8(pack_view,array)}else{ops.assign(pack_view,array)}if(needsMip){gl.texImage2D(gl.TEXTURE_2D,mip_level,cformat,shape[0],shape[1],0,cformat,ctype,pack_buffer.subarray(0,size))}else{gl.texSubImage2D(gl.TEXTURE_2D,mip_level,x_off,y_off,shape[0],shape[1],cformat,ctype,pack_buffer.subarray(0,size))}if(ctype===gl.FLOAT){pool.freeFloat32(pack_buffer)}else{pool.freeUint8(pack_buffer)}}}function initTexture(gl){var tex=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,tex);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);return tex}function createTextureShape(gl,width,height,format,type){var maxTextureSize=gl.getParameter(gl.MAX_TEXTURE_SIZE);if(width<0||width>maxTextureSize||height<0||height>maxTextureSize){throw new Error("gl-texture2d: Invalid texture shape")}if(type===gl.FLOAT&&!gl.getExtension("OES_texture_float")){throw new Error("gl-texture2d: Floating point textures not supported on this platform")}var tex=initTexture(gl);gl.texImage2D(gl.TEXTURE_2D,0,format,width,height,0,format,type,null);return new Texture2D(gl,tex,width,height,format,type)}function createTextureDOM(gl,directData,width,height,format,type){var tex=initTexture(gl);gl.texImage2D(gl.TEXTURE_2D,0,format,format,type,directData);return new Texture2D(gl,tex,width,height,format,type)}function createTextureArray(gl,array){var dtype=array.dtype;var shape=array.shape.slice();var maxSize=gl.getParameter(gl.MAX_TEXTURE_SIZE);if(shape[0]<0||shape[0]>maxSize||shape[1]<0||shape[1]>maxSize){throw new Error("gl-texture2d: Invalid texture size")}var packed=isPacked(shape,array.stride.slice());var type=0;if(dtype==="float32"){type=gl.FLOAT}else if(dtype==="float64"){type=gl.FLOAT;packed=false;dtype="float32"}else if(dtype==="uint8"){type=gl.UNSIGNED_BYTE}else{type=gl.UNSIGNED_BYTE;packed=false;dtype="uint8"}var format=0;if(shape.length===2){format=gl.LUMINANCE;shape=[shape[0],shape[1],1];array=ndarray(array.data,shape,[array.stride[0],array.stride[1],1],array.offset)}else if(shape.length===3){if(shape[2]===1){format=gl.ALPHA}else if(shape[2]===2){format=gl.LUMINANCE_ALPHA}else if(shape[2]===3){format=gl.RGB}else if(shape[2]===4){format=gl.RGBA}else{throw new Error("gl-texture2d: Invalid shape for pixel coords")}}else{throw new Error("gl-texture2d: Invalid shape for texture")}if(type===gl.FLOAT&&!gl.getExtension("OES_texture_float")){type=gl.UNSIGNED_BYTE;packed=false}var buffer,buf_store;var size=array.size;if(!packed){var stride=[shape[2],shape[2]*shape[0],1];buf_store=pool.malloc(size,dtype);var buf_array=ndarray(buf_store,shape,stride,0);if((dtype==="float32"||dtype==="float64")&&type===gl.UNSIGNED_BYTE){convertFloatToUint8(buf_array,array)}else{ops.assign(buf_array,array)}buffer=buf_store.subarray(0,size)}else if(array.offset===0&&array.data.length===size){buffer=array.data}else{buffer=array.data.subarray(array.offset,array.offset+size)}var tex=initTexture(gl);gl.texImage2D(gl.TEXTURE_2D,0,format,shape[0],shape[1],0,format,type,buffer);if(!packed){pool.free(buf_store)}return new Texture2D(gl,tex,shape[0],shape[1],format,type)}function createTexture2D(gl){if(arguments.length<=1){throw new Error("gl-texture2d: Missing arguments for texture2d constructor")}if(!linearTypes){lazyInitLinearTypes(gl)}if(typeof arguments[1]==="number"){return createTextureShape(gl,arguments[1],arguments[2],arguments[3]||gl.RGBA,arguments[4]||gl.UNSIGNED_BYTE)}if(Array.isArray(arguments[1])){return createTextureShape(gl,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||gl.RGBA,arguments[3]||gl.UNSIGNED_BYTE)}if(typeof arguments[1]==="object"){var obj=arguments[1];var directData=acceptTextureDOM(obj)?obj:obj.raw;if(directData){return createTextureDOM(gl,directData,obj.width|0,obj.height|0,arguments[2]||gl.RGBA,arguments[3]||gl.UNSIGNED_BYTE)}else if(obj.shape&&obj.data&&obj.stride){return createTextureArray(gl,obj)}}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}},{ndarray:483,"ndarray-ops":478,"typedarray-pool":617}],357:[function(_dereq_,module,exports){(function(global){(function(){"use strict";var pick=_dereq_("pick-by-alias");module.exports=function setContext(o){if(!o)o={};else if(typeof o==="string")o={container:o};if(isCanvas(o)){o={container:o}}else if(isElement(o)){o={container:o}}else if(isContext(o)){o={gl:o}}else{o=pick(o,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},true)}if(!o.pixelRatio)o.pixelRatio=global.pixelRatio||1;if(o.gl){return o.gl}if(o.canvas){o.container=o.canvas.parentNode}if(o.container){if(typeof o.container==="string"){var c=document.querySelector(o.container);if(!c)throw Error("Element "+o.container+" is not found");o.container=c}if(isCanvas(o.container)){o.canvas=o.container;o.container=o.canvas.parentNode}else if(!o.canvas){o.canvas=createCanvas();o.container.appendChild(o.canvas);resize(o)}}else if(!o.canvas){if(typeof document!=="undefined"){o.container=document.body||document.documentElement;o.canvas=createCanvas();o.container.appendChild(o.canvas);resize(o)}else{throw Error("Not DOM environment. Use headless-gl.")}}if(!o.gl){["webgl","experimental-webgl","webgl-experimental"].some((function(c){try{o.gl=o.canvas.getContext(c,o.attrs)}catch(e){}return o.gl}))}return o.gl};function resize(o){if(o.container){if(o.container==document.body){if(!document.body.style.width)o.canvas.width=o.width||o.pixelRatio*global.innerWidth;if(!document.body.style.height)o.canvas.height=o.height||o.pixelRatio*global.innerHeight}else{var bounds=o.container.getBoundingClientRect();o.canvas.width=o.width||bounds.right-bounds.left;o.canvas.height=o.height||bounds.bottom-bounds.top}}}function isCanvas(e){return typeof e.getContext==="function"&&"width"in e&&"height"in e}function isElement(e){return typeof e.nodeName==="string"&&typeof e.appendChild==="function"&&typeof e.getBoundingClientRect==="function"}function isContext(e){return typeof e.drawArrays==="function"||typeof e.drawElements==="function"}function createCanvas(){var canvas=document.createElement("canvas");canvas.style.position="absolute";canvas.style.top=0;canvas.style.left=0;return canvas}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"pick-by-alias":498}],358:[function(_dereq_,module,exports){"use strict";function doBind(gl,elements,attributes){if(elements){elements.bind()}else{gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,null)}var nattribs=gl.getParameter(gl.MAX_VERTEX_ATTRIBS)|0;if(attributes){if(attributes.length>nattribs){throw new Error("gl-vao: Too many vertex attributes")}for(var i=0;i<attributes.length;++i){var attrib=attributes[i];if(attrib.buffer){var buffer=attrib.buffer;var size=attrib.size||4;var type=attrib.type||gl.FLOAT;var normalized=!!attrib.normalized;var stride=attrib.stride||0;var offset=attrib.offset||0;buffer.bind();gl.enableVertexAttribArray(i);gl.vertexAttribPointer(i,size,type,normalized,stride,offset)}else{if(typeof attrib==="number"){gl.vertexAttrib1f(i,attrib)}else if(attrib.length===1){gl.vertexAttrib1f(i,attrib[0])}else if(attrib.length===2){gl.vertexAttrib2f(i,attrib[0],attrib[1])}else if(attrib.length===3){gl.vertexAttrib3f(i,attrib[0],attrib[1],attrib[2])}else if(attrib.length===4){gl.vertexAttrib4f(i,attrib[0],attrib[1],attrib[2],attrib[3])}else{throw new Error("gl-vao: Invalid vertex attribute")}gl.disableVertexAttribArray(i)}}for(;i<nattribs;++i){gl.disableVertexAttribArray(i)}}else{gl.bindBuffer(gl.ARRAY_BUFFER,null);for(var i=0;i<nattribs;++i){gl.disableVertexAttribArray(i)}}}module.exports=doBind},{}],359:[function(_dereq_,module,exports){"use strict";var bindAttribs=_dereq_("./do-bind.js");function VAOEmulated(gl){this.gl=gl;this._elements=null;this._attributes=null;this._elementsType=gl.UNSIGNED_SHORT}VAOEmulated.prototype.bind=function(){bindAttribs(this.gl,this._elements,this._attributes)};VAOEmulated.prototype.update=function(attributes,elements,elementsType){this._elements=elements;this._attributes=attributes;this._elementsType=elementsType||this.gl.UNSIGNED_SHORT};VAOEmulated.prototype.dispose=function(){};VAOEmulated.prototype.unbind=function(){};VAOEmulated.prototype.draw=function(mode,count,offset){offset=offset||0;var gl=this.gl;if(this._elements){gl.drawElements(mode,count,this._elementsType,offset)}else{gl.drawArrays(mode,offset,count)}};function createVAOEmulated(gl){return new VAOEmulated(gl)}module.exports=createVAOEmulated},{"./do-bind.js":358}],360:[function(_dereq_,module,exports){"use strict";var bindAttribs=_dereq_("./do-bind.js");function VertexAttribute(location,dimension,a,b,c,d){this.location=location;this.dimension=dimension;this.a=a;this.b=b;this.c=c;this.d=d}VertexAttribute.prototype.bind=function(gl){switch(this.dimension){case 1:gl.vertexAttrib1f(this.location,this.a);break;case 2:gl.vertexAttrib2f(this.location,this.a,this.b);break;case 3:gl.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:gl.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d);break}};function VAONative(gl,ext,handle){this.gl=gl;this._ext=ext;this.handle=handle;this._attribs=[];this._useElements=false;this._elementsType=gl.UNSIGNED_SHORT}VAONative.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var i=0;i<this._attribs.length;++i){this._attribs[i].bind(this.gl)}};VAONative.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)};VAONative.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)};VAONative.prototype.update=function(attributes,elements,elementsType){this.bind();bindAttribs(this.gl,elements,attributes);this.unbind();this._attribs.length=0;if(attributes)for(var i=0;i<attributes.length;++i){var a=attributes[i];if(typeof a==="number"){this._attribs.push(new VertexAttribute(i,1,a))}else if(Array.isArray(a)){this._attribs.push(new VertexAttribute(i,a.length,a[0],a[1],a[2],a[3]))}}this._useElements=!!elements;this._elementsType=elementsType||this.gl.UNSIGNED_SHORT};VAONative.prototype.draw=function(mode,count,offset){offset=offset||0;var gl=this.gl;if(this._useElements){gl.drawElements(mode,count,this._elementsType,offset)}else{gl.drawArrays(mode,offset,count)}};function createVAONative(gl,ext){return new VAONative(gl,ext,ext.createVertexArrayOES())}module.exports=createVAONative},{"./do-bind.js":358}],361:[function(_dereq_,module,exports){"use strict";var createVAONative=_dereq_("./lib/vao-native.js");var createVAOEmulated=_dereq_("./lib/vao-emulated.js");function ExtensionShim(gl){this.bindVertexArrayOES=gl.bindVertexArray.bind(gl);this.createVertexArrayOES=gl.createVertexArray.bind(gl);this.deleteVertexArrayOES=gl.deleteVertexArray.bind(gl)}function createVAO(gl,attributes,elements,elementsType){var ext=gl.createVertexArray?new ExtensionShim(gl):gl.getExtension("OES_vertex_array_object");var vao;if(ext){vao=createVAONative(gl,ext)}else{vao=createVAOEmulated(gl)}vao.update(attributes,elements,elementsType);return vao}module.exports=createVAO},{"./lib/vao-emulated.js":359,"./lib/vao-native.js":360}],362:[function(_dereq_,module,exports){module.exports=add;function add(out,a,b){out[0]=a[0]+b[0];out[1]=a[1]+b[1];out[2]=a[2]+b[2];return out}},{}],363:[function(_dereq_,module,exports){module.exports=angle;var fromValues=_dereq_("./fromValues");var normalize=_dereq_("./normalize");var dot=_dereq_("./dot");function angle(a,b){var tempA=fromValues(a[0],a[1],a[2]);var tempB=fromValues(b[0],b[1],b[2]);normalize(tempA,tempA);normalize(tempB,tempB);var cosine=dot(tempA,tempB);if(cosine>1){return 0}else{return Math.acos(cosine)}}},{"./dot":373,"./fromValues":379,"./normalize":390}],364:[function(_dereq_,module,exports){module.exports=ceil;function ceil(out,a){out[0]=Math.ceil(a[0]);out[1]=Math.ceil(a[1]);out[2]=Math.ceil(a[2]);return out}},{}],365:[function(_dereq_,module,exports){module.exports=clone;function clone(a){var out=new Float32Array(3);out[0]=a[0];out[1]=a[1];out[2]=a[2];return out}},{}],366:[function(_dereq_,module,exports){module.exports=copy;function copy(out,a){out[0]=a[0];out[1]=a[1];out[2]=a[2];return out}},{}],367:[function(_dereq_,module,exports){module.exports=create;function create(){var out=new Float32Array(3);out[0]=0;out[1]=0;out[2]=0;return out}},{}],368:[function(_dereq_,module,exports){module.exports=cross;function cross(out,a,b){var ax=a[0],ay=a[1],az=a[2],bx=b[0],by=b[1],bz=b[2];out[0]=ay*bz-az*by;out[1]=az*bx-ax*bz;out[2]=ax*by-ay*bx;return out}},{}],369:[function(_dereq_,module,exports){module.exports=_dereq_("./distance")},{"./distance":370}],370:[function(_dereq_,module,exports){module.exports=distance;function distance(a,b){var x=b[0]-a[0],y=b[1]-a[1],z=b[2]-a[2];return Math.sqrt(x*x+y*y+z*z)}},{}],371:[function(_dereq_,module,exports){module.exports=_dereq_("./divide")},{"./divide":372}],372:[function(_dereq_,module,exports){module.exports=divide;function divide(out,a,b){out[0]=a[0]/b[0];out[1]=a[1]/b[1];out[2]=a[2]/b[2];return out}},{}],373:[function(_dereq_,module,exports){module.exports=dot;function dot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}},{}],374:[function(_dereq_,module,exports){module.exports=1e-6},{}],375:[function(_dereq_,module,exports){module.exports=equals;var EPSILON=_dereq_("./epsilon");function equals(a,b){var a0=a[0];var a1=a[1];var a2=a[2];var b0=b[0];var b1=b[1];var b2=b[2];return Math.abs(a0-b0)<=EPSILON*Math.max(1,Math.abs(a0),Math.abs(b0))&&Math.abs(a1-b1)<=EPSILON*Math.max(1,Math.abs(a1),Math.abs(b1))&&Math.abs(a2-b2)<=EPSILON*Math.max(1,Math.abs(a2),Math.abs(b2))}},{"./epsilon":374}],376:[function(_dereq_,module,exports){module.exports=exactEquals;function exactEquals(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]}},{}],377:[function(_dereq_,module,exports){module.exports=floor;function floor(out,a){out[0]=Math.floor(a[0]);out[1]=Math.floor(a[1]);out[2]=Math.floor(a[2]);return out}},{}],378:[function(_dereq_,module,exports){module.exports=forEach;var vec=_dereq_("./create")();function forEach(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=3}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i<l;i+=stride){vec[0]=a[i];vec[1]=a[i+1];vec[2]=a[i+2];fn(vec,vec,arg);a[i]=vec[0];a[i+1]=vec[1];a[i+2]=vec[2]}return a}},{"./create":367}],379:[function(_dereq_,module,exports){module.exports=fromValues;function fromValues(x,y,z){var out=new Float32Array(3);out[0]=x;out[1]=y;out[2]=z;return out}},{}],380:[function(_dereq_,module,exports){module.exports={EPSILON:_dereq_("./epsilon"),create:_dereq_("./create"),clone:_dereq_("./clone"),angle:_dereq_("./angle"),fromValues:_dereq_("./fromValues"),copy:_dereq_("./copy"),set:_dereq_("./set"),equals:_dereq_("./equals"),exactEquals:_dereq_("./exactEquals"),add:_dereq_("./add"),subtract:_dereq_("./subtract"),sub:_dereq_("./sub"),multiply:_dereq_("./multiply"),mul:_dereq_("./mul"),divide:_dereq_("./divide"),div:_dereq_("./div"),min:_dereq_("./min"),max:_dereq_("./max"),floor:_dereq_("./floor"),ceil:_dereq_("./ceil"),round:_dereq_("./round"),scale:_dereq_("./scale"),scaleAndAdd:_dereq_("./scaleAndAdd"),distance:_dereq_("./distance"),dist:_dereq_("./dist"),squaredDistance:_dereq_("./squaredDistance"),sqrDist:_dereq_("./sqrDist"),length:_dereq_("./length"),len:_dereq_("./len"),squaredLength:_dereq_("./squaredLength"),sqrLen:_dereq_("./sqrLen"),negate:_dereq_("./negate"),inverse:_dereq_("./inverse"),normalize:_dereq_("./normalize"),dot:_dereq_("./dot"),cross:_dereq_("./cross"),lerp:_dereq_("./lerp"),random:_dereq_("./random"),transformMat4:_dereq_("./transformMat4"),transformMat3:_dereq_("./transformMat3"),transformQuat:_dereq_("./transformQuat"),rotateX:_dereq_("./rotateX"),rotateY:_dereq_("./rotateY"),rotateZ:_dereq_("./rotateZ"),forEach:_dereq_("./forEach")}},{"./add":362,"./angle":363,"./ceil":364,"./clone":365,"./copy":366,"./create":367,"./cross":368,"./dist":369,"./distance":370,"./div":371,"./divide":372,"./dot":373,"./epsilon":374,"./equals":375,"./exactEquals":376,"./floor":377,"./forEach":378,"./fromValues":379,"./inverse":381,"./len":382,"./length":383,"./lerp":384,"./max":385,"./min":386,"./mul":387,"./multiply":388,"./negate":389,"./normalize":390,"./random":391,"./rotateX":392,"./rotateY":393,"./rotateZ":394,"./round":395,"./scale":396,"./scaleAndAdd":397,"./set":398,"./sqrDist":399,"./sqrLen":400,"./squaredDistance":401,"./squaredLength":402,"./sub":403,"./subtract":404,"./transformMat3":405,"./transformMat4":406,"./transformQuat":407}],381:[function(_dereq_,module,exports){module.exports=inverse;function inverse(out,a){out[0]=1/a[0];out[1]=1/a[1];out[2]=1/a[2];return out}},{}],382:[function(_dereq_,module,exports){module.exports=_dereq_("./length")},{"./length":383}],383:[function(_dereq_,module,exports){module.exports=length;function length(a){var x=a[0],y=a[1],z=a[2];return Math.sqrt(x*x+y*y+z*z)}},{}],384:[function(_dereq_,module,exports){module.exports=lerp;function lerp(out,a,b,t){var ax=a[0],ay=a[1],az=a[2];out[0]=ax+t*(b[0]-ax);out[1]=ay+t*(b[1]-ay);out[2]=az+t*(b[2]-az);return out}},{}],385:[function(_dereq_,module,exports){module.exports=max;function max(out,a,b){out[0]=Math.max(a[0],b[0]);out[1]=Math.max(a[1],b[1]);out[2]=Math.max(a[2],b[2]);return out}},{}],386:[function(_dereq_,module,exports){module.exports=min;function min(out,a,b){out[0]=Math.min(a[0],b[0]);out[1]=Math.min(a[1],b[1]);out[2]=Math.min(a[2],b[2]);return out}},{}],387:[function(_dereq_,module,exports){module.exports=_dereq_("./multiply")},{"./multiply":388}],388:[function(_dereq_,module,exports){module.exports=multiply;function multiply(out,a,b){out[0]=a[0]*b[0];out[1]=a[1]*b[1];out[2]=a[2]*b[2];return out}},{}],389:[function(_dereq_,module,exports){module.exports=negate;function negate(out,a){out[0]=-a[0];out[1]=-a[1];out[2]=-a[2];return out}},{}],390:[function(_dereq_,module,exports){module.exports=normalize;function normalize(out,a){var x=a[0],y=a[1],z=a[2];var len=x*x+y*y+z*z;if(len>0){len=1/Math.sqrt(len);out[0]=a[0]*len;out[1]=a[1]*len;out[2]=a[2]*len}return out}},{}],391:[function(_dereq_,module,exports){module.exports=random;function random(out,scale){scale=scale||1;var r=Math.random()*2*Math.PI;var z=Math.random()*2-1;var zScale=Math.sqrt(1-z*z)*scale;out[0]=Math.cos(r)*zScale;out[1]=Math.sin(r)*zScale;out[2]=z*scale;return out}},{}],392:[function(_dereq_,module,exports){module.exports=rotateX;function rotateX(out,a,b,c){var by=b[1];var bz=b[2];var py=a[1]-by;var pz=a[2]-bz;var sc=Math.sin(c);var cc=Math.cos(c);out[0]=a[0];out[1]=by+py*cc-pz*sc;out[2]=bz+py*sc+pz*cc;return out}},{}],393:[function(_dereq_,module,exports){module.exports=rotateY;function rotateY(out,a,b,c){var bx=b[0];var bz=b[2];var px=a[0]-bx;var pz=a[2]-bz;var sc=Math.sin(c);var cc=Math.cos(c);out[0]=bx+pz*sc+px*cc;out[1]=a[1];out[2]=bz+pz*cc-px*sc;return out}},{}],394:[function(_dereq_,module,exports){module.exports=rotateZ;function rotateZ(out,a,b,c){var bx=b[0];var by=b[1];var px=a[0]-bx;var py=a[1]-by;var sc=Math.sin(c);var cc=Math.cos(c);out[0]=bx+px*cc-py*sc;out[1]=by+px*sc+py*cc;out[2]=a[2];return out}},{}],395:[function(_dereq_,module,exports){module.exports=round;function round(out,a){out[0]=Math.round(a[0]);out[1]=Math.round(a[1]);out[2]=Math.round(a[2]);return out}},{}],396:[function(_dereq_,module,exports){module.exports=scale;function scale(out,a,b){out[0]=a[0]*b;out[1]=a[1]*b;out[2]=a[2]*b;return out}},{}],397:[function(_dereq_,module,exports){module.exports=scaleAndAdd;function scaleAndAdd(out,a,b,scale){out[0]=a[0]+b[0]*scale;out[1]=a[1]+b[1]*scale;out[2]=a[2]+b[2]*scale;return out}},{}],398:[function(_dereq_,module,exports){module.exports=set;function set(out,x,y,z){out[0]=x;out[1]=y;out[2]=z;return out}},{}],399:[function(_dereq_,module,exports){module.exports=_dereq_("./squaredDistance")},{"./squaredDistance":401}],400:[function(_dereq_,module,exports){module.exports=_dereq_("./squaredLength")},{"./squaredLength":402}],401:[function(_dereq_,module,exports){module.exports=squaredDistance;function squaredDistance(a,b){var x=b[0]-a[0],y=b[1]-a[1],z=b[2]-a[2];return x*x+y*y+z*z}},{}],402:[function(_dereq_,module,exports){module.exports=squaredLength;function squaredLength(a){var x=a[0],y=a[1],z=a[2];return x*x+y*y+z*z}},{}],403:[function(_dereq_,module,exports){module.exports=_dereq_("./subtract")},{"./subtract":404}],404:[function(_dereq_,module,exports){module.exports=subtract;function subtract(out,a,b){out[0]=a[0]-b[0];out[1]=a[1]-b[1];out[2]=a[2]-b[2];return out}},{}],405:[function(_dereq_,module,exports){module.exports=transformMat3;function transformMat3(out,a,m){var x=a[0],y=a[1],z=a[2];out[0]=x*m[0]+y*m[3]+z*m[6];out[1]=x*m[1]+y*m[4]+z*m[7];out[2]=x*m[2]+y*m[5]+z*m[8];return out}},{}],406:[function(_dereq_,module,exports){module.exports=transformMat4;function transformMat4(out,a,m){var x=a[0],y=a[1],z=a[2],w=m[3]*x+m[7]*y+m[11]*z+m[15];w=w||1;out[0]=(m[0]*x+m[4]*y+m[8]*z+m[12])/w;out[1]=(m[1]*x+m[5]*y+m[9]*z+m[13])/w;out[2]=(m[2]*x+m[6]*y+m[10]*z+m[14])/w;return out}},{}],407:[function(_dereq_,module,exports){module.exports=transformQuat;function transformQuat(out,a,q){var x=a[0],y=a[1],z=a[2],qx=q[0],qy=q[1],qz=q[2],qw=q[3],ix=qw*x+qy*z-qz*y,iy=qw*y+qz*x-qx*z,iz=qw*z+qx*y-qy*x,iw=-qx*x-qy*y-qz*z;out[0]=ix*qw+iw*-qx+iy*-qz-iz*-qy;out[1]=iy*qw+iw*-qy+iz*-qx-ix*-qz;out[2]=iz*qw+iw*-qz+ix*-qy-iy*-qx;return out}},{}],408:[function(_dereq_,module,exports){module.exports=add;function add(out,a,b){out[0]=a[0]+b[0];out[1]=a[1]+b[1];out[2]=a[2]+b[2];out[3]=a[3]+b[3];return out}},{}],409:[function(_dereq_,module,exports){module.exports=clone;function clone(a){var out=new Float32Array(4);out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];return out}},{}],410:[function(_dereq_,module,exports){module.exports=copy;function copy(out,a){out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];return out}},{}],411:[function(_dereq_,module,exports){module.exports=create;function create(){var out=new Float32Array(4);out[0]=0;out[1]=0;out[2]=0;out[3]=0;return out}},{}],412:[function(_dereq_,module,exports){module.exports=distance;function distance(a,b){var x=b[0]-a[0],y=b[1]-a[1],z=b[2]-a[2],w=b[3]-a[3];return Math.sqrt(x*x+y*y+z*z+w*w)}},{}],413:[function(_dereq_,module,exports){module.exports=divide;function divide(out,a,b){out[0]=a[0]/b[0];out[1]=a[1]/b[1];out[2]=a[2]/b[2];out[3]=a[3]/b[3];return out}},{}],414:[function(_dereq_,module,exports){module.exports=dot;function dot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}},{}],415:[function(_dereq_,module,exports){module.exports=fromValues;function fromValues(x,y,z,w){var out=new Float32Array(4);out[0]=x;out[1]=y;out[2]=z;out[3]=w;return out}},{}],416:[function(_dereq_,module,exports){module.exports={create:_dereq_("./create"),clone:_dereq_("./clone"),fromValues:_dereq_("./fromValues"),copy:_dereq_("./copy"),set:_dereq_("./set"),add:_dereq_("./add"),subtract:_dereq_("./subtract"),multiply:_dereq_("./multiply"),divide:_dereq_("./divide"),min:_dereq_("./min"),max:_dereq_("./max"),scale:_dereq_("./scale"),scaleAndAdd:_dereq_("./scaleAndAdd"),distance:_dereq_("./distance"),squaredDistance:_dereq_("./squaredDistance"),length:_dereq_("./length"),squaredLength:_dereq_("./squaredLength"),negate:_dereq_("./negate"),inverse:_dereq_("./inverse"),normalize:_dereq_("./normalize"),dot:_dereq_("./dot"),lerp:_dereq_("./lerp"),random:_dereq_("./random"),transformMat4:_dereq_("./transformMat4"),transformQuat:_dereq_("./transformQuat")}},{"./add":408,"./clone":409,"./copy":410,"./create":411,"./distance":412,"./divide":413,"./dot":414,"./fromValues":415,"./inverse":417,"./length":418,"./lerp":419,"./max":420,"./min":421,"./multiply":422,"./negate":423,"./normalize":424,"./random":425,"./scale":426,"./scaleAndAdd":427,"./set":428,"./squaredDistance":429,"./squaredLength":430,"./subtract":431,"./transformMat4":432,"./transformQuat":433}],417:[function(_dereq_,module,exports){module.exports=inverse;function inverse(out,a){out[0]=1/a[0];out[1]=1/a[1];out[2]=1/a[2];out[3]=1/a[3];return out}},{}],418:[function(_dereq_,module,exports){module.exports=length;function length(a){var x=a[0],y=a[1],z=a[2],w=a[3];return Math.sqrt(x*x+y*y+z*z+w*w)}},{}],419:[function(_dereq_,module,exports){module.exports=lerp;function lerp(out,a,b,t){var ax=a[0],ay=a[1],az=a[2],aw=a[3];out[0]=ax+t*(b[0]-ax);out[1]=ay+t*(b[1]-ay);out[2]=az+t*(b[2]-az);out[3]=aw+t*(b[3]-aw);return out}},{}],420:[function(_dereq_,module,exports){module.exports=max;function max(out,a,b){out[0]=Math.max(a[0],b[0]);out[1]=Math.max(a[1],b[1]);out[2]=Math.max(a[2],b[2]);out[3]=Math.max(a[3],b[3]);return out}},{}],421:[function(_dereq_,module,exports){module.exports=min;function min(out,a,b){out[0]=Math.min(a[0],b[0]);out[1]=Math.min(a[1],b[1]);out[2]=Math.min(a[2],b[2]);out[3]=Math.min(a[3],b[3]);return out}},{}],422:[function(_dereq_,module,exports){module.exports=multiply;function multiply(out,a,b){out[0]=a[0]*b[0];out[1]=a[1]*b[1];out[2]=a[2]*b[2];out[3]=a[3]*b[3];return out}},{}],423:[function(_dereq_,module,exports){module.exports=negate;function negate(out,a){out[0]=-a[0];out[1]=-a[1];out[2]=-a[2];out[3]=-a[3];return out}},{}],424:[function(_dereq_,module,exports){module.exports=normalize;function normalize(out,a){var x=a[0],y=a[1],z=a[2],w=a[3];var len=x*x+y*y+z*z+w*w;if(len>0){len=1/Math.sqrt(len);out[0]=x*len;out[1]=y*len;out[2]=z*len;out[3]=w*len}return out}},{}],425:[function(_dereq_,module,exports){var vecNormalize=_dereq_("./normalize");var vecScale=_dereq_("./scale");module.exports=random;function random(out,scale){scale=scale||1;out[0]=Math.random();out[1]=Math.random();out[2]=Math.random();out[3]=Math.random();vecNormalize(out,out);vecScale(out,out,scale);return out}},{"./normalize":424,"./scale":426}],426:[function(_dereq_,module,exports){module.exports=scale;function scale(out,a,b){out[0]=a[0]*b;out[1]=a[1]*b;out[2]=a[2]*b;out[3]=a[3]*b;return out}},{}],427:[function(_dereq_,module,exports){module.exports=scaleAndAdd;function scaleAndAdd(out,a,b,scale){out[0]=a[0]+b[0]*scale;out[1]=a[1]+b[1]*scale;out[2]=a[2]+b[2]*scale;out[3]=a[3]+b[3]*scale;return out}},{}],428:[function(_dereq_,module,exports){module.exports=set;function set(out,x,y,z,w){out[0]=x;out[1]=y;out[2]=z;out[3]=w;return out}},{}],429:[function(_dereq_,module,exports){module.exports=squaredDistance;function squaredDistance(a,b){var x=b[0]-a[0],y=b[1]-a[1],z=b[2]-a[2],w=b[3]-a[3];return x*x+y*y+z*z+w*w}},{}],430:[function(_dereq_,module,exports){module.exports=squaredLength;function squaredLength(a){var x=a[0],y=a[1],z=a[2],w=a[3];return x*x+y*y+z*z+w*w}},{}],431:[function(_dereq_,module,exports){module.exports=subtract;function subtract(out,a,b){out[0]=a[0]-b[0];out[1]=a[1]-b[1];out[2]=a[2]-b[2];out[3]=a[3]-b[3];return out}},{}],432:[function(_dereq_,module,exports){module.exports=transformMat4;function transformMat4(out,a,m){var x=a[0],y=a[1],z=a[2],w=a[3];out[0]=m[0]*x+m[4]*y+m[8]*z+m[12]*w;out[1]=m[1]*x+m[5]*y+m[9]*z+m[13]*w;out[2]=m[2]*x+m[6]*y+m[10]*z+m[14]*w;out[3]=m[3]*x+m[7]*y+m[11]*z+m[15]*w;return out}},{}],433:[function(_dereq_,module,exports){module.exports=transformQuat;function transformQuat(out,a,q){var x=a[0],y=a[1],z=a[2],qx=q[0],qy=q[1],qz=q[2],qw=q[3],ix=qw*x+qy*z-qz*y,iy=qw*y+qz*x-qx*z,iz=qw*z+qx*y-qy*x,iw=-qx*x-qy*y-qz*z;out[0]=ix*qw+iw*-qx+iy*-qz-iz*-qy;out[1]=iy*qw+iw*-qy+iz*-qx-ix*-qz;out[2]=iz*qw+iw*-qz+ix*-qy-iy*-qx;out[3]=a[3];return out}},{}],434:[function(_dereq_,module,exports){var tokenize=_dereq_("glsl-tokenizer");var atob=_dereq_("atob-lite");module.exports=getName;function getName(src){var tokens=Array.isArray(src)?src:tokenize(src);for(var i=0;i<tokens.length;i++){var token=tokens[i];if(token.type!=="preprocessor")continue;var match=token.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(!match)continue;if(!match[2])continue;var b64=match[1];var name=match[2];return(b64?atob(name):name).trim()}}},{"atob-lite":84,"glsl-tokenizer":441}],435:[function(_dereq_,module,exports){module.exports=tokenize;var literals100=_dereq_("./lib/literals"),operators=_dereq_("./lib/operators"),builtins100=_dereq_("./lib/builtins"),literals300es=_dereq_("./lib/literals-300es"),builtins300es=_dereq_("./lib/builtins-300es");var NORMAL=999,TOKEN=9999,BLOCK_COMMENT=0,LINE_COMMENT=1,PREPROCESSOR=2,OPERATOR=3,INTEGER=4,FLOAT=5,IDENT=6,BUILTIN=7,KEYWORD=8,WHITESPACE=9,EOF=10,HEX=11;var map=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"];function tokenize(opt){var i=0,total=0,mode=NORMAL,c,last,content=[],tokens=[],token_idx=0,token_offs=0,line=1,col=0,start=0,isnum=false,isoperator=false,input="",len;opt=opt||{};var allBuiltins=builtins100;var allLiterals=literals100;if(opt.version==="300 es"){allBuiltins=builtins300es;allLiterals=literals300es}var builtinsDict={},literalsDict={};for(var i=0;i<allBuiltins.length;i++){builtinsDict[allBuiltins[i]]=true}for(var i=0;i<allLiterals.length;i++){literalsDict[allLiterals[i]]=true}return function(data){tokens=[];if(data!==null)return write(data);return end()};function token(data){if(data.length){tokens.push({type:map[mode],data:data,position:start,line:line,column:col})}}function write(chunk){i=0;if(chunk.toString)chunk=chunk.toString();input+=chunk.replace(/\r\n/g,"\n");len=input.length;var last;while(c=input[i],i<len){last=i;switch(mode){case BLOCK_COMMENT:i=block_comment();break;case LINE_COMMENT:i=line_comment();break;case PREPROCESSOR:i=preprocessor();break;case OPERATOR:i=operator();break;case INTEGER:i=integer();break;case HEX:i=hex();break;case FLOAT:i=decimal();break;case TOKEN:i=readtoken();break;case WHITESPACE:i=whitespace();break;case NORMAL:i=normal();break}if(last!==i){switch(input[last]){case"\n":col=0;++line;break;default:++col;break}}}total+=i;input=input.slice(i);return tokens}function end(chunk){if(content.length){token(content.join(""))}mode=EOF;token("(eof)");return tokens}function normal(){content=content.length?[]:content;if(last==="/"&&c==="*"){start=total+i-1;mode=BLOCK_COMMENT;last=c;return i+1}if(last==="/"&&c==="/"){start=total+i-1;mode=LINE_COMMENT;last=c;return i+1}if(c==="#"){mode=PREPROCESSOR;start=total+i;return i}if(/\s/.test(c)){mode=WHITESPACE;start=total+i;return i}isnum=/\d/.test(c);isoperator=/[^\w_]/.test(c);start=total+i;mode=isnum?INTEGER:isoperator?OPERATOR:TOKEN;return i}function whitespace(){if(/[^\s]/g.test(c)){token(content.join(""));mode=NORMAL;return i}content.push(c);last=c;return i+1}function preprocessor(){if((c==="\r"||c==="\n")&&last!=="\\"){token(content.join(""));mode=NORMAL;return i}content.push(c);last=c;return i+1}function line_comment(){return preprocessor()}function block_comment(){if(c==="/"&&last==="*"){content.push(c);token(content.join(""));mode=NORMAL;return i+1}content.push(c);last=c;return i+1}function operator(){if(last==="."&&/\d/.test(c)){mode=FLOAT;return i}if(last==="/"&&c==="*"){mode=BLOCK_COMMENT;return i}if(last==="/"&&c==="/"){mode=LINE_COMMENT;return i}if(c==="."&&content.length){while(determine_operator(content));mode=FLOAT;return i}if(c===";"||c===")"||c==="("){if(content.length)while(determine_operator(content));token(c);mode=NORMAL;return i+1}var is_composite_operator=content.length===2&&c!=="=";if(/[\w_\d\s]/.test(c)||is_composite_operator){while(determine_operator(content));mode=NORMAL;return i}content.push(c);last=c;return i+1}function determine_operator(buf){var j=0,idx,res;do{idx=operators.indexOf(buf.slice(0,buf.length+j).join(""));res=operators[idx];if(idx===-1){if(j--+buf.length>0)continue;res=buf.slice(0,1).join("")}token(res);start+=res.length;content=content.slice(res.length);return content.length}while(1)}function hex(){if(/[^a-fA-F0-9]/.test(c)){token(content.join(""));mode=NORMAL;return i}content.push(c);last=c;return i+1}function integer(){if(c==="."){content.push(c);mode=FLOAT;last=c;return i+1}if(/[eE]/.test(c)){content.push(c);mode=FLOAT;last=c;return i+1}if(c==="x"&&content.length===1&&content[0]==="0"){mode=HEX;content.push(c);last=c;return i+1}if(/[^\d]/.test(c)){token(content.join(""));mode=NORMAL;return i}content.push(c);last=c;return i+1}function decimal(){if(c==="f"){content.push(c);last=c;i+=1}if(/[eE]/.test(c)){content.push(c);last=c;return i+1}if((c==="-"||c==="+")&&/[eE]/.test(last)){content.push(c);last=c;return i+1}if(/[^\d]/.test(c)){token(content.join(""));mode=NORMAL;return i}content.push(c);last=c;return i+1}function readtoken(){if(/[^\d\w_]/.test(c)){var contentstr=content.join("");if(literalsDict[contentstr]){mode=KEYWORD}else if(builtinsDict[contentstr]){mode=BUILTIN}else{mode=IDENT}token(content.join(""));mode=NORMAL;return i}content.push(c);last=c;return i+1}}},{"./lib/builtins":437,"./lib/builtins-300es":436,"./lib/literals":439,"./lib/literals-300es":438,"./lib/operators":440}],436:[function(_dereq_,module,exports){var v100=_dereq_("./builtins");v100=v100.slice().filter((function(b){return!/^(gl\_|texture)/.test(b)}));module.exports=v100.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":437}],437:[function(_dereq_,module,exports){module.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],438:[function(_dereq_,module,exports){var v100=_dereq_("./literals");module.exports=v100.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":439}],439:[function(_dereq_,module,exports){module.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],440:[function(_dereq_,module,exports){module.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],441:[function(_dereq_,module,exports){var tokenize=_dereq_("./index");module.exports=tokenizeString;function tokenizeString(str,opt){var generator=tokenize(opt);var tokens=[];tokens=tokens.concat(generator(str));tokens=tokens.concat(generator(null));return tokens}},{"./index":435}],442:[function(_dereq_,module,exports){arguments[4][265][0].apply(exports,arguments)},{dup:265}],443:[function(_dereq_,module,exports){(function(global){(function(){"use strict";var isBrowser=_dereq_("is-browser");var hasHover;if(typeof global.matchMedia==="function"){hasHover=!global.matchMedia("(hover: none)").matches}else{hasHover=isBrowser}module.exports=hasHover}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"is-browser":452}],444:[function(_dereq_,module,exports){"use strict";var isBrowser=_dereq_("is-browser");function detect(){var supported=false;try{var opts=Object.defineProperty({},"passive",{get:function(){supported=true}});window.addEventListener("test",null,opts);window.removeEventListener("test",null,opts)}catch(e){supported=false}return supported}module.exports=isBrowser&&detect()},{"is-browser":452}],445:[function(_dereq_,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],446:[function(_dereq_,module,exports){"use strict";module.exports=incrementalConvexHull;var orient=_dereq_("robust-orientation");var compareCell=_dereq_("simplicial-complex").compareCells;function compareInt(a,b){return a-b}function Simplex(vertices,adjacent,boundary){this.vertices=vertices;this.adjacent=adjacent;this.boundary=boundary;this.lastVisited=-1}Simplex.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1];this.vertices[1]=t;var u=this.adjacent[0];this.adjacent[0]=this.adjacent[1];this.adjacent[1]=u};function GlueFacet(vertices,cell,index){this.vertices=vertices;this.cell=cell;this.index=index}function compareGlue(a,b){return compareCell(a.vertices,b.vertices)}function bakeOrient(d){var code=["function orient(){var tuple=this.tuple;return test("];for(var i=0;i<=d;++i){if(i>0){code.push(",")}code.push("tuple[",i,"]")}code.push(")}return orient");var proc=new Function("test",code.join(""));var test=orient[d+1];if(!test){test=orient}return proc(test)}var BAKED=[];function Triangulation(dimension,vertices,simplices){this.dimension=dimension;this.vertices=vertices;this.simplices=simplices;this.interior=simplices.filter((function(c){return!c.boundary}));this.tuple=new Array(dimension+1);for(var i=0;i<=dimension;++i){this.tuple[i]=this.vertices[i]}var o=BAKED[dimension];if(!o){o=BAKED[dimension]=bakeOrient(dimension)}this.orient=o}var proto=Triangulation.prototype;proto.handleBoundaryDegeneracy=function(cell,point){var d=this.dimension;var n=this.vertices.length-1;var tuple=this.tuple;var verts=this.vertices;var toVisit=[cell];cell.lastVisited=-n;while(toVisit.length>0){cell=toVisit.pop();var cellVerts=cell.vertices;var cellAdj=cell.adjacent;for(var i=0;i<=d;++i){var neighbor=cellAdj[i];if(!neighbor.boundary||neighbor.lastVisited<=-n){continue}var nv=neighbor.vertices;for(var j=0;j<=d;++j){var vv=nv[j];if(vv<0){tuple[j]=point}else{tuple[j]=verts[vv]}}var o=this.orient();if(o>0){return neighbor}neighbor.lastVisited=-n;if(o===0){toVisit.push(neighbor)}}}return null};proto.walk=function(point,random){var n=this.vertices.length-1;var d=this.dimension;var verts=this.vertices;var tuple=this.tuple;var initIndex=random?this.interior.length*Math.random()|0:this.interior.length-1;var cell=this.interior[initIndex];outerLoop:while(!cell.boundary){var cellVerts=cell.vertices;var cellAdj=cell.adjacent;for(var i=0;i<=d;++i){tuple[i]=verts[cellVerts[i]]}cell.lastVisited=n;for(var i=0;i<=d;++i){var neighbor=cellAdj[i];if(neighbor.lastVisited>=n){continue}var prev=tuple[i];tuple[i]=point;var o=this.orient();tuple[i]=prev;if(o<0){cell=neighbor;continue outerLoop}else{if(!neighbor.boundary){neighbor.lastVisited=n}else{neighbor.lastVisited=-n}}}return}return cell};proto.addPeaks=function(point,cell){var n=this.vertices.length-1;var d=this.dimension;var verts=this.vertices;var tuple=this.tuple;var interior=this.interior;var simplices=this.simplices;var tovisit=[cell];cell.lastVisited=n;cell.vertices[cell.vertices.indexOf(-1)]=n;cell.boundary=false;interior.push(cell);var glueFacets=[];while(tovisit.length>0){var cell=tovisit.pop();var cellVerts=cell.vertices;var cellAdj=cell.adjacent;var indexOfN=cellVerts.indexOf(n);if(indexOfN<0){continue}for(var i=0;i<=d;++i){if(i===indexOfN){continue}var neighbor=cellAdj[i];if(!neighbor.boundary||neighbor.lastVisited>=n){continue}var nv=neighbor.vertices;if(neighbor.lastVisited!==-n){var indexOfNeg1=0;for(var j=0;j<=d;++j){if(nv[j]<0){indexOfNeg1=j;tuple[j]=point}else{tuple[j]=verts[nv[j]]}}var o=this.orient();if(o>0){nv[indexOfNeg1]=n;neighbor.boundary=false;interior.push(neighbor);tovisit.push(neighbor);neighbor.lastVisited=n;continue}else{neighbor.lastVisited=-n}}var na=neighbor.adjacent;var vverts=cellVerts.slice();var vadj=cellAdj.slice();var ncell=new Simplex(vverts,vadj,true);simplices.push(ncell);var opposite=na.indexOf(cell);if(opposite<0){continue}na[opposite]=ncell;vadj[indexOfN]=neighbor;vverts[i]=-1;vadj[i]=cell;cellAdj[i]=ncell;ncell.flip();for(var j=0;j<=d;++j){var uu=vverts[j];if(uu<0||uu===n){continue}var nface=new Array(d-1);var nptr=0;for(var k=0;k<=d;++k){var vv=vverts[k];if(vv<0||k===j){continue}nface[nptr++]=vv}glueFacets.push(new GlueFacet(nface,ncell,j))}}}glueFacets.sort(compareGlue);for(var i=0;i+1<glueFacets.length;i+=2){var a=glueFacets[i];var b=glueFacets[i+1];var ai=a.index;var bi=b.index;if(ai<0||bi<0){continue}a.cell.adjacent[a.index]=b.cell;b.cell.adjacent[b.index]=a.cell}};proto.insert=function(point,random){var verts=this.vertices;verts.push(point);var cell=this.walk(point,random);if(!cell){return}var d=this.dimension;var tuple=this.tuple;for(var i=0;i<=d;++i){var vv=cell.vertices[i];if(vv<0){tuple[i]=point}else{tuple[i]=verts[vv]}}var o=this.orient(tuple);if(o<0){return}else if(o===0){cell=this.handleBoundaryDegeneracy(cell,point);if(!cell){return}}this.addPeaks(point,cell)};proto.boundary=function(){var d=this.dimension;var boundary=[];var cells=this.simplices;var nc=cells.length;for(var i=0;i<nc;++i){var c=cells[i];if(c.boundary){var bcell=new Array(d);var cv=c.vertices;var ptr=0;var parity=0;for(var j=0;j<=d;++j){if(cv[j]>=0){bcell[ptr++]=cv[j]}else{parity=j&1}}if(parity===(d&1)){var t=bcell[0];bcell[0]=bcell[1];bcell[1]=t}boundary.push(bcell)}}return boundary};function incrementalConvexHull(points,randomSearch){var n=points.length;if(n===0){throw new Error("Must have at least d+1 points")}var d=points[0].length;if(n<=d){throw new Error("Must input at least d+1 points")}var initialSimplex=points.slice(0,d+1);var o=orient.apply(void 0,initialSimplex);if(o===0){throw new Error("Input not in general position")}var initialCoords=new Array(d+1);for(var i=0;i<=d;++i){initialCoords[i]=i}if(o<0){initialCoords[0]=1;initialCoords[1]=0}var initialCell=new Simplex(initialCoords,new Array(d+1),false);var boundary=initialCell.adjacent;var list=new Array(d+2);for(var i=0;i<=d;++i){var verts=initialCoords.slice();for(var j=0;j<=d;++j){if(j===i){verts[j]=-1}}var t=verts[0];verts[0]=verts[1];verts[1]=t;var cell=new Simplex(verts,new Array(d+1),true);boundary[i]=cell;list[i]=cell}list[d+1]=initialCell;for(var i=0;i<=d;++i){var verts=boundary[i].vertices;var adj=boundary[i].adjacent;for(var j=0;j<=d;++j){var v=verts[j];if(v<0){adj[j]=initialCell;continue}for(var k=0;k<=d;++k){if(boundary[k].vertices.indexOf(v)<0){adj[j]=boundary[k]}}}}var triangles=new Triangulation(d,initialSimplex,list);var useRandom=!!randomSearch;for(var i=d+1;i<n;++i){triangles.insert(points[i],useRandom)}return triangles.boundary()}},{"robust-orientation":548,"simplicial-complex":559}],447:[function(_dereq_,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},{}],448:[function(_dereq_,module,exports){"use strict";var bounds=_dereq_("binary-search-bounds");var NOT_FOUND=0;var SUCCESS=1;var EMPTY=2;module.exports=createWrapper;function IntervalTreeNode(mid,left,right,leftPoints,rightPoints){this.mid=mid;this.left=left;this.right=right;this.leftPoints=leftPoints;this.rightPoints=rightPoints;this.count=(left?left.count:0)+(right?right.count:0)+leftPoints.length}var proto=IntervalTreeNode.prototype;function copy(a,b){a.mid=b.mid;a.left=b.left;a.right=b.right;a.leftPoints=b.leftPoints;a.rightPoints=b.rightPoints;a.count=b.count}function rebuild(node,intervals){var ntree=createIntervalTree(intervals);node.mid=ntree.mid;node.left=ntree.left;node.right=ntree.right;node.leftPoints=ntree.leftPoints;node.rightPoints=ntree.rightPoints;node.count=ntree.count}function rebuildWithInterval(node,interval){var intervals=node.intervals([]);intervals.push(interval);rebuild(node,intervals)}function rebuildWithoutInterval(node,interval){var intervals=node.intervals([]);var idx=intervals.indexOf(interval);if(idx<0){return NOT_FOUND}intervals.splice(idx,1);rebuild(node,intervals);return SUCCESS}proto.intervals=function(result){result.push.apply(result,this.leftPoints);if(this.left){this.left.intervals(result)}if(this.right){this.right.intervals(result)}return result};proto.insert=function(interval){var weight=this.count-this.leftPoints.length;this.count+=1;if(interval[1]<this.mid){if(this.left){if(4*(this.left.count+1)>3*(weight+1)){rebuildWithInterval(this,interval)}else{this.left.insert(interval)}}else{this.left=createIntervalTree([interval])}}else if(interval[0]>this.mid){if(this.right){if(4*(this.right.count+1)>3*(weight+1)){rebuildWithInterval(this,interval)}else{this.right.insert(interval)}}else{this.right=createIntervalTree([interval])}}else{var l=bounds.ge(this.leftPoints,interval,compareBegin);var r=bounds.ge(this.rightPoints,interval,compareEnd);this.leftPoints.splice(l,0,interval);this.rightPoints.splice(r,0,interval)}};proto.remove=function(interval){var weight=this.count-this.leftPoints;if(interval[1]<this.mid){if(!this.left){return NOT_FOUND}var rw=this.right?this.right.count:0;if(4*rw>3*(weight-1)){return rebuildWithoutInterval(this,interval)}var r=this.left.remove(interval);if(r===EMPTY){this.left=null;this.count-=1;return SUCCESS}else if(r===SUCCESS){this.count-=1}return r}else if(interval[0]>this.mid){if(!this.right){return NOT_FOUND}var lw=this.left?this.left.count:0;if(4*lw>3*(weight-1)){return rebuildWithoutInterval(this,interval)}var r=this.right.remove(interval);if(r===EMPTY){this.right=null;this.count-=1;return SUCCESS}else if(r===SUCCESS){this.count-=1}return r}else{if(this.count===1){if(this.leftPoints[0]===interval){return EMPTY}else{return NOT_FOUND}}if(this.leftPoints.length===1&&this.leftPoints[0]===interval){if(this.left&&this.right){var p=this;var n=this.left;while(n.right){p=n;n=n.right}if(p===this){n.right=this.right}else{var l=this.left;var r=this.right;p.count-=n.count;p.right=n.left;n.left=l;n.right=r}copy(this,n);this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else if(this.left){copy(this,this.left)}else{copy(this,this.right)}return SUCCESS}for(var l=bounds.ge(this.leftPoints,interval,compareBegin);l<this.leftPoints.length;++l){if(this.leftPoints[l][0]!==interval[0]){break}if(this.leftPoints[l]===interval){this.count-=1;this.leftPoints.splice(l,1);for(var r=bounds.ge(this.rightPoints,interval,compareEnd);r<this.rightPoints.length;++r){if(this.rightPoints[r][1]!==interval[1]){break}else if(this.rightPoints[r]===interval){this.rightPoints.splice(r,1);return SUCCESS}}}}return NOT_FOUND}};function reportLeftRange(arr,hi,cb){for(var i=0;i<arr.length&&arr[i][0]<=hi;++i){var r=cb(arr[i]);if(r){return r}}}function reportRightRange(arr,lo,cb){for(var i=arr.length-1;i>=0&&arr[i][1]>=lo;--i){var r=cb(arr[i]);if(r){return r}}}function reportRange(arr,cb){for(var i=0;i<arr.length;++i){var r=cb(arr[i]);if(r){return r}}}proto.queryPoint=function(x,cb){if(x<this.mid){if(this.left){var r=this.left.queryPoint(x,cb);if(r){return r}}return reportLeftRange(this.leftPoints,x,cb)}else if(x>this.mid){if(this.right){var r=this.right.queryPoint(x,cb);if(r){return r}}return reportRightRange(this.rightPoints,x,cb)}else{return reportRange(this.leftPoints,cb)}};proto.queryInterval=function(lo,hi,cb){if(lo<this.mid&&this.left){var r=this.left.queryInterval(lo,hi,cb);if(r){return r}}if(hi>this.mid&&this.right){var r=this.right.queryInterval(lo,hi,cb);if(r){return r}}if(hi<this.mid){return reportLeftRange(this.leftPoints,hi,cb)}else if(lo>this.mid){return reportRightRange(this.rightPoints,lo,cb)}else{return reportRange(this.leftPoints,cb)}};function compareNumbers(a,b){return a-b}function compareBegin(a,b){var d=a[0]-b[0];if(d){return d}return a[1]-b[1]}function compareEnd(a,b){var d=a[1]-b[1];if(d){return d}return a[0]-b[0]}function createIntervalTree(intervals){if(intervals.length===0){return null}var pts=[];for(var i=0;i<intervals.length;++i){pts.push(intervals[i][0],intervals[i][1])}pts.sort(compareNumbers);var mid=pts[pts.length>>1];var leftIntervals=[];var rightIntervals=[];var centerIntervals=[];for(var i=0;i<intervals.length;++i){var s=intervals[i];if(s[1]<mid){leftIntervals.push(s)}else if(mid<s[0]){rightIntervals.push(s)}else{centerIntervals.push(s)}}var leftPoints=centerIntervals;var rightPoints=centerIntervals.slice();leftPoints.sort(compareBegin);rightPoints.sort(compareEnd);return new IntervalTreeNode(mid,createIntervalTree(leftIntervals),createIntervalTree(rightIntervals),leftPoints,rightPoints)}function IntervalTree(root){this.root=root}var tproto=IntervalTree.prototype;tproto.insert=function(interval){if(this.root){this.root.insert(interval)}else{this.root=new IntervalTreeNode(interval[0],null,null,[interval],[interval])}};tproto.remove=function(interval){if(this.root){var r=this.root.remove(interval);if(r===EMPTY){this.root=null}return r!==NOT_FOUND}return false};tproto.queryPoint=function(p,cb){if(this.root){return this.root.queryPoint(p,cb)}};tproto.queryInterval=function(lo,hi,cb){if(lo<=hi&&this.root){return this.root.queryInterval(lo,hi,cb)}};Object.defineProperty(tproto,"count",{get:function(){if(this.root){return this.root.count}return 0}});Object.defineProperty(tproto,"intervals",{get:function(){if(this.root){return this.root.intervals([])}return[]}});function createWrapper(intervals){if(!intervals||intervals.length===0){return new IntervalTree(null)}return new IntervalTree(createIntervalTree(intervals))}},{"binary-search-bounds":449}],449:[function(_dereq_,module,exports){arguments[4][251][0].apply(exports,arguments)},{dup:251}],450:[function(_dereq_,module,exports){"use strict";function invertPermutation(pi,result){result=result||new Array(pi.length);for(var i=0;i<pi.length;++i){result[pi[i]]=i}return result}module.exports=invertPermutation},{}],451:[function(_dereq_,module,exports){"use strict";function iota(n){var result=new Array(n);for(var i=0;i<n;++i){result[i]=i}return result}module.exports=iota},{}],452:[function(_dereq_,module,exports){module.exports=true},{}],453:[function(_dereq_,module,exports){
/*!
 * Determine if an object is a Buffer
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */
module.exports=function(obj){return obj!=null&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)};function isBuffer(obj){return!!obj.constructor&&typeof obj.constructor.isBuffer==="function"&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return typeof obj.readFloatLE==="function"&&typeof obj.slice==="function"&&isBuffer(obj.slice(0,0))}},{}],454:[function(_dereq_,module,exports){"use strict";module.exports=typeof navigator!=="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],455:[function(_dereq_,module,exports){"use strict";module.exports=isMobile;module.exports.isMobile=isMobile;module.exports.default=isMobile;var mobileRE=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i;var tabletRE=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function isMobile(opts){if(!opts)opts={};var ua=opts.ua;if(!ua&&typeof navigator!=="undefined")ua=navigator.userAgent;if(ua&&ua.headers&&typeof ua.headers["user-agent"]==="string"){ua=ua.headers["user-agent"]}if(typeof ua!=="string")return false;var result=opts.tablet?tabletRE.test(ua):mobileRE.test(ua);if(!result&&opts.tablet&&opts.featureDetect&&navigator&&navigator.maxTouchPoints>1&&ua.indexOf("Macintosh")!==-1&&ua.indexOf("Safari")!==-1){result=true}return result}},{}],456:[function(_dereq_,module,exports){"use strict";module.exports=function(x){var type=typeof x;return x!==null&&(type==="object"||type==="function")}},{}],457:[function(_dereq_,module,exports){"use strict";var toString=Object.prototype.toString;module.exports=function(x){var prototype;return toString.call(x)==="[object Object]"&&(prototype=Object.getPrototypeOf(x),prototype===null||prototype===Object.getPrototypeOf({}))}},{}],458:[function(_dereq_,module,exports){"use strict";module.exports=function(str){var l=str.length,a;for(var i=0;i<l;i++){a=str.charCodeAt(i);if((a<9||a>13)&&a!==32&&a!==133&&a!==160&&a!==5760&&a!==6158&&(a<8192||a>8205)&&a!==8232&&a!==8233&&a!==8239&&a!==8287&&a!==8288&&a!==12288&&a!==65279){return false}}return true}},{}],459:[function(_dereq_,module,exports){"use strict";module.exports=function isPath(str){if(typeof str!=="string")return false;str=str.trim();if(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(str)&&/[\dz]$/i.test(str)&&str.length>4)return true;return false}},{}],460:[function(_dereq_,module,exports){function lerp(v0,v1,t){return v0*(1-t)+v1*t}module.exports=lerp},{}],461:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=global||self,global.mapboxgl=factory())})(this,(function(){"use strict";var shared,worker,mapboxgl;function define(_,chunk){if(!shared){shared=chunk}else if(!worker){worker=chunk}else{var workerBundleString="var sharedChunk = {}; ("+shared+")(sharedChunk); ("+worker+")(sharedChunk);";var sharedChunk={};shared(sharedChunk);mapboxgl=chunk(sharedChunk);mapboxgl.workerUrl=window.URL.createObjectURL(new Blob([workerBundleString],{type:"text/javascript"}))}}define(["exports"],(function(exports){"use strict";function createCommonjsModule(fn,module){return module={exports:{}},fn(module,module.exports),module.exports}var version="1.10.1";var unitbezier=UnitBezier;function UnitBezier(p1x,p1y,p2x,p2y){this.cx=3*p1x;this.bx=3*(p2x-p1x)-this.cx;this.ax=1-this.cx-this.bx;this.cy=3*p1y;this.by=3*(p2y-p1y)-this.cy;this.ay=1-this.cy-this.by;this.p1x=p1x;this.p1y=p2y;this.p2x=p2x;this.p2y=p2y}UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t};UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t};UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx};UnitBezier.prototype.solveCurveX=function(x,epsilon){if(typeof epsilon==="undefined"){epsilon=1e-6}var t0,t1,t2,x2,i;for(t2=x,i=0;i<8;i++){x2=this.sampleCurveX(t2)-x;if(Math.abs(x2)<epsilon){return t2}var d2=this.sampleCurveDerivativeX(t2);if(Math.abs(d2)<1e-6){break}t2=t2-x2/d2}t0=0;t1=1;t2=x;if(t2<t0){return t0}if(t2>t1){return t1}while(t0<t1){x2=this.sampleCurveX(t2);if(Math.abs(x2-x)<epsilon){return t2}if(x>x2){t0=t2}else{t1=t2}t2=(t1-t0)*.5+t0}return t2};UnitBezier.prototype.solve=function(x,epsilon){return this.sampleCurveY(this.solveCurveX(x,epsilon))};var pointGeometry=Point;function Point(x,y){this.x=x;this.y=y}Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(p){return this.clone()._add(p)},sub:function(p){return this.clone()._sub(p)},multByPoint:function(p){return this.clone()._multByPoint(p)},divByPoint:function(p){return this.clone()._divByPoint(p)},mult:function(k){return this.clone()._mult(k)},div:function(k){return this.clone()._div(k)},rotate:function(a){return this.clone()._rotate(a)},rotateAround:function(a,p){return this.clone()._rotateAround(a,p)},matMult:function(m){return this.clone()._matMult(m)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(other){return this.x===other.x&&this.y===other.y},dist:function(p){return Math.sqrt(this.distSqr(p))},distSqr:function(p){var dx=p.x-this.x,dy=p.y-this.y;return dx*dx+dy*dy},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(b){return Math.atan2(this.y-b.y,this.x-b.x)},angleWith:function(b){return this.angleWithSep(b.x,b.y)},angleWithSep:function(x,y){return Math.atan2(this.x*y-this.y*x,this.x*x+this.y*y)},_matMult:function(m){var x=m[0]*this.x+m[1]*this.y,y=m[2]*this.x+m[3]*this.y;this.x=x;this.y=y;return this},_add:function(p){this.x+=p.x;this.y+=p.y;return this},_sub:function(p){this.x-=p.x;this.y-=p.y;return this},_mult:function(k){this.x*=k;this.y*=k;return this},_div:function(k){this.x/=k;this.y/=k;return this},_multByPoint:function(p){this.x*=p.x;this.y*=p.y;return this},_divByPoint:function(p){this.x/=p.x;this.y/=p.y;return this},_unit:function(){this._div(this.mag());return this},_perp:function(){var y=this.y;this.y=this.x;this.x=-y;return this},_rotate:function(angle){var cos=Math.cos(angle),sin=Math.sin(angle),x=cos*this.x-sin*this.y,y=sin*this.x+cos*this.y;this.x=x;this.y=y;return this},_rotateAround:function(angle,p){var cos=Math.cos(angle),sin=Math.sin(angle),x=p.x+cos*(this.x-p.x)-sin*(this.y-p.y),y=p.y+sin*(this.x-p.x)+cos*(this.y-p.y);this.x=x;this.y=y;return this},_round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}};Point.convert=function(a){if(a instanceof Point){return a}if(Array.isArray(a)){return new Point(a[0],a[1])}return a};function deepEqual(a,b){if(Array.isArray(a)){if(!Array.isArray(b)||a.length!==b.length){return false}for(var i=0;i<a.length;i++){if(!deepEqual(a[i],b[i])){return false}}return true}if(typeof a==="object"&&a!==null&&b!==null){if(!(typeof b==="object")){return false}var keys=Object.keys(a);if(keys.length!==Object.keys(b).length){return false}for(var key in a){if(!deepEqual(a[key],b[key])){return false}}return true}return a===b}function easeCubicInOut(t){if(t<=0){return 0}if(t>=1){return 1}var t2=t*t,t3=t2*t;return 4*(t<.5?t3:3*(t-t2)+t3-.75)}function bezier(p1x,p1y,p2x,p2y){var bezier=new unitbezier(p1x,p1y,p2x,p2y);return function(t){return bezier.solve(t)}}var ease=bezier(.25,.1,.25,1);function clamp(n,min,max){return Math.min(max,Math.max(min,n))}function wrap(n,min,max){var d=max-min;var w=((n-min)%d+d)%d+min;return w===min?max:w}function asyncAll(array,fn,callback){if(!array.length){return callback(null,[])}var remaining=array.length;var results=new Array(array.length);var error=null;array.forEach((function(item,i){fn(item,(function(err,result){if(err){error=err}results[i]=result;if(--remaining===0){callback(error,results)}}))}))}function values(obj){var result=[];for(var k in obj){result.push(obj[k])}return result}function keysDifference(obj,other){var difference=[];for(var i in obj){if(!(i in other)){difference.push(i)}}return difference}function extend(dest){var sources=[],len=arguments.length-1;while(len-- >0)sources[len]=arguments[len+1];for(var i=0,list=sources;i<list.length;i+=1){var src=list[i];for(var k in src){dest[k]=src[k]}}return dest}function pick(src,properties){var result={};for(var i=0;i<properties.length;i++){var k=properties[i];if(k in src){result[k]=src[k]}}return result}var id=1;function uniqueId(){return id++}function uuid(){function b(a){return a?(a^Math.random()*16>>a/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,b)}return b()}function validateUuid(str){return str?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(str):false}function bindAll(fns,context){fns.forEach((function(fn){if(!context[fn]){return}context[fn]=context[fn].bind(context)}))}function endsWith(string,suffix){return string.indexOf(suffix,string.length-suffix.length)!==-1}function mapObject(input,iterator,context){var output={};for(var key in input){output[key]=iterator.call(context||this,input[key],key,input)}return output}function filterObject(input,iterator,context){var output={};for(var key in input){if(iterator.call(context||this,input[key],key,input)){output[key]=input[key]}}return output}function clone(input){if(Array.isArray(input)){return input.map(clone)}else if(typeof input==="object"&&input){return mapObject(input,clone)}else{return input}}function arraysIntersect(a,b){for(var l=0;l<a.length;l++){if(b.indexOf(a[l])>=0){return true}}return false}var warnOnceHistory={};function warnOnce(message){if(!warnOnceHistory[message]){if(typeof console!=="undefined"){console.warn(message)}warnOnceHistory[message]=true}}function isCounterClockwise(a,b,c){return(c.y-a.y)*(b.x-a.x)>(b.y-a.y)*(c.x-a.x)}function calculateSignedArea(ring){var sum=0;for(var i=0,len=ring.length,j=len-1,p1=void 0,p2=void 0;i<len;j=i++){p1=ring[i];p2=ring[j];sum+=(p2.x-p1.x)*(p1.y+p2.y)}return sum}function sphericalToCartesian(ref){var r=ref[0];var azimuthal=ref[1];var polar=ref[2];azimuthal+=90;azimuthal*=Math.PI/180;polar*=Math.PI/180;return{x:r*Math.cos(azimuthal)*Math.sin(polar),y:r*Math.sin(azimuthal)*Math.sin(polar),z:r*Math.cos(polar)}}function isWorker(){return typeof WorkerGlobalScope!=="undefined"&&typeof self!=="undefined"&&self instanceof WorkerGlobalScope}function parseCacheControl(cacheControl){var re=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g;var header={};cacheControl.replace(re,(function($0,$1,$2,$3){var value=$2||$3;header[$1]=value?value.toLowerCase():true;return""}));if(header["max-age"]){var maxAge=parseInt(header["max-age"],10);if(isNaN(maxAge)){delete header["max-age"]}else{header["max-age"]=maxAge}}return header}var _isSafari=null;function isSafari(scope){if(_isSafari==null){var userAgent=scope.navigator?scope.navigator.userAgent:null;_isSafari=!!scope.safari||!!(userAgent&&(/\b(iPad|iPhone|iPod)\b/.test(userAgent)||!!userAgent.match("Safari")&&!userAgent.match("Chrome")))}return _isSafari}function storageAvailable(type){try{var storage=self[type];storage.setItem("_mapbox_test_",1);storage.removeItem("_mapbox_test_");return true}catch(e){return false}}function b64EncodeUnicode(str){return self.btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,(function(match,p1){return String.fromCharCode(Number("0x"+p1))})))}function b64DecodeUnicode(str){return decodeURIComponent(self.atob(str).split("").map((function(c){return"%"+("00"+c.charCodeAt(0).toString(16)).slice(-2)})).join(""))}var now=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date);var raf=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame;var cancel=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame;var linkEl;var reducedMotionQuery;var exported={now:now,frame:function frame(fn){var frame=raf(fn);return{cancel:function(){return cancel(frame)}}},getImageData:function getImageData(img,padding){if(padding===void 0)padding=0;var canvas=self.document.createElement("canvas");var context=canvas.getContext("2d");if(!context){throw new Error("failed to create canvas 2d context")}canvas.width=img.width;canvas.height=img.height;context.drawImage(img,0,0,img.width,img.height);return context.getImageData(-padding,-padding,img.width+2*padding,img.height+2*padding)},resolveURL:function resolveURL(path){if(!linkEl){linkEl=self.document.createElement("a")}linkEl.href=path;return linkEl.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){if(!self.matchMedia){return false}if(reducedMotionQuery==null){reducedMotionQuery=self.matchMedia("(prefers-reduced-motion: reduce)")}return reducedMotionQuery.matches}};var config={API_URL:"https://api.mapbox.com",get EVENTS_URL(){if(!this.API_URL){return null}if(this.API_URL.indexOf("https://api.mapbox.cn")===0){return"https://events.mapbox.cn/events/v2"}else if(this.API_URL.indexOf("https://api.mapbox.com")===0){return"https://events.mapbox.com/events/v2"}else{return null}},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:true,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16};var exported$1={supported:false,testSupport:testSupport};var glForTesting;var webpCheckComplete=false;var webpImgTest;var webpImgTestOnloadComplete=false;if(self.document){webpImgTest=self.document.createElement("img");webpImgTest.onload=function(){if(glForTesting){testWebpTextureUpload(glForTesting)}glForTesting=null;webpImgTestOnloadComplete=true};webpImgTest.onerror=function(){webpCheckComplete=true;glForTesting=null};webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="}function testSupport(gl){if(webpCheckComplete||!webpImgTest){return}if(webpImgTestOnloadComplete){testWebpTextureUpload(gl)}else{glForTesting=gl}}function testWebpTextureUpload(gl){var texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);try{gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,webpImgTest);if(gl.isContextLost()){return}exported$1.supported=true}catch(e){}gl.deleteTexture(texture);webpCheckComplete=true}var SKU_ID="01";function createSkuToken(){var TOKEN_VERSION="1";var base62chars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";var sessionRandomizer="";for(var i=0;i<10;i++){sessionRandomizer+=base62chars[Math.floor(Math.random()*62)]}var expiration=12*60*60*1e3;var token=[TOKEN_VERSION,SKU_ID,sessionRandomizer].join("");var tokenExpiresAt=Date.now()+expiration;return{token:token,tokenExpiresAt:tokenExpiresAt}}var RequestManager=function RequestManager(transformRequestFn,customAccessToken){this._transformRequestFn=transformRequestFn;this._customAccessToken=customAccessToken;this._createSkuToken()};RequestManager.prototype._createSkuToken=function _createSkuToken(){var skuToken=createSkuToken();this._skuToken=skuToken.token;this._skuTokenExpiresAt=skuToken.tokenExpiresAt};RequestManager.prototype._isSkuTokenExpired=function _isSkuTokenExpired(){return Date.now()>this._skuTokenExpiresAt};RequestManager.prototype.transformRequest=function transformRequest(url,type){if(this._transformRequestFn){return this._transformRequestFn(url,type)||{url:url}}return{url:url}};RequestManager.prototype.normalizeStyleURL=function normalizeStyleURL(url,accessToken){if(!isMapboxURL(url)){return url}var urlObject=parseUrl(url);urlObject.path="/styles/v1"+urlObject.path;return this._makeAPIURL(urlObject,this._customAccessToken||accessToken)};RequestManager.prototype.normalizeGlyphsURL=function normalizeGlyphsURL(url,accessToken){if(!isMapboxURL(url)){return url}var urlObject=parseUrl(url);urlObject.path="/fonts/v1"+urlObject.path;return this._makeAPIURL(urlObject,this._customAccessToken||accessToken)};RequestManager.prototype.normalizeSourceURL=function normalizeSourceURL(url,accessToken){if(!isMapboxURL(url)){return url}var urlObject=parseUrl(url);urlObject.path="/v4/"+urlObject.authority+".json";urlObject.params.push("secure");return this._makeAPIURL(urlObject,this._customAccessToken||accessToken)};RequestManager.prototype.normalizeSpriteURL=function normalizeSpriteURL(url,format,extension,accessToken){var urlObject=parseUrl(url);if(!isMapboxURL(url)){urlObject.path+=""+format+extension;return formatUrl(urlObject)}urlObject.path="/styles/v1"+urlObject.path+"/sprite"+format+extension;return this._makeAPIURL(urlObject,this._customAccessToken||accessToken)};RequestManager.prototype.normalizeTileURL=function normalizeTileURL(tileURL,tileSize){if(this._isSkuTokenExpired()){this._createSkuToken()}if(tileURL&&!isMapboxURL(tileURL)){return tileURL}var urlObject=parseUrl(tileURL);var imageExtensionRe=/(\.(png|jpg)\d*)(?=$)/;var tileURLAPIPrefixRe=/^.+\/v4\//;var suffix=exported.devicePixelRatio>=2||tileSize===512?"@2x":"";var extension=exported$1.supported?".webp":"$1";urlObject.path=urlObject.path.replace(imageExtensionRe,""+suffix+extension);urlObject.path=urlObject.path.replace(tileURLAPIPrefixRe,"/");urlObject.path="/v4"+urlObject.path;var accessToken=this._customAccessToken||getAccessToken(urlObject.params)||config.ACCESS_TOKEN;if(config.REQUIRE_ACCESS_TOKEN&&accessToken&&this._skuToken){urlObject.params.push("sku="+this._skuToken)}return this._makeAPIURL(urlObject,accessToken)};RequestManager.prototype.canonicalizeTileURL=function canonicalizeTileURL(url,removeAccessToken){var version="/v4/";var extensionRe=/\.[\w]+$/;var urlObject=parseUrl(url);if(!urlObject.path.match(/(^\/v4\/)/)||!urlObject.path.match(extensionRe)){return url}var result="mapbox://tiles/";result+=urlObject.path.replace(version,"");var params=urlObject.params;if(removeAccessToken){params=params.filter((function(p){return!p.match(/^access_token=/)}))}if(params.length){result+="?"+params.join("&")}return result};RequestManager.prototype.canonicalizeTileset=function canonicalizeTileset(tileJSON,sourceURL){var removeAccessToken=sourceURL?isMapboxURL(sourceURL):false;var canonical=[];for(var i=0,list=tileJSON.tiles||[];i<list.length;i+=1){var url=list[i];if(isMapboxHTTPURL(url)){canonical.push(this.canonicalizeTileURL(url,removeAccessToken))}else{canonical.push(url)}}return canonical};RequestManager.prototype._makeAPIURL=function _makeAPIURL(urlObject,accessToken){var help="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes";var apiUrlObject=parseUrl(config.API_URL);urlObject.protocol=apiUrlObject.protocol;urlObject.authority=apiUrlObject.authority;if(apiUrlObject.path!=="/"){urlObject.path=""+apiUrlObject.path+urlObject.path}if(!config.REQUIRE_ACCESS_TOKEN){return formatUrl(urlObject)}accessToken=accessToken||config.ACCESS_TOKEN;if(!accessToken){throw new Error("An API access token is required to use Mapbox GL. "+help)}if(accessToken[0]==="s"){throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+help)}urlObject.params=urlObject.params.filter((function(d){return d.indexOf("access_token")===-1}));urlObject.params.push("access_token="+accessToken);return formatUrl(urlObject)};function isMapboxURL(url){return url.indexOf("mapbox:")===0}var mapboxHTTPURLRe=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function isMapboxHTTPURL(url){return mapboxHTTPURLRe.test(url)}function hasCacheDefeatingSku(url){return url.indexOf("sku=")>0&&isMapboxHTTPURL(url)}function getAccessToken(params){for(var i=0,list=params;i<list.length;i+=1){var param=list[i];var match=param.match(/^access_token=(.*)$/);if(match){return match[1]}}return null}var urlRe=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function parseUrl(url){var parts=url.match(urlRe);if(!parts){throw new Error("Unable to parse URL object")}return{protocol:parts[1],authority:parts[2],path:parts[3]||"/",params:parts[4]?parts[4].split("&"):[]}}function formatUrl(obj){var params=obj.params.length?"?"+obj.params.join("&"):"";return obj.protocol+"://"+obj.authority+obj.path+params}var telemEventKey="mapbox.eventData";function parseAccessToken(accessToken){if(!accessToken){return null}var parts=accessToken.split(".");if(!parts||parts.length!==3){return null}try{var jsonData=JSON.parse(b64DecodeUnicode(parts[1]));return jsonData}catch(e){return null}}var TelemetryEvent=function TelemetryEvent(type){this.type=type;this.anonId=null;this.eventData={};this.queue=[];this.pendingRequest=null};TelemetryEvent.prototype.getStorageKey=function getStorageKey(domain){var tokenData=parseAccessToken(config.ACCESS_TOKEN);var u="";if(tokenData&&tokenData["u"]){u=b64EncodeUnicode(tokenData["u"])}else{u=config.ACCESS_TOKEN||""}return domain?telemEventKey+"."+domain+":"+u:telemEventKey+":"+u};TelemetryEvent.prototype.fetchEventData=function fetchEventData(){var isLocalStorageAvailable=storageAvailable("localStorage");var storageKey=this.getStorageKey();var uuidKey=this.getStorageKey("uuid");if(isLocalStorageAvailable){try{var data=self.localStorage.getItem(storageKey);if(data){this.eventData=JSON.parse(data)}var uuid=self.localStorage.getItem(uuidKey);if(uuid){this.anonId=uuid}}catch(e){warnOnce("Unable to read from LocalStorage")}}};TelemetryEvent.prototype.saveEventData=function saveEventData(){var isLocalStorageAvailable=storageAvailable("localStorage");var storageKey=this.getStorageKey();var uuidKey=this.getStorageKey("uuid");if(isLocalStorageAvailable){try{self.localStorage.setItem(uuidKey,this.anonId);if(Object.keys(this.eventData).length>=1){self.localStorage.setItem(storageKey,JSON.stringify(this.eventData))}}catch(e){warnOnce("Unable to write to LocalStorage")}}};TelemetryEvent.prototype.processRequests=function processRequests(_){};TelemetryEvent.prototype.postEvent=function postEvent(timestamp,additionalPayload,callback,customAccessToken){var this$1=this;if(!config.EVENTS_URL){return}var eventsUrlObject=parseUrl(config.EVENTS_URL);eventsUrlObject.params.push("access_token="+(customAccessToken||config.ACCESS_TOKEN||""));var payload={event:this.type,created:new Date(timestamp).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:version,skuId:SKU_ID,userId:this.anonId};var finalPayload=additionalPayload?extend(payload,additionalPayload):payload;var request={url:formatUrl(eventsUrlObject),headers:{"Content-Type":"text/plain"},body:JSON.stringify([finalPayload])};this.pendingRequest=postData(request,(function(error){this$1.pendingRequest=null;callback(error);this$1.saveEventData();this$1.processRequests(customAccessToken)}))};TelemetryEvent.prototype.queueRequest=function queueRequest(event,customAccessToken){this.queue.push(event);this.processRequests(customAccessToken)};var MapLoadEvent=function(TelemetryEvent){function MapLoadEvent(){TelemetryEvent.call(this,"map.load");this.success={};this.skuToken=""}if(TelemetryEvent)MapLoadEvent.__proto__=TelemetryEvent;MapLoadEvent.prototype=Object.create(TelemetryEvent&&TelemetryEvent.prototype);MapLoadEvent.prototype.constructor=MapLoadEvent;MapLoadEvent.prototype.postMapLoadEvent=function postMapLoadEvent(tileUrls,mapId,skuToken,customAccessToken){this.skuToken=skuToken;if(config.EVENTS_URL&&customAccessToken||config.ACCESS_TOKEN&&Array.isArray(tileUrls)&&tileUrls.some((function(url){return isMapboxURL(url)||isMapboxHTTPURL(url)}))){this.queueRequest({id:mapId,timestamp:Date.now()},customAccessToken)}};MapLoadEvent.prototype.processRequests=function processRequests(customAccessToken){var this$1=this;if(this.pendingRequest||this.queue.length===0){return}var ref=this.queue.shift();var id=ref.id;var timestamp=ref.timestamp;if(id&&this.success[id]){return}if(!this.anonId){this.fetchEventData()}if(!validateUuid(this.anonId)){this.anonId=uuid()}this.postEvent(timestamp,{skuToken:this.skuToken},(function(err){if(!err){if(id){this$1.success[id]=true}}}),customAccessToken)};return MapLoadEvent}(TelemetryEvent);var TurnstileEvent=function(TelemetryEvent){function TurnstileEvent(customAccessToken){TelemetryEvent.call(this,"appUserTurnstile");this._customAccessToken=customAccessToken}if(TelemetryEvent)TurnstileEvent.__proto__=TelemetryEvent;TurnstileEvent.prototype=Object.create(TelemetryEvent&&TelemetryEvent.prototype);TurnstileEvent.prototype.constructor=TurnstileEvent;TurnstileEvent.prototype.postTurnstileEvent=function postTurnstileEvent(tileUrls,customAccessToken){if(config.EVENTS_URL&&config.ACCESS_TOKEN&&Array.isArray(tileUrls)&&tileUrls.some((function(url){return isMapboxURL(url)||isMapboxHTTPURL(url)}))){this.queueRequest(Date.now(),customAccessToken)}};TurnstileEvent.prototype.processRequests=function processRequests(customAccessToken){var this$1=this;if(this.pendingRequest||this.queue.length===0){return}if(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU){this.fetchEventData()}var tokenData=parseAccessToken(config.ACCESS_TOKEN);var tokenU=tokenData?tokenData["u"]:config.ACCESS_TOKEN;var dueForEvent=tokenU!==this.eventData.tokenU;if(!validateUuid(this.anonId)){this.anonId=uuid();dueForEvent=true}var nextUpdate=this.queue.shift();if(this.eventData.lastSuccess){var lastUpdate=new Date(this.eventData.lastSuccess);var nextDate=new Date(nextUpdate);var daysElapsed=(nextUpdate-this.eventData.lastSuccess)/(24*60*60*1e3);dueForEvent=dueForEvent||daysElapsed>=1||daysElapsed<-1||lastUpdate.getDate()!==nextDate.getDate()}else{dueForEvent=true}if(!dueForEvent){return this.processRequests()}this.postEvent(nextUpdate,{"enabled.telemetry":false},(function(err){if(!err){this$1.eventData.lastSuccess=nextUpdate;this$1.eventData.tokenU=tokenU}}),customAccessToken)};return TurnstileEvent}(TelemetryEvent);var turnstileEvent_=new TurnstileEvent;var postTurnstileEvent=turnstileEvent_.postTurnstileEvent.bind(turnstileEvent_);var mapLoadEvent_=new MapLoadEvent;var postMapLoadEvent=mapLoadEvent_.postMapLoadEvent.bind(mapLoadEvent_);var CACHE_NAME="mapbox-tiles";var cacheLimit=500;var cacheCheckThreshold=50;var MIN_TIME_UNTIL_EXPIRY=1e3*60*7;var sharedCache;function cacheOpen(){if(self.caches&&!sharedCache){sharedCache=self.caches.open(CACHE_NAME)}}var responseConstructorSupportsReadableStream;function prepareBody(response,callback){if(responseConstructorSupportsReadableStream===undefined){try{new Response(new ReadableStream);responseConstructorSupportsReadableStream=true}catch(e){responseConstructorSupportsReadableStream=false}}if(responseConstructorSupportsReadableStream){callback(response.body)}else{response.blob().then(callback)}}function cachePut(request,response,requestTime){cacheOpen();if(!sharedCache){return}var options={status:response.status,statusText:response.statusText,headers:new self.Headers};response.headers.forEach((function(v,k){return options.headers.set(k,v)}));var cacheControl=parseCacheControl(response.headers.get("Cache-Control")||"");if(cacheControl["no-store"]){return}if(cacheControl["max-age"]){options.headers.set("Expires",new Date(requestTime+cacheControl["max-age"]*1e3).toUTCString())}var timeUntilExpiry=new Date(options.headers.get("Expires")).getTime()-requestTime;if(timeUntilExpiry<MIN_TIME_UNTIL_EXPIRY){return}prepareBody(response,(function(body){var clonedResponse=new self.Response(body,options);cacheOpen();if(!sharedCache){return}sharedCache.then((function(cache){return cache.put(stripQueryParameters(request.url),clonedResponse)})).catch((function(e){return warnOnce(e.message)}))}))}function stripQueryParameters(url){var start=url.indexOf("?");return start<0?url:url.slice(0,start)}function cacheGet(request,callback){cacheOpen();if(!sharedCache){return callback(null)}var strippedURL=stripQueryParameters(request.url);sharedCache.then((function(cache){cache.match(strippedURL).then((function(response){var fresh=isFresh(response);cache.delete(strippedURL);if(fresh){cache.put(strippedURL,response.clone())}callback(null,response,fresh)})).catch(callback)})).catch(callback)}function isFresh(response){if(!response){return false}var expires=new Date(response.headers.get("Expires")||0);var cacheControl=parseCacheControl(response.headers.get("Cache-Control")||"");return expires>Date.now()&&!cacheControl["no-cache"]}var globalEntryCounter=Infinity;function cacheEntryPossiblyAdded(dispatcher){globalEntryCounter++;if(globalEntryCounter>cacheCheckThreshold){dispatcher.getActor().send("enforceCacheSizeLimit",cacheLimit);globalEntryCounter=0}}function enforceCacheSizeLimit(limit){cacheOpen();if(!sharedCache){return}sharedCache.then((function(cache){cache.keys().then((function(keys){for(var i=0;i<keys.length-limit;i++){cache.delete(keys[i])}}))}))}function clearTileCache(callback){var promise=self.caches.delete(CACHE_NAME);if(callback){promise.catch(callback).then((function(){return callback()}))}}function setCacheLimits(limit,checkThreshold){cacheLimit=limit;cacheCheckThreshold=checkThreshold}var supportsOffscreenCanvas;function offscreenCanvasSupported(){if(supportsOffscreenCanvas==null){supportsOffscreenCanvas=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&typeof self.createImageBitmap==="function"}return supportsOffscreenCanvas}var ResourceType={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};if(typeof Object.freeze=="function"){Object.freeze(ResourceType)}var AJAXError=function(Error){function AJAXError(message,status,url){if(status===401&&isMapboxHTTPURL(url)){message+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"}Error.call(this,message);this.status=status;this.url=url;this.name=this.constructor.name;this.message=message}if(Error)AJAXError.__proto__=Error;AJAXError.prototype=Object.create(Error&&Error.prototype);AJAXError.prototype.constructor=AJAXError;AJAXError.prototype.toString=function toString(){return this.name+": "+this.message+" ("+this.status+"): "+this.url};return AJAXError}(Error);var getReferrer=isWorker()?function(){return self.worker&&self.worker.referrer}:function(){return(self.location.protocol==="blob:"?self.parent:self).location.href};var isFileURL=function(url){return/^file:/.test(url)||/^file:/.test(getReferrer())&&!/^\w+:/.test(url)};function makeFetchRequest(requestParameters,callback){var controller=new self.AbortController;var request=new self.Request(requestParameters.url,{method:requestParameters.method||"GET",body:requestParameters.body,credentials:requestParameters.credentials,headers:requestParameters.headers,referrer:getReferrer(),signal:controller.signal});var complete=false;var aborted=false;var cacheIgnoringSearch=hasCacheDefeatingSku(request.url);if(requestParameters.type==="json"){request.headers.set("Accept","application/json")}var validateOrFetch=function(err,cachedResponse,responseIsFresh){if(aborted){return}if(err){if(err.message!=="SecurityError"){warnOnce(err)}}if(cachedResponse&&responseIsFresh){return finishRequest(cachedResponse)}var requestTime=Date.now();self.fetch(request).then((function(response){if(response.ok){var cacheableResponse=cacheIgnoringSearch?response.clone():null;return finishRequest(response,cacheableResponse,requestTime)}else{return callback(new AJAXError(response.statusText,response.status,requestParameters.url))}})).catch((function(error){if(error.code===20){return}callback(new Error(error.message))}))};var finishRequest=function(response,cacheableResponse,requestTime){(requestParameters.type==="arrayBuffer"?response.arrayBuffer():requestParameters.type==="json"?response.json():response.text()).then((function(result){if(aborted){return}if(cacheableResponse&&requestTime){cachePut(request,cacheableResponse,requestTime)}complete=true;callback(null,result,response.headers.get("Cache-Control"),response.headers.get("Expires"))})).catch((function(err){if(!aborted){callback(new Error(err.message))}}))};if(cacheIgnoringSearch){cacheGet(request,validateOrFetch)}else{validateOrFetch(null,null)}return{cancel:function(){aborted=true;if(!complete){controller.abort()}}}}function makeXMLHttpRequest(requestParameters,callback){var xhr=new self.XMLHttpRequest;xhr.open(requestParameters.method||"GET",requestParameters.url,true);if(requestParameters.type==="arrayBuffer"){xhr.responseType="arraybuffer"}for(var k in requestParameters.headers){xhr.setRequestHeader(k,requestParameters.headers[k])}if(requestParameters.type==="json"){xhr.responseType="text";xhr.setRequestHeader("Accept","application/json")}xhr.withCredentials=requestParameters.credentials==="include";xhr.onerror=function(){callback(new Error(xhr.statusText))};xhr.onload=function(){if((xhr.status>=200&&xhr.status<300||xhr.status===0)&&xhr.response!==null){var data=xhr.response;if(requestParameters.type==="json"){try{data=JSON.parse(xhr.response)}catch(err){return callback(err)}}callback(null,data,xhr.getResponseHeader("Cache-Control"),xhr.getResponseHeader("Expires"))}else{callback(new AJAXError(xhr.statusText,xhr.status,requestParameters.url))}};xhr.send(requestParameters.body);return{cancel:function(){return xhr.abort()}}}var makeRequest=function(requestParameters,callback){if(!isFileURL(requestParameters.url)){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal")){return makeFetchRequest(requestParameters,callback)}if(isWorker()&&self.worker&&self.worker.actor){var queueOnMainThread=true;return self.worker.actor.send("getResource",requestParameters,callback,undefined,queueOnMainThread)}}return makeXMLHttpRequest(requestParameters,callback)};var getJSON=function(requestParameters,callback){return makeRequest(extend(requestParameters,{type:"json"}),callback)};var getArrayBuffer=function(requestParameters,callback){return makeRequest(extend(requestParameters,{type:"arrayBuffer"}),callback)};var postData=function(requestParameters,callback){return makeRequest(extend(requestParameters,{method:"POST"}),callback)};function sameOrigin(url){var a=self.document.createElement("a");a.href=url;return a.protocol===self.document.location.protocol&&a.host===self.document.location.host}var transparentPngUrl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function arrayBufferToImage(data,callback,cacheControl,expires){var img=new self.Image;var URL=self.URL;img.onload=function(){callback(null,img);URL.revokeObjectURL(img.src)};img.onerror=function(){return callback(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))};var blob=new self.Blob([new Uint8Array(data)],{type:"image/png"});img.cacheControl=cacheControl;img.expires=expires;img.src=data.byteLength?URL.createObjectURL(blob):transparentPngUrl}function arrayBufferToImageBitmap(data,callback){var blob=new self.Blob([new Uint8Array(data)],{type:"image/png"});self.createImageBitmap(blob).then((function(imgBitmap){callback(null,imgBitmap)})).catch((function(e){callback(new Error("Could not load image because of "+e.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))}))}var imageQueue,numImageRequests;var resetImageRequestQueue=function(){imageQueue=[];numImageRequests=0};resetImageRequestQueue();var getImage=function(requestParameters,callback){if(exported$1.supported){if(!requestParameters.headers){requestParameters.headers={}}requestParameters.headers.accept="image/webp,*/*"}if(numImageRequests>=config.MAX_PARALLEL_IMAGE_REQUESTS){var queued={requestParameters:requestParameters,callback:callback,cancelled:false,cancel:function cancel(){this.cancelled=true}};imageQueue.push(queued);return queued}numImageRequests++;var advanced=false;var advanceImageRequestQueue=function(){if(advanced){return}advanced=true;numImageRequests--;while(imageQueue.length&&numImageRequests<config.MAX_PARALLEL_IMAGE_REQUESTS){var request=imageQueue.shift();var requestParameters=request.requestParameters;var callback=request.callback;var cancelled=request.cancelled;if(!cancelled){request.cancel=getImage(requestParameters,callback).cancel}}};var request=getArrayBuffer(requestParameters,(function(err,data,cacheControl,expires){advanceImageRequestQueue();if(err){callback(err)}else if(data){if(offscreenCanvasSupported()){arrayBufferToImageBitmap(data,callback)}else{arrayBufferToImage(data,callback,cacheControl,expires)}}}));return{cancel:function(){request.cancel();advanceImageRequestQueue()}}};var getVideo=function(urls,callback){var video=self.document.createElement("video");video.muted=true;video.onloadstart=function(){callback(null,video)};for(var i=0;i<urls.length;i++){var s=self.document.createElement("source");if(!sameOrigin(urls[i])){video.crossOrigin="Anonymous"}s.src=urls[i];video.appendChild(s)}return{cancel:function(){}}};function _addEventListener(type,listener,listenerList){var listenerExists=listenerList[type]&&listenerList[type].indexOf(listener)!==-1;if(!listenerExists){listenerList[type]=listenerList[type]||[];listenerList[type].push(listener)}}function _removeEventListener(type,listener,listenerList){if(listenerList&&listenerList[type]){var index=listenerList[type].indexOf(listener);if(index!==-1){listenerList[type].splice(index,1)}}}var Event=function Event(type,data){if(data===void 0)data={};extend(this,data);this.type=type};var ErrorEvent=function(Event){function ErrorEvent(error,data){if(data===void 0)data={};Event.call(this,"error",extend({error:error},data))}if(Event)ErrorEvent.__proto__=Event;ErrorEvent.prototype=Object.create(Event&&Event.prototype);ErrorEvent.prototype.constructor=ErrorEvent;return ErrorEvent}(Event);var Evented=function Evented(){};Evented.prototype.on=function on(type,listener){this._listeners=this._listeners||{};_addEventListener(type,listener,this._listeners);return this};Evented.prototype.off=function off(type,listener){_removeEventListener(type,listener,this._listeners);_removeEventListener(type,listener,this._oneTimeListeners);return this};Evented.prototype.once=function once(type,listener){this._oneTimeListeners=this._oneTimeListeners||{};_addEventListener(type,listener,this._oneTimeListeners);return this};Evented.prototype.fire=function fire(event,properties){if(typeof event==="string"){event=new Event(event,properties||{})}var type=event.type;if(this.listens(type)){event.target=this;var listeners=this._listeners&&this._listeners[type]?this._listeners[type].slice():[];for(var i=0,list=listeners;i<list.length;i+=1){var listener=list[i];listener.call(this,event)}var oneTimeListeners=this._oneTimeListeners&&this._oneTimeListeners[type]?this._oneTimeListeners[type].slice():[];for(var i$1=0,list$1=oneTimeListeners;i$1<list$1.length;i$1+=1){var listener$1=list$1[i$1];_removeEventListener(type,listener$1,this._oneTimeListeners);listener$1.call(this,event)}var parent=this._eventedParent;if(parent){extend(event,typeof this._eventedParentData==="function"?this._eventedParentData():this._eventedParentData);parent.fire(event)}}else if(event instanceof ErrorEvent){console.error(event.error)}return this};Evented.prototype.listens=function listens(type){return this._listeners&&this._listeners[type]&&this._listeners[type].length>0||this._oneTimeListeners&&this._oneTimeListeners[type]&&this._oneTimeListeners[type].length>0||this._eventedParent&&this._eventedParent.listens(type)};Evented.prototype.setEventedParent=function setEventedParent(parent,data){this._eventedParent=parent;this._eventedParentData=data;return this};var $version=8;var $root={version:{required:true,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:true,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:true,type:"array",value:"layer"}};var sources={"*":{type:"source"}};var source=["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"];var source_vector={type:{required:true,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{type:"*"}};var source_raster={type:{required:true,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},"*":{type:"*"}};var source_raster_dem={type:{required:true,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}};var source_geojson={type:{required:true,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:false},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:false},generateId:{type:"boolean",default:false},promoteId:{type:"promoteId"}};var source_video={type:{required:true,type:"enum",values:{video:{}}},urls:{required:true,type:"array",value:"string"},coordinates:{required:true,type:"array",length:4,value:{type:"array",length:2,value:"number"}}};var source_image={type:{required:true,type:"enum",values:{image:{}}},url:{required:true,type:"string"},coordinates:{required:true,type:"array",length:4,value:{type:"array",length:2,value:"number"}}};var layer={id:{type:"string",required:true},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:true},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}};var layout=["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"];var layout_background={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}};var layout_fill={"fill-sort-key":{type:"number",expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}};var layout_circle={"circle-sort-key":{type:"number",expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}};var layout_heatmap={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}};var layout_line={"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}};var layout_symbol={"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:false,expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:false,requires:["icon-image"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:false,requires:["icon-image"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:false,requires:["icon-image","text-field"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:true,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:true,expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:true,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:false,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:true,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:true,expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:true,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:true,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:true,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:false,requires:["text-field"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:false,requires:["text-field"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:false,requires:["text-field","icon-image"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}};var layout_raster={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}};var layout_hillshade={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}};var filter={type:"array",value:"*"};var filter_operator={type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}};var geometry_type={type:"enum",values:{Point:{},LineString:{},Polygon:{}}};var function_stop={type:"array",minimum:0,maximum:24,value:["number","color"],length:2};var expression={type:"array",value:"*",minimum:1};var expression_name={type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}};var light={anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:false,expression:{interpolated:false,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:true,expression:{interpolated:true,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:true,parameters:["zoom"]},transition:true},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:true,parameters:["zoom"]},transition:true}};var paint=["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"];var paint_fill={"fill-antialias":{type:"boolean",default:true,expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:true,requires:[{"!":"fill-pattern"}],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:true,requires:[{"!":"fill-pattern"},{"fill-antialias":true}],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:true,expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}};var paint_line={"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:true,requires:[{"!":"line-pattern"}],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:true,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:false,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:true,expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:false,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:true}}],expression:{interpolated:true,parameters:["line-progress"]},"property-type":"color-ramp"}};var paint_circle={"circle-radius":{type:"number",default:5,minimum:0,transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:true,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:true,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:true,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}};var paint_heatmap={"heatmap-radius":{type:"number",default:30,minimum:1,transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:false,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:false,expression:{interpolated:true,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"}};var paint_symbol={"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,requires:["icon-image"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:true,requires:["icon-image"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:true,requires:["icon-image"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:true,units:"pixels",requires:["icon-image"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:true,units:"pixels",requires:["icon-image"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:true,units:"pixels",requires:["icon-image"],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:true,overridable:true,requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:true,requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:true,units:"pixels",requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:true,units:"pixels",requires:["text-field"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:true,units:"pixels",requires:["text-field"],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"}};var paint_raster={"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:true,units:"degrees",expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:false,units:"milliseconds",expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"}};var paint_hillshade={"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:false,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"}};var paint_background={"background-color":{type:"color",default:"#000000",transition:true,requires:[{"!":"background-pattern"}],expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:true,expression:{interpolated:false,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"}};var transition={duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}};var promoteId={"*":{type:"string"}};var spec={$version:$version,$root:$root,sources:sources,source:source,source_vector:source_vector,source_raster:source_raster,source_raster_dem:source_raster_dem,source_geojson:source_geojson,source_video:source_video,source_image:source_image,layer:layer,layout:layout,layout_background:layout_background,layout_fill:layout_fill,layout_circle:layout_circle,layout_heatmap:layout_heatmap,"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:layout_line,layout_symbol:layout_symbol,layout_raster:layout_raster,layout_hillshade:layout_hillshade,filter:filter,filter_operator:filter_operator,geometry_type:geometry_type,function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:false}},function_stop:function_stop,expression:expression,expression_name:expression_name,light:light,paint:paint,paint_fill:paint_fill,"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:true,expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:true,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:true,units:"pixels",expression:{interpolated:true,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:true,expression:{interpolated:false,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:true,expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:true,requires:["fill-extrusion-height"],expression:{interpolated:true,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:true,transition:false,expression:{interpolated:false,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:paint_line,paint_circle:paint_circle,paint_heatmap:paint_heatmap,paint_symbol:paint_symbol,paint_raster:paint_raster,paint_hillshade:paint_hillshade,paint_background:paint_background,transition:transition,"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:promoteId};var ValidationError=function ValidationError(key,value,message,identifier){this.message=(key?key+": ":"")+message;if(identifier){this.identifier=identifier}if(value!==null&&value!==undefined&&value.__line__){this.line=value.__line__}};function validateConstants(options){var key=options.key;var constants=options.value;if(constants){return[new ValidationError(key,constants,"constants have been deprecated as of v8")]}else{return[]}}function extend$1(output){var inputs=[],len=arguments.length-1;while(len-- >0)inputs[len]=arguments[len+1];for(var i=0,list=inputs;i<list.length;i+=1){var input=list[i];for(var k in input){output[k]=input[k]}}return output}function unbundle(value){if(value instanceof Number||value instanceof String||value instanceof Boolean){return value.valueOf()}else{return value}}function deepUnbundle(value){if(Array.isArray(value)){return value.map(deepUnbundle)}else if(value instanceof Object&&!(value instanceof Number||value instanceof String||value instanceof Boolean)){var unbundledValue={};for(var key in value){unbundledValue[key]=deepUnbundle(value[key])}return unbundledValue}return unbundle(value)}var ParsingError=function(Error){function ParsingError(key,message){Error.call(this,message);this.message=message;this.key=key}if(Error)ParsingError.__proto__=Error;ParsingError.prototype=Object.create(Error&&Error.prototype);ParsingError.prototype.constructor=ParsingError;return ParsingError}(Error);var Scope=function Scope(parent,bindings){if(bindings===void 0)bindings=[];this.parent=parent;this.bindings={};for(var i=0,list=bindings;i<list.length;i+=1){var ref=list[i];var name=ref[0];var expression=ref[1];this.bindings[name]=expression}};Scope.prototype.concat=function concat(bindings){return new Scope(this,bindings)};Scope.prototype.get=function get(name){if(this.bindings[name]){return this.bindings[name]}if(this.parent){return this.parent.get(name)}throw new Error(name+" not found in scope.")};Scope.prototype.has=function has(name){if(this.bindings[name]){return true}return this.parent?this.parent.has(name):false};var NullType={kind:"null"};var NumberType={kind:"number"};var StringType={kind:"string"};var BooleanType={kind:"boolean"};var ColorType={kind:"color"};var ObjectType={kind:"object"};var ValueType={kind:"value"};var ErrorType={kind:"error"};var CollatorType={kind:"collator"};var FormattedType={kind:"formatted"};var ResolvedImageType={kind:"resolvedImage"};function array(itemType,N){return{kind:"array",itemType:itemType,N:N}}function toString(type){if(type.kind==="array"){var itemType=toString(type.itemType);return typeof type.N==="number"?"array<"+itemType+", "+type.N+">":type.itemType.kind==="value"?"array":"array<"+itemType+">"}else{return type.kind}}var valueMemberTypes=[NullType,NumberType,StringType,BooleanType,ColorType,FormattedType,ObjectType,array(ValueType),ResolvedImageType];function checkSubtype(expected,t){if(t.kind==="error"){return null}else if(expected.kind==="array"){if(t.kind==="array"&&(t.N===0&&t.itemType.kind==="value"||!checkSubtype(expected.itemType,t.itemType))&&(typeof expected.N!=="number"||expected.N===t.N)){return null}}else if(expected.kind===t.kind){return null}else if(expected.kind==="value"){for(var i=0,list=valueMemberTypes;i<list.length;i+=1){var memberType=list[i];if(!checkSubtype(memberType,t)){return null}}}return"Expected "+toString(expected)+" but found "+toString(t)+" instead."}function isValidType(provided,allowedTypes){return allowedTypes.some((function(t){return t.kind===provided.kind}))}function isValidNativeType(provided,allowedTypes){return allowedTypes.some((function(t){if(t==="null"){return provided===null}else if(t==="array"){return Array.isArray(provided)}else if(t==="object"){return provided&&!Array.isArray(provided)&&typeof provided==="object"}else{return t===typeof provided}}))}var csscolorparser=createCommonjsModule((function(module,exports){var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function clamp_css_byte(i){i=Math.round(i);return i<0?0:i>255?255:i}function clamp_css_float(f){return f<0?0:f>1?1:f}function parse_css_int(str){if(str[str.length-1]==="%"){return clamp_css_byte(parseFloat(str)/100*255)}return clamp_css_byte(parseInt(str))}function parse_css_float(str){if(str[str.length-1]==="%"){return clamp_css_float(parseFloat(str)/100)}return clamp_css_float(parseFloat(str))}function css_hue_to_rgb(m1,m2,h){if(h<0){h+=1}else if(h>1){h-=1}if(h*6<1){return m1+(m2-m1)*h*6}if(h*2<1){return m2}if(h*3<2){return m1+(m2-m1)*(2/3-h)*6}return m1}function parseCSSColor(css_str){var str=css_str.replace(/ /g,"").toLowerCase();if(str in kCSSColorTable){return kCSSColorTable[str].slice()}if(str[0]==="#"){if(str.length===4){var iv=parseInt(str.substr(1),16);if(!(iv>=0&&iv<=4095)){return null}return[(iv&3840)>>4|(iv&3840)>>8,iv&240|(iv&240)>>4,iv&15|(iv&15)<<4,1]}else if(str.length===7){var iv=parseInt(str.substr(1),16);if(!(iv>=0&&iv<=16777215)){return null}return[(iv&16711680)>>16,(iv&65280)>>8,iv&255,1]}return null}var op=str.indexOf("("),ep=str.indexOf(")");if(op!==-1&&ep+1===str.length){var fname=str.substr(0,op);var params=str.substr(op+1,ep-(op+1)).split(",");var alpha=1;switch(fname){case"rgba":if(params.length!==4){return null}alpha=parse_css_float(params.pop());case"rgb":if(params.length!==3){return null}return[parse_css_int(params[0]),parse_css_int(params[1]),parse_css_int(params[2]),alpha];case"hsla":if(params.length!==4){return null}alpha=parse_css_float(params.pop());case"hsl":if(params.length!==3){return null}var h=(parseFloat(params[0])%360+360)%360/360;var s=parse_css_float(params[1]);var l=parse_css_float(params[2]);var m2=l<=.5?l*(s+1):l+s-l*s;var m1=l*2-m2;return[clamp_css_byte(css_hue_to_rgb(m1,m2,h+1/3)*255),clamp_css_byte(css_hue_to_rgb(m1,m2,h)*255),clamp_css_byte(css_hue_to_rgb(m1,m2,h-1/3)*255),alpha];default:return null}}return null}try{exports.parseCSSColor=parseCSSColor}catch(e){}}));var csscolorparser_1=csscolorparser.parseCSSColor;var Color=function Color(r,g,b,a){if(a===void 0)a=1;this.r=r;this.g=g;this.b=b;this.a=a};Color.parse=function parse(input){if(!input){return undefined}if(input instanceof Color){return input}if(typeof input!=="string"){return undefined}var rgba=csscolorparser_1(input);if(!rgba){return undefined}return new Color(rgba[0]/255*rgba[3],rgba[1]/255*rgba[3],rgba[2]/255*rgba[3],rgba[3])};Color.prototype.toString=function toString(){var ref=this.toArray();var r=ref[0];var g=ref[1];var b=ref[2];var a=ref[3];return"rgba("+Math.round(r)+","+Math.round(g)+","+Math.round(b)+","+a+")"};Color.prototype.toArray=function toArray(){var ref=this;var r=ref.r;var g=ref.g;var b=ref.b;var a=ref.a;return a===0?[0,0,0,0]:[r*255/a,g*255/a,b*255/a,a]};Color.black=new Color(0,0,0,1);Color.white=new Color(1,1,1,1);Color.transparent=new Color(0,0,0,0);Color.red=new Color(1,0,0,1);var Collator=function Collator(caseSensitive,diacriticSensitive,locale){if(caseSensitive){this.sensitivity=diacriticSensitive?"variant":"case"}else{this.sensitivity=diacriticSensitive?"accent":"base"}this.locale=locale;this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};Collator.prototype.compare=function compare(lhs,rhs){return this.collator.compare(lhs,rhs)};Collator.prototype.resolvedLocale=function resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var FormattedSection=function FormattedSection(text,image,scale,fontStack,textColor){this.text=text;this.image=image;this.scale=scale;this.fontStack=fontStack;this.textColor=textColor};var Formatted=function Formatted(sections){this.sections=sections};Formatted.fromString=function fromString(unformatted){return new Formatted([new FormattedSection(unformatted,null,null,null,null)])};Formatted.prototype.isEmpty=function isEmpty(){if(this.sections.length===0){return true}return!this.sections.some((function(section){return section.text.length!==0||section.image&&section.image.name.length!==0}))};Formatted.factory=function factory(text){if(text instanceof Formatted){return text}else{return Formatted.fromString(text)}};Formatted.prototype.toString=function toString(){if(this.sections.length===0){return""}return this.sections.map((function(section){return section.text})).join("")};Formatted.prototype.serialize=function serialize(){var serialized=["format"];for(var i=0,list=this.sections;i<list.length;i+=1){var section=list[i];if(section.image){serialized.push(["image",section.image.name]);continue}serialized.push(section.text);var options={};if(section.fontStack){options["text-font"]=["literal",section.fontStack.split(",")]}if(section.scale){options["font-scale"]=section.scale}if(section.textColor){options["text-color"]=["rgba"].concat(section.textColor.toArray())}serialized.push(options)}return serialized};var ResolvedImage=function ResolvedImage(options){this.name=options.name;this.available=options.available};ResolvedImage.prototype.toString=function toString(){return this.name};ResolvedImage.fromString=function fromString(name){if(!name){return null}return new ResolvedImage({name:name,available:false})};ResolvedImage.prototype.serialize=function serialize(){return["image",this.name]};function validateRGBA(r,g,b,a){if(!(typeof r==="number"&&r>=0&&r<=255&&typeof g==="number"&&g>=0&&g<=255&&typeof b==="number"&&b>=0&&b<=255)){var value=typeof a==="number"?[r,g,b,a]:[r,g,b];return"Invalid rgba value ["+value.join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}if(!(typeof a==="undefined"||typeof a==="number"&&a>=0&&a<=1)){return"Invalid rgba value ["+[r,g,b,a].join(", ")+"]: 'a' must be between 0 and 1."}return null}function isValue(mixed){if(mixed===null){return true}else if(typeof mixed==="string"){return true}else if(typeof mixed==="boolean"){return true}else if(typeof mixed==="number"){return true}else if(mixed instanceof Color){return true}else if(mixed instanceof Collator){return true}else if(mixed instanceof Formatted){return true}else if(mixed instanceof ResolvedImage){return true}else if(Array.isArray(mixed)){for(var i=0,list=mixed;i<list.length;i+=1){var item=list[i];if(!isValue(item)){return false}}return true}else if(typeof mixed==="object"){for(var key in mixed){if(!isValue(mixed[key])){return false}}return true}else{return false}}function typeOf(value){if(value===null){return NullType}else if(typeof value==="string"){return StringType}else if(typeof value==="boolean"){return BooleanType}else if(typeof value==="number"){return NumberType}else if(value instanceof Color){return ColorType}else if(value instanceof Collator){return CollatorType}else if(value instanceof Formatted){return FormattedType}else if(value instanceof ResolvedImage){return ResolvedImageType}else if(Array.isArray(value)){var length=value.length;var itemType;for(var i=0,list=value;i<list.length;i+=1){var item=list[i];var t=typeOf(item);if(!itemType){itemType=t}else if(itemType===t){continue}else{itemType=ValueType;break}}return array(itemType||ValueType,length)}else{return ObjectType}}function toString$1(value){var type=typeof value;if(value===null){return""}else if(type==="string"||type==="number"||type==="boolean"){return String(value)}else if(value instanceof Color||value instanceof Formatted||value instanceof ResolvedImage){return value.toString()}else{return JSON.stringify(value)}}var Literal=function Literal(type,value){this.type=type;this.value=value};Literal.parse=function parse(args,context){if(args.length!==2){return context.error("'literal' expression requires exactly one argument, but found "+(args.length-1)+" instead.")}if(!isValue(args[1])){return context.error("invalid value")}var value=args[1];var type=typeOf(value);var expected=context.expectedType;if(type.kind==="array"&&type.N===0&&expected&&expected.kind==="array"&&(typeof expected.N!=="number"||expected.N===0)){type=expected}return new Literal(type,value)};Literal.prototype.evaluate=function evaluate(){return this.value};Literal.prototype.eachChild=function eachChild(){};Literal.prototype.outputDefined=function outputDefined(){return true};Literal.prototype.serialize=function serialize(){if(this.type.kind==="array"||this.type.kind==="object"){return["literal",this.value]}else if(this.value instanceof Color){return["rgba"].concat(this.value.toArray())}else if(this.value instanceof Formatted){return this.value.serialize()}else{return this.value}};var RuntimeError=function RuntimeError(message){this.name="ExpressionEvaluationError";this.message=message};RuntimeError.prototype.toJSON=function toJSON(){return this.message};var types={string:StringType,number:NumberType,boolean:BooleanType,object:ObjectType};var Assertion=function Assertion(type,args){this.type=type;this.args=args};Assertion.parse=function parse(args,context){if(args.length<2){return context.error("Expected at least one argument.")}var i=1;var type;var name=args[0];if(name==="array"){var itemType;if(args.length>2){var type$1=args[1];if(typeof type$1!=="string"||!(type$1 in types)||type$1==="object"){return context.error('The item type argument of "array" must be one of string, number, boolean',1)}itemType=types[type$1];i++}else{itemType=ValueType}var N;if(args.length>3){if(args[2]!==null&&(typeof args[2]!=="number"||args[2]<0||args[2]!==Math.floor(args[2]))){return context.error('The length argument to "array" must be a positive integer literal',2)}N=args[2];i++}type=array(itemType,N)}else{type=types[name]}var parsed=[];for(;i<args.length;i++){var input=context.parse(args[i],i,ValueType);if(!input){return null}parsed.push(input)}return new Assertion(type,parsed)};Assertion.prototype.evaluate=function evaluate(ctx){for(var i=0;i<this.args.length;i++){var value=this.args[i].evaluate(ctx);var error=checkSubtype(this.type,typeOf(value));if(!error){return value}else if(i===this.args.length-1){throw new RuntimeError("Expected value to be of type "+toString(this.type)+", but found "+toString(typeOf(value))+" instead.")}}return null};Assertion.prototype.eachChild=function eachChild(fn){this.args.forEach(fn)};Assertion.prototype.outputDefined=function outputDefined(){return this.args.every((function(arg){return arg.outputDefined()}))};Assertion.prototype.serialize=function serialize(){var type=this.type;var serialized=[type.kind];if(type.kind==="array"){var itemType=type.itemType;if(itemType.kind==="string"||itemType.kind==="number"||itemType.kind==="boolean"){serialized.push(itemType.kind);var N=type.N;if(typeof N==="number"||this.args.length>1){serialized.push(N)}}}return serialized.concat(this.args.map((function(arg){return arg.serialize()})))};var FormatExpression=function FormatExpression(sections){this.type=FormattedType;this.sections=sections};FormatExpression.parse=function parse(args,context){if(args.length<2){return context.error("Expected at least one argument.")}var firstArg=args[1];if(!Array.isArray(firstArg)&&typeof firstArg==="object"){return context.error("First argument must be an image or text section.")}var sections=[];var nextTokenMayBeObject=false;for(var i=1;i<=args.length-1;++i){var arg=args[i];if(nextTokenMayBeObject&&typeof arg==="object"&&!Array.isArray(arg)){nextTokenMayBeObject=false;var scale=null;if(arg["font-scale"]){scale=context.parse(arg["font-scale"],1,NumberType);if(!scale){return null}}var font=null;if(arg["text-font"]){font=context.parse(arg["text-font"],1,array(StringType));if(!font){return null}}var textColor=null;if(arg["text-color"]){textColor=context.parse(arg["text-color"],1,ColorType);if(!textColor){return null}}var lastExpression=sections[sections.length-1];lastExpression.scale=scale;lastExpression.font=font;lastExpression.textColor=textColor}else{var content=context.parse(args[i],1,ValueType);if(!content){return null}var kind=content.type.kind;if(kind!=="string"&&kind!=="value"&&kind!=="null"&&kind!=="resolvedImage"){return context.error("Formatted text type must be 'string', 'value', 'image' or 'null'.")}nextTokenMayBeObject=true;sections.push({content:content,scale:null,font:null,textColor:null})}}return new FormatExpression(sections)};FormatExpression.prototype.evaluate=function evaluate(ctx){var evaluateSection=function(section){var evaluatedContent=section.content.evaluate(ctx);if(typeOf(evaluatedContent)===ResolvedImageType){return new FormattedSection("",evaluatedContent,null,null,null)}return new FormattedSection(toString$1(evaluatedContent),null,section.scale?section.scale.evaluate(ctx):null,section.font?section.font.evaluate(ctx).join(","):null,section.textColor?section.textColor.evaluate(ctx):null)};return new Formatted(this.sections.map(evaluateSection))};FormatExpression.prototype.eachChild=function eachChild(fn){for(var i=0,list=this.sections;i<list.length;i+=1){var section=list[i];fn(section.content);if(section.scale){fn(section.scale)}if(section.font){fn(section.font)}if(section.textColor){fn(section.textColor)}}};FormatExpression.prototype.outputDefined=function outputDefined(){return false};FormatExpression.prototype.serialize=function serialize(){var serialized=["format"];for(var i=0,list=this.sections;i<list.length;i+=1){var section=list[i];serialized.push(section.content.serialize());var options={};if(section.scale){options["font-scale"]=section.scale.serialize()}if(section.font){options["text-font"]=section.font.serialize()}if(section.textColor){options["text-color"]=section.textColor.serialize()}serialized.push(options)}return serialized};var ImageExpression=function ImageExpression(input){this.type=ResolvedImageType;this.input=input};ImageExpression.parse=function parse(args,context){if(args.length!==2){return context.error("Expected two arguments.")}var name=context.parse(args[1],1,StringType);if(!name){return context.error("No image name provided.")}return new ImageExpression(name)};ImageExpression.prototype.evaluate=function evaluate(ctx){var evaluatedImageName=this.input.evaluate(ctx);var value=ResolvedImage.fromString(evaluatedImageName);if(value&&ctx.availableImages){value.available=ctx.availableImages.indexOf(evaluatedImageName)>-1}return value};ImageExpression.prototype.eachChild=function eachChild(fn){fn(this.input)};ImageExpression.prototype.outputDefined=function outputDefined(){return false};ImageExpression.prototype.serialize=function serialize(){return["image",this.input.serialize()]};var types$1={"to-boolean":BooleanType,"to-color":ColorType,"to-number":NumberType,"to-string":StringType};var Coercion=function Coercion(type,args){this.type=type;this.args=args};Coercion.parse=function parse(args,context){if(args.length<2){return context.error("Expected at least one argument.")}var name=args[0];if((name==="to-boolean"||name==="to-string")&&args.length!==2){return context.error("Expected one argument.")}var type=types$1[name];var parsed=[];for(var i=1;i<args.length;i++){var input=context.parse(args[i],i,ValueType);if(!input){return null}parsed.push(input)}return new Coercion(type,parsed)};Coercion.prototype.evaluate=function evaluate(ctx){if(this.type.kind==="boolean"){return Boolean(this.args[0].evaluate(ctx))}else if(this.type.kind==="color"){var input;var error;for(var i=0,list=this.args;i<list.length;i+=1){var arg=list[i];input=arg.evaluate(ctx);error=null;if(input instanceof Color){return input}else if(typeof input==="string"){var c=ctx.parseColor(input);if(c){return c}}else if(Array.isArray(input)){if(input.length<3||input.length>4){error="Invalid rbga value "+JSON.stringify(input)+": expected an array containing either three or four numeric values."}else{error=validateRGBA(input[0],input[1],input[2],input[3])}if(!error){return new Color(input[0]/255,input[1]/255,input[2]/255,input[3])}}}throw new RuntimeError(error||"Could not parse color from value '"+(typeof input==="string"?input:String(JSON.stringify(input)))+"'")}else if(this.type.kind==="number"){var value=null;for(var i$1=0,list$1=this.args;i$1<list$1.length;i$1+=1){var arg$1=list$1[i$1];value=arg$1.evaluate(ctx);if(value===null){return 0}var num=Number(value);if(isNaN(num)){continue}return num}throw new RuntimeError("Could not convert "+JSON.stringify(value)+" to number.")}else if(this.type.kind==="formatted"){return Formatted.fromString(toString$1(this.args[0].evaluate(ctx)))}else if(this.type.kind==="resolvedImage"){return ResolvedImage.fromString(toString$1(this.args[0].evaluate(ctx)))}else{return toString$1(this.args[0].evaluate(ctx))}};Coercion.prototype.eachChild=function eachChild(fn){this.args.forEach(fn)};Coercion.prototype.outputDefined=function outputDefined(){return this.args.every((function(arg){return arg.outputDefined()}))};Coercion.prototype.serialize=function serialize(){if(this.type.kind==="formatted"){return new FormatExpression([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize()}if(this.type.kind==="resolvedImage"){return new ImageExpression(this.args[0]).serialize()}var serialized=["to-"+this.type.kind];this.eachChild((function(child){serialized.push(child.serialize())}));return serialized};var geometryTypes=["Unknown","Point","LineString","Polygon"];var EvaluationContext=function EvaluationContext(){this.globals=null;this.feature=null;this.featureState=null;this.formattedSection=null;this._parseColorCache={};this.availableImages=null;this.canonical=null};EvaluationContext.prototype.id=function id(){return this.feature&&"id"in this.feature?this.feature.id:null};EvaluationContext.prototype.geometryType=function geometryType(){return this.feature?typeof this.feature.type==="number"?geometryTypes[this.feature.type]:this.feature.type:null};EvaluationContext.prototype.geometry=function geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null};EvaluationContext.prototype.canonicalID=function canonicalID(){return this.canonical};EvaluationContext.prototype.properties=function properties(){return this.feature&&this.feature.properties||{}};EvaluationContext.prototype.parseColor=function parseColor(input){var cached=this._parseColorCache[input];if(!cached){cached=this._parseColorCache[input]=Color.parse(input)}return cached};var CompoundExpression=function CompoundExpression(name,type,evaluate,args){this.name=name;this.type=type;this._evaluate=evaluate;this.args=args};CompoundExpression.prototype.evaluate=function evaluate(ctx){return this._evaluate(ctx,this.args)};CompoundExpression.prototype.eachChild=function eachChild(fn){this.args.forEach(fn)};CompoundExpression.prototype.outputDefined=function outputDefined(){return false};CompoundExpression.prototype.serialize=function serialize(){return[this.name].concat(this.args.map((function(arg){return arg.serialize()})))};CompoundExpression.parse=function parse(args,context){var ref$1;var op=args[0];var definition=CompoundExpression.definitions[op];if(!definition){return context.error('Unknown expression "'+op+'". If you wanted a literal array, use ["literal", [...]].',0)}var type=Array.isArray(definition)?definition[0]:definition.type;var availableOverloads=Array.isArray(definition)?[[definition[1],definition[2]]]:definition.overloads;var overloads=availableOverloads.filter((function(ref){var signature=ref[0];return!Array.isArray(signature)||signature.length===args.length-1}));var signatureContext=null;for(var i$3=0,list=overloads;i$3<list.length;i$3+=1){var ref=list[i$3];var params=ref[0];var evaluate=ref[1];signatureContext=new ParsingContext(context.registry,context.path,null,context.scope);var parsedArgs=[];var argParseFailed=false;for(var i=1;i<args.length;i++){var arg=args[i];var expectedType=Array.isArray(params)?params[i-1]:params.type;var parsed=signatureContext.parse(arg,1+parsedArgs.length,expectedType);if(!parsed){argParseFailed=true;break}parsedArgs.push(parsed)}if(argParseFailed){continue}if(Array.isArray(params)){if(params.length!==parsedArgs.length){signatureContext.error("Expected "+params.length+" arguments, but found "+parsedArgs.length+" instead.");continue}}for(var i$1=0;i$1<parsedArgs.length;i$1++){var expected=Array.isArray(params)?params[i$1]:params.type;var arg$1=parsedArgs[i$1];signatureContext.concat(i$1+1).checkSubtype(expected,arg$1.type)}if(signatureContext.errors.length===0){return new CompoundExpression(op,type,evaluate,parsedArgs)}}if(overloads.length===1){(ref$1=context.errors).push.apply(ref$1,signatureContext.errors)}else{var expected$1=overloads.length?overloads:availableOverloads;var signatures=expected$1.map((function(ref){var params=ref[0];return stringifySignature(params)})).join(" | ");var actualTypes=[];for(var i$2=1;i$2<args.length;i$2++){var parsed$1=context.parse(args[i$2],1+actualTypes.length);if(!parsed$1){return null}actualTypes.push(toString(parsed$1.type))}context.error("Expected arguments of type "+signatures+", but found ("+actualTypes.join(", ")+") instead.")}return null};CompoundExpression.register=function register(registry,definitions){CompoundExpression.definitions=definitions;for(var name in definitions){registry[name]=CompoundExpression}};function stringifySignature(signature){if(Array.isArray(signature)){return"("+signature.map(toString).join(", ")+")"}else{return"("+toString(signature.type)+"...)"}}var CollatorExpression=function CollatorExpression(caseSensitive,diacriticSensitive,locale){this.type=CollatorType;this.locale=locale;this.caseSensitive=caseSensitive;this.diacriticSensitive=diacriticSensitive};CollatorExpression.parse=function parse(args,context){if(args.length!==2){return context.error("Expected one argument.")}var options=args[1];if(typeof options!=="object"||Array.isArray(options)){return context.error("Collator options argument must be an object.")}var caseSensitive=context.parse(options["case-sensitive"]===undefined?false:options["case-sensitive"],1,BooleanType);if(!caseSensitive){return null}var diacriticSensitive=context.parse(options["diacritic-sensitive"]===undefined?false:options["diacritic-sensitive"],1,BooleanType);if(!diacriticSensitive){return null}var locale=null;if(options["locale"]){locale=context.parse(options["locale"],1,StringType);if(!locale){return null}}return new CollatorExpression(caseSensitive,diacriticSensitive,locale)};CollatorExpression.prototype.evaluate=function evaluate(ctx){return new Collator(this.caseSensitive.evaluate(ctx),this.diacriticSensitive.evaluate(ctx),this.locale?this.locale.evaluate(ctx):null)};CollatorExpression.prototype.eachChild=function eachChild(fn){fn(this.caseSensitive);fn(this.diacriticSensitive);if(this.locale){fn(this.locale)}};CollatorExpression.prototype.outputDefined=function outputDefined(){return false};CollatorExpression.prototype.serialize=function serialize(){var options={};options["case-sensitive"]=this.caseSensitive.serialize();options["diacritic-sensitive"]=this.diacriticSensitive.serialize();if(this.locale){options["locale"]=this.locale.serialize()}return["collator",options]};var EXTENT=8192;function updateBBox(bbox,coord){bbox[0]=Math.min(bbox[0],coord[0]);bbox[1]=Math.min(bbox[1],coord[1]);bbox[2]=Math.max(bbox[2],coord[0]);bbox[3]=Math.max(bbox[3],coord[1])}function mercatorXfromLng(lng){return(180+lng)/360}function mercatorYfromLat(lat){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+lat*Math.PI/360)))/360}function boxWithinBox(bbox1,bbox2){if(bbox1[0]<=bbox2[0]){return false}if(bbox1[2]>=bbox2[2]){return false}if(bbox1[1]<=bbox2[1]){return false}if(bbox1[3]>=bbox2[3]){return false}return true}function getTileCoordinates(p,canonical){var x=mercatorXfromLng(p[0]);var y=mercatorYfromLat(p[1]);var tilesAtZoom=Math.pow(2,canonical.z);return[Math.round(x*tilesAtZoom*EXTENT),Math.round(y*tilesAtZoom*EXTENT)]}function onBoundary(p,p1,p2){var x1=p[0]-p1[0];var y1=p[1]-p1[1];var x2=p[0]-p2[0];var y2=p[1]-p2[1];return x1*y2-x2*y1===0&&x1*x2<=0&&y1*y2<=0}function rayIntersect(p,p1,p2){return p1[1]>p[1]!==p2[1]>p[1]&&p[0]<(p2[0]-p1[0])*(p[1]-p1[1])/(p2[1]-p1[1])+p1[0]}function pointWithinPolygon(point,rings){var inside=false;for(var i=0,len=rings.length;i<len;i++){var ring=rings[i];for(var j=0,len2=ring.length;j<len2-1;j++){if(onBoundary(point,ring[j],ring[j+1])){return false}if(rayIntersect(point,ring[j],ring[j+1])){inside=!inside}}}return inside}function pointWithinPolygons(point,polygons){for(var i=0;i<polygons.length;i++){if(pointWithinPolygon(point,polygons[i])){return true}}return false}function perp(v1,v2){return v1[0]*v2[1]-v1[1]*v2[0]}function twoSided(p1,p2,q1,q2){var x1=p1[0]-q1[0];var y1=p1[1]-q1[1];var x2=p2[0]-q1[0];var y2=p2[1]-q1[1];var x3=q2[0]-q1[0];var y3=q2[1]-q1[1];var det1=x1*y3-x3*y1;var det2=x2*y3-x3*y2;if(det1>0&&det2<0||det1<0&&det2>0){return true}return false}function lineIntersectLine(a,b,c,d){var vectorP=[b[0]-a[0],b[1]-a[1]];var vectorQ=[d[0]-c[0],d[1]-c[1]];if(perp(vectorQ,vectorP)===0){return false}if(twoSided(a,b,c,d)&&twoSided(c,d,a,b)){return true}return false}function lineIntersectPolygon(p1,p2,polygon){for(var i=0,list=polygon;i<list.length;i+=1){var ring=list[i];for(var j=0;j<ring.length-1;++j){if(lineIntersectLine(p1,p2,ring[j],ring[j+1])){return true}}}return false}function lineStringWithinPolygon(line,polygon){for(var i=0;i<line.length;++i){if(!pointWithinPolygon(line[i],polygon)){return false}}for(var i$1=0;i$1<line.length-1;++i$1){if(lineIntersectPolygon(line[i$1],line[i$1+1],polygon)){return false}}return true}function lineStringWithinPolygons(line,polygons){for(var i=0;i<polygons.length;i++){if(lineStringWithinPolygon(line,polygons[i])){return true}}return false}function getTilePolygon(coordinates,bbox,canonical){var polygon=[];for(var i=0;i<coordinates.length;i++){var ring=[];for(var j=0;j<coordinates[i].length;j++){var coord=getTileCoordinates(coordinates[i][j],canonical);updateBBox(bbox,coord);ring.push(coord)}polygon.push(ring)}return polygon}function getTilePolygons(coordinates,bbox,canonical){var polygons=[];for(var i=0;i<coordinates.length;i++){var polygon=getTilePolygon(coordinates[i],bbox,canonical);polygons.push(polygon)}return polygons}function updatePoint(p,bbox,polyBBox,worldSize){if(p[0]<polyBBox[0]||p[0]>polyBBox[2]){var halfWorldSize=worldSize*.5;var shift=p[0]-polyBBox[0]>halfWorldSize?-worldSize:polyBBox[0]-p[0]>halfWorldSize?worldSize:0;if(shift===0){shift=p[0]-polyBBox[2]>halfWorldSize?-worldSize:polyBBox[2]-p[0]>halfWorldSize?worldSize:0}p[0]+=shift}updateBBox(bbox,p)}function resetBBox(bbox){bbox[0]=bbox[1]=Infinity;bbox[2]=bbox[3]=-Infinity}function getTilePoints(geometry,pointBBox,polyBBox,canonical){var worldSize=Math.pow(2,canonical.z)*EXTENT;var shifts=[canonical.x*EXTENT,canonical.y*EXTENT];var tilePoints=[];for(var i$1=0,list$1=geometry;i$1<list$1.length;i$1+=1){var points=list$1[i$1];for(var i=0,list=points;i<list.length;i+=1){var point=list[i];var p=[point.x+shifts[0],point.y+shifts[1]];updatePoint(p,pointBBox,polyBBox,worldSize);tilePoints.push(p)}}return tilePoints}function getTileLines(geometry,lineBBox,polyBBox,canonical){var worldSize=Math.pow(2,canonical.z)*EXTENT;var shifts=[canonical.x*EXTENT,canonical.y*EXTENT];var tileLines=[];for(var i$1=0,list$1=geometry;i$1<list$1.length;i$1+=1){var line=list$1[i$1];var tileLine=[];for(var i=0,list=line;i<list.length;i+=1){var point=list[i];var p=[point.x+shifts[0],point.y+shifts[1]];updateBBox(lineBBox,p);tileLine.push(p)}tileLines.push(tileLine)}if(lineBBox[2]-lineBBox[0]<=worldSize/2){resetBBox(lineBBox);for(var i$3=0,list$3=tileLines;i$3<list$3.length;i$3+=1){var line$1=list$3[i$3];for(var i$2=0,list$2=line$1;i$2<list$2.length;i$2+=1){var p$1=list$2[i$2];updatePoint(p$1,lineBBox,polyBBox,worldSize)}}}return tileLines}function pointsWithinPolygons(ctx,polygonGeometry){var pointBBox=[Infinity,Infinity,-Infinity,-Infinity];var polyBBox=[Infinity,Infinity,-Infinity,-Infinity];var canonical=ctx.canonicalID();if(polygonGeometry.type==="Polygon"){var tilePolygon=getTilePolygon(polygonGeometry.coordinates,polyBBox,canonical);var tilePoints=getTilePoints(ctx.geometry(),pointBBox,polyBBox,canonical);if(!boxWithinBox(pointBBox,polyBBox)){return false}for(var i=0,list=tilePoints;i<list.length;i+=1){var point=list[i];if(!pointWithinPolygon(point,tilePolygon)){return false}}}if(polygonGeometry.type==="MultiPolygon"){var tilePolygons=getTilePolygons(polygonGeometry.coordinates,polyBBox,canonical);var tilePoints$1=getTilePoints(ctx.geometry(),pointBBox,polyBBox,canonical);if(!boxWithinBox(pointBBox,polyBBox)){return false}for(var i$1=0,list$1=tilePoints$1;i$1<list$1.length;i$1+=1){var point$1=list$1[i$1];if(!pointWithinPolygons(point$1,tilePolygons)){return false}}}return true}function linesWithinPolygons(ctx,polygonGeometry){var lineBBox=[Infinity,Infinity,-Infinity,-Infinity];var polyBBox=[Infinity,Infinity,-Infinity,-Infinity];var canonical=ctx.canonicalID();if(polygonGeometry.type==="Polygon"){var tilePolygon=getTilePolygon(polygonGeometry.coordinates,polyBBox,canonical);var tileLines=getTileLines(ctx.geometry(),lineBBox,polyBBox,canonical);if(!boxWithinBox(lineBBox,polyBBox)){return false}for(var i=0,list=tileLines;i<list.length;i+=1){var line=list[i];if(!lineStringWithinPolygon(line,tilePolygon)){return false}}}if(polygonGeometry.type==="MultiPolygon"){var tilePolygons=getTilePolygons(polygonGeometry.coordinates,polyBBox,canonical);var tileLines$1=getTileLines(ctx.geometry(),lineBBox,polyBBox,canonical);if(!boxWithinBox(lineBBox,polyBBox)){return false}for(var i$1=0,list$1=tileLines$1;i$1<list$1.length;i$1+=1){var line$1=list$1[i$1];if(!lineStringWithinPolygons(line$1,tilePolygons)){return false}}}return true}var Within=function Within(geojson,geometries){this.type=BooleanType;this.geojson=geojson;this.geometries=geometries};Within.parse=function parse(args,context){if(args.length!==2){return context.error("'within' expression requires exactly one argument, but found "+(args.length-1)+" instead.")}if(isValue(args[1])){var geojson=args[1];if(geojson.type==="FeatureCollection"){for(var i=0;i<geojson.features.length;++i){var type=geojson.features[i].geometry.type;if(type==="Polygon"||type==="MultiPolygon"){return new Within(geojson,geojson.features[i].geometry)}}}else if(geojson.type==="Feature"){var type$1=geojson.geometry.type;if(type$1==="Polygon"||type$1==="MultiPolygon"){return new Within(geojson,geojson.geometry)}}else if(geojson.type==="Polygon"||geojson.type==="MultiPolygon"){return new Within(geojson,geojson)}}return context.error("'within' expression requires valid geojson object that contains polygon geometry type.")};Within.prototype.evaluate=function evaluate(ctx){if(ctx.geometry()!=null&&ctx.canonicalID()!=null){if(ctx.geometryType()==="Point"){return pointsWithinPolygons(ctx,this.geometries)}else if(ctx.geometryType()==="LineString"){return linesWithinPolygons(ctx,this.geometries)}}return false};Within.prototype.eachChild=function eachChild(){};Within.prototype.outputDefined=function outputDefined(){return true};Within.prototype.serialize=function serialize(){return["within",this.geojson]};function isFeatureConstant(e){if(e instanceof CompoundExpression){if(e.name==="get"&&e.args.length===1){return false}else if(e.name==="feature-state"){return false}else if(e.name==="has"&&e.args.length===1){return false}else if(e.name==="properties"||e.name==="geometry-type"||e.name==="id"){return false}else if(/^filter-/.test(e.name)){return false}}if(e instanceof Within){return false}var result=true;e.eachChild((function(arg){if(result&&!isFeatureConstant(arg)){result=false}}));return result}function isStateConstant(e){if(e instanceof CompoundExpression){if(e.name==="feature-state"){return false}}var result=true;e.eachChild((function(arg){if(result&&!isStateConstant(arg)){result=false}}));return result}function isGlobalPropertyConstant(e,properties){if(e instanceof CompoundExpression&&properties.indexOf(e.name)>=0){return false}var result=true;e.eachChild((function(arg){if(result&&!isGlobalPropertyConstant(arg,properties)){result=false}}));return result}var Var=function Var(name,boundExpression){this.type=boundExpression.type;this.name=name;this.boundExpression=boundExpression};Var.parse=function parse(args,context){if(args.length!==2||typeof args[1]!=="string"){return context.error("'var' expression requires exactly one string literal argument.")}var name=args[1];if(!context.scope.has(name)){return context.error('Unknown variable "'+name+'". Make sure "'+name+'" has been bound in an enclosing "let" expression before using it.',1)}return new Var(name,context.scope.get(name))};Var.prototype.evaluate=function evaluate(ctx){return this.boundExpression.evaluate(ctx)};Var.prototype.eachChild=function eachChild(){};Var.prototype.outputDefined=function outputDefined(){return false};Var.prototype.serialize=function serialize(){return["var",this.name]};var ParsingContext=function ParsingContext(registry,path,expectedType,scope,errors){if(path===void 0)path=[];if(scope===void 0)scope=new Scope;if(errors===void 0)errors=[];this.registry=registry;this.path=path;this.key=path.map((function(part){return"["+part+"]"})).join("");this.scope=scope;this.errors=errors;this.expectedType=expectedType};ParsingContext.prototype.parse=function parse(expr,index,expectedType,bindings,options){if(options===void 0)options={};if(index){return this.concat(index,expectedType,bindings)._parse(expr,options)}return this._parse(expr,options)};ParsingContext.prototype._parse=function _parse(expr,options){if(expr===null||typeof expr==="string"||typeof expr==="boolean"||typeof expr==="number"){expr=["literal",expr]}function annotate(parsed,type,typeAnnotation){if(typeAnnotation==="assert"){return new Assertion(type,[parsed])}else if(typeAnnotation==="coerce"){return new Coercion(type,[parsed])}else{return parsed}}if(Array.isArray(expr)){if(expr.length===0){return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].')}var op=expr[0];if(typeof op!=="string"){this.error("Expression name must be a string, but found "+typeof op+' instead. If you wanted a literal array, use ["literal", [...]].',0);return null}var Expr=this.registry[op];if(Expr){var parsed=Expr.parse(expr,this);if(!parsed){return null}if(this.expectedType){var expected=this.expectedType;var actual=parsed.type;if((expected.kind==="string"||expected.kind==="number"||expected.kind==="boolean"||expected.kind==="object"||expected.kind==="array")&&actual.kind==="value"){parsed=annotate(parsed,expected,options.typeAnnotation||"assert")}else if((expected.kind==="color"||expected.kind==="formatted"||expected.kind==="resolvedImage")&&(actual.kind==="value"||actual.kind==="string")){parsed=annotate(parsed,expected,options.typeAnnotation||"coerce")}else if(this.checkSubtype(expected,actual)){return null}}if(!(parsed instanceof Literal)&&parsed.type.kind!=="resolvedImage"&&isConstant(parsed)){var ec=new EvaluationContext;try{parsed=new Literal(parsed.type,parsed.evaluate(ec))}catch(e){this.error(e.message);return null}}return parsed}return this.error('Unknown expression "'+op+'". If you wanted a literal array, use ["literal", [...]].',0)}else if(typeof expr==="undefined"){return this.error("'undefined' value invalid. Use null instead.")}else if(typeof expr==="object"){return this.error('Bare objects invalid. Use ["literal", {...}] instead.')}else{return this.error("Expected an array, but found "+typeof expr+" instead.")}};ParsingContext.prototype.concat=function concat(index,expectedType,bindings){var path=typeof index==="number"?this.path.concat(index):this.path;var scope=bindings?this.scope.concat(bindings):this.scope;return new ParsingContext(this.registry,path,expectedType||null,scope,this.errors)};ParsingContext.prototype.error=function error(error$1){var keys=[],len=arguments.length-1;while(len-- >0)keys[len]=arguments[len+1];var key=""+this.key+keys.map((function(k){return"["+k+"]"})).join("");this.errors.push(new ParsingError(key,error$1))};ParsingContext.prototype.checkSubtype=function checkSubtype$1(expected,t){var error=checkSubtype(expected,t);if(error){this.error(error)}return error};function isConstant(expression){if(expression instanceof Var){return isConstant(expression.boundExpression)}else if(expression instanceof CompoundExpression&&expression.name==="error"){return false}else if(expression instanceof CollatorExpression){return false}else if(expression instanceof Within){return false}var isTypeAnnotation=expression instanceof Coercion||expression instanceof Assertion;var childrenConstant=true;expression.eachChild((function(child){if(isTypeAnnotation){childrenConstant=childrenConstant&&isConstant(child)}else{childrenConstant=childrenConstant&&child instanceof Literal}}));if(!childrenConstant){return false}return isFeatureConstant(expression)&&isGlobalPropertyConstant(expression,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function findStopLessThanOrEqualTo(stops,input){var lastIndex=stops.length-1;var lowerIndex=0;var upperIndex=lastIndex;var currentIndex=0;var currentValue,nextValue;while(lowerIndex<=upperIndex){currentIndex=Math.floor((lowerIndex+upperIndex)/2);currentValue=stops[currentIndex];nextValue=stops[currentIndex+1];if(currentValue<=input){if(currentIndex===lastIndex||input<nextValue){return currentIndex}lowerIndex=currentIndex+1}else if(currentValue>input){upperIndex=currentIndex-1}else{throw new RuntimeError("Input is not a number.")}}return 0}var Step=function Step(type,input,stops){this.type=type;this.input=input;this.labels=[];this.outputs=[];for(var i=0,list=stops;i<list.length;i+=1){var ref=list[i];var label=ref[0];var expression=ref[1];this.labels.push(label);this.outputs.push(expression)}};Step.parse=function parse(args,context){if(args.length-1<4){return context.error("Expected at least 4 arguments, but found only "+(args.length-1)+".")}if((args.length-1)%2!==0){return context.error("Expected an even number of arguments.")}var input=context.parse(args[1],1,NumberType);if(!input){return null}var stops=[];var outputType=null;if(context.expectedType&&context.expectedType.kind!=="value"){outputType=context.expectedType}for(var i=1;i<args.length;i+=2){var label=i===1?-Infinity:args[i];var value=args[i+1];var labelKey=i;var valueKey=i+1;if(typeof label!=="number"){return context.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',labelKey)}if(stops.length&&stops[stops.length-1][0]>=label){return context.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',labelKey)}var parsed=context.parse(value,valueKey,outputType);if(!parsed){return null}outputType=outputType||parsed.type;stops.push([label,parsed])}return new Step(outputType,input,stops)};Step.prototype.evaluate=function evaluate(ctx){var labels=this.labels;var outputs=this.outputs;if(labels.length===1){return outputs[0].evaluate(ctx)}var value=this.input.evaluate(ctx);if(value<=labels[0]){return outputs[0].evaluate(ctx)}var stopCount=labels.length;if(value>=labels[stopCount-1]){return outputs[stopCount-1].evaluate(ctx)}var index=findStopLessThanOrEqualTo(labels,value);return outputs[index].evaluate(ctx)};Step.prototype.eachChild=function eachChild(fn){fn(this.input);for(var i=0,list=this.outputs;i<list.length;i+=1){var expression=list[i];fn(expression)}};Step.prototype.outputDefined=function outputDefined(){return this.outputs.every((function(out){return out.outputDefined()}))};Step.prototype.serialize=function serialize(){var serialized=["step",this.input.serialize()];for(var i=0;i<this.labels.length;i++){if(i>0){serialized.push(this.labels[i])}serialized.push(this.outputs[i].serialize())}return serialized};function number(a,b,t){return a*(1-t)+b*t}function color(from,to,t){return new Color(number(from.r,to.r,t),number(from.g,to.g,t),number(from.b,to.b,t),number(from.a,to.a,t))}function array$1(from,to,t){return from.map((function(d,i){return number(d,to[i],t)}))}var interpolate=Object.freeze({__proto__:null,number:number,color:color,array:array$1});var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function xyz2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2xyz(x){x/=255;return x<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function rgbToLab(rgbColor){var b=rgb2xyz(rgbColor.r),a=rgb2xyz(rgbColor.g),l=rgb2xyz(rgbColor.b),x=xyz2lab((.4124564*b+.3575761*a+.1804375*l)/Xn),y=xyz2lab((.2126729*b+.7151522*a+.072175*l)/Yn),z=xyz2lab((.0193339*b+.119192*a+.9503041*l)/Zn);return{l:116*y-16,a:500*(x-y),b:200*(y-z),alpha:rgbColor.a}}function labToRgb(labColor){var y=(labColor.l+16)/116,x=isNaN(labColor.a)?y:y+labColor.a/500,z=isNaN(labColor.b)?y:y-labColor.b/200;y=Yn*lab2xyz(y);x=Xn*lab2xyz(x);z=Zn*lab2xyz(z);return new Color(xyz2rgb(3.2404542*x-1.5371385*y-.4985314*z),xyz2rgb(-.969266*x+1.8760108*y+.041556*z),xyz2rgb(.0556434*x-.2040259*y+1.0572252*z),labColor.alpha)}function interpolateLab(from,to,t){return{l:number(from.l,to.l,t),a:number(from.a,to.a,t),b:number(from.b,to.b,t),alpha:number(from.alpha,to.alpha,t)}}function rgbToHcl(rgbColor){var ref=rgbToLab(rgbColor);var l=ref.l;var a=ref.a;var b=ref.b;var h=Math.atan2(b,a)*rad2deg;return{h:h<0?h+360:h,c:Math.sqrt(a*a+b*b),l:l,alpha:rgbColor.a}}function hclToRgb(hclColor){var h=hclColor.h*deg2rad,c=hclColor.c,l=hclColor.l;return labToRgb({l:l,a:Math.cos(h)*c,b:Math.sin(h)*c,alpha:hclColor.alpha})}function interpolateHue(a,b,t){var d=b-a;return a+t*(d>180||d<-180?d-360*Math.round(d/360):d)}function interpolateHcl(from,to,t){return{h:interpolateHue(from.h,to.h,t),c:number(from.c,to.c,t),l:number(from.l,to.l,t),alpha:number(from.alpha,to.alpha,t)}}var lab={forward:rgbToLab,reverse:labToRgb,interpolate:interpolateLab};var hcl={forward:rgbToHcl,reverse:hclToRgb,interpolate:interpolateHcl};var colorSpaces=Object.freeze({__proto__:null,lab:lab,hcl:hcl});var Interpolate=function Interpolate(type,operator,interpolation,input,stops){this.type=type;this.operator=operator;this.interpolation=interpolation;this.input=input;this.labels=[];this.outputs=[];for(var i=0,list=stops;i<list.length;i+=1){var ref=list[i];var label=ref[0];var expression=ref[1];this.labels.push(label);this.outputs.push(expression)}};Interpolate.interpolationFactor=function interpolationFactor(interpolation,input,lower,upper){var t=0;if(interpolation.name==="exponential"){t=exponentialInterpolation(input,interpolation.base,lower,upper)}else if(interpolation.name==="linear"){t=exponentialInterpolation(input,1,lower,upper)}else if(interpolation.name==="cubic-bezier"){var c=interpolation.controlPoints;var ub=new unitbezier(c[0],c[1],c[2],c[3]);t=ub.solve(exponentialInterpolation(input,1,lower,upper))}return t};Interpolate.parse=function parse(args,context){var operator=args[0];var interpolation=args[1];var input=args[2];var rest=args.slice(3);if(!Array.isArray(interpolation)||interpolation.length===0){return context.error("Expected an interpolation type expression.",1)}if(interpolation[0]==="linear"){interpolation={name:"linear"}}else if(interpolation[0]==="exponential"){var base=interpolation[1];if(typeof base!=="number"){return context.error("Exponential interpolation requires a numeric base.",1,1)}interpolation={name:"exponential",base:base}}else if(interpolation[0]==="cubic-bezier"){var controlPoints=interpolation.slice(1);if(controlPoints.length!==4||controlPoints.some((function(t){return typeof t!=="number"||t<0||t>1}))){return context.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1)}interpolation={name:"cubic-bezier",controlPoints:controlPoints}}else{return context.error("Unknown interpolation type "+String(interpolation[0]),1,0)}if(args.length-1<4){return context.error("Expected at least 4 arguments, but found only "+(args.length-1)+".")}if((args.length-1)%2!==0){return context.error("Expected an even number of arguments.")}input=context.parse(input,2,NumberType);if(!input){return null}var stops=[];var outputType=null;if(operator==="interpolate-hcl"||operator==="interpolate-lab"){outputType=ColorType}else if(context.expectedType&&context.expectedType.kind!=="value"){outputType=context.expectedType}for(var i=0;i<rest.length;i+=2){var label=rest[i];var value=rest[i+1];var labelKey=i+3;var valueKey=i+4;if(typeof label!=="number"){return context.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',labelKey)}if(stops.length&&stops[stops.length-1][0]>=label){return context.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',labelKey)}var parsed=context.parse(value,valueKey,outputType);if(!parsed){return null}outputType=outputType||parsed.type;stops.push([label,parsed])}if(outputType.kind!=="number"&&outputType.kind!=="color"&&!(outputType.kind==="array"&&outputType.itemType.kind==="number"&&typeof outputType.N==="number")){return context.error("Type "+toString(outputType)+" is not interpolatable.")}return new Interpolate(outputType,operator,interpolation,input,stops)};Interpolate.prototype.evaluate=function evaluate(ctx){var labels=this.labels;var outputs=this.outputs;if(labels.length===1){return outputs[0].evaluate(ctx)}var value=this.input.evaluate(ctx);if(value<=labels[0]){return outputs[0].evaluate(ctx)}var stopCount=labels.length;if(value>=labels[stopCount-1]){return outputs[stopCount-1].evaluate(ctx)}var index=findStopLessThanOrEqualTo(labels,value);var lower=labels[index];var upper=labels[index+1];var t=Interpolate.interpolationFactor(this.interpolation,value,lower,upper);var outputLower=outputs[index].evaluate(ctx);var outputUpper=outputs[index+1].evaluate(ctx);if(this.operator==="interpolate"){return interpolate[this.type.kind.toLowerCase()](outputLower,outputUpper,t)}else if(this.operator==="interpolate-hcl"){return hcl.reverse(hcl.interpolate(hcl.forward(outputLower),hcl.forward(outputUpper),t))}else{return lab.reverse(lab.interpolate(lab.forward(outputLower),lab.forward(outputUpper),t))}};Interpolate.prototype.eachChild=function eachChild(fn){fn(this.input);for(var i=0,list=this.outputs;i<list.length;i+=1){var expression=list[i];fn(expression)}};Interpolate.prototype.outputDefined=function outputDefined(){return this.outputs.every((function(out){return out.outputDefined()}))};Interpolate.prototype.serialize=function serialize(){var interpolation;if(this.interpolation.name==="linear"){interpolation=["linear"]}else if(this.interpolation.name==="exponential"){if(this.interpolation.base===1){interpolation=["linear"]}else{interpolation=["exponential",this.interpolation.base]}}else{interpolation=["cubic-bezier"].concat(this.interpolation.controlPoints)}var serialized=[this.operator,interpolation,this.input.serialize()];for(var i=0;i<this.labels.length;i++){serialized.push(this.labels[i],this.outputs[i].serialize())}return serialized};function exponentialInterpolation(input,base,lowerValue,upperValue){var difference=upperValue-lowerValue;var progress=input-lowerValue;if(difference===0){return 0}else if(base===1){return progress/difference}else{return(Math.pow(base,progress)-1)/(Math.pow(base,difference)-1)}}var Coalesce=function Coalesce(type,args){this.type=type;this.args=args};Coalesce.parse=function parse(args,context){if(args.length<2){return context.error("Expectected at least one argument.")}var outputType=null;var expectedType=context.expectedType;if(expectedType&&expectedType.kind!=="value"){outputType=expectedType}var parsedArgs=[];for(var i=0,list=args.slice(1);i<list.length;i+=1){var arg=list[i];var parsed=context.parse(arg,1+parsedArgs.length,outputType,undefined,{typeAnnotation:"omit"});if(!parsed){return null}outputType=outputType||parsed.type;parsedArgs.push(parsed)}var needsAnnotation=expectedType&&parsedArgs.some((function(arg){return checkSubtype(expectedType,arg.type)}));return needsAnnotation?new Coalesce(ValueType,parsedArgs):new Coalesce(outputType,parsedArgs)};Coalesce.prototype.evaluate=function evaluate(ctx){var result=null;var argCount=0;var requestedImageName;for(var i=0,list=this.args;i<list.length;i+=1){var arg=list[i];argCount++;result=arg.evaluate(ctx);if(result&&result instanceof ResolvedImage&&!result.available){if(!requestedImageName){requestedImageName=result.name}result=null;if(argCount===this.args.length){result=requestedImageName}}if(result!==null){break}}return result};Coalesce.prototype.eachChild=function eachChild(fn){this.args.forEach(fn)};Coalesce.prototype.outputDefined=function outputDefined(){return this.args.every((function(arg){return arg.outputDefined()}))};Coalesce.prototype.serialize=function serialize(){var serialized=["coalesce"];this.eachChild((function(child){serialized.push(child.serialize())}));return serialized};var Let=function Let(bindings,result){this.type=result.type;this.bindings=[].concat(bindings);this.result=result};Let.prototype.evaluate=function evaluate(ctx){return this.result.evaluate(ctx)};Let.prototype.eachChild=function eachChild(fn){for(var i=0,list=this.bindings;i<list.length;i+=1){var binding=list[i];fn(binding[1])}fn(this.result)};Let.parse=function parse(args,context){if(args.length<4){return context.error("Expected at least 3 arguments, but found "+(args.length-1)+" instead.")}var bindings=[];for(var i=1;i<args.length-1;i+=2){var name=args[i];if(typeof name!=="string"){return context.error("Expected string, but found "+typeof name+" instead.",i)}if(/[^a-zA-Z0-9_]/.test(name)){return context.error("Variable names must contain only alphanumeric characters or '_'.",i)}var value=context.parse(args[i+1],i+1);if(!value){return null}bindings.push([name,value])}var result=context.parse(args[args.length-1],args.length-1,context.expectedType,bindings);if(!result){return null}return new Let(bindings,result)};Let.prototype.outputDefined=function outputDefined(){return this.result.outputDefined()};Let.prototype.serialize=function serialize(){var serialized=["let"];for(var i=0,list=this.bindings;i<list.length;i+=1){var ref=list[i];var name=ref[0];var expr=ref[1];serialized.push(name,expr.serialize())}serialized.push(this.result.serialize());return serialized};var At=function At(type,index,input){this.type=type;this.index=index;this.input=input};At.parse=function parse(args,context){if(args.length!==3){return context.error("Expected 2 arguments, but found "+(args.length-1)+" instead.")}var index=context.parse(args[1],1,NumberType);var input=context.parse(args[2],2,array(context.expectedType||ValueType));if(!index||!input){return null}var t=input.type;return new At(t.itemType,index,input)};At.prototype.evaluate=function evaluate(ctx){var index=this.index.evaluate(ctx);var array=this.input.evaluate(ctx);if(index<0){throw new RuntimeError("Array index out of bounds: "+index+" < 0.")}if(index>=array.length){throw new RuntimeError("Array index out of bounds: "+index+" > "+(array.length-1)+".")}if(index!==Math.floor(index)){throw new RuntimeError("Array index must be an integer, but found "+index+" instead.")}return array[index]};At.prototype.eachChild=function eachChild(fn){fn(this.index);fn(this.input)};At.prototype.outputDefined=function outputDefined(){return false};At.prototype.serialize=function serialize(){return["at",this.index.serialize(),this.input.serialize()]};var In=function In(needle,haystack){this.type=BooleanType;this.needle=needle;this.haystack=haystack};In.parse=function parse(args,context){if(args.length!==3){return context.error("Expected 2 arguments, but found "+(args.length-1)+" instead.")}var needle=context.parse(args[1],1,ValueType);var haystack=context.parse(args[2],2,ValueType);if(!needle||!haystack){return null}if(!isValidType(needle.type,[BooleanType,StringType,NumberType,NullType,ValueType])){return context.error("Expected first argument to be of type boolean, string, number or null, but found "+toString(needle.type)+" instead")}return new In(needle,haystack)};In.prototype.evaluate=function evaluate(ctx){var needle=this.needle.evaluate(ctx);var haystack=this.haystack.evaluate(ctx);if(!haystack){return false}if(!isValidNativeType(needle,["boolean","string","number","null"])){throw new RuntimeError("Expected first argument to be of type boolean, string, number or null, but found "+toString(typeOf(needle))+" instead.")}if(!isValidNativeType(haystack,["string","array"])){throw new RuntimeError("Expected second argument to be of type array or string, but found "+toString(typeOf(haystack))+" instead.")}return haystack.indexOf(needle)>=0};In.prototype.eachChild=function eachChild(fn){fn(this.needle);fn(this.haystack)};In.prototype.outputDefined=function outputDefined(){return true};In.prototype.serialize=function serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]};var IndexOf=function IndexOf(needle,haystack,fromIndex){this.type=NumberType;this.needle=needle;this.haystack=haystack;this.fromIndex=fromIndex};IndexOf.parse=function parse(args,context){if(args.length<=2||args.length>=5){return context.error("Expected 3 or 4 arguments, but found "+(args.length-1)+" instead.")}var needle=context.parse(args[1],1,ValueType);var haystack=context.parse(args[2],2,ValueType);if(!needle||!haystack){return null}if(!isValidType(needle.type,[BooleanType,StringType,NumberType,NullType,ValueType])){return context.error("Expected first argument to be of type boolean, string, number or null, but found "+toString(needle.type)+" instead")}if(args.length===4){var fromIndex=context.parse(args[3],3,NumberType);if(!fromIndex){return null}return new IndexOf(needle,haystack,fromIndex)}else{return new IndexOf(needle,haystack)}};IndexOf.prototype.evaluate=function evaluate(ctx){var needle=this.needle.evaluate(ctx);var haystack=this.haystack.evaluate(ctx);if(!isValidNativeType(needle,["boolean","string","number","null"])){throw new RuntimeError("Expected first argument to be of type boolean, string, number or null, but found "+toString(typeOf(needle))+" instead.")}if(!isValidNativeType(haystack,["string","array"])){throw new RuntimeError("Expected second argument to be of type array or string, but found "+toString(typeOf(haystack))+" instead.")}if(this.fromIndex){var fromIndex=this.fromIndex.evaluate(ctx);return haystack.indexOf(needle,fromIndex)}return haystack.indexOf(needle)};IndexOf.prototype.eachChild=function eachChild(fn){fn(this.needle);fn(this.haystack);if(this.fromIndex){fn(this.fromIndex)}};IndexOf.prototype.outputDefined=function outputDefined(){return false};IndexOf.prototype.serialize=function serialize(){if(this.fromIndex!=null&&this.fromIndex!==undefined){var fromIndex=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),fromIndex]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Match=function Match(inputType,outputType,input,cases,outputs,otherwise){this.inputType=inputType;this.type=outputType;this.input=input;this.cases=cases;this.outputs=outputs;this.otherwise=otherwise};Match.parse=function parse(args,context){if(args.length<5){return context.error("Expected at least 4 arguments, but found only "+(args.length-1)+".")}if(args.length%2!==1){return context.error("Expected an even number of arguments.")}var inputType;var outputType;if(context.expectedType&&context.expectedType.kind!=="value"){outputType=context.expectedType}var cases={};var outputs=[];for(var i=2;i<args.length-1;i+=2){var labels=args[i];var value=args[i+1];if(!Array.isArray(labels)){labels=[labels]}var labelContext=context.concat(i);if(labels.length===0){return labelContext.error("Expected at least one branch label.")}for(var i$1=0,list=labels;i$1<list.length;i$1+=1){var label=list[i$1];if(typeof label!=="number"&&typeof label!=="string"){return labelContext.error("Branch labels must be numbers or strings.")}else if(typeof label==="number"&&Math.abs(label)>Number.MAX_SAFE_INTEGER){return labelContext.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".")}else if(typeof label==="number"&&Math.floor(label)!==label){return labelContext.error("Numeric branch labels must be integer values.")}else if(!inputType){inputType=typeOf(label)}else if(labelContext.checkSubtype(inputType,typeOf(label))){return null}if(typeof cases[String(label)]!=="undefined"){return labelContext.error("Branch labels must be unique.")}cases[String(label)]=outputs.length}var result=context.parse(value,i,outputType);if(!result){return null}outputType=outputType||result.type;outputs.push(result)}var input=context.parse(args[1],1,ValueType);if(!input){return null}var otherwise=context.parse(args[args.length-1],args.length-1,outputType);if(!otherwise){return null}if(input.type.kind!=="value"&&context.concat(1).checkSubtype(inputType,input.type)){return null}return new Match(inputType,outputType,input,cases,outputs,otherwise)};Match.prototype.evaluate=function evaluate(ctx){var input=this.input.evaluate(ctx);var output=typeOf(input)===this.inputType&&this.outputs[this.cases[input]]||this.otherwise;return output.evaluate(ctx)};Match.prototype.eachChild=function eachChild(fn){fn(this.input);this.outputs.forEach(fn);fn(this.otherwise)};Match.prototype.outputDefined=function outputDefined(){return this.outputs.every((function(out){return out.outputDefined()}))&&this.otherwise.outputDefined()};Match.prototype.serialize=function serialize(){var this$1=this;var serialized=["match",this.input.serialize()];var sortedLabels=Object.keys(this.cases).sort();var groupedByOutput=[];var outputLookup={};for(var i=0,list=sortedLabels;i<list.length;i+=1){var label=list[i];var outputIndex=outputLookup[this.cases[label]];if(outputIndex===undefined){outputLookup[this.cases[label]]=groupedByOutput.length;groupedByOutput.push([this.cases[label],[label]])}else{groupedByOutput[outputIndex][1].push(label)}}var coerceLabel=function(label){return this$1.inputType.kind==="number"?Number(label):label};for(var i$1=0,list$1=groupedByOutput;i$1<list$1.length;i$1+=1){var ref=list$1[i$1];var outputIndex=ref[0];var labels=ref[1];if(labels.length===1){serialized.push(coerceLabel(labels[0]))}else{serialized.push(labels.map(coerceLabel))}serialized.push(this.outputs[outputIndex$1].serialize())}serialized.push(this.otherwise.serialize());return serialized};var Case=function Case(type,branches,otherwise){this.type=type;this.branches=branches;this.otherwise=otherwise};Case.parse=function parse(args,context){if(args.length<4){return context.error("Expected at least 3 arguments, but found only "+(args.length-1)+".")}if(args.length%2!==0){return context.error("Expected an odd number of arguments.")}var outputType;if(context.expectedType&&context.expectedType.kind!=="value"){outputType=context.expectedType}var branches=[];for(var i=1;i<args.length-1;i+=2){var test=context.parse(args[i],i,BooleanType);if(!test){return null}var result=context.parse(args[i+1],i+1,outputType);if(!result){return null}branches.push([test,result]);outputType=outputType||result.type}var otherwise=context.parse(args[args.length-1],args.length-1,outputType);if(!otherwise){return null}return new Case(outputType,branches,otherwise)};Case.prototype.evaluate=function evaluate(ctx){for(var i=0,list=this.branches;i<list.length;i+=1){var ref=list[i];var test=ref[0];var expression=ref[1];if(test.evaluate(ctx)){return expression.evaluate(ctx)}}return this.otherwise.evaluate(ctx)};Case.prototype.eachChild=function eachChild(fn){for(var i=0,list=this.branches;i<list.length;i+=1){var ref=list[i];var test=ref[0];var expression=ref[1];fn(test);fn(expression)}fn(this.otherwise)};Case.prototype.outputDefined=function outputDefined(){return this.branches.every((function(ref){var _=ref[0];var out=ref[1];return out.outputDefined()}))&&this.otherwise.outputDefined()};Case.prototype.serialize=function serialize(){var serialized=["case"];this.eachChild((function(child){serialized.push(child.serialize())}));return serialized};var Slice=function Slice(type,input,beginIndex,endIndex){this.type=type;this.input=input;this.beginIndex=beginIndex;this.endIndex=endIndex};Slice.parse=function parse(args,context){if(args.length<=2||args.length>=5){return context.error("Expected 3 or 4 arguments, but found "+(args.length-1)+" instead.")}var input=context.parse(args[1],1,ValueType);var beginIndex=context.parse(args[2],2,NumberType);if(!input||!beginIndex){return null}if(!isValidType(input.type,[array(ValueType),StringType,ValueType])){return context.error("Expected first argument to be of type array or string, but found "+toString(input.type)+" instead")}if(args.length===4){var endIndex=context.parse(args[3],3,NumberType);if(!endIndex){return null}return new Slice(input.type,input,beginIndex,endIndex)}else{return new Slice(input.type,input,beginIndex)}};Slice.prototype.evaluate=function evaluate(ctx){var input=this.input.evaluate(ctx);var beginIndex=this.beginIndex.evaluate(ctx);if(!isValidNativeType(input,["string","array"])){throw new RuntimeError("Expected first argument to be of type array or string, but found "+toString(typeOf(input))+" instead.")}if(this.endIndex){var endIndex=this.endIndex.evaluate(ctx);return input.slice(beginIndex,endIndex)}return input.slice(beginIndex)};Slice.prototype.eachChild=function eachChild(fn){fn(this.input);fn(this.beginIndex);if(this.endIndex){fn(this.endIndex)}};Slice.prototype.outputDefined=function outputDefined(){return false};Slice.prototype.serialize=function serialize(){if(this.endIndex!=null&&this.endIndex!==undefined){var endIndex=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),endIndex]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};function isComparableType(op,type){if(op==="=="||op==="!="){return type.kind==="boolean"||type.kind==="string"||type.kind==="number"||type.kind==="null"||type.kind==="value"}else{return type.kind==="string"||type.kind==="number"||type.kind==="value"}}function eq(ctx,a,b){return a===b}function neq(ctx,a,b){return a!==b}function lt(ctx,a,b){return a<b}function gt(ctx,a,b){return a>b}function lteq(ctx,a,b){return a<=b}function gteq(ctx,a,b){return a>=b}function eqCollate(ctx,a,b,c){return c.compare(a,b)===0}function neqCollate(ctx,a,b,c){return!eqCollate(ctx,a,b,c)}function ltCollate(ctx,a,b,c){return c.compare(a,b)<0}function gtCollate(ctx,a,b,c){return c.compare(a,b)>0}function lteqCollate(ctx,a,b,c){return c.compare(a,b)<=0}function gteqCollate(ctx,a,b,c){return c.compare(a,b)>=0}function makeComparison(op,compareBasic,compareWithCollator){var isOrderComparison=op!=="=="&&op!=="!=";return function(){function Comparison(lhs,rhs,collator){this.type=BooleanType;this.lhs=lhs;this.rhs=rhs;this.collator=collator;this.hasUntypedArgument=lhs.type.kind==="value"||rhs.type.kind==="value"}Comparison.parse=function parse(args,context){if(args.length!==3&&args.length!==4){return context.error("Expected two or three arguments.")}var op=args[0];var lhs=context.parse(args[1],1,ValueType);if(!lhs){return null}if(!isComparableType(op,lhs.type)){return context.concat(1).error('"'+op+"\" comparisons are not supported for type '"+toString(lhs.type)+"'.")}var rhs=context.parse(args[2],2,ValueType);if(!rhs){return null}if(!isComparableType(op,rhs.type)){return context.concat(2).error('"'+op+"\" comparisons are not supported for type '"+toString(rhs.type)+"'.")}if(lhs.type.kind!==rhs.type.kind&&lhs.type.kind!=="value"&&rhs.type.kind!=="value"){return context.error("Cannot compare types '"+toString(lhs.type)+"' and '"+toString(rhs.type)+"'.")}if(isOrderComparison){if(lhs.type.kind==="value"&&rhs.type.kind!=="value"){lhs=new Assertion(rhs.type,[lhs])}else if(lhs.type.kind!=="value"&&rhs.type.kind==="value"){rhs=new Assertion(lhs.type,[rhs])}}var collator=null;if(args.length===4){if(lhs.type.kind!=="string"&&rhs.type.kind!=="string"&&lhs.type.kind!=="value"&&rhs.type.kind!=="value"){return context.error("Cannot use collator to compare non-string types.")}collator=context.parse(args[3],3,CollatorType);if(!collator){return null}}return new Comparison(lhs,rhs,collator)};Comparison.prototype.evaluate=function evaluate(ctx){var lhs=this.lhs.evaluate(ctx);var rhs=this.rhs.evaluate(ctx);if(isOrderComparison&&this.hasUntypedArgument){var lt=typeOf(lhs);var rt=typeOf(rhs);if(lt.kind!==rt.kind||!(lt.kind==="string"||lt.kind==="number")){throw new RuntimeError('Expected arguments for "'+op+'" to be (string, string) or (number, number), but found ('+lt.kind+", "+rt.kind+") instead.")}}if(this.collator&&!isOrderComparison&&this.hasUntypedArgument){var lt$1=typeOf(lhs);var rt$1=typeOf(rhs);if(lt$1.kind!=="string"||rt$1.kind!=="string"){return compareBasic(ctx,lhs,rhs)}}return this.collator?compareWithCollator(ctx,lhs,rhs,this.collator.evaluate(ctx)):compareBasic(ctx,lhs,rhs)};Comparison.prototype.eachChild=function eachChild(fn){fn(this.lhs);fn(this.rhs);if(this.collator){fn(this.collator)}};Comparison.prototype.outputDefined=function outputDefined(){return true};Comparison.prototype.serialize=function serialize(){var serialized=[op];this.eachChild((function(child){serialized.push(child.serialize())}));return serialized};return Comparison}()}var Equals=makeComparison("==",eq,eqCollate);var NotEquals=makeComparison("!=",neq,neqCollate);var LessThan=makeComparison("<",lt,ltCollate);var GreaterThan=makeComparison(">",gt,gtCollate);var LessThanOrEqual=makeComparison("<=",lteq,lteqCollate);var GreaterThanOrEqual=makeComparison(">=",gteq,gteqCollate);var NumberFormat=function NumberFormat(number,locale,currency,minFractionDigits,maxFractionDigits){this.type=StringType;this.number=number;this.locale=locale;this.currency=currency;this.minFractionDigits=minFractionDigits;this.maxFractionDigits=maxFractionDigits};NumberFormat.parse=function parse(args,context){if(args.length!==3){return context.error("Expected two arguments.")}var number=context.parse(args[1],1,NumberType);if(!number){return null}var options=args[2];if(typeof options!=="object"||Array.isArray(options)){return context.error("NumberFormat options argument must be an object.")}var locale=null;if(options["locale"]){locale=context.parse(options["locale"],1,StringType);if(!locale){return null}}var currency=null;if(options["currency"]){currency=context.parse(options["currency"],1,StringType);if(!currency){return null}}var minFractionDigits=null;if(options["min-fraction-digits"]){minFractionDigits=context.parse(options["min-fraction-digits"],1,NumberType);if(!minFractionDigits){return null}}var maxFractionDigits=null;if(options["max-fraction-digits"]){maxFractionDigits=context.parse(options["max-fraction-digits"],1,NumberType);if(!maxFractionDigits){return null}}return new NumberFormat(number,locale,currency,minFractionDigits,maxFractionDigits)};NumberFormat.prototype.evaluate=function evaluate(ctx){return new Intl.NumberFormat(this.locale?this.locale.evaluate(ctx):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(ctx):undefined,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(ctx):undefined,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(ctx):undefined}).format(this.number.evaluate(ctx))};NumberFormat.prototype.eachChild=function eachChild(fn){fn(this.number);if(this.locale){fn(this.locale)}if(this.currency){fn(this.currency)}if(this.minFractionDigits){fn(this.minFractionDigits)}if(this.maxFractionDigits){fn(this.maxFractionDigits)}};NumberFormat.prototype.outputDefined=function outputDefined(){return false};NumberFormat.prototype.serialize=function serialize(){var options={};if(this.locale){options["locale"]=this.locale.serialize()}if(this.currency){options["currency"]=this.currency.serialize()}if(this.minFractionDigits){options["min-fraction-digits"]=this.minFractionDigits.serialize()}if(this.maxFractionDigits){options["max-fraction-digits"]=this.maxFractionDigits.serialize()}return["number-format",this.number.serialize(),options]};var Length=function Length(input){this.type=NumberType;this.input=input};Length.parse=function parse(args,context){if(args.length!==2){return context.error("Expected 1 argument, but found "+(args.length-1)+" instead.")}var input=context.parse(args[1],1);if(!input){return null}if(input.type.kind!=="array"&&input.type.kind!=="string"&&input.type.kind!=="value"){return context.error("Expected argument of type string or array, but found "+toString(input.type)+" instead.")}return new Length(input)};Length.prototype.evaluate=function evaluate(ctx){var input=this.input.evaluate(ctx);if(typeof input==="string"){return input.length}else if(Array.isArray(input)){return input.length}else{throw new RuntimeError("Expected value to be of type string or array, but found "+toString(typeOf(input))+" instead.")}};Length.prototype.eachChild=function eachChild(fn){fn(this.input)};Length.prototype.outputDefined=function outputDefined(){return false};Length.prototype.serialize=function serialize(){var serialized=["length"];this.eachChild((function(child){serialized.push(child.serialize())}));return serialized};var expressions={"==":Equals,"!=":NotEquals,">":GreaterThan,"<":LessThan,">=":GreaterThanOrEqual,"<=":LessThanOrEqual,array:Assertion,at:At,boolean:Assertion,case:Case,coalesce:Coalesce,collator:CollatorExpression,format:FormatExpression,image:ImageExpression,in:In,"index-of":IndexOf,interpolate:Interpolate,"interpolate-hcl":Interpolate,"interpolate-lab":Interpolate,length:Length,let:Let,literal:Literal,match:Match,number:Assertion,"number-format":NumberFormat,object:Assertion,slice:Slice,step:Step,string:Assertion,"to-boolean":Coercion,"to-color":Coercion,"to-number":Coercion,"to-string":Coercion,var:Var,within:Within};function rgba(ctx,ref){var r=ref[0];var g=ref[1];var b=ref[2];var a=ref[3];r=r.evaluate(ctx);g=g.evaluate(ctx);b=b.evaluate(ctx);var alpha=a?a.evaluate(ctx):1;var error=validateRGBA(r,g,b,alpha);if(error){throw new RuntimeError(error)}return new Color(r/255*alpha,g/255*alpha,b/255*alpha,alpha)}function has(key,obj){return key in obj}function get(key,obj){var v=obj[key];return typeof v==="undefined"?null:v}function binarySearch(v,a,i,j){while(i<=j){var m=i+j>>1;if(a[m]===v){return true}if(a[m]>v){j=m-1}else{i=m+1}}return false}function varargs(type){return{type:type}}CompoundExpression.register(expressions,{error:[ErrorType,[StringType],function(ctx,ref){var v=ref[0];throw new RuntimeError(v.evaluate(ctx))}],typeof:[StringType,[ValueType],function(ctx,ref){var v=ref[0];return toString(typeOf(v.evaluate(ctx)))}],"to-rgba":[array(NumberType,4),[ColorType],function(ctx,ref){var v=ref[0];return v.evaluate(ctx).toArray()}],rgb:[ColorType,[NumberType,NumberType,NumberType],rgba],rgba:[ColorType,[NumberType,NumberType,NumberType,NumberType],rgba],has:{type:BooleanType,overloads:[[[StringType],function(ctx,ref){var key=ref[0];return has(key.evaluate(ctx),ctx.properties())}],[[StringType,ObjectType],function(ctx,ref){var key=ref[0];var obj=ref[1];return has(key.evaluate(ctx),obj.evaluate(ctx))}]]},get:{type:ValueType,overloads:[[[StringType],function(ctx,ref){var key=ref[0];return get(key.evaluate(ctx),ctx.properties())}],[[StringType,ObjectType],function(ctx,ref){var key=ref[0];var obj=ref[1];return get(key.evaluate(ctx),obj.evaluate(ctx))}]]},"feature-state":[ValueType,[StringType],function(ctx,ref){var key=ref[0];return get(key.evaluate(ctx),ctx.featureState||{})}],properties:[ObjectType,[],function(ctx){return ctx.properties()}],"geometry-type":[StringType,[],function(ctx){return ctx.geometryType()}],id:[ValueType,[],function(ctx){return ctx.id()}],zoom:[NumberType,[],function(ctx){return ctx.globals.zoom}],"heatmap-density":[NumberType,[],function(ctx){return ctx.globals.heatmapDensity||0}],"line-progress":[NumberType,[],function(ctx){return ctx.globals.lineProgress||0}],accumulated:[ValueType,[],function(ctx){return ctx.globals.accumulated===undefined?null:ctx.globals.accumulated}],"+":[NumberType,varargs(NumberType),function(ctx,args){var result=0;for(var i=0,list=args;i<list.length;i+=1){var arg=list[i];result+=arg.evaluate(ctx)}return result}],"*":[NumberType,varargs(NumberType),function(ctx,args){var result=1;for(var i=0,list=args;i<list.length;i+=1){var arg=list[i];result*=arg.evaluate(ctx)}return result}],"-":{type:NumberType,overloads:[[[NumberType,NumberType],function(ctx,ref){var a=ref[0];var b=ref[1];return a.evaluate(ctx)-b.evaluate(ctx)}],[[NumberType],function(ctx,ref){var a=ref[0];return-a.evaluate(ctx)}]]},"/":[NumberType,[NumberType,NumberType],function(ctx,ref){var a=ref[0];var b=ref[1];return a.evaluate(ctx)/b.evaluate(ctx)}],"%":[NumberType,[NumberType,NumberType],function(ctx,ref){var a=ref[0];var b=ref[1];return a.evaluate(ctx)%b.evaluate(ctx)}],ln2:[NumberType,[],function(){return Math.LN2}],pi:[NumberType,[],function(){return Math.PI}],e:[NumberType,[],function(){return Math.E}],"^":[NumberType,[NumberType,NumberType],function(ctx,ref){var b=ref[0];var e=ref[1];return Math.pow(b.evaluate(ctx),e.evaluate(ctx))}],sqrt:[NumberType,[NumberType],function(ctx,ref){var x=ref[0];return Math.sqrt(x.evaluate(ctx))}],log10:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.log(n.evaluate(ctx))/Math.LN10}],ln:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.log(n.evaluate(ctx))}],log2:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.log(n.evaluate(ctx))/Math.LN2}],sin:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.sin(n.evaluate(ctx))}],cos:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.cos(n.evaluate(ctx))}],tan:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.tan(n.evaluate(ctx))}],asin:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.asin(n.evaluate(ctx))}],acos:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.acos(n.evaluate(ctx))}],atan:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.atan(n.evaluate(ctx))}],min:[NumberType,varargs(NumberType),function(ctx,args){return Math.min.apply(Math,args.map((function(arg){return arg.evaluate(ctx)})))}],max:[NumberType,varargs(NumberType),function(ctx,args){return Math.max.apply(Math,args.map((function(arg){return arg.evaluate(ctx)})))}],abs:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.abs(n.evaluate(ctx))}],round:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];var v=n.evaluate(ctx);return v<0?-Math.round(-v):Math.round(v)}],floor:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.floor(n.evaluate(ctx))}],ceil:[NumberType,[NumberType],function(ctx,ref){var n=ref[0];return Math.ceil(n.evaluate(ctx))}],"filter-==":[BooleanType,[StringType,ValueType],function(ctx,ref){var k=ref[0];var v=ref[1];return ctx.properties()[k.value]===v.value}],"filter-id-==":[BooleanType,[ValueType],function(ctx,ref){var v=ref[0];return ctx.id()===v.value}],"filter-type-==":[BooleanType,[StringType],function(ctx,ref){var v=ref[0];return ctx.geometryType()===v.value}],"filter-<":[BooleanType,[StringType,ValueType],function(ctx,ref){var k=ref[0];var v=ref[1];var a=ctx.properties()[k.value];var b=v.value;return typeof a===typeof b&&a<b}],"filter-id-<":[BooleanType,[ValueType],function(ctx,ref){var v=ref[0];var a=ctx.id();var b=v.value;return typeof a===typeof b&&a<b}],"filter->":[BooleanType,[StringType,ValueType],function(ctx,ref){var k=ref[0];var v=ref[1];var a=ctx.properties()[k.value];var b=v.value;return typeof a===typeof b&&a>b}],"filter-id->":[BooleanType,[ValueType],function(ctx,ref){var v=ref[0];var a=ctx.id();var b=v.value;return typeof a===typeof b&&a>b}],"filter-<=":[BooleanType,[StringType,ValueType],function(ctx,ref){var k=ref[0];var v=ref[1];var a=ctx.properties()[k.value];var b=v.value;return typeof a===typeof b&&a<=b}],"filter-id-<=":[BooleanType,[ValueType],function(ctx,ref){var v=ref[0];var a=ctx.id();var b=v.value;return typeof a===typeof b&&a<=b}],"filter->=":[BooleanType,[StringType,ValueType],function(ctx,ref){var k=ref[0];var v=ref[1];var a=ctx.properties()[k.value];var b=v.value;return typeof a===typeof b&&a>=b}],"filter-id->=":[BooleanType,[ValueType],function(ctx,ref){var v=ref[0];var a=ctx.id();var b=v.value;return typeof a===typeof b&&a>=b}],"filter-has":[BooleanType,[ValueType],function(ctx,ref){var k=ref[0];return k.value in ctx.properties()}],"filter-has-id":[BooleanType,[],function(ctx){return ctx.id()!==null&&ctx.id()!==undefined}],"filter-type-in":[BooleanType,[array(StringType)],function(ctx,ref){var v=ref[0];return v.value.indexOf(ctx.geometryType())>=0}],"filter-id-in":[BooleanType,[array(ValueType)],function(ctx,ref){var v=ref[0];return v.value.indexOf(ctx.id())>=0}],"filter-in-small":[BooleanType,[StringType,array(ValueType)],function(ctx,ref){var k=ref[0];var v=ref[1];return v.value.indexOf(ctx.properties()[k.value])>=0}],"filter-in-large":[BooleanType,[StringType,array(ValueType)],function(ctx,ref){var k=ref[0];var v=ref[1];return binarySearch(ctx.properties()[k.value],v.value,0,v.value.length-1)}],all:{type:BooleanType,overloads:[[[BooleanType,BooleanType],function(ctx,ref){var a=ref[0];var b=ref[1];return a.evaluate(ctx)&&b.evaluate(ctx)}],[varargs(BooleanType),function(ctx,args){for(var i=0,list=args;i<list.length;i+=1){var arg=list[i];if(!arg.evaluate(ctx)){return false}}return true}]]},any:{type:BooleanType,overloads:[[[BooleanType,BooleanType],function(ctx,ref){var a=ref[0];var b=ref[1];return a.evaluate(ctx)||b.evaluate(ctx)}],[varargs(BooleanType),function(ctx,args){for(var i=0,list=args;i<list.length;i+=1){var arg=list[i];if(arg.evaluate(ctx)){return true}}return false}]]},"!":[BooleanType,[BooleanType],function(ctx,ref){var b=ref[0];return!b.evaluate(ctx)}],"is-supported-script":[BooleanType,[StringType],function(ctx,ref){var s=ref[0];var isSupportedScript=ctx.globals&&ctx.globals.isSupportedScript;if(isSupportedScript){return isSupportedScript(s.evaluate(ctx))}return true}],upcase:[StringType,[StringType],function(ctx,ref){var s=ref[0];return s.evaluate(ctx).toUpperCase()}],downcase:[StringType,[StringType],function(ctx,ref){var s=ref[0];return s.evaluate(ctx).toLowerCase()}],concat:[StringType,varargs(ValueType),function(ctx,args){return args.map((function(arg){return toString$1(arg.evaluate(ctx))})).join("")}],"resolved-locale":[StringType,[CollatorType],function(ctx,ref){var collator=ref[0];return collator.evaluate(ctx).resolvedLocale()}]});function success(value){return{result:"success",value:value}}function error(value){return{result:"error",value:value}}function supportsPropertyExpression(spec){return spec["property-type"]==="data-driven"||spec["property-type"]==="cross-faded-data-driven"}function supportsZoomExpression(spec){return!!spec.expression&&spec.expression.parameters.indexOf("zoom")>-1}function supportsInterpolation(spec){return!!spec.expression&&spec.expression.interpolated}function getType(val){if(val instanceof Number){return"number"}else if(val instanceof String){return"string"}else if(val instanceof Boolean){return"boolean"}else if(Array.isArray(val)){return"array"}else if(val===null){return"null"}else{return typeof val}}function isFunction(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function identityFunction(x){return x}function createFunction(parameters,propertySpec){var isColor=propertySpec.type==="color";var zoomAndFeatureDependent=parameters.stops&&typeof parameters.stops[0][0]==="object";var featureDependent=zoomAndFeatureDependent||parameters.property!==undefined;var zoomDependent=zoomAndFeatureDependent||!featureDependent;var type=parameters.type||(supportsInterpolation(propertySpec)?"exponential":"interval");if(isColor){parameters=extend$1({},parameters);if(parameters.stops){parameters.stops=parameters.stops.map((function(stop){return[stop[0],Color.parse(stop[1])]}))}if(parameters.default){parameters.default=Color.parse(parameters.default)}else{parameters.default=Color.parse(propertySpec.default)}}if(parameters.colorSpace&&parameters.colorSpace!=="rgb"&&!colorSpaces[parameters.colorSpace]){throw new Error("Unknown color space: "+parameters.colorSpace)}var innerFun;var hashedStops;var categoricalKeyType;if(type==="exponential"){innerFun=evaluateExponentialFunction}else if(type==="interval"){innerFun=evaluateIntervalFunction}else if(type==="categorical"){innerFun=evaluateCategoricalFunction;hashedStops=Object.create(null);for(var i=0,list=parameters.stops;i<list.length;i+=1){var stop=list[i];hashedStops[stop[0]]=stop[1]}categoricalKeyType=typeof parameters.stops[0][0]}else if(type==="identity"){innerFun=evaluateIdentityFunction}else{throw new Error('Unknown function type "'+type+'"')}if(zoomAndFeatureDependent){var featureFunctions={};var zoomStops=[];for(var s=0;s<parameters.stops.length;s++){var stop$1=parameters.stops[s];var zoom=stop$1[0].zoom;if(featureFunctions[zoom]===undefined){featureFunctions[zoom]={zoom:zoom,type:parameters.type,property:parameters.property,default:parameters.default,stops:[]};zoomStops.push(zoom)}featureFunctions[zoom].stops.push([stop$1[0].value,stop$1[1]])}var featureFunctionStops=[];for(var i$1=0,list$1=zoomStops;i$1<list$1.length;i$1+=1){var z=list$1[i$1];featureFunctionStops.push([featureFunctions[z].zoom,createFunction(featureFunctions[z],propertySpec)])}var interpolationType={name:"linear"};return{kind:"composite",interpolationType:interpolationType,interpolationFactor:Interpolate.interpolationFactor.bind(undefined,interpolationType),zoomStops:featureFunctionStops.map((function(s){return s[0]})),evaluate:function evaluate(ref,properties){var zoom=ref.zoom;return evaluateExponentialFunction({stops:featureFunctionStops,base:parameters.base},propertySpec,zoom).evaluate(zoom,properties)}}}else if(zoomDependent){var interpolationType$1=type==="exponential"?{name:"exponential",base:parameters.base!==undefined?parameters.base:1}:null;return{kind:"camera",interpolationType:interpolationType$1,interpolationFactor:Interpolate.interpolationFactor.bind(undefined,interpolationType$1),zoomStops:parameters.stops.map((function(s){return s[0]})),evaluate:function(ref){var zoom=ref.zoom;return innerFun(parameters,propertySpec,zoom,hashedStops,categoricalKeyType)}}}else{return{kind:"source",evaluate:function evaluate(_,feature){var value=feature&&feature.properties?feature.properties[parameters.property]:undefined;if(value===undefined){return coalesce(parameters.default,propertySpec.default)}return innerFun(parameters,propertySpec,value,hashedStops,categoricalKeyType)}}}}function coalesce(a,b,c){if(a!==undefined){return a}if(b!==undefined){return b}if(c!==undefined){return c}}function evaluateCategoricalFunction(parameters,propertySpec,input,hashedStops,keyType){var evaluated=typeof input===keyType?hashedStops[input]:undefined;return coalesce(evaluated,parameters.default,propertySpec.default)}function evaluateIntervalFunction(parameters,propertySpec,input){if(getType(input)!=="number"){return coalesce(parameters.default,propertySpec.default)}var n=parameters.stops.length;if(n===1){return parameters.stops[0][1]}if(input<=parameters.stops[0][0]){return parameters.stops[0][1]}if(input>=parameters.stops[n-1][0]){return parameters.stops[n-1][1]}var index=findStopLessThanOrEqualTo(parameters.stops.map((function(stop){return stop[0]})),input);return parameters.stops[index][1]}function evaluateExponentialFunction(parameters,propertySpec,input){var base=parameters.base!==undefined?parameters.base:1;if(getType(input)!=="number"){return coalesce(parameters.default,propertySpec.default)}var n=parameters.stops.length;if(n===1){return parameters.stops[0][1]}if(input<=parameters.stops[0][0]){return parameters.stops[0][1]}if(input>=parameters.stops[n-1][0]){return parameters.stops[n-1][1]}var index=findStopLessThanOrEqualTo(parameters.stops.map((function(stop){return stop[0]})),input);var t=interpolationFactor(input,base,parameters.stops[index][0],parameters.stops[index+1][0]);var outputLower=parameters.stops[index][1];var outputUpper=parameters.stops[index+1][1];var interp=interpolate[propertySpec.type]||identityFunction;if(parameters.colorSpace&&parameters.colorSpace!=="rgb"){var colorspace=colorSpaces[parameters.colorSpace];interp=function(a,b){return colorspace.reverse(colorspace.interpolate(colorspace.forward(a),colorspace.forward(b),t))}}if(typeof outputLower.evaluate==="function"){return{evaluate:function evaluate(){var args=[],len=arguments.length;while(len--)args[len]=arguments[len];var evaluatedLower=outputLower.evaluate.apply(undefined,args);var evaluatedUpper=outputUpper.evaluate.apply(undefined,args);if(evaluatedLower===undefined||evaluatedUpper===undefined){return undefined}return interp(evaluatedLower,evaluatedUpper,t)}}}return interp(outputLower,outputUpper,t)}function evaluateIdentityFunction(parameters,propertySpec,input){if(propertySpec.type==="color"){input=Color.parse(input)}else if(propertySpec.type==="formatted"){input=Formatted.fromString(input.toString())}else if(propertySpec.type==="resolvedImage"){input=ResolvedImage.fromString(input.toString())}else if(getType(input)!==propertySpec.type&&(propertySpec.type!=="enum"||!propertySpec.values[input])){input=undefined}return coalesce(input,parameters.default,propertySpec.default)}function interpolationFactor(input,base,lowerValue,upperValue){var difference=upperValue-lowerValue;var progress=input-lowerValue;if(difference===0){return 0}else if(base===1){return progress/difference}else{return(Math.pow(base,progress)-1)/(Math.pow(base,difference)-1)}}var StyleExpression=function StyleExpression(expression,propertySpec){this.expression=expression;this._warningHistory={};this._evaluator=new EvaluationContext;this._defaultValue=propertySpec?getDefaultValue(propertySpec):null;this._enumValues=propertySpec&&propertySpec.type==="enum"?propertySpec.values:null};StyleExpression.prototype.evaluateWithoutErrorHandling=function evaluateWithoutErrorHandling(globals,feature,featureState,canonical,availableImages,formattedSection){this._evaluator.globals=globals;this._evaluator.feature=feature;this._evaluator.featureState=featureState;this._evaluator.canonical=canonical;this._evaluator.availableImages=availableImages||null;this._evaluator.formattedSection=formattedSection;return this.expression.evaluate(this._evaluator)};StyleExpression.prototype.evaluate=function evaluate(globals,feature,featureState,canonical,availableImages,formattedSection){this._evaluator.globals=globals;this._evaluator.feature=feature||null;this._evaluator.featureState=featureState||null;this._evaluator.canonical=canonical;this._evaluator.availableImages=availableImages||null;this._evaluator.formattedSection=formattedSection||null;try{var val=this.expression.evaluate(this._evaluator);if(val===null||val===undefined||typeof val==="number"&&val!==val){return this._defaultValue}if(this._enumValues&&!(val in this._enumValues)){throw new RuntimeError("Expected value to be one of "+Object.keys(this._enumValues).map((function(v){return JSON.stringify(v)})).join(", ")+", but found "+JSON.stringify(val)+" instead.")}return val}catch(e){if(!this._warningHistory[e.message]){this._warningHistory[e.message]=true;if(typeof console!=="undefined"){console.warn(e.message)}}return this._defaultValue}};function isExpression(expression){return Array.isArray(expression)&&expression.length>0&&typeof expression[0]==="string"&&expression[0]in expressions}function createExpression(expression,propertySpec){var parser=new ParsingContext(expressions,[],propertySpec?getExpectedType(propertySpec):undefined);var parsed=parser.parse(expression,undefined,undefined,undefined,propertySpec&&propertySpec.type==="string"?{typeAnnotation:"coerce"}:undefined);if(!parsed){return error(parser.errors)}return success(new StyleExpression(parsed,propertySpec))}var ZoomConstantExpression=function ZoomConstantExpression(kind,expression){this.kind=kind;this._styleExpression=expression;this.isStateDependent=kind!=="constant"&&!isStateConstant(expression.expression)};ZoomConstantExpression.prototype.evaluateWithoutErrorHandling=function evaluateWithoutErrorHandling(globals,feature,featureState,canonical,availableImages,formattedSection){return this._styleExpression.evaluateWithoutErrorHandling(globals,feature,featureState,canonical,availableImages,formattedSection)};ZoomConstantExpression.prototype.evaluate=function evaluate(globals,feature,featureState,canonical,availableImages,formattedSection){return this._styleExpression.evaluate(globals,feature,featureState,canonical,availableImages,formattedSection)};var ZoomDependentExpression=function ZoomDependentExpression(kind,expression,zoomStops,interpolationType){this.kind=kind;this.zoomStops=zoomStops;this._styleExpression=expression;this.isStateDependent=kind!=="camera"&&!isStateConstant(expression.expression);this.interpolationType=interpolationType};ZoomDependentExpression.prototype.evaluateWithoutErrorHandling=function evaluateWithoutErrorHandling(globals,feature,featureState,canonical,availableImages,formattedSection){return this._styleExpression.evaluateWithoutErrorHandling(globals,feature,featureState,canonical,availableImages,formattedSection)};ZoomDependentExpression.prototype.evaluate=function evaluate(globals,feature,featureState,canonical,availableImages,formattedSection){return this._styleExpression.evaluate(globals,feature,featureState,canonical,availableImages,formattedSection)};ZoomDependentExpression.prototype.interpolationFactor=function interpolationFactor(input,lower,upper){if(this.interpolationType){return Interpolate.interpolationFactor(this.interpolationType,input,lower,upper)}else{return 0}};function createPropertyExpression(expression,propertySpec){expression=createExpression(expression,propertySpec);if(expression.result==="error"){return expression}var parsed=expression.value.expression;var isFeatureConstant$1=isFeatureConstant(parsed);if(!isFeatureConstant$1&&!supportsPropertyExpression(propertySpec)){return error([new ParsingError("","data expressions not supported")])}var isZoomConstant=isGlobalPropertyConstant(parsed,["zoom"]);if(!isZoomConstant&&!supportsZoomExpression(propertySpec)){return error([new ParsingError("","zoom expressions not supported")])}var zoomCurve=findZoomCurve(parsed);if(!zoomCurve&&!isZoomConstant){return error([new ParsingError("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}else if(zoomCurve instanceof ParsingError){return error([zoomCurve])}else if(zoomCurve instanceof Interpolate&&!supportsInterpolation(propertySpec)){return error([new ParsingError("",'"interpolate" expressions cannot be used with this property')])}if(!zoomCurve){return success(isFeatureConstant$1?new ZoomConstantExpression("constant",expression.value):new ZoomConstantExpression("source",expression.value))}var interpolationType=zoomCurve instanceof Interpolate?zoomCurve.interpolation:undefined;return success(isFeatureConstant$1?new ZoomDependentExpression("camera",expression.value,zoomCurve.labels,interpolationType):new ZoomDependentExpression("composite",expression.value,zoomCurve.labels,interpolationType))}var StylePropertyFunction=function StylePropertyFunction(parameters,specification){this._parameters=parameters;this._specification=specification;extend$1(this,createFunction(this._parameters,this._specification))};StylePropertyFunction.deserialize=function deserialize(serialized){return new StylePropertyFunction(serialized._parameters,serialized._specification)};StylePropertyFunction.serialize=function serialize(input){return{_parameters:input._parameters,_specification:input._specification}};function normalizePropertyExpression(value,specification){if(isFunction(value)){return new StylePropertyFunction(value,specification)}else if(isExpression(value)){var expression=createPropertyExpression(value,specification);if(expression.result==="error"){throw new Error(expression.value.map((function(err){return err.key+": "+err.message})).join(", "))}return expression.value}else{var constant=value;if(typeof value==="string"&&specification.type==="color"){constant=Color.parse(value)}return{kind:"constant",evaluate:function(){return constant}}}}function findZoomCurve(expression){var result=null;if(expression instanceof Let){result=findZoomCurve(expression.result)}else if(expression instanceof Coalesce){for(var i=0,list=expression.args;i<list.length;i+=1){var arg=list[i];result=findZoomCurve(arg);if(result){break}}}else if((expression instanceof Step||expression instanceof Interpolate)&&expression.input instanceof CompoundExpression&&expression.input.name==="zoom"){result=expression}if(result instanceof ParsingError){return result}expression.eachChild((function(child){var childResult=findZoomCurve(child);if(childResult instanceof ParsingError){result=childResult}else if(!result&&childResult){result=new ParsingError("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')}else if(result&&childResult&&result!==childResult){result=new ParsingError("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.')}}));return result}function getExpectedType(spec){var types={color:ColorType,string:StringType,number:NumberType,enum:StringType,boolean:BooleanType,formatted:FormattedType,resolvedImage:ResolvedImageType};if(spec.type==="array"){return array(types[spec.value]||ValueType,spec.length)}return types[spec.type]}function getDefaultValue(spec){if(spec.type==="color"&&isFunction(spec.default)){return new Color(0,0,0,0)}else if(spec.type==="color"){return Color.parse(spec.default)||null}else if(spec.default===undefined){return null}else{return spec.default}}function validateObject(options){var key=options.key;var object=options.value;var elementSpecs=options.valueSpec||{};var elementValidators=options.objectElementValidators||{};var style=options.style;var styleSpec=options.styleSpec;var errors=[];var type=getType(object);if(type!=="object"){return[new ValidationError(key,object,"object expected, "+type+" found")]}for(var objectKey in object){var elementSpecKey=objectKey.split(".")[0];var elementSpec=elementSpecs[elementSpecKey]||elementSpecs["*"];var validateElement=void 0;if(elementValidators[elementSpecKey]){validateElement=elementValidators[elementSpecKey]}else if(elementSpecs[elementSpecKey]){validateElement=validate}else if(elementValidators["*"]){validateElement=elementValidators["*"]}else if(elementSpecs["*"]){validateElement=validate}else{errors.push(new ValidationError(key,object[objectKey],'unknown property "'+objectKey+'"'));continue}errors=errors.concat(validateElement({key:(key?key+".":key)+objectKey,value:object[objectKey],valueSpec:elementSpec,style:style,styleSpec:styleSpec,object:object,objectKey:objectKey},object))}for(var elementSpecKey$1 in elementSpecs){if(elementValidators[elementSpecKey$1]){continue}if(elementSpecs[elementSpecKey$1].required&&elementSpecs[elementSpecKey$1]["default"]===undefined&&object[elementSpecKey$1]===undefined){errors.push(new ValidationError(key,object,'missing required property "'+elementSpecKey$1+'"'))}}return errors}function validateArray(options){var array=options.value;var arraySpec=options.valueSpec;var style=options.style;var styleSpec=options.styleSpec;var key=options.key;var validateArrayElement=options.arrayElementValidator||validate;if(getType(array)!=="array"){return[new ValidationError(key,array,"array expected, "+getType(array)+" found")]}if(arraySpec.length&&array.length!==arraySpec.length){return[new ValidationError(key,array,"array length "+arraySpec.length+" expected, length "+array.length+" found")]}if(arraySpec["min-length"]&&array.length<arraySpec["min-length"]){return[new ValidationError(key,array,"array length at least "+arraySpec["min-length"]+" expected, length "+array.length+" found")]}var arrayElementSpec={type:arraySpec.value,values:arraySpec.values};if(styleSpec.$version<7){arrayElementSpec.function=arraySpec.function}if(getType(arraySpec.value)==="object"){arrayElementSpec=arraySpec.value}var errors=[];for(var i=0;i<array.length;i++){errors=errors.concat(validateArrayElement({array:array,arrayIndex:i,value:array[i],valueSpec:arrayElementSpec,style:style,styleSpec:styleSpec,key:key+"["+i+"]"}))}return errors}function validateNumber(options){var key=options.key;var value=options.value;var valueSpec=options.valueSpec;var type=getType(value);if(type==="number"&&value!==value){type="NaN"}if(type!=="number"){return[new ValidationError(key,value,"number expected, "+type+" found")]}if("minimum"in valueSpec&&value<valueSpec.minimum){return[new ValidationError(key,value,value+" is less than the minimum value "+valueSpec.minimum)]}if("maximum"in valueSpec&&value>valueSpec.maximum){return[new ValidationError(key,value,value+" is greater than the maximum value "+valueSpec.maximum)]}return[]}function validateFunction(options){var functionValueSpec=options.valueSpec;var functionType=unbundle(options.value.type);var stopKeyType;var stopDomainValues={};var previousStopDomainValue;var previousStopDomainZoom;var isZoomFunction=functionType!=="categorical"&&options.value.property===undefined;var isPropertyFunction=!isZoomFunction;var isZoomAndPropertyFunction=getType(options.value.stops)==="array"&&getType(options.value.stops[0])==="array"&&getType(options.value.stops[0][0])==="object";var errors=validateObject({key:options.key,value:options.value,valueSpec:options.styleSpec.function,style:options.style,styleSpec:options.styleSpec,objectElementValidators:{stops:validateFunctionStops,default:validateFunctionDefault}});if(functionType==="identity"&&isZoomFunction){errors.push(new ValidationError(options.key,options.value,'missing required property "property"'))}if(functionType!=="identity"&&!options.value.stops){errors.push(new ValidationError(options.key,options.value,'missing required property "stops"'))}if(functionType==="exponential"&&options.valueSpec.expression&&!supportsInterpolation(options.valueSpec)){errors.push(new ValidationError(options.key,options.value,"exponential functions not supported"))}if(options.styleSpec.$version>=8){if(isPropertyFunction&&!supportsPropertyExpression(options.valueSpec)){errors.push(new ValidationError(options.key,options.value,"property functions not supported"))}else if(isZoomFunction&&!supportsZoomExpression(options.valueSpec)){errors.push(new ValidationError(options.key,options.value,"zoom functions not supported"))}}if((functionType==="categorical"||isZoomAndPropertyFunction)&&options.value.property===undefined){errors.push(new ValidationError(options.key,options.value,'"property" property is required'))}return errors;function validateFunctionStops(options){if(functionType==="identity"){return[new ValidationError(options.key,options.value,'identity function may not have a "stops" property')]}var errors=[];var value=options.value;errors=errors.concat(validateArray({key:options.key,value:value,valueSpec:options.valueSpec,style:options.style,styleSpec:options.styleSpec,arrayElementValidator:validateFunctionStop}));if(getType(value)==="array"&&value.length===0){errors.push(new ValidationError(options.key,value,"array must have at least one stop"))}return errors}function validateFunctionStop(options){var errors=[];var value=options.value;var key=options.key;if(getType(value)!=="array"){return[new ValidationError(key,value,"array expected, "+getType(value)+" found")]}if(value.length!==2){return[new ValidationError(key,value,"array length 2 expected, length "+value.length+" found")]}if(isZoomAndPropertyFunction){if(getType(value[0])!=="object"){return[new ValidationError(key,value,"object expected, "+getType(value[0])+" found")]}if(value[0].zoom===undefined){return[new ValidationError(key,value,"object stop key must have zoom")]}if(value[0].value===undefined){return[new ValidationError(key,value,"object stop key must have value")]}if(previousStopDomainZoom&&previousStopDomainZoom>unbundle(value[0].zoom)){return[new ValidationError(key,value[0].zoom,"stop zoom values must appear in ascending order")]}if(unbundle(value[0].zoom)!==previousStopDomainZoom){previousStopDomainZoom=unbundle(value[0].zoom);previousStopDomainValue=undefined;stopDomainValues={}}errors=errors.concat(validateObject({key:key+"[0]",value:value[0],valueSpec:{zoom:{}},style:options.style,styleSpec:options.styleSpec,objectElementValidators:{zoom:validateNumber,value:validateStopDomainValue}}))}else{errors=errors.concat(validateStopDomainValue({key:key+"[0]",value:value[0],valueSpec:{},style:options.style,styleSpec:options.styleSpec},value))}if(isExpression(deepUnbundle(value[1]))){return errors.concat([new ValidationError(key+"[1]",value[1],"expressions are not allowed in function stops.")])}return errors.concat(validate({key:key+"[1]",value:value[1],valueSpec:functionValueSpec,style:options.style,styleSpec:options.styleSpec}))}function validateStopDomainValue(options,stop){var type=getType(options.value);var value=unbundle(options.value);var reportValue=options.value!==null?options.value:stop;if(!stopKeyType){stopKeyType=type}else if(type!==stopKeyType){return[new ValidationError(options.key,reportValue,type+" stop domain type must match previous stop domain type "+stopKeyType)]}if(type!=="number"&&type!=="string"&&type!=="boolean"){return[new ValidationError(options.key,reportValue,"stop domain value must be a number, string, or boolean")]}if(type!=="number"&&functionType!=="categorical"){var message="number expected, "+type+" found";if(supportsPropertyExpression(functionValueSpec)&&functionType===undefined){message+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'}return[new ValidationError(options.key,reportValue,message)]}if(functionType==="categorical"&&type==="number"&&(!isFinite(value)||Math.floor(value)!==value)){return[new ValidationError(options.key,reportValue,"integer expected, found "+value)]}if(functionType!=="categorical"&&type==="number"&&previousStopDomainValue!==undefined&&value<previousStopDomainValue){return[new ValidationError(options.key,reportValue,"stop domain values must appear in ascending order")]}else{previousStopDomainValue=value}if(functionType==="categorical"&&value in stopDomainValues){return[new ValidationError(options.key,reportValue,"stop domain values must be unique")]}else{stopDomainValues[value]=true}return[]}function validateFunctionDefault(options){return validate({key:options.key,value:options.value,valueSpec:functionValueSpec,style:options.style,styleSpec:options.styleSpec})}}function validateExpression(options){var expression=(options.expressionContext==="property"?createPropertyExpression:createExpression)(deepUnbundle(options.value),options.valueSpec);if(expression.result==="error"){return expression.value.map((function(error){return new ValidationError(""+options.key+error.key,options.value,error.message)}))}var expressionObj=expression.value.expression||expression.value._styleExpression.expression;if(options.expressionContext==="property"&&options.propertyKey==="text-font"&&!expressionObj.outputDefined()){return[new ValidationError(options.key,options.value,'Invalid data expression for "'+options.propertyKey+'". Output values must be contained as literals within the expression.')]}if(options.expressionContext==="property"&&options.propertyType==="layout"&&!isStateConstant(expressionObj)){return[new ValidationError(options.key,options.value,'"feature-state" data expressions are not supported with layout properties.')]}if(options.expressionContext==="filter"&&!isStateConstant(expressionObj)){return[new ValidationError(options.key,options.value,'"feature-state" data expressions are not supported with filters.')]}if(options.expressionContext&&options.expressionContext.indexOf("cluster")===0){if(!isGlobalPropertyConstant(expressionObj,["zoom","feature-state"])){return[new ValidationError(options.key,options.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')]}if(options.expressionContext==="cluster-initial"&&!isFeatureConstant(expressionObj)){return[new ValidationError(options.key,options.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}}return[]}function validateBoolean(options){var value=options.value;var key=options.key;var type=getType(value);if(type!=="boolean"){return[new ValidationError(key,value,"boolean expected, "+type+" found")]}return[]}function validateColor(options){var key=options.key;var value=options.value;var type=getType(value);if(type!=="string"){return[new ValidationError(key,value,"color expected, "+type+" found")]}if(csscolorparser_1(value)===null){return[new ValidationError(key,value,'color expected, "'+value+'" found')]}return[]}function validateEnum(options){var key=options.key;var value=options.value;var valueSpec=options.valueSpec;var errors=[];if(Array.isArray(valueSpec.values)){if(valueSpec.values.indexOf(unbundle(value))===-1){errors.push(new ValidationError(key,value,"expected one of ["+valueSpec.values.join(", ")+"], "+JSON.stringify(value)+" found"))}}else{if(Object.keys(valueSpec.values).indexOf(unbundle(value))===-1){errors.push(new ValidationError(key,value,"expected one of ["+Object.keys(valueSpec.values).join(", ")+"], "+JSON.stringify(value)+" found"))}}return errors}function isExpressionFilter(filter){if(filter===true||filter===false){return true}if(!Array.isArray(filter)||filter.length===0){return false}switch(filter[0]){case"has":return filter.length>=2&&filter[1]!=="$id"&&filter[1]!=="$type";case"in":return filter.length>=3&&(typeof filter[1]!=="string"||Array.isArray(filter[2]));case"!in":case"!has":case"none":return false;case"==":case"!=":case">":case">=":case"<":case"<=":return filter.length!==3||(Array.isArray(filter[1])||Array.isArray(filter[2]));case"any":case"all":for(var i=0,list=filter.slice(1);i<list.length;i+=1){var f=list[i];if(!isExpressionFilter(f)&&typeof f!=="boolean"){return false}}return true;default:return true}}var filterSpec={type:"boolean",default:false,transition:false,"property-type":"data-driven",expression:{interpolated:false,parameters:["zoom","feature"]}};function createFilter(filter){if(filter===null||filter===undefined){return{filter:function(){return true},needGeometry:false}}if(!isExpressionFilter(filter)){filter=convertFilter(filter)}var compiled=createExpression(filter,filterSpec);if(compiled.result==="error"){throw new Error(compiled.value.map((function(err){return err.key+": "+err.message})).join(", "))}else{var needGeometry=geometryNeeded(filter);return{filter:function(globalProperties,feature,canonical){return compiled.value.evaluate(globalProperties,feature,{},canonical)},needGeometry:needGeometry}}}function compare(a,b){return a<b?-1:a>b?1:0}function geometryNeeded(filter){if(!Array.isArray(filter)){return false}if(filter[0]==="within"){return true}for(var index=1;index<filter.length;index++){if(geometryNeeded(filter[index])){return true}}return false}function convertFilter(filter){if(!filter){return true}var op=filter[0];if(filter.length<=1){return op!=="any"}var converted=op==="=="?convertComparisonOp(filter[1],filter[2],"=="):op==="!="?convertNegation(convertComparisonOp(filter[1],filter[2],"==")):op==="<"||op===">"||op==="<="||op===">="?convertComparisonOp(filter[1],filter[2],op):op==="any"?convertDisjunctionOp(filter.slice(1)):op==="all"?["all"].concat(filter.slice(1).map(convertFilter)):op==="none"?["all"].concat(filter.slice(1).map(convertFilter).map(convertNegation)):op==="in"?convertInOp(filter[1],filter.slice(2)):op==="!in"?convertNegation(convertInOp(filter[1],filter.slice(2))):op==="has"?convertHasOp(filter[1]):op==="!has"?convertNegation(convertHasOp(filter[1])):op==="within"?filter:true;return converted}function convertComparisonOp(property,value,op){switch(property){case"$type":return["filter-type-"+op,value];case"$id":return["filter-id-"+op,value];default:return["filter-"+op,property,value]}}function convertDisjunctionOp(filters){return["any"].concat(filters.map(convertFilter))}function convertInOp(property,values){if(values.length===0){return false}switch(property){case"$type":return["filter-type-in",["literal",values]];case"$id":return["filter-id-in",["literal",values]];default:if(values.length>200&&!values.some((function(v){return typeof v!==typeof values[0]}))){return["filter-in-large",property,["literal",values.sort(compare)]]}else{return["filter-in-small",property,["literal",values]]}}}function convertHasOp(property){switch(property){case"$type":return true;case"$id":return["filter-has-id"];default:return["filter-has",property]}}function convertNegation(filter){return["!",filter]}function validateFilter(options){if(isExpressionFilter(deepUnbundle(options.value))){return validateExpression(extend$1({},options,{expressionContext:"filter",valueSpec:{value:"boolean"}}))}else{return validateNonExpressionFilter(options)}}function validateNonExpressionFilter(options){var value=options.value;var key=options.key;if(getType(value)!=="array"){return[new ValidationError(key,value,"array expected, "+getType(value)+" found")]}var styleSpec=options.styleSpec;var type;var errors=[];if(value.length<1){return[new ValidationError(key,value,"filter array must have at least 1 element")]}errors=errors.concat(validateEnum({key:key+"[0]",value:value[0],valueSpec:styleSpec.filter_operator,style:options.style,styleSpec:options.styleSpec}));switch(unbundle(value[0])){case"<":case"<=":case">":case">=":if(value.length>=2&&unbundle(value[1])==="$type"){errors.push(new ValidationError(key,value,'"$type" cannot be use with operator "'+value[0]+'"'))}case"==":case"!=":if(value.length!==3){errors.push(new ValidationError(key,value,'filter array for operator "'+value[0]+'" must have 3 elements'))}case"in":case"!in":if(value.length>=2){type=getType(value[1]);if(type!=="string"){errors.push(new ValidationError(key+"[1]",value[1],"string expected, "+type+" found"))}}for(var i=2;i<value.length;i++){type=getType(value[i]);if(unbundle(value[1])==="$type"){errors=errors.concat(validateEnum({key:key+"["+i+"]",value:value[i],valueSpec:styleSpec.geometry_type,style:options.style,styleSpec:options.styleSpec}))}else if(type!=="string"&&type!=="number"&&type!=="boolean"){errors.push(new ValidationError(key+"["+i+"]",value[i],"string, number, or boolean expected, "+type+" found"))}}break;case"any":case"all":case"none":for(var i$1=1;i$1<value.length;i$1++){errors=errors.concat(validateNonExpressionFilter({key:key+"["+i$1+"]",value:value[i$1],style:options.style,styleSpec:options.styleSpec}))}break;case"has":case"!has":type=getType(value[1]);if(value.length!==2){errors.push(new ValidationError(key,value,'filter array for "'+value[0]+'" operator must have 2 elements'))}else if(type!=="string"){errors.push(new ValidationError(key+"[1]",value[1],"string expected, "+type+" found"))}break;case"within":type=getType(value[1]);if(value.length!==2){errors.push(new ValidationError(key,value,'filter array for "'+value[0]+'" operator must have 2 elements'))}else if(type!=="object"){errors.push(new ValidationError(key+"[1]",value[1],"object expected, "+type+" found"))}break}return errors}function validateProperty(options,propertyType){var key=options.key;var style=options.style;var styleSpec=options.styleSpec;var value=options.value;var propertyKey=options.objectKey;var layerSpec=styleSpec[propertyType+"_"+options.layerType];if(!layerSpec){return[]}var transitionMatch=propertyKey.match(/^(.*)-transition$/);if(propertyType==="paint"&&transitionMatch&&layerSpec[transitionMatch[1]]&&layerSpec[transitionMatch[1]].transition){return validate({key:key,value:value,valueSpec:styleSpec.transition,style:style,styleSpec:styleSpec})}var valueSpec=options.valueSpec||layerSpec[propertyKey];if(!valueSpec){return[new ValidationError(key,value,'unknown property "'+propertyKey+'"')]}var tokenMatch;if(getType(value)==="string"&&supportsPropertyExpression(valueSpec)&&!valueSpec.tokens&&(tokenMatch=/^{([^}]+)}$/.exec(value))){return[new ValidationError(key,value,'"'+propertyKey+'" does not support interpolation syntax\n'+'Use an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(tokenMatch[1])+" }`.")]}var errors=[];if(options.layerType==="symbol"){if(propertyKey==="text-field"&&style&&!style.glyphs){errors.push(new ValidationError(key,value,'use of "text-field" requires a style "glyphs" property'))}if(propertyKey==="text-font"&&isFunction(deepUnbundle(value))&&unbundle(value.type)==="identity"){errors.push(new ValidationError(key,value,'"text-font" does not support identity functions'))}}return errors.concat(validate({key:options.key,value:value,valueSpec:valueSpec,style:style,styleSpec:styleSpec,expressionContext:"property",propertyType:propertyType,propertyKey:propertyKey}))}function validatePaintProperty(options){return validateProperty(options,"paint")}function validateLayoutProperty(options){return validateProperty(options,"layout")}function validateLayer(options){var errors=[];var layer=options.value;var key=options.key;var style=options.style;var styleSpec=options.styleSpec;if(!layer.type&&!layer.ref){errors.push(new ValidationError(key,layer,'either "type" or "ref" is required'))}var type=unbundle(layer.type);var ref=unbundle(layer.ref);if(layer.id){var layerId=unbundle(layer.id);for(var i=0;i<options.arrayIndex;i++){var otherLayer=style.layers[i];if(unbundle(otherLayer.id)===layerId){errors.push(new ValidationError(key,layer.id,'duplicate layer id "'+layer.id+'", previously used at line '+otherLayer.id.__line__))}}}if("ref"in layer){["type","source","source-layer","filter","layout"].forEach((function(p){if(p in layer){errors.push(new ValidationError(key,layer[p],'"'+p+'" is prohibited for ref layers'))}}));var parent;style.layers.forEach((function(layer){if(unbundle(layer.id)===ref){parent=layer}}));if(!parent){errors.push(new ValidationError(key,layer.ref,'ref layer "'+ref+'" not found'))}else if(parent.ref){errors.push(new ValidationError(key,layer.ref,"ref cannot reference another ref layer"))}else{type=unbundle(parent.type)}}else if(type!=="background"){if(!layer.source){errors.push(new ValidationError(key,layer,'missing required property "source"'))}else{var source=style.sources&&style.sources[layer.source];var sourceType=source&&unbundle(source.type);if(!source){errors.push(new ValidationError(key,layer.source,'source "'+layer.source+'" not found'))}else if(sourceType==="vector"&&type==="raster"){errors.push(new ValidationError(key,layer.source,'layer "'+layer.id+'" requires a raster source'))}else if(sourceType==="raster"&&type!=="raster"){errors.push(new ValidationError(key,layer.source,'layer "'+layer.id+'" requires a vector source'))}else if(sourceType==="vector"&&!layer["source-layer"]){errors.push(new ValidationError(key,layer,'layer "'+layer.id+'" must specify a "source-layer"'))}else if(sourceType==="raster-dem"&&type!=="hillshade"){errors.push(new ValidationError(key,layer.source,"raster-dem source can only be used with layer type 'hillshade'."))}else if(type==="line"&&layer.paint&&layer.paint["line-gradient"]&&(sourceType!=="geojson"||!source.lineMetrics)){errors.push(new ValidationError(key,layer,'layer "'+layer.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.'))}}}errors=errors.concat(validateObject({key:key,value:layer,valueSpec:styleSpec.layer,style:options.style,styleSpec:options.styleSpec,objectElementValidators:{"*":function _(){return[]},type:function type(){return validate({key:key+".type",value:layer.type,valueSpec:styleSpec.layer.type,style:options.style,styleSpec:options.styleSpec,object:layer,objectKey:"type"})},filter:validateFilter,layout:function layout(options){return validateObject({layer:layer,key:options.key,value:options.value,style:options.style,styleSpec:options.styleSpec,objectElementValidators:{"*":function _(options){return validateLayoutProperty(extend$1({layerType:type},options))}}})},paint:function paint(options){return validateObject({layer:layer,key:options.key,value:options.value,style:options.style,styleSpec:options.styleSpec,objectElementValidators:{"*":function _(options){return validatePaintProperty(extend$1({layerType:type},options))}}})}}}));return errors}function validateString(options){var value=options.value;var key=options.key;var type=getType(value);if(type!=="string"){return[new ValidationError(key,value,"string expected, "+type+" found")]}return[]}var objectElementValidators={promoteId:validatePromoteId};function validateSource(options){var value=options.value;var key=options.key;var styleSpec=options.styleSpec;var style=options.style;if(!value.type){return[new ValidationError(key,value,'"type" is required')]}var type=unbundle(value.type);var errors;switch(type){case"vector":case"raster":case"raster-dem":errors=validateObject({key:key,value:value,valueSpec:styleSpec["source_"+type.replace("-","_")],style:options.style,styleSpec:styleSpec,objectElementValidators:objectElementValidators});return errors;case"geojson":errors=validateObject({key:key,value:value,valueSpec:styleSpec.source_geojson,style:style,styleSpec:styleSpec,objectElementValidators:objectElementValidators});if(value.cluster){for(var prop in value.clusterProperties){var ref=value.clusterProperties[prop];var operator=ref[0];var mapExpr=ref[1];var reduceExpr=typeof operator==="string"?[operator,["accumulated"],["get",prop]]:operator;errors.push.apply(errors,validateExpression({key:key+"."+prop+".map",value:mapExpr,expressionContext:"cluster-map"}));errors.push.apply(errors,validateExpression({key:key+"."+prop+".reduce",value:reduceExpr,expressionContext:"cluster-reduce"}))}}return errors;case"video":return validateObject({key:key,value:value,valueSpec:styleSpec.source_video,style:style,styleSpec:styleSpec});case"image":return validateObject({key:key,value:value,valueSpec:styleSpec.source_image,style:style,styleSpec:styleSpec});case"canvas":return[new ValidationError(key,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return validateEnum({key:key+".type",value:value.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:style,styleSpec:styleSpec})}}function validatePromoteId(ref){var key=ref.key;var value=ref.value;if(getType(value)==="string"){return validateString({key:key,value:value})}else{var errors=[];for(var prop in value){errors.push.apply(errors,validateString({key:key+"."+prop,value:value[prop]}))}return errors}}function validateLight(options){var light=options.value;var styleSpec=options.styleSpec;var lightSpec=styleSpec.light;var style=options.style;var errors=[];var rootType=getType(light);if(light===undefined){return errors}else if(rootType!=="object"){errors=errors.concat([new ValidationError("light",light,"object expected, "+rootType+" found")]);return errors}for(var key in light){var transitionMatch=key.match(/^(.*)-transition$/);if(transitionMatch&&lightSpec[transitionMatch[1]]&&lightSpec[transitionMatch[1]].transition){errors=errors.concat(validate({key:key,value:light[key],valueSpec:styleSpec.transition,style:style,styleSpec:styleSpec}))}else if(lightSpec[key]){errors=errors.concat(validate({key:key,value:light[key],valueSpec:lightSpec[key],style:style,styleSpec:styleSpec}))}else{errors=errors.concat([new ValidationError(key,light[key],'unknown property "'+key+'"')])}}return errors}function validateFormatted(options){if(validateString(options).length===0){return[]}return validateExpression(options)}function validateImage(options){if(validateString(options).length===0){return[]}return validateExpression(options)}var VALIDATORS={"*":function _(){return[]},array:validateArray,boolean:validateBoolean,number:validateNumber,color:validateColor,constants:validateConstants,enum:validateEnum,filter:validateFilter,function:validateFunction,layer:validateLayer,object:validateObject,source:validateSource,light:validateLight,string:validateString,formatted:validateFormatted,resolvedImage:validateImage};function validate(options){var value=options.value;var valueSpec=options.valueSpec;var styleSpec=options.styleSpec;if(valueSpec.expression&&isFunction(unbundle(value))){return validateFunction(options)}else if(valueSpec.expression&&isExpression(deepUnbundle(value))){return validateExpression(options)}else if(valueSpec.type&&VALIDATORS[valueSpec.type]){return VALIDATORS[valueSpec.type](options)}else{var valid=validateObject(extend$1({},options,{valueSpec:valueSpec.type?styleSpec[valueSpec.type]:valueSpec}));return valid}}function validateGlyphsURL(options){var value=options.value;var key=options.key;var errors=validateString(options);if(errors.length){return errors}if(value.indexOf("{fontstack}")===-1){errors.push(new ValidationError(key,value,'"glyphs" url must include a "{fontstack}" token'))}if(value.indexOf("{range}")===-1){errors.push(new ValidationError(key,value,'"glyphs" url must include a "{range}" token'))}return errors}function validateStyleMin(style,styleSpec){if(styleSpec===void 0)styleSpec=spec;var errors=[];errors=errors.concat(validate({key:"",value:style,valueSpec:styleSpec.$root,styleSpec:styleSpec,style:style,objectElementValidators:{glyphs:validateGlyphsURL,"*":function _(){return[]}}}));if(style.constants){errors=errors.concat(validateConstants({key:"constants",value:style.constants,style:style,styleSpec:styleSpec}))}return sortErrors(errors)}validateStyleMin.source=wrapCleanErrors(validateSource);validateStyleMin.light=wrapCleanErrors(validateLight);validateStyleMin.layer=wrapCleanErrors(validateLayer);validateStyleMin.filter=wrapCleanErrors(validateFilter);validateStyleMin.paintProperty=wrapCleanErrors(validatePaintProperty);validateStyleMin.layoutProperty=wrapCleanErrors(validateLayoutProperty);function sortErrors(errors){return[].concat(errors).sort((function(a,b){return a.line-b.line}))}function wrapCleanErrors(inner){return function(){var args=[],len=arguments.length;while(len--)args[len]=arguments[len];return sortErrors(inner.apply(this,args))}}var validateStyle=validateStyleMin;var validateLight$1=validateStyle.light;var validatePaintProperty$1=validateStyle.paintProperty;var validateLayoutProperty$1=validateStyle.layoutProperty;function emitValidationErrors(emitter,errors){var hasErrors=false;if(errors&&errors.length){for(var i=0,list=errors;i<list.length;i+=1){var error=list[i];emitter.fire(new ErrorEvent(new Error(error.message)));hasErrors=true}}return hasErrors}var gridIndex=GridIndex;var NUM_PARAMS=3;function GridIndex(extent,n,padding){var cells=this.cells=[];if(extent instanceof ArrayBuffer){this.arrayBuffer=extent;var array=new Int32Array(this.arrayBuffer);extent=array[0];n=array[1];padding=array[2];this.d=n+2*padding;for(var k=0;k<this.d*this.d;k++){var start=array[NUM_PARAMS+k];var end=array[NUM_PARAMS+k+1];cells.push(start===end?null:array.subarray(start,end))}var keysOffset=array[NUM_PARAMS+cells.length];var bboxesOffset=array[NUM_PARAMS+cells.length+1];this.keys=array.subarray(keysOffset,bboxesOffset);this.bboxes=array.subarray(bboxesOffset);this.insert=this._insertReadonly}else{this.d=n+2*padding;for(var i=0;i<this.d*this.d;i++){cells.push([])}this.keys=[];this.bboxes=[]}this.n=n;this.extent=extent;this.padding=padding;this.scale=n/extent;this.uid=0;var p=padding/n*extent;this.min=-p;this.max=extent+p}GridIndex.prototype.insert=function(key,x1,y1,x2,y2){this._forEachCell(x1,y1,x2,y2,this._insertCell,this.uid++);this.keys.push(key);this.bboxes.push(x1);this.bboxes.push(y1);this.bboxes.push(x2);this.bboxes.push(y2)};GridIndex.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."};GridIndex.prototype._insertCell=function(x1,y1,x2,y2,cellIndex,uid){this.cells[cellIndex].push(uid)};GridIndex.prototype.query=function(x1,y1,x2,y2,intersectionTest){var min=this.min;var max=this.max;if(x1<=min&&y1<=min&&max<=x2&&max<=y2&&!intersectionTest){return Array.prototype.slice.call(this.keys)}else{var result=[];var seenUids={};this._forEachCell(x1,y1,x2,y2,this._queryCell,result,seenUids,intersectionTest);return result}};GridIndex.prototype._queryCell=function(x1,y1,x2,y2,cellIndex,result,seenUids,intersectionTest){var cell=this.cells[cellIndex];if(cell!==null){var keys=this.keys;var bboxes=this.bboxes;for(var u=0;u<cell.length;u++){var uid=cell[u];if(seenUids[uid]===undefined){var offset=uid*4;if(intersectionTest?intersectionTest(bboxes[offset+0],bboxes[offset+1],bboxes[offset+2],bboxes[offset+3]):x1<=bboxes[offset+2]&&y1<=bboxes[offset+3]&&x2>=bboxes[offset+0]&&y2>=bboxes[offset+1]){seenUids[uid]=true;result.push(keys[uid])}else{seenUids[uid]=false}}}}};GridIndex.prototype._forEachCell=function(x1,y1,x2,y2,fn,arg1,arg2,intersectionTest){var cx1=this._convertToCellCoord(x1);var cy1=this._convertToCellCoord(y1);var cx2=this._convertToCellCoord(x2);var cy2=this._convertToCellCoord(y2);for(var x=cx1;x<=cx2;x++){for(var y=cy1;y<=cy2;y++){var cellIndex=this.d*y+x;if(intersectionTest&&!intersectionTest(this._convertFromCellCoord(x),this._convertFromCellCoord(y),this._convertFromCellCoord(x+1),this._convertFromCellCoord(y+1))){continue}if(fn.call(this,x1,y1,x2,y2,cellIndex,arg1,arg2,intersectionTest)){return}}}};GridIndex.prototype._convertFromCellCoord=function(x){return(x-this.padding)/this.scale};GridIndex.prototype._convertToCellCoord=function(x){return Math.max(0,Math.min(this.d-1,Math.floor(x*this.scale)+this.padding))};GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer){return this.arrayBuffer}var cells=this.cells;var metadataLength=NUM_PARAMS+this.cells.length+1+1;var totalCellLength=0;for(var i=0;i<this.cells.length;i++){totalCellLength+=this.cells[i].length}var array=new Int32Array(metadataLength+totalCellLength+this.keys.length+this.bboxes.length);array[0]=this.extent;array[1]=this.n;array[2]=this.padding;var offset=metadataLength;for(var k=0;k<cells.length;k++){var cell=cells[k];array[NUM_PARAMS+k]=offset;array.set(cell,offset);offset+=cell.length}array[NUM_PARAMS+cells.length]=offset;array.set(this.keys,offset);offset+=this.keys.length;array[NUM_PARAMS+cells.length+1]=offset;array.set(this.bboxes,offset);offset+=this.bboxes.length;return array.buffer};var ImageData=self.ImageData;var ImageBitmap=self.ImageBitmap;var registry={};function register(name,klass,options){if(options===void 0)options={};Object.defineProperty(klass,"_classRegistryKey",{value:name,writeable:false});registry[name]={klass:klass,omit:options.omit||[],shallow:options.shallow||[]}}register("Object",Object);gridIndex.serialize=function serialize(grid,transferables){var buffer=grid.toArrayBuffer();if(transferables){transferables.push(buffer)}return{buffer:buffer}};gridIndex.deserialize=function deserialize(serialized){return new gridIndex(serialized.buffer)};register("Grid",gridIndex);register("Color",Color);register("Error",Error);register("ResolvedImage",ResolvedImage);register("StylePropertyFunction",StylePropertyFunction);register("StyleExpression",StyleExpression,{omit:["_evaluator"]});register("ZoomDependentExpression",ZoomDependentExpression);register("ZoomConstantExpression",ZoomConstantExpression);register("CompoundExpression",CompoundExpression,{omit:["_evaluate"]});for(var name in expressions){if(expressions[name]._classRegistryKey){continue}register("Expression_"+name,expressions[name])}function isArrayBuffer(val){return val&&typeof ArrayBuffer!=="undefined"&&(val instanceof ArrayBuffer||val.constructor&&val.constructor.name==="ArrayBuffer")}function isImageBitmap(val){return ImageBitmap&&val instanceof ImageBitmap}function serialize(input,transferables){if(input===null||input===undefined||typeof input==="boolean"||typeof input==="number"||typeof input==="string"||input instanceof Boolean||input instanceof Number||input instanceof String||input instanceof Date||input instanceof RegExp){return input}if(isArrayBuffer(input)||isImageBitmap(input)){if(transferables){transferables.push(input)}return input}if(ArrayBuffer.isView(input)){var view=input;if(transferables){transferables.push(view.buffer)}return view}if(input instanceof ImageData){if(transferables){transferables.push(input.data.buffer)}return input}if(Array.isArray(input)){var serialized=[];for(var i=0,list=input;i<list.length;i+=1){var item=list[i];serialized.push(serialize(item,transferables))}return serialized}if(typeof input==="object"){var klass=input.constructor;var name=klass._classRegistryKey;if(!name){throw new Error("can't serialize object of unregistered class")}var properties=klass.serialize?klass.serialize(input,transferables):{};if(!klass.serialize){for(var key in input){if(!input.hasOwnProperty(key)){continue}if(registry[name].omit.indexOf(key)>=0){continue}var property=input[key];properties[key]=registry[name].shallow.indexOf(key)>=0?property:serialize(property,transferables)}if(input instanceof Error){properties.message=input.message}}if(properties.$name){throw new Error("$name property is reserved for worker serialization logic.")}if(name!=="Object"){properties.$name=name}return properties}throw new Error("can't serialize object of type "+typeof input)}function deserialize(input){if(input===null||input===undefined||typeof input==="boolean"||typeof input==="number"||typeof input==="string"||input instanceof Boolean||input instanceof Number||input instanceof String||input instanceof Date||input instanceof RegExp||isArrayBuffer(input)||isImageBitmap(input)||ArrayBuffer.isView(input)||input instanceof ImageData){return input}if(Array.isArray(input)){return input.map(deserialize)}if(typeof input==="object"){var name=input.$name||"Object";var ref=registry[name];var klass=ref.klass;if(!klass){throw new Error("can't deserialize unregistered class "+name)}if(klass.deserialize){return klass.deserialize(input)}var result=Object.create(klass.prototype);for(var i=0,list=Object.keys(input);i<list.length;i+=1){var key=list[i];if(key==="$name"){continue}var value=input[key];result[key]=registry[name].shallow.indexOf(key)>=0?value:deserialize(value)}return result}throw new Error("can't deserialize object of type "+typeof input)}var ZoomHistory=function ZoomHistory(){this.first=true};ZoomHistory.prototype.update=function update(z,now){var floorZ=Math.floor(z);if(this.first){this.first=false;this.lastIntegerZoom=floorZ;this.lastIntegerZoomTime=0;this.lastZoom=z;this.lastFloorZoom=floorZ;return true}if(this.lastFloorZoom>floorZ){this.lastIntegerZoom=floorZ+1;this.lastIntegerZoomTime=now}else if(this.lastFloorZoom<floorZ){this.lastIntegerZoom=floorZ;this.lastIntegerZoomTime=now}if(z!==this.lastZoom){this.lastZoom=z;this.lastFloorZoom=floorZ;return true}return false};var unicodeBlockLookup={"Latin-1 Supplement":function(char){return char>=128&&char<=255},Arabic:function(char){return char>=1536&&char<=1791},"Arabic Supplement":function(char){return char>=1872&&char<=1919},"Arabic Extended-A":function(char){return char>=2208&&char<=2303},"Hangul Jamo":function(char){return char>=4352&&char<=4607},"Unified Canadian Aboriginal Syllabics":function(char){return char>=5120&&char<=5759},Khmer:function(char){return char>=6016&&char<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(char){return char>=6320&&char<=6399},"General Punctuation":function(char){return char>=8192&&char<=8303},"Letterlike Symbols":function(char){return char>=8448&&char<=8527},"Number Forms":function(char){return char>=8528&&char<=8591},"Miscellaneous Technical":function(char){return char>=8960&&char<=9215},"Control Pictures":function(char){return char>=9216&&char<=9279},"Optical Character Recognition":function(char){return char>=9280&&char<=9311},"Enclosed Alphanumerics":function(char){return char>=9312&&char<=9471},"Geometric Shapes":function(char){return char>=9632&&char<=9727},"Miscellaneous Symbols":function(char){return char>=9728&&char<=9983},"Miscellaneous Symbols and Arrows":function(char){return char>=11008&&char<=11263},"CJK Radicals Supplement":function(char){return char>=11904&&char<=12031},"Kangxi Radicals":function(char){return char>=12032&&char<=12255},"Ideographic Description Characters":function(char){return char>=12272&&char<=12287},"CJK Symbols and Punctuation":function(char){return char>=12288&&char<=12351},Hiragana:function(char){return char>=12352&&char<=12447},Katakana:function(char){return char>=12448&&char<=12543},Bopomofo:function(char){return char>=12544&&char<=12591},"Hangul Compatibility Jamo":function(char){return char>=12592&&char<=12687},Kanbun:function(char){return char>=12688&&char<=12703},"Bopomofo Extended":function(char){return char>=12704&&char<=12735},"CJK Strokes":function(char){return char>=12736&&char<=12783},"Katakana Phonetic Extensions":function(char){return char>=12784&&char<=12799},"Enclosed CJK Letters and Months":function(char){return char>=12800&&char<=13055},"CJK Compatibility":function(char){return char>=13056&&char<=13311},"CJK Unified Ideographs Extension A":function(char){return char>=13312&&char<=19903},"Yijing Hexagram Symbols":function(char){return char>=19904&&char<=19967},"CJK Unified Ideographs":function(char){return char>=19968&&char<=40959},"Yi Syllables":function(char){return char>=40960&&char<=42127},"Yi Radicals":function(char){return char>=42128&&char<=42191},"Hangul Jamo Extended-A":function(char){return char>=43360&&char<=43391},"Hangul Syllables":function(char){return char>=44032&&char<=55215},"Hangul Jamo Extended-B":function(char){return char>=55216&&char<=55295},"Private Use Area":function(char){return char>=57344&&char<=63743},"CJK Compatibility Ideographs":function(char){return char>=63744&&char<=64255},"Arabic Presentation Forms-A":function(char){return char>=64336&&char<=65023},"Vertical Forms":function(char){return char>=65040&&char<=65055},"CJK Compatibility Forms":function(char){return char>=65072&&char<=65103},"Small Form Variants":function(char){return char>=65104&&char<=65135},"Arabic Presentation Forms-B":function(char){return char>=65136&&char<=65279},"Halfwidth and Fullwidth Forms":function(char){return char>=65280&&char<=65519}};function allowsVerticalWritingMode(chars){for(var i=0,list=chars;i<list.length;i+=1){var char=list[i];if(charHasUprightVerticalOrientation(char.charCodeAt(0))){return true}}return false}function allowsLetterSpacing(chars){for(var i=0,list=chars;i<list.length;i+=1){var char=list[i];if(!charAllowsLetterSpacing(char.charCodeAt(0))){return false}}return true}function charAllowsLetterSpacing(char){if(unicodeBlockLookup["Arabic"](char)){return false}if(unicodeBlockLookup["Arabic Supplement"](char)){return false}if(unicodeBlockLookup["Arabic Extended-A"](char)){return false}if(unicodeBlockLookup["Arabic Presentation Forms-A"](char)){return false}if(unicodeBlockLookup["Arabic Presentation Forms-B"](char)){return false}return true}function charAllowsIdeographicBreaking(char){if(char<11904){return false}if(unicodeBlockLookup["Bopomofo Extended"](char)){return true}if(unicodeBlockLookup["Bopomofo"](char)){return true}if(unicodeBlockLookup["CJK Compatibility Forms"](char)){return true}if(unicodeBlockLookup["CJK Compatibility Ideographs"](char)){return true}if(unicodeBlockLookup["CJK Compatibility"](char)){return true}if(unicodeBlockLookup["CJK Radicals Supplement"](char)){return true}if(unicodeBlockLookup["CJK Strokes"](char)){return true}if(unicodeBlockLookup["CJK Symbols and Punctuation"](char)){return true}if(unicodeBlockLookup["CJK Unified Ideographs Extension A"](char)){return true}if(unicodeBlockLookup["CJK Unified Ideographs"](char)){return true}if(unicodeBlockLookup["Enclosed CJK Letters and Months"](char)){return true}if(unicodeBlockLookup["Halfwidth and Fullwidth Forms"](char)){return true}if(unicodeBlockLookup["Hiragana"](char)){return true}if(unicodeBlockLookup["Ideographic Description Characters"](char)){return true}if(unicodeBlockLookup["Kangxi Radicals"](char)){return true}if(unicodeBlockLookup["Katakana Phonetic Extensions"](char)){return true}if(unicodeBlockLookup["Katakana"](char)){return true}if(unicodeBlockLookup["Vertical Forms"](char)){return true}if(unicodeBlockLookup["Yi Radicals"](char)){return true}if(unicodeBlockLookup["Yi Syllables"](char)){return true}return false}function charHasUprightVerticalOrientation(char){if(char===746||char===747){return true}if(char<4352){return false}if(unicodeBlockLookup["Bopomofo Extended"](char)){return true}if(unicodeBlockLookup["Bopomofo"](char)){return true}if(unicodeBlockLookup["CJK Compatibility Forms"](char)){if(!(char>=65097&&char<=65103)){return true}}if(unicodeBlockLookup["CJK Compatibility Ideographs"](char)){return true}if(unicodeBlockLookup["CJK Compatibility"](char)){return true}if(unicodeBlockLookup["CJK Radicals Supplement"](char)){return true}if(unicodeBlockLookup["CJK Strokes"](char)){return true}if(unicodeBlockLookup["CJK Symbols and Punctuation"](char)){if(!(char>=12296&&char<=12305)&&!(char>=12308&&char<=12319)&&char!==12336){return true}}if(unicodeBlockLookup["CJK Unified Ideographs Extension A"](char)){return true}if(unicodeBlockLookup["CJK Unified Ideographs"](char)){return true}if(unicodeBlockLookup["Enclosed CJK Letters and Months"](char)){return true}if(unicodeBlockLookup["Hangul Compatibility Jamo"](char)){return true}if(unicodeBlockLookup["Hangul Jamo Extended-A"](char)){return true}if(unicodeBlockLookup["Hangul Jamo Extended-B"](char)){return true}if(unicodeBlockLookup["Hangul Jamo"](char)){return true}if(unicodeBlockLookup["Hangul Syllables"](char)){return true}if(unicodeBlockLookup["Hiragana"](char)){return true}if(unicodeBlockLookup["Ideographic Description Characters"](char)){return true}if(unicodeBlockLookup["Kanbun"](char)){return true}if(unicodeBlockLookup["Kangxi Radicals"](char)){return true}if(unicodeBlockLookup["Katakana Phonetic Extensions"](char)){return true}if(unicodeBlockLookup["Katakana"](char)){if(char!==12540){return true}}if(unicodeBlockLookup["Halfwidth and Fullwidth Forms"](char)){if(char!==65288&&char!==65289&&char!==65293&&!(char>=65306&&char<=65310)&&char!==65339&&char!==65341&&char!==65343&&!(char>=65371&&char<=65503)&&char!==65507&&!(char>=65512&&char<=65519)){return true}}if(unicodeBlockLookup["Small Form Variants"](char)){if(!(char>=65112&&char<=65118)&&!(char>=65123&&char<=65126)){return true}}if(unicodeBlockLookup["Unified Canadian Aboriginal Syllabics"](char)){return true}if(unicodeBlockLookup["Unified Canadian Aboriginal Syllabics Extended"](char)){return true}if(unicodeBlockLookup["Vertical Forms"](char)){return true}if(unicodeBlockLookup["Yijing Hexagram Symbols"](char)){return true}if(unicodeBlockLookup["Yi Syllables"](char)){return true}if(unicodeBlockLookup["Yi Radicals"](char)){return true}return false}function charHasNeutralVerticalOrientation(char){if(unicodeBlockLookup["Latin-1 Supplement"](char)){if(char===167||char===169||char===174||char===177||char===188||char===189||char===190||char===215||char===247){return true}}if(unicodeBlockLookup["General Punctuation"](char)){if(char===8214||char===8224||char===8225||char===8240||char===8241||char===8251||char===8252||char===8258||char===8263||char===8264||char===8265||char===8273){return true}}if(unicodeBlockLookup["Letterlike Symbols"](char)){return true}if(unicodeBlockLookup["Number Forms"](char)){return true}if(unicodeBlockLookup["Miscellaneous Technical"](char)){if(char>=8960&&char<=8967||char>=8972&&char<=8991||char>=8996&&char<=9e3||char===9003||char>=9085&&char<=9114||char>=9150&&char<=9165||char===9167||char>=9169&&char<=9179||char>=9186&&char<=9215){return true}}if(unicodeBlockLookup["Control Pictures"](char)&&char!==9251){return true}if(unicodeBlockLookup["Optical Character Recognition"](char)){return true}if(unicodeBlockLookup["Enclosed Alphanumerics"](char)){return true}if(unicodeBlockLookup["Geometric Shapes"](char)){return true}if(unicodeBlockLookup["Miscellaneous Symbols"](char)){if(!(char>=9754&&char<=9759)){return true}}if(unicodeBlockLookup["Miscellaneous Symbols and Arrows"](char)){if(char>=11026&&char<=11055||char>=11088&&char<=11097||char>=11192&&char<=11243){return true}}if(unicodeBlockLookup["CJK Symbols and Punctuation"](char)){return true}if(unicodeBlockLookup["Katakana"](char)){return true}if(unicodeBlockLookup["Private Use Area"](char)){return true}if(unicodeBlockLookup["CJK Compatibility Forms"](char)){return true}if(unicodeBlockLookup["Small Form Variants"](char)){return true}if(unicodeBlockLookup["Halfwidth and Fullwidth Forms"](char)){return true}if(char===8734||char===8756||char===8757||char>=9984&&char<=10087||char>=10102&&char<=10131||char===65532||char===65533){return true}return false}function charHasRotatedVerticalOrientation(char){return!(charHasUprightVerticalOrientation(char)||charHasNeutralVerticalOrientation(char))}function charInComplexShapingScript(char){return unicodeBlockLookup["Arabic"](char)||unicodeBlockLookup["Arabic Supplement"](char)||unicodeBlockLookup["Arabic Extended-A"](char)||unicodeBlockLookup["Arabic Presentation Forms-A"](char)||unicodeBlockLookup["Arabic Presentation Forms-B"](char)}function charInRTLScript(char){return char>=1424&&char<=2303||unicodeBlockLookup["Arabic Presentation Forms-A"](char)||unicodeBlockLookup["Arabic Presentation Forms-B"](char)}function charInSupportedScript(char,canRenderRTL){if(!canRenderRTL&&charInRTLScript(char)){return false}if(char>=2304&&char<=3583||char>=3840&&char<=4255||unicodeBlockLookup["Khmer"](char)){return false}return true}function stringContainsRTLText(chars){for(var i=0,list=chars;i<list.length;i+=1){var char=list[i];if(charInRTLScript(char.charCodeAt(0))){return true}}return false}function isStringInSupportedScript(chars,canRenderRTL){for(var i=0,list=chars;i<list.length;i+=1){var char=list[i];if(!charInSupportedScript(char.charCodeAt(0),canRenderRTL)){return false}}return true}var status={unavailable:"unavailable",deferred:"deferred",loading:"loading",loaded:"loaded",error:"error"};var _completionCallback=null;var pluginStatus=status.unavailable;var pluginURL=null;var triggerPluginCompletionEvent=function(error){if(error&&typeof error==="string"&&error.indexOf("NetworkError")>-1){pluginStatus=status.error}if(_completionCallback){_completionCallback(error)}};function sendPluginStateToWorker(){evented.fire(new Event("pluginStateChange",{pluginStatus:pluginStatus,pluginURL:pluginURL}))}var evented=new Evented;var getRTLTextPluginStatus=function(){return pluginStatus};var registerForPluginStateChange=function(callback){callback({pluginStatus:pluginStatus,pluginURL:pluginURL});evented.on("pluginStateChange",callback);return callback};var setRTLTextPlugin=function(url,callback,deferred){if(deferred===void 0)deferred=false;if(pluginStatus===status.deferred||pluginStatus===status.loading||pluginStatus===status.loaded){throw new Error("setRTLTextPlugin cannot be called multiple times.")}pluginURL=exported.resolveURL(url);pluginStatus=status.deferred;_completionCallback=callback;sendPluginStateToWorker();if(!deferred){downloadRTLTextPlugin()}};var downloadRTLTextPlugin=function(){if(pluginStatus!==status.deferred||!pluginURL){throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified")}pluginStatus=status.loading;sendPluginStateToWorker();if(pluginURL){getArrayBuffer({url:pluginURL},(function(error){if(error){triggerPluginCompletionEvent(error)}else{pluginStatus=status.loaded;sendPluginStateToWorker()}}))}};var plugin={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function isLoaded(){return pluginStatus===status.loaded||plugin.applyArabicShaping!=null},isLoading:function isLoading(){return pluginStatus===status.loading},setState:function setState(state){pluginStatus=state.pluginStatus;pluginURL=state.pluginURL},isParsed:function isParsed(){return plugin.applyArabicShaping!=null&&plugin.processBidirectionalText!=null&&plugin.processStyledBidirectionalText!=null},getPluginURL:function getPluginURL(){return pluginURL}};var lazyLoadRTLTextPlugin=function(){if(!plugin.isLoading()&&!plugin.isLoaded()&&getRTLTextPluginStatus()==="deferred"){downloadRTLTextPlugin()}};var EvaluationParameters=function EvaluationParameters(zoom,options){this.zoom=zoom;if(options){this.now=options.now;this.fadeDuration=options.fadeDuration;this.zoomHistory=options.zoomHistory;this.transition=options.transition}else{this.now=0;this.fadeDuration=0;this.zoomHistory=new ZoomHistory;this.transition={}}};EvaluationParameters.prototype.isSupportedScript=function isSupportedScript(str){return isStringInSupportedScript(str,plugin.isLoaded())};EvaluationParameters.prototype.crossFadingFactor=function crossFadingFactor(){if(this.fadeDuration===0){return 1}else{return Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}};EvaluationParameters.prototype.getCrossfadeParameters=function getCrossfadeParameters(){var z=this.zoom;var fraction=z-Math.floor(z);var t=this.crossFadingFactor();return z>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:fraction+(1-fraction)*t}:{fromScale:.5,toScale:1,t:1-(1-t)*fraction}};var PropertyValue=function PropertyValue(property,value){this.property=property;this.value=value;this.expression=normalizePropertyExpression(value===undefined?property.specification.default:value,property.specification)};PropertyValue.prototype.isDataDriven=function isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"};PropertyValue.prototype.possiblyEvaluate=function possiblyEvaluate(parameters,canonical,availableImages){return this.property.possiblyEvaluate(this,parameters,canonical,availableImages)};var TransitionablePropertyValue=function TransitionablePropertyValue(property){this.property=property;this.value=new PropertyValue(property,undefined)};TransitionablePropertyValue.prototype.transitioned=function transitioned(parameters,prior){return new TransitioningPropertyValue(this.property,this.value,prior,extend({},parameters.transition,this.transition),parameters.now)};TransitionablePropertyValue.prototype.untransitioned=function untransitioned(){return new TransitioningPropertyValue(this.property,this.value,null,{},0)};var Transitionable=function Transitionable(properties){this._properties=properties;this._values=Object.create(properties.defaultTransitionablePropertyValues)};Transitionable.prototype.getValue=function getValue(name){return clone(this._values[name].value.value)};Transitionable.prototype.setValue=function setValue(name,value){if(!this._values.hasOwnProperty(name)){this._values[name]=new TransitionablePropertyValue(this._values[name].property)}this._values[name].value=new PropertyValue(this._values[name].property,value===null?undefined:clone(value))};Transitionable.prototype.getTransition=function getTransition(name){return clone(this._values[name].transition)};Transitionable.prototype.setTransition=function setTransition(name,value){if(!this._values.hasOwnProperty(name)){this._values[name]=new TransitionablePropertyValue(this._values[name].property)}this._values[name].transition=clone(value)||undefined};Transitionable.prototype.serialize=function serialize(){var result={};for(var i=0,list=Object.keys(this._values);i<list.length;i+=1){var property=list[i];var value=this.getValue(property);if(value!==undefined){result[property]=value}var transition=this.getTransition(property);if(transition!==undefined){result[property+"-transition"]=transition}}return result};Transitionable.prototype.transitioned=function transitioned(parameters,prior){var result=new Transitioning(this._properties);for(var i=0,list=Object.keys(this._values);i<list.length;i+=1){var property=list[i];result._values[property]=this._values[property].transitioned(parameters,prior._values[property])}return result};Transitionable.prototype.untransitioned=function untransitioned(){var result=new Transitioning(this._properties);for(var i=0,list=Object.keys(this._values);i<list.length;i+=1){var property=list[i];result._values[property]=this._values[property].untransitioned()}return result};var TransitioningPropertyValue=function TransitioningPropertyValue(property,value,prior,transition,now){this.property=property;this.value=value;this.begin=now+transition.delay||0;this.end=this.begin+transition.duration||0;if(property.specification.transition&&(transition.delay||transition.duration)){this.prior=prior}};TransitioningPropertyValue.prototype.possiblyEvaluate=function possiblyEvaluate(parameters,canonical,availableImages){var now=parameters.now||0;var finalValue=this.value.possiblyEvaluate(parameters,canonical,availableImages);var prior=this.prior;if(!prior){return finalValue}else if(now>this.end){this.prior=null;return finalValue}else if(this.value.isDataDriven()){this.prior=null;return finalValue}else if(now<this.begin){return prior.possiblyEvaluate(parameters,canonical,availableImages)}else{var t=(now-this.begin)/(this.end-this.begin);return this.property.interpolate(prior.possiblyEvaluate(parameters,canonical,availableImages),finalValue,easeCubicInOut(t))}};var Transitioning=function Transitioning(properties){this._properties=properties;this._values=Object.create(properties.defaultTransitioningPropertyValues)};Transitioning.prototype.possiblyEvaluate=function possiblyEvaluate(parameters,canonical,availableImages){var result=new PossiblyEvaluated(this._properties);for(var i=0,list=Object.keys(this._values);i<list.length;i+=1){var property=list[i];result._values[property]=this._values[property].possiblyEvaluate(parameters,canonical,availableImages)}return result};Transitioning.prototype.hasTransition=function hasTransition(){for(var i=0,list=Object.keys(this._values);i<list.length;i+=1){var property=list[i];if(this._values[property].prior){return true}}return false};var Layout=function Layout(properties){this._properties=properties;this._values=Object.create(properties.defaultPropertyValues)};Layout.prototype.getValue=function getValue(name){return clone(this._values[name].value)};Layout.prototype.setValue=function setValue(name,value){this._values[name]=new PropertyValue(this._values[name].property,value===null?undefined:clone(value))};Layout.prototype.serialize=function serialize(){var result={};for(var i=0,list=Object.keys(this._values);i<list.length;i+=1){var property=list[i];var value=this.getValue(property);if(value!==undefined){result[property]=value}}return result};Layout.prototype.possiblyEvaluate=function possiblyEvaluate(parameters,canonical,availableImages){var result=new PossiblyEvaluated(this._properties);for(var i=0,list=Object.keys(this._values);i<list.length;i+=1){var property=list[i];result._values[property]=this._values[property].possiblyEvaluate(parameters,canonical,availableImages)}return result};var PossiblyEvaluatedPropertyValue=function PossiblyEvaluatedPropertyValue(property,value,parameters){this.property=property;this.value=value;this.parameters=parameters};PossiblyEvaluatedPropertyValue.prototype.isConstant=function isConstant(){return this.value.kind==="constant"};PossiblyEvaluatedPropertyValue.prototype.constantOr=function constantOr(value){if(this.value.kind==="constant"){return this.value.value}else{return value}};PossiblyEvaluatedPropertyValue.prototype.evaluate=function evaluate(feature,featureState,canonical,availableImages){return this.property.evaluate(this.value,this.parameters,feature,featureState,canonical,availableImages)};var PossiblyEvaluated=function PossiblyEvaluated(properties){this._properties=properties;this._values=Object.create(properties.defaultPossiblyEvaluatedValues)};PossiblyEvaluated.prototype.get=function get(name){return this._values[name]};var DataConstantProperty=function DataConstantProperty(specification){this.specification=specification};DataConstantProperty.prototype.possiblyEvaluate=function possiblyEvaluate(value,parameters){return value.expression.evaluate(parameters)};DataConstantProperty.prototype.interpolate=function interpolate$1(a,b,t){var interp=interpolate[this.specification.type];if(interp){return interp(a,b,t)}else{return a}};var DataDrivenProperty=function DataDrivenProperty(specification,overrides){this.specification=specification;this.overrides=overrides};DataDrivenProperty.prototype.possiblyEvaluate=function possiblyEvaluate(value,parameters,canonical,availableImages){if(value.expression.kind==="constant"||value.expression.kind==="camera"){return new PossiblyEvaluatedPropertyValue(this,{kind:"constant",value:value.expression.evaluate(parameters,null,{},canonical,availableImages)},parameters)}else{return new PossiblyEvaluatedPropertyValue(this,value.expression,parameters)}};DataDrivenProperty.prototype.interpolate=function interpolate$2(a,b,t){if(a.value.kind!=="constant"||b.value.kind!=="constant"){return a}if(a.value.value===undefined||b.value.value===undefined){return new PossiblyEvaluatedPropertyValue(this,{kind:"constant",value:undefined},a.parameters)}var interp=interpolate[this.specification.type];if(interp){return new PossiblyEvaluatedPropertyValue(this,{kind:"constant",value:interp(a.value.value,b.value.value,t)},a.parameters)}else{return a}};DataDrivenProperty.prototype.evaluate=function evaluate(value,parameters,feature,featureState,canonical,availableImages){if(value.kind==="constant"){return value.value}else{return value.evaluate(parameters,feature,featureState,canonical,availableImages)}};var CrossFadedDataDrivenProperty=function(DataDrivenProperty){function CrossFadedDataDrivenProperty(){DataDrivenProperty.apply(this,arguments)}if(DataDrivenProperty)CrossFadedDataDrivenProperty.__proto__=DataDrivenProperty;CrossFadedDataDrivenProperty.prototype=Object.create(DataDrivenProperty&&DataDrivenProperty.prototype);CrossFadedDataDrivenProperty.prototype.constructor=CrossFadedDataDrivenProperty;CrossFadedDataDrivenProperty.prototype.possiblyEvaluate=function possiblyEvaluate(value,parameters,canonical,availableImages){if(value.value===undefined){return new PossiblyEvaluatedPropertyValue(this,{kind:"constant",value:undefined},parameters)}else if(value.expression.kind==="constant"){var evaluatedValue=value.expression.evaluate(parameters,null,{},canonical,availableImages);var isImageExpression=value.property.specification.type==="resolvedImage";var constantValue=isImageExpression&&typeof evaluatedValue!=="string"?evaluatedValue.name:evaluatedValue;var constant=this._calculate(constantValue,constantValue,constantValue,parameters);return new PossiblyEvaluatedPropertyValue(this,{kind:"constant",value:constant},parameters)}else if(value.expression.kind==="camera"){var cameraVal=this._calculate(value.expression.evaluate({zoom:parameters.zoom-1}),value.expression.evaluate({zoom:parameters.zoom}),value.expression.evaluate({zoom:parameters.zoom+1}),parameters);return new PossiblyEvaluatedPropertyValue(this,{kind:"constant",value:cameraVal},parameters)}else{return new PossiblyEvaluatedPropertyValue(this,value.expression,parameters)}};CrossFadedDataDrivenProperty.prototype.evaluate=function evaluate(value,globals,feature,featureState,canonical,availableImages){if(value.kind==="source"){var constant=value.evaluate(globals,feature,featureState,canonical,availableImages);return this._calculate(constant,constant,constant,globals)}else if(value.kind==="composite"){return this._calculate(value.evaluate({zoom:Math.floor(globals.zoom)-1},feature,featureState),value.evaluate({zoom:Math.floor(globals.zoom)},feature,featureState),value.evaluate({zoom:Math.floor(globals.zoom)+1},feature,featureState),globals)}else{return value.value}};CrossFadedDataDrivenProperty.prototype._calculate=function _calculate(min,mid,max,parameters){var z=parameters.zoom;return z>parameters.zoomHistory.lastIntegerZoom?{from:min,to:mid}:{from:max,to:mid}};CrossFadedDataDrivenProperty.prototype.interpolate=function interpolate(a){return a};return CrossFadedDataDrivenProperty}(DataDrivenProperty);var CrossFadedProperty=function CrossFadedProperty(specification){this.specification=specification};CrossFadedProperty.prototype.possiblyEvaluate=function possiblyEvaluate(value,parameters,canonical,availableImages){if(value.value===undefined){return undefined}else if(value.expression.kind==="constant"){var constant=value.expression.evaluate(parameters,null,{},canonical,availableImages);return this._calculate(constant,constant,constant,parameters)}else{return this._calculate(value.expression.evaluate(new EvaluationParameters(Math.floor(parameters.zoom-1),parameters)),value.expression.evaluate(new EvaluationParameters(Math.floor(parameters.zoom),parameters)),value.expression.evaluate(new EvaluationParameters(Math.floor(parameters.zoom+1),parameters)),parameters)}};CrossFadedProperty.prototype._calculate=function _calculate(min,mid,max,parameters){var z=parameters.zoom;return z>parameters.zoomHistory.lastIntegerZoom?{from:min,to:mid}:{from:max,to:mid}};CrossFadedProperty.prototype.interpolate=function interpolate(a){return a};var ColorRampProperty=function ColorRampProperty(specification){this.specification=specification};ColorRampProperty.prototype.possiblyEvaluate=function possiblyEvaluate(value,parameters,canonical,availableImages){return!!value.expression.evaluate(parameters,null,{},canonical,availableImages)};ColorRampProperty.prototype.interpolate=function interpolate(){return false};var Properties=function Properties(properties){this.properties=properties;this.defaultPropertyValues={};this.defaultTransitionablePropertyValues={};this.defaultTransitioningPropertyValues={};this.defaultPossiblyEvaluatedValues={};this.overridableProperties=[];for(var property in properties){var prop=properties[property];if(prop.specification.overridable){this.overridableProperties.push(property)}var defaultPropertyValue=this.defaultPropertyValues[property]=new PropertyValue(prop,undefined);var defaultTransitionablePropertyValue=this.defaultTransitionablePropertyValues[property]=new TransitionablePropertyValue(prop);this.defaultTransitioningPropertyValues[property]=defaultTransitionablePropertyValue.untransitioned();this.defaultPossiblyEvaluatedValues[property]=defaultPropertyValue.possiblyEvaluate({})}};register("DataDrivenProperty",DataDrivenProperty);register("DataConstantProperty",DataConstantProperty);register("CrossFadedDataDrivenProperty",CrossFadedDataDrivenProperty);register("CrossFadedProperty",CrossFadedProperty);register("ColorRampProperty",ColorRampProperty);var TRANSITION_SUFFIX="-transition";var StyleLayer=function(Evented){function StyleLayer(layer,properties){Evented.call(this);this.id=layer.id;this.type=layer.type;this._featureFilter={filter:function(){return true},needGeometry:false};if(layer.type==="custom"){return}layer=layer;this.metadata=layer.metadata;this.minzoom=layer.minzoom;this.maxzoom=layer.maxzoom;if(layer.type!=="background"){this.source=layer.source;this.sourceLayer=layer["source-layer"];this.filter=layer.filter}if(properties.layout){this._unevaluatedLayout=new Layout(properties.layout)}if(properties.paint){this._transitionablePaint=new Transitionable(properties.paint);for(var property in layer.paint){this.setPaintProperty(property,layer.paint[property],{validate:false})}for(var property$1 in layer.layout){this.setLayoutProperty(property$1,layer.layout[property$1],{validate:false})}this._transitioningPaint=this._transitionablePaint.untransitioned();this.paint=new PossiblyEvaluated(properties.paint)}}if(Evented)StyleLayer.__proto__=Evented;StyleLayer.prototype=Object.create(Evented&&Evented.prototype);StyleLayer.prototype.constructor=StyleLayer;StyleLayer.prototype.getCrossfadeParameters=function getCrossfadeParameters(){return this._crossfadeParameters};StyleLayer.prototype.getLayoutProperty=function getLayoutProperty(name){if(name==="visibility"){return this.visibility}return this._unevaluatedLayout.getValue(name)};StyleLayer.prototype.setLayoutProperty=function setLayoutProperty(name,value,options){if(options===void 0)options={};if(value!==null&&value!==undefined){var key="layers."+this.id+".layout."+name;if(this._validate(validateLayoutProperty$1,key,name,value,options)){return}}if(name==="visibility"){this.visibility=value;return}this._unevaluatedLayout.setValue(name,value)};StyleLayer.prototype.getPaintProperty=function getPaintProperty(name){if(endsWith(name,TRANSITION_SUFFIX)){return this._transitionablePaint.getTransition(name.slice(0,-TRANSITION_SUFFIX.length))}else{return this._transitionablePaint.getValue(name)}};StyleLayer.prototype.setPaintProperty=function setPaintProperty(name,value,options){if(options===void 0)options={};if(value!==null&&value!==undefined){var key="layers."+this.id+".paint."+name;if(this._validate(validatePaintProperty$1,key,name,value,options)){return false}}if(endsWith(name,TRANSITION_SUFFIX)){this._transitionablePaint.setTransition(name.slice(0,-TRANSITION_SUFFIX.length),value||undefined);return false}else{var transitionable=this._transitionablePaint._values[name];var isCrossFadedProperty=transitionable.property.specification["property-type"]==="cross-faded-data-driven";var wasDataDriven=transitionable.value.isDataDriven();var oldValue=transitionable.value;this._transitionablePaint.setValue(name,value);this._handleSpecialPaintPropertyUpdate(name);var newValue=this._transitionablePaint._values[name].value;var isDataDriven=newValue.isDataDriven();return isDataDriven||wasDataDriven||isCrossFadedProperty||this._handleOverridablePaintPropertyUpdate(name,oldValue,newValue)}};StyleLayer.prototype._handleSpecialPaintPropertyUpdate=function _handleSpecialPaintPropertyUpdate(_){};StyleLayer.prototype._handleOverridablePaintPropertyUpdate=function _handleOverridablePaintPropertyUpdate(name,oldValue,newValue){return false};StyleLayer.prototype.isHidden=function isHidden(zoom){if(this.minzoom&&zoom<this.minzoom){return true}if(this.maxzoom&&zoom>=this.maxzoom){return true}return this.visibility==="none"};StyleLayer.prototype.updateTransitions=function updateTransitions(parameters){this._transitioningPaint=this._transitionablePaint.transitioned(parameters,this._transitioningPaint)};StyleLayer.prototype.hasTransition=function hasTransition(){return this._transitioningPaint.hasTransition()};StyleLayer.prototype.recalculate=function recalculate(parameters,availableImages){if(parameters.getCrossfadeParameters){this._crossfadeParameters=parameters.getCrossfadeParameters()}if(this._unevaluatedLayout){this.layout=this._unevaluatedLayout.possiblyEvaluate(parameters,undefined,availableImages)}this.paint=this._transitioningPaint.possiblyEvaluate(parameters,undefined,availableImages)};StyleLayer.prototype.serialize=function serialize(){var output={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};if(this.visibility){output.layout=output.layout||{};output.layout.visibility=this.visibility}return filterObject(output,(function(value,key){return value!==undefined&&!(key==="layout"&&!Object.keys(value).length)&&!(key==="paint"&&!Object.keys(value).length)}))};StyleLayer.prototype._validate=function _validate(validate,key,name,value,options){if(options===void 0)options={};if(options&&options.validate===false){return false}return emitValidationErrors(this,validate.call(validateStyle,{key:key,layerType:this.type,objectKey:name,value:value,styleSpec:spec,style:{glyphs:true,sprite:true}}))};StyleLayer.prototype.is3D=function is3D(){return false};StyleLayer.prototype.isTileClipped=function isTileClipped(){return false};StyleLayer.prototype.hasOffscreenPass=function hasOffscreenPass(){return false};StyleLayer.prototype.resize=function resize(){};StyleLayer.prototype.isStateDependent=function isStateDependent(){for(var property in this.paint._values){var value=this.paint.get(property);if(!(value instanceof PossiblyEvaluatedPropertyValue)||!supportsPropertyExpression(value.property.specification)){continue}if((value.value.kind==="source"||value.value.kind==="composite")&&value.value.isStateDependent){return true}}return false};return StyleLayer}(Evented);var viewTypes={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};var Struct=function Struct(structArray,index){this._structArray=structArray;this._pos1=index*this.size;this._pos2=this._pos1/2;this._pos4=this._pos1/4;this._pos8=this._pos1/8};var DEFAULT_CAPACITY=128;var RESIZE_MULTIPLIER=5;var StructArray=function StructArray(){this.isTransferred=false;this.capacity=-1;this.resize(0)};StructArray.serialize=function serialize(array,transferables){array._trim();if(transferables){array.isTransferred=true;transferables.push(array.arrayBuffer)}return{length:array.length,arrayBuffer:array.arrayBuffer}};StructArray.deserialize=function deserialize(input){var structArray=Object.create(this.prototype);structArray.arrayBuffer=input.arrayBuffer;structArray.length=input.length;structArray.capacity=input.arrayBuffer.byteLength/structArray.bytesPerElement;structArray._refreshViews();return structArray};StructArray.prototype._trim=function _trim(){if(this.length!==this.capacity){this.capacity=this.length;this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement);this._refreshViews()}};StructArray.prototype.clear=function clear(){this.length=0};StructArray.prototype.resize=function resize(n){this.reserve(n);this.length=n};StructArray.prototype.reserve=function reserve(n){if(n>this.capacity){this.capacity=Math.max(n,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY);this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var oldUint8Array=this.uint8;this._refreshViews();if(oldUint8Array){this.uint8.set(oldUint8Array)}}};StructArray.prototype._refreshViews=function _refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};function createLayout(members,alignment){if(alignment===void 0)alignment=1;var offset=0;var maxSize=0;var layoutMembers=members.map((function(member){var typeSize=sizeOf(member.type);var memberOffset=offset=align(offset,Math.max(alignment,typeSize));var components=member.components||1;maxSize=Math.max(maxSize,typeSize);offset+=typeSize*components;return{name:member.name,type:member.type,components:components,offset:memberOffset}}));var size=align(offset,Math.max(maxSize,alignment));return{members:layoutMembers,size:size,alignment:alignment}}function sizeOf(type){return viewTypes[type].BYTES_PER_ELEMENT}function align(offset,size){return Math.ceil(offset/size)*size}var StructArrayLayout2i4=function(StructArray){function StructArrayLayout2i4(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2i4.__proto__=StructArray;StructArrayLayout2i4.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2i4.prototype.constructor=StructArrayLayout2i4;StructArrayLayout2i4.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)};StructArrayLayout2i4.prototype.emplaceBack=function emplaceBack(v0,v1){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1)};StructArrayLayout2i4.prototype.emplace=function emplace(i,v0,v1){var o2=i*2;this.int16[o2+0]=v0;this.int16[o2+1]=v1;return i};return StructArrayLayout2i4}(StructArray);StructArrayLayout2i4.prototype.bytesPerElement=4;register("StructArrayLayout2i4",StructArrayLayout2i4);var StructArrayLayout4i8=function(StructArray){function StructArrayLayout4i8(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout4i8.__proto__=StructArray;StructArrayLayout4i8.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout4i8.prototype.constructor=StructArrayLayout4i8;StructArrayLayout4i8.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)};StructArrayLayout4i8.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3)};StructArrayLayout4i8.prototype.emplace=function emplace(i,v0,v1,v2,v3){var o2=i*4;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.int16[o2+2]=v2;this.int16[o2+3]=v3;return i};return StructArrayLayout4i8}(StructArray);StructArrayLayout4i8.prototype.bytesPerElement=8;register("StructArrayLayout4i8",StructArrayLayout4i8);var StructArrayLayout2i4i12=function(StructArray){function StructArrayLayout2i4i12(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2i4i12.__proto__=StructArray;StructArrayLayout2i4i12.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2i4i12.prototype.constructor=StructArrayLayout2i4i12;StructArrayLayout2i4i12.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)};StructArrayLayout2i4i12.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4,v5){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4,v5)};StructArrayLayout2i4i12.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4,v5){var o2=i*6;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.int16[o2+2]=v2;this.int16[o2+3]=v3;this.int16[o2+4]=v4;this.int16[o2+5]=v5;return i};return StructArrayLayout2i4i12}(StructArray);StructArrayLayout2i4i12.prototype.bytesPerElement=12;register("StructArrayLayout2i4i12",StructArrayLayout2i4i12);var StructArrayLayout2i4ub8=function(StructArray){function StructArrayLayout2i4ub8(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2i4ub8.__proto__=StructArray;StructArrayLayout2i4ub8.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2i4ub8.prototype.constructor=StructArrayLayout2i4ub8;StructArrayLayout2i4ub8.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)};StructArrayLayout2i4ub8.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4,v5){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4,v5)};StructArrayLayout2i4ub8.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4,v5){var o2=i*4;var o1=i*8;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.uint8[o1+4]=v2;this.uint8[o1+5]=v3;this.uint8[o1+6]=v4;this.uint8[o1+7]=v5;return i};return StructArrayLayout2i4ub8}(StructArray);StructArrayLayout2i4ub8.prototype.bytesPerElement=8;register("StructArrayLayout2i4ub8",StructArrayLayout2i4ub8);var StructArrayLayout8ui2ub18=function(StructArray){function StructArrayLayout8ui2ub18(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout8ui2ub18.__proto__=StructArray;StructArrayLayout8ui2ub18.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout8ui2ub18.prototype.constructor=StructArrayLayout8ui2ub18;StructArrayLayout8ui2ub18.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)};StructArrayLayout8ui2ub18.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9)};StructArrayLayout8ui2ub18.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9){var o2=i*9;var o1=i*18;this.uint16[o2+0]=v0;this.uint16[o2+1]=v1;this.uint16[o2+2]=v2;this.uint16[o2+3]=v3;this.uint16[o2+4]=v4;this.uint16[o2+5]=v5;this.uint16[o2+6]=v6;this.uint16[o2+7]=v7;this.uint8[o1+16]=v8;this.uint8[o1+17]=v9;return i};return StructArrayLayout8ui2ub18}(StructArray);StructArrayLayout8ui2ub18.prototype.bytesPerElement=18;register("StructArrayLayout8ui2ub18",StructArrayLayout8ui2ub18);var StructArrayLayout4i4ui4i24=function(StructArray){function StructArrayLayout4i4ui4i24(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout4i4ui4i24.__proto__=StructArray;StructArrayLayout4i4ui4i24.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout4i4ui4i24.prototype.constructor=StructArrayLayout4i4ui4i24;StructArrayLayout4i4ui4i24.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)};StructArrayLayout4i4ui4i24.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11)};StructArrayLayout4i4ui4i24.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11){var o2=i*12;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.int16[o2+2]=v2;this.int16[o2+3]=v3;this.uint16[o2+4]=v4;this.uint16[o2+5]=v5;this.uint16[o2+6]=v6;this.uint16[o2+7]=v7;this.int16[o2+8]=v8;this.int16[o2+9]=v9;this.int16[o2+10]=v10;this.int16[o2+11]=v11;return i};return StructArrayLayout4i4ui4i24}(StructArray);StructArrayLayout4i4ui4i24.prototype.bytesPerElement=24;register("StructArrayLayout4i4ui4i24",StructArrayLayout4i4ui4i24);var StructArrayLayout3f12=function(StructArray){function StructArrayLayout3f12(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout3f12.__proto__=StructArray;StructArrayLayout3f12.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout3f12.prototype.constructor=StructArrayLayout3f12;StructArrayLayout3f12.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)};StructArrayLayout3f12.prototype.emplaceBack=function emplaceBack(v0,v1,v2){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2)};StructArrayLayout3f12.prototype.emplace=function emplace(i,v0,v1,v2){var o4=i*3;this.float32[o4+0]=v0;this.float32[o4+1]=v1;this.float32[o4+2]=v2;return i};return StructArrayLayout3f12}(StructArray);StructArrayLayout3f12.prototype.bytesPerElement=12;register("StructArrayLayout3f12",StructArrayLayout3f12);var StructArrayLayout1ul4=function(StructArray){function StructArrayLayout1ul4(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout1ul4.__proto__=StructArray;StructArrayLayout1ul4.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout1ul4.prototype.constructor=StructArrayLayout1ul4;StructArrayLayout1ul4.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer)};StructArrayLayout1ul4.prototype.emplaceBack=function emplaceBack(v0){var i=this.length;this.resize(i+1);return this.emplace(i,v0)};StructArrayLayout1ul4.prototype.emplace=function emplace(i,v0){var o4=i*1;this.uint32[o4+0]=v0;return i};return StructArrayLayout1ul4}(StructArray);StructArrayLayout1ul4.prototype.bytesPerElement=4;register("StructArrayLayout1ul4",StructArrayLayout1ul4);var StructArrayLayout6i1ul2ui20=function(StructArray){function StructArrayLayout6i1ul2ui20(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout6i1ul2ui20.__proto__=StructArray;StructArrayLayout6i1ul2ui20.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout6i1ul2ui20.prototype.constructor=StructArrayLayout6i1ul2ui20;StructArrayLayout6i1ul2ui20.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)};StructArrayLayout6i1ul2ui20.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4,v5,v6,v7,v8){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8)};StructArrayLayout6i1ul2ui20.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8){var o2=i*10;var o4=i*5;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.int16[o2+2]=v2;this.int16[o2+3]=v3;this.int16[o2+4]=v4;this.int16[o2+5]=v5;this.uint32[o4+3]=v6;this.uint16[o2+8]=v7;this.uint16[o2+9]=v8;return i};return StructArrayLayout6i1ul2ui20}(StructArray);StructArrayLayout6i1ul2ui20.prototype.bytesPerElement=20;register("StructArrayLayout6i1ul2ui20",StructArrayLayout6i1ul2ui20);var StructArrayLayout2i2i2i12=function(StructArray){function StructArrayLayout2i2i2i12(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2i2i2i12.__proto__=StructArray;StructArrayLayout2i2i2i12.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2i2i2i12.prototype.constructor=StructArrayLayout2i2i2i12;StructArrayLayout2i2i2i12.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)};StructArrayLayout2i2i2i12.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4,v5){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4,v5)};StructArrayLayout2i2i2i12.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4,v5){var o2=i*6;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.int16[o2+2]=v2;this.int16[o2+3]=v3;this.int16[o2+4]=v4;this.int16[o2+5]=v5;return i};return StructArrayLayout2i2i2i12}(StructArray);StructArrayLayout2i2i2i12.prototype.bytesPerElement=12;register("StructArrayLayout2i2i2i12",StructArrayLayout2i2i2i12);var StructArrayLayout2f1f2i16=function(StructArray){function StructArrayLayout2f1f2i16(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2f1f2i16.__proto__=StructArray;StructArrayLayout2f1f2i16.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2f1f2i16.prototype.constructor=StructArrayLayout2f1f2i16;StructArrayLayout2f1f2i16.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)};StructArrayLayout2f1f2i16.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4)};StructArrayLayout2f1f2i16.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4){var o4=i*4;var o2=i*8;this.float32[o4+0]=v0;this.float32[o4+1]=v1;this.float32[o4+2]=v2;this.int16[o2+6]=v3;this.int16[o2+7]=v4;return i};return StructArrayLayout2f1f2i16}(StructArray);StructArrayLayout2f1f2i16.prototype.bytesPerElement=16;register("StructArrayLayout2f1f2i16",StructArrayLayout2f1f2i16);var StructArrayLayout2ub2f12=function(StructArray){function StructArrayLayout2ub2f12(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2ub2f12.__proto__=StructArray;StructArrayLayout2ub2f12.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2ub2f12.prototype.constructor=StructArrayLayout2ub2f12;StructArrayLayout2ub2f12.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)};StructArrayLayout2ub2f12.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3)};StructArrayLayout2ub2f12.prototype.emplace=function emplace(i,v0,v1,v2,v3){var o1=i*12;var o4=i*3;this.uint8[o1+0]=v0;this.uint8[o1+1]=v1;this.float32[o4+1]=v2;this.float32[o4+2]=v3;return i};return StructArrayLayout2ub2f12}(StructArray);StructArrayLayout2ub2f12.prototype.bytesPerElement=12;register("StructArrayLayout2ub2f12",StructArrayLayout2ub2f12);var StructArrayLayout3ui6=function(StructArray){function StructArrayLayout3ui6(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout3ui6.__proto__=StructArray;StructArrayLayout3ui6.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout3ui6.prototype.constructor=StructArrayLayout3ui6;StructArrayLayout3ui6.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)};StructArrayLayout3ui6.prototype.emplaceBack=function emplaceBack(v0,v1,v2){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2)};StructArrayLayout3ui6.prototype.emplace=function emplace(i,v0,v1,v2){var o2=i*3;this.uint16[o2+0]=v0;this.uint16[o2+1]=v1;this.uint16[o2+2]=v2;return i};return StructArrayLayout3ui6}(StructArray);StructArrayLayout3ui6.prototype.bytesPerElement=6;register("StructArrayLayout3ui6",StructArrayLayout3ui6);var StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48=function(StructArray){function StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.__proto__=StructArray;StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.prototype.constructor=StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48;StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)};StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16)};StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16){var o2=i*24;var o4=i*12;var o1=i*48;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.uint16[o2+2]=v2;this.uint16[o2+3]=v3;this.uint32[o4+2]=v4;this.uint32[o4+3]=v5;this.uint32[o4+4]=v6;this.uint16[o2+10]=v7;this.uint16[o2+11]=v8;this.uint16[o2+12]=v9;this.float32[o4+7]=v10;this.float32[o4+8]=v11;this.uint8[o1+36]=v12;this.uint8[o1+37]=v13;this.uint8[o1+38]=v14;this.uint32[o4+10]=v15;this.int16[o2+22]=v16;return i};return StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48}(StructArray);StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.prototype.bytesPerElement=48;register("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48);var StructArrayLayout8i15ui1ul4f68=function(StructArray){function StructArrayLayout8i15ui1ul4f68(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout8i15ui1ul4f68.__proto__=StructArray;StructArrayLayout8i15ui1ul4f68.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout8i15ui1ul4f68.prototype.constructor=StructArrayLayout8i15ui1ul4f68;StructArrayLayout8i15ui1ul4f68.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)};StructArrayLayout8i15ui1ul4f68.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27)};StructArrayLayout8i15ui1ul4f68.prototype.emplace=function emplace(i,v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27){var o2=i*34;var o4=i*17;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.int16[o2+2]=v2;this.int16[o2+3]=v3;this.int16[o2+4]=v4;this.int16[o2+5]=v5;this.int16[o2+6]=v6;this.int16[o2+7]=v7;this.uint16[o2+8]=v8;this.uint16[o2+9]=v9;this.uint16[o2+10]=v10;this.uint16[o2+11]=v11;this.uint16[o2+12]=v12;this.uint16[o2+13]=v13;this.uint16[o2+14]=v14;this.uint16[o2+15]=v15;this.uint16[o2+16]=v16;this.uint16[o2+17]=v17;this.uint16[o2+18]=v18;this.uint16[o2+19]=v19;this.uint16[o2+20]=v20;this.uint16[o2+21]=v21;this.uint16[o2+22]=v22;this.uint32[o4+12]=v23;this.float32[o4+13]=v24;this.float32[o4+14]=v25;this.float32[o4+15]=v26;this.float32[o4+16]=v27;return i};return StructArrayLayout8i15ui1ul4f68}(StructArray);StructArrayLayout8i15ui1ul4f68.prototype.bytesPerElement=68;register("StructArrayLayout8i15ui1ul4f68",StructArrayLayout8i15ui1ul4f68);var StructArrayLayout1f4=function(StructArray){function StructArrayLayout1f4(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout1f4.__proto__=StructArray;StructArrayLayout1f4.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout1f4.prototype.constructor=StructArrayLayout1f4;StructArrayLayout1f4.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)};StructArrayLayout1f4.prototype.emplaceBack=function emplaceBack(v0){var i=this.length;this.resize(i+1);return this.emplace(i,v0)};StructArrayLayout1f4.prototype.emplace=function emplace(i,v0){var o4=i*1;this.float32[o4+0]=v0;return i};return StructArrayLayout1f4}(StructArray);StructArrayLayout1f4.prototype.bytesPerElement=4;register("StructArrayLayout1f4",StructArrayLayout1f4);var StructArrayLayout3i6=function(StructArray){function StructArrayLayout3i6(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout3i6.__proto__=StructArray;StructArrayLayout3i6.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout3i6.prototype.constructor=StructArrayLayout3i6;StructArrayLayout3i6.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)};StructArrayLayout3i6.prototype.emplaceBack=function emplaceBack(v0,v1,v2){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2)};StructArrayLayout3i6.prototype.emplace=function emplace(i,v0,v1,v2){var o2=i*3;this.int16[o2+0]=v0;this.int16[o2+1]=v1;this.int16[o2+2]=v2;return i};return StructArrayLayout3i6}(StructArray);StructArrayLayout3i6.prototype.bytesPerElement=6;register("StructArrayLayout3i6",StructArrayLayout3i6);var StructArrayLayout1ul2ui8=function(StructArray){function StructArrayLayout1ul2ui8(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout1ul2ui8.__proto__=StructArray;StructArrayLayout1ul2ui8.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout1ul2ui8.prototype.constructor=StructArrayLayout1ul2ui8;StructArrayLayout1ul2ui8.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)};StructArrayLayout1ul2ui8.prototype.emplaceBack=function emplaceBack(v0,v1,v2){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2)};StructArrayLayout1ul2ui8.prototype.emplace=function emplace(i,v0,v1,v2){var o4=i*2;var o2=i*4;this.uint32[o4+0]=v0;this.uint16[o2+2]=v1;this.uint16[o2+3]=v2;return i};return StructArrayLayout1ul2ui8}(StructArray);StructArrayLayout1ul2ui8.prototype.bytesPerElement=8;register("StructArrayLayout1ul2ui8",StructArrayLayout1ul2ui8);var StructArrayLayout2ui4=function(StructArray){function StructArrayLayout2ui4(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2ui4.__proto__=StructArray;StructArrayLayout2ui4.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2ui4.prototype.constructor=StructArrayLayout2ui4;StructArrayLayout2ui4.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)};StructArrayLayout2ui4.prototype.emplaceBack=function emplaceBack(v0,v1){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1)};StructArrayLayout2ui4.prototype.emplace=function emplace(i,v0,v1){var o2=i*2;this.uint16[o2+0]=v0;this.uint16[o2+1]=v1;return i};return StructArrayLayout2ui4}(StructArray);StructArrayLayout2ui4.prototype.bytesPerElement=4;register("StructArrayLayout2ui4",StructArrayLayout2ui4);var StructArrayLayout1ui2=function(StructArray){function StructArrayLayout1ui2(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout1ui2.__proto__=StructArray;StructArrayLayout1ui2.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout1ui2.prototype.constructor=StructArrayLayout1ui2;StructArrayLayout1ui2.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)};StructArrayLayout1ui2.prototype.emplaceBack=function emplaceBack(v0){var i=this.length;this.resize(i+1);return this.emplace(i,v0)};StructArrayLayout1ui2.prototype.emplace=function emplace(i,v0){var o2=i*1;this.uint16[o2+0]=v0;return i};return StructArrayLayout1ui2}(StructArray);StructArrayLayout1ui2.prototype.bytesPerElement=2;register("StructArrayLayout1ui2",StructArrayLayout1ui2);var StructArrayLayout2f8=function(StructArray){function StructArrayLayout2f8(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout2f8.__proto__=StructArray;StructArrayLayout2f8.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout2f8.prototype.constructor=StructArrayLayout2f8;StructArrayLayout2f8.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)};StructArrayLayout2f8.prototype.emplaceBack=function emplaceBack(v0,v1){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1)};StructArrayLayout2f8.prototype.emplace=function emplace(i,v0,v1){var o4=i*2;this.float32[o4+0]=v0;this.float32[o4+1]=v1;return i};return StructArrayLayout2f8}(StructArray);StructArrayLayout2f8.prototype.bytesPerElement=8;register("StructArrayLayout2f8",StructArrayLayout2f8);var StructArrayLayout4f16=function(StructArray){function StructArrayLayout4f16(){StructArray.apply(this,arguments)}if(StructArray)StructArrayLayout4f16.__proto__=StructArray;StructArrayLayout4f16.prototype=Object.create(StructArray&&StructArray.prototype);StructArrayLayout4f16.prototype.constructor=StructArrayLayout4f16;StructArrayLayout4f16.prototype._refreshViews=function _refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)};StructArrayLayout4f16.prototype.emplaceBack=function emplaceBack(v0,v1,v2,v3){var i=this.length;this.resize(i+1);return this.emplace(i,v0,v1,v2,v3)};StructArrayLayout4f16.prototype.emplace=function emplace(i,v0,v1,v2,v3){var o4=i*4;this.float32[o4+0]=v0;this.float32[o4+1]=v1;this.float32[o4+2]=v2;this.float32[o4+3]=v3;return i};return StructArrayLayout4f16}(StructArray);StructArrayLayout4f16.prototype.bytesPerElement=16;register("StructArrayLayout4f16",StructArrayLayout4f16);var CollisionBoxStruct=function(Struct){function CollisionBoxStruct(){Struct.apply(this,arguments)}if(Struct)CollisionBoxStruct.__proto__=Struct;CollisionBoxStruct.prototype=Object.create(Struct&&Struct.prototype);CollisionBoxStruct.prototype.constructor=CollisionBoxStruct;var prototypeAccessors={anchorPointX:{configurable:true},anchorPointY:{configurable:true},x1:{configurable:true},y1:{configurable:true},x2:{configurable:true},y2:{configurable:true},featureIndex:{configurable:true},sourceLayerIndex:{configurable:true},bucketIndex:{configurable:true},anchorPoint:{configurable:true}};prototypeAccessors.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]};prototypeAccessors.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]};prototypeAccessors.x1.get=function(){return this._structArray.int16[this._pos2+2]};prototypeAccessors.y1.get=function(){return this._structArray.int16[this._pos2+3]};prototypeAccessors.x2.get=function(){return this._structArray.int16[this._pos2+4]};prototypeAccessors.y2.get=function(){return this._structArray.int16[this._pos2+5]};prototypeAccessors.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]};prototypeAccessors.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]};prototypeAccessors.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]};prototypeAccessors.anchorPoint.get=function(){return new pointGeometry(this.anchorPointX,this.anchorPointY)};Object.defineProperties(CollisionBoxStruct.prototype,prototypeAccessors);return CollisionBoxStruct}(Struct);CollisionBoxStruct.prototype.size=20;var CollisionBoxArray=function(StructArrayLayout6i1ul2ui20){function CollisionBoxArray(){StructArrayLayout6i1ul2ui20.apply(this,arguments)}if(StructArrayLayout6i1ul2ui20)CollisionBoxArray.__proto__=StructArrayLayout6i1ul2ui20;CollisionBoxArray.prototype=Object.create(StructArrayLayout6i1ul2ui20&&StructArrayLayout6i1ul2ui20.prototype);CollisionBoxArray.prototype.constructor=CollisionBoxArray;CollisionBoxArray.prototype.get=function get(index){return new CollisionBoxStruct(this,index)};return CollisionBoxArray}(StructArrayLayout6i1ul2ui20);register("CollisionBoxArray",CollisionBoxArray);var PlacedSymbolStruct=function(Struct){function PlacedSymbolStruct(){Struct.apply(this,arguments)}if(Struct)PlacedSymbolStruct.__proto__=Struct;PlacedSymbolStruct.prototype=Object.create(Struct&&Struct.prototype);PlacedSymbolStruct.prototype.constructor=PlacedSymbolStruct;var prototypeAccessors$1={anchorX:{configurable:true},anchorY:{configurable:true},glyphStartIndex:{configurable:true},numGlyphs:{configurable:true},vertexStartIndex:{configurable:true},lineStartIndex:{configurable:true},lineLength:{configurable:true},segment:{configurable:true},lowerSize:{configurable:true},upperSize:{configurable:true},lineOffsetX:{configurable:true},lineOffsetY:{configurable:true},writingMode:{configurable:true},placedOrientation:{configurable:true},hidden:{configurable:true},crossTileID:{configurable:true},associatedIconIndex:{configurable:true}};prototypeAccessors$1.anchorX.get=function(){return this._structArray.int16[this._pos2+0]};prototypeAccessors$1.anchorY.get=function(){return this._structArray.int16[this._pos2+1]};prototypeAccessors$1.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]};prototypeAccessors$1.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]};prototypeAccessors$1.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]};prototypeAccessors$1.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]};prototypeAccessors$1.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]};prototypeAccessors$1.segment.get=function(){return this._structArray.uint16[this._pos2+10]};prototypeAccessors$1.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]};prototypeAccessors$1.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]};prototypeAccessors$1.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]};prototypeAccessors$1.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]};prototypeAccessors$1.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]};prototypeAccessors$1.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]};prototypeAccessors$1.placedOrientation.set=function(x){this._structArray.uint8[this._pos1+37]=x};prototypeAccessors$1.hidden.get=function(){return this._structArray.uint8[this._pos1+38]};prototypeAccessors$1.hidden.set=function(x){this._structArray.uint8[this._pos1+38]=x};prototypeAccessors$1.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]};prototypeAccessors$1.crossTileID.set=function(x){this._structArray.uint32[this._pos4+10]=x};prototypeAccessors$1.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]};Object.defineProperties(PlacedSymbolStruct.prototype,prototypeAccessors$1);return PlacedSymbolStruct}(Struct);PlacedSymbolStruct.prototype.size=48;var PlacedSymbolArray=function(StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48){function PlacedSymbolArray(){StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.apply(this,arguments)}if(StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48)PlacedSymbolArray.__proto__=StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48;PlacedSymbolArray.prototype=Object.create(StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48&&StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48.prototype);PlacedSymbolArray.prototype.constructor=PlacedSymbolArray;PlacedSymbolArray.prototype.get=function get(index){return new PlacedSymbolStruct(this,index)};return PlacedSymbolArray}(StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48);register("PlacedSymbolArray",PlacedSymbolArray);var SymbolInstanceStruct=function(Struct){function SymbolInstanceStruct(){Struct.apply(this,arguments)}if(Struct)SymbolInstanceStruct.__proto__=Struct;SymbolInstanceStruct.prototype=Object.create(Struct&&Struct.prototype);SymbolInstanceStruct.prototype.constructor=SymbolInstanceStruct;var prototypeAccessors$2={anchorX:{configurable:true},anchorY:{configurable:true},rightJustifiedTextSymbolIndex:{configurable:true},centerJustifiedTextSymbolIndex:{configurable:true},leftJustifiedTextSymbolIndex:{configurable:true},verticalPlacedTextSymbolIndex:{configurable:true},placedIconSymbolIndex:{configurable:true},verticalPlacedIconSymbolIndex:{configurable:true},key:{configurable:true},textBoxStartIndex:{configurable:true},textBoxEndIndex:{configurable:true},verticalTextBoxStartIndex:{configurable:true},verticalTextBoxEndIndex:{configurable:true},iconBoxStartIndex:{configurable:true},iconBoxEndIndex:{configurable:true},verticalIconBoxStartIndex:{configurable:true},verticalIconBoxEndIndex:{configurable:true},featureIndex:{configurable:true},numHorizontalGlyphVertices:{configurable:true},numVerticalGlyphVertices:{configurable:true},numIconVertices:{configurable:true},numVerticalIconVertices:{configurable:true},useRuntimeCollisionCircles:{configurable:true},crossTileID:{configurable:true},textBoxScale:{configurable:true},textOffset0:{configurable:true},textOffset1:{configurable:true},collisionCircleDiameter:{configurable:true}};prototypeAccessors$2.anchorX.get=function(){return this._structArray.int16[this._pos2+0]};prototypeAccessors$2.anchorY.get=function(){return this._structArray.int16[this._pos2+1]};prototypeAccessors$2.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]};prototypeAccessors$2.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]};prototypeAccessors$2.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]};prototypeAccessors$2.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]};prototypeAccessors$2.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]};prototypeAccessors$2.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]};prototypeAccessors$2.key.get=function(){return this._structArray.uint16[this._pos2+8]};prototypeAccessors$2.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]};prototypeAccessors$2.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]};prototypeAccessors$2.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]};prototypeAccessors$2.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]};prototypeAccessors$2.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]};prototypeAccessors$2.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]};prototypeAccessors$2.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]};prototypeAccessors$2.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]};prototypeAccessors$2.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]};prototypeAccessors$2.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]};prototypeAccessors$2.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]};prototypeAccessors$2.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]};prototypeAccessors$2.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]};prototypeAccessors$2.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]};prototypeAccessors$2.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]};prototypeAccessors$2.crossTileID.set=function(x){this._structArray.uint32[this._pos4+12]=x};prototypeAccessors$2.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]};prototypeAccessors$2.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]};prototypeAccessors$2.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]};prototypeAccessors$2.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]};Object.defineProperties(SymbolInstanceStruct.prototype,prototypeAccessors$2);return SymbolInstanceStruct}(Struct);SymbolInstanceStruct.prototype.size=68;var SymbolInstanceArray=function(StructArrayLayout8i15ui1ul4f68){function SymbolInstanceArray(){StructArrayLayout8i15ui1ul4f68.apply(this,arguments)}if(StructArrayLayout8i15ui1ul4f68)SymbolInstanceArray.__proto__=StructArrayLayout8i15ui1ul4f68;SymbolInstanceArray.prototype=Object.create(StructArrayLayout8i15ui1ul4f68&&StructArrayLayout8i15ui1ul4f68.prototype);SymbolInstanceArray.prototype.constructor=SymbolInstanceArray;SymbolInstanceArray.prototype.get=function get(index){return new SymbolInstanceStruct(this,index)};return SymbolInstanceArray}(StructArrayLayout8i15ui1ul4f68);register("SymbolInstanceArray",SymbolInstanceArray);var GlyphOffsetArray=function(StructArrayLayout1f4){function GlyphOffsetArray(){StructArrayLayout1f4.apply(this,arguments)}if(StructArrayLayout1f4)GlyphOffsetArray.__proto__=StructArrayLayout1f4;GlyphOffsetArray.prototype=Object.create(StructArrayLayout1f4&&StructArrayLayout1f4.prototype);GlyphOffsetArray.prototype.constructor=GlyphOffsetArray;GlyphOffsetArray.prototype.getoffsetX=function getoffsetX(index){return this.float32[index*1+0]};return GlyphOffsetArray}(StructArrayLayout1f4);register("GlyphOffsetArray",GlyphOffsetArray);var SymbolLineVertexArray=function(StructArrayLayout3i6){function SymbolLineVertexArray(){StructArrayLayout3i6.apply(this,arguments)}if(StructArrayLayout3i6)SymbolLineVertexArray.__proto__=StructArrayLayout3i6;SymbolLineVertexArray.prototype=Object.create(StructArrayLayout3i6&&StructArrayLayout3i6.prototype);SymbolLineVertexArray.prototype.constructor=SymbolLineVertexArray;SymbolLineVertexArray.prototype.getx=function getx(index){return this.int16[index*3+0]};SymbolLineVertexArray.prototype.gety=function gety(index){return this.int16[index*3+1]};SymbolLineVertexArray.prototype.gettileUnitDistanceFromAnchor=function gettileUnitDistanceFromAnchor(index){return this.int16[index*3+2]};return SymbolLineVertexArray}(StructArrayLayout3i6);register("SymbolLineVertexArray",SymbolLineVertexArray);var FeatureIndexStruct=function(Struct){function FeatureIndexStruct(){Struct.apply(this,arguments)}if(Struct)FeatureIndexStruct.__proto__=Struct;FeatureIndexStruct.prototype=Object.create(Struct&&Struct.prototype);FeatureIndexStruct.prototype.constructor=FeatureIndexStruct;var prototypeAccessors$3={featureIndex:{configurable:true},sourceLayerIndex:{configurable:true},bucketIndex:{configurable:true}};prototypeAccessors$3.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]};prototypeAccessors$3.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]};prototypeAccessors$3.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]};Object.defineProperties(FeatureIndexStruct.prototype,prototypeAccessors$3);return FeatureIndexStruct}(Struct);FeatureIndexStruct.prototype.size=8;var FeatureIndexArray=function(StructArrayLayout1ul2ui8){function FeatureIndexArray(){StructArrayLayout1ul2ui8.apply(this,arguments)}if(StructArrayLayout1ul2ui8)FeatureIndexArray.__proto__=StructArrayLayout1ul2ui8;FeatureIndexArray.prototype=Object.create(StructArrayLayout1ul2ui8&&StructArrayLayout1ul2ui8.prototype);FeatureIndexArray.prototype.constructor=FeatureIndexArray;FeatureIndexArray.prototype.get=function get(index){return new FeatureIndexStruct(this,index)};return FeatureIndexArray}(StructArrayLayout1ul2ui8);register("FeatureIndexArray",FeatureIndexArray);var layout$1=createLayout([{name:"a_pos",components:2,type:"Int16"}],4);var members=layout$1.members;var SegmentVector=function SegmentVector(segments){if(segments===void 0)segments=[];this.segments=segments};SegmentVector.prototype.prepareSegment=function prepareSegment(numVertices,layoutVertexArray,indexArray,sortKey){var segment=this.segments[this.segments.length-1];if(numVertices>SegmentVector.MAX_VERTEX_ARRAY_LENGTH){warnOnce("Max vertices per segment is "+SegmentVector.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+numVertices)}if(!segment||segment.vertexLength+numVertices>SegmentVector.MAX_VERTEX_ARRAY_LENGTH||segment.sortKey!==sortKey){segment={vertexOffset:layoutVertexArray.length,primitiveOffset:indexArray.length,vertexLength:0,primitiveLength:0};if(sortKey!==undefined){segment.sortKey=sortKey}this.segments.push(segment)}return segment};SegmentVector.prototype.get=function get(){return this.segments};SegmentVector.prototype.destroy=function destroy(){for(var i=0,list=this.segments;i<list.length;i+=1){var segment=list[i];for(var k in segment.vaos){segment.vaos[k].destroy()}}};SegmentVector.simpleSegment=function simpleSegment(vertexOffset,primitiveOffset,vertexLength,primitiveLength){return new SegmentVector([{vertexOffset:vertexOffset,primitiveOffset:primitiveOffset,vertexLength:vertexLength,primitiveLength:primitiveLength,vaos:{},sortKey:0}])};SegmentVector.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1;register("SegmentVector",SegmentVector);function packUint8ToFloat(a,b){a=clamp(Math.floor(a),0,255);b=clamp(Math.floor(b),0,255);return 256*a+b}var patternAttributes=createLayout([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint8"},{name:"a_pixel_ratio_to",components:1,type:"Uint8"}]);var murmurhash3_gc=createCommonjsModule((function(module){function murmurhash3_32_gc(key,seed){var remainder,bytes,h1,h1b,c1,c2,k1,i;remainder=key.length&3;bytes=key.length-remainder;h1=seed;c1=3432918353;c2=461845907;i=0;while(i<bytes){k1=key.charCodeAt(i)&255|(key.charCodeAt(++i)&255)<<8|(key.charCodeAt(++i)&255)<<16|(key.charCodeAt(++i)&255)<<24;++i;k1=(k1&65535)*c1+(((k1>>>16)*c1&65535)<<16)&4294967295;k1=k1<<15|k1>>>17;k1=(k1&65535)*c2+(((k1>>>16)*c2&65535)<<16)&4294967295;h1^=k1;h1=h1<<13|h1>>>19;h1b=(h1&65535)*5+(((h1>>>16)*5&65535)<<16)&4294967295;h1=(h1b&65535)+27492+(((h1b>>>16)+58964&65535)<<16)}k1=0;switch(remainder){case 3:k1^=(key.charCodeAt(i+2)&255)<<16;case 2:k1^=(key.charCodeAt(i+1)&255)<<8;case 1:k1^=key.charCodeAt(i)&255;k1=(k1&65535)*c1+(((k1>>>16)*c1&65535)<<16)&4294967295;k1=k1<<15|k1>>>17;k1=(k1&65535)*c2+(((k1>>>16)*c2&65535)<<16)&4294967295;h1^=k1}h1^=key.length;h1^=h1>>>16;h1=(h1&65535)*2246822507+(((h1>>>16)*2246822507&65535)<<16)&4294967295;h1^=h1>>>13;h1=(h1&65535)*3266489909+(((h1>>>16)*3266489909&65535)<<16)&4294967295;h1^=h1>>>16;return h1>>>0}{module.exports=murmurhash3_32_gc}}));var murmurhash2_gc=createCommonjsModule((function(module){function murmurhash2_32_gc(str,seed){var l=str.length,h=seed^l,i=0,k;while(l>=4){k=str.charCodeAt(i)&255|(str.charCodeAt(++i)&255)<<8|(str.charCodeAt(++i)&255)<<16|(str.charCodeAt(++i)&255)<<24;k=(k&65535)*1540483477+(((k>>>16)*1540483477&65535)<<16);k^=k>>>24;k=(k&65535)*1540483477+(((k>>>16)*1540483477&65535)<<16);h=(h&65535)*1540483477+(((h>>>16)*1540483477&65535)<<16)^k;l-=4;++i}switch(l){case 3:h^=(str.charCodeAt(i+2)&255)<<16;case 2:h^=(str.charCodeAt(i+1)&255)<<8;case 1:h^=str.charCodeAt(i)&255;h=(h&65535)*1540483477+(((h>>>16)*1540483477&65535)<<16)}h^=h>>>13;h=(h&65535)*1540483477+(((h>>>16)*1540483477&65535)<<16);h^=h>>>15;return h>>>0}{module.exports=murmurhash2_32_gc}}));var murmurhashJs=murmurhash3_gc;var murmur3_1=murmurhash3_gc;var murmur2_1=murmurhash2_gc;murmurhashJs.murmur3=murmur3_1;murmurhashJs.murmur2=murmur2_1;var FeaturePositionMap=function FeaturePositionMap(){this.ids=[];this.positions=[];this.indexed=false};FeaturePositionMap.prototype.add=function add(id,index,start,end){this.ids.push(getNumericId(id));this.positions.push(index,start,end)};FeaturePositionMap.prototype.getPositions=function getPositions(id){var intId=getNumericId(id);var i=0;var j=this.ids.length-1;while(i<j){var m=i+j>>1;if(this.ids[m]>=intId){j=m}else{i=m+1}}var positions=[];while(this.ids[i]===intId){var index=this.positions[3*i];var start=this.positions[3*i+1];var end=this.positions[3*i+2];positions.push({index:index,start:start,end:end});i++}return positions};FeaturePositionMap.serialize=function serialize(map,transferables){var ids=new Float64Array(map.ids);var positions=new Uint32Array(map.positions);sort(ids,positions,0,ids.length-1);if(transferables){transferables.push(ids.buffer,positions.buffer)}return{ids:ids,positions:positions}};FeaturePositionMap.deserialize=function deserialize(obj){var map=new FeaturePositionMap;map.ids=obj.ids;map.positions=obj.positions;map.indexed=true;return map};var MAX_SAFE_INTEGER=Math.pow(2,53)-1;function getNumericId(value){var numValue=+value;if(!isNaN(numValue)&&numValue<=MAX_SAFE_INTEGER){return numValue}return murmurhashJs(String(value))}function sort(ids,positions,left,right){while(left<right){var pivot=ids[left+right>>1];var i=left-1;var j=right+1;while(true){do{i++}while(ids[i]<pivot);do{j--}while(ids[j]>pivot);if(i>=j){break}swap(ids,i,j);swap(positions,3*i,3*j);swap(positions,3*i+1,3*j+1);swap(positions,3*i+2,3*j+2)}if(j-left<right-j){sort(ids,positions,left,j);left=j+1}else{sort(ids,positions,j+1,right);right=j}}}function swap(arr,i,j){var tmp=arr[i];arr[i]=arr[j];arr[j]=tmp}register("FeaturePositionMap",FeaturePositionMap);var Uniform=function Uniform(context,location){this.gl=context.gl;this.location=location};var Uniform1i=function(Uniform){function Uniform1i(context,location){Uniform.call(this,context,location);this.current=0}if(Uniform)Uniform1i.__proto__=Uniform;Uniform1i.prototype=Object.create(Uniform&&Uniform.prototype);Uniform1i.prototype.constructor=Uniform1i;Uniform1i.prototype.set=function set(v){if(this.current!==v){this.current=v;this.gl.uniform1i(this.location,v)}};return Uniform1i}(Uniform);var Uniform1f=function(Uniform){function Uniform1f(context,location){Uniform.call(this,context,location);this.current=0}if(Uniform)Uniform1f.__proto__=Uniform;Uniform1f.prototype=Object.create(Uniform&&Uniform.prototype);Uniform1f.prototype.constructor=Uniform1f;Uniform1f.prototype.set=function set(v){if(this.current!==v){this.current=v;this.gl.uniform1f(this.location,v)}};return Uniform1f}(Uniform);var Uniform2f=function(Uniform){function Uniform2f(context,location){Uniform.call(this,context,location);this.current=[0,0]}if(Uniform)Uniform2f.__proto__=Uniform;Uniform2f.prototype=Object.create(Uniform&&Uniform.prototype);Uniform2f.prototype.constructor=Uniform2f;Uniform2f.prototype.set=function set(v){if(v[0]!==this.current[0]||v[1]!==this.current[1]){this.current=v;this.gl.uniform2f(this.location,v[0],v[1])}};return Uniform2f}(Uniform);var Uniform3f=function(Uniform){function Uniform3f(context,location){Uniform.call(this,context,location);this.current=[0,0,0]}if(Uniform)Uniform3f.__proto__=Uniform;Uniform3f.prototype=Object.create(Uniform&&Uniform.prototype);Uniform3f.prototype.constructor=Uniform3f;Uniform3f.prototype.set=function set(v){if(v[0]!==this.current[0]||v[1]!==this.current[1]||v[2]!==this.current[2]){this.current=v;this.gl.uniform3f(this.location,v[0],v[1],v[2])}};return Uniform3f}(Uniform);var Uniform4f=function(Uniform){function Uniform4f(context,location){Uniform.call(this,context,location);this.current=[0,0,0,0]}if(Uniform)Uniform4f.__proto__=Uniform;Uniform4f.prototype=Object.create(Uniform&&Uniform.prototype);Uniform4f.prototype.constructor=Uniform4f;Uniform4f.prototype.set=function set(v){if(v[0]!==this.current[0]||v[1]!==this.current[1]||v[2]!==this.current[2]||v[3]!==this.current[3]){this.current=v;this.gl.uniform4f(this.location,v[0],v[1],v[2],v[3])}};return Uniform4f}(Uniform);var UniformColor=function(Uniform){function UniformColor(context,location){Uniform.call(this,context,location);this.current=Color.transparent}if(Uniform)UniformColor.__proto__=Uniform;UniformColor.prototype=Object.create(Uniform&&Uniform.prototype);UniformColor.prototype.constructor=UniformColor;UniformColor.prototype.set=function set(v){if(v.r!==this.current.r||v.g!==this.current.g||v.b!==this.current.b||v.a!==this.current.a){this.current=v;this.gl.uniform4f(this.location,v.r,v.g,v.b,v.a)}};return UniformColor}(Uniform);var emptyMat4=new Float32Array(16);var UniformMatrix4f=function(Uniform){function UniformMatrix4f(context,location){Uniform.call(this,context,location);this.current=emptyMat4}if(Uniform)UniformMatrix4f.__proto__=Uniform;UniformMatrix4f.prototype=Object.create(Uniform&&Uniform.prototype);UniformMatrix4f.prototype.constructor=UniformMatrix4f;UniformMatrix4f.prototype.set=function set(v){if(v[12]!==this.current[12]||v[0]!==this.current[0]){this.current=v;this.gl.uniformMatrix4fv(this.location,false,v);return}for(var i=1;i<16;i++){if(v[i]!==this.current[i]){this.current=v;this.gl.uniformMatrix4fv(this.location,false,v);break}}};return UniformMatrix4f}(Uniform);function packColor(color){return[packUint8ToFloat(255*color.r,255*color.g),packUint8ToFloat(255*color.b,255*color.a)]}var ConstantBinder=function ConstantBinder(value,names,type){this.value=value;this.uniformNames=names.map((function(name){return"u_"+name}));this.type=type};ConstantBinder.prototype.setUniform=function setUniform(uniform,globals,currentValue){uniform.set(currentValue.constantOr(this.value))};ConstantBinder.prototype.getBinding=function getBinding(context,location,_){return this.type==="color"?new UniformColor(context,location):new Uniform1f(context,location)};var CrossFadedConstantBinder=function CrossFadedConstantBinder(value,names){this.uniformNames=names.map((function(name){return"u_"+name}));this.patternFrom=null;this.patternTo=null;this.pixelRatioFrom=1;this.pixelRatioTo=1};CrossFadedConstantBinder.prototype.setConstantPatternPositions=function setConstantPatternPositions(posTo,posFrom){this.pixelRatioFrom=posFrom.pixelRatio;this.pixelRatioTo=posTo.pixelRatio;this.patternFrom=posFrom.tlbr;this.patternTo=posTo.tlbr};CrossFadedConstantBinder.prototype.setUniform=function setUniform(uniform,globals,currentValue,uniformName){var pos=uniformName==="u_pattern_to"?this.patternTo:uniformName==="u_pattern_from"?this.patternFrom:uniformName==="u_pixel_ratio_to"?this.pixelRatioTo:uniformName==="u_pixel_ratio_from"?this.pixelRatioFrom:null;if(pos){uniform.set(pos)}};CrossFadedConstantBinder.prototype.getBinding=function getBinding(context,location,name){return name.substr(0,9)==="u_pattern"?new Uniform4f(context,location):new Uniform1f(context,location)};var SourceExpressionBinder=function SourceExpressionBinder(expression,names,type,PaintVertexArray){this.expression=expression;this.type=type;this.maxValue=0;this.paintVertexAttributes=names.map((function(name){return{name:"a_"+name,type:"Float32",components:type==="color"?2:1,offset:0}}));this.paintVertexArray=new PaintVertexArray};SourceExpressionBinder.prototype.populatePaintArray=function populatePaintArray(newLength,feature,imagePositions,canonical,formattedSection){var start=this.paintVertexArray.length;var value=this.expression.evaluate(new EvaluationParameters(0),feature,{},canonical,[],formattedSection);this.paintVertexArray.resize(newLength);this._setPaintValue(start,newLength,value)};SourceExpressionBinder.prototype.updatePaintArray=function updatePaintArray(start,end,feature,featureState){var value=this.expression.evaluate({zoom:0},feature,featureState);this._setPaintValue(start,end,value)};SourceExpressionBinder.prototype._setPaintValue=function _setPaintValue(start,end,value){if(this.type==="color"){var color=packColor(value);for(var i=start;i<end;i++){this.paintVertexArray.emplace(i,color[0],color[1])}}else{for(var i$1=start;i$1<end;i$1++){this.paintVertexArray.emplace(i$1,value)}this.maxValue=Math.max(this.maxValue,Math.abs(value))}};SourceExpressionBinder.prototype.upload=function upload(context){if(this.paintVertexArray&&this.paintVertexArray.arrayBuffer){if(this.paintVertexBuffer&&this.paintVertexBuffer.buffer){this.paintVertexBuffer.updateData(this.paintVertexArray)}else{this.paintVertexBuffer=context.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent)}}};SourceExpressionBinder.prototype.destroy=function destroy(){if(this.paintVertexBuffer){this.paintVertexBuffer.destroy()}};var CompositeExpressionBinder=function CompositeExpressionBinder(expression,names,type,useIntegerZoom,zoom,PaintVertexArray){this.expression=expression;this.uniformNames=names.map((function(name){return"u_"+name+"_t"}));this.type=type;this.useIntegerZoom=useIntegerZoom;this.zoom=zoom;this.maxValue=0;this.paintVertexAttributes=names.map((function(name){return{name:"a_"+name,type:"Float32",components:type==="color"?4:2,offset:0}}));this.paintVertexArray=new PaintVertexArray};CompositeExpressionBinder.prototype.populatePaintArray=function populatePaintArray(newLength,feature,imagePositions,canonical,formattedSection){var min=this.expression.evaluate(new EvaluationParameters(this.zoom),feature,{},canonical,[],formattedSection);var max=this.expression.evaluate(new EvaluationParameters(this.zoom+1),feature,{},canonical,[],formattedSection);var start=this.paintVertexArray.length;this.paintVertexArray.resize(newLength);this._setPaintValue(start,newLength,min,max)};CompositeExpressionBinder.prototype.updatePaintArray=function updatePaintArray(start,end,feature,featureState){var min=this.expression.evaluate({zoom:this.zoom},feature,featureState);var max=this.expression.evaluate({zoom:this.zoom+1},feature,featureState);this._setPaintValue(start,end,min,max)};CompositeExpressionBinder.prototype._setPaintValue=function _setPaintValue(start,end,min,max){if(this.type==="color"){var minColor=packColor(min);var maxColor=packColor(max);for(var i=start;i<end;i++){this.paintVertexArray.emplace(i,minColor[0],minColor[1],maxColor[0],maxColor[1])}}else{for(var i$1=start;i$1<end;i$1++){this.paintVertexArray.emplace(i$1,min,max)}this.maxValue=Math.max(this.maxValue,Math.abs(min),Math.abs(max))}};CompositeExpressionBinder.prototype.upload=function upload(context){if(this.paintVertexArray&&this.paintVertexArray.arrayBuffer){if(this.paintVertexBuffer&&this.paintVertexBuffer.buffer){this.paintVertexBuffer.updateData(this.paintVertexArray)}else{this.paintVertexBuffer=context.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent)}}};CompositeExpressionBinder.prototype.destroy=function destroy(){if(this.paintVertexBuffer){this.paintVertexBuffer.destroy()}};CompositeExpressionBinder.prototype.setUniform=function setUniform(uniform,globals){var currentZoom=this.useIntegerZoom?Math.floor(globals.zoom):globals.zoom;var factor=clamp(this.expression.interpolationFactor(currentZoom,this.zoom,this.zoom+1),0,1);uniform.set(factor)};CompositeExpressionBinder.prototype.getBinding=function getBinding(context,location,_){return new Uniform1f(context,location)};var CrossFadedCompositeBinder=function CrossFadedCompositeBinder(expression,type,useIntegerZoom,zoom,PaintVertexArray,layerId){this.expression=expression;this.type=type;this.useIntegerZoom=useIntegerZoom;this.zoom=zoom;this.layerId=layerId;this.zoomInPaintVertexArray=new PaintVertexArray;this.zoomOutPaintVertexArray=new PaintVertexArray};CrossFadedCompositeBinder.prototype.populatePaintArray=function populatePaintArray(length,feature,imagePositions){var start=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(length);this.zoomOutPaintVertexArray.resize(length);this._setPaintValues(start,length,feature.patterns&&feature.patterns[this.layerId],imagePositions)};CrossFadedCompositeBinder.prototype.updatePaintArray=function updatePaintArray(start,end,feature,featureState,imagePositions){this._setPaintValues(start,end,feature.patterns&&feature.patterns[this.layerId],imagePositions)};CrossFadedCompositeBinder.prototype._setPaintValues=function _setPaintValues(start,end,patterns,positions){if(!positions||!patterns){return}var min=patterns.min;var mid=patterns.mid;var max=patterns.max;var imageMin=positions[min];var imageMid=positions[mid];var imageMax=positions[max];if(!imageMin||!imageMid||!imageMax){return}for(var i=start;i<end;i++){this.zoomInPaintVertexArray.emplace(i,imageMid.tl[0],imageMid.tl[1],imageMid.br[0],imageMid.br[1],imageMin.tl[0],imageMin.tl[1],imageMin.br[0],imageMin.br[1],imageMid.pixelRatio,imageMin.pixelRatio);this.zoomOutPaintVertexArray.emplace(i,imageMid.tl[0],imageMid.tl[1],imageMid.br[0],imageMid.br[1],imageMax.tl[0],imageMax.tl[1],imageMax.br[0],imageMax.br[1],imageMid.pixelRatio,imageMax.pixelRatio)}};CrossFadedCompositeBinder.prototype.upload=function upload(context){if(this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer){this.zoomInPaintVertexBuffer=context.createVertexBuffer(this.zoomInPaintVertexArray,patternAttributes.members,this.expression.isStateDependent);this.zoomOutPaintVertexBuffer=context.createVertexBuffer(this.zoomOutPaintVertexArray,patternAttributes.members,this.expression.isStateDependent)}};CrossFadedCompositeBinder.prototype.destroy=function destroy(){if(this.zoomOutPaintVertexBuffer){this.zoomOutPaintVertexBuffer.destroy()}if(this.zoomInPaintVertexBuffer){this.zoomInPaintVertexBuffer.destroy()}};var ProgramConfiguration=function ProgramConfiguration(layer,zoom,filterProperties,layoutAttributes){this.binders={};this.layoutAttributes=layoutAttributes;this._buffers=[];var keys=[];for(var property in layer.paint._values){if(!filterProperties(property)){continue}var value=layer.paint.get(property);if(!(value instanceof PossiblyEvaluatedPropertyValue)||!supportsPropertyExpression(value.property.specification)){continue}var names=paintAttributeNames(property,layer.type);var expression=value.value;var type=value.property.specification.type;var useIntegerZoom=value.property.useIntegerZoom;var propType=value.property.specification["property-type"];var isCrossFaded=propType==="cross-faded"||propType==="cross-faded-data-driven";if(expression.kind==="constant"){this.binders[property]=isCrossFaded?new CrossFadedConstantBinder(expression.value,names):new ConstantBinder(expression.value,names,type);keys.push("/u_"+property)}else if(expression.kind==="source"||isCrossFaded){var StructArrayLayout=layoutType(property,type,"source");this.binders[property]=isCrossFaded?new CrossFadedCompositeBinder(expression,type,useIntegerZoom,zoom,StructArrayLayout,layer.id):new SourceExpressionBinder(expression,names,type,StructArrayLayout);keys.push("/a_"+property)}else{var StructArrayLayout$1=layoutType(property,type,"composite");this.binders[property]=new CompositeExpressionBinder(expression,names,type,useIntegerZoom,zoom,StructArrayLayout$1);keys.push("/z_"+property)}}this.cacheKey=keys.sort().join("")};ProgramConfiguration.prototype.getMaxValue=function getMaxValue(property){var binder=this.binders[property];return binder instanceof SourceExpressionBinder||binder instanceof CompositeExpressionBinder?binder.maxValue:0};ProgramConfiguration.prototype.populatePaintArrays=function populatePaintArrays(newLength,feature,imagePositions,canonical,formattedSection){for(var property in this.binders){var binder=this.binders[property];if(binder instanceof SourceExpressionBinder||binder instanceof CompositeExpressionBinder||binder instanceof CrossFadedCompositeBinder){binder.populatePaintArray(newLength,feature,imagePositions,canonical,formattedSection)}}};ProgramConfiguration.prototype.setConstantPatternPositions=function setConstantPatternPositions(posTo,posFrom){for(var property in this.binders){var binder=this.binders[property];if(binder instanceof CrossFadedConstantBinder){binder.setConstantPatternPositions(posTo,posFrom)}}};ProgramConfiguration.prototype.updatePaintArrays=function updatePaintArrays(featureStates,featureMap,vtLayer,layer,imagePositions){var dirty=false;for(var id in featureStates){var positions=featureMap.getPositions(id);for(var i=0,list=positions;i<list.length;i+=1){var pos=list[i];var feature=vtLayer.feature(pos.index);for(var property in this.binders){var binder=this.binders[property];if((binder instanceof SourceExpressionBinder||binder instanceof CompositeExpressionBinder||binder instanceof CrossFadedCompositeBinder)&&binder.expression.isStateDependent===true){var value=layer.paint.get(property);binder.expression=value.value;binder.updatePaintArray(pos.start,pos.end,feature,featureStates[id],imagePositions);dirty=true}}}}return dirty};ProgramConfiguration.prototype.defines=function defines(){var result=[];for(var property in this.binders){var binder=this.binders[property];if(binder instanceof ConstantBinder||binder instanceof CrossFadedConstantBinder){result.push.apply(result,binder.uniformNames.map((function(name){return"#define HAS_UNIFORM_"+name})))}}return result};ProgramConfiguration.prototype.getPaintVertexBuffers=function getPaintVertexBuffers(){return this._buffers};ProgramConfiguration.prototype.getUniforms=function getUniforms(context,locations){var uniforms=[];for(var property in this.binders){var binder=this.binders[property];if(binder instanceof ConstantBinder||binder instanceof CrossFadedConstantBinder||binder instanceof CompositeExpressionBinder){for(var i=0,list=binder.uniformNames;i<list.length;i+=1){var name=list[i];if(locations[name]){var binding=binder.getBinding(context,locations[name],name);uniforms.push({name:name,property:property,binding:binding})}}}}return uniforms};ProgramConfiguration.prototype.setUniforms=function setUniforms(context,binderUniforms,properties,globals){for(var i=0,list=binderUniforms;i<list.length;i+=1){var ref=list[i];var name=ref.name;var property=ref.property;var binding=ref.binding;this.binders[property].setUniform(binding,globals,properties.get(property),name)}};ProgramConfiguration.prototype.updatePaintBuffers=function updatePaintBuffers(crossfade){this._buffers=[];for(var property in this.binders){var binder=this.binders[property];if(crossfade&&binder instanceof CrossFadedCompositeBinder){var patternVertexBuffer=crossfade.fromScale===2?binder.zoomInPaintVertexBuffer:binder.zoomOutPaintVertexBuffer;if(patternVertexBuffer){this._buffers.push(patternVertexBuffer)}}else if((binder instanceof SourceExpressionBinder||binder instanceof CompositeExpressionBinder)&&binder.paintVertexBuffer){this._buffers.push(binder.paintVertexBuffer)}}};ProgramConfiguration.prototype.upload=function upload(context){for(var property in this.binders){var binder=this.binders[property];if(binder instanceof SourceExpressionBinder||binder instanceof CompositeExpressionBinder||binder instanceof CrossFadedCompositeBinder){binder.upload(context)}}this.updatePaintBuffers()};ProgramConfiguration.prototype.destroy=function destroy(){for(var property in this.binders){var binder=this.binders[property];if(binder instanceof SourceExpressionBinder||binder instanceof CompositeExpressionBinder||binder instanceof CrossFadedCompositeBinder){binder.destroy()}}};var ProgramConfigurationSet=function ProgramConfigurationSet(layoutAttributes,layers,zoom,filterProperties){if(filterProperties===void 0)filterProperties=function(){return true};this.programConfigurations={};for(var i=0,list=layers;i<list.length;i+=1){var layer=list[i];this.programConfigurations[layer.id]=new ProgramConfiguration(layer,zoom,filterProperties,layoutAttributes)}this.needsUpload=false;this._featureMap=new FeaturePositionMap;this._bufferOffset=0};ProgramConfigurationSet.prototype.populatePaintArrays=function populatePaintArrays(length,feature,index,imagePositions,canonical,formattedSection){for(var key in this.programConfigurations){this.programConfigurations[key].populatePaintArrays(length,feature,imagePositions,canonical,formattedSection)}if(feature.id!==undefined){this._featureMap.add(feature.id,index,this._bufferOffset,length)}this._bufferOffset=length;this.needsUpload=true};ProgramConfigurationSet.prototype.updatePaintArrays=function updatePaintArrays(featureStates,vtLayer,layers,imagePositions){for(var i=0,list=layers;i<list.length;i+=1){var layer=list[i];this.needsUpload=this.programConfigurations[layer.id].updatePaintArrays(featureStates,this._featureMap,vtLayer,layer,imagePositions)||this.needsUpload}};ProgramConfigurationSet.prototype.get=function get(layerId){return this.programConfigurations[layerId]};ProgramConfigurationSet.prototype.upload=function upload(context){if(!this.needsUpload){return}for(var layerId in this.programConfigurations){this.programConfigurations[layerId].upload(context)}this.needsUpload=false};ProgramConfigurationSet.prototype.destroy=function destroy(){for(var layerId in this.programConfigurations){this.programConfigurations[layerId].destroy()}};function paintAttributeNames(property,type){var attributeNameExceptions={"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]};return attributeNameExceptions[property]||[property.replace(type+"-","").replace(/-/g,"_")]}function getLayoutException(property){var propertyExceptions={"line-pattern":{source:StructArrayLayout8ui2ub18,composite:StructArrayLayout8ui2ub18},"fill-pattern":{source:StructArrayLayout8ui2ub18,composite:StructArrayLayout8ui2ub18},"fill-extrusion-pattern":{source:StructArrayLayout8ui2ub18,composite:StructArrayLayout8ui2ub18}};return propertyExceptions[property]}function layoutType(property,type,binderType){var defaultLayouts={color:{source:StructArrayLayout2f8,composite:StructArrayLayout4f16},number:{source:StructArrayLayout1f4,composite:StructArrayLayout2f8}};var layoutException=getLayoutException(property);return layoutException&&layoutException[binderType]||defaultLayouts[type][binderType]}register("ConstantBinder",ConstantBinder);register("CrossFadedConstantBinder",CrossFadedConstantBinder);register("SourceExpressionBinder",SourceExpressionBinder);register("CrossFadedCompositeBinder",CrossFadedCompositeBinder);register("CompositeExpressionBinder",CompositeExpressionBinder);register("ProgramConfiguration",ProgramConfiguration,{omit:["_buffers"]});register("ProgramConfigurationSet",ProgramConfigurationSet);var EXTENT$1=8192;function createBounds(bits){return{min:-1*Math.pow(2,bits-1),max:Math.pow(2,bits-1)-1}}var bounds=createBounds(15);function loadGeometry(feature){var scale=EXTENT$1/feature.extent;var geometry=feature.loadGeometry();for(var r=0;r<geometry.length;r++){var ring=geometry[r];for(var p=0;p<ring.length;p++){var point=ring[p];point.x=Math.round(point.x*scale);point.y=Math.round(point.y*scale);if(point.x<bounds.min||point.x>bounds.max||point.y<bounds.min||point.y>bounds.max){warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size");point.x=clamp(point.x,bounds.min,bounds.max);point.y=clamp(point.y,bounds.min,bounds.max)}}}return geometry}function addCircleVertex(layoutVertexArray,x,y,extrudeX,extrudeY){layoutVertexArray.emplaceBack(x*2+(extrudeX+1)/2,y*2+(extrudeY+1)/2)}var CircleBucket=function CircleBucket(options){this.zoom=options.zoom;this.overscaling=options.overscaling;this.layers=options.layers;this.layerIds=this.layers.map((function(layer){return layer.id}));this.index=options.index;this.hasPattern=false;this.layoutVertexArray=new StructArrayLayout2i4;this.indexArray=new StructArrayLayout3ui6;this.segments=new SegmentVector;this.programConfigurations=new ProgramConfigurationSet(members,options.layers,options.zoom);this.stateDependentLayerIds=this.layers.filter((function(l){return l.isStateDependent()})).map((function(l){return l.id}))};CircleBucket.prototype.populate=function populate(features,options,canonical){var styleLayer=this.layers[0];var bucketFeatures=[];var circleSortKey=null;if(styleLayer.type==="circle"){circleSortKey=styleLayer.layout.get("circle-sort-key")}for(var i=0,list=features;i<list.length;i+=1){var ref=list[i];var feature=ref.feature;var id=ref.id;var index=ref.index;var sourceLayerIndex=ref.sourceLayerIndex;var needGeometry=this.layers[0]._featureFilter.needGeometry;var evaluationFeature={type:feature.type,id:id,properties:feature.properties,geometry:needGeometry?loadGeometry(feature):[]};if(!this.layers[0]._featureFilter.filter(new EvaluationParameters(this.zoom),evaluationFeature,canonical)){continue}if(!needGeometry){evaluationFeature.geometry=loadGeometry(feature)}var sortKey=circleSortKey?circleSortKey.evaluate(evaluationFeature,{},canonical):undefined;var bucketFeature={id:id,properties:feature.properties,type:feature.type,sourceLayerIndex:sourceLayerIndex,index:index,geometry:evaluationFeature.geometry,patterns:{},sortKey:sortKey};bucketFeatures.push(bucketFeature)}if(circleSortKey){bucketFeatures.sort((function(a,b){return a.sortKey-b.sortKey}))}for(var i$1=0,list$1=bucketFeatures;i$1<list$1.length;i$1+=1){var bucketFeature$1=list$1[i$1];var ref$1=bucketFeature$1;var geometry=ref$1.geometry;var index$1=ref$1.index;var sourceLayerIndex$1=ref$1.sourceLayerIndex;var feature$1=features[index$1].feature;this.addFeature(bucketFeature$1,geometry,index$1,canonical);options.featureIndex.insert(feature$1,geometry,index$1,sourceLayerIndex$1,this.index)}};CircleBucket.prototype.update=function update(states,vtLayer,imagePositions){if(!this.stateDependentLayers.length){return}this.programConfigurations.updatePaintArrays(states,vtLayer,this.stateDependentLayers,imagePositions)};CircleBucket.prototype.isEmpty=function isEmpty(){return this.layoutVertexArray.length===0};CircleBucket.prototype.uploadPending=function uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload};CircleBucket.prototype.upload=function upload(context){if(!this.uploaded){this.layoutVertexBuffer=context.createVertexBuffer(this.layoutVertexArray,members);this.indexBuffer=context.createIndexBuffer(this.indexArray)}this.programConfigurations.upload(context);this.uploaded=true};CircleBucket.prototype.destroy=function destroy(){if(!this.layoutVertexBuffer){return}this.layoutVertexBuffer.destroy();this.indexBuffer.destroy();this.programConfigurations.destroy();this.segments.destroy()};CircleBucket.prototype.addFeature=function addFeature(feature,geometry,index,canonical){for(var i$1=0,list$1=geometry;i$1<list$1.length;i$1+=1){var ring=list$1[i$1];for(var i=0,list=ring;i<list.length;i+=1){var point=list[i];var x=point.x;var y=point.y;if(x<0||x>=EXTENT$1||y<0||y>=EXTENT$1){continue}var segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,feature.sortKey);var index$1=segment.vertexLength;addCircleVertex(this.layoutVertexArray,x,y,-1,-1);addCircleVertex(this.layoutVertexArray,x,y,1,-1);addCircleVertex(this.layoutVertexArray,x,y,1,1);addCircleVertex(this.layoutVertexArray,x,y,-1,1);this.indexArray.emplaceBack(index$1,index$1+1,index$1+2);this.indexArray.emplaceBack(index$1,index$1+3,index$1+2);segment.vertexLength+=4;segment.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,feature,index,{},canonical)};register("CircleBucket",CircleBucket,{omit:["layers"]});function polygonIntersectsPolygon(polygonA,polygonB){for(var i=0;i<polygonA.length;i++){if(polygonContainsPoint(polygonB,polygonA[i])){return true}}for(var i$1=0;i$1<polygonB.length;i$1++){if(polygonContainsPoint(polygonA,polygonB[i$1])){return true}}if(lineIntersectsLine(polygonA,polygonB)){return true}return false}function polygonIntersectsBufferedPoint(polygon,point,radius){if(polygonContainsPoint(polygon,point)){return true}if(pointIntersectsBufferedLine(point,polygon,radius)){return true}return false}function polygonIntersectsMultiPolygon(polygon,multiPolygon){if(polygon.length===1){return multiPolygonContainsPoint(multiPolygon,polygon[0])}for(var m=0;m<multiPolygon.length;m++){var ring=multiPolygon[m];for(var n=0;n<ring.length;n++){if(polygonContainsPoint(polygon,ring[n])){return true}}}for(var i=0;i<polygon.length;i++){if(multiPolygonContainsPoint(multiPolygon,polygon[i])){return true}}for(var k=0;k<multiPolygon.length;k++){if(lineIntersectsLine(polygon,multiPolygon[k])){return true}}return false}function polygonIntersectsBufferedMultiLine(polygon,multiLine,radius){for(var i=0;i<multiLine.length;i++){var line=multiLine[i];if(polygon.length>=3){for(var k=0;k<line.length;k++){if(polygonContainsPoint(polygon,line[k])){return true}}}if(lineIntersectsBufferedLine(polygon,line,radius)){return true}}return false}function lineIntersectsBufferedLine(lineA,lineB,radius){if(lineA.length>1){if(lineIntersectsLine(lineA,lineB)){return true}for(var j=0;j<lineB.length;j++){if(pointIntersectsBufferedLine(lineB[j],lineA,radius)){return true}}}for(var k=0;k<lineA.length;k++){if(pointIntersectsBufferedLine(lineA[k],lineB,radius)){return true}}return false}function lineIntersectsLine(lineA,lineB){if(lineA.length===0||lineB.length===0){return false}for(var i=0;i<lineA.length-1;i++){var a0=lineA[i];var a1=lineA[i+1];for(var j=0;j<lineB.length-1;j++){var b0=lineB[j];var b1=lineB[j+1];if(lineSegmentIntersectsLineSegment(a0,a1,b0,b1)){return true}}}return false}function lineSegmentIntersectsLineSegment(a0,a1,b0,b1){return isCounterClockwise(a0,b0,b1)!==isCounterClockwise(a1,b0,b1)&&isCounterClockwise(a0,a1,b0)!==isCounterClockwise(a0,a1,b1)}function pointIntersectsBufferedLine(p,line,radius){var radiusSquared=radius*radius;if(line.length===1){return p.distSqr(line[0])<radiusSquared}for(var i=1;i<line.length;i++){var v=line[i-1],w=line[i];if(distToSegmentSquared(p,v,w)<radiusSquared){return true}}return false}function distToSegmentSquared(p,v,w){var l2=v.distSqr(w);if(l2===0){return p.distSqr(v)}var t=((p.x-v.x)*(w.x-v.x)+(p.y-v.y)*(w.y-v.y))/l2;if(t<0){return p.distSqr(v)}if(t>1){return p.distSqr(w)}return p.distSqr(w.sub(v)._mult(t)._add(v))}function multiPolygonContainsPoint(rings,p){var c=false,ring,p1,p2;for(var k=0;k<rings.length;k++){ring=rings[k];for(var i=0,j=ring.length-1;i<ring.length;j=i++){p1=ring[i];p2=ring[j];if(p1.y>p.y!==p2.y>p.y&&p.x<(p2.x-p1.x)*(p.y-p1.y)/(p2.y-p1.y)+p1.x){c=!c}}}return c}function polygonContainsPoint(ring,p){var c=false;for(var i=0,j=ring.length-1;i<ring.length;j=i++){var p1=ring[i];var p2=ring[j];if(p1.y>p.y!==p2.y>p.y&&p.x<(p2.x-p1.x)*(p.y-p1.y)/(p2.y-p1.y)+p1.x){c=!c}}return c}function polygonIntersectsBox(ring,boxX1,boxY1,boxX2,boxY2){for(var i$1=0,list=ring;i$1<list.length;i$1+=1){var p=list[i$1];if(boxX1<=p.x&&boxY1<=p.y&&boxX2>=p.x&&boxY2>=p.y){return true}}var corners=[new pointGeometry(boxX1,boxY1),new pointGeometry(boxX1,boxY2),new pointGeometry(boxX2,boxY2),new pointGeometry(boxX2,boxY1)];if(ring.length>2){for(var i$2=0,list$1=corners;i$2<list$1.length;i$2+=1){var corner=list$1[i$2];if(polygonContainsPoint(ring,corner)){return true}}}for(var i=0;i<ring.length-1;i++){var p1=ring[i];var p2=ring[i+1];if(edgeIntersectsBox(p1,p2,corners)){return true}}return false}function edgeIntersectsBox(e1,e2,corners){var tl=corners[0];var br=corners[2];if(e1.x<tl.x&&e2.x<tl.x||e1.x>br.x&&e2.x>br.x||e1.y<tl.y&&e2.y<tl.y||e1.y>br.y&&e2.y>br.y){return false}var dir=isCounterClockwise(e1,e2,corners[0]);return dir!==isCounterClockwise(e1,e2,corners[1])||dir!==isCounterClockwise(e1,e2,corners[2])||dir!==isCounterClockwise(e1,e2,corners[3])}function getMaximumPaintValue(property,layer,bucket){var value=layer.paint.get(property).value;if(value.kind==="constant"){return value.value}else{return bucket.programConfigurations.get(layer.id).getMaxValue(property)}}function translateDistance(translate){return Math.sqrt(translate[0]*translate[0]+translate[1]*translate[1])}function translate(queryGeometry,translate,translateAnchor,bearing,pixelsToTileUnits){if(!translate[0]&&!translate[1]){return queryGeometry}var pt=pointGeometry.convert(translate)._mult(pixelsToTileUnits);if(translateAnchor==="viewport"){pt._rotate(-bearing)}var translated=[];for(var i=0;i<queryGeometry.length;i++){var point=queryGeometry[i];translated.push(point.sub(pt))}return translated}var layout$2=new Properties({"circle-sort-key":new DataDrivenProperty(spec["layout_circle"]["circle-sort-key"])});var paint$1=new Properties({"circle-radius":new DataDrivenProperty(spec["paint_circle"]["circle-radius"]),"circle-color":new DataDrivenProperty(spec["paint_circle"]["circle-color"]),"circle-blur":new DataDrivenProperty(spec["paint_circle"]["circle-blur"]),"circle-opacity":new DataDrivenProperty(spec["paint_circle"]["circle-opacity"]),"circle-translate":new DataConstantProperty(spec["paint_circle"]["circle-translate"]),"circle-translate-anchor":new DataConstantProperty(spec["paint_circle"]["circle-translate-anchor"]),"circle-pitch-scale":new DataConstantProperty(spec["paint_circle"]["circle-pitch-scale"]),"circle-pitch-alignment":new DataConstantProperty(spec["paint_circle"]["circle-pitch-alignment"]),"circle-stroke-width":new DataDrivenProperty(spec["paint_circle"]["circle-stroke-width"]),"circle-stroke-color":new DataDrivenProperty(spec["paint_circle"]["circle-stroke-color"]),"circle-stroke-opacity":new DataDrivenProperty(spec["paint_circle"]["circle-stroke-opacity"])});var properties={paint:paint$1,layout:layout$2};var ARRAY_TYPE=typeof Float32Array!=="undefined"?Float32Array:Array;if(!Math.hypot){Math.hypot=function(){var arguments$1=arguments;var y=0,i=arguments.length;while(i--){y+=arguments$1[i]*arguments$1[i]}return Math.sqrt(y)}}function create(){var out=new ARRAY_TYPE(4);if(ARRAY_TYPE!=Float32Array){out[1]=0;out[2]=0}out[0]=1;out[3]=1;return out}function rotate(out,a,rad){var a0=a[0],a1=a[1],a2=a[2],a3=a[3];var s=Math.sin(rad);var c=Math.cos(rad);out[0]=a0*c+a2*s;out[1]=a1*c+a3*s;out[2]=a0*-s+a2*c;out[3]=a1*-s+a3*c;return out}function create$1(){var out=new ARRAY_TYPE(9);if(ARRAY_TYPE!=Float32Array){out[1]=0;out[2]=0;out[3]=0;out[5]=0;out[6]=0;out[7]=0}out[0]=1;out[4]=1;out[8]=1;return out}function fromRotation(out,rad){var s=Math.sin(rad),c=Math.cos(rad);out[0]=c;out[1]=s;out[2]=0;out[3]=-s;out[4]=c;out[5]=0;out[6]=0;out[7]=0;out[8]=1;return out}function create$2(){var out=new ARRAY_TYPE(16);if(ARRAY_TYPE!=Float32Array){out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[11]=0;out[12]=0;out[13]=0;out[14]=0}out[0]=1;out[5]=1;out[10]=1;out[15]=1;return out}function clone$1(a){var out=new ARRAY_TYPE(16);out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];out[4]=a[4];out[5]=a[5];out[6]=a[6];out[7]=a[7];out[8]=a[8];out[9]=a[9];out[10]=a[10];out[11]=a[11];out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15];return out}function identity(out){out[0]=1;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=1;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=1;out[11]=0;out[12]=0;out[13]=0;out[14]=0;out[15]=1;return out}function invert(out,a){var a00=a[0],a01=a[1],a02=a[2],a03=a[3];var a10=a[4],a11=a[5],a12=a[6],a13=a[7];var a20=a[8],a21=a[9],a22=a[10],a23=a[11];var a30=a[12],a31=a[13],a32=a[14],a33=a[15];var b00=a00*a11-a01*a10;var b01=a00*a12-a02*a10;var b02=a00*a13-a03*a10;var b03=a01*a12-a02*a11;var b04=a01*a13-a03*a11;var b05=a02*a13-a03*a12;var b06=a20*a31-a21*a30;var b07=a20*a32-a22*a30;var b08=a20*a33-a23*a30;var b09=a21*a32-a22*a31;var b10=a21*a33-a23*a31;var b11=a22*a33-a23*a32;var det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;if(!det){return null}det=1/det;out[0]=(a11*b11-a12*b10+a13*b09)*det;out[1]=(a02*b10-a01*b11-a03*b09)*det;out[2]=(a31*b05-a32*b04+a33*b03)*det;out[3]=(a22*b04-a21*b05-a23*b03)*det;out[4]=(a12*b08-a10*b11-a13*b07)*det;out[5]=(a00*b11-a02*b08+a03*b07)*det;out[6]=(a32*b02-a30*b05-a33*b01)*det;out[7]=(a20*b05-a22*b02+a23*b01)*det;out[8]=(a10*b10-a11*b08+a13*b06)*det;out[9]=(a01*b08-a00*b10-a03*b06)*det;out[10]=(a30*b04-a31*b02+a33*b00)*det;out[11]=(a21*b02-a20*b04-a23*b00)*det;out[12]=(a11*b07-a10*b09-a12*b06)*det;out[13]=(a00*b09-a01*b07+a02*b06)*det;out[14]=(a31*b01-a30*b03-a32*b00)*det;out[15]=(a20*b03-a21*b01+a22*b00)*det;return out}function multiply(out,a,b){var a00=a[0],a01=a[1],a02=a[2],a03=a[3];var a10=a[4],a11=a[5],a12=a[6],a13=a[7];var a20=a[8],a21=a[9],a22=a[10],a23=a[11];var a30=a[12],a31=a[13],a32=a[14],a33=a[15];var b0=b[0],b1=b[1],b2=b[2],b3=b[3];out[0]=b0*a00+b1*a10+b2*a20+b3*a30;out[1]=b0*a01+b1*a11+b2*a21+b3*a31;out[2]=b0*a02+b1*a12+b2*a22+b3*a32;out[3]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[4];b1=b[5];b2=b[6];b3=b[7];out[4]=b0*a00+b1*a10+b2*a20+b3*a30;out[5]=b0*a01+b1*a11+b2*a21+b3*a31;out[6]=b0*a02+b1*a12+b2*a22+b3*a32;out[7]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[8];b1=b[9];b2=b[10];b3=b[11];out[8]=b0*a00+b1*a10+b2*a20+b3*a30;out[9]=b0*a01+b1*a11+b2*a21+b3*a31;out[10]=b0*a02+b1*a12+b2*a22+b3*a32;out[11]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[12];b1=b[13];b2=b[14];b3=b[15];out[12]=b0*a00+b1*a10+b2*a20+b3*a30;out[13]=b0*a01+b1*a11+b2*a21+b3*a31;out[14]=b0*a02+b1*a12+b2*a22+b3*a32;out[15]=b0*a03+b1*a13+b2*a23+b3*a33;return out}function translate$1(out,a,v){var x=v[0],y=v[1],z=v[2];var a00,a01,a02,a03;var a10,a11,a12,a13;var a20,a21,a22,a23;if(a===out){out[12]=a[0]*x+a[4]*y+a[8]*z+a[12];out[13]=a[1]*x+a[5]*y+a[9]*z+a[13];out[14]=a[2]*x+a[6]*y+a[10]*z+a[14];out[15]=a[3]*x+a[7]*y+a[11]*z+a[15]}else{a00=a[0];a01=a[1];a02=a[2];a03=a[3];a10=a[4];a11=a[5];a12=a[6];a13=a[7];a20=a[8];a21=a[9];a22=a[10];a23=a[11];out[0]=a00;out[1]=a01;out[2]=a02;out[3]=a03;out[4]=a10;out[5]=a11;out[6]=a12;out[7]=a13;out[8]=a20;out[9]=a21;out[10]=a22;out[11]=a23;out[12]=a00*x+a10*y+a20*z+a[12];out[13]=a01*x+a11*y+a21*z+a[13];out[14]=a02*x+a12*y+a22*z+a[14];out[15]=a03*x+a13*y+a23*z+a[15]}return out}function scale(out,a,v){var x=v[0],y=v[1],z=v[2];out[0]=a[0]*x;out[1]=a[1]*x;out[2]=a[2]*x;out[3]=a[3]*x;out[4]=a[4]*y;out[5]=a[5]*y;out[6]=a[6]*y;out[7]=a[7]*y;out[8]=a[8]*z;out[9]=a[9]*z;out[10]=a[10]*z;out[11]=a[11]*z;out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15];return out}function rotateX(out,a,rad){var s=Math.sin(rad);var c=Math.cos(rad);var a10=a[4];var a11=a[5];var a12=a[6];var a13=a[7];var a20=a[8];var a21=a[9];var a22=a[10];var a23=a[11];if(a!==out){out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15]}out[4]=a10*c+a20*s;out[5]=a11*c+a21*s;out[6]=a12*c+a22*s;out[7]=a13*c+a23*s;out[8]=a20*c-a10*s;out[9]=a21*c-a11*s;out[10]=a22*c-a12*s;out[11]=a23*c-a13*s;return out}function rotateZ(out,a,rad){var s=Math.sin(rad);var c=Math.cos(rad);var a00=a[0];var a01=a[1];var a02=a[2];var a03=a[3];var a10=a[4];var a11=a[5];var a12=a[6];var a13=a[7];if(a!==out){out[8]=a[8];out[9]=a[9];out[10]=a[10];out[11]=a[11];out[12]=a[12];out[13]=a[13];out[14]=a[14];out[15]=a[15]}out[0]=a00*c+a10*s;out[1]=a01*c+a11*s;out[2]=a02*c+a12*s;out[3]=a03*c+a13*s;out[4]=a10*c-a00*s;out[5]=a11*c-a01*s;out[6]=a12*c-a02*s;out[7]=a13*c-a03*s;return out}function perspective(out,fovy,aspect,near,far){var f=1/Math.tan(fovy/2),nf;out[0]=f/aspect;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=f;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[11]=-1;out[12]=0;out[13]=0;out[15]=0;if(far!=null&&far!==Infinity){nf=1/(near-far);out[10]=(far+near)*nf;out[14]=2*far*near*nf}else{out[10]=-1;out[14]=-2*near}return out}function ortho(out,left,right,bottom,top,near,far){var lr=1/(left-right);var bt=1/(bottom-top);var nf=1/(near-far);out[0]=-2*lr;out[1]=0;out[2]=0;out[3]=0;out[4]=0;out[5]=-2*bt;out[6]=0;out[7]=0;out[8]=0;out[9]=0;out[10]=2*nf;out[11]=0;out[12]=(left+right)*lr;out[13]=(top+bottom)*bt;out[14]=(far+near)*nf;out[15]=1;return out}var mul=multiply;function create$3(){var out=new ARRAY_TYPE(3);if(ARRAY_TYPE!=Float32Array){out[0]=0;out[1]=0;out[2]=0}return out}function clone$2(a){var out=new ARRAY_TYPE(3);out[0]=a[0];out[1]=a[1];out[2]=a[2];return out}function add(out,a,b){out[0]=a[0]+b[0];out[1]=a[1]+b[1];out[2]=a[2]+b[2];return out}function subtract(out,a,b){out[0]=a[0]-b[0];out[1]=a[1]-b[1];out[2]=a[2]-b[2];return out}function scale$1(out,a,b){out[0]=a[0]*b;out[1]=a[1]*b;out[2]=a[2]*b;return out}function normalize(out,a){var x=a[0];var y=a[1];var z=a[2];var len=x*x+y*y+z*z;if(len>0){len=1/Math.sqrt(len)}out[0]=a[0]*len;out[1]=a[1]*len;out[2]=a[2]*len;return out}function dot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function cross(out,a,b){var ax=a[0],ay=a[1],az=a[2];var bx=b[0],by=b[1],bz=b[2];out[0]=ay*bz-az*by;out[1]=az*bx-ax*bz;out[2]=ax*by-ay*bx;return out}function transformMat3(out,a,m){var x=a[0],y=a[1],z=a[2];out[0]=x*m[0]+y*m[3]+z*m[6];out[1]=x*m[1]+y*m[4]+z*m[7];out[2]=x*m[2]+y*m[5]+z*m[8];return out}var sub=subtract;var forEach=function(){var vec=create$3();return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=3}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i<l;i+=stride){vec[0]=a[i];vec[1]=a[i+1];vec[2]=a[i+2];fn(vec,vec,arg);a[i]=vec[0];a[i+1]=vec[1];a[i+2]=vec[2]}return a}}();function create$4(){var out=new ARRAY_TYPE(4);if(ARRAY_TYPE!=Float32Array){out[0]=0;out[1]=0;out[2]=0;out[3]=0}return out}function scale$2(out,a,b){out[0]=a[0]*b;out[1]=a[1]*b;out[2]=a[2]*b;out[3]=a[3]*b;return out}function dot$1(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}function transformMat4(out,a,m){var x=a[0],y=a[1],z=a[2],w=a[3];out[0]=m[0]*x+m[4]*y+m[8]*z+m[12]*w;out[1]=m[1]*x+m[5]*y+m[9]*z+m[13]*w;out[2]=m[2]*x+m[6]*y+m[10]*z+m[14]*w;out[3]=m[3]*x+m[7]*y+m[11]*z+m[15]*w;return out}var forEach$1=function(){var vec=create$4();return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=4}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i<l;i+=stride){vec[0]=a[i];vec[1]=a[i+1];vec[2]=a[i+2];vec[3]=a[i+3];fn(vec,vec,arg);a[i]=vec[0];a[i+1]=vec[1];a[i+2]=vec[2];a[i+3]=vec[3]}return a}}();function create$5(){var out=new ARRAY_TYPE(2);if(ARRAY_TYPE!=Float32Array){out[0]=0;out[1]=0}return out}function squaredLength(a){var x=a[0],y=a[1];return x*x+y*y}var sqrLen=squaredLength;var forEach$2=function(){var vec=create$5();return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=2}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i<l;i+=stride){vec[0]=a[i];vec[1]=a[i+1];fn(vec,vec,arg);a[i]=vec[0];a[i+1]=vec[1]}return a}}();var CircleStyleLayer=function(StyleLayer){function CircleStyleLayer(layer){StyleLayer.call(this,layer,properties)}if(StyleLayer)CircleStyleLayer.__proto__=StyleLayer;CircleStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);CircleStyleLayer.prototype.constructor=CircleStyleLayer;CircleStyleLayer.prototype.createBucket=function createBucket(parameters){return new CircleBucket(parameters)};CircleStyleLayer.prototype.queryRadius=function queryRadius(bucket){var circleBucket=bucket;return getMaximumPaintValue("circle-radius",this,circleBucket)+getMaximumPaintValue("circle-stroke-width",this,circleBucket)+translateDistance(this.paint.get("circle-translate"))};CircleStyleLayer.prototype.queryIntersectsFeature=function queryIntersectsFeature(queryGeometry,feature,featureState,geometry,zoom,transform,pixelsToTileUnits,pixelPosMatrix){var translatedPolygon=translate(queryGeometry,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),transform.angle,pixelsToTileUnits);var radius=this.paint.get("circle-radius").evaluate(feature,featureState);var stroke=this.paint.get("circle-stroke-width").evaluate(feature,featureState);var size=radius+stroke;var alignWithMap=this.paint.get("circle-pitch-alignment")==="map";var transformedPolygon=alignWithMap?translatedPolygon:projectQueryGeometry(translatedPolygon,pixelPosMatrix);var transformedSize=alignWithMap?size*pixelsToTileUnits:size;for(var i$1=0,list$1=geometry;i$1<list$1.length;i$1+=1){var ring=list$1[i$1];for(var i=0,list=ring;i<list.length;i+=1){var point=list[i];var transformedPoint=alignWithMap?point:projectPoint(point,pixelPosMatrix);var adjustedSize=transformedSize;var projectedCenter=transformMat4([],[point.x,point.y,0,1],pixelPosMatrix);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"){adjustedSize*=projectedCenter[3]/transform.cameraToCenterDistance}else if(this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"){adjustedSize*=transform.cameraToCenterDistance/projectedCenter[3]}if(polygonIntersectsBufferedPoint(transformedPolygon,transformedPoint,adjustedSize)){return true}}}return false};return CircleStyleLayer}(StyleLayer);function projectPoint(p,pixelPosMatrix){var point=transformMat4([],[p.x,p.y,0,1],pixelPosMatrix);return new pointGeometry(point[0]/point[3],point[1]/point[3])}function projectQueryGeometry(queryGeometry,pixelPosMatrix){return queryGeometry.map((function(p){return projectPoint(p,pixelPosMatrix)}))}var HeatmapBucket=function(CircleBucket){function HeatmapBucket(){CircleBucket.apply(this,arguments)}if(CircleBucket)HeatmapBucket.__proto__=CircleBucket;HeatmapBucket.prototype=Object.create(CircleBucket&&CircleBucket.prototype);HeatmapBucket.prototype.constructor=HeatmapBucket;return HeatmapBucket}(CircleBucket);register("HeatmapBucket",HeatmapBucket,{omit:["layers"]});function createImage(image,ref,channels,data){var width=ref.width;var height=ref.height;if(!data){data=new Uint8Array(width*height*channels)}else if(data instanceof Uint8ClampedArray){data=new Uint8Array(data.buffer)}else if(data.length!==width*height*channels){throw new RangeError("mismatched image size")}image.width=width;image.height=height;image.data=data;return image}function resizeImage(image,ref,channels){var width=ref.width;var height=ref.height;if(width===image.width&&height===image.height){return}var newImage=createImage({},{width:width,height:height},channels);copyImage(image,newImage,{x:0,y:0},{x:0,y:0},{width:Math.min(image.width,width),height:Math.min(image.height,height)},channels);image.width=width;image.height=height;image.data=newImage.data}function copyImage(srcImg,dstImg,srcPt,dstPt,size,channels){if(size.width===0||size.height===0){return dstImg}if(size.width>srcImg.width||size.height>srcImg.height||srcPt.x>srcImg.width-size.width||srcPt.y>srcImg.height-size.height){throw new RangeError("out of range source coordinates for image copy")}if(size.width>dstImg.width||size.height>dstImg.height||dstPt.x>dstImg.width-size.width||dstPt.y>dstImg.height-size.height){throw new RangeError("out of range destination coordinates for image copy")}var srcData=srcImg.data;var dstData=dstImg.data;for(var y=0;y<size.height;y++){var srcOffset=((srcPt.y+y)*srcImg.width+srcPt.x)*channels;var dstOffset=((dstPt.y+y)*dstImg.width+dstPt.x)*channels;for(var i=0;i<size.width*channels;i++){dstData[dstOffset+i]=srcData[srcOffset+i]}}return dstImg}var AlphaImage=function AlphaImage(size,data){createImage(this,size,1,data)};AlphaImage.prototype.resize=function resize(size){resizeImage(this,size,1)};AlphaImage.prototype.clone=function clone(){return new AlphaImage({width:this.width,height:this.height},new Uint8Array(this.data))};AlphaImage.copy=function copy(srcImg,dstImg,srcPt,dstPt,size){copyImage(srcImg,dstImg,srcPt,dstPt,size,1)};var RGBAImage=function RGBAImage(size,data){createImage(this,size,4,data)};RGBAImage.prototype.resize=function resize(size){resizeImage(this,size,4)};RGBAImage.prototype.replace=function replace(data,copy){if(copy){this.data.set(data)}else if(data instanceof Uint8ClampedArray){this.data=new Uint8Array(data.buffer)}else{this.data=data}};RGBAImage.prototype.clone=function clone(){return new RGBAImage({width:this.width,height:this.height},new Uint8Array(this.data))};RGBAImage.copy=function copy(srcImg,dstImg,srcPt,dstPt,size){copyImage(srcImg,dstImg,srcPt,dstPt,size,4)};register("AlphaImage",AlphaImage);register("RGBAImage",RGBAImage);var paint$2=new Properties({"heatmap-radius":new DataDrivenProperty(spec["paint_heatmap"]["heatmap-radius"]),"heatmap-weight":new DataDrivenProperty(spec["paint_heatmap"]["heatmap-weight"]),"heatmap-intensity":new DataConstantProperty(spec["paint_heatmap"]["heatmap-intensity"]),"heatmap-color":new ColorRampProperty(spec["paint_heatmap"]["heatmap-color"]),"heatmap-opacity":new DataConstantProperty(spec["paint_heatmap"]["heatmap-opacity"])});var properties$1={paint:paint$2};function renderColorRamp(expression,colorRampEvaluationParameter){var colorRampData=new Uint8Array(256*4);var evaluationGlobals={};for(var i=0,j=0;i<256;i++,j+=4){evaluationGlobals[colorRampEvaluationParameter]=i/255;var pxColor=expression.evaluate(evaluationGlobals);colorRampData[j+0]=Math.floor(pxColor.r*255/pxColor.a);colorRampData[j+1]=Math.floor(pxColor.g*255/pxColor.a);colorRampData[j+2]=Math.floor(pxColor.b*255/pxColor.a);colorRampData[j+3]=Math.floor(pxColor.a*255)}return new RGBAImage({width:256,height:1},colorRampData)}var HeatmapStyleLayer=function(StyleLayer){function HeatmapStyleLayer(layer){StyleLayer.call(this,layer,properties$1);this._updateColorRamp()}if(StyleLayer)HeatmapStyleLayer.__proto__=StyleLayer;HeatmapStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);HeatmapStyleLayer.prototype.constructor=HeatmapStyleLayer;HeatmapStyleLayer.prototype.createBucket=function createBucket(options){return new HeatmapBucket(options)};HeatmapStyleLayer.prototype._handleSpecialPaintPropertyUpdate=function _handleSpecialPaintPropertyUpdate(name){if(name==="heatmap-color"){this._updateColorRamp()}};HeatmapStyleLayer.prototype._updateColorRamp=function _updateColorRamp(){var expression=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=renderColorRamp(expression,"heatmapDensity");this.colorRampTexture=null};HeatmapStyleLayer.prototype.resize=function resize(){if(this.heatmapFbo){this.heatmapFbo.destroy();this.heatmapFbo=null}};HeatmapStyleLayer.prototype.queryRadius=function queryRadius(){return 0};HeatmapStyleLayer.prototype.queryIntersectsFeature=function queryIntersectsFeature(){return false};HeatmapStyleLayer.prototype.hasOffscreenPass=function hasOffscreenPass(){return this.paint.get("heatmap-opacity")!==0&&this.visibility!=="none"};return HeatmapStyleLayer}(StyleLayer);var paint$3=new Properties({"hillshade-illumination-direction":new DataConstantProperty(spec["paint_hillshade"]["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new DataConstantProperty(spec["paint_hillshade"]["hillshade-illumination-anchor"]),"hillshade-exaggeration":new DataConstantProperty(spec["paint_hillshade"]["hillshade-exaggeration"]),"hillshade-shadow-color":new DataConstantProperty(spec["paint_hillshade"]["hillshade-shadow-color"]),"hillshade-highlight-color":new DataConstantProperty(spec["paint_hillshade"]["hillshade-highlight-color"]),"hillshade-accent-color":new DataConstantProperty(spec["paint_hillshade"]["hillshade-accent-color"])});var properties$2={paint:paint$3};var HillshadeStyleLayer=function(StyleLayer){function HillshadeStyleLayer(layer){StyleLayer.call(this,layer,properties$2)}if(StyleLayer)HillshadeStyleLayer.__proto__=StyleLayer;HillshadeStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);HillshadeStyleLayer.prototype.constructor=HillshadeStyleLayer;HillshadeStyleLayer.prototype.hasOffscreenPass=function hasOffscreenPass(){return this.paint.get("hillshade-exaggeration")!==0&&this.visibility!=="none"};return HillshadeStyleLayer}(StyleLayer);var layout$3=createLayout([{name:"a_pos",components:2,type:"Int16"}],4);var members$1=layout$3.members;var earcut_1=earcut;var default_1=earcut;function earcut(data,holeIndices,dim){dim=dim||2;var hasHoles=holeIndices&&holeIndices.length,outerLen=hasHoles?holeIndices[0]*dim:data.length,outerNode=linkedList(data,0,outerLen,dim,true),triangles=[];if(!outerNode||outerNode.next===outerNode.prev){return triangles}var minX,minY,maxX,maxY,x,y,invSize;if(hasHoles){outerNode=eliminateHoles(data,holeIndices,outerNode,dim)}if(data.length>80*dim){minX=maxX=data[0];minY=maxY=data[1];for(var i=dim;i<outerLen;i+=dim){x=data[i];y=data[i+1];if(x<minX){minX=x}if(y<minY){minY=y}if(x>maxX){maxX=x}if(y>maxY){maxY=y}}invSize=Math.max(maxX-minX,maxY-minY);invSize=invSize!==0?1/invSize:0}earcutLinked(outerNode,triangles,dim,minX,minY,invSize);return triangles}function linkedList(data,start,end,dim,clockwise){var i,last;if(clockwise===signedArea(data,start,end,dim)>0){for(i=start;i<end;i+=dim){last=insertNode(i,data[i],data[i+1],last)}}else{for(i=end-dim;i>=start;i-=dim){last=insertNode(i,data[i],data[i+1],last)}}if(last&&equals(last,last.next)){removeNode(last);last=last.next}return last}function filterPoints(start,end){if(!start){return start}if(!end){end=start}var p=start,again;do{again=false;if(!p.steiner&&(equals(p,p.next)||area(p.prev,p,p.next)===0)){removeNode(p);p=end=p.prev;if(p===p.next){break}again=true}else{p=p.next}}while(again||p!==end);return end}function earcutLinked(ear,triangles,dim,minX,minY,invSize,pass){if(!ear){return}if(!pass&&invSize){indexCurve(ear,minX,minY,invSize)}var stop=ear,prev,next;while(ear.prev!==ear.next){prev=ear.prev;next=ear.next;if(invSize?isEarHashed(ear,minX,minY,invSize):isEar(ear)){triangles.push(prev.i/dim);triangles.push(ear.i/dim);triangles.push(next.i/dim);removeNode(ear);ear=next.next;stop=next.next;continue}ear=next;if(ear===stop){if(!pass){earcutLinked(filterPoints(ear),triangles,dim,minX,minY,invSize,1)}else if(pass===1){ear=cureLocalIntersections(filterPoints(ear),triangles,dim);earcutLinked(ear,triangles,dim,minX,minY,invSize,2)}else if(pass===2){splitEarcut(ear,triangles,dim,minX,minY,invSize)}break}}}function isEar(ear){var a=ear.prev,b=ear,c=ear.next;if(area(a,b,c)>=0){return false}var p=ear.next.next;while(p!==ear.prev){if(pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0){return false}p=p.next}return true}function isEarHashed(ear,minX,minY,invSize){var a=ear.prev,b=ear,c=ear.next;if(area(a,b,c)>=0){return false}var minTX=a.x<b.x?a.x<c.x?a.x:c.x:b.x<c.x?b.x:c.x,minTY=a.y<b.y?a.y<c.y?a.y:c.y:b.y<c.y?b.y:c.y,maxTX=a.x>b.x?a.x>c.x?a.x:c.x:b.x>c.x?b.x:c.x,maxTY=a.y>b.y?a.y>c.y?a.y:c.y:b.y>c.y?b.y:c.y;var minZ=zOrder(minTX,minTY,minX,minY,invSize),maxZ=zOrder(maxTX,maxTY,minX,minY,invSize);var p=ear.prevZ,n=ear.nextZ;while(p&&p.z>=minZ&&n&&n.z<=maxZ){if(p!==ear.prev&&p!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0){return false}p=p.prevZ;if(n!==ear.prev&&n!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,n.x,n.y)&&area(n.prev,n,n.next)>=0){return false}n=n.nextZ}while(p&&p.z>=minZ){if(p!==ear.prev&&p!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0){return false}p=p.prevZ}while(n&&n.z<=maxZ){if(n!==ear.prev&&n!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,n.x,n.y)&&area(n.prev,n,n.next)>=0){return false}n=n.nextZ}return true}function cureLocalIntersections(start,triangles,dim){var p=start;do{var a=p.prev,b=p.next.next;if(!equals(a,b)&&intersects(a,p,p.next,b)&&locallyInside(a,b)&&locallyInside(b,a)){triangles.push(a.i/dim);triangles.push(p.i/dim);triangles.push(b.i/dim);removeNode(p);removeNode(p.next);p=start=b}p=p.next}while(p!==start);return filterPoints(p)}function splitEarcut(start,triangles,dim,minX,minY,invSize){var a=start;do{var b=a.next.next;while(b!==a.prev){if(a.i!==b.i&&isValidDiagonal(a,b)){var c=splitPolygon(a,b);a=filterPoints(a,a.next);c=filterPoints(c,c.next);earcutLinked(a,triangles,dim,minX,minY,invSize);earcutLinked(c,triangles,dim,minX,minY,invSize);return}b=b.next}a=a.next}while(a!==start)}function eliminateHoles(data,holeIndices,outerNode,dim){var queue=[],i,len,start,end,list;for(i=0,len=holeIndices.length;i<len;i++){start=holeIndices[i]*dim;end=i<len-1?holeIndices[i+1]*dim:data.length;list=linkedList(data,start,end,dim,false);if(list===list.next){list.steiner=true}queue.push(getLeftmost(list))}queue.sort(compareX);for(i=0;i<queue.length;i++){eliminateHole(queue[i],outerNode);outerNode=filterPoints(outerNode,outerNode.next)}return outerNode}function compareX(a,b){return a.x-b.x}function eliminateHole(hole,outerNode){outerNode=findHoleBridge(hole,outerNode);if(outerNode){var b=splitPolygon(outerNode,hole);filterPoints(outerNode,outerNode.next);filterPoints(b,b.next)}}function findHoleBridge(hole,outerNode){var p=outerNode,hx=hole.x,hy=hole.y,qx=-Infinity,m;do{if(hy<=p.y&&hy>=p.next.y&&p.next.y!==p.y){var x=p.x+(hy-p.y)*(p.next.x-p.x)/(p.next.y-p.y);if(x<=hx&&x>qx){qx=x;if(x===hx){if(hy===p.y){return p}if(hy===p.next.y){return p.next}}m=p.x<p.next.x?p:p.next}}p=p.next}while(p!==outerNode);if(!m){return null}if(hx===qx){return m}var stop=m,mx=m.x,my=m.y,tanMin=Infinity,tan;p=m;do{if(hx>=p.x&&p.x>=mx&&hx!==p.x&&pointInTriangle(hy<my?hx:qx,hy,mx,my,hy<my?qx:hx,hy,p.x,p.y)){tan=Math.abs(hy-p.y)/(hx-p.x);if(locallyInside(p,hole)&&(tan<tanMin||tan===tanMin&&(p.x>m.x||p.x===m.x&&sectorContainsSector(m,p)))){m=p;tanMin=tan}}p=p.next}while(p!==stop);return m}function sectorContainsSector(m,p){return area(m.prev,m,p.prev)<0&&area(p.next,m,m.next)<0}function indexCurve(start,minX,minY,invSize){var p=start;do{if(p.z===null){p.z=zOrder(p.x,p.y,minX,minY,invSize)}p.prevZ=p.prev;p.nextZ=p.next;p=p.next}while(p!==start);p.prevZ.nextZ=null;p.prevZ=null;sortLinked(p)}function sortLinked(list){var i,p,q,e,tail,numMerges,pSize,qSize,inSize=1;do{p=list;list=null;tail=null;numMerges=0;while(p){numMerges++;q=p;pSize=0;for(i=0;i<inSize;i++){pSize++;q=q.nextZ;if(!q){break}}qSize=inSize;while(pSize>0||qSize>0&&q){if(pSize!==0&&(qSize===0||!q||p.z<=q.z)){e=p;p=p.nextZ;pSize--}else{e=q;q=q.nextZ;qSize--}if(tail){tail.nextZ=e}else{list=e}e.prevZ=tail;tail=e}p=q}tail.nextZ=null;inSize*=2}while(numMerges>1);return list}function zOrder(x,y,minX,minY,invSize){x=32767*(x-minX)*invSize;y=32767*(y-minY)*invSize;x=(x|x<<8)&16711935;x=(x|x<<4)&252645135;x=(x|x<<2)&858993459;x=(x|x<<1)&1431655765;y=(y|y<<8)&16711935;y=(y|y<<4)&252645135;y=(y|y<<2)&858993459;y=(y|y<<1)&1431655765;return x|y<<1}function getLeftmost(start){var p=start,leftmost=start;do{if(p.x<leftmost.x||p.x===leftmost.x&&p.y<leftmost.y){leftmost=p}p=p.next}while(p!==start);return leftmost}function pointInTriangle(ax,ay,bx,by,cx,cy,px,py){return(cx-px)*(ay-py)-(ax-px)*(cy-py)>=0&&(ax-px)*(by-py)-(bx-px)*(ay-py)>=0&&(bx-px)*(cy-py)-(cx-px)*(by-py)>=0}function isValidDiagonal(a,b){return a.next.i!==b.i&&a.prev.i!==b.i&&!intersectsPolygon(a,b)&&(locallyInside(a,b)&&locallyInside(b,a)&&middleInside(a,b)&&(area(a.prev,a,b.prev)||area(a,b.prev,b))||equals(a,b)&&area(a.prev,a,a.next)>0&&area(b.prev,b,b.next)>0)}function area(p,q,r){return(q.y-p.y)*(r.x-q.x)-(q.x-p.x)*(r.y-q.y)}function equals(p1,p2){return p1.x===p2.x&&p1.y===p2.y}function intersects(p1,q1,p2,q2){var o1=sign(area(p1,q1,p2));var o2=sign(area(p1,q1,q2));var o3=sign(area(p2,q2,p1));var o4=sign(area(p2,q2,q1));if(o1!==o2&&o3!==o4){return true}if(o1===0&&onSegment(p1,p2,q1)){return true}if(o2===0&&onSegment(p1,q2,q1)){return true}if(o3===0&&onSegment(p2,p1,q2)){return true}if(o4===0&&onSegment(p2,q1,q2)){return true}return false}function onSegment(p,q,r){return q.x<=Math.max(p.x,r.x)&&q.x>=Math.min(p.x,r.x)&&q.y<=Math.max(p.y,r.y)&&q.y>=Math.min(p.y,r.y)}function sign(num){return num>0?1:num<0?-1:0}function intersectsPolygon(a,b){var p=a;do{if(p.i!==a.i&&p.next.i!==a.i&&p.i!==b.i&&p.next.i!==b.i&&intersects(p,p.next,a,b)){return true}p=p.next}while(p!==a);return false}function locallyInside(a,b){return area(a.prev,a,a.next)<0?area(a,b,a.next)>=0&&area(a,a.prev,b)>=0:area(a,b,a.prev)<0||area(a,a.next,b)<0}function middleInside(a,b){var p=a,inside=false,px=(a.x+b.x)/2,py=(a.y+b.y)/2;do{if(p.y>py!==p.next.y>py&&p.next.y!==p.y&&px<(p.next.x-p.x)*(py-p.y)/(p.next.y-p.y)+p.x){inside=!inside}p=p.next}while(p!==a);return inside}function splitPolygon(a,b){var a2=new Node(a.i,a.x,a.y),b2=new Node(b.i,b.x,b.y),an=a.next,bp=b.prev;a.next=b;b.prev=a;a2.next=an;an.prev=a2;b2.next=a2;a2.prev=b2;bp.next=b2;b2.prev=bp;return b2}function insertNode(i,x,y,last){var p=new Node(i,x,y);if(!last){p.prev=p;p.next=p}else{p.next=last.next;p.prev=last;last.next.prev=p;last.next=p}return p}function removeNode(p){p.next.prev=p.prev;p.prev.next=p.next;if(p.prevZ){p.prevZ.nextZ=p.nextZ}if(p.nextZ){p.nextZ.prevZ=p.prevZ}}function Node(i,x,y){this.i=i;this.x=x;this.y=y;this.prev=null;this.next=null;this.z=null;this.prevZ=null;this.nextZ=null;this.steiner=false}earcut.deviation=function(data,holeIndices,dim,triangles){var hasHoles=holeIndices&&holeIndices.length;var outerLen=hasHoles?holeIndices[0]*dim:data.length;var polygonArea=Math.abs(signedArea(data,0,outerLen,dim));if(hasHoles){for(var i=0,len=holeIndices.length;i<len;i++){var start=holeIndices[i]*dim;var end=i<len-1?holeIndices[i+1]*dim:data.length;polygonArea-=Math.abs(signedArea(data,start,end,dim))}}var trianglesArea=0;for(i=0;i<triangles.length;i+=3){var a=triangles[i]*dim;var b=triangles[i+1]*dim;var c=triangles[i+2]*dim;trianglesArea+=Math.abs((data[a]-data[c])*(data[b+1]-data[a+1])-(data[a]-data[b])*(data[c+1]-data[a+1]))}return polygonArea===0&&trianglesArea===0?0:Math.abs((trianglesArea-polygonArea)/polygonArea)};function signedArea(data,start,end,dim){var sum=0;for(var i=start,j=end-dim;i<end;i+=dim){sum+=(data[j]-data[i])*(data[i+1]+data[j+1]);j=i}return sum}earcut.flatten=function(data){var dim=data[0][0].length,result={vertices:[],holes:[],dimensions:dim},holeIndex=0;for(var i=0;i<data.length;i++){for(var j=0;j<data[i].length;j++){for(var d=0;d<dim;d++){result.vertices.push(data[i][j][d])}}if(i>0){holeIndex+=data[i-1].length;result.holes.push(holeIndex)}}return result};earcut_1.default=default_1;function quickselect(arr,k,left,right,compare){quickselectStep(arr,k,left||0,right||arr.length-1,compare||defaultCompare)}function quickselectStep(arr,k,left,right,compare){while(right>left){if(right-left>600){var n=right-left+1;var m=k-left+1;var z=Math.log(n);var s=.5*Math.exp(2*z/3);var sd=.5*Math.sqrt(z*s*(n-s)/n)*(m-n/2<0?-1:1);var newLeft=Math.max(left,Math.floor(k-m*s/n+sd));var newRight=Math.min(right,Math.floor(k+(n-m)*s/n+sd));quickselectStep(arr,k,newLeft,newRight,compare)}var t=arr[k];var i=left;var j=right;swap$1(arr,left,k);if(compare(arr[right],t)>0){swap$1(arr,left,right)}while(i<j){swap$1(arr,i,j);i++;j--;while(compare(arr[i],t)<0){i++}while(compare(arr[j],t)>0){j--}}if(compare(arr[left],t)===0){swap$1(arr,left,j)}else{j++;swap$1(arr,j,right)}if(j<=k){left=j+1}if(k<=j){right=j-1}}}function swap$1(arr,i,j){var tmp=arr[i];arr[i]=arr[j];arr[j]=tmp}function defaultCompare(a,b){return a<b?-1:a>b?1:0}function classifyRings(rings,maxRings){var len=rings.length;if(len<=1){return[rings]}var polygons=[];var polygon,ccw;for(var i=0;i<len;i++){var area=calculateSignedArea(rings[i]);if(area===0){continue}rings[i].area=Math.abs(area);if(ccw===undefined){ccw=area<0}if(ccw===area<0){if(polygon){polygons.push(polygon)}polygon=[rings[i]]}else{polygon.push(rings[i])}}if(polygon){polygons.push(polygon)}if(maxRings>1){for(var j=0;j<polygons.length;j++){if(polygons[j].length<=maxRings){continue}quickselect(polygons[j],maxRings,1,polygons[j].length-1,compareAreas);polygons[j]=polygons[j].slice(0,maxRings)}}return polygons}function compareAreas(a,b){return b.area-a.area}function hasPattern(type,layers,options){var patterns=options.patternDependencies;var hasPattern=false;for(var i=0,list=layers;i<list.length;i+=1){var layer=list[i];var patternProperty=layer.paint.get(type+"-pattern");if(!patternProperty.isConstant()){hasPattern=true}var constantPattern=patternProperty.constantOr(null);if(constantPattern){hasPattern=true;patterns[constantPattern.to]=true;patterns[constantPattern.from]=true}}return hasPattern}function addPatternDependencies(type,layers,patternFeature,zoom,options){var patterns=options.patternDependencies;for(var i=0,list=layers;i<list.length;i+=1){var layer=list[i];var patternProperty=layer.paint.get(type+"-pattern");var patternPropertyValue=patternProperty.value;if(patternPropertyValue.kind!=="constant"){var min=patternPropertyValue.evaluate({zoom:zoom-1},patternFeature,{},options.availableImages);var mid=patternPropertyValue.evaluate({zoom:zoom},patternFeature,{},options.availableImages);var max=patternPropertyValue.evaluate({zoom:zoom+1},patternFeature,{},options.availableImages);min=min&&min.name?min.name:min;mid=mid&&mid.name?mid.name:mid;max=max&&max.name?max.name:max;patterns[min]=true;patterns[mid]=true;patterns[max]=true;patternFeature.patterns[layer.id]={min:min,mid:mid,max:max}}}return patternFeature}var EARCUT_MAX_RINGS=500;var FillBucket=function FillBucket(options){this.zoom=options.zoom;this.overscaling=options.overscaling;this.layers=options.layers;this.layerIds=this.layers.map((function(layer){return layer.id}));this.index=options.index;this.hasPattern=false;this.patternFeatures=[];this.layoutVertexArray=new StructArrayLayout2i4;this.indexArray=new StructArrayLayout3ui6;this.indexArray2=new StructArrayLayout2ui4;this.programConfigurations=new ProgramConfigurationSet(members$1,options.layers,options.zoom);this.segments=new SegmentVector;this.segments2=new SegmentVector;this.stateDependentLayerIds=this.layers.filter((function(l){return l.isStateDependent()})).map((function(l){return l.id}))};FillBucket.prototype.populate=function populate(features,options,canonical){this.hasPattern=hasPattern("fill",this.layers,options);var fillSortKey=this.layers[0].layout.get("fill-sort-key");var bucketFeatures=[];for(var i=0,list=features;i<list.length;i+=1){var ref=list[i];var feature=ref.feature;var id=ref.id;var index=ref.index;var sourceLayerIndex=ref.sourceLayerIndex;var needGeometry=this.layers[0]._featureFilter.needGeometry;var evaluationFeature={type:feature.type,id:id,properties:feature.properties,geometry:needGeometry?loadGeometry(feature):[]};if(!this.layers[0]._featureFilter.filter(new EvaluationParameters(this.zoom),evaluationFeature,canonical)){continue}if(!needGeometry){evaluationFeature.geometry=loadGeometry(feature)}var sortKey=fillSortKey?fillSortKey.evaluate(evaluationFeature,{},canonical,options.availableImages):undefined;var bucketFeature={id:id,properties:feature.properties,type:feature.type,sourceLayerIndex:sourceLayerIndex,index:index,geometry:evaluationFeature.geometry,patterns:{},sortKey:sortKey};bucketFeatures.push(bucketFeature)}if(fillSortKey){bucketFeatures.sort((function(a,b){return a.sortKey-b.sortKey}))}for(var i$1=0,list$1=bucketFeatures;i$1<list$1.length;i$1+=1){var bucketFeature$1=list$1[i$1];var ref$1=bucketFeature$1;var geometry=ref$1.geometry;var index$1=ref$1.index;var sourceLayerIndex$1=ref$1.sourceLayerIndex;if(this.hasPattern){var patternFeature=addPatternDependencies("fill",this.layers,bucketFeature$1,this.zoom,options);this.patternFeatures.push(patternFeature)}else{this.addFeature(bucketFeature$1,geometry,index$1,canonical,{})}var feature$1=features[index$1].feature;options.featureIndex.insert(feature$1,geometry,index$1,sourceLayerIndex$1,this.index)}};FillBucket.prototype.update=function update(states,vtLayer,imagePositions){if(!this.stateDependentLayers.length){return}this.programConfigurations.updatePaintArrays(states,vtLayer,this.stateDependentLayers,imagePositions)};FillBucket.prototype.addFeatures=function addFeatures(options,canonical,imagePositions){for(var i=0,list=this.patternFeatures;i<list.length;i+=1){var feature=list[i];this.addFeature(feature,feature.geometry,feature.index,canonical,imagePositions)}};FillBucket.prototype.isEmpty=function isEmpty(){return this.layoutVertexArray.length===0};FillBucket.prototype.uploadPending=function uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload};FillBucket.prototype.upload=function upload(context){if(!this.uploaded){this.layoutVertexBuffer=context.createVertexBuffer(this.layoutVertexArray,members$1);this.indexBuffer=context.createIndexBuffer(this.indexArray);this.indexBuffer2=context.createIndexBuffer(this.indexArray2)}this.programConfigurations.upload(context);this.uploaded=true};FillBucket.prototype.destroy=function destroy(){if(!this.layoutVertexBuffer){return}this.layoutVertexBuffer.destroy();this.indexBuffer.destroy();this.indexBuffer2.destroy();this.programConfigurations.destroy();this.segments.destroy();this.segments2.destroy()};FillBucket.prototype.addFeature=function addFeature(feature,geometry,index,canonical,imagePositions){for(var i$4=0,list$2=classifyRings(geometry,EARCUT_MAX_RINGS);i$4<list$2.length;i$4+=1){var polygon=list$2[i$4];var numVertices=0;for(var i$2=0,list=polygon;i$2<list.length;i$2+=1){var ring=list[i$2];numVertices+=ring.length}var triangleSegment=this.segments.prepareSegment(numVertices,this.layoutVertexArray,this.indexArray);var triangleIndex=triangleSegment.vertexLength;var flattened=[];var holeIndices=[];for(var i$3=0,list$1=polygon;i$3<list$1.length;i$3+=1){var ring$1=list$1[i$3];if(ring$1.length===0){continue}if(ring$1!==polygon[0]){holeIndices.push(flattened.length/2)}var lineSegment=this.segments2.prepareSegment(ring$1.length,this.layoutVertexArray,this.indexArray2);var lineIndex=lineSegment.vertexLength;this.layoutVertexArray.emplaceBack(ring$1[0].x,ring$1[0].y);this.indexArray2.emplaceBack(lineIndex+ring$1.length-1,lineIndex);flattened.push(ring$1[0].x);flattened.push(ring$1[0].y);for(var i=1;i<ring$1.length;i++){this.layoutVertexArray.emplaceBack(ring$1[i].x,ring$1[i].y);this.indexArray2.emplaceBack(lineIndex+i-1,lineIndex+i);flattened.push(ring$1[i].x);flattened.push(ring$1[i].y)}lineSegment.vertexLength+=ring$1.length;lineSegment.primitiveLength+=ring$1.length}var indices=earcut_1(flattened,holeIndices);for(var i$1=0;i$1<indices.length;i$1+=3){this.indexArray.emplaceBack(triangleIndex+indices[i$1],triangleIndex+indices[i$1+1],triangleIndex+indices[i$1+2])}triangleSegment.vertexLength+=numVertices;triangleSegment.primitiveLength+=indices.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,feature,index,imagePositions,canonical)};register("FillBucket",FillBucket,{omit:["layers","patternFeatures"]});var layout$4=new Properties({"fill-sort-key":new DataDrivenProperty(spec["layout_fill"]["fill-sort-key"])});var paint$4=new Properties({"fill-antialias":new DataConstantProperty(spec["paint_fill"]["fill-antialias"]),"fill-opacity":new DataDrivenProperty(spec["paint_fill"]["fill-opacity"]),"fill-color":new DataDrivenProperty(spec["paint_fill"]["fill-color"]),"fill-outline-color":new DataDrivenProperty(spec["paint_fill"]["fill-outline-color"]),"fill-translate":new DataConstantProperty(spec["paint_fill"]["fill-translate"]),"fill-translate-anchor":new DataConstantProperty(spec["paint_fill"]["fill-translate-anchor"]),"fill-pattern":new CrossFadedDataDrivenProperty(spec["paint_fill"]["fill-pattern"])});var properties$3={paint:paint$4,layout:layout$4};var FillStyleLayer=function(StyleLayer){function FillStyleLayer(layer){StyleLayer.call(this,layer,properties$3)}if(StyleLayer)FillStyleLayer.__proto__=StyleLayer;FillStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);FillStyleLayer.prototype.constructor=FillStyleLayer;FillStyleLayer.prototype.recalculate=function recalculate(parameters,availableImages){StyleLayer.prototype.recalculate.call(this,parameters,availableImages);var outlineColor=this.paint._values["fill-outline-color"];if(outlineColor.value.kind==="constant"&&outlineColor.value.value===undefined){this.paint._values["fill-outline-color"]=this.paint._values["fill-color"]}};FillStyleLayer.prototype.createBucket=function createBucket(parameters){return new FillBucket(parameters)};FillStyleLayer.prototype.queryRadius=function queryRadius(){return translateDistance(this.paint.get("fill-translate"))};FillStyleLayer.prototype.queryIntersectsFeature=function queryIntersectsFeature(queryGeometry,feature,featureState,geometry,zoom,transform,pixelsToTileUnits){var translatedPolygon=translate(queryGeometry,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),transform.angle,pixelsToTileUnits);return polygonIntersectsMultiPolygon(translatedPolygon,geometry)};FillStyleLayer.prototype.isTileClipped=function isTileClipped(){return true};return FillStyleLayer}(StyleLayer);var layout$5=createLayout([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4);var members$2=layout$5.members;var vectortilefeature=VectorTileFeature;function VectorTileFeature(pbf,end,extent,keys,values){this.properties={};this.extent=extent;this.type=0;this._pbf=pbf;this._geometry=-1;this._keys=keys;this._values=values;pbf.readFields(readFeature,this,end)}function readFeature(tag,feature,pbf){if(tag==1){feature.id=pbf.readVarint()}else if(tag==2){readTag(pbf,feature)}else if(tag==3){feature.type=pbf.readVarint()}else if(tag==4){feature._geometry=pbf.pos}}function readTag(pbf,feature){var end=pbf.readVarint()+pbf.pos;while(pbf.pos<end){var key=feature._keys[pbf.readVarint()],value=feature._values[pbf.readVarint()];feature.properties[key]=value}}VectorTileFeature.types=["Unknown","Point","LineString","Polygon"];VectorTileFeature.prototype.loadGeometry=function(){var pbf=this._pbf;pbf.pos=this._geometry;var end=pbf.readVarint()+pbf.pos,cmd=1,length=0,x=0,y=0,lines=[],line;while(pbf.pos<end){if(length<=0){var cmdLen=pbf.readVarint();cmd=cmdLen&7;length=cmdLen>>3}length--;if(cmd===1||cmd===2){x+=pbf.readSVarint();y+=pbf.readSVarint();if(cmd===1){if(line){lines.push(line)}line=[]}line.push(new pointGeometry(x,y))}else if(cmd===7){if(line){line.push(line[0].clone())}}else{throw new Error("unknown command "+cmd)}}if(line){lines.push(line)}return lines};VectorTileFeature.prototype.bbox=function(){var pbf=this._pbf;pbf.pos=this._geometry;var end=pbf.readVarint()+pbf.pos,cmd=1,length=0,x=0,y=0,x1=Infinity,x2=-Infinity,y1=Infinity,y2=-Infinity;while(pbf.pos<end){if(length<=0){var cmdLen=pbf.readVarint();cmd=cmdLen&7;length=cmdLen>>3}length--;if(cmd===1||cmd===2){x+=pbf.readSVarint();y+=pbf.readSVarint();if(x<x1){x1=x}if(x>x2){x2=x}if(y<y1){y1=y}if(y>y2){y2=y}}else if(cmd!==7){throw new Error("unknown command "+cmd)}}return[x1,y1,x2,y2]};VectorTileFeature.prototype.toGeoJSON=function(x,y,z){var size=this.extent*Math.pow(2,z),x0=this.extent*x,y0=this.extent*y,coords=this.loadGeometry(),type=VectorTileFeature.types[this.type],i,j;function project(line){for(var j=0;j<line.length;j++){var p=line[j],y2=180-(p.y+y0)*360/size;line[j]=[(p.x+x0)*360/size-180,360/Math.PI*Math.atan(Math.exp(y2*Math.PI/180))-90]}}switch(this.type){case 1:var points=[];for(i=0;i<coords.length;i++){points[i]=coords[i][0]}coords=points;project(coords);break;case 2:for(i=0;i<coords.length;i++){project(coords[i])}break;case 3:coords=classifyRings$1(coords);for(i=0;i<coords.length;i++){for(j=0;j<coords[i].length;j++){project(coords[i][j])}}break}if(coords.length===1){coords=coords[0]}else{type="Multi"+type}var result={type:"Feature",geometry:{type:type,coordinates:coords},properties:this.properties};if("id"in this){result.id=this.id}return result};function classifyRings$1(rings){var len=rings.length;if(len<=1){return[rings]}var polygons=[],polygon,ccw;for(var i=0;i<len;i++){var area=signedArea$1(rings[i]);if(area===0){continue}if(ccw===undefined){ccw=area<0}if(ccw===area<0){if(polygon){polygons.push(polygon)}polygon=[rings[i]]}else{polygon.push(rings[i])}}if(polygon){polygons.push(polygon)}return polygons}function signedArea$1(ring){var sum=0;for(var i=0,len=ring.length,j=len-1,p1,p2;i<len;j=i++){p1=ring[i];p2=ring[j];sum+=(p2.x-p1.x)*(p1.y+p2.y)}return sum}var vectortilelayer=VectorTileLayer;function VectorTileLayer(pbf,end){this.version=1;this.name=null;this.extent=4096;this.length=0;this._pbf=pbf;this._keys=[];this._values=[];this._features=[];pbf.readFields(readLayer,this,end);this.length=this._features.length}function readLayer(tag,layer,pbf){if(tag===15){layer.version=pbf.readVarint()}else if(tag===1){layer.name=pbf.readString()}else if(tag===5){layer.extent=pbf.readVarint()}else if(tag===2){layer._features.push(pbf.pos)}else if(tag===3){layer._keys.push(pbf.readString())}else if(tag===4){layer._values.push(readValueMessage(pbf))}}function readValueMessage(pbf){var value=null,end=pbf.readVarint()+pbf.pos;while(pbf.pos<end){var tag=pbf.readVarint()>>3;value=tag===1?pbf.readString():tag===2?pbf.readFloat():tag===3?pbf.readDouble():tag===4?pbf.readVarint64():tag===5?pbf.readVarint():tag===6?pbf.readSVarint():tag===7?pbf.readBoolean():null}return value}VectorTileLayer.prototype.feature=function(i){if(i<0||i>=this._features.length){throw new Error("feature index out of bounds")}this._pbf.pos=this._features[i];var end=this._pbf.readVarint()+this._pbf.pos;return new vectortilefeature(this._pbf,end,this.extent,this._keys,this._values)};var vectortile=VectorTile;function VectorTile(pbf,end){this.layers=pbf.readFields(readTile,{},end)}function readTile(tag,layers,pbf){if(tag===3){var layer=new vectortilelayer(pbf,pbf.readVarint()+pbf.pos);if(layer.length){layers[layer.name]=layer}}}var VectorTile$1=vectortile;var VectorTileFeature$1=vectortilefeature;var VectorTileLayer$1=vectortilelayer;var vectorTile={VectorTile:VectorTile$1,VectorTileFeature:VectorTileFeature$1,VectorTileLayer:VectorTileLayer$1};var vectorTileFeatureTypes=vectorTile.VectorTileFeature.types;var EARCUT_MAX_RINGS$1=500;var FACTOR=Math.pow(2,13);function addVertex(vertexArray,x,y,nx,ny,nz,t,e){vertexArray.emplaceBack(x,y,Math.floor(nx*FACTOR)*2+t,ny*FACTOR*2,nz*FACTOR*2,Math.round(e))}var FillExtrusionBucket=function FillExtrusionBucket(options){this.zoom=options.zoom;this.overscaling=options.overscaling;this.layers=options.layers;this.layerIds=this.layers.map((function(layer){return layer.id}));this.index=options.index;this.hasPattern=false;this.layoutVertexArray=new StructArrayLayout2i4i12;this.indexArray=new StructArrayLayout3ui6;this.programConfigurations=new ProgramConfigurationSet(members$2,options.layers,options.zoom);this.segments=new SegmentVector;this.stateDependentLayerIds=this.layers.filter((function(l){return l.isStateDependent()})).map((function(l){return l.id}))};FillExtrusionBucket.prototype.populate=function populate(features,options,canonical){this.features=[];this.hasPattern=hasPattern("fill-extrusion",this.layers,options);for(var i=0,list=features;i<list.length;i+=1){var ref=list[i];var feature=ref.feature;var id=ref.id;var index=ref.index;var sourceLayerIndex=ref.sourceLayerIndex;var needGeometry=this.layers[0]._featureFilter.needGeometry;var evaluationFeature={type:feature.type,id:id,properties:feature.properties,geometry:needGeometry?loadGeometry(feature):[]};if(!this.layers[0]._featureFilter.filter(new EvaluationParameters(this.zoom),evaluationFeature,canonical)){continue}var patternFeature={id:id,sourceLayerIndex:sourceLayerIndex,index:index,geometry:needGeometry?evaluationFeature.geometry:loadGeometry(feature),properties:feature.properties,type:feature.type,patterns:{}};if(typeof feature.id!=="undefined"){patternFeature.id=feature.id}if(this.hasPattern){this.features.push(addPatternDependencies("fill-extrusion",this.layers,patternFeature,this.zoom,options))}else{this.addFeature(patternFeature,patternFeature.geometry,index,canonical,{})}options.featureIndex.insert(feature,patternFeature.geometry,index,sourceLayerIndex,this.index,true)}};FillExtrusionBucket.prototype.addFeatures=function addFeatures(options,canonical,imagePositions){for(var i=0,list=this.features;i<list.length;i+=1){var feature=list[i];var geometry=feature.geometry;this.addFeature(feature,geometry,feature.index,canonical,imagePositions)}};FillExtrusionBucket.prototype.update=function update(states,vtLayer,imagePositions){if(!this.stateDependentLayers.length){return}this.programConfigurations.updatePaintArrays(states,vtLayer,this.stateDependentLayers,imagePositions)};FillExtrusionBucket.prototype.isEmpty=function isEmpty(){return this.layoutVertexArray.length===0};FillExtrusionBucket.prototype.uploadPending=function uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload};FillExtrusionBucket.prototype.upload=function upload(context){if(!this.uploaded){this.layoutVertexBuffer=context.createVertexBuffer(this.layoutVertexArray,members$2);this.indexBuffer=context.createIndexBuffer(this.indexArray)}this.programConfigurations.upload(context);this.uploaded=true};FillExtrusionBucket.prototype.destroy=function destroy(){if(!this.layoutVertexBuffer){return}this.layoutVertexBuffer.destroy();this.indexBuffer.destroy();this.programConfigurations.destroy();this.segments.destroy()};FillExtrusionBucket.prototype.addFeature=function addFeature(feature,geometry,index,canonical,imagePositions){for(var i$4=0,list$3=classifyRings(geometry,EARCUT_MAX_RINGS$1);i$4<list$3.length;i$4+=1){var polygon=list$3[i$4];var numVertices=0;for(var i$1=0,list=polygon;i$1<list.length;i$1+=1){var ring=list[i$1];numVertices+=ring.length}var segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(var i$2=0,list$1=polygon;i$2<list$1.length;i$2+=1){var ring$1=list$1[i$2];if(ring$1.length===0){continue}if(isEntirelyOutside(ring$1)){continue}var edgeDistance=0;for(var p=0;p<ring$1.length;p++){var p1=ring$1[p];if(p>=1){var p2=ring$1[p-1];if(!isBoundaryEdge(p1,p2)){if(segment.vertexLength+4>SegmentVector.MAX_VERTEX_ARRAY_LENGTH){segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)}var perp=p1.sub(p2)._perp()._unit();var dist=p2.dist(p1);if(edgeDistance+dist>32768){edgeDistance=0}addVertex(this.layoutVertexArray,p1.x,p1.y,perp.x,perp.y,0,0,edgeDistance);addVertex(this.layoutVertexArray,p1.x,p1.y,perp.x,perp.y,0,1,edgeDistance);edgeDistance+=dist;addVertex(this.layoutVertexArray,p2.x,p2.y,perp.x,perp.y,0,0,edgeDistance);addVertex(this.layoutVertexArray,p2.x,p2.y,perp.x,perp.y,0,1,edgeDistance);var bottomRight=segment.vertexLength;this.indexArray.emplaceBack(bottomRight,bottomRight+2,bottomRight+1);this.indexArray.emplaceBack(bottomRight+1,bottomRight+2,bottomRight+3);segment.vertexLength+=4;segment.primitiveLength+=2}}}}if(segment.vertexLength+numVertices>SegmentVector.MAX_VERTEX_ARRAY_LENGTH){segment=this.segments.prepareSegment(numVertices,this.layoutVertexArray,this.indexArray)}if(vectorTileFeatureTypes[feature.type]!=="Polygon"){continue}var flattened=[];var holeIndices=[];var triangleIndex=segment.vertexLength;for(var i$3=0,list$2=polygon;i$3<list$2.length;i$3+=1){var ring$2=list$2[i$3];if(ring$2.length===0){continue}if(ring$2!==polygon[0]){holeIndices.push(flattened.length/2)}for(var i=0;i<ring$2.length;i++){var p$1=ring$2[i];addVertex(this.layoutVertexArray,p$1.x,p$1.y,0,0,1,1,0);flattened.push(p$1.x);flattened.push(p$1.y)}}var indices=earcut_1(flattened,holeIndices);for(var j=0;j<indices.length;j+=3){this.indexArray.emplaceBack(triangleIndex+indices[j],triangleIndex+indices[j+2],triangleIndex+indices[j+1])}segment.primitiveLength+=indices.length/3;segment.vertexLength+=numVertices}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,feature,index,imagePositions,canonical)};register("FillExtrusionBucket",FillExtrusionBucket,{omit:["layers","features"]});function isBoundaryEdge(p1,p2){return p1.x===p2.x&&(p1.x<0||p1.x>EXTENT$1)||p1.y===p2.y&&(p1.y<0||p1.y>EXTENT$1)}function isEntirelyOutside(ring){return ring.every((function(p){return p.x<0}))||ring.every((function(p){return p.x>EXTENT$1}))||ring.every((function(p){return p.y<0}))||ring.every((function(p){return p.y>EXTENT$1}))}var paint$5=new Properties({"fill-extrusion-opacity":new DataConstantProperty(spec["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new DataDrivenProperty(spec["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new DataConstantProperty(spec["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new DataConstantProperty(spec["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new CrossFadedDataDrivenProperty(spec["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new DataDrivenProperty(spec["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new DataDrivenProperty(spec["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new DataConstantProperty(spec["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])});var properties$4={paint:paint$5};var FillExtrusionStyleLayer=function(StyleLayer){function FillExtrusionStyleLayer(layer){StyleLayer.call(this,layer,properties$4)}if(StyleLayer)FillExtrusionStyleLayer.__proto__=StyleLayer;FillExtrusionStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);FillExtrusionStyleLayer.prototype.constructor=FillExtrusionStyleLayer;FillExtrusionStyleLayer.prototype.createBucket=function createBucket(parameters){return new FillExtrusionBucket(parameters)};FillExtrusionStyleLayer.prototype.queryRadius=function queryRadius(){return translateDistance(this.paint.get("fill-extrusion-translate"))};FillExtrusionStyleLayer.prototype.is3D=function is3D(){return true};FillExtrusionStyleLayer.prototype.queryIntersectsFeature=function queryIntersectsFeature(queryGeometry,feature,featureState,geometry,zoom,transform,pixelsToTileUnits,pixelPosMatrix){var translatedPolygon=translate(queryGeometry,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),transform.angle,pixelsToTileUnits);var height=this.paint.get("fill-extrusion-height").evaluate(feature,featureState);var base=this.paint.get("fill-extrusion-base").evaluate(feature,featureState);var projectedQueryGeometry=projectQueryGeometry$1(translatedPolygon,pixelPosMatrix,transform,0);var projected=projectExtrusion(geometry,base,height,pixelPosMatrix);var projectedBase=projected[0];var projectedTop=projected[1];return checkIntersection(projectedBase,projectedTop,projectedQueryGeometry)};return FillExtrusionStyleLayer}(StyleLayer);function dot$2(a,b){return a.x*b.x+a.y*b.y}function getIntersectionDistance(projectedQueryGeometry,projectedFace){if(projectedQueryGeometry.length===1){var i=0;var a=projectedFace[i++];var b;while(!b||a.equals(b)){b=projectedFace[i++];if(!b){return Infinity}}for(;i<projectedFace.length;i++){var c=projectedFace[i];var p=projectedQueryGeometry[0];var ab=b.sub(a);var ac=c.sub(a);var ap=p.sub(a);var dotABAB=dot$2(ab,ab);var dotABAC=dot$2(ab,ac);var dotACAC=dot$2(ac,ac);var dotAPAB=dot$2(ap,ab);var dotAPAC=dot$2(ap,ac);var denom=dotABAB*dotACAC-dotABAC*dotABAC;var v=(dotACAC*dotAPAB-dotABAC*dotAPAC)/denom;var w=(dotABAB*dotAPAC-dotABAC*dotAPAB)/denom;var u=1-v-w;var distance=a.z*u+b.z*v+c.z*w;if(isFinite(distance)){return distance}}return Infinity}else{var closestDistance=Infinity;for(var i$1=0,list=projectedFace;i$1<list.length;i$1+=1){var p$1=list[i$1];closestDistance=Math.min(closestDistance,p$1.z)}return closestDistance}}function checkIntersection(projectedBase,projectedTop,projectedQueryGeometry){var closestDistance=Infinity;if(polygonIntersectsMultiPolygon(projectedQueryGeometry,projectedTop)){closestDistance=getIntersectionDistance(projectedQueryGeometry,projectedTop[0])}for(var r=0;r<projectedTop.length;r++){var ringTop=projectedTop[r];var ringBase=projectedBase[r];for(var p=0;p<ringTop.length-1;p++){var topA=ringTop[p];var topB=ringTop[p+1];var baseA=ringBase[p];var baseB=ringBase[p+1];var face=[topA,topB,baseB,baseA,topA];if(polygonIntersectsPolygon(projectedQueryGeometry,face)){closestDistance=Math.min(closestDistance,getIntersectionDistance(projectedQueryGeometry,face))}}}return closestDistance===Infinity?false:closestDistance}function projectExtrusion(geometry,zBase,zTop,m){var projectedBase=[];var projectedTop=[];var baseXZ=m[8]*zBase;var baseYZ=m[9]*zBase;var baseZZ=m[10]*zBase;var baseWZ=m[11]*zBase;var topXZ=m[8]*zTop;var topYZ=m[9]*zTop;var topZZ=m[10]*zTop;var topWZ=m[11]*zTop;for(var i$1=0,list$1=geometry;i$1<list$1.length;i$1+=1){var r=list$1[i$1];var ringBase=[];var ringTop=[];for(var i=0,list=r;i<list.length;i+=1){var p=list[i];var x=p.x;var y=p.y;var sX=m[0]*x+m[4]*y+m[12];var sY=m[1]*x+m[5]*y+m[13];var sZ=m[2]*x+m[6]*y+m[14];var sW=m[3]*x+m[7]*y+m[15];var baseX=sX+baseXZ;var baseY=sY+baseYZ;var baseZ=sZ+baseZZ;var baseW=sW+baseWZ;var topX=sX+topXZ;var topY=sY+topYZ;var topZ=sZ+topZZ;var topW=sW+topWZ;var b=new pointGeometry(baseX/baseW,baseY/baseW);b.z=baseZ/baseW;ringBase.push(b);var t=new pointGeometry(topX/topW,topY/topW);t.z=topZ/topW;ringTop.push(t)}projectedBase.push(ringBase);projectedTop.push(ringTop)}return[projectedBase,projectedTop]}function projectQueryGeometry$1(queryGeometry,pixelPosMatrix,transform,z){var projectedQueryGeometry=[];for(var i=0,list=queryGeometry;i<list.length;i+=1){var p=list[i];var v=[p.x,p.y,z,1];transformMat4(v,v,pixelPosMatrix);projectedQueryGeometry.push(new pointGeometry(v[0]/v[3],v[1]/v[3]))}return projectedQueryGeometry}var lineLayoutAttributes=createLayout([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4);var members$3=lineLayoutAttributes.members;var vectorTileFeatureTypes$1=vectorTile.VectorTileFeature.types;var EXTRUDE_SCALE=63;var COS_HALF_SHARP_CORNER=Math.cos(75/2*(Math.PI/180));var SHARP_CORNER_OFFSET=15;var DEG_PER_TRIANGLE=20;var LINE_DISTANCE_BUFFER_BITS=15;var LINE_DISTANCE_SCALE=1/2;var MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE;var LineBucket=function LineBucket(options){this.zoom=options.zoom;this.overscaling=options.overscaling;this.layers=options.layers;this.layerIds=this.layers.map((function(layer){return layer.id}));this.index=options.index;this.hasPattern=false;this.patternFeatures=[];this.layoutVertexArray=new StructArrayLayout2i4ub8;this.indexArray=new StructArrayLayout3ui6;this.programConfigurations=new ProgramConfigurationSet(members$3,options.layers,options.zoom);this.segments=new SegmentVector;this.stateDependentLayerIds=this.layers.filter((function(l){return l.isStateDependent()})).map((function(l){return l.id}))};LineBucket.prototype.populate=function populate(features,options,canonical){this.hasPattern=hasPattern("line",this.layers,options);var lineSortKey=this.layers[0].layout.get("line-sort-key");var bucketFeatures=[];for(var i=0,list=features;i<list.length;i+=1){var ref=list[i];var feature=ref.feature;var id=ref.id;var index=ref.index;var sourceLayerIndex=ref.sourceLayerIndex;var needGeometry=this.layers[0]._featureFilter.needGeometry;var evaluationFeature={type:feature.type,id:id,properties:feature.properties,geometry:needGeometry?loadGeometry(feature):[]};if(!this.layers[0]._featureFilter.filter(new EvaluationParameters(this.zoom),evaluationFeature,canonical)){continue}if(!needGeometry){evaluationFeature.geometry=loadGeometry(feature)}var sortKey=lineSortKey?lineSortKey.evaluate(evaluationFeature,{},canonical):undefined;var bucketFeature={id:id,properties:feature.properties,type:feature.type,sourceLayerIndex:sourceLayerIndex,index:index,geometry:evaluationFeature.geometry,patterns:{},sortKey:sortKey};bucketFeatures.push(bucketFeature)}if(lineSortKey){bucketFeatures.sort((function(a,b){return a.sortKey-b.sortKey}))}for(var i$1=0,list$1=bucketFeatures;i$1<list$1.length;i$1+=1){var bucketFeature$1=list$1[i$1];var ref$1=bucketFeature$1;var geometry=ref$1.geometry;var index$1=ref$1.index;var sourceLayerIndex$1=ref$1.sourceLayerIndex;if(this.hasPattern){var patternBucketFeature=addPatternDependencies("line",this.layers,bucketFeature$1,this.zoom,options);this.patternFeatures.push(patternBucketFeature)}else{this.addFeature(bucketFeature$1,geometry,index$1,canonical,{})}var feature$1=features[index$1].feature;options.featureIndex.insert(feature$1,geometry,index$1,sourceLayerIndex$1,this.index)}};LineBucket.prototype.update=function update(states,vtLayer,imagePositions){if(!this.stateDependentLayers.length){return}this.programConfigurations.updatePaintArrays(states,vtLayer,this.stateDependentLayers,imagePositions)};LineBucket.prototype.addFeatures=function addFeatures(options,canonical,imagePositions){for(var i=0,list=this.patternFeatures;i<list.length;i+=1){var feature=list[i];this.addFeature(feature,feature.geometry,feature.index,canonical,imagePositions)}};LineBucket.prototype.isEmpty=function isEmpty(){return this.layoutVertexArray.length===0};LineBucket.prototype.uploadPending=function uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload};LineBucket.prototype.upload=function upload(context){if(!this.uploaded){this.layoutVertexBuffer=context.createVertexBuffer(this.layoutVertexArray,members$3);this.indexBuffer=context.createIndexBuffer(this.indexArray)}this.programConfigurations.upload(context);this.uploaded=true};LineBucket.prototype.destroy=function destroy(){if(!this.layoutVertexBuffer){return}this.layoutVertexBuffer.destroy();this.indexBuffer.destroy();this.programConfigurations.destroy();this.segments.destroy()};LineBucket.prototype.addFeature=function addFeature(feature,geometry,index,canonical,imagePositions){var layout=this.layers[0].layout;var join=layout.get("line-join").evaluate(feature,{});var cap=layout.get("line-cap");var miterLimit=layout.get("line-miter-limit");var roundLimit=layout.get("line-round-limit");for(var i=0,list=geometry;i<list.length;i+=1){var line=list[i];this.addLine(line,feature,join,cap,miterLimit,roundLimit)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,feature,index,imagePositions,canonical)};LineBucket.prototype.addLine=function addLine(vertices,feature,join,cap,miterLimit,roundLimit){this.distance=0;this.scaledDistance=0;this.totalDistance=0;if(!!feature.properties&&feature.properties.hasOwnProperty("mapbox_clip_start")&&feature.properties.hasOwnProperty("mapbox_clip_end")){this.clipStart=+feature.properties["mapbox_clip_start"];this.clipEnd=+feature.properties["mapbox_clip_end"];for(var i=0;i<vertices.length-1;i++){this.totalDistance+=vertices[i].dist(vertices[i+1])}this.updateScaledDistance()}var isPolygon=vectorTileFeatureTypes$1[feature.type]==="Polygon";var len=vertices.length;while(len>=2&&vertices[len-1].equals(vertices[len-2])){len--}var first=0;while(first<len-1&&vertices[first].equals(vertices[first+1])){first++}if(len<(isPolygon?3:2)){return}if(join==="bevel"){miterLimit=1.05}var sharpCornerOffset=this.overscaling<=16?SHARP_CORNER_OFFSET*EXTENT$1/(512*this.overscaling):0;var segment=this.segments.prepareSegment(len*10,this.layoutVertexArray,this.indexArray);var currentVertex;var prevVertex=undefined;var nextVertex=undefined;var prevNormal=undefined;var nextNormal=undefined;this.e1=this.e2=-1;if(isPolygon){currentVertex=vertices[len-2];nextNormal=vertices[first].sub(currentVertex)._unit()._perp()}for(var i$1=first;i$1<len;i$1++){nextVertex=i$1===len-1?isPolygon?vertices[first+1]:undefined:vertices[i$1+1];if(nextVertex&&vertices[i$1].equals(nextVertex)){continue}if(nextNormal){prevNormal=nextNormal}if(currentVertex){prevVertex=currentVertex}currentVertex=vertices[i$1];nextNormal=nextVertex?nextVertex.sub(currentVertex)._unit()._perp():prevNormal;prevNormal=prevNormal||nextNormal;var joinNormal=prevNormal.add(nextNormal);if(joinNormal.x!==0||joinNormal.y!==0){joinNormal._unit()}var cosAngle=prevNormal.x*nextNormal.x+prevNormal.y*nextNormal.y;var cosHalfAngle=joinNormal.x*nextNormal.x+joinNormal.y*nextNormal.y;var miterLength=cosHalfAngle!==0?1/cosHalfAngle:Infinity;var approxAngle=2*Math.sqrt(2-2*cosHalfAngle);var isSharpCorner=cosHalfAngle<COS_HALF_SHARP_CORNER&&prevVertex&&nextVertex;var lineTurnsLeft=prevNormal.x*nextNormal.y-prevNormal.y*nextNormal.x>0;if(isSharpCorner&&i$1>first){var prevSegmentLength=currentVertex.dist(prevVertex);if(prevSegmentLength>2*sharpCornerOffset){var newPrevVertex=currentVertex.sub(currentVertex.sub(prevVertex)._mult(sharpCornerOffset/prevSegmentLength)._round());this.updateDistance(prevVertex,newPrevVertex);this.addCurrentVertex(newPrevVertex,prevNormal,0,0,segment);prevVertex=newPrevVertex}}var middleVertex=prevVertex&&nextVertex;var currentJoin=middleVertex?join:isPolygon?"butt":cap;if(middleVertex&&currentJoin==="round"){if(miterLength<roundLimit){currentJoin="miter"}else if(miterLength<=2){currentJoin="fakeround"}}if(currentJoin==="miter"&&miterLength>miterLimit){currentJoin="bevel"}if(currentJoin==="bevel"){if(miterLength>2){currentJoin="flipbevel"}if(miterLength<miterLimit){currentJoin="miter"}}if(prevVertex){this.updateDistance(prevVertex,currentVertex)}if(currentJoin==="miter"){joinNormal._mult(miterLength);this.addCurrentVertex(currentVertex,joinNormal,0,0,segment)}else if(currentJoin==="flipbevel"){if(miterLength>100){joinNormal=nextNormal.mult(-1)}else{var bevelLength=miterLength*prevNormal.add(nextNormal).mag()/prevNormal.sub(nextNormal).mag();joinNormal._perp()._mult(bevelLength*(lineTurnsLeft?-1:1))}this.addCurrentVertex(currentVertex,joinNormal,0,0,segment);this.addCurrentVertex(currentVertex,joinNormal.mult(-1),0,0,segment)}else if(currentJoin==="bevel"||currentJoin==="fakeround"){var offset=-Math.sqrt(miterLength*miterLength-1);var offsetA=lineTurnsLeft?offset:0;var offsetB=lineTurnsLeft?0:offset;if(prevVertex){this.addCurrentVertex(currentVertex,prevNormal,offsetA,offsetB,segment)}if(currentJoin==="fakeround"){var n=Math.round(approxAngle*180/Math.PI/DEG_PER_TRIANGLE);for(var m=1;m<n;m++){var t=m/n;if(t!==.5){var t2=t-.5;var A=1.0904+cosAngle*(-3.2452+cosAngle*(3.55645-cosAngle*1.43519));var B=.848013+cosAngle*(-1.06021+cosAngle*.215638);t=t+t*t2*(t-1)*(A*t2*t2+B)}var extrude=nextNormal.sub(prevNormal)._mult(t)._add(prevNormal)._unit()._mult(lineTurnsLeft?-1:1);this.addHalfVertex(currentVertex,extrude.x,extrude.y,false,lineTurnsLeft,0,segment)}}if(nextVertex){this.addCurrentVertex(currentVertex,nextNormal,-offsetA,-offsetB,segment)}}else if(currentJoin==="butt"){this.addCurrentVertex(currentVertex,joinNormal,0,0,segment)}else if(currentJoin==="square"){var offset$1=prevVertex?1:-1;this.addCurrentVertex(currentVertex,joinNormal,offset$1,offset$1,segment)}else if(currentJoin==="round"){if(prevVertex){this.addCurrentVertex(currentVertex,prevNormal,0,0,segment);this.addCurrentVertex(currentVertex,prevNormal,1,1,segment,true)}if(nextVertex){this.addCurrentVertex(currentVertex,nextNormal,-1,-1,segment,true);this.addCurrentVertex(currentVertex,nextNormal,0,0,segment)}}if(isSharpCorner&&i$1<len-1){var nextSegmentLength=currentVertex.dist(nextVertex);if(nextSegmentLength>2*sharpCornerOffset){var newCurrentVertex=currentVertex.add(nextVertex.sub(currentVertex)._mult(sharpCornerOffset/nextSegmentLength)._round());this.updateDistance(currentVertex,newCurrentVertex);this.addCurrentVertex(newCurrentVertex,nextNormal,0,0,segment);currentVertex=newCurrentVertex}}}};LineBucket.prototype.addCurrentVertex=function addCurrentVertex(p,normal,endLeft,endRight,segment,round){if(round===void 0)round=false;var leftX=normal.x+normal.y*endLeft;var leftY=normal.y-normal.x*endLeft;var rightX=-normal.x+normal.y*endRight;var rightY=-normal.y-normal.x*endRight;this.addHalfVertex(p,leftX,leftY,round,false,endLeft,segment);this.addHalfVertex(p,rightX,rightY,round,true,-endRight,segment);if(this.distance>MAX_LINE_DISTANCE/2&&this.totalDistance===0){this.distance=0;this.addCurrentVertex(p,normal,endLeft,endRight,segment,round)}};LineBucket.prototype.addHalfVertex=function addHalfVertex(ref,extrudeX,extrudeY,round,up,dir,segment){var x=ref.x;var y=ref.y;var linesofar=this.scaledDistance*LINE_DISTANCE_SCALE;this.layoutVertexArray.emplaceBack((x<<1)+(round?1:0),(y<<1)+(up?1:0),Math.round(EXTRUDE_SCALE*extrudeX)+128,Math.round(EXTRUDE_SCALE*extrudeY)+128,(dir===0?0:dir<0?-1:1)+1|(linesofar&63)<<2,linesofar>>6);var e=segment.vertexLength++;if(this.e1>=0&&this.e2>=0){this.indexArray.emplaceBack(this.e1,this.e2,e);segment.primitiveLength++}if(up){this.e2=e}else{this.e1=e}};LineBucket.prototype.updateScaledDistance=function updateScaledDistance(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(MAX_LINE_DISTANCE-1):this.distance};LineBucket.prototype.updateDistance=function updateDistance(prev,next){this.distance+=prev.dist(next);this.updateScaledDistance()};register("LineBucket",LineBucket,{omit:["layers","patternFeatures"]});var layout$6=new Properties({"line-cap":new DataConstantProperty(spec["layout_line"]["line-cap"]),"line-join":new DataDrivenProperty(spec["layout_line"]["line-join"]),"line-miter-limit":new DataConstantProperty(spec["layout_line"]["line-miter-limit"]),"line-round-limit":new DataConstantProperty(spec["layout_line"]["line-round-limit"]),"line-sort-key":new DataDrivenProperty(spec["layout_line"]["line-sort-key"])});var paint$6=new Properties({"line-opacity":new DataDrivenProperty(spec["paint_line"]["line-opacity"]),"line-color":new DataDrivenProperty(spec["paint_line"]["line-color"]),"line-translate":new DataConstantProperty(spec["paint_line"]["line-translate"]),"line-translate-anchor":new DataConstantProperty(spec["paint_line"]["line-translate-anchor"]),"line-width":new DataDrivenProperty(spec["paint_line"]["line-width"]),"line-gap-width":new DataDrivenProperty(spec["paint_line"]["line-gap-width"]),"line-offset":new DataDrivenProperty(spec["paint_line"]["line-offset"]),"line-blur":new DataDrivenProperty(spec["paint_line"]["line-blur"]),"line-dasharray":new CrossFadedProperty(spec["paint_line"]["line-dasharray"]),"line-pattern":new CrossFadedDataDrivenProperty(spec["paint_line"]["line-pattern"]),"line-gradient":new ColorRampProperty(spec["paint_line"]["line-gradient"])});var properties$5={paint:paint$6,layout:layout$6};var LineFloorwidthProperty=function(DataDrivenProperty){function LineFloorwidthProperty(){DataDrivenProperty.apply(this,arguments)}if(DataDrivenProperty)LineFloorwidthProperty.__proto__=DataDrivenProperty;LineFloorwidthProperty.prototype=Object.create(DataDrivenProperty&&DataDrivenProperty.prototype);LineFloorwidthProperty.prototype.constructor=LineFloorwidthProperty;LineFloorwidthProperty.prototype.possiblyEvaluate=function possiblyEvaluate(value,parameters){parameters=new EvaluationParameters(Math.floor(parameters.zoom),{now:parameters.now,fadeDuration:parameters.fadeDuration,zoomHistory:parameters.zoomHistory,transition:parameters.transition});return DataDrivenProperty.prototype.possiblyEvaluate.call(this,value,parameters)};LineFloorwidthProperty.prototype.evaluate=function evaluate(value,globals,feature,featureState){globals=extend({},globals,{zoom:Math.floor(globals.zoom)});return DataDrivenProperty.prototype.evaluate.call(this,value,globals,feature,featureState)};return LineFloorwidthProperty}(DataDrivenProperty);var lineFloorwidthProperty=new LineFloorwidthProperty(properties$5.paint.properties["line-width"].specification);lineFloorwidthProperty.useIntegerZoom=true;var LineStyleLayer=function(StyleLayer){function LineStyleLayer(layer){StyleLayer.call(this,layer,properties$5)}if(StyleLayer)LineStyleLayer.__proto__=StyleLayer;LineStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);LineStyleLayer.prototype.constructor=LineStyleLayer;LineStyleLayer.prototype._handleSpecialPaintPropertyUpdate=function _handleSpecialPaintPropertyUpdate(name){if(name==="line-gradient"){this._updateGradient()}};LineStyleLayer.prototype._updateGradient=function _updateGradient(){var expression=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=renderColorRamp(expression,"lineProgress");this.gradientTexture=null};LineStyleLayer.prototype.recalculate=function recalculate(parameters,availableImages){StyleLayer.prototype.recalculate.call(this,parameters,availableImages);this.paint._values["line-floorwidth"]=lineFloorwidthProperty.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,parameters)};LineStyleLayer.prototype.createBucket=function createBucket(parameters){return new LineBucket(parameters)};LineStyleLayer.prototype.queryRadius=function queryRadius(bucket){var lineBucket=bucket;var width=getLineWidth(getMaximumPaintValue("line-width",this,lineBucket),getMaximumPaintValue("line-gap-width",this,lineBucket));var offset=getMaximumPaintValue("line-offset",this,lineBucket);return width/2+Math.abs(offset)+translateDistance(this.paint.get("line-translate"))};LineStyleLayer.prototype.queryIntersectsFeature=function queryIntersectsFeature(queryGeometry,feature,featureState,geometry,zoom,transform,pixelsToTileUnits){var translatedPolygon=translate(queryGeometry,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),transform.angle,pixelsToTileUnits);var halfWidth=pixelsToTileUnits/2*getLineWidth(this.paint.get("line-width").evaluate(feature,featureState),this.paint.get("line-gap-width").evaluate(feature,featureState));var lineOffset=this.paint.get("line-offset").evaluate(feature,featureState);if(lineOffset){geometry=offsetLine(geometry,lineOffset*pixelsToTileUnits)}return polygonIntersectsBufferedMultiLine(translatedPolygon,geometry,halfWidth)};LineStyleLayer.prototype.isTileClipped=function isTileClipped(){return true};return LineStyleLayer}(StyleLayer);function getLineWidth(lineWidth,lineGapWidth){if(lineGapWidth>0){return lineGapWidth+2*lineWidth}else{return lineWidth}}function offsetLine(rings,offset){var newRings=[];var zero=new pointGeometry(0,0);for(var k=0;k<rings.length;k++){var ring=rings[k];var newRing=[];for(var i=0;i<ring.length;i++){var a=ring[i-1];var b=ring[i];var c=ring[i+1];var aToB=i===0?zero:b.sub(a)._unit()._perp();var bToC=i===ring.length-1?zero:c.sub(b)._unit()._perp();var extrude=aToB._add(bToC)._unit();var cosHalfAngle=extrude.x*bToC.x+extrude.y*bToC.y;extrude._mult(1/cosHalfAngle);newRing.push(extrude._mult(offset)._add(b))}newRings.push(newRing)}return newRings}var symbolLayoutAttributes=createLayout([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4);var dynamicLayoutAttributes=createLayout([{name:"a_projected_pos",components:3,type:"Float32"}],4);var placementOpacityAttributes=createLayout([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);var collisionVertexAttributes=createLayout([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]);var collisionBox=createLayout([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);var collisionBoxLayout=createLayout([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);var collisionCircleLayout=createLayout([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);var quadTriangle=createLayout([{name:"triangle",components:3,type:"Uint16"}]);var placement=createLayout([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]);var symbolInstance=createLayout([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]);var glyphOffset=createLayout([{type:"Float32",name:"offsetX"}]);var lineVertex=createLayout([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);function transformText(text,layer,feature){var transform=layer.layout.get("text-transform").evaluate(feature,{});if(transform==="uppercase"){text=text.toLocaleUpperCase()}else if(transform==="lowercase"){text=text.toLocaleLowerCase()}if(plugin.applyArabicShaping){text=plugin.applyArabicShaping(text)}return text}function transformText$1(text,layer,feature){text.sections.forEach((function(section){section.text=transformText(section.text,layer,feature)}));return text}function mergeLines(features){var leftIndex={};var rightIndex={};var mergedFeatures=[];var mergedIndex=0;function add(k){mergedFeatures.push(features[k]);mergedIndex++}function mergeFromRight(leftKey,rightKey,geom){var i=rightIndex[leftKey];delete rightIndex[leftKey];rightIndex[rightKey]=i;mergedFeatures[i].geometry[0].pop();mergedFeatures[i].geometry[0]=mergedFeatures[i].geometry[0].concat(geom[0]);return i}function mergeFromLeft(leftKey,rightKey,geom){var i=leftIndex[rightKey];delete leftIndex[rightKey];leftIndex[leftKey]=i;mergedFeatures[i].geometry[0].shift();mergedFeatures[i].geometry[0]=geom[0].concat(mergedFeatures[i].geometry[0]);return i}function getKey(text,geom,onRight){var point=onRight?geom[0][geom[0].length-1]:geom[0][0];return text+":"+point.x+":"+point.y}for(var k=0;k<features.length;k++){var feature=features[k];var geom=feature.geometry;var text=feature.text?feature.text.toString():null;if(!text){add(k);continue}var leftKey=getKey(text,geom),rightKey=getKey(text,geom,true);if(leftKey in rightIndex&&rightKey in leftIndex&&rightIndex[leftKey]!==leftIndex[rightKey]){var j=mergeFromLeft(leftKey,rightKey,geom);var i=mergeFromRight(leftKey,rightKey,mergedFeatures[j].geometry);delete leftIndex[leftKey];delete rightIndex[rightKey];rightIndex[getKey(text,mergedFeatures[i].geometry,true)]=i;mergedFeatures[j].geometry=null}else if(leftKey in rightIndex){mergeFromRight(leftKey,rightKey,geom)}else if(rightKey in leftIndex){mergeFromLeft(leftKey,rightKey,geom)}else{add(k);leftIndex[leftKey]=mergedIndex-1;rightIndex[rightKey]=mergedIndex-1}}return mergedFeatures.filter((function(f){return f.geometry}))}var verticalizedCharacterMap={"!":"︕","#":"＃",$:"＄","%":"％","&":"＆","(":"︵",")":"︶","*":"＊","+":"＋",",":"︐","-":"︲",".":"・","/":"／",":":"︓",";":"︔","<":"︿","=":"＝",">":"﹀","?":"︖","@":"＠","[":"﹇","\\":"＼","]":"﹈","^":"＾",_:"︳","`":"｀","{":"︷","|":"―","}":"︸","~":"～","¢":"￠","£":"￡","¥":"￥","¦":"￤","¬":"￢","¯":"￣","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"￦","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","！":"︕","（":"︵","）":"︶","，":"︐","－":"︲","．":"・","：":"︓","；":"︔","＜":"︿","＞":"﹀","？":"︖","［":"﹇","］":"﹈","＿":"︳","｛":"︷","｜":"―","｝":"︸","｟":"︵","｠":"︶","｡":"︒","｢":"﹁","｣":"﹂"};function verticalizePunctuation(input){var output="";for(var i=0;i<input.length;i++){var nextCharCode=input.charCodeAt(i+1)||null;var prevCharCode=input.charCodeAt(i-1)||null;var canReplacePunctuation=(!nextCharCode||!charHasRotatedVerticalOrientation(nextCharCode)||verticalizedCharacterMap[input[i+1]])&&(!prevCharCode||!charHasRotatedVerticalOrientation(prevCharCode)||verticalizedCharacterMap[input[i-1]]);if(canReplacePunctuation&&verticalizedCharacterMap[input[i]]){output+=verticalizedCharacterMap[input[i]]}else{output+=input[i]}}return output}var ONE_EM=24;var read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};var write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128};var ieee754={read:read,write:write};var pbf=Pbf;function Pbf(buf){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(buf)?buf:new Uint8Array(buf||0);this.pos=0;this.type=0;this.length=this.buf.length}Pbf.Varint=0;Pbf.Fixed64=1;Pbf.Bytes=2;Pbf.Fixed32=5;var SHIFT_LEFT_32=(1<<16)*(1<<16),SHIFT_RIGHT_32=1/SHIFT_LEFT_32;var TEXT_DECODER_MIN_LENGTH=12;var utf8TextDecoder=typeof TextDecoder==="undefined"?null:new TextDecoder("utf8");Pbf.prototype={destroy:function(){this.buf=null},readFields:function(readField,result,end){end=end||this.length;while(this.pos<end){var val=this.readVarint(),tag=val>>3,startPos=this.pos;this.type=val&7;readField(tag,result,this);if(this.pos===startPos){this.skip(val)}}return result},readMessage:function(readField,result){return this.readFields(readField,result,this.readVarint()+this.pos)},readFixed32:function(){var val=readUInt32(this.buf,this.pos);this.pos+=4;return val},readSFixed32:function(){var val=readInt32(this.buf,this.pos);this.pos+=4;return val},readFixed64:function(){var val=readUInt32(this.buf,this.pos)+readUInt32(this.buf,this.pos+4)*SHIFT_LEFT_32;this.pos+=8;return val},readSFixed64:function(){var val=readUInt32(this.buf,this.pos)+readInt32(this.buf,this.pos+4)*SHIFT_LEFT_32;this.pos+=8;return val},readFloat:function(){var val=ieee754.read(this.buf,this.pos,true,23,4);this.pos+=4;return val},readDouble:function(){var val=ieee754.read(this.buf,this.pos,true,52,8);this.pos+=8;return val},readVarint:function(isSigned){var buf=this.buf,val,b;b=buf[this.pos++];val=b&127;if(b<128){return val}b=buf[this.pos++];val|=(b&127)<<7;if(b<128){return val}b=buf[this.pos++];val|=(b&127)<<14;if(b<128){return val}b=buf[this.pos++];val|=(b&127)<<21;if(b<128){return val}b=buf[this.pos];val|=(b&15)<<28;return readVarintRemainder(val,isSigned,this)},readVarint64:function(){return this.readVarint(true)},readSVarint:function(){var num=this.readVarint();return num%2===1?(num+1)/-2:num/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var end=this.readVarint()+this.pos;var pos=this.pos;this.pos=end;if(end-pos>=TEXT_DECODER_MIN_LENGTH&&utf8TextDecoder){return readUtf8TextDecoder(this.buf,pos,end)}return readUtf8(this.buf,pos,end)},readBytes:function(){var end=this.readVarint()+this.pos,buffer=this.buf.subarray(this.pos,end);this.pos=end;return buffer},readPackedVarint:function(arr,isSigned){if(this.type!==Pbf.Bytes){return arr.push(this.readVarint(isSigned))}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readVarint(isSigned))}return arr},readPackedSVarint:function(arr){if(this.type!==Pbf.Bytes){return arr.push(this.readSVarint())}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readSVarint())}return arr},readPackedBoolean:function(arr){if(this.type!==Pbf.Bytes){return arr.push(this.readBoolean())}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readBoolean())}return arr},readPackedFloat:function(arr){if(this.type!==Pbf.Bytes){return arr.push(this.readFloat())}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readFloat())}return arr},readPackedDouble:function(arr){if(this.type!==Pbf.Bytes){return arr.push(this.readDouble())}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readDouble())}return arr},readPackedFixed32:function(arr){if(this.type!==Pbf.Bytes){return arr.push(this.readFixed32())}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readFixed32())}return arr},readPackedSFixed32:function(arr){if(this.type!==Pbf.Bytes){return arr.push(this.readSFixed32())}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readSFixed32())}return arr},readPackedFixed64:function(arr){if(this.type!==Pbf.Bytes){return arr.push(this.readFixed64())}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readFixed64())}return arr},readPackedSFixed64:function(arr){if(this.type!==Pbf.Bytes){return arr.push(this.readSFixed64())}var end=readPackedEnd(this);arr=arr||[];while(this.pos<end){arr.push(this.readSFixed64())}return arr},skip:function(val){var type=val&7;if(type===Pbf.Varint){while(this.buf[this.pos++]>127){}}else if(type===Pbf.Bytes){this.pos=this.readVarint()+this.pos}else if(type===Pbf.Fixed32){this.pos+=4}else if(type===Pbf.Fixed64){this.pos+=8}else{throw new Error("Unimplemented type: "+type)}},writeTag:function(tag,type){this.writeVarint(tag<<3|type)},realloc:function(min){var length=this.length||16;while(length<this.pos+min){length*=2}if(length!==this.length){var buf=new Uint8Array(length);buf.set(this.buf);this.buf=buf;this.length=length}},finish:function(){this.length=this.pos;this.pos=0;return this.buf.subarray(0,this.length)},writeFixed32:function(val){this.realloc(4);writeInt32(this.buf,val,this.pos);this.pos+=4},writeSFixed32:function(val){this.realloc(4);writeInt32(this.buf,val,this.pos);this.pos+=4},writeFixed64:function(val){this.realloc(8);writeInt32(this.buf,val&-1,this.pos);writeInt32(this.buf,Math.floor(val*SHIFT_RIGHT_32),this.pos+4);this.pos+=8},writeSFixed64:function(val){this.realloc(8);writeInt32(this.buf,val&-1,this.pos);writeInt32(this.buf,Math.floor(val*SHIFT_RIGHT_32),this.pos+4);this.pos+=8},writeVarint:function(val){val=+val||0;if(val>268435455||val<0){writeBigVarint(val,this);return}this.realloc(4);this.buf[this.pos++]=val&127|(val>127?128:0);if(val<=127){return}this.buf[this.pos++]=(val>>>=7)&127|(val>127?128:0);if(val<=127){return}this.buf[this.pos++]=(val>>>=7)&127|(val>127?128:0);if(val<=127){return}this.buf[this.pos++]=val>>>7&127},writeSVarint:function(val){this.writeVarint(val<0?-val*2-1:val*2)},writeBoolean:function(val){this.writeVarint(Boolean(val))},writeString:function(str){str=String(str);this.realloc(str.length*4);this.pos++;var startPos=this.pos;this.pos=writeUtf8(this.buf,str,this.pos);var len=this.pos-startPos;if(len>=128){makeRoomForExtraLength(startPos,len,this)}this.pos=startPos-1;this.writeVarint(len);this.pos+=len},writeFloat:function(val){this.realloc(4);ieee754.write(this.buf,val,this.pos,true,23,4);this.pos+=4},writeDouble:function(val){this.realloc(8);ieee754.write(this.buf,val,this.pos,true,52,8);this.pos+=8},writeBytes:function(buffer){var len=buffer.length;this.writeVarint(len);this.realloc(len);for(var i=0;i<len;i++){this.buf[this.pos++]=buffer[i]}},writeRawMessage:function(fn,obj){this.pos++;var startPos=this.pos;fn(obj,this);var len=this.pos-startPos;if(len>=128){makeRoomForExtraLength(startPos,len,this)}this.pos=startPos-1;this.writeVarint(len);this.pos+=len},writeMessage:function(tag,fn,obj){this.writeTag(tag,Pbf.Bytes);this.writeRawMessage(fn,obj)},writePackedVarint:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedVarint,arr)}},writePackedSVarint:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedSVarint,arr)}},writePackedBoolean:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedBoolean,arr)}},writePackedFloat:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedFloat,arr)}},writePackedDouble:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedDouble,arr)}},writePackedFixed32:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedFixed32,arr)}},writePackedSFixed32:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedSFixed32,arr)}},writePackedFixed64:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedFixed64,arr)}},writePackedSFixed64:function(tag,arr){if(arr.length){this.writeMessage(tag,writePackedSFixed64,arr)}},writeBytesField:function(tag,buffer){this.writeTag(tag,Pbf.Bytes);this.writeBytes(buffer)},writeFixed32Field:function(tag,val){this.writeTag(tag,Pbf.Fixed32);this.writeFixed32(val)},writeSFixed32Field:function(tag,val){this.writeTag(tag,Pbf.Fixed32);this.writeSFixed32(val)},writeFixed64Field:function(tag,val){this.writeTag(tag,Pbf.Fixed64);this.writeFixed64(val)},writeSFixed64Field:function(tag,val){this.writeTag(tag,Pbf.Fixed64);this.writeSFixed64(val)},writeVarintField:function(tag,val){this.writeTag(tag,Pbf.Varint);this.writeVarint(val)},writeSVarintField:function(tag,val){this.writeTag(tag,Pbf.Varint);this.writeSVarint(val)},writeStringField:function(tag,str){this.writeTag(tag,Pbf.Bytes);this.writeString(str)},writeFloatField:function(tag,val){this.writeTag(tag,Pbf.Fixed32);this.writeFloat(val)},writeDoubleField:function(tag,val){this.writeTag(tag,Pbf.Fixed64);this.writeDouble(val)},writeBooleanField:function(tag,val){this.writeVarintField(tag,Boolean(val))}};function readVarintRemainder(l,s,p){var buf=p.buf,h,b;b=buf[p.pos++];h=(b&112)>>4;if(b<128){return toNum(l,h,s)}b=buf[p.pos++];h|=(b&127)<<3;if(b<128){return toNum(l,h,s)}b=buf[p.pos++];h|=(b&127)<<10;if(b<128){return toNum(l,h,s)}b=buf[p.pos++];h|=(b&127)<<17;if(b<128){return toNum(l,h,s)}b=buf[p.pos++];h|=(b&127)<<24;if(b<128){return toNum(l,h,s)}b=buf[p.pos++];h|=(b&1)<<31;if(b<128){return toNum(l,h,s)}throw new Error("Expected varint not more than 10 bytes")}function readPackedEnd(pbf){return pbf.type===Pbf.Bytes?pbf.readVarint()+pbf.pos:pbf.pos+1}function toNum(low,high,isSigned){if(isSigned){return high*4294967296+(low>>>0)}return(high>>>0)*4294967296+(low>>>0)}function writeBigVarint(val,pbf){var low,high;if(val>=0){low=val%4294967296|0;high=val/4294967296|0}else{low=~(-val%4294967296);high=~(-val/4294967296);if(low^4294967295){low=low+1|0}else{low=0;high=high+1|0}}if(val>=0x10000000000000000||val<-0x10000000000000000){throw new Error("Given varint doesn't fit into 10 bytes")}pbf.realloc(10);writeBigVarintLow(low,high,pbf);writeBigVarintHigh(high,pbf)}function writeBigVarintLow(low,high,pbf){pbf.buf[pbf.pos++]=low&127|128;low>>>=7;pbf.buf[pbf.pos++]=low&127|128;low>>>=7;pbf.buf[pbf.pos++]=low&127|128;low>>>=7;pbf.buf[pbf.pos++]=low&127|128;low>>>=7;pbf.buf[pbf.pos]=low&127}function writeBigVarintHigh(high,pbf){var lsb=(high&7)<<4;pbf.buf[pbf.pos++]|=lsb|((high>>>=3)?128:0);if(!high){return}pbf.buf[pbf.pos++]=high&127|((high>>>=7)?128:0);if(!high){return}pbf.buf[pbf.pos++]=high&127|((high>>>=7)?128:0);if(!high){return}pbf.buf[pbf.pos++]=high&127|((high>>>=7)?128:0);if(!high){return}pbf.buf[pbf.pos++]=high&127|((high>>>=7)?128:0);if(!high){return}pbf.buf[pbf.pos++]=high&127}function makeRoomForExtraLength(startPos,len,pbf){var extraLen=len<=16383?1:len<=2097151?2:len<=268435455?3:Math.floor(Math.log(len)/(Math.LN2*7));pbf.realloc(extraLen);for(var i=pbf.pos-1;i>=startPos;i--){pbf.buf[i+extraLen]=pbf.buf[i]}}function writePackedVarint(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeVarint(arr[i])}}function writePackedSVarint(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeSVarint(arr[i])}}function writePackedFloat(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeFloat(arr[i])}}function writePackedDouble(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeDouble(arr[i])}}function writePackedBoolean(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeBoolean(arr[i])}}function writePackedFixed32(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeFixed32(arr[i])}}function writePackedSFixed32(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeSFixed32(arr[i])}}function writePackedFixed64(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeFixed64(arr[i])}}function writePackedSFixed64(arr,pbf){for(var i=0;i<arr.length;i++){pbf.writeSFixed64(arr[i])}}function readUInt32(buf,pos){return(buf[pos]|buf[pos+1]<<8|buf[pos+2]<<16)+buf[pos+3]*16777216}function writeInt32(buf,val,pos){buf[pos]=val;buf[pos+1]=val>>>8;buf[pos+2]=val>>>16;buf[pos+3]=val>>>24}function readInt32(buf,pos){return(buf[pos]|buf[pos+1]<<8|buf[pos+2]<<16)+(buf[pos+3]<<24)}function readUtf8(buf,pos,end){var str="";var i=pos;while(i<end){var b0=buf[i];var c=null;var bytesPerSequence=b0>239?4:b0>223?3:b0>191?2:1;if(i+bytesPerSequence>end){break}var b1,b2,b3;if(bytesPerSequence===1){if(b0<128){c=b0}}else if(bytesPerSequence===2){b1=buf[i+1];if((b1&192)===128){c=(b0&31)<<6|b1&63;if(c<=127){c=null}}}else if(bytesPerSequence===3){b1=buf[i+1];b2=buf[i+2];if((b1&192)===128&&(b2&192)===128){c=(b0&15)<<12|(b1&63)<<6|b2&63;if(c<=2047||c>=55296&&c<=57343){c=null}}}else if(bytesPerSequence===4){b1=buf[i+1];b2=buf[i+2];b3=buf[i+3];if((b1&192)===128&&(b2&192)===128&&(b3&192)===128){c=(b0&15)<<18|(b1&63)<<12|(b2&63)<<6|b3&63;if(c<=65535||c>=1114112){c=null}}}if(c===null){c=65533;bytesPerSequence=1}else if(c>65535){c-=65536;str+=String.fromCharCode(c>>>10&1023|55296);c=56320|c&1023}str+=String.fromCharCode(c);i+=bytesPerSequence}return str}function readUtf8TextDecoder(buf,pos,end){return utf8TextDecoder.decode(buf.subarray(pos,end))}function writeUtf8(buf,str,pos){for(var i=0,c,lead;i<str.length;i++){c=str.charCodeAt(i);if(c>55295&&c<57344){if(lead){if(c<56320){buf[pos++]=239;buf[pos++]=191;buf[pos++]=189;lead=c;continue}else{c=lead-55296<<10|c-56320|65536;lead=null}}else{if(c>56319||i+1===str.length){buf[pos++]=239;buf[pos++]=191;buf[pos++]=189}else{lead=c}continue}}else if(lead){buf[pos++]=239;buf[pos++]=191;buf[pos++]=189;lead=null}if(c<128){buf[pos++]=c}else{if(c<2048){buf[pos++]=c>>6|192}else{if(c<65536){buf[pos++]=c>>12|224}else{buf[pos++]=c>>18|240;buf[pos++]=c>>12&63|128}buf[pos++]=c>>6&63|128}buf[pos++]=c&63|128}}return pos}var border=3;function readFontstacks(tag,glyphs,pbf){if(tag===1){pbf.readMessage(readFontstack,glyphs)}}function readFontstack(tag,glyphs,pbf){if(tag===3){var ref=pbf.readMessage(readGlyph,{});var id=ref.id;var bitmap=ref.bitmap;var width=ref.width;var height=ref.height;var left=ref.left;var top=ref.top;var advance=ref.advance;glyphs.push({id:id,bitmap:new AlphaImage({width:width+2*border,height:height+2*border},bitmap),metrics:{width:width,height:height,left:left,top:top,advance:advance}})}}function readGlyph(tag,glyph,pbf){if(tag===1){glyph.id=pbf.readVarint()}else if(tag===2){glyph.bitmap=pbf.readBytes()}else if(tag===3){glyph.width=pbf.readVarint()}else if(tag===4){glyph.height=pbf.readVarint()}else if(tag===5){glyph.left=pbf.readSVarint()}else if(tag===6){glyph.top=pbf.readSVarint()}else if(tag===7){glyph.advance=pbf.readVarint()}}function parseGlyphPBF(data){return new pbf(data).readFields(readFontstacks,[])}var GLYPH_PBF_BORDER=border;function potpack(boxes){var area=0;var maxWidth=0;for(var i$1=0,list=boxes;i$1<list.length;i$1+=1){var box=list[i$1];area+=box.w*box.h;maxWidth=Math.max(maxWidth,box.w)}boxes.sort((function(a,b){return b.h-a.h}));var startWidth=Math.max(Math.ceil(Math.sqrt(area/.95)),maxWidth);var spaces=[{x:0,y:0,w:startWidth,h:Infinity}];var width=0;var height=0;for(var i$2=0,list$1=boxes;i$2<list$1.length;i$2+=1){var box$1=list$1[i$2];for(var i=spaces.length-1;i>=0;i--){var space=spaces[i];if(box$1.w>space.w||box$1.h>space.h){continue}box$1.x=space.x;box$1.y=space.y;height=Math.max(height,box$1.y+box$1.h);width=Math.max(width,box$1.x+box$1.w);if(box$1.w===space.w&&box$1.h===space.h){var last=spaces.pop();if(i<spaces.length){spaces[i]=last}}else if(box$1.h===space.h){space.x+=box$1.w;space.w-=box$1.w}else if(box$1.w===space.w){space.y+=box$1.h;space.h-=box$1.h}else{spaces.push({x:space.x+box$1.w,y:space.y,w:space.w-box$1.w,h:box$1.h});space.y+=box$1.h;space.h-=box$1.h}break}}return{w:width,h:height,fill:area/(width*height)||0}}var IMAGE_PADDING=1;var ImagePosition=function ImagePosition(paddedRect,ref){var pixelRatio=ref.pixelRatio;var version=ref.version;var stretchX=ref.stretchX;var stretchY=ref.stretchY;var content=ref.content;this.paddedRect=paddedRect;this.pixelRatio=pixelRatio;this.stretchX=stretchX;this.stretchY=stretchY;this.content=content;this.version=version};var prototypeAccessors={tl:{configurable:true},br:{configurable:true},tlbr:{configurable:true},displaySize:{configurable:true}};prototypeAccessors.tl.get=function(){return[this.paddedRect.x+IMAGE_PADDING,this.paddedRect.y+IMAGE_PADDING]};prototypeAccessors.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-IMAGE_PADDING,this.paddedRect.y+this.paddedRect.h-IMAGE_PADDING]};prototypeAccessors.tlbr.get=function(){return this.tl.concat(this.br)};prototypeAccessors.displaySize.get=function(){return[(this.paddedRect.w-IMAGE_PADDING*2)/this.pixelRatio,(this.paddedRect.h-IMAGE_PADDING*2)/this.pixelRatio]};Object.defineProperties(ImagePosition.prototype,prototypeAccessors);var ImageAtlas=function ImageAtlas(icons,patterns){var iconPositions={},patternPositions={};this.haveRenderCallbacks=[];var bins=[];this.addImages(icons,iconPositions,bins);this.addImages(patterns,patternPositions,bins);var ref=potpack(bins);var w=ref.w;var h=ref.h;var image=new RGBAImage({width:w||1,height:h||1});for(var id in icons){var src=icons[id];var bin=iconPositions[id].paddedRect;RGBAImage.copy(src.data,image,{x:0,y:0},{x:bin.x+IMAGE_PADDING,y:bin.y+IMAGE_PADDING},src.data)}for(var id$1 in patterns){var src$1=patterns[id$1];var bin$1=patternPositions[id$1].paddedRect;var x=bin$1.x+IMAGE_PADDING,y=bin$1.y+IMAGE_PADDING,w$1=src$1.data.width,h$1=src$1.data.height;RGBAImage.copy(src$1.data,image,{x:0,y:0},{x:x,y:y},src$1.data);RGBAImage.copy(src$1.data,image,{x:0,y:h$1-1},{x:x,y:y-1},{width:w$1,height:1});RGBAImage.copy(src$1.data,image,{x:0,y:0},{x:x,y:y+h$1},{width:w$1,height:1});RGBAImage.copy(src$1.data,image,{x:w$1-1,y:0},{x:x-1,y:y},{width:1,height:h$1});RGBAImage.copy(src$1.data,image,{x:0,y:0},{x:x+w$1,y:y},{width:1,height:h$1})}this.image=image;this.iconPositions=iconPositions;this.patternPositions=patternPositions};ImageAtlas.prototype.addImages=function addImages(images,positions,bins){for(var id in images){var src=images[id];var bin={x:0,y:0,w:src.data.width+2*IMAGE_PADDING,h:src.data.height+2*IMAGE_PADDING};bins.push(bin);positions[id]=new ImagePosition(bin,src);if(src.hasRenderCallback){this.haveRenderCallbacks.push(id)}}};ImageAtlas.prototype.patchUpdatedImages=function patchUpdatedImages(imageManager,texture){imageManager.dispatchRenderCallbacks(this.haveRenderCallbacks);for(var name in imageManager.updatedImages){this.patchUpdatedImage(this.iconPositions[name],imageManager.getImage(name),texture);this.patchUpdatedImage(this.patternPositions[name],imageManager.getImage(name),texture)}};ImageAtlas.prototype.patchUpdatedImage=function patchUpdatedImage(position,image,texture){if(!position||!image){return}if(position.version===image.version){return}position.version=image.version;var ref=position.tl;var x=ref[0];var y=ref[1];texture.update(image.data,undefined,{x:x,y:y})};register("ImagePosition",ImagePosition);register("ImageAtlas",ImageAtlas);var WritingMode={horizontal:1,vertical:2,horizontalOnly:3};var SHAPING_DEFAULT_OFFSET=-17;function isEmpty(positionedLines){for(var i=0,list=positionedLines;i<list.length;i+=1){var line=list[i];if(line.positionedGlyphs.length!==0){return false}}return true}var PUAbegin=57344;var PUAend=63743;var SectionOptions=function SectionOptions(){this.scale=1;this.fontStack="";this.imageName=null};SectionOptions.forText=function forText(scale,fontStack){var textOptions=new SectionOptions;textOptions.scale=scale||1;textOptions.fontStack=fontStack;return textOptions};SectionOptions.forImage=function forImage(imageName){var imageOptions=new SectionOptions;imageOptions.imageName=imageName;return imageOptions};var TaggedString=function TaggedString(){this.text="";this.sectionIndex=[];this.sections=[];this.imageSectionID=null};TaggedString.fromFeature=function fromFeature(text,defaultFontStack){var result=new TaggedString;for(var i=0;i<text.sections.length;i++){var section=text.sections[i];if(!section.image){result.addTextSection(section,defaultFontStack)}else{result.addImageSection(section)}}return result};TaggedString.prototype.length=function length(){return this.text.length};TaggedString.prototype.getSection=function getSection(index){return this.sections[this.sectionIndex[index]]};TaggedString.prototype.getSectionIndex=function getSectionIndex(index){return this.sectionIndex[index]};TaggedString.prototype.getCharCode=function getCharCode(index){return this.text.charCodeAt(index)};TaggedString.prototype.verticalizePunctuation=function verticalizePunctuation$1(){this.text=verticalizePunctuation(this.text)};TaggedString.prototype.trim=function trim(){var beginningWhitespace=0;for(var i=0;i<this.text.length&&whitespace[this.text.charCodeAt(i)];i++){beginningWhitespace++}var trailingWhitespace=this.text.length;for(var i$1=this.text.length-1;i$1>=0&&i$1>=beginningWhitespace&&whitespace[this.text.charCodeAt(i$1)];i$1--){trailingWhitespace--}this.text=this.text.substring(beginningWhitespace,trailingWhitespace);this.sectionIndex=this.sectionIndex.slice(beginningWhitespace,trailingWhitespace)};TaggedString.prototype.substring=function substring(start,end){var substring=new TaggedString;substring.text=this.text.substring(start,end);substring.sectionIndex=this.sectionIndex.slice(start,end);substring.sections=this.sections;return substring};TaggedString.prototype.toString=function toString(){return this.text};TaggedString.prototype.getMaxScale=function getMaxScale(){var this$1=this;return this.sectionIndex.reduce((function(max,index){return Math.max(max,this$1.sections[index].scale)}),0)};TaggedString.prototype.addTextSection=function addTextSection(section,defaultFontStack){this.text+=section.text;this.sections.push(SectionOptions.forText(section.scale,section.fontStack||defaultFontStack));var index=this.sections.length-1;for(var i=0;i<section.text.length;++i){this.sectionIndex.push(index)}};TaggedString.prototype.addImageSection=function addImageSection(section){var imageName=section.image?section.image.name:"";if(imageName.length===0){warnOnce("Can't add FormattedSection with an empty image.");return}var nextImageSectionCharCode=this.getNextImageSectionCharCode();if(!nextImageSectionCharCode){warnOnce("Reached maximum number of images "+(PUAend-PUAbegin+2));return}this.text+=String.fromCharCode(nextImageSectionCharCode);this.sections.push(SectionOptions.forImage(imageName));this.sectionIndex.push(this.sections.length-1)};TaggedString.prototype.getNextImageSectionCharCode=function getNextImageSectionCharCode(){if(!this.imageSectionID){this.imageSectionID=PUAbegin;return this.imageSectionID}if(this.imageSectionID>=PUAend){return null}return++this.imageSectionID};function breakLines(input,lineBreakPoints){var lines=[];var text=input.text;var start=0;for(var i=0,list=lineBreakPoints;i<list.length;i+=1){var lineBreak=list[i];lines.push(input.substring(start,lineBreak));start=lineBreak}if(start<text.length){lines.push(input.substring(start,text.length))}return lines}function shapeText(text,glyphMap,glyphPositions,imagePositions,defaultFontStack,maxWidth,lineHeight,textAnchor,textJustify,spacing,translate,writingMode,allowVerticalPlacement,symbolPlacement,layoutTextSize,layoutTextSizeThisZoom){var logicalInput=TaggedString.fromFeature(text,defaultFontStack);if(writingMode===WritingMode.vertical){logicalInput.verticalizePunctuation()}var lines;var processBidirectionalText=plugin.processBidirectionalText;var processStyledBidirectionalText=plugin.processStyledBidirectionalText;if(processBidirectionalText&&logicalInput.sections.length===1){lines=[];var untaggedLines=processBidirectionalText(logicalInput.toString(),determineLineBreaks(logicalInput,spacing,maxWidth,glyphMap,imagePositions,symbolPlacement,layoutTextSize));for(var i$1=0,list=untaggedLines;i$1<list.length;i$1+=1){var line=list[i$1];var taggedLine=new TaggedString;taggedLine.text=line;taggedLine.sections=logicalInput.sections;for(var i=0;i<line.length;i++){taggedLine.sectionIndex.push(0)}lines.push(taggedLine)}}else if(processStyledBidirectionalText){lines=[];var processedLines=processStyledBidirectionalText(logicalInput.text,logicalInput.sectionIndex,determineLineBreaks(logicalInput,spacing,maxWidth,glyphMap,imagePositions,symbolPlacement,layoutTextSize));for(var i$2=0,list$1=processedLines;i$2<list$1.length;i$2+=1){var line$1=list$1[i$2];var taggedLine$1=new TaggedString;taggedLine$1.text=line$1[0];taggedLine$1.sectionIndex=line$1[1];taggedLine$1.sections=logicalInput.sections;lines.push(taggedLine$1)}}else{lines=breakLines(logicalInput,determineLineBreaks(logicalInput,spacing,maxWidth,glyphMap,imagePositions,symbolPlacement,layoutTextSize))}var positionedLines=[];var shaping={positionedLines:positionedLines,text:logicalInput.toString(),top:translate[1],bottom:translate[1],left:translate[0],right:translate[0],writingMode:writingMode,iconsInText:false,verticalizable:false};shapeLines(shaping,glyphMap,glyphPositions,imagePositions,lines,lineHeight,textAnchor,textJustify,writingMode,spacing,allowVerticalPlacement,layoutTextSizeThisZoom);if(isEmpty(positionedLines)){return false}return shaping}var whitespace={};whitespace[9]=true;whitespace[10]=true;whitespace[11]=true;whitespace[12]=true;whitespace[13]=true;whitespace[32]=true;var breakable={};breakable[10]=true;breakable[32]=true;breakable[38]=true;breakable[40]=true;breakable[41]=true;breakable[43]=true;breakable[45]=true;breakable[47]=true;breakable[173]=true;breakable[183]=true;breakable[8203]=true;breakable[8208]=true;breakable[8211]=true;breakable[8231]=true;function getGlyphAdvance(codePoint,section,glyphMap,imagePositions,spacing,layoutTextSize){if(!section.imageName){var positions=glyphMap[section.fontStack];var glyph=positions&&positions[codePoint];if(!glyph){return 0}return glyph.metrics.advance*section.scale+spacing}else{var imagePosition=imagePositions[section.imageName];if(!imagePosition){return 0}return imagePosition.displaySize[0]*section.scale*ONE_EM/layoutTextSize+spacing}}function determineAverageLineWidth(logicalInput,spacing,maxWidth,glyphMap,imagePositions,layoutTextSize){var totalWidth=0;for(var index=0;index<logicalInput.length();index++){var section=logicalInput.getSection(index);totalWidth+=getGlyphAdvance(logicalInput.getCharCode(index),section,glyphMap,imagePositions,spacing,layoutTextSize)}var lineCount=Math.max(1,Math.ceil(totalWidth/maxWidth));return totalWidth/lineCount}function calculateBadness(lineWidth,targetWidth,penalty,isLastBreak){var raggedness=Math.pow(lineWidth-targetWidth,2);if(isLastBreak){if(lineWidth<targetWidth){return raggedness/2}else{return raggedness*2}}return raggedness+Math.abs(penalty)*penalty}function calculatePenalty(codePoint,nextCodePoint,penalizableIdeographicBreak){var penalty=0;if(codePoint===10){penalty-=1e4}if(penalizableIdeographicBreak){penalty+=150}if(codePoint===40||codePoint===65288){penalty+=50}if(nextCodePoint===41||nextCodePoint===65289){penalty+=50}return penalty}function evaluateBreak(breakIndex,breakX,targetWidth,potentialBreaks,penalty,isLastBreak){var bestPriorBreak=null;var bestBreakBadness=calculateBadness(breakX,targetWidth,penalty,isLastBreak);for(var i=0,list=potentialBreaks;i<list.length;i+=1){var potentialBreak=list[i];var lineWidth=breakX-potentialBreak.x;var breakBadness=calculateBadness(lineWidth,targetWidth,penalty,isLastBreak)+potentialBreak.badness;if(breakBadness<=bestBreakBadness){bestPriorBreak=potentialBreak;bestBreakBadness=breakBadness}}return{index:breakIndex,x:breakX,priorBreak:bestPriorBreak,badness:bestBreakBadness}}function leastBadBreaks(lastLineBreak){if(!lastLineBreak){return[]}return leastBadBreaks(lastLineBreak.priorBreak).concat(lastLineBreak.index)}function determineLineBreaks(logicalInput,spacing,maxWidth,glyphMap,imagePositions,symbolPlacement,layoutTextSize){if(symbolPlacement!=="point"){return[]}if(!logicalInput){return[]}var potentialLineBreaks=[];var targetWidth=determineAverageLineWidth(logicalInput,spacing,maxWidth,glyphMap,imagePositions,layoutTextSize);var hasServerSuggestedBreakpoints=logicalInput.text.indexOf("​")>=0;var currentX=0;for(var i=0;i<logicalInput.length();i++){var section=logicalInput.getSection(i);var codePoint=logicalInput.getCharCode(i);if(!whitespace[codePoint]){currentX+=getGlyphAdvance(codePoint,section,glyphMap,imagePositions,spacing,layoutTextSize)}if(i<logicalInput.length()-1){var ideographicBreak=charAllowsIdeographicBreaking(codePoint);if(breakable[codePoint]||ideographicBreak||section.imageName){potentialLineBreaks.push(evaluateBreak(i+1,currentX,targetWidth,potentialLineBreaks,calculatePenalty(codePoint,logicalInput.getCharCode(i+1),ideographicBreak&&hasServerSuggestedBreakpoints),false))}}}return leastBadBreaks(evaluateBreak(logicalInput.length(),currentX,targetWidth,potentialLineBreaks,0,true))}function getAnchorAlignment(anchor){var horizontalAlign=.5,verticalAlign=.5;switch(anchor){case"right":case"top-right":case"bottom-right":horizontalAlign=1;break;case"left":case"top-left":case"bottom-left":horizontalAlign=0;break}switch(anchor){case"bottom":case"bottom-right":case"bottom-left":verticalAlign=1;break;case"top":case"top-right":case"top-left":verticalAlign=0;break}return{horizontalAlign:horizontalAlign,verticalAlign:verticalAlign}}function shapeLines(shaping,glyphMap,glyphPositions,imagePositions,lines,lineHeight,textAnchor,textJustify,writingMode,spacing,allowVerticalPlacement,layoutTextSizeThisZoom){var x=0;var y=SHAPING_DEFAULT_OFFSET;var maxLineLength=0;var maxLineHeight=0;var justify=textJustify==="right"?1:textJustify==="left"?0:.5;var lineIndex=0;for(var i$1=0,list=lines;i$1<list.length;i$1+=1){var line=list[i$1];line.trim();var lineMaxScale=line.getMaxScale();var maxLineOffset=(lineMaxScale-1)*ONE_EM;var positionedLine={positionedGlyphs:[],lineOffset:0};shaping.positionedLines[lineIndex]=positionedLine;var positionedGlyphs=positionedLine.positionedGlyphs;var lineOffset=0;if(!line.length()){y+=lineHeight;++lineIndex;continue}for(var i=0;i<line.length();i++){var section=line.getSection(i);var sectionIndex=line.getSectionIndex(i);var codePoint=line.getCharCode(i);var baselineOffset=0;var metrics=null;var rect=null;var imageName=null;var verticalAdvance=ONE_EM;var vertical=!(writingMode===WritingMode.horizontal||!allowVerticalPlacement&&!charHasUprightVerticalOrientation(codePoint)||allowVerticalPlacement&&(whitespace[codePoint]||charInComplexShapingScript(codePoint)));if(!section.imageName){var positions=glyphPositions[section.fontStack];var glyphPosition=positions&&positions[codePoint];if(glyphPosition&&glyphPosition.rect){rect=glyphPosition.rect;metrics=glyphPosition.metrics}else{var glyphs=glyphMap[section.fontStack];var glyph=glyphs&&glyphs[codePoint];if(!glyph){continue}metrics=glyph.metrics}baselineOffset=(lineMaxScale-section.scale)*ONE_EM}else{var imagePosition=imagePositions[section.imageName];if(!imagePosition){continue}imageName=section.imageName;shaping.iconsInText=shaping.iconsInText||true;rect=imagePosition.paddedRect;var size=imagePosition.displaySize;section.scale=section.scale*ONE_EM/layoutTextSizeThisZoom;metrics={width:size[0],height:size[1],left:IMAGE_PADDING,top:-GLYPH_PBF_BORDER,advance:vertical?size[1]:size[0]};var imageOffset=ONE_EM-size[1]*section.scale;baselineOffset=maxLineOffset+imageOffset;verticalAdvance=metrics.advance;var offset=vertical?size[0]*section.scale-ONE_EM*lineMaxScale:size[1]*section.scale-ONE_EM*lineMaxScale;if(offset>0&&offset>lineOffset){lineOffset=offset}}if(!vertical){positionedGlyphs.push({glyph:codePoint,imageName:imageName,x:x,y:y+baselineOffset,vertical:vertical,scale:section.scale,fontStack:section.fontStack,sectionIndex:sectionIndex,metrics:metrics,rect:rect});x+=metrics.advance*section.scale+spacing}else{shaping.verticalizable=true;positionedGlyphs.push({glyph:codePoint,imageName:imageName,x:x,y:y+baselineOffset,vertical:vertical,scale:section.scale,fontStack:section.fontStack,sectionIndex:sectionIndex,metrics:metrics,rect:rect});x+=verticalAdvance*section.scale+spacing}}if(positionedGlyphs.length!==0){var lineLength=x-spacing;maxLineLength=Math.max(lineLength,maxLineLength);justifyLine(positionedGlyphs,0,positionedGlyphs.length-1,justify,lineOffset)}x=0;var currentLineHeight=lineHeight*lineMaxScale+lineOffset;positionedLine.lineOffset=Math.max(lineOffset,maxLineOffset);y+=currentLineHeight;maxLineHeight=Math.max(currentLineHeight,maxLineHeight);++lineIndex}var height=y-SHAPING_DEFAULT_OFFSET;var ref=getAnchorAlignment(textAnchor);var horizontalAlign=ref.horizontalAlign;var verticalAlign=ref.verticalAlign;align$1(shaping.positionedLines,justify,horizontalAlign,verticalAlign,maxLineLength,maxLineHeight,lineHeight,height,lines.length);shaping.top+=-verticalAlign*height;shaping.bottom=shaping.top+height;shaping.left+=-horizontalAlign*maxLineLength;shaping.right=shaping.left+maxLineLength}function justifyLine(positionedGlyphs,start,end,justify,lineOffset){if(!justify&&!lineOffset){return}var lastPositionedGlyph=positionedGlyphs[end];var lastAdvance=lastPositionedGlyph.metrics.advance*lastPositionedGlyph.scale;var lineIndent=(positionedGlyphs[end].x+lastAdvance)*justify;for(var j=start;j<=end;j++){positionedGlyphs[j].x-=lineIndent;positionedGlyphs[j].y+=lineOffset}}function align$1(positionedLines,justify,horizontalAlign,verticalAlign,maxLineLength,maxLineHeight,lineHeight,blockHeight,lineCount){var shiftX=(justify-horizontalAlign)*maxLineLength;var shiftY=0;if(maxLineHeight!==lineHeight){shiftY=-blockHeight*verticalAlign-SHAPING_DEFAULT_OFFSET}else{shiftY=(-verticalAlign*lineCount+.5)*lineHeight}for(var i$1=0,list$1=positionedLines;i$1<list$1.length;i$1+=1){var line=list$1[i$1];for(var i=0,list=line.positionedGlyphs;i<list.length;i+=1){var positionedGlyph=list[i];positionedGlyph.x+=shiftX;positionedGlyph.y+=shiftY}}}function shapeIcon(image,iconOffset,iconAnchor){var ref=getAnchorAlignment(iconAnchor);var horizontalAlign=ref.horizontalAlign;var verticalAlign=ref.verticalAlign;var dx=iconOffset[0];var dy=iconOffset[1];var x1=dx-image.displaySize[0]*horizontalAlign;var x2=x1+image.displaySize[0];var y1=dy-image.displaySize[1]*verticalAlign;var y2=y1+image.displaySize[1];return{image:image,top:y1,bottom:y2,left:x1,right:x2}}function fitIconToText(shapedIcon,shapedText,textFit,padding,iconOffset,fontScale){var image=shapedIcon.image;var collisionPadding;if(image.content){var content=image.content;var pixelRatio=image.pixelRatio||1;collisionPadding=[content[0]/pixelRatio,content[1]/pixelRatio,image.displaySize[0]-content[2]/pixelRatio,image.displaySize[1]-content[3]/pixelRatio]}var textLeft=shapedText.left*fontScale;var textRight=shapedText.right*fontScale;var top,right,bottom,left;if(textFit==="width"||textFit==="both"){left=iconOffset[0]+textLeft-padding[3];right=iconOffset[0]+textRight+padding[1]}else{left=iconOffset[0]+(textLeft+textRight-image.displaySize[0])/2;right=left+image.displaySize[0]}var textTop=shapedText.top*fontScale;var textBottom=shapedText.bottom*fontScale;if(textFit==="height"||textFit==="both"){top=iconOffset[1]+textTop-padding[0];bottom=iconOffset[1]+textBottom+padding[2]}else{top=iconOffset[1]+(textTop+textBottom-image.displaySize[1])/2;bottom=top+image.displaySize[1]}return{image:image,top:top,right:right,bottom:bottom,left:left,collisionPadding:collisionPadding}}var Anchor=function(Point){function Anchor(x,y,angle,segment){Point.call(this,x,y);this.angle=angle;if(segment!==undefined){this.segment=segment}}if(Point)Anchor.__proto__=Point;Anchor.prototype=Object.create(Point&&Point.prototype);Anchor.prototype.constructor=Anchor;Anchor.prototype.clone=function clone(){return new Anchor(this.x,this.y,this.angle,this.segment)};return Anchor}(pointGeometry);register("Anchor",Anchor);var SIZE_PACK_FACTOR=128;function getSizeData(tileZoom,value){var expression=value.expression;if(expression.kind==="constant"){var layoutSize=expression.evaluate(new EvaluationParameters(tileZoom+1));return{kind:"constant",layoutSize:layoutSize}}else if(expression.kind==="source"){return{kind:"source"}}else{var zoomStops=expression.zoomStops;var interpolationType=expression.interpolationType;var lower=0;while(lower<zoomStops.length&&zoomStops[lower]<=tileZoom){lower++}lower=Math.max(0,lower-1);var upper=lower;while(upper<zoomStops.length&&zoomStops[upper]<tileZoom+1){upper++}upper=Math.min(zoomStops.length-1,upper);var minZoom=zoomStops[lower];var maxZoom=zoomStops[upper];if(expression.kind==="composite"){return{kind:"composite",minZoom:minZoom,maxZoom:maxZoom,interpolationType:interpolationType}}var minSize=expression.evaluate(new EvaluationParameters(minZoom));var maxSize=expression.evaluate(new EvaluationParameters(maxZoom));return{kind:"camera",minZoom:minZoom,maxZoom:maxZoom,minSize:minSize,maxSize:maxSize,interpolationType:interpolationType}}}function evaluateSizeForFeature(sizeData,ref,ref$1){var uSize=ref.uSize;var uSizeT=ref.uSizeT;var lowerSize=ref$1.lowerSize;var upperSize=ref$1.upperSize;if(sizeData.kind==="source"){return lowerSize/SIZE_PACK_FACTOR}else if(sizeData.kind==="composite"){return number(lowerSize/SIZE_PACK_FACTOR,upperSize/SIZE_PACK_FACTOR,uSizeT)}return uSize}function evaluateSizeForZoom(sizeData,zoom){var uSizeT=0;var uSize=0;if(sizeData.kind==="constant"){uSize=sizeData.layoutSize}else if(sizeData.kind!=="source"){var interpolationType=sizeData.interpolationType;var minZoom=sizeData.minZoom;var maxZoom=sizeData.maxZoom;var t=!interpolationType?0:clamp(Interpolate.interpolationFactor(interpolationType,zoom,minZoom,maxZoom),0,1);if(sizeData.kind==="camera"){uSize=number(sizeData.minSize,sizeData.maxSize,t)}else{uSizeT=t}}return{uSizeT:uSizeT,uSize:uSize}}var symbolSize=Object.freeze({__proto__:null,getSizeData:getSizeData,evaluateSizeForFeature:evaluateSizeForFeature,evaluateSizeForZoom:evaluateSizeForZoom,SIZE_PACK_FACTOR:SIZE_PACK_FACTOR});function checkMaxAngle(line,anchor,labelLength,windowSize,maxAngle){if(anchor.segment===undefined){return true}var p=anchor;var index=anchor.segment+1;var anchorDistance=0;while(anchorDistance>-labelLength/2){index--;if(index<0){return false}anchorDistance-=line[index].dist(p);p=line[index]}anchorDistance+=line[index].dist(line[index+1]);index++;var recentCorners=[];var recentAngleDelta=0;while(anchorDistance<labelLength/2){var prev=line[index-1];var current=line[index];var next=line[index+1];if(!next){return false}var angleDelta=prev.angleTo(current)-current.angleTo(next);angleDelta=Math.abs((angleDelta+3*Math.PI)%(Math.PI*2)-Math.PI);recentCorners.push({distance:anchorDistance,angleDelta:angleDelta});recentAngleDelta+=angleDelta;while(anchorDistance-recentCorners[0].distance>windowSize){recentAngleDelta-=recentCorners.shift().angleDelta}if(recentAngleDelta>maxAngle){return false}index++;anchorDistance+=current.dist(next)}return true}function getLineLength(line){var lineLength=0;for(var k=0;k<line.length-1;k++){lineLength+=line[k].dist(line[k+1])}return lineLength}function getAngleWindowSize(shapedText,glyphSize,boxScale){return shapedText?3/5*glyphSize*boxScale:0}function getShapedLabelLength(shapedText,shapedIcon){return Math.max(shapedText?shapedText.right-shapedText.left:0,shapedIcon?shapedIcon.right-shapedIcon.left:0)}function getCenterAnchor(line,maxAngle,shapedText,shapedIcon,glyphSize,boxScale){var angleWindowSize=getAngleWindowSize(shapedText,glyphSize,boxScale);var labelLength=getShapedLabelLength(shapedText,shapedIcon)*boxScale;var prevDistance=0;var centerDistance=getLineLength(line)/2;for(var i=0;i<line.length-1;i++){var a=line[i],b=line[i+1];var segmentDistance=a.dist(b);if(prevDistance+segmentDistance>centerDistance){var t=(centerDistance-prevDistance)/segmentDistance,x=number(a.x,b.x,t),y=number(a.y,b.y,t);var anchor=new Anchor(x,y,b.angleTo(a),i);anchor._round();if(!angleWindowSize||checkMaxAngle(line,anchor,labelLength,angleWindowSize,maxAngle)){return anchor}else{return}}prevDistance+=segmentDistance}}function getAnchors(line,spacing,maxAngle,shapedText,shapedIcon,glyphSize,boxScale,overscaling,tileExtent){var angleWindowSize=getAngleWindowSize(shapedText,glyphSize,boxScale);var shapedLabelLength=getShapedLabelLength(shapedText,shapedIcon);var labelLength=shapedLabelLength*boxScale;var isLineContinued=line[0].x===0||line[0].x===tileExtent||line[0].y===0||line[0].y===tileExtent;if(spacing-labelLength<spacing/4){spacing=labelLength+spacing/4}var fixedExtraOffset=glyphSize*2;var offset=!isLineContinued?(shapedLabelLength/2+fixedExtraOffset)*boxScale*overscaling%spacing:spacing/2*overscaling%spacing;return resample(line,offset,spacing,angleWindowSize,maxAngle,labelLength,isLineContinued,false,tileExtent)}function resample(line,offset,spacing,angleWindowSize,maxAngle,labelLength,isLineContinued,placeAtMiddle,tileExtent){var halfLabelLength=labelLength/2;var lineLength=getLineLength(line);var distance=0,markedDistance=offset-spacing;var anchors=[];for(var i=0;i<line.length-1;i++){var a=line[i],b=line[i+1];var segmentDist=a.dist(b),angle=b.angleTo(a);while(markedDistance+spacing<distance+segmentDist){markedDistance+=spacing;var t=(markedDistance-distance)/segmentDist,x=number(a.x,b.x,t),y=number(a.y,b.y,t);if(x>=0&&x<tileExtent&&y>=0&&y<tileExtent&&markedDistance-halfLabelLength>=0&&markedDistance+halfLabelLength<=lineLength){var anchor=new Anchor(x,y,angle,i);anchor._round();if(!angleWindowSize||checkMaxAngle(line,anchor,labelLength,angleWindowSize,maxAngle)){anchors.push(anchor)}}}distance+=segmentDist}if(!placeAtMiddle&&!anchors.length&&!isLineContinued){anchors=resample(line,distance/2,spacing,angleWindowSize,maxAngle,labelLength,isLineContinued,true,tileExtent)}return anchors}function clipLine(lines,x1,y1,x2,y2){var clippedLines=[];for(var l=0;l<lines.length;l++){var line=lines[l];var clippedLine=void 0;for(var i=0;i<line.length-1;i++){var p0=line[i];var p1=line[i+1];if(p0.x<x1&&p1.x<x1){continue}else if(p0.x<x1){p0=new pointGeometry(x1,p0.y+(p1.y-p0.y)*((x1-p0.x)/(p1.x-p0.x)))._round()}else if(p1.x<x1){p1=new pointGeometry(x1,p0.y+(p1.y-p0.y)*((x1-p0.x)/(p1.x-p0.x)))._round()}if(p0.y<y1&&p1.y<y1){continue}else if(p0.y<y1){p0=new pointGeometry(p0.x+(p1.x-p0.x)*((y1-p0.y)/(p1.y-p0.y)),y1)._round()}else if(p1.y<y1){p1=new pointGeometry(p0.x+(p1.x-p0.x)*((y1-p0.y)/(p1.y-p0.y)),y1)._round()}if(p0.x>=x2&&p1.x>=x2){continue}else if(p0.x>=x2){p0=new pointGeometry(x2,p0.y+(p1.y-p0.y)*((x2-p0.x)/(p1.x-p0.x)))._round()}else if(p1.x>=x2){p1=new pointGeometry(x2,p0.y+(p1.y-p0.y)*((x2-p0.x)/(p1.x-p0.x)))._round()}if(p0.y>=y2&&p1.y>=y2){continue}else if(p0.y>=y2){p0=new pointGeometry(p0.x+(p1.x-p0.x)*((y2-p0.y)/(p1.y-p0.y)),y2)._round()}else if(p1.y>=y2){p1=new pointGeometry(p0.x+(p1.x-p0.x)*((y2-p0.y)/(p1.y-p0.y)),y2)._round()}if(!clippedLine||!p0.equals(clippedLine[clippedLine.length-1])){clippedLine=[p0];clippedLines.push(clippedLine)}clippedLine.push(p1)}}return clippedLines}var border$1=IMAGE_PADDING;function getIconQuads(shapedIcon,iconRotate,isSDFIcon,hasIconTextFit){var quads=[];var image=shapedIcon.image;var pixelRatio=image.pixelRatio;var imageWidth=image.paddedRect.w-2*border$1;var imageHeight=image.paddedRect.h-2*border$1;var iconWidth=shapedIcon.right-shapedIcon.left;var iconHeight=shapedIcon.bottom-shapedIcon.top;var stretchX=image.stretchX||[[0,imageWidth]];var stretchY=image.stretchY||[[0,imageHeight]];var reduceRanges=function(sum,range){return sum+range[1]-range[0]};var stretchWidth=stretchX.reduce(reduceRanges,0);var stretchHeight=stretchY.reduce(reduceRanges,0);var fixedWidth=imageWidth-stretchWidth;var fixedHeight=imageHeight-stretchHeight;var stretchOffsetX=0;var stretchContentWidth=stretchWidth;var stretchOffsetY=0;var stretchContentHeight=stretchHeight;var fixedOffsetX=0;var fixedContentWidth=fixedWidth;var fixedOffsetY=0;var fixedContentHeight=fixedHeight;if(image.content&&hasIconTextFit){var content=image.content;stretchOffsetX=sumWithinRange(stretchX,0,content[0]);stretchOffsetY=sumWithinRange(stretchY,0,content[1]);stretchContentWidth=sumWithinRange(stretchX,content[0],content[2]);stretchContentHeight=sumWithinRange(stretchY,content[1],content[3]);fixedOffsetX=content[0]-stretchOffsetX;fixedOffsetY=content[1]-stretchOffsetY;fixedContentWidth=content[2]-content[0]-stretchContentWidth;fixedContentHeight=content[3]-content[1]-stretchContentHeight}var makeBox=function(left,top,right,bottom){var leftEm=getEmOffset(left.stretch-stretchOffsetX,stretchContentWidth,iconWidth,shapedIcon.left);var leftPx=getPxOffset(left.fixed-fixedOffsetX,fixedContentWidth,left.stretch,stretchWidth);var topEm=getEmOffset(top.stretch-stretchOffsetY,stretchContentHeight,iconHeight,shapedIcon.top);var topPx=getPxOffset(top.fixed-fixedOffsetY,fixedContentHeight,top.stretch,stretchHeight);var rightEm=getEmOffset(right.stretch-stretchOffsetX,stretchContentWidth,iconWidth,shapedIcon.left);var rightPx=getPxOffset(right.fixed-fixedOffsetX,fixedContentWidth,right.stretch,stretchWidth);var bottomEm=getEmOffset(bottom.stretch-stretchOffsetY,stretchContentHeight,iconHeight,shapedIcon.top);var bottomPx=getPxOffset(bottom.fixed-fixedOffsetY,fixedContentHeight,bottom.stretch,stretchHeight);var tl=new pointGeometry(leftEm,topEm);var tr=new pointGeometry(rightEm,topEm);var br=new pointGeometry(rightEm,bottomEm);var bl=new pointGeometry(leftEm,bottomEm);var pixelOffsetTL=new pointGeometry(leftPx/pixelRatio,topPx/pixelRatio);var pixelOffsetBR=new pointGeometry(rightPx/pixelRatio,bottomPx/pixelRatio);var angle=iconRotate*Math.PI/180;if(angle){var sin=Math.sin(angle),cos=Math.cos(angle),matrix=[cos,-sin,sin,cos];tl._matMult(matrix);tr._matMult(matrix);bl._matMult(matrix);br._matMult(matrix)}var x1=left.stretch+left.fixed;var x2=right.stretch+right.fixed;var y1=top.stretch+top.fixed;var y2=bottom.stretch+bottom.fixed;var subRect={x:image.paddedRect.x+border$1+x1,y:image.paddedRect.y+border$1+y1,w:x2-x1,h:y2-y1};var minFontScaleX=fixedContentWidth/pixelRatio/iconWidth;var minFontScaleY=fixedContentHeight/pixelRatio/iconHeight;return{tl:tl,tr:tr,bl:bl,br:br,tex:subRect,writingMode:undefined,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:pixelOffsetTL,pixelOffsetBR:pixelOffsetBR,minFontScaleX:minFontScaleX,minFontScaleY:minFontScaleY,isSDF:isSDFIcon}};if(!hasIconTextFit||!image.stretchX&&!image.stretchY){quads.push(makeBox({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:imageWidth+1},{fixed:0,stretch:imageHeight+1}))}else{var xCuts=stretchZonesToCuts(stretchX,fixedWidth,stretchWidth);var yCuts=stretchZonesToCuts(stretchY,fixedHeight,stretchHeight);for(var xi=0;xi<xCuts.length-1;xi++){var x1=xCuts[xi];var x2=xCuts[xi+1];for(var yi=0;yi<yCuts.length-1;yi++){var y1=yCuts[yi];var y2=yCuts[yi+1];quads.push(makeBox(x1,y1,x2,y2))}}}return quads}function sumWithinRange(ranges,min,max){var sum=0;for(var i=0,list=ranges;i<list.length;i+=1){var range=list[i];sum+=Math.max(min,Math.min(max,range[1]))-Math.max(min,Math.min(max,range[0]))}return sum}function stretchZonesToCuts(stretchZones,fixedSize,stretchSize){var cuts=[{fixed:-border$1,stretch:0}];for(var i=0,list=stretchZones;i<list.length;i+=1){var ref=list[i];var c1=ref[0];var c2=ref[1];var last=cuts[cuts.length-1];cuts.push({fixed:c1-last.stretch,stretch:last.stretch});cuts.push({fixed:c1-last.stretch,stretch:last.stretch+(c2-c1)})}cuts.push({fixed:fixedSize+border$1,stretch:stretchSize});return cuts}function getEmOffset(stretchOffset,stretchSize,iconSize,iconOffset){return stretchOffset/stretchSize*iconSize+iconOffset}function getPxOffset(fixedOffset,fixedSize,stretchOffset,stretchSize){return fixedOffset-fixedSize*stretchOffset/stretchSize}function getGlyphQuads(anchor,shaping,textOffset,layer,alongLine,feature,imageMap,allowVerticalPlacement){var textRotate=layer.layout.get("text-rotate").evaluate(feature,{})*Math.PI/180;var quads=[];for(var i$1=0,list$1=shaping.positionedLines;i$1<list$1.length;i$1+=1){var line=list$1[i$1];for(var i=0,list=line.positionedGlyphs;i<list.length;i+=1){var positionedGlyph=list[i];if(!positionedGlyph.rect){continue}var textureRect=positionedGlyph.rect||{};var glyphPadding=1;var rectBuffer=GLYPH_PBF_BORDER+glyphPadding;var isSDF=true;var pixelRatio=1;var lineOffset=0;var rotateVerticalGlyph=(alongLine||allowVerticalPlacement)&&positionedGlyph.vertical;var halfAdvance=positionedGlyph.metrics.advance*positionedGlyph.scale/2;if(allowVerticalPlacement&&shaping.verticalizable){var scaledGlyphOffset=(positionedGlyph.scale-1)*ONE_EM;var imageOffset=(ONE_EM-positionedGlyph.metrics.width*positionedGlyph.scale)/2;lineOffset=line.lineOffset/2-(positionedGlyph.imageName?-imageOffset:scaledGlyphOffset)}if(positionedGlyph.imageName){var image=imageMap[positionedGlyph.imageName];isSDF=image.sdf;pixelRatio=image.pixelRatio;rectBuffer=IMAGE_PADDING/pixelRatio}var glyphOffset=alongLine?[positionedGlyph.x+halfAdvance,positionedGlyph.y]:[0,0];var builtInOffset=alongLine?[0,0]:[positionedGlyph.x+halfAdvance+textOffset[0],positionedGlyph.y+textOffset[1]-lineOffset];var verticalizedLabelOffset=[0,0];if(rotateVerticalGlyph){verticalizedLabelOffset=builtInOffset;builtInOffset=[0,0]}var x1=(positionedGlyph.metrics.left-rectBuffer)*positionedGlyph.scale-halfAdvance+builtInOffset[0];var y1=(-positionedGlyph.metrics.top-rectBuffer)*positionedGlyph.scale+builtInOffset[1];var x2=x1+textureRect.w*positionedGlyph.scale/pixelRatio;var y2=y1+textureRect.h*positionedGlyph.scale/pixelRatio;var tl=new pointGeometry(x1,y1);var tr=new pointGeometry(x2,y1);var bl=new pointGeometry(x1,y2);var br=new pointGeometry(x2,y2);if(rotateVerticalGlyph){var center=new pointGeometry(-halfAdvance,halfAdvance-SHAPING_DEFAULT_OFFSET);var verticalRotation=-Math.PI/2;var xHalfWidthOffsetCorrection=ONE_EM/2-halfAdvance;var yImageOffsetCorrection=positionedGlyph.imageName?xHalfWidthOffsetCorrection:0;var halfWidthOffsetCorrection=new pointGeometry(5-SHAPING_DEFAULT_OFFSET-xHalfWidthOffsetCorrection,-yImageOffsetCorrection);var verticalOffsetCorrection=new(Function.prototype.bind.apply(pointGeometry,[null].concat(verticalizedLabelOffset)));tl._rotateAround(verticalRotation,center)._add(halfWidthOffsetCorrection)._add(verticalOffsetCorrection);tr._rotateAround(verticalRotation,center)._add(halfWidthOffsetCorrection)._add(verticalOffsetCorrection);bl._rotateAround(verticalRotation,center)._add(halfWidthOffsetCorrection)._add(verticalOffsetCorrection);br._rotateAround(verticalRotation,center)._add(halfWidthOffsetCorrection)._add(verticalOffsetCorrection)}if(textRotate){var sin=Math.sin(textRotate),cos=Math.cos(textRotate),matrix=[cos,-sin,sin,cos];tl._matMult(matrix);tr._matMult(matrix);bl._matMult(matrix);br._matMult(matrix)}var pixelOffsetTL=new pointGeometry(0,0);var pixelOffsetBR=new pointGeometry(0,0);var minFontScaleX=0;var minFontScaleY=0;quads.push({tl:tl,tr:tr,bl:bl,br:br,tex:textureRect,writingMode:shaping.writingMode,glyphOffset:glyphOffset,sectionIndex:positionedGlyph.sectionIndex,isSDF:isSDF,pixelOffsetTL:pixelOffsetTL,pixelOffsetBR:pixelOffsetBR,minFontScaleX:minFontScaleX,minFontScaleY:minFontScaleY})}}return quads}var CollisionFeature=function CollisionFeature(collisionBoxArray,anchor,featureIndex,sourceLayerIndex,bucketIndex,shaped,boxScale,padding,alignLine,rotate){this.boxStartIndex=collisionBoxArray.length;if(alignLine){var top=shaped.top;var bottom=shaped.bottom;var collisionPadding=shaped.collisionPadding;if(collisionPadding){top-=collisionPadding[1];bottom+=collisionPadding[3]}var height=bottom-top;if(height>0){height=Math.max(10,height);this.circleDiameter=height}}else{var y1=shaped.top*boxScale-padding;var y2=shaped.bottom*boxScale+padding;var x1=shaped.left*boxScale-padding;var x2=shaped.right*boxScale+padding;var collisionPadding$1=shaped.collisionPadding;if(collisionPadding$1){x1-=collisionPadding$1[0]*boxScale;y1-=collisionPadding$1[1]*boxScale;x2+=collisionPadding$1[2]*boxScale;y2+=collisionPadding$1[3]*boxScale}if(rotate){var tl=new pointGeometry(x1,y1);var tr=new pointGeometry(x2,y1);var bl=new pointGeometry(x1,y2);var br=new pointGeometry(x2,y2);var rotateRadians=rotate*Math.PI/180;tl._rotate(rotateRadians);tr._rotate(rotateRadians);bl._rotate(rotateRadians);br._rotate(rotateRadians);x1=Math.min(tl.x,tr.x,bl.x,br.x);x2=Math.max(tl.x,tr.x,bl.x,br.x);y1=Math.min(tl.y,tr.y,bl.y,br.y);y2=Math.max(tl.y,tr.y,bl.y,br.y)}collisionBoxArray.emplaceBack(anchor.x,anchor.y,x1,y1,x2,y2,featureIndex,sourceLayerIndex,bucketIndex)}this.boxEndIndex=collisionBoxArray.length};var TinyQueue=function TinyQueue(data,compare){if(data===void 0)data=[];if(compare===void 0)compare=defaultCompare$1;this.data=data;this.length=this.data.length;this.compare=compare;if(this.length>0){for(var i=(this.length>>1)-1;i>=0;i--){this._down(i)}}};TinyQueue.prototype.push=function push(item){this.data.push(item);this.length++;this._up(this.length-1)};TinyQueue.prototype.pop=function pop(){if(this.length===0){return undefined}var top=this.data[0];var bottom=this.data.pop();this.length--;if(this.length>0){this.data[0]=bottom;this._down(0)}return top};TinyQueue.prototype.peek=function peek(){return this.data[0]};TinyQueue.prototype._up=function _up(pos){var ref=this;var data=ref.data;var compare=ref.compare;var item=data[pos];while(pos>0){var parent=pos-1>>1;var current=data[parent];if(compare(item,current)>=0){break}data[pos]=current;pos=parent}data[pos]=item};TinyQueue.prototype._down=function _down(pos){var ref=this;var data=ref.data;var compare=ref.compare;var halfLength=this.length>>1;var item=data[pos];while(pos<halfLength){var left=(pos<<1)+1;var best=data[left];var right=left+1;if(right<this.length&&compare(data[right],best)<0){left=right;best=data[right]}if(compare(best,item)>=0){break}data[pos]=best;pos=left}data[pos]=item};function defaultCompare$1(a,b){return a<b?-1:a>b?1:0}function findPoleOfInaccessibility(polygonRings,precision,debug){if(precision===void 0)precision=1;if(debug===void 0)debug=false;var minX=Infinity,minY=Infinity,maxX=-Infinity,maxY=-Infinity;var outerRing=polygonRings[0];for(var i=0;i<outerRing.length;i++){var p=outerRing[i];if(!i||p.x<minX){minX=p.x}if(!i||p.y<minY){minY=p.y}if(!i||p.x>maxX){maxX=p.x}if(!i||p.y>maxY){maxY=p.y}}var width=maxX-minX;var height=maxY-minY;var cellSize=Math.min(width,height);var h=cellSize/2;var cellQueue=new TinyQueue([],compareMax);if(cellSize===0){return new pointGeometry(minX,minY)}for(var x=minX;x<maxX;x+=cellSize){for(var y=minY;y<maxY;y+=cellSize){cellQueue.push(new Cell(x+h,y+h,h,polygonRings))}}var bestCell=getCentroidCell(polygonRings);var numProbes=cellQueue.length;while(cellQueue.length){var cell=cellQueue.pop();if(cell.d>bestCell.d||!bestCell.d){bestCell=cell;if(debug){console.log("found best %d after %d probes",Math.round(1e4*cell.d)/1e4,numProbes)}}if(cell.max-bestCell.d<=precision){continue}h=cell.h/2;cellQueue.push(new Cell(cell.p.x-h,cell.p.y-h,h,polygonRings));cellQueue.push(new Cell(cell.p.x+h,cell.p.y-h,h,polygonRings));cellQueue.push(new Cell(cell.p.x-h,cell.p.y+h,h,polygonRings));cellQueue.push(new Cell(cell.p.x+h,cell.p.y+h,h,polygonRings));numProbes+=4}if(debug){console.log("num probes: "+numProbes);console.log("best distance: "+bestCell.d)}return bestCell.p}function compareMax(a,b){return b.max-a.max}function Cell(x,y,h,polygon){this.p=new pointGeometry(x,y);this.h=h;this.d=pointToPolygonDist(this.p,polygon);this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(p,polygon){var inside=false;var minDistSq=Infinity;for(var k=0;k<polygon.length;k++){var ring=polygon[k];for(var i=0,len=ring.length,j=len-1;i<len;j=i++){var a=ring[i];var b=ring[j];if(a.y>p.y!==b.y>p.y&&p.x<(b.x-a.x)*(p.y-a.y)/(b.y-a.y)+a.x){inside=!inside}minDistSq=Math.min(minDistSq,distToSegmentSquared(p,a,b))}}return(inside?1:-1)*Math.sqrt(minDistSq)}function getCentroidCell(polygon){var area=0;var x=0;var y=0;var points=polygon[0];for(var i=0,len=points.length,j=len-1;i<len;j=i++){var a=points[i];var b=points[j];var f=a.x*b.y-b.x*a.y;x+=(a.x+b.x)*f;y+=(a.y+b.y)*f;area+=f*3}return new Cell(x/area,y/area,0,polygon)}var baselineOffset=7;var INVALID_TEXT_OFFSET=Number.POSITIVE_INFINITY;function evaluateVariableOffset(anchor,offset){function fromRadialOffset(anchor,radialOffset){var x=0,y=0;if(radialOffset<0){radialOffset=0}var hypotenuse=radialOffset/Math.sqrt(2);switch(anchor){case"top-right":case"top-left":y=hypotenuse-baselineOffset;break;case"bottom-right":case"bottom-left":y=-hypotenuse+baselineOffset;break;case"bottom":y=-radialOffset+baselineOffset;break;case"top":y=radialOffset-baselineOffset;break}switch(anchor){case"top-right":case"bottom-right":x=-hypotenuse;break;case"top-left":case"bottom-left":x=hypotenuse;break;case"left":x=radialOffset;break;case"right":x=-radialOffset;break}return[x,y]}function fromTextOffset(anchor,offsetX,offsetY){var x=0,y=0;offsetX=Math.abs(offsetX);offsetY=Math.abs(offsetY);switch(anchor){case"top-right":case"top-left":case"top":y=offsetY-baselineOffset;break;case"bottom-right":case"bottom-left":case"bottom":y=-offsetY+baselineOffset;break}switch(anchor){case"top-right":case"bottom-right":case"right":x=-offsetX;break;case"top-left":case"bottom-left":case"left":x=offsetX;break}return[x,y]}return offset[1]!==INVALID_TEXT_OFFSET?fromTextOffset(anchor,offset[0],offset[1]):fromRadialOffset(anchor,offset[0])}function performSymbolLayout(bucket,glyphMap,glyphPositions,imageMap,imagePositions,showCollisionBoxes,canonical){bucket.createArrays();var tileSize=512*bucket.overscaling;bucket.tilePixelRatio=EXTENT$1/tileSize;bucket.compareText={};bucket.iconsNeedLinear=false;var layout=bucket.layers[0].layout;var unevaluatedLayoutValues=bucket.layers[0]._unevaluatedLayout._values;var sizes={};if(bucket.textSizeData.kind==="composite"){var ref=bucket.textSizeData;var minZoom=ref.minZoom;var maxZoom=ref.maxZoom;sizes.compositeTextSizes=[unevaluatedLayoutValues["text-size"].possiblyEvaluate(new EvaluationParameters(minZoom),canonical),unevaluatedLayoutValues["text-size"].possiblyEvaluate(new EvaluationParameters(maxZoom),canonical)]}if(bucket.iconSizeData.kind==="composite"){var ref$1=bucket.iconSizeData;var minZoom$1=ref$1.minZoom;var maxZoom$1=ref$1.maxZoom;sizes.compositeIconSizes=[unevaluatedLayoutValues["icon-size"].possiblyEvaluate(new EvaluationParameters(minZoom$1),canonical),unevaluatedLayoutValues["icon-size"].possiblyEvaluate(new EvaluationParameters(maxZoom$1),canonical)]}sizes.layoutTextSize=unevaluatedLayoutValues["text-size"].possiblyEvaluate(new EvaluationParameters(bucket.zoom+1),canonical);sizes.layoutIconSize=unevaluatedLayoutValues["icon-size"].possiblyEvaluate(new EvaluationParameters(bucket.zoom+1),canonical);sizes.textMaxSize=unevaluatedLayoutValues["text-size"].possiblyEvaluate(new EvaluationParameters(18));var lineHeight=layout.get("text-line-height")*ONE_EM;var textAlongLine=layout.get("text-rotation-alignment")==="map"&&layout.get("symbol-placement")!=="point";var keepUpright=layout.get("text-keep-upright");var textSize=layout.get("text-size");var loop=function(){var feature=list[i$1];var fontstack=layout.get("text-font").evaluate(feature,{},canonical).join(",");var layoutTextSizeThisZoom=textSize.evaluate(feature,{},canonical);var layoutTextSize=sizes.layoutTextSize.evaluate(feature,{},canonical);var layoutIconSize=sizes.layoutIconSize.evaluate(feature,{},canonical);var shapedTextOrientations={horizontal:{},vertical:undefined};var text=feature.text;var textOffset=[0,0];if(text){var unformattedText=text.toString();var spacing=layout.get("text-letter-spacing").evaluate(feature,{},canonical)*ONE_EM;var spacingIfAllowed=allowsLetterSpacing(unformattedText)?spacing:0;var textAnchor=layout.get("text-anchor").evaluate(feature,{},canonical);var variableTextAnchor=layout.get("text-variable-anchor");if(!variableTextAnchor){var radialOffset=layout.get("text-radial-offset").evaluate(feature,{},canonical);if(radialOffset){textOffset=evaluateVariableOffset(textAnchor,[radialOffset*ONE_EM,INVALID_TEXT_OFFSET])}else{textOffset=layout.get("text-offset").evaluate(feature,{},canonical).map((function(t){return t*ONE_EM}))}}var textJustify=textAlongLine?"center":layout.get("text-justify").evaluate(feature,{},canonical);var symbolPlacement=layout.get("symbol-placement");var maxWidth=symbolPlacement==="point"?layout.get("text-max-width").evaluate(feature,{},canonical)*ONE_EM:0;var addVerticalShapingForPointLabelIfNeeded=function(){if(bucket.allowVerticalPlacement&&allowsVerticalWritingMode(unformattedText)){shapedTextOrientations.vertical=shapeText(text,glyphMap,glyphPositions,imagePositions,fontstack,maxWidth,lineHeight,textAnchor,"left",spacingIfAllowed,textOffset,WritingMode.vertical,true,symbolPlacement,layoutTextSize,layoutTextSizeThisZoom)}};if(!textAlongLine&&variableTextAnchor){var justifications=textJustify==="auto"?variableTextAnchor.map((function(a){return getAnchorJustification(a)})):[textJustify];var singleLine=false;for(var i=0;i<justifications.length;i++){var justification=justifications[i];if(shapedTextOrientations.horizontal[justification]){continue}if(singleLine){shapedTextOrientations.horizontal[justification]=shapedTextOrientations.horizontal[0]}else{var shaping=shapeText(text,glyphMap,glyphPositions,imagePositions,fontstack,maxWidth,lineHeight,"center",justification,spacingIfAllowed,textOffset,WritingMode.horizontal,false,symbolPlacement,layoutTextSize,layoutTextSizeThisZoom);if(shaping){shapedTextOrientations.horizontal[justification]=shaping;singleLine=shaping.positionedLines.length===1}}}addVerticalShapingForPointLabelIfNeeded()}else{if(textJustify==="auto"){textJustify=getAnchorJustification(textAnchor)}var shaping$1=shapeText(text,glyphMap,glyphPositions,imagePositions,fontstack,maxWidth,lineHeight,textAnchor,textJustify,spacingIfAllowed,textOffset,WritingMode.horizontal,false,symbolPlacement,layoutTextSize,layoutTextSizeThisZoom);if(shaping$1){shapedTextOrientations.horizontal[textJustify]=shaping$1}addVerticalShapingForPointLabelIfNeeded();if(allowsVerticalWritingMode(unformattedText)&&textAlongLine&&keepUpright){shapedTextOrientations.vertical=shapeText(text,glyphMap,glyphPositions,imagePositions,fontstack,maxWidth,lineHeight,textAnchor,textJustify,spacingIfAllowed,textOffset,WritingMode.vertical,false,symbolPlacement,layoutTextSize,layoutTextSizeThisZoom)}}}var shapedIcon=void 0;var isSDFIcon=false;if(feature.icon&&feature.icon.name){var image=imageMap[feature.icon.name];if(image){shapedIcon=shapeIcon(imagePositions[feature.icon.name],layout.get("icon-offset").evaluate(feature,{},canonical),layout.get("icon-anchor").evaluate(feature,{},canonical));isSDFIcon=image.sdf;if(bucket.sdfIcons===undefined){bucket.sdfIcons=image.sdf}else if(bucket.sdfIcons!==image.sdf){warnOnce("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer")}if(image.pixelRatio!==bucket.pixelRatio){bucket.iconsNeedLinear=true}else if(layout.get("icon-rotate").constantOr(1)!==0){bucket.iconsNeedLinear=true}}}var shapedText=getDefaultHorizontalShaping(shapedTextOrientations.horizontal)||shapedTextOrientations.vertical;bucket.iconsInText=shapedText?shapedText.iconsInText:false;if(shapedText||shapedIcon){addFeature(bucket,feature,shapedTextOrientations,shapedIcon,imageMap,sizes,layoutTextSize,layoutIconSize,textOffset,isSDFIcon,canonical)}};for(var i$1=0,list=bucket.features;i$1<list.length;i$1+=1)loop();if(showCollisionBoxes){bucket.generateCollisionDebugBuffers()}}function getAnchorJustification(anchor){switch(anchor){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function addFeature(bucket,feature,shapedTextOrientations,shapedIcon,imageMap,sizes,layoutTextSize,layoutIconSize,textOffset,isSDFIcon,canonical){var textMaxSize=sizes.textMaxSize.evaluate(feature,{});if(textMaxSize===undefined){textMaxSize=layoutTextSize}var layout=bucket.layers[0].layout;var iconOffset=layout.get("icon-offset").evaluate(feature,{},canonical);var defaultHorizontalShaping=getDefaultHorizontalShaping(shapedTextOrientations.horizontal);var glyphSize=24,fontScale=layoutTextSize/glyphSize,textBoxScale=bucket.tilePixelRatio*fontScale,textMaxBoxScale=bucket.tilePixelRatio*textMaxSize/glyphSize,iconBoxScale=bucket.tilePixelRatio*layoutIconSize,symbolMinDistance=bucket.tilePixelRatio*layout.get("symbol-spacing"),textPadding=layout.get("text-padding")*bucket.tilePixelRatio,iconPadding=layout.get("icon-padding")*bucket.tilePixelRatio,textMaxAngle=layout.get("text-max-angle")/180*Math.PI,textAlongLine=layout.get("text-rotation-alignment")==="map"&&layout.get("symbol-placement")!=="point",iconAlongLine=layout.get("icon-rotation-alignment")==="map"&&layout.get("symbol-placement")!=="point",symbolPlacement=layout.get("symbol-placement"),textRepeatDistance=symbolMinDistance/2;var iconTextFit=layout.get("icon-text-fit");var verticallyShapedIcon;if(shapedIcon&&iconTextFit!=="none"){if(bucket.allowVerticalPlacement&&shapedTextOrientations.vertical){verticallyShapedIcon=fitIconToText(shapedIcon,shapedTextOrientations.vertical,iconTextFit,layout.get("icon-text-fit-padding"),iconOffset,fontScale)}if(defaultHorizontalShaping){shapedIcon=fitIconToText(shapedIcon,defaultHorizontalShaping,iconTextFit,layout.get("icon-text-fit-padding"),iconOffset,fontScale)}}var addSymbolAtAnchor=function(line,anchor){if(anchor.x<0||anchor.x>=EXTENT$1||anchor.y<0||anchor.y>=EXTENT$1){return}addSymbol(bucket,anchor,line,shapedTextOrientations,shapedIcon,imageMap,verticallyShapedIcon,bucket.layers[0],bucket.collisionBoxArray,feature.index,feature.sourceLayerIndex,bucket.index,textBoxScale,textPadding,textAlongLine,textOffset,iconBoxScale,iconPadding,iconAlongLine,iconOffset,feature,sizes,isSDFIcon,canonical,layoutTextSize)};if(symbolPlacement==="line"){for(var i$1=0,list$1=clipLine(feature.geometry,0,0,EXTENT$1,EXTENT$1);i$1<list$1.length;i$1+=1){var line=list$1[i$1];var anchors=getAnchors(line,symbolMinDistance,textMaxAngle,shapedTextOrientations.vertical||defaultHorizontalShaping,shapedIcon,glyphSize,textMaxBoxScale,bucket.overscaling,EXTENT$1);for(var i=0,list=anchors;i<list.length;i+=1){var anchor=list[i];var shapedText=defaultHorizontalShaping;if(!shapedText||!anchorIsTooClose(bucket,shapedText.text,textRepeatDistance,anchor)){addSymbolAtAnchor(line,anchor)}}}}else if(symbolPlacement==="line-center"){for(var i$2=0,list$2=feature.geometry;i$2<list$2.length;i$2+=1){var line$1=list$2[i$2];if(line$1.length>1){var anchor$1=getCenterAnchor(line$1,textMaxAngle,shapedTextOrientations.vertical||defaultHorizontalShaping,shapedIcon,glyphSize,textMaxBoxScale);if(anchor$1){addSymbolAtAnchor(line$1,anchor$1)}}}}else if(feature.type==="Polygon"){for(var i$3=0,list$3=classifyRings(feature.geometry,0);i$3<list$3.length;i$3+=1){var polygon=list$3[i$3];var poi=findPoleOfInaccessibility(polygon,16);addSymbolAtAnchor(polygon[0],new Anchor(poi.x,poi.y,0))}}else if(feature.type==="LineString"){for(var i$4=0,list$4=feature.geometry;i$4<list$4.length;i$4+=1){var line$2=list$4[i$4];addSymbolAtAnchor(line$2,new Anchor(line$2[0].x,line$2[0].y,0))}}else if(feature.type==="Point"){for(var i$6=0,list$6=feature.geometry;i$6<list$6.length;i$6+=1){var points=list$6[i$6];for(var i$5=0,list$5=points;i$5<list$5.length;i$5+=1){var point=list$5[i$5];addSymbolAtAnchor([point],new Anchor(point.x,point.y,0))}}}}var MAX_GLYPH_ICON_SIZE=255;var MAX_PACKED_SIZE=MAX_GLYPH_ICON_SIZE*SIZE_PACK_FACTOR;function addTextVertices(bucket,anchor,shapedText,imageMap,layer,textAlongLine,feature,textOffset,lineArray,writingMode,placementTypes,placedTextSymbolIndices,placedIconIndex,sizes,canonical){var glyphQuads=getGlyphQuads(anchor,shapedText,textOffset,layer,textAlongLine,feature,imageMap,bucket.allowVerticalPlacement);var sizeData=bucket.textSizeData;var textSizeData=null;if(sizeData.kind==="source"){textSizeData=[SIZE_PACK_FACTOR*layer.layout.get("text-size").evaluate(feature,{})];if(textSizeData[0]>MAX_PACKED_SIZE){warnOnce(bucket.layerIds[0]+': Value for "text-size" is >= '+MAX_GLYPH_ICON_SIZE+'. Reduce your "text-size".')}}else if(sizeData.kind==="composite"){textSizeData=[SIZE_PACK_FACTOR*sizes.compositeTextSizes[0].evaluate(feature,{},canonical),SIZE_PACK_FACTOR*sizes.compositeTextSizes[1].evaluate(feature,{},canonical)];if(textSizeData[0]>MAX_PACKED_SIZE||textSizeData[1]>MAX_PACKED_SIZE){warnOnce(bucket.layerIds[0]+': Value for "text-size" is >= '+MAX_GLYPH_ICON_SIZE+'. Reduce your "text-size".')}}bucket.addSymbols(bucket.text,glyphQuads,textSizeData,textOffset,textAlongLine,feature,writingMode,anchor,lineArray.lineStartIndex,lineArray.lineLength,placedIconIndex,canonical);for(var i=0,list=placementTypes;i<list.length;i+=1){var placementType=list[i];placedTextSymbolIndices[placementType]=bucket.text.placedSymbolArray.length-1}return glyphQuads.length*4}function getDefaultHorizontalShaping(horizontalShaping){for(var justification in horizontalShaping){return horizontalShaping[justification]}return null}function addSymbol(bucket,anchor,line,shapedTextOrientations,shapedIcon,imageMap,verticallyShapedIcon,layer,collisionBoxArray,featureIndex,sourceLayerIndex,bucketIndex,textBoxScale,textPadding,textAlongLine,textOffset,iconBoxScale,iconPadding,iconAlongLine,iconOffset,feature,sizes,isSDFIcon,canonical,layoutTextSize){var assign;var lineArray=bucket.addToLineVertexArray(anchor,line);var textCollisionFeature,iconCollisionFeature,verticalTextCollisionFeature,verticalIconCollisionFeature;var numIconVertices=0;var numVerticalIconVertices=0;var numHorizontalGlyphVertices=0;var numVerticalGlyphVertices=0;var placedIconSymbolIndex=-1;var verticalPlacedIconSymbolIndex=-1;var placedTextSymbolIndices={};var key=murmurhashJs("");var textOffset0=0;var textOffset1=0;if(layer._unevaluatedLayout.getValue("text-radial-offset")===undefined){assign=layer.layout.get("text-offset").evaluate(feature,{},canonical).map((function(t){return t*ONE_EM})),textOffset0=assign[0],textOffset1=assign[1]}else{textOffset0=layer.layout.get("text-radial-offset").evaluate(feature,{},canonical)*ONE_EM;textOffset1=INVALID_TEXT_OFFSET}if(bucket.allowVerticalPlacement&&shapedTextOrientations.vertical){var textRotation=layer.layout.get("text-rotate").evaluate(feature,{},canonical);var verticalTextRotation=textRotation+90;var verticalShaping=shapedTextOrientations.vertical;verticalTextCollisionFeature=new CollisionFeature(collisionBoxArray,anchor,featureIndex,sourceLayerIndex,bucketIndex,verticalShaping,textBoxScale,textPadding,textAlongLine,verticalTextRotation);if(verticallyShapedIcon){verticalIconCollisionFeature=new CollisionFeature(collisionBoxArray,anchor,featureIndex,sourceLayerIndex,bucketIndex,verticallyShapedIcon,iconBoxScale,iconPadding,textAlongLine,verticalTextRotation)}}if(shapedIcon){var iconRotate=layer.layout.get("icon-rotate").evaluate(feature,{});var hasIconTextFit=layer.layout.get("icon-text-fit")!=="none";var iconQuads=getIconQuads(shapedIcon,iconRotate,isSDFIcon,hasIconTextFit);var verticalIconQuads=verticallyShapedIcon?getIconQuads(verticallyShapedIcon,iconRotate,isSDFIcon,hasIconTextFit):undefined;iconCollisionFeature=new CollisionFeature(collisionBoxArray,anchor,featureIndex,sourceLayerIndex,bucketIndex,shapedIcon,iconBoxScale,iconPadding,false,iconRotate);numIconVertices=iconQuads.length*4;var sizeData=bucket.iconSizeData;var iconSizeData=null;if(sizeData.kind==="source"){iconSizeData=[SIZE_PACK_FACTOR*layer.layout.get("icon-size").evaluate(feature,{})];if(iconSizeData[0]>MAX_PACKED_SIZE){warnOnce(bucket.layerIds[0]+': Value for "icon-size" is >= '+MAX_GLYPH_ICON_SIZE+'. Reduce your "icon-size".')}}else if(sizeData.kind==="composite"){iconSizeData=[SIZE_PACK_FACTOR*sizes.compositeIconSizes[0].evaluate(feature,{},canonical),SIZE_PACK_FACTOR*sizes.compositeIconSizes[1].evaluate(feature,{},canonical)];if(iconSizeData[0]>MAX_PACKED_SIZE||iconSizeData[1]>MAX_PACKED_SIZE){warnOnce(bucket.layerIds[0]+': Value for "icon-size" is >= '+MAX_GLYPH_ICON_SIZE+'. Reduce your "icon-size".')}}bucket.addSymbols(bucket.icon,iconQuads,iconSizeData,iconOffset,iconAlongLine,feature,false,anchor,lineArray.lineStartIndex,lineArray.lineLength,-1,canonical);placedIconSymbolIndex=bucket.icon.placedSymbolArray.length-1;if(verticalIconQuads){numVerticalIconVertices=verticalIconQuads.length*4;bucket.addSymbols(bucket.icon,verticalIconQuads,iconSizeData,iconOffset,iconAlongLine,feature,WritingMode.vertical,anchor,lineArray.lineStartIndex,lineArray.lineLength,-1,canonical);verticalPlacedIconSymbolIndex=bucket.icon.placedSymbolArray.length-1}}for(var justification in shapedTextOrientations.horizontal){var shaping=shapedTextOrientations.horizontal[justification];if(!textCollisionFeature){key=murmurhashJs(shaping.text);var textRotate=layer.layout.get("text-rotate").evaluate(feature,{},canonical);textCollisionFeature=new CollisionFeature(collisionBoxArray,anchor,featureIndex,sourceLayerIndex,bucketIndex,shaping,textBoxScale,textPadding,textAlongLine,textRotate)}var singleLine=shaping.positionedLines.length===1;numHorizontalGlyphVertices+=addTextVertices(bucket,anchor,shaping,imageMap,layer,textAlongLine,feature,textOffset,lineArray,shapedTextOrientations.vertical?WritingMode.horizontal:WritingMode.horizontalOnly,singleLine?Object.keys(shapedTextOrientations.horizontal):[justification],placedTextSymbolIndices,placedIconSymbolIndex,sizes,canonical);if(singleLine){break}}if(shapedTextOrientations.vertical){numVerticalGlyphVertices+=addTextVertices(bucket,anchor,shapedTextOrientations.vertical,imageMap,layer,textAlongLine,feature,textOffset,lineArray,WritingMode.vertical,["vertical"],placedTextSymbolIndices,verticalPlacedIconSymbolIndex,sizes,canonical)}var textBoxStartIndex=textCollisionFeature?textCollisionFeature.boxStartIndex:bucket.collisionBoxArray.length;var textBoxEndIndex=textCollisionFeature?textCollisionFeature.boxEndIndex:bucket.collisionBoxArray.length;var verticalTextBoxStartIndex=verticalTextCollisionFeature?verticalTextCollisionFeature.boxStartIndex:bucket.collisionBoxArray.length;var verticalTextBoxEndIndex=verticalTextCollisionFeature?verticalTextCollisionFeature.boxEndIndex:bucket.collisionBoxArray.length;var iconBoxStartIndex=iconCollisionFeature?iconCollisionFeature.boxStartIndex:bucket.collisionBoxArray.length;var iconBoxEndIndex=iconCollisionFeature?iconCollisionFeature.boxEndIndex:bucket.collisionBoxArray.length;var verticalIconBoxStartIndex=verticalIconCollisionFeature?verticalIconCollisionFeature.boxStartIndex:bucket.collisionBoxArray.length;var verticalIconBoxEndIndex=verticalIconCollisionFeature?verticalIconCollisionFeature.boxEndIndex:bucket.collisionBoxArray.length;var collisionCircleDiameter=-1;var getCollisionCircleHeight=function(feature,prevHeight){if(feature&&feature.circleDiameter){return Math.max(feature.circleDiameter,prevHeight)}return prevHeight};collisionCircleDiameter=getCollisionCircleHeight(textCollisionFeature,collisionCircleDiameter);collisionCircleDiameter=getCollisionCircleHeight(verticalTextCollisionFeature,collisionCircleDiameter);collisionCircleDiameter=getCollisionCircleHeight(iconCollisionFeature,collisionCircleDiameter);collisionCircleDiameter=getCollisionCircleHeight(verticalIconCollisionFeature,collisionCircleDiameter);var useRuntimeCollisionCircles=collisionCircleDiameter>-1?1:0;if(useRuntimeCollisionCircles){collisionCircleDiameter*=layoutTextSize/ONE_EM}if(bucket.glyphOffsetArray.length>=SymbolBucket.MAX_GLYPHS){warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907")}if(feature.sortKey!==undefined){bucket.addToSortKeyRanges(bucket.symbolInstances.length,feature.sortKey)}bucket.symbolInstances.emplaceBack(anchor.x,anchor.y,placedTextSymbolIndices.right>=0?placedTextSymbolIndices.right:-1,placedTextSymbolIndices.center>=0?placedTextSymbolIndices.center:-1,placedTextSymbolIndices.left>=0?placedTextSymbolIndices.left:-1,placedTextSymbolIndices.vertical||-1,placedIconSymbolIndex,verticalPlacedIconSymbolIndex,key,textBoxStartIndex,textBoxEndIndex,verticalTextBoxStartIndex,verticalTextBoxEndIndex,iconBoxStartIndex,iconBoxEndIndex,verticalIconBoxStartIndex,verticalIconBoxEndIndex,featureIndex,numHorizontalGlyphVertices,numVerticalGlyphVertices,numIconVertices,numVerticalIconVertices,useRuntimeCollisionCircles,0,textBoxScale,textOffset0,textOffset1,collisionCircleDiameter)}function anchorIsTooClose(bucket,text,repeatDistance,anchor){var compareText=bucket.compareText;if(!(text in compareText)){compareText[text]=[]}else{var otherAnchors=compareText[text];for(var k=otherAnchors.length-1;k>=0;k--){if(anchor.dist(otherAnchors[k])<repeatDistance){return true}}}compareText[text].push(anchor);return false}var vectorTileFeatureTypes$2=vectorTile.VectorTileFeature.types;var shaderOpacityAttributes=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function addVertex$1(array,anchorX,anchorY,ox,oy,tx,ty,sizeVertex,isSDF,pixelOffsetX,pixelOffsetY,minFontScaleX,minFontScaleY){var aSizeX=sizeVertex?Math.min(MAX_PACKED_SIZE,Math.round(sizeVertex[0])):0;var aSizeY=sizeVertex?Math.min(MAX_PACKED_SIZE,Math.round(sizeVertex[1])):0;array.emplaceBack(anchorX,anchorY,Math.round(ox*32),Math.round(oy*32),tx,ty,(aSizeX<<1)+(isSDF?1:0),aSizeY,pixelOffsetX*16,pixelOffsetY*16,minFontScaleX*256,minFontScaleY*256)}function addDynamicAttributes(dynamicLayoutVertexArray,p,angle){dynamicLayoutVertexArray.emplaceBack(p.x,p.y,angle);dynamicLayoutVertexArray.emplaceBack(p.x,p.y,angle);dynamicLayoutVertexArray.emplaceBack(p.x,p.y,angle);dynamicLayoutVertexArray.emplaceBack(p.x,p.y,angle)}function containsRTLText(formattedText){for(var i=0,list=formattedText.sections;i<list.length;i+=1){var section=list[i];if(stringContainsRTLText(section.text)){return true}}return false}var SymbolBuffers=function SymbolBuffers(programConfigurations){this.layoutVertexArray=new StructArrayLayout4i4ui4i24;this.indexArray=new StructArrayLayout3ui6;this.programConfigurations=programConfigurations;this.segments=new SegmentVector;this.dynamicLayoutVertexArray=new StructArrayLayout3f12;this.opacityVertexArray=new StructArrayLayout1ul4;this.placedSymbolArray=new PlacedSymbolArray};SymbolBuffers.prototype.isEmpty=function isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0};SymbolBuffers.prototype.upload=function upload(context,dynamicIndexBuffer,upload$1,update){if(this.isEmpty()){return}if(upload$1){this.layoutVertexBuffer=context.createVertexBuffer(this.layoutVertexArray,symbolLayoutAttributes.members);this.indexBuffer=context.createIndexBuffer(this.indexArray,dynamicIndexBuffer);this.dynamicLayoutVertexBuffer=context.createVertexBuffer(this.dynamicLayoutVertexArray,dynamicLayoutAttributes.members,true);this.opacityVertexBuffer=context.createVertexBuffer(this.opacityVertexArray,shaderOpacityAttributes,true);this.opacityVertexBuffer.itemSize=1}if(upload$1||update){this.programConfigurations.upload(context)}};SymbolBuffers.prototype.destroy=function destroy(){if(!this.layoutVertexBuffer){return}this.layoutVertexBuffer.destroy();this.indexBuffer.destroy();this.programConfigurations.destroy();this.segments.destroy();this.dynamicLayoutVertexBuffer.destroy();this.opacityVertexBuffer.destroy()};register("SymbolBuffers",SymbolBuffers);var CollisionBuffers=function CollisionBuffers(LayoutArray,layoutAttributes,IndexArray){this.layoutVertexArray=new LayoutArray;this.layoutAttributes=layoutAttributes;this.indexArray=new IndexArray;this.segments=new SegmentVector;this.collisionVertexArray=new StructArrayLayout2ub2f12};CollisionBuffers.prototype.upload=function upload(context){this.layoutVertexBuffer=context.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes);this.indexBuffer=context.createIndexBuffer(this.indexArray);this.collisionVertexBuffer=context.createVertexBuffer(this.collisionVertexArray,collisionVertexAttributes.members,true)};CollisionBuffers.prototype.destroy=function destroy(){if(!this.layoutVertexBuffer){return}this.layoutVertexBuffer.destroy();this.indexBuffer.destroy();this.segments.destroy();this.collisionVertexBuffer.destroy()};register("CollisionBuffers",CollisionBuffers);var SymbolBucket=function SymbolBucket(options){this.collisionBoxArray=options.collisionBoxArray;this.zoom=options.zoom;this.overscaling=options.overscaling;this.layers=options.layers;this.layerIds=this.layers.map((function(layer){return layer.id}));this.index=options.index;this.pixelRatio=options.pixelRatio;this.sourceLayerIndex=options.sourceLayerIndex;this.hasPattern=false;this.hasRTLText=false;this.sortKeyRanges=[];this.collisionCircleArray=[];this.placementInvProjMatrix=identity([]);this.placementViewportMatrix=identity([]);var layer=this.layers[0];var unevaluatedLayoutValues=layer._unevaluatedLayout._values;this.textSizeData=getSizeData(this.zoom,unevaluatedLayoutValues["text-size"]);this.iconSizeData=getSizeData(this.zoom,unevaluatedLayoutValues["icon-size"]);var layout=this.layers[0].layout;var sortKey=layout.get("symbol-sort-key");var zOrder=layout.get("symbol-z-order");this.sortFeaturesByKey=zOrder!=="viewport-y"&&sortKey.constantOr(1)!==undefined;var zOrderByViewportY=zOrder==="viewport-y"||zOrder==="auto"&&!this.sortFeaturesByKey;this.sortFeaturesByY=zOrderByViewportY&&(layout.get("text-allow-overlap")||layout.get("icon-allow-overlap")||layout.get("text-ignore-placement")||layout.get("icon-ignore-placement"));if(layout.get("symbol-placement")==="point"){this.writingModes=layout.get("text-writing-mode").map((function(wm){return WritingMode[wm]}))}this.stateDependentLayerIds=this.layers.filter((function(l){return l.isStateDependent()})).map((function(l){return l.id}));this.sourceID=options.sourceID};SymbolBucket.prototype.createArrays=function createArrays(){this.text=new SymbolBuffers(new ProgramConfigurationSet(symbolLayoutAttributes.members,this.layers,this.zoom,(function(property){return/^text/.test(property)})));this.icon=new SymbolBuffers(new ProgramConfigurationSet(symbolLayoutAttributes.members,this.layers,this.zoom,(function(property){return/^icon/.test(property)})));this.glyphOffsetArray=new GlyphOffsetArray;this.lineVertexArray=new SymbolLineVertexArray;this.symbolInstances=new SymbolInstanceArray};SymbolBucket.prototype.calculateGlyphDependencies=function calculateGlyphDependencies(text,stack,textAlongLine,allowVerticalPlacement,doesAllowVerticalWritingMode){for(var i=0;i<text.length;i++){stack[text.charCodeAt(i)]=true;if((textAlongLine||allowVerticalPlacement)&&doesAllowVerticalWritingMode){var verticalChar=verticalizedCharacterMap[text.charAt(i)];if(verticalChar){stack[verticalChar.charCodeAt(0)]=true}}}};SymbolBucket.prototype.populate=function populate(features,options,canonical){var layer=this.layers[0];var layout=layer.layout;var textFont=layout.get("text-font");var textField=layout.get("text-field");var iconImage=layout.get("icon-image");var hasText=(textField.value.kind!=="constant"||textField.value.value instanceof Formatted&&!textField.value.value.isEmpty()||textField.value.value.toString().length>0)&&(textFont.value.kind!=="constant"||textFont.value.value.length>0);var hasIcon=iconImage.value.kind!=="constant"||!!iconImage.value.value||Object.keys(iconImage.parameters).length>0;var symbolSortKey=layout.get("symbol-sort-key");this.features=[];if(!hasText&&!hasIcon){return}var icons=options.iconDependencies;var stacks=options.glyphDependencies;var availableImages=options.availableImages;var globalProperties=new EvaluationParameters(this.zoom);for(var i$1=0,list$1=features;i$1<list$1.length;i$1+=1){var ref=list$1[i$1];var feature=ref.feature;var id=ref.id;var index=ref.index;var sourceLayerIndex=ref.sourceLayerIndex;var needGeometry=layer._featureFilter.needGeometry;var evaluationFeature={type:feature.type,id:id,properties:feature.properties,geometry:needGeometry?loadGeometry(feature):[]};if(!layer._featureFilter.filter(globalProperties,evaluationFeature,canonical)){continue}if(!needGeometry){evaluationFeature.geometry=loadGeometry(feature)}var text=void 0;if(hasText){var resolvedTokens=layer.getValueAndResolveTokens("text-field",evaluationFeature,canonical,availableImages);var formattedText=Formatted.factory(resolvedTokens);if(containsRTLText(formattedText)){this.hasRTLText=true}if(!this.hasRTLText||getRTLTextPluginStatus()==="unavailable"||this.hasRTLText&&plugin.isParsed()){text=transformText$1(formattedText,layer,evaluationFeature)}}var icon=void 0;if(hasIcon){var resolvedTokens$1=layer.getValueAndResolveTokens("icon-image",evaluationFeature,canonical,availableImages);if(resolvedTokens$1 instanceof ResolvedImage){icon=resolvedTokens$1}else{icon=ResolvedImage.fromString(resolvedTokens$1)}}if(!text&&!icon){continue}var sortKey=this.sortFeaturesByKey?symbolSortKey.evaluate(evaluationFeature,{},canonical):undefined;var symbolFeature={id:id,text:text,icon:icon,index:index,sourceLayerIndex:sourceLayerIndex,geometry:loadGeometry(feature),properties:feature.properties,type:vectorTileFeatureTypes$2[feature.type],sortKey:sortKey};this.features.push(symbolFeature);if(icon){icons[icon.name]=true}if(text){var fontStack=textFont.evaluate(evaluationFeature,{},canonical).join(",");var textAlongLine=layout.get("text-rotation-alignment")==="map"&&layout.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(WritingMode.vertical)>=0;for(var i=0,list=text.sections;i<list.length;i+=1){var section=list[i];if(!section.image){var doesAllowVerticalWritingMode=allowsVerticalWritingMode(text.toString());var sectionFont=section.fontStack||fontStack;var sectionStack=stacks[sectionFont]=stacks[sectionFont]||{};this.calculateGlyphDependencies(section.text,sectionStack,textAlongLine,this.allowVerticalPlacement,doesAllowVerticalWritingMode)}else{icons[section.image.name]=true}}}}if(layout.get("symbol-placement")==="line"){this.features=mergeLines(this.features)}if(this.sortFeaturesByKey){this.features.sort((function(a,b){return a.sortKey-b.sortKey}))}};SymbolBucket.prototype.update=function update(states,vtLayer,imagePositions){if(!this.stateDependentLayers.length){return}this.text.programConfigurations.updatePaintArrays(states,vtLayer,this.layers,imagePositions);this.icon.programConfigurations.updatePaintArrays(states,vtLayer,this.layers,imagePositions)};SymbolBucket.prototype.isEmpty=function isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText};SymbolBucket.prototype.uploadPending=function uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload};SymbolBucket.prototype.upload=function upload(context){if(!this.uploaded&&this.hasDebugData()){this.textCollisionBox.upload(context);this.iconCollisionBox.upload(context)}this.text.upload(context,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload);this.icon.upload(context,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload);this.uploaded=true};SymbolBucket.prototype.destroyDebugData=function destroyDebugData(){this.textCollisionBox.destroy();this.iconCollisionBox.destroy()};SymbolBucket.prototype.destroy=function destroy(){this.text.destroy();this.icon.destroy();if(this.hasDebugData()){this.destroyDebugData()}};SymbolBucket.prototype.addToLineVertexArray=function addToLineVertexArray(anchor,line){var lineStartIndex=this.lineVertexArray.length;if(anchor.segment!==undefined){var sumForwardLength=anchor.dist(line[anchor.segment+1]);var sumBackwardLength=anchor.dist(line[anchor.segment]);var vertices={};for(var i=anchor.segment+1;i<line.length;i++){vertices[i]={x:line[i].x,y:line[i].y,tileUnitDistanceFromAnchor:sumForwardLength};if(i<line.length-1){sumForwardLength+=line[i+1].dist(line[i])}}for(var i$1=anchor.segment||0;i$1>=0;i$1--){vertices[i$1]={x:line[i$1].x,y:line[i$1].y,tileUnitDistanceFromAnchor:sumBackwardLength};if(i$1>0){sumBackwardLength+=line[i$1-1].dist(line[i$1])}}for(var i$2=0;i$2<line.length;i$2++){var vertex=vertices[i$2];this.lineVertexArray.emplaceBack(vertex.x,vertex.y,vertex.tileUnitDistanceFromAnchor)}}return{lineStartIndex:lineStartIndex,lineLength:this.lineVertexArray.length-lineStartIndex}};SymbolBucket.prototype.addSymbols=function addSymbols(arrays,quads,sizeVertex,lineOffset,alongLine,feature,writingMode,labelAnchor,lineStartIndex,lineLength,associatedIconIndex,canonical){var indexArray=arrays.indexArray;var layoutVertexArray=arrays.layoutVertexArray;var segment=arrays.segments.prepareSegment(4*quads.length,layoutVertexArray,indexArray,feature.sortKey);var glyphOffsetArrayStart=this.glyphOffsetArray.length;var vertexStartIndex=segment.vertexLength;var angle=this.allowVerticalPlacement&&writingMode===WritingMode.vertical?Math.PI/2:0;var sections=feature.text&&feature.text.sections;for(var i=0;i<quads.length;i++){var ref=quads[i];var tl=ref.tl;var tr=ref.tr;var bl=ref.bl;var br=ref.br;var tex=ref.tex;var pixelOffsetTL=ref.pixelOffsetTL;var pixelOffsetBR=ref.pixelOffsetBR;var minFontScaleX=ref.minFontScaleX;var minFontScaleY=ref.minFontScaleY;var glyphOffset=ref.glyphOffset;var isSDF=ref.isSDF;var sectionIndex=ref.sectionIndex;var index=segment.vertexLength;var y=glyphOffset[1];addVertex$1(layoutVertexArray,labelAnchor.x,labelAnchor.y,tl.x,y+tl.y,tex.x,tex.y,sizeVertex,isSDF,pixelOffsetTL.x,pixelOffsetTL.y,minFontScaleX,minFontScaleY);addVertex$1(layoutVertexArray,labelAnchor.x,labelAnchor.y,tr.x,y+tr.y,tex.x+tex.w,tex.y,sizeVertex,isSDF,pixelOffsetBR.x,pixelOffsetTL.y,minFontScaleX,minFontScaleY);addVertex$1(layoutVertexArray,labelAnchor.x,labelAnchor.y,bl.x,y+bl.y,tex.x,tex.y+tex.h,sizeVertex,isSDF,pixelOffsetTL.x,pixelOffsetBR.y,minFontScaleX,minFontScaleY);addVertex$1(layoutVertexArray,labelAnchor.x,labelAnchor.y,br.x,y+br.y,tex.x+tex.w,tex.y+tex.h,sizeVertex,isSDF,pixelOffsetBR.x,pixelOffsetBR.y,minFontScaleX,minFontScaleY);addDynamicAttributes(arrays.dynamicLayoutVertexArray,labelAnchor,angle);indexArray.emplaceBack(index,index+1,index+2);indexArray.emplaceBack(index+1,index+2,index+3);segment.vertexLength+=4;segment.primitiveLength+=2;this.glyphOffsetArray.emplaceBack(glyphOffset[0]);if(i===quads.length-1||sectionIndex!==quads[i+1].sectionIndex){arrays.programConfigurations.populatePaintArrays(layoutVertexArray.length,feature,feature.index,{},canonical,sections&&sections[sectionIndex])}}arrays.placedSymbolArray.emplaceBack(labelAnchor.x,labelAnchor.y,glyphOffsetArrayStart,this.glyphOffsetArray.length-glyphOffsetArrayStart,vertexStartIndex,lineStartIndex,lineLength,labelAnchor.segment,sizeVertex?sizeVertex[0]:0,sizeVertex?sizeVertex[1]:0,lineOffset[0],lineOffset[1],writingMode,0,false,0,associatedIconIndex)};SymbolBucket.prototype._addCollisionDebugVertex=function _addCollisionDebugVertex(layoutVertexArray,collisionVertexArray,point,anchorX,anchorY,extrude){collisionVertexArray.emplaceBack(0,0);return layoutVertexArray.emplaceBack(point.x,point.y,anchorX,anchorY,Math.round(extrude.x),Math.round(extrude.y))};SymbolBucket.prototype.addCollisionDebugVertices=function addCollisionDebugVertices(x1,y1,x2,y2,arrays,boxAnchorPoint,symbolInstance){var segment=arrays.segments.prepareSegment(4,arrays.layoutVertexArray,arrays.indexArray);var index=segment.vertexLength;var layoutVertexArray=arrays.layoutVertexArray;var collisionVertexArray=arrays.collisionVertexArray;var anchorX=symbolInstance.anchorX;var anchorY=symbolInstance.anchorY;this._addCollisionDebugVertex(layoutVertexArray,collisionVertexArray,boxAnchorPoint,anchorX,anchorY,new pointGeometry(x1,y1));this._addCollisionDebugVertex(layoutVertexArray,collisionVertexArray,boxAnchorPoint,anchorX,anchorY,new pointGeometry(x2,y1));this._addCollisionDebugVertex(layoutVertexArray,collisionVertexArray,boxAnchorPoint,anchorX,anchorY,new pointGeometry(x2,y2));this._addCollisionDebugVertex(layoutVertexArray,collisionVertexArray,boxAnchorPoint,anchorX,anchorY,new pointGeometry(x1,y2));segment.vertexLength+=4;var indexArray=arrays.indexArray;indexArray.emplaceBack(index,index+1);indexArray.emplaceBack(index+1,index+2);indexArray.emplaceBack(index+2,index+3);indexArray.emplaceBack(index+3,index);segment.primitiveLength+=4};SymbolBucket.prototype.addDebugCollisionBoxes=function addDebugCollisionBoxes(startIndex,endIndex,symbolInstance,isText){for(var b=startIndex;b<endIndex;b++){var box=this.collisionBoxArray.get(b);var x1=box.x1;var y1=box.y1;var x2=box.x2;var y2=box.y2;this.addCollisionDebugVertices(x1,y1,x2,y2,isText?this.textCollisionBox:this.iconCollisionBox,box.anchorPoint,symbolInstance)}};SymbolBucket.prototype.generateCollisionDebugBuffers=function generateCollisionDebugBuffers(){if(this.hasDebugData()){this.destroyDebugData()}this.textCollisionBox=new CollisionBuffers(StructArrayLayout2i2i2i12,collisionBoxLayout.members,StructArrayLayout2ui4);this.iconCollisionBox=new CollisionBuffers(StructArrayLayout2i2i2i12,collisionBoxLayout.members,StructArrayLayout2ui4);for(var i=0;i<this.symbolInstances.length;i++){var symbolInstance=this.symbolInstances.get(i);this.addDebugCollisionBoxes(symbolInstance.textBoxStartIndex,symbolInstance.textBoxEndIndex,symbolInstance,true);this.addDebugCollisionBoxes(symbolInstance.verticalTextBoxStartIndex,symbolInstance.verticalTextBoxEndIndex,symbolInstance,true);this.addDebugCollisionBoxes(symbolInstance.iconBoxStartIndex,symbolInstance.iconBoxEndIndex,symbolInstance,false);this.addDebugCollisionBoxes(symbolInstance.verticalIconBoxStartIndex,symbolInstance.verticalIconBoxEndIndex,symbolInstance,false)}};SymbolBucket.prototype._deserializeCollisionBoxesForSymbol=function _deserializeCollisionBoxesForSymbol(collisionBoxArray,textStartIndex,textEndIndex,verticalTextStartIndex,verticalTextEndIndex,iconStartIndex,iconEndIndex,verticalIconStartIndex,verticalIconEndIndex){var collisionArrays={};for(var k=textStartIndex;k<textEndIndex;k++){var box=collisionBoxArray.get(k);collisionArrays.textBox={x1:box.x1,y1:box.y1,x2:box.x2,y2:box.y2,anchorPointX:box.anchorPointX,anchorPointY:box.anchorPointY};collisionArrays.textFeatureIndex=box.featureIndex;break}for(var k$1=verticalTextStartIndex;k$1<verticalTextEndIndex;k$1++){var box$1=collisionBoxArray.get(k$1);collisionArrays.verticalTextBox={x1:box$1.x1,y1:box$1.y1,x2:box$1.x2,y2:box$1.y2,anchorPointX:box$1.anchorPointX,anchorPointY:box$1.anchorPointY};collisionArrays.verticalTextFeatureIndex=box$1.featureIndex;break}for(var k$2=iconStartIndex;k$2<iconEndIndex;k$2++){var box$2=collisionBoxArray.get(k$2);collisionArrays.iconBox={x1:box$2.x1,y1:box$2.y1,x2:box$2.x2,y2:box$2.y2,anchorPointX:box$2.anchorPointX,anchorPointY:box$2.anchorPointY};collisionArrays.iconFeatureIndex=box$2.featureIndex;break}for(var k$3=verticalIconStartIndex;k$3<verticalIconEndIndex;k$3++){var box$3=collisionBoxArray.get(k$3);collisionArrays.verticalIconBox={x1:box$3.x1,y1:box$3.y1,x2:box$3.x2,y2:box$3.y2,anchorPointX:box$3.anchorPointX,anchorPointY:box$3.anchorPointY};collisionArrays.verticalIconFeatureIndex=box$3.featureIndex;break}return collisionArrays};SymbolBucket.prototype.deserializeCollisionBoxes=function deserializeCollisionBoxes(collisionBoxArray){this.collisionArrays=[];for(var i=0;i<this.symbolInstances.length;i++){var symbolInstance=this.symbolInstances.get(i);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(collisionBoxArray,symbolInstance.textBoxStartIndex,symbolInstance.textBoxEndIndex,symbolInstance.verticalTextBoxStartIndex,symbolInstance.verticalTextBoxEndIndex,symbolInstance.iconBoxStartIndex,symbolInstance.iconBoxEndIndex,symbolInstance.verticalIconBoxStartIndex,symbolInstance.verticalIconBoxEndIndex))}};SymbolBucket.prototype.hasTextData=function hasTextData(){return this.text.segments.get().length>0};SymbolBucket.prototype.hasIconData=function hasIconData(){return this.icon.segments.get().length>0};SymbolBucket.prototype.hasDebugData=function hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox};SymbolBucket.prototype.hasTextCollisionBoxData=function hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0};SymbolBucket.prototype.hasIconCollisionBoxData=function hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0};SymbolBucket.prototype.addIndicesForPlacedSymbol=function addIndicesForPlacedSymbol(iconOrText,placedSymbolIndex){var placedSymbol=iconOrText.placedSymbolArray.get(placedSymbolIndex);var endIndex=placedSymbol.vertexStartIndex+placedSymbol.numGlyphs*4;for(var vertexIndex=placedSymbol.vertexStartIndex;vertexIndex<endIndex;vertexIndex+=4){iconOrText.indexArray.emplaceBack(vertexIndex,vertexIndex+1,vertexIndex+2);iconOrText.indexArray.emplaceBack(vertexIndex+1,vertexIndex+2,vertexIndex+3)}};SymbolBucket.prototype.getSortedSymbolIndexes=function getSortedSymbolIndexes(angle){if(this.sortedAngle===angle&&this.symbolInstanceIndexes!==undefined){return this.symbolInstanceIndexes}var sin=Math.sin(angle);var cos=Math.cos(angle);var rotatedYs=[];var featureIndexes=[];var result=[];for(var i=0;i<this.symbolInstances.length;++i){result.push(i);var symbolInstance=this.symbolInstances.get(i);rotatedYs.push(Math.round(sin*symbolInstance.anchorX+cos*symbolInstance.anchorY)|0);featureIndexes.push(symbolInstance.featureIndex)}result.sort((function(aIndex,bIndex){return rotatedYs[aIndex]-rotatedYs[bIndex]||featureIndexes[bIndex]-featureIndexes[aIndex]}));return result};SymbolBucket.prototype.addToSortKeyRanges=function addToSortKeyRanges(symbolInstanceIndex,sortKey){var last=this.sortKeyRanges[this.sortKeyRanges.length-1];if(last&&last.sortKey===sortKey){last.symbolInstanceEnd=symbolInstanceIndex+1}else{this.sortKeyRanges.push({sortKey:sortKey,symbolInstanceStart:symbolInstanceIndex,symbolInstanceEnd:symbolInstanceIndex+1})}};SymbolBucket.prototype.sortFeatures=function sortFeatures(angle){var this$1=this;if(!this.sortFeaturesByY){return}if(this.sortedAngle===angle){return}if(this.text.segments.get().length>1||this.icon.segments.get().length>1){return}this.symbolInstanceIndexes=this.getSortedSymbolIndexes(angle);this.sortedAngle=angle;this.text.indexArray.clear();this.icon.indexArray.clear();this.featureSortOrder=[];for(var i$1=0,list=this.symbolInstanceIndexes;i$1<list.length;i$1+=1){var i=list[i$1];var symbolInstance=this.symbolInstances.get(i);this.featureSortOrder.push(symbolInstance.featureIndex);[symbolInstance.rightJustifiedTextSymbolIndex,symbolInstance.centerJustifiedTextSymbolIndex,symbolInstance.leftJustifiedTextSymbolIndex].forEach((function(index,i,array){if(index>=0&&array.indexOf(index)===i){this$1.addIndicesForPlacedSymbol(this$1.text,index)}}));if(symbolInstance.verticalPlacedTextSymbolIndex>=0){this.addIndicesForPlacedSymbol(this.text,symbolInstance.verticalPlacedTextSymbolIndex)}if(symbolInstance.placedIconSymbolIndex>=0){this.addIndicesForPlacedSymbol(this.icon,symbolInstance.placedIconSymbolIndex)}if(symbolInstance.verticalPlacedIconSymbolIndex>=0){this.addIndicesForPlacedSymbol(this.icon,symbolInstance.verticalPlacedIconSymbolIndex)}}if(this.text.indexBuffer){this.text.indexBuffer.updateData(this.text.indexArray)}if(this.icon.indexBuffer){this.icon.indexBuffer.updateData(this.icon.indexArray)}};register("SymbolBucket",SymbolBucket,{omit:["layers","collisionBoxArray","features","compareText"]});SymbolBucket.MAX_GLYPHS=65535;SymbolBucket.addDynamicAttributes=addDynamicAttributes;function resolveTokens(properties,text){return text.replace(/{([^{}]+)}/g,(function(match,key){return key in properties?String(properties[key]):""}))}var layout$7=new Properties({"symbol-placement":new DataConstantProperty(spec["layout_symbol"]["symbol-placement"]),"symbol-spacing":new DataConstantProperty(spec["layout_symbol"]["symbol-spacing"]),"symbol-avoid-edges":new DataConstantProperty(spec["layout_symbol"]["symbol-avoid-edges"]),"symbol-sort-key":new DataDrivenProperty(spec["layout_symbol"]["symbol-sort-key"]),"symbol-z-order":new DataConstantProperty(spec["layout_symbol"]["symbol-z-order"]),"icon-allow-overlap":new DataConstantProperty(spec["layout_symbol"]["icon-allow-overlap"]),"icon-ignore-placement":new DataConstantProperty(spec["layout_symbol"]["icon-ignore-placement"]),"icon-optional":new DataConstantProperty(spec["layout_symbol"]["icon-optional"]),"icon-rotation-alignment":new DataConstantProperty(spec["layout_symbol"]["icon-rotation-alignment"]),"icon-size":new DataDrivenProperty(spec["layout_symbol"]["icon-size"]),"icon-text-fit":new DataConstantProperty(spec["layout_symbol"]["icon-text-fit"]),"icon-text-fit-padding":new DataConstantProperty(spec["layout_symbol"]["icon-text-fit-padding"]),"icon-image":new DataDrivenProperty(spec["layout_symbol"]["icon-image"]),"icon-rotate":new DataDrivenProperty(spec["layout_symbol"]["icon-rotate"]),"icon-padding":new DataConstantProperty(spec["layout_symbol"]["icon-padding"]),"icon-keep-upright":new DataConstantProperty(spec["layout_symbol"]["icon-keep-upright"]),"icon-offset":new DataDrivenProperty(spec["layout_symbol"]["icon-offset"]),"icon-anchor":new DataDrivenProperty(spec["layout_symbol"]["icon-anchor"]),"icon-pitch-alignment":new DataConstantProperty(spec["layout_symbol"]["icon-pitch-alignment"]),"text-pitch-alignment":new DataConstantProperty(spec["layout_symbol"]["text-pitch-alignment"]),"text-rotation-alignment":new DataConstantProperty(spec["layout_symbol"]["text-rotation-alignment"]),"text-field":new DataDrivenProperty(spec["layout_symbol"]["text-field"]),"text-font":new DataDrivenProperty(spec["layout_symbol"]["text-font"]),"text-size":new DataDrivenProperty(spec["layout_symbol"]["text-size"]),"text-max-width":new DataDrivenProperty(spec["layout_symbol"]["text-max-width"]),"text-line-height":new DataConstantProperty(spec["layout_symbol"]["text-line-height"]),"text-letter-spacing":new DataDrivenProperty(spec["layout_symbol"]["text-letter-spacing"]),"text-justify":new DataDrivenProperty(spec["layout_symbol"]["text-justify"]),"text-radial-offset":new DataDrivenProperty(spec["layout_symbol"]["text-radial-offset"]),"text-variable-anchor":new DataConstantProperty(spec["layout_symbol"]["text-variable-anchor"]),"text-anchor":new DataDrivenProperty(spec["layout_symbol"]["text-anchor"]),"text-max-angle":new DataConstantProperty(spec["layout_symbol"]["text-max-angle"]),"text-writing-mode":new DataConstantProperty(spec["layout_symbol"]["text-writing-mode"]),"text-rotate":new DataDrivenProperty(spec["layout_symbol"]["text-rotate"]),"text-padding":new DataConstantProperty(spec["layout_symbol"]["text-padding"]),"text-keep-upright":new DataConstantProperty(spec["layout_symbol"]["text-keep-upright"]),"text-transform":new DataDrivenProperty(spec["layout_symbol"]["text-transform"]),"text-offset":new DataDrivenProperty(spec["layout_symbol"]["text-offset"]),"text-allow-overlap":new DataConstantProperty(spec["layout_symbol"]["text-allow-overlap"]),"text-ignore-placement":new DataConstantProperty(spec["layout_symbol"]["text-ignore-placement"]),"text-optional":new DataConstantProperty(spec["layout_symbol"]["text-optional"])});var paint$7=new Properties({"icon-opacity":new DataDrivenProperty(spec["paint_symbol"]["icon-opacity"]),"icon-color":new DataDrivenProperty(spec["paint_symbol"]["icon-color"]),"icon-halo-color":new DataDrivenProperty(spec["paint_symbol"]["icon-halo-color"]),"icon-halo-width":new DataDrivenProperty(spec["paint_symbol"]["icon-halo-width"]),"icon-halo-blur":new DataDrivenProperty(spec["paint_symbol"]["icon-halo-blur"]),"icon-translate":new DataConstantProperty(spec["paint_symbol"]["icon-translate"]),"icon-translate-anchor":new DataConstantProperty(spec["paint_symbol"]["icon-translate-anchor"]),"text-opacity":new DataDrivenProperty(spec["paint_symbol"]["text-opacity"]),"text-color":new DataDrivenProperty(spec["paint_symbol"]["text-color"],{runtimeType:ColorType,getOverride:function(o){return o.textColor},hasOverride:function(o){return!!o.textColor}}),"text-halo-color":new DataDrivenProperty(spec["paint_symbol"]["text-halo-color"]),"text-halo-width":new DataDrivenProperty(spec["paint_symbol"]["text-halo-width"]),"text-halo-blur":new DataDrivenProperty(spec["paint_symbol"]["text-halo-blur"]),"text-translate":new DataConstantProperty(spec["paint_symbol"]["text-translate"]),"text-translate-anchor":new DataConstantProperty(spec["paint_symbol"]["text-translate-anchor"])});var properties$6={paint:paint$7,layout:layout$7};var FormatSectionOverride=function FormatSectionOverride(defaultValue){this.type=defaultValue.property.overrides?defaultValue.property.overrides.runtimeType:NullType;this.defaultValue=defaultValue};FormatSectionOverride.prototype.evaluate=function evaluate(ctx){if(ctx.formattedSection){var overrides=this.defaultValue.property.overrides;if(overrides&&overrides.hasOverride(ctx.formattedSection)){return overrides.getOverride(ctx.formattedSection)}}if(ctx.feature&&ctx.featureState){return this.defaultValue.evaluate(ctx.feature,ctx.featureState)}return this.defaultValue.property.specification.default};FormatSectionOverride.prototype.eachChild=function eachChild(fn){if(!this.defaultValue.isConstant()){var expr=this.defaultValue.value;fn(expr._styleExpression.expression)}};FormatSectionOverride.prototype.outputDefined=function outputDefined(){return false};FormatSectionOverride.prototype.serialize=function serialize(){return null};register("FormatSectionOverride",FormatSectionOverride,{omit:["defaultValue"]});var SymbolStyleLayer=function(StyleLayer){function SymbolStyleLayer(layer){StyleLayer.call(this,layer,properties$6)}if(StyleLayer)SymbolStyleLayer.__proto__=StyleLayer;SymbolStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);SymbolStyleLayer.prototype.constructor=SymbolStyleLayer;SymbolStyleLayer.prototype.recalculate=function recalculate(parameters,availableImages){StyleLayer.prototype.recalculate.call(this,parameters,availableImages);if(this.layout.get("icon-rotation-alignment")==="auto"){if(this.layout.get("symbol-placement")!=="point"){this.layout._values["icon-rotation-alignment"]="map"}else{this.layout._values["icon-rotation-alignment"]="viewport"}}if(this.layout.get("text-rotation-alignment")==="auto"){if(this.layout.get("symbol-placement")!=="point"){this.layout._values["text-rotation-alignment"]="map"}else{this.layout._values["text-rotation-alignment"]="viewport"}}if(this.layout.get("text-pitch-alignment")==="auto"){this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")}if(this.layout.get("icon-pitch-alignment")==="auto"){this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")}if(this.layout.get("symbol-placement")==="point"){var writingModes=this.layout.get("text-writing-mode");if(writingModes){var deduped=[];for(var i=0,list=writingModes;i<list.length;i+=1){var m=list[i];if(deduped.indexOf(m)<0){deduped.push(m)}}this.layout._values["text-writing-mode"]=deduped}else{this.layout._values["text-writing-mode"]=["horizontal"]}}this._setPaintOverrides()};SymbolStyleLayer.prototype.getValueAndResolveTokens=function getValueAndResolveTokens(name,feature,canonical,availableImages){var value=this.layout.get(name).evaluate(feature,{},canonical,availableImages);var unevaluated=this._unevaluatedLayout._values[name];if(!unevaluated.isDataDriven()&&!isExpression(unevaluated.value)&&value){return resolveTokens(feature.properties,value)}return value};SymbolStyleLayer.prototype.createBucket=function createBucket(parameters){return new SymbolBucket(parameters)};SymbolStyleLayer.prototype.queryRadius=function queryRadius(){return 0};SymbolStyleLayer.prototype.queryIntersectsFeature=function queryIntersectsFeature(){return false};SymbolStyleLayer.prototype._setPaintOverrides=function _setPaintOverrides(){for(var i=0,list=properties$6.paint.overridableProperties;i<list.length;i+=1){var overridable=list[i];if(!SymbolStyleLayer.hasPaintOverride(this.layout,overridable)){continue}var overriden=this.paint.get(overridable);var override=new FormatSectionOverride(overriden);var styleExpression=new StyleExpression(override,overriden.property.specification);var expression=null;if(overriden.value.kind==="constant"||overriden.value.kind==="source"){expression=new ZoomConstantExpression("source",styleExpression)}else{expression=new ZoomDependentExpression("composite",styleExpression,overriden.value.zoomStops,overriden.value._interpolationType)}this.paint._values[overridable]=new PossiblyEvaluatedPropertyValue(overriden.property,expression,overriden.parameters)}};SymbolStyleLayer.prototype._handleOverridablePaintPropertyUpdate=function _handleOverridablePaintPropertyUpdate(name,oldValue,newValue){if(!this.layout||oldValue.isDataDriven()||newValue.isDataDriven()){return false}return SymbolStyleLayer.hasPaintOverride(this.layout,name)};SymbolStyleLayer.hasPaintOverride=function hasPaintOverride(layout,propertyName){var textField=layout.get("text-field");var property=properties$6.paint.properties[propertyName];var hasOverrides=false;var checkSections=function(sections){for(var i=0,list=sections;i<list.length;i+=1){var section=list[i];if(property.overrides&&property.overrides.hasOverride(section)){hasOverrides=true;return}}};if(textField.value.kind==="constant"&&textField.value.value instanceof Formatted){checkSections(textField.value.value.sections)}else if(textField.value.kind==="source"){var checkExpression=function(expression){if(hasOverrides){return}if(expression instanceof Literal&&typeOf(expression.value)===FormattedType){var formatted=expression.value;checkSections(formatted.sections)}else if(expression instanceof FormatExpression){checkSections(expression.sections)}else{expression.eachChild(checkExpression)}};var expr=textField.value;if(expr._styleExpression){checkExpression(expr._styleExpression.expression)}}return hasOverrides};return SymbolStyleLayer}(StyleLayer);var paint$8=new Properties({"background-color":new DataConstantProperty(spec["paint_background"]["background-color"]),"background-pattern":new CrossFadedProperty(spec["paint_background"]["background-pattern"]),"background-opacity":new DataConstantProperty(spec["paint_background"]["background-opacity"])});var properties$7={paint:paint$8};var BackgroundStyleLayer=function(StyleLayer){function BackgroundStyleLayer(layer){StyleLayer.call(this,layer,properties$7)}if(StyleLayer)BackgroundStyleLayer.__proto__=StyleLayer;BackgroundStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);BackgroundStyleLayer.prototype.constructor=BackgroundStyleLayer;return BackgroundStyleLayer}(StyleLayer);var paint$9=new Properties({"raster-opacity":new DataConstantProperty(spec["paint_raster"]["raster-opacity"]),"raster-hue-rotate":new DataConstantProperty(spec["paint_raster"]["raster-hue-rotate"]),"raster-brightness-min":new DataConstantProperty(spec["paint_raster"]["raster-brightness-min"]),"raster-brightness-max":new DataConstantProperty(spec["paint_raster"]["raster-brightness-max"]),"raster-saturation":new DataConstantProperty(spec["paint_raster"]["raster-saturation"]),"raster-contrast":new DataConstantProperty(spec["paint_raster"]["raster-contrast"]),"raster-resampling":new DataConstantProperty(spec["paint_raster"]["raster-resampling"]),"raster-fade-duration":new DataConstantProperty(spec["paint_raster"]["raster-fade-duration"])});var properties$8={paint:paint$9};var RasterStyleLayer=function(StyleLayer){function RasterStyleLayer(layer){StyleLayer.call(this,layer,properties$8)}if(StyleLayer)RasterStyleLayer.__proto__=StyleLayer;RasterStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);RasterStyleLayer.prototype.constructor=RasterStyleLayer;return RasterStyleLayer}(StyleLayer);function validateCustomStyleLayer(layerObject){var errors=[];var id=layerObject.id;if(id===undefined){errors.push({message:"layers."+id+': missing required property "id"'})}if(layerObject.render===undefined){errors.push({message:"layers."+id+': missing required method "render"'})}if(layerObject.renderingMode&&layerObject.renderingMode!=="2d"&&layerObject.renderingMode!=="3d"){errors.push({message:"layers."+id+': property "renderingMode" must be either "2d" or "3d"'})}return errors}var CustomStyleLayer=function(StyleLayer){function CustomStyleLayer(implementation){StyleLayer.call(this,implementation,{});this.implementation=implementation}if(StyleLayer)CustomStyleLayer.__proto__=StyleLayer;CustomStyleLayer.prototype=Object.create(StyleLayer&&StyleLayer.prototype);CustomStyleLayer.prototype.constructor=CustomStyleLayer;CustomStyleLayer.prototype.is3D=function is3D(){return this.implementation.renderingMode==="3d"};CustomStyleLayer.prototype.hasOffscreenPass=function hasOffscreenPass(){return this.implementation.prerender!==undefined};CustomStyleLayer.prototype.recalculate=function recalculate(){};CustomStyleLayer.prototype.updateTransitions=function updateTransitions(){};CustomStyleLayer.prototype.hasTransition=function hasTransition(){};CustomStyleLayer.prototype.serialize=function serialize(){};CustomStyleLayer.prototype.onAdd=function onAdd(map){if(this.implementation.onAdd){this.implementation.onAdd(map,map.painter.context.gl)}};CustomStyleLayer.prototype.onRemove=function onRemove(map){if(this.implementation.onRemove){this.implementation.onRemove(map,map.painter.context.gl)}};return CustomStyleLayer}(StyleLayer);var subclasses={circle:CircleStyleLayer,heatmap:HeatmapStyleLayer,hillshade:HillshadeStyleLayer,fill:FillStyleLayer,"fill-extrusion":FillExtrusionStyleLayer,line:LineStyleLayer,symbol:SymbolStyleLayer,background:BackgroundStyleLayer,raster:RasterStyleLayer};function createStyleLayer(layer){if(layer.type==="custom"){return new CustomStyleLayer(layer)}else{return new subclasses[layer.type](layer)}}var HTMLImageElement=self.HTMLImageElement;var HTMLCanvasElement=self.HTMLCanvasElement;var HTMLVideoElement=self.HTMLVideoElement;var ImageData$1=self.ImageData;var ImageBitmap$1=self.ImageBitmap;var Texture=function Texture(context,image,format,options){this.context=context;this.format=format;this.texture=context.gl.createTexture();this.update(image,options)};Texture.prototype.update=function update(image,options,position){var width=image.width;var height=image.height;var resize=(!this.size||this.size[0]!==width||this.size[1]!==height)&&!position;var ref=this;var context=ref.context;var gl=context.gl;this.useMipmap=Boolean(options&&options.useMipmap);gl.bindTexture(gl.TEXTURE_2D,this.texture);context.pixelStoreUnpackFlipY.set(false);context.pixelStoreUnpack.set(1);context.pixelStoreUnpackPremultiplyAlpha.set(this.format===gl.RGBA&&(!options||options.premultiply!==false));if(resize){this.size=[width,height];if(image instanceof HTMLImageElement||image instanceof HTMLCanvasElement||image instanceof HTMLVideoElement||image instanceof ImageData$1||ImageBitmap$1&&image instanceof ImageBitmap$1){gl.texImage2D(gl.TEXTURE_2D,0,this.format,this.format,gl.UNSIGNED_BYTE,image)}else{gl.texImage2D(gl.TEXTURE_2D,0,this.format,width,height,0,this.format,gl.UNSIGNED_BYTE,image.data)}}else{var ref$1=position||{x:0,y:0};var x=ref$1.x;var y=ref$1.y;if(image instanceof HTMLImageElement||image instanceof HTMLCanvasElement||image instanceof HTMLVideoElement||image instanceof ImageData$1||ImageBitmap$1&&image instanceof ImageBitmap$1){gl.texSubImage2D(gl.TEXTURE_2D,0,x,y,gl.RGBA,gl.UNSIGNED_BYTE,image)}else{gl.texSubImage2D(gl.TEXTURE_2D,0,x,y,width,height,gl.RGBA,gl.UNSIGNED_BYTE,image.data)}}if(this.useMipmap&&this.isSizePowerOfTwo()){gl.generateMipmap(gl.TEXTURE_2D)}};Texture.prototype.bind=function bind(filter,wrap,minFilter){var ref=this;var context=ref.context;var gl=context.gl;gl.bindTexture(gl.TEXTURE_2D,this.texture);if(minFilter===gl.LINEAR_MIPMAP_NEAREST&&!this.isSizePowerOfTwo()){minFilter=gl.LINEAR}if(filter!==this.filter){gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,filter);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,minFilter||filter);this.filter=filter}if(wrap!==this.wrap){gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,wrap);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,wrap);this.wrap=wrap}};Texture.prototype.isSizePowerOfTwo=function isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1===0};Texture.prototype.destroy=function destroy(){var ref=this.context;var gl=ref.gl;gl.deleteTexture(this.texture);this.texture=null};var ThrottledInvoker=function ThrottledInvoker(callback){var this$1=this;this._callback=callback;this._triggered=false;if(typeof MessageChannel!=="undefined"){this._channel=new MessageChannel;this._channel.port2.onmessage=function(){this$1._triggered=false;this$1._callback()}}};ThrottledInvoker.prototype.trigger=function trigger(){var this$1=this;if(!this._triggered){this._triggered=true;if(this._channel){this._channel.port1.postMessage(true)}else{setTimeout((function(){this$1._triggered=false;this$1._callback()}),0)}}};ThrottledInvoker.prototype.remove=function remove(){delete this._channel;this._callback=function(){}};var Actor=function Actor(target,parent,mapId){this.target=target;this.parent=parent;this.mapId=mapId;this.callbacks={};this.tasks={};this.taskQueue=[];this.cancelCallbacks={};bindAll(["receive","process"],this);this.invoker=new ThrottledInvoker(this.process);this.target.addEventListener("message",this.receive,false);this.globalScope=isWorker()?target:self};Actor.prototype.send=function send(type,data,callback,targetMapId,mustQueue){var this$1=this;if(mustQueue===void 0)mustQueue=false;var id=Math.round(Math.random()*1e18).toString(36).substring(0,10);if(callback){this.callbacks[id]=callback}var buffers=isSafari(this.globalScope)?undefined:[];this.target.postMessage({id:id,type:type,hasCallback:!!callback,targetMapId:targetMapId,mustQueue:mustQueue,sourceMapId:this.mapId,data:serialize(data,buffers)},buffers);return{cancel:function(){if(callback){delete this$1.callbacks[id]}this$1.target.postMessage({id:id,type:"<cancel>",targetMapId:targetMapId,sourceMapId:this$1.mapId})}}};Actor.prototype.receive=function receive(message){var data=message.data,id=data.id;if(!id){return}if(data.targetMapId&&this.mapId!==data.targetMapId){return}if(data.type==="<cancel>"){delete this.tasks[id];var cancel=this.cancelCallbacks[id];delete this.cancelCallbacks[id];if(cancel){cancel()}}else{if(isWorker()||data.mustQueue){this.tasks[id]=data;this.taskQueue.push(id);this.invoker.trigger()}else{this.processTask(id,data)}}};Actor.prototype.process=function process(){if(!this.taskQueue.length){return}var id=this.taskQueue.shift();var task=this.tasks[id];delete this.tasks[id];if(this.taskQueue.length){this.invoker.trigger()}if(!task){return}this.processTask(id,task)};Actor.prototype.processTask=function processTask(id,task){var this$1=this;if(task.type==="<response>"){var callback=this.callbacks[id];delete this.callbacks[id];if(callback){if(task.error){callback(deserialize(task.error))}else{callback(null,deserialize(task.data))}}}else{var completed=false;var buffers=isSafari(this.globalScope)?undefined:[];var done=task.hasCallback?function(err,data){completed=true;delete this$1.cancelCallbacks[id];this$1.target.postMessage({id:id,type:"<response>",sourceMapId:this$1.mapId,error:err?serialize(err):null,data:serialize(data,buffers)},buffers)}:function(_){completed=true};var callback$1=null;var params=deserialize(task.data);if(this.parent[task.type]){callback$1=this.parent[task.type](task.sourceMapId,params,done)}else if(this.parent.getWorkerSource){var keys=task.type.split(".");var scope=this.parent.getWorkerSource(task.sourceMapId,keys[0],params.source);callback$1=scope[keys[1]](params,done)}else{done(new Error("Could not find function "+task.type))}if(!completed&&callback$1&&callback$1.cancel){this.cancelCallbacks[id]=callback$1.cancel}}};Actor.prototype.remove=function remove(){this.invoker.remove();this.target.removeEventListener("message",this.receive,false)};function getTileBBox(x,y,z){y=Math.pow(2,z)-y-1;var min=getMercCoords(x*256,y*256,z),max=getMercCoords((x+1)*256,(y+1)*256,z);return min[0]+","+min[1]+","+max[0]+","+max[1]}function getMercCoords(x,y,z){var resolution=2*Math.PI*6378137/256/Math.pow(2,z),merc_x=x*resolution-2*Math.PI*6378137/2,merc_y=y*resolution-2*Math.PI*6378137/2;return[merc_x,merc_y]}var LngLatBounds=function LngLatBounds(sw,ne){if(!sw);else if(ne){this.setSouthWest(sw).setNorthEast(ne)}else if(sw.length===4){this.setSouthWest([sw[0],sw[1]]).setNorthEast([sw[2],sw[3]])}else{this.setSouthWest(sw[0]).setNorthEast(sw[1])}};LngLatBounds.prototype.setNorthEast=function setNorthEast(ne){this._ne=ne instanceof LngLat?new LngLat(ne.lng,ne.lat):LngLat.convert(ne);return this};LngLatBounds.prototype.setSouthWest=function setSouthWest(sw){this._sw=sw instanceof LngLat?new LngLat(sw.lng,sw.lat):LngLat.convert(sw);return this};LngLatBounds.prototype.extend=function extend(obj){var sw=this._sw,ne=this._ne;var sw2,ne2;if(obj instanceof LngLat){sw2=obj;ne2=obj}else if(obj instanceof LngLatBounds){sw2=obj._sw;ne2=obj._ne;if(!sw2||!ne2){return this}}else{if(Array.isArray(obj)){if(obj.length===4||obj.every(Array.isArray)){var lngLatBoundsObj=obj;return this.extend(LngLatBounds.convert(lngLatBoundsObj))}else{var lngLatObj=obj;return this.extend(LngLat.convert(lngLatObj))}}return this}if(!sw&&!ne){this._sw=new LngLat(sw2.lng,sw2.lat);this._ne=new LngLat(ne2.lng,ne2.lat)}else{sw.lng=Math.min(sw2.lng,sw.lng);sw.lat=Math.min(sw2.lat,sw.lat);ne.lng=Math.max(ne2.lng,ne.lng);ne.lat=Math.max(ne2.lat,ne.lat)}return this};LngLatBounds.prototype.getCenter=function getCenter(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)};LngLatBounds.prototype.getSouthWest=function getSouthWest(){return this._sw};LngLatBounds.prototype.getNorthEast=function getNorthEast(){return this._ne};LngLatBounds.prototype.getNorthWest=function getNorthWest(){return new LngLat(this.getWest(),this.getNorth())};LngLatBounds.prototype.getSouthEast=function getSouthEast(){return new LngLat(this.getEast(),this.getSouth())};LngLatBounds.prototype.getWest=function getWest(){return this._sw.lng};LngLatBounds.prototype.getSouth=function getSouth(){return this._sw.lat};LngLatBounds.prototype.getEast=function getEast(){return this._ne.lng};LngLatBounds.prototype.getNorth=function getNorth(){return this._ne.lat};LngLatBounds.prototype.toArray=function toArray(){return[this._sw.toArray(),this._ne.toArray()]};LngLatBounds.prototype.toString=function toString(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"};LngLatBounds.prototype.isEmpty=function isEmpty(){return!(this._sw&&this._ne)};LngLatBounds.prototype.contains=function contains(lnglat){var ref=LngLat.convert(lnglat);var lng=ref.lng;var lat=ref.lat;var containsLatitude=this._sw.lat<=lat&&lat<=this._ne.lat;var containsLongitude=this._sw.lng<=lng&&lng<=this._ne.lng;if(this._sw.lng>this._ne.lng){containsLongitude=this._sw.lng>=lng&&lng>=this._ne.lng}return containsLatitude&&containsLongitude};LngLatBounds.convert=function convert(input){if(!input||input instanceof LngLatBounds){return input}return new LngLatBounds(input)};var earthRadius=6371008.8;var LngLat=function LngLat(lng,lat){if(isNaN(lng)||isNaN(lat)){throw new Error("Invalid LngLat object: ("+lng+", "+lat+")")}this.lng=+lng;this.lat=+lat;if(this.lat>90||this.lat<-90){throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}};LngLat.prototype.wrap=function wrap$1(){return new LngLat(wrap(this.lng,-180,180),this.lat)};LngLat.prototype.toArray=function toArray(){return[this.lng,this.lat]};LngLat.prototype.toString=function toString(){return"LngLat("+this.lng+", "+this.lat+")"};LngLat.prototype.distanceTo=function distanceTo(lngLat){var rad=Math.PI/180;var lat1=this.lat*rad;var lat2=lngLat.lat*rad;var a=Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos((lngLat.lng-this.lng)*rad);var maxMeters=earthRadius*Math.acos(Math.min(a,1));return maxMeters};LngLat.prototype.toBounds=function toBounds(radius){if(radius===void 0)radius=0;var earthCircumferenceInMetersAtEquator=40075017;var latAccuracy=360*radius/earthCircumferenceInMetersAtEquator,lngAccuracy=latAccuracy/Math.cos(Math.PI/180*this.lat);return new LngLatBounds(new LngLat(this.lng-lngAccuracy,this.lat-latAccuracy),new LngLat(this.lng+lngAccuracy,this.lat+latAccuracy))};LngLat.convert=function convert(input){if(input instanceof LngLat){return input}if(Array.isArray(input)&&(input.length===2||input.length===3)){return new LngLat(Number(input[0]),Number(input[1]))}if(!Array.isArray(input)&&typeof input==="object"&&input!==null){return new LngLat(Number("lng"in input?input.lng:input.lon),Number(input.lat))}throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var earthCircumfrence=2*Math.PI*earthRadius;function circumferenceAtLatitude(latitude){return earthCircumfrence*Math.cos(latitude*Math.PI/180)}function mercatorXfromLng$1(lng){return(180+lng)/360}function mercatorYfromLat$1(lat){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+lat*Math.PI/360)))/360}function mercatorZfromAltitude(altitude,lat){return altitude/circumferenceAtLatitude(lat)}function lngFromMercatorX(x){return x*360-180}function latFromMercatorY(y){var y2=180-y*360;return 360/Math.PI*Math.atan(Math.exp(y2*Math.PI/180))-90}function altitudeFromMercatorZ(z,y){return z*circumferenceAtLatitude(latFromMercatorY(y))}function mercatorScale(lat){return 1/Math.cos(lat*Math.PI/180)}var MercatorCoordinate=function MercatorCoordinate(x,y,z){if(z===void 0)z=0;this.x=+x;this.y=+y;this.z=+z};MercatorCoordinate.fromLngLat=function fromLngLat(lngLatLike,altitude){if(altitude===void 0)altitude=0;var lngLat=LngLat.convert(lngLatLike);return new MercatorCoordinate(mercatorXfromLng$1(lngLat.lng),mercatorYfromLat$1(lngLat.lat),mercatorZfromAltitude(altitude,lngLat.lat))};MercatorCoordinate.prototype.toLngLat=function toLngLat(){return new LngLat(lngFromMercatorX(this.x),latFromMercatorY(this.y))};MercatorCoordinate.prototype.toAltitude=function toAltitude(){return altitudeFromMercatorZ(this.z,this.y)};MercatorCoordinate.prototype.meterInMercatorCoordinateUnits=function meterInMercatorCoordinateUnits(){return 1/earthCircumfrence*mercatorScale(latFromMercatorY(this.y))};var CanonicalTileID=function CanonicalTileID(z,x,y){this.z=z;this.x=x;this.y=y;this.key=calculateKey(0,z,z,x,y)};CanonicalTileID.prototype.equals=function equals(id){return this.z===id.z&&this.x===id.x&&this.y===id.y};CanonicalTileID.prototype.url=function url(urls,scheme){var bbox=getTileBBox(this.x,this.y,this.z);var quadkey=getQuadkey(this.z,this.x,this.y);return urls[(this.x+this.y)%urls.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String(scheme==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",quadkey).replace("{bbox-epsg-3857}",bbox)};CanonicalTileID.prototype.getTilePoint=function getTilePoint(coord){var tilesAtZoom=Math.pow(2,this.z);return new pointGeometry((coord.x*tilesAtZoom-this.x)*EXTENT$1,(coord.y*tilesAtZoom-this.y)*EXTENT$1)};CanonicalTileID.prototype.toString=function toString(){return this.z+"/"+this.x+"/"+this.y};var UnwrappedTileID=function UnwrappedTileID(wrap,canonical){this.wrap=wrap;this.canonical=canonical;this.key=calculateKey(wrap,canonical.z,canonical.z,canonical.x,canonical.y)};var OverscaledTileID=function OverscaledTileID(overscaledZ,wrap,z,x,y){this.overscaledZ=overscaledZ;this.wrap=wrap;this.canonical=new CanonicalTileID(z,+x,+y);this.key=calculateKey(wrap,overscaledZ,z,x,y)};OverscaledTileID.prototype.equals=function equals(id){return this.overscaledZ===id.overscaledZ&&this.wrap===id.wrap&&this.canonical.equals(id.canonical)};OverscaledTileID.prototype.scaledTo=function scaledTo(targetZ){var zDifference=this.canonical.z-targetZ;if(targetZ>this.canonical.z){return new OverscaledTileID(targetZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}else{return new OverscaledTileID(targetZ,this.wrap,targetZ,this.canonical.x>>zDifference,this.canonical.y>>zDifference)}};OverscaledTileID.prototype.calculateScaledKey=function calculateScaledKey(targetZ,withWrap){var zDifference=this.canonical.z-targetZ;if(targetZ>this.canonical.z){return calculateKey(this.wrap*+withWrap,targetZ,this.canonical.z,this.canonical.x,this.canonical.y)}else{return calculateKey(this.wrap*+withWrap,targetZ,targetZ,this.canonical.x>>zDifference,this.canonical.y>>zDifference)}};OverscaledTileID.prototype.isChildOf=function isChildOf(parent){if(parent.wrap!==this.wrap){return false}var zDifference=this.canonical.z-parent.canonical.z;return parent.overscaledZ===0||parent.overscaledZ<this.overscaledZ&&parent.canonical.x===this.canonical.x>>zDifference&&parent.canonical.y===this.canonical.y>>zDifference};OverscaledTileID.prototype.children=function children(sourceMaxZoom){if(this.overscaledZ>=sourceMaxZoom){return[new OverscaledTileID(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)]}var z=this.canonical.z+1;var x=this.canonical.x*2;var y=this.canonical.y*2;return[new OverscaledTileID(z,this.wrap,z,x,y),new OverscaledTileID(z,this.wrap,z,x+1,y),new OverscaledTileID(z,this.wrap,z,x,y+1),new OverscaledTileID(z,this.wrap,z,x+1,y+1)]};OverscaledTileID.prototype.isLessThan=function isLessThan(rhs){if(this.wrap<rhs.wrap){return true}if(this.wrap>rhs.wrap){return false}if(this.overscaledZ<rhs.overscaledZ){return true}if(this.overscaledZ>rhs.overscaledZ){return false}if(this.canonical.x<rhs.canonical.x){return true}if(this.canonical.x>rhs.canonical.x){return false}if(this.canonical.y<rhs.canonical.y){return true}return false};OverscaledTileID.prototype.wrapped=function wrapped(){return new OverscaledTileID(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)};OverscaledTileID.prototype.unwrapTo=function unwrapTo(wrap){return new OverscaledTileID(this.overscaledZ,wrap,this.canonical.z,this.canonical.x,this.canonical.y)};OverscaledTileID.prototype.overscaleFactor=function overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)};OverscaledTileID.prototype.toUnwrapped=function toUnwrapped(){return new UnwrappedTileID(this.wrap,this.canonical)};OverscaledTileID.prototype.toString=function toString(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y};OverscaledTileID.prototype.getTilePoint=function getTilePoint(coord){return this.canonical.getTilePoint(new MercatorCoordinate(coord.x-this.wrap,coord.y))};function calculateKey(wrap,overscaledZ,z,x,y){wrap*=2;if(wrap<0){wrap=wrap*-1-1}var dim=1<<z;return(dim*dim*wrap+dim*y+x).toString(36)+z.toString(36)+overscaledZ.toString(36)}function getQuadkey(z,x,y){var quadkey="",mask;for(var i=z;i>0;i--){mask=1<<i-1;quadkey+=(x&mask?1:0)+(y&mask?2:0)}return quadkey}register("CanonicalTileID",CanonicalTileID);register("OverscaledTileID",OverscaledTileID,{omit:["posMatrix"]});var DEMData=function DEMData(uid,data,encoding){this.uid=uid;if(data.height!==data.width){throw new RangeError("DEM tiles must be square")}if(encoding&&encoding!=="mapbox"&&encoding!=="terrarium"){return warnOnce('"'+encoding+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".')}this.stride=data.height;var dim=this.dim=data.height-2;this.data=new Uint32Array(data.data.buffer);this.encoding=encoding||"mapbox";for(var x=0;x<dim;x++){this.data[this._idx(-1,x)]=this.data[this._idx(0,x)];this.data[this._idx(dim,x)]=this.data[this._idx(dim-1,x)];this.data[this._idx(x,-1)]=this.data[this._idx(x,0)];this.data[this._idx(x,dim)]=this.data[this._idx(x,dim-1)]}this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)];this.data[this._idx(dim,-1)]=this.data[this._idx(dim-1,0)];this.data[this._idx(-1,dim)]=this.data[this._idx(0,dim-1)];this.data[this._idx(dim,dim)]=this.data[this._idx(dim-1,dim-1)]};DEMData.prototype.get=function get(x,y){var pixels=new Uint8Array(this.data.buffer);var index=this._idx(x,y)*4;var unpack=this.encoding==="terrarium"?this._unpackTerrarium:this._unpackMapbox;return unpack(pixels[index],pixels[index+1],pixels[index+2])};DEMData.prototype.getUnpackVector=function getUnpackVector(){return this.encoding==="terrarium"?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]};DEMData.prototype._idx=function _idx(x,y){if(x<-1||x>=this.dim+1||y<-1||y>=this.dim+1){throw new RangeError("out of range source coordinates for DEM data")}return(y+1)*this.stride+(x+1)};DEMData.prototype._unpackMapbox=function _unpackMapbox(r,g,b){return(r*256*256+g*256+b)/10-1e4};DEMData.prototype._unpackTerrarium=function _unpackTerrarium(r,g,b){return r*256+g+b/256-32768};DEMData.prototype.getPixels=function getPixels(){return new RGBAImage({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))};DEMData.prototype.backfillBorder=function backfillBorder(borderTile,dx,dy){if(this.dim!==borderTile.dim){throw new Error("dem dimension mismatch")}var xMin=dx*this.dim,xMax=dx*this.dim+this.dim,yMin=dy*this.dim,yMax=dy*this.dim+this.dim;switch(dx){case-1:xMin=xMax-1;break;case 1:xMax=xMin+1;break}switch(dy){case-1:yMin=yMax-1;break;case 1:yMax=yMin+1;break}var ox=-dx*this.dim;var oy=-dy*this.dim;for(var y=yMin;y<yMax;y++){for(var x=xMin;x<xMax;x++){this.data[this._idx(x,y)]=borderTile.data[this._idx(x+ox,y+oy)]}}};register("DEMData",DEMData);function deserialize$1(input,style){var output={};if(!style){return output}var loop=function(){var bucket=list$1[i$1];var layers=bucket.layerIds.map((function(id){return style.getLayer(id)})).filter(Boolean);if(layers.length===0){return}bucket.layers=layers;if(bucket.stateDependentLayerIds){bucket.stateDependentLayers=bucket.stateDependentLayerIds.map((function(lId){return layers.filter((function(l){return l.id===lId}))[0]}))}for(var i=0,list=layers;i<list.length;i+=1){var layer=list[i];output[layer.id]=bucket}};for(var i$1=0,list$1=input;i$1<list$1.length;i$1+=1)loop();return output}var DictionaryCoder=function DictionaryCoder(strings){this._stringToNumber={};this._numberToString=[];for(var i=0;i<strings.length;i++){var string=strings[i];this._stringToNumber[string]=i;this._numberToString[i]=string}};DictionaryCoder.prototype.encode=function encode(string){return this._stringToNumber[string]};DictionaryCoder.prototype.decode=function decode(n){return this._numberToString[n]};var Feature=function Feature(vectorTileFeature,z,x,y,id){this.type="Feature";this._vectorTileFeature=vectorTileFeature;vectorTileFeature._z=z;vectorTileFeature._x=x;vectorTileFeature._y=y;this.properties=vectorTileFeature.properties;this.id=id};var prototypeAccessors$1={geometry:{configurable:true}};prototypeAccessors$1.geometry.get=function(){if(this._geometry===undefined){this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry}return this._geometry};prototypeAccessors$1.geometry.set=function(g){this._geometry=g};Feature.prototype.toJSON=function toJSON(){var json={geometry:this.geometry};for(var i in this){if(i==="_geometry"||i==="_vectorTileFeature"){continue}json[i]=this[i]}return json};Object.defineProperties(Feature.prototype,prototypeAccessors$1);var SourceFeatureState=function SourceFeatureState(){this.state={};this.stateChanges={};this.deletedStates={}};SourceFeatureState.prototype.updateState=function updateState(sourceLayer,featureId,newState){var feature=String(featureId);this.stateChanges[sourceLayer]=this.stateChanges[sourceLayer]||{};this.stateChanges[sourceLayer][feature]=this.stateChanges[sourceLayer][feature]||{};extend(this.stateChanges[sourceLayer][feature],newState);if(this.deletedStates[sourceLayer]===null){this.deletedStates[sourceLayer]={};for(var ft in this.state[sourceLayer]){if(ft!==feature){this.deletedStates[sourceLayer][ft]=null}}}else{var featureDeletionQueued=this.deletedStates[sourceLayer]&&this.deletedStates[sourceLayer][feature]===null;if(featureDeletionQueued){this.deletedStates[sourceLayer][feature]={};for(var prop in this.state[sourceLayer][feature]){if(!newState[prop]){this.deletedStates[sourceLayer][feature][prop]=null}}}else{for(var key in newState){var deletionInQueue=this.deletedStates[sourceLayer]&&this.deletedStates[sourceLayer][feature]&&this.deletedStates[sourceLayer][feature][key]===null;if(deletionInQueue){delete this.deletedStates[sourceLayer][feature][key]}}}}};SourceFeatureState.prototype.removeFeatureState=function removeFeatureState(sourceLayer,featureId,key){var sourceLayerDeleted=this.deletedStates[sourceLayer]===null;if(sourceLayerDeleted){return}var feature=String(featureId);this.deletedStates[sourceLayer]=this.deletedStates[sourceLayer]||{};if(key&&featureId!==undefined){if(this.deletedStates[sourceLayer][feature]!==null){this.deletedStates[sourceLayer][feature]=this.deletedStates[sourceLayer][feature]||{};this.deletedStates[sourceLayer][feature][key]=null}}else if(featureId!==undefined){var updateInQueue=this.stateChanges[sourceLayer]&&this.stateChanges[sourceLayer][feature];if(updateInQueue){this.deletedStates[sourceLayer][feature]={};for(key in this.stateChanges[sourceLayer][feature]){this.deletedStates[sourceLayer][feature][key]=null}}else{this.deletedStates[sourceLayer][feature]=null}}else{this.deletedStates[sourceLayer]=null}};SourceFeatureState.prototype.getState=function getState(sourceLayer,featureId){var feature=String(featureId);var base=this.state[sourceLayer]||{};var changes=this.stateChanges[sourceLayer]||{};var reconciledState=extend({},base[feature],changes[feature]);if(this.deletedStates[sourceLayer]===null){return{}}else if(this.deletedStates[sourceLayer]){var featureDeletions=this.deletedStates[sourceLayer][featureId];if(featureDeletions===null){return{}}for(var prop in featureDeletions){delete reconciledState[prop]}}return reconciledState};SourceFeatureState.prototype.initializeTileState=function initializeTileState(tile,painter){tile.setFeatureState(this.state,painter)};SourceFeatureState.prototype.coalesceChanges=function coalesceChanges(tiles,painter){var featuresChanged={};for(var sourceLayer in this.stateChanges){this.state[sourceLayer]=this.state[sourceLayer]||{};var layerStates={};for(var feature in this.stateChanges[sourceLayer]){if(!this.state[sourceLayer][feature]){this.state[sourceLayer][feature]={}}extend(this.state[sourceLayer][feature],this.stateChanges[sourceLayer][feature]);layerStates[feature]=this.state[sourceLayer][feature]}featuresChanged[sourceLayer]=layerStates}for(var sourceLayer$1 in this.deletedStates){this.state[sourceLayer$1]=this.state[sourceLayer$1]||{};var layerStates$1={};if(this.deletedStates[sourceLayer$1]===null){for(var ft in this.state[sourceLayer$1]){layerStates$1[ft]={};this.state[sourceLayer$1][ft]={}}}else{for(var feature$1 in this.deletedStates[sourceLayer$1]){var deleteWholeFeatureState=this.deletedStates[sourceLayer$1][feature$1]===null;if(deleteWholeFeatureState){this.state[sourceLayer$1][feature$1]={}}else{for(var i=0,list=Object.keys(this.deletedStates[sourceLayer$1][feature$1]);i<list.length;i+=1){var key=list[i];delete this.state[sourceLayer$1][feature$1][key]}}layerStates$1[feature$1]=this.state[sourceLayer$1][feature$1]}}featuresChanged[sourceLayer$1]=featuresChanged[sourceLayer$1]||{};extend(featuresChanged[sourceLayer$1],layerStates$1)}this.stateChanges={};this.deletedStates={};if(Object.keys(featuresChanged).length===0){return}for(var id in tiles){var tile=tiles[id];tile.setFeatureState(featuresChanged,painter)}};var FeatureIndex=function FeatureIndex(tileID,promoteId){this.tileID=tileID;this.x=tileID.canonical.x;this.y=tileID.canonical.y;this.z=tileID.canonical.z;this.grid=new gridIndex(EXTENT$1,16,0);this.grid3D=new gridIndex(EXTENT$1,16,0);this.featureIndexArray=new FeatureIndexArray;this.promoteId=promoteId};FeatureIndex.prototype.insert=function insert(feature,geometry,featureIndex,sourceLayerIndex,bucketIndex,is3D){var key=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(featureIndex,sourceLayerIndex,bucketIndex);var grid=is3D?this.grid3D:this.grid;for(var r=0;r<geometry.length;r++){var ring=geometry[r];var bbox=[Infinity,Infinity,-Infinity,-Infinity];for(var i=0;i<ring.length;i++){var p=ring[i];bbox[0]=Math.min(bbox[0],p.x);bbox[1]=Math.min(bbox[1],p.y);bbox[2]=Math.max(bbox[2],p.x);bbox[3]=Math.max(bbox[3],p.y)}if(bbox[0]<EXTENT$1&&bbox[1]<EXTENT$1&&bbox[2]>=0&&bbox[3]>=0){grid.insert(key,bbox[0],bbox[1],bbox[2],bbox[3])}}};FeatureIndex.prototype.loadVTLayers=function loadVTLayers(){if(!this.vtLayers){this.vtLayers=new vectorTile.VectorTile(new pbf(this.rawTileData)).layers;this.sourceLayerCoder=new DictionaryCoder(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])}return this.vtLayers};FeatureIndex.prototype.query=function query(args,styleLayers,serializedLayers,sourceFeatureState){var this$1=this;this.loadVTLayers();var params=args.params||{},pixelsToTileUnits=EXTENT$1/args.tileSize/args.scale,filter=createFilter(params.filter);var queryGeometry=args.queryGeometry;var queryPadding=args.queryPadding*pixelsToTileUnits;var bounds=getBounds(queryGeometry);var matching=this.grid.query(bounds.minX-queryPadding,bounds.minY-queryPadding,bounds.maxX+queryPadding,bounds.maxY+queryPadding);var cameraBounds=getBounds(args.cameraQueryGeometry);var matching3D=this.grid3D.query(cameraBounds.minX-queryPadding,cameraBounds.minY-queryPadding,cameraBounds.maxX+queryPadding,cameraBounds.maxY+queryPadding,(function(bx1,by1,bx2,by2){return polygonIntersectsBox(args.cameraQueryGeometry,bx1-queryPadding,by1-queryPadding,bx2+queryPadding,by2+queryPadding)}));for(var i=0,list=matching3D;i<list.length;i+=1){var key=list[i];matching.push(key)}matching.sort(topDownFeatureComparator);var result={};var previousIndex;var loop=function(k){var index=matching[k];if(index===previousIndex){return}previousIndex=index;var match=this$1.featureIndexArray.get(index);var featureGeometry=null;this$1.loadMatchingFeature(result,match.bucketIndex,match.sourceLayerIndex,match.featureIndex,filter,params.layers,params.availableImages,styleLayers,serializedLayers,sourceFeatureState,(function(feature,styleLayer,featureState){if(!featureGeometry){featureGeometry=loadGeometry(feature)}return styleLayer.queryIntersectsFeature(queryGeometry,feature,featureState,featureGeometry,this$1.z,args.transform,pixelsToTileUnits,args.pixelPosMatrix)}))};for(var k=0;k<matching.length;k++)loop(k);return result};FeatureIndex.prototype.loadMatchingFeature=function loadMatchingFeature(result,bucketIndex,sourceLayerIndex,featureIndex,filter,filterLayerIDs,availableImages,styleLayers,serializedLayers,sourceFeatureState,intersectionTest){var layerIDs=this.bucketLayerIDs[bucketIndex];if(filterLayerIDs&&!arraysIntersect(filterLayerIDs,layerIDs)){return}var sourceLayerName=this.sourceLayerCoder.decode(sourceLayerIndex);var sourceLayer=this.vtLayers[sourceLayerName];var feature=sourceLayer.feature(featureIndex);if(!filter.filter(new EvaluationParameters(this.tileID.overscaledZ),feature)){return}var id=this.getId(feature,sourceLayerName);for(var l=0;l<layerIDs.length;l++){var layerID=layerIDs[l];if(filterLayerIDs&&filterLayerIDs.indexOf(layerID)<0){continue}var styleLayer=styleLayers[layerID];if(!styleLayer){continue}var featureState={};if(id!==undefined&&sourceFeatureState){featureState=sourceFeatureState.getState(styleLayer.sourceLayer||"_geojsonTileLayer",id)}var serializedLayer=serializedLayers[layerID];serializedLayer.paint=evaluateProperties(serializedLayer.paint,styleLayer.paint,feature,featureState,availableImages);serializedLayer.layout=evaluateProperties(serializedLayer.layout,styleLayer.layout,feature,featureState,availableImages);var intersectionZ=!intersectionTest||intersectionTest(feature,styleLayer,featureState);if(!intersectionZ){continue}var geojsonFeature=new Feature(feature,this.z,this.x,this.y,id);geojsonFeature.layer=serializedLayer;var layerResult=result[layerID];if(layerResult===undefined){layerResult=result[layerID]=[]}layerResult.push({featureIndex:featureIndex,feature:geojsonFeature,intersectionZ:intersectionZ})}};FeatureIndex.prototype.lookupSymbolFeatures=function lookupSymbolFeatures(symbolFeatureIndexes,serializedLayers,bucketIndex,sourceLayerIndex,filterSpec,filterLayerIDs,availableImages,styleLayers){var result={};this.loadVTLayers();var filter=createFilter(filterSpec);for(var i=0,list=symbolFeatureIndexes;i<list.length;i+=1){var symbolFeatureIndex=list[i];this.loadMatchingFeature(result,bucketIndex,sourceLayerIndex,symbolFeatureIndex,filter,filterLayerIDs,availableImages,styleLayers,serializedLayers)}return result};FeatureIndex.prototype.hasLayer=function hasLayer(id){for(var i$1=0,list$1=this.bucketLayerIDs;i$1<list$1.length;i$1+=1){var layerIDs=list$1[i$1];for(var i=0,list=layerIDs;i<list.length;i+=1){var layerID=list[i];if(id===layerID){return true}}}return false};FeatureIndex.prototype.getId=function getId(feature,sourceLayerId){var id=feature.id;if(this.promoteId){var propName=typeof this.promoteId==="string"?this.promoteId:this.promoteId[sourceLayerId];id=feature.properties[propName];if(typeof id==="boolean"){id=Number(id)}}return id};register("FeatureIndex",FeatureIndex,{omit:["rawTileData","sourceLayerCoder"]});function evaluateProperties(serializedProperties,styleLayerProperties,feature,featureState,availableImages){return mapObject(serializedProperties,(function(property,key){var prop=styleLayerProperties instanceof PossiblyEvaluated?styleLayerProperties.get(key):null;return prop&&prop.evaluate?prop.evaluate(feature,featureState,availableImages):prop}))}function getBounds(geometry){var minX=Infinity;var minY=Infinity;var maxX=-Infinity;var maxY=-Infinity;for(var i=0,list=geometry;i<list.length;i+=1){var p=list[i];minX=Math.min(minX,p.x);minY=Math.min(minY,p.y);maxX=Math.max(maxX,p.x);maxY=Math.max(maxY,p.y)}return{minX:minX,minY:minY,maxX:maxX,maxY:maxY}}function topDownFeatureComparator(a,b){return b-a}var CLOCK_SKEW_RETRY_TIMEOUT=3e4;var Tile=function Tile(tileID,size){this.tileID=tileID;this.uid=uniqueId();this.uses=0;this.tileSize=size;this.buckets={};this.expirationTime=null;this.queryPadding=0;this.hasSymbolBuckets=false;this.hasRTLText=false;this.dependencies={};this.expiredRequestCount=0;this.state="loading"};Tile.prototype.registerFadeDuration=function registerFadeDuration(duration){var fadeEndTime=duration+this.timeAdded;if(fadeEndTime<exported.now()){return}if(this.fadeEndTime&&fadeEndTime<this.fadeEndTime){return}this.fadeEndTime=fadeEndTime};Tile.prototype.wasRequested=function wasRequested(){return this.state==="errored"||this.state==="loaded"||this.state==="reloading"};Tile.prototype.loadVectorData=function loadVectorData(data,painter,justReloaded){if(this.hasData()){this.unloadVectorData()}this.state="loaded";if(!data){this.collisionBoxArray=new CollisionBoxArray;return}if(data.featureIndex){this.latestFeatureIndex=data.featureIndex;if(data.rawTileData){this.latestRawTileData=data.rawTileData;this.latestFeatureIndex.rawTileData=data.rawTileData}else if(this.latestRawTileData){this.latestFeatureIndex.rawTileData=this.latestRawTileData}}this.collisionBoxArray=data.collisionBoxArray;this.buckets=deserialize$1(data.buckets,painter.style);this.hasSymbolBuckets=false;for(var id in this.buckets){var bucket=this.buckets[id];if(bucket instanceof SymbolBucket){this.hasSymbolBuckets=true;if(justReloaded){bucket.justReloaded=true}else{break}}}this.hasRTLText=false;if(this.hasSymbolBuckets){for(var id$1 in this.buckets){var bucket$1=this.buckets[id$1];if(bucket$1 instanceof SymbolBucket){if(bucket$1.hasRTLText){this.hasRTLText=true;lazyLoadRTLTextPlugin();break}}}}this.queryPadding=0;for(var id$2 in this.buckets){var bucket$2=this.buckets[id$2];this.queryPadding=Math.max(this.queryPadding,painter.style.getLayer(id$2).queryRadius(bucket$2))}if(data.imageAtlas){this.imageAtlas=data.imageAtlas}if(data.glyphAtlasImage){this.glyphAtlasImage=data.glyphAtlasImage}};Tile.prototype.unloadVectorData=function unloadVectorData(){for(var id in this.buckets){this.buckets[id].destroy()}this.buckets={};if(this.imageAtlasTexture){this.imageAtlasTexture.destroy()}if(this.imageAtlas){this.imageAtlas=null}if(this.glyphAtlasTexture){this.glyphAtlasTexture.destroy()}this.latestFeatureIndex=null;this.state="unloaded"};Tile.prototype.getBucket=function getBucket(layer){return this.buckets[layer.id]};Tile.prototype.upload=function upload(context){for(var id in this.buckets){var bucket=this.buckets[id];if(bucket.uploadPending()){bucket.upload(context)}}var gl=context.gl;if(this.imageAtlas&&!this.imageAtlas.uploaded){this.imageAtlasTexture=new Texture(context,this.imageAtlas.image,gl.RGBA);this.imageAtlas.uploaded=true}if(this.glyphAtlasImage){this.glyphAtlasTexture=new Texture(context,this.glyphAtlasImage,gl.ALPHA);this.glyphAtlasImage=null}};Tile.prototype.prepare=function prepare(imageManager){if(this.imageAtlas){this.imageAtlas.patchUpdatedImages(imageManager,this.imageAtlasTexture)}};Tile.prototype.queryRenderedFeatures=function queryRenderedFeatures(layers,serializedLayers,sourceFeatureState,queryGeometry,cameraQueryGeometry,scale,params,transform,maxPitchScaleFactor,pixelPosMatrix){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData){return{}}return this.latestFeatureIndex.query({queryGeometry:queryGeometry,cameraQueryGeometry:cameraQueryGeometry,scale:scale,tileSize:this.tileSize,pixelPosMatrix:pixelPosMatrix,transform:transform,params:params,queryPadding:this.queryPadding*maxPitchScaleFactor},layers,serializedLayers,sourceFeatureState)};Tile.prototype.querySourceFeatures=function querySourceFeatures(result,params){var featureIndex=this.latestFeatureIndex;if(!featureIndex||!featureIndex.rawTileData){return}var vtLayers=featureIndex.loadVTLayers();var sourceLayer=params?params.sourceLayer:"";var layer=vtLayers._geojsonTileLayer||vtLayers[sourceLayer];if(!layer){return}var filter=createFilter(params&&params.filter);var ref=this.tileID.canonical;var z=ref.z;var x=ref.x;var y=ref.y;var coord={z:z,x:x,y:y};for(var i=0;i<layer.length;i++){var feature=layer.feature(i);if(filter.filter(new EvaluationParameters(this.tileID.overscaledZ),feature)){var id=featureIndex.getId(feature,sourceLayer);var geojsonFeature=new Feature(feature,z,x,y,id);geojsonFeature.tile=coord;result.push(geojsonFeature)}}};Tile.prototype.hasData=function hasData(){return this.state==="loaded"||this.state==="reloading"||this.state==="expired"};Tile.prototype.patternsLoaded=function patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length};Tile.prototype.setExpiryData=function setExpiryData(data){var prior=this.expirationTime;if(data.cacheControl){var parsedCC=parseCacheControl(data.cacheControl);if(parsedCC["max-age"]){this.expirationTime=Date.now()+parsedCC["max-age"]*1e3}}else if(data.expires){this.expirationTime=new Date(data.expires).getTime()}if(this.expirationTime){var now=Date.now();var isExpired=false;if(this.expirationTime>now){isExpired=false}else if(!prior){isExpired=true}else if(this.expirationTime<prior){isExpired=true}else{var delta=this.expirationTime-prior;if(!delta){isExpired=true}else{this.expirationTime=now+Math.max(delta,CLOCK_SKEW_RETRY_TIMEOUT)}}if(isExpired){this.expiredRequestCount++;this.state="expired"}else{this.expiredRequestCount=0}}};Tile.prototype.getExpiryTimeout=function getExpiryTimeout(){if(this.expirationTime){if(this.expiredRequestCount){return 1e3*(1<<Math.min(this.expiredRequestCount-1,31))}else{return Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)}}};Tile.prototype.setFeatureState=function setFeatureState(states,painter){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(states).length===0){return}var vtLayers=this.latestFeatureIndex.loadVTLayers();for(var id in this.buckets){if(!painter.style.hasLayer(id)){continue}var bucket=this.buckets[id];var sourceLayerId=bucket.layers[0]["sourceLayer"]||"_geojsonTileLayer";var sourceLayer=vtLayers[sourceLayerId];var sourceLayerStates=states[sourceLayerId];if(!sourceLayer||!sourceLayerStates||Object.keys(sourceLayerStates).length===0){continue}bucket.update(sourceLayerStates,sourceLayer,this.imageAtlas&&this.imageAtlas.patternPositions||{});var layer=painter&&painter.style&&painter.style.getLayer(id);if(layer){this.queryPadding=Math.max(this.queryPadding,layer.queryRadius(bucket))}}};Tile.prototype.holdingForFade=function holdingForFade(){return this.symbolFadeHoldUntil!==undefined};Tile.prototype.symbolFadeFinished=function symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<exported.now()};Tile.prototype.clearFadeHold=function clearFadeHold(){this.symbolFadeHoldUntil=undefined};Tile.prototype.setHoldDuration=function setHoldDuration(duration){this.symbolFadeHoldUntil=exported.now()+duration};Tile.prototype.setDependencies=function setDependencies(namespace,dependencies){var index={};for(var i=0,list=dependencies;i<list.length;i+=1){var dep=list[i];index[dep]=true}this.dependencies[namespace]=index};Tile.prototype.hasDependency=function hasDependency(namespaces,keys){for(var i$1=0,list$1=namespaces;i$1<list$1.length;i$1+=1){var namespace=list$1[i$1];var dependencies=this.dependencies[namespace];if(dependencies){for(var i=0,list=keys;i<list.length;i+=1){var key=list[i];if(dependencies[key]){return true}}}}return false};var refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"];var performance=self.performance;var RequestPerformance=function RequestPerformance(request){this._marks={start:[request.url,"start"].join("#"),end:[request.url,"end"].join("#"),measure:request.url.toString()};performance.mark(this._marks.start)};RequestPerformance.prototype.finish=function finish(){performance.mark(this._marks.end);var resourceTimingData=performance.getEntriesByName(this._marks.measure);if(resourceTimingData.length===0){performance.measure(this._marks.measure,this._marks.start,this._marks.end);resourceTimingData=performance.getEntriesByName(this._marks.measure);performance.clearMarks(this._marks.start);performance.clearMarks(this._marks.end);performance.clearMeasures(this._marks.measure)}return resourceTimingData};exports.Actor=Actor;exports.AlphaImage=AlphaImage;exports.CanonicalTileID=CanonicalTileID;exports.CollisionBoxArray=CollisionBoxArray;exports.Color=Color;exports.DEMData=DEMData;exports.DataConstantProperty=DataConstantProperty;exports.DictionaryCoder=DictionaryCoder;exports.EXTENT=EXTENT$1;exports.ErrorEvent=ErrorEvent;exports.EvaluationParameters=EvaluationParameters;exports.Event=Event;exports.Evented=Evented;exports.FeatureIndex=FeatureIndex;exports.FillBucket=FillBucket;exports.FillExtrusionBucket=FillExtrusionBucket;exports.ImageAtlas=ImageAtlas;exports.ImagePosition=ImagePosition;exports.LineBucket=LineBucket;exports.LngLat=LngLat;exports.LngLatBounds=LngLatBounds;exports.MercatorCoordinate=MercatorCoordinate;exports.ONE_EM=ONE_EM;exports.OverscaledTileID=OverscaledTileID;exports.Point=pointGeometry;exports.Point$1=pointGeometry;exports.Properties=Properties;exports.Protobuf=pbf;exports.RGBAImage=RGBAImage;exports.RequestManager=RequestManager;exports.RequestPerformance=RequestPerformance;exports.ResourceType=ResourceType;exports.SegmentVector=SegmentVector;exports.SourceFeatureState=SourceFeatureState;exports.StructArrayLayout1ui2=StructArrayLayout1ui2;exports.StructArrayLayout2f1f2i16=StructArrayLayout2f1f2i16;exports.StructArrayLayout2i4=StructArrayLayout2i4;exports.StructArrayLayout3ui6=StructArrayLayout3ui6;exports.StructArrayLayout4i8=StructArrayLayout4i8;exports.SymbolBucket=SymbolBucket;exports.Texture=Texture;exports.Tile=Tile;exports.Transitionable=Transitionable;exports.Uniform1f=Uniform1f;exports.Uniform1i=Uniform1i;exports.Uniform2f=Uniform2f;exports.Uniform3f=Uniform3f;exports.Uniform4f=Uniform4f;exports.UniformColor=UniformColor;exports.UniformMatrix4f=UniformMatrix4f;exports.UnwrappedTileID=UnwrappedTileID;exports.ValidationError=ValidationError;exports.WritingMode=WritingMode;exports.ZoomHistory=ZoomHistory;exports.add=add;exports.addDynamicAttributes=addDynamicAttributes;exports.asyncAll=asyncAll;exports.bezier=bezier;exports.bindAll=bindAll;exports.browser=exported;exports.cacheEntryPossiblyAdded=cacheEntryPossiblyAdded;exports.clamp=clamp;exports.clearTileCache=clearTileCache;exports.clipLine=clipLine;exports.clone=clone$1;exports.clone$1=clone;exports.clone$2=clone$2;exports.collisionCircleLayout=collisionCircleLayout;exports.config=config;exports.create=create$2;exports.create$1=create$1;exports.create$2=create;exports.createCommonjsModule=createCommonjsModule;exports.createExpression=createExpression;exports.createLayout=createLayout;exports.createStyleLayer=createStyleLayer;exports.cross=cross;exports.deepEqual=deepEqual;exports.dot=dot;exports.dot$1=dot$1;exports.ease=ease;exports.emitValidationErrors=emitValidationErrors;exports.endsWith=endsWith;exports.enforceCacheSizeLimit=enforceCacheSizeLimit;exports.evaluateSizeForFeature=evaluateSizeForFeature;exports.evaluateSizeForZoom=evaluateSizeForZoom;exports.evaluateVariableOffset=evaluateVariableOffset;exports.evented=evented;exports.extend=extend;exports.featureFilter=createFilter;exports.filterObject=filterObject;exports.fromRotation=fromRotation;exports.getAnchorAlignment=getAnchorAlignment;exports.getAnchorJustification=getAnchorJustification;exports.getArrayBuffer=getArrayBuffer;exports.getImage=getImage;exports.getJSON=getJSON;exports.getRTLTextPluginStatus=getRTLTextPluginStatus;exports.getReferrer=getReferrer;exports.getVideo=getVideo;exports.identity=identity;exports.invert=invert;exports.isChar=unicodeBlockLookup;exports.isMapboxURL=isMapboxURL;exports.keysDifference=keysDifference;exports.makeRequest=makeRequest;exports.mapObject=mapObject;exports.mercatorXfromLng=mercatorXfromLng$1;exports.mercatorYfromLat=mercatorYfromLat$1;exports.mercatorZfromAltitude=mercatorZfromAltitude;exports.mul=mul;exports.multiply=multiply;exports.mvt=vectorTile;exports.normalize=normalize;exports.number=number;exports.offscreenCanvasSupported=offscreenCanvasSupported;exports.ortho=ortho;exports.parseGlyphPBF=parseGlyphPBF;exports.pbf=pbf;exports.performSymbolLayout=performSymbolLayout;exports.perspective=perspective;exports.pick=pick;exports.plugin=plugin;exports.polygonIntersectsPolygon=polygonIntersectsPolygon;exports.postMapLoadEvent=postMapLoadEvent;exports.postTurnstileEvent=postTurnstileEvent;exports.potpack=potpack;exports.refProperties=refProperties;exports.register=register;exports.registerForPluginStateChange=registerForPluginStateChange;exports.rotate=rotate;exports.rotateX=rotateX;exports.rotateZ=rotateZ;exports.scale=scale;exports.scale$1=scale$2;exports.scale$2=scale$1;exports.setCacheLimits=setCacheLimits;exports.setRTLTextPlugin=setRTLTextPlugin;exports.sphericalToCartesian=sphericalToCartesian;exports.sqrLen=sqrLen;exports.styleSpec=spec;exports.sub=sub;exports.symbolSize=symbolSize;exports.transformMat3=transformMat3;exports.transformMat4=transformMat4;exports.translate=translate$1;exports.triggerPluginCompletionEvent=triggerPluginCompletionEvent;exports.uniqueId=uniqueId;exports.validateCustomStyleLayer=validateCustomStyleLayer;exports.validateLight=validateLight$1;exports.validateStyle=validateStyle;exports.values=values;exports.vectorTile=vectorTile;exports.version=version;exports.warnOnce=warnOnce;exports.webpSupported=exported$1;exports.window=self;exports.wrap=wrap}));define(["./shared"],(function(performance$1){"use strict";function stringify(obj){var type=typeof obj;if(type==="number"||type==="boolean"||type==="string"||obj===undefined||obj===null){return JSON.stringify(obj)}if(Array.isArray(obj)){var str$1="[";for(var i$1=0,list=obj;i$1<list.length;i$1+=1){var val=list[i$1];str$1+=stringify(val)+","}return str$1+"]"}var keys=Object.keys(obj).sort();var str="{";for(var i=0;i<keys.length;i++){str+=JSON.stringify(keys[i])+":"+stringify(obj[keys[i]])+","}return str+"}"}function getKey(layer){var key="";for(var i=0,list=performance$1.refProperties;i<list.length;i+=1){var k=list[i];key+="/"+stringify(layer[k])}return key}function groupByLayout(layers,cachedKeys){var groups={};for(var i=0;i<layers.length;i++){var k=cachedKeys&&cachedKeys[layers[i].id]||getKey(layers[i]);if(cachedKeys){cachedKeys[layers[i].id]=k}var group=groups[k];if(!group){group=groups[k]=[]}group.push(layers[i])}var result=[];for(var k$1 in groups){result.push(groups[k$1])}return result}var StyleLayerIndex=function StyleLayerIndex(layerConfigs){this.keyCache={};if(layerConfigs){this.replace(layerConfigs)}};StyleLayerIndex.prototype.replace=function replace(layerConfigs){this._layerConfigs={};this._layers={};this.update(layerConfigs,[])};StyleLayerIndex.prototype.update=function update(layerConfigs,removedIds){var this$1=this;for(var i=0,list=layerConfigs;i<list.length;i+=1){var layerConfig=list[i];this._layerConfigs[layerConfig.id]=layerConfig;var layer=this._layers[layerConfig.id]=performance$1.createStyleLayer(layerConfig);layer._featureFilter=performance$1.featureFilter(layer.filter);if(this.keyCache[layerConfig.id]){delete this.keyCache[layerConfig.id]}}for(var i$1=0,list$1=removedIds;i$1<list$1.length;i$1+=1){var id=list$1[i$1];delete this.keyCache[id];delete this._layerConfigs[id];delete this._layers[id]}this.familiesBySource={};var groups=groupByLayout(performance$1.values(this._layerConfigs),this.keyCache);for(var i$2=0,list$2=groups;i$2<list$2.length;i$2+=1){var layerConfigs$1=list$2[i$2];var layers=layerConfigs$1.map((function(layerConfig){return this$1._layers[layerConfig.id]}));var layer$1=layers[0];if(layer$1.visibility==="none"){continue}var sourceId=layer$1.source||"";var sourceGroup=this.familiesBySource[sourceId];if(!sourceGroup){sourceGroup=this.familiesBySource[sourceId]={}}var sourceLayerId=layer$1.sourceLayer||"_geojsonTileLayer";var sourceLayerFamilies=sourceGroup[sourceLayerId];if(!sourceLayerFamilies){sourceLayerFamilies=sourceGroup[sourceLayerId]=[]}sourceLayerFamilies.push(layers)}};var padding=1;var GlyphAtlas=function GlyphAtlas(stacks){var positions={};var bins=[];for(var stack in stacks){var glyphs=stacks[stack];var stackPositions=positions[stack]={};for(var id in glyphs){var src=glyphs[+id];if(!src||src.bitmap.width===0||src.bitmap.height===0){continue}var bin={x:0,y:0,w:src.bitmap.width+2*padding,h:src.bitmap.height+2*padding};bins.push(bin);stackPositions[id]={rect:bin,metrics:src.metrics}}}var ref=performance$1.potpack(bins);var w=ref.w;var h=ref.h;var image=new performance$1.AlphaImage({width:w||1,height:h||1});for(var stack$1 in stacks){var glyphs$1=stacks[stack$1];for(var id$1 in glyphs$1){var src$1=glyphs$1[+id$1];if(!src$1||src$1.bitmap.width===0||src$1.bitmap.height===0){continue}var bin$1=positions[stack$1][id$1].rect;performance$1.AlphaImage.copy(src$1.bitmap,image,{x:0,y:0},{x:bin$1.x+padding,y:bin$1.y+padding},src$1.bitmap)}}this.image=image;this.positions=positions};performance$1.register("GlyphAtlas",GlyphAtlas);var WorkerTile=function WorkerTile(params){this.tileID=new performance$1.OverscaledTileID(params.tileID.overscaledZ,params.tileID.wrap,params.tileID.canonical.z,params.tileID.canonical.x,params.tileID.canonical.y);this.uid=params.uid;this.zoom=params.zoom;this.pixelRatio=params.pixelRatio;this.tileSize=params.tileSize;this.source=params.source;this.overscaling=this.tileID.overscaleFactor();this.showCollisionBoxes=params.showCollisionBoxes;this.collectResourceTiming=!!params.collectResourceTiming;this.returnDependencies=!!params.returnDependencies;this.promoteId=params.promoteId};WorkerTile.prototype.parse=function parse(data,layerIndex,availableImages,actor,callback){var this$1=this;this.status="parsing";this.data=data;this.collisionBoxArray=new performance$1.CollisionBoxArray;var sourceLayerCoder=new performance$1.DictionaryCoder(Object.keys(data.layers).sort());var featureIndex=new performance$1.FeatureIndex(this.tileID,this.promoteId);featureIndex.bucketLayerIDs=[];var buckets={};var options={featureIndex:featureIndex,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:availableImages};var layerFamilies=layerIndex.familiesBySource[this.source];for(var sourceLayerId in layerFamilies){var sourceLayer=data.layers[sourceLayerId];if(!sourceLayer){continue}if(sourceLayer.version===1){performance$1.warnOnce('Vector tile source "'+this.source+'" layer "'+sourceLayerId+'" '+"does not use vector tile spec v2 and therefore may have some rendering errors.")}var sourceLayerIndex=sourceLayerCoder.encode(sourceLayerId);var features=[];for(var index=0;index<sourceLayer.length;index++){var feature=sourceLayer.feature(index);var id=featureIndex.getId(feature,sourceLayerId);features.push({feature:feature,id:id,index:index,sourceLayerIndex:sourceLayerIndex})}for(var i=0,list=layerFamilies[sourceLayerId];i<list.length;i+=1){var family=list[i];var layer=family[0];if(layer.minzoom&&this.zoom<Math.floor(layer.minzoom)){continue}if(layer.maxzoom&&this.zoom>=layer.maxzoom){continue}if(layer.visibility==="none"){continue}recalculateLayers(family,this.zoom,availableImages);var bucket=buckets[layer.id]=layer.createBucket({index:featureIndex.bucketLayerIDs.length,layers:family,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:sourceLayerIndex,sourceID:this.source});bucket.populate(features,options,this.tileID.canonical);featureIndex.bucketLayerIDs.push(family.map((function(l){return l.id})))}}var error;var glyphMap;var iconMap;var patternMap;var stacks=performance$1.mapObject(options.glyphDependencies,(function(glyphs){return Object.keys(glyphs).map(Number)}));if(Object.keys(stacks).length){actor.send("getGlyphs",{uid:this.uid,stacks:stacks},(function(err,result){if(!error){error=err;glyphMap=result;maybePrepare.call(this$1)}}))}else{glyphMap={}}var icons=Object.keys(options.iconDependencies);if(icons.length){actor.send("getImages",{icons:icons,source:this.source,tileID:this.tileID,type:"icons"},(function(err,result){if(!error){error=err;iconMap=result;maybePrepare.call(this$1)}}))}else{iconMap={}}var patterns=Object.keys(options.patternDependencies);if(patterns.length){actor.send("getImages",{icons:patterns,source:this.source,tileID:this.tileID,type:"patterns"},(function(err,result){if(!error){error=err;patternMap=result;maybePrepare.call(this$1)}}))}else{patternMap={}}maybePrepare.call(this);function maybePrepare(){if(error){return callback(error)}else if(glyphMap&&iconMap&&patternMap){var glyphAtlas=new GlyphAtlas(glyphMap);var imageAtlas=new performance$1.ImageAtlas(iconMap,patternMap);for(var key in buckets){var bucket=buckets[key];if(bucket instanceof performance$1.SymbolBucket){recalculateLayers(bucket.layers,this.zoom,availableImages);performance$1.performSymbolLayout(bucket,glyphMap,glyphAtlas.positions,iconMap,imageAtlas.iconPositions,this.showCollisionBoxes,this.tileID.canonical)}else if(bucket.hasPattern&&(bucket instanceof performance$1.LineBucket||bucket instanceof performance$1.FillBucket||bucket instanceof performance$1.FillExtrusionBucket)){recalculateLayers(bucket.layers,this.zoom,availableImages);bucket.addFeatures(options,this.tileID.canonical,imageAtlas.patternPositions)}}this.status="done";callback(null,{buckets:performance$1.values(buckets).filter((function(b){return!b.isEmpty()})),featureIndex:featureIndex,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:glyphAtlas.image,imageAtlas:imageAtlas,glyphMap:this.returnDependencies?glyphMap:null,iconMap:this.returnDependencies?iconMap:null,glyphPositions:this.returnDependencies?glyphAtlas.positions:null})}}};function recalculateLayers(layers,zoom,availableImages){var parameters=new performance$1.EvaluationParameters(zoom);for(var i=0,list=layers;i<list.length;i+=1){var layer=list[i];layer.recalculate(parameters,availableImages)}}function loadVectorTile(params,callback){var request=performance$1.getArrayBuffer(params.request,(function(err,data,cacheControl,expires){if(err){callback(err)}else if(data){callback(null,{vectorTile:new performance$1.vectorTile.VectorTile(new performance$1.pbf(data)),rawData:data,cacheControl:cacheControl,expires:expires})}}));return function(){request.cancel();callback()}}var VectorTileWorkerSource=function VectorTileWorkerSource(actor,layerIndex,availableImages,loadVectorData){this.actor=actor;this.layerIndex=layerIndex;this.availableImages=availableImages;this.loadVectorData=loadVectorData||loadVectorTile;this.loading={};this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function loadTile(params,callback){var this$1=this;var uid=params.uid;if(!this.loading){this.loading={}}var perf=params&&params.request&&params.request.collectResourceTiming?new performance$1.RequestPerformance(params.request):false;var workerTile=this.loading[uid]=new WorkerTile(params);workerTile.abort=this.loadVectorData(params,(function(err,response){delete this$1.loading[uid];if(err||!response){workerTile.status="done";this$1.loaded[uid]=workerTile;return callback(err)}var rawTileData=response.rawData;var cacheControl={};if(response.expires){cacheControl.expires=response.expires}if(response.cacheControl){cacheControl.cacheControl=response.cacheControl}var resourceTiming={};if(perf){var resourceTimingData=perf.finish();if(resourceTimingData){resourceTiming.resourceTiming=JSON.parse(JSON.stringify(resourceTimingData))}}workerTile.vectorTile=response.vectorTile;workerTile.parse(response.vectorTile,this$1.layerIndex,this$1.availableImages,this$1.actor,(function(err,result){if(err||!result){return callback(err)}callback(null,performance$1.extend({rawTileData:rawTileData.slice(0)},result,cacheControl,resourceTiming))}));this$1.loaded=this$1.loaded||{};this$1.loaded[uid]=workerTile}))};VectorTileWorkerSource.prototype.reloadTile=function reloadTile(params,callback){var this$1=this;var loaded=this.loaded,uid=params.uid,vtSource=this;if(loaded&&loaded[uid]){var workerTile=loaded[uid];workerTile.showCollisionBoxes=params.showCollisionBoxes;var done=function(err,data){var reloadCallback=workerTile.reloadCallback;if(reloadCallback){delete workerTile.reloadCallback;workerTile.parse(workerTile.vectorTile,vtSource.layerIndex,this$1.availableImages,vtSource.actor,reloadCallback)}callback(err,data)};if(workerTile.status==="parsing"){workerTile.reloadCallback=done}else if(workerTile.status==="done"){if(workerTile.vectorTile){workerTile.parse(workerTile.vectorTile,this.layerIndex,this.availableImages,this.actor,done)}else{done()}}}};VectorTileWorkerSource.prototype.abortTile=function abortTile(params,callback){var loading=this.loading,uid=params.uid;if(loading&&loading[uid]&&loading[uid].abort){loading[uid].abort();delete loading[uid]}callback()};VectorTileWorkerSource.prototype.removeTile=function removeTile(params,callback){var loaded=this.loaded,uid=params.uid;if(loaded&&loaded[uid]){delete loaded[uid]}callback()};var ImageBitmap=performance$1.window.ImageBitmap;var RasterDEMTileWorkerSource=function RasterDEMTileWorkerSource(){this.loaded={}};RasterDEMTileWorkerSource.prototype.loadTile=function loadTile(params,callback){var uid=params.uid;var encoding=params.encoding;var rawImageData=params.rawImageData;var imagePixels=ImageBitmap&&rawImageData instanceof ImageBitmap?this.getImageData(rawImageData):rawImageData;var dem=new performance$1.DEMData(uid,imagePixels,encoding);this.loaded=this.loaded||{};this.loaded[uid]=dem;callback(null,dem)};RasterDEMTileWorkerSource.prototype.getImageData=function getImageData(imgBitmap){if(!this.offscreenCanvas||!this.offscreenCanvasContext){this.offscreenCanvas=new OffscreenCanvas(imgBitmap.width,imgBitmap.height);this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")}this.offscreenCanvas.width=imgBitmap.width;this.offscreenCanvas.height=imgBitmap.height;this.offscreenCanvasContext.drawImage(imgBitmap,0,0,imgBitmap.width,imgBitmap.height);var imgData=this.offscreenCanvasContext.getImageData(-1,-1,imgBitmap.width+2,imgBitmap.height+2);this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height);return new performance$1.RGBAImage({width:imgData.width,height:imgData.height},imgData.data)};RasterDEMTileWorkerSource.prototype.removeTile=function removeTile(params){var loaded=this.loaded,uid=params.uid;if(loaded&&loaded[uid]){delete loaded[uid]}};var geojsonRewind=rewind;function rewind(gj,outer){var type=gj&&gj.type,i;if(type==="FeatureCollection"){for(i=0;i<gj.features.length;i++){rewind(gj.features[i],outer)}}else if(type==="GeometryCollection"){for(i=0;i<gj.geometries.length;i++){rewind(gj.geometries[i],outer)}}else if(type==="Feature"){rewind(gj.geometry,outer)}else if(type==="Polygon"){rewindRings(gj.coordinates,outer)}else if(type==="MultiPolygon"){for(i=0;i<gj.coordinates.length;i++){rewindRings(gj.coordinates[i],outer)}}return gj}function rewindRings(rings,outer){if(rings.length===0){return}rewindRing(rings[0],outer);for(var i=1;i<rings.length;i++){rewindRing(rings[i],!outer)}}function rewindRing(ring,dir){var area=0;for(var i=0,len=ring.length,j=len-1;i<len;j=i++){area+=(ring[i][0]-ring[j][0])*(ring[j][1]+ring[i][1])}if(area>=0!==!!dir){ring.reverse()}}var toGeoJSON=performance$1.vectorTile.VectorTileFeature.prototype.toGeoJSON;var FeatureWrapper=function FeatureWrapper(feature){this._feature=feature;this.extent=performance$1.EXTENT;this.type=feature.type;this.properties=feature.tags;if("id"in feature&&!isNaN(feature.id)){this.id=parseInt(feature.id,10)}};FeatureWrapper.prototype.loadGeometry=function loadGeometry(){if(this._feature.type===1){var geometry=[];for(var i=0,list=this._feature.geometry;i<list.length;i+=1){var point=list[i];geometry.push([new performance$1.Point$1(point[0],point[1])])}return geometry}else{var geometry$1=[];for(var i$2=0,list$2=this._feature.geometry;i$2<list$2.length;i$2+=1){var ring=list$2[i$2];var newRing=[];for(var i$1=0,list$1=ring;i$1<list$1.length;i$1+=1){var point$1=list$1[i$1];newRing.push(new performance$1.Point$1(point$1[0],point$1[1]))}geometry$1.push(newRing)}return geometry$1}};FeatureWrapper.prototype.toGeoJSON=function toGeoJSON$1(x,y,z){return toGeoJSON.call(this,x,y,z)};var GeoJSONWrapper=function GeoJSONWrapper(features){this.layers={_geojsonTileLayer:this};this.name="_geojsonTileLayer";this.extent=performance$1.EXTENT;this.length=features.length;this._features=features};GeoJSONWrapper.prototype.feature=function feature(i){return new FeatureWrapper(this._features[i])};var VectorTileFeature=performance$1.vectorTile.VectorTileFeature;var geojson_wrapper=GeoJSONWrapper$1;function GeoJSONWrapper$1(features,options){this.options=options||{};this.features=features;this.length=features.length}GeoJSONWrapper$1.prototype.feature=function(i){return new FeatureWrapper$1(this.features[i],this.options.extent)};function FeatureWrapper$1(feature,extent){this.id=typeof feature.id==="number"?feature.id:undefined;this.type=feature.type;this.rawGeometry=feature.type===1?[feature.geometry]:feature.geometry;this.properties=feature.tags;this.extent=extent||4096}FeatureWrapper$1.prototype.loadGeometry=function(){var rings=this.rawGeometry;this.geometry=[];for(var i=0;i<rings.length;i++){var ring=rings[i];var newRing=[];for(var j=0;j<ring.length;j++){newRing.push(new performance$1.Point$1(ring[j][0],ring[j][1]))}this.geometry.push(newRing)}return this.geometry};FeatureWrapper$1.prototype.bbox=function(){if(!this.geometry){this.loadGeometry()}var rings=this.geometry;var x1=Infinity;var x2=-Infinity;var y1=Infinity;var y2=-Infinity;for(var i=0;i<rings.length;i++){var ring=rings[i];for(var j=0;j<ring.length;j++){var coord=ring[j];x1=Math.min(x1,coord.x);x2=Math.max(x2,coord.x);y1=Math.min(y1,coord.y);y2=Math.max(y2,coord.y)}}return[x1,y1,x2,y2]};FeatureWrapper$1.prototype.toGeoJSON=VectorTileFeature.prototype.toGeoJSON;var vtPbf=fromVectorTileJs;var fromVectorTileJs_1=fromVectorTileJs;var fromGeojsonVt_1=fromGeojsonVt;var GeoJSONWrapper_1=geojson_wrapper;function fromVectorTileJs(tile){var out=new performance$1.pbf;writeTile(tile,out);return out.finish()}function fromGeojsonVt(layers,options){options=options||{};var l={};for(var k in layers){l[k]=new geojson_wrapper(layers[k].features,options);l[k].name=k;l[k].version=options.version;l[k].extent=options.extent}return fromVectorTileJs({layers:l})}function writeTile(tile,pbf){for(var key in tile.layers){pbf.writeMessage(3,writeLayer,tile.layers[key])}}function writeLayer(layer,pbf){pbf.writeVarintField(15,layer.version||1);pbf.writeStringField(1,layer.name||"");pbf.writeVarintField(5,layer.extent||4096);var i;var context={keys:[],values:[],keycache:{},valuecache:{}};for(i=0;i<layer.length;i++){context.feature=layer.feature(i);pbf.writeMessage(2,writeFeature,context)}var keys=context.keys;for(i=0;i<keys.length;i++){pbf.writeStringField(3,keys[i])}var values=context.values;for(i=0;i<values.length;i++){pbf.writeMessage(4,writeValue,values[i])}}function writeFeature(context,pbf){var feature=context.feature;if(feature.id!==undefined){pbf.writeVarintField(1,feature.id)}pbf.writeMessage(2,writeProperties,context);pbf.writeVarintField(3,feature.type);pbf.writeMessage(4,writeGeometry,feature)}function writeProperties(context,pbf){var feature=context.feature;var keys=context.keys;var values=context.values;var keycache=context.keycache;var valuecache=context.valuecache;for(var key in feature.properties){var keyIndex=keycache[key];if(typeof keyIndex==="undefined"){keys.push(key);keyIndex=keys.length-1;keycache[key]=keyIndex}pbf.writeVarint(keyIndex);var value=feature.properties[key];var type=typeof value;if(type!=="string"&&type!=="boolean"&&type!=="number"){value=JSON.stringify(value)}var valueKey=type+":"+value;var valueIndex=valuecache[valueKey];if(typeof valueIndex==="undefined"){values.push(value);valueIndex=values.length-1;valuecache[valueKey]=valueIndex}pbf.writeVarint(valueIndex)}}function command(cmd,length){return(length<<3)+(cmd&7)}function zigzag(num){return num<<1^num>>31}function writeGeometry(feature,pbf){var geometry=feature.loadGeometry();var type=feature.type;var x=0;var y=0;var rings=geometry.length;for(var r=0;r<rings;r++){var ring=geometry[r];var count=1;if(type===1){count=ring.length}pbf.writeVarint(command(1,count));var lineCount=type===3?ring.length-1:ring.length;for(var i=0;i<lineCount;i++){if(i===1&&type!==1){pbf.writeVarint(command(2,lineCount-1))}var dx=ring[i].x-x;var dy=ring[i].y-y;pbf.writeVarint(zigzag(dx));pbf.writeVarint(zigzag(dy));x+=dx;y+=dy}if(type===3){pbf.writeVarint(command(7,1))}}}function writeValue(value,pbf){var type=typeof value;if(type==="string"){pbf.writeStringField(1,value)}else if(type==="boolean"){pbf.writeBooleanField(7,value)}else if(type==="number"){if(value%1!==0){pbf.writeDoubleField(3,value)}else if(value<0){pbf.writeSVarintField(6,value)}else{pbf.writeVarintField(5,value)}}}vtPbf.fromVectorTileJs=fromVectorTileJs_1;vtPbf.fromGeojsonVt=fromGeojsonVt_1;vtPbf.GeoJSONWrapper=GeoJSONWrapper_1;function sortKD(ids,coords,nodeSize,left,right,depth){if(right-left<=nodeSize){return}var m=left+right>>1;select(ids,coords,m,left,right,depth%2);sortKD(ids,coords,nodeSize,left,m-1,depth+1);sortKD(ids,coords,nodeSize,m+1,right,depth+1)}function select(ids,coords,k,left,right,inc){while(right>left){if(right-left>600){var n=right-left+1;var m=k-left+1;var z=Math.log(n);var s=.5*Math.exp(2*z/3);var sd=.5*Math.sqrt(z*s*(n-s)/n)*(m-n/2<0?-1:1);var newLeft=Math.max(left,Math.floor(k-m*s/n+sd));var newRight=Math.min(right,Math.floor(k+(n-m)*s/n+sd));select(ids,coords,k,newLeft,newRight,inc)}var t=coords[2*k+inc];var i=left;var j=right;swapItem(ids,coords,left,k);if(coords[2*right+inc]>t){swapItem(ids,coords,left,right)}while(i<j){swapItem(ids,coords,i,j);i++;j--;while(coords[2*i+inc]<t){i++}while(coords[2*j+inc]>t){j--}}if(coords[2*left+inc]===t){swapItem(ids,coords,left,j)}else{j++;swapItem(ids,coords,j,right)}if(j<=k){left=j+1}if(k<=j){right=j-1}}}function swapItem(ids,coords,i,j){swap(ids,i,j);swap(coords,2*i,2*j);swap(coords,2*i+1,2*j+1)}function swap(arr,i,j){var tmp=arr[i];arr[i]=arr[j];arr[j]=tmp}function range(ids,coords,minX,minY,maxX,maxY,nodeSize){var stack=[0,ids.length-1,0];var result=[];var x,y;while(stack.length){var axis=stack.pop();var right=stack.pop();var left=stack.pop();if(right-left<=nodeSize){for(var i=left;i<=right;i++){x=coords[2*i];y=coords[2*i+1];if(x>=minX&&x<=maxX&&y>=minY&&y<=maxY){result.push(ids[i])}}continue}var m=Math.floor((left+right)/2);x=coords[2*m];y=coords[2*m+1];if(x>=minX&&x<=maxX&&y>=minY&&y<=maxY){result.push(ids[m])}var nextAxis=(axis+1)%2;if(axis===0?minX<=x:minY<=y){stack.push(left);stack.push(m-1);stack.push(nextAxis)}if(axis===0?maxX>=x:maxY>=y){stack.push(m+1);stack.push(right);stack.push(nextAxis)}}return result}function within(ids,coords,qx,qy,r,nodeSize){var stack=[0,ids.length-1,0];var result=[];var r2=r*r;while(stack.length){var axis=stack.pop();var right=stack.pop();var left=stack.pop();if(right-left<=nodeSize){for(var i=left;i<=right;i++){if(sqDist(coords[2*i],coords[2*i+1],qx,qy)<=r2){result.push(ids[i])}}continue}var m=Math.floor((left+right)/2);var x=coords[2*m];var y=coords[2*m+1];if(sqDist(x,y,qx,qy)<=r2){result.push(ids[m])}var nextAxis=(axis+1)%2;if(axis===0?qx-r<=x:qy-r<=y){stack.push(left);stack.push(m-1);stack.push(nextAxis)}if(axis===0?qx+r>=x:qy+r>=y){stack.push(m+1);stack.push(right);stack.push(nextAxis)}}return result}function sqDist(ax,ay,bx,by){var dx=ax-bx;var dy=ay-by;return dx*dx+dy*dy}var defaultGetX=function(p){return p[0]};var defaultGetY=function(p){return p[1]};var KDBush=function KDBush(points,getX,getY,nodeSize,ArrayType){if(getX===void 0)getX=defaultGetX;if(getY===void 0)getY=defaultGetY;if(nodeSize===void 0)nodeSize=64;if(ArrayType===void 0)ArrayType=Float64Array;this.nodeSize=nodeSize;this.points=points;var IndexArrayType=points.length<65536?Uint16Array:Uint32Array;var ids=this.ids=new IndexArrayType(points.length);var coords=this.coords=new ArrayType(points.length*2);for(var i=0;i<points.length;i++){ids[i]=i;coords[2*i]=getX(points[i]);coords[2*i+1]=getY(points[i])}sortKD(ids,coords,nodeSize,0,ids.length-1,0)};KDBush.prototype.range=function range$1(minX,minY,maxX,maxY){return range(this.ids,this.coords,minX,minY,maxX,maxY,this.nodeSize)};KDBush.prototype.within=function within$1(x,y,r){return within(this.ids,this.coords,x,y,r,this.nodeSize)};var defaultOptions={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:false,generateId:false,reduce:null,map:function(props){return props}};var Supercluster=function Supercluster(options){this.options=extend(Object.create(defaultOptions),options);this.trees=new Array(this.options.maxZoom+1)};Supercluster.prototype.load=function load(points){var ref=this.options;var log=ref.log;var minZoom=ref.minZoom;var maxZoom=ref.maxZoom;var nodeSize=ref.nodeSize;if(log){console.time("total time")}var timerId="prepare "+points.length+" points";if(log){console.time(timerId)}this.points=points;var clusters=[];for(var i=0;i<points.length;i++){if(!points[i].geometry){continue}clusters.push(createPointCluster(points[i],i))}this.trees[maxZoom+1]=new KDBush(clusters,getX,getY,nodeSize,Float32Array);if(log){console.timeEnd(timerId)}for(var z=maxZoom;z>=minZoom;z--){var now=+Date.now();clusters=this._cluster(clusters,z);this.trees[z]=new KDBush(clusters,getX,getY,nodeSize,Float32Array);if(log){console.log("z%d: %d clusters in %dms",z,clusters.length,+Date.now()-now)}}if(log){console.timeEnd("total time")}return this};Supercluster.prototype.getClusters=function getClusters(bbox,zoom){var minLng=((bbox[0]+180)%360+360)%360-180;var minLat=Math.max(-90,Math.min(90,bbox[1]));var maxLng=bbox[2]===180?180:((bbox[2]+180)%360+360)%360-180;var maxLat=Math.max(-90,Math.min(90,bbox[3]));if(bbox[2]-bbox[0]>=360){minLng=-180;maxLng=180}else if(minLng>maxLng){var easternHem=this.getClusters([minLng,minLat,180,maxLat],zoom);var westernHem=this.getClusters([-180,minLat,maxLng,maxLat],zoom);return easternHem.concat(westernHem)}var tree=this.trees[this._limitZoom(zoom)];var ids=tree.range(lngX(minLng),latY(maxLat),lngX(maxLng),latY(minLat));var clusters=[];for(var i=0,list=ids;i<list.length;i+=1){var id=list[i];var c=tree.points[id];clusters.push(c.numPoints?getClusterJSON(c):this.points[c.index])}return clusters};Supercluster.prototype.getChildren=function getChildren(clusterId){var originId=this._getOriginId(clusterId);var originZoom=this._getOriginZoom(clusterId);var errorMsg="No cluster with the specified id.";var index=this.trees[originZoom];if(!index){throw new Error(errorMsg)}var origin=index.points[originId];if(!origin){throw new Error(errorMsg)}var r=this.options.radius/(this.options.extent*Math.pow(2,originZoom-1));var ids=index.within(origin.x,origin.y,r);var children=[];for(var i=0,list=ids;i<list.length;i+=1){var id=list[i];var c=index.points[id];if(c.parentId===clusterId){children.push(c.numPoints?getClusterJSON(c):this.points[c.index])}}if(children.length===0){throw new Error(errorMsg)}return children};Supercluster.prototype.getLeaves=function getLeaves(clusterId,limit,offset){limit=limit||10;offset=offset||0;var leaves=[];this._appendLeaves(leaves,clusterId,limit,offset,0);return leaves};Supercluster.prototype.getTile=function getTile(z,x,y){var tree=this.trees[this._limitZoom(z)];var z2=Math.pow(2,z);var ref=this.options;var extent=ref.extent;var radius=ref.radius;var p=radius/extent;var top=(y-p)/z2;var bottom=(y+1+p)/z2;var tile={features:[]};this._addTileFeatures(tree.range((x-p)/z2,top,(x+1+p)/z2,bottom),tree.points,x,y,z2,tile);if(x===0){this._addTileFeatures(tree.range(1-p/z2,top,1,bottom),tree.points,z2,y,z2,tile)}if(x===z2-1){this._addTileFeatures(tree.range(0,top,p/z2,bottom),tree.points,-1,y,z2,tile)}return tile.features.length?tile:null};Supercluster.prototype.getClusterExpansionZoom=function getClusterExpansionZoom(clusterId){var expansionZoom=this._getOriginZoom(clusterId)-1;while(expansionZoom<=this.options.maxZoom){var children=this.getChildren(clusterId);expansionZoom++;if(children.length!==1){break}clusterId=children[0].properties.cluster_id}return expansionZoom};Supercluster.prototype._appendLeaves=function _appendLeaves(result,clusterId,limit,offset,skipped){var children=this.getChildren(clusterId);for(var i=0,list=children;i<list.length;i+=1){var child=list[i];var props=child.properties;if(props&&props.cluster){if(skipped+props.point_count<=offset){skipped+=props.point_count}else{skipped=this._appendLeaves(result,props.cluster_id,limit,offset,skipped)}}else if(skipped<offset){skipped++}else{result.push(child)}if(result.length===limit){break}}return skipped};Supercluster.prototype._addTileFeatures=function _addTileFeatures(ids,points,x,y,z2,tile){for(var i$1=0,list=ids;i$1<list.length;i$1+=1){var i=list[i$1];var c=points[i];var isCluster=c.numPoints;var f={type:1,geometry:[[Math.round(this.options.extent*(c.x*z2-x)),Math.round(this.options.extent*(c.y*z2-y))]],tags:isCluster?getClusterProperties(c):this.points[c.index].properties};var id=void 0;if(isCluster){id=c.id}else if(this.options.generateId){id=c.index}else if(this.points[c.index].id){id=this.points[c.index].id}if(id!==undefined){f.id=id}tile.features.push(f)}};Supercluster.prototype._limitZoom=function _limitZoom(z){return Math.max(this.options.minZoom,Math.min(z,this.options.maxZoom+1))};Supercluster.prototype._cluster=function _cluster(points,zoom){var clusters=[];var ref=this.options;var radius=ref.radius;var extent=ref.extent;var reduce=ref.reduce;var r=radius/(extent*Math.pow(2,zoom));for(var i=0;i<points.length;i++){var p=points[i];if(p.zoom<=zoom){continue}p.zoom=zoom;var tree=this.trees[zoom+1];var neighborIds=tree.within(p.x,p.y,r);var numPoints=p.numPoints||1;var wx=p.x*numPoints;var wy=p.y*numPoints;var clusterProperties=reduce&&numPoints>1?this._map(p,true):null;var id=(i<<5)+(zoom+1)+this.points.length;for(var i$1=0,list=neighborIds;i$1<list.length;i$1+=1){var neighborId=list[i$1];var b=tree.points[neighborId];if(b.zoom<=zoom){continue}b.zoom=zoom;var numPoints2=b.numPoints||1;wx+=b.x*numPoints2;wy+=b.y*numPoints2;numPoints+=numPoints2;b.parentId=id;if(reduce){if(!clusterProperties){clusterProperties=this._map(p,true)}reduce(clusterProperties,this._map(b))}}if(numPoints===1){clusters.push(p)}else{p.parentId=id;clusters.push(createCluster(wx/numPoints,wy/numPoints,id,numPoints,clusterProperties))}}return clusters};Supercluster.prototype._getOriginId=function _getOriginId(clusterId){return clusterId-this.points.length>>5};Supercluster.prototype._getOriginZoom=function _getOriginZoom(clusterId){return(clusterId-this.points.length)%32};Supercluster.prototype._map=function _map(point,clone){if(point.numPoints){return clone?extend({},point.properties):point.properties}var original=this.points[point.index].properties;var result=this.options.map(original);return clone&&result===original?extend({},result):result};function createCluster(x,y,id,numPoints,properties){return{x:x,y:y,zoom:Infinity,id:id,parentId:-1,numPoints:numPoints,properties:properties}}function createPointCluster(p,id){var ref=p.geometry.coordinates;var x=ref[0];var y=ref[1];return{x:lngX(x),y:latY(y),zoom:Infinity,index:id,parentId:-1}}function getClusterJSON(cluster){return{type:"Feature",id:cluster.id,properties:getClusterProperties(cluster),geometry:{type:"Point",coordinates:[xLng(cluster.x),yLat(cluster.y)]}}}function getClusterProperties(cluster){var count=cluster.numPoints;var abbrev=count>=1e4?Math.round(count/1e3)+"k":count>=1e3?Math.round(count/100)/10+"k":count;return extend(extend({},cluster.properties),{cluster:true,cluster_id:cluster.id,point_count:count,point_count_abbreviated:abbrev})}function lngX(lng){return lng/360+.5}function latY(lat){var sin=Math.sin(lat*Math.PI/180);var y=.5-.25*Math.log((1+sin)/(1-sin))/Math.PI;return y<0?0:y>1?1:y}function xLng(x){return(x-.5)*360}function yLat(y){var y2=(180-y*360)*Math.PI/180;return 360*Math.atan(Math.exp(y2))/Math.PI-90}function extend(dest,src){for(var id in src){dest[id]=src[id]}return dest}function getX(p){return p.x}function getY(p){return p.y}function simplify(coords,first,last,sqTolerance){var maxSqDist=sqTolerance;var mid=last-first>>1;var minPosToMid=last-first;var index;var ax=coords[first];var ay=coords[first+1];var bx=coords[last];var by=coords[last+1];for(var i=first+3;i<last;i+=3){var d=getSqSegDist(coords[i],coords[i+1],ax,ay,bx,by);if(d>maxSqDist){index=i;maxSqDist=d}else if(d===maxSqDist){var posToMid=Math.abs(i-mid);if(posToMid<minPosToMid){index=i;minPosToMid=posToMid}}}if(maxSqDist>sqTolerance){if(index-first>3){simplify(coords,first,index,sqTolerance)}coords[index+2]=maxSqDist;if(last-index>3){simplify(coords,index,last,sqTolerance)}}}function getSqSegDist(px,py,x,y,bx,by){var dx=bx-x;var dy=by-y;if(dx!==0||dy!==0){var t=((px-x)*dx+(py-y)*dy)/(dx*dx+dy*dy);if(t>1){x=bx;y=by}else if(t>0){x+=dx*t;y+=dy*t}}dx=px-x;dy=py-y;return dx*dx+dy*dy}function createFeature(id,type,geom,tags){var feature={id:typeof id==="undefined"?null:id,type:type,geometry:geom,tags:tags,minX:Infinity,minY:Infinity,maxX:-Infinity,maxY:-Infinity};calcBBox(feature);return feature}function calcBBox(feature){var geom=feature.geometry;var type=feature.type;if(type==="Point"||type==="MultiPoint"||type==="LineString"){calcLineBBox(feature,geom)}else if(type==="Polygon"||type==="MultiLineString"){for(var i=0;i<geom.length;i++){calcLineBBox(feature,geom[i])}}else if(type==="MultiPolygon"){for(i=0;i<geom.length;i++){for(var j=0;j<geom[i].length;j++){calcLineBBox(feature,geom[i][j])}}}}function calcLineBBox(feature,geom){for(var i=0;i<geom.length;i+=3){feature.minX=Math.min(feature.minX,geom[i]);feature.minY=Math.min(feature.minY,geom[i+1]);feature.maxX=Math.max(feature.maxX,geom[i]);feature.maxY=Math.max(feature.maxY,geom[i+1])}}function convert(data,options){var features=[];if(data.type==="FeatureCollection"){for(var i=0;i<data.features.length;i++){convertFeature(features,data.features[i],options,i)}}else if(data.type==="Feature"){convertFeature(features,data,options)}else{convertFeature(features,{geometry:data},options)}return features}function convertFeature(features,geojson,options,index){if(!geojson.geometry){return}var coords=geojson.geometry.coordinates;var type=geojson.geometry.type;var tolerance=Math.pow(options.tolerance/((1<<options.maxZoom)*options.extent),2);var geometry=[];var id=geojson.id;if(options.promoteId){id=geojson.properties[options.promoteId]}else if(options.generateId){id=index||0}if(type==="Point"){convertPoint(coords,geometry)}else if(type==="MultiPoint"){for(var i=0;i<coords.length;i++){convertPoint(coords[i],geometry)}}else if(type==="LineString"){convertLine(coords,geometry,tolerance,false)}else if(type==="MultiLineString"){if(options.lineMetrics){for(i=0;i<coords.length;i++){geometry=[];convertLine(coords[i],geometry,tolerance,false);features.push(createFeature(id,"LineString",geometry,geojson.properties))}return}else{convertLines(coords,geometry,tolerance,false)}}else if(type==="Polygon"){convertLines(coords,geometry,tolerance,true)}else if(type==="MultiPolygon"){for(i=0;i<coords.length;i++){var polygon=[];convertLines(coords[i],polygon,tolerance,true);geometry.push(polygon)}}else if(type==="GeometryCollection"){for(i=0;i<geojson.geometry.geometries.length;i++){convertFeature(features,{id:id,geometry:geojson.geometry.geometries[i],properties:geojson.properties},options,index)}return}else{throw new Error("Input data is not a valid GeoJSON object.")}features.push(createFeature(id,type,geometry,geojson.properties))}function convertPoint(coords,out){out.push(projectX(coords[0]));out.push(projectY(coords[1]));out.push(0)}function convertLine(ring,out,tolerance,isPolygon){var x0,y0;var size=0;for(var j=0;j<ring.length;j++){var x=projectX(ring[j][0]);var y=projectY(ring[j][1]);out.push(x);out.push(y);out.push(0);if(j>0){if(isPolygon){size+=(x0*y-x*y0)/2}else{size+=Math.sqrt(Math.pow(x-x0,2)+Math.pow(y-y0,2))}}x0=x;y0=y}var last=out.length-3;out[2]=1;simplify(out,0,last,tolerance);out[last+2]=1;out.size=Math.abs(size);out.start=0;out.end=out.size}function convertLines(rings,out,tolerance,isPolygon){for(var i=0;i<rings.length;i++){var geom=[];convertLine(rings[i],geom,tolerance,isPolygon);out.push(geom)}}function projectX(x){return x/360+.5}function projectY(y){var sin=Math.sin(y*Math.PI/180);var y2=.5-.25*Math.log((1+sin)/(1-sin))/Math.PI;return y2<0?0:y2>1?1:y2}function clip(features,scale,k1,k2,axis,minAll,maxAll,options){k1/=scale;k2/=scale;if(minAll>=k1&&maxAll<k2){return features}else if(maxAll<k1||minAll>=k2){return null}var clipped=[];for(var i=0;i<features.length;i++){var feature=features[i];var geometry=feature.geometry;var type=feature.type;var min=axis===0?feature.minX:feature.minY;var max=axis===0?feature.maxX:feature.maxY;if(min>=k1&&max<k2){clipped.push(feature);continue}else if(max<k1||min>=k2){continue}var newGeometry=[];if(type==="Point"||type==="MultiPoint"){clipPoints(geometry,newGeometry,k1,k2,axis)}else if(type==="LineString"){clipLine(geometry,newGeometry,k1,k2,axis,false,options.lineMetrics)}else if(type==="MultiLineString"){clipLines(geometry,newGeometry,k1,k2,axis,false)}else if(type==="Polygon"){clipLines(geometry,newGeometry,k1,k2,axis,true)}else if(type==="MultiPolygon"){for(var j=0;j<geometry.length;j++){var polygon=[];clipLines(geometry[j],polygon,k1,k2,axis,true);if(polygon.length){newGeometry.push(polygon)}}}if(newGeometry.length){if(options.lineMetrics&&type==="LineString"){for(j=0;j<newGeometry.length;j++){clipped.push(createFeature(feature.id,type,newGeometry[j],feature.tags))}continue}if(type==="LineString"||type==="MultiLineString"){if(newGeometry.length===1){type="LineString";newGeometry=newGeometry[0]}else{type="MultiLineString"}}if(type==="Point"||type==="MultiPoint"){type=newGeometry.length===3?"Point":"MultiPoint"}clipped.push(createFeature(feature.id,type,newGeometry,feature.tags))}}return clipped.length?clipped:null}function clipPoints(geom,newGeom,k1,k2,axis){for(var i=0;i<geom.length;i+=3){var a=geom[i+axis];if(a>=k1&&a<=k2){newGeom.push(geom[i]);newGeom.push(geom[i+1]);newGeom.push(geom[i+2])}}}function clipLine(geom,newGeom,k1,k2,axis,isPolygon,trackMetrics){var slice=newSlice(geom);var intersect=axis===0?intersectX:intersectY;var len=geom.start;var segLen,t;for(var i=0;i<geom.length-3;i+=3){var ax=geom[i];var ay=geom[i+1];var az=geom[i+2];var bx=geom[i+3];var by=geom[i+4];var a=axis===0?ax:ay;var b=axis===0?bx:by;var exited=false;if(trackMetrics){segLen=Math.sqrt(Math.pow(ax-bx,2)+Math.pow(ay-by,2))}if(a<k1){if(b>k1){t=intersect(slice,ax,ay,bx,by,k1);if(trackMetrics){slice.start=len+segLen*t}}}else if(a>k2){if(b<k2){t=intersect(slice,ax,ay,bx,by,k2);if(trackMetrics){slice.start=len+segLen*t}}}else{addPoint(slice,ax,ay,az)}if(b<k1&&a>=k1){t=intersect(slice,ax,ay,bx,by,k1);exited=true}if(b>k2&&a<=k2){t=intersect(slice,ax,ay,bx,by,k2);exited=true}if(!isPolygon&&exited){if(trackMetrics){slice.end=len+segLen*t}newGeom.push(slice);slice=newSlice(geom)}if(trackMetrics){len+=segLen}}var last=geom.length-3;ax=geom[last];ay=geom[last+1];az=geom[last+2];a=axis===0?ax:ay;if(a>=k1&&a<=k2){addPoint(slice,ax,ay,az)}last=slice.length-3;if(isPolygon&&last>=3&&(slice[last]!==slice[0]||slice[last+1]!==slice[1])){addPoint(slice,slice[0],slice[1],slice[2])}if(slice.length){newGeom.push(slice)}}function newSlice(line){var slice=[];slice.size=line.size;slice.start=line.start;slice.end=line.end;return slice}function clipLines(geom,newGeom,k1,k2,axis,isPolygon){for(var i=0;i<geom.length;i++){clipLine(geom[i],newGeom,k1,k2,axis,isPolygon,false)}}function addPoint(out,x,y,z){out.push(x);out.push(y);out.push(z)}function intersectX(out,ax,ay,bx,by,x){var t=(x-ax)/(bx-ax);out.push(x);out.push(ay+(by-ay)*t);out.push(1);return t}function intersectY(out,ax,ay,bx,by,y){var t=(y-ay)/(by-ay);out.push(ax+(bx-ax)*t);out.push(y);out.push(1);return t}function wrap(features,options){var buffer=options.buffer/options.extent;var merged=features;var left=clip(features,1,-1-buffer,buffer,0,-1,2,options);var right=clip(features,1,1-buffer,2+buffer,0,-1,2,options);if(left||right){merged=clip(features,1,-buffer,1+buffer,0,-1,2,options)||[];if(left){merged=shiftFeatureCoords(left,1).concat(merged)}if(right){merged=merged.concat(shiftFeatureCoords(right,-1))}}return merged}function shiftFeatureCoords(features,offset){var newFeatures=[];for(var i=0;i<features.length;i++){var feature=features[i],type=feature.type;var newGeometry;if(type==="Point"||type==="MultiPoint"||type==="LineString"){newGeometry=shiftCoords(feature.geometry,offset)}else if(type==="MultiLineString"||type==="Polygon"){newGeometry=[];for(var j=0;j<feature.geometry.length;j++){newGeometry.push(shiftCoords(feature.geometry[j],offset))}}else if(type==="MultiPolygon"){newGeometry=[];for(j=0;j<feature.geometry.length;j++){var newPolygon=[];for(var k=0;k<feature.geometry[j].length;k++){newPolygon.push(shiftCoords(feature.geometry[j][k],offset))}newGeometry.push(newPolygon)}}newFeatures.push(createFeature(feature.id,type,newGeometry,feature.tags))}return newFeatures}function shiftCoords(points,offset){var newPoints=[];newPoints.size=points.size;if(points.start!==undefined){newPoints.start=points.start;newPoints.end=points.end}for(var i=0;i<points.length;i+=3){newPoints.push(points[i]+offset,points[i+1],points[i+2])}return newPoints}function transformTile(tile,extent){if(tile.transformed){return tile}var z2=1<<tile.z,tx=tile.x,ty=tile.y,i,j,k;for(i=0;i<tile.features.length;i++){var feature=tile.features[i],geom=feature.geometry,type=feature.type;feature.geometry=[];if(type===1){for(j=0;j<geom.length;j+=2){feature.geometry.push(transformPoint(geom[j],geom[j+1],extent,z2,tx,ty))}}else{for(j=0;j<geom.length;j++){var ring=[];for(k=0;k<geom[j].length;k+=2){ring.push(transformPoint(geom[j][k],geom[j][k+1],extent,z2,tx,ty))}feature.geometry.push(ring)}}}tile.transformed=true;return tile}function transformPoint(x,y,extent,z2,tx,ty){return[Math.round(extent*(x*z2-tx)),Math.round(extent*(y*z2-ty))]}function createTile(features,z,tx,ty,options){var tolerance=z===options.maxZoom?0:options.tolerance/((1<<z)*options.extent);var tile={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:tx,y:ty,z:z,transformed:false,minX:2,minY:1,maxX:-1,maxY:0};for(var i=0;i<features.length;i++){tile.numFeatures++;addFeature(tile,features[i],tolerance,options);var minX=features[i].minX;var minY=features[i].minY;var maxX=features[i].maxX;var maxY=features[i].maxY;if(minX<tile.minX){tile.minX=minX}if(minY<tile.minY){tile.minY=minY}if(maxX>tile.maxX){tile.maxX=maxX}if(maxY>tile.maxY){tile.maxY=maxY}}return tile}function addFeature(tile,feature,tolerance,options){var geom=feature.geometry,type=feature.type,simplified=[];if(type==="Point"||type==="MultiPoint"){for(var i=0;i<geom.length;i+=3){simplified.push(geom[i]);simplified.push(geom[i+1]);tile.numPoints++;tile.numSimplified++}}else if(type==="LineString"){addLine(simplified,geom,tile,tolerance,false,false)}else if(type==="MultiLineString"||type==="Polygon"){for(i=0;i<geom.length;i++){addLine(simplified,geom[i],tile,tolerance,type==="Polygon",i===0)}}else if(type==="MultiPolygon"){for(var k=0;k<geom.length;k++){var polygon=geom[k];for(i=0;i<polygon.length;i++){addLine(simplified,polygon[i],tile,tolerance,true,i===0)}}}if(simplified.length){var tags=feature.tags||null;if(type==="LineString"&&options.lineMetrics){tags={};for(var key in feature.tags){tags[key]=feature.tags[key]}tags["mapbox_clip_start"]=geom.start/geom.size;tags["mapbox_clip_end"]=geom.end/geom.size}var tileFeature={geometry:simplified,type:type==="Polygon"||type==="MultiPolygon"?3:type==="LineString"||type==="MultiLineString"?2:1,tags:tags};if(feature.id!==null){tileFeature.id=feature.id}tile.features.push(tileFeature)}}function addLine(result,geom,tile,tolerance,isPolygon,isOuter){var sqTolerance=tolerance*tolerance;if(tolerance>0&&geom.size<(isPolygon?sqTolerance:tolerance)){tile.numPoints+=geom.length/3;return}var ring=[];for(var i=0;i<geom.length;i+=3){if(tolerance===0||geom[i+2]>sqTolerance){tile.numSimplified++;ring.push(geom[i]);ring.push(geom[i+1])}tile.numPoints++}if(isPolygon){rewind$1(ring,isOuter)}result.push(ring)}function rewind$1(ring,clockwise){var area=0;for(var i=0,len=ring.length,j=len-2;i<len;j=i,i+=2){area+=(ring[i]-ring[j])*(ring[i+1]+ring[j+1])}if(area>0===clockwise){for(i=0,len=ring.length;i<len/2;i+=2){var x=ring[i];var y=ring[i+1];ring[i]=ring[len-2-i];ring[i+1]=ring[len-1-i];ring[len-2-i]=x;ring[len-1-i]=y}}}function geojsonvt(data,options){return new GeoJSONVT(data,options)}function GeoJSONVT(data,options){options=this.options=extend$1(Object.create(this.options),options);var debug=options.debug;if(debug){console.time("preprocess data")}if(options.maxZoom<0||options.maxZoom>24){throw new Error("maxZoom should be in the 0-24 range")}if(options.promoteId&&options.generateId){throw new Error("promoteId and generateId cannot be used together.")}var features=convert(data,options);this.tiles={};this.tileCoords=[];if(debug){console.timeEnd("preprocess data");console.log("index: maxZoom: %d, maxPoints: %d",options.indexMaxZoom,options.indexMaxPoints);console.time("generate tiles");this.stats={};this.total=0}features=wrap(features,options);if(features.length){this.splitTile(features,0,0,0)}if(debug){if(features.length){console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints)}console.timeEnd("generate tiles");console.log("tiles generated:",this.total,JSON.stringify(this.stats))}}GeoJSONVT.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:false,promoteId:null,generateId:false,debug:0};GeoJSONVT.prototype.splitTile=function(features,z,x,y,cz,cx,cy){var stack=[features,z,x,y],options=this.options,debug=options.debug;while(stack.length){y=stack.pop();x=stack.pop();z=stack.pop();features=stack.pop();var z2=1<<z,id=toID(z,x,y),tile=this.tiles[id];if(!tile){if(debug>1){console.time("creation")}tile=this.tiles[id]=createTile(features,z,x,y,options);this.tileCoords.push({z:z,x:x,y:y});if(debug){if(debug>1){console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",z,x,y,tile.numFeatures,tile.numPoints,tile.numSimplified);console.timeEnd("creation")}var key="z"+z;this.stats[key]=(this.stats[key]||0)+1;this.total++}}tile.source=features;if(!cz){if(z===options.indexMaxZoom||tile.numPoints<=options.indexMaxPoints){continue}}else{if(z===options.maxZoom||z===cz){continue}var m=1<<cz-z;if(x!==Math.floor(cx/m)||y!==Math.floor(cy/m)){continue}}tile.source=null;if(features.length===0){continue}if(debug>1){console.time("clipping")}var k1=.5*options.buffer/options.extent,k2=.5-k1,k3=.5+k1,k4=1+k1,tl,bl,tr,br,left,right;tl=bl=tr=br=null;left=clip(features,z2,x-k1,x+k3,0,tile.minX,tile.maxX,options);right=clip(features,z2,x+k2,x+k4,0,tile.minX,tile.maxX,options);features=null;if(left){tl=clip(left,z2,y-k1,y+k3,1,tile.minY,tile.maxY,options);bl=clip(left,z2,y+k2,y+k4,1,tile.minY,tile.maxY,options);left=null}if(right){tr=clip(right,z2,y-k1,y+k3,1,tile.minY,tile.maxY,options);br=clip(right,z2,y+k2,y+k4,1,tile.minY,tile.maxY,options);right=null}if(debug>1){console.timeEnd("clipping")}stack.push(tl||[],z+1,x*2,y*2);stack.push(bl||[],z+1,x*2,y*2+1);stack.push(tr||[],z+1,x*2+1,y*2);stack.push(br||[],z+1,x*2+1,y*2+1)}};GeoJSONVT.prototype.getTile=function(z,x,y){var options=this.options,extent=options.extent,debug=options.debug;if(z<0||z>24){return null}var z2=1<<z;x=(x%z2+z2)%z2;var id=toID(z,x,y);if(this.tiles[id]){return transformTile(this.tiles[id],extent)}if(debug>1){console.log("drilling down to z%d-%d-%d",z,x,y)}var z0=z,x0=x,y0=y,parent;while(!parent&&z0>0){z0--;x0=Math.floor(x0/2);y0=Math.floor(y0/2);parent=this.tiles[toID(z0,x0,y0)]}if(!parent||!parent.source){return null}if(debug>1){console.log("found parent tile z%d-%d-%d",z0,x0,y0)}if(debug>1){console.time("drilling down")}this.splitTile(parent.source,z0,x0,y0,z,x,y);if(debug>1){console.timeEnd("drilling down")}return this.tiles[id]?transformTile(this.tiles[id],extent):null};function toID(z,x,y){return((1<<z)*y+x)*32+z}function extend$1(dest,src){for(var i in src){dest[i]=src[i]}return dest}function loadGeoJSONTile(params,callback){var canonical=params.tileID.canonical;if(!this._geoJSONIndex){return callback(null,null)}var geoJSONTile=this._geoJSONIndex.getTile(canonical.z,canonical.x,canonical.y);if(!geoJSONTile){return callback(null,null)}var geojsonWrapper=new GeoJSONWrapper(geoJSONTile.features);var pbf=vtPbf(geojsonWrapper);if(pbf.byteOffset!==0||pbf.byteLength!==pbf.buffer.byteLength){pbf=new Uint8Array(pbf)}callback(null,{vectorTile:geojsonWrapper,rawData:pbf.buffer})}var GeoJSONWorkerSource=function(VectorTileWorkerSource){function GeoJSONWorkerSource(actor,layerIndex,availableImages,loadGeoJSON){VectorTileWorkerSource.call(this,actor,layerIndex,availableImages,loadGeoJSONTile);if(loadGeoJSON){this.loadGeoJSON=loadGeoJSON}}if(VectorTileWorkerSource)GeoJSONWorkerSource.__proto__=VectorTileWorkerSource;GeoJSONWorkerSource.prototype=Object.create(VectorTileWorkerSource&&VectorTileWorkerSource.prototype);GeoJSONWorkerSource.prototype.constructor=GeoJSONWorkerSource;GeoJSONWorkerSource.prototype.loadData=function loadData(params,callback){if(this._pendingCallback){this._pendingCallback(null,{abandoned:true})}this._pendingCallback=callback;this._pendingLoadDataParams=params;if(this._state&&this._state!=="Idle"){this._state="NeedsLoadData"}else{this._state="Coalescing";this._loadData()}};GeoJSONWorkerSource.prototype._loadData=function _loadData(){var this$1=this;if(!this._pendingCallback||!this._pendingLoadDataParams){return}var callback=this._pendingCallback;var params=this._pendingLoadDataParams;delete this._pendingCallback;delete this._pendingLoadDataParams;var perf=params&&params.request&&params.request.collectResourceTiming?new performance$1.RequestPerformance(params.request):false;this.loadGeoJSON(params,(function(err,data){if(err||!data){return callback(err)}else if(typeof data!=="object"){return callback(new Error("Input data given to '"+params.source+"' is not a valid GeoJSON object."))}else{geojsonRewind(data,true);try{this$1._geoJSONIndex=params.cluster?new Supercluster(getSuperclusterOptions(params)).load(data.features):geojsonvt(data,params.geojsonVtOptions)}catch(err){return callback(err)}this$1.loaded={};var result={};if(perf){var resourceTimingData=perf.finish();if(resourceTimingData){result.resourceTiming={};result.resourceTiming[params.source]=JSON.parse(JSON.stringify(resourceTimingData))}}callback(null,result)}}))};GeoJSONWorkerSource.prototype.coalesce=function coalesce(){if(this._state==="Coalescing"){this._state="Idle"}else if(this._state==="NeedsLoadData"){this._state="Coalescing";this._loadData()}};GeoJSONWorkerSource.prototype.reloadTile=function reloadTile(params,callback){var loaded=this.loaded,uid=params.uid;if(loaded&&loaded[uid]){return VectorTileWorkerSource.prototype.reloadTile.call(this,params,callback)}else{return this.loadTile(params,callback)}};GeoJSONWorkerSource.prototype.loadGeoJSON=function loadGeoJSON(params,callback){if(params.request){performance$1.getJSON(params.request,callback)}else if(typeof params.data==="string"){try{return callback(null,JSON.parse(params.data))}catch(e){return callback(new Error("Input data given to '"+params.source+"' is not a valid GeoJSON object."))}}else{return callback(new Error("Input data given to '"+params.source+"' is not a valid GeoJSON object."))}};GeoJSONWorkerSource.prototype.removeSource=function removeSource(params,callback){if(this._pendingCallback){this._pendingCallback(null,{abandoned:true})}callback()};GeoJSONWorkerSource.prototype.getClusterExpansionZoom=function getClusterExpansionZoom(params,callback){try{callback(null,this._geoJSONIndex.getClusterExpansionZoom(params.clusterId))}catch(e){callback(e)}};GeoJSONWorkerSource.prototype.getClusterChildren=function getClusterChildren(params,callback){try{callback(null,this._geoJSONIndex.getChildren(params.clusterId))}catch(e){callback(e)}};GeoJSONWorkerSource.prototype.getClusterLeaves=function getClusterLeaves(params,callback){try{callback(null,this._geoJSONIndex.getLeaves(params.clusterId,params.limit,params.offset))}catch(e){callback(e)}};return GeoJSONWorkerSource}(VectorTileWorkerSource);function getSuperclusterOptions(ref){var superclusterOptions=ref.superclusterOptions;var clusterProperties=ref.clusterProperties;if(!clusterProperties||!superclusterOptions){return superclusterOptions}var mapExpressions={};var reduceExpressions={};var globals={accumulated:null,zoom:0};var feature={properties:null};var propertyNames=Object.keys(clusterProperties);for(var i=0,list=propertyNames;i<list.length;i+=1){var key=list[i];var ref$1=clusterProperties[key];var operator=ref$1[0];var mapExpression=ref$1[1];var mapExpressionParsed=performance$1.createExpression(mapExpression);var reduceExpressionParsed=performance$1.createExpression(typeof operator==="string"?[operator,["accumulated"],["get",key]]:operator);mapExpressions[key]=mapExpressionParsed.value;reduceExpressions[key]=reduceExpressionParsed.value}superclusterOptions.map=function(pointProperties){feature.properties=pointProperties;var properties={};for(var i=0,list=propertyNames;i<list.length;i+=1){var key=list[i];properties[key]=mapExpressions[key].evaluate(globals,feature)}return properties};superclusterOptions.reduce=function(accumulated,clusterProperties){feature.properties=clusterProperties;for(var i=0,list=propertyNames;i<list.length;i+=1){var key=list[i];globals.accumulated=accumulated[key];accumulated[key]=reduceExpressions[key].evaluate(globals,feature)}};return superclusterOptions}var Worker=function Worker(self){var this$1=this;this.self=self;this.actor=new performance$1.Actor(self,this);this.layerIndexes={};this.availableImages={};this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource};this.workerSources={};this.demWorkerSources={};this.self.registerWorkerSource=function(name,WorkerSource){if(this$1.workerSourceTypes[name]){throw new Error('Worker source with name "'+name+'" already registered.')}this$1.workerSourceTypes[name]=WorkerSource};this.self.registerRTLTextPlugin=function(rtlTextPlugin){if(performance$1.plugin.isParsed()){throw new Error("RTL text plugin already registered.")}performance$1.plugin["applyArabicShaping"]=rtlTextPlugin.applyArabicShaping;performance$1.plugin["processBidirectionalText"]=rtlTextPlugin.processBidirectionalText;performance$1.plugin["processStyledBidirectionalText"]=rtlTextPlugin.processStyledBidirectionalText}};Worker.prototype.setReferrer=function setReferrer(mapID,referrer){this.referrer=referrer};Worker.prototype.setImages=function setImages(mapId,images,callback){this.availableImages[mapId]=images;for(var workerSource in this.workerSources[mapId]){var ws=this.workerSources[mapId][workerSource];for(var source in ws){ws[source].availableImages=images}}callback()};Worker.prototype.setLayers=function setLayers(mapId,layers,callback){this.getLayerIndex(mapId).replace(layers);callback()};Worker.prototype.updateLayers=function updateLayers(mapId,params,callback){this.getLayerIndex(mapId).update(params.layers,params.removedIds);callback()};Worker.prototype.loadTile=function loadTile(mapId,params,callback){this.getWorkerSource(mapId,params.type,params.source).loadTile(params,callback)};Worker.prototype.loadDEMTile=function loadDEMTile(mapId,params,callback){this.getDEMWorkerSource(mapId,params.source).loadTile(params,callback)};Worker.prototype.reloadTile=function reloadTile(mapId,params,callback){this.getWorkerSource(mapId,params.type,params.source).reloadTile(params,callback)};Worker.prototype.abortTile=function abortTile(mapId,params,callback){this.getWorkerSource(mapId,params.type,params.source).abortTile(params,callback)};Worker.prototype.removeTile=function removeTile(mapId,params,callback){this.getWorkerSource(mapId,params.type,params.source).removeTile(params,callback)};Worker.prototype.removeDEMTile=function removeDEMTile(mapId,params){this.getDEMWorkerSource(mapId,params.source).removeTile(params)};Worker.prototype.removeSource=function removeSource(mapId,params,callback){if(!this.workerSources[mapId]||!this.workerSources[mapId][params.type]||!this.workerSources[mapId][params.type][params.source]){return}var worker=this.workerSources[mapId][params.type][params.source];delete this.workerSources[mapId][params.type][params.source];if(worker.removeSource!==undefined){worker.removeSource(params,callback)}else{callback()}};Worker.prototype.loadWorkerSource=function loadWorkerSource(map,params,callback){try{this.self.importScripts(params.url);callback()}catch(e){callback(e.toString())}};Worker.prototype.syncRTLPluginState=function syncRTLPluginState(map,state,callback){try{performance$1.plugin.setState(state);var pluginURL=performance$1.plugin.getPluginURL();if(performance$1.plugin.isLoaded()&&!performance$1.plugin.isParsed()&&pluginURL!=null){this.self.importScripts(pluginURL);var complete=performance$1.plugin.isParsed();var error=complete?undefined:new Error("RTL Text Plugin failed to import scripts from "+pluginURL);callback(error,complete)}}catch(e){callback(e.toString())}};Worker.prototype.getAvailableImages=function getAvailableImages(mapId){var availableImages=this.availableImages[mapId];if(!availableImages){availableImages=[]}return availableImages};Worker.prototype.getLayerIndex=function getLayerIndex(mapId){var layerIndexes=this.layerIndexes[mapId];if(!layerIndexes){layerIndexes=this.layerIndexes[mapId]=new StyleLayerIndex}return layerIndexes};Worker.prototype.getWorkerSource=function getWorkerSource(mapId,type,source){var this$1=this;if(!this.workerSources[mapId]){this.workerSources[mapId]={}}if(!this.workerSources[mapId][type]){this.workerSources[mapId][type]={}}if(!this.workerSources[mapId][type][source]){var actor={send:function(type,data,callback){this$1.actor.send(type,data,callback,mapId)}};this.workerSources[mapId][type][source]=new this.workerSourceTypes[type](actor,this.getLayerIndex(mapId),this.getAvailableImages(mapId))}return this.workerSources[mapId][type][source]};Worker.prototype.getDEMWorkerSource=function getDEMWorkerSource(mapId,source){if(!this.demWorkerSources[mapId]){this.demWorkerSources[mapId]={}}if(!this.demWorkerSources[mapId][source]){this.demWorkerSources[mapId][source]=new RasterDEMTileWorkerSource}return this.demWorkerSources[mapId][source]};Worker.prototype.enforceCacheSizeLimit=function enforceCacheSizeLimit$1(mapId,limit){performance$1.enforceCacheSizeLimit(limit)};if(typeof WorkerGlobalScope!=="undefined"&&typeof performance$1.window!=="undefined"&&performance$1.window instanceof WorkerGlobalScope){performance$1.window.worker=new Worker(performance$1.window)}return Worker}));define(["./shared"],(function(performance){"use strict";var mapboxGlSupported=performance.createCommonjsModule((function(module){if(module.exports){module.exports=isSupported}else if(window){window.mapboxgl=window.mapboxgl||{};window.mapboxgl.supported=isSupported;window.mapboxgl.notSupportedReason=notSupportedReason}function isSupported(options){return!notSupportedReason(options)}function notSupportedReason(options){if(!isBrowser()){return"not a browser"}if(!isArraySupported()){return"insufficent Array support"}if(!isFunctionSupported()){return"insufficient Function support"}if(!isObjectSupported()){return"insufficient Object support"}if(!isJSONSupported()){return"insufficient JSON support"}if(!isWorkerSupported()){return"insufficient worker support"}if(!isUint8ClampedArraySupported()){return"insufficient Uint8ClampedArray support"}if(!isArrayBufferSupported()){return"insufficient ArrayBuffer support"}if(!isCanvasGetImageDataSupported()){return"insufficient Canvas/getImageData support"}if(!isWebGLSupportedCached(options&&options.failIfMajorPerformanceCaveat)){return"insufficient WebGL support"}}function isBrowser(){return typeof window!=="undefined"&&typeof document!=="undefined"}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return"JSON"in window&&"parse"in JSON&&"stringify"in JSON}function isWorkerSupported(){if(!("Worker"in window&&"Blob"in window&&"URL"in window)){return false}var blob=new Blob([""],{type:"text/javascript"});var workerURL=URL.createObjectURL(blob);var supported;var worker;try{worker=new Worker(workerURL);supported=true}catch(e){supported=false}if(worker){worker.terminate()}URL.revokeObjectURL(workerURL);return supported}function isUint8ClampedArraySupported(){return"Uint8ClampedArray"in window}function isArrayBufferSupported(){return ArrayBuffer.isView}function isCanvasGetImageDataSupported(){var canvas=document.createElement("canvas");canvas.width=canvas.height=1;var context=canvas.getContext("2d");if(!context){return false}var imageData=context.getImageData(0,0,1,1);return imageData&&imageData.width===canvas.width}var isWebGLSupportedCache={};function isWebGLSupportedCached(failIfMajorPerformanceCaveat){if(isWebGLSupportedCache[failIfMajorPerformanceCaveat]===undefined){isWebGLSupportedCache[failIfMajorPerformanceCaveat]=isWebGLSupported(failIfMajorPerformanceCaveat)}return isWebGLSupportedCache[failIfMajorPerformanceCaveat]}isSupported.webGLContextAttributes={antialias:false,alpha:true,stencil:true,depth:true};function getWebGLContext(failIfMajorPerformanceCaveat){var canvas=document.createElement("canvas");var attributes=Object.create(isSupported.webGLContextAttributes);attributes.failIfMajorPerformanceCaveat=failIfMajorPerformanceCaveat;if(canvas.probablySupportsContext){return canvas.probablySupportsContext("webgl",attributes)||canvas.probablySupportsContext("experimental-webgl",attributes)}else if(canvas.supportsContext){return canvas.supportsContext("webgl",attributes)||canvas.supportsContext("experimental-webgl",attributes)}else{return canvas.getContext("webgl",attributes)||canvas.getContext("experimental-webgl",attributes)}}function isWebGLSupported(failIfMajorPerformanceCaveat){var gl=getWebGLContext(failIfMajorPerformanceCaveat);if(!gl){return false}var shader=gl.createShader(gl.VERTEX_SHADER);if(!shader||gl.isContextLost()){return false}gl.shaderSource(shader,"void main() {}");gl.compileShader(shader);return gl.getShaderParameter(shader,gl.COMPILE_STATUS)===true}}));var DOM={};DOM.create=function(tagName,className,container){var el=performance.window.document.createElement(tagName);if(className!==undefined){el.className=className}if(container){container.appendChild(el)}return el};DOM.createNS=function(namespaceURI,tagName){var el=performance.window.document.createElementNS(namespaceURI,tagName);return el};var docStyle=performance.window.document.documentElement.style;function testProp(props){if(!docStyle){return props[0]}for(var i=0;i<props.length;i++){if(props[i]in docStyle){return props[i]}}return props[0]}var selectProp=testProp(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]);var userSelect;DOM.disableDrag=function(){if(docStyle&&selectProp){userSelect=docStyle[selectProp];docStyle[selectProp]="none"}};DOM.enableDrag=function(){if(docStyle&&selectProp){docStyle[selectProp]=userSelect}};var transformProp=testProp(["transform","WebkitTransform"]);DOM.setTransform=function(el,value){el.style[transformProp]=value};var passiveSupported=false;try{var options$1=Object.defineProperty({},"passive",{get:function get(){passiveSupported=true}});performance.window.addEventListener("test",options$1,options$1);performance.window.removeEventListener("test",options$1,options$1)}catch(err){passiveSupported=false}DOM.addEventListener=function(target,type,callback,options){if(options===void 0)options={};if("passive"in options&&passiveSupported){target.addEventListener(type,callback,options)}else{target.addEventListener(type,callback,options.capture)}};DOM.removeEventListener=function(target,type,callback,options){if(options===void 0)options={};if("passive"in options&&passiveSupported){target.removeEventListener(type,callback,options)}else{target.removeEventListener(type,callback,options.capture)}};var suppressClick=function(e){e.preventDefault();e.stopPropagation();performance.window.removeEventListener("click",suppressClick,true)};DOM.suppressClick=function(){performance.window.addEventListener("click",suppressClick,true);performance.window.setTimeout((function(){performance.window.removeEventListener("click",suppressClick,true)}),0)};DOM.mousePos=function(el,e){var rect=el.getBoundingClientRect();return new performance.Point(e.clientX-rect.left-el.clientLeft,e.clientY-rect.top-el.clientTop)};DOM.touchPos=function(el,touches){var rect=el.getBoundingClientRect(),points=[];for(var i=0;i<touches.length;i++){points.push(new performance.Point(touches[i].clientX-rect.left-el.clientLeft,touches[i].clientY-rect.top-el.clientTop))}return points};DOM.mouseButton=function(e){if(typeof performance.window.InstallTrigger!=="undefined"&&e.button===2&&e.ctrlKey&&performance.window.navigator.platform.toUpperCase().indexOf("MAC")>=0){return 0}return e.button};DOM.remove=function(node){if(node.parentNode){node.parentNode.removeChild(node)}};function loadSprite(baseURL,requestManager,callback){var json,image,error;var format=performance.browser.devicePixelRatio>1?"@2x":"";var jsonRequest=performance.getJSON(requestManager.transformRequest(requestManager.normalizeSpriteURL(baseURL,format,".json"),performance.ResourceType.SpriteJSON),(function(err,data){jsonRequest=null;if(!error){error=err;json=data;maybeComplete()}}));var imageRequest=performance.getImage(requestManager.transformRequest(requestManager.normalizeSpriteURL(baseURL,format,".png"),performance.ResourceType.SpriteImage),(function(err,img){imageRequest=null;if(!error){error=err;image=img;maybeComplete()}}));function maybeComplete(){if(error){callback(error)}else if(json&&image){var imageData=performance.browser.getImageData(image);var result={};for(var id in json){var ref=json[id];var width=ref.width;var height=ref.height;var x=ref.x;var y=ref.y;var sdf=ref.sdf;var pixelRatio=ref.pixelRatio;var stretchX=ref.stretchX;var stretchY=ref.stretchY;var content=ref.content;var data=new performance.RGBAImage({width:width,height:height});performance.RGBAImage.copy(imageData,data,{x:x,y:y},{x:0,y:0},{width:width,height:height});result[id]={data:data,pixelRatio:pixelRatio,sdf:sdf,stretchX:stretchX,stretchY:stretchY,content:content}}callback(null,result)}}return{cancel:function cancel(){if(jsonRequest){jsonRequest.cancel();jsonRequest=null}if(imageRequest){imageRequest.cancel();imageRequest=null}}}}function renderStyleImage(image){var userImage=image.userImage;if(userImage&&userImage.render){var updated=userImage.render();if(updated){image.data.replace(new Uint8Array(userImage.data.buffer));return true}}return false}var padding=1;var ImageManager=function(Evented){function ImageManager(){Evented.call(this);this.images={};this.updatedImages={};this.callbackDispatchedThisFrame={};this.loaded=false;this.requestors=[];this.patterns={};this.atlasImage=new performance.RGBAImage({width:1,height:1});this.dirty=true}if(Evented)ImageManager.__proto__=Evented;ImageManager.prototype=Object.create(Evented&&Evented.prototype);ImageManager.prototype.constructor=ImageManager;ImageManager.prototype.isLoaded=function isLoaded(){return this.loaded};ImageManager.prototype.setLoaded=function setLoaded(loaded){if(this.loaded===loaded){return}this.loaded=loaded;if(loaded){for(var i=0,list=this.requestors;i<list.length;i+=1){var ref=list[i];var ids=ref.ids;var callback=ref.callback;this._notify(ids,callback)}this.requestors=[]}};ImageManager.prototype.getImage=function getImage(id){return this.images[id]};ImageManager.prototype.addImage=function addImage(id,image){if(this._validate(id,image)){this.images[id]=image}};ImageManager.prototype._validate=function _validate(id,image){var valid=true;if(!this._validateStretch(image.stretchX,image.data&&image.data.width)){this.fire(new performance.ErrorEvent(new Error('Image "'+id+'" has invalid "stretchX" value')));valid=false}if(!this._validateStretch(image.stretchY,image.data&&image.data.height)){this.fire(new performance.ErrorEvent(new Error('Image "'+id+'" has invalid "stretchY" value')));valid=false}if(!this._validateContent(image.content,image)){this.fire(new performance.ErrorEvent(new Error('Image "'+id+'" has invalid "content" value')));valid=false}return valid};ImageManager.prototype._validateStretch=function _validateStretch(stretch,size){if(!stretch){return true}var last=0;for(var i=0,list=stretch;i<list.length;i+=1){var part=list[i];if(part[0]<last||part[1]<part[0]||size<part[1]){return false}last=part[1]}return true};ImageManager.prototype._validateContent=function _validateContent(content,image){if(!content){return true}if(content.length!==4){return false}if(content[0]<0||image.data.width<content[0]){return false}if(content[1]<0||image.data.height<content[1]){return false}if(content[2]<0||image.data.width<content[2]){return false}if(content[3]<0||image.data.height<content[3]){return false}if(content[2]<content[0]){return false}if(content[3]<content[1]){return false}return true};ImageManager.prototype.updateImage=function updateImage(id,image){var oldImage=this.images[id];image.version=oldImage.version+1;this.images[id]=image;this.updatedImages[id]=true};ImageManager.prototype.removeImage=function removeImage(id){var image=this.images[id];delete this.images[id];delete this.patterns[id];if(image.userImage&&image.userImage.onRemove){image.userImage.onRemove()}};ImageManager.prototype.listImages=function listImages(){return Object.keys(this.images)};ImageManager.prototype.getImages=function getImages(ids,callback){var hasAllDependencies=true;if(!this.isLoaded()){for(var i=0,list=ids;i<list.length;i+=1){var id=list[i];if(!this.images[id]){hasAllDependencies=false}}}if(this.isLoaded()||hasAllDependencies){this._notify(ids,callback)}else{this.requestors.push({ids:ids,callback:callback})}};ImageManager.prototype._notify=function _notify(ids,callback){var response={};for(var i=0,list=ids;i<list.length;i+=1){var id=list[i];if(!this.images[id]){this.fire(new performance.Event("styleimagemissing",{id:id}))}var image=this.images[id];if(image){response[id]={data:image.data.clone(),pixelRatio:image.pixelRatio,sdf:image.sdf,version:image.version,stretchX:image.stretchX,stretchY:image.stretchY,content:image.content,hasRenderCallback:Boolean(image.userImage&&image.userImage.render)}}else{performance.warnOnce('Image "'+id+'" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.')}}callback(null,response)};ImageManager.prototype.getPixelSize=function getPixelSize(){var ref=this.atlasImage;var width=ref.width;var height=ref.height;return{width:width,height:height}};ImageManager.prototype.getPattern=function getPattern(id){var pattern=this.patterns[id];var image=this.getImage(id);if(!image){return null}if(pattern&&pattern.position.version===image.version){return pattern.position}if(!pattern){var w=image.data.width+padding*2;var h=image.data.height+padding*2;var bin={w:w,h:h,x:0,y:0};var position=new performance.ImagePosition(bin,image);this.patterns[id]={bin:bin,position:position}}else{pattern.position.version=image.version}this._updatePatternAtlas();return this.patterns[id].position};ImageManager.prototype.bind=function bind(context){var gl=context.gl;if(!this.atlasTexture){this.atlasTexture=new performance.Texture(context,this.atlasImage,gl.RGBA)}else if(this.dirty){this.atlasTexture.update(this.atlasImage);this.dirty=false}this.atlasTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE)};ImageManager.prototype._updatePatternAtlas=function _updatePatternAtlas(){var bins=[];for(var id in this.patterns){bins.push(this.patterns[id].bin)}var ref=performance.potpack(bins);var w=ref.w;var h=ref.h;var dst=this.atlasImage;dst.resize({width:w||1,height:h||1});for(var id$1 in this.patterns){var ref$1=this.patterns[id$1];var bin=ref$1.bin;var x=bin.x+padding;var y=bin.y+padding;var src=this.images[id$1].data;var w$1=src.width;var h$1=src.height;performance.RGBAImage.copy(src,dst,{x:0,y:0},{x:x,y:y},{width:w$1,height:h$1});performance.RGBAImage.copy(src,dst,{x:0,y:h$1-1},{x:x,y:y-1},{width:w$1,height:1});performance.RGBAImage.copy(src,dst,{x:0,y:0},{x:x,y:y+h$1},{width:w$1,height:1});performance.RGBAImage.copy(src,dst,{x:w$1-1,y:0},{x:x-1,y:y},{width:1,height:h$1});performance.RGBAImage.copy(src,dst,{x:0,y:0},{x:x+w$1,y:y},{width:1,height:h$1})}this.dirty=true};ImageManager.prototype.beginFrame=function beginFrame(){this.callbackDispatchedThisFrame={}};ImageManager.prototype.dispatchRenderCallbacks=function dispatchRenderCallbacks(ids){for(var i=0,list=ids;i<list.length;i+=1){var id=list[i];if(this.callbackDispatchedThisFrame[id]){continue}this.callbackDispatchedThisFrame[id]=true;var image=this.images[id];var updated=renderStyleImage(image);if(updated){this.updateImage(id,image)}}};return ImageManager}(performance.Evented);function loadGlyphRange(fontstack,range,urlTemplate,requestManager,callback){var begin=range*256;var end=begin+255;var request=requestManager.transformRequest(requestManager.normalizeGlyphsURL(urlTemplate).replace("{fontstack}",fontstack).replace("{range}",begin+"-"+end),performance.ResourceType.Glyphs);performance.getArrayBuffer(request,(function(err,data){if(err){callback(err)}else if(data){var glyphs={};for(var i=0,list=performance.parseGlyphPBF(data);i<list.length;i+=1){var glyph=list[i];glyphs[glyph.id]=glyph}callback(null,glyphs)}}))}var tinySdf=TinySDF;var default_1=TinySDF;var INF=1e20;function TinySDF(fontSize,buffer,radius,cutoff,fontFamily,fontWeight){this.fontSize=fontSize||24;this.buffer=buffer===undefined?3:buffer;this.cutoff=cutoff||.25;this.fontFamily=fontFamily||"sans-serif";this.fontWeight=fontWeight||"normal";this.radius=radius||8;var size=this.size=this.fontSize+this.buffer*2;this.canvas=document.createElement("canvas");this.canvas.width=this.canvas.height=size;this.ctx=this.canvas.getContext("2d");this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily;this.ctx.textBaseline="middle";this.ctx.fillStyle="black";this.gridOuter=new Float64Array(size*size);this.gridInner=new Float64Array(size*size);this.f=new Float64Array(size);this.d=new Float64Array(size);this.z=new Float64Array(size+1);this.v=new Int16Array(size);this.middle=Math.round(size/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}TinySDF.prototype.draw=function(char){this.ctx.clearRect(0,0,this.size,this.size);this.ctx.fillText(char,this.buffer,this.middle);var imgData=this.ctx.getImageData(0,0,this.size,this.size);var alphaChannel=new Uint8ClampedArray(this.size*this.size);for(var i=0;i<this.size*this.size;i++){var a=imgData.data[i*4+3]/255;this.gridOuter[i]=a===1?0:a===0?INF:Math.pow(Math.max(0,.5-a),2);this.gridInner[i]=a===1?INF:a===0?0:Math.pow(Math.max(0,a-.5),2)}edt(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z);edt(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z);for(i=0;i<this.size*this.size;i++){var d=this.gridOuter[i]-this.gridInner[i];alphaChannel[i]=Math.max(0,Math.min(255,Math.round(255-255*(d/this.radius+this.cutoff))))}return alphaChannel};function edt(data,width,height,f,d,v,z){for(var x=0;x<width;x++){for(var y=0;y<height;y++){f[y]=data[y*width+x]}edt1d(f,d,v,z,height);for(y=0;y<height;y++){data[y*width+x]=d[y]}}for(y=0;y<height;y++){for(x=0;x<width;x++){f[x]=data[y*width+x]}edt1d(f,d,v,z,width);for(x=0;x<width;x++){data[y*width+x]=Math.sqrt(d[x])}}}function edt1d(f,d,v,z,n){v[0]=0;z[0]=-INF;z[1]=+INF;for(var q=1,k=0;q<n;q++){var s=(f[q]+q*q-(f[v[k]]+v[k]*v[k]))/(2*q-2*v[k]);while(s<=z[k]){k--;s=(f[q]+q*q-(f[v[k]]+v[k]*v[k]))/(2*q-2*v[k])}k++;v[k]=q;z[k]=s;z[k+1]=+INF}for(q=0,k=0;q<n;q++){while(z[k+1]<q){k++}d[q]=(q-v[k])*(q-v[k])+f[v[k]]}}tinySdf.default=default_1;var GlyphManager=function GlyphManager(requestManager,localIdeographFontFamily){this.requestManager=requestManager;this.localIdeographFontFamily=localIdeographFontFamily;this.entries={}};GlyphManager.prototype.setURL=function setURL(url){this.url=url};GlyphManager.prototype.getGlyphs=function getGlyphs(glyphs,callback){var this$1=this;var all=[];for(var stack in glyphs){for(var i=0,list=glyphs[stack];i<list.length;i+=1){var id=list[i];all.push({stack:stack,id:id})}}performance.asyncAll(all,(function(ref,callback){var stack=ref.stack;var id=ref.id;var entry=this$1.entries[stack];if(!entry){entry=this$1.entries[stack]={glyphs:{},requests:{},ranges:{}}}var glyph=entry.glyphs[id];if(glyph!==undefined){callback(null,{stack:stack,id:id,glyph:glyph});return}glyph=this$1._tinySDF(entry,stack,id);if(glyph){entry.glyphs[id]=glyph;callback(null,{stack:stack,id:id,glyph:glyph});return}var range=Math.floor(id/256);if(range*256>65535){callback(new Error("glyphs > 65535 not supported"));return}if(entry.ranges[range]){callback(null,{stack:stack,id:id,glyph:glyph});return}var requests=entry.requests[range];if(!requests){requests=entry.requests[range]=[];GlyphManager.loadGlyphRange(stack,range,this$1.url,this$1.requestManager,(function(err,response){if(response){for(var id in response){if(!this$1._doesCharSupportLocalGlyph(+id)){entry.glyphs[+id]=response[+id]}}entry.ranges[range]=true}for(var i=0,list=requests;i<list.length;i+=1){var cb=list[i];cb(err,response)}delete entry.requests[range]}))}requests.push((function(err,result){if(err){callback(err)}else if(result){callback(null,{stack:stack,id:id,glyph:result[id]||null})}}))}),(function(err,glyphs){if(err){callback(err)}else if(glyphs){var result={};for(var i=0,list=glyphs;i<list.length;i+=1){var ref=list[i];var stack=ref.stack;var id=ref.id;var glyph=ref.glyph;(result[stack]||(result[stack]={}))[id]=glyph&&{id:glyph.id,bitmap:glyph.bitmap.clone(),metrics:glyph.metrics}}callback(null,result)}}))};GlyphManager.prototype._doesCharSupportLocalGlyph=function _doesCharSupportLocalGlyph(id){return!!this.localIdeographFontFamily&&(performance.isChar["CJK Unified Ideographs"](id)||performance.isChar["Hangul Syllables"](id)||performance.isChar["Hiragana"](id)||performance.isChar["Katakana"](id))};GlyphManager.prototype._tinySDF=function _tinySDF(entry,stack,id){var family=this.localIdeographFontFamily;if(!family){return}if(!this._doesCharSupportLocalGlyph(id)){return}var tinySDF=entry.tinySDF;if(!tinySDF){var fontWeight="400";if(/bold/i.test(stack)){fontWeight="900"}else if(/medium/i.test(stack)){fontWeight="500"}else if(/light/i.test(stack)){fontWeight="200"}tinySDF=entry.tinySDF=new GlyphManager.TinySDF(24,3,8,.25,family,fontWeight)}return{id:id,bitmap:new performance.AlphaImage({width:30,height:30},tinySDF.draw(String.fromCharCode(id))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}};GlyphManager.loadGlyphRange=loadGlyphRange;GlyphManager.TinySDF=tinySdf;var LightPositionProperty=function LightPositionProperty(){this.specification=performance.styleSpec.light.position};LightPositionProperty.prototype.possiblyEvaluate=function possiblyEvaluate(value,parameters){return performance.sphericalToCartesian(value.expression.evaluate(parameters))};LightPositionProperty.prototype.interpolate=function interpolate$1(a,b,t){return{x:performance.number(a.x,b.x,t),y:performance.number(a.y,b.y,t),z:performance.number(a.z,b.z,t)}};var properties=new performance.Properties({anchor:new performance.DataConstantProperty(performance.styleSpec.light.anchor),position:new LightPositionProperty,color:new performance.DataConstantProperty(performance.styleSpec.light.color),intensity:new performance.DataConstantProperty(performance.styleSpec.light.intensity)});var TRANSITION_SUFFIX="-transition";var Light=function(Evented){function Light(lightOptions){Evented.call(this);this._transitionable=new performance.Transitionable(properties);this.setLight(lightOptions);this._transitioning=this._transitionable.untransitioned()}if(Evented)Light.__proto__=Evented;Light.prototype=Object.create(Evented&&Evented.prototype);Light.prototype.constructor=Light;Light.prototype.getLight=function getLight(){return this._transitionable.serialize()};Light.prototype.setLight=function setLight(light,options){if(options===void 0)options={};if(this._validate(performance.validateLight,light,options)){return}for(var name in light){var value=light[name];if(performance.endsWith(name,TRANSITION_SUFFIX)){this._transitionable.setTransition(name.slice(0,-TRANSITION_SUFFIX.length),value)}else{this._transitionable.setValue(name,value)}}};Light.prototype.updateTransitions=function updateTransitions(parameters){this._transitioning=this._transitionable.transitioned(parameters,this._transitioning)};Light.prototype.hasTransition=function hasTransition(){return this._transitioning.hasTransition()};Light.prototype.recalculate=function recalculate(parameters){this.properties=this._transitioning.possiblyEvaluate(parameters)};Light.prototype._validate=function _validate(validate,value,options){if(options&&options.validate===false){return false}return performance.emitValidationErrors(this,validate.call(performance.validateStyle,performance.extend({value:value,style:{glyphs:true,sprite:true},styleSpec:performance.styleSpec})))};return Light}(performance.Evented);var LineAtlas=function LineAtlas(width,height){this.width=width;this.height=height;this.nextRow=0;this.data=new Uint8Array(this.width*this.height);this.dashEntry={}};LineAtlas.prototype.getDash=function getDash(dasharray,round){var key=dasharray.join(",")+String(round);if(!this.dashEntry[key]){this.dashEntry[key]=this.addDash(dasharray,round)}return this.dashEntry[key]};LineAtlas.prototype.getDashRanges=function getDashRanges(dasharray,lineAtlasWidth,stretch){var oddDashArray=dasharray.length%2===1;var ranges=[];var left=oddDashArray?-dasharray[dasharray.length-1]*stretch:0;var right=dasharray[0]*stretch;var isDash=true;ranges.push({left:left,right:right,isDash:isDash,zeroLength:dasharray[0]===0});var currentDashLength=dasharray[0];for(var i=1;i<dasharray.length;i++){isDash=!isDash;var dashLength=dasharray[i];left=currentDashLength*stretch;currentDashLength+=dashLength;right=currentDashLength*stretch;ranges.push({left:left,right:right,isDash:isDash,zeroLength:dashLength===0})}return ranges};LineAtlas.prototype.addRoundDash=function addRoundDash(ranges,stretch,n){var halfStretch=stretch/2;for(var y=-n;y<=n;y++){var row=this.nextRow+n+y;var index=this.width*row;var currIndex=0;var range=ranges[currIndex];for(var x=0;x<this.width;x++){if(x/range.right>1){range=ranges[++currIndex]}var distLeft=Math.abs(x-range.left);var distRight=Math.abs(x-range.right);var minDist=Math.min(distLeft,distRight);var signedDistance=void 0;var distMiddle=y/n*(halfStretch+1);if(range.isDash){var distEdge=halfStretch-Math.abs(distMiddle);signedDistance=Math.sqrt(minDist*minDist+distEdge*distEdge)}else{signedDistance=halfStretch-Math.sqrt(minDist*minDist+distMiddle*distMiddle)}this.data[index+x]=Math.max(0,Math.min(255,signedDistance+128))}}};LineAtlas.prototype.addRegularDash=function addRegularDash(ranges){for(var i=ranges.length-1;i>=0;--i){var part=ranges[i];var next=ranges[i+1];if(part.zeroLength){ranges.splice(i,1)}else if(next&&next.isDash===part.isDash){next.left=part.left;ranges.splice(i,1)}}var first=ranges[0];var last=ranges[ranges.length-1];if(first.isDash===last.isDash){first.left=last.left-this.width;last.right=first.right+this.width}var index=this.width*this.nextRow;var currIndex=0;var range=ranges[currIndex];for(var x=0;x<this.width;x++){if(x/range.right>1){range=ranges[++currIndex]}var distLeft=Math.abs(x-range.left);var distRight=Math.abs(x-range.right);var minDist=Math.min(distLeft,distRight);var signedDistance=range.isDash?minDist:-minDist;this.data[index+x]=Math.max(0,Math.min(255,signedDistance+128))}};LineAtlas.prototype.addDash=function addDash(dasharray,round){var n=round?7:0;var height=2*n+1;if(this.nextRow+height>this.height){performance.warnOnce("LineAtlas out of space");return null}var length=0;for(var i=0;i<dasharray.length;i++){length+=dasharray[i]}if(length!==0){var stretch=this.width/length;var ranges=this.getDashRanges(dasharray,this.width,stretch);if(round){this.addRoundDash(ranges,stretch,n)}else{this.addRegularDash(ranges)}}var dashEntry={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:length};this.nextRow+=height;this.dirty=true;return dashEntry};LineAtlas.prototype.bind=function bind(context){var gl=context.gl;if(!this.texture){this.texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,this.texture);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.REPEAT);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.REPEAT);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texImage2D(gl.TEXTURE_2D,0,gl.ALPHA,this.width,this.height,0,gl.ALPHA,gl.UNSIGNED_BYTE,this.data)}else{gl.bindTexture(gl.TEXTURE_2D,this.texture);if(this.dirty){this.dirty=false;gl.texSubImage2D(gl.TEXTURE_2D,0,0,0,this.width,this.height,gl.ALPHA,gl.UNSIGNED_BYTE,this.data)}}};var Dispatcher=function Dispatcher(workerPool,parent){this.workerPool=workerPool;this.actors=[];this.currentActor=0;this.id=performance.uniqueId();var workers=this.workerPool.acquire(this.id);for(var i=0;i<workers.length;i++){var worker=workers[i];var actor=new Dispatcher.Actor(worker,parent,this.id);actor.name="Worker "+i;this.actors.push(actor)}};Dispatcher.prototype.broadcast=function broadcast(type,data,cb){cb=cb||function(){};performance.asyncAll(this.actors,(function(actor,done){actor.send(type,data,done)}),cb)};Dispatcher.prototype.getActor=function getActor(){this.currentActor=(this.currentActor+1)%this.actors.length;return this.actors[this.currentActor]};Dispatcher.prototype.remove=function remove(){this.actors.forEach((function(actor){actor.remove()}));this.actors=[];this.workerPool.release(this.id)};Dispatcher.Actor=performance.Actor;function loadTileJSON(options,requestManager,callback){var loaded=function(err,tileJSON){if(err){return callback(err)}else if(tileJSON){var result=performance.pick(performance.extend(tileJSON,options),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);if(tileJSON.vector_layers){result.vectorLayers=tileJSON.vector_layers;result.vectorLayerIds=result.vectorLayers.map((function(layer){return layer.id}))}result.tiles=requestManager.canonicalizeTileset(result,options.url);callback(null,result)}};if(options.url){return performance.getJSON(requestManager.transformRequest(requestManager.normalizeSourceURL(options.url),performance.ResourceType.Source),loaded)}else{return performance.browser.frame((function(){return loaded(null,options)}))}}var TileBounds=function TileBounds(bounds,minzoom,maxzoom){this.bounds=performance.LngLatBounds.convert(this.validateBounds(bounds));this.minzoom=minzoom||0;this.maxzoom=maxzoom||24};TileBounds.prototype.validateBounds=function validateBounds(bounds){if(!Array.isArray(bounds)||bounds.length!==4){return[-180,-90,180,90]}return[Math.max(-180,bounds[0]),Math.max(-90,bounds[1]),Math.min(180,bounds[2]),Math.min(90,bounds[3])]};TileBounds.prototype.contains=function contains(tileID){var worldSize=Math.pow(2,tileID.z);var level={minX:Math.floor(performance.mercatorXfromLng(this.bounds.getWest())*worldSize),minY:Math.floor(performance.mercatorYfromLat(this.bounds.getNorth())*worldSize),maxX:Math.ceil(performance.mercatorXfromLng(this.bounds.getEast())*worldSize),maxY:Math.ceil(performance.mercatorYfromLat(this.bounds.getSouth())*worldSize)};var hit=tileID.x>=level.minX&&tileID.x<level.maxX&&tileID.y>=level.minY&&tileID.y<level.maxY;return hit};var VectorTileSource=function(Evented){function VectorTileSource(id,options,dispatcher,eventedParent){Evented.call(this);this.id=id;this.dispatcher=dispatcher;this.type="vector";this.minzoom=0;this.maxzoom=22;this.scheme="xyz";this.tileSize=512;this.reparseOverscaled=true;this.isTileClipped=true;this._loaded=false;performance.extend(this,performance.pick(options,["url","scheme","tileSize","promoteId"]));this._options=performance.extend({type:"vector"},options);this._collectResourceTiming=options.collectResourceTiming;if(this.tileSize!==512){throw new Error("vector tile sources must have a tileSize of 512")}this.setEventedParent(eventedParent)}if(Evented)VectorTileSource.__proto__=Evented;VectorTileSource.prototype=Object.create(Evented&&Evented.prototype);VectorTileSource.prototype.constructor=VectorTileSource;VectorTileSource.prototype.load=function load(){var this$1=this;this._loaded=false;this.fire(new performance.Event("dataloading",{dataType:"source"}));this._tileJSONRequest=loadTileJSON(this._options,this.map._requestManager,(function(err,tileJSON){this$1._tileJSONRequest=null;this$1._loaded=true;if(err){this$1.fire(new performance.ErrorEvent(err))}else if(tileJSON){performance.extend(this$1,tileJSON);if(tileJSON.bounds){this$1.tileBounds=new TileBounds(tileJSON.bounds,this$1.minzoom,this$1.maxzoom)}performance.postTurnstileEvent(tileJSON.tiles,this$1.map._requestManager._customAccessToken);performance.postMapLoadEvent(tileJSON.tiles,this$1.map._getMapId(),this$1.map._requestManager._skuToken,this$1.map._requestManager._customAccessToken);this$1.fire(new performance.Event("data",{dataType:"source",sourceDataType:"metadata"}));this$1.fire(new performance.Event("data",{dataType:"source",sourceDataType:"content"}))}}))};VectorTileSource.prototype.loaded=function loaded(){return this._loaded};VectorTileSource.prototype.hasTile=function hasTile(tileID){return!this.tileBounds||this.tileBounds.contains(tileID.canonical)};VectorTileSource.prototype.onAdd=function onAdd(map){this.map=map;this.load()};VectorTileSource.prototype.onRemove=function onRemove(){if(this._tileJSONRequest){this._tileJSONRequest.cancel();this._tileJSONRequest=null}};VectorTileSource.prototype.serialize=function serialize(){return performance.extend({},this._options)};VectorTileSource.prototype.loadTile=function loadTile(tile,callback){var url=this.map._requestManager.normalizeTileURL(tile.tileID.canonical.url(this.tiles,this.scheme));var params={request:this.map._requestManager.transformRequest(url,performance.ResourceType.Tile),uid:tile.uid,tileID:tile.tileID,zoom:tile.tileID.overscaledZ,tileSize:this.tileSize*tile.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:performance.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};params.request.collectResourceTiming=this._collectResourceTiming;if(!tile.actor||tile.state==="expired"){tile.actor=this.dispatcher.getActor();tile.request=tile.actor.send("loadTile",params,done.bind(this))}else if(tile.state==="loading"){tile.reloadCallback=callback}else{tile.request=tile.actor.send("reloadTile",params,done.bind(this))}function done(err,data){delete tile.request;if(tile.aborted){return callback(null)}if(err&&err.status!==404){return callback(err)}if(data&&data.resourceTiming){tile.resourceTiming=data.resourceTiming}if(this.map._refreshExpiredTiles&&data){tile.setExpiryData(data)}tile.loadVectorData(data,this.map.painter);performance.cacheEntryPossiblyAdded(this.dispatcher);callback(null);if(tile.reloadCallback){this.loadTile(tile,tile.reloadCallback);tile.reloadCallback=null}}};VectorTileSource.prototype.abortTile=function abortTile(tile){if(tile.request){tile.request.cancel();delete tile.request}if(tile.actor){tile.actor.send("abortTile",{uid:tile.uid,type:this.type,source:this.id},undefined)}};VectorTileSource.prototype.unloadTile=function unloadTile(tile){tile.unloadVectorData();if(tile.actor){tile.actor.send("removeTile",{uid:tile.uid,type:this.type,source:this.id},undefined)}};VectorTileSource.prototype.hasTransition=function hasTransition(){return false};return VectorTileSource}(performance.Evented);var RasterTileSource=function(Evented){function RasterTileSource(id,options,dispatcher,eventedParent){Evented.call(this);this.id=id;this.dispatcher=dispatcher;this.setEventedParent(eventedParent);this.type="raster";this.minzoom=0;this.maxzoom=22;this.roundZoom=true;this.scheme="xyz";this.tileSize=512;this._loaded=false;this._options=performance.extend({type:"raster"},options);performance.extend(this,performance.pick(options,["url","scheme","tileSize"]))}if(Evented)RasterTileSource.__proto__=Evented;RasterTileSource.prototype=Object.create(Evented&&Evented.prototype);RasterTileSource.prototype.constructor=RasterTileSource;RasterTileSource.prototype.load=function load(){var this$1=this;this._loaded=false;this.fire(new performance.Event("dataloading",{dataType:"source"}));this._tileJSONRequest=loadTileJSON(this._options,this.map._requestManager,(function(err,tileJSON){this$1._tileJSONRequest=null;this$1._loaded=true;if(err){this$1.fire(new performance.ErrorEvent(err))}else if(tileJSON){performance.extend(this$1,tileJSON);if(tileJSON.bounds){this$1.tileBounds=new TileBounds(tileJSON.bounds,this$1.minzoom,this$1.maxzoom)}performance.postTurnstileEvent(tileJSON.tiles);performance.postMapLoadEvent(tileJSON.tiles,this$1.map._getMapId(),this$1.map._requestManager._skuToken);this$1.fire(new performance.Event("data",{dataType:"source",sourceDataType:"metadata"}));this$1.fire(new performance.Event("data",{dataType:"source",sourceDataType:"content"}))}}))};RasterTileSource.prototype.loaded=function loaded(){return this._loaded};RasterTileSource.prototype.onAdd=function onAdd(map){this.map=map;this.load()};RasterTileSource.prototype.onRemove=function onRemove(){if(this._tileJSONRequest){this._tileJSONRequest.cancel();this._tileJSONRequest=null}};RasterTileSource.prototype.serialize=function serialize(){return performance.extend({},this._options)};RasterTileSource.prototype.hasTile=function hasTile(tileID){return!this.tileBounds||this.tileBounds.contains(tileID.canonical)};RasterTileSource.prototype.loadTile=function loadTile(tile,callback){var this$1=this;var url=this.map._requestManager.normalizeTileURL(tile.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);tile.request=performance.getImage(this.map._requestManager.transformRequest(url,performance.ResourceType.Tile),(function(err,img){delete tile.request;if(tile.aborted){tile.state="unloaded";callback(null)}else if(err){tile.state="errored";callback(err)}else if(img){if(this$1.map._refreshExpiredTiles){tile.setExpiryData(img)}delete img.cacheControl;delete img.expires;var context=this$1.map.painter.context;var gl=context.gl;tile.texture=this$1.map.painter.getTileTexture(img.width);if(tile.texture){tile.texture.update(img,{useMipmap:true})}else{tile.texture=new performance.Texture(context,img,gl.RGBA,{useMipmap:true});tile.texture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE,gl.LINEAR_MIPMAP_NEAREST);if(context.extTextureFilterAnisotropic){gl.texParameterf(gl.TEXTURE_2D,context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,context.extTextureFilterAnisotropicMax)}}tile.state="loaded";performance.cacheEntryPossiblyAdded(this$1.dispatcher);callback(null)}}))};RasterTileSource.prototype.abortTile=function abortTile(tile,callback){if(tile.request){tile.request.cancel();delete tile.request}callback()};RasterTileSource.prototype.unloadTile=function unloadTile(tile,callback){if(tile.texture){this.map.painter.saveTileTexture(tile.texture)}callback()};RasterTileSource.prototype.hasTransition=function hasTransition(){return false};return RasterTileSource}(performance.Evented);var RasterDEMTileSource=function(RasterTileSource){function RasterDEMTileSource(id,options,dispatcher,eventedParent){RasterTileSource.call(this,id,options,dispatcher,eventedParent);this.type="raster-dem";this.maxzoom=22;this._options=performance.extend({type:"raster-dem"},options);this.encoding=options.encoding||"mapbox"}if(RasterTileSource)RasterDEMTileSource.__proto__=RasterTileSource;RasterDEMTileSource.prototype=Object.create(RasterTileSource&&RasterTileSource.prototype);RasterDEMTileSource.prototype.constructor=RasterDEMTileSource;RasterDEMTileSource.prototype.serialize=function serialize(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}};RasterDEMTileSource.prototype.loadTile=function loadTile(tile,callback){var url=this.map._requestManager.normalizeTileURL(tile.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);tile.request=performance.getImage(this.map._requestManager.transformRequest(url,performance.ResourceType.Tile),imageLoaded.bind(this));tile.neighboringTiles=this._getNeighboringTiles(tile.tileID);function imageLoaded(err,img){delete tile.request;if(tile.aborted){tile.state="unloaded";callback(null)}else if(err){tile.state="errored";callback(err)}else if(img){if(this.map._refreshExpiredTiles){tile.setExpiryData(img)}delete img.cacheControl;delete img.expires;var transfer=performance.window.ImageBitmap&&img instanceof performance.window.ImageBitmap&&performance.offscreenCanvasSupported();var rawImageData=transfer?img:performance.browser.getImageData(img,1);var params={uid:tile.uid,coord:tile.tileID,source:this.id,rawImageData:rawImageData,encoding:this.encoding};if(!tile.actor||tile.state==="expired"){tile.actor=this.dispatcher.getActor();tile.actor.send("loadDEMTile",params,done.bind(this))}}}function done(err,dem){if(err){tile.state="errored";callback(err)}if(dem){tile.dem=dem;tile.needsHillshadePrepare=true;tile.state="loaded";callback(null)}}};RasterDEMTileSource.prototype._getNeighboringTiles=function _getNeighboringTiles(tileID){var canonical=tileID.canonical;var dim=Math.pow(2,canonical.z);var px=(canonical.x-1+dim)%dim;var pxw=canonical.x===0?tileID.wrap-1:tileID.wrap;var nx=(canonical.x+1+dim)%dim;var nxw=canonical.x+1===dim?tileID.wrap+1:tileID.wrap;var neighboringTiles={};neighboringTiles[new performance.OverscaledTileID(tileID.overscaledZ,pxw,canonical.z,px,canonical.y).key]={backfilled:false};neighboringTiles[new performance.OverscaledTileID(tileID.overscaledZ,nxw,canonical.z,nx,canonical.y).key]={backfilled:false};if(canonical.y>0){neighboringTiles[new performance.OverscaledTileID(tileID.overscaledZ,pxw,canonical.z,px,canonical.y-1).key]={backfilled:false};neighboringTiles[new performance.OverscaledTileID(tileID.overscaledZ,tileID.wrap,canonical.z,canonical.x,canonical.y-1).key]={backfilled:false};neighboringTiles[new performance.OverscaledTileID(tileID.overscaledZ,nxw,canonical.z,nx,canonical.y-1).key]={backfilled:false}}if(canonical.y+1<dim){neighboringTiles[new performance.OverscaledTileID(tileID.overscaledZ,pxw,canonical.z,px,canonical.y+1).key]={backfilled:false};neighboringTiles[new performance.OverscaledTileID(tileID.overscaledZ,tileID.wrap,canonical.z,canonical.x,canonical.y+1).key]={backfilled:false};neighboringTiles[new performance.OverscaledTileID(tileID.overscaledZ,nxw,canonical.z,nx,canonical.y+1).key]={backfilled:false}}return neighboringTiles};RasterDEMTileSource.prototype.unloadTile=function unloadTile(tile){if(tile.demTexture){this.map.painter.saveTileTexture(tile.demTexture)}if(tile.fbo){tile.fbo.destroy();delete tile.fbo}if(tile.dem){delete tile.dem}delete tile.neighboringTiles;tile.state="unloaded";if(tile.actor){tile.actor.send("removeDEMTile",{uid:tile.uid,source:this.id})}};return RasterDEMTileSource}(RasterTileSource);var GeoJSONSource=function(Evented){function GeoJSONSource(id,options,dispatcher,eventedParent){Evented.call(this);this.id=id;this.type="geojson";this.minzoom=0;this.maxzoom=18;this.tileSize=512;this.isTileClipped=true;this.reparseOverscaled=true;this._removed=false;this._loaded=false;this.actor=dispatcher.getActor();this.setEventedParent(eventedParent);this._data=options.data;this._options=performance.extend({},options);this._collectResourceTiming=options.collectResourceTiming;this._resourceTiming=[];if(options.maxzoom!==undefined){this.maxzoom=options.maxzoom}if(options.type){this.type=options.type}if(options.attribution){this.attribution=options.attribution}this.promoteId=options.promoteId;var scale=performance.EXTENT/this.tileSize;this.workerOptions=performance.extend({source:this.id,cluster:options.cluster||false,geojsonVtOptions:{buffer:(options.buffer!==undefined?options.buffer:128)*scale,tolerance:(options.tolerance!==undefined?options.tolerance:.375)*scale,extent:performance.EXTENT,maxZoom:this.maxzoom,lineMetrics:options.lineMetrics||false,generateId:options.generateId||false},superclusterOptions:{maxZoom:options.clusterMaxZoom!==undefined?Math.min(options.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:performance.EXTENT,radius:(options.clusterRadius||50)*scale,log:false,generateId:options.generateId||false},clusterProperties:options.clusterProperties},options.workerOptions)}if(Evented)GeoJSONSource.__proto__=Evented;GeoJSONSource.prototype=Object.create(Evented&&Evented.prototype);GeoJSONSource.prototype.constructor=GeoJSONSource;GeoJSONSource.prototype.load=function load(){var this$1=this;this.fire(new performance.Event("dataloading",{dataType:"source"}));this._updateWorkerData((function(err){if(err){this$1.fire(new performance.ErrorEvent(err));return}var data={dataType:"source",sourceDataType:"metadata"};if(this$1._collectResourceTiming&&this$1._resourceTiming&&this$1._resourceTiming.length>0){data.resourceTiming=this$1._resourceTiming;this$1._resourceTiming=[]}this$1.fire(new performance.Event("data",data))}))};GeoJSONSource.prototype.onAdd=function onAdd(map){this.map=map;this.load()};GeoJSONSource.prototype.setData=function setData(data){var this$1=this;this._data=data;this.fire(new performance.Event("dataloading",{dataType:"source"}));this._updateWorkerData((function(err){if(err){this$1.fire(new performance.ErrorEvent(err));return}var data={dataType:"source",sourceDataType:"content"};if(this$1._collectResourceTiming&&this$1._resourceTiming&&this$1._resourceTiming.length>0){data.resourceTiming=this$1._resourceTiming;this$1._resourceTiming=[]}this$1.fire(new performance.Event("data",data))}));return this};GeoJSONSource.prototype.getClusterExpansionZoom=function getClusterExpansionZoom(clusterId,callback){this.actor.send("geojson.getClusterExpansionZoom",{clusterId:clusterId,source:this.id},callback);return this};GeoJSONSource.prototype.getClusterChildren=function getClusterChildren(clusterId,callback){this.actor.send("geojson.getClusterChildren",{clusterId:clusterId,source:this.id},callback);return this};GeoJSONSource.prototype.getClusterLeaves=function getClusterLeaves(clusterId,limit,offset,callback){this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:clusterId,limit:limit,offset:offset},callback);return this};GeoJSONSource.prototype._updateWorkerData=function _updateWorkerData(callback){var this$1=this;this._loaded=false;var options=performance.extend({},this.workerOptions);var data=this._data;if(typeof data==="string"){options.request=this.map._requestManager.transformRequest(performance.browser.resolveURL(data),performance.ResourceType.Source);options.request.collectResourceTiming=this._collectResourceTiming}else{options.data=JSON.stringify(data)}this.actor.send(this.type+".loadData",options,(function(err,result){if(this$1._removed||result&&result.abandoned){return}this$1._loaded=true;if(result&&result.resourceTiming&&result.resourceTiming[this$1.id]){this$1._resourceTiming=result.resourceTiming[this$1.id].slice(0)}this$1.actor.send(this$1.type+".coalesce",{source:options.source},null);callback(err)}))};GeoJSONSource.prototype.loaded=function loaded(){return this._loaded};GeoJSONSource.prototype.loadTile=function loadTile(tile,callback){var this$1=this;var message=!tile.actor?"loadTile":"reloadTile";tile.actor=this.actor;var params={type:this.type,uid:tile.uid,tileID:tile.tileID,zoom:tile.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:performance.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};tile.request=this.actor.send(message,params,(function(err,data){delete tile.request;tile.unloadVectorData();if(tile.aborted){return callback(null)}if(err){return callback(err)}tile.loadVectorData(data,this$1.map.painter,message==="reloadTile");return callback(null)}))};GeoJSONSource.prototype.abortTile=function abortTile(tile){if(tile.request){tile.request.cancel();delete tile.request}tile.aborted=true};GeoJSONSource.prototype.unloadTile=function unloadTile(tile){tile.unloadVectorData();this.actor.send("removeTile",{uid:tile.uid,type:this.type,source:this.id})};GeoJSONSource.prototype.onRemove=function onRemove(){this._removed=true;this.actor.send("removeSource",{type:this.type,source:this.id})};GeoJSONSource.prototype.serialize=function serialize(){return performance.extend({},this._options,{type:this.type,data:this._data})};GeoJSONSource.prototype.hasTransition=function hasTransition(){return false};return GeoJSONSource}(performance.Evented);var rasterBoundsAttributes=performance.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);var ImageSource=function(Evented){function ImageSource(id,options,dispatcher,eventedParent){Evented.call(this);this.id=id;this.dispatcher=dispatcher;this.coordinates=options.coordinates;this.type="image";this.minzoom=0;this.maxzoom=22;this.tileSize=512;this.tiles={};this._loaded=false;this.setEventedParent(eventedParent);this.options=options}if(Evented)ImageSource.__proto__=Evented;ImageSource.prototype=Object.create(Evented&&Evented.prototype);ImageSource.prototype.constructor=ImageSource;ImageSource.prototype.load=function load(newCoordinates,successCallback){var this$1=this;this._loaded=false;this.fire(new performance.Event("dataloading",{dataType:"source"}));this.url=this.options.url;performance.getImage(this.map._requestManager.transformRequest(this.url,performance.ResourceType.Image),(function(err,image){this$1._loaded=true;if(err){this$1.fire(new performance.ErrorEvent(err))}else if(image){this$1.image=image;if(newCoordinates){this$1.coordinates=newCoordinates}if(successCallback){successCallback()}this$1._finishLoading()}}))};ImageSource.prototype.loaded=function loaded(){return this._loaded};ImageSource.prototype.updateImage=function updateImage(options){var this$1=this;if(!this.image||!options.url){return this}this.options.url=options.url;this.load(options.coordinates,(function(){this$1.texture=null}));return this};ImageSource.prototype._finishLoading=function _finishLoading(){if(this.map){this.setCoordinates(this.coordinates);this.fire(new performance.Event("data",{dataType:"source",sourceDataType:"metadata"}))}};ImageSource.prototype.onAdd=function onAdd(map){this.map=map;this.load()};ImageSource.prototype.setCoordinates=function setCoordinates(coordinates){var this$1=this;this.coordinates=coordinates;var cornerCoords=coordinates.map(performance.MercatorCoordinate.fromLngLat);this.tileID=getCoordinatesCenterTileID(cornerCoords);this.minzoom=this.maxzoom=this.tileID.z;var tileCoords=cornerCoords.map((function(coord){return this$1.tileID.getTilePoint(coord)._round()}));this._boundsArray=new performance.StructArrayLayout4i8;this._boundsArray.emplaceBack(tileCoords[0].x,tileCoords[0].y,0,0);this._boundsArray.emplaceBack(tileCoords[1].x,tileCoords[1].y,performance.EXTENT,0);this._boundsArray.emplaceBack(tileCoords[3].x,tileCoords[3].y,0,performance.EXTENT);this._boundsArray.emplaceBack(tileCoords[2].x,tileCoords[2].y,performance.EXTENT,performance.EXTENT);if(this.boundsBuffer){this.boundsBuffer.destroy();delete this.boundsBuffer}this.fire(new performance.Event("data",{dataType:"source",sourceDataType:"content"}));return this};ImageSource.prototype.prepare=function prepare(){if(Object.keys(this.tiles).length===0||!this.image){return}var context=this.map.painter.context;var gl=context.gl;if(!this.boundsBuffer){this.boundsBuffer=context.createVertexBuffer(this._boundsArray,rasterBoundsAttributes.members)}if(!this.boundsSegments){this.boundsSegments=performance.SegmentVector.simpleSegment(0,0,4,2)}if(!this.texture){this.texture=new performance.Texture(context,this.image,gl.RGBA);this.texture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE)}for(var w in this.tiles){var tile=this.tiles[w];if(tile.state!=="loaded"){tile.state="loaded";tile.texture=this.texture}}};ImageSource.prototype.loadTile=function loadTile(tile,callback){if(this.tileID&&this.tileID.equals(tile.tileID.canonical)){this.tiles[String(tile.tileID.wrap)]=tile;tile.buckets={};callback(null)}else{tile.state="errored";callback(null)}};ImageSource.prototype.serialize=function serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}};ImageSource.prototype.hasTransition=function hasTransition(){return false};return ImageSource}(performance.Evented);function getCoordinatesCenterTileID(coords){var minX=Infinity;var minY=Infinity;var maxX=-Infinity;var maxY=-Infinity;for(var i=0,list=coords;i<list.length;i+=1){var coord=list[i];minX=Math.min(minX,coord.x);minY=Math.min(minY,coord.y);maxX=Math.max(maxX,coord.x);maxY=Math.max(maxY,coord.y)}var dx=maxX-minX;var dy=maxY-minY;var dMax=Math.max(dx,dy);var zoom=Math.max(0,Math.floor(-Math.log(dMax)/Math.LN2));var tilesAtZoom=Math.pow(2,zoom);return new performance.CanonicalTileID(zoom,Math.floor((minX+maxX)/2*tilesAtZoom),Math.floor((minY+maxY)/2*tilesAtZoom))}var VideoSource=function(ImageSource){function VideoSource(id,options,dispatcher,eventedParent){ImageSource.call(this,id,options,dispatcher,eventedParent);this.roundZoom=true;this.type="video";this.options=options}if(ImageSource)VideoSource.__proto__=ImageSource;VideoSource.prototype=Object.create(ImageSource&&ImageSource.prototype);VideoSource.prototype.constructor=VideoSource;VideoSource.prototype.load=function load(){var this$1=this;this._loaded=false;var options=this.options;this.urls=[];for(var i=0,list=options.urls;i<list.length;i+=1){var url=list[i];this.urls.push(this.map._requestManager.transformRequest(url,performance.ResourceType.Source).url)}performance.getVideo(this.urls,(function(err,video){this$1._loaded=true;if(err){this$1.fire(new performance.ErrorEvent(err))}else if(video){this$1.video=video;this$1.video.loop=true;this$1.video.addEventListener("playing",(function(){this$1.map.triggerRepaint()}));if(this$1.map){this$1.video.play()}this$1._finishLoading()}}))};VideoSource.prototype.pause=function pause(){if(this.video){this.video.pause()}};VideoSource.prototype.play=function play(){if(this.video){this.video.play()}};VideoSource.prototype.seek=function seek(seconds){if(this.video){var seekableRange=this.video.seekable;if(seconds<seekableRange.start(0)||seconds>seekableRange.end(0)){this.fire(new performance.ErrorEvent(new performance.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+seekableRange.start(0)+" and "+seekableRange.end(0)+"-second mark.")))}else{this.video.currentTime=seconds}}};VideoSource.prototype.getVideo=function getVideo(){return this.video};VideoSource.prototype.onAdd=function onAdd(map){if(this.map){return}this.map=map;this.load();if(this.video){this.video.play();this.setCoordinates(this.coordinates)}};VideoSource.prototype.prepare=function prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2){return}var context=this.map.painter.context;var gl=context.gl;if(!this.boundsBuffer){this.boundsBuffer=context.createVertexBuffer(this._boundsArray,rasterBoundsAttributes.members)}if(!this.boundsSegments){this.boundsSegments=performance.SegmentVector.simpleSegment(0,0,4,2)}if(!this.texture){this.texture=new performance.Texture(context,this.video,gl.RGBA);this.texture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE)}else if(!this.video.paused){this.texture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE);gl.texSubImage2D(gl.TEXTURE_2D,0,0,0,gl.RGBA,gl.UNSIGNED_BYTE,this.video)}for(var w in this.tiles){var tile=this.tiles[w];if(tile.state!=="loaded"){tile.state="loaded";tile.texture=this.texture}}};VideoSource.prototype.serialize=function serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}};VideoSource.prototype.hasTransition=function hasTransition(){return this.video&&!this.video.paused};return VideoSource}(ImageSource);var CanvasSource=function(ImageSource){function CanvasSource(id,options,dispatcher,eventedParent){ImageSource.call(this,id,options,dispatcher,eventedParent);if(!options.coordinates){this.fire(new performance.ErrorEvent(new performance.ValidationError("sources."+id,null,'missing required property "coordinates"')))}else if(!Array.isArray(options.coordinates)||options.coordinates.length!==4||options.coordinates.some((function(c){return!Array.isArray(c)||c.length!==2||c.some((function(l){return typeof l!=="number"}))}))){this.fire(new performance.ErrorEvent(new performance.ValidationError("sources."+id,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs')))}if(options.animate&&typeof options.animate!=="boolean"){this.fire(new performance.ErrorEvent(new performance.ValidationError("sources."+id,null,'optional "animate" property must be a boolean value')))}if(!options.canvas){this.fire(new performance.ErrorEvent(new performance.ValidationError("sources."+id,null,'missing required property "canvas"')))}else if(typeof options.canvas!=="string"&&!(options.canvas instanceof performance.window.HTMLCanvasElement)){this.fire(new performance.ErrorEvent(new performance.ValidationError("sources."+id,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance')))}this.options=options;this.animate=options.animate!==undefined?options.animate:true}if(ImageSource)CanvasSource.__proto__=ImageSource;CanvasSource.prototype=Object.create(ImageSource&&ImageSource.prototype);CanvasSource.prototype.constructor=CanvasSource;CanvasSource.prototype.load=function load(){this._loaded=true;if(!this.canvas){this.canvas=this.options.canvas instanceof performance.window.HTMLCanvasElement?this.options.canvas:performance.window.document.getElementById(this.options.canvas)}this.width=this.canvas.width;this.height=this.canvas.height;if(this._hasInvalidDimensions()){this.fire(new performance.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero.")));return}this.play=function(){this._playing=true;this.map.triggerRepaint()};this.pause=function(){if(this._playing){this.prepare();this._playing=false}};this._finishLoading()};CanvasSource.prototype.getCanvas=function getCanvas(){return this.canvas};CanvasSource.prototype.onAdd=function onAdd(map){this.map=map;this.load();if(this.canvas){if(this.animate){this.play()}}};CanvasSource.prototype.onRemove=function onRemove(){this.pause()};CanvasSource.prototype.prepare=function prepare(){var resize=false;if(this.canvas.width!==this.width){this.width=this.canvas.width;resize=true}if(this.canvas.height!==this.height){this.height=this.canvas.height;resize=true}if(this._hasInvalidDimensions()){return}if(Object.keys(this.tiles).length===0){return}var context=this.map.painter.context;var gl=context.gl;if(!this.boundsBuffer){this.boundsBuffer=context.createVertexBuffer(this._boundsArray,rasterBoundsAttributes.members)}if(!this.boundsSegments){this.boundsSegments=performance.SegmentVector.simpleSegment(0,0,4,2)}if(!this.texture){this.texture=new performance.Texture(context,this.canvas,gl.RGBA,{premultiply:true})}else if(resize||this._playing){this.texture.update(this.canvas,{premultiply:true})}for(var w in this.tiles){var tile=this.tiles[w];if(tile.state!=="loaded"){tile.state="loaded";tile.texture=this.texture}}};CanvasSource.prototype.serialize=function serialize(){return{type:"canvas",coordinates:this.coordinates}};CanvasSource.prototype.hasTransition=function hasTransition(){return this._playing};CanvasSource.prototype._hasInvalidDimensions=function _hasInvalidDimensions(){for(var i=0,list=[this.canvas.width,this.canvas.height];i<list.length;i+=1){var x=list[i];if(isNaN(x)||x<=0){return true}}return false};return CanvasSource}(ImageSource);var sourceTypes={vector:VectorTileSource,raster:RasterTileSource,"raster-dem":RasterDEMTileSource,geojson:GeoJSONSource,video:VideoSource,image:ImageSource,canvas:CanvasSource};var create=function(id,specification,dispatcher,eventedParent){var source=new sourceTypes[specification.type](id,specification,dispatcher,eventedParent);if(source.id!==id){throw new Error("Expected Source id to be "+id+" instead of "+source.id)}performance.bindAll(["load","abort","unload","serialize","prepare"],source);return source};var getType=function(name){return sourceTypes[name]};var setType=function(name,type){sourceTypes[name]=type};function getPixelPosMatrix(transform,tileID){var t=performance.identity([]);performance.translate(t,t,[1,1,0]);performance.scale(t,t,[transform.width*.5,transform.height*.5,1]);return performance.multiply(t,t,transform.calculatePosMatrix(tileID.toUnwrapped()))}function queryIncludes3DLayer(layers,styleLayers,sourceID){if(layers){for(var i=0,list=layers;i<list.length;i+=1){var layerID=list[i];var layer=styleLayers[layerID];if(layer&&layer.source===sourceID&&layer.type==="fill-extrusion"){return true}}}else{for(var key in styleLayers){var layer$1=styleLayers[key];if(layer$1.source===sourceID&&layer$1.type==="fill-extrusion"){return true}}}return false}function queryRenderedFeatures(sourceCache,styleLayers,serializedLayers,queryGeometry,params,transform){var has3DLayer=queryIncludes3DLayer(params&&params.layers,styleLayers,sourceCache.id);var maxPitchScaleFactor=transform.maxPitchScaleFactor();var tilesIn=sourceCache.tilesIn(queryGeometry,maxPitchScaleFactor,has3DLayer);tilesIn.sort(sortTilesIn);var renderedFeatureLayers=[];for(var i=0,list=tilesIn;i<list.length;i+=1){var tileIn=list[i];renderedFeatureLayers.push({wrappedTileID:tileIn.tileID.wrapped().key,queryResults:tileIn.tile.queryRenderedFeatures(styleLayers,serializedLayers,sourceCache._state,tileIn.queryGeometry,tileIn.cameraQueryGeometry,tileIn.scale,params,transform,maxPitchScaleFactor,getPixelPosMatrix(sourceCache.transform,tileIn.tileID))})}var result=mergeRenderedFeatureLayers(renderedFeatureLayers);for(var layerID in result){result[layerID].forEach((function(featureWrapper){var feature=featureWrapper.feature;var state=sourceCache.getFeatureState(feature.layer["source-layer"],feature.id);feature.source=feature.layer.source;if(feature.layer["source-layer"]){feature.sourceLayer=feature.layer["source-layer"]}feature.state=state}))}return result}function queryRenderedSymbols(styleLayers,serializedLayers,sourceCaches,queryGeometry,params,collisionIndex,retainedQueryData){var result={};var renderedSymbols=collisionIndex.queryRenderedSymbols(queryGeometry);var bucketQueryData=[];for(var i=0,list=Object.keys(renderedSymbols).map(Number);i<list.length;i+=1){var bucketInstanceId=list[i];bucketQueryData.push(retainedQueryData[bucketInstanceId])}bucketQueryData.sort(sortTilesIn);var loop=function(){var queryData=list$2[i$2];var bucketSymbols=queryData.featureIndex.lookupSymbolFeatures(renderedSymbols[queryData.bucketInstanceId],serializedLayers,queryData.bucketIndex,queryData.sourceLayerIndex,params.filter,params.layers,params.availableImages,styleLayers);for(var layerID in bucketSymbols){var resultFeatures=result[layerID]=result[layerID]||[];var layerSymbols=bucketSymbols[layerID];layerSymbols.sort((function(a,b){var featureSortOrder=queryData.featureSortOrder;if(featureSortOrder){var sortedA=featureSortOrder.indexOf(a.featureIndex);var sortedB=featureSortOrder.indexOf(b.featureIndex);return sortedB-sortedA}else{return b.featureIndex-a.featureIndex}}));for(var i$1=0,list$1=layerSymbols;i$1<list$1.length;i$1+=1){var symbolFeature=list$1[i$1];resultFeatures.push(symbolFeature)}}};for(var i$2=0,list$2=bucketQueryData;i$2<list$2.length;i$2+=1)loop();var loop$1=function(layerName){result[layerName].forEach((function(featureWrapper){var feature=featureWrapper.feature;var layer=styleLayers[layerName];var sourceCache=sourceCaches[layer.source];var state=sourceCache.getFeatureState(feature.layer["source-layer"],feature.id);feature.source=feature.layer.source;if(feature.layer["source-layer"]){feature.sourceLayer=feature.layer["source-layer"]}feature.state=state}))};for(var layerName in result)loop$1(layerName);return result}function querySourceFeatures(sourceCache,params){var tiles=sourceCache.getRenderableIds().map((function(id){return sourceCache.getTileByID(id)}));var result=[];var dataTiles={};for(var i=0;i<tiles.length;i++){var tile=tiles[i];var dataID=tile.tileID.canonical.key;if(!dataTiles[dataID]){dataTiles[dataID]=true;tile.querySourceFeatures(result,params)}}return result}function sortTilesIn(a,b){var idA=a.tileID;var idB=b.tileID;return idA.overscaledZ-idB.overscaledZ||idA.canonical.y-idB.canonical.y||idA.wrap-idB.wrap||idA.canonical.x-idB.canonical.x}function mergeRenderedFeatureLayers(tiles){var result={};var wrappedIDLayerMap={};for(var i$1=0,list$1=tiles;i$1<list$1.length;i$1+=1){var tile=list$1[i$1];var queryResults=tile.queryResults;var wrappedID=tile.wrappedTileID;var wrappedIDLayers=wrappedIDLayerMap[wrappedID]=wrappedIDLayerMap[wrappedID]||{};for(var layerID in queryResults){var tileFeatures=queryResults[layerID];var wrappedIDFeatures=wrappedIDLayers[layerID]=wrappedIDLayers[layerID]||{};var resultFeatures=result[layerID]=result[layerID]||[];for(var i=0,list=tileFeatures;i<list.length;i+=1){var tileFeature=list[i];if(!wrappedIDFeatures[tileFeature.featureIndex]){wrappedIDFeatures[tileFeature.featureIndex]=true;resultFeatures.push(tileFeature)}}}}return result}var TileCache=function TileCache(max,onRemove){this.max=max;this.onRemove=onRemove;this.reset()};TileCache.prototype.reset=function reset(){for(var key in this.data){for(var i=0,list=this.data[key];i<list.length;i+=1){var removedData=list[i];if(removedData.timeout){clearTimeout(removedData.timeout)}this.onRemove(removedData.value)}}this.data={};this.order=[];return this};TileCache.prototype.add=function add(tileID,data,expiryTimeout){var this$1=this;var key=tileID.wrapped().key;if(this.data[key]===undefined){this.data[key]=[]}var dataWrapper={value:data,timeout:undefined};if(expiryTimeout!==undefined){dataWrapper.timeout=setTimeout((function(){this$1.remove(tileID,dataWrapper)}),expiryTimeout)}this.data[key].push(dataWrapper);this.order.push(key);if(this.order.length>this.max){var removedData=this._getAndRemoveByKey(this.order[0]);if(removedData){this.onRemove(removedData)}}return this};TileCache.prototype.has=function has(tileID){return tileID.wrapped().key in this.data};TileCache.prototype.getAndRemove=function getAndRemove(tileID){if(!this.has(tileID)){return null}return this._getAndRemoveByKey(tileID.wrapped().key)};TileCache.prototype._getAndRemoveByKey=function _getAndRemoveByKey(key){var data=this.data[key].shift();if(data.timeout){clearTimeout(data.timeout)}if(this.data[key].length===0){delete this.data[key]}this.order.splice(this.order.indexOf(key),1);return data.value};TileCache.prototype.getByKey=function getByKey(key){var data=this.data[key];return data?data[0].value:null};TileCache.prototype.get=function get(tileID){if(!this.has(tileID)){return null}var data=this.data[tileID.wrapped().key][0];return data.value};TileCache.prototype.remove=function remove(tileID,value){if(!this.has(tileID)){return this}var key=tileID.wrapped().key;var dataIndex=value===undefined?0:this.data[key].indexOf(value);var data=this.data[key][dataIndex];this.data[key].splice(dataIndex,1);if(data.timeout){clearTimeout(data.timeout)}if(this.data[key].length===0){delete this.data[key]}this.onRemove(data.value);this.order.splice(this.order.indexOf(key),1);return this};TileCache.prototype.setMaxSize=function setMaxSize(max){this.max=max;while(this.order.length>this.max){var removedData=this._getAndRemoveByKey(this.order[0]);if(removedData){this.onRemove(removedData)}}return this};TileCache.prototype.filter=function filter(filterFn){var removed=[];for(var key in this.data){for(var i=0,list=this.data[key];i<list.length;i+=1){var entry=list[i];if(!filterFn(entry.value)){removed.push(entry)}}}for(var i$1=0,list$1=removed;i$1<list$1.length;i$1+=1){var r=list$1[i$1];this.remove(r.value.tileID,r)}};var IndexBuffer=function IndexBuffer(context,array,dynamicDraw){this.context=context;var gl=context.gl;this.buffer=gl.createBuffer();this.dynamicDraw=Boolean(dynamicDraw);this.context.unbindVAO();context.bindElementBuffer.set(this.buffer);gl.bufferData(gl.ELEMENT_ARRAY_BUFFER,array.arrayBuffer,this.dynamicDraw?gl.DYNAMIC_DRAW:gl.STATIC_DRAW);if(!this.dynamicDraw){delete array.arrayBuffer}};IndexBuffer.prototype.bind=function bind(){this.context.bindElementBuffer.set(this.buffer)};IndexBuffer.prototype.updateData=function updateData(array){var gl=this.context.gl;this.context.unbindVAO();this.bind();gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER,0,array.arrayBuffer)};IndexBuffer.prototype.destroy=function destroy(){var gl=this.context.gl;if(this.buffer){gl.deleteBuffer(this.buffer);delete this.buffer}};var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};var VertexBuffer=function VertexBuffer(context,array,attributes,dynamicDraw){this.length=array.length;this.attributes=attributes;this.itemSize=array.bytesPerElement;this.dynamicDraw=dynamicDraw;this.context=context;var gl=context.gl;this.buffer=gl.createBuffer();context.bindVertexBuffer.set(this.buffer);gl.bufferData(gl.ARRAY_BUFFER,array.arrayBuffer,this.dynamicDraw?gl.DYNAMIC_DRAW:gl.STATIC_DRAW);if(!this.dynamicDraw){delete array.arrayBuffer}};VertexBuffer.prototype.bind=function bind(){this.context.bindVertexBuffer.set(this.buffer)};VertexBuffer.prototype.updateData=function updateData(array){var gl=this.context.gl;this.bind();gl.bufferSubData(gl.ARRAY_BUFFER,0,array.arrayBuffer)};VertexBuffer.prototype.enableAttributes=function enableAttributes(gl,program){for(var j=0;j<this.attributes.length;j++){var member=this.attributes[j];var attribIndex=program.attributes[member.name];if(attribIndex!==undefined){gl.enableVertexAttribArray(attribIndex)}}};VertexBuffer.prototype.setVertexAttribPointers=function setVertexAttribPointers(gl,program,vertexOffset){for(var j=0;j<this.attributes.length;j++){var member=this.attributes[j];var attribIndex=program.attributes[member.name];if(attribIndex!==undefined){gl.vertexAttribPointer(attribIndex,member.components,gl[AttributeType[member.type]],false,this.itemSize,member.offset+this.itemSize*(vertexOffset||0))}}};VertexBuffer.prototype.destroy=function destroy(){var gl=this.context.gl;if(this.buffer){gl.deleteBuffer(this.buffer);delete this.buffer}};var BaseValue=function BaseValue(context){this.gl=context.gl;this.default=this.getDefault();this.current=this.default;this.dirty=false};BaseValue.prototype.get=function get(){return this.current};BaseValue.prototype.set=function set(value){};BaseValue.prototype.getDefault=function getDefault(){return this.default};BaseValue.prototype.setDefault=function setDefault(){this.set(this.default)};var ClearColor=function(BaseValue){function ClearColor(){BaseValue.apply(this,arguments)}if(BaseValue)ClearColor.__proto__=BaseValue;ClearColor.prototype=Object.create(BaseValue&&BaseValue.prototype);ClearColor.prototype.constructor=ClearColor;ClearColor.prototype.getDefault=function getDefault(){return performance.Color.transparent};ClearColor.prototype.set=function set(v){var c=this.current;if(v.r===c.r&&v.g===c.g&&v.b===c.b&&v.a===c.a&&!this.dirty){return}this.gl.clearColor(v.r,v.g,v.b,v.a);this.current=v;this.dirty=false};return ClearColor}(BaseValue);var ClearDepth=function(BaseValue){function ClearDepth(){BaseValue.apply(this,arguments)}if(BaseValue)ClearDepth.__proto__=BaseValue;ClearDepth.prototype=Object.create(BaseValue&&BaseValue.prototype);ClearDepth.prototype.constructor=ClearDepth;ClearDepth.prototype.getDefault=function getDefault(){return 1};ClearDepth.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.clearDepth(v);this.current=v;this.dirty=false};return ClearDepth}(BaseValue);var ClearStencil=function(BaseValue){function ClearStencil(){BaseValue.apply(this,arguments)}if(BaseValue)ClearStencil.__proto__=BaseValue;ClearStencil.prototype=Object.create(BaseValue&&BaseValue.prototype);ClearStencil.prototype.constructor=ClearStencil;ClearStencil.prototype.getDefault=function getDefault(){return 0};ClearStencil.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.clearStencil(v);this.current=v;this.dirty=false};return ClearStencil}(BaseValue);var ColorMask=function(BaseValue){function ColorMask(){BaseValue.apply(this,arguments)}if(BaseValue)ColorMask.__proto__=BaseValue;ColorMask.prototype=Object.create(BaseValue&&BaseValue.prototype);ColorMask.prototype.constructor=ColorMask;ColorMask.prototype.getDefault=function getDefault(){return[true,true,true,true]};ColorMask.prototype.set=function set(v){var c=this.current;if(v[0]===c[0]&&v[1]===c[1]&&v[2]===c[2]&&v[3]===c[3]&&!this.dirty){return}this.gl.colorMask(v[0],v[1],v[2],v[3]);this.current=v;this.dirty=false};return ColorMask}(BaseValue);var DepthMask=function(BaseValue){function DepthMask(){BaseValue.apply(this,arguments)}if(BaseValue)DepthMask.__proto__=BaseValue;DepthMask.prototype=Object.create(BaseValue&&BaseValue.prototype);DepthMask.prototype.constructor=DepthMask;DepthMask.prototype.getDefault=function getDefault(){return true};DepthMask.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.depthMask(v);this.current=v;this.dirty=false};return DepthMask}(BaseValue);var StencilMask=function(BaseValue){function StencilMask(){BaseValue.apply(this,arguments)}if(BaseValue)StencilMask.__proto__=BaseValue;StencilMask.prototype=Object.create(BaseValue&&BaseValue.prototype);StencilMask.prototype.constructor=StencilMask;StencilMask.prototype.getDefault=function getDefault(){return 255};StencilMask.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.stencilMask(v);this.current=v;this.dirty=false};return StencilMask}(BaseValue);var StencilFunc=function(BaseValue){function StencilFunc(){BaseValue.apply(this,arguments)}if(BaseValue)StencilFunc.__proto__=BaseValue;StencilFunc.prototype=Object.create(BaseValue&&BaseValue.prototype);StencilFunc.prototype.constructor=StencilFunc;StencilFunc.prototype.getDefault=function getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}};StencilFunc.prototype.set=function set(v){var c=this.current;if(v.func===c.func&&v.ref===c.ref&&v.mask===c.mask&&!this.dirty){return}this.gl.stencilFunc(v.func,v.ref,v.mask);this.current=v;this.dirty=false};return StencilFunc}(BaseValue);var StencilOp=function(BaseValue){function StencilOp(){BaseValue.apply(this,arguments)}if(BaseValue)StencilOp.__proto__=BaseValue;StencilOp.prototype=Object.create(BaseValue&&BaseValue.prototype);StencilOp.prototype.constructor=StencilOp;StencilOp.prototype.getDefault=function getDefault(){var gl=this.gl;return[gl.KEEP,gl.KEEP,gl.KEEP]};StencilOp.prototype.set=function set(v){var c=this.current;if(v[0]===c[0]&&v[1]===c[1]&&v[2]===c[2]&&!this.dirty){return}this.gl.stencilOp(v[0],v[1],v[2]);this.current=v;this.dirty=false};return StencilOp}(BaseValue);var StencilTest=function(BaseValue){function StencilTest(){BaseValue.apply(this,arguments)}if(BaseValue)StencilTest.__proto__=BaseValue;StencilTest.prototype=Object.create(BaseValue&&BaseValue.prototype);StencilTest.prototype.constructor=StencilTest;StencilTest.prototype.getDefault=function getDefault(){return false};StencilTest.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;if(v){gl.enable(gl.STENCIL_TEST)}else{gl.disable(gl.STENCIL_TEST)}this.current=v;this.dirty=false};return StencilTest}(BaseValue);var DepthRange=function(BaseValue){function DepthRange(){BaseValue.apply(this,arguments)}if(BaseValue)DepthRange.__proto__=BaseValue;DepthRange.prototype=Object.create(BaseValue&&BaseValue.prototype);DepthRange.prototype.constructor=DepthRange;DepthRange.prototype.getDefault=function getDefault(){return[0,1]};DepthRange.prototype.set=function set(v){var c=this.current;if(v[0]===c[0]&&v[1]===c[1]&&!this.dirty){return}this.gl.depthRange(v[0],v[1]);this.current=v;this.dirty=false};return DepthRange}(BaseValue);var DepthTest=function(BaseValue){function DepthTest(){BaseValue.apply(this,arguments)}if(BaseValue)DepthTest.__proto__=BaseValue;DepthTest.prototype=Object.create(BaseValue&&BaseValue.prototype);DepthTest.prototype.constructor=DepthTest;DepthTest.prototype.getDefault=function getDefault(){return false};DepthTest.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;if(v){gl.enable(gl.DEPTH_TEST)}else{gl.disable(gl.DEPTH_TEST)}this.current=v;this.dirty=false};return DepthTest}(BaseValue);var DepthFunc=function(BaseValue){function DepthFunc(){BaseValue.apply(this,arguments)}if(BaseValue)DepthFunc.__proto__=BaseValue;DepthFunc.prototype=Object.create(BaseValue&&BaseValue.prototype);DepthFunc.prototype.constructor=DepthFunc;DepthFunc.prototype.getDefault=function getDefault(){return this.gl.LESS};DepthFunc.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.depthFunc(v);this.current=v;this.dirty=false};return DepthFunc}(BaseValue);var Blend=function(BaseValue){function Blend(){BaseValue.apply(this,arguments)}if(BaseValue)Blend.__proto__=BaseValue;Blend.prototype=Object.create(BaseValue&&BaseValue.prototype);Blend.prototype.constructor=Blend;Blend.prototype.getDefault=function getDefault(){return false};Blend.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;if(v){gl.enable(gl.BLEND)}else{gl.disable(gl.BLEND)}this.current=v;this.dirty=false};return Blend}(BaseValue);var BlendFunc=function(BaseValue){function BlendFunc(){BaseValue.apply(this,arguments)}if(BaseValue)BlendFunc.__proto__=BaseValue;BlendFunc.prototype=Object.create(BaseValue&&BaseValue.prototype);BlendFunc.prototype.constructor=BlendFunc;BlendFunc.prototype.getDefault=function getDefault(){var gl=this.gl;return[gl.ONE,gl.ZERO]};BlendFunc.prototype.set=function set(v){var c=this.current;if(v[0]===c[0]&&v[1]===c[1]&&!this.dirty){return}this.gl.blendFunc(v[0],v[1]);this.current=v;this.dirty=false};return BlendFunc}(BaseValue);var BlendColor=function(BaseValue){function BlendColor(){BaseValue.apply(this,arguments)}if(BaseValue)BlendColor.__proto__=BaseValue;BlendColor.prototype=Object.create(BaseValue&&BaseValue.prototype);BlendColor.prototype.constructor=BlendColor;BlendColor.prototype.getDefault=function getDefault(){return performance.Color.transparent};BlendColor.prototype.set=function set(v){var c=this.current;if(v.r===c.r&&v.g===c.g&&v.b===c.b&&v.a===c.a&&!this.dirty){return}this.gl.blendColor(v.r,v.g,v.b,v.a);this.current=v;this.dirty=false};return BlendColor}(BaseValue);var BlendEquation=function(BaseValue){function BlendEquation(){BaseValue.apply(this,arguments)}if(BaseValue)BlendEquation.__proto__=BaseValue;BlendEquation.prototype=Object.create(BaseValue&&BaseValue.prototype);BlendEquation.prototype.constructor=BlendEquation;BlendEquation.prototype.getDefault=function getDefault(){return this.gl.FUNC_ADD};BlendEquation.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.blendEquation(v);this.current=v;this.dirty=false};return BlendEquation}(BaseValue);var CullFace=function(BaseValue){function CullFace(){BaseValue.apply(this,arguments)}if(BaseValue)CullFace.__proto__=BaseValue;CullFace.prototype=Object.create(BaseValue&&BaseValue.prototype);CullFace.prototype.constructor=CullFace;CullFace.prototype.getDefault=function getDefault(){return false};CullFace.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;if(v){gl.enable(gl.CULL_FACE)}else{gl.disable(gl.CULL_FACE)}this.current=v;this.dirty=false};return CullFace}(BaseValue);var CullFaceSide=function(BaseValue){function CullFaceSide(){BaseValue.apply(this,arguments)}if(BaseValue)CullFaceSide.__proto__=BaseValue;CullFaceSide.prototype=Object.create(BaseValue&&BaseValue.prototype);CullFaceSide.prototype.constructor=CullFaceSide;CullFaceSide.prototype.getDefault=function getDefault(){return this.gl.BACK};CullFaceSide.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.cullFace(v);this.current=v;this.dirty=false};return CullFaceSide}(BaseValue);var FrontFace=function(BaseValue){function FrontFace(){BaseValue.apply(this,arguments)}if(BaseValue)FrontFace.__proto__=BaseValue;FrontFace.prototype=Object.create(BaseValue&&BaseValue.prototype);FrontFace.prototype.constructor=FrontFace;FrontFace.prototype.getDefault=function getDefault(){return this.gl.CCW};FrontFace.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.frontFace(v);this.current=v;this.dirty=false};return FrontFace}(BaseValue);var Program=function(BaseValue){function Program(){BaseValue.apply(this,arguments)}if(BaseValue)Program.__proto__=BaseValue;Program.prototype=Object.create(BaseValue&&BaseValue.prototype);Program.prototype.constructor=Program;Program.prototype.getDefault=function getDefault(){return null};Program.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.useProgram(v);this.current=v;this.dirty=false};return Program}(BaseValue);var ActiveTextureUnit=function(BaseValue){function ActiveTextureUnit(){BaseValue.apply(this,arguments)}if(BaseValue)ActiveTextureUnit.__proto__=BaseValue;ActiveTextureUnit.prototype=Object.create(BaseValue&&BaseValue.prototype);ActiveTextureUnit.prototype.constructor=ActiveTextureUnit;ActiveTextureUnit.prototype.getDefault=function getDefault(){return this.gl.TEXTURE0};ActiveTextureUnit.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.gl.activeTexture(v);this.current=v;this.dirty=false};return ActiveTextureUnit}(BaseValue);var Viewport=function(BaseValue){function Viewport(){BaseValue.apply(this,arguments)}if(BaseValue)Viewport.__proto__=BaseValue;Viewport.prototype=Object.create(BaseValue&&BaseValue.prototype);Viewport.prototype.constructor=Viewport;Viewport.prototype.getDefault=function getDefault(){var gl=this.gl;return[0,0,gl.drawingBufferWidth,gl.drawingBufferHeight]};Viewport.prototype.set=function set(v){var c=this.current;if(v[0]===c[0]&&v[1]===c[1]&&v[2]===c[2]&&v[3]===c[3]&&!this.dirty){return}this.gl.viewport(v[0],v[1],v[2],v[3]);this.current=v;this.dirty=false};return Viewport}(BaseValue);var BindFramebuffer=function(BaseValue){function BindFramebuffer(){BaseValue.apply(this,arguments)}if(BaseValue)BindFramebuffer.__proto__=BaseValue;BindFramebuffer.prototype=Object.create(BaseValue&&BaseValue.prototype);BindFramebuffer.prototype.constructor=BindFramebuffer;BindFramebuffer.prototype.getDefault=function getDefault(){return null};BindFramebuffer.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;gl.bindFramebuffer(gl.FRAMEBUFFER,v);this.current=v;this.dirty=false};return BindFramebuffer}(BaseValue);var BindRenderbuffer=function(BaseValue){function BindRenderbuffer(){BaseValue.apply(this,arguments)}if(BaseValue)BindRenderbuffer.__proto__=BaseValue;BindRenderbuffer.prototype=Object.create(BaseValue&&BaseValue.prototype);BindRenderbuffer.prototype.constructor=BindRenderbuffer;BindRenderbuffer.prototype.getDefault=function getDefault(){return null};BindRenderbuffer.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;gl.bindRenderbuffer(gl.RENDERBUFFER,v);this.current=v;this.dirty=false};return BindRenderbuffer}(BaseValue);var BindTexture=function(BaseValue){function BindTexture(){BaseValue.apply(this,arguments)}if(BaseValue)BindTexture.__proto__=BaseValue;BindTexture.prototype=Object.create(BaseValue&&BaseValue.prototype);BindTexture.prototype.constructor=BindTexture;BindTexture.prototype.getDefault=function getDefault(){return null};BindTexture.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;gl.bindTexture(gl.TEXTURE_2D,v);this.current=v;this.dirty=false};return BindTexture}(BaseValue);var BindVertexBuffer=function(BaseValue){function BindVertexBuffer(){BaseValue.apply(this,arguments)}if(BaseValue)BindVertexBuffer.__proto__=BaseValue;BindVertexBuffer.prototype=Object.create(BaseValue&&BaseValue.prototype);BindVertexBuffer.prototype.constructor=BindVertexBuffer;BindVertexBuffer.prototype.getDefault=function getDefault(){return null};BindVertexBuffer.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;gl.bindBuffer(gl.ARRAY_BUFFER,v);this.current=v;this.dirty=false};return BindVertexBuffer}(BaseValue);var BindElementBuffer=function(BaseValue){function BindElementBuffer(){BaseValue.apply(this,arguments)}if(BaseValue)BindElementBuffer.__proto__=BaseValue;BindElementBuffer.prototype=Object.create(BaseValue&&BaseValue.prototype);BindElementBuffer.prototype.constructor=BindElementBuffer;BindElementBuffer.prototype.getDefault=function getDefault(){return null};BindElementBuffer.prototype.set=function set(v){var gl=this.gl;gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,v);this.current=v;this.dirty=false};return BindElementBuffer}(BaseValue);var BindVertexArrayOES=function(BaseValue){function BindVertexArrayOES(context){BaseValue.call(this,context);this.vao=context.extVertexArrayObject}if(BaseValue)BindVertexArrayOES.__proto__=BaseValue;BindVertexArrayOES.prototype=Object.create(BaseValue&&BaseValue.prototype);BindVertexArrayOES.prototype.constructor=BindVertexArrayOES;BindVertexArrayOES.prototype.getDefault=function getDefault(){return null};BindVertexArrayOES.prototype.set=function set(v){if(!this.vao||v===this.current&&!this.dirty){return}this.vao.bindVertexArrayOES(v);this.current=v;this.dirty=false};return BindVertexArrayOES}(BaseValue);var PixelStoreUnpack=function(BaseValue){function PixelStoreUnpack(){BaseValue.apply(this,arguments)}if(BaseValue)PixelStoreUnpack.__proto__=BaseValue;PixelStoreUnpack.prototype=Object.create(BaseValue&&BaseValue.prototype);PixelStoreUnpack.prototype.constructor=PixelStoreUnpack;PixelStoreUnpack.prototype.getDefault=function getDefault(){return 4};PixelStoreUnpack.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;gl.pixelStorei(gl.UNPACK_ALIGNMENT,v);this.current=v;this.dirty=false};return PixelStoreUnpack}(BaseValue);var PixelStoreUnpackPremultiplyAlpha=function(BaseValue){function PixelStoreUnpackPremultiplyAlpha(){BaseValue.apply(this,arguments)}if(BaseValue)PixelStoreUnpackPremultiplyAlpha.__proto__=BaseValue;PixelStoreUnpackPremultiplyAlpha.prototype=Object.create(BaseValue&&BaseValue.prototype);PixelStoreUnpackPremultiplyAlpha.prototype.constructor=PixelStoreUnpackPremultiplyAlpha;PixelStoreUnpackPremultiplyAlpha.prototype.getDefault=function getDefault(){return false};PixelStoreUnpackPremultiplyAlpha.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,v);this.current=v;this.dirty=false};return PixelStoreUnpackPremultiplyAlpha}(BaseValue);var PixelStoreUnpackFlipY=function(BaseValue){function PixelStoreUnpackFlipY(){BaseValue.apply(this,arguments)}if(BaseValue)PixelStoreUnpackFlipY.__proto__=BaseValue;PixelStoreUnpackFlipY.prototype=Object.create(BaseValue&&BaseValue.prototype);PixelStoreUnpackFlipY.prototype.constructor=PixelStoreUnpackFlipY;PixelStoreUnpackFlipY.prototype.getDefault=function getDefault(){return false};PixelStoreUnpackFlipY.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}var gl=this.gl;gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL,v);this.current=v;this.dirty=false};return PixelStoreUnpackFlipY}(BaseValue);var FramebufferAttachment=function(BaseValue){function FramebufferAttachment(context,parent){BaseValue.call(this,context);this.context=context;this.parent=parent}if(BaseValue)FramebufferAttachment.__proto__=BaseValue;FramebufferAttachment.prototype=Object.create(BaseValue&&BaseValue.prototype);FramebufferAttachment.prototype.constructor=FramebufferAttachment;FramebufferAttachment.prototype.getDefault=function getDefault(){return null};return FramebufferAttachment}(BaseValue);var ColorAttachment=function(FramebufferAttachment){function ColorAttachment(){FramebufferAttachment.apply(this,arguments)}if(FramebufferAttachment)ColorAttachment.__proto__=FramebufferAttachment;ColorAttachment.prototype=Object.create(FramebufferAttachment&&FramebufferAttachment.prototype);ColorAttachment.prototype.constructor=ColorAttachment;ColorAttachment.prototype.setDirty=function setDirty(){this.dirty=true};ColorAttachment.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.context.bindFramebuffer.set(this.parent);var gl=this.gl;gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,v,0);this.current=v;this.dirty=false};return ColorAttachment}(FramebufferAttachment);var DepthAttachment=function(FramebufferAttachment){function DepthAttachment(){FramebufferAttachment.apply(this,arguments)}if(FramebufferAttachment)DepthAttachment.__proto__=FramebufferAttachment;DepthAttachment.prototype=Object.create(FramebufferAttachment&&FramebufferAttachment.prototype);DepthAttachment.prototype.constructor=DepthAttachment;DepthAttachment.prototype.set=function set(v){if(v===this.current&&!this.dirty){return}this.context.bindFramebuffer.set(this.parent);var gl=this.gl;gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.DEPTH_ATTACHMENT,gl.RENDERBUFFER,v);this.current=v;this.dirty=false};return DepthAttachment}(FramebufferAttachment);var Framebuffer=function Framebuffer(context,width,height,hasDepth){this.context=context;this.width=width;this.height=height;var gl=context.gl;var fbo=this.framebuffer=gl.createFramebuffer();this.colorAttachment=new ColorAttachment(context,fbo);if(hasDepth){this.depthAttachment=new DepthAttachment(context,fbo)}};Framebuffer.prototype.destroy=function destroy(){var gl=this.context.gl;var texture=this.colorAttachment.get();if(texture){gl.deleteTexture(texture)}if(this.depthAttachment){var renderbuffer=this.depthAttachment.get();if(renderbuffer){gl.deleteRenderbuffer(renderbuffer)}}gl.deleteFramebuffer(this.framebuffer)};var ALWAYS=519;var DepthMode=function DepthMode(depthFunc,depthMask,depthRange){this.func=depthFunc;this.mask=depthMask;this.range=depthRange};DepthMode.ReadOnly=false;DepthMode.ReadWrite=true;DepthMode.disabled=new DepthMode(ALWAYS,DepthMode.ReadOnly,[0,1]);var ALWAYS$1=519;var KEEP=7680;var StencilMode=function StencilMode(test,ref,mask,fail,depthFail,pass){this.test=test;this.ref=ref;this.mask=mask;this.fail=fail;this.depthFail=depthFail;this.pass=pass};StencilMode.disabled=new StencilMode({func:ALWAYS$1,mask:0},0,0,KEEP,KEEP,KEEP);var ZERO=0;var ONE=1;var ONE_MINUS_SRC_ALPHA=771;var ColorMode=function ColorMode(blendFunction,blendColor,mask){this.blendFunction=blendFunction;this.blendColor=blendColor;this.mask=mask};ColorMode.Replace=[ONE,ZERO];ColorMode.disabled=new ColorMode(ColorMode.Replace,performance.Color.transparent,[false,false,false,false]);ColorMode.unblended=new ColorMode(ColorMode.Replace,performance.Color.transparent,[true,true,true,true]);ColorMode.alphaBlended=new ColorMode([ONE,ONE_MINUS_SRC_ALPHA],performance.Color.transparent,[true,true,true,true]);var BACK=1029;var CCW=2305;var CullFaceMode=function CullFaceMode(enable,mode,frontFace){this.enable=enable;this.mode=mode;this.frontFace=frontFace};CullFaceMode.disabled=new CullFaceMode(false,BACK,CCW);CullFaceMode.backCCW=new CullFaceMode(true,BACK,CCW);var Context=function Context(gl){this.gl=gl;this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object");this.clearColor=new ClearColor(this);this.clearDepth=new ClearDepth(this);this.clearStencil=new ClearStencil(this);this.colorMask=new ColorMask(this);this.depthMask=new DepthMask(this);this.stencilMask=new StencilMask(this);this.stencilFunc=new StencilFunc(this);this.stencilOp=new StencilOp(this);this.stencilTest=new StencilTest(this);this.depthRange=new DepthRange(this);this.depthTest=new DepthTest(this);this.depthFunc=new DepthFunc(this);this.blend=new Blend(this);this.blendFunc=new BlendFunc(this);this.blendColor=new BlendColor(this);this.blendEquation=new BlendEquation(this);this.cullFace=new CullFace(this);this.cullFaceSide=new CullFaceSide(this);this.frontFace=new FrontFace(this);this.program=new Program(this);this.activeTexture=new ActiveTextureUnit(this);this.viewport=new Viewport(this);this.bindFramebuffer=new BindFramebuffer(this);this.bindRenderbuffer=new BindRenderbuffer(this);this.bindTexture=new BindTexture(this);this.bindVertexBuffer=new BindVertexBuffer(this);this.bindElementBuffer=new BindElementBuffer(this);this.bindVertexArrayOES=this.extVertexArrayObject&&new BindVertexArrayOES(this);this.pixelStoreUnpack=new PixelStoreUnpack(this);this.pixelStoreUnpackPremultiplyAlpha=new PixelStoreUnpackPremultiplyAlpha(this);this.pixelStoreUnpackFlipY=new PixelStoreUnpackFlipY(this);this.extTextureFilterAnisotropic=gl.getExtension("EXT_texture_filter_anisotropic")||gl.getExtension("MOZ_EXT_texture_filter_anisotropic")||gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic");if(this.extTextureFilterAnisotropic){this.extTextureFilterAnisotropicMax=gl.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}this.extTextureHalfFloat=gl.getExtension("OES_texture_half_float");if(this.extTextureHalfFloat){gl.getExtension("OES_texture_half_float_linear");this.extRenderToTextureHalfFloat=gl.getExtension("EXT_color_buffer_half_float")}this.extTimerQuery=gl.getExtension("EXT_disjoint_timer_query")};Context.prototype.setDefault=function setDefault(){this.unbindVAO();this.clearColor.setDefault();this.clearDepth.setDefault();this.clearStencil.setDefault();this.colorMask.setDefault();this.depthMask.setDefault();this.stencilMask.setDefault();this.stencilFunc.setDefault();this.stencilOp.setDefault();this.stencilTest.setDefault();this.depthRange.setDefault();this.depthTest.setDefault();this.depthFunc.setDefault();this.blend.setDefault();this.blendFunc.setDefault();this.blendColor.setDefault();this.blendEquation.setDefault();this.cullFace.setDefault();this.cullFaceSide.setDefault();this.frontFace.setDefault();this.program.setDefault();this.activeTexture.setDefault();this.bindFramebuffer.setDefault();this.pixelStoreUnpack.setDefault();this.pixelStoreUnpackPremultiplyAlpha.setDefault();this.pixelStoreUnpackFlipY.setDefault()};Context.prototype.setDirty=function setDirty(){this.clearColor.dirty=true;this.clearDepth.dirty=true;this.clearStencil.dirty=true;this.colorMask.dirty=true;this.depthMask.dirty=true;this.stencilMask.dirty=true;this.stencilFunc.dirty=true;this.stencilOp.dirty=true;this.stencilTest.dirty=true;this.depthRange.dirty=true;this.depthTest.dirty=true;this.depthFunc.dirty=true;this.blend.dirty=true;this.blendFunc.dirty=true;this.blendColor.dirty=true;this.blendEquation.dirty=true;this.cullFace.dirty=true;this.cullFaceSide.dirty=true;this.frontFace.dirty=true;this.program.dirty=true;this.activeTexture.dirty=true;this.viewport.dirty=true;this.bindFramebuffer.dirty=true;this.bindRenderbuffer.dirty=true;this.bindTexture.dirty=true;this.bindVertexBuffer.dirty=true;this.bindElementBuffer.dirty=true;if(this.extVertexArrayObject){this.bindVertexArrayOES.dirty=true}this.pixelStoreUnpack.dirty=true;this.pixelStoreUnpackPremultiplyAlpha.dirty=true;this.pixelStoreUnpackFlipY.dirty=true};Context.prototype.createIndexBuffer=function createIndexBuffer(array,dynamicDraw){return new IndexBuffer(this,array,dynamicDraw)};Context.prototype.createVertexBuffer=function createVertexBuffer(array,attributes,dynamicDraw){return new VertexBuffer(this,array,attributes,dynamicDraw)};Context.prototype.createRenderbuffer=function createRenderbuffer(storageFormat,width,height){var gl=this.gl;var rbo=gl.createRenderbuffer();this.bindRenderbuffer.set(rbo);gl.renderbufferStorage(gl.RENDERBUFFER,storageFormat,width,height);this.bindRenderbuffer.set(null);return rbo};Context.prototype.createFramebuffer=function createFramebuffer(width,height,hasDepth){return new Framebuffer(this,width,height,hasDepth)};Context.prototype.clear=function clear(ref){var color=ref.color;var depth=ref.depth;var gl=this.gl;var mask=0;if(color){mask|=gl.COLOR_BUFFER_BIT;this.clearColor.set(color);this.colorMask.set([true,true,true,true])}if(typeof depth!=="undefined"){mask|=gl.DEPTH_BUFFER_BIT;this.depthRange.set([0,1]);this.clearDepth.set(depth);this.depthMask.set(true)}gl.clear(mask)};Context.prototype.setCullFace=function setCullFace(cullFaceMode){if(cullFaceMode.enable===false){this.cullFace.set(false)}else{this.cullFace.set(true);this.cullFaceSide.set(cullFaceMode.mode);this.frontFace.set(cullFaceMode.frontFace)}};Context.prototype.setDepthMode=function setDepthMode(depthMode){if(depthMode.func===this.gl.ALWAYS&&!depthMode.mask){this.depthTest.set(false)}else{this.depthTest.set(true);this.depthFunc.set(depthMode.func);this.depthMask.set(depthMode.mask);this.depthRange.set(depthMode.range)}};Context.prototype.setStencilMode=function setStencilMode(stencilMode){if(stencilMode.test.func===this.gl.ALWAYS&&!stencilMode.mask){this.stencilTest.set(false)}else{this.stencilTest.set(true);this.stencilMask.set(stencilMode.mask);this.stencilOp.set([stencilMode.fail,stencilMode.depthFail,stencilMode.pass]);this.stencilFunc.set({func:stencilMode.test.func,ref:stencilMode.ref,mask:stencilMode.test.mask})}};Context.prototype.setColorMode=function setColorMode(colorMode){if(performance.deepEqual(colorMode.blendFunction,ColorMode.Replace)){this.blend.set(false)}else{this.blend.set(true);this.blendFunc.set(colorMode.blendFunction);this.blendColor.set(colorMode.blendColor)}this.colorMask.set(colorMode.mask)};Context.prototype.unbindVAO=function unbindVAO(){if(this.extVertexArrayObject){this.bindVertexArrayOES.set(null)}};var SourceCache=function(Evented){function SourceCache(id,options,dispatcher){var this$1=this;Evented.call(this);this.id=id;this.dispatcher=dispatcher;this.on("data",(function(e){if(e.dataType==="source"&&e.sourceDataType==="metadata"){this$1._sourceLoaded=true}if(this$1._sourceLoaded&&!this$1._paused&&e.dataType==="source"&&e.sourceDataType==="content"){this$1.reload();if(this$1.transform){this$1.update(this$1.transform)}}}));this.on("error",(function(){this$1._sourceErrored=true}));this._source=create(id,options,dispatcher,this);this._tiles={};this._cache=new TileCache(0,this._unloadTile.bind(this));this._timers={};this._cacheTimers={};this._maxTileCacheSize=null;this._loadedParentTiles={};this._coveredTiles={};this._state=new performance.SourceFeatureState}if(Evented)SourceCache.__proto__=Evented;SourceCache.prototype=Object.create(Evented&&Evented.prototype);SourceCache.prototype.constructor=SourceCache;SourceCache.prototype.onAdd=function onAdd(map){this.map=map;this._maxTileCacheSize=map?map._maxTileCacheSize:null;if(this._source&&this._source.onAdd){this._source.onAdd(map)}};SourceCache.prototype.onRemove=function onRemove(map){if(this._source&&this._source.onRemove){this._source.onRemove(map)}};SourceCache.prototype.loaded=function loaded(){if(this._sourceErrored){return true}if(!this._sourceLoaded){return false}if(!this._source.loaded()){return false}for(var t in this._tiles){var tile=this._tiles[t];if(tile.state!=="loaded"&&tile.state!=="errored"){return false}}return true};SourceCache.prototype.getSource=function getSource(){return this._source};SourceCache.prototype.pause=function pause(){this._paused=true};SourceCache.prototype.resume=function resume(){if(!this._paused){return}var shouldReload=this._shouldReloadOnResume;this._paused=false;this._shouldReloadOnResume=false;if(shouldReload){this.reload()}if(this.transform){this.update(this.transform)}};SourceCache.prototype._loadTile=function _loadTile(tile,callback){return this._source.loadTile(tile,callback)};SourceCache.prototype._unloadTile=function _unloadTile(tile){if(this._source.unloadTile){return this._source.unloadTile(tile,(function(){}))}};SourceCache.prototype._abortTile=function _abortTile(tile){if(this._source.abortTile){return this._source.abortTile(tile,(function(){}))}};SourceCache.prototype.serialize=function serialize(){return this._source.serialize()};SourceCache.prototype.prepare=function prepare(context){if(this._source.prepare){this._source.prepare()}this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(var i in this._tiles){var tile=this._tiles[i];tile.upload(context);tile.prepare(this.map.style.imageManager)}};SourceCache.prototype.getIds=function getIds(){return performance.values(this._tiles).map((function(tile){return tile.tileID})).sort(compareTileId).map((function(id){return id.key}))};SourceCache.prototype.getRenderableIds=function getRenderableIds(symbolLayer){var this$1=this;var renderables=[];for(var id in this._tiles){if(this._isIdRenderable(id,symbolLayer)){renderables.push(this._tiles[id])}}if(symbolLayer){return renderables.sort((function(a_,b_){var a=a_.tileID;var b=b_.tileID;var rotatedA=new performance.Point(a.canonical.x,a.canonical.y)._rotate(this$1.transform.angle);var rotatedB=new performance.Point(b.canonical.x,b.canonical.y)._rotate(this$1.transform.angle);return a.overscaledZ-b.overscaledZ||rotatedB.y-rotatedA.y||rotatedB.x-rotatedA.x})).map((function(tile){return tile.tileID.key}))}return renderables.map((function(tile){return tile.tileID})).sort(compareTileId).map((function(id){return id.key}))};SourceCache.prototype.hasRenderableParent=function hasRenderableParent(tileID){var parentTile=this.findLoadedParent(tileID,0);if(parentTile){return this._isIdRenderable(parentTile.tileID.key)}return false};SourceCache.prototype._isIdRenderable=function _isIdRenderable(id,symbolLayer){return this._tiles[id]&&this._tiles[id].hasData()&&!this._coveredTiles[id]&&(symbolLayer||!this._tiles[id].holdingForFade())};SourceCache.prototype.reload=function reload(){if(this._paused){this._shouldReloadOnResume=true;return}this._cache.reset();for(var i in this._tiles){if(this._tiles[i].state!=="errored"){this._reloadTile(i,"reloading")}}};SourceCache.prototype._reloadTile=function _reloadTile(id,state){var tile=this._tiles[id];if(!tile){return}if(tile.state!=="loading"){tile.state=state}this._loadTile(tile,this._tileLoaded.bind(this,tile,id,state))};SourceCache.prototype._tileLoaded=function _tileLoaded(tile,id,previousState,err){if(err){tile.state="errored";if(err.status!==404){this._source.fire(new performance.ErrorEvent(err,{tile:tile}))}else{this.update(this.transform)}return}tile.timeAdded=performance.browser.now();if(previousState==="expired"){tile.refreshedUponExpiration=true}this._setTileReloadTimer(id,tile);if(this.getSource().type==="raster-dem"&&tile.dem){this._backfillDEM(tile)}this._state.initializeTileState(tile,this.map?this.map.painter:null);this._source.fire(new performance.Event("data",{dataType:"source",tile:tile,coord:tile.tileID}))};SourceCache.prototype._backfillDEM=function _backfillDEM(tile){var renderables=this.getRenderableIds();for(var i=0;i<renderables.length;i++){var borderId=renderables[i];if(tile.neighboringTiles&&tile.neighboringTiles[borderId]){var borderTile=this.getTileByID(borderId);fillBorder(tile,borderTile);fillBorder(borderTile,tile)}}function fillBorder(tile,borderTile){tile.needsHillshadePrepare=true;var dx=borderTile.tileID.canonical.x-tile.tileID.canonical.x;var dy=borderTile.tileID.canonical.y-tile.tileID.canonical.y;var dim=Math.pow(2,tile.tileID.canonical.z);var borderId=borderTile.tileID.key;if(dx===0&&dy===0){return}if(Math.abs(dy)>1){return}if(Math.abs(dx)>1){if(Math.abs(dx+dim)===1){dx+=dim}else if(Math.abs(dx-dim)===1){dx-=dim}}if(!borderTile.dem||!tile.dem){return}tile.dem.backfillBorder(borderTile.dem,dx,dy);if(tile.neighboringTiles&&tile.neighboringTiles[borderId]){tile.neighboringTiles[borderId].backfilled=true}}};SourceCache.prototype.getTile=function getTile(tileID){return this.getTileByID(tileID.key)};SourceCache.prototype.getTileByID=function getTileByID(id){return this._tiles[id]};SourceCache.prototype._retainLoadedChildren=function _retainLoadedChildren(idealTiles,zoom,maxCoveringZoom,retain){for(var id in this._tiles){var tile=this._tiles[id];if(retain[id]||!tile.hasData()||tile.tileID.overscaledZ<=zoom||tile.tileID.overscaledZ>maxCoveringZoom){continue}var topmostLoadedID=tile.tileID;while(tile&&tile.tileID.overscaledZ>zoom+1){var parentID=tile.tileID.scaledTo(tile.tileID.overscaledZ-1);tile=this._tiles[parentID.key];if(tile&&tile.hasData()){topmostLoadedID=parentID}}var tileID=topmostLoadedID;while(tileID.overscaledZ>zoom){tileID=tileID.scaledTo(tileID.overscaledZ-1);if(idealTiles[tileID.key]){retain[topmostLoadedID.key]=topmostLoadedID;break}}}};SourceCache.prototype.findLoadedParent=function findLoadedParent(tileID,minCoveringZoom){if(tileID.key in this._loadedParentTiles){var parent=this._loadedParentTiles[tileID.key];if(parent&&parent.tileID.overscaledZ>=minCoveringZoom){return parent}else{return null}}for(var z=tileID.overscaledZ-1;z>=minCoveringZoom;z--){var parentTileID=tileID.scaledTo(z);var tile=this._getLoadedTile(parentTileID);if(tile){return tile}}};SourceCache.prototype._getLoadedTile=function _getLoadedTile(tileID){var tile=this._tiles[tileID.key];if(tile&&tile.hasData()){return tile}var cachedTile=this._cache.getByKey(tileID.wrapped().key);return cachedTile};SourceCache.prototype.updateCacheSize=function updateCacheSize(transform){var widthInTiles=Math.ceil(transform.width/this._source.tileSize)+1;var heightInTiles=Math.ceil(transform.height/this._source.tileSize)+1;var approxTilesInView=widthInTiles*heightInTiles;var commonZoomRange=5;var viewDependentMaxSize=Math.floor(approxTilesInView*commonZoomRange);var maxSize=typeof this._maxTileCacheSize==="number"?Math.min(this._maxTileCacheSize,viewDependentMaxSize):viewDependentMaxSize;this._cache.setMaxSize(maxSize)};SourceCache.prototype.handleWrapJump=function handleWrapJump(lng){var prevLng=this._prevLng===undefined?lng:this._prevLng;var lngDifference=lng-prevLng;var worldDifference=lngDifference/360;var wrapDelta=Math.round(worldDifference);this._prevLng=lng;if(wrapDelta){var tiles={};for(var key in this._tiles){var tile=this._tiles[key];tile.tileID=tile.tileID.unwrapTo(tile.tileID.wrap+wrapDelta);tiles[tile.tileID.key]=tile}this._tiles=tiles;for(var id in this._timers){clearTimeout(this._timers[id]);delete this._timers[id]}for(var id$1 in this._tiles){var tile$1=this._tiles[id$1];this._setTileReloadTimer(id$1,tile$1)}}};SourceCache.prototype.update=function update(transform){var this$1=this;this.transform=transform;if(!this._sourceLoaded||this._paused){return}this.updateCacheSize(transform);this.handleWrapJump(this.transform.center.lng);this._coveredTiles={};var idealTileIDs;if(!this.used){idealTileIDs=[]}else if(this._source.tileID){idealTileIDs=transform.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(unwrapped){return new performance.OverscaledTileID(unwrapped.canonical.z,unwrapped.wrap,unwrapped.canonical.z,unwrapped.canonical.x,unwrapped.canonical.y)}))}else{idealTileIDs=transform.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled});if(this._source.hasTile){idealTileIDs=idealTileIDs.filter((function(coord){return this$1._source.hasTile(coord)}))}}var zoom=transform.coveringZoomLevel(this._source);var minCoveringZoom=Math.max(zoom-SourceCache.maxOverzooming,this._source.minzoom);var maxCoveringZoom=Math.max(zoom+SourceCache.maxUnderzooming,this._source.minzoom);var retain=this._updateRetainedTiles(idealTileIDs,zoom);if(isRasterType(this._source.type)){var parentsForFading={};var fadingTiles={};var ids=Object.keys(retain);for(var i=0,list=ids;i<list.length;i+=1){var id=list[i];var tileID=retain[id];var tile=this._tiles[id];if(!tile||tile.fadeEndTime&&tile.fadeEndTime<=performance.browser.now()){continue}var parentTile=this.findLoadedParent(tileID,minCoveringZoom);if(parentTile){this._addTile(parentTile.tileID);parentsForFading[parentTile.tileID.key]=parentTile.tileID}fadingTiles[id]=tileID}this._retainLoadedChildren(fadingTiles,zoom,maxCoveringZoom,retain);for(var id$1 in parentsForFading){if(!retain[id$1]){this._coveredTiles[id$1]=true;retain[id$1]=parentsForFading[id$1]}}}for(var retainedId in retain){this._tiles[retainedId].clearFadeHold()}var remove=performance.keysDifference(this._tiles,retain);for(var i$1=0,list$1=remove;i$1<list$1.length;i$1+=1){var tileID$1=list$1[i$1];var tile$1=this._tiles[tileID$1];if(tile$1.hasSymbolBuckets&&!tile$1.holdingForFade()){tile$1.setHoldDuration(this.map._fadeDuration)}else if(!tile$1.hasSymbolBuckets||tile$1.symbolFadeFinished()){this._removeTile(tileID$1)}}this._updateLoadedParentTileCache()};SourceCache.prototype.releaseSymbolFadeTiles=function releaseSymbolFadeTiles(){for(var id in this._tiles){if(this._tiles[id].holdingForFade()){this._removeTile(id)}}};SourceCache.prototype._updateRetainedTiles=function _updateRetainedTiles(idealTileIDs,zoom){var retain={};var checked={};var minCoveringZoom=Math.max(zoom-SourceCache.maxOverzooming,this._source.minzoom);var maxCoveringZoom=Math.max(zoom+SourceCache.maxUnderzooming,this._source.minzoom);var missingTiles={};for(var i=0,list=idealTileIDs;i<list.length;i+=1){var tileID=list[i];var tile=this._addTile(tileID);retain[tileID.key]=tileID;if(tile.hasData()){continue}if(zoom<this._source.maxzoom){missingTiles[tileID.key]=tileID}}this._retainLoadedChildren(missingTiles,zoom,maxCoveringZoom,retain);for(var i$1=0,list$1=idealTileIDs;i$1<list$1.length;i$1+=1){var tileID$1=list$1[i$1];var tile$1=this._tiles[tileID$1.key];if(tile$1.hasData()){continue}if(zoom+1>this._source.maxzoom){var childCoord=tileID$1.children(this._source.maxzoom)[0];var childTile=this.getTile(childCoord);if(!!childTile&&childTile.hasData()){retain[childCoord.key]=childCoord;continue}}else{var children=tileID$1.children(this._source.maxzoom);if(retain[children[0].key]&&retain[children[1].key]&&retain[children[2].key]&&retain[children[3].key]){continue}}var parentWasRequested=tile$1.wasRequested();for(var overscaledZ=tileID$1.overscaledZ-1;overscaledZ>=minCoveringZoom;--overscaledZ){var parentId=tileID$1.scaledTo(overscaledZ);if(checked[parentId.key]){break}checked[parentId.key]=true;tile$1=this.getTile(parentId);if(!tile$1&&parentWasRequested){tile$1=this._addTile(parentId)}if(tile$1){retain[parentId.key]=parentId;parentWasRequested=tile$1.wasRequested();if(tile$1.hasData()){break}}}}return retain};SourceCache.prototype._updateLoadedParentTileCache=function _updateLoadedParentTileCache(){this._loadedParentTiles={};for(var tileKey in this._tiles){var path=[];var parentTile=void 0;var currentId=this._tiles[tileKey].tileID;while(currentId.overscaledZ>0){if(currentId.key in this._loadedParentTiles){parentTile=this._loadedParentTiles[currentId.key];break}path.push(currentId.key);var parentId=currentId.scaledTo(currentId.overscaledZ-1);parentTile=this._getLoadedTile(parentId);if(parentTile){break}currentId=parentId}for(var i=0,list=path;i<list.length;i+=1){var key=list[i];this._loadedParentTiles[key]=parentTile}}};SourceCache.prototype._addTile=function _addTile(tileID){var tile=this._tiles[tileID.key];if(tile){return tile}tile=this._cache.getAndRemove(tileID);if(tile){this._setTileReloadTimer(tileID.key,tile);tile.tileID=tileID;this._state.initializeTileState(tile,this.map?this.map.painter:null);if(this._cacheTimers[tileID.key]){clearTimeout(this._cacheTimers[tileID.key]);delete this._cacheTimers[tileID.key];this._setTileReloadTimer(tileID.key,tile)}}var cached=Boolean(tile);if(!cached){tile=new performance.Tile(tileID,this._source.tileSize*tileID.overscaleFactor());this._loadTile(tile,this._tileLoaded.bind(this,tile,tileID.key,tile.state))}if(!tile){return null}tile.uses++;this._tiles[tileID.key]=tile;if(!cached){this._source.fire(new performance.Event("dataloading",{tile:tile,coord:tile.tileID,dataType:"source"}))}return tile};SourceCache.prototype._setTileReloadTimer=function _setTileReloadTimer(id,tile){var this$1=this;if(id in this._timers){clearTimeout(this._timers[id]);delete this._timers[id]}var expiryTimeout=tile.getExpiryTimeout();if(expiryTimeout){this._timers[id]=setTimeout((function(){this$1._reloadTile(id,"expired");delete this$1._timers[id]}),expiryTimeout)}};SourceCache.prototype._removeTile=function _removeTile(id){var tile=this._tiles[id];if(!tile){return}tile.uses--;delete this._tiles[id];if(this._timers[id]){clearTimeout(this._timers[id]);delete this._timers[id]}if(tile.uses>0){return}if(tile.hasData()&&tile.state!=="reloading"){this._cache.add(tile.tileID,tile,tile.getExpiryTimeout())}else{tile.aborted=true;this._abortTile(tile);this._unloadTile(tile)}};SourceCache.prototype.clearTiles=function clearTiles(){this._shouldReloadOnResume=false;this._paused=false;for(var id in this._tiles){this._removeTile(id)}this._cache.reset()};SourceCache.prototype.tilesIn=function tilesIn(pointQueryGeometry,maxPitchScaleFactor,has3DLayer){var this$1=this;var tileResults=[];var transform=this.transform;if(!transform){return tileResults}var cameraPointQueryGeometry=has3DLayer?transform.getCameraQueryGeometry(pointQueryGeometry):pointQueryGeometry;var queryGeometry=pointQueryGeometry.map((function(p){return transform.pointCoordinate(p)}));var cameraQueryGeometry=cameraPointQueryGeometry.map((function(p){return transform.pointCoordinate(p)}));var ids=this.getIds();var minX=Infinity;var minY=Infinity;var maxX=-Infinity;var maxY=-Infinity;for(var i$1=0,list=cameraQueryGeometry;i$1<list.length;i$1+=1){var p=list[i$1];minX=Math.min(minX,p.x);minY=Math.min(minY,p.y);maxX=Math.max(maxX,p.x);maxY=Math.max(maxY,p.y)}var loop=function(i){var tile=this$1._tiles[ids[i]];if(tile.holdingForFade()){return}var tileID=tile.tileID;var scale=Math.pow(2,transform.zoom-tile.tileID.overscaledZ);var queryPadding=maxPitchScaleFactor*tile.queryPadding*performance.EXTENT/tile.tileSize/scale;var tileSpaceBounds=[tileID.getTilePoint(new performance.MercatorCoordinate(minX,minY)),tileID.getTilePoint(new performance.MercatorCoordinate(maxX,maxY))];if(tileSpaceBounds[0].x-queryPadding<performance.EXTENT&&tileSpaceBounds[0].y-queryPadding<performance.EXTENT&&tileSpaceBounds[1].x+queryPadding>=0&&tileSpaceBounds[1].y+queryPadding>=0){var tileSpaceQueryGeometry=queryGeometry.map((function(c){return tileID.getTilePoint(c)}));var tileSpaceCameraQueryGeometry=cameraQueryGeometry.map((function(c){return tileID.getTilePoint(c)}));tileResults.push({tile:tile,tileID:tileID,queryGeometry:tileSpaceQueryGeometry,cameraQueryGeometry:tileSpaceCameraQueryGeometry,scale:scale})}};for(var i=0;i<ids.length;i++)loop(i);return tileResults};SourceCache.prototype.getVisibleCoordinates=function getVisibleCoordinates(symbolLayer){var this$1=this;var coords=this.getRenderableIds(symbolLayer).map((function(id){return this$1._tiles[id].tileID}));for(var i=0,list=coords;i<list.length;i+=1){var coord=list[i];coord.posMatrix=this.transform.calculatePosMatrix(coord.toUnwrapped())}return coords};SourceCache.prototype.hasTransition=function hasTransition(){if(this._source.hasTransition()){return true}if(isRasterType(this._source.type)){for(var id in this._tiles){var tile=this._tiles[id];if(tile.fadeEndTime!==undefined&&tile.fadeEndTime>=performance.browser.now()){return true}}}return false};SourceCache.prototype.setFeatureState=function setFeatureState(sourceLayer,featureId,state){sourceLayer=sourceLayer||"_geojsonTileLayer";this._state.updateState(sourceLayer,featureId,state)};SourceCache.prototype.removeFeatureState=function removeFeatureState(sourceLayer,featureId,key){sourceLayer=sourceLayer||"_geojsonTileLayer";this._state.removeFeatureState(sourceLayer,featureId,key)};SourceCache.prototype.getFeatureState=function getFeatureState(sourceLayer,featureId){sourceLayer=sourceLayer||"_geojsonTileLayer";return this._state.getState(sourceLayer,featureId)};SourceCache.prototype.setDependencies=function setDependencies(tileKey,namespace,dependencies){var tile=this._tiles[tileKey];if(tile){tile.setDependencies(namespace,dependencies)}};SourceCache.prototype.reloadTilesForDependencies=function reloadTilesForDependencies(namespaces,keys){for(var id in this._tiles){var tile=this._tiles[id];if(tile.hasDependency(namespaces,keys)){this._reloadTile(id,"reloading")}}this._cache.filter((function(tile){return!tile.hasDependency(namespaces,keys)}))};return SourceCache}(performance.Evented);SourceCache.maxOverzooming=10;SourceCache.maxUnderzooming=3;function compareTileId(a,b){var aWrap=Math.abs(a.wrap*2)-+(a.wrap<0);var bWrap=Math.abs(b.wrap*2)-+(b.wrap<0);return a.overscaledZ-b.overscaledZ||bWrap-aWrap||b.canonical.y-a.canonical.y||b.canonical.x-a.canonical.x}function isRasterType(type){return type==="raster"||type==="image"||type==="video"}function WebWorker(){return new performance.window.Worker(exported.workerUrl)}var PRELOAD_POOL_ID="mapboxgl_preloaded_worker_pool";var WorkerPool=function WorkerPool(){this.active={}};WorkerPool.prototype.acquire=function acquire(mapId){if(!this.workers){this.workers=[];while(this.workers.length<WorkerPool.workerCount){this.workers.push(new WebWorker)}}this.active[mapId]=true;return this.workers.slice()};WorkerPool.prototype.release=function release(mapId){delete this.active[mapId];if(this.numActive()===0){this.workers.forEach((function(w){w.terminate()}));this.workers=null}};WorkerPool.prototype.isPreloaded=function isPreloaded(){return!!this.active[PRELOAD_POOL_ID]};WorkerPool.prototype.numActive=function numActive(){return Object.keys(this.active).length};var availableLogicalProcessors=Math.floor(performance.browser.hardwareConcurrency/2);WorkerPool.workerCount=Math.max(Math.min(availableLogicalProcessors,6),1);var globalWorkerPool;function getGlobalWorkerPool(){if(!globalWorkerPool){globalWorkerPool=new WorkerPool}return globalWorkerPool}function prewarm(){var workerPool=getGlobalWorkerPool();workerPool.acquire(PRELOAD_POOL_ID)}function clearPrewarmedResources(){var pool=globalWorkerPool;if(pool){if(pool.isPreloaded()&&pool.numActive()===1){pool.release(PRELOAD_POOL_ID);globalWorkerPool=null}else{console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()")}}}function deref(layer,parent){var result={};for(var k in layer){if(k!=="ref"){result[k]=layer[k]}}performance.refProperties.forEach((function(k){if(k in parent){result[k]=parent[k]}}));return result}function derefLayers(layers){layers=layers.slice();var map=Object.create(null);for(var i=0;i<layers.length;i++){map[layers[i].id]=layers[i]}for(var i$1=0;i$1<layers.length;i$1++){if("ref"in layers[i$1]){layers[i$1]=deref(layers[i$1],map[layers[i$1].ref])}}return layers}function emptyStyle(){var style={};var version=performance.styleSpec["$version"];for(var styleKey in performance.styleSpec["$root"]){var spec=performance.styleSpec["$root"][styleKey];if(spec.required){var value=null;if(styleKey==="version"){value=version}else{if(spec.type==="array"){value=[]}else{value={}}}if(value!=null){style[styleKey]=value}}}return style}var operations={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function addSource(sourceId,after,commands){commands.push({command:operations.addSource,args:[sourceId,after[sourceId]]})}function removeSource(sourceId,commands,sourcesRemoved){commands.push({command:operations.removeSource,args:[sourceId]});sourcesRemoved[sourceId]=true}function updateSource(sourceId,after,commands,sourcesRemoved){removeSource(sourceId,commands,sourcesRemoved);addSource(sourceId,after,commands)}function canUpdateGeoJSON(before,after,sourceId){var prop;for(prop in before[sourceId]){if(!before[sourceId].hasOwnProperty(prop)){continue}if(prop!=="data"&&!performance.deepEqual(before[sourceId][prop],after[sourceId][prop])){return false}}for(prop in after[sourceId]){if(!after[sourceId].hasOwnProperty(prop)){continue}if(prop!=="data"&&!performance.deepEqual(before[sourceId][prop],after[sourceId][prop])){return false}}return true}function diffSources(before,after,commands,sourcesRemoved){before=before||{};after=after||{};var sourceId;for(sourceId in before){if(!before.hasOwnProperty(sourceId)){continue}if(!after.hasOwnProperty(sourceId)){removeSource(sourceId,commands,sourcesRemoved)}}for(sourceId in after){if(!after.hasOwnProperty(sourceId)){continue}if(!before.hasOwnProperty(sourceId)){addSource(sourceId,after,commands)}else if(!performance.deepEqual(before[sourceId],after[sourceId])){if(before[sourceId].type==="geojson"&&after[sourceId].type==="geojson"&&canUpdateGeoJSON(before,after,sourceId)){commands.push({command:operations.setGeoJSONSourceData,args:[sourceId,after[sourceId].data]})}else{updateSource(sourceId,after,commands,sourcesRemoved)}}}}function diffLayerPropertyChanges(before,after,commands,layerId,klass,command){before=before||{};after=after||{};var prop;for(prop in before){if(!before.hasOwnProperty(prop)){continue}if(!performance.deepEqual(before[prop],after[prop])){commands.push({command:command,args:[layerId,prop,after[prop],klass]})}}for(prop in after){if(!after.hasOwnProperty(prop)||before.hasOwnProperty(prop)){continue}if(!performance.deepEqual(before[prop],after[prop])){commands.push({command:command,args:[layerId,prop,after[prop],klass]})}}}function pluckId(layer){return layer.id}function indexById(group,layer){group[layer.id]=layer;return group}function diffLayers(before,after,commands){before=before||[];after=after||[];var beforeOrder=before.map(pluckId);var afterOrder=after.map(pluckId);var beforeIndex=before.reduce(indexById,{});var afterIndex=after.reduce(indexById,{});var tracker=beforeOrder.slice();var clean=Object.create(null);var i,d,layerId,beforeLayer,afterLayer,insertBeforeLayerId,prop;for(i=0,d=0;i<beforeOrder.length;i++){layerId=beforeOrder[i];if(!afterIndex.hasOwnProperty(layerId)){commands.push({command:operations.removeLayer,args:[layerId]});tracker.splice(tracker.indexOf(layerId,d),1)}else{d++}}for(i=0,d=0;i<afterOrder.length;i++){layerId=afterOrder[afterOrder.length-1-i];if(tracker[tracker.length-1-i]===layerId){continue}if(beforeIndex.hasOwnProperty(layerId)){commands.push({command:operations.removeLayer,args:[layerId]});tracker.splice(tracker.lastIndexOf(layerId,tracker.length-d),1)}else{d++}insertBeforeLayerId=tracker[tracker.length-i];commands.push({command:operations.addLayer,args:[afterIndex[layerId],insertBeforeLayerId]});tracker.splice(tracker.length-i,0,layerId);clean[layerId]=true}for(i=0;i<afterOrder.length;i++){layerId=afterOrder[i];beforeLayer=beforeIndex[layerId];afterLayer=afterIndex[layerId];if(clean[layerId]||performance.deepEqual(beforeLayer,afterLayer)){continue}if(!performance.deepEqual(beforeLayer.source,afterLayer.source)||!performance.deepEqual(beforeLayer["source-layer"],afterLayer["source-layer"])||!performance.deepEqual(beforeLayer.type,afterLayer.type)){commands.push({command:operations.removeLayer,args:[layerId]});insertBeforeLayerId=tracker[tracker.lastIndexOf(layerId)+1];commands.push({command:operations.addLayer,args:[afterLayer,insertBeforeLayerId]});continue}diffLayerPropertyChanges(beforeLayer.layout,afterLayer.layout,commands,layerId,null,operations.setLayoutProperty);diffLayerPropertyChanges(beforeLayer.paint,afterLayer.paint,commands,layerId,null,operations.setPaintProperty);if(!performance.deepEqual(beforeLayer.filter,afterLayer.filter)){commands.push({command:operations.setFilter,args:[layerId,afterLayer.filter]})}if(!performance.deepEqual(beforeLayer.minzoom,afterLayer.minzoom)||!performance.deepEqual(beforeLayer.maxzoom,afterLayer.maxzoom)){commands.push({command:operations.setLayerZoomRange,args:[layerId,afterLayer.minzoom,afterLayer.maxzoom]})}for(prop in beforeLayer){if(!beforeLayer.hasOwnProperty(prop)){continue}if(prop==="layout"||prop==="paint"||prop==="filter"||prop==="metadata"||prop==="minzoom"||prop==="maxzoom"){continue}if(prop.indexOf("paint.")===0){diffLayerPropertyChanges(beforeLayer[prop],afterLayer[prop],commands,layerId,prop.slice(6),operations.setPaintProperty)}else if(!performance.deepEqual(beforeLayer[prop],afterLayer[prop])){commands.push({command:operations.setLayerProperty,args:[layerId,prop,afterLayer[prop]]})}}for(prop in afterLayer){if(!afterLayer.hasOwnProperty(prop)||beforeLayer.hasOwnProperty(prop)){continue}if(prop==="layout"||prop==="paint"||prop==="filter"||prop==="metadata"||prop==="minzoom"||prop==="maxzoom"){continue}if(prop.indexOf("paint.")===0){diffLayerPropertyChanges(beforeLayer[prop],afterLayer[prop],commands,layerId,prop.slice(6),operations.setPaintProperty)}else if(!performance.deepEqual(beforeLayer[prop],afterLayer[prop])){commands.push({command:operations.setLayerProperty,args:[layerId,prop,afterLayer[prop]]})}}}}function diffStyles(before,after){if(!before){return[{command:operations.setStyle,args:[after]}]}var commands=[];try{if(!performance.deepEqual(before.version,after.version)){return[{command:operations.setStyle,args:[after]}]}if(!performance.deepEqual(before.center,after.center)){commands.push({command:operations.setCenter,args:[after.center]})}if(!performance.deepEqual(before.zoom,after.zoom)){commands.push({command:operations.setZoom,args:[after.zoom]})}if(!performance.deepEqual(before.bearing,after.bearing)){commands.push({command:operations.setBearing,args:[after.bearing]})}if(!performance.deepEqual(before.pitch,after.pitch)){commands.push({command:operations.setPitch,args:[after.pitch]})}if(!performance.deepEqual(before.sprite,after.sprite)){commands.push({command:operations.setSprite,args:[after.sprite]})}if(!performance.deepEqual(before.glyphs,after.glyphs)){commands.push({command:operations.setGlyphs,args:[after.glyphs]})}if(!performance.deepEqual(before.transition,after.transition)){commands.push({command:operations.setTransition,args:[after.transition]})}if(!performance.deepEqual(before.light,after.light)){commands.push({command:operations.setLight,args:[after.light]})}var sourcesRemoved={};var removeOrAddSourceCommands=[];diffSources(before.sources,after.sources,removeOrAddSourceCommands,sourcesRemoved);var beforeLayers=[];if(before.layers){before.layers.forEach((function(layer){if(sourcesRemoved[layer.source]){commands.push({command:operations.removeLayer,args:[layer.id]})}else{beforeLayers.push(layer)}}))}commands=commands.concat(removeOrAddSourceCommands);diffLayers(beforeLayers,after.layers,commands)}catch(e){console.warn("Unable to compute style diff:",e);commands=[{command:operations.setStyle,args:[after]}]}return commands}var PathInterpolator=function PathInterpolator(points_,padding_){this.reset(points_,padding_)};PathInterpolator.prototype.reset=function reset(points_,padding_){this.points=points_||[];this._distances=[0];for(var i=1;i<this.points.length;i++){this._distances[i]=this._distances[i-1]+this.points[i].dist(this.points[i-1])}this.length=this._distances[this._distances.length-1];this.padding=Math.min(padding_||0,this.length*.5);this.paddedLength=this.length-this.padding*2};PathInterpolator.prototype.lerp=function lerp(t){if(this.points.length===1){return this.points[0]}t=performance.clamp(t,0,1);var currentIndex=1;var distOfCurrentIdx=this._distances[currentIndex];var distToTarget=t*this.paddedLength+this.padding;while(distOfCurrentIdx<distToTarget&&currentIndex<this._distances.length){distOfCurrentIdx=this._distances[++currentIndex]}var idxOfPrevPoint=currentIndex-1;var distOfPrevIdx=this._distances[idxOfPrevPoint];var segmentLength=distOfCurrentIdx-distOfPrevIdx;var segmentT=segmentLength>0?(distToTarget-distOfPrevIdx)/segmentLength:0;return this.points[idxOfPrevPoint].mult(1-segmentT).add(this.points[currentIndex].mult(segmentT))};var GridIndex=function GridIndex(width,height,cellSize){var boxCells=this.boxCells=[];var circleCells=this.circleCells=[];this.xCellCount=Math.ceil(width/cellSize);this.yCellCount=Math.ceil(height/cellSize);for(var i=0;i<this.xCellCount*this.yCellCount;i++){boxCells.push([]);circleCells.push([])}this.circleKeys=[];this.boxKeys=[];this.bboxes=[];this.circles=[];this.width=width;this.height=height;this.xScale=this.xCellCount/width;this.yScale=this.yCellCount/height;this.boxUid=0;this.circleUid=0};GridIndex.prototype.keysLength=function keysLength(){return this.boxKeys.length+this.circleKeys.length};GridIndex.prototype.insert=function insert(key,x1,y1,x2,y2){this._forEachCell(x1,y1,x2,y2,this._insertBoxCell,this.boxUid++);this.boxKeys.push(key);this.bboxes.push(x1);this.bboxes.push(y1);this.bboxes.push(x2);this.bboxes.push(y2)};GridIndex.prototype.insertCircle=function insertCircle(key,x,y,radius){this._forEachCell(x-radius,y-radius,x+radius,y+radius,this._insertCircleCell,this.circleUid++);this.circleKeys.push(key);this.circles.push(x);this.circles.push(y);this.circles.push(radius)};GridIndex.prototype._insertBoxCell=function _insertBoxCell(x1,y1,x2,y2,cellIndex,uid){this.boxCells[cellIndex].push(uid)};GridIndex.prototype._insertCircleCell=function _insertCircleCell(x1,y1,x2,y2,cellIndex,uid){this.circleCells[cellIndex].push(uid)};GridIndex.prototype._query=function _query(x1,y1,x2,y2,hitTest,predicate){if(x2<0||x1>this.width||y2<0||y1>this.height){return hitTest?false:[]}var result=[];if(x1<=0&&y1<=0&&this.width<=x2&&this.height<=y2){if(hitTest){return true}for(var boxUid=0;boxUid<this.boxKeys.length;boxUid++){result.push({key:this.boxKeys[boxUid],x1:this.bboxes[boxUid*4],y1:this.bboxes[boxUid*4+1],x2:this.bboxes[boxUid*4+2],y2:this.bboxes[boxUid*4+3]})}for(var circleUid=0;circleUid<this.circleKeys.length;circleUid++){var x=this.circles[circleUid*3];var y=this.circles[circleUid*3+1];var radius=this.circles[circleUid*3+2];result.push({key:this.circleKeys[circleUid],x1:x-radius,y1:y-radius,x2:x+radius,y2:y+radius})}return predicate?result.filter(predicate):result}else{var queryArgs={hitTest:hitTest,seenUids:{box:{},circle:{}}};this._forEachCell(x1,y1,x2,y2,this._queryCell,result,queryArgs,predicate);return hitTest?result.length>0:result}};GridIndex.prototype._queryCircle=function _queryCircle(x,y,radius,hitTest,predicate){var x1=x-radius;var x2=x+radius;var y1=y-radius;var y2=y+radius;if(x2<0||x1>this.width||y2<0||y1>this.height){return hitTest?false:[]}var result=[];var queryArgs={hitTest:hitTest,circle:{x:x,y:y,radius:radius},seenUids:{box:{},circle:{}}};this._forEachCell(x1,y1,x2,y2,this._queryCellCircle,result,queryArgs,predicate);return hitTest?result.length>0:result};GridIndex.prototype.query=function query(x1,y1,x2,y2,predicate){return this._query(x1,y1,x2,y2,false,predicate)};GridIndex.prototype.hitTest=function hitTest(x1,y1,x2,y2,predicate){return this._query(x1,y1,x2,y2,true,predicate)};GridIndex.prototype.hitTestCircle=function hitTestCircle(x,y,radius,predicate){return this._queryCircle(x,y,radius,true,predicate)};GridIndex.prototype._queryCell=function _queryCell(x1,y1,x2,y2,cellIndex,result,queryArgs,predicate){var seenUids=queryArgs.seenUids;var boxCell=this.boxCells[cellIndex];if(boxCell!==null){var bboxes=this.bboxes;for(var i=0,list=boxCell;i<list.length;i+=1){var boxUid=list[i];if(!seenUids.box[boxUid]){seenUids.box[boxUid]=true;var offset=boxUid*4;if(x1<=bboxes[offset+2]&&y1<=bboxes[offset+3]&&x2>=bboxes[offset+0]&&y2>=bboxes[offset+1]&&(!predicate||predicate(this.boxKeys[boxUid]))){if(queryArgs.hitTest){result.push(true);return true}else{result.push({key:this.boxKeys[boxUid],x1:bboxes[offset],y1:bboxes[offset+1],x2:bboxes[offset+2],y2:bboxes[offset+3]})}}}}}var circleCell=this.circleCells[cellIndex];if(circleCell!==null){var circles=this.circles;for(var i$1=0,list$1=circleCell;i$1<list$1.length;i$1+=1){var circleUid=list$1[i$1];if(!seenUids.circle[circleUid]){seenUids.circle[circleUid]=true;var offset$1=circleUid*3;if(this._circleAndRectCollide(circles[offset$1],circles[offset$1+1],circles[offset$1+2],x1,y1,x2,y2)&&(!predicate||predicate(this.circleKeys[circleUid]))){if(queryArgs.hitTest){result.push(true);return true}else{var x=circles[offset$1];var y=circles[offset$1+1];var radius=circles[offset$1+2];result.push({key:this.circleKeys[circleUid],x1:x-radius,y1:y-radius,x2:x+radius,y2:y+radius})}}}}}};GridIndex.prototype._queryCellCircle=function _queryCellCircle(x1,y1,x2,y2,cellIndex,result,queryArgs,predicate){var circle=queryArgs.circle;var seenUids=queryArgs.seenUids;var boxCell=this.boxCells[cellIndex];if(boxCell!==null){var bboxes=this.bboxes;for(var i=0,list=boxCell;i<list.length;i+=1){var boxUid=list[i];if(!seenUids.box[boxUid]){seenUids.box[boxUid]=true;var offset=boxUid*4;if(this._circleAndRectCollide(circle.x,circle.y,circle.radius,bboxes[offset+0],bboxes[offset+1],bboxes[offset+2],bboxes[offset+3])&&(!predicate||predicate(this.boxKeys[boxUid]))){result.push(true);return true}}}}var circleCell=this.circleCells[cellIndex];if(circleCell!==null){var circles=this.circles;for(var i$1=0,list$1=circleCell;i$1<list$1.length;i$1+=1){var circleUid=list$1[i$1];if(!seenUids.circle[circleUid]){seenUids.circle[circleUid]=true;var offset$1=circleUid*3;if(this._circlesCollide(circles[offset$1],circles[offset$1+1],circles[offset$1+2],circle.x,circle.y,circle.radius)&&(!predicate||predicate(this.circleKeys[circleUid]))){result.push(true);return true}}}}};GridIndex.prototype._forEachCell=function _forEachCell(x1,y1,x2,y2,fn,arg1,arg2,predicate){var cx1=this._convertToXCellCoord(x1);var cy1=this._convertToYCellCoord(y1);var cx2=this._convertToXCellCoord(x2);var cy2=this._convertToYCellCoord(y2);for(var x=cx1;x<=cx2;x++){for(var y=cy1;y<=cy2;y++){var cellIndex=this.xCellCount*y+x;if(fn.call(this,x1,y1,x2,y2,cellIndex,arg1,arg2,predicate)){return}}}};GridIndex.prototype._convertToXCellCoord=function _convertToXCellCoord(x){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(x*this.xScale)))};GridIndex.prototype._convertToYCellCoord=function _convertToYCellCoord(y){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(y*this.yScale)))};GridIndex.prototype._circlesCollide=function _circlesCollide(x1,y1,r1,x2,y2,r2){var dx=x2-x1;var dy=y2-y1;var bothRadii=r1+r2;return bothRadii*bothRadii>dx*dx+dy*dy};GridIndex.prototype._circleAndRectCollide=function _circleAndRectCollide(circleX,circleY,radius,x1,y1,x2,y2){var halfRectWidth=(x2-x1)/2;var distX=Math.abs(circleX-(x1+halfRectWidth));if(distX>halfRectWidth+radius){return false}var halfRectHeight=(y2-y1)/2;var distY=Math.abs(circleY-(y1+halfRectHeight));if(distY>halfRectHeight+radius){return false}if(distX<=halfRectWidth||distY<=halfRectHeight){return true}var dx=distX-halfRectWidth;var dy=distY-halfRectHeight;return dx*dx+dy*dy<=radius*radius};function getLabelPlaneMatrix(posMatrix,pitchWithMap,rotateWithMap,transform,pixelsToTileUnits){var m=performance.create();if(pitchWithMap){performance.scale(m,m,[1/pixelsToTileUnits,1/pixelsToTileUnits,1]);if(!rotateWithMap){performance.rotateZ(m,m,transform.angle)}}else{performance.multiply(m,transform.labelPlaneMatrix,posMatrix)}return m}function getGlCoordMatrix(posMatrix,pitchWithMap,rotateWithMap,transform,pixelsToTileUnits){if(pitchWithMap){var m=performance.clone(posMatrix);performance.scale(m,m,[pixelsToTileUnits,pixelsToTileUnits,1]);if(!rotateWithMap){performance.rotateZ(m,m,-transform.angle)}return m}else{return transform.glCoordMatrix}}function project(point,matrix){var pos=[point.x,point.y,0,1];xyTransformMat4(pos,pos,matrix);var w=pos[3];return{point:new performance.Point(pos[0]/w,pos[1]/w),signedDistanceFromCamera:w}}function getPerspectiveRatio(cameraToCenterDistance,signedDistanceFromCamera){return.5+.5*(cameraToCenterDistance/signedDistanceFromCamera)}function isVisible(anchorPos,clippingBuffer){var x=anchorPos[0]/anchorPos[3];var y=anchorPos[1]/anchorPos[3];var inPaddedViewport=x>=-clippingBuffer[0]&&x<=clippingBuffer[0]&&y>=-clippingBuffer[1]&&y<=clippingBuffer[1];return inPaddedViewport}function updateLineLabels(bucket,posMatrix,painter,isText,labelPlaneMatrix,glCoordMatrix,pitchWithMap,keepUpright){var sizeData=isText?bucket.textSizeData:bucket.iconSizeData;var partiallyEvaluatedSize=performance.evaluateSizeForZoom(sizeData,painter.transform.zoom);var clippingBuffer=[256/painter.width*2+1,256/painter.height*2+1];var dynamicLayoutVertexArray=isText?bucket.text.dynamicLayoutVertexArray:bucket.icon.dynamicLayoutVertexArray;dynamicLayoutVertexArray.clear();var lineVertexArray=bucket.lineVertexArray;var placedSymbols=isText?bucket.text.placedSymbolArray:bucket.icon.placedSymbolArray;var aspectRatio=painter.transform.width/painter.transform.height;var useVertical=false;for(var s=0;s<placedSymbols.length;s++){var symbol=placedSymbols.get(s);if(symbol.hidden||symbol.writingMode===performance.WritingMode.vertical&&!useVertical){hideGlyphs(symbol.numGlyphs,dynamicLayoutVertexArray);continue}useVertical=false;var anchorPos=[symbol.anchorX,symbol.anchorY,0,1];performance.transformMat4(anchorPos,anchorPos,posMatrix);if(!isVisible(anchorPos,clippingBuffer)){hideGlyphs(symbol.numGlyphs,dynamicLayoutVertexArray);continue}var cameraToAnchorDistance=anchorPos[3];var perspectiveRatio=getPerspectiveRatio(painter.transform.cameraToCenterDistance,cameraToAnchorDistance);var fontSize=performance.evaluateSizeForFeature(sizeData,partiallyEvaluatedSize,symbol);var pitchScaledFontSize=pitchWithMap?fontSize/perspectiveRatio:fontSize*perspectiveRatio;var tileAnchorPoint=new performance.Point(symbol.anchorX,symbol.anchorY);var anchorPoint=project(tileAnchorPoint,labelPlaneMatrix).point;var projectionCache={};var placeUnflipped=placeGlyphsAlongLine(symbol,pitchScaledFontSize,false,keepUpright,posMatrix,labelPlaneMatrix,glCoordMatrix,bucket.glyphOffsetArray,lineVertexArray,dynamicLayoutVertexArray,anchorPoint,tileAnchorPoint,projectionCache,aspectRatio);useVertical=placeUnflipped.useVertical;if(placeUnflipped.notEnoughRoom||useVertical||placeUnflipped.needsFlipping&&placeGlyphsAlongLine(symbol,pitchScaledFontSize,true,keepUpright,posMatrix,labelPlaneMatrix,glCoordMatrix,bucket.glyphOffsetArray,lineVertexArray,dynamicLayoutVertexArray,anchorPoint,tileAnchorPoint,projectionCache,aspectRatio).notEnoughRoom){hideGlyphs(symbol.numGlyphs,dynamicLayoutVertexArray)}}if(isText){bucket.text.dynamicLayoutVertexBuffer.updateData(dynamicLayoutVertexArray)}else{bucket.icon.dynamicLayoutVertexBuffer.updateData(dynamicLayoutVertexArray)}}function placeFirstAndLastGlyph(fontScale,glyphOffsetArray,lineOffsetX,lineOffsetY,flip,anchorPoint,tileAnchorPoint,symbol,lineVertexArray,labelPlaneMatrix,projectionCache){var glyphEndIndex=symbol.glyphStartIndex+symbol.numGlyphs;var lineStartIndex=symbol.lineStartIndex;var lineEndIndex=symbol.lineStartIndex+symbol.lineLength;var firstGlyphOffset=glyphOffsetArray.getoffsetX(symbol.glyphStartIndex);var lastGlyphOffset=glyphOffsetArray.getoffsetX(glyphEndIndex-1);var firstPlacedGlyph=placeGlyphAlongLine(fontScale*firstGlyphOffset,lineOffsetX,lineOffsetY,flip,anchorPoint,tileAnchorPoint,symbol.segment,lineStartIndex,lineEndIndex,lineVertexArray,labelPlaneMatrix,projectionCache);if(!firstPlacedGlyph){return null}var lastPlacedGlyph=placeGlyphAlongLine(fontScale*lastGlyphOffset,lineOffsetX,lineOffsetY,flip,anchorPoint,tileAnchorPoint,symbol.segment,lineStartIndex,lineEndIndex,lineVertexArray,labelPlaneMatrix,projectionCache);if(!lastPlacedGlyph){return null}return{first:firstPlacedGlyph,last:lastPlacedGlyph}}function requiresOrientationChange(writingMode,firstPoint,lastPoint,aspectRatio){if(writingMode===performance.WritingMode.horizontal){var rise=Math.abs(lastPoint.y-firstPoint.y);var run=Math.abs(lastPoint.x-firstPoint.x)*aspectRatio;if(rise>run){return{useVertical:true}}}if(writingMode===performance.WritingMode.vertical?firstPoint.y<lastPoint.y:firstPoint.x>lastPoint.x){return{needsFlipping:true}}return null}function placeGlyphsAlongLine(symbol,fontSize,flip,keepUpright,posMatrix,labelPlaneMatrix,glCoordMatrix,glyphOffsetArray,lineVertexArray,dynamicLayoutVertexArray,anchorPoint,tileAnchorPoint,projectionCache,aspectRatio){var fontScale=fontSize/24;var lineOffsetX=symbol.lineOffsetX*fontScale;var lineOffsetY=symbol.lineOffsetY*fontScale;var placedGlyphs;if(symbol.numGlyphs>1){var glyphEndIndex=symbol.glyphStartIndex+symbol.numGlyphs;var lineStartIndex=symbol.lineStartIndex;var lineEndIndex=symbol.lineStartIndex+symbol.lineLength;var firstAndLastGlyph=placeFirstAndLastGlyph(fontScale,glyphOffsetArray,lineOffsetX,lineOffsetY,flip,anchorPoint,tileAnchorPoint,symbol,lineVertexArray,labelPlaneMatrix,projectionCache);if(!firstAndLastGlyph){return{notEnoughRoom:true}}var firstPoint=project(firstAndLastGlyph.first.point,glCoordMatrix).point;var lastPoint=project(firstAndLastGlyph.last.point,glCoordMatrix).point;if(keepUpright&&!flip){var orientationChange=requiresOrientationChange(symbol.writingMode,firstPoint,lastPoint,aspectRatio);if(orientationChange){return orientationChange}}placedGlyphs=[firstAndLastGlyph.first];for(var glyphIndex=symbol.glyphStartIndex+1;glyphIndex<glyphEndIndex-1;glyphIndex++){placedGlyphs.push(placeGlyphAlongLine(fontScale*glyphOffsetArray.getoffsetX(glyphIndex),lineOffsetX,lineOffsetY,flip,anchorPoint,tileAnchorPoint,symbol.segment,lineStartIndex,lineEndIndex,lineVertexArray,labelPlaneMatrix,projectionCache))}placedGlyphs.push(firstAndLastGlyph.last)}else{if(keepUpright&&!flip){var a=project(tileAnchorPoint,posMatrix).point;var tileVertexIndex=symbol.lineStartIndex+symbol.segment+1;var tileSegmentEnd=new performance.Point(lineVertexArray.getx(tileVertexIndex),lineVertexArray.gety(tileVertexIndex));var projectedVertex=project(tileSegmentEnd,posMatrix);var b=projectedVertex.signedDistanceFromCamera>0?projectedVertex.point:projectTruncatedLineSegment(tileAnchorPoint,tileSegmentEnd,a,1,posMatrix);var orientationChange$1=requiresOrientationChange(symbol.writingMode,a,b,aspectRatio);if(orientationChange$1){return orientationChange$1}}var singleGlyph=placeGlyphAlongLine(fontScale*glyphOffsetArray.getoffsetX(symbol.glyphStartIndex),lineOffsetX,lineOffsetY,flip,anchorPoint,tileAnchorPoint,symbol.segment,symbol.lineStartIndex,symbol.lineStartIndex+symbol.lineLength,lineVertexArray,labelPlaneMatrix,projectionCache);if(!singleGlyph){return{notEnoughRoom:true}}placedGlyphs=[singleGlyph]}for(var i=0,list=placedGlyphs;i<list.length;i+=1){var glyph=list[i];performance.addDynamicAttributes(dynamicLayoutVertexArray,glyph.point,glyph.angle)}return{}}function projectTruncatedLineSegment(previousTilePoint,currentTilePoint,previousProjectedPoint,minimumLength,projectionMatrix){var projectedUnitVertex=project(previousTilePoint.add(previousTilePoint.sub(currentTilePoint)._unit()),projectionMatrix).point;var projectedUnitSegment=previousProjectedPoint.sub(projectedUnitVertex);return previousProjectedPoint.add(projectedUnitSegment._mult(minimumLength/projectedUnitSegment.mag()))}function placeGlyphAlongLine(offsetX,lineOffsetX,lineOffsetY,flip,anchorPoint,tileAnchorPoint,anchorSegment,lineStartIndex,lineEndIndex,lineVertexArray,labelPlaneMatrix,projectionCache){var combinedOffsetX=flip?offsetX-lineOffsetX:offsetX+lineOffsetX;var dir=combinedOffsetX>0?1:-1;var angle=0;if(flip){dir*=-1;angle=Math.PI}if(dir<0){angle+=Math.PI}var currentIndex=dir>0?lineStartIndex+anchorSegment:lineStartIndex+anchorSegment+1;var current=anchorPoint;var prev=anchorPoint;var distanceToPrev=0;var currentSegmentDistance=0;var absOffsetX=Math.abs(combinedOffsetX);var pathVertices=[];while(distanceToPrev+currentSegmentDistance<=absOffsetX){currentIndex+=dir;if(currentIndex<lineStartIndex||currentIndex>=lineEndIndex){return null}prev=current;pathVertices.push(current);current=projectionCache[currentIndex];if(current===undefined){var currentVertex=new performance.Point(lineVertexArray.getx(currentIndex),lineVertexArray.gety(currentIndex));var projection=project(currentVertex,labelPlaneMatrix);if(projection.signedDistanceFromCamera>0){current=projectionCache[currentIndex]=projection.point}else{var previousLineVertexIndex=currentIndex-dir;var previousTilePoint=distanceToPrev===0?tileAnchorPoint:new performance.Point(lineVertexArray.getx(previousLineVertexIndex),lineVertexArray.gety(previousLineVertexIndex));current=projectTruncatedLineSegment(previousTilePoint,currentVertex,prev,absOffsetX-distanceToPrev+1,labelPlaneMatrix)}}distanceToPrev+=currentSegmentDistance;currentSegmentDistance=prev.dist(current)}var segmentInterpolationT=(absOffsetX-distanceToPrev)/currentSegmentDistance;var prevToCurrent=current.sub(prev);var p=prevToCurrent.mult(segmentInterpolationT)._add(prev);p._add(prevToCurrent._unit()._perp()._mult(lineOffsetY*dir));var segmentAngle=angle+Math.atan2(current.y-prev.y,current.x-prev.x);pathVertices.push(p);return{point:p,angle:segmentAngle,path:pathVertices}}var hiddenGlyphAttributes=new Float32Array([-Infinity,-Infinity,0,-Infinity,-Infinity,0,-Infinity,-Infinity,0,-Infinity,-Infinity,0]);function hideGlyphs(num,dynamicLayoutVertexArray){for(var i=0;i<num;i++){var offset=dynamicLayoutVertexArray.length;dynamicLayoutVertexArray.resize(offset+4);dynamicLayoutVertexArray.float32.set(hiddenGlyphAttributes,offset*3)}}function xyTransformMat4(out,a,m){var x=a[0],y=a[1];out[0]=m[0]*x+m[4]*y+m[12];out[1]=m[1]*x+m[5]*y+m[13];out[3]=m[3]*x+m[7]*y+m[15];return out}var viewportPadding=100;var CollisionIndex=function CollisionIndex(transform,grid,ignoredGrid){if(grid===void 0)grid=new GridIndex(transform.width+2*viewportPadding,transform.height+2*viewportPadding,25);if(ignoredGrid===void 0)ignoredGrid=new GridIndex(transform.width+2*viewportPadding,transform.height+2*viewportPadding,25);this.transform=transform;this.grid=grid;this.ignoredGrid=ignoredGrid;this.pitchfactor=Math.cos(transform._pitch)*transform.cameraToCenterDistance;this.screenRightBoundary=transform.width+viewportPadding;this.screenBottomBoundary=transform.height+viewportPadding;this.gridRightBoundary=transform.width+2*viewportPadding;this.gridBottomBoundary=transform.height+2*viewportPadding};CollisionIndex.prototype.placeCollisionBox=function placeCollisionBox(collisionBox,allowOverlap,textPixelRatio,posMatrix,collisionGroupPredicate){var projectedPoint=this.projectAndGetPerspectiveRatio(posMatrix,collisionBox.anchorPointX,collisionBox.anchorPointY);var tileToViewport=textPixelRatio*projectedPoint.perspectiveRatio;var tlX=collisionBox.x1*tileToViewport+projectedPoint.point.x;var tlY=collisionBox.y1*tileToViewport+projectedPoint.point.y;var brX=collisionBox.x2*tileToViewport+projectedPoint.point.x;var brY=collisionBox.y2*tileToViewport+projectedPoint.point.y;if(!this.isInsideGrid(tlX,tlY,brX,brY)||!allowOverlap&&this.grid.hitTest(tlX,tlY,brX,brY,collisionGroupPredicate)){return{box:[],offscreen:false}}return{box:[tlX,tlY,brX,brY],offscreen:this.isOffscreen(tlX,tlY,brX,brY)}};CollisionIndex.prototype.placeCollisionCircles=function placeCollisionCircles(allowOverlap,symbol,lineVertexArray,glyphOffsetArray,fontSize,posMatrix,labelPlaneMatrix,labelToScreenMatrix,showCollisionCircles,pitchWithMap,collisionGroupPredicate,circlePixelDiameter,textPixelPadding){var placedCollisionCircles=[];var tileUnitAnchorPoint=new performance.Point(symbol.anchorX,symbol.anchorY);var screenAnchorPoint=project(tileUnitAnchorPoint,posMatrix);var perspectiveRatio=getPerspectiveRatio(this.transform.cameraToCenterDistance,screenAnchorPoint.signedDistanceFromCamera);var labelPlaneFontSize=pitchWithMap?fontSize/perspectiveRatio:fontSize*perspectiveRatio;var labelPlaneFontScale=labelPlaneFontSize/performance.ONE_EM;var labelPlaneAnchorPoint=project(tileUnitAnchorPoint,labelPlaneMatrix).point;var projectionCache={};var lineOffsetX=symbol.lineOffsetX*labelPlaneFontScale;var lineOffsetY=symbol.lineOffsetY*labelPlaneFontScale;var firstAndLastGlyph=placeFirstAndLastGlyph(labelPlaneFontScale,glyphOffsetArray,lineOffsetX,lineOffsetY,false,labelPlaneAnchorPoint,tileUnitAnchorPoint,symbol,lineVertexArray,labelPlaneMatrix,projectionCache);var collisionDetected=false;var inGrid=false;var entirelyOffscreen=true;if(firstAndLastGlyph){var radius=circlePixelDiameter*.5*perspectiveRatio+textPixelPadding;var screenPlaneMin=new performance.Point(-viewportPadding,-viewportPadding);var screenPlaneMax=new performance.Point(this.screenRightBoundary,this.screenBottomBoundary);var interpolator=new PathInterpolator;var first=firstAndLastGlyph.first;var last=firstAndLastGlyph.last;var projectedPath=[];for(var i=first.path.length-1;i>=1;i--){projectedPath.push(first.path[i])}for(var i$1=1;i$1<last.path.length;i$1++){projectedPath.push(last.path[i$1])}var circleDist=radius*2.5;if(labelToScreenMatrix){var screenSpacePath=projectedPath.map((function(p){return project(p,labelToScreenMatrix)}));if(screenSpacePath.some((function(point){return point.signedDistanceFromCamera<=0}))){projectedPath=[]}else{projectedPath=screenSpacePath.map((function(p){return p.point}))}}var segments=[];if(projectedPath.length>0){var minPoint=projectedPath[0].clone();var maxPoint=projectedPath[0].clone();for(var i$2=1;i$2<projectedPath.length;i$2++){minPoint.x=Math.min(minPoint.x,projectedPath[i$2].x);minPoint.y=Math.min(minPoint.y,projectedPath[i$2].y);maxPoint.x=Math.max(maxPoint.x,projectedPath[i$2].x);maxPoint.y=Math.max(maxPoint.y,projectedPath[i$2].y)}if(minPoint.x>=screenPlaneMin.x&&maxPoint.x<=screenPlaneMax.x&&minPoint.y>=screenPlaneMin.y&&maxPoint.y<=screenPlaneMax.y){segments=[projectedPath]}else if(maxPoint.x<screenPlaneMin.x||minPoint.x>screenPlaneMax.x||maxPoint.y<screenPlaneMin.y||minPoint.y>screenPlaneMax.y){segments=[]}else{segments=performance.clipLine([projectedPath],screenPlaneMin.x,screenPlaneMin.y,screenPlaneMax.x,screenPlaneMax.y)}}for(var i$4=0,list=segments;i$4<list.length;i$4+=1){var seg=list[i$4];interpolator.reset(seg,radius*.25);var numCircles=0;if(interpolator.length<=.5*radius){numCircles=1}else{numCircles=Math.ceil(interpolator.paddedLength/circleDist)+1}for(var i$3=0;i$3<numCircles;i$3++){var t=i$3/Math.max(numCircles-1,1);var circlePosition=interpolator.lerp(t);var centerX=circlePosition.x+viewportPadding;var centerY=circlePosition.y+viewportPadding;placedCollisionCircles.push(centerX,centerY,radius,0);var x1=centerX-radius;var y1=centerY-radius;var x2=centerX+radius;var y2=centerY+radius;entirelyOffscreen=entirelyOffscreen&&this.isOffscreen(x1,y1,x2,y2);inGrid=inGrid||this.isInsideGrid(x1,y1,x2,y2);if(!allowOverlap){if(this.grid.hitTestCircle(centerX,centerY,radius,collisionGroupPredicate)){collisionDetected=true;if(!showCollisionCircles){return{circles:[],offscreen:false,collisionDetected:collisionDetected}}}}}}}return{circles:!showCollisionCircles&&collisionDetected||!inGrid?[]:placedCollisionCircles,offscreen:entirelyOffscreen,collisionDetected:collisionDetected}};CollisionIndex.prototype.queryRenderedSymbols=function queryRenderedSymbols(viewportQueryGeometry){if(viewportQueryGeometry.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0){return{}}var query=[];var minX=Infinity;var minY=Infinity;var maxX=-Infinity;var maxY=-Infinity;for(var i=0,list=viewportQueryGeometry;i<list.length;i+=1){var point=list[i];var gridPoint=new performance.Point(point.x+viewportPadding,point.y+viewportPadding);minX=Math.min(minX,gridPoint.x);minY=Math.min(minY,gridPoint.y);maxX=Math.max(maxX,gridPoint.x);maxY=Math.max(maxY,gridPoint.y);query.push(gridPoint)}var features=this.grid.query(minX,minY,maxX,maxY).concat(this.ignoredGrid.query(minX,minY,maxX,maxY));var seenFeatures={};var result={};for(var i$1=0,list$1=features;i$1<list$1.length;i$1+=1){var feature=list$1[i$1];var featureKey=feature.key;if(seenFeatures[featureKey.bucketInstanceId]===undefined){seenFeatures[featureKey.bucketInstanceId]={}}if(seenFeatures[featureKey.bucketInstanceId][featureKey.featureIndex]){continue}var bbox=[new performance.Point(feature.x1,feature.y1),new performance.Point(feature.x2,feature.y1),new performance.Point(feature.x2,feature.y2),new performance.Point(feature.x1,feature.y2)];if(!performance.polygonIntersectsPolygon(query,bbox)){continue}seenFeatures[featureKey.bucketInstanceId][featureKey.featureIndex]=true;if(result[featureKey.bucketInstanceId]===undefined){result[featureKey.bucketInstanceId]=[]}result[featureKey.bucketInstanceId].push(featureKey.featureIndex)}return result};CollisionIndex.prototype.insertCollisionBox=function insertCollisionBox(collisionBox,ignorePlacement,bucketInstanceId,featureIndex,collisionGroupID){var grid=ignorePlacement?this.ignoredGrid:this.grid;var key={bucketInstanceId:bucketInstanceId,featureIndex:featureIndex,collisionGroupID:collisionGroupID};grid.insert(key,collisionBox[0],collisionBox[1],collisionBox[2],collisionBox[3])};CollisionIndex.prototype.insertCollisionCircles=function insertCollisionCircles(collisionCircles,ignorePlacement,bucketInstanceId,featureIndex,collisionGroupID){var grid=ignorePlacement?this.ignoredGrid:this.grid;var key={bucketInstanceId:bucketInstanceId,featureIndex:featureIndex,collisionGroupID:collisionGroupID};for(var k=0;k<collisionCircles.length;k+=4){grid.insertCircle(key,collisionCircles[k],collisionCircles[k+1],collisionCircles[k+2])}};CollisionIndex.prototype.projectAndGetPerspectiveRatio=function projectAndGetPerspectiveRatio(posMatrix,x,y){var p=[x,y,0,1];xyTransformMat4(p,p,posMatrix);var a=new performance.Point((p[0]/p[3]+1)/2*this.transform.width+viewportPadding,(-p[1]/p[3]+1)/2*this.transform.height+viewportPadding);return{point:a,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/p[3])}};CollisionIndex.prototype.isOffscreen=function isOffscreen(x1,y1,x2,y2){return x2<viewportPadding||x1>=this.screenRightBoundary||y2<viewportPadding||y1>this.screenBottomBoundary};CollisionIndex.prototype.isInsideGrid=function isInsideGrid(x1,y1,x2,y2){return x2>=0&&x1<this.gridRightBoundary&&y2>=0&&y1<this.gridBottomBoundary};CollisionIndex.prototype.getViewportMatrix=function getViewportMatrix(){var m=performance.identity([]);performance.translate(m,m,[-viewportPadding,-viewportPadding,0]);return m};function pixelsToTileUnits(tile,pixelValue,z){return pixelValue*(performance.EXTENT/(tile.tileSize*Math.pow(2,z-tile.tileID.overscaledZ)))}var OpacityState=function OpacityState(prevState,increment,placed,skipFade){if(prevState){this.opacity=Math.max(0,Math.min(1,prevState.opacity+(prevState.placed?increment:-increment)))}else{this.opacity=skipFade&&placed?1:0}this.placed=placed};OpacityState.prototype.isHidden=function isHidden(){return this.opacity===0&&!this.placed};var JointOpacityState=function JointOpacityState(prevState,increment,placedText,placedIcon,skipFade){this.text=new OpacityState(prevState?prevState.text:null,increment,placedText,skipFade);this.icon=new OpacityState(prevState?prevState.icon:null,increment,placedIcon,skipFade)};JointOpacityState.prototype.isHidden=function isHidden(){return this.text.isHidden()&&this.icon.isHidden()};var JointPlacement=function JointPlacement(text,icon,skipFade){this.text=text;this.icon=icon;this.skipFade=skipFade};var CollisionCircleArray=function CollisionCircleArray(){this.invProjMatrix=performance.create();this.viewportMatrix=performance.create();this.circles=[]};var RetainedQueryData=function RetainedQueryData(bucketInstanceId,featureIndex,sourceLayerIndex,bucketIndex,tileID){this.bucketInstanceId=bucketInstanceId;this.featureIndex=featureIndex;this.sourceLayerIndex=sourceLayerIndex;this.bucketIndex=bucketIndex;this.tileID=tileID};var CollisionGroups=function CollisionGroups(crossSourceCollisions){this.crossSourceCollisions=crossSourceCollisions;this.maxGroupID=0;this.collisionGroups={}};CollisionGroups.prototype.get=function get(sourceID){if(!this.crossSourceCollisions){if(!this.collisionGroups[sourceID]){var nextGroupID=++this.maxGroupID;this.collisionGroups[sourceID]={ID:nextGroupID,predicate:function(key){return key.collisionGroupID===nextGroupID}}}return this.collisionGroups[sourceID]}else{return{ID:0,predicate:null}}};function calculateVariableLayoutShift(anchor,width,height,textOffset,textBoxScale){var ref=performance.getAnchorAlignment(anchor);var horizontalAlign=ref.horizontalAlign;var verticalAlign=ref.verticalAlign;var shiftX=-(horizontalAlign-.5)*width;var shiftY=-(verticalAlign-.5)*height;var offset=performance.evaluateVariableOffset(anchor,textOffset);return new performance.Point(shiftX+offset[0]*textBoxScale,shiftY+offset[1]*textBoxScale)}function shiftVariableCollisionBox(collisionBox,shiftX,shiftY,rotateWithMap,pitchWithMap,angle){var x1=collisionBox.x1;var x2=collisionBox.x2;var y1=collisionBox.y1;var y2=collisionBox.y2;var anchorPointX=collisionBox.anchorPointX;var anchorPointY=collisionBox.anchorPointY;var rotatedOffset=new performance.Point(shiftX,shiftY);if(rotateWithMap){rotatedOffset._rotate(pitchWithMap?angle:-angle)}return{x1:x1+rotatedOffset.x,y1:y1+rotatedOffset.y,x2:x2+rotatedOffset.x,y2:y2+rotatedOffset.y,anchorPointX:anchorPointX,anchorPointY:anchorPointY}}var Placement=function Placement(transform,fadeDuration,crossSourceCollisions,prevPlacement){this.transform=transform.clone();this.collisionIndex=new CollisionIndex(this.transform);this.placements={};this.opacities={};this.variableOffsets={};this.stale=false;this.commitTime=0;this.fadeDuration=fadeDuration;this.retainedQueryData={};this.collisionGroups=new CollisionGroups(crossSourceCollisions);this.collisionCircleArrays={};this.prevPlacement=prevPlacement;if(prevPlacement){prevPlacement.prevPlacement=undefined}this.placedOrientations={}};Placement.prototype.getBucketParts=function getBucketParts(results,styleLayer,tile,sortAcrossTiles){var symbolBucket=tile.getBucket(styleLayer);var bucketFeatureIndex=tile.latestFeatureIndex;if(!symbolBucket||!bucketFeatureIndex||styleLayer.id!==symbolBucket.layerIds[0]){return}var collisionBoxArray=tile.collisionBoxArray;var layout=symbolBucket.layers[0].layout;var scale=Math.pow(2,this.transform.zoom-tile.tileID.overscaledZ);var textPixelRatio=tile.tileSize/performance.EXTENT;var posMatrix=this.transform.calculatePosMatrix(tile.tileID.toUnwrapped());var pitchWithMap=layout.get("text-pitch-alignment")==="map";var rotateWithMap=layout.get("text-rotation-alignment")==="map";var pixelsToTiles=pixelsToTileUnits(tile,1,this.transform.zoom);var textLabelPlaneMatrix=getLabelPlaneMatrix(posMatrix,pitchWithMap,rotateWithMap,this.transform,pixelsToTiles);var labelToScreenMatrix=null;if(pitchWithMap){var glMatrix=getGlCoordMatrix(posMatrix,pitchWithMap,rotateWithMap,this.transform,pixelsToTiles);labelToScreenMatrix=performance.multiply([],this.transform.labelPlaneMatrix,glMatrix)}this.retainedQueryData[symbolBucket.bucketInstanceId]=new RetainedQueryData(symbolBucket.bucketInstanceId,bucketFeatureIndex,symbolBucket.sourceLayerIndex,symbolBucket.index,tile.tileID);var parameters={bucket:symbolBucket,layout:layout,posMatrix:posMatrix,textLabelPlaneMatrix:textLabelPlaneMatrix,labelToScreenMatrix:labelToScreenMatrix,scale:scale,textPixelRatio:textPixelRatio,holdingForFade:tile.holdingForFade(),collisionBoxArray:collisionBoxArray,partiallyEvaluatedTextSize:performance.evaluateSizeForZoom(symbolBucket.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(symbolBucket.sourceID)};if(sortAcrossTiles){for(var i=0,list=symbolBucket.sortKeyRanges;i<list.length;i+=1){var range=list[i];var sortKey=range.sortKey;var symbolInstanceStart=range.symbolInstanceStart;var symbolInstanceEnd=range.symbolInstanceEnd;results.push({sortKey:sortKey,symbolInstanceStart:symbolInstanceStart,symbolInstanceEnd:symbolInstanceEnd,parameters:parameters})}}else{results.push({symbolInstanceStart:0,symbolInstanceEnd:symbolBucket.symbolInstances.length,parameters:parameters})}};Placement.prototype.attemptAnchorPlacement=function attemptAnchorPlacement(anchor,textBox,width,height,textBoxScale,rotateWithMap,pitchWithMap,textPixelRatio,posMatrix,collisionGroup,textAllowOverlap,symbolInstance,bucket,orientation,iconBox){var textOffset=[symbolInstance.textOffset0,symbolInstance.textOffset1];var shift=calculateVariableLayoutShift(anchor,width,height,textOffset,textBoxScale);var placedGlyphBoxes=this.collisionIndex.placeCollisionBox(shiftVariableCollisionBox(textBox,shift.x,shift.y,rotateWithMap,pitchWithMap,this.transform.angle),textAllowOverlap,textPixelRatio,posMatrix,collisionGroup.predicate);if(iconBox){var placedIconBoxes=this.collisionIndex.placeCollisionBox(shiftVariableCollisionBox(iconBox,shift.x,shift.y,rotateWithMap,pitchWithMap,this.transform.angle),textAllowOverlap,textPixelRatio,posMatrix,collisionGroup.predicate);if(placedIconBoxes.box.length===0){return}}if(placedGlyphBoxes.box.length>0){var prevAnchor;if(this.prevPlacement&&this.prevPlacement.variableOffsets[symbolInstance.crossTileID]&&this.prevPlacement.placements[symbolInstance.crossTileID]&&this.prevPlacement.placements[symbolInstance.crossTileID].text){prevAnchor=this.prevPlacement.variableOffsets[symbolInstance.crossTileID].anchor}this.variableOffsets[symbolInstance.crossTileID]={textOffset:textOffset,width:width,height:height,anchor:anchor,textBoxScale:textBoxScale,prevAnchor:prevAnchor};this.markUsedJustification(bucket,anchor,symbolInstance,orientation);if(bucket.allowVerticalPlacement){this.markUsedOrientation(bucket,orientation,symbolInstance);this.placedOrientations[symbolInstance.crossTileID]=orientation}return{shift:shift,placedGlyphBoxes:placedGlyphBoxes}}};Placement.prototype.placeLayerBucketPart=function placeLayerBucketPart(bucketPart,seenCrossTileIDs,showCollisionBoxes){var this$1=this;var ref=bucketPart.parameters;var bucket=ref.bucket;var layout=ref.layout;var posMatrix=ref.posMatrix;var textLabelPlaneMatrix=ref.textLabelPlaneMatrix;var labelToScreenMatrix=ref.labelToScreenMatrix;var textPixelRatio=ref.textPixelRatio;var holdingForFade=ref.holdingForFade;var collisionBoxArray=ref.collisionBoxArray;var partiallyEvaluatedTextSize=ref.partiallyEvaluatedTextSize;var collisionGroup=ref.collisionGroup;var textOptional=layout.get("text-optional");var iconOptional=layout.get("icon-optional");var textAllowOverlap=layout.get("text-allow-overlap");var iconAllowOverlap=layout.get("icon-allow-overlap");var rotateWithMap=layout.get("text-rotation-alignment")==="map";var pitchWithMap=layout.get("text-pitch-alignment")==="map";var hasIconTextFit=layout.get("icon-text-fit")!=="none";var zOrderByViewportY=layout.get("symbol-z-order")==="viewport-y";var alwaysShowText=textAllowOverlap&&(iconAllowOverlap||!bucket.hasIconData()||iconOptional);var alwaysShowIcon=iconAllowOverlap&&(textAllowOverlap||!bucket.hasTextData()||textOptional);if(!bucket.collisionArrays&&collisionBoxArray){bucket.deserializeCollisionBoxes(collisionBoxArray)}var placeSymbol=function(symbolInstance,collisionArrays){if(seenCrossTileIDs[symbolInstance.crossTileID]){return}if(holdingForFade){this$1.placements[symbolInstance.crossTileID]=new JointPlacement(false,false,false);return}var placeText=false;var placeIcon=false;var offscreen=true;var shift=null;var placed={box:null,offscreen:null};var placedVerticalText={box:null,offscreen:null};var placedGlyphBoxes=null;var placedGlyphCircles=null;var placedIconBoxes=null;var textFeatureIndex=0;var verticalTextFeatureIndex=0;var iconFeatureIndex=0;if(collisionArrays.textFeatureIndex){textFeatureIndex=collisionArrays.textFeatureIndex}else if(symbolInstance.useRuntimeCollisionCircles){textFeatureIndex=symbolInstance.featureIndex}if(collisionArrays.verticalTextFeatureIndex){verticalTextFeatureIndex=collisionArrays.verticalTextFeatureIndex}var textBox=collisionArrays.textBox;if(textBox){var updatePreviousOrientationIfNotPlaced=function(isPlaced){var previousOrientation=performance.WritingMode.horizontal;if(bucket.allowVerticalPlacement&&!isPlaced&&this$1.prevPlacement){var prevPlacedOrientation=this$1.prevPlacement.placedOrientations[symbolInstance.crossTileID];if(prevPlacedOrientation){this$1.placedOrientations[symbolInstance.crossTileID]=prevPlacedOrientation;previousOrientation=prevPlacedOrientation;this$1.markUsedOrientation(bucket,previousOrientation,symbolInstance)}}return previousOrientation};var placeTextForPlacementModes=function(placeHorizontalFn,placeVerticalFn){if(bucket.allowVerticalPlacement&&symbolInstance.numVerticalGlyphVertices>0&&collisionArrays.verticalTextBox){for(var i=0,list=bucket.writingModes;i<list.length;i+=1){var placementMode=list[i];if(placementMode===performance.WritingMode.vertical){placed=placeVerticalFn();placedVerticalText=placed}else{placed=placeHorizontalFn()}if(placed&&placed.box&&placed.box.length){break}}}else{placed=placeHorizontalFn()}};if(!layout.get("text-variable-anchor")){var placeBox=function(collisionTextBox,orientation){var placedFeature=this$1.collisionIndex.placeCollisionBox(collisionTextBox,textAllowOverlap,textPixelRatio,posMatrix,collisionGroup.predicate);if(placedFeature&&placedFeature.box&&placedFeature.box.length){this$1.markUsedOrientation(bucket,orientation,symbolInstance);this$1.placedOrientations[symbolInstance.crossTileID]=orientation}return placedFeature};var placeHorizontal=function(){return placeBox(textBox,performance.WritingMode.horizontal)};var placeVertical=function(){var verticalTextBox=collisionArrays.verticalTextBox;if(bucket.allowVerticalPlacement&&symbolInstance.numVerticalGlyphVertices>0&&verticalTextBox){return placeBox(verticalTextBox,performance.WritingMode.vertical)}return{box:null,offscreen:null}};placeTextForPlacementModes(placeHorizontal,placeVertical);updatePreviousOrientationIfNotPlaced(placed&&placed.box&&placed.box.length)}else{var anchors=layout.get("text-variable-anchor");if(this$1.prevPlacement&&this$1.prevPlacement.variableOffsets[symbolInstance.crossTileID]){var prevOffsets=this$1.prevPlacement.variableOffsets[symbolInstance.crossTileID];if(anchors.indexOf(prevOffsets.anchor)>0){anchors=anchors.filter((function(anchor){return anchor!==prevOffsets.anchor}));anchors.unshift(prevOffsets.anchor)}}var placeBoxForVariableAnchors=function(collisionTextBox,collisionIconBox,orientation){var width=collisionTextBox.x2-collisionTextBox.x1;var height=collisionTextBox.y2-collisionTextBox.y1;var textBoxScale=symbolInstance.textBoxScale;var variableIconBox=hasIconTextFit&&!iconAllowOverlap?collisionIconBox:null;var placedBox={box:[],offscreen:false};var placementAttempts=textAllowOverlap?anchors.length*2:anchors.length;for(var i=0;i<placementAttempts;++i){var anchor=anchors[i%anchors.length];var allowOverlap=i>=anchors.length;var result=this$1.attemptAnchorPlacement(anchor,collisionTextBox,width,height,textBoxScale,rotateWithMap,pitchWithMap,textPixelRatio,posMatrix,collisionGroup,allowOverlap,symbolInstance,bucket,orientation,variableIconBox);if(result){placedBox=result.placedGlyphBoxes;if(placedBox&&placedBox.box&&placedBox.box.length){placeText=true;shift=result.shift;break}}}return placedBox};var placeHorizontal$1=function(){return placeBoxForVariableAnchors(textBox,collisionArrays.iconBox,performance.WritingMode.horizontal)};var placeVertical$1=function(){var verticalTextBox=collisionArrays.verticalTextBox;var wasPlaced=placed&&placed.box&&placed.box.length;if(bucket.allowVerticalPlacement&&!wasPlaced&&symbolInstance.numVerticalGlyphVertices>0&&verticalTextBox){return placeBoxForVariableAnchors(verticalTextBox,collisionArrays.verticalIconBox,performance.WritingMode.vertical)}return{box:null,offscreen:null}};placeTextForPlacementModes(placeHorizontal$1,placeVertical$1);if(placed){placeText=placed.box;offscreen=placed.offscreen}var prevOrientation=updatePreviousOrientationIfNotPlaced(placed&&placed.box);if(!placeText&&this$1.prevPlacement){var prevOffset=this$1.prevPlacement.variableOffsets[symbolInstance.crossTileID];if(prevOffset){this$1.variableOffsets[symbolInstance.crossTileID]=prevOffset;this$1.markUsedJustification(bucket,prevOffset.anchor,symbolInstance,prevOrientation)}}}}placedGlyphBoxes=placed;placeText=placedGlyphBoxes&&placedGlyphBoxes.box&&placedGlyphBoxes.box.length>0;offscreen=placedGlyphBoxes&&placedGlyphBoxes.offscreen;if(symbolInstance.useRuntimeCollisionCircles){var placedSymbol=bucket.text.placedSymbolArray.get(symbolInstance.centerJustifiedTextSymbolIndex);var fontSize=performance.evaluateSizeForFeature(bucket.textSizeData,partiallyEvaluatedTextSize,placedSymbol);var textPixelPadding=layout.get("text-padding");var circlePixelDiameter=symbolInstance.collisionCircleDiameter;placedGlyphCircles=this$1.collisionIndex.placeCollisionCircles(textAllowOverlap,placedSymbol,bucket.lineVertexArray,bucket.glyphOffsetArray,fontSize,posMatrix,textLabelPlaneMatrix,labelToScreenMatrix,showCollisionBoxes,pitchWithMap,collisionGroup.predicate,circlePixelDiameter,textPixelPadding);placeText=textAllowOverlap||placedGlyphCircles.circles.length>0&&!placedGlyphCircles.collisionDetected;offscreen=offscreen&&placedGlyphCircles.offscreen}if(collisionArrays.iconFeatureIndex){iconFeatureIndex=collisionArrays.iconFeatureIndex}if(collisionArrays.iconBox){var placeIconFeature=function(iconBox){var shiftedIconBox=hasIconTextFit&&shift?shiftVariableCollisionBox(iconBox,shift.x,shift.y,rotateWithMap,pitchWithMap,this$1.transform.angle):iconBox;return this$1.collisionIndex.placeCollisionBox(shiftedIconBox,iconAllowOverlap,textPixelRatio,posMatrix,collisionGroup.predicate)};if(placedVerticalText&&placedVerticalText.box&&placedVerticalText.box.length&&collisionArrays.verticalIconBox){placedIconBoxes=placeIconFeature(collisionArrays.verticalIconBox);placeIcon=placedIconBoxes.box.length>0}else{placedIconBoxes=placeIconFeature(collisionArrays.iconBox);placeIcon=placedIconBoxes.box.length>0}offscreen=offscreen&&placedIconBoxes.offscreen}var iconWithoutText=textOptional||symbolInstance.numHorizontalGlyphVertices===0&&symbolInstance.numVerticalGlyphVertices===0;var textWithoutIcon=iconOptional||symbolInstance.numIconVertices===0;if(!iconWithoutText&&!textWithoutIcon){placeIcon=placeText=placeIcon&&placeText}else if(!textWithoutIcon){placeText=placeIcon&&placeText}else if(!iconWithoutText){placeIcon=placeIcon&&placeText}if(placeText&&placedGlyphBoxes&&placedGlyphBoxes.box){if(placedVerticalText&&placedVerticalText.box&&verticalTextFeatureIndex){this$1.collisionIndex.insertCollisionBox(placedGlyphBoxes.box,layout.get("text-ignore-placement"),bucket.bucketInstanceId,verticalTextFeatureIndex,collisionGroup.ID)}else{this$1.collisionIndex.insertCollisionBox(placedGlyphBoxes.box,layout.get("text-ignore-placement"),bucket.bucketInstanceId,textFeatureIndex,collisionGroup.ID)}}if(placeIcon&&placedIconBoxes){this$1.collisionIndex.insertCollisionBox(placedIconBoxes.box,layout.get("icon-ignore-placement"),bucket.bucketInstanceId,iconFeatureIndex,collisionGroup.ID)}if(placedGlyphCircles){if(placeText){this$1.collisionIndex.insertCollisionCircles(placedGlyphCircles.circles,layout.get("text-ignore-placement"),bucket.bucketInstanceId,textFeatureIndex,collisionGroup.ID)}if(showCollisionBoxes){var id=bucket.bucketInstanceId;var circleArray=this$1.collisionCircleArrays[id];if(circleArray===undefined){circleArray=this$1.collisionCircleArrays[id]=new CollisionCircleArray}for(var i=0;i<placedGlyphCircles.circles.length;i+=4){circleArray.circles.push(placedGlyphCircles.circles[i+0]);circleArray.circles.push(placedGlyphCircles.circles[i+1]);circleArray.circles.push(placedGlyphCircles.circles[i+2]);circleArray.circles.push(placedGlyphCircles.collisionDetected?1:0)}}}this$1.placements[symbolInstance.crossTileID]=new JointPlacement(placeText||alwaysShowText,placeIcon||alwaysShowIcon,offscreen||bucket.justReloaded);seenCrossTileIDs[symbolInstance.crossTileID]=true};if(zOrderByViewportY){var symbolIndexes=bucket.getSortedSymbolIndexes(this.transform.angle);for(var i=symbolIndexes.length-1;i>=0;--i){var symbolIndex=symbolIndexes[i];placeSymbol(bucket.symbolInstances.get(symbolIndex),bucket.collisionArrays[symbolIndex])}}else{for(var i$1=bucketPart.symbolInstanceStart;i$1<bucketPart.symbolInstanceEnd;i$1++){placeSymbol(bucket.symbolInstances.get(i$1),bucket.collisionArrays[i$1])}}if(showCollisionBoxes&&bucket.bucketInstanceId in this.collisionCircleArrays){var circleArray=this.collisionCircleArrays[bucket.bucketInstanceId];performance.invert(circleArray.invProjMatrix,posMatrix);circleArray.viewportMatrix=this.collisionIndex.getViewportMatrix()}bucket.justReloaded=false};Placement.prototype.markUsedJustification=function markUsedJustification(bucket,placedAnchor,symbolInstance,orientation){var justifications={left:symbolInstance.leftJustifiedTextSymbolIndex,center:symbolInstance.centerJustifiedTextSymbolIndex,right:symbolInstance.rightJustifiedTextSymbolIndex};var autoIndex;if(orientation===performance.WritingMode.vertical){autoIndex=symbolInstance.verticalPlacedTextSymbolIndex}else{autoIndex=justifications[performance.getAnchorJustification(placedAnchor)]}var indexes=[symbolInstance.leftJustifiedTextSymbolIndex,symbolInstance.centerJustifiedTextSymbolIndex,symbolInstance.rightJustifiedTextSymbolIndex,symbolInstance.verticalPlacedTextSymbolIndex];for(var i=0,list=indexes;i<list.length;i+=1){var index=list[i];if(index>=0){if(autoIndex>=0&&index!==autoIndex){bucket.text.placedSymbolArray.get(index).crossTileID=0}else{bucket.text.placedSymbolArray.get(index).crossTileID=symbolInstance.crossTileID}}}};Placement.prototype.markUsedOrientation=function markUsedOrientation(bucket,orientation,symbolInstance){var horizontal=orientation===performance.WritingMode.horizontal||orientation===performance.WritingMode.horizontalOnly?orientation:0;var vertical=orientation===performance.WritingMode.vertical?orientation:0;var horizontalIndexes=[symbolInstance.leftJustifiedTextSymbolIndex,symbolInstance.centerJustifiedTextSymbolIndex,symbolInstance.rightJustifiedTextSymbolIndex];for(var i=0,list=horizontalIndexes;i<list.length;i+=1){var index=list[i];bucket.text.placedSymbolArray.get(index).placedOrientation=horizontal}if(symbolInstance.verticalPlacedTextSymbolIndex){bucket.text.placedSymbolArray.get(symbolInstance.verticalPlacedTextSymbolIndex).placedOrientation=vertical}};Placement.prototype.commit=function commit(now){this.commitTime=now;this.zoomAtLastRecencyCheck=this.transform.zoom;var prevPlacement=this.prevPlacement;var placementChanged=false;this.prevZoomAdjustment=prevPlacement?prevPlacement.zoomAdjustment(this.transform.zoom):0;var increment=prevPlacement?prevPlacement.symbolFadeChange(now):1;var prevOpacities=prevPlacement?prevPlacement.opacities:{};var prevOffsets=prevPlacement?prevPlacement.variableOffsets:{};var prevOrientations=prevPlacement?prevPlacement.placedOrientations:{};for(var crossTileID in this.placements){var jointPlacement=this.placements[crossTileID];var prevOpacity=prevOpacities[crossTileID];if(prevOpacity){this.opacities[crossTileID]=new JointOpacityState(prevOpacity,increment,jointPlacement.text,jointPlacement.icon);placementChanged=placementChanged||jointPlacement.text!==prevOpacity.text.placed||jointPlacement.icon!==prevOpacity.icon.placed}else{this.opacities[crossTileID]=new JointOpacityState(null,increment,jointPlacement.text,jointPlacement.icon,jointPlacement.skipFade);placementChanged=placementChanged||jointPlacement.text||jointPlacement.icon}}for(var crossTileID$1 in prevOpacities){var prevOpacity$1=prevOpacities[crossTileID$1];if(!this.opacities[crossTileID$1]){var jointOpacity=new JointOpacityState(prevOpacity$1,increment,false,false);if(!jointOpacity.isHidden()){this.opacities[crossTileID$1]=jointOpacity;placementChanged=placementChanged||prevOpacity$1.text.placed||prevOpacity$1.icon.placed}}}for(var crossTileID$2 in prevOffsets){if(!this.variableOffsets[crossTileID$2]&&this.opacities[crossTileID$2]&&!this.opacities[crossTileID$2].isHidden()){this.variableOffsets[crossTileID$2]=prevOffsets[crossTileID$2]}}for(var crossTileID$3 in prevOrientations){if(!this.placedOrientations[crossTileID$3]&&this.opacities[crossTileID$3]&&!this.opacities[crossTileID$3].isHidden()){this.placedOrientations[crossTileID$3]=prevOrientations[crossTileID$3]}}if(placementChanged){this.lastPlacementChangeTime=now}else if(typeof this.lastPlacementChangeTime!=="number"){this.lastPlacementChangeTime=prevPlacement?prevPlacement.lastPlacementChangeTime:now}};Placement.prototype.updateLayerOpacities=function updateLayerOpacities(styleLayer,tiles){var seenCrossTileIDs={};for(var i=0,list=tiles;i<list.length;i+=1){var tile=list[i];var symbolBucket=tile.getBucket(styleLayer);if(symbolBucket&&tile.latestFeatureIndex&&styleLayer.id===symbolBucket.layerIds[0]){this.updateBucketOpacities(symbolBucket,seenCrossTileIDs,tile.collisionBoxArray)}}};Placement.prototype.updateBucketOpacities=function updateBucketOpacities(bucket,seenCrossTileIDs,collisionBoxArray){var this$1=this;if(bucket.hasTextData()){bucket.text.opacityVertexArray.clear()}if(bucket.hasIconData()){bucket.icon.opacityVertexArray.clear()}if(bucket.hasIconCollisionBoxData()){bucket.iconCollisionBox.collisionVertexArray.clear()}if(bucket.hasTextCollisionBoxData()){bucket.textCollisionBox.collisionVertexArray.clear()}var layout=bucket.layers[0].layout;var duplicateOpacityState=new JointOpacityState(null,0,false,false,true);var textAllowOverlap=layout.get("text-allow-overlap");var iconAllowOverlap=layout.get("icon-allow-overlap");var variablePlacement=layout.get("text-variable-anchor");var rotateWithMap=layout.get("text-rotation-alignment")==="map";var pitchWithMap=layout.get("text-pitch-alignment")==="map";var hasIconTextFit=layout.get("icon-text-fit")!=="none";var defaultOpacityState=new JointOpacityState(null,0,textAllowOverlap&&(iconAllowOverlap||!bucket.hasIconData()||layout.get("icon-optional")),iconAllowOverlap&&(textAllowOverlap||!bucket.hasTextData()||layout.get("text-optional")),true);if(!bucket.collisionArrays&&collisionBoxArray&&(bucket.hasIconCollisionBoxData()||bucket.hasTextCollisionBoxData())){bucket.deserializeCollisionBoxes(collisionBoxArray)}var addOpacities=function(iconOrText,numVertices,opacity){for(var i=0;i<numVertices/4;i++){iconOrText.opacityVertexArray.emplaceBack(opacity)}};var loop=function(s){var symbolInstance=bucket.symbolInstances.get(s);var numHorizontalGlyphVertices=symbolInstance.numHorizontalGlyphVertices;var numVerticalGlyphVertices=symbolInstance.numVerticalGlyphVertices;var crossTileID=symbolInstance.crossTileID;var isDuplicate=seenCrossTileIDs[crossTileID];var opacityState=this$1.opacities[crossTileID];if(isDuplicate){opacityState=duplicateOpacityState}else if(!opacityState){opacityState=defaultOpacityState;this$1.opacities[crossTileID]=opacityState}seenCrossTileIDs[crossTileID]=true;var hasText=numHorizontalGlyphVertices>0||numVerticalGlyphVertices>0;var hasIcon=symbolInstance.numIconVertices>0;var placedOrientation=this$1.placedOrientations[symbolInstance.crossTileID];var horizontalHidden=placedOrientation===performance.WritingMode.vertical;var verticalHidden=placedOrientation===performance.WritingMode.horizontal||placedOrientation===performance.WritingMode.horizontalOnly;if(hasText){var packedOpacity=packOpacity(opacityState.text);var horizontalOpacity=horizontalHidden?PACKED_HIDDEN_OPACITY:packedOpacity;addOpacities(bucket.text,numHorizontalGlyphVertices,horizontalOpacity);var verticalOpacity=verticalHidden?PACKED_HIDDEN_OPACITY:packedOpacity;addOpacities(bucket.text,numVerticalGlyphVertices,verticalOpacity);var symbolHidden=opacityState.text.isHidden();[symbolInstance.rightJustifiedTextSymbolIndex,symbolInstance.centerJustifiedTextSymbolIndex,symbolInstance.leftJustifiedTextSymbolIndex].forEach((function(index){if(index>=0){bucket.text.placedSymbolArray.get(index).hidden=symbolHidden||horizontalHidden?1:0}}));if(symbolInstance.verticalPlacedTextSymbolIndex>=0){bucket.text.placedSymbolArray.get(symbolInstance.verticalPlacedTextSymbolIndex).hidden=symbolHidden||verticalHidden?1:0}var prevOffset=this$1.variableOffsets[symbolInstance.crossTileID];if(prevOffset){this$1.markUsedJustification(bucket,prevOffset.anchor,symbolInstance,placedOrientation)}var prevOrientation=this$1.placedOrientations[symbolInstance.crossTileID];if(prevOrientation){this$1.markUsedJustification(bucket,"left",symbolInstance,prevOrientation);this$1.markUsedOrientation(bucket,prevOrientation,symbolInstance)}}if(hasIcon){var packedOpacity$1=packOpacity(opacityState.icon);var useHorizontal=!(hasIconTextFit&&symbolInstance.verticalPlacedIconSymbolIndex&&horizontalHidden);if(symbolInstance.placedIconSymbolIndex>=0){var horizontalOpacity$1=useHorizontal?packedOpacity$1:PACKED_HIDDEN_OPACITY;addOpacities(bucket.icon,symbolInstance.numIconVertices,horizontalOpacity$1);bucket.icon.placedSymbolArray.get(symbolInstance.placedIconSymbolIndex).hidden=opacityState.icon.isHidden()}if(symbolInstance.verticalPlacedIconSymbolIndex>=0){var verticalOpacity$1=!useHorizontal?packedOpacity$1:PACKED_HIDDEN_OPACITY;addOpacities(bucket.icon,symbolInstance.numVerticalIconVertices,verticalOpacity$1);bucket.icon.placedSymbolArray.get(symbolInstance.verticalPlacedIconSymbolIndex).hidden=opacityState.icon.isHidden()}}if(bucket.hasIconCollisionBoxData()||bucket.hasTextCollisionBoxData()){var collisionArrays=bucket.collisionArrays[s];if(collisionArrays){var shift=new performance.Point(0,0);if(collisionArrays.textBox||collisionArrays.verticalTextBox){var used=true;if(variablePlacement){var variableOffset=this$1.variableOffsets[crossTileID];if(variableOffset){shift=calculateVariableLayoutShift(variableOffset.anchor,variableOffset.width,variableOffset.height,variableOffset.textOffset,variableOffset.textBoxScale);if(rotateWithMap){shift._rotate(pitchWithMap?this$1.transform.angle:-this$1.transform.angle)}}else{used=false}}if(collisionArrays.textBox){updateCollisionVertices(bucket.textCollisionBox.collisionVertexArray,opacityState.text.placed,!used||horizontalHidden,shift.x,shift.y)}if(collisionArrays.verticalTextBox){updateCollisionVertices(bucket.textCollisionBox.collisionVertexArray,opacityState.text.placed,!used||verticalHidden,shift.x,shift.y)}}var verticalIconUsed=Boolean(!verticalHidden&&collisionArrays.verticalIconBox);if(collisionArrays.iconBox){updateCollisionVertices(bucket.iconCollisionBox.collisionVertexArray,opacityState.icon.placed,verticalIconUsed,hasIconTextFit?shift.x:0,hasIconTextFit?shift.y:0)}if(collisionArrays.verticalIconBox){updateCollisionVertices(bucket.iconCollisionBox.collisionVertexArray,opacityState.icon.placed,!verticalIconUsed,hasIconTextFit?shift.x:0,hasIconTextFit?shift.y:0)}}}};for(var s=0;s<bucket.symbolInstances.length;s++)loop(s);bucket.sortFeatures(this.transform.angle);if(this.retainedQueryData[bucket.bucketInstanceId]){this.retainedQueryData[bucket.bucketInstanceId].featureSortOrder=bucket.featureSortOrder}if(bucket.hasTextData()&&bucket.text.opacityVertexBuffer){bucket.text.opacityVertexBuffer.updateData(bucket.text.opacityVertexArray)}if(bucket.hasIconData()&&bucket.icon.opacityVertexBuffer){bucket.icon.opacityVertexBuffer.updateData(bucket.icon.opacityVertexArray)}if(bucket.hasIconCollisionBoxData()&&bucket.iconCollisionBox.collisionVertexBuffer){bucket.iconCollisionBox.collisionVertexBuffer.updateData(bucket.iconCollisionBox.collisionVertexArray)}if(bucket.hasTextCollisionBoxData()&&bucket.textCollisionBox.collisionVertexBuffer){bucket.textCollisionBox.collisionVertexBuffer.updateData(bucket.textCollisionBox.collisionVertexArray)}if(bucket.bucketInstanceId in this.collisionCircleArrays){var instance=this.collisionCircleArrays[bucket.bucketInstanceId];bucket.placementInvProjMatrix=instance.invProjMatrix;bucket.placementViewportMatrix=instance.viewportMatrix;bucket.collisionCircleArray=instance.circles;delete this.collisionCircleArrays[bucket.bucketInstanceId]}};Placement.prototype.symbolFadeChange=function symbolFadeChange(now){return this.fadeDuration===0?1:(now-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment};Placement.prototype.zoomAdjustment=function zoomAdjustment(zoom){return Math.max(0,(this.transform.zoom-zoom)/1.5)};Placement.prototype.hasTransitions=function hasTransitions(now){return this.stale||now-this.lastPlacementChangeTime<this.fadeDuration};Placement.prototype.stillRecent=function stillRecent(now,zoom){var durationAdjustment=this.zoomAtLastRecencyCheck===zoom?1-this.zoomAdjustment(zoom):1;this.zoomAtLastRecencyCheck=zoom;return this.commitTime+this.fadeDuration*durationAdjustment>now};Placement.prototype.setStale=function setStale(){this.stale=true};function updateCollisionVertices(collisionVertexArray,placed,notUsed,shiftX,shiftY){collisionVertexArray.emplaceBack(placed?1:0,notUsed?1:0,shiftX||0,shiftY||0);collisionVertexArray.emplaceBack(placed?1:0,notUsed?1:0,shiftX||0,shiftY||0);collisionVertexArray.emplaceBack(placed?1:0,notUsed?1:0,shiftX||0,shiftY||0);collisionVertexArray.emplaceBack(placed?1:0,notUsed?1:0,shiftX||0,shiftY||0)}var shift25=Math.pow(2,25);var shift24=Math.pow(2,24);var shift17=Math.pow(2,17);var shift16=Math.pow(2,16);var shift9=Math.pow(2,9);var shift8=Math.pow(2,8);var shift1=Math.pow(2,1);function packOpacity(opacityState){if(opacityState.opacity===0&&!opacityState.placed){return 0}else if(opacityState.opacity===1&&opacityState.placed){return 4294967295}var targetBit=opacityState.placed?1:0;var opacityBits=Math.floor(opacityState.opacity*127);return opacityBits*shift25+targetBit*shift24+opacityBits*shift17+targetBit*shift16+opacityBits*shift9+targetBit*shift8+opacityBits*shift1+targetBit}var PACKED_HIDDEN_OPACITY=0;var LayerPlacement=function LayerPlacement(styleLayer){this._sortAcrossTiles=styleLayer.layout.get("symbol-z-order")!=="viewport-y"&&styleLayer.layout.get("symbol-sort-key").constantOr(1)!==undefined;this._currentTileIndex=0;this._currentPartIndex=0;this._seenCrossTileIDs={};this._bucketParts=[]};LayerPlacement.prototype.continuePlacement=function continuePlacement(tiles,placement,showCollisionBoxes,styleLayer,shouldPausePlacement){var bucketParts=this._bucketParts;while(this._currentTileIndex<tiles.length){var tile=tiles[this._currentTileIndex];placement.getBucketParts(bucketParts,styleLayer,tile,this._sortAcrossTiles);this._currentTileIndex++;if(shouldPausePlacement()){return true}}if(this._sortAcrossTiles){this._sortAcrossTiles=false;bucketParts.sort((function(a,b){return a.sortKey-b.sortKey}))}while(this._currentPartIndex<bucketParts.length){var bucketPart=bucketParts[this._currentPartIndex];placement.placeLayerBucketPart(bucketPart,this._seenCrossTileIDs,showCollisionBoxes);this._currentPartIndex++;if(shouldPausePlacement()){return true}}return false};var PauseablePlacement=function PauseablePlacement(transform,order,forceFullPlacement,showCollisionBoxes,fadeDuration,crossSourceCollisions,prevPlacement){this.placement=new Placement(transform,fadeDuration,crossSourceCollisions,prevPlacement);this._currentPlacementIndex=order.length-1;this._forceFullPlacement=forceFullPlacement;this._showCollisionBoxes=showCollisionBoxes;this._done=false};PauseablePlacement.prototype.isDone=function isDone(){return this._done};PauseablePlacement.prototype.continuePlacement=function continuePlacement(order,layers,layerTiles){var this$1=this;var startTime=performance.browser.now();var shouldPausePlacement=function(){var elapsedTime=performance.browser.now()-startTime;return this$1._forceFullPlacement?false:elapsedTime>2};while(this._currentPlacementIndex>=0){var layerId=order[this._currentPlacementIndex];var layer=layers[layerId];var placementZoom=this.placement.collisionIndex.transform.zoom;if(layer.type==="symbol"&&(!layer.minzoom||layer.minzoom<=placementZoom)&&(!layer.maxzoom||layer.maxzoom>placementZoom)){if(!this._inProgressLayer){this._inProgressLayer=new LayerPlacement(layer)}var pausePlacement=this._inProgressLayer.continuePlacement(layerTiles[layer.source],this.placement,this._showCollisionBoxes,layer,shouldPausePlacement);if(pausePlacement){return}delete this._inProgressLayer}this._currentPlacementIndex--}this._done=true};PauseablePlacement.prototype.commit=function commit(now){this.placement.commit(now);return this.placement};var roundingFactor=512/performance.EXTENT/2;var TileLayerIndex=function TileLayerIndex(tileID,symbolInstances,bucketInstanceId){this.tileID=tileID;this.indexedSymbolInstances={};this.bucketInstanceId=bucketInstanceId;for(var i=0;i<symbolInstances.length;i++){var symbolInstance=symbolInstances.get(i);var key=symbolInstance.key;if(!this.indexedSymbolInstances[key]){this.indexedSymbolInstances[key]=[]}this.indexedSymbolInstances[key].push({crossTileID:symbolInstance.crossTileID,coord:this.getScaledCoordinates(symbolInstance,tileID)})}};TileLayerIndex.prototype.getScaledCoordinates=function getScaledCoordinates(symbolInstance,childTileID){var zDifference=childTileID.canonical.z-this.tileID.canonical.z;var scale=roundingFactor/Math.pow(2,zDifference);return{x:Math.floor((childTileID.canonical.x*performance.EXTENT+symbolInstance.anchorX)*scale),y:Math.floor((childTileID.canonical.y*performance.EXTENT+symbolInstance.anchorY)*scale)}};TileLayerIndex.prototype.findMatches=function findMatches(symbolInstances,newTileID,zoomCrossTileIDs){var tolerance=this.tileID.canonical.z<newTileID.canonical.z?1:Math.pow(2,this.tileID.canonical.z-newTileID.canonical.z);for(var i=0;i<symbolInstances.length;i++){var symbolInstance=symbolInstances.get(i);if(symbolInstance.crossTileID){continue}var indexedInstances=this.indexedSymbolInstances[symbolInstance.key];if(!indexedInstances){continue}var scaledSymbolCoord=this.getScaledCoordinates(symbolInstance,newTileID);for(var i$1=0,list=indexedInstances;i$1<list.length;i$1+=1){var thisTileSymbol=list[i$1];if(Math.abs(thisTileSymbol.coord.x-scaledSymbolCoord.x)<=tolerance&&Math.abs(thisTileSymbol.coord.y-scaledSymbolCoord.y)<=tolerance&&!zoomCrossTileIDs[thisTileSymbol.crossTileID]){zoomCrossTileIDs[thisTileSymbol.crossTileID]=true;symbolInstance.crossTileID=thisTileSymbol.crossTileID;break}}}};var CrossTileIDs=function CrossTileIDs(){this.maxCrossTileID=0};CrossTileIDs.prototype.generate=function generate(){return++this.maxCrossTileID};var CrossTileSymbolLayerIndex=function CrossTileSymbolLayerIndex(){this.indexes={};this.usedCrossTileIDs={};this.lng=0};CrossTileSymbolLayerIndex.prototype.handleWrapJump=function handleWrapJump(lng){var wrapDelta=Math.round((lng-this.lng)/360);if(wrapDelta!==0){for(var zoom in this.indexes){var zoomIndexes=this.indexes[zoom];var newZoomIndex={};for(var key in zoomIndexes){var index=zoomIndexes[key];index.tileID=index.tileID.unwrapTo(index.tileID.wrap+wrapDelta);newZoomIndex[index.tileID.key]=index}this.indexes[zoom]=newZoomIndex}}this.lng=lng};CrossTileSymbolLayerIndex.prototype.addBucket=function addBucket(tileID,bucket,crossTileIDs){if(this.indexes[tileID.overscaledZ]&&this.indexes[tileID.overscaledZ][tileID.key]){if(this.indexes[tileID.overscaledZ][tileID.key].bucketInstanceId===bucket.bucketInstanceId){return false}else{this.removeBucketCrossTileIDs(tileID.overscaledZ,this.indexes[tileID.overscaledZ][tileID.key])}}for(var i=0;i<bucket.symbolInstances.length;i++){var symbolInstance=bucket.symbolInstances.get(i);symbolInstance.crossTileID=0}if(!this.usedCrossTileIDs[tileID.overscaledZ]){this.usedCrossTileIDs[tileID.overscaledZ]={}}var zoomCrossTileIDs=this.usedCrossTileIDs[tileID.overscaledZ];for(var zoom in this.indexes){var zoomIndexes=this.indexes[zoom];if(Number(zoom)>tileID.overscaledZ){for(var id in zoomIndexes){var childIndex=zoomIndexes[id];if(childIndex.tileID.isChildOf(tileID)){childIndex.findMatches(bucket.symbolInstances,tileID,zoomCrossTileIDs)}}}else{var parentCoord=tileID.scaledTo(Number(zoom));var parentIndex=zoomIndexes[parentCoord.key];if(parentIndex){parentIndex.findMatches(bucket.symbolInstances,tileID,zoomCrossTileIDs)}}}for(var i$1=0;i$1<bucket.symbolInstances.length;i$1++){var symbolInstance$1=bucket.symbolInstances.get(i$1);if(!symbolInstance$1.crossTileID){symbolInstance$1.crossTileID=crossTileIDs.generate();zoomCrossTileIDs[symbolInstance$1.crossTileID]=true}}if(this.indexes[tileID.overscaledZ]===undefined){this.indexes[tileID.overscaledZ]={}}this.indexes[tileID.overscaledZ][tileID.key]=new TileLayerIndex(tileID,bucket.symbolInstances,bucket.bucketInstanceId);return true};CrossTileSymbolLayerIndex.prototype.removeBucketCrossTileIDs=function removeBucketCrossTileIDs(zoom,removedBucket){for(var key in removedBucket.indexedSymbolInstances){for(var i=0,list=removedBucket.indexedSymbolInstances[key];i<list.length;i+=1){var symbolInstance=list[i];delete this.usedCrossTileIDs[zoom][symbolInstance.crossTileID]}}};CrossTileSymbolLayerIndex.prototype.removeStaleBuckets=function removeStaleBuckets(currentIDs){var tilesChanged=false;for(var z in this.indexes){var zoomIndexes=this.indexes[z];for(var tileKey in zoomIndexes){if(!currentIDs[zoomIndexes[tileKey].bucketInstanceId]){this.removeBucketCrossTileIDs(z,zoomIndexes[tileKey]);delete zoomIndexes[tileKey];tilesChanged=true}}}return tilesChanged};var CrossTileSymbolIndex=function CrossTileSymbolIndex(){this.layerIndexes={};this.crossTileIDs=new CrossTileIDs;this.maxBucketInstanceId=0;this.bucketsInCurrentPlacement={}};CrossTileSymbolIndex.prototype.addLayer=function addLayer(styleLayer,tiles,lng){var layerIndex=this.layerIndexes[styleLayer.id];if(layerIndex===undefined){layerIndex=this.layerIndexes[styleLayer.id]=new CrossTileSymbolLayerIndex}var symbolBucketsChanged=false;var currentBucketIDs={};layerIndex.handleWrapJump(lng);for(var i=0,list=tiles;i<list.length;i+=1){var tile=list[i];var symbolBucket=tile.getBucket(styleLayer);if(!symbolBucket||styleLayer.id!==symbolBucket.layerIds[0]){continue}if(!symbolBucket.bucketInstanceId){symbolBucket.bucketInstanceId=++this.maxBucketInstanceId}if(layerIndex.addBucket(tile.tileID,symbolBucket,this.crossTileIDs)){symbolBucketsChanged=true}currentBucketIDs[symbolBucket.bucketInstanceId]=true}if(layerIndex.removeStaleBuckets(currentBucketIDs)){symbolBucketsChanged=true}return symbolBucketsChanged};CrossTileSymbolIndex.prototype.pruneUnusedLayers=function pruneUnusedLayers(usedLayers){var usedLayerMap={};usedLayers.forEach((function(usedLayer){usedLayerMap[usedLayer]=true}));for(var layerId in this.layerIndexes){if(!usedLayerMap[layerId]){delete this.layerIndexes[layerId]}}};var emitValidationErrors=function(evented,errors){return performance.emitValidationErrors(evented,errors&&errors.filter((function(error){return error.identifier!=="source.canvas"})))};var supportedDiffOperations=performance.pick(operations,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]);var ignoredDiffOperations=performance.pick(operations,["setCenter","setZoom","setBearing","setPitch"]);var empty=emptyStyle();var Style=function(Evented){function Style(map,options){var this$1=this;if(options===void 0)options={};Evented.call(this);this.map=map;this.dispatcher=new Dispatcher(getGlobalWorkerPool(),this);this.imageManager=new ImageManager;this.imageManager.setEventedParent(this);this.glyphManager=new GlyphManager(map._requestManager,options.localIdeographFontFamily);this.lineAtlas=new LineAtlas(256,512);this.crossTileSymbolIndex=new CrossTileSymbolIndex;this._layers={};this._serializedLayers={};this._order=[];this.sourceCaches={};this.zoomHistory=new performance.ZoomHistory;this._loaded=false;this._availableImages=[];this._resetUpdates();this.dispatcher.broadcast("setReferrer",performance.getReferrer());var self=this;this._rtlTextPluginCallback=Style.registerForPluginStateChange((function(event){var state={pluginStatus:event.pluginStatus,pluginURL:event.pluginURL};self.dispatcher.broadcast("syncRTLPluginState",state,(function(err,results){performance.triggerPluginCompletionEvent(err);if(results){var allComplete=results.every((function(elem){return elem}));if(allComplete){for(var id in self.sourceCaches){self.sourceCaches[id].reload()}}}}))}));this.on("data",(function(event){if(event.dataType!=="source"||event.sourceDataType!=="metadata"){return}var sourceCache=this$1.sourceCaches[event.sourceId];if(!sourceCache){return}var source=sourceCache.getSource();if(!source||!source.vectorLayerIds){return}for(var layerId in this$1._layers){var layer=this$1._layers[layerId];if(layer.source===source.id){this$1._validateLayer(layer)}}}))}if(Evented)Style.__proto__=Evented;Style.prototype=Object.create(Evented&&Evented.prototype);Style.prototype.constructor=Style;Style.prototype.loadURL=function loadURL(url,options){var this$1=this;if(options===void 0)options={};this.fire(new performance.Event("dataloading",{dataType:"style"}));var validate=typeof options.validate==="boolean"?options.validate:!performance.isMapboxURL(url);url=this.map._requestManager.normalizeStyleURL(url,options.accessToken);var request=this.map._requestManager.transformRequest(url,performance.ResourceType.Style);this._request=performance.getJSON(request,(function(error,json){this$1._request=null;if(error){this$1.fire(new performance.ErrorEvent(error))}else if(json){this$1._load(json,validate)}}))};Style.prototype.loadJSON=function loadJSON(json,options){var this$1=this;if(options===void 0)options={};this.fire(new performance.Event("dataloading",{dataType:"style"}));this._request=performance.browser.frame((function(){this$1._request=null;this$1._load(json,options.validate!==false)}))};Style.prototype.loadEmpty=function loadEmpty(){this.fire(new performance.Event("dataloading",{dataType:"style"}));this._load(empty,false)};Style.prototype._load=function _load(json,validate){if(validate&&emitValidationErrors(this,performance.validateStyle(json))){return}this._loaded=true;this.stylesheet=json;for(var id in json.sources){this.addSource(id,json.sources[id],{validate:false})}if(json.sprite){this._loadSprite(json.sprite)}else{this.imageManager.setLoaded(true)}this.glyphManager.setURL(json.glyphs);var layers=derefLayers(this.stylesheet.layers);this._order=layers.map((function(layer){return layer.id}));this._layers={};this._serializedLayers={};for(var i=0,list=layers;i<list.length;i+=1){var layer=list[i];layer=performance.createStyleLayer(layer);layer.setEventedParent(this,{layer:{id:layer.id}});this._layers[layer.id]=layer;this._serializedLayers[layer.id]=layer.serialize()}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order));this.light=new Light(this.stylesheet.light);this.fire(new performance.Event("data",{dataType:"style"}));this.fire(new performance.Event("style.load"))};Style.prototype._loadSprite=function _loadSprite(url){var this$1=this;this._spriteRequest=loadSprite(url,this.map._requestManager,(function(err,images){this$1._spriteRequest=null;if(err){this$1.fire(new performance.ErrorEvent(err))}else if(images){for(var id in images){this$1.imageManager.addImage(id,images[id])}}this$1.imageManager.setLoaded(true);this$1._availableImages=this$1.imageManager.listImages();this$1.dispatcher.broadcast("setImages",this$1._availableImages);this$1.fire(new performance.Event("data",{dataType:"style"}))}))};Style.prototype._validateLayer=function _validateLayer(layer){var sourceCache=this.sourceCaches[layer.source];if(!sourceCache){return}var sourceLayer=layer.sourceLayer;if(!sourceLayer){return}var source=sourceCache.getSource();if(source.type==="geojson"||source.vectorLayerIds&&source.vectorLayerIds.indexOf(sourceLayer)===-1){this.fire(new performance.ErrorEvent(new Error('Source layer "'+sourceLayer+'" '+'does not exist on source "'+source.id+'" '+'as specified by style layer "'+layer.id+'"')))}};Style.prototype.loaded=function loaded(){if(!this._loaded){return false}if(Object.keys(this._updatedSources).length){return false}for(var id in this.sourceCaches){if(!this.sourceCaches[id].loaded()){return false}}if(!this.imageManager.isLoaded()){return false}return true};Style.prototype._serializeLayers=function _serializeLayers(ids){var serializedLayers=[];for(var i=0,list=ids;i<list.length;i+=1){var id=list[i];var layer=this._layers[id];if(layer.type!=="custom"){serializedLayers.push(layer.serialize())}}return serializedLayers};Style.prototype.hasTransitions=function hasTransitions(){if(this.light&&this.light.hasTransition()){return true}for(var id in this.sourceCaches){if(this.sourceCaches[id].hasTransition()){return true}}for(var id$1 in this._layers){if(this._layers[id$1].hasTransition()){return true}}return false};Style.prototype._checkLoaded=function _checkLoaded(){if(!this._loaded){throw new Error("Style is not done loading")}};Style.prototype.update=function update(parameters){if(!this._loaded){return}var changed=this._changed;if(this._changed){var updatedIds=Object.keys(this._updatedLayers);var removedIds=Object.keys(this._removedLayers);if(updatedIds.length||removedIds.length){this._updateWorkerLayers(updatedIds,removedIds)}for(var id in this._updatedSources){var action=this._updatedSources[id];if(action==="reload"){this._reloadSource(id)}else if(action==="clear"){this._clearSource(id)}}this._updateTilesForChangedImages();for(var id$1 in this._updatedPaintProps){this._layers[id$1].updateTransitions(parameters)}this.light.updateTransitions(parameters);this._resetUpdates()}for(var sourceId in this.sourceCaches){this.sourceCaches[sourceId].used=false}for(var i=0,list=this._order;i<list.length;i+=1){var layerId=list[i];var layer=this._layers[layerId];layer.recalculate(parameters,this._availableImages);if(!layer.isHidden(parameters.zoom)&&layer.source){this.sourceCaches[layer.source].used=true}}this.light.recalculate(parameters);this.z=parameters.zoom;if(changed){this.fire(new performance.Event("data",{dataType:"style"}))}};Style.prototype._updateTilesForChangedImages=function _updateTilesForChangedImages(){var changedImages=Object.keys(this._changedImages);if(changedImages.length){for(var name in this.sourceCaches){this.sourceCaches[name].reloadTilesForDependencies(["icons","patterns"],changedImages)}this._changedImages={}}};Style.prototype._updateWorkerLayers=function _updateWorkerLayers(updatedIds,removedIds){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(updatedIds),removedIds:removedIds})};Style.prototype._resetUpdates=function _resetUpdates(){this._changed=false;this._updatedLayers={};this._removedLayers={};this._updatedSources={};this._updatedPaintProps={};this._changedImages={}};Style.prototype.setState=function setState(nextState){var this$1=this;this._checkLoaded();if(emitValidationErrors(this,performance.validateStyle(nextState))){return false}nextState=performance.clone$1(nextState);nextState.layers=derefLayers(nextState.layers);var changes=diffStyles(this.serialize(),nextState).filter((function(op){return!(op.command in ignoredDiffOperations)}));if(changes.length===0){return false}var unimplementedOps=changes.filter((function(op){return!(op.command in supportedDiffOperations)}));if(unimplementedOps.length>0){throw new Error("Unimplemented: "+unimplementedOps.map((function(op){return op.command})).join(", ")+".")}changes.forEach((function(op){if(op.command==="setTransition"){return}this$1[op.command].apply(this$1,op.args)}));this.stylesheet=nextState;return true};Style.prototype.addImage=function addImage(id,image){if(this.getImage(id)){return this.fire(new performance.ErrorEvent(new Error("An image with this name already exists.")))}this.imageManager.addImage(id,image);this._availableImages=this.imageManager.listImages();this._changedImages[id]=true;this._changed=true;this.fire(new performance.Event("data",{dataType:"style"}))};Style.prototype.updateImage=function updateImage(id,image){this.imageManager.updateImage(id,image)};Style.prototype.getImage=function getImage(id){return this.imageManager.getImage(id)};Style.prototype.removeImage=function removeImage(id){if(!this.getImage(id)){return this.fire(new performance.ErrorEvent(new Error("No image with this name exists.")))}this.imageManager.removeImage(id);this._availableImages=this.imageManager.listImages();this._changedImages[id]=true;this._changed=true;this.fire(new performance.Event("data",{dataType:"style"}))};Style.prototype.listImages=function listImages(){this._checkLoaded();return this.imageManager.listImages()};Style.prototype.addSource=function addSource(id,source,options){var this$1=this;if(options===void 0)options={};this._checkLoaded();if(this.sourceCaches[id]!==undefined){throw new Error("There is already a source with this ID")}if(!source.type){throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(source).join(", ")+".")}var builtIns=["vector","raster","geojson","video","image"];var shouldValidate=builtIns.indexOf(source.type)>=0;if(shouldValidate&&this._validate(performance.validateStyle.source,"sources."+id,source,null,options)){return}if(this.map&&this.map._collectResourceTiming){source.collectResourceTiming=true}var sourceCache=this.sourceCaches[id]=new SourceCache(id,source,this.dispatcher);sourceCache.style=this;sourceCache.setEventedParent(this,(function(){return{isSourceLoaded:this$1.loaded(),source:sourceCache.serialize(),sourceId:id}}));sourceCache.onAdd(this.map);this._changed=true};Style.prototype.removeSource=function removeSource(id){this._checkLoaded();if(this.sourceCaches[id]===undefined){throw new Error("There is no source with this ID")}for(var layerId in this._layers){if(this._layers[layerId].source===id){return this.fire(new performance.ErrorEvent(new Error('Source "'+id+'" cannot be removed while layer "'+layerId+'" is using it.')))}}var sourceCache=this.sourceCaches[id];delete this.sourceCaches[id];delete this._updatedSources[id];sourceCache.fire(new performance.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:id}));sourceCache.setEventedParent(null);sourceCache.clearTiles();if(sourceCache.onRemove){sourceCache.onRemove(this.map)}this._changed=true};Style.prototype.setGeoJSONSourceData=function setGeoJSONSourceData(id,data){this._checkLoaded();var geojsonSource=this.sourceCaches[id].getSource();geojsonSource.setData(data);this._changed=true};Style.prototype.getSource=function getSource(id){return this.sourceCaches[id]&&this.sourceCaches[id].getSource()};Style.prototype.addLayer=function addLayer(layerObject,before,options){if(options===void 0)options={};this._checkLoaded();var id=layerObject.id;if(this.getLayer(id)){this.fire(new performance.ErrorEvent(new Error('Layer with id "'+id+'" already exists on this map')));return}var layer;if(layerObject.type==="custom"){if(emitValidationErrors(this,performance.validateCustomStyleLayer(layerObject))){return}layer=performance.createStyleLayer(layerObject)}else{if(typeof layerObject.source==="object"){this.addSource(id,layerObject.source);layerObject=performance.clone$1(layerObject);layerObject=performance.extend(layerObject,{source:id})}if(this._validate(performance.validateStyle.layer,"layers."+id,layerObject,{arrayIndex:-1},options)){return}layer=performance.createStyleLayer(layerObject);this._validateLayer(layer);layer.setEventedParent(this,{layer:{id:id}});this._serializedLayers[layer.id]=layer.serialize()}var index=before?this._order.indexOf(before):this._order.length;if(before&&index===-1){this.fire(new performance.ErrorEvent(new Error('Layer with id "'+before+'" does not exist on this map.')));return}this._order.splice(index,0,id);this._layerOrderChanged=true;this._layers[id]=layer;if(this._removedLayers[id]&&layer.source&&layer.type!=="custom"){var removed=this._removedLayers[id];delete this._removedLayers[id];if(removed.type!==layer.type){this._updatedSources[layer.source]="clear"}else{this._updatedSources[layer.source]="reload";this.sourceCaches[layer.source].pause()}}this._updateLayer(layer);if(layer.onAdd){layer.onAdd(this.map)}};Style.prototype.moveLayer=function moveLayer(id,before){this._checkLoaded();this._changed=true;var layer=this._layers[id];if(!layer){this.fire(new performance.ErrorEvent(new Error("The layer '"+id+"' does not exist in the map's style and cannot be moved.")));return}if(id===before){return}var index=this._order.indexOf(id);this._order.splice(index,1);var newIndex=before?this._order.indexOf(before):this._order.length;if(before&&newIndex===-1){this.fire(new performance.ErrorEvent(new Error('Layer with id "'+before+'" does not exist on this map.')));return}this._order.splice(newIndex,0,id);this._layerOrderChanged=true};Style.prototype.removeLayer=function removeLayer(id){this._checkLoaded();var layer=this._layers[id];if(!layer){this.fire(new performance.ErrorEvent(new Error("The layer '"+id+"' does not exist in the map's style and cannot be removed.")));return}layer.setEventedParent(null);var index=this._order.indexOf(id);this._order.splice(index,1);this._layerOrderChanged=true;this._changed=true;this._removedLayers[id]=layer;delete this._layers[id];delete this._serializedLayers[id];delete this._updatedLayers[id];delete this._updatedPaintProps[id];if(layer.onRemove){layer.onRemove(this.map)}};Style.prototype.getLayer=function getLayer(id){return this._layers[id]};Style.prototype.hasLayer=function hasLayer(id){return id in this._layers};Style.prototype.setLayerZoomRange=function setLayerZoomRange(layerId,minzoom,maxzoom){this._checkLoaded();var layer=this.getLayer(layerId);if(!layer){this.fire(new performance.ErrorEvent(new Error("The layer '"+layerId+"' does not exist in the map's style and cannot have zoom extent.")));return}if(layer.minzoom===minzoom&&layer.maxzoom===maxzoom){return}if(minzoom!=null){layer.minzoom=minzoom}if(maxzoom!=null){layer.maxzoom=maxzoom}this._updateLayer(layer)};Style.prototype.setFilter=function setFilter(layerId,filter,options){if(options===void 0)options={};this._checkLoaded();var layer=this.getLayer(layerId);if(!layer){this.fire(new performance.ErrorEvent(new Error("The layer '"+layerId+"' does not exist in the map's style and cannot be filtered.")));return}if(performance.deepEqual(layer.filter,filter)){return}if(filter===null||filter===undefined){layer.filter=undefined;this._updateLayer(layer);return}if(this._validate(performance.validateStyle.filter,"layers."+layer.id+".filter",filter,null,options)){return}layer.filter=performance.clone$1(filter);this._updateLayer(layer)};Style.prototype.getFilter=function getFilter(layer){return performance.clone$1(this.getLayer(layer).filter)};Style.prototype.setLayoutProperty=function setLayoutProperty(layerId,name,value,options){if(options===void 0)options={};this._checkLoaded();var layer=this.getLayer(layerId);if(!layer){this.fire(new performance.ErrorEvent(new Error("The layer '"+layerId+"' does not exist in the map's style and cannot be styled.")));return}if(performance.deepEqual(layer.getLayoutProperty(name),value)){return}layer.setLayoutProperty(name,value,options);this._updateLayer(layer)};Style.prototype.getLayoutProperty=function getLayoutProperty(layerId,name){var layer=this.getLayer(layerId);if(!layer){this.fire(new performance.ErrorEvent(new Error("The layer '"+layerId+"' does not exist in the map's style.")));return}return layer.getLayoutProperty(name)};Style.prototype.setPaintProperty=function setPaintProperty(layerId,name,value,options){if(options===void 0)options={};this._checkLoaded();var layer=this.getLayer(layerId);if(!layer){this.fire(new performance.ErrorEvent(new Error("The layer '"+layerId+"' does not exist in the map's style and cannot be styled.")));return}if(performance.deepEqual(layer.getPaintProperty(name),value)){return}var requiresRelayout=layer.setPaintProperty(name,value,options);if(requiresRelayout){this._updateLayer(layer)}this._changed=true;this._updatedPaintProps[layerId]=true};Style.prototype.getPaintProperty=function getPaintProperty(layer,name){return this.getLayer(layer).getPaintProperty(name)};Style.prototype.setFeatureState=function setFeatureState(target,state){this._checkLoaded();var sourceId=target.source;var sourceLayer=target.sourceLayer;var sourceCache=this.sourceCaches[sourceId];if(sourceCache===undefined){this.fire(new performance.ErrorEvent(new Error("The source '"+sourceId+"' does not exist in the map's style.")));return}var sourceType=sourceCache.getSource().type;if(sourceType==="geojson"&&sourceLayer){this.fire(new performance.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));return}if(sourceType==="vector"&&!sourceLayer){this.fire(new performance.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}if(target.id===undefined){this.fire(new performance.ErrorEvent(new Error("The feature id parameter must be provided.")))}sourceCache.setFeatureState(sourceLayer,target.id,state)};Style.prototype.removeFeatureState=function removeFeatureState(target,key){this._checkLoaded();var sourceId=target.source;var sourceCache=this.sourceCaches[sourceId];if(sourceCache===undefined){this.fire(new performance.ErrorEvent(new Error("The source '"+sourceId+"' does not exist in the map's style.")));return}var sourceType=sourceCache.getSource().type;var sourceLayer=sourceType==="vector"?target.sourceLayer:undefined;if(sourceType==="vector"&&!sourceLayer){this.fire(new performance.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}if(key&&(typeof target.id!=="string"&&typeof target.id!=="number")){this.fire(new performance.ErrorEvent(new Error("A feature id is requred to remove its specific state property.")));return}sourceCache.removeFeatureState(sourceLayer,target.id,key)};Style.prototype.getFeatureState=function getFeatureState(target){this._checkLoaded();var sourceId=target.source;var sourceLayer=target.sourceLayer;var sourceCache=this.sourceCaches[sourceId];if(sourceCache===undefined){this.fire(new performance.ErrorEvent(new Error("The source '"+sourceId+"' does not exist in the map's style.")));return}var sourceType=sourceCache.getSource().type;if(sourceType==="vector"&&!sourceLayer){this.fire(new performance.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}if(target.id===undefined){this.fire(new performance.ErrorEvent(new Error("The feature id parameter must be provided.")))}return sourceCache.getFeatureState(sourceLayer,target.id)};Style.prototype.getTransition=function getTransition(){return performance.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)};Style.prototype.serialize=function serialize(){return performance.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:performance.mapObject(this.sourceCaches,(function(source){return source.serialize()})),layers:this._serializeLayers(this._order)},(function(value){return value!==undefined}))};Style.prototype._updateLayer=function _updateLayer(layer){this._updatedLayers[layer.id]=true;if(layer.source&&!this._updatedSources[layer.source]&&this.sourceCaches[layer.source].getSource().type!=="raster"){this._updatedSources[layer.source]="reload";this.sourceCaches[layer.source].pause()}this._changed=true};Style.prototype._flattenAndSortRenderedFeatures=function _flattenAndSortRenderedFeatures(sourceResults){var this$1=this;var isLayer3D=function(layerId){return this$1._layers[layerId].type==="fill-extrusion"};var layerIndex={};var features3D=[];for(var l=this._order.length-1;l>=0;l--){var layerId=this._order[l];if(isLayer3D(layerId)){layerIndex[layerId]=l;for(var i$2=0,list$1=sourceResults;i$2<list$1.length;i$2+=1){var sourceResult=list$1[i$2];var layerFeatures=sourceResult[layerId];if(layerFeatures){for(var i$1=0,list=layerFeatures;i$1<list.length;i$1+=1){var featureWrapper=list[i$1];features3D.push(featureWrapper)}}}}}features3D.sort((function(a,b){return b.intersectionZ-a.intersectionZ}));var features=[];for(var l$1=this._order.length-1;l$1>=0;l$1--){var layerId$1=this._order[l$1];if(isLayer3D(layerId$1)){for(var i=features3D.length-1;i>=0;i--){var topmost3D=features3D[i].feature;if(layerIndex[topmost3D.layer.id]<l$1){break}features.push(topmost3D);features3D.pop()}}else{for(var i$4=0,list$3=sourceResults;i$4<list$3.length;i$4+=1){var sourceResult$1=list$3[i$4];var layerFeatures$1=sourceResult$1[layerId$1];if(layerFeatures$1){for(var i$3=0,list$2=layerFeatures$1;i$3<list$2.length;i$3+=1){var featureWrapper$1=list$2[i$3];features.push(featureWrapper$1.feature)}}}}}return features};Style.prototype.queryRenderedFeatures=function queryRenderedFeatures$1(queryGeometry,params,transform){if(params&&params.filter){this._validate(performance.validateStyle.filter,"queryRenderedFeatures.filter",params.filter,null,params)}var includedSources={};if(params&&params.layers){if(!Array.isArray(params.layers)){this.fire(new performance.ErrorEvent(new Error("parameters.layers must be an Array.")));return[]}for(var i=0,list=params.layers;i<list.length;i+=1){var layerId=list[i];var layer=this._layers[layerId];if(!layer){this.fire(new performance.ErrorEvent(new Error("The layer '"+layerId+"' does not exist in the map's style and cannot be queried for features.")));return[]}includedSources[layer.source]=true}}var sourceResults=[];params.availableImages=this._availableImages;for(var id in this.sourceCaches){if(params.layers&&!includedSources[id]){continue}sourceResults.push(queryRenderedFeatures(this.sourceCaches[id],this._layers,this._serializedLayers,queryGeometry,params,transform))}if(this.placement){sourceResults.push(queryRenderedSymbols(this._layers,this._serializedLayers,this.sourceCaches,queryGeometry,params,this.placement.collisionIndex,this.placement.retainedQueryData))}return this._flattenAndSortRenderedFeatures(sourceResults)};Style.prototype.querySourceFeatures=function querySourceFeatures$1(sourceID,params){if(params&&params.filter){this._validate(performance.validateStyle.filter,"querySourceFeatures.filter",params.filter,null,params)}var sourceCache=this.sourceCaches[sourceID];return sourceCache?querySourceFeatures(sourceCache,params):[]};Style.prototype.addSourceType=function addSourceType(name,SourceType,callback){if(Style.getSourceType(name)){return callback(new Error('A source type called "'+name+'" already exists.'))}Style.setSourceType(name,SourceType);if(!SourceType.workerSourceURL){return callback(null,null)}this.dispatcher.broadcast("loadWorkerSource",{name:name,url:SourceType.workerSourceURL},callback)};Style.prototype.getLight=function getLight(){return this.light.getLight()};Style.prototype.setLight=function setLight(lightOptions,options){if(options===void 0)options={};this._checkLoaded();var light=this.light.getLight();var _update=false;for(var key in lightOptions){if(!performance.deepEqual(lightOptions[key],light[key])){_update=true;break}}if(!_update){return}var parameters={now:performance.browser.now(),transition:performance.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(lightOptions,options);this.light.updateTransitions(parameters)};Style.prototype._validate=function _validate(validate,key,value,props,options){if(options===void 0)options={};if(options&&options.validate===false){return false}return emitValidationErrors(this,validate.call(performance.validateStyle,performance.extend({key:key,style:this.serialize(),value:value,styleSpec:performance.styleSpec},props)))};Style.prototype._remove=function _remove(){if(this._request){this._request.cancel();this._request=null}if(this._spriteRequest){this._spriteRequest.cancel();this._spriteRequest=null}performance.evented.off("pluginStateChange",this._rtlTextPluginCallback);for(var layerId in this._layers){var layer=this._layers[layerId];layer.setEventedParent(null)}for(var id in this.sourceCaches){this.sourceCaches[id].clearTiles();this.sourceCaches[id].setEventedParent(null)}this.imageManager.setEventedParent(null);this.setEventedParent(null);this.dispatcher.remove()};Style.prototype._clearSource=function _clearSource(id){this.sourceCaches[id].clearTiles()};Style.prototype._reloadSource=function _reloadSource(id){this.sourceCaches[id].resume();this.sourceCaches[id].reload()};Style.prototype._updateSources=function _updateSources(transform){for(var id in this.sourceCaches){this.sourceCaches[id].update(transform)}};Style.prototype._generateCollisionBoxes=function _generateCollisionBoxes(){for(var id in this.sourceCaches){this._reloadSource(id)}};Style.prototype._updatePlacement=function _updatePlacement(transform,showCollisionBoxes,fadeDuration,crossSourceCollisions,forceFullPlacement){if(forceFullPlacement===void 0)forceFullPlacement=false;var symbolBucketsChanged=false;var placementCommitted=false;var layerTiles={};for(var i=0,list=this._order;i<list.length;i+=1){var layerID=list[i];var styleLayer=this._layers[layerID];if(styleLayer.type!=="symbol"){continue}if(!layerTiles[styleLayer.source]){var sourceCache=this.sourceCaches[styleLayer.source];layerTiles[styleLayer.source]=sourceCache.getRenderableIds(true).map((function(id){return sourceCache.getTileByID(id)})).sort((function(a,b){return b.tileID.overscaledZ-a.tileID.overscaledZ||(a.tileID.isLessThan(b.tileID)?-1:1)}))}var layerBucketsChanged=this.crossTileSymbolIndex.addLayer(styleLayer,layerTiles[styleLayer.source],transform.center.lng);symbolBucketsChanged=symbolBucketsChanged||layerBucketsChanged}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);forceFullPlacement=forceFullPlacement||this._layerOrderChanged||fadeDuration===0;if(forceFullPlacement||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(performance.browser.now(),transform.zoom)){this.pauseablePlacement=new PauseablePlacement(transform,this._order,forceFullPlacement,showCollisionBoxes,fadeDuration,crossSourceCollisions,this.placement);this._layerOrderChanged=false}if(this.pauseablePlacement.isDone()){this.placement.setStale()}else{this.pauseablePlacement.continuePlacement(this._order,this._layers,layerTiles);if(this.pauseablePlacement.isDone()){this.placement=this.pauseablePlacement.commit(performance.browser.now());placementCommitted=true}if(symbolBucketsChanged){this.pauseablePlacement.placement.setStale()}}if(placementCommitted||symbolBucketsChanged){for(var i$1=0,list$1=this._order;i$1<list$1.length;i$1+=1){var layerID$1=list$1[i$1];var styleLayer$1=this._layers[layerID$1];if(styleLayer$1.type!=="symbol"){continue}this.placement.updateLayerOpacities(styleLayer$1,layerTiles[styleLayer$1.source])}}var needsRerender=!this.pauseablePlacement.isDone()||this.placement.hasTransitions(performance.browser.now());return needsRerender};Style.prototype._releaseSymbolFadeTiles=function _releaseSymbolFadeTiles(){for(var id in this.sourceCaches){this.sourceCaches[id].releaseSymbolFadeTiles()}};Style.prototype.getImages=function getImages(mapId,params,callback){this.imageManager.getImages(params.icons,callback);this._updateTilesForChangedImages();var sourceCache=this.sourceCaches[params.source];if(sourceCache){sourceCache.setDependencies(params.tileID.key,params.type,params.icons)}};Style.prototype.getGlyphs=function getGlyphs(mapId,params,callback){this.glyphManager.getGlyphs(params.stacks,callback)};Style.prototype.getResource=function getResource(mapId,params,callback){return performance.makeRequest(params,callback)};return Style}(performance.Evented);Style.getSourceType=getType;Style.setSourceType=setType;Style.registerForPluginStateChange=performance.registerForPluginStateChange;var posAttributes=performance.createLayout([{name:"a_pos",type:"Int16",components:2}]);var preludeFrag="#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif";var preludeVert="#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}";var backgroundFrag="uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var backgroundVert="attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}";var backgroundPatternFrag="uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var backgroundPatternVert="uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}";var circleFrag="varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var circleVert="uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}";var clippingMaskFrag="void main() {gl_FragColor=vec4(1.0);}";var clippingMaskVert="attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}";var heatmapFrag="uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var heatmapVert="uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}";var heatmapTextureFrag="uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}";var heatmapTextureVert="uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}";var collisionBoxFrag="varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}";var collisionBoxVert="attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}";var collisionCircleFrag="varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}";var collisionCircleVert="attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd  =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz  /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}";var debugFrag="uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}";var debugVert="attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}";var fillFrag="#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var fillVert="attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}";var fillOutlineFrag="varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var fillOutlineVert="attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}";var fillOutlinePatternFrag="uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var fillOutlinePatternVert="uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}";var fillPatternFrag="uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var fillPatternVert="uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}";var fillExtrusionFrag="varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var fillExtrusionVert="uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}";var fillExtrusionPatternFrag="uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var fillExtrusionPatternVert="uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}";var hillshadePrepareFrag="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var hillshadePrepareVert="uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}";var hillshadeFrag="uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var hillshadeVert="uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}";var lineFrag="uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var lineVert="\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}";var lineGradientFrag="uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var lineGradientVert="\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}";var linePatternFrag="uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var linePatternVert="\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}";var lineSDFFrag="uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var lineSDFVert="\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}";var rasterFrag="uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var rasterVert="uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}";var symbolIconFrag="uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var symbolIconVert="const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}";var symbolSDFFrag="#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var symbolSDFVert="const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}";var symbolTextAndIconFrag="#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}";var symbolTextAndIconVert="const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}";var prelude=compile(preludeFrag,preludeVert);var background=compile(backgroundFrag,backgroundVert);var backgroundPattern=compile(backgroundPatternFrag,backgroundPatternVert);var circle=compile(circleFrag,circleVert);var clippingMask=compile(clippingMaskFrag,clippingMaskVert);var heatmap=compile(heatmapFrag,heatmapVert);var heatmapTexture=compile(heatmapTextureFrag,heatmapTextureVert);var collisionBox=compile(collisionBoxFrag,collisionBoxVert);var collisionCircle=compile(collisionCircleFrag,collisionCircleVert);var debug=compile(debugFrag,debugVert);var fill=compile(fillFrag,fillVert);var fillOutline=compile(fillOutlineFrag,fillOutlineVert);var fillOutlinePattern=compile(fillOutlinePatternFrag,fillOutlinePatternVert);var fillPattern=compile(fillPatternFrag,fillPatternVert);var fillExtrusion=compile(fillExtrusionFrag,fillExtrusionVert);var fillExtrusionPattern=compile(fillExtrusionPatternFrag,fillExtrusionPatternVert);var hillshadePrepare=compile(hillshadePrepareFrag,hillshadePrepareVert);var hillshade=compile(hillshadeFrag,hillshadeVert);var line=compile(lineFrag,lineVert);var lineGradient=compile(lineGradientFrag,lineGradientVert);var linePattern=compile(linePatternFrag,linePatternVert);var lineSDF=compile(lineSDFFrag,lineSDFVert);var raster=compile(rasterFrag,rasterVert);var symbolIcon=compile(symbolIconFrag,symbolIconVert);var symbolSDF=compile(symbolSDFFrag,symbolSDFVert);var symbolTextAndIcon=compile(symbolTextAndIconFrag,symbolTextAndIconVert);function compile(fragmentSource,vertexSource){var re=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g;var fragmentPragmas={};fragmentSource=fragmentSource.replace(re,(function(match,operation,precision,type,name){fragmentPragmas[name]=true;if(operation==="define"){return"\n#ifndef HAS_UNIFORM_u_"+name+"\nvarying "+precision+" "+type+" "+name+";\n#else\nuniform "+precision+" "+type+" u_"+name+";\n#endif\n"}else{return"\n#ifdef HAS_UNIFORM_u_"+name+"\n    "+precision+" "+type+" "+name+" = u_"+name+";\n#endif\n"}}));vertexSource=vertexSource.replace(re,(function(match,operation,precision,type,name){var attrType=type==="float"?"vec2":"vec4";var unpackType=name.match(/color/)?"color":attrType;if(fragmentPragmas[name]){if(operation==="define"){return"\n#ifndef HAS_UNIFORM_u_"+name+"\nuniform lowp float u_"+name+"_t;\nattribute "+precision+" "+attrType+" a_"+name+";\nvarying "+precision+" "+type+" "+name+";\n#else\nuniform "+precision+" "+type+" u_"+name+";\n#endif\n"}else{if(unpackType==="vec4"){return"\n#ifndef HAS_UNIFORM_u_"+name+"\n    "+name+" = a_"+name+";\n#else\n    "+precision+" "+type+" "+name+" = u_"+name+";\n#endif\n"}else{return"\n#ifndef HAS_UNIFORM_u_"+name+"\n    "+name+" = unpack_mix_"+unpackType+"(a_"+name+", u_"+name+"_t);\n#else\n    "+precision+" "+type+" "+name+" = u_"+name+";\n#endif\n"}}}else{if(operation==="define"){return"\n#ifndef HAS_UNIFORM_u_"+name+"\nuniform lowp float u_"+name+"_t;\nattribute "+precision+" "+attrType+" a_"+name+";\n#else\nuniform "+precision+" "+type+" u_"+name+";\n#endif\n"}else{if(unpackType==="vec4"){return"\n#ifndef HAS_UNIFORM_u_"+name+"\n    "+precision+" "+type+" "+name+" = a_"+name+";\n#else\n    "+precision+" "+type+" "+name+" = u_"+name+";\n#endif\n"}else{return"\n#ifndef HAS_UNIFORM_u_"+name+"\n    "+precision+" "+type+" "+name+" = unpack_mix_"+unpackType+"(a_"+name+", u_"+name+"_t);\n#else\n    "+precision+" "+type+" "+name+" = u_"+name+";\n#endif\n"}}}}));return{fragmentSource:fragmentSource,vertexSource:vertexSource}}var shaders=Object.freeze({__proto__:null,prelude:prelude,background:background,backgroundPattern:backgroundPattern,circle:circle,clippingMask:clippingMask,heatmap:heatmap,heatmapTexture:heatmapTexture,collisionBox:collisionBox,collisionCircle:collisionCircle,debug:debug,fill:fill,fillOutline:fillOutline,fillOutlinePattern:fillOutlinePattern,fillPattern:fillPattern,fillExtrusion:fillExtrusion,fillExtrusionPattern:fillExtrusionPattern,hillshadePrepare:hillshadePrepare,hillshade:hillshade,line:line,lineGradient:lineGradient,linePattern:linePattern,lineSDF:lineSDF,raster:raster,symbolIcon:symbolIcon,symbolSDF:symbolSDF,symbolTextAndIcon:symbolTextAndIcon});var VertexArrayObject=function VertexArrayObject(){this.boundProgram=null;this.boundLayoutVertexBuffer=null;this.boundPaintVertexBuffers=[];this.boundIndexBuffer=null;this.boundVertexOffset=null;this.boundDynamicVertexBuffer=null;this.vao=null};VertexArrayObject.prototype.bind=function bind(context,program,layoutVertexBuffer,paintVertexBuffers,indexBuffer,vertexOffset,dynamicVertexBuffer,dynamicVertexBuffer2){this.context=context;var paintBuffersDiffer=this.boundPaintVertexBuffers.length!==paintVertexBuffers.length;for(var i=0;!paintBuffersDiffer&&i<paintVertexBuffers.length;i++){if(this.boundPaintVertexBuffers[i]!==paintVertexBuffers[i]){paintBuffersDiffer=true}}var isFreshBindRequired=!this.vao||this.boundProgram!==program||this.boundLayoutVertexBuffer!==layoutVertexBuffer||paintBuffersDiffer||this.boundIndexBuffer!==indexBuffer||this.boundVertexOffset!==vertexOffset||this.boundDynamicVertexBuffer!==dynamicVertexBuffer||this.boundDynamicVertexBuffer2!==dynamicVertexBuffer2;if(!context.extVertexArrayObject||isFreshBindRequired){this.freshBind(program,layoutVertexBuffer,paintVertexBuffers,indexBuffer,vertexOffset,dynamicVertexBuffer,dynamicVertexBuffer2)}else{context.bindVertexArrayOES.set(this.vao);if(dynamicVertexBuffer){dynamicVertexBuffer.bind()}if(indexBuffer&&indexBuffer.dynamicDraw){indexBuffer.bind()}if(dynamicVertexBuffer2){dynamicVertexBuffer2.bind()}}};VertexArrayObject.prototype.freshBind=function freshBind(program,layoutVertexBuffer,paintVertexBuffers,indexBuffer,vertexOffset,dynamicVertexBuffer,dynamicVertexBuffer2){var numPrevAttributes;var numNextAttributes=program.numAttributes;var context=this.context;var gl=context.gl;if(context.extVertexArrayObject){if(this.vao){this.destroy()}this.vao=context.extVertexArrayObject.createVertexArrayOES();context.bindVertexArrayOES.set(this.vao);numPrevAttributes=0;this.boundProgram=program;this.boundLayoutVertexBuffer=layoutVertexBuffer;this.boundPaintVertexBuffers=paintVertexBuffers;this.boundIndexBuffer=indexBuffer;this.boundVertexOffset=vertexOffset;this.boundDynamicVertexBuffer=dynamicVertexBuffer;this.boundDynamicVertexBuffer2=dynamicVertexBuffer2}else{numPrevAttributes=context.currentNumAttributes||0;for(var i=numNextAttributes;i<numPrevAttributes;i++){gl.disableVertexAttribArray(i)}}layoutVertexBuffer.enableAttributes(gl,program);for(var i$1=0,list=paintVertexBuffers;i$1<list.length;i$1+=1){var vertexBuffer=list[i$1];vertexBuffer.enableAttributes(gl,program)}if(dynamicVertexBuffer){dynamicVertexBuffer.enableAttributes(gl,program)}if(dynamicVertexBuffer2){dynamicVertexBuffer2.enableAttributes(gl,program)}layoutVertexBuffer.bind();layoutVertexBuffer.setVertexAttribPointers(gl,program,vertexOffset);for(var i$2=0,list$1=paintVertexBuffers;i$2<list$1.length;i$2+=1){var vertexBuffer$1=list$1[i$2];vertexBuffer$1.bind();vertexBuffer$1.setVertexAttribPointers(gl,program,vertexOffset)}if(dynamicVertexBuffer){dynamicVertexBuffer.bind();dynamicVertexBuffer.setVertexAttribPointers(gl,program,vertexOffset)}if(indexBuffer){indexBuffer.bind()}if(dynamicVertexBuffer2){dynamicVertexBuffer2.bind();dynamicVertexBuffer2.setVertexAttribPointers(gl,program,vertexOffset)}context.currentNumAttributes=numNextAttributes};VertexArrayObject.prototype.destroy=function destroy(){if(this.vao){this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao);this.vao=null}};var Program$1=function Program(context,source,configuration,fixedUniforms,showOverdrawInspector){var gl=context.gl;this.program=gl.createProgram();var defines=configuration?configuration.defines():[];if(showOverdrawInspector){defines.push("#define OVERDRAW_INSPECTOR;")}var fragmentSource=defines.concat(prelude.fragmentSource,source.fragmentSource).join("\n");var vertexSource=defines.concat(prelude.vertexSource,source.vertexSource).join("\n");var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);if(gl.isContextLost()){this.failedToCreate=true;return}gl.shaderSource(fragmentShader,fragmentSource);gl.compileShader(fragmentShader);gl.attachShader(this.program,fragmentShader);var vertexShader=gl.createShader(gl.VERTEX_SHADER);if(gl.isContextLost()){this.failedToCreate=true;return}gl.shaderSource(vertexShader,vertexSource);gl.compileShader(vertexShader);gl.attachShader(this.program,vertexShader);var layoutAttributes=configuration?configuration.layoutAttributes:[];for(var i=0;i<layoutAttributes.length;i++){gl.bindAttribLocation(this.program,i,layoutAttributes[i].name)}gl.linkProgram(this.program);gl.deleteShader(vertexShader);gl.deleteShader(fragmentShader);this.numAttributes=gl.getProgramParameter(this.program,gl.ACTIVE_ATTRIBUTES);this.attributes={};var uniformLocations={};for(var i$1=0;i$1<this.numAttributes;i$1++){var attribute=gl.getActiveAttrib(this.program,i$1);if(attribute){this.attributes[attribute.name]=gl.getAttribLocation(this.program,attribute.name)}}var numUniforms=gl.getProgramParameter(this.program,gl.ACTIVE_UNIFORMS);for(var i$2=0;i$2<numUniforms;i$2++){var uniform=gl.getActiveUniform(this.program,i$2);if(uniform){uniformLocations[uniform.name]=gl.getUniformLocation(this.program,uniform.name)}}this.fixedUniforms=fixedUniforms(context,uniformLocations);this.binderUniforms=configuration?configuration.getUniforms(context,uniformLocations):[]};Program$1.prototype.draw=function draw(context,drawMode,depthMode,stencilMode,colorMode,cullFaceMode,uniformValues,layerID,layoutVertexBuffer,indexBuffer,segments,currentProperties,zoom,configuration,dynamicLayoutBuffer,dynamicLayoutBuffer2){var obj;var gl=context.gl;if(this.failedToCreate){return}context.program.set(this.program);context.setDepthMode(depthMode);context.setStencilMode(stencilMode);context.setColorMode(colorMode);context.setCullFace(cullFaceMode);for(var name in this.fixedUniforms){this.fixedUniforms[name].set(uniformValues[name])}if(configuration){configuration.setUniforms(context,this.binderUniforms,currentProperties,{zoom:zoom})}var primitiveSize=(obj={},obj[gl.LINES]=2,obj[gl.TRIANGLES]=3,obj[gl.LINE_STRIP]=1,obj)[drawMode];for(var i=0,list=segments.get();i<list.length;i+=1){var segment=list[i];var vaos=segment.vaos||(segment.vaos={});var vao=vaos[layerID]||(vaos[layerID]=new VertexArrayObject);vao.bind(context,this,layoutVertexBuffer,configuration?configuration.getPaintVertexBuffers():[],indexBuffer,segment.vertexOffset,dynamicLayoutBuffer,dynamicLayoutBuffer2);gl.drawElements(drawMode,segment.primitiveLength*primitiveSize,gl.UNSIGNED_SHORT,segment.primitiveOffset*primitiveSize*2)}};function patternUniformValues(crossfade,painter,tile){var tileRatio=1/pixelsToTileUnits(tile,1,painter.transform.tileZoom);var numTiles=Math.pow(2,tile.tileID.overscaledZ);var tileSizeAtNearestZoom=tile.tileSize*Math.pow(2,painter.transform.tileZoom)/numTiles;var pixelX=tileSizeAtNearestZoom*(tile.tileID.canonical.x+tile.tileID.wrap*numTiles);var pixelY=tileSizeAtNearestZoom*tile.tileID.canonical.y;return{u_image:0,u_texsize:tile.imageAtlasTexture.size,u_scale:[tileRatio,crossfade.fromScale,crossfade.toScale],u_fade:crossfade.t,u_pixel_coord_upper:[pixelX>>16,pixelY>>16],u_pixel_coord_lower:[pixelX&65535,pixelY&65535]}}function bgPatternUniformValues(image,crossfade,painter,tile){var imagePosA=painter.imageManager.getPattern(image.from.toString());var imagePosB=painter.imageManager.getPattern(image.to.toString());var ref=painter.imageManager.getPixelSize();var width=ref.width;var height=ref.height;var numTiles=Math.pow(2,tile.tileID.overscaledZ);var tileSizeAtNearestZoom=tile.tileSize*Math.pow(2,painter.transform.tileZoom)/numTiles;var pixelX=tileSizeAtNearestZoom*(tile.tileID.canonical.x+tile.tileID.wrap*numTiles);var pixelY=tileSizeAtNearestZoom*tile.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:imagePosA.tl,u_pattern_br_a:imagePosA.br,u_pattern_tl_b:imagePosB.tl,u_pattern_br_b:imagePosB.br,u_texsize:[width,height],u_mix:crossfade.t,u_pattern_size_a:imagePosA.displaySize,u_pattern_size_b:imagePosB.displaySize,u_scale_a:crossfade.fromScale,u_scale_b:crossfade.toScale,u_tile_units_to_pixels:1/pixelsToTileUnits(tile,1,painter.transform.tileZoom),u_pixel_coord_upper:[pixelX>>16,pixelY>>16],u_pixel_coord_lower:[pixelX&65535,pixelY&65535]}}var fillExtrusionUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_lightpos:new performance.Uniform3f(context,locations.u_lightpos),u_lightintensity:new performance.Uniform1f(context,locations.u_lightintensity),u_lightcolor:new performance.Uniform3f(context,locations.u_lightcolor),u_vertical_gradient:new performance.Uniform1f(context,locations.u_vertical_gradient),u_opacity:new performance.Uniform1f(context,locations.u_opacity)}};var fillExtrusionPatternUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_lightpos:new performance.Uniform3f(context,locations.u_lightpos),u_lightintensity:new performance.Uniform1f(context,locations.u_lightintensity),u_lightcolor:new performance.Uniform3f(context,locations.u_lightcolor),u_vertical_gradient:new performance.Uniform1f(context,locations.u_vertical_gradient),u_height_factor:new performance.Uniform1f(context,locations.u_height_factor),u_image:new performance.Uniform1i(context,locations.u_image),u_texsize:new performance.Uniform2f(context,locations.u_texsize),u_pixel_coord_upper:new performance.Uniform2f(context,locations.u_pixel_coord_upper),u_pixel_coord_lower:new performance.Uniform2f(context,locations.u_pixel_coord_lower),u_scale:new performance.Uniform3f(context,locations.u_scale),u_fade:new performance.Uniform1f(context,locations.u_fade),u_opacity:new performance.Uniform1f(context,locations.u_opacity)}};var fillExtrusionUniformValues=function(matrix,painter,shouldUseVerticalGradient,opacity){var light=painter.style.light;var _lp=light.properties.get("position");var lightPos=[_lp.x,_lp.y,_lp.z];var lightMat=performance.create$1();if(light.properties.get("anchor")==="viewport"){performance.fromRotation(lightMat,-painter.transform.angle)}performance.transformMat3(lightPos,lightPos,lightMat);var lightColor=light.properties.get("color");return{u_matrix:matrix,u_lightpos:lightPos,u_lightintensity:light.properties.get("intensity"),u_lightcolor:[lightColor.r,lightColor.g,lightColor.b],u_vertical_gradient:+shouldUseVerticalGradient,u_opacity:opacity}};var fillExtrusionPatternUniformValues=function(matrix,painter,shouldUseVerticalGradient,opacity,coord,crossfade,tile){return performance.extend(fillExtrusionUniformValues(matrix,painter,shouldUseVerticalGradient,opacity),patternUniformValues(crossfade,painter,tile),{u_height_factor:-Math.pow(2,coord.overscaledZ)/tile.tileSize/8})};var fillUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix)}};var fillPatternUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_image:new performance.Uniform1i(context,locations.u_image),u_texsize:new performance.Uniform2f(context,locations.u_texsize),u_pixel_coord_upper:new performance.Uniform2f(context,locations.u_pixel_coord_upper),u_pixel_coord_lower:new performance.Uniform2f(context,locations.u_pixel_coord_lower),u_scale:new performance.Uniform3f(context,locations.u_scale),u_fade:new performance.Uniform1f(context,locations.u_fade)}};var fillOutlineUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_world:new performance.Uniform2f(context,locations.u_world)}};var fillOutlinePatternUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_world:new performance.Uniform2f(context,locations.u_world),u_image:new performance.Uniform1i(context,locations.u_image),u_texsize:new performance.Uniform2f(context,locations.u_texsize),u_pixel_coord_upper:new performance.Uniform2f(context,locations.u_pixel_coord_upper),u_pixel_coord_lower:new performance.Uniform2f(context,locations.u_pixel_coord_lower),u_scale:new performance.Uniform3f(context,locations.u_scale),u_fade:new performance.Uniform1f(context,locations.u_fade)}};var fillUniformValues=function(matrix){return{u_matrix:matrix}};var fillPatternUniformValues=function(matrix,painter,crossfade,tile){return performance.extend(fillUniformValues(matrix),patternUniformValues(crossfade,painter,tile))};var fillOutlineUniformValues=function(matrix,drawingBufferSize){return{u_matrix:matrix,u_world:drawingBufferSize}};var fillOutlinePatternUniformValues=function(matrix,painter,crossfade,tile,drawingBufferSize){return performance.extend(fillPatternUniformValues(matrix,painter,crossfade,tile),{u_world:drawingBufferSize})};var circleUniforms=function(context,locations){return{u_camera_to_center_distance:new performance.Uniform1f(context,locations.u_camera_to_center_distance),u_scale_with_map:new performance.Uniform1i(context,locations.u_scale_with_map),u_pitch_with_map:new performance.Uniform1i(context,locations.u_pitch_with_map),u_extrude_scale:new performance.Uniform2f(context,locations.u_extrude_scale),u_device_pixel_ratio:new performance.Uniform1f(context,locations.u_device_pixel_ratio),u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix)}};var circleUniformValues=function(painter,coord,tile,layer){var transform=painter.transform;var pitchWithMap,extrudeScale;if(layer.paint.get("circle-pitch-alignment")==="map"){var pixelRatio=pixelsToTileUnits(tile,1,transform.zoom);pitchWithMap=true;extrudeScale=[pixelRatio,pixelRatio]}else{pitchWithMap=false;extrudeScale=transform.pixelsToGLUnits}return{u_camera_to_center_distance:transform.cameraToCenterDistance,u_scale_with_map:+(layer.paint.get("circle-pitch-scale")==="map"),u_matrix:painter.translatePosMatrix(coord.posMatrix,tile,layer.paint.get("circle-translate"),layer.paint.get("circle-translate-anchor")),u_pitch_with_map:+pitchWithMap,u_device_pixel_ratio:performance.browser.devicePixelRatio,u_extrude_scale:extrudeScale}};var collisionUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_camera_to_center_distance:new performance.Uniform1f(context,locations.u_camera_to_center_distance),u_pixels_to_tile_units:new performance.Uniform1f(context,locations.u_pixels_to_tile_units),u_extrude_scale:new performance.Uniform2f(context,locations.u_extrude_scale),u_overscale_factor:new performance.Uniform1f(context,locations.u_overscale_factor)}};var collisionCircleUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_inv_matrix:new performance.UniformMatrix4f(context,locations.u_inv_matrix),u_camera_to_center_distance:new performance.Uniform1f(context,locations.u_camera_to_center_distance),u_viewport_size:new performance.Uniform2f(context,locations.u_viewport_size)}};var collisionUniformValues=function(matrix,transform,tile){var pixelRatio=pixelsToTileUnits(tile,1,transform.zoom);var scale=Math.pow(2,transform.zoom-tile.tileID.overscaledZ);var overscaleFactor=tile.tileID.overscaleFactor();return{u_matrix:matrix,u_camera_to_center_distance:transform.cameraToCenterDistance,u_pixels_to_tile_units:pixelRatio,u_extrude_scale:[transform.pixelsToGLUnits[0]/(pixelRatio*scale),transform.pixelsToGLUnits[1]/(pixelRatio*scale)],u_overscale_factor:overscaleFactor}};var collisionCircleUniformValues=function(matrix,invMatrix,transform){return{u_matrix:matrix,u_inv_matrix:invMatrix,u_camera_to_center_distance:transform.cameraToCenterDistance,u_viewport_size:[transform.width,transform.height]}};var debugUniforms=function(context,locations){return{u_color:new performance.UniformColor(context,locations.u_color),u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_overlay:new performance.Uniform1i(context,locations.u_overlay),u_overlay_scale:new performance.Uniform1f(context,locations.u_overlay_scale)}};var debugUniformValues=function(matrix,color,scaleRatio){if(scaleRatio===void 0)scaleRatio=1;return{u_matrix:matrix,u_color:color,u_overlay:0,u_overlay_scale:scaleRatio}};var clippingMaskUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix)}};var clippingMaskUniformValues=function(matrix){return{u_matrix:matrix}};var heatmapUniforms=function(context,locations){return{u_extrude_scale:new performance.Uniform1f(context,locations.u_extrude_scale),u_intensity:new performance.Uniform1f(context,locations.u_intensity),u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix)}};var heatmapTextureUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_world:new performance.Uniform2f(context,locations.u_world),u_image:new performance.Uniform1i(context,locations.u_image),u_color_ramp:new performance.Uniform1i(context,locations.u_color_ramp),u_opacity:new performance.Uniform1f(context,locations.u_opacity)}};var heatmapUniformValues=function(matrix,tile,zoom,intensity){return{u_matrix:matrix,u_extrude_scale:pixelsToTileUnits(tile,1,zoom),u_intensity:intensity}};var heatmapTextureUniformValues=function(painter,layer,textureUnit,colorRampUnit){var matrix=performance.create();performance.ortho(matrix,0,painter.width,painter.height,0,0,1);var gl=painter.context.gl;return{u_matrix:matrix,u_world:[gl.drawingBufferWidth,gl.drawingBufferHeight],u_image:textureUnit,u_color_ramp:colorRampUnit,u_opacity:layer.paint.get("heatmap-opacity")}};var hillshadeUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_image:new performance.Uniform1i(context,locations.u_image),u_latrange:new performance.Uniform2f(context,locations.u_latrange),u_light:new performance.Uniform2f(context,locations.u_light),u_shadow:new performance.UniformColor(context,locations.u_shadow),u_highlight:new performance.UniformColor(context,locations.u_highlight),u_accent:new performance.UniformColor(context,locations.u_accent)}};var hillshadePrepareUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_image:new performance.Uniform1i(context,locations.u_image),u_dimension:new performance.Uniform2f(context,locations.u_dimension),u_zoom:new performance.Uniform1f(context,locations.u_zoom),u_maxzoom:new performance.Uniform1f(context,locations.u_maxzoom),u_unpack:new performance.Uniform4f(context,locations.u_unpack)}};var hillshadeUniformValues=function(painter,tile,layer){var shadow=layer.paint.get("hillshade-shadow-color");var highlight=layer.paint.get("hillshade-highlight-color");var accent=layer.paint.get("hillshade-accent-color");var azimuthal=layer.paint.get("hillshade-illumination-direction")*(Math.PI/180);if(layer.paint.get("hillshade-illumination-anchor")==="viewport"){azimuthal-=painter.transform.angle}var align=!painter.options.moving;return{u_matrix:painter.transform.calculatePosMatrix(tile.tileID.toUnwrapped(),align),u_image:0,u_latrange:getTileLatRange(painter,tile.tileID),u_light:[layer.paint.get("hillshade-exaggeration"),azimuthal],u_shadow:shadow,u_highlight:highlight,u_accent:accent}};var hillshadeUniformPrepareValues=function(tileID,dem,maxzoom){var stride=dem.stride;var matrix=performance.create();performance.ortho(matrix,0,performance.EXTENT,-performance.EXTENT,0,0,1);performance.translate(matrix,matrix,[0,-performance.EXTENT,0]);return{u_matrix:matrix,u_image:1,u_dimension:[stride,stride],u_zoom:tileID.overscaledZ,u_maxzoom:maxzoom,u_unpack:dem.getUnpackVector()}};function getTileLatRange(painter,tileID){var tilesAtZoom=Math.pow(2,tileID.canonical.z);var y=tileID.canonical.y;return[new performance.MercatorCoordinate(0,y/tilesAtZoom).toLngLat().lat,new performance.MercatorCoordinate(0,(y+1)/tilesAtZoom).toLngLat().lat]}var lineUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_ratio:new performance.Uniform1f(context,locations.u_ratio),u_device_pixel_ratio:new performance.Uniform1f(context,locations.u_device_pixel_ratio),u_units_to_pixels:new performance.Uniform2f(context,locations.u_units_to_pixels)}};var lineGradientUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_ratio:new performance.Uniform1f(context,locations.u_ratio),u_device_pixel_ratio:new performance.Uniform1f(context,locations.u_device_pixel_ratio),u_units_to_pixels:new performance.Uniform2f(context,locations.u_units_to_pixels),u_image:new performance.Uniform1i(context,locations.u_image)}};var linePatternUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_texsize:new performance.Uniform2f(context,locations.u_texsize),u_ratio:new performance.Uniform1f(context,locations.u_ratio),u_device_pixel_ratio:new performance.Uniform1f(context,locations.u_device_pixel_ratio),u_image:new performance.Uniform1i(context,locations.u_image),u_units_to_pixels:new performance.Uniform2f(context,locations.u_units_to_pixels),u_scale:new performance.Uniform3f(context,locations.u_scale),u_fade:new performance.Uniform1f(context,locations.u_fade)}};var lineSDFUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_ratio:new performance.Uniform1f(context,locations.u_ratio),u_device_pixel_ratio:new performance.Uniform1f(context,locations.u_device_pixel_ratio),u_units_to_pixels:new performance.Uniform2f(context,locations.u_units_to_pixels),u_patternscale_a:new performance.Uniform2f(context,locations.u_patternscale_a),u_patternscale_b:new performance.Uniform2f(context,locations.u_patternscale_b),u_sdfgamma:new performance.Uniform1f(context,locations.u_sdfgamma),u_image:new performance.Uniform1i(context,locations.u_image),u_tex_y_a:new performance.Uniform1f(context,locations.u_tex_y_a),u_tex_y_b:new performance.Uniform1f(context,locations.u_tex_y_b),u_mix:new performance.Uniform1f(context,locations.u_mix)}};var lineUniformValues=function(painter,tile,layer){var transform=painter.transform;return{u_matrix:calculateMatrix(painter,tile,layer),u_ratio:1/pixelsToTileUnits(tile,1,transform.zoom),u_device_pixel_ratio:performance.browser.devicePixelRatio,u_units_to_pixels:[1/transform.pixelsToGLUnits[0],1/transform.pixelsToGLUnits[1]]}};var lineGradientUniformValues=function(painter,tile,layer){return performance.extend(lineUniformValues(painter,tile,layer),{u_image:0})};var linePatternUniformValues=function(painter,tile,layer,crossfade){var transform=painter.transform;var tileZoomRatio=calculateTileRatio(tile,transform);return{u_matrix:calculateMatrix(painter,tile,layer),u_texsize:tile.imageAtlasTexture.size,u_ratio:1/pixelsToTileUnits(tile,1,transform.zoom),u_device_pixel_ratio:performance.browser.devicePixelRatio,u_image:0,u_scale:[tileZoomRatio,crossfade.fromScale,crossfade.toScale],u_fade:crossfade.t,u_units_to_pixels:[1/transform.pixelsToGLUnits[0],1/transform.pixelsToGLUnits[1]]}};var lineSDFUniformValues=function(painter,tile,layer,dasharray,crossfade){var transform=painter.transform;var lineAtlas=painter.lineAtlas;var tileRatio=calculateTileRatio(tile,transform);var round=layer.layout.get("line-cap")==="round";var posA=lineAtlas.getDash(dasharray.from,round);var posB=lineAtlas.getDash(dasharray.to,round);var widthA=posA.width*crossfade.fromScale;var widthB=posB.width*crossfade.toScale;return performance.extend(lineUniformValues(painter,tile,layer),{u_patternscale_a:[tileRatio/widthA,-posA.height/2],u_patternscale_b:[tileRatio/widthB,-posB.height/2],u_sdfgamma:lineAtlas.width/(Math.min(widthA,widthB)*256*performance.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:posA.y,u_tex_y_b:posB.y,u_mix:crossfade.t})};function calculateTileRatio(tile,transform){return 1/pixelsToTileUnits(tile,1,transform.tileZoom)}function calculateMatrix(painter,tile,layer){return painter.translatePosMatrix(tile.tileID.posMatrix,tile,layer.paint.get("line-translate"),layer.paint.get("line-translate-anchor"))}var rasterUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_tl_parent:new performance.Uniform2f(context,locations.u_tl_parent),u_scale_parent:new performance.Uniform1f(context,locations.u_scale_parent),u_buffer_scale:new performance.Uniform1f(context,locations.u_buffer_scale),u_fade_t:new performance.Uniform1f(context,locations.u_fade_t),u_opacity:new performance.Uniform1f(context,locations.u_opacity),u_image0:new performance.Uniform1i(context,locations.u_image0),u_image1:new performance.Uniform1i(context,locations.u_image1),u_brightness_low:new performance.Uniform1f(context,locations.u_brightness_low),u_brightness_high:new performance.Uniform1f(context,locations.u_brightness_high),u_saturation_factor:new performance.Uniform1f(context,locations.u_saturation_factor),u_contrast_factor:new performance.Uniform1f(context,locations.u_contrast_factor),u_spin_weights:new performance.Uniform3f(context,locations.u_spin_weights)}};var rasterUniformValues=function(matrix,parentTL,parentScaleBy,fade,layer){return{u_matrix:matrix,u_tl_parent:parentTL,u_scale_parent:parentScaleBy,u_buffer_scale:1,u_fade_t:fade.mix,u_opacity:fade.opacity*layer.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:layer.paint.get("raster-brightness-min"),u_brightness_high:layer.paint.get("raster-brightness-max"),u_saturation_factor:saturationFactor(layer.paint.get("raster-saturation")),u_contrast_factor:contrastFactor(layer.paint.get("raster-contrast")),u_spin_weights:spinWeights(layer.paint.get("raster-hue-rotate"))}};function spinWeights(angle){angle*=Math.PI/180;var s=Math.sin(angle);var c=Math.cos(angle);return[(2*c+1)/3,(-Math.sqrt(3)*s-c+1)/3,(Math.sqrt(3)*s-c+1)/3]}function contrastFactor(contrast){return contrast>0?1/(1-contrast):1+contrast}function saturationFactor(saturation){return saturation>0?1-1/(1.001-saturation):-saturation}var symbolIconUniforms=function(context,locations){return{u_is_size_zoom_constant:new performance.Uniform1i(context,locations.u_is_size_zoom_constant),u_is_size_feature_constant:new performance.Uniform1i(context,locations.u_is_size_feature_constant),u_size_t:new performance.Uniform1f(context,locations.u_size_t),u_size:new performance.Uniform1f(context,locations.u_size),u_camera_to_center_distance:new performance.Uniform1f(context,locations.u_camera_to_center_distance),u_pitch:new performance.Uniform1f(context,locations.u_pitch),u_rotate_symbol:new performance.Uniform1i(context,locations.u_rotate_symbol),u_aspect_ratio:new performance.Uniform1f(context,locations.u_aspect_ratio),u_fade_change:new performance.Uniform1f(context,locations.u_fade_change),u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_label_plane_matrix:new performance.UniformMatrix4f(context,locations.u_label_plane_matrix),u_coord_matrix:new performance.UniformMatrix4f(context,locations.u_coord_matrix),u_is_text:new performance.Uniform1i(context,locations.u_is_text),u_pitch_with_map:new performance.Uniform1i(context,locations.u_pitch_with_map),u_texsize:new performance.Uniform2f(context,locations.u_texsize),u_texture:new performance.Uniform1i(context,locations.u_texture)}};var symbolSDFUniforms=function(context,locations){return{u_is_size_zoom_constant:new performance.Uniform1i(context,locations.u_is_size_zoom_constant),u_is_size_feature_constant:new performance.Uniform1i(context,locations.u_is_size_feature_constant),u_size_t:new performance.Uniform1f(context,locations.u_size_t),u_size:new performance.Uniform1f(context,locations.u_size),u_camera_to_center_distance:new performance.Uniform1f(context,locations.u_camera_to_center_distance),u_pitch:new performance.Uniform1f(context,locations.u_pitch),u_rotate_symbol:new performance.Uniform1i(context,locations.u_rotate_symbol),u_aspect_ratio:new performance.Uniform1f(context,locations.u_aspect_ratio),u_fade_change:new performance.Uniform1f(context,locations.u_fade_change),u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_label_plane_matrix:new performance.UniformMatrix4f(context,locations.u_label_plane_matrix),u_coord_matrix:new performance.UniformMatrix4f(context,locations.u_coord_matrix),u_is_text:new performance.Uniform1i(context,locations.u_is_text),u_pitch_with_map:new performance.Uniform1i(context,locations.u_pitch_with_map),u_texsize:new performance.Uniform2f(context,locations.u_texsize),u_texture:new performance.Uniform1i(context,locations.u_texture),u_gamma_scale:new performance.Uniform1f(context,locations.u_gamma_scale),u_device_pixel_ratio:new performance.Uniform1f(context,locations.u_device_pixel_ratio),u_is_halo:new performance.Uniform1i(context,locations.u_is_halo)}};var symbolTextAndIconUniforms=function(context,locations){return{u_is_size_zoom_constant:new performance.Uniform1i(context,locations.u_is_size_zoom_constant),u_is_size_feature_constant:new performance.Uniform1i(context,locations.u_is_size_feature_constant),u_size_t:new performance.Uniform1f(context,locations.u_size_t),u_size:new performance.Uniform1f(context,locations.u_size),u_camera_to_center_distance:new performance.Uniform1f(context,locations.u_camera_to_center_distance),u_pitch:new performance.Uniform1f(context,locations.u_pitch),u_rotate_symbol:new performance.Uniform1i(context,locations.u_rotate_symbol),u_aspect_ratio:new performance.Uniform1f(context,locations.u_aspect_ratio),u_fade_change:new performance.Uniform1f(context,locations.u_fade_change),u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_label_plane_matrix:new performance.UniformMatrix4f(context,locations.u_label_plane_matrix),u_coord_matrix:new performance.UniformMatrix4f(context,locations.u_coord_matrix),u_is_text:new performance.Uniform1i(context,locations.u_is_text),u_pitch_with_map:new performance.Uniform1i(context,locations.u_pitch_with_map),u_texsize:new performance.Uniform2f(context,locations.u_texsize),u_texsize_icon:new performance.Uniform2f(context,locations.u_texsize_icon),u_texture:new performance.Uniform1i(context,locations.u_texture),u_texture_icon:new performance.Uniform1i(context,locations.u_texture_icon),u_gamma_scale:new performance.Uniform1f(context,locations.u_gamma_scale),u_device_pixel_ratio:new performance.Uniform1f(context,locations.u_device_pixel_ratio),u_is_halo:new performance.Uniform1i(context,locations.u_is_halo)}};var symbolIconUniformValues=function(functionType,size,rotateInShader,pitchWithMap,painter,matrix,labelPlaneMatrix,glCoordMatrix,isText,texSize){var transform=painter.transform;return{u_is_size_zoom_constant:+(functionType==="constant"||functionType==="source"),u_is_size_feature_constant:+(functionType==="constant"||functionType==="camera"),u_size_t:size?size.uSizeT:0,u_size:size?size.uSize:0,u_camera_to_center_distance:transform.cameraToCenterDistance,u_pitch:transform.pitch/360*2*Math.PI,u_rotate_symbol:+rotateInShader,u_aspect_ratio:transform.width/transform.height,u_fade_change:painter.options.fadeDuration?painter.symbolFadeChange:1,u_matrix:matrix,u_label_plane_matrix:labelPlaneMatrix,u_coord_matrix:glCoordMatrix,u_is_text:+isText,u_pitch_with_map:+pitchWithMap,u_texsize:texSize,u_texture:0}};var symbolSDFUniformValues=function(functionType,size,rotateInShader,pitchWithMap,painter,matrix,labelPlaneMatrix,glCoordMatrix,isText,texSize,isHalo){var transform=painter.transform;return performance.extend(symbolIconUniformValues(functionType,size,rotateInShader,pitchWithMap,painter,matrix,labelPlaneMatrix,glCoordMatrix,isText,texSize),{u_gamma_scale:pitchWithMap?Math.cos(transform._pitch)*transform.cameraToCenterDistance:1,u_device_pixel_ratio:performance.browser.devicePixelRatio,u_is_halo:+isHalo})};var symbolTextAndIconUniformValues=function(functionType,size,rotateInShader,pitchWithMap,painter,matrix,labelPlaneMatrix,glCoordMatrix,texSizeSDF,texSizeIcon){return performance.extend(symbolSDFUniformValues(functionType,size,rotateInShader,pitchWithMap,painter,matrix,labelPlaneMatrix,glCoordMatrix,true,texSizeSDF,true),{u_texsize_icon:texSizeIcon,u_texture_icon:1})};var backgroundUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_opacity:new performance.Uniform1f(context,locations.u_opacity),u_color:new performance.UniformColor(context,locations.u_color)}};var backgroundPatternUniforms=function(context,locations){return{u_matrix:new performance.UniformMatrix4f(context,locations.u_matrix),u_opacity:new performance.Uniform1f(context,locations.u_opacity),u_image:new performance.Uniform1i(context,locations.u_image),u_pattern_tl_a:new performance.Uniform2f(context,locations.u_pattern_tl_a),u_pattern_br_a:new performance.Uniform2f(context,locations.u_pattern_br_a),u_pattern_tl_b:new performance.Uniform2f(context,locations.u_pattern_tl_b),u_pattern_br_b:new performance.Uniform2f(context,locations.u_pattern_br_b),u_texsize:new performance.Uniform2f(context,locations.u_texsize),u_mix:new performance.Uniform1f(context,locations.u_mix),u_pattern_size_a:new performance.Uniform2f(context,locations.u_pattern_size_a),u_pattern_size_b:new performance.Uniform2f(context,locations.u_pattern_size_b),u_scale_a:new performance.Uniform1f(context,locations.u_scale_a),u_scale_b:new performance.Uniform1f(context,locations.u_scale_b),u_pixel_coord_upper:new performance.Uniform2f(context,locations.u_pixel_coord_upper),u_pixel_coord_lower:new performance.Uniform2f(context,locations.u_pixel_coord_lower),u_tile_units_to_pixels:new performance.Uniform1f(context,locations.u_tile_units_to_pixels)}};var backgroundUniformValues=function(matrix,opacity,color){return{u_matrix:matrix,u_opacity:opacity,u_color:color}};var backgroundPatternUniformValues=function(matrix,opacity,painter,image,tile,crossfade){return performance.extend(bgPatternUniformValues(image,crossfade,painter,tile),{u_matrix:matrix,u_opacity:opacity})};var programUniforms={fillExtrusion:fillExtrusionUniforms,fillExtrusionPattern:fillExtrusionPatternUniforms,fill:fillUniforms,fillPattern:fillPatternUniforms,fillOutline:fillOutlineUniforms,fillOutlinePattern:fillOutlinePatternUniforms,circle:circleUniforms,collisionBox:collisionUniforms,collisionCircle:collisionCircleUniforms,debug:debugUniforms,clippingMask:clippingMaskUniforms,heatmap:heatmapUniforms,heatmapTexture:heatmapTextureUniforms,hillshade:hillshadeUniforms,hillshadePrepare:hillshadePrepareUniforms,line:lineUniforms,lineGradient:lineGradientUniforms,linePattern:linePatternUniforms,lineSDF:lineSDFUniforms,raster:rasterUniforms,symbolIcon:symbolIconUniforms,symbolSDF:symbolSDFUniforms,symbolTextAndIcon:symbolTextAndIconUniforms,background:backgroundUniforms,backgroundPattern:backgroundPatternUniforms};var quadTriangles;function drawCollisionDebug(painter,sourceCache,layer,coords,translate,translateAnchor,isText){var context=painter.context;var gl=context.gl;var program=painter.useProgram("collisionBox");var tileBatches=[];var circleCount=0;var circleOffset=0;for(var i=0;i<coords.length;i++){var coord=coords[i];var tile=sourceCache.getTile(coord);var bucket=tile.getBucket(layer);if(!bucket){continue}var posMatrix=coord.posMatrix;if(translate[0]!==0||translate[1]!==0){posMatrix=painter.translatePosMatrix(coord.posMatrix,tile,translate,translateAnchor)}var buffers=isText?bucket.textCollisionBox:bucket.iconCollisionBox;var circleArray=bucket.collisionCircleArray;if(circleArray.length>0){var invTransform=performance.create();var transform=posMatrix;performance.mul(invTransform,bucket.placementInvProjMatrix,painter.transform.glCoordMatrix);performance.mul(invTransform,invTransform,bucket.placementViewportMatrix);tileBatches.push({circleArray:circleArray,circleOffset:circleOffset,transform:transform,invTransform:invTransform});circleCount+=circleArray.length/4;circleOffset=circleCount}if(!buffers){continue}program.draw(context,gl.LINES,DepthMode.disabled,StencilMode.disabled,painter.colorModeForRenderPass(),CullFaceMode.disabled,collisionUniformValues(posMatrix,painter.transform,tile),layer.id,buffers.layoutVertexBuffer,buffers.indexBuffer,buffers.segments,null,painter.transform.zoom,null,null,buffers.collisionVertexBuffer)}if(!isText||!tileBatches.length){return}var circleProgram=painter.useProgram("collisionCircle");var vertexData=new performance.StructArrayLayout2f1f2i16;vertexData.resize(circleCount*4);vertexData._trim();var vertexOffset=0;for(var i$2=0,list=tileBatches;i$2<list.length;i$2+=1){var batch=list[i$2];for(var i$1=0;i$1<batch.circleArray.length/4;i$1++){var circleIdx=i$1*4;var x=batch.circleArray[circleIdx+0];var y=batch.circleArray[circleIdx+1];var radius=batch.circleArray[circleIdx+2];var collision=batch.circleArray[circleIdx+3];vertexData.emplace(vertexOffset++,x,y,radius,collision,0);vertexData.emplace(vertexOffset++,x,y,radius,collision,1);vertexData.emplace(vertexOffset++,x,y,radius,collision,2);vertexData.emplace(vertexOffset++,x,y,radius,collision,3)}}if(!quadTriangles||quadTriangles.length<circleCount*2){quadTriangles=createQuadTriangles(circleCount)}var indexBuffer=context.createIndexBuffer(quadTriangles,true);var vertexBuffer=context.createVertexBuffer(vertexData,performance.collisionCircleLayout.members,true);for(var i$3=0,list$1=tileBatches;i$3<list$1.length;i$3+=1){var batch$1=list$1[i$3];var uniforms=collisionCircleUniformValues(batch$1.transform,batch$1.invTransform,painter.transform);circleProgram.draw(context,gl.TRIANGLES,DepthMode.disabled,StencilMode.disabled,painter.colorModeForRenderPass(),CullFaceMode.disabled,uniforms,layer.id,vertexBuffer,indexBuffer,performance.SegmentVector.simpleSegment(0,batch$1.circleOffset*2,batch$1.circleArray.length,batch$1.circleArray.length/2),null,painter.transform.zoom,null,null,null)}vertexBuffer.destroy();indexBuffer.destroy()}function createQuadTriangles(quadCount){var triCount=quadCount*2;var array=new performance.StructArrayLayout3ui6;array.resize(triCount);array._trim();for(var i=0;i<triCount;i++){var idx=i*6;array.uint16[idx+0]=i*4+0;array.uint16[idx+1]=i*4+1;array.uint16[idx+2]=i*4+2;array.uint16[idx+3]=i*4+2;array.uint16[idx+4]=i*4+3;array.uint16[idx+5]=i*4+0}return array}var identityMat4=performance.identity(new Float32Array(16));function drawSymbols(painter,sourceCache,layer,coords,variableOffsets){if(painter.renderPass!=="translucent"){return}var stencilMode=StencilMode.disabled;var colorMode=painter.colorModeForRenderPass();var variablePlacement=layer.layout.get("text-variable-anchor");if(variablePlacement){updateVariableAnchors(coords,painter,layer,sourceCache,layer.layout.get("text-rotation-alignment"),layer.layout.get("text-pitch-alignment"),variableOffsets)}if(layer.paint.get("icon-opacity").constantOr(1)!==0){drawLayerSymbols(painter,sourceCache,layer,coords,false,layer.paint.get("icon-translate"),layer.paint.get("icon-translate-anchor"),layer.layout.get("icon-rotation-alignment"),layer.layout.get("icon-pitch-alignment"),layer.layout.get("icon-keep-upright"),stencilMode,colorMode)}if(layer.paint.get("text-opacity").constantOr(1)!==0){drawLayerSymbols(painter,sourceCache,layer,coords,true,layer.paint.get("text-translate"),layer.paint.get("text-translate-anchor"),layer.layout.get("text-rotation-alignment"),layer.layout.get("text-pitch-alignment"),layer.layout.get("text-keep-upright"),stencilMode,colorMode)}if(sourceCache.map.showCollisionBoxes){drawCollisionDebug(painter,sourceCache,layer,coords,layer.paint.get("text-translate"),layer.paint.get("text-translate-anchor"),true);drawCollisionDebug(painter,sourceCache,layer,coords,layer.paint.get("icon-translate"),layer.paint.get("icon-translate-anchor"),false)}}function calculateVariableRenderShift(anchor,width,height,textOffset,textBoxScale,renderTextSize){var ref=performance.getAnchorAlignment(anchor);var horizontalAlign=ref.horizontalAlign;var verticalAlign=ref.verticalAlign;var shiftX=-(horizontalAlign-.5)*width;var shiftY=-(verticalAlign-.5)*height;var variableOffset=performance.evaluateVariableOffset(anchor,textOffset);return new performance.Point((shiftX/textBoxScale+variableOffset[0])*renderTextSize,(shiftY/textBoxScale+variableOffset[1])*renderTextSize)}function updateVariableAnchors(coords,painter,layer,sourceCache,rotationAlignment,pitchAlignment,variableOffsets){var tr=painter.transform;var rotateWithMap=rotationAlignment==="map";var pitchWithMap=pitchAlignment==="map";for(var i=0,list=coords;i<list.length;i+=1){var coord=list[i];var tile=sourceCache.getTile(coord);var bucket=tile.getBucket(layer);if(!bucket||!bucket.text||!bucket.text.segments.get().length){continue}var sizeData=bucket.textSizeData;var size=performance.evaluateSizeForZoom(sizeData,tr.zoom);var pixelToTileScale=pixelsToTileUnits(tile,1,painter.transform.zoom);var labelPlaneMatrix=getLabelPlaneMatrix(coord.posMatrix,pitchWithMap,rotateWithMap,painter.transform,pixelToTileScale);var updateTextFitIcon=layer.layout.get("icon-text-fit")!=="none"&&bucket.hasIconData();if(size){var tileScale=Math.pow(2,tr.zoom-tile.tileID.overscaledZ);updateVariableAnchorsForBucket(bucket,rotateWithMap,pitchWithMap,variableOffsets,performance.symbolSize,tr,labelPlaneMatrix,coord.posMatrix,tileScale,size,updateTextFitIcon)}}}function updateVariableAnchorsForBucket(bucket,rotateWithMap,pitchWithMap,variableOffsets,symbolSize,transform,labelPlaneMatrix,posMatrix,tileScale,size,updateTextFitIcon){var placedSymbols=bucket.text.placedSymbolArray;var dynamicTextLayoutVertexArray=bucket.text.dynamicLayoutVertexArray;var dynamicIconLayoutVertexArray=bucket.icon.dynamicLayoutVertexArray;var placedTextShifts={};dynamicTextLayoutVertexArray.clear();for(var s=0;s<placedSymbols.length;s++){var symbol=placedSymbols.get(s);var skipOrientation=bucket.allowVerticalPlacement&&!symbol.placedOrientation;var variableOffset=!symbol.hidden&&symbol.crossTileID&&!skipOrientation?variableOffsets[symbol.crossTileID]:null;if(!variableOffset){hideGlyphs(symbol.numGlyphs,dynamicTextLayoutVertexArray)}else{var tileAnchor=new performance.Point(symbol.anchorX,symbol.anchorY);var projectedAnchor=project(tileAnchor,pitchWithMap?posMatrix:labelPlaneMatrix);var perspectiveRatio=getPerspectiveRatio(transform.cameraToCenterDistance,projectedAnchor.signedDistanceFromCamera);var renderTextSize=symbolSize.evaluateSizeForFeature(bucket.textSizeData,size,symbol)*perspectiveRatio/performance.ONE_EM;if(pitchWithMap){renderTextSize*=bucket.tilePixelRatio/tileScale}var width=variableOffset.width;var height=variableOffset.height;var anchor=variableOffset.anchor;var textOffset=variableOffset.textOffset;var textBoxScale=variableOffset.textBoxScale;var shift=calculateVariableRenderShift(anchor,width,height,textOffset,textBoxScale,renderTextSize);var shiftedAnchor=pitchWithMap?project(tileAnchor.add(shift),labelPlaneMatrix).point:projectedAnchor.point.add(rotateWithMap?shift.rotate(-transform.angle):shift);var angle=bucket.allowVerticalPlacement&&symbol.placedOrientation===performance.WritingMode.vertical?Math.PI/2:0;for(var g=0;g<symbol.numGlyphs;g++){performance.addDynamicAttributes(dynamicTextLayoutVertexArray,shiftedAnchor,angle)}if(updateTextFitIcon&&symbol.associatedIconIndex>=0){placedTextShifts[symbol.associatedIconIndex]={shiftedAnchor:shiftedAnchor,angle:angle}}}}if(updateTextFitIcon){dynamicIconLayoutVertexArray.clear();var placedIcons=bucket.icon.placedSymbolArray;for(var i=0;i<placedIcons.length;i++){var placedIcon=placedIcons.get(i);if(placedIcon.hidden){hideGlyphs(placedIcon.numGlyphs,dynamicIconLayoutVertexArray)}else{var shift$1=placedTextShifts[i];if(!shift$1){hideGlyphs(placedIcon.numGlyphs,dynamicIconLayoutVertexArray)}else{for(var g$1=0;g$1<placedIcon.numGlyphs;g$1++){performance.addDynamicAttributes(dynamicIconLayoutVertexArray,shift$1.shiftedAnchor,shift$1.angle)}}}}bucket.icon.dynamicLayoutVertexBuffer.updateData(dynamicIconLayoutVertexArray)}bucket.text.dynamicLayoutVertexBuffer.updateData(dynamicTextLayoutVertexArray)}function getSymbolProgramName(isSDF,isText,bucket){if(bucket.iconsInText&&isText){return"symbolTextAndIcon"}else if(isSDF){return"symbolSDF"}else{return"symbolIcon"}}function drawLayerSymbols(painter,sourceCache,layer,coords,isText,translate,translateAnchor,rotationAlignment,pitchAlignment,keepUpright,stencilMode,colorMode){var context=painter.context;var gl=context.gl;var tr=painter.transform;var rotateWithMap=rotationAlignment==="map";var pitchWithMap=pitchAlignment==="map";var alongLine=rotateWithMap&&layer.layout.get("symbol-placement")!=="point";var rotateInShader=rotateWithMap&&!pitchWithMap&&!alongLine;var sortFeaturesByKey=layer.layout.get("symbol-sort-key").constantOr(1)!==undefined;var depthMode=painter.depthModeForSublayer(0,DepthMode.ReadOnly);var variablePlacement=layer.layout.get("text-variable-anchor");var tileRenderState=[];for(var i$1=0,list$1=coords;i$1<list$1.length;i$1+=1){var coord=list$1[i$1];var tile=sourceCache.getTile(coord);var bucket=tile.getBucket(layer);if(!bucket){continue}var buffers=isText?bucket.text:bucket.icon;if(!buffers||!buffers.segments.get().length){continue}var programConfiguration=buffers.programConfigurations.get(layer.id);var isSDF=isText||bucket.sdfIcons;var sizeData=isText?bucket.textSizeData:bucket.iconSizeData;var transformed=pitchWithMap||tr.pitch!==0;var program=painter.useProgram(getSymbolProgramName(isSDF,isText,bucket),programConfiguration);var size=performance.evaluateSizeForZoom(sizeData,tr.zoom);var texSize=void 0;var texSizeIcon=[0,0];var atlasTexture=void 0;var atlasInterpolation=void 0;var atlasTextureIcon=null;var atlasInterpolationIcon=void 0;if(isText){atlasTexture=tile.glyphAtlasTexture;atlasInterpolation=gl.LINEAR;texSize=tile.glyphAtlasTexture.size;if(bucket.iconsInText){texSizeIcon=tile.imageAtlasTexture.size;atlasTextureIcon=tile.imageAtlasTexture;var zoomDependentSize=sizeData.kind==="composite"||sizeData.kind==="camera";atlasInterpolationIcon=transformed||painter.options.rotating||painter.options.zooming||zoomDependentSize?gl.LINEAR:gl.NEAREST}}else{var iconScaled=layer.layout.get("icon-size").constantOr(0)!==1||bucket.iconsNeedLinear;atlasTexture=tile.imageAtlasTexture;atlasInterpolation=isSDF||painter.options.rotating||painter.options.zooming||iconScaled||transformed?gl.LINEAR:gl.NEAREST;texSize=tile.imageAtlasTexture.size}var s=pixelsToTileUnits(tile,1,painter.transform.zoom);var labelPlaneMatrix=getLabelPlaneMatrix(coord.posMatrix,pitchWithMap,rotateWithMap,painter.transform,s);var glCoordMatrix=getGlCoordMatrix(coord.posMatrix,pitchWithMap,rotateWithMap,painter.transform,s);var hasVariableAnchors=variablePlacement&&bucket.hasTextData();var updateTextFitIcon=layer.layout.get("icon-text-fit")!=="none"&&hasVariableAnchors&&bucket.hasIconData();if(alongLine){updateLineLabels(bucket,coord.posMatrix,painter,isText,labelPlaneMatrix,glCoordMatrix,pitchWithMap,keepUpright)}var matrix=painter.translatePosMatrix(coord.posMatrix,tile,translate,translateAnchor),uLabelPlaneMatrix=alongLine||isText&&variablePlacement||updateTextFitIcon?identityMat4:labelPlaneMatrix,uglCoordMatrix=painter.translatePosMatrix(glCoordMatrix,tile,translate,translateAnchor,true);var hasHalo=isSDF&&layer.paint.get(isText?"text-halo-width":"icon-halo-width").constantOr(1)!==0;var uniformValues=void 0;if(isSDF){if(!bucket.iconsInText){uniformValues=symbolSDFUniformValues(sizeData.kind,size,rotateInShader,pitchWithMap,painter,matrix,uLabelPlaneMatrix,uglCoordMatrix,isText,texSize,true)}else{uniformValues=symbolTextAndIconUniformValues(sizeData.kind,size,rotateInShader,pitchWithMap,painter,matrix,uLabelPlaneMatrix,uglCoordMatrix,texSize,texSizeIcon)}}else{uniformValues=symbolIconUniformValues(sizeData.kind,size,rotateInShader,pitchWithMap,painter,matrix,uLabelPlaneMatrix,uglCoordMatrix,isText,texSize)}var state={program:program,buffers:buffers,uniformValues:uniformValues,atlasTexture:atlasTexture,atlasTextureIcon:atlasTextureIcon,atlasInterpolation:atlasInterpolation,atlasInterpolationIcon:atlasInterpolationIcon,isSDF:isSDF,hasHalo:hasHalo};if(sortFeaturesByKey){var oldSegments=buffers.segments.get();for(var i=0,list=oldSegments;i<list.length;i+=1){var segment=list[i];tileRenderState.push({segments:new performance.SegmentVector([segment]),sortKey:segment.sortKey,state:state})}}else{tileRenderState.push({segments:buffers.segments,sortKey:0,state:state})}}if(sortFeaturesByKey){tileRenderState.sort((function(a,b){return a.sortKey-b.sortKey}))}for(var i$2=0,list$2=tileRenderState;i$2<list$2.length;i$2+=1){var segmentState=list$2[i$2];var state$1=segmentState.state;context.activeTexture.set(gl.TEXTURE0);state$1.atlasTexture.bind(state$1.atlasInterpolation,gl.CLAMP_TO_EDGE);if(state$1.atlasTextureIcon){context.activeTexture.set(gl.TEXTURE1);if(state$1.atlasTextureIcon){state$1.atlasTextureIcon.bind(state$1.atlasInterpolationIcon,gl.CLAMP_TO_EDGE)}}if(state$1.isSDF){var uniformValues$1=state$1.uniformValues;if(state$1.hasHalo){uniformValues$1["u_is_halo"]=1;drawSymbolElements(state$1.buffers,segmentState.segments,layer,painter,state$1.program,depthMode,stencilMode,colorMode,uniformValues$1)}uniformValues$1["u_is_halo"]=0}drawSymbolElements(state$1.buffers,segmentState.segments,layer,painter,state$1.program,depthMode,stencilMode,colorMode,state$1.uniformValues)}}function drawSymbolElements(buffers,segments,layer,painter,program,depthMode,stencilMode,colorMode,uniformValues){var context=painter.context;var gl=context.gl;program.draw(context,gl.TRIANGLES,depthMode,stencilMode,colorMode,CullFaceMode.disabled,uniformValues,layer.id,buffers.layoutVertexBuffer,buffers.indexBuffer,segments,layer.paint,painter.transform.zoom,buffers.programConfigurations.get(layer.id),buffers.dynamicLayoutVertexBuffer,buffers.opacityVertexBuffer)}function drawCircles(painter,sourceCache,layer,coords){if(painter.renderPass!=="translucent"){return}var opacity=layer.paint.get("circle-opacity");var strokeWidth=layer.paint.get("circle-stroke-width");var strokeOpacity=layer.paint.get("circle-stroke-opacity");var sortFeaturesByKey=layer.layout.get("circle-sort-key").constantOr(1)!==undefined;if(opacity.constantOr(1)===0&&(strokeWidth.constantOr(1)===0||strokeOpacity.constantOr(1)===0)){return}var context=painter.context;var gl=context.gl;var depthMode=painter.depthModeForSublayer(0,DepthMode.ReadOnly);var stencilMode=StencilMode.disabled;var colorMode=painter.colorModeForRenderPass();var segmentsRenderStates=[];for(var i=0;i<coords.length;i++){var coord=coords[i];var tile=sourceCache.getTile(coord);var bucket=tile.getBucket(layer);if(!bucket){continue}var programConfiguration=bucket.programConfigurations.get(layer.id);var program=painter.useProgram("circle",programConfiguration);var layoutVertexBuffer=bucket.layoutVertexBuffer;var indexBuffer=bucket.indexBuffer;var uniformValues=circleUniformValues(painter,coord,tile,layer);var state={programConfiguration:programConfiguration,program:program,layoutVertexBuffer:layoutVertexBuffer,indexBuffer:indexBuffer,uniformValues:uniformValues};if(sortFeaturesByKey){var oldSegments=bucket.segments.get();for(var i$1=0,list=oldSegments;i$1<list.length;i$1+=1){var segment=list[i$1];segmentsRenderStates.push({segments:new performance.SegmentVector([segment]),sortKey:segment.sortKey,state:state})}}else{segmentsRenderStates.push({segments:bucket.segments,sortKey:0,state:state})}}if(sortFeaturesByKey){segmentsRenderStates.sort((function(a,b){return a.sortKey-b.sortKey}))}for(var i$2=0,list$1=segmentsRenderStates;i$2<list$1.length;i$2+=1){var segmentsState=list$1[i$2];var ref=segmentsState.state;var programConfiguration$1=ref.programConfiguration;var program$1=ref.program;var layoutVertexBuffer$1=ref.layoutVertexBuffer;var indexBuffer$1=ref.indexBuffer;var uniformValues$1=ref.uniformValues;var segments=segmentsState.segments;program$1.draw(context,gl.TRIANGLES,depthMode,stencilMode,colorMode,CullFaceMode.disabled,uniformValues$1,layer.id,layoutVertexBuffer$1,indexBuffer$1,segments,layer.paint,painter.transform.zoom,programConfiguration$1)}}function drawHeatmap(painter,sourceCache,layer,coords){if(layer.paint.get("heatmap-opacity")===0){return}if(painter.renderPass==="offscreen"){var context=painter.context;var gl=context.gl;var stencilMode=StencilMode.disabled;var colorMode=new ColorMode([gl.ONE,gl.ONE],performance.Color.transparent,[true,true,true,true]);bindFramebuffer(context,painter,layer);context.clear({color:performance.Color.transparent});for(var i=0;i<coords.length;i++){var coord=coords[i];if(sourceCache.hasRenderableParent(coord)){continue}var tile=sourceCache.getTile(coord);var bucket=tile.getBucket(layer);if(!bucket){continue}var programConfiguration=bucket.programConfigurations.get(layer.id);var program=painter.useProgram("heatmap",programConfiguration);var ref=painter.transform;var zoom=ref.zoom;program.draw(context,gl.TRIANGLES,DepthMode.disabled,stencilMode,colorMode,CullFaceMode.disabled,heatmapUniformValues(coord.posMatrix,tile,zoom,layer.paint.get("heatmap-intensity")),layer.id,bucket.layoutVertexBuffer,bucket.indexBuffer,bucket.segments,layer.paint,painter.transform.zoom,programConfiguration)}context.viewport.set([0,0,painter.width,painter.height])}else if(painter.renderPass==="translucent"){painter.context.setColorMode(painter.colorModeForRenderPass());renderTextureToMap(painter,layer)}}function bindFramebuffer(context,painter,layer){var gl=context.gl;context.activeTexture.set(gl.TEXTURE1);context.viewport.set([0,0,painter.width/4,painter.height/4]);var fbo=layer.heatmapFbo;if(!fbo){var texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);fbo=layer.heatmapFbo=context.createFramebuffer(painter.width/4,painter.height/4,false);bindTextureToFramebuffer(context,painter,texture,fbo)}else{gl.bindTexture(gl.TEXTURE_2D,fbo.colorAttachment.get());context.bindFramebuffer.set(fbo.framebuffer)}}function bindTextureToFramebuffer(context,painter,texture,fbo){var gl=context.gl;var internalFormat=context.extRenderToTextureHalfFloat?context.extTextureHalfFloat.HALF_FLOAT_OES:gl.UNSIGNED_BYTE;gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,painter.width/4,painter.height/4,0,gl.RGBA,internalFormat,null);fbo.colorAttachment.set(texture)}function renderTextureToMap(painter,layer){var context=painter.context;var gl=context.gl;var fbo=layer.heatmapFbo;if(!fbo){return}context.activeTexture.set(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,fbo.colorAttachment.get());context.activeTexture.set(gl.TEXTURE1);var colorRampTexture=layer.colorRampTexture;if(!colorRampTexture){colorRampTexture=layer.colorRampTexture=new performance.Texture(context,layer.colorRamp,gl.RGBA)}colorRampTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE);painter.useProgram("heatmapTexture").draw(context,gl.TRIANGLES,DepthMode.disabled,StencilMode.disabled,painter.colorModeForRenderPass(),CullFaceMode.disabled,heatmapTextureUniformValues(painter,layer,0,1),layer.id,painter.viewportBuffer,painter.quadTriangleIndexBuffer,painter.viewportSegments,layer.paint,painter.transform.zoom)}function drawLine(painter,sourceCache,layer,coords){if(painter.renderPass!=="translucent"){return}var opacity=layer.paint.get("line-opacity");var width=layer.paint.get("line-width");if(opacity.constantOr(1)===0||width.constantOr(1)===0){return}var depthMode=painter.depthModeForSublayer(0,DepthMode.ReadOnly);var colorMode=painter.colorModeForRenderPass();var dasharray=layer.paint.get("line-dasharray");var patternProperty=layer.paint.get("line-pattern");var image=patternProperty.constantOr(1);var gradient=layer.paint.get("line-gradient");var crossfade=layer.getCrossfadeParameters();var programId=image?"linePattern":dasharray?"lineSDF":gradient?"lineGradient":"line";var context=painter.context;var gl=context.gl;var firstTile=true;if(gradient){context.activeTexture.set(gl.TEXTURE0);var gradientTexture=layer.gradientTexture;if(!layer.gradient){return}if(!gradientTexture){gradientTexture=layer.gradientTexture=new performance.Texture(context,layer.gradient,gl.RGBA)}gradientTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE)}for(var i=0,list=coords;i<list.length;i+=1){var coord=list[i];var tile=sourceCache.getTile(coord);if(image&&!tile.patternsLoaded()){continue}var bucket=tile.getBucket(layer);if(!bucket){continue}var programConfiguration=bucket.programConfigurations.get(layer.id);var prevProgram=painter.context.program.get();var program=painter.useProgram(programId,programConfiguration);var programChanged=firstTile||program.program!==prevProgram;var constantPattern=patternProperty.constantOr(null);if(constantPattern&&tile.imageAtlas){var atlas=tile.imageAtlas;var posTo=atlas.patternPositions[constantPattern.to.toString()];var posFrom=atlas.patternPositions[constantPattern.from.toString()];if(posTo&&posFrom){programConfiguration.setConstantPatternPositions(posTo,posFrom)}}var uniformValues=image?linePatternUniformValues(painter,tile,layer,crossfade):dasharray?lineSDFUniformValues(painter,tile,layer,dasharray,crossfade):gradient?lineGradientUniformValues(painter,tile,layer):lineUniformValues(painter,tile,layer);if(image){context.activeTexture.set(gl.TEXTURE0);tile.imageAtlasTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE);programConfiguration.updatePaintBuffers(crossfade)}else if(dasharray&&(programChanged||painter.lineAtlas.dirty)){context.activeTexture.set(gl.TEXTURE0);painter.lineAtlas.bind(context)}program.draw(context,gl.TRIANGLES,depthMode,painter.stencilModeForClipping(coord),colorMode,CullFaceMode.disabled,uniformValues,layer.id,bucket.layoutVertexBuffer,bucket.indexBuffer,bucket.segments,layer.paint,painter.transform.zoom,programConfiguration);firstTile=false}}function drawFill(painter,sourceCache,layer,coords){var color=layer.paint.get("fill-color");var opacity=layer.paint.get("fill-opacity");if(opacity.constantOr(1)===0){return}var colorMode=painter.colorModeForRenderPass();var pattern=layer.paint.get("fill-pattern");var pass=painter.opaquePassEnabledForLayer()&&(!pattern.constantOr(1)&&color.constantOr(performance.Color.transparent).a===1&&opacity.constantOr(0)===1)?"opaque":"translucent";if(painter.renderPass===pass){var depthMode=painter.depthModeForSublayer(1,painter.renderPass==="opaque"?DepthMode.ReadWrite:DepthMode.ReadOnly);drawFillTiles(painter,sourceCache,layer,coords,depthMode,colorMode,false)}if(painter.renderPass==="translucent"&&layer.paint.get("fill-antialias")){var depthMode$1=painter.depthModeForSublayer(layer.getPaintProperty("fill-outline-color")?2:0,DepthMode.ReadOnly);drawFillTiles(painter,sourceCache,layer,coords,depthMode$1,colorMode,true)}}function drawFillTiles(painter,sourceCache,layer,coords,depthMode,colorMode,isOutline){var gl=painter.context.gl;var patternProperty=layer.paint.get("fill-pattern");var image=patternProperty&&patternProperty.constantOr(1);var crossfade=layer.getCrossfadeParameters();var drawMode,programName,uniformValues,indexBuffer,segments;if(!isOutline){programName=image?"fillPattern":"fill";drawMode=gl.TRIANGLES}else{programName=image&&!layer.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline";drawMode=gl.LINES}for(var i=0,list=coords;i<list.length;i+=1){var coord=list[i];var tile=sourceCache.getTile(coord);if(image&&!tile.patternsLoaded()){continue}var bucket=tile.getBucket(layer);if(!bucket){continue}var programConfiguration=bucket.programConfigurations.get(layer.id);var program=painter.useProgram(programName,programConfiguration);if(image){painter.context.activeTexture.set(gl.TEXTURE0);tile.imageAtlasTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE);programConfiguration.updatePaintBuffers(crossfade)}var constantPattern=patternProperty.constantOr(null);if(constantPattern&&tile.imageAtlas){var atlas=tile.imageAtlas;var posTo=atlas.patternPositions[constantPattern.to.toString()];var posFrom=atlas.patternPositions[constantPattern.from.toString()];if(posTo&&posFrom){programConfiguration.setConstantPatternPositions(posTo,posFrom)}}var tileMatrix=painter.translatePosMatrix(coord.posMatrix,tile,layer.paint.get("fill-translate"),layer.paint.get("fill-translate-anchor"));if(!isOutline){indexBuffer=bucket.indexBuffer;segments=bucket.segments;uniformValues=image?fillPatternUniformValues(tileMatrix,painter,crossfade,tile):fillUniformValues(tileMatrix)}else{indexBuffer=bucket.indexBuffer2;segments=bucket.segments2;var drawingBufferSize=[gl.drawingBufferWidth,gl.drawingBufferHeight];uniformValues=programName==="fillOutlinePattern"&&image?fillOutlinePatternUniformValues(tileMatrix,painter,crossfade,tile,drawingBufferSize):fillOutlineUniformValues(tileMatrix,drawingBufferSize)}program.draw(painter.context,drawMode,depthMode,painter.stencilModeForClipping(coord),colorMode,CullFaceMode.disabled,uniformValues,layer.id,bucket.layoutVertexBuffer,indexBuffer,segments,layer.paint,painter.transform.zoom,programConfiguration)}}function draw(painter,source,layer,coords){var opacity=layer.paint.get("fill-extrusion-opacity");if(opacity===0){return}if(painter.renderPass==="translucent"){var depthMode=new DepthMode(painter.context.gl.LEQUAL,DepthMode.ReadWrite,painter.depthRangeFor3D);if(opacity===1&&!layer.paint.get("fill-extrusion-pattern").constantOr(1)){var colorMode=painter.colorModeForRenderPass();drawExtrusionTiles(painter,source,layer,coords,depthMode,StencilMode.disabled,colorMode)}else{drawExtrusionTiles(painter,source,layer,coords,depthMode,StencilMode.disabled,ColorMode.disabled);drawExtrusionTiles(painter,source,layer,coords,depthMode,painter.stencilModeFor3D(),painter.colorModeForRenderPass())}}}function drawExtrusionTiles(painter,source,layer,coords,depthMode,stencilMode,colorMode){var context=painter.context;var gl=context.gl;var patternProperty=layer.paint.get("fill-extrusion-pattern");var image=patternProperty.constantOr(1);var crossfade=layer.getCrossfadeParameters();var opacity=layer.paint.get("fill-extrusion-opacity");for(var i=0,list=coords;i<list.length;i+=1){var coord=list[i];var tile=source.getTile(coord);var bucket=tile.getBucket(layer);if(!bucket){continue}var programConfiguration=bucket.programConfigurations.get(layer.id);var program=painter.useProgram(image?"fillExtrusionPattern":"fillExtrusion",programConfiguration);if(image){painter.context.activeTexture.set(gl.TEXTURE0);tile.imageAtlasTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE);programConfiguration.updatePaintBuffers(crossfade)}var constantPattern=patternProperty.constantOr(null);if(constantPattern&&tile.imageAtlas){var atlas=tile.imageAtlas;var posTo=atlas.patternPositions[constantPattern.to.toString()];var posFrom=atlas.patternPositions[constantPattern.from.toString()];if(posTo&&posFrom){programConfiguration.setConstantPatternPositions(posTo,posFrom)}}var matrix=painter.translatePosMatrix(coord.posMatrix,tile,layer.paint.get("fill-extrusion-translate"),layer.paint.get("fill-extrusion-translate-anchor"));var shouldUseVerticalGradient=layer.paint.get("fill-extrusion-vertical-gradient");var uniformValues=image?fillExtrusionPatternUniformValues(matrix,painter,shouldUseVerticalGradient,opacity,coord,crossfade,tile):fillExtrusionUniformValues(matrix,painter,shouldUseVerticalGradient,opacity);program.draw(context,context.gl.TRIANGLES,depthMode,stencilMode,colorMode,CullFaceMode.backCCW,uniformValues,layer.id,bucket.layoutVertexBuffer,bucket.indexBuffer,bucket.segments,layer.paint,painter.transform.zoom,programConfiguration)}}function drawHillshade(painter,sourceCache,layer,tileIDs){if(painter.renderPass!=="offscreen"&&painter.renderPass!=="translucent"){return}var context=painter.context;var sourceMaxZoom=sourceCache.getSource().maxzoom;var depthMode=painter.depthModeForSublayer(0,DepthMode.ReadOnly);var colorMode=painter.colorModeForRenderPass();var ref=painter.renderPass==="translucent"?painter.stencilConfigForOverlap(tileIDs):[{},tileIDs];var stencilModes=ref[0];var coords=ref[1];for(var i=0,list=coords;i<list.length;i+=1){var coord=list[i];var tile=sourceCache.getTile(coord);if(tile.needsHillshadePrepare&&painter.renderPass==="offscreen"){prepareHillshade(painter,tile,layer,sourceMaxZoom,depthMode,StencilMode.disabled,colorMode)}else if(painter.renderPass==="translucent"){renderHillshade(painter,tile,layer,depthMode,stencilModes[coord.overscaledZ],colorMode)}}context.viewport.set([0,0,painter.width,painter.height])}function renderHillshade(painter,tile,layer,depthMode,stencilMode,colorMode){var context=painter.context;var gl=context.gl;var fbo=tile.fbo;if(!fbo){return}var program=painter.useProgram("hillshade");context.activeTexture.set(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,fbo.colorAttachment.get());var uniformValues=hillshadeUniformValues(painter,tile,layer);program.draw(context,gl.TRIANGLES,depthMode,stencilMode,colorMode,CullFaceMode.disabled,uniformValues,layer.id,painter.rasterBoundsBuffer,painter.quadTriangleIndexBuffer,painter.rasterBoundsSegments)}function prepareHillshade(painter,tile,layer,sourceMaxZoom,depthMode,stencilMode,colorMode){var context=painter.context;var gl=context.gl;var dem=tile.dem;if(dem&&dem.data){var tileSize=dem.dim;var textureStride=dem.stride;var pixelData=dem.getPixels();context.activeTexture.set(gl.TEXTURE1);context.pixelStoreUnpackPremultiplyAlpha.set(false);tile.demTexture=tile.demTexture||painter.getTileTexture(textureStride);if(tile.demTexture){var demTexture=tile.demTexture;demTexture.update(pixelData,{premultiply:false});demTexture.bind(gl.NEAREST,gl.CLAMP_TO_EDGE)}else{tile.demTexture=new performance.Texture(context,pixelData,gl.RGBA,{premultiply:false});tile.demTexture.bind(gl.NEAREST,gl.CLAMP_TO_EDGE)}context.activeTexture.set(gl.TEXTURE0);var fbo=tile.fbo;if(!fbo){var renderTexture=new performance.Texture(context,{width:tileSize,height:tileSize,data:null},gl.RGBA);renderTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE);fbo=tile.fbo=context.createFramebuffer(tileSize,tileSize,true);fbo.colorAttachment.set(renderTexture.texture)}context.bindFramebuffer.set(fbo.framebuffer);context.viewport.set([0,0,tileSize,tileSize]);painter.useProgram("hillshadePrepare").draw(context,gl.TRIANGLES,depthMode,stencilMode,colorMode,CullFaceMode.disabled,hillshadeUniformPrepareValues(tile.tileID,dem,sourceMaxZoom),layer.id,painter.rasterBoundsBuffer,painter.quadTriangleIndexBuffer,painter.rasterBoundsSegments);tile.needsHillshadePrepare=false}}function drawRaster(painter,sourceCache,layer,tileIDs){if(painter.renderPass!=="translucent"){return}if(layer.paint.get("raster-opacity")===0){return}if(!tileIDs.length){return}var context=painter.context;var gl=context.gl;var source=sourceCache.getSource();var program=painter.useProgram("raster");var colorMode=painter.colorModeForRenderPass();var ref=source instanceof ImageSource?[{},tileIDs]:painter.stencilConfigForOverlap(tileIDs);var stencilModes=ref[0];var coords=ref[1];var minTileZ=coords[coords.length-1].overscaledZ;var align=!painter.options.moving;for(var i=0,list=coords;i<list.length;i+=1){var coord=list[i];var depthMode=painter.depthModeForSublayer(coord.overscaledZ-minTileZ,layer.paint.get("raster-opacity")===1?DepthMode.ReadWrite:DepthMode.ReadOnly,gl.LESS);var tile=sourceCache.getTile(coord);var posMatrix=painter.transform.calculatePosMatrix(coord.toUnwrapped(),align);tile.registerFadeDuration(layer.paint.get("raster-fade-duration"));var parentTile=sourceCache.findLoadedParent(coord,0),fade=getFadeValues(tile,parentTile,sourceCache,layer,painter.transform);var parentScaleBy=void 0,parentTL=void 0;var textureFilter=layer.paint.get("raster-resampling")==="nearest"?gl.NEAREST:gl.LINEAR;context.activeTexture.set(gl.TEXTURE0);tile.texture.bind(textureFilter,gl.CLAMP_TO_EDGE,gl.LINEAR_MIPMAP_NEAREST);context.activeTexture.set(gl.TEXTURE1);if(parentTile){parentTile.texture.bind(textureFilter,gl.CLAMP_TO_EDGE,gl.LINEAR_MIPMAP_NEAREST);parentScaleBy=Math.pow(2,parentTile.tileID.overscaledZ-tile.tileID.overscaledZ);parentTL=[tile.tileID.canonical.x*parentScaleBy%1,tile.tileID.canonical.y*parentScaleBy%1]}else{tile.texture.bind(textureFilter,gl.CLAMP_TO_EDGE,gl.LINEAR_MIPMAP_NEAREST)}var uniformValues=rasterUniformValues(posMatrix,parentTL||[0,0],parentScaleBy||1,fade,layer);if(source instanceof ImageSource){program.draw(context,gl.TRIANGLES,depthMode,StencilMode.disabled,colorMode,CullFaceMode.disabled,uniformValues,layer.id,source.boundsBuffer,painter.quadTriangleIndexBuffer,source.boundsSegments)}else{program.draw(context,gl.TRIANGLES,depthMode,stencilModes[coord.overscaledZ],colorMode,CullFaceMode.disabled,uniformValues,layer.id,painter.rasterBoundsBuffer,painter.quadTriangleIndexBuffer,painter.rasterBoundsSegments)}}}function getFadeValues(tile,parentTile,sourceCache,layer,transform){var fadeDuration=layer.paint.get("raster-fade-duration");if(fadeDuration>0){var now=performance.browser.now();var sinceTile=(now-tile.timeAdded)/fadeDuration;var sinceParent=parentTile?(now-parentTile.timeAdded)/fadeDuration:-1;var source=sourceCache.getSource();var idealZ=transform.coveringZoomLevel({tileSize:source.tileSize,roundZoom:source.roundZoom});var fadeIn=!parentTile||Math.abs(parentTile.tileID.overscaledZ-idealZ)>Math.abs(tile.tileID.overscaledZ-idealZ);var childOpacity=fadeIn&&tile.refreshedUponExpiration?1:performance.clamp(fadeIn?sinceTile:1-sinceParent,0,1);if(tile.refreshedUponExpiration&&sinceTile>=1){tile.refreshedUponExpiration=false}if(parentTile){return{opacity:1,mix:1-childOpacity}}else{return{opacity:childOpacity,mix:0}}}else{return{opacity:1,mix:0}}}function drawBackground(painter,sourceCache,layer){var color=layer.paint.get("background-color");var opacity=layer.paint.get("background-opacity");if(opacity===0){return}var context=painter.context;var gl=context.gl;var transform=painter.transform;var tileSize=transform.tileSize;var image=layer.paint.get("background-pattern");if(painter.isPatternMissing(image)){return}var pass=!image&&color.a===1&&opacity===1&&painter.opaquePassEnabledForLayer()?"opaque":"translucent";if(painter.renderPass!==pass){return}var stencilMode=StencilMode.disabled;var depthMode=painter.depthModeForSublayer(0,pass==="opaque"?DepthMode.ReadWrite:DepthMode.ReadOnly);var colorMode=painter.colorModeForRenderPass();var program=painter.useProgram(image?"backgroundPattern":"background");var tileIDs=transform.coveringTiles({tileSize:tileSize});if(image){context.activeTexture.set(gl.TEXTURE0);painter.imageManager.bind(painter.context)}var crossfade=layer.getCrossfadeParameters();for(var i=0,list=tileIDs;i<list.length;i+=1){var tileID=list[i];var matrix=painter.transform.calculatePosMatrix(tileID.toUnwrapped());var uniformValues=image?backgroundPatternUniformValues(matrix,opacity,painter,image,{tileID:tileID,tileSize:tileSize},crossfade):backgroundUniformValues(matrix,opacity,color);program.draw(context,gl.TRIANGLES,depthMode,stencilMode,colorMode,CullFaceMode.disabled,uniformValues,layer.id,painter.tileExtentBuffer,painter.quadTriangleIndexBuffer,painter.tileExtentSegments)}}var topColor=new performance.Color(1,0,0,1);var btmColor=new performance.Color(0,1,0,1);var leftColor=new performance.Color(0,0,1,1);var rightColor=new performance.Color(1,0,1,1);var centerColor=new performance.Color(0,1,1,1);function drawDebugPadding(painter){var padding=painter.transform.padding;var lineWidth=3;drawHorizontalLine(painter,painter.transform.height-(padding.top||0),lineWidth,topColor);drawHorizontalLine(painter,padding.bottom||0,lineWidth,btmColor);drawVerticalLine(painter,padding.left||0,lineWidth,leftColor);drawVerticalLine(painter,painter.transform.width-(padding.right||0),lineWidth,rightColor);var center=painter.transform.centerPoint;drawCrosshair(painter,center.x,painter.transform.height-center.y,centerColor)}function drawCrosshair(painter,x,y,color){var size=20;var lineWidth=2;drawDebugSSRect(painter,x-lineWidth/2,y-size/2,lineWidth,size,color);drawDebugSSRect(painter,x-size/2,y-lineWidth/2,size,lineWidth,color)}function drawHorizontalLine(painter,y,lineWidth,color){drawDebugSSRect(painter,0,y+lineWidth/2,painter.transform.width,lineWidth,color)}function drawVerticalLine(painter,x,lineWidth,color){drawDebugSSRect(painter,x-lineWidth/2,0,lineWidth,painter.transform.height,color)}function drawDebugSSRect(painter,x,y,width,height,color){var context=painter.context;var gl=context.gl;gl.enable(gl.SCISSOR_TEST);gl.scissor(x*performance.browser.devicePixelRatio,y*performance.browser.devicePixelRatio,width*performance.browser.devicePixelRatio,height*performance.browser.devicePixelRatio);context.clear({color:color});gl.disable(gl.SCISSOR_TEST)}function drawDebug(painter,sourceCache,coords){for(var i=0;i<coords.length;i++){drawDebugTile(painter,sourceCache,coords[i])}}function drawDebugTile(painter,sourceCache,coord){var context=painter.context;var gl=context.gl;var posMatrix=coord.posMatrix;var program=painter.useProgram("debug");var depthMode=DepthMode.disabled;var stencilMode=StencilMode.disabled;var colorMode=painter.colorModeForRenderPass();var id="$debug";context.activeTexture.set(gl.TEXTURE0);painter.emptyTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE);program.draw(context,gl.LINE_STRIP,depthMode,stencilMode,colorMode,CullFaceMode.disabled,debugUniformValues(posMatrix,performance.Color.red),id,painter.debugBuffer,painter.tileBorderIndexBuffer,painter.debugSegments);var tileRawData=sourceCache.getTileByID(coord.key).latestRawTileData;var tileByteLength=tileRawData&&tileRawData.byteLength||0;var tileSizeKb=Math.floor(tileByteLength/1024);var tileSize=sourceCache.getTile(coord).tileSize;var scaleRatio=512/Math.min(tileSize,512)*(coord.overscaledZ/painter.transform.zoom)*.5;var tileIdText=coord.canonical.toString();if(coord.overscaledZ!==coord.canonical.z){tileIdText+=" => "+coord.overscaledZ}var tileLabel=tileIdText+" "+tileSizeKb+"kb";drawTextToOverlay(painter,tileLabel);program.draw(context,gl.TRIANGLES,depthMode,stencilMode,ColorMode.alphaBlended,CullFaceMode.disabled,debugUniformValues(posMatrix,performance.Color.transparent,scaleRatio),id,painter.debugBuffer,painter.quadTriangleIndexBuffer,painter.debugSegments)}function drawTextToOverlay(painter,text){painter.initDebugOverlayCanvas();var canvas=painter.debugOverlayCanvas;var gl=painter.context.gl;var ctx2d=painter.debugOverlayCanvas.getContext("2d");ctx2d.clearRect(0,0,canvas.width,canvas.height);ctx2d.shadowColor="white";ctx2d.shadowBlur=2;ctx2d.lineWidth=1.5;ctx2d.strokeStyle="white";ctx2d.textBaseline="top";ctx2d.font="bold "+36+"px Open Sans, sans-serif";ctx2d.fillText(text,5,5);ctx2d.strokeText(text,5,5);painter.debugOverlayTexture.update(canvas);painter.debugOverlayTexture.bind(gl.LINEAR,gl.CLAMP_TO_EDGE)}function drawCustom(painter,sourceCache,layer){var context=painter.context;var implementation=layer.implementation;if(painter.renderPass==="offscreen"){var prerender=implementation.prerender;if(prerender){painter.setCustomLayerDefaults();context.setColorMode(painter.colorModeForRenderPass());prerender.call(implementation,context.gl,painter.transform.customLayerMatrix());context.setDirty();painter.setBaseState()}}else if(painter.renderPass==="translucent"){painter.setCustomLayerDefaults();context.setColorMode(painter.colorModeForRenderPass());context.setStencilMode(StencilMode.disabled);var depthMode=implementation.renderingMode==="3d"?new DepthMode(painter.context.gl.LEQUAL,DepthMode.ReadWrite,painter.depthRangeFor3D):painter.depthModeForSublayer(0,DepthMode.ReadOnly);context.setDepthMode(depthMode);implementation.render(context.gl,painter.transform.customLayerMatrix());context.setDirty();painter.setBaseState();context.bindFramebuffer.set(null)}}var draw$1={symbol:drawSymbols,circle:drawCircles,heatmap:drawHeatmap,line:drawLine,fill:drawFill,"fill-extrusion":draw,hillshade:drawHillshade,raster:drawRaster,background:drawBackground,debug:drawDebug,custom:drawCustom};var Painter=function Painter(gl,transform){this.context=new Context(gl);this.transform=transform;this._tileTextures={};this.setup();this.numSublayers=SourceCache.maxUnderzooming+SourceCache.maxOverzooming+1;this.depthEpsilon=1/Math.pow(2,16);this.crossTileSymbolIndex=new CrossTileSymbolIndex;this.gpuTimers={}};Painter.prototype.resize=function resize(width,height){this.width=width*performance.browser.devicePixelRatio;this.height=height*performance.browser.devicePixelRatio;this.context.viewport.set([0,0,this.width,this.height]);if(this.style){for(var i=0,list=this.style._order;i<list.length;i+=1){var layerId=list[i];this.style._layers[layerId].resize()}}};Painter.prototype.setup=function setup(){var context=this.context;var tileExtentArray=new performance.StructArrayLayout2i4;tileExtentArray.emplaceBack(0,0);tileExtentArray.emplaceBack(performance.EXTENT,0);tileExtentArray.emplaceBack(0,performance.EXTENT);tileExtentArray.emplaceBack(performance.EXTENT,performance.EXTENT);this.tileExtentBuffer=context.createVertexBuffer(tileExtentArray,posAttributes.members);this.tileExtentSegments=performance.SegmentVector.simpleSegment(0,0,4,2);var debugArray=new performance.StructArrayLayout2i4;debugArray.emplaceBack(0,0);debugArray.emplaceBack(performance.EXTENT,0);debugArray.emplaceBack(0,performance.EXTENT);debugArray.emplaceBack(performance.EXTENT,performance.EXTENT);this.debugBuffer=context.createVertexBuffer(debugArray,posAttributes.members);this.debugSegments=performance.SegmentVector.simpleSegment(0,0,4,5);var rasterBoundsArray=new performance.StructArrayLayout4i8;rasterBoundsArray.emplaceBack(0,0,0,0);rasterBoundsArray.emplaceBack(performance.EXTENT,0,performance.EXTENT,0);rasterBoundsArray.emplaceBack(0,performance.EXTENT,0,performance.EXTENT);rasterBoundsArray.emplaceBack(performance.EXTENT,performance.EXTENT,performance.EXTENT,performance.EXTENT);this.rasterBoundsBuffer=context.createVertexBuffer(rasterBoundsArray,rasterBoundsAttributes.members);this.rasterBoundsSegments=performance.SegmentVector.simpleSegment(0,0,4,2);var viewportArray=new performance.StructArrayLayout2i4;viewportArray.emplaceBack(0,0);viewportArray.emplaceBack(1,0);viewportArray.emplaceBack(0,1);viewportArray.emplaceBack(1,1);this.viewportBuffer=context.createVertexBuffer(viewportArray,posAttributes.members);this.viewportSegments=performance.SegmentVector.simpleSegment(0,0,4,2);var tileLineStripIndices=new performance.StructArrayLayout1ui2;tileLineStripIndices.emplaceBack(0);tileLineStripIndices.emplaceBack(1);tileLineStripIndices.emplaceBack(3);tileLineStripIndices.emplaceBack(2);tileLineStripIndices.emplaceBack(0);this.tileBorderIndexBuffer=context.createIndexBuffer(tileLineStripIndices);var quadTriangleIndices=new performance.StructArrayLayout3ui6;quadTriangleIndices.emplaceBack(0,1,2);quadTriangleIndices.emplaceBack(2,1,3);this.quadTriangleIndexBuffer=context.createIndexBuffer(quadTriangleIndices);this.emptyTexture=new performance.Texture(context,{width:1,height:1,data:new Uint8Array([0,0,0,0])},context.gl.RGBA);var gl=this.context.gl;this.stencilClearMode=new StencilMode({func:gl.ALWAYS,mask:0},0,255,gl.ZERO,gl.ZERO,gl.ZERO)};Painter.prototype.clearStencil=function clearStencil(){var context=this.context;var gl=context.gl;this.nextStencilID=1;this.currentStencilSource=undefined;var matrix=performance.create();performance.ortho(matrix,0,this.width,this.height,0,0,1);performance.scale(matrix,matrix,[gl.drawingBufferWidth,gl.drawingBufferHeight,0]);this.useProgram("clippingMask").draw(context,gl.TRIANGLES,DepthMode.disabled,this.stencilClearMode,ColorMode.disabled,CullFaceMode.disabled,clippingMaskUniformValues(matrix),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)};Painter.prototype._renderTileClippingMasks=function _renderTileClippingMasks(layer,tileIDs){if(this.currentStencilSource===layer.source||!layer.isTileClipped()||!tileIDs||!tileIDs.length){return}this.currentStencilSource=layer.source;var context=this.context;var gl=context.gl;if(this.nextStencilID+tileIDs.length>256){this.clearStencil()}context.setColorMode(ColorMode.disabled);context.setDepthMode(DepthMode.disabled);var program=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var i=0,list=tileIDs;i<list.length;i+=1){var tileID=list[i];var id=this._tileClippingMaskIDs[tileID.key]=this.nextStencilID++;program.draw(context,gl.TRIANGLES,DepthMode.disabled,new StencilMode({func:gl.ALWAYS,mask:0},id,255,gl.KEEP,gl.KEEP,gl.REPLACE),ColorMode.disabled,CullFaceMode.disabled,clippingMaskUniformValues(tileID.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}};Painter.prototype.stencilModeFor3D=function stencilModeFor3D(){this.currentStencilSource=undefined;if(this.nextStencilID+1>256){this.clearStencil()}var id=this.nextStencilID++;var gl=this.context.gl;return new StencilMode({func:gl.NOTEQUAL,mask:255},id,255,gl.KEEP,gl.KEEP,gl.REPLACE)};Painter.prototype.stencilModeForClipping=function stencilModeForClipping(tileID){var gl=this.context.gl;return new StencilMode({func:gl.EQUAL,mask:255},this._tileClippingMaskIDs[tileID.key],0,gl.KEEP,gl.KEEP,gl.REPLACE)};Painter.prototype.stencilConfigForOverlap=function stencilConfigForOverlap(tileIDs){var obj;var gl=this.context.gl;var coords=tileIDs.sort((function(a,b){return b.overscaledZ-a.overscaledZ}));var minTileZ=coords[coords.length-1].overscaledZ;var stencilValues=coords[0].overscaledZ-minTileZ+1;if(stencilValues>1){this.currentStencilSource=undefined;if(this.nextStencilID+stencilValues>256){this.clearStencil()}var zToStencilMode={};for(var i=0;i<stencilValues;i++){zToStencilMode[i+minTileZ]=new StencilMode({func:gl.GEQUAL,mask:255},i+this.nextStencilID,255,gl.KEEP,gl.KEEP,gl.REPLACE)}this.nextStencilID+=stencilValues;return[zToStencilMode,coords]}return[(obj={},obj[minTileZ]=StencilMode.disabled,obj),coords]};Painter.prototype.colorModeForRenderPass=function colorModeForRenderPass(){var gl=this.context.gl;if(this._showOverdrawInspector){var numOverdrawSteps=8;var a=1/numOverdrawSteps;return new ColorMode([gl.CONSTANT_COLOR,gl.ONE],new performance.Color(a,a,a,0),[true,true,true,true])}else if(this.renderPass==="opaque"){return ColorMode.unblended}else{return ColorMode.alphaBlended}};Painter.prototype.depthModeForSublayer=function depthModeForSublayer(n,mask,func){if(!this.opaquePassEnabledForLayer()){return DepthMode.disabled}var depth=1-((1+this.currentLayer)*this.numSublayers+n)*this.depthEpsilon;return new DepthMode(func||this.context.gl.LEQUAL,mask,[depth,depth])};Painter.prototype.opaquePassEnabledForLayer=function opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff};Painter.prototype.render=function render(style,options){var this$1=this;this.style=style;this.options=options;this.lineAtlas=style.lineAtlas;this.imageManager=style.imageManager;this.glyphManager=style.glyphManager;this.symbolFadeChange=style.placement.symbolFadeChange(performance.browser.now());this.imageManager.beginFrame();var layerIds=this.style._order;var sourceCaches=this.style.sourceCaches;for(var id in sourceCaches){var sourceCache=sourceCaches[id];if(sourceCache.used){sourceCache.prepare(this.context)}}var coordsAscending={};var coordsDescending={};var coordsDescendingSymbol={};for(var id$1 in sourceCaches){var sourceCache$1=sourceCaches[id$1];coordsAscending[id$1]=sourceCache$1.getVisibleCoordinates();coordsDescending[id$1]=coordsAscending[id$1].slice().reverse();coordsDescendingSymbol[id$1]=sourceCache$1.getVisibleCoordinates(true).reverse()}this.opaquePassCutoff=Infinity;for(var i=0;i<layerIds.length;i++){var layerId=layerIds[i];if(this.style._layers[layerId].is3D()){this.opaquePassCutoff=i;break}}this.renderPass="offscreen";for(var i$1=0,list=layerIds;i$1<list.length;i$1+=1){var layerId$1=list[i$1];var layer=this.style._layers[layerId$1];if(!layer.hasOffscreenPass()||layer.isHidden(this.transform.zoom)){continue}var coords=coordsDescending[layer.source];if(layer.type!=="custom"&&!coords.length){continue}this.renderLayer(this,sourceCaches[layer.source],layer,coords)}this.context.bindFramebuffer.set(null);this.context.clear({color:options.showOverdrawInspector?performance.Color.black:performance.Color.transparent,depth:1});this.clearStencil();this._showOverdrawInspector=options.showOverdrawInspector;this.depthRangeFor3D=[0,1-(style._order.length+2)*this.numSublayers*this.depthEpsilon];this.renderPass="opaque";for(this.currentLayer=layerIds.length-1;this.currentLayer>=0;this.currentLayer--){var layer$1=this.style._layers[layerIds[this.currentLayer]];var sourceCache$2=sourceCaches[layer$1.source];var coords$1=coordsAscending[layer$1.source];this._renderTileClippingMasks(layer$1,coords$1);this.renderLayer(this,sourceCache$2,layer$1,coords$1)}this.renderPass="translucent";for(this.currentLayer=0;this.currentLayer<layerIds.length;this.currentLayer++){var layer$2=this.style._layers[layerIds[this.currentLayer]];var sourceCache$3=sourceCaches[layer$2.source];var coords$2=(layer$2.type==="symbol"?coordsDescendingSymbol:coordsDescending)[layer$2.source];this._renderTileClippingMasks(layer$2,coordsAscending[layer$2.source]);this.renderLayer(this,sourceCache$3,layer$2,coords$2)}if(this.options.showTileBoundaries){var selectedSource;var sourceCache$4;var layers=performance.values(this.style._layers);layers.forEach((function(layer){if(layer.source&&!layer.isHidden(this$1.transform.zoom)){if(layer.source!==(sourceCache$4&&sourceCache$4.id)){sourceCache$4=this$1.style.sourceCaches[layer.source]}if(!selectedSource||selectedSource.getSource().maxzoom<sourceCache$4.getSource().maxzoom){selectedSource=sourceCache$4}}}));if(selectedSource){draw$1.debug(this,selectedSource,selectedSource.getVisibleCoordinates())}}if(this.options.showPadding){drawDebugPadding(this)}this.context.setDefault()};Painter.prototype.renderLayer=function renderLayer(painter,sourceCache,layer,coords){if(layer.isHidden(this.transform.zoom)){return}if(layer.type!=="background"&&layer.type!=="custom"&&!coords.length){return}this.id=layer.id;this.gpuTimingStart(layer);draw$1[layer.type](painter,sourceCache,layer,coords,this.style.placement.variableOffsets);this.gpuTimingEnd()};Painter.prototype.gpuTimingStart=function gpuTimingStart(layer){if(!this.options.gpuTiming){return}var ext=this.context.extTimerQuery;var layerTimer=this.gpuTimers[layer.id];if(!layerTimer){layerTimer=this.gpuTimers[layer.id]={calls:0,cpuTime:0,query:ext.createQueryEXT()}}layerTimer.calls++;ext.beginQueryEXT(ext.TIME_ELAPSED_EXT,layerTimer.query)};Painter.prototype.gpuTimingEnd=function gpuTimingEnd(){if(!this.options.gpuTiming){return}var ext=this.context.extTimerQuery;ext.endQueryEXT(ext.TIME_ELAPSED_EXT)};Painter.prototype.collectGpuTimers=function collectGpuTimers(){var currentLayerTimers=this.gpuTimers;this.gpuTimers={};return currentLayerTimers};Painter.prototype.queryGpuTimers=function queryGpuTimers(gpuTimers){var layers={};for(var layerId in gpuTimers){var gpuTimer=gpuTimers[layerId];var ext=this.context.extTimerQuery;var gpuTime=ext.getQueryObjectEXT(gpuTimer.query,ext.QUERY_RESULT_EXT)/(1e3*1e3);ext.deleteQueryEXT(gpuTimer.query);layers[layerId]=gpuTime}return layers};Painter.prototype.translatePosMatrix=function translatePosMatrix(matrix,tile,translate,translateAnchor,inViewportPixelUnitsUnits){if(!translate[0]&&!translate[1]){return matrix}var angle=inViewportPixelUnitsUnits?translateAnchor==="map"?this.transform.angle:0:translateAnchor==="viewport"?-this.transform.angle:0;if(angle){var sinA=Math.sin(angle);var cosA=Math.cos(angle);translate=[translate[0]*cosA-translate[1]*sinA,translate[0]*sinA+translate[1]*cosA]}var translation=[inViewportPixelUnitsUnits?translate[0]:pixelsToTileUnits(tile,translate[0],this.transform.zoom),inViewportPixelUnitsUnits?translate[1]:pixelsToTileUnits(tile,translate[1],this.transform.zoom),0];var translatedMatrix=new Float32Array(16);performance.translate(translatedMatrix,matrix,translation);return translatedMatrix};Painter.prototype.saveTileTexture=function saveTileTexture(texture){var textures=this._tileTextures[texture.size[0]];if(!textures){this._tileTextures[texture.size[0]]=[texture]}else{textures.push(texture)}};Painter.prototype.getTileTexture=function getTileTexture(size){var textures=this._tileTextures[size];return textures&&textures.length>0?textures.pop():null};Painter.prototype.isPatternMissing=function isPatternMissing(image){if(!image){return false}if(!image.from||!image.to){return true}var imagePosA=this.imageManager.getPattern(image.from.toString());var imagePosB=this.imageManager.getPattern(image.to.toString());return!imagePosA||!imagePosB};Painter.prototype.useProgram=function useProgram(name,programConfiguration){this.cache=this.cache||{};var key=""+name+(programConfiguration?programConfiguration.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");if(!this.cache[key]){this.cache[key]=new Program$1(this.context,shaders[name],programConfiguration,programUniforms[name],this._showOverdrawInspector)}return this.cache[key]};Painter.prototype.setCustomLayerDefaults=function setCustomLayerDefaults(){this.context.unbindVAO();this.context.cullFace.setDefault();this.context.activeTexture.setDefault();this.context.pixelStoreUnpack.setDefault();this.context.pixelStoreUnpackPremultiplyAlpha.setDefault();this.context.pixelStoreUnpackFlipY.setDefault()};Painter.prototype.setBaseState=function setBaseState(){var gl=this.context.gl;this.context.cullFace.set(false);this.context.viewport.set([0,0,this.width,this.height]);this.context.blendEquation.set(gl.FUNC_ADD)};Painter.prototype.initDebugOverlayCanvas=function initDebugOverlayCanvas(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=performance.window.document.createElement("canvas");this.debugOverlayCanvas.width=512;this.debugOverlayCanvas.height=512;var gl=this.context.gl;this.debugOverlayTexture=new performance.Texture(this.context,this.debugOverlayCanvas,gl.RGBA)}};Painter.prototype.destroy=function destroy(){this.emptyTexture.destroy();if(this.debugOverlayTexture){this.debugOverlayTexture.destroy()}};var Frustum=function Frustum(points_,planes_){this.points=points_;this.planes=planes_};Frustum.fromInvProjectionMatrix=function fromInvProjectionMatrix(invProj,worldSize,zoom){var clipSpaceCorners=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]];var scale=Math.pow(2,zoom);var frustumCoords=clipSpaceCorners.map((function(v){return performance.transformMat4([],v,invProj)})).map((function(v){return performance.scale$1([],v,1/v[3]/worldSize*scale)}));var frustumPlanePointIndices=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]];var frustumPlanes=frustumPlanePointIndices.map((function(p){var a=performance.sub([],frustumCoords[p[0]],frustumCoords[p[1]]);var b=performance.sub([],frustumCoords[p[2]],frustumCoords[p[1]]);var n=performance.normalize([],performance.cross([],a,b));var d=-performance.dot(n,frustumCoords[p[1]]);return n.concat(d)}));return new Frustum(frustumCoords,frustumPlanes)};var Aabb=function Aabb(min_,max_){this.min=min_;this.max=max_;this.center=performance.scale$2([],performance.add([],this.min,this.max),.5)};Aabb.prototype.quadrant=function quadrant(index){var split=[index%2===0,index<2];var qMin=performance.clone$2(this.min);var qMax=performance.clone$2(this.max);for(var axis=0;axis<split.length;axis++){qMin[axis]=split[axis]?this.min[axis]:this.center[axis];qMax[axis]=split[axis]?this.center[axis]:this.max[axis]}qMax[2]=this.max[2];return new Aabb(qMin,qMax)};Aabb.prototype.distanceX=function distanceX(point){var pointOnAabb=Math.max(Math.min(this.max[0],point[0]),this.min[0]);return pointOnAabb-point[0]};Aabb.prototype.distanceY=function distanceY(point){var pointOnAabb=Math.max(Math.min(this.max[1],point[1]),this.min[1]);return pointOnAabb-point[1]};Aabb.prototype.intersects=function intersects(frustum){var aabbPoints=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]];var fullyInside=true;for(var p=0;p<frustum.planes.length;p++){var plane=frustum.planes[p];var pointsInside=0;for(var i=0;i<aabbPoints.length;i++){pointsInside+=performance.dot$1(plane,aabbPoints[i])>=0}if(pointsInside===0){return 0}if(pointsInside!==aabbPoints.length){fullyInside=false}}if(fullyInside){return 2}for(var axis=0;axis<3;axis++){var projMin=Number.MAX_VALUE;var projMax=-Number.MAX_VALUE;for(var p$1=0;p$1<frustum.points.length;p$1++){var projectedPoint=frustum.points[p$1][axis]-this.min[axis];projMin=Math.min(projMin,projectedPoint);projMax=Math.max(projMax,projectedPoint)}if(projMax<0||projMin>this.max[axis]-this.min[axis]){return 0}}return 1};var EdgeInsets=function EdgeInsets(top,bottom,left,right){if(top===void 0)top=0;if(bottom===void 0)bottom=0;if(left===void 0)left=0;if(right===void 0)right=0;if(isNaN(top)||top<0||isNaN(bottom)||bottom<0||isNaN(left)||left<0||isNaN(right)||right<0){throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers")}this.top=top;this.bottom=bottom;this.left=left;this.right=right};EdgeInsets.prototype.interpolate=function interpolate(start,target,t){if(target.top!=null&&start.top!=null){this.top=performance.number(start.top,target.top,t)}if(target.bottom!=null&&start.bottom!=null){this.bottom=performance.number(start.bottom,target.bottom,t)}if(target.left!=null&&start.left!=null){this.left=performance.number(start.left,target.left,t)}if(target.right!=null&&start.right!=null){this.right=performance.number(start.right,target.right,t)}return this};EdgeInsets.prototype.getCenter=function getCenter(width,height){var x=performance.clamp((this.left+width-this.right)/2,0,width);var y=performance.clamp((this.top+height-this.bottom)/2,0,height);return new performance.Point(x,y)};EdgeInsets.prototype.equals=function equals(other){return this.top===other.top&&this.bottom===other.bottom&&this.left===other.left&&this.right===other.right};EdgeInsets.prototype.clone=function clone(){return new EdgeInsets(this.top,this.bottom,this.left,this.right)};EdgeInsets.prototype.toJSON=function toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Transform=function Transform(minZoom,maxZoom,minPitch,maxPitch,renderWorldCopies){this.tileSize=512;this.maxValidLatitude=85.051129;this._renderWorldCopies=renderWorldCopies===undefined?true:renderWorldCopies;this._minZoom=minZoom||0;this._maxZoom=maxZoom||22;this._minPitch=minPitch===undefined||minPitch===null?0:minPitch;this._maxPitch=maxPitch===undefined||maxPitch===null?60:maxPitch;this.setMaxBounds();this.width=0;this.height=0;this._center=new performance.LngLat(0,0);this.zoom=0;this.angle=0;this._fov=.6435011087932844;this._pitch=0;this._unmodified=true;this._edgeInsets=new EdgeInsets;this._posMatrixCache={};this._alignedPosMatrixCache={}};var prototypeAccessors={minZoom:{configurable:true},maxZoom:{configurable:true},minPitch:{configurable:true},maxPitch:{configurable:true},renderWorldCopies:{configurable:true},worldSize:{configurable:true},centerOffset:{configurable:true},size:{configurable:true},bearing:{configurable:true},pitch:{configurable:true},fov:{configurable:true},zoom:{configurable:true},center:{configurable:true},padding:{configurable:true},centerPoint:{configurable:true},unmodified:{configurable:true},point:{configurable:true}};Transform.prototype.clone=function clone(){var clone=new Transform(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);clone.tileSize=this.tileSize;clone.latRange=this.latRange;clone.width=this.width;clone.height=this.height;clone._center=this._center;clone.zoom=this.zoom;clone.angle=this.angle;clone._fov=this._fov;clone._pitch=this._pitch;clone._unmodified=this._unmodified;clone._edgeInsets=this._edgeInsets.clone();clone._calcMatrices();return clone};prototypeAccessors.minZoom.get=function(){return this._minZoom};prototypeAccessors.minZoom.set=function(zoom){if(this._minZoom===zoom){return}this._minZoom=zoom;this.zoom=Math.max(this.zoom,zoom)};prototypeAccessors.maxZoom.get=function(){return this._maxZoom};prototypeAccessors.maxZoom.set=function(zoom){if(this._maxZoom===zoom){return}this._maxZoom=zoom;this.zoom=Math.min(this.zoom,zoom)};prototypeAccessors.minPitch.get=function(){return this._minPitch};prototypeAccessors.minPitch.set=function(pitch){if(this._minPitch===pitch){return}this._minPitch=pitch;this.pitch=Math.max(this.pitch,pitch)};prototypeAccessors.maxPitch.get=function(){return this._maxPitch};prototypeAccessors.maxPitch.set=function(pitch){if(this._maxPitch===pitch){return}this._maxPitch=pitch;this.pitch=Math.min(this.pitch,pitch)};prototypeAccessors.renderWorldCopies.get=function(){return this._renderWorldCopies};prototypeAccessors.renderWorldCopies.set=function(renderWorldCopies){if(renderWorldCopies===undefined){renderWorldCopies=true}else if(renderWorldCopies===null){renderWorldCopies=false}this._renderWorldCopies=renderWorldCopies};prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale};prototypeAccessors.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))};prototypeAccessors.size.get=function(){return new performance.Point(this.width,this.height)};prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180};prototypeAccessors.bearing.set=function(bearing){var b=-performance.wrap(bearing,-180,180)*Math.PI/180;if(this.angle===b){return}this._unmodified=false;this.angle=b;this._calcMatrices();this.rotationMatrix=performance.create$2();performance.rotate(this.rotationMatrix,this.rotationMatrix,this.angle)};prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180};prototypeAccessors.pitch.set=function(pitch){var p=performance.clamp(pitch,this.minPitch,this.maxPitch)/180*Math.PI;if(this._pitch===p){return}this._unmodified=false;this._pitch=p;this._calcMatrices()};prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180};prototypeAccessors.fov.set=function(fov){fov=Math.max(.01,Math.min(60,fov));if(this._fov===fov){return}this._unmodified=false;this._fov=fov/180*Math.PI;this._calcMatrices()};prototypeAccessors.zoom.get=function(){return this._zoom};prototypeAccessors.zoom.set=function(zoom){var z=Math.min(Math.max(zoom,this.minZoom),this.maxZoom);if(this._zoom===z){return}this._unmodified=false;this._zoom=z;this.scale=this.zoomScale(z);this.tileZoom=Math.floor(z);this.zoomFraction=z-this.tileZoom;this._constrain();this._calcMatrices()};prototypeAccessors.center.get=function(){return this._center};prototypeAccessors.center.set=function(center){if(center.lat===this._center.lat&&center.lng===this._center.lng){return}this._unmodified=false;this._center=center;this._constrain();this._calcMatrices()};prototypeAccessors.padding.get=function(){return this._edgeInsets.toJSON()};prototypeAccessors.padding.set=function(padding){if(this._edgeInsets.equals(padding)){return}this._unmodified=false;this._edgeInsets.interpolate(this._edgeInsets,padding,1);this._calcMatrices()};prototypeAccessors.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)};Transform.prototype.isPaddingEqual=function isPaddingEqual(padding){return this._edgeInsets.equals(padding)};Transform.prototype.interpolatePadding=function interpolatePadding(start,target,t){this._unmodified=false;this._edgeInsets.interpolate(start,target,t);this._constrain();this._calcMatrices()};Transform.prototype.coveringZoomLevel=function coveringZoomLevel(options){var z=(options.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/options.tileSize));return Math.max(0,z)};Transform.prototype.getVisibleUnwrappedCoordinates=function getVisibleUnwrappedCoordinates(tileID){var result=[new performance.UnwrappedTileID(0,tileID)];if(this._renderWorldCopies){var utl=this.pointCoordinate(new performance.Point(0,0));var utr=this.pointCoordinate(new performance.Point(this.width,0));var ubl=this.pointCoordinate(new performance.Point(this.width,this.height));var ubr=this.pointCoordinate(new performance.Point(0,this.height));var w0=Math.floor(Math.min(utl.x,utr.x,ubl.x,ubr.x));var w1=Math.floor(Math.max(utl.x,utr.x,ubl.x,ubr.x));var extraWorldCopy=1;for(var w=w0-extraWorldCopy;w<=w1+extraWorldCopy;w++){if(w===0){continue}result.push(new performance.UnwrappedTileID(w,tileID))}}return result};Transform.prototype.coveringTiles=function coveringTiles(options){var z=this.coveringZoomLevel(options);var actualZ=z;if(options.minzoom!==undefined&&z<options.minzoom){return[]}if(options.maxzoom!==undefined&&z>options.maxzoom){z=options.maxzoom}var centerCoord=performance.MercatorCoordinate.fromLngLat(this.center);var numTiles=Math.pow(2,z);var centerPoint=[numTiles*centerCoord.x,numTiles*centerCoord.y,0];var cameraFrustum=Frustum.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,z);var minZoom=options.minzoom||0;if(this.pitch<=60&&this._edgeInsets.top<.1){minZoom=z}var radiusOfMaxLvlLodInTiles=3;var newRootTile=function(wrap){return{aabb:new Aabb([wrap*numTiles,0,0],[(wrap+1)*numTiles,numTiles,0]),zoom:0,x:0,y:0,wrap:wrap,fullyVisible:false}};var stack=[];var result=[];var maxZoom=z;var overscaledZ=options.reparseOverscaled?actualZ:z;if(this._renderWorldCopies){for(var i=1;i<=3;i++){stack.push(newRootTile(-i));stack.push(newRootTile(i))}}stack.push(newRootTile(0));while(stack.length>0){var it=stack.pop();var x=it.x;var y=it.y;var fullyVisible=it.fullyVisible;if(!fullyVisible){var intersectResult=it.aabb.intersects(cameraFrustum);if(intersectResult===0){continue}fullyVisible=intersectResult===2}var distanceX=it.aabb.distanceX(centerPoint);var distanceY=it.aabb.distanceY(centerPoint);var longestDim=Math.max(Math.abs(distanceX),Math.abs(distanceY));var distToSplit=radiusOfMaxLvlLodInTiles+(1<<maxZoom-it.zoom)-2;if(it.zoom===maxZoom||longestDim>distToSplit&&it.zoom>=minZoom){result.push({tileID:new performance.OverscaledTileID(it.zoom===maxZoom?overscaledZ:it.zoom,it.wrap,it.zoom,x,y),distanceSq:performance.sqrLen([centerPoint[0]-.5-x,centerPoint[1]-.5-y])});continue}for(var i$1=0;i$1<4;i$1++){var childX=(x<<1)+i$1%2;var childY=(y<<1)+(i$1>>1);stack.push({aabb:it.aabb.quadrant(i$1),zoom:it.zoom+1,x:childX,y:childY,wrap:it.wrap,fullyVisible:fullyVisible})}}return result.sort((function(a,b){return a.distanceSq-b.distanceSq})).map((function(a){return a.tileID}))};Transform.prototype.resize=function resize(width,height){this.width=width;this.height=height;this.pixelsToGLUnits=[2/width,-2/height];this._constrain();this._calcMatrices()};prototypeAccessors.unmodified.get=function(){return this._unmodified};Transform.prototype.zoomScale=function zoomScale(zoom){return Math.pow(2,zoom)};Transform.prototype.scaleZoom=function scaleZoom(scale){return Math.log(scale)/Math.LN2};Transform.prototype.project=function project(lnglat){var lat=performance.clamp(lnglat.lat,-this.maxValidLatitude,this.maxValidLatitude);return new performance.Point(performance.mercatorXfromLng(lnglat.lng)*this.worldSize,performance.mercatorYfromLat(lat)*this.worldSize)};Transform.prototype.unproject=function unproject(point){return new performance.MercatorCoordinate(point.x/this.worldSize,point.y/this.worldSize).toLngLat()};prototypeAccessors.point.get=function(){return this.project(this.center)};Transform.prototype.setLocationAtPoint=function setLocationAtPoint(lnglat,point){var a=this.pointCoordinate(point);var b=this.pointCoordinate(this.centerPoint);var loc=this.locationCoordinate(lnglat);var newCenter=new performance.MercatorCoordinate(loc.x-(a.x-b.x),loc.y-(a.y-b.y));this.center=this.coordinateLocation(newCenter);if(this._renderWorldCopies){this.center=this.center.wrap()}};Transform.prototype.locationPoint=function locationPoint(lnglat){return this.coordinatePoint(this.locationCoordinate(lnglat))};Transform.prototype.pointLocation=function pointLocation(p){return this.coordinateLocation(this.pointCoordinate(p))};Transform.prototype.locationCoordinate=function locationCoordinate(lnglat){return performance.MercatorCoordinate.fromLngLat(lnglat)};Transform.prototype.coordinateLocation=function coordinateLocation(coord){return coord.toLngLat()};Transform.prototype.pointCoordinate=function pointCoordinate(p){var targetZ=0;var coord0=[p.x,p.y,0,1];var coord1=[p.x,p.y,1,1];performance.transformMat4(coord0,coord0,this.pixelMatrixInverse);performance.transformMat4(coord1,coord1,this.pixelMatrixInverse);var w0=coord0[3];var w1=coord1[3];var x0=coord0[0]/w0;var x1=coord1[0]/w1;var y0=coord0[1]/w0;var y1=coord1[1]/w1;var z0=coord0[2]/w0;var z1=coord1[2]/w1;var t=z0===z1?0:(targetZ-z0)/(z1-z0);return new performance.MercatorCoordinate(performance.number(x0,x1,t)/this.worldSize,performance.number(y0,y1,t)/this.worldSize)};Transform.prototype.coordinatePoint=function coordinatePoint(coord){var p=[coord.x*this.worldSize,coord.y*this.worldSize,0,1];performance.transformMat4(p,p,this.pixelMatrix);return new performance.Point(p[0]/p[3],p[1]/p[3])};Transform.prototype.getBounds=function getBounds(){return(new performance.LngLatBounds).extend(this.pointLocation(new performance.Point(0,0))).extend(this.pointLocation(new performance.Point(this.width,0))).extend(this.pointLocation(new performance.Point(this.width,this.height))).extend(this.pointLocation(new performance.Point(0,this.height)))};Transform.prototype.getMaxBounds=function getMaxBounds(){if(!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2){return null}return new performance.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])};Transform.prototype.setMaxBounds=function setMaxBounds(bounds){if(bounds){this.lngRange=[bounds.getWest(),bounds.getEast()];this.latRange=[bounds.getSouth(),bounds.getNorth()];this._constrain()}else{this.lngRange=null;this.latRange=[-this.maxValidLatitude,this.maxValidLatitude]}};Transform.prototype.calculatePosMatrix=function calculatePosMatrix(unwrappedTileID,aligned){if(aligned===void 0)aligned=false;var posMatrixKey=unwrappedTileID.key;var cache=aligned?this._alignedPosMatrixCache:this._posMatrixCache;if(cache[posMatrixKey]){return cache[posMatrixKey]}var canonical=unwrappedTileID.canonical;var scale=this.worldSize/this.zoomScale(canonical.z);var unwrappedX=canonical.x+Math.pow(2,canonical.z)*unwrappedTileID.wrap;var posMatrix=performance.identity(new Float64Array(16));performance.translate(posMatrix,posMatrix,[unwrappedX*scale,canonical.y*scale,0]);performance.scale(posMatrix,posMatrix,[scale/performance.EXTENT,scale/performance.EXTENT,1]);performance.multiply(posMatrix,aligned?this.alignedProjMatrix:this.projMatrix,posMatrix);cache[posMatrixKey]=new Float32Array(posMatrix);return cache[posMatrixKey]};Transform.prototype.customLayerMatrix=function customLayerMatrix(){return this.mercatorMatrix.slice()};Transform.prototype._constrain=function _constrain(){if(!this.center||!this.width||!this.height||this._constraining){return}this._constraining=true;var minY=-90;var maxY=90;var minX=-180;var maxX=180;var sy,sx,x2,y2;var size=this.size,unmodified=this._unmodified;if(this.latRange){var latRange=this.latRange;minY=performance.mercatorYfromLat(latRange[1])*this.worldSize;maxY=performance.mercatorYfromLat(latRange[0])*this.worldSize;sy=maxY-minY<size.y?size.y/(maxY-minY):0}if(this.lngRange){var lngRange=this.lngRange;minX=performance.mercatorXfromLng(lngRange[0])*this.worldSize;maxX=performance.mercatorXfromLng(lngRange[1])*this.worldSize;sx=maxX-minX<size.x?size.x/(maxX-minX):0}var point=this.point;var s=Math.max(sx||0,sy||0);if(s){this.center=this.unproject(new performance.Point(sx?(maxX+minX)/2:point.x,sy?(maxY+minY)/2:point.y));this.zoom+=this.scaleZoom(s);this._unmodified=unmodified;this._constraining=false;return}if(this.latRange){var y=point.y,h2=size.y/2;if(y-h2<minY){y2=minY+h2}if(y+h2>maxY){y2=maxY-h2}}if(this.lngRange){var x=point.x,w2=size.x/2;if(x-w2<minX){x2=minX+w2}if(x+w2>maxX){x2=maxX-w2}}if(x2!==undefined||y2!==undefined){this.center=this.unproject(new performance.Point(x2!==undefined?x2:point.x,y2!==undefined?y2:point.y))}this._unmodified=unmodified;this._constraining=false};Transform.prototype._calcMatrices=function _calcMatrices(){if(!this.height){return}var halfFov=this._fov/2;var offset=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(halfFov)*this.height;var groundAngle=Math.PI/2+this._pitch;var fovAboveCenter=this._fov*(.5+offset.y/this.height);var topHalfSurfaceDistance=Math.sin(fovAboveCenter)*this.cameraToCenterDistance/Math.sin(performance.clamp(Math.PI-groundAngle-fovAboveCenter,.01,Math.PI-.01));var point=this.point;var x=point.x,y=point.y;var furthestDistance=Math.cos(Math.PI/2-this._pitch)*topHalfSurfaceDistance+this.cameraToCenterDistance;var farZ=furthestDistance*1.01;var nearZ=this.height/50;var m=new Float64Array(16);performance.perspective(m,this._fov,this.width/this.height,nearZ,farZ);m[8]=-offset.x*2/this.width;m[9]=offset.y*2/this.height;performance.scale(m,m,[1,-1,1]);performance.translate(m,m,[0,0,-this.cameraToCenterDistance]);performance.rotateX(m,m,this._pitch);performance.rotateZ(m,m,this.angle);performance.translate(m,m,[-x,-y,0]);this.mercatorMatrix=performance.scale([],m,[this.worldSize,this.worldSize,this.worldSize]);performance.scale(m,m,[1,1,performance.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]);this.projMatrix=m;this.invProjMatrix=performance.invert([],this.projMatrix);var xShift=this.width%2/2,yShift=this.height%2/2,angleCos=Math.cos(this.angle),angleSin=Math.sin(this.angle),dx=x-Math.round(x)+angleCos*xShift+angleSin*yShift,dy=y-Math.round(y)+angleCos*yShift+angleSin*xShift;var alignedM=new Float64Array(m);performance.translate(alignedM,alignedM,[dx>.5?dx-1:dx,dy>.5?dy-1:dy,0]);this.alignedProjMatrix=alignedM;m=performance.create();performance.scale(m,m,[this.width/2,-this.height/2,1]);performance.translate(m,m,[1,-1,0]);this.labelPlaneMatrix=m;m=performance.create();performance.scale(m,m,[1,-1,1]);performance.translate(m,m,[-1,-1,0]);performance.scale(m,m,[2/this.width,2/this.height,1]);this.glCoordMatrix=m;this.pixelMatrix=performance.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix);m=performance.invert(new Float64Array(16),this.pixelMatrix);if(!m){throw new Error("failed to invert matrix")}this.pixelMatrixInverse=m;this._posMatrixCache={};this._alignedPosMatrixCache={}};Transform.prototype.maxPitchScaleFactor=function maxPitchScaleFactor(){if(!this.pixelMatrixInverse){return 1}var coord=this.pointCoordinate(new performance.Point(0,0));var p=[coord.x*this.worldSize,coord.y*this.worldSize,0,1];var topPoint=performance.transformMat4(p,p,this.pixelMatrix);return topPoint[3]/this.cameraToCenterDistance};Transform.prototype.getCameraPoint=function getCameraPoint(){var pitch=this._pitch;var yOffset=Math.tan(pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new performance.Point(0,yOffset))};Transform.prototype.getCameraQueryGeometry=function getCameraQueryGeometry(queryGeometry){var c=this.getCameraPoint();if(queryGeometry.length===1){return[queryGeometry[0],c]}else{var minX=c.x;var minY=c.y;var maxX=c.x;var maxY=c.y;for(var i=0,list=queryGeometry;i<list.length;i+=1){var p=list[i];minX=Math.min(minX,p.x);minY=Math.min(minY,p.y);maxX=Math.max(maxX,p.x);maxY=Math.max(maxY,p.y)}return[new performance.Point(minX,minY),new performance.Point(maxX,minY),new performance.Point(maxX,maxY),new performance.Point(minX,maxY),new performance.Point(minX,minY)]}};Object.defineProperties(Transform.prototype,prototypeAccessors);function throttle(fn,time){var pending=false;var timerId=null;var later=function(){timerId=null;if(pending){fn();timerId=setTimeout(later,time);pending=false}};return function(){pending=true;if(!timerId){later()}return timerId}}var Hash=function Hash(hashName){this._hashName=hashName&&encodeURIComponent(hashName);performance.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this);this._updateHash=throttle(this._updateHashUnthrottled.bind(this),30*1e3/100)};Hash.prototype.addTo=function addTo(map){this._map=map;performance.window.addEventListener("hashchange",this._onHashChange,false);this._map.on("moveend",this._updateHash);return this};Hash.prototype.remove=function remove(){performance.window.removeEventListener("hashchange",this._onHashChange,false);this._map.off("moveend",this._updateHash);clearTimeout(this._updateHash());delete this._map;return this};Hash.prototype.getHashString=function getHashString(mapFeedback){var center=this._map.getCenter(),zoom=Math.round(this._map.getZoom()*100)/100,precision=Math.ceil((zoom*Math.LN2+Math.log(512/360/.5))/Math.LN10),m=Math.pow(10,precision),lng=Math.round(center.lng*m)/m,lat=Math.round(center.lat*m)/m,bearing=this._map.getBearing(),pitch=this._map.getPitch();var hash="";if(mapFeedback){hash+="/"+lng+"/"+lat+"/"+zoom}else{hash+=zoom+"/"+lat+"/"+lng}if(bearing||pitch){hash+="/"+Math.round(bearing*10)/10}if(pitch){hash+="/"+Math.round(pitch)}if(this._hashName){var hashName=this._hashName;var found=false;var parts=performance.window.location.hash.slice(1).split("&").map((function(part){var key=part.split("=")[0];if(key===hashName){found=true;return key+"="+hash}return part})).filter((function(a){return a}));if(!found){parts.push(hashName+"="+hash)}return"#"+parts.join("&")}return"#"+hash};Hash.prototype._getCurrentHash=function _getCurrentHash(){var this$1=this;var hash=performance.window.location.hash.replace("#","");if(this._hashName){var keyval;hash.split("&").map((function(part){return part.split("=")})).forEach((function(part){if(part[0]===this$1._hashName){keyval=part}}));return(keyval?keyval[1]||"":"").split("/")}return hash.split("/")};Hash.prototype._onHashChange=function _onHashChange(){var loc=this._getCurrentHash();if(loc.length>=3&&!loc.some((function(v){return isNaN(v)}))){var bearing=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(loc[3]||0):this._map.getBearing();this._map.jumpTo({center:[+loc[2],+loc[1]],zoom:+loc[0],bearing:bearing,pitch:+(loc[4]||0)});return true}return false};Hash.prototype._updateHashUnthrottled=function _updateHashUnthrottled(){var hash=this.getHashString();try{performance.window.history.replaceState(performance.window.history.state,"",hash)}catch(SecurityError){}};var defaultInertiaOptions={linearity:.3,easing:performance.bezier(0,0,.3,1)};var defaultPanInertiaOptions=performance.extend({deceleration:2500,maxSpeed:1400},defaultInertiaOptions);var defaultZoomInertiaOptions=performance.extend({deceleration:20,maxSpeed:1400},defaultInertiaOptions);var defaultBearingInertiaOptions=performance.extend({deceleration:1e3,maxSpeed:360},defaultInertiaOptions);var defaultPitchInertiaOptions=performance.extend({deceleration:1e3,maxSpeed:90},defaultInertiaOptions);var HandlerInertia=function HandlerInertia(map){this._map=map;this.clear()};HandlerInertia.prototype.clear=function clear(){this._inertiaBuffer=[]};HandlerInertia.prototype.record=function record(settings){this._drainInertiaBuffer();this._inertiaBuffer.push({time:performance.browser.now(),settings:settings})};HandlerInertia.prototype._drainInertiaBuffer=function _drainInertiaBuffer(){var inertia=this._inertiaBuffer,now=performance.browser.now(),cutoff=160;while(inertia.length>0&&now-inertia[0].time>cutoff){inertia.shift()}};HandlerInertia.prototype._onMoveEnd=function _onMoveEnd(panInertiaOptions){this._drainInertiaBuffer();if(this._inertiaBuffer.length<2){return}var deltas={zoom:0,bearing:0,pitch:0,pan:new performance.Point(0,0),pinchAround:undefined,around:undefined};for(var i=0,list=this._inertiaBuffer;i<list.length;i+=1){var ref=list[i];var settings=ref.settings;deltas.zoom+=settings.zoomDelta||0;deltas.bearing+=settings.bearingDelta||0;deltas.pitch+=settings.pitchDelta||0;if(settings.panDelta){deltas.pan._add(settings.panDelta)}if(settings.around){deltas.around=settings.around}if(settings.pinchAround){deltas.pinchAround=settings.pinchAround}}var lastEntry=this._inertiaBuffer[this._inertiaBuffer.length-1];var duration=lastEntry.time-this._inertiaBuffer[0].time;var easeOptions={};if(deltas.pan.mag()){var result=calculateEasing(deltas.pan.mag(),duration,performance.extend({},defaultPanInertiaOptions,panInertiaOptions||{}));easeOptions.offset=deltas.pan.mult(result.amount/deltas.pan.mag());easeOptions.center=this._map.transform.center;extendDuration(easeOptions,result)}if(deltas.zoom){var result$1=calculateEasing(deltas.zoom,duration,defaultZoomInertiaOptions);easeOptions.zoom=this._map.transform.zoom+result$1.amount;extendDuration(easeOptions,result$1)}if(deltas.bearing){var result$2=calculateEasing(deltas.bearing,duration,defaultBearingInertiaOptions);easeOptions.bearing=this._map.transform.bearing+performance.clamp(result$2.amount,-179,179);extendDuration(easeOptions,result$2)}if(deltas.pitch){var result$3=calculateEasing(deltas.pitch,duration,defaultPitchInertiaOptions);easeOptions.pitch=this._map.transform.pitch+result$3.amount;extendDuration(easeOptions,result$3)}if(easeOptions.zoom||easeOptions.bearing){var last=deltas.pinchAround===undefined?deltas.around:deltas.pinchAround;easeOptions.around=last?this._map.unproject(last):this._map.getCenter()}this.clear();return performance.extend(easeOptions,{noMoveStart:true})};function extendDuration(easeOptions,result){if(!easeOptions.duration||easeOptions.duration<result.duration){easeOptions.duration=result.duration;easeOptions.easing=result.easing}}function calculateEasing(amount,inertiaDuration,inertiaOptions){var maxSpeed=inertiaOptions.maxSpeed;var linearity=inertiaOptions.linearity;var deceleration=inertiaOptions.deceleration;var speed=performance.clamp(amount*linearity/(inertiaDuration/1e3),-maxSpeed,maxSpeed);var duration=Math.abs(speed)/(deceleration*linearity);return{easing:inertiaOptions.easing,duration:duration*1e3,amount:speed*(duration/2)}}var MapMouseEvent=function(Event){function MapMouseEvent(type,map,originalEvent,data){if(data===void 0)data={};var point=DOM.mousePos(map.getCanvasContainer(),originalEvent);var lngLat=map.unproject(point);Event.call(this,type,performance.extend({point:point,lngLat:lngLat,originalEvent:originalEvent},data));this._defaultPrevented=false;this.target=map}if(Event)MapMouseEvent.__proto__=Event;MapMouseEvent.prototype=Object.create(Event&&Event.prototype);MapMouseEvent.prototype.constructor=MapMouseEvent;var prototypeAccessors={defaultPrevented:{configurable:true}};MapMouseEvent.prototype.preventDefault=function preventDefault(){this._defaultPrevented=true};prototypeAccessors.defaultPrevented.get=function(){return this._defaultPrevented};Object.defineProperties(MapMouseEvent.prototype,prototypeAccessors);return MapMouseEvent}(performance.Event);var MapTouchEvent=function(Event){function MapTouchEvent(type,map,originalEvent){var touches=type==="touchend"?originalEvent.changedTouches:originalEvent.touches;var points=DOM.touchPos(map.getCanvasContainer(),touches);var lngLats=points.map((function(t){return map.unproject(t)}));var point=points.reduce((function(prev,curr,i,arr){return prev.add(curr.div(arr.length))}),new performance.Point(0,0));var lngLat=map.unproject(point);Event.call(this,type,{points:points,point:point,lngLats:lngLats,lngLat:lngLat,originalEvent:originalEvent});this._defaultPrevented=false}if(Event)MapTouchEvent.__proto__=Event;MapTouchEvent.prototype=Object.create(Event&&Event.prototype);MapTouchEvent.prototype.constructor=MapTouchEvent;var prototypeAccessors$1={defaultPrevented:{configurable:true}};MapTouchEvent.prototype.preventDefault=function preventDefault(){this._defaultPrevented=true};prototypeAccessors$1.defaultPrevented.get=function(){return this._defaultPrevented};Object.defineProperties(MapTouchEvent.prototype,prototypeAccessors$1);return MapTouchEvent}(performance.Event);var MapWheelEvent=function(Event){function MapWheelEvent(type,map,originalEvent){Event.call(this,type,{originalEvent:originalEvent});this._defaultPrevented=false}if(Event)MapWheelEvent.__proto__=Event;MapWheelEvent.prototype=Object.create(Event&&Event.prototype);MapWheelEvent.prototype.constructor=MapWheelEvent;var prototypeAccessors$2={defaultPrevented:{configurable:true}};MapWheelEvent.prototype.preventDefault=function preventDefault(){this._defaultPrevented=true};prototypeAccessors$2.defaultPrevented.get=function(){return this._defaultPrevented};Object.defineProperties(MapWheelEvent.prototype,prototypeAccessors$2);return MapWheelEvent}(performance.Event);var MapEventHandler=function MapEventHandler(map,options){this._map=map;this._clickTolerance=options.clickTolerance};MapEventHandler.prototype.reset=function reset(){delete this._mousedownPos};MapEventHandler.prototype.wheel=function wheel(e){return this._firePreventable(new MapWheelEvent(e.type,this._map,e))};MapEventHandler.prototype.mousedown=function mousedown(e,point){this._mousedownPos=point;return this._firePreventable(new MapMouseEvent(e.type,this._map,e))};MapEventHandler.prototype.mouseup=function mouseup(e){this._map.fire(new MapMouseEvent(e.type,this._map,e))};MapEventHandler.prototype.click=function click(e,point){if(this._mousedownPos&&this._mousedownPos.dist(point)>=this._clickTolerance){return}this._map.fire(new MapMouseEvent(e.type,this._map,e))};MapEventHandler.prototype.dblclick=function dblclick(e){return this._firePreventable(new MapMouseEvent(e.type,this._map,e))};MapEventHandler.prototype.mouseover=function mouseover(e){this._map.fire(new MapMouseEvent(e.type,this._map,e))};MapEventHandler.prototype.mouseout=function mouseout(e){this._map.fire(new MapMouseEvent(e.type,this._map,e))};MapEventHandler.prototype.touchstart=function touchstart(e){return this._firePreventable(new MapTouchEvent(e.type,this._map,e))};MapEventHandler.prototype.touchmove=function touchmove(e){this._map.fire(new MapTouchEvent(e.type,this._map,e))};MapEventHandler.prototype.touchend=function touchend(e){this._map.fire(new MapTouchEvent(e.type,this._map,e))};MapEventHandler.prototype.touchcancel=function touchcancel(e){this._map.fire(new MapTouchEvent(e.type,this._map,e))};MapEventHandler.prototype._firePreventable=function _firePreventable(mapEvent){this._map.fire(mapEvent);if(mapEvent.defaultPrevented){return{}}};MapEventHandler.prototype.isEnabled=function isEnabled(){return true};MapEventHandler.prototype.isActive=function isActive(){return false};MapEventHandler.prototype.enable=function enable(){};MapEventHandler.prototype.disable=function disable(){};var BlockableMapEventHandler=function BlockableMapEventHandler(map){this._map=map};BlockableMapEventHandler.prototype.reset=function reset(){this._delayContextMenu=false;delete this._contextMenuEvent};BlockableMapEventHandler.prototype.mousemove=function mousemove(e){this._map.fire(new MapMouseEvent(e.type,this._map,e))};BlockableMapEventHandler.prototype.mousedown=function mousedown(){this._delayContextMenu=true};BlockableMapEventHandler.prototype.mouseup=function mouseup(){this._delayContextMenu=false;if(this._contextMenuEvent){this._map.fire(new MapMouseEvent("contextmenu",this._map,this._contextMenuEvent));delete this._contextMenuEvent}};BlockableMapEventHandler.prototype.contextmenu=function contextmenu(e){if(this._delayContextMenu){this._contextMenuEvent=e}else{this._map.fire(new MapMouseEvent(e.type,this._map,e))}if(this._map.listens("contextmenu")){e.preventDefault()}};BlockableMapEventHandler.prototype.isEnabled=function isEnabled(){return true};BlockableMapEventHandler.prototype.isActive=function isActive(){return false};BlockableMapEventHandler.prototype.enable=function enable(){};BlockableMapEventHandler.prototype.disable=function disable(){};var BoxZoomHandler=function BoxZoomHandler(map,options){this._map=map;this._el=map.getCanvasContainer();this._container=map.getContainer();this._clickTolerance=options.clickTolerance||1};BoxZoomHandler.prototype.isEnabled=function isEnabled(){return!!this._enabled};BoxZoomHandler.prototype.isActive=function isActive(){return!!this._active};BoxZoomHandler.prototype.enable=function enable(){if(this.isEnabled()){return}this._enabled=true};BoxZoomHandler.prototype.disable=function disable(){if(!this.isEnabled()){return}this._enabled=false};BoxZoomHandler.prototype.mousedown=function mousedown(e,point){if(!this.isEnabled()){return}if(!(e.shiftKey&&e.button===0)){return}DOM.disableDrag();this._startPos=this._lastPos=point;this._active=true};BoxZoomHandler.prototype.mousemoveWindow=function mousemoveWindow(e,point){if(!this._active){return}var pos=point;if(this._lastPos.equals(pos)||!this._box&&pos.dist(this._startPos)<this._clickTolerance){return}var p0=this._startPos;this._lastPos=pos;if(!this._box){this._box=DOM.create("div","mapboxgl-boxzoom",this._container);this._container.classList.add("mapboxgl-crosshair");this._fireEvent("boxzoomstart",e)}var minX=Math.min(p0.x,pos.x),maxX=Math.max(p0.x,pos.x),minY=Math.min(p0.y,pos.y),maxY=Math.max(p0.y,pos.y);DOM.setTransform(this._box,"translate("+minX+"px,"+minY+"px)");this._box.style.width=maxX-minX+"px";this._box.style.height=maxY-minY+"px"};BoxZoomHandler.prototype.mouseupWindow=function mouseupWindow(e,point){var this$1=this;if(!this._active){return}if(e.button!==0){return}var p0=this._startPos,p1=point;this.reset();DOM.suppressClick();if(p0.x===p1.x&&p0.y===p1.y){this._fireEvent("boxzoomcancel",e)}else{this._map.fire(new performance.Event("boxzoomend",{originalEvent:e}));return{cameraAnimation:function(map){return map.fitScreenCoordinates(p0,p1,this$1._map.getBearing(),{linear:true})}}}};BoxZoomHandler.prototype.keydown=function keydown(e){if(!this._active){return}if(e.keyCode===27){this.reset();this._fireEvent("boxzoomcancel",e)}};BoxZoomHandler.prototype.reset=function reset(){this._active=false;this._container.classList.remove("mapboxgl-crosshair");if(this._box){DOM.remove(this._box);this._box=null}DOM.enableDrag();delete this._startPos;delete this._lastPos};BoxZoomHandler.prototype._fireEvent=function _fireEvent(type,e){return this._map.fire(new performance.Event(type,{originalEvent:e}))};function indexTouches(touches,points){var obj={};for(var i=0;i<touches.length;i++){obj[touches[i].identifier]=points[i]}return obj}function getCentroid(points){var sum=new performance.Point(0,0);for(var i=0,list=points;i<list.length;i+=1){var point=list[i];sum._add(point)}return sum.div(points.length)}var MAX_TAP_INTERVAL=500;var MAX_TOUCH_TIME=500;var MAX_DIST=30;var SingleTapRecognizer=function SingleTapRecognizer(options){this.reset();this.numTouches=options.numTouches};SingleTapRecognizer.prototype.reset=function reset(){delete this.centroid;delete this.startTime;delete this.touches;this.aborted=false};SingleTapRecognizer.prototype.touchstart=function touchstart(e,points,mapTouches){if(this.centroid||mapTouches.length>this.numTouches){this.aborted=true}if(this.aborted){return}if(this.startTime===undefined){this.startTime=e.timeStamp}if(mapTouches.length===this.numTouches){this.centroid=getCentroid(points);this.touches=indexTouches(mapTouches,points)}};SingleTapRecognizer.prototype.touchmove=function touchmove(e,points,mapTouches){if(this.aborted||!this.centroid){return}var newTouches=indexTouches(mapTouches,points);for(var id in this.touches){var prevPos=this.touches[id];var pos=newTouches[id];if(!pos||pos.dist(prevPos)>MAX_DIST){this.aborted=true}}};SingleTapRecognizer.prototype.touchend=function touchend(e,points,mapTouches){if(!this.centroid||e.timeStamp-this.startTime>MAX_TOUCH_TIME){this.aborted=true}if(mapTouches.length===0){var centroid=!this.aborted&&this.centroid;this.reset();if(centroid){return centroid}}};var TapRecognizer=function TapRecognizer(options){this.singleTap=new SingleTapRecognizer(options);this.numTaps=options.numTaps;this.reset()};TapRecognizer.prototype.reset=function reset(){this.lastTime=Infinity;delete this.lastTap;this.count=0;this.singleTap.reset()};TapRecognizer.prototype.touchstart=function touchstart(e,points,mapTouches){this.singleTap.touchstart(e,points,mapTouches)};TapRecognizer.prototype.touchmove=function touchmove(e,points,mapTouches){this.singleTap.touchmove(e,points,mapTouches)};TapRecognizer.prototype.touchend=function touchend(e,points,mapTouches){var tap=this.singleTap.touchend(e,points,mapTouches);if(tap){var soonEnough=e.timeStamp-this.lastTime<MAX_TAP_INTERVAL;var closeEnough=!this.lastTap||this.lastTap.dist(tap)<MAX_DIST;if(!soonEnough||!closeEnough){this.reset()}this.count++;this.lastTime=e.timeStamp;this.lastTap=tap;if(this.count===this.numTaps){this.reset();return tap}}};var TapZoomHandler=function TapZoomHandler(){this._zoomIn=new TapRecognizer({numTouches:1,numTaps:2});this._zoomOut=new TapRecognizer({numTouches:2,numTaps:1});this.reset()};TapZoomHandler.prototype.reset=function reset(){this._active=false;this._zoomIn.reset();this._zoomOut.reset()};TapZoomHandler.prototype.touchstart=function touchstart(e,points,mapTouches){this._zoomIn.touchstart(e,points,mapTouches);this._zoomOut.touchstart(e,points,mapTouches)};TapZoomHandler.prototype.touchmove=function touchmove(e,points,mapTouches){this._zoomIn.touchmove(e,points,mapTouches);this._zoomOut.touchmove(e,points,mapTouches)};TapZoomHandler.prototype.touchend=function touchend(e,points,mapTouches){var this$1=this;var zoomInPoint=this._zoomIn.touchend(e,points,mapTouches);var zoomOutPoint=this._zoomOut.touchend(e,points,mapTouches);if(zoomInPoint){this._active=true;e.preventDefault();setTimeout((function(){return this$1.reset()}),0);return{cameraAnimation:function(map){return map.easeTo({duration:300,zoom:map.getZoom()+1,around:map.unproject(zoomInPoint)},{originalEvent:e})}}}else if(zoomOutPoint){this._active=true;e.preventDefault();setTimeout((function(){return this$1.reset()}),0);return{cameraAnimation:function(map){return map.easeTo({duration:300,zoom:map.getZoom()-1,around:map.unproject(zoomOutPoint)},{originalEvent:e})}}}};TapZoomHandler.prototype.touchcancel=function touchcancel(){this.reset()};TapZoomHandler.prototype.enable=function enable(){this._enabled=true};TapZoomHandler.prototype.disable=function disable(){this._enabled=false;this.reset()};TapZoomHandler.prototype.isEnabled=function isEnabled(){return this._enabled};TapZoomHandler.prototype.isActive=function isActive(){return this._active};var LEFT_BUTTON=0;var RIGHT_BUTTON=2;var MouseHandler=function MouseHandler(options){this.reset();this._clickTolerance=options.clickTolerance||1};MouseHandler.prototype.reset=function reset(){this._active=false;this._moved=false;delete this._lastPoint;delete this._eventButton};MouseHandler.prototype._correctButton=function _correctButton(e,button){return false};MouseHandler.prototype._move=function _move(lastPoint,point){return{}};MouseHandler.prototype.mousedown=function mousedown(e,point){if(this._lastPoint){return}var eventButton=DOM.mouseButton(e);if(!this._correctButton(e,eventButton)){return}this._lastPoint=point;this._eventButton=eventButton};MouseHandler.prototype.mousemoveWindow=function mousemoveWindow(e,point){var lastPoint=this._lastPoint;if(!lastPoint){return}e.preventDefault();if(!this._moved&&point.dist(lastPoint)<this._clickTolerance){return}this._moved=true;this._lastPoint=point;return this._move(lastPoint,point)};MouseHandler.prototype.mouseupWindow=function mouseupWindow(e){var eventButton=DOM.mouseButton(e);if(eventButton!==this._eventButton){return}if(this._moved){DOM.suppressClick()}this.reset()};MouseHandler.prototype.enable=function enable(){this._enabled=true};MouseHandler.prototype.disable=function disable(){this._enabled=false;this.reset()};MouseHandler.prototype.isEnabled=function isEnabled(){return this._enabled};MouseHandler.prototype.isActive=function isActive(){return this._active};var MousePanHandler=function(MouseHandler){function MousePanHandler(){MouseHandler.apply(this,arguments)}if(MouseHandler)MousePanHandler.__proto__=MouseHandler;MousePanHandler.prototype=Object.create(MouseHandler&&MouseHandler.prototype);MousePanHandler.prototype.constructor=MousePanHandler;MousePanHandler.prototype.mousedown=function mousedown(e,point){MouseHandler.prototype.mousedown.call(this,e,point);if(this._lastPoint){this._active=true}};MousePanHandler.prototype._correctButton=function _correctButton(e,button){return button===LEFT_BUTTON&&!e.ctrlKey};MousePanHandler.prototype._move=function _move(lastPoint,point){return{around:point,panDelta:point.sub(lastPoint)}};return MousePanHandler}(MouseHandler);var MouseRotateHandler=function(MouseHandler){function MouseRotateHandler(){MouseHandler.apply(this,arguments)}if(MouseHandler)MouseRotateHandler.__proto__=MouseHandler;MouseRotateHandler.prototype=Object.create(MouseHandler&&MouseHandler.prototype);MouseRotateHandler.prototype.constructor=MouseRotateHandler;MouseRotateHandler.prototype._correctButton=function _correctButton(e,button){return button===LEFT_BUTTON&&e.ctrlKey||button===RIGHT_BUTTON};MouseRotateHandler.prototype._move=function _move(lastPoint,point){var degreesPerPixelMoved=.8;var bearingDelta=(point.x-lastPoint.x)*degreesPerPixelMoved;if(bearingDelta){this._active=true;return{bearingDelta:bearingDelta}}};MouseRotateHandler.prototype.contextmenu=function contextmenu(e){e.preventDefault()};return MouseRotateHandler}(MouseHandler);var MousePitchHandler=function(MouseHandler){function MousePitchHandler(){MouseHandler.apply(this,arguments)}if(MouseHandler)MousePitchHandler.__proto__=MouseHandler;MousePitchHandler.prototype=Object.create(MouseHandler&&MouseHandler.prototype);MousePitchHandler.prototype.constructor=MousePitchHandler;MousePitchHandler.prototype._correctButton=function _correctButton(e,button){return button===LEFT_BUTTON&&e.ctrlKey||button===RIGHT_BUTTON};MousePitchHandler.prototype._move=function _move(lastPoint,point){var degreesPerPixelMoved=-.5;var pitchDelta=(point.y-lastPoint.y)*degreesPerPixelMoved;if(pitchDelta){this._active=true;return{pitchDelta:pitchDelta}}};MousePitchHandler.prototype.contextmenu=function contextmenu(e){e.preventDefault()};return MousePitchHandler}(MouseHandler);var TouchPanHandler=function TouchPanHandler(options){this._minTouches=1;this._clickTolerance=options.clickTolerance||1;this.reset()};TouchPanHandler.prototype.reset=function reset(){this._active=false;this._touches={};this._sum=new performance.Point(0,0)};TouchPanHandler.prototype.touchstart=function touchstart(e,points,mapTouches){return this._calculateTransform(e,points,mapTouches)};TouchPanHandler.prototype.touchmove=function touchmove(e,points,mapTouches){if(!this._active){return}e.preventDefault();return this._calculateTransform(e,points,mapTouches)};TouchPanHandler.prototype.touchend=function touchend(e,points,mapTouches){this._calculateTransform(e,points,mapTouches);if(this._active&&mapTouches.length<this._minTouches){this.reset()}};TouchPanHandler.prototype.touchcancel=function touchcancel(){this.reset()};TouchPanHandler.prototype._calculateTransform=function _calculateTransform(e,points,mapTouches){if(mapTouches.length>0){this._active=true}var touches=indexTouches(mapTouches,points);var touchPointSum=new performance.Point(0,0);var touchDeltaSum=new performance.Point(0,0);var touchDeltaCount=0;for(var identifier in touches){var point=touches[identifier];var prevPoint=this._touches[identifier];if(prevPoint){touchPointSum._add(point);touchDeltaSum._add(point.sub(prevPoint));touchDeltaCount++;touches[identifier]=point}}this._touches=touches;if(touchDeltaCount<this._minTouches||!touchDeltaSum.mag()){return}var panDelta=touchDeltaSum.div(touchDeltaCount);this._sum._add(panDelta);if(this._sum.mag()<this._clickTolerance){return}var around=touchPointSum.div(touchDeltaCount);return{around:around,panDelta:panDelta}};TouchPanHandler.prototype.enable=function enable(){this._enabled=true};TouchPanHandler.prototype.disable=function disable(){this._enabled=false;this.reset()};TouchPanHandler.prototype.isEnabled=function isEnabled(){return this._enabled};TouchPanHandler.prototype.isActive=function isActive(){return this._active};var TwoTouchHandler=function TwoTouchHandler(){this.reset()};TwoTouchHandler.prototype.reset=function reset(){this._active=false;delete this._firstTwoTouches};TwoTouchHandler.prototype._start=function _start(points){};TwoTouchHandler.prototype._move=function _move(points,pinchAround,e){return{}};TwoTouchHandler.prototype.touchstart=function touchstart(e,points,mapTouches){if(this._firstTwoTouches||mapTouches.length<2){return}this._firstTwoTouches=[mapTouches[0].identifier,mapTouches[1].identifier];this._start([points[0],points[1]])};TwoTouchHandler.prototype.touchmove=function touchmove(e,points,mapTouches){if(!this._firstTwoTouches){return}e.preventDefault();var ref=this._firstTwoTouches;var idA=ref[0];var idB=ref[1];var a=getTouchById(mapTouches,points,idA);var b=getTouchById(mapTouches,points,idB);if(!a||!b){return}var pinchAround=this._aroundCenter?null:a.add(b).div(2);return this._move([a,b],pinchAround,e)};TwoTouchHandler.prototype.touchend=function touchend(e,points,mapTouches){if(!this._firstTwoTouches){return}var ref=this._firstTwoTouches;var idA=ref[0];var idB=ref[1];var a=getTouchById(mapTouches,points,idA);var b=getTouchById(mapTouches,points,idB);if(a&&b){return}if(this._active){DOM.suppressClick()}this.reset()};TwoTouchHandler.prototype.touchcancel=function touchcancel(){this.reset()};TwoTouchHandler.prototype.enable=function enable(options){this._enabled=true;this._aroundCenter=!!options&&options.around==="center"};TwoTouchHandler.prototype.disable=function disable(){this._enabled=false;this.reset()};TwoTouchHandler.prototype.isEnabled=function isEnabled(){return this._enabled};TwoTouchHandler.prototype.isActive=function isActive(){return this._active};function getTouchById(mapTouches,points,identifier){for(var i=0;i<mapTouches.length;i++){if(mapTouches[i].identifier===identifier){return points[i]}}}var ZOOM_THRESHOLD=.1;function getZoomDelta(distance,lastDistance){return Math.log(distance/lastDistance)/Math.LN2}var TouchZoomHandler=function(TwoTouchHandler){function TouchZoomHandler(){TwoTouchHandler.apply(this,arguments)}if(TwoTouchHandler)TouchZoomHandler.__proto__=TwoTouchHandler;TouchZoomHandler.prototype=Object.create(TwoTouchHandler&&TwoTouchHandler.prototype);TouchZoomHandler.prototype.constructor=TouchZoomHandler;TouchZoomHandler.prototype.reset=function reset(){TwoTouchHandler.prototype.reset.call(this);delete this._distance;delete this._startDistance};TouchZoomHandler.prototype._start=function _start(points){this._startDistance=this._distance=points[0].dist(points[1])};TouchZoomHandler.prototype._move=function _move(points,pinchAround){var lastDistance=this._distance;this._distance=points[0].dist(points[1]);if(!this._active&&Math.abs(getZoomDelta(this._distance,this._startDistance))<ZOOM_THRESHOLD){return}this._active=true;return{zoomDelta:getZoomDelta(this._distance,lastDistance),pinchAround:pinchAround}};return TouchZoomHandler}(TwoTouchHandler);var ROTATION_THRESHOLD=25;function getBearingDelta(a,b){return a.angleWith(b)*180/Math.PI}var TouchRotateHandler=function(TwoTouchHandler){function TouchRotateHandler(){TwoTouchHandler.apply(this,arguments)}if(TwoTouchHandler)TouchRotateHandler.__proto__=TwoTouchHandler;TouchRotateHandler.prototype=Object.create(TwoTouchHandler&&TwoTouchHandler.prototype);TouchRotateHandler.prototype.constructor=TouchRotateHandler;TouchRotateHandler.prototype.reset=function reset(){TwoTouchHandler.prototype.reset.call(this);delete this._minDiameter;delete this._startVector;delete this._vector};TouchRotateHandler.prototype._start=function _start(points){this._startVector=this._vector=points[0].sub(points[1]);this._minDiameter=points[0].dist(points[1])};TouchRotateHandler.prototype._move=function _move(points,pinchAround){var lastVector=this._vector;this._vector=points[0].sub(points[1]);if(!this._active&&this._isBelowThreshold(this._vector)){return}this._active=true;return{bearingDelta:getBearingDelta(this._vector,lastVector),pinchAround:pinchAround}};TouchRotateHandler.prototype._isBelowThreshold=function _isBelowThreshold(vector){this._minDiameter=Math.min(this._minDiameter,vector.mag());var circumference=Math.PI*this._minDiameter;var threshold=ROTATION_THRESHOLD/circumference*360;var bearingDeltaSinceStart=getBearingDelta(vector,this._startVector);return Math.abs(bearingDeltaSinceStart)<threshold};return TouchRotateHandler}(TwoTouchHandler);function isVertical(vector){return Math.abs(vector.y)>Math.abs(vector.x)}var ALLOWED_SINGLE_TOUCH_TIME=100;var TouchPitchHandler=function(TwoTouchHandler){function TouchPitchHandler(){TwoTouchHandler.apply(this,arguments)}if(TwoTouchHandler)TouchPitchHandler.__proto__=TwoTouchHandler;TouchPitchHandler.prototype=Object.create(TwoTouchHandler&&TwoTouchHandler.prototype);TouchPitchHandler.prototype.constructor=TouchPitchHandler;TouchPitchHandler.prototype.reset=function reset(){TwoTouchHandler.prototype.reset.call(this);this._valid=undefined;delete this._firstMove;delete this._lastPoints};TouchPitchHandler.prototype._start=function _start(points){this._lastPoints=points;if(isVertical(points[0].sub(points[1]))){this._valid=false}};TouchPitchHandler.prototype._move=function _move(points,center,e){var vectorA=points[0].sub(this._lastPoints[0]);var vectorB=points[1].sub(this._lastPoints[1]);this._valid=this.gestureBeginsVertically(vectorA,vectorB,e.timeStamp);if(!this._valid){return}this._lastPoints=points;this._active=true;var yDeltaAverage=(vectorA.y+vectorB.y)/2;var degreesPerPixelMoved=-.5;return{pitchDelta:yDeltaAverage*degreesPerPixelMoved}};TouchPitchHandler.prototype.gestureBeginsVertically=function gestureBeginsVertically(vectorA,vectorB,timeStamp){if(this._valid!==undefined){return this._valid}var threshold=2;var movedA=vectorA.mag()>=threshold;var movedB=vectorB.mag()>=threshold;if(!movedA&&!movedB){return}if(!movedA||!movedB){if(this._firstMove===undefined){this._firstMove=timeStamp}if(timeStamp-this._firstMove<ALLOWED_SINGLE_TOUCH_TIME){return undefined}else{return false}}var isSameDirection=vectorA.y>0===vectorB.y>0;return isVertical(vectorA)&&isVertical(vectorB)&&isSameDirection};return TouchPitchHandler}(TwoTouchHandler);var defaultOptions={panStep:100,bearingStep:15,pitchStep:10};var KeyboardHandler=function KeyboardHandler(){var stepOptions=defaultOptions;this._panStep=stepOptions.panStep;this._bearingStep=stepOptions.bearingStep;this._pitchStep=stepOptions.pitchStep};KeyboardHandler.prototype.reset=function reset(){this._active=false};KeyboardHandler.prototype.keydown=function keydown(e){var this$1=this;if(e.altKey||e.ctrlKey||e.metaKey){return}var zoomDir=0;var bearingDir=0;var pitchDir=0;var xDir=0;var yDir=0;switch(e.keyCode){case 61:case 107:case 171:case 187:zoomDir=1;break;case 189:case 109:case 173:zoomDir=-1;break;case 37:if(e.shiftKey){bearingDir=-1}else{e.preventDefault();xDir=-1}break;case 39:if(e.shiftKey){bearingDir=1}else{e.preventDefault();xDir=1}break;case 38:if(e.shiftKey){pitchDir=1}else{e.preventDefault();yDir=-1}break;case 40:if(e.shiftKey){pitchDir=-1}else{e.preventDefault();yDir=1}break;default:return}return{cameraAnimation:function(map){var zoom=map.getZoom();map.easeTo({duration:300,easeId:"keyboardHandler",easing:easeOut,zoom:zoomDir?Math.round(zoom)+zoomDir*(e.shiftKey?2:1):zoom,bearing:map.getBearing()+bearingDir*this$1._bearingStep,pitch:map.getPitch()+pitchDir*this$1._pitchStep,offset:[-xDir*this$1._panStep,-yDir*this$1._panStep],center:map.getCenter()},{originalEvent:e})}}};KeyboardHandler.prototype.enable=function enable(){this._enabled=true};KeyboardHandler.prototype.disable=function disable(){this._enabled=false;this.reset()};KeyboardHandler.prototype.isEnabled=function isEnabled(){return this._enabled};KeyboardHandler.prototype.isActive=function isActive(){return this._active};function easeOut(t){return t*(2-t)}var wheelZoomDelta=4.000244140625;var defaultZoomRate=1/100;var wheelZoomRate=1/450;var maxScalePerFrame=2;var ScrollZoomHandler=function ScrollZoomHandler(map,handler){this._map=map;this._el=map.getCanvasContainer();this._handler=handler;this._delta=0;this._defaultZoomRate=defaultZoomRate;this._wheelZoomRate=wheelZoomRate;performance.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};ScrollZoomHandler.prototype.setZoomRate=function setZoomRate(zoomRate){this._defaultZoomRate=zoomRate};ScrollZoomHandler.prototype.setWheelZoomRate=function setWheelZoomRate(wheelZoomRate){this._wheelZoomRate=wheelZoomRate};ScrollZoomHandler.prototype.isEnabled=function isEnabled(){return!!this._enabled};ScrollZoomHandler.prototype.isActive=function isActive(){return!!this._active||this._finishTimeout!==undefined};ScrollZoomHandler.prototype.isZooming=function isZooming(){return!!this._zooming};ScrollZoomHandler.prototype.enable=function enable(options){if(this.isEnabled()){return}this._enabled=true;this._aroundCenter=options&&options.around==="center"};ScrollZoomHandler.prototype.disable=function disable(){if(!this.isEnabled()){return}this._enabled=false};ScrollZoomHandler.prototype.wheel=function wheel(e){if(!this.isEnabled()){return}var value=e.deltaMode===performance.window.WheelEvent.DOM_DELTA_LINE?e.deltaY*40:e.deltaY;var now=performance.browser.now(),timeDelta=now-(this._lastWheelEventTime||0);this._lastWheelEventTime=now;if(value!==0&&value%wheelZoomDelta===0){this._type="wheel"}else if(value!==0&&Math.abs(value)<4){this._type="trackpad"}else if(timeDelta>400){this._type=null;this._lastValue=value;this._timeout=setTimeout(this._onTimeout,40,e)}else if(!this._type){this._type=Math.abs(timeDelta*value)<200?"trackpad":"wheel";if(this._timeout){clearTimeout(this._timeout);this._timeout=null;value+=this._lastValue}}if(e.shiftKey&&value){value=value/4}if(this._type){this._lastWheelEvent=e;this._delta-=value;if(!this._active){this._start(e)}}e.preventDefault()};ScrollZoomHandler.prototype._onTimeout=function _onTimeout(initialEvent){this._type="wheel";this._delta-=this._lastValue;if(!this._active){this._start(initialEvent)}};ScrollZoomHandler.prototype._start=function _start(e){if(!this._delta){return}if(this._frameId){this._frameId=null}this._active=true;if(!this.isZooming()){this._zooming=true}if(this._finishTimeout){clearTimeout(this._finishTimeout);delete this._finishTimeout}var pos=DOM.mousePos(this._el,e);this._around=performance.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(pos));this._aroundPoint=this._map.transform.locationPoint(this._around);if(!this._frameId){this._frameId=true;this._handler._triggerRenderFrame()}};ScrollZoomHandler.prototype.renderFrame=function renderFrame(){return this._onScrollFrame()};ScrollZoomHandler.prototype._onScrollFrame=function _onScrollFrame(){var this$1=this;if(!this._frameId){return}this._frameId=null;if(!this.isActive()){return}var tr=this._map.transform;if(this._delta!==0){var zoomRate=this._type==="wheel"&&Math.abs(this._delta)>wheelZoomDelta?this._wheelZoomRate:this._defaultZoomRate;var scale=maxScalePerFrame/(1+Math.exp(-Math.abs(this._delta*zoomRate)));if(this._delta<0&&scale!==0){scale=1/scale}var fromScale=typeof this._targetZoom==="number"?tr.zoomScale(this._targetZoom):tr.scale;this._targetZoom=Math.min(tr.maxZoom,Math.max(tr.minZoom,tr.scaleZoom(fromScale*scale)));if(this._type==="wheel"){this._startZoom=tr.zoom;this._easing=this._smoothOutEasing(200)}this._delta=0}var targetZoom=typeof this._targetZoom==="number"?this._targetZoom:tr.zoom;var startZoom=this._startZoom;var easing=this._easing;var finished=false;var zoom;if(this._type==="wheel"&&startZoom&&easing){var t=Math.min((performance.browser.now()-this._lastWheelEventTime)/200,1);var k=easing(t);zoom=performance.number(startZoom,targetZoom,k);if(t<1){if(!this._frameId){this._frameId=true}}else{finished=true}}else{zoom=targetZoom;finished=true}this._active=true;if(finished){this._active=false;this._finishTimeout=setTimeout((function(){this$1._zooming=false;this$1._handler._triggerRenderFrame();delete this$1._targetZoom;delete this$1._finishTimeout}),200)}return{noInertia:true,needsRenderFrame:!finished,zoomDelta:zoom-tr.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}};ScrollZoomHandler.prototype._smoothOutEasing=function _smoothOutEasing(duration){var easing=performance.ease;if(this._prevEase){var ease=this._prevEase,t=(performance.browser.now()-ease.start)/ease.duration,speed=ease.easing(t+.01)-ease.easing(t),x=.27/Math.sqrt(speed*speed+1e-4)*.01,y=Math.sqrt(.27*.27-x*x);easing=performance.bezier(x,y,.25,1)}this._prevEase={start:performance.browser.now(),duration:duration,easing:easing};return easing};ScrollZoomHandler.prototype.reset=function reset(){this._active=false};var DoubleClickZoomHandler=function DoubleClickZoomHandler(clickZoom,TapZoom){this._clickZoom=clickZoom;this._tapZoom=TapZoom};DoubleClickZoomHandler.prototype.enable=function enable(){this._clickZoom.enable();this._tapZoom.enable()};DoubleClickZoomHandler.prototype.disable=function disable(){this._clickZoom.disable();this._tapZoom.disable()};DoubleClickZoomHandler.prototype.isEnabled=function isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()};DoubleClickZoomHandler.prototype.isActive=function isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var ClickZoomHandler=function ClickZoomHandler(){this.reset()};ClickZoomHandler.prototype.reset=function reset(){this._active=false};ClickZoomHandler.prototype.dblclick=function dblclick(e,point){e.preventDefault();return{cameraAnimation:function(map){map.easeTo({duration:300,zoom:map.getZoom()+(e.shiftKey?-1:1),around:map.unproject(point)},{originalEvent:e})}}};ClickZoomHandler.prototype.enable=function enable(){this._enabled=true};ClickZoomHandler.prototype.disable=function disable(){this._enabled=false;this.reset()};ClickZoomHandler.prototype.isEnabled=function isEnabled(){return this._enabled};ClickZoomHandler.prototype.isActive=function isActive(){return this._active};var TapDragZoomHandler=function TapDragZoomHandler(){this._tap=new TapRecognizer({numTouches:1,numTaps:1});this.reset()};TapDragZoomHandler.prototype.reset=function reset(){this._active=false;delete this._swipePoint;delete this._swipeTouch;delete this._tapTime;this._tap.reset()};TapDragZoomHandler.prototype.touchstart=function touchstart(e,points,mapTouches){if(this._swipePoint){return}if(this._tapTime&&e.timeStamp-this._tapTime>MAX_TAP_INTERVAL){this.reset()}if(!this._tapTime){this._tap.touchstart(e,points,mapTouches)}else if(mapTouches.length>0){this._swipePoint=points[0];this._swipeTouch=mapTouches[0].identifier}};TapDragZoomHandler.prototype.touchmove=function touchmove(e,points,mapTouches){if(!this._tapTime){this._tap.touchmove(e,points,mapTouches)}else if(this._swipePoint){if(mapTouches[0].identifier!==this._swipeTouch){return}var newSwipePoint=points[0];var dist=newSwipePoint.y-this._swipePoint.y;this._swipePoint=newSwipePoint;e.preventDefault();this._active=true;return{zoomDelta:dist/128}}};TapDragZoomHandler.prototype.touchend=function touchend(e,points,mapTouches){if(!this._tapTime){var point=this._tap.touchend(e,points,mapTouches);if(point){this._tapTime=e.timeStamp}}else if(this._swipePoint){if(mapTouches.length===0){this.reset()}}};TapDragZoomHandler.prototype.touchcancel=function touchcancel(){this.reset()};TapDragZoomHandler.prototype.enable=function enable(){this._enabled=true};TapDragZoomHandler.prototype.disable=function disable(){this._enabled=false;this.reset()};TapDragZoomHandler.prototype.isEnabled=function isEnabled(){return this._enabled};TapDragZoomHandler.prototype.isActive=function isActive(){return this._active};var DragPanHandler=function DragPanHandler(el,mousePan,touchPan){this._el=el;this._mousePan=mousePan;this._touchPan=touchPan};DragPanHandler.prototype.enable=function enable(options){this._inertiaOptions=options||{};this._mousePan.enable();this._touchPan.enable();this._el.classList.add("mapboxgl-touch-drag-pan")};DragPanHandler.prototype.disable=function disable(){this._mousePan.disable();this._touchPan.disable();this._el.classList.remove("mapboxgl-touch-drag-pan")};DragPanHandler.prototype.isEnabled=function isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()};DragPanHandler.prototype.isActive=function isActive(){return this._mousePan.isActive()||this._touchPan.isActive()};var DragRotateHandler=function DragRotateHandler(options,mouseRotate,mousePitch){this._pitchWithRotate=options.pitchWithRotate;this._mouseRotate=mouseRotate;this._mousePitch=mousePitch};DragRotateHandler.prototype.enable=function enable(){this._mouseRotate.enable();if(this._pitchWithRotate){this._mousePitch.enable()}};DragRotateHandler.prototype.disable=function disable(){this._mouseRotate.disable();this._mousePitch.disable()};DragRotateHandler.prototype.isEnabled=function isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())};DragRotateHandler.prototype.isActive=function isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var TouchZoomRotateHandler=function TouchZoomRotateHandler(el,touchZoom,touchRotate,tapDragZoom){this._el=el;this._touchZoom=touchZoom;this._touchRotate=touchRotate;this._tapDragZoom=tapDragZoom;this._rotationDisabled=false;this._enabled=true};TouchZoomRotateHandler.prototype.enable=function enable(options){this._touchZoom.enable(options);if(!this._rotationDisabled){this._touchRotate.enable(options)}this._tapDragZoom.enable();this._el.classList.add("mapboxgl-touch-zoom-rotate")};TouchZoomRotateHandler.prototype.disable=function disable(){this._touchZoom.disable();this._touchRotate.disable();this._tapDragZoom.disable();this._el.classList.remove("mapboxgl-touch-zoom-rotate")};TouchZoomRotateHandler.prototype.isEnabled=function isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()};TouchZoomRotateHandler.prototype.isActive=function isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()};TouchZoomRotateHandler.prototype.disableRotation=function disableRotation(){this._rotationDisabled=true;this._touchRotate.disable()};TouchZoomRotateHandler.prototype.enableRotation=function enableRotation(){this._rotationDisabled=false;if(this._touchZoom.isEnabled()){this._touchRotate.enable()}};var isMoving=function(p){return p.zoom||p.drag||p.pitch||p.rotate};var RenderFrameEvent=function(Event){function RenderFrameEvent(){Event.apply(this,arguments)}if(Event)RenderFrameEvent.__proto__=Event;RenderFrameEvent.prototype=Object.create(Event&&Event.prototype);RenderFrameEvent.prototype.constructor=RenderFrameEvent;return RenderFrameEvent}(performance.Event);function hasChange(result){return result.panDelta&&result.panDelta.mag()||result.zoomDelta||result.bearingDelta||result.pitchDelta}var HandlerManager=function HandlerManager(map,options){this._map=map;this._el=this._map.getCanvasContainer();this._handlers=[];this._handlersById={};this._changes=[];this._inertia=new HandlerInertia(map);this._bearingSnap=options.bearingSnap;this._previousActiveHandlers={};this._eventsInProgress={};this._addDefaultHandlers(options);performance.bindAll(["handleEvent","handleWindowEvent"],this);var el=this._el;this._listeners=[[el,"touchstart",{passive:false}],[el,"touchmove",{passive:false}],[el,"touchend",undefined],[el,"touchcancel",undefined],[el,"mousedown",undefined],[el,"mousemove",undefined],[el,"mouseup",undefined],[performance.window.document,"mousemove",{capture:true}],[performance.window.document,"mouseup",undefined],[el,"mouseover",undefined],[el,"mouseout",undefined],[el,"dblclick",undefined],[el,"click",undefined],[el,"keydown",{capture:false}],[el,"keyup",undefined],[el,"wheel",{passive:false}],[el,"contextmenu",undefined],[performance.window,"blur",undefined]];for(var i=0,list=this._listeners;i<list.length;i+=1){var ref=list[i];var target=ref[0];var type=ref[1];var listenerOptions=ref[2];DOM.addEventListener(target,type,target===performance.window.document?this.handleWindowEvent:this.handleEvent,listenerOptions)}};HandlerManager.prototype.destroy=function destroy(){for(var i=0,list=this._listeners;i<list.length;i+=1){var ref=list[i];var target=ref[0];var type=ref[1];var listenerOptions=ref[2];DOM.removeEventListener(target,type,target===performance.window.document?this.handleWindowEvent:this.handleEvent,listenerOptions)}};HandlerManager.prototype._addDefaultHandlers=function _addDefaultHandlers(options){var map=this._map;var el=map.getCanvasContainer();this._add("mapEvent",new MapEventHandler(map,options));var boxZoom=map.boxZoom=new BoxZoomHandler(map,options);this._add("boxZoom",boxZoom);var tapZoom=new TapZoomHandler;var clickZoom=new ClickZoomHandler;map.doubleClickZoom=new DoubleClickZoomHandler(clickZoom,tapZoom);this._add("tapZoom",tapZoom);this._add("clickZoom",clickZoom);var tapDragZoom=new TapDragZoomHandler;this._add("tapDragZoom",tapDragZoom);var touchPitch=map.touchPitch=new TouchPitchHandler;this._add("touchPitch",touchPitch);var mouseRotate=new MouseRotateHandler(options);var mousePitch=new MousePitchHandler(options);map.dragRotate=new DragRotateHandler(options,mouseRotate,mousePitch);this._add("mouseRotate",mouseRotate,["mousePitch"]);this._add("mousePitch",mousePitch,["mouseRotate"]);var mousePan=new MousePanHandler(options);var touchPan=new TouchPanHandler(options);map.dragPan=new DragPanHandler(el,mousePan,touchPan);this._add("mousePan",mousePan);this._add("touchPan",touchPan,["touchZoom","touchRotate"]);var touchRotate=new TouchRotateHandler;var touchZoom=new TouchZoomHandler;map.touchZoomRotate=new TouchZoomRotateHandler(el,touchZoom,touchRotate,tapDragZoom);this._add("touchRotate",touchRotate,["touchPan","touchZoom"]);this._add("touchZoom",touchZoom,["touchPan","touchRotate"]);var scrollZoom=map.scrollZoom=new ScrollZoomHandler(map,this);this._add("scrollZoom",scrollZoom,["mousePan"]);var keyboard=map.keyboard=new KeyboardHandler;this._add("keyboard",keyboard);this._add("blockableMapEvent",new BlockableMapEventHandler(map));for(var i=0,list=["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"];i<list.length;i+=1){var name=list[i];if(options.interactive&&options[name]){map[name].enable(options[name])}}};HandlerManager.prototype._add=function _add(handlerName,handler,allowed){this._handlers.push({handlerName:handlerName,handler:handler,allowed:allowed});this._handlersById[handlerName]=handler};HandlerManager.prototype.stop=function stop(){if(this._updatingCamera){return}for(var i=0,list=this._handlers;i<list.length;i+=1){var ref=list[i];var handler=ref.handler;handler.reset()}this._inertia.clear();this._fireEvents({},{});this._changes=[]};HandlerManager.prototype.isActive=function isActive(){for(var i=0,list=this._handlers;i<list.length;i+=1){var ref=list[i];var handler=ref.handler;if(handler.isActive()){return true}}return false};HandlerManager.prototype.isZooming=function isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()};HandlerManager.prototype.isRotating=function isRotating(){return!!this._eventsInProgress.rotate};HandlerManager.prototype.isMoving=function isMoving$1(){return Boolean(isMoving(this._eventsInProgress))||this.isZooming()};HandlerManager.prototype._blockedByActive=function _blockedByActive(activeHandlers,allowed,myName){for(var name in activeHandlers){if(name===myName){continue}if(!allowed||allowed.indexOf(name)<0){return true}}return false};HandlerManager.prototype.handleWindowEvent=function handleWindowEvent(e){this.handleEvent(e,e.type+"Window")};HandlerManager.prototype._getMapTouches=function _getMapTouches(touches){var mapTouches=[];for(var i=0,list=touches;i<list.length;i+=1){var t=list[i];var target=t.target;if(this._el.contains(target)){mapTouches.push(t)}}return mapTouches};HandlerManager.prototype.handleEvent=function handleEvent(e,eventName){if(e.type==="blur"){this.stop();return}this._updatingCamera=true;var inputEvent=e.type==="renderFrame"?undefined:e;var mergedHandlerResult={needsRenderFrame:false};var eventsInProgress={};var activeHandlers={};var mapTouches=e.touches?this._getMapTouches(e.touches):undefined;var points=mapTouches?DOM.touchPos(this._el,mapTouches):DOM.mousePos(this._el,e);for(var i=0,list=this._handlers;i<list.length;i+=1){var ref=list[i];var handlerName=ref.handlerName;var handler=ref.handler;var allowed=ref.allowed;if(!handler.isEnabled()){continue}var data=void 0;if(this._blockedByActive(activeHandlers,allowed,handlerName)){handler.reset()}else{if(handler[eventName||e.type]){data=handler[eventName||e.type](e,points,mapTouches);this.mergeHandlerResult(mergedHandlerResult,eventsInProgress,data,handlerName,inputEvent);if(data&&data.needsRenderFrame){this._triggerRenderFrame()}}}if(data||handler.isActive()){activeHandlers[handlerName]=handler}}var deactivatedHandlers={};for(var name in this._previousActiveHandlers){if(!activeHandlers[name]){deactivatedHandlers[name]=inputEvent}}this._previousActiveHandlers=activeHandlers;if(Object.keys(deactivatedHandlers).length||hasChange(mergedHandlerResult)){this._changes.push([mergedHandlerResult,eventsInProgress,deactivatedHandlers]);this._triggerRenderFrame()}if(Object.keys(activeHandlers).length||hasChange(mergedHandlerResult)){this._map._stop(true)}this._updatingCamera=false;var cameraAnimation=mergedHandlerResult.cameraAnimation;if(cameraAnimation){this._inertia.clear();this._fireEvents({},{});this._changes=[];cameraAnimation(this._map)}};HandlerManager.prototype.mergeHandlerResult=function mergeHandlerResult(mergedHandlerResult,eventsInProgress,handlerResult,name,e){if(!handlerResult){return}performance.extend(mergedHandlerResult,handlerResult);var eventData={handlerName:name,originalEvent:handlerResult.originalEvent||e};if(handlerResult.zoomDelta!==undefined){eventsInProgress.zoom=eventData}if(handlerResult.panDelta!==undefined){eventsInProgress.drag=eventData}if(handlerResult.pitchDelta!==undefined){eventsInProgress.pitch=eventData}if(handlerResult.bearingDelta!==undefined){eventsInProgress.rotate=eventData}};HandlerManager.prototype._applyChanges=function _applyChanges(){var combined={};var combinedEventsInProgress={};var combinedDeactivatedHandlers={};for(var i=0,list=this._changes;i<list.length;i+=1){var ref=list[i];var change=ref[0];var eventsInProgress=ref[1];var deactivatedHandlers=ref[2];if(change.panDelta){combined.panDelta=(combined.panDelta||new performance.Point(0,0))._add(change.panDelta)}if(change.zoomDelta){combined.zoomDelta=(combined.zoomDelta||0)+change.zoomDelta}if(change.bearingDelta){combined.bearingDelta=(combined.bearingDelta||0)+change.bearingDelta}if(change.pitchDelta){combined.pitchDelta=(combined.pitchDelta||0)+change.pitchDelta}if(change.around!==undefined){combined.around=change.around}if(change.pinchAround!==undefined){combined.pinchAround=change.pinchAround}if(change.noInertia){combined.noInertia=change.noInertia}performance.extend(combinedEventsInProgress,eventsInProgress);performance.extend(combinedDeactivatedHandlers,deactivatedHandlers)}this._updateMapTransform(combined,combinedEventsInProgress,combinedDeactivatedHandlers);this._changes=[]};HandlerManager.prototype._updateMapTransform=function _updateMapTransform(combinedResult,combinedEventsInProgress,deactivatedHandlers){var map=this._map;var tr=map.transform;if(!hasChange(combinedResult)){return this._fireEvents(combinedEventsInProgress,deactivatedHandlers)}var panDelta=combinedResult.panDelta;var zoomDelta=combinedResult.zoomDelta;var bearingDelta=combinedResult.bearingDelta;var pitchDelta=combinedResult.pitchDelta;var around=combinedResult.around;var pinchAround=combinedResult.pinchAround;if(pinchAround!==undefined){around=pinchAround}map._stop(true);around=around||map.transform.centerPoint;var loc=tr.pointLocation(panDelta?around.sub(panDelta):around);if(bearingDelta){tr.bearing+=bearingDelta}if(pitchDelta){tr.pitch+=pitchDelta}if(zoomDelta){tr.zoom+=zoomDelta}tr.setLocationAtPoint(loc,around);this._map._update();if(!combinedResult.noInertia){this._inertia.record(combinedResult)}this._fireEvents(combinedEventsInProgress,deactivatedHandlers)};HandlerManager.prototype._fireEvents=function _fireEvents(newEventsInProgress,deactivatedHandlers){var this$1=this;var wasMoving=isMoving(this._eventsInProgress);var nowMoving=isMoving(newEventsInProgress);var startEvents={};for(var eventName in newEventsInProgress){var ref=newEventsInProgress[eventName];var originalEvent=ref.originalEvent;if(!this._eventsInProgress[eventName]){startEvents[eventName+"start"]=originalEvent}this._eventsInProgress[eventName]=newEventsInProgress[eventName]}if(!wasMoving&&nowMoving){this._fireEvent("movestart",nowMoving.originalEvent)}for(var name in startEvents){this._fireEvent(name,startEvents[name])}if(newEventsInProgress.rotate){this._bearingChanged=true}if(nowMoving){this._fireEvent("move",nowMoving.originalEvent)}for(var eventName$1 in newEventsInProgress){var ref$1=newEventsInProgress[eventName$1];var originalEvent$1=ref$1.originalEvent;this._fireEvent(eventName$1,originalEvent$1)}var endEvents={};var originalEndEvent;for(var eventName$2 in this._eventsInProgress){var ref$2=this._eventsInProgress[eventName$2];var handlerName=ref$2.handlerName;var originalEvent$2=ref$2.originalEvent;if(!this._handlersById[handlerName].isActive()){delete this._eventsInProgress[eventName$2];originalEndEvent=deactivatedHandlers[handlerName]||originalEvent$2;endEvents[eventName$2+"end"]=originalEndEvent}}for(var name$1 in endEvents){this._fireEvent(name$1,endEvents[name$1])}var stillMoving=isMoving(this._eventsInProgress);if((wasMoving||nowMoving)&&!stillMoving){this._updatingCamera=true;var inertialEase=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions);var shouldSnapToNorth=function(bearing){return bearing!==0&&-this$1._bearingSnap<bearing&&bearing<this$1._bearingSnap};if(inertialEase){if(shouldSnapToNorth(inertialEase.bearing||this._map.getBearing())){inertialEase.bearing=0}this._map.easeTo(inertialEase,{originalEvent:originalEndEvent})}else{this._map.fire(new performance.Event("moveend",{originalEvent:originalEndEvent}));if(shouldSnapToNorth(this._map.getBearing())){this._map.resetNorth()}}this._bearingChanged=false;this._updatingCamera=false}};HandlerManager.prototype._fireEvent=function _fireEvent(type,e){this._map.fire(new performance.Event(type,e?{originalEvent:e}:{}))};HandlerManager.prototype._triggerRenderFrame=function _triggerRenderFrame(){var this$1=this;if(this._frameId===undefined){this._frameId=this._map._requestRenderFrame((function(timeStamp){delete this$1._frameId;this$1.handleEvent(new RenderFrameEvent("renderFrame",{timeStamp:timeStamp}));this$1._applyChanges()}))}};var Camera=function(Evented){function Camera(transform,options){Evented.call(this);this._moving=false;this._zooming=false;this.transform=transform;this._bearingSnap=options.bearingSnap;performance.bindAll(["_renderFrameCallback"],this)}if(Evented)Camera.__proto__=Evented;Camera.prototype=Object.create(Evented&&Evented.prototype);Camera.prototype.constructor=Camera;Camera.prototype.getCenter=function getCenter(){return new performance.LngLat(this.transform.center.lng,this.transform.center.lat)};Camera.prototype.setCenter=function setCenter(center,eventData){return this.jumpTo({center:center},eventData)};Camera.prototype.panBy=function panBy(offset,options,eventData){offset=performance.Point.convert(offset).mult(-1);return this.panTo(this.transform.center,performance.extend({offset:offset},options),eventData)};Camera.prototype.panTo=function panTo(lnglat,options,eventData){return this.easeTo(performance.extend({center:lnglat},options),eventData)};Camera.prototype.getZoom=function getZoom(){return this.transform.zoom};Camera.prototype.setZoom=function setZoom(zoom,eventData){this.jumpTo({zoom:zoom},eventData);return this};Camera.prototype.zoomTo=function zoomTo(zoom,options,eventData){return this.easeTo(performance.extend({zoom:zoom},options),eventData)};Camera.prototype.zoomIn=function zoomIn(options,eventData){this.zoomTo(this.getZoom()+1,options,eventData);return this};Camera.prototype.zoomOut=function zoomOut(options,eventData){this.zoomTo(this.getZoom()-1,options,eventData);return this};Camera.prototype.getBearing=function getBearing(){return this.transform.bearing};Camera.prototype.setBearing=function setBearing(bearing,eventData){this.jumpTo({bearing:bearing},eventData);return this};Camera.prototype.getPadding=function getPadding(){return this.transform.padding};Camera.prototype.setPadding=function setPadding(padding,eventData){this.jumpTo({padding:padding},eventData);return this};Camera.prototype.rotateTo=function rotateTo(bearing,options,eventData){return this.easeTo(performance.extend({bearing:bearing},options),eventData)};Camera.prototype.resetNorth=function resetNorth(options,eventData){this.rotateTo(0,performance.extend({duration:1e3},options),eventData);return this};Camera.prototype.resetNorthPitch=function resetNorthPitch(options,eventData){this.easeTo(performance.extend({bearing:0,pitch:0,duration:1e3},options),eventData);return this};Camera.prototype.snapToNorth=function snapToNorth(options,eventData){if(Math.abs(this.getBearing())<this._bearingSnap){return this.resetNorth(options,eventData)}return this};Camera.prototype.getPitch=function getPitch(){return this.transform.pitch};Camera.prototype.setPitch=function setPitch(pitch,eventData){this.jumpTo({pitch:pitch},eventData);return this};Camera.prototype.cameraForBounds=function cameraForBounds(bounds,options){bounds=performance.LngLatBounds.convert(bounds);return this._cameraForBoxAndBearing(bounds.getNorthWest(),bounds.getSouthEast(),0,options)};Camera.prototype._cameraForBoxAndBearing=function _cameraForBoxAndBearing(p0,p1,bearing,options){var defaultPadding={top:0,bottom:0,right:0,left:0};options=performance.extend({padding:defaultPadding,offset:[0,0],maxZoom:this.transform.maxZoom},options);if(typeof options.padding==="number"){var p=options.padding;options.padding={top:p,bottom:p,right:p,left:p}}options.padding=performance.extend(defaultPadding,options.padding);var tr=this.transform;var edgePadding=tr.padding;var p0world=tr.project(performance.LngLat.convert(p0));var p1world=tr.project(performance.LngLat.convert(p1));var p0rotated=p0world.rotate(-bearing*Math.PI/180);var p1rotated=p1world.rotate(-bearing*Math.PI/180);var upperRight=new performance.Point(Math.max(p0rotated.x,p1rotated.x),Math.max(p0rotated.y,p1rotated.y));var lowerLeft=new performance.Point(Math.min(p0rotated.x,p1rotated.x),Math.min(p0rotated.y,p1rotated.y));var size=upperRight.sub(lowerLeft);var scaleX=(tr.width-(edgePadding.left+edgePadding.right+options.padding.left+options.padding.right))/size.x;var scaleY=(tr.height-(edgePadding.top+edgePadding.bottom+options.padding.top+options.padding.bottom))/size.y;if(scaleY<0||scaleX<0){performance.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.");return}var zoom=Math.min(tr.scaleZoom(tr.scale*Math.min(scaleX,scaleY)),options.maxZoom);var offset=performance.Point.convert(options.offset);var paddingOffsetX=(options.padding.left-options.padding.right)/2;var paddingOffsetY=(options.padding.top-options.padding.bottom)/2;var offsetAtInitialZoom=new performance.Point(offset.x+paddingOffsetX,offset.y+paddingOffsetY);var offsetAtFinalZoom=offsetAtInitialZoom.mult(tr.scale/tr.zoomScale(zoom));var center=tr.unproject(p0world.add(p1world).div(2).sub(offsetAtFinalZoom));return{center:center,zoom:zoom,bearing:bearing}};Camera.prototype.fitBounds=function fitBounds(bounds,options,eventData){return this._fitInternal(this.cameraForBounds(bounds,options),options,eventData)};Camera.prototype.fitScreenCoordinates=function fitScreenCoordinates(p0,p1,bearing,options,eventData){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(performance.Point.convert(p0)),this.transform.pointLocation(performance.Point.convert(p1)),bearing,options),options,eventData)};Camera.prototype._fitInternal=function _fitInternal(calculatedOptions,options,eventData){if(!calculatedOptions){return this}options=performance.extend(calculatedOptions,options);delete options.padding;return options.linear?this.easeTo(options,eventData):this.flyTo(options,eventData)};Camera.prototype.jumpTo=function jumpTo(options,eventData){this.stop();var tr=this.transform;var zoomChanged=false,bearingChanged=false,pitchChanged=false;if("zoom"in options&&tr.zoom!==+options.zoom){zoomChanged=true;tr.zoom=+options.zoom}if(options.center!==undefined){tr.center=performance.LngLat.convert(options.center)}if("bearing"in options&&tr.bearing!==+options.bearing){bearingChanged=true;tr.bearing=+options.bearing}if("pitch"in options&&tr.pitch!==+options.pitch){pitchChanged=true;tr.pitch=+options.pitch}if(options.padding!=null&&!tr.isPaddingEqual(options.padding)){tr.padding=options.padding}this.fire(new performance.Event("movestart",eventData)).fire(new performance.Event("move",eventData));if(zoomChanged){this.fire(new performance.Event("zoomstart",eventData)).fire(new performance.Event("zoom",eventData)).fire(new performance.Event("zoomend",eventData))}if(bearingChanged){this.fire(new performance.Event("rotatestart",eventData)).fire(new performance.Event("rotate",eventData)).fire(new performance.Event("rotateend",eventData))}if(pitchChanged){this.fire(new performance.Event("pitchstart",eventData)).fire(new performance.Event("pitch",eventData)).fire(new performance.Event("pitchend",eventData))}return this.fire(new performance.Event("moveend",eventData))};Camera.prototype.easeTo=function easeTo(options,eventData){var this$1=this;this._stop(false,options.easeId);options=performance.extend({offset:[0,0],duration:500,easing:performance.ease},options);if(options.animate===false||!options.essential&&performance.browser.prefersReducedMotion){options.duration=0}var tr=this.transform,startZoom=this.getZoom(),startBearing=this.getBearing(),startPitch=this.getPitch(),startPadding=this.getPadding(),zoom="zoom"in options?+options.zoom:startZoom,bearing="bearing"in options?this._normalizeBearing(options.bearing,startBearing):startBearing,pitch="pitch"in options?+options.pitch:startPitch,padding="padding"in options?options.padding:tr.padding;var offsetAsPoint=performance.Point.convert(options.offset);var pointAtOffset=tr.centerPoint.add(offsetAsPoint);var locationAtOffset=tr.pointLocation(pointAtOffset);var center=performance.LngLat.convert(options.center||locationAtOffset);this._normalizeCenter(center);var from=tr.project(locationAtOffset);var delta=tr.project(center).sub(from);var finalScale=tr.zoomScale(zoom-startZoom);var around,aroundPoint;if(options.around){around=performance.LngLat.convert(options.around);aroundPoint=tr.locationPoint(around)}var currently={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};this._zooming=this._zooming||zoom!==startZoom;this._rotating=this._rotating||startBearing!==bearing;this._pitching=this._pitching||pitch!==startPitch;this._padding=!tr.isPaddingEqual(padding);this._easeId=options.easeId;this._prepareEase(eventData,options.noMoveStart,currently);clearTimeout(this._easeEndTimeoutID);this._ease((function(k){if(this$1._zooming){tr.zoom=performance.number(startZoom,zoom,k)}if(this$1._rotating){tr.bearing=performance.number(startBearing,bearing,k)}if(this$1._pitching){tr.pitch=performance.number(startPitch,pitch,k)}if(this$1._padding){tr.interpolatePadding(startPadding,padding,k);pointAtOffset=tr.centerPoint.add(offsetAsPoint)}if(around){tr.setLocationAtPoint(around,aroundPoint)}else{var scale=tr.zoomScale(tr.zoom-startZoom);var base=zoom>startZoom?Math.min(2,finalScale):Math.max(.5,finalScale);var speedup=Math.pow(base,1-k);var newCenter=tr.unproject(from.add(delta.mult(k*speedup)).mult(scale));tr.setLocationAtPoint(tr.renderWorldCopies?newCenter.wrap():newCenter,pointAtOffset)}this$1._fireMoveEvents(eventData)}),(function(interruptingEaseId){this$1._afterEase(eventData,interruptingEaseId)}),options);return this};Camera.prototype._prepareEase=function _prepareEase(eventData,noMoveStart,currently){if(currently===void 0)currently={};this._moving=true;if(!noMoveStart&&!currently.moving){this.fire(new performance.Event("movestart",eventData))}if(this._zooming&&!currently.zooming){this.fire(new performance.Event("zoomstart",eventData))}if(this._rotating&&!currently.rotating){this.fire(new performance.Event("rotatestart",eventData))}if(this._pitching&&!currently.pitching){this.fire(new performance.Event("pitchstart",eventData))}};Camera.prototype._fireMoveEvents=function _fireMoveEvents(eventData){this.fire(new performance.Event("move",eventData));if(this._zooming){this.fire(new performance.Event("zoom",eventData))}if(this._rotating){this.fire(new performance.Event("rotate",eventData))}if(this._pitching){this.fire(new performance.Event("pitch",eventData))}};Camera.prototype._afterEase=function _afterEase(eventData,easeId){if(this._easeId&&easeId&&this._easeId===easeId){return}delete this._easeId;var wasZooming=this._zooming;var wasRotating=this._rotating;var wasPitching=this._pitching;this._moving=false;this._zooming=false;this._rotating=false;this._pitching=false;this._padding=false;if(wasZooming){this.fire(new performance.Event("zoomend",eventData))}if(wasRotating){this.fire(new performance.Event("rotateend",eventData))}if(wasPitching){this.fire(new performance.Event("pitchend",eventData))}this.fire(new performance.Event("moveend",eventData))};Camera.prototype.flyTo=function flyTo(options,eventData){var this$1=this;if(!options.essential&&performance.browser.prefersReducedMotion){var coercedOptions=performance.pick(options,["center","zoom","bearing","pitch","around"]);return this.jumpTo(coercedOptions,eventData)}this.stop();options=performance.extend({offset:[0,0],speed:1.2,curve:1.42,easing:performance.ease},options);var tr=this.transform,startZoom=this.getZoom(),startBearing=this.getBearing(),startPitch=this.getPitch(),startPadding=this.getPadding();var zoom="zoom"in options?performance.clamp(+options.zoom,tr.minZoom,tr.maxZoom):startZoom;var bearing="bearing"in options?this._normalizeBearing(options.bearing,startBearing):startBearing;var pitch="pitch"in options?+options.pitch:startPitch;var padding="padding"in options?options.padding:tr.padding;var scale=tr.zoomScale(zoom-startZoom);var offsetAsPoint=performance.Point.convert(options.offset);var pointAtOffset=tr.centerPoint.add(offsetAsPoint);var locationAtOffset=tr.pointLocation(pointAtOffset);var center=performance.LngLat.convert(options.center||locationAtOffset);this._normalizeCenter(center);var from=tr.project(locationAtOffset);var delta=tr.project(center).sub(from);var rho=options.curve;var w0=Math.max(tr.width,tr.height),w1=w0/scale,u1=delta.mag();if("minZoom"in options){var minZoom=performance.clamp(Math.min(options.minZoom,startZoom,zoom),tr.minZoom,tr.maxZoom);var wMax=w0/tr.zoomScale(minZoom-startZoom);rho=Math.sqrt(wMax/u1*2)}var rho2=rho*rho;function r(i){var b=(w1*w1-w0*w0+(i?-1:1)*rho2*rho2*u1*u1)/(2*(i?w1:w0)*rho2*u1);return Math.log(Math.sqrt(b*b+1)-b)}function sinh(n){return(Math.exp(n)-Math.exp(-n))/2}function cosh(n){return(Math.exp(n)+Math.exp(-n))/2}function tanh(n){return sinh(n)/cosh(n)}var r0=r(0);var w=function(s){return cosh(r0)/cosh(r0+rho*s)};var u=function(s){return w0*((cosh(r0)*tanh(r0+rho*s)-sinh(r0))/rho2)/u1};var S=(r(1)-r0)/rho;if(Math.abs(u1)<1e-6||!isFinite(S)){if(Math.abs(w0-w1)<1e-6){return this.easeTo(options,eventData)}var k=w1<w0?-1:1;S=Math.abs(Math.log(w1/w0))/rho;u=function(){return 0};w=function(s){return Math.exp(k*rho*s)}}if("duration"in options){options.duration=+options.duration}else{var V="screenSpeed"in options?+options.screenSpeed/rho:+options.speed;options.duration=1e3*S/V}if(options.maxDuration&&options.duration>options.maxDuration){options.duration=0}this._zooming=true;this._rotating=startBearing!==bearing;this._pitching=pitch!==startPitch;this._padding=!tr.isPaddingEqual(padding);this._prepareEase(eventData,false);this._ease((function(k){var s=k*S;var scale=1/w(s);tr.zoom=k===1?zoom:startZoom+tr.scaleZoom(scale);if(this$1._rotating){tr.bearing=performance.number(startBearing,bearing,k)}if(this$1._pitching){tr.pitch=performance.number(startPitch,pitch,k)}if(this$1._padding){tr.interpolatePadding(startPadding,padding,k);pointAtOffset=tr.centerPoint.add(offsetAsPoint)}var newCenter=k===1?center:tr.unproject(from.add(delta.mult(u(s))).mult(scale));tr.setLocationAtPoint(tr.renderWorldCopies?newCenter.wrap():newCenter,pointAtOffset);this$1._fireMoveEvents(eventData)}),(function(){return this$1._afterEase(eventData)}),options);return this};Camera.prototype.isEasing=function isEasing(){return!!this._easeFrameId};Camera.prototype.stop=function stop(){return this._stop()};Camera.prototype._stop=function _stop(allowGestures,easeId){if(this._easeFrameId){this._cancelRenderFrame(this._easeFrameId);delete this._easeFrameId;delete this._onEaseFrame}if(this._onEaseEnd){var onEaseEnd=this._onEaseEnd;delete this._onEaseEnd;onEaseEnd.call(this,easeId)}if(!allowGestures){var handlers=this.handlers;if(handlers){handlers.stop()}}return this};Camera.prototype._ease=function _ease(frame,finish,options){if(options.animate===false||options.duration===0){frame(1);finish()}else{this._easeStart=performance.browser.now();this._easeOptions=options;this._onEaseFrame=frame;this._onEaseEnd=finish;this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback)}};Camera.prototype._renderFrameCallback=function _renderFrameCallback(){var t=Math.min((performance.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t));if(t<1){this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback)}else{this.stop()}};Camera.prototype._normalizeBearing=function _normalizeBearing(bearing,currentBearing){bearing=performance.wrap(bearing,-180,180);var diff=Math.abs(bearing-currentBearing);if(Math.abs(bearing-360-currentBearing)<diff){bearing-=360}if(Math.abs(bearing+360-currentBearing)<diff){bearing+=360}return bearing};Camera.prototype._normalizeCenter=function _normalizeCenter(center){var tr=this.transform;if(!tr.renderWorldCopies||tr.lngRange){return}var delta=center.lng-tr.center.lng;center.lng+=delta>180?-360:delta<-180?360:0};return Camera}(performance.Evented);var AttributionControl=function AttributionControl(options){if(options===void 0)options={};this.options=options;performance.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};AttributionControl.prototype.getDefaultPosition=function getDefaultPosition(){return"bottom-right"};AttributionControl.prototype.onAdd=function onAdd(map){var compact=this.options&&this.options.compact;this._map=map;this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib");this._innerContainer=DOM.create("div","mapboxgl-ctrl-attrib-inner",this._container);if(compact){this._container.classList.add("mapboxgl-compact")}this._updateAttributions();this._updateEditLink();this._map.on("styledata",this._updateData);this._map.on("sourcedata",this._updateData);this._map.on("moveend",this._updateEditLink);if(compact===undefined){this._map.on("resize",this._updateCompact);this._updateCompact()}return this._container};AttributionControl.prototype.onRemove=function onRemove(){DOM.remove(this._container);this._map.off("styledata",this._updateData);this._map.off("sourcedata",this._updateData);this._map.off("moveend",this._updateEditLink);this._map.off("resize",this._updateCompact);this._map=undefined;this._attribHTML=undefined};AttributionControl.prototype._updateEditLink=function _updateEditLink(){var editLink=this._editLink;if(!editLink){editLink=this._editLink=this._container.querySelector(".mapbox-improve-map")}var params=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||performance.config.ACCESS_TOKEN}];if(editLink){var paramString=params.reduce((function(acc,next,i){if(next.value){acc+=next.key+"="+next.value+(i<params.length-1?"&":"")}return acc}),"?");editLink.href=performance.config.FEEDBACK_URL+"/"+paramString+(this._map._hash?this._map._hash.getHashString(true):"");editLink.rel="noopener nofollow"}};AttributionControl.prototype._updateData=function _updateData(e){if(e&&(e.sourceDataType==="metadata"||e.dataType==="style")){this._updateAttributions();this._updateEditLink()}};AttributionControl.prototype._updateAttributions=function _updateAttributions(){if(!this._map.style){return}var attributions=[];if(this.options.customAttribution){if(Array.isArray(this.options.customAttribution)){attributions=attributions.concat(this.options.customAttribution.map((function(attribution){if(typeof attribution!=="string"){return""}return attribution})))}else if(typeof this.options.customAttribution==="string"){attributions.push(this.options.customAttribution)}}if(this._map.style.stylesheet){var stylesheet=this._map.style.stylesheet;this.styleOwner=stylesheet.owner;this.styleId=stylesheet.id}var sourceCaches=this._map.style.sourceCaches;for(var id in sourceCaches){var sourceCache=sourceCaches[id];if(sourceCache.used){var source=sourceCache.getSource();if(source.attribution&&attributions.indexOf(source.attribution)<0){attributions.push(source.attribution)}}}attributions.sort((function(a,b){return a.length-b.length}));attributions=attributions.filter((function(attrib,i){for(var j=i+1;j<attributions.length;j++){if(attributions[j].indexOf(attrib)>=0){return false}}return true}));var attribHTML=attributions.join(" | ");if(attribHTML===this._attribHTML){return}this._attribHTML=attribHTML;if(attributions.length){this._innerContainer.innerHTML=attribHTML;this._container.classList.remove("mapboxgl-attrib-empty")}else{this._container.classList.add("mapboxgl-attrib-empty")}this._editLink=null};AttributionControl.prototype._updateCompact=function _updateCompact(){if(this._map.getCanvasContainer().offsetWidth<=640){this._container.classList.add("mapboxgl-compact")}else{this._container.classList.remove("mapboxgl-compact")}};var LogoControl=function LogoControl(){performance.bindAll(["_updateLogo"],this);performance.bindAll(["_updateCompact"],this)};LogoControl.prototype.onAdd=function onAdd(map){this._map=map;this._container=DOM.create("div","mapboxgl-ctrl");var anchor=DOM.create("a","mapboxgl-ctrl-logo");anchor.target="_blank";anchor.rel="noopener nofollow";anchor.href="https://www.mapbox.com/";anchor.setAttribute("aria-label",this._map._getUIString("LogoControl.Title"));anchor.setAttribute("rel","noopener nofollow");this._container.appendChild(anchor);this._container.style.display="none";this._map.on("sourcedata",this._updateLogo);this._updateLogo();this._map.on("resize",this._updateCompact);this._updateCompact();return this._container};LogoControl.prototype.onRemove=function onRemove(){DOM.remove(this._container);this._map.off("sourcedata",this._updateLogo);this._map.off("resize",this._updateCompact)};LogoControl.prototype.getDefaultPosition=function getDefaultPosition(){return"bottom-left"};LogoControl.prototype._updateLogo=function _updateLogo(e){if(!e||e.sourceDataType==="metadata"){this._container.style.display=this._logoRequired()?"block":"none"}};LogoControl.prototype._logoRequired=function _logoRequired(){if(!this._map.style){return}var sourceCaches=this._map.style.sourceCaches;for(var id in sourceCaches){var source=sourceCaches[id].getSource();if(source.mapbox_logo){return true}}return false};LogoControl.prototype._updateCompact=function _updateCompact(){var containerChildren=this._container.children;if(containerChildren.length){var anchor=containerChildren[0];if(this._map.getCanvasContainer().offsetWidth<250){anchor.classList.add("mapboxgl-compact")}else{anchor.classList.remove("mapboxgl-compact")}}};var TaskQueue=function TaskQueue(){this._queue=[];this._id=0;this._cleared=false;this._currentlyRunning=false};TaskQueue.prototype.add=function add(callback){var id=++this._id;var queue=this._queue;queue.push({callback:callback,id:id,cancelled:false});return id};TaskQueue.prototype.remove=function remove(id){var running=this._currentlyRunning;var queue=running?this._queue.concat(running):this._queue;for(var i=0,list=queue;i<list.length;i+=1){var task=list[i];if(task.id===id){task.cancelled=true;return}}};TaskQueue.prototype.run=function run(timeStamp){if(timeStamp===void 0)timeStamp=0;var queue=this._currentlyRunning=this._queue;this._queue=[];for(var i=0,list=queue;i<list.length;i+=1){var task=list[i];if(task.cancelled){continue}task.callback(timeStamp);if(this._cleared){break}}this._cleared=false;this._currentlyRunning=false};TaskQueue.prototype.clear=function clear(){if(this._currentlyRunning){this._cleared=true}this._queue=[]};var defaultLocale={"FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm"};var HTMLImageElement=performance.window.HTMLImageElement;var HTMLElement=performance.window.HTMLElement;var ImageBitmap=performance.window.ImageBitmap;var defaultMinZoom=-2;var defaultMaxZoom=22;var defaultMinPitch=0;var defaultMaxPitch=60;var defaultOptions$1={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,minPitch:defaultMinPitch,maxPitch:defaultMaxPitch,interactive:true,scrollZoom:true,boxZoom:true,dragRotate:true,dragPan:true,keyboard:true,doubleClickZoom:true,touchZoomRotate:true,touchPitch:true,bearingSnap:7,clickTolerance:3,pitchWithRotate:true,hash:false,attributionControl:true,failIfMajorPerformanceCaveat:false,preserveDrawingBuffer:false,trackResize:true,renderWorldCopies:true,refreshExpiredTiles:true,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:true};var Map=function(Camera){function Map(options){var this$1=this;options=performance.extend({},defaultOptions$1,options);if(options.minZoom!=null&&options.maxZoom!=null&&options.minZoom>options.maxZoom){throw new Error("maxZoom must be greater than or equal to minZoom")}if(options.minPitch!=null&&options.maxPitch!=null&&options.minPitch>options.maxPitch){throw new Error("maxPitch must be greater than or equal to minPitch")}if(options.minPitch!=null&&options.minPitch<defaultMinPitch){throw new Error("minPitch must be greater than or equal to "+defaultMinPitch)}if(options.maxPitch!=null&&options.maxPitch>defaultMaxPitch){throw new Error("maxPitch must be less than or equal to "+defaultMaxPitch)}var transform=new Transform(options.minZoom,options.maxZoom,options.minPitch,options.maxPitch,options.renderWorldCopies);Camera.call(this,transform,options);this._interactive=options.interactive;this._maxTileCacheSize=options.maxTileCacheSize;this._failIfMajorPerformanceCaveat=options.failIfMajorPerformanceCaveat;this._preserveDrawingBuffer=options.preserveDrawingBuffer;this._antialias=options.antialias;this._trackResize=options.trackResize;this._bearingSnap=options.bearingSnap;this._refreshExpiredTiles=options.refreshExpiredTiles;this._fadeDuration=options.fadeDuration;this._crossSourceCollisions=options.crossSourceCollisions;this._crossFadingFactor=1;this._collectResourceTiming=options.collectResourceTiming;this._renderTaskQueue=new TaskQueue;this._controls=[];this._mapId=performance.uniqueId();this._locale=performance.extend({},defaultLocale,options.locale);this._requestManager=new performance.RequestManager(options.transformRequest,options.accessToken);if(typeof options.container==="string"){this._container=performance.window.document.getElementById(options.container);if(!this._container){throw new Error("Container '"+options.container+"' not found.")}}else if(options.container instanceof HTMLElement){this._container=options.container}else{throw new Error("Invalid type: 'container' must be a String or HTMLElement.")}if(options.maxBounds){this.setMaxBounds(options.maxBounds)}performance.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this);this._setupContainer();this._setupPainter();if(this.painter===undefined){throw new Error("Failed to initialize WebGL.")}this.on("move",(function(){return this$1._update(false)}));this.on("moveend",(function(){return this$1._update(false)}));this.on("zoom",(function(){return this$1._update(true)}));if(typeof performance.window!=="undefined"){performance.window.addEventListener("online",this._onWindowOnline,false);performance.window.addEventListener("resize",this._onWindowResize,false)}this.handlers=new HandlerManager(this,options);var hashName=typeof options.hash==="string"&&options.hash||undefined;this._hash=options.hash&&new Hash(hashName).addTo(this);if(!this._hash||!this._hash._onHashChange()){this.jumpTo({center:options.center,zoom:options.zoom,bearing:options.bearing,pitch:options.pitch});if(options.bounds){this.resize();this.fitBounds(options.bounds,performance.extend({},options.fitBoundsOptions,{duration:0}))}}this.resize();this._localIdeographFontFamily=options.localIdeographFontFamily;if(options.style){this.setStyle(options.style,{localIdeographFontFamily:options.localIdeographFontFamily})}if(options.attributionControl){this.addControl(new AttributionControl({customAttribution:options.customAttribution}))}this.addControl(new LogoControl,options.logoPosition);this.on("style.load",(function(){if(this$1.transform.unmodified){this$1.jumpTo(this$1.style.stylesheet)}}));this.on("data",(function(event){this$1._update(event.dataType==="style");this$1.fire(new performance.Event(event.dataType+"data",event))}));this.on("dataloading",(function(event){this$1.fire(new performance.Event(event.dataType+"dataloading",event))}))}if(Camera)Map.__proto__=Camera;Map.prototype=Object.create(Camera&&Camera.prototype);Map.prototype.constructor=Map;var prototypeAccessors={showTileBoundaries:{configurable:true},showPadding:{configurable:true},showCollisionBoxes:{configurable:true},showOverdrawInspector:{configurable:true},repaint:{configurable:true},vertices:{configurable:true},version:{configurable:true}};Map.prototype._getMapId=function _getMapId(){return this._mapId};Map.prototype.addControl=function addControl(control,position){if(position===undefined&&control.getDefaultPosition){position=control.getDefaultPosition()}if(position===undefined){position="top-right"}if(!control||!control.onAdd){return this.fire(new performance.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")))}var controlElement=control.onAdd(this);this._controls.push(control);var positionContainer=this._controlPositions[position];if(position.indexOf("bottom")!==-1){positionContainer.insertBefore(controlElement,positionContainer.firstChild)}else{positionContainer.appendChild(controlElement)}return this};Map.prototype.removeControl=function removeControl(control){if(!control||!control.onRemove){return this.fire(new performance.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")))}var ci=this._controls.indexOf(control);if(ci>-1){this._controls.splice(ci,1)}control.onRemove(this);return this};Map.prototype.resize=function resize(eventData){var dimensions=this._containerDimensions();var width=dimensions[0];var height=dimensions[1];this._resizeCanvas(width,height);this.transform.resize(width,height);this.painter.resize(width,height);var fireMoving=!this._moving;if(fireMoving){this.stop();this.fire(new performance.Event("movestart",eventData)).fire(new performance.Event("move",eventData))}this.fire(new performance.Event("resize",eventData));if(fireMoving){this.fire(new performance.Event("moveend",eventData))}return this};Map.prototype.getBounds=function getBounds(){return this.transform.getBounds()};Map.prototype.getMaxBounds=function getMaxBounds(){return this.transform.getMaxBounds()};Map.prototype.setMaxBounds=function setMaxBounds(bounds){this.transform.setMaxBounds(performance.LngLatBounds.convert(bounds));return this._update()};Map.prototype.setMinZoom=function setMinZoom(minZoom){minZoom=minZoom===null||minZoom===undefined?defaultMinZoom:minZoom;if(minZoom>=defaultMinZoom&&minZoom<=this.transform.maxZoom){this.transform.minZoom=minZoom;this._update();if(this.getZoom()<minZoom){this.setZoom(minZoom)}return this}else{throw new Error("minZoom must be between "+defaultMinZoom+" and the current maxZoom, inclusive")}};Map.prototype.getMinZoom=function getMinZoom(){return this.transform.minZoom};Map.prototype.setMaxZoom=function setMaxZoom(maxZoom){maxZoom=maxZoom===null||maxZoom===undefined?defaultMaxZoom:maxZoom;if(maxZoom>=this.transform.minZoom){this.transform.maxZoom=maxZoom;this._update();if(this.getZoom()>maxZoom){this.setZoom(maxZoom)}return this}else{throw new Error("maxZoom must be greater than the current minZoom")}};Map.prototype.getMaxZoom=function getMaxZoom(){return this.transform.maxZoom};Map.prototype.setMinPitch=function setMinPitch(minPitch){minPitch=minPitch===null||minPitch===undefined?defaultMinPitch:minPitch;if(minPitch<defaultMinPitch){throw new Error("minPitch must be greater than or equal to "+defaultMinPitch)}if(minPitch>=defaultMinPitch&&minPitch<=this.transform.maxPitch){this.transform.minPitch=minPitch;this._update();if(this.getPitch()<minPitch){this.setPitch(minPitch)}return this}else{throw new Error("minPitch must be between "+defaultMinPitch+" and the current maxPitch, inclusive")}};Map.prototype.getMinPitch=function getMinPitch(){return this.transform.minPitch};Map.prototype.setMaxPitch=function setMaxPitch(maxPitch){maxPitch=maxPitch===null||maxPitch===undefined?defaultMaxPitch:maxPitch;if(maxPitch>defaultMaxPitch){throw new Error("maxPitch must be less than or equal to "+defaultMaxPitch)}if(maxPitch>=this.transform.minPitch){this.transform.maxPitch=maxPitch;this._update();if(this.getPitch()>maxPitch){this.setPitch(maxPitch)}return this}else{throw new Error("maxPitch must be greater than the current minPitch")}};Map.prototype.getMaxPitch=function getMaxPitch(){return this.transform.maxPitch};Map.prototype.getRenderWorldCopies=function getRenderWorldCopies(){return this.transform.renderWorldCopies};Map.prototype.setRenderWorldCopies=function setRenderWorldCopies(renderWorldCopies){this.transform.renderWorldCopies=renderWorldCopies;return this._update()};Map.prototype.project=function project(lnglat){return this.transform.locationPoint(performance.LngLat.convert(lnglat))};Map.prototype.unproject=function unproject(point){return this.transform.pointLocation(performance.Point.convert(point))};Map.prototype.isMoving=function isMoving(){return this._moving||this.handlers.isMoving()};Map.prototype.isZooming=function isZooming(){return this._zooming||this.handlers.isZooming()};Map.prototype.isRotating=function isRotating(){return this._rotating||this.handlers.isRotating()};Map.prototype._createDelegatedListener=function _createDelegatedListener(type,layerId,listener){var this$1=this;var obj;if(type==="mouseenter"||type==="mouseover"){var mousein=false;var mousemove=function(e){var features=this$1.getLayer(layerId)?this$1.queryRenderedFeatures(e.point,{layers:[layerId]}):[];if(!features.length){mousein=false}else if(!mousein){mousein=true;listener.call(this$1,new MapMouseEvent(type,this$1,e.originalEvent,{features:features}))}};var mouseout=function(){mousein=false};return{layer:layerId,listener:listener,delegates:{mousemove:mousemove,mouseout:mouseout}}}else if(type==="mouseleave"||type==="mouseout"){var mousein$1=false;var mousemove$1=function(e){var features=this$1.getLayer(layerId)?this$1.queryRenderedFeatures(e.point,{layers:[layerId]}):[];if(features.length){mousein$1=true}else if(mousein$1){mousein$1=false;listener.call(this$1,new MapMouseEvent(type,this$1,e.originalEvent))}};var mouseout$1=function(e){if(mousein$1){mousein$1=false;listener.call(this$1,new MapMouseEvent(type,this$1,e.originalEvent))}};return{layer:layerId,listener:listener,delegates:{mousemove:mousemove$1,mouseout:mouseout$1}}}else{var delegate=function(e){var features=this$1.getLayer(layerId)?this$1.queryRenderedFeatures(e.point,{layers:[layerId]}):[];if(features.length){e.features=features;listener.call(this$1,e);delete e.features}};return{layer:layerId,listener:listener,delegates:(obj={},obj[type]=delegate,obj)}}};Map.prototype.on=function on(type,layerId,listener){if(listener===undefined){return Camera.prototype.on.call(this,type,layerId)}var delegatedListener=this._createDelegatedListener(type,layerId,listener);this._delegatedListeners=this._delegatedListeners||{};this._delegatedListeners[type]=this._delegatedListeners[type]||[];this._delegatedListeners[type].push(delegatedListener);for(var event in delegatedListener.delegates){this.on(event,delegatedListener.delegates[event])}return this};Map.prototype.once=function once(type,layerId,listener){if(listener===undefined){return Camera.prototype.once.call(this,type,layerId)}var delegatedListener=this._createDelegatedListener(type,layerId,listener);for(var event in delegatedListener.delegates){this.once(event,delegatedListener.delegates[event])}return this};Map.prototype.off=function off(type,layerId,listener){var this$1=this;if(listener===undefined){return Camera.prototype.off.call(this,type,layerId)}var removeDelegatedListener=function(delegatedListeners){var listeners=delegatedListeners[type];for(var i=0;i<listeners.length;i++){var delegatedListener=listeners[i];if(delegatedListener.layer===layerId&&delegatedListener.listener===listener){for(var event in delegatedListener.delegates){this$1.off(event,delegatedListener.delegates[event])}listeners.splice(i,1);return this$1}}};if(this._delegatedListeners&&this._delegatedListeners[type]){removeDelegatedListener(this._delegatedListeners)}return this};Map.prototype.queryRenderedFeatures=function queryRenderedFeatures(geometry,options){if(!this.style){return[]}if(options===undefined&&geometry!==undefined&&!(geometry instanceof performance.Point)&&!Array.isArray(geometry)){options=geometry;geometry=undefined}options=options||{};geometry=geometry||[[0,0],[this.transform.width,this.transform.height]];var queryGeometry;if(geometry instanceof performance.Point||typeof geometry[0]==="number"){queryGeometry=[performance.Point.convert(geometry)]}else{var tl=performance.Point.convert(geometry[0]);var br=performance.Point.convert(geometry[1]);queryGeometry=[tl,new performance.Point(br.x,tl.y),br,new performance.Point(tl.x,br.y),tl]}return this.style.queryRenderedFeatures(queryGeometry,options,this.transform)};Map.prototype.querySourceFeatures=function querySourceFeatures(sourceId,parameters){return this.style.querySourceFeatures(sourceId,parameters)};Map.prototype.setStyle=function setStyle(style,options){options=performance.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},options);if(options.diff!==false&&options.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&style){this._diffStyle(style,options);return this}else{this._localIdeographFontFamily=options.localIdeographFontFamily;return this._updateStyle(style,options)}};Map.prototype._getUIString=function _getUIString(key){var str=this._locale[key];if(str==null){throw new Error("Missing UI string '"+key+"'")}return str};Map.prototype._updateStyle=function _updateStyle(style,options){if(this.style){this.style.setEventedParent(null);this.style._remove()}if(!style){delete this.style;return this}else{this.style=new Style(this,options||{})}this.style.setEventedParent(this,{style:this.style});if(typeof style==="string"){this.style.loadURL(style)}else{this.style.loadJSON(style)}return this};Map.prototype._lazyInitEmptyStyle=function _lazyInitEmptyStyle(){if(!this.style){this.style=new Style(this,{});this.style.setEventedParent(this,{style:this.style});this.style.loadEmpty()}};Map.prototype._diffStyle=function _diffStyle(style,options){var this$1=this;if(typeof style==="string"){var url=this._requestManager.normalizeStyleURL(style);var request=this._requestManager.transformRequest(url,performance.ResourceType.Style);performance.getJSON(request,(function(error,json){if(error){this$1.fire(new performance.ErrorEvent(error))}else if(json){this$1._updateDiff(json,options)}}))}else if(typeof style==="object"){this._updateDiff(style,options)}};Map.prototype._updateDiff=function _updateDiff(style,options){try{if(this.style.setState(style)){this._update(true)}}catch(e){performance.warnOnce("Unable to perform style diff: "+(e.message||e.error||e)+".  Rebuilding the style from scratch.");this._updateStyle(style,options)}};Map.prototype.getStyle=function getStyle(){if(this.style){return this.style.serialize()}};Map.prototype.isStyleLoaded=function isStyleLoaded(){if(!this.style){return performance.warnOnce("There is no style added to the map.")}return this.style.loaded()};Map.prototype.addSource=function addSource(id,source){this._lazyInitEmptyStyle();this.style.addSource(id,source);return this._update(true)};Map.prototype.isSourceLoaded=function isSourceLoaded(id){var source=this.style&&this.style.sourceCaches[id];if(source===undefined){this.fire(new performance.ErrorEvent(new Error("There is no source with ID '"+id+"'")));return}return source.loaded()};Map.prototype.areTilesLoaded=function areTilesLoaded(){var sources=this.style&&this.style.sourceCaches;for(var id in sources){var source=sources[id];var tiles=source._tiles;for(var t in tiles){var tile=tiles[t];if(!(tile.state==="loaded"||tile.state==="errored")){return false}}}return true};Map.prototype.addSourceType=function addSourceType(name,SourceType,callback){this._lazyInitEmptyStyle();return this.style.addSourceType(name,SourceType,callback)};Map.prototype.removeSource=function removeSource(id){this.style.removeSource(id);return this._update(true)};Map.prototype.getSource=function getSource(id){return this.style.getSource(id)};Map.prototype.addImage=function addImage(id,image,ref){if(ref===void 0)ref={};var pixelRatio=ref.pixelRatio;if(pixelRatio===void 0)pixelRatio=1;var sdf=ref.sdf;if(sdf===void 0)sdf=false;var stretchX=ref.stretchX;var stretchY=ref.stretchY;var content=ref.content;this._lazyInitEmptyStyle();var version=0;if(image instanceof HTMLImageElement||ImageBitmap&&image instanceof ImageBitmap){var ref$1=performance.browser.getImageData(image);var width=ref$1.width;var height=ref$1.height;var data=ref$1.data;this.style.addImage(id,{data:new performance.RGBAImage({width:width,height:height},data),pixelRatio:pixelRatio,stretchX:stretchX,stretchY:stretchY,content:content,sdf:sdf,version:version})}else if(image.width===undefined||image.height===undefined){return this.fire(new performance.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, "+"or object with `width`, `height`, and `data` properties with the same format as `ImageData`")))}else{var width$1=image.width;var height$1=image.height;var data$1=image.data;var userImage=image;this.style.addImage(id,{data:new performance.RGBAImage({width:width$1,height:height$1},new Uint8Array(data$1)),pixelRatio:pixelRatio,stretchX:stretchX,stretchY:stretchY,content:content,sdf:sdf,version:version,userImage:userImage});if(userImage.onAdd){userImage.onAdd(this,id)}}};Map.prototype.updateImage=function updateImage(id,image){var existingImage=this.style.getImage(id);if(!existingImage){return this.fire(new performance.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")))}var imageData=image instanceof HTMLImageElement||ImageBitmap&&image instanceof ImageBitmap?performance.browser.getImageData(image):image;var width=imageData.width;var height=imageData.height;var data=imageData.data;if(width===undefined||height===undefined){return this.fire(new performance.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, "+"or object with `width`, `height`, and `data` properties with the same format as `ImageData`")))}if(width!==existingImage.data.width||height!==existingImage.data.height){return this.fire(new performance.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")))}var copy=!(image instanceof HTMLImageElement||ImageBitmap&&image instanceof ImageBitmap);existingImage.data.replace(data,copy);this.style.updateImage(id,existingImage)};Map.prototype.hasImage=function hasImage(id){if(!id){this.fire(new performance.ErrorEvent(new Error("Missing required image id")));return false}return!!this.style.getImage(id)};Map.prototype.removeImage=function removeImage(id){this.style.removeImage(id)};Map.prototype.loadImage=function loadImage(url,callback){performance.getImage(this._requestManager.transformRequest(url,performance.ResourceType.Image),callback)};Map.prototype.listImages=function listImages(){return this.style.listImages()};Map.prototype.addLayer=function addLayer(layer,beforeId){this._lazyInitEmptyStyle();this.style.addLayer(layer,beforeId);return this._update(true)};Map.prototype.moveLayer=function moveLayer(id,beforeId){this.style.moveLayer(id,beforeId);return this._update(true)};Map.prototype.removeLayer=function removeLayer(id){this.style.removeLayer(id);return this._update(true)};Map.prototype.getLayer=function getLayer(id){return this.style.getLayer(id)};Map.prototype.setLayerZoomRange=function setLayerZoomRange(layerId,minzoom,maxzoom){this.style.setLayerZoomRange(layerId,minzoom,maxzoom);return this._update(true)};Map.prototype.setFilter=function setFilter(layerId,filter,options){if(options===void 0)options={};this.style.setFilter(layerId,filter,options);return this._update(true)};Map.prototype.getFilter=function getFilter(layerId){return this.style.getFilter(layerId)};Map.prototype.setPaintProperty=function setPaintProperty(layerId,name,value,options){if(options===void 0)options={};this.style.setPaintProperty(layerId,name,value,options);return this._update(true)};Map.prototype.getPaintProperty=function getPaintProperty(layerId,name){return this.style.getPaintProperty(layerId,name)};Map.prototype.setLayoutProperty=function setLayoutProperty(layerId,name,value,options){if(options===void 0)options={};this.style.setLayoutProperty(layerId,name,value,options);return this._update(true)};Map.prototype.getLayoutProperty=function getLayoutProperty(layerId,name){return this.style.getLayoutProperty(layerId,name)};Map.prototype.setLight=function setLight(light,options){if(options===void 0)options={};this._lazyInitEmptyStyle();this.style.setLight(light,options);return this._update(true)};Map.prototype.getLight=function getLight(){return this.style.getLight()};Map.prototype.setFeatureState=function setFeatureState(feature,state){this.style.setFeatureState(feature,state);return this._update()};Map.prototype.removeFeatureState=function removeFeatureState(target,key){this.style.removeFeatureState(target,key);return this._update()};Map.prototype.getFeatureState=function getFeatureState(feature){return this.style.getFeatureState(feature)};Map.prototype.getContainer=function getContainer(){return this._container};Map.prototype.getCanvasContainer=function getCanvasContainer(){return this._canvasContainer};Map.prototype.getCanvas=function getCanvas(){return this._canvas};Map.prototype._containerDimensions=function _containerDimensions(){var width=0;var height=0;if(this._container){width=this._container.clientWidth||400;height=this._container.clientHeight||300}return[width,height]};Map.prototype._detectMissingCSS=function _detectMissingCSS(){var computedColor=performance.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color");if(computedColor!=="rgb(250, 128, 114)"){performance.warnOnce("This page appears to be missing CSS declarations for "+"Mapbox GL JS, which may cause the map to display incorrectly. "+"Please ensure your page includes mapbox-gl.css, as described "+"in https://www.mapbox.com/mapbox-gl-js/api/.")}};Map.prototype._setupContainer=function _setupContainer(){var container=this._container;container.classList.add("mapboxgl-map");var missingCSSCanary=this._missingCSSCanary=DOM.create("div","mapboxgl-canary",container);missingCSSCanary.style.visibility="hidden";this._detectMissingCSS();var canvasContainer=this._canvasContainer=DOM.create("div","mapboxgl-canvas-container",container);if(this._interactive){canvasContainer.classList.add("mapboxgl-interactive")}this._canvas=DOM.create("canvas","mapboxgl-canvas",canvasContainer);this._canvas.addEventListener("webglcontextlost",this._contextLost,false);this._canvas.addEventListener("webglcontextrestored",this._contextRestored,false);this._canvas.setAttribute("tabindex","0");this._canvas.setAttribute("aria-label","Map");var dimensions=this._containerDimensions();this._resizeCanvas(dimensions[0],dimensions[1]);var controlContainer=this._controlContainer=DOM.create("div","mapboxgl-control-container",container);var positions=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((function(positionName){positions[positionName]=DOM.create("div","mapboxgl-ctrl-"+positionName,controlContainer)}))};Map.prototype._resizeCanvas=function _resizeCanvas(width,height){var pixelRatio=performance.browser.devicePixelRatio||1;this._canvas.width=pixelRatio*width;this._canvas.height=pixelRatio*height;this._canvas.style.width=width+"px";this._canvas.style.height=height+"px"};Map.prototype._setupPainter=function _setupPainter(){var attributes=performance.extend({},mapboxGlSupported.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||false});var gl=this._canvas.getContext("webgl",attributes)||this._canvas.getContext("experimental-webgl",attributes);if(!gl){this.fire(new performance.ErrorEvent(new Error("Failed to initialize WebGL")));return}this.painter=new Painter(gl,this.transform);performance.webpSupported.testSupport(gl)};Map.prototype._contextLost=function _contextLost(event){event.preventDefault();if(this._frame){this._frame.cancel();this._frame=null}this.fire(new performance.Event("webglcontextlost",{originalEvent:event}))};Map.prototype._contextRestored=function _contextRestored(event){this._setupPainter();this.resize();this._update();this.fire(new performance.Event("webglcontextrestored",{originalEvent:event}))};Map.prototype.loaded=function loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()};Map.prototype._update=function _update(updateStyle){if(!this.style){return this}this._styleDirty=this._styleDirty||updateStyle;this._sourcesDirty=true;this.triggerRepaint();return this};Map.prototype._requestRenderFrame=function _requestRenderFrame(callback){this._update();return this._renderTaskQueue.add(callback)};Map.prototype._cancelRenderFrame=function _cancelRenderFrame(id){this._renderTaskQueue.remove(id)};Map.prototype._render=function _render(paintStartTimeStamp){var this$1=this;var gpuTimer,frameStartTime=0;var extTimerQuery=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")){gpuTimer=extTimerQuery.createQueryEXT();extTimerQuery.beginQueryEXT(extTimerQuery.TIME_ELAPSED_EXT,gpuTimer);frameStartTime=performance.browser.now()}this.painter.context.setDirty();this.painter.setBaseState();this._renderTaskQueue.run(paintStartTimeStamp);if(this._removed){return}var crossFading=false;if(this.style&&this._styleDirty){this._styleDirty=false;var zoom=this.transform.zoom;var now=performance.browser.now();this.style.zoomHistory.update(zoom,now);var parameters=new performance.EvaluationParameters(zoom,{now:now,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()});var factor=parameters.crossFadingFactor();if(factor!==1||factor!==this._crossFadingFactor){crossFading=true;this._crossFadingFactor=factor}this.style.update(parameters)}if(this.style&&this._sourcesDirty){this._sourcesDirty=false;this.style._updateSources(this.transform)}this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions);this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")});this.fire(new performance.Event("render"));if(this.loaded()&&!this._loaded){this._loaded=true;this.fire(new performance.Event("load"))}if(this.style&&(this.style.hasTransitions()||crossFading)){this._styleDirty=true}if(this.style&&!this._placementDirty){this.style._releaseSymbolFadeTiles()}if(this.listens("gpu-timing-frame")){var renderCPUTime=performance.browser.now()-frameStartTime;extTimerQuery.endQueryEXT(extTimerQuery.TIME_ELAPSED_EXT,gpuTimer);setTimeout((function(){var renderGPUTime=extTimerQuery.getQueryObjectEXT(gpuTimer,extTimerQuery.QUERY_RESULT_EXT)/(1e3*1e3);extTimerQuery.deleteQueryEXT(gpuTimer);this$1.fire(new performance.Event("gpu-timing-frame",{cpuTime:renderCPUTime,gpuTime:renderGPUTime}))}),50)}if(this.listens("gpu-timing-layer")){var frameLayerQueries=this.painter.collectGpuTimers();setTimeout((function(){var renderedLayerTimes=this$1.painter.queryGpuTimers(frameLayerQueries);this$1.fire(new performance.Event("gpu-timing-layer",{layerTimes:renderedLayerTimes}))}),50)}var somethingDirty=this._sourcesDirty||this._styleDirty||this._placementDirty;if(somethingDirty||this._repaint){this.triggerRepaint()}else if(!this.isMoving()&&this.loaded()){if(!this._fullyLoaded){this._fullyLoaded=true}this.fire(new performance.Event("idle"))}return this};Map.prototype.remove=function remove(){if(this._hash){this._hash.remove()}for(var i=0,list=this._controls;i<list.length;i+=1){var control=list[i];control.onRemove(this)}this._controls=[];if(this._frame){this._frame.cancel();this._frame=null}this._renderTaskQueue.clear();this.painter.destroy();this.handlers.destroy();delete this.handlers;this.setStyle(null);if(typeof performance.window!=="undefined"){performance.window.removeEventListener("resize",this._onWindowResize,false);performance.window.removeEventListener("online",this._onWindowOnline,false)}var extension=this.painter.context.gl.getExtension("WEBGL_lose_context");if(extension){extension.loseContext()}removeNode(this._canvasContainer);removeNode(this._controlContainer);removeNode(this._missingCSSCanary);this._container.classList.remove("mapboxgl-map");this._removed=true;this.fire(new performance.Event("remove"))};Map.prototype.triggerRepaint=function triggerRepaint(){var this$1=this;if(this.style&&!this._frame){this._frame=performance.browser.frame((function(paintStartTimeStamp){this$1._frame=null;this$1._render(paintStartTimeStamp)}))}};Map.prototype._onWindowOnline=function _onWindowOnline(){this._update()};Map.prototype._onWindowResize=function _onWindowResize(event){if(this._trackResize){this.resize({originalEvent:event})._update()}};prototypeAccessors.showTileBoundaries.get=function(){return!!this._showTileBoundaries};prototypeAccessors.showTileBoundaries.set=function(value){if(this._showTileBoundaries===value){return}this._showTileBoundaries=value;this._update()};prototypeAccessors.showPadding.get=function(){return!!this._showPadding};prototypeAccessors.showPadding.set=function(value){if(this._showPadding===value){return}this._showPadding=value;this._update()};prototypeAccessors.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes};prototypeAccessors.showCollisionBoxes.set=function(value){if(this._showCollisionBoxes===value){return}this._showCollisionBoxes=value;if(value){this.style._generateCollisionBoxes()}else{this._update()}};prototypeAccessors.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector};prototypeAccessors.showOverdrawInspector.set=function(value){if(this._showOverdrawInspector===value){return}this._showOverdrawInspector=value;this._update()};prototypeAccessors.repaint.get=function(){return!!this._repaint};prototypeAccessors.repaint.set=function(value){if(this._repaint!==value){this._repaint=value;this.triggerRepaint()}};prototypeAccessors.vertices.get=function(){return!!this._vertices};prototypeAccessors.vertices.set=function(value){this._vertices=value;this._update()};Map.prototype._setCacheLimits=function _setCacheLimits(limit,checkThreshold){performance.setCacheLimits(limit,checkThreshold)};prototypeAccessors.version.get=function(){return performance.version};Object.defineProperties(Map.prototype,prototypeAccessors);return Map}(Camera);function removeNode(node){if(node.parentNode){node.parentNode.removeChild(node)}}var defaultOptions$2={showCompass:true,showZoom:true,visualizePitch:false};var NavigationControl=function NavigationControl(options){var this$1=this;this.options=performance.extend({},defaultOptions$2,options);this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-group");this._container.addEventListener("contextmenu",(function(e){return e.preventDefault()}));if(this.options.showZoom){performance.bindAll(["_setButtonTitle","_updateZoomButtons"],this);this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(function(e){return this$1._map.zoomIn({},{originalEvent:e})}));DOM.create("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden",true);this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(function(e){return this$1._map.zoomOut({},{originalEvent:e})}));DOM.create("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden",true)}if(this.options.showCompass){performance.bindAll(["_rotateCompassArrow"],this);this._compass=this._createButton("mapboxgl-ctrl-compass",(function(e){if(this$1.options.visualizePitch){this$1._map.resetNorthPitch({},{originalEvent:e})}else{this$1._map.resetNorth({},{originalEvent:e})}}));this._compassIcon=DOM.create("span","mapboxgl-ctrl-icon",this._compass);this._compassIcon.setAttribute("aria-hidden",true)}};NavigationControl.prototype._updateZoomButtons=function _updateZoomButtons(){var zoom=this._map.getZoom();this._zoomInButton.disabled=zoom===this._map.getMaxZoom();this._zoomOutButton.disabled=zoom===this._map.getMinZoom()};NavigationControl.prototype._rotateCompassArrow=function _rotateCompassArrow(){var rotate=this.options.visualizePitch?"scale("+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+") rotateX("+this._map.transform.pitch+"deg) rotateZ("+this._map.transform.angle*(180/Math.PI)+"deg)":"rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassIcon.style.transform=rotate};NavigationControl.prototype.onAdd=function onAdd(map){this._map=map;if(this.options.showZoom){this._setButtonTitle(this._zoomInButton,"ZoomIn");this._setButtonTitle(this._zoomOutButton,"ZoomOut");this._map.on("zoom",this._updateZoomButtons);this._updateZoomButtons()}if(this.options.showCompass){this._setButtonTitle(this._compass,"ResetBearing");if(this.options.visualizePitch){this._map.on("pitch",this._rotateCompassArrow)}this._map.on("rotate",this._rotateCompassArrow);this._rotateCompassArrow();this._handler=new MouseRotateWrapper(this._map,this._compass,this.options.visualizePitch)}return this._container};NavigationControl.prototype.onRemove=function onRemove(){DOM.remove(this._container);if(this.options.showZoom){this._map.off("zoom",this._updateZoomButtons)}if(this.options.showCompass){if(this.options.visualizePitch){this._map.off("pitch",this._rotateCompassArrow)}this._map.off("rotate",this._rotateCompassArrow);this._handler.off();delete this._handler}delete this._map};NavigationControl.prototype._createButton=function _createButton(className,fn){var a=DOM.create("button",className,this._container);a.type="button";a.addEventListener("click",fn);return a};NavigationControl.prototype._setButtonTitle=function _setButtonTitle(button,title){var str=this._map._getUIString("NavigationControl."+title);button.title=str;button.setAttribute("aria-label",str)};var MouseRotateWrapper=function MouseRotateWrapper(map,element,pitch){if(pitch===void 0)pitch=false;this._clickTolerance=10;this.element=element;this.mouseRotate=new MouseRotateHandler({clickTolerance:map.dragRotate._mouseRotate._clickTolerance});this.map=map;if(pitch){this.mousePitch=new MousePitchHandler({clickTolerance:map.dragRotate._mousePitch._clickTolerance})}performance.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this);DOM.addEventListener(element,"mousedown",this.mousedown);DOM.addEventListener(element,"touchstart",this.touchstart,{passive:false});DOM.addEventListener(element,"touchmove",this.touchmove);DOM.addEventListener(element,"touchend",this.touchend);DOM.addEventListener(element,"touchcancel",this.reset)};MouseRotateWrapper.prototype.down=function down(e,point){this.mouseRotate.mousedown(e,point);if(this.mousePitch){this.mousePitch.mousedown(e,point)}DOM.disableDrag()};MouseRotateWrapper.prototype.move=function move(e,point){var map=this.map;var r=this.mouseRotate.mousemoveWindow(e,point);if(r&&r.bearingDelta){map.setBearing(map.getBearing()+r.bearingDelta)}if(this.mousePitch){var p=this.mousePitch.mousemoveWindow(e,point);if(p&&p.pitchDelta){map.setPitch(map.getPitch()+p.pitchDelta)}}};MouseRotateWrapper.prototype.off=function off(){var element=this.element;DOM.removeEventListener(element,"mousedown",this.mousedown);DOM.removeEventListener(element,"touchstart",this.touchstart,{passive:false});DOM.removeEventListener(element,"touchmove",this.touchmove);DOM.removeEventListener(element,"touchend",this.touchend);DOM.removeEventListener(element,"touchcancel",this.reset);this.offTemp()};MouseRotateWrapper.prototype.offTemp=function offTemp(){DOM.enableDrag();DOM.removeEventListener(performance.window,"mousemove",this.mousemove);DOM.removeEventListener(performance.window,"mouseup",this.mouseup)};MouseRotateWrapper.prototype.mousedown=function mousedown(e){this.down(performance.extend({},e,{ctrlKey:true,preventDefault:function(){return e.preventDefault()}}),DOM.mousePos(this.element,e));DOM.addEventListener(performance.window,"mousemove",this.mousemove);DOM.addEventListener(performance.window,"mouseup",this.mouseup)};MouseRotateWrapper.prototype.mousemove=function mousemove(e){this.move(e,DOM.mousePos(this.element,e))};MouseRotateWrapper.prototype.mouseup=function mouseup(e){this.mouseRotate.mouseupWindow(e);if(this.mousePitch){this.mousePitch.mouseupWindow(e)}this.offTemp()};MouseRotateWrapper.prototype.touchstart=function touchstart(e){if(e.targetTouches.length!==1){this.reset()}else{this._startPos=this._lastPos=DOM.touchPos(this.element,e.targetTouches)[0];this.down({type:"mousedown",button:0,ctrlKey:true,preventDefault:function(){return e.preventDefault()}},this._startPos)}};MouseRotateWrapper.prototype.touchmove=function touchmove(e){if(e.targetTouches.length!==1){this.reset()}else{this._lastPos=DOM.touchPos(this.element,e.targetTouches)[0];this.move({preventDefault:function(){return e.preventDefault()}},this._lastPos)}};MouseRotateWrapper.prototype.touchend=function touchend(e){if(e.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance){this.element.click()}this.reset()};MouseRotateWrapper.prototype.reset=function reset(){this.mouseRotate.reset();if(this.mousePitch){this.mousePitch.reset()}delete this._startPos;delete this._lastPos;this.offTemp()};function smartWrap(lngLat,priorPos,transform){lngLat=new performance.LngLat(lngLat.lng,lngLat.lat);if(priorPos){var left=new performance.LngLat(lngLat.lng-360,lngLat.lat);var right=new performance.LngLat(lngLat.lng+360,lngLat.lat);var delta=transform.locationPoint(lngLat).distSqr(priorPos);if(transform.locationPoint(left).distSqr(priorPos)<delta){lngLat=left}else if(transform.locationPoint(right).distSqr(priorPos)<delta){lngLat=right}}while(Math.abs(lngLat.lng-transform.center.lng)>180){var pos=transform.locationPoint(lngLat);if(pos.x>=0&&pos.y>=0&&pos.x<=transform.width&&pos.y<=transform.height){break}if(lngLat.lng>transform.center.lng){lngLat.lng-=360}else{lngLat.lng+=360}}return lngLat}var anchorTranslate={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function applyAnchorClass(element,anchor,prefix){var classList=element.classList;for(var key in anchorTranslate){classList.remove("mapboxgl-"+prefix+"-anchor-"+key)}classList.add("mapboxgl-"+prefix+"-anchor-"+anchor)}var Marker=function(Evented){function Marker(options,legacyOptions){var this$1=this;Evented.call(this);if(options instanceof performance.window.HTMLElement||legacyOptions){options=performance.extend({element:options},legacyOptions)}performance.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this);this._anchor=options&&options.anchor||"center";this._color=options&&options.color||"#3FB1CE";this._draggable=options&&options.draggable||false;this._state="inactive";this._rotation=options&&options.rotation||0;this._rotationAlignment=options&&options.rotationAlignment||"auto";this._pitchAlignment=options&&options.pitchAlignment&&options.pitchAlignment!=="auto"?options.pitchAlignment:this._rotationAlignment;if(!options||!options.element){this._defaultMarker=true;this._element=DOM.create("div");this._element.setAttribute("aria-label","Map marker");var svg=DOM.createNS("http://www.w3.org/2000/svg","svg");svg.setAttributeNS(null,"display","block");svg.setAttributeNS(null,"height","41px");svg.setAttributeNS(null,"width","27px");svg.setAttributeNS(null,"viewBox","0 0 27 41");var markerLarge=DOM.createNS("http://www.w3.org/2000/svg","g");markerLarge.setAttributeNS(null,"stroke","none");markerLarge.setAttributeNS(null,"stroke-width","1");markerLarge.setAttributeNS(null,"fill","none");markerLarge.setAttributeNS(null,"fill-rule","evenodd");var page1=DOM.createNS("http://www.w3.org/2000/svg","g");page1.setAttributeNS(null,"fill-rule","nonzero");var shadow=DOM.createNS("http://www.w3.org/2000/svg","g");shadow.setAttributeNS(null,"transform","translate(3.0, 29.0)");shadow.setAttributeNS(null,"fill","#000000");var ellipses=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(var i=0,list=ellipses;i<list.length;i+=1){var data=list[i];var ellipse=DOM.createNS("http://www.w3.org/2000/svg","ellipse");ellipse.setAttributeNS(null,"opacity","0.04");ellipse.setAttributeNS(null,"cx","10.5");ellipse.setAttributeNS(null,"cy","5.80029008");ellipse.setAttributeNS(null,"rx",data["rx"]);ellipse.setAttributeNS(null,"ry",data["ry"]);shadow.appendChild(ellipse)}var background=DOM.createNS("http://www.w3.org/2000/svg","g");background.setAttributeNS(null,"fill",this._color);var bgPath=DOM.createNS("http://www.w3.org/2000/svg","path");bgPath.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z");background.appendChild(bgPath);var border=DOM.createNS("http://www.w3.org/2000/svg","g");border.setAttributeNS(null,"opacity","0.25");border.setAttributeNS(null,"fill","#000000");var borderPath=DOM.createNS("http://www.w3.org/2000/svg","path");borderPath.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z");border.appendChild(borderPath);var maki=DOM.createNS("http://www.w3.org/2000/svg","g");maki.setAttributeNS(null,"transform","translate(6.0, 7.0)");maki.setAttributeNS(null,"fill","#FFFFFF");var circleContainer=DOM.createNS("http://www.w3.org/2000/svg","g");circleContainer.setAttributeNS(null,"transform","translate(8.0, 8.0)");var circle1=DOM.createNS("http://www.w3.org/2000/svg","circle");circle1.setAttributeNS(null,"fill","#000000");circle1.setAttributeNS(null,"opacity","0.25");circle1.setAttributeNS(null,"cx","5.5");circle1.setAttributeNS(null,"cy","5.5");circle1.setAttributeNS(null,"r","5.4999962");var circle2=DOM.createNS("http://www.w3.org/2000/svg","circle");circle2.setAttributeNS(null,"fill","#FFFFFF");circle2.setAttributeNS(null,"cx","5.5");circle2.setAttributeNS(null,"cy","5.5");circle2.setAttributeNS(null,"r","5.4999962");circleContainer.appendChild(circle1);circleContainer.appendChild(circle2);page1.appendChild(shadow);page1.appendChild(background);page1.appendChild(border);page1.appendChild(maki);page1.appendChild(circleContainer);svg.appendChild(page1);this._element.appendChild(svg);this._offset=performance.Point.convert(options&&options.offset||[0,-14])}else{this._element=options.element;this._offset=performance.Point.convert(options&&options.offset||[0,0])}this._element.classList.add("mapboxgl-marker");this._element.addEventListener("dragstart",(function(e){e.preventDefault()}));this._element.addEventListener("mousedown",(function(e){e.preventDefault()}));this._element.addEventListener("focus",(function(){var el=this$1._map.getContainer();el.scrollTop=0;el.scrollLeft=0}));applyAnchorClass(this._element,this._anchor,"marker");this._popup=null}if(Evented)Marker.__proto__=Evented;Marker.prototype=Object.create(Evented&&Evented.prototype);Marker.prototype.constructor=Marker;Marker.prototype.addTo=function addTo(map){this.remove();this._map=map;map.getCanvasContainer().appendChild(this._element);map.on("move",this._update);map.on("moveend",this._update);this.setDraggable(this._draggable);this._update();this._map.on("click",this._onMapClick);return this};Marker.prototype.remove=function remove(){if(this._map){this._map.off("click",this._onMapClick);this._map.off("move",this._update);this._map.off("moveend",this._update);this._map.off("mousedown",this._addDragHandler);this._map.off("touchstart",this._addDragHandler);this._map.off("mouseup",this._onUp);this._map.off("touchend",this._onUp);this._map.off("mousemove",this._onMove);this._map.off("touchmove",this._onMove);delete this._map}DOM.remove(this._element);if(this._popup){this._popup.remove()}return this};Marker.prototype.getLngLat=function getLngLat(){return this._lngLat};Marker.prototype.setLngLat=function setLngLat(lnglat){this._lngLat=performance.LngLat.convert(lnglat);this._pos=null;if(this._popup){this._popup.setLngLat(this._lngLat)}this._update();return this};Marker.prototype.getElement=function getElement(){return this._element};Marker.prototype.setPopup=function setPopup(popup){if(this._popup){this._popup.remove();this._popup=null;this._element.removeEventListener("keypress",this._onKeyPress);if(!this._originalTabIndex){this._element.removeAttribute("tabindex")}}if(popup){if(!("offset"in popup.options)){var markerHeight=41-5.8/2;var markerRadius=13.5;var linearOffset=Math.sqrt(Math.pow(markerRadius,2)/2);popup.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-markerHeight],"bottom-left":[linearOffset,(markerHeight-markerRadius+linearOffset)*-1],"bottom-right":[-linearOffset,(markerHeight-markerRadius+linearOffset)*-1],left:[markerRadius,(markerHeight-markerRadius)*-1],right:[-markerRadius,(markerHeight-markerRadius)*-1]}:this._offset}this._popup=popup;if(this._lngLat){this._popup.setLngLat(this._lngLat)}this._originalTabIndex=this._element.getAttribute("tabindex");if(!this._originalTabIndex){this._element.setAttribute("tabindex","0")}this._element.addEventListener("keypress",this._onKeyPress)}return this};Marker.prototype._onKeyPress=function _onKeyPress(e){var code=e.code;var legacyCode=e.charCode||e.keyCode;if(code==="Space"||code==="Enter"||legacyCode===32||legacyCode===13){this.togglePopup()}};Marker.prototype._onMapClick=function _onMapClick(e){var targetElement=e.originalEvent.target;var element=this._element;if(this._popup&&(targetElement===element||element.contains(targetElement))){this.togglePopup()}};Marker.prototype.getPopup=function getPopup(){return this._popup};Marker.prototype.togglePopup=function togglePopup(){var popup=this._popup;if(!popup){return this}else if(popup.isOpen()){popup.remove()}else{popup.addTo(this._map)}return this};Marker.prototype._update=function _update(e){if(!this._map){return}if(this._map.transform.renderWorldCopies){this._lngLat=smartWrap(this._lngLat,this._pos,this._map.transform)}this._pos=this._map.project(this._lngLat)._add(this._offset);var rotation="";if(this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"){rotation="rotateZ("+this._rotation+"deg)"}else if(this._rotationAlignment==="map"){rotation="rotateZ("+(this._rotation-this._map.getBearing())+"deg)"}var pitch="";if(this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"){pitch="rotateX(0deg)"}else if(this._pitchAlignment==="map"){pitch="rotateX("+this._map.getPitch()+"deg)"}if(!e||e.type==="moveend"){this._pos=this._pos.round()}DOM.setTransform(this._element,anchorTranslate[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px) "+pitch+" "+rotation)};Marker.prototype.getOffset=function getOffset(){return this._offset};Marker.prototype.setOffset=function setOffset(offset){this._offset=performance.Point.convert(offset);this._update();return this};Marker.prototype._onMove=function _onMove(e){this._pos=e.point.sub(this._positionDelta);this._lngLat=this._map.unproject(this._pos);this.setLngLat(this._lngLat);this._element.style.pointerEvents="none";if(this._state==="pending"){this._state="active";this.fire(new performance.Event("dragstart"))}this.fire(new performance.Event("drag"))};Marker.prototype._onUp=function _onUp(){this._element.style.pointerEvents="auto";this._positionDelta=null;this._map.off("mousemove",this._onMove);this._map.off("touchmove",this._onMove);if(this._state==="active"){this.fire(new performance.Event("dragend"))}this._state="inactive"};Marker.prototype._addDragHandler=function _addDragHandler(e){if(this._element.contains(e.originalEvent.target)){e.preventDefault();this._positionDelta=e.point.sub(this._pos).add(this._offset);this._state="pending";this._map.on("mousemove",this._onMove);this._map.on("touchmove",this._onMove);this._map.once("mouseup",this._onUp);this._map.once("touchend",this._onUp)}};Marker.prototype.setDraggable=function setDraggable(shouldBeDraggable){this._draggable=!!shouldBeDraggable;if(this._map){if(shouldBeDraggable){this._map.on("mousedown",this._addDragHandler);this._map.on("touchstart",this._addDragHandler)}else{this._map.off("mousedown",this._addDragHandler);this._map.off("touchstart",this._addDragHandler)}}return this};Marker.prototype.isDraggable=function isDraggable(){return this._draggable};Marker.prototype.setRotation=function setRotation(rotation){this._rotation=rotation||0;this._update();return this};Marker.prototype.getRotation=function getRotation(){return this._rotation};Marker.prototype.setRotationAlignment=function setRotationAlignment(alignment){this._rotationAlignment=alignment||"auto";this._update();return this};Marker.prototype.getRotationAlignment=function getRotationAlignment(){return this._rotationAlignment};Marker.prototype.setPitchAlignment=function setPitchAlignment(alignment){this._pitchAlignment=alignment&&alignment!=="auto"?alignment:this._rotationAlignment;this._update();return this};Marker.prototype.getPitchAlignment=function getPitchAlignment(){return this._pitchAlignment};return Marker}(performance.Evented);var defaultOptions$3={positionOptions:{enableHighAccuracy:false,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:false,showAccuracyCircle:true,showUserLocation:true};var supportsGeolocation;function checkGeolocationSupport(callback){if(supportsGeolocation!==undefined){callback(supportsGeolocation)}else if(performance.window.navigator.permissions!==undefined){performance.window.navigator.permissions.query({name:"geolocation"}).then((function(p){supportsGeolocation=p.state!=="denied";callback(supportsGeolocation)}))}else{supportsGeolocation=!!performance.window.navigator.geolocation;callback(supportsGeolocation)}}var numberOfWatches=0;var noTimeout=false;var GeolocateControl=function(Evented){function GeolocateControl(options){Evented.call(this);this.options=performance.extend({},defaultOptions$3,options);performance.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}if(Evented)GeolocateControl.__proto__=Evented;GeolocateControl.prototype=Object.create(Evented&&Evented.prototype);GeolocateControl.prototype.constructor=GeolocateControl;GeolocateControl.prototype.onAdd=function onAdd(map){this._map=map;this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-group");checkGeolocationSupport(this._setupUI);return this._container};GeolocateControl.prototype.onRemove=function onRemove(){if(this._geolocationWatchID!==undefined){performance.window.navigator.geolocation.clearWatch(this._geolocationWatchID);this._geolocationWatchID=undefined}if(this.options.showUserLocation&&this._userLocationDotMarker){this._userLocationDotMarker.remove()}if(this.options.showAccuracyCircle&&this._accuracyCircleMarker){this._accuracyCircleMarker.remove()}DOM.remove(this._container);this._map.off("zoom",this._onZoom);this._map=undefined;numberOfWatches=0;noTimeout=false};GeolocateControl.prototype._isOutOfMapMaxBounds=function _isOutOfMapMaxBounds(position){var bounds=this._map.getMaxBounds();var coordinates=position.coords;return bounds&&(coordinates.longitude<bounds.getWest()||coordinates.longitude>bounds.getEast()||coordinates.latitude<bounds.getSouth()||coordinates.latitude>bounds.getNorth())};GeolocateControl.prototype._setErrorState=function _setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break}};GeolocateControl.prototype._onSuccess=function _onSuccess(position){if(!this._map){return}if(this._isOutOfMapMaxBounds(position)){this._setErrorState();this.fire(new performance.Event("outofmaxbounds",position));this._updateMarker();this._finish();return}if(this.options.trackUserLocation){this._lastKnownPosition=position;switch(this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break}}if(this.options.showUserLocation&&this._watchState!=="OFF"){this._updateMarker(position)}if(!this.options.trackUserLocation||this._watchState==="ACTIVE_LOCK"){this._updateCamera(position)}if(this.options.showUserLocation){this._dotElement.classList.remove("mapboxgl-user-location-dot-stale")}this.fire(new performance.Event("geolocate",position));this._finish()};GeolocateControl.prototype._updateCamera=function _updateCamera(position){var center=new performance.LngLat(position.coords.longitude,position.coords.latitude);var radius=position.coords.accuracy;var bearing=this._map.getBearing();var options=performance.extend({bearing:bearing},this.options.fitBoundsOptions);this._map.fitBounds(center.toBounds(radius),options,{geolocateSource:true})};GeolocateControl.prototype._updateMarker=function _updateMarker(position){if(position){var center=new performance.LngLat(position.coords.longitude,position.coords.latitude);this._accuracyCircleMarker.setLngLat(center).addTo(this._map);this._userLocationDotMarker.setLngLat(center).addTo(this._map);this._accuracy=position.coords.accuracy;if(this.options.showUserLocation&&this.options.showAccuracyCircle){this._updateCircleRadius()}}else{this._userLocationDotMarker.remove();this._accuracyCircleMarker.remove()}};GeolocateControl.prototype._updateCircleRadius=function _updateCircleRadius(){var y=this._map._container.clientHeight/2;var a=this._map.unproject([0,y]);var b=this._map.unproject([1,y]);var metersPerPixel=a.distanceTo(b);var circleDiameter=Math.ceil(2*this._accuracy/metersPerPixel);this._circleElement.style.width=circleDiameter+"px";this._circleElement.style.height=circleDiameter+"px"};GeolocateControl.prototype._onZoom=function _onZoom(){if(this.options.showUserLocation&&this.options.showAccuracyCircle){this._updateCircleRadius()}};GeolocateControl.prototype._onError=function _onError(error){if(!this._map){return}if(this.options.trackUserLocation){if(error.code===1){this._watchState="OFF";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.disabled=true;var title=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=title;this._geolocateButton.setAttribute("aria-label",title);if(this._geolocationWatchID!==undefined){this._clearWatch()}}else if(error.code===3&&noTimeout){return}else{this._setErrorState()}}if(this._watchState!=="OFF"&&this.options.showUserLocation){this._dotElement.classList.add("mapboxgl-user-location-dot-stale")}this.fire(new performance.Event("error",error));this._finish()};GeolocateControl.prototype._finish=function _finish(){if(this._timeoutId){clearTimeout(this._timeoutId)}this._timeoutId=undefined};GeolocateControl.prototype._setupUI=function _setupUI(supported){var this$1=this;this._container.addEventListener("contextmenu",(function(e){return e.preventDefault()}));this._geolocateButton=DOM.create("button","mapboxgl-ctrl-geolocate",this._container);DOM.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",true);this._geolocateButton.type="button";if(supported===false){performance.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var title=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=true;this._geolocateButton.title=title;this._geolocateButton.setAttribute("aria-label",title)}else{var title$1=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=title$1;this._geolocateButton.setAttribute("aria-label",title$1)}if(this.options.trackUserLocation){this._geolocateButton.setAttribute("aria-pressed","false");this._watchState="OFF"}if(this.options.showUserLocation){this._dotElement=DOM.create("div","mapboxgl-user-location-dot");this._userLocationDotMarker=new Marker(this._dotElement);this._circleElement=DOM.create("div","mapboxgl-user-location-accuracy-circle");this._accuracyCircleMarker=new Marker({element:this._circleElement,pitchAlignment:"map"});if(this.options.trackUserLocation){this._watchState="OFF"}this._map.on("zoom",this._onZoom)}this._geolocateButton.addEventListener("click",this.trigger.bind(this));this._setup=true;if(this.options.trackUserLocation){this._map.on("movestart",(function(event){var fromResize=event.originalEvent&&event.originalEvent.type==="resize";if(!event.geolocateSource&&this$1._watchState==="ACTIVE_LOCK"&&!fromResize){this$1._watchState="BACKGROUND";this$1._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");this$1._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this$1.fire(new performance.Event("trackuserlocationend"))}}))}};GeolocateControl.prototype.trigger=function trigger(){if(!this._setup){performance.warnOnce("Geolocate control triggered before added to a map");return false}if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE";this.fire(new performance.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":numberOfWatches--;noTimeout=false;this._watchState="OFF";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this.fire(new performance.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");if(this._lastKnownPosition){this._updateCamera(this._lastKnownPosition)}this.fire(new performance.Event("trackuserlocationstart"));break}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error");break}if(this._watchState==="OFF"&&this._geolocationWatchID!==undefined){this._clearWatch()}else if(this._geolocationWatchID===undefined){this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.setAttribute("aria-pressed","true");numberOfWatches++;var positionOptions;if(numberOfWatches>1){positionOptions={maximumAge:6e5,timeout:0};noTimeout=true}else{positionOptions=this.options.positionOptions;noTimeout=false}this._geolocationWatchID=performance.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,positionOptions)}}else{performance.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions);this._timeoutId=setTimeout(this._finish,1e4)}return true};GeolocateControl.prototype._clearWatch=function _clearWatch(){performance.window.navigator.geolocation.clearWatch(this._geolocationWatchID);this._geolocationWatchID=undefined;this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.setAttribute("aria-pressed","false");if(this.options.showUserLocation){this._updateMarker(null)}};return GeolocateControl}(performance.Evented);var defaultOptions$4={maxWidth:100,unit:"metric"};var ScaleControl=function ScaleControl(options){this.options=performance.extend({},defaultOptions$4,options);performance.bindAll(["_onMove","setUnit"],this)};ScaleControl.prototype.getDefaultPosition=function getDefaultPosition(){return"bottom-left"};ScaleControl.prototype._onMove=function _onMove(){updateScale(this._map,this._container,this.options)};ScaleControl.prototype.onAdd=function onAdd(map){this._map=map;this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",map.getContainer());this._map.on("move",this._onMove);this._onMove();return this._container};ScaleControl.prototype.onRemove=function onRemove(){DOM.remove(this._container);this._map.off("move",this._onMove);this._map=undefined};ScaleControl.prototype.setUnit=function setUnit(unit){this.options.unit=unit;updateScale(this._map,this._container,this.options)};function updateScale(map,container,options){var maxWidth=options&&options.maxWidth||100;var y=map._container.clientHeight/2;var left=map.unproject([0,y]);var right=map.unproject([maxWidth,y]);var maxMeters=left.distanceTo(right);if(options&&options.unit==="imperial"){var maxFeet=3.2808*maxMeters;if(maxFeet>5280){var maxMiles=maxFeet/5280;setScale(container,maxWidth,maxMiles,map._getUIString("ScaleControl.Miles"))}else{setScale(container,maxWidth,maxFeet,map._getUIString("ScaleControl.Feet"))}}else if(options&&options.unit==="nautical"){var maxNauticals=maxMeters/1852;setScale(container,maxWidth,maxNauticals,map._getUIString("ScaleControl.NauticalMiles"))}else if(maxMeters>=1e3){setScale(container,maxWidth,maxMeters/1e3,map._getUIString("ScaleControl.Kilometers"))}else{setScale(container,maxWidth,maxMeters,map._getUIString("ScaleControl.Meters"))}}function setScale(container,maxWidth,maxDistance,unit){var distance=getRoundNum(maxDistance);var ratio=distance/maxDistance;container.style.width=maxWidth*ratio+"px";container.innerHTML=distance+"&nbsp;"+unit}function getDecimalRoundNum(d){var multiplier=Math.pow(10,Math.ceil(-Math.log(d)/Math.LN10));return Math.round(d*multiplier)/multiplier}function getRoundNum(num){var pow10=Math.pow(10,(""+Math.floor(num)).length-1);var d=num/pow10;d=d>=10?10:d>=5?5:d>=3?3:d>=2?2:d>=1?1:getDecimalRoundNum(d);return pow10*d}var FullscreenControl=function FullscreenControl(options){this._fullscreen=false;if(options&&options.container){if(options.container instanceof performance.window.HTMLElement){this._container=options.container}else{performance.warnOnce("Full screen control 'container' must be a DOM element.")}}performance.bindAll(["_onClickFullscreen","_changeIcon"],this);if("onfullscreenchange"in performance.window.document){this._fullscreenchange="fullscreenchange"}else if("onmozfullscreenchange"in performance.window.document){this._fullscreenchange="mozfullscreenchange"}else if("onwebkitfullscreenchange"in performance.window.document){this._fullscreenchange="webkitfullscreenchange"}else if("onmsfullscreenchange"in performance.window.document){this._fullscreenchange="MSFullscreenChange"}};FullscreenControl.prototype.onAdd=function onAdd(map){this._map=map;if(!this._container){this._container=this._map.getContainer()}this._controlContainer=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-group");if(this._checkFullscreenSupport()){this._setupUI()}else{this._controlContainer.style.display="none";performance.warnOnce("This device does not support fullscreen mode.")}return this._controlContainer};FullscreenControl.prototype.onRemove=function onRemove(){DOM.remove(this._controlContainer);this._map=null;performance.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)};FullscreenControl.prototype._checkFullscreenSupport=function _checkFullscreenSupport(){return!!(performance.window.document.fullscreenEnabled||performance.window.document.mozFullScreenEnabled||performance.window.document.msFullscreenEnabled||performance.window.document.webkitFullscreenEnabled)};FullscreenControl.prototype._setupUI=function _setupUI(){var button=this._fullscreenButton=DOM.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);DOM.create("span","mapboxgl-ctrl-icon",button).setAttribute("aria-hidden",true);button.type="button";this._updateTitle();this._fullscreenButton.addEventListener("click",this._onClickFullscreen);performance.window.document.addEventListener(this._fullscreenchange,this._changeIcon)};FullscreenControl.prototype._updateTitle=function _updateTitle(){var title=this._getTitle();this._fullscreenButton.setAttribute("aria-label",title);this._fullscreenButton.title=title};FullscreenControl.prototype._getTitle=function _getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")};FullscreenControl.prototype._isFullscreen=function _isFullscreen(){return this._fullscreen};FullscreenControl.prototype._changeIcon=function _changeIcon(){var fullscreenElement=performance.window.document.fullscreenElement||performance.window.document.mozFullScreenElement||performance.window.document.webkitFullscreenElement||performance.window.document.msFullscreenElement;if(fullscreenElement===this._container!==this._fullscreen){this._fullscreen=!this._fullscreen;this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink");this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen");this._updateTitle()}};FullscreenControl.prototype._onClickFullscreen=function _onClickFullscreen(){if(this._isFullscreen()){if(performance.window.document.exitFullscreen){performance.window.document.exitFullscreen()}else if(performance.window.document.mozCancelFullScreen){performance.window.document.mozCancelFullScreen()}else if(performance.window.document.msExitFullscreen){performance.window.document.msExitFullscreen()}else if(performance.window.document.webkitCancelFullScreen){performance.window.document.webkitCancelFullScreen()}}else if(this._container.requestFullscreen){this._container.requestFullscreen()}else if(this._container.mozRequestFullScreen){this._container.mozRequestFullScreen()}else if(this._container.msRequestFullscreen){this._container.msRequestFullscreen()}else if(this._container.webkitRequestFullscreen){this._container.webkitRequestFullscreen()}};var defaultOptions$5={closeButton:true,closeOnClick:true,className:"",maxWidth:"240px"};var Popup=function(Evented){function Popup(options){Evented.call(this);this.options=performance.extend(Object.create(defaultOptions$5),options);performance.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}if(Evented)Popup.__proto__=Evented;Popup.prototype=Object.create(Evented&&Evented.prototype);Popup.prototype.constructor=Popup;Popup.prototype.addTo=function addTo(map){if(this._map){this.remove()}this._map=map;if(this.options.closeOnClick){this._map.on("click",this._onClose)}if(this.options.closeOnMove){this._map.on("move",this._onClose)}this._map.on("remove",this.remove);this._update();if(this._trackPointer){this._map.on("mousemove",this._onMouseMove);this._map.on("mouseup",this._onMouseUp);if(this._container){this._container.classList.add("mapboxgl-popup-track-pointer")}this._map._canvasContainer.classList.add("mapboxgl-track-pointer")}else{this._map.on("move",this._update)}this.fire(new performance.Event("open"));return this};Popup.prototype.isOpen=function isOpen(){return!!this._map};Popup.prototype.remove=function remove(){if(this._content){DOM.remove(this._content)}if(this._container){DOM.remove(this._container);delete this._container}if(this._map){this._map.off("move",this._update);this._map.off("move",this._onClose);this._map.off("click",this._onClose);this._map.off("remove",this.remove);this._map.off("mousemove",this._onMouseMove);this._map.off("mouseup",this._onMouseUp);this._map.off("drag",this._onDrag);delete this._map}this.fire(new performance.Event("close"));return this};Popup.prototype.getLngLat=function getLngLat(){return this._lngLat};Popup.prototype.setLngLat=function setLngLat(lnglat){this._lngLat=performance.LngLat.convert(lnglat);this._pos=null;this._trackPointer=false;this._update();if(this._map){this._map.on("move",this._update);this._map.off("mousemove",this._onMouseMove);if(this._container){this._container.classList.remove("mapboxgl-popup-track-pointer")}this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")}return this};Popup.prototype.trackPointer=function trackPointer(){this._trackPointer=true;this._pos=null;this._update();if(this._map){this._map.off("move",this._update);this._map.on("mousemove",this._onMouseMove);this._map.on("drag",this._onDrag);if(this._container){this._container.classList.add("mapboxgl-popup-track-pointer")}this._map._canvasContainer.classList.add("mapboxgl-track-pointer")}return this};Popup.prototype.getElement=function getElement(){return this._container};Popup.prototype.setText=function setText(text){return this.setDOMContent(performance.window.document.createTextNode(text))};Popup.prototype.setHTML=function setHTML(html){var frag=performance.window.document.createDocumentFragment();var temp=performance.window.document.createElement("body");var child;temp.innerHTML=html;while(true){child=temp.firstChild;if(!child){break}frag.appendChild(child)}return this.setDOMContent(frag)};Popup.prototype.getMaxWidth=function getMaxWidth(){return this._container&&this._container.style.maxWidth};Popup.prototype.setMaxWidth=function setMaxWidth(maxWidth){this.options.maxWidth=maxWidth;this._update();return this};Popup.prototype.setDOMContent=function setDOMContent(htmlNode){this._createContent();this._content.appendChild(htmlNode);this._update();return this};Popup.prototype.addClassName=function addClassName(className){if(this._container){this._container.classList.add(className)}};Popup.prototype.removeClassName=function removeClassName(className){if(this._container){this._container.classList.remove(className)}};Popup.prototype.toggleClassName=function toggleClassName(className){if(this._container){return this._container.classList.toggle(className)}};Popup.prototype._createContent=function _createContent(){if(this._content){DOM.remove(this._content)}this._content=DOM.create("div","mapboxgl-popup-content",this._container);if(this.options.closeButton){this._closeButton=DOM.create("button","mapboxgl-popup-close-button",this._content);this._closeButton.type="button";this._closeButton.setAttribute("aria-label","Close popup");this._closeButton.innerHTML="&#215;";this._closeButton.addEventListener("click",this._onClose)}};Popup.prototype._onMouseUp=function _onMouseUp(event){this._update(event.point)};Popup.prototype._onMouseMove=function _onMouseMove(event){this._update(event.point)};Popup.prototype._onDrag=function _onDrag(event){this._update(event.point)};Popup.prototype._update=function _update(cursor){var this$1=this;var hasPosition=this._lngLat||this._trackPointer;if(!this._map||!hasPosition||!this._content){return}if(!this._container){this._container=DOM.create("div","mapboxgl-popup",this._map.getContainer());this._tip=DOM.create("div","mapboxgl-popup-tip",this._container);this._container.appendChild(this._content);if(this.options.className){this.options.className.split(" ").forEach((function(name){return this$1._container.classList.add(name)}))}if(this._trackPointer){this._container.classList.add("mapboxgl-popup-track-pointer")}}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth){this._container.style.maxWidth=this.options.maxWidth}if(this._map.transform.renderWorldCopies&&!this._trackPointer){this._lngLat=smartWrap(this._lngLat,this._pos,this._map.transform)}if(this._trackPointer&&!cursor){return}var pos=this._pos=this._trackPointer&&cursor?cursor:this._map.project(this._lngLat);var anchor=this.options.anchor;var offset=normalizeOffset(this.options.offset);if(!anchor){var width=this._container.offsetWidth;var height=this._container.offsetHeight;var anchorComponents;if(pos.y+offset.bottom.y<height){anchorComponents=["top"]}else if(pos.y>this._map.transform.height-height){anchorComponents=["bottom"]}else{anchorComponents=[]}if(pos.x<width/2){anchorComponents.push("left")}else if(pos.x>this._map.transform.width-width/2){anchorComponents.push("right")}if(anchorComponents.length===0){anchor="bottom"}else{anchor=anchorComponents.join("-")}}var offsetedPos=pos.add(offset[anchor]).round();DOM.setTransform(this._container,anchorTranslate[anchor]+" translate("+offsetedPos.x+"px,"+offsetedPos.y+"px)");applyAnchorClass(this._container,anchor,"popup")};Popup.prototype._onClose=function _onClose(){this.remove()};return Popup}(performance.Evented);function normalizeOffset(offset){if(!offset){return normalizeOffset(new performance.Point(0,0))}else if(typeof offset==="number"){var cornerOffset=Math.round(Math.sqrt(.5*Math.pow(offset,2)));return{center:new performance.Point(0,0),top:new performance.Point(0,offset),"top-left":new performance.Point(cornerOffset,cornerOffset),"top-right":new performance.Point(-cornerOffset,cornerOffset),bottom:new performance.Point(0,-offset),"bottom-left":new performance.Point(cornerOffset,-cornerOffset),"bottom-right":new performance.Point(-cornerOffset,-cornerOffset),left:new performance.Point(offset,0),right:new performance.Point(-offset,0)}}else if(offset instanceof performance.Point||Array.isArray(offset)){var convertedOffset=performance.Point.convert(offset);return{center:convertedOffset,top:convertedOffset,"top-left":convertedOffset,"top-right":convertedOffset,bottom:convertedOffset,"bottom-left":convertedOffset,"bottom-right":convertedOffset,left:convertedOffset,right:convertedOffset}}else{return{center:performance.Point.convert(offset["center"]||[0,0]),top:performance.Point.convert(offset["top"]||[0,0]),"top-left":performance.Point.convert(offset["top-left"]||[0,0]),"top-right":performance.Point.convert(offset["top-right"]||[0,0]),bottom:performance.Point.convert(offset["bottom"]||[0,0]),"bottom-left":performance.Point.convert(offset["bottom-left"]||[0,0]),"bottom-right":performance.Point.convert(offset["bottom-right"]||[0,0]),left:performance.Point.convert(offset["left"]||[0,0]),right:performance.Point.convert(offset["right"]||[0,0])}}}var exported={version:performance.version,supported:mapboxGlSupported,setRTLTextPlugin:performance.setRTLTextPlugin,getRTLTextPluginStatus:performance.getRTLTextPluginStatus,Map:Map,NavigationControl:NavigationControl,GeolocateControl:GeolocateControl,AttributionControl:AttributionControl,ScaleControl:ScaleControl,FullscreenControl:FullscreenControl,Popup:Popup,Marker:Marker,Style:Style,LngLat:performance.LngLat,LngLatBounds:performance.LngLatBounds,Point:performance.Point,MercatorCoordinate:performance.MercatorCoordinate,Evented:performance.Evented,config:performance.config,prewarm:prewarm,clearPrewarmedResources:clearPrewarmedResources,get accessToken(){return performance.config.ACCESS_TOKEN},set accessToken(token){performance.config.ACCESS_TOKEN=token},get baseApiUrl(){return performance.config.API_URL},set baseApiUrl(url){performance.config.API_URL=url},get workerCount(){return WorkerPool.workerCount},set workerCount(count){WorkerPool.workerCount=count},get maxParallelImageRequests(){return performance.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(numRequests){performance.config.MAX_PARALLEL_IMAGE_REQUESTS=numRequests},clearStorage:function clearStorage(callback){performance.clearTileCache(callback)},workerUrl:""};return exported}));return mapboxgl}))},{}],462:[function(_dereq_,module,exports){"use strict";module.exports=createTable;var chull=_dereq_("convex-hull");function constructVertex(d,a,b){var x=new Array(d);for(var i=0;i<d;++i){x[i]=0;if(i===a){x[i]+=.5}if(i===b){x[i]+=.5}}return x}function constructCell(dimension,mask){if(mask===0||mask===(1<<dimension+1)-1){return[]}var points=[];var index=[];for(var i=0;i<=dimension;++i){if(mask&1<<i){points.push(constructVertex(dimension,i-1,i-1));index.push(null);for(var j=0;j<=dimension;++j){if(~mask&1<<j){points.push(constructVertex(dimension,i-1,j-1));index.push([i,j])}}}}var hull=chull(points);var faces=[];i_loop:for(var i=0;i<hull.length;++i){var face=hull[i];var nface=[];for(var j=0;j<face.length;++j){if(!index[face[j]]){continue i_loop}nface.push(index[face[j]].slice())}faces.push(nface)}return faces}function createTable(dimension){var numCells=1<<dimension+1;var result=new Array(numCells);for(var i=0;i<numCells;++i){result[i]=constructCell(dimension,i)}return result}},{"convex-hull":141}],463:[function(_dereq_,module,exports){var normalize=_dereq_("./normalize");var create=_dereq_("gl-mat4/create");var clone=_dereq_("gl-mat4/clone");var determinant=_dereq_("gl-mat4/determinant");var invert=_dereq_("gl-mat4/invert");var transpose=_dereq_("gl-mat4/transpose");var vec3={length:_dereq_("gl-vec3/length"),normalize:_dereq_("gl-vec3/normalize"),dot:_dereq_("gl-vec3/dot"),cross:_dereq_("gl-vec3/cross")};var tmp=create();var perspectiveMatrix=create();var tmpVec4=[0,0,0,0];var row=[[0,0,0],[0,0,0],[0,0,0]];var pdum3=[0,0,0];module.exports=function decomposeMat4(matrix,translation,scale,skew,perspective,quaternion){if(!translation)translation=[0,0,0];if(!scale)scale=[0,0,0];if(!skew)skew=[0,0,0];if(!perspective)perspective=[0,0,0,1];if(!quaternion)quaternion=[0,0,0,1];if(!normalize(tmp,matrix))return false;clone(perspectiveMatrix,tmp);perspectiveMatrix[3]=0;perspectiveMatrix[7]=0;perspectiveMatrix[11]=0;perspectiveMatrix[15]=1;if(Math.abs(determinant(perspectiveMatrix)<1e-8))return false;var a03=tmp[3],a13=tmp[7],a23=tmp[11],a30=tmp[12],a31=tmp[13],a32=tmp[14],a33=tmp[15];if(a03!==0||a13!==0||a23!==0){tmpVec4[0]=a03;tmpVec4[1]=a13;tmpVec4[2]=a23;tmpVec4[3]=a33;var ret=invert(perspectiveMatrix,perspectiveMatrix);if(!ret)return false;transpose(perspectiveMatrix,perspectiveMatrix);vec4multMat4(perspective,tmpVec4,perspectiveMatrix)}else{perspective[0]=perspective[1]=perspective[2]=0;perspective[3]=1}translation[0]=a30;translation[1]=a31;translation[2]=a32;mat3from4(row,tmp);scale[0]=vec3.length(row[0]);vec3.normalize(row[0],row[0]);skew[0]=vec3.dot(row[0],row[1]);combine(row[1],row[1],row[0],1,-skew[0]);scale[1]=vec3.length(row[1]);vec3.normalize(row[1],row[1]);skew[0]/=scale[1];skew[1]=vec3.dot(row[0],row[2]);combine(row[2],row[2],row[0],1,-skew[1]);skew[2]=vec3.dot(row[1],row[2]);combine(row[2],row[2],row[1],1,-skew[2]);scale[2]=vec3.length(row[2]);vec3.normalize(row[2],row[2]);skew[1]/=scale[2];skew[2]/=scale[2];vec3.cross(pdum3,row[1],row[2]);if(vec3.dot(row[0],pdum3)<0){for(var i=0;i<3;i++){scale[i]*=-1;row[i][0]*=-1;row[i][1]*=-1;row[i][2]*=-1}}quaternion[0]=.5*Math.sqrt(Math.max(1+row[0][0]-row[1][1]-row[2][2],0));quaternion[1]=.5*Math.sqrt(Math.max(1-row[0][0]+row[1][1]-row[2][2],0));quaternion[2]=.5*Math.sqrt(Math.max(1-row[0][0]-row[1][1]+row[2][2],0));quaternion[3]=.5*Math.sqrt(Math.max(1+row[0][0]+row[1][1]+row[2][2],0));if(row[2][1]>row[1][2])quaternion[0]=-quaternion[0];if(row[0][2]>row[2][0])quaternion[1]=-quaternion[1];if(row[1][0]>row[0][1])quaternion[2]=-quaternion[2];return true};function vec4multMat4(out,a,m){var x=a[0],y=a[1],z=a[2],w=a[3];out[0]=m[0]*x+m[4]*y+m[8]*z+m[12]*w;out[1]=m[1]*x+m[5]*y+m[9]*z+m[13]*w;out[2]=m[2]*x+m[6]*y+m[10]*z+m[14]*w;out[3]=m[3]*x+m[7]*y+m[11]*z+m[15]*w;return out}function mat3from4(out,mat4x4){out[0][0]=mat4x4[0];out[0][1]=mat4x4[1];out[0][2]=mat4x4[2];out[1][0]=mat4x4[4];out[1][1]=mat4x4[5];out[1][2]=mat4x4[6];out[2][0]=mat4x4[8];out[2][1]=mat4x4[9];out[2][2]=mat4x4[10]}function combine(out,a,b,scale1,scale2){out[0]=a[0]*scale1+b[0]*scale2;out[1]=a[1]*scale1+b[1]*scale2;out[2]=a[2]*scale1+b[2]*scale2}},{"./normalize":464,"gl-mat4/clone":284,"gl-mat4/create":286,"gl-mat4/determinant":287,"gl-mat4/invert":299,"gl-mat4/transpose":312,"gl-vec3/cross":368,"gl-vec3/dot":373,"gl-vec3/length":383,"gl-vec3/normalize":390}],464:[function(_dereq_,module,exports){module.exports=function normalize(out,mat){var m44=mat[15];if(m44===0)return false;var scale=1/m44;for(var i=0;i<16;i++)out[i]=mat[i]*scale;return true}},{}],465:[function(_dereq_,module,exports){var lerp=_dereq_("gl-vec3/lerp");var recompose=_dereq_("mat4-recompose");var decompose=_dereq_("mat4-decompose");var determinant=_dereq_("gl-mat4/determinant");var slerp=_dereq_("quat-slerp");var state0=state();var state1=state();var tmp=state();module.exports=interpolate;function interpolate(out,start,end,alpha){if(determinant(start)===0||determinant(end)===0)return false;var r0=decompose(start,state0.translate,state0.scale,state0.skew,state0.perspective,state0.quaternion);var r1=decompose(end,state1.translate,state1.scale,state1.skew,state1.perspective,state1.quaternion);if(!r0||!r1)return false;lerp(tmp.translate,state0.translate,state1.translate,alpha);lerp(tmp.skew,state0.skew,state1.skew,alpha);lerp(tmp.scale,state0.scale,state1.scale,alpha);lerp(tmp.perspective,state0.perspective,state1.perspective,alpha);slerp(tmp.quaternion,state0.quaternion,state1.quaternion,alpha);recompose(out,tmp.translate,tmp.scale,tmp.skew,tmp.perspective,tmp.quaternion);return true}function state(){return{translate:vec3(),scale:vec3(1),skew:vec3(),perspective:vec4(),quaternion:vec4()}}function vec3(n){return[n||0,n||0,n||0]}function vec4(){return[0,0,0,1]}},{"gl-mat4/determinant":287,"gl-vec3/lerp":384,"mat4-decompose":463,"mat4-recompose":466,"quat-slerp":529}],466:[function(_dereq_,module,exports){var mat4={identity:_dereq_("gl-mat4/identity"),translate:_dereq_("gl-mat4/translate"),multiply:_dereq_("gl-mat4/multiply"),create:_dereq_("gl-mat4/create"),scale:_dereq_("gl-mat4/scale"),fromRotationTranslation:_dereq_("gl-mat4/fromRotationTranslation")};var rotationMatrix=mat4.create();var temp=mat4.create();module.exports=function recomposeMat4(matrix,translation,scale,skew,perspective,quaternion){mat4.identity(matrix);mat4.fromRotationTranslation(matrix,quaternion,translation);matrix[3]=perspective[0];matrix[7]=perspective[1];matrix[11]=perspective[2];matrix[15]=perspective[3];mat4.identity(temp);if(skew[2]!==0){temp[9]=skew[2];mat4.multiply(matrix,matrix,temp)}if(skew[1]!==0){temp[9]=0;temp[8]=skew[1];mat4.multiply(matrix,matrix,temp)}if(skew[0]!==0){temp[8]=0;temp[4]=skew[0];mat4.multiply(matrix,matrix,temp)}mat4.scale(matrix,matrix,scale);return matrix}},{"gl-mat4/create":286,"gl-mat4/fromRotationTranslation":290,"gl-mat4/identity":297,"gl-mat4/multiply":301,"gl-mat4/scale":309,"gl-mat4/translate":311}],467:[function(_dereq_,module,exports){"use strict";module.exports=Math.log2||function(x){return Math.log(x)*Math.LOG2E}},{}],468:[function(_dereq_,module,exports){"use strict";var bsearch=_dereq_("binary-search-bounds");var m4interp=_dereq_("mat4-interpolate");var invert44=_dereq_("gl-mat4/invert");var rotateX=_dereq_("gl-mat4/rotateX");var rotateY=_dereq_("gl-mat4/rotateY");var rotateZ=_dereq_("gl-mat4/rotateZ");var lookAt=_dereq_("gl-mat4/lookAt");var translate=_dereq_("gl-mat4/translate");var scale=_dereq_("gl-mat4/scale");var normalize=_dereq_("gl-vec3/normalize");var DEFAULT_CENTER=[0,0,0];module.exports=createMatrixCameraController;function MatrixCameraController(initialMatrix){this._components=initialMatrix.slice();this._time=[0];this.prevMatrix=initialMatrix.slice();this.nextMatrix=initialMatrix.slice();this.computedMatrix=initialMatrix.slice();this.computedInverse=initialMatrix.slice();this.computedEye=[0,0,0];this.computedUp=[0,0,0];this.computedCenter=[0,0,0];this.computedRadius=[0];this._limits=[-Infinity,Infinity]}var proto=MatrixCameraController.prototype;proto.recalcMatrix=function(t){var time=this._time;var tidx=bsearch.le(time,t);var mat=this.computedMatrix;if(tidx<0){return}var comps=this._components;if(tidx===time.length-1){var ptr=16*tidx;for(var i=0;i<16;++i){mat[i]=comps[ptr++]}}else{var dt=time[tidx+1]-time[tidx];var ptr=16*tidx;var prev=this.prevMatrix;var allEqual=true;for(var i=0;i<16;++i){prev[i]=comps[ptr++]}var next=this.nextMatrix;for(var i=0;i<16;++i){next[i]=comps[ptr++];allEqual=allEqual&&prev[i]===next[i]}if(dt<1e-6||allEqual){for(var i=0;i<16;++i){mat[i]=prev[i]}}else{m4interp(mat,prev,next,(t-time[tidx])/dt)}}var up=this.computedUp;up[0]=mat[1];up[1]=mat[5];up[2]=mat[9];normalize(up,up);var imat=this.computedInverse;invert44(imat,mat);var eye=this.computedEye;var w=imat[15];eye[0]=imat[12]/w;eye[1]=imat[13]/w;eye[2]=imat[14]/w;var center=this.computedCenter;var radius=Math.exp(this.computedRadius[0]);for(var i=0;i<3;++i){center[i]=eye[i]-mat[2+4*i]*radius}};proto.idle=function(t){if(t<this.lastT()){return}var mc=this._components;var ptr=mc.length-16;for(var i=0;i<16;++i){mc.push(mc[ptr++])}this._time.push(t)};proto.flush=function(t){var idx=bsearch.gt(this._time,t)-2;if(idx<0){return}this._time.splice(0,idx);this._components.splice(0,16*idx)};proto.lastT=function(){return this._time[this._time.length-1]};proto.lookAt=function(t,eye,center,up){this.recalcMatrix(t);eye=eye||this.computedEye;center=center||DEFAULT_CENTER;up=up||this.computedUp;this.setMatrix(t,lookAt(this.computedMatrix,eye,center,up));var d2=0;for(var i=0;i<3;++i){d2+=Math.pow(center[i]-eye[i],2)}d2=Math.log(Math.sqrt(d2));this.computedRadius[0]=d2};proto.rotate=function(t,yaw,pitch,roll){this.recalcMatrix(t);var mat=this.computedInverse;if(yaw)rotateY(mat,mat,yaw);if(pitch)rotateX(mat,mat,pitch);if(roll)rotateZ(mat,mat,roll);this.setMatrix(t,invert44(this.computedMatrix,mat))};var tvec=[0,0,0];proto.pan=function(t,dx,dy,dz){tvec[0]=-(dx||0);tvec[1]=-(dy||0);tvec[2]=-(dz||0);this.recalcMatrix(t);var mat=this.computedInverse;translate(mat,mat,tvec);this.setMatrix(t,invert44(mat,mat))};proto.translate=function(t,dx,dy,dz){tvec[0]=dx||0;tvec[1]=dy||0;tvec[2]=dz||0;this.recalcMatrix(t);var mat=this.computedMatrix;translate(mat,mat,tvec);this.setMatrix(t,mat)};proto.setMatrix=function(t,mat){if(t<this.lastT()){return}this._time.push(t);for(var i=0;i<16;++i){this._components.push(mat[i])}};proto.setDistance=function(t,d){this.computedRadius[0]=d};proto.setDistanceLimits=function(a,b){var lim=this._limits;lim[0]=a;lim[1]=b};proto.getDistanceLimits=function(out){var lim=this._limits;if(out){out[0]=lim[0];out[1]=lim[1];return out}return lim};function createMatrixCameraController(options){options=options||{};var matrix=options.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return new MatrixCameraController(matrix)}},{"binary-search-bounds":103,"gl-mat4/invert":299,"gl-mat4/lookAt":300,"gl-mat4/rotateX":306,"gl-mat4/rotateY":307,"gl-mat4/rotateZ":308,"gl-mat4/scale":309,"gl-mat4/translate":311,"gl-vec3/normalize":390,"mat4-interpolate":465}],469:[function(_dereq_,module,exports){"use strict";module.exports=monotoneConvexHull2D;var orient=_dereq_("robust-orientation")[3];function monotoneConvexHull2D(points){var n=points.length;if(n<3){var result=new Array(n);for(var i=0;i<n;++i){result[i]=i}if(n===2&&points[0][0]===points[1][0]&&points[0][1]===points[1][1]){return[0]}return result}var sorted=new Array(n);for(var i=0;i<n;++i){sorted[i]=i}sorted.sort((function(a,b){var d=points[a][0]-points[b][0];if(d){return d}return points[a][1]-points[b][1]}));var lower=[sorted[0],sorted[1]];var upper=[sorted[0],sorted[1]];for(var i=2;i<n;++i){var idx=sorted[i];var p=points[idx];var m=lower.length;while(m>1&&orient(points[lower[m-2]],points[lower[m-1]],p)<=0){m-=1;lower.pop()}lower.push(idx);m=upper.length;while(m>1&&orient(points[upper[m-2]],points[upper[m-1]],p)>=0){m-=1;upper.pop()}upper.push(idx)}var result=new Array(upper.length+lower.length-2);var ptr=0;for(var i=0,nl=lower.length;i<nl;++i){result[ptr++]=lower[i]}for(var j=upper.length-2;j>0;--j){result[ptr++]=upper[j]}return result}},{"robust-orientation":548}],470:[function(_dereq_,module,exports){"use strict";module.exports=mouseListen;var mouse=_dereq_("mouse-event");function mouseListen(element,callback){if(!callback){callback=element;element=window}var buttonState=0;var x=0;var y=0;var mods={shift:false,alt:false,control:false,meta:false};var attached=false;function updateMods(ev){var changed=false;if("altKey"in ev){changed=changed||ev.altKey!==mods.alt;mods.alt=!!ev.altKey}if("shiftKey"in ev){changed=changed||ev.shiftKey!==mods.shift;mods.shift=!!ev.shiftKey}if("ctrlKey"in ev){changed=changed||ev.ctrlKey!==mods.control;mods.control=!!ev.ctrlKey}if("metaKey"in ev){changed=changed||ev.metaKey!==mods.meta;mods.meta=!!ev.metaKey}return changed}function handleEvent(nextButtons,ev){var nextX=mouse.x(ev);var nextY=mouse.y(ev);if("buttons"in ev){nextButtons=ev.buttons|0}if(nextButtons!==buttonState||nextX!==x||nextY!==y||updateMods(ev)){buttonState=nextButtons|0;x=nextX||0;y=nextY||0;callback&&callback(buttonState,x,y,mods)}}function clearState(ev){handleEvent(0,ev)}function handleBlur(){if(buttonState||x||y||mods.shift||mods.alt||mods.meta||mods.control){x=y=0;buttonState=0;mods.shift=mods.alt=mods.control=mods.meta=false;callback&&callback(0,0,0,mods)}}function handleMods(ev){if(updateMods(ev)){callback&&callback(buttonState,x,y,mods)}}function handleMouseMove(ev){if(mouse.buttons(ev)===0){handleEvent(0,ev)}else{handleEvent(buttonState,ev)}}function handleMouseDown(ev){handleEvent(buttonState|mouse.buttons(ev),ev)}function handleMouseUp(ev){handleEvent(buttonState&~mouse.buttons(ev),ev)}function attachListeners(){if(attached){return}attached=true;element.addEventListener("mousemove",handleMouseMove);element.addEventListener("mousedown",handleMouseDown);element.addEventListener("mouseup",handleMouseUp);element.addEventListener("mouseleave",clearState);element.addEventListener("mouseenter",clearState);element.addEventListener("mouseout",clearState);element.addEventListener("mouseover",clearState);element.addEventListener("blur",handleBlur);element.addEventListener("keyup",handleMods);element.addEventListener("keydown",handleMods);element.addEventListener("keypress",handleMods);if(element!==window){window.addEventListener("blur",handleBlur);window.addEventListener("keyup",handleMods);window.addEventListener("keydown",handleMods);window.addEventListener("keypress",handleMods)}}function detachListeners(){if(!attached){return}attached=false;element.removeEventListener("mousemove",handleMouseMove);element.removeEventListener("mousedown",handleMouseDown);element.removeEventListener("mouseup",handleMouseUp);element.removeEventListener("mouseleave",clearState);element.removeEventListener("mouseenter",clearState);element.removeEventListener("mouseout",clearState);element.removeEventListener("mouseover",clearState);element.removeEventListener("blur",handleBlur);element.removeEventListener("keyup",handleMods);element.removeEventListener("keydown",handleMods);element.removeEventListener("keypress",handleMods);if(element!==window){window.removeEventListener("blur",handleBlur);window.removeEventListener("keyup",handleMods);window.removeEventListener("keydown",handleMods);window.removeEventListener("keypress",handleMods)}}attachListeners();var result={element:element};Object.defineProperties(result,{enabled:{get:function(){return attached},set:function(f){if(f){attachListeners()}else{detachListeners()}},enumerable:true},buttons:{get:function(){return buttonState},enumerable:true},x:{get:function(){return x},enumerable:true},y:{get:function(){return y},enumerable:true},mods:{get:function(){return mods},enumerable:true}});return result}},{"mouse-event":472}],471:[function(_dereq_,module,exports){var rootPosition={left:0,top:0};module.exports=mouseEventOffset;function mouseEventOffset(ev,target,out){target=target||ev.currentTarget||ev.srcElement;if(!Array.isArray(out)){out=[0,0]}var cx=ev.clientX||0;var cy=ev.clientY||0;var rect=getBoundingClientOffset(target);out[0]=cx-rect.left;out[1]=cy-rect.top;return out}function getBoundingClientOffset(element){if(element===window||element===document||element===document.body){return rootPosition}else{return element.getBoundingClientRect()}}},{}],472:[function(_dereq_,module,exports){"use strict";function mouseButtons(ev){if(typeof ev==="object"){if("buttons"in ev){return ev.buttons}else if("which"in ev){var b=ev.which;if(b===2){return 4}else if(b===3){return 2}else if(b>0){return 1<<b-1}}else if("button"in ev){var b=ev.button;if(b===1){return 4}else if(b===2){return 2}else if(b>=0){return 1<<b}}}return 0}exports.buttons=mouseButtons;function mouseElement(ev){return ev.target||ev.srcElement||window}exports.element=mouseElement;function mouseRelativeX(ev){if(typeof ev==="object"){if("offsetX"in ev){return ev.offsetX}var target=mouseElement(ev);var bounds=target.getBoundingClientRect();return ev.clientX-bounds.left}return 0}exports.x=mouseRelativeX;function mouseRelativeY(ev){if(typeof ev==="object"){if("offsetY"in ev){return ev.offsetY}var target=mouseElement(ev);var bounds=target.getBoundingClientRect();return ev.clientY-bounds.top}return 0}exports.y=mouseRelativeY},{}],473:[function(_dereq_,module,exports){"use strict";var toPX=_dereq_("to-px");module.exports=mouseWheelListen;function mouseWheelListen(element,callback,noScroll){if(typeof element==="function"){noScroll=!!callback;callback=element;element=window}var lineHeight=toPX("ex",element);var listener=function(ev){if(noScroll){ev.preventDefault()}var dx=ev.deltaX||0;var dy=ev.deltaY||0;var dz=ev.deltaZ||0;var mode=ev.deltaMode;var scale=1;switch(mode){case 1:scale=lineHeight;break;case 2:scale=window.innerHeight;break}dx*=scale;dy*=scale;dz*=scale;if(dx||dy||dz){return callback(dx,dy,dz,ev)}};element.addEventListener("wheel",listener);return listener}},{"to-px":600}],474:[function(_dereq_,module,exports){(function(global,setImmediate){(function(){
/*! Native Promise Only
    v0.8.1 (c) Kyle Simpson
    MIT License: http://getify.mit-license.org
*/
(function UMD(name,context,definition){context[name]=context[name]||definition();if(typeof module!="undefined"&&module.exports){module.exports=context[name]}else if(typeof define=="function"&&define.amd){define((function $AMD$(){return context[name]}))}})("Promise",typeof global!="undefined"?global:this,(function DEF(){"use strict";var builtInProp,cycle,scheduling_queue,ToString=Object.prototype.toString,timer=typeof setImmediate!="undefined"?function timer(fn){return setImmediate(fn)}:setTimeout;try{Object.defineProperty({},"x",{});builtInProp=function builtInProp(obj,name,val,config){return Object.defineProperty(obj,name,{value:val,writable:true,configurable:config!==false})}}catch(err){builtInProp=function builtInProp(obj,name,val){obj[name]=val;return obj}}scheduling_queue=function Queue(){var first,last,item;function Item(fn,self){this.fn=fn;this.self=self;this.next=void 0}return{add:function add(fn,self){item=new Item(fn,self);if(last){last.next=item}else{first=item}last=item;item=void 0},drain:function drain(){var f=first;first=last=cycle=void 0;while(f){f.fn.call(f.self);f=f.next}}}}();function schedule(fn,self){scheduling_queue.add(fn,self);if(!cycle){cycle=timer(scheduling_queue.drain)}}function isThenable(o){var _then,o_type=typeof o;if(o!=null&&(o_type=="object"||o_type=="function")){_then=o.then}return typeof _then=="function"?_then:false}function notify(){for(var i=0;i<this.chain.length;i++){notifyIsolated(this,this.state===1?this.chain[i].success:this.chain[i].failure,this.chain[i])}this.chain.length=0}function notifyIsolated(self,cb,chain){var ret,_then;try{if(cb===false){chain.reject(self.msg)}else{if(cb===true){ret=self.msg}else{ret=cb.call(void 0,self.msg)}if(ret===chain.promise){chain.reject(TypeError("Promise-chain cycle"))}else if(_then=isThenable(ret)){_then.call(ret,chain.resolve,chain.reject)}else{chain.resolve(ret)}}}catch(err){chain.reject(err)}}function resolve(msg){var _then,self=this;if(self.triggered){return}self.triggered=true;if(self.def){self=self.def}try{if(_then=isThenable(msg)){schedule((function(){var def_wrapper=new MakeDefWrapper(self);try{_then.call(msg,(function $resolve$(){resolve.apply(def_wrapper,arguments)}),(function $reject$(){reject.apply(def_wrapper,arguments)}))}catch(err){reject.call(def_wrapper,err)}}))}else{self.msg=msg;self.state=1;if(self.chain.length>0){schedule(notify,self)}}}catch(err){reject.call(new MakeDefWrapper(self),err)}}function reject(msg){var self=this;if(self.triggered){return}self.triggered=true;if(self.def){self=self.def}self.msg=msg;self.state=2;if(self.chain.length>0){schedule(notify,self)}}function iteratePromises(Constructor,arr,resolver,rejecter){for(var idx=0;idx<arr.length;idx++){(function IIFE(idx){Constructor.resolve(arr[idx]).then((function $resolver$(msg){resolver(idx,msg)}),rejecter)})(idx)}}function MakeDefWrapper(self){this.def=self;this.triggered=false}function MakeDef(self){this.promise=self;this.state=0;this.triggered=false;this.chain=[];this.msg=void 0}function Promise(executor){if(typeof executor!="function"){throw TypeError("Not a function")}if(this.__NPO__!==0){throw TypeError("Not a promise")}this.__NPO__=1;var def=new MakeDef(this);this["then"]=function then(success,failure){var o={success:typeof success=="function"?success:true,failure:typeof failure=="function"?failure:false};o.promise=new this.constructor((function extractChain(resolve,reject){if(typeof resolve!="function"||typeof reject!="function"){throw TypeError("Not a function")}o.resolve=resolve;o.reject=reject}));def.chain.push(o);if(def.state!==0){schedule(notify,def)}return o.promise};this["catch"]=function $catch$(failure){return this.then(void 0,failure)};try{executor.call(void 0,(function publicResolve(msg){resolve.call(def,msg)}),(function publicReject(msg){reject.call(def,msg)}))}catch(err){reject.call(def,err)}}var PromisePrototype=builtInProp({},"constructor",Promise,false);Promise.prototype=PromisePrototype;builtInProp(PromisePrototype,"__NPO__",0,false);builtInProp(Promise,"resolve",(function Promise$resolve(msg){var Constructor=this;if(msg&&typeof msg=="object"&&msg.__NPO__===1){return msg}return new Constructor((function executor(resolve,reject){if(typeof resolve!="function"||typeof reject!="function"){throw TypeError("Not a function")}resolve(msg)}))}));builtInProp(Promise,"reject",(function Promise$reject(msg){return new this((function executor(resolve,reject){if(typeof resolve!="function"||typeof reject!="function"){throw TypeError("Not a function")}reject(msg)}))}));builtInProp(Promise,"all",(function Promise$all(arr){var Constructor=this;if(ToString.call(arr)!="[object Array]"){return Constructor.reject(TypeError("Not an array"))}if(arr.length===0){return Constructor.resolve([])}return new Constructor((function executor(resolve,reject){if(typeof resolve!="function"||typeof reject!="function"){throw TypeError("Not a function")}var len=arr.length,msgs=Array(len),count=0;iteratePromises(Constructor,arr,(function resolver(idx,msg){msgs[idx]=msg;if(++count===len){resolve(msgs)}}),reject)}))}));builtInProp(Promise,"race",(function Promise$race(arr){var Constructor=this;if(ToString.call(arr)!="[object Array]"){return Constructor.reject(TypeError("Not an array"))}return new Constructor((function executor(resolve,reject){if(typeof resolve!="function"||typeof reject!="function"){throw TypeError("Not a function")}iteratePromises(Constructor,arr,(function resolver(idx,msg){resolve(msg)}),reject)}))}));return Promise}))}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},_dereq_("timers").setImmediate)},{timers:597}],475:[function(_dereq_,module,exports){"use strict";var pool=_dereq_("typedarray-pool");module.exports=createSurfaceExtractor;function array(i){return"a"+i}function data(i){return"d"+i}function cube(i,bitmask){return"c"+i+"_"+bitmask}function shape(i){return"s"+i}function stride(i,j){return"t"+i+"_"+j}function offset(i){return"o"+i}function scalar(i){return"x"+i}function pointer(i){return"p"+i}function delta(i,bitmask){return"d"+i+"_"+bitmask}function index(i){return"i"+i}function step(i,j){return"u"+i+"_"+j}function pcube(bitmask){return"b"+bitmask}function qcube(bitmask){return"y"+bitmask}function pdelta(bitmask){return"e"+bitmask}function vert(i){return"v"+i}var VERTEX_IDS="V";var PHASES="P";var VERTEX_COUNT="N";var POOL_SIZE="Q";var POINTER="X";var TEMPORARY="T";function permBitmask(dimension,mask,order){var r=0;for(var i=0;i<dimension;++i){if(mask&1<<i){r|=1<<order[i]}}return r}function compileSurfaceProcedure(vertexFunc,faceFunc,phaseFunc,scalarArgs,order,typesig){var arrayArgs=typesig.length;var dimension=order.length;if(dimension<2){throw new Error("ndarray-extract-contour: Dimension must be at least 2")}var funcName="extractContour"+order.join("_");var code=[];var vars=[];var args=[];for(var i=0;i<arrayArgs;++i){args.push(array(i))}for(var i=0;i<scalarArgs;++i){args.push(scalar(i))}for(var i=0;i<dimension;++i){vars.push(shape(i)+"="+array(0)+".shape["+i+"]|0")}for(var i=0;i<arrayArgs;++i){vars.push(data(i)+"="+array(i)+".data",offset(i)+"="+array(i)+".offset|0");for(var j=0;j<dimension;++j){vars.push(stride(i,j)+"="+array(i)+".stride["+j+"]|0")}}for(var i=0;i<arrayArgs;++i){vars.push(pointer(i)+"="+offset(i));vars.push(cube(i,0));for(var j=1;j<1<<dimension;++j){var ptrStr=[];for(var k=0;k<dimension;++k){if(j&1<<k){ptrStr.push("-"+stride(i,k))}}vars.push(delta(i,j)+"=("+ptrStr.join("")+")|0");vars.push(cube(i,j)+"=0")}}for(var i=0;i<arrayArgs;++i){for(var j=0;j<dimension;++j){var stepVal=[stride(i,order[j])];if(j>0){stepVal.push(stride(i,order[j-1])+"*"+shape(order[j-1]))}vars.push(step(i,order[j])+"=("+stepVal.join("-")+")|0")}}for(var i=0;i<dimension;++i){vars.push(index(i)+"=0")}vars.push(VERTEX_COUNT+"=0");var sizeVariable=["2"];for(var i=dimension-2;i>=0;--i){sizeVariable.push(shape(order[i]))}vars.push(POOL_SIZE+"=("+sizeVariable.join("*")+")|0",PHASES+"=mallocUint32("+POOL_SIZE+")",VERTEX_IDS+"=mallocUint32("+POOL_SIZE+")",POINTER+"=0");vars.push(pcube(0)+"=0");for(var j=1;j<1<<dimension;++j){var cubeDelta=[];var cubeStep=[];for(var k=0;k<dimension;++k){if(j&1<<k){if(cubeStep.length===0){cubeDelta.push("1")}else{cubeDelta.unshift(cubeStep.join("*"))}}cubeStep.push(shape(order[k]))}var signFlag="";if(cubeDelta[0].indexOf(shape(order[dimension-2]))<0){signFlag="-"}var jperm=permBitmask(dimension,j,order);vars.push(pdelta(jperm)+"=(-"+cubeDelta.join("-")+")|0",qcube(jperm)+"=("+signFlag+cubeDelta.join("-")+")|0",pcube(jperm)+"=0")}vars.push(vert(0)+"=0",TEMPORARY+"=0");function forLoopBegin(i,start){code.push("for(",index(order[i]),"=",start,";",index(order[i]),"<",shape(order[i]),";","++",index(order[i]),"){")}function forLoopEnd(i){for(var j=0;j<arrayArgs;++j){code.push(pointer(j),"+=",step(j,order[i]),";")}code.push("}")}function fillEmptySlice(k){for(var i=k-1;i>=0;--i){forLoopBegin(i,0)}var phaseFuncArgs=[];for(var i=0;i<arrayArgs;++i){if(typesig[i]){phaseFuncArgs.push(data(i)+".get("+pointer(i)+")")}else{phaseFuncArgs.push(data(i)+"["+pointer(i)+"]")}}for(var i=0;i<scalarArgs;++i){phaseFuncArgs.push(scalar(i))}code.push(PHASES,"[",POINTER,"++]=phase(",phaseFuncArgs.join(),");");for(var i=0;i<k;++i){forLoopEnd(i)}for(var j=0;j<arrayArgs;++j){code.push(pointer(j),"+=",step(j,order[k]),";")}}function processGridCell(mask){for(var i=0;i<arrayArgs;++i){if(typesig[i]){code.push(cube(i,0),"=",data(i),".get(",pointer(i),");")}else{code.push(cube(i,0),"=",data(i),"[",pointer(i),"];")}}var phaseFuncArgs=[];for(var i=0;i<arrayArgs;++i){phaseFuncArgs.push(cube(i,0))}for(var i=0;i<scalarArgs;++i){phaseFuncArgs.push(scalar(i))}code.push(pcube(0),"=",PHASES,"[",POINTER,"]=phase(",phaseFuncArgs.join(),");");for(var j=1;j<1<<dimension;++j){code.push(pcube(j),"=",PHASES,"[",POINTER,"+",pdelta(j),"];")}var vertexPredicate=[];for(var j=1;j<1<<dimension;++j){vertexPredicate.push("("+pcube(0)+"!=="+pcube(j)+")")}code.push("if(",vertexPredicate.join("||"),"){");var vertexArgs=[];for(var i=0;i<dimension;++i){vertexArgs.push(index(i))}for(var i=0;i<arrayArgs;++i){vertexArgs.push(cube(i,0));for(var j=1;j<1<<dimension;++j){if(typesig[i]){code.push(cube(i,j),"=",data(i),".get(",pointer(i),"+",delta(i,j),");")}else{code.push(cube(i,j),"=",data(i),"[",pointer(i),"+",delta(i,j),"];")}vertexArgs.push(cube(i,j))}}for(var i=0;i<1<<dimension;++i){vertexArgs.push(pcube(i))}for(var i=0;i<scalarArgs;++i){vertexArgs.push(scalar(i))}code.push("vertex(",vertexArgs.join(),");",vert(0),"=",VERTEX_IDS,"[",POINTER,"]=",VERTEX_COUNT,"++;");var base=(1<<dimension)-1;var corner=pcube(base);for(var j=0;j<dimension;++j){if((mask&~(1<<j))===0){var subset=base^1<<j;var edge=pcube(subset);var faceArgs=[];for(var k=subset;k>0;k=k-1&subset){faceArgs.push(VERTEX_IDS+"["+POINTER+"+"+pdelta(k)+"]")}faceArgs.push(vert(0));for(var k=0;k<arrayArgs;++k){if(j&1){faceArgs.push(cube(k,base),cube(k,subset))}else{faceArgs.push(cube(k,subset),cube(k,base))}}if(j&1){faceArgs.push(corner,edge)}else{faceArgs.push(edge,corner)}for(var k=0;k<scalarArgs;++k){faceArgs.push(scalar(k))}code.push("if(",corner,"!==",edge,"){","face(",faceArgs.join(),")}")}}code.push("}",POINTER,"+=1;")}function flip(){for(var j=1;j<1<<dimension;++j){code.push(TEMPORARY,"=",pdelta(j),";",pdelta(j),"=",qcube(j),";",qcube(j),"=",TEMPORARY,";")}}function createLoop(i,mask){if(i<0){processGridCell(mask);return}fillEmptySlice(i);code.push("if(",shape(order[i]),">0){",index(order[i]),"=1;");createLoop(i-1,mask|1<<order[i]);for(var j=0;j<arrayArgs;++j){code.push(pointer(j),"+=",step(j,order[i]),";")}if(i===dimension-1){code.push(POINTER,"=0;");flip()}forLoopBegin(i,2);createLoop(i-1,mask);if(i===dimension-1){code.push("if(",index(order[dimension-1]),"&1){",POINTER,"=0;}");flip()}forLoopEnd(i);code.push("}")}createLoop(dimension-1,0);code.push("freeUint32(",VERTEX_IDS,");freeUint32(",PHASES,");");var procedureCode=["'use strict';","function ",funcName,"(",args.join(),"){","var ",vars.join(),";",code.join(""),"}","return ",funcName].join("");var proc=new Function("vertex","face","phase","mallocUint32","freeUint32",procedureCode);return proc(vertexFunc,faceFunc,phaseFunc,pool.mallocUint32,pool.freeUint32)}function createSurfaceExtractor(args){function error(msg){throw new Error("ndarray-extract-contour: "+msg)}if(typeof args!=="object"){error("Must specify arguments")}var order=args.order;if(!Array.isArray(order)){error("Must specify order")}var arrays=args.arrayArguments||1;if(arrays<1){error("Must have at least one array argument")}var scalars=args.scalarArguments||0;if(scalars<0){error("Scalar arg count must be > 0")}if(typeof args.vertex!=="function"){error("Must specify vertex creation function")}if(typeof args.cell!=="function"){error("Must specify cell creation function")}if(typeof args.phase!=="function"){error("Must specify phase function")}var getters=args.getters||[];var typesig=new Array(arrays);for(var i=0;i<arrays;++i){if(getters.indexOf(i)>=0){typesig[i]=true}else{typesig[i]=false}}return compileSurfaceProcedure(args.vertex,args.cell,args.phase,scalars,order,typesig)}},{"typedarray-pool":617}],476:[function(_dereq_,module,exports){"use strict";module.exports=gradient;var dup=_dereq_("dup");var cwiseCompiler=_dereq_("cwise-compiler");var TEMPLATE_CACHE={};var GRADIENT_CACHE={};var EmptyProc={body:"",args:[],thisVars:[],localVars:[]};var centralDiff=cwiseCompiler({args:["array","array","array"],pre:EmptyProc,post:EmptyProc,body:{args:[{name:"out",lvalue:true,rvalue:false,count:1},{name:"left",lvalue:false,rvalue:true,count:1},{name:"right",lvalue:false,rvalue:true,count:1}],body:"out=0.5*(left-right)",thisVars:[],localVars:[]},funcName:"cdiff"});var zeroOut=cwiseCompiler({args:["array"],pre:EmptyProc,post:EmptyProc,body:{args:[{name:"out",lvalue:true,rvalue:false,count:1}],body:"out=0",thisVars:[],localVars:[]},funcName:"zero"});function generateTemplate(d){if(d in TEMPLATE_CACHE){return TEMPLATE_CACHE[d]}var code=[];for(var i=0;i<d;++i){code.push("out",i,"s=0.5*(inp",i,"l-inp",i,"r);")}var args=["array"];var names=["junk"];for(var i=0;i<d;++i){args.push("array");names.push("out"+i+"s");var o=dup(d);o[i]=-1;args.push({array:0,offset:o.slice()});o[i]=1;args.push({array:0,offset:o.slice()});names.push("inp"+i+"l","inp"+i+"r")}return TEMPLATE_CACHE[d]=cwiseCompiler({args:args,pre:EmptyProc,post:EmptyProc,body:{body:code.join(""),args:names.map((function(n){return{name:n,lvalue:n.indexOf("out")===0,rvalue:n.indexOf("inp")===0,count:n!=="junk"|0}})),thisVars:[],localVars:[]},funcName:"fdTemplate"+d})}function generateGradient(boundaryConditions){var token=boundaryConditions.join();var proc=GRADIENT_CACHE[token];if(proc){return proc}var d=boundaryConditions.length;var code=["function gradient(dst,src){var s=src.shape.slice();"];function handleBoundary(facet){var cod=d-facet.length;var loStr=[];var hiStr=[];var pickStr=[];for(var i=0;i<d;++i){if(facet.indexOf(i+1)>=0){pickStr.push("0")}else if(facet.indexOf(-(i+1))>=0){pickStr.push("s["+i+"]-1")}else{pickStr.push("-1");loStr.push("1");hiStr.push("s["+i+"]-2")}}var boundStr=".lo("+loStr.join()+").hi("+hiStr.join()+")";if(loStr.length===0){boundStr=""}if(cod>0){code.push("if(1");for(var i=0;i<d;++i){if(facet.indexOf(i+1)>=0||facet.indexOf(-(i+1))>=0){continue}code.push("&&s[",i,"]>2")}code.push("){grad",cod,"(src.pick(",pickStr.join(),")",boundStr);for(var i=0;i<d;++i){if(facet.indexOf(i+1)>=0||facet.indexOf(-(i+1))>=0){continue}code.push(",dst.pick(",pickStr.join(),",",i,")",boundStr)}code.push(");")}for(var i=0;i<facet.length;++i){var bnd=Math.abs(facet[i])-1;var outStr="dst.pick("+pickStr.join()+","+bnd+")"+boundStr;switch(boundaryConditions[bnd]){case"clamp":var cPickStr=pickStr.slice();var dPickStr=pickStr.slice();if(facet[i]<0){cPickStr[bnd]="s["+bnd+"]-2"}else{dPickStr[bnd]="1"}if(cod===0){code.push("if(s[",bnd,"]>1){dst.set(",pickStr.join(),",",bnd,",0.5*(src.get(",cPickStr.join(),")-src.get(",dPickStr.join(),")))}else{dst.set(",pickStr.join(),",",bnd,",0)};")}else{code.push("if(s[",bnd,"]>1){diff(",outStr,",src.pick(",cPickStr.join(),")",boundStr,",src.pick(",dPickStr.join(),")",boundStr,");}else{zero(",outStr,");};")}break;case"mirror":if(cod===0){code.push("dst.set(",pickStr.join(),",",bnd,",0);")}else{code.push("zero(",outStr,");")}break;case"wrap":var aPickStr=pickStr.slice();var bPickStr=pickStr.slice();if(facet[i]<0){aPickStr[bnd]="s["+bnd+"]-2";bPickStr[bnd]="0"}else{aPickStr[bnd]="s["+bnd+"]-1";bPickStr[bnd]="1"}if(cod===0){code.push("if(s[",bnd,"]>2){dst.set(",pickStr.join(),",",bnd,",0.5*(src.get(",aPickStr.join(),")-src.get(",bPickStr.join(),")))}else{dst.set(",pickStr.join(),",",bnd,",0)};")}else{code.push("if(s[",bnd,"]>2){diff(",outStr,",src.pick(",aPickStr.join(),")",boundStr,",src.pick(",bPickStr.join(),")",boundStr,");}else{zero(",outStr,");};")}break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}if(cod>0){code.push("};")}}for(var i=0;i<1<<d;++i){var faces=[];for(var j=0;j<d;++j){if(i&1<<j){faces.push(j+1)}}for(var k=0;k<1<<faces.length;++k){var sfaces=faces.slice();for(var j=0;j<faces.length;++j){if(k&1<<j){sfaces[j]=-sfaces[j]}}handleBoundary(sfaces)}}code.push("return dst;};return gradient");var linkNames=["diff","zero"];var linkArgs=[centralDiff,zeroOut];for(var i=1;i<=d;++i){linkNames.push("grad"+i);linkArgs.push(generateTemplate(i))}linkNames.push(code.join(""));var link=Function.apply(void 0,linkNames);var proc=link.apply(void 0,linkArgs);TEMPLATE_CACHE[token]=proc;return proc}function gradient(out,inp,bc){if(Array.isArray(bc)){if(bc.length!==inp.dimension){throw new Error("ndarray-gradient: invalid boundary conditions")}}else if(typeof bc==="string"){bc=dup(inp.dimension,bc)}else{bc=dup(inp.dimension,"clamp")}if(out.dimension!==inp.dimension+1){throw new Error("ndarray-gradient: output dimension must be +1 input dimension")}if(out.shape[inp.dimension]!==inp.dimension){throw new Error("ndarray-gradient: output shape must match input shape")}for(var i=0;i<inp.dimension;++i){if(out.shape[i]!==inp.shape[i]){throw new Error("ndarray-gradient: shape mismatch")}}if(inp.size===0){return out}if(inp.dimension<=0){out.set(0);return out}var cached=generateGradient(bc);return cached(out,inp)}},{"cwise-compiler":157,dup:185}],477:[function(_dereq_,module,exports){"use strict";function interp1d(arr,x){var ix=Math.floor(x),fx=x-ix,s0=0<=ix&&ix<arr.shape[0],s1=0<=ix+1&&ix+1<arr.shape[0],w0=s0?+arr.get(ix):0,w1=s1?+arr.get(ix+1):0;return(1-fx)*w0+fx*w1}function interp2d(arr,x,y){var ix=Math.floor(x),fx=x-ix,s0=0<=ix&&ix<arr.shape[0],s1=0<=ix+1&&ix+1<arr.shape[0],iy=Math.floor(y),fy=y-iy,t0=0<=iy&&iy<arr.shape[1],t1=0<=iy+1&&iy+1<arr.shape[1],w00=s0&&t0?arr.get(ix,iy):0,w01=s0&&t1?arr.get(ix,iy+1):0,w10=s1&&t0?arr.get(ix+1,iy):0,w11=s1&&t1?arr.get(ix+1,iy+1):0;return(1-fy)*((1-fx)*w00+fx*w10)+fy*((1-fx)*w01+fx*w11)}function interp3d(arr,x,y,z){var ix=Math.floor(x),fx=x-ix,s0=0<=ix&&ix<arr.shape[0],s1=0<=ix+1&&ix+1<arr.shape[0],iy=Math.floor(y),fy=y-iy,t0=0<=iy&&iy<arr.shape[1],t1=0<=iy+1&&iy+1<arr.shape[1],iz=Math.floor(z),fz=z-iz,u0=0<=iz&&iz<arr.shape[2],u1=0<=iz+1&&iz+1<arr.shape[2],w000=s0&&t0&&u0?arr.get(ix,iy,iz):0,w010=s0&&t1&&u0?arr.get(ix,iy+1,iz):0,w100=s1&&t0&&u0?arr.get(ix+1,iy,iz):0,w110=s1&&t1&&u0?arr.get(ix+1,iy+1,iz):0,w001=s0&&t0&&u1?arr.get(ix,iy,iz+1):0,w011=s0&&t1&&u1?arr.get(ix,iy+1,iz+1):0,w101=s1&&t0&&u1?arr.get(ix+1,iy,iz+1):0,w111=s1&&t1&&u1?arr.get(ix+1,iy+1,iz+1):0;return(1-fz)*((1-fy)*((1-fx)*w000+fx*w100)+fy*((1-fx)*w010+fx*w110))+fz*((1-fy)*((1-fx)*w001+fx*w101)+fy*((1-fx)*w011+fx*w111))}function interpNd(arr){var d=arr.shape.length|0,ix=new Array(d),fx=new Array(d),s0=new Array(d),s1=new Array(d),i,t;for(i=0;i<d;++i){t=+arguments[i+1];ix[i]=Math.floor(t);fx[i]=t-ix[i];s0[i]=0<=ix[i]&&ix[i]<arr.shape[i];s1[i]=0<=ix[i]+1&&ix[i]+1<arr.shape[i]}var r=0,j,w,idx;i_loop:for(i=0;i<1<<d;++i){w=1;idx=arr.offset;for(j=0;j<d;++j){if(i&1<<j){if(!s1[j]){continue i_loop}w*=fx[j];idx+=arr.stride[j]*(ix[j]+1)}else{if(!s0[j]){continue i_loop}w*=1-fx[j];idx+=arr.stride[j]*ix[j]}}r+=w*arr.data[idx]}return r}function interpolate(arr,x,y,z){switch(arr.shape.length){case 0:return 0;case 1:return interp1d(arr,x);case 2:return interp2d(arr,x,y);case 3:return interp3d(arr,x,y,z);default:return interpNd.apply(undefined,arguments)}}module.exports=interpolate;module.exports.d1=interp1d;module.exports.d2=interp2d;module.exports.d3=interp3d},{}],478:[function(_dereq_,module,exports){"use strict";var compile=_dereq_("cwise-compiler");var EmptyProc={body:"",args:[],thisVars:[],localVars:[]};function fixup(x){if(!x){return EmptyProc}for(var i=0;i<x.args.length;++i){var a=x.args[i];if(i===0){x.args[i]={name:a,lvalue:true,rvalue:!!x.rvalue,count:x.count||1}}else{x.args[i]={name:a,lvalue:false,rvalue:true,count:1}}}if(!x.thisVars){x.thisVars=[]}if(!x.localVars){x.localVars=[]}return x}function pcompile(user_args){return compile({args:user_args.args,pre:fixup(user_args.pre),body:fixup(user_args.body),post:fixup(user_args.proc),funcName:user_args.funcName})}function makeOp(user_args){var args=[];for(var i=0;i<user_args.args.length;++i){args.push("a"+i)}var wrapper=new Function("P",["return function ",user_args.funcName,"_ndarrayops(",args.join(","),") {P(",args.join(","),");return a0}"].join(""));return wrapper(pcompile(user_args))}var assign_ops={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};(function(){for(var id in assign_ops){var op=assign_ops[id];exports[id]=makeOp({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+op+"c"},funcName:id});exports[id+"eq"]=makeOp({args:["array","array"],body:{args:["a","b"],body:"a"+op+"=b"},rvalue:true,funcName:id+"eq"});exports[id+"s"]=makeOp({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+op+"s"},funcName:id+"s"});exports[id+"seq"]=makeOp({args:["array","scalar"],body:{args:["a","s"],body:"a"+op+"=s"},rvalue:true,funcName:id+"seq"})}})();var unary_ops={not:"!",bnot:"~",neg:"-",recip:"1.0/"};(function(){for(var id in unary_ops){var op=unary_ops[id];exports[id]=makeOp({args:["array","array"],body:{args:["a","b"],body:"a="+op+"b"},funcName:id});exports[id+"eq"]=makeOp({args:["array"],body:{args:["a"],body:"a="+op+"a"},rvalue:true,count:2,funcName:id+"eq"})}})();var binary_ops={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};(function(){for(var id in binary_ops){var op=binary_ops[id];exports[id]=makeOp({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+op+"c"},funcName:id});exports[id+"s"]=makeOp({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+op+"s"},funcName:id+"s"});exports[id+"eq"]=makeOp({args:["array","array"],body:{args:["a","b"],body:"a=a"+op+"b"},rvalue:true,count:2,funcName:id+"eq"});exports[id+"seq"]=makeOp({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+op+"s"},rvalue:true,count:2,funcName:id+"seq"})}})();var math_unary=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];(function(){for(var i=0;i<math_unary.length;++i){var f=math_unary[i];exports[f]=makeOp({args:["array","array"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:f});exports[f+"eq"]=makeOp({args:["array"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:true,count:2,funcName:f+"eq"})}})();var math_comm=["max","min","atan2","pow"];(function(){for(var i=0;i<math_comm.length;++i){var f=math_comm[i];exports[f]=makeOp({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:f});exports[f+"s"]=makeOp({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:f+"s"});exports[f+"eq"]=makeOp({args:["array","array"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:true,count:2,funcName:f+"eq"});exports[f+"seq"]=makeOp({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:true,count:2,funcName:f+"seq"})}})();var math_noncomm=["atan2","pow"];(function(){for(var i=0;i<math_noncomm.length;++i){var f=math_noncomm[i];exports[f+"op"]=makeOp({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:f+"op"});exports[f+"ops"]=makeOp({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:f+"ops"});exports[f+"opeq"]=makeOp({args:["array","array"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:true,count:2,funcName:f+"opeq"});exports[f+"opseq"]=makeOp({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+f,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:true,count:2,funcName:f+"opseq"})}})();exports.any=compile({args:["array"],pre:EmptyProc,body:{args:[{name:"a",lvalue:false,rvalue:true,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"});exports.all=compile({args:["array"],pre:EmptyProc,body:{args:[{name:"x",lvalue:false,rvalue:true,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"});exports.sum=compile({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:false,rvalue:true,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"});exports.prod=compile({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:false,rvalue:true,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"});exports.norm2squared=compile({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:false,rvalue:true,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"});exports.norm2=compile({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:false,rvalue:true,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"});exports.norminf=compile({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:false,rvalue:true,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"});exports.norm1=compile({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:false,rvalue:true,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"});exports.sup=compile({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:false,rvalue:true,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}});exports.inf=compile({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:false,rvalue:true,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}});exports.argmin=compile({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:false,rvalue:false,count:0},{name:"_inline_0_arg1_",lvalue:false,rvalue:false,count:0},{name:"_inline_0_arg2_",lvalue:false,rvalue:true,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:false,rvalue:true,count:2},{name:"_inline_1_arg1_",lvalue:false,rvalue:true,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}});exports.argmax=compile({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:false,rvalue:false,count:0},{name:"_inline_0_arg1_",lvalue:false,rvalue:false,count:0},{name:"_inline_0_arg2_",lvalue:false,rvalue:true,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:false,rvalue:true,count:2},{name:"_inline_1_arg1_",lvalue:false,rvalue:true,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}});exports.random=makeOp({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"});exports.assign=makeOp({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"});exports.assigns=makeOp({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"});exports.equals=compile({args:["array","array"],pre:EmptyProc,body:{args:[{name:"x",lvalue:false,rvalue:true,count:1},{name:"y",lvalue:false,rvalue:true,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":157}],479:[function(_dereq_,module,exports){"use strict";var ndarray=_dereq_("ndarray");var do_convert=_dereq_("./doConvert.js");module.exports=function convert(arr,result){var shape=[],c=arr,sz=1;while(Array.isArray(c)){shape.push(c.length);sz*=c.length;c=c[0]}if(shape.length===0){return ndarray()}if(!result){result=ndarray(new Float64Array(sz),shape)}do_convert(result,arr);return result}},{"./doConvert.js":480,ndarray:483}],480:[function(_dereq_,module,exports){module.exports=_dereq_("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:true,rvalue:false,count:1},{name:"_inline_1_arg1_",lvalue:false,rvalue:true,count:1},{name:"_inline_1_arg2_",lvalue:false,rvalue:true,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":157}],481:[function(_dereq_,module,exports){"use strict";var pool=_dereq_("typedarray-pool");var INSERTION_SORT_THRESHOLD=32;function getMallocFree(dtype){switch(dtype){case"uint8":return[pool.mallocUint8,pool.freeUint8];case"uint16":return[pool.mallocUint16,pool.freeUint16];case"uint32":return[pool.mallocUint32,pool.freeUint32];case"int8":return[pool.mallocInt8,pool.freeInt8];case"int16":return[pool.mallocInt16,pool.freeInt16];case"int32":return[pool.mallocInt32,pool.freeInt32];case"float32":return[pool.mallocFloat,pool.freeFloat];case"float64":return[pool.mallocDouble,pool.freeDouble];default:return null}}function shapeArgs(dimension){var args=[];for(var i=0;i<dimension;++i){args.push("s"+i)}for(var i=0;i<dimension;++i){args.push("n"+i)}for(var i=1;i<dimension;++i){args.push("d"+i)}for(var i=1;i<dimension;++i){args.push("e"+i)}for(var i=1;i<dimension;++i){args.push("f"+i)}return args}function createInsertionSort(order,dtype){var code=["'use strict'"];var funcName=["ndarrayInsertionSort",order.join("d"),dtype].join("");var funcArgs=["left","right","data","offset"].concat(shapeArgs(order.length));var allocator=getMallocFree(dtype);var vars=["i,j,cptr,ptr=left*s0+offset"];if(order.length>1){var scratch_shape=[];for(var i=1;i<order.length;++i){vars.push("i"+i);scratch_shape.push("n"+i)}if(allocator){vars.push("scratch=malloc("+scratch_shape.join("*")+")")}else{vars.push("scratch=new Array("+scratch_shape.join("*")+")")}vars.push("dptr","sptr","a","b")}else{vars.push("scratch")}function dataRead(ptr){if(dtype==="generic"){return["data.get(",ptr,")"].join("")}return["data[",ptr,"]"].join("")}function dataWrite(ptr,v){if(dtype==="generic"){return["data.set(",ptr,",",v,")"].join("")}return["data[",ptr,"]=",v].join("")}code.push(["function ",funcName,"(",funcArgs.join(","),"){var ",vars.join(",")].join(""),"for(i=left+1;i<=right;++i){","j=i;ptr+=s0","cptr=ptr");if(order.length>1){code.push("dptr=0;sptr=ptr");for(var i=order.length-1;i>=0;--i){var j=order[i];if(j===0){continue}code.push(["for(i",j,"=0;i",j,"<n",j,";++i",j,"){"].join(""))}code.push("scratch[dptr++]=",dataRead("sptr"));for(var i=0;i<order.length;++i){var j=order[i];if(j===0){continue}code.push("sptr+=d"+j,"}")}code.push("__g:while(j--\x3eleft){","dptr=0","sptr=cptr-s0");for(var i=1;i<order.length;++i){if(i===1){code.push("__l:")}code.push(["for(i",i,"=0;i",i,"<n",i,";++i",i,"){"].join(""))}code.push(["a=",dataRead("sptr"),"\nb=scratch[dptr]\nif(a<b){break __g}\nif(a>b){break __l}"].join(""));for(var i=order.length-1;i>=1;--i){code.push("sptr+=e"+i,"dptr+=f"+i,"}")}code.push("dptr=cptr;sptr=cptr-s0");for(var i=order.length-1;i>=0;--i){var j=order[i];if(j===0){continue}code.push(["for(i",j,"=0;i",j,"<n",j,";++i",j,"){"].join(""))}code.push(dataWrite("dptr",dataRead("sptr")));for(var i=0;i<order.length;++i){var j=order[i];if(j===0){continue}code.push(["dptr+=d",j,";sptr+=d",j].join(""),"}")}code.push("cptr-=s0\n}");code.push("dptr=cptr;sptr=0");for(var i=order.length-1;i>=0;--i){var j=order[i];if(j===0){continue}code.push(["for(i",j,"=0;i",j,"<n",j,";++i",j,"){"].join(""))}code.push(dataWrite("dptr","scratch[sptr++]"));for(var i=0;i<order.length;++i){var j=order[i];if(j===0){continue}code.push("dptr+=d"+j,"}")}}else{code.push("scratch="+dataRead("ptr"),"while((j--\x3eleft)&&("+dataRead("cptr-s0")+">scratch)){",dataWrite("cptr",dataRead("cptr-s0")),"cptr-=s0","}",dataWrite("cptr","scratch"))}code.push("}");if(order.length>1&&allocator){code.push("free(scratch)")}code.push("} return "+funcName);if(allocator){var result=new Function("malloc","free",code.join("\n"));return result(allocator[0],allocator[1])}else{var result=new Function(code.join("\n"));return result()}}function createQuickSort(order,dtype,insertionSort){var code=["'use strict'"];var funcName=["ndarrayQuickSort",order.join("d"),dtype].join("");var funcArgs=["left","right","data","offset"].concat(shapeArgs(order.length));var allocator=getMallocFree(dtype);var labelCounter=0;code.push(["function ",funcName,"(",funcArgs.join(","),"){"].join(""));var vars=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(order.length>1){var ele_size=[];for(var i=1;i<order.length;++i){ele_size.push("n"+i);vars.push("i"+i)}for(var i=0;i<8;++i){vars.push("b_ptr"+i)}vars.push("ptr3","ptr4","ptr5","ptr6","ptr7","pivot_ptr","ptr_shift","elementSize="+ele_size.join("*"));if(allocator){vars.push("pivot1=malloc(elementSize)","pivot2=malloc(elementSize)")}else{vars.push("pivot1=new Array(elementSize),pivot2=new Array(elementSize)")}}else{vars.push("pivot1","pivot2")}code.push("var "+vars.join(","));function toPointer(v){return["(offset+",v,"*s0)"].join("")}function dataRead(ptr){if(dtype==="generic"){return["data.get(",ptr,")"].join("")}return["data[",ptr,"]"].join("")}function dataWrite(ptr,v){if(dtype==="generic"){return["data.set(",ptr,",",v,")"].join("")}return["data[",ptr,"]=",v].join("")}function cacheLoop(ptrs,usePivot,body){if(ptrs.length===1){code.push("ptr0="+toPointer(ptrs[0]))}else{for(var i=0;i<ptrs.length;++i){code.push(["b_ptr",i,"=s0*",ptrs[i]].join(""))}}if(usePivot){code.push("pivot_ptr=0")}code.push("ptr_shift=offset");for(var i=order.length-1;i>=0;--i){var j=order[i];if(j===0){continue}code.push(["for(i",j,"=0;i",j,"<n",j,";++i",j,"){"].join(""))}if(ptrs.length>1){for(var i=0;i<ptrs.length;++i){code.push(["ptr",i,"=b_ptr",i,"+ptr_shift"].join(""))}}code.push(body);if(usePivot){code.push("++pivot_ptr")}for(var i=0;i<order.length;++i){var j=order[i];if(j===0){continue}if(ptrs.length>1){code.push("ptr_shift+=d"+j)}else{code.push("ptr0+=d"+j)}code.push("}")}}function lexicoLoop(label,ptrs,usePivot,body){if(ptrs.length===1){code.push("ptr0="+toPointer(ptrs[0]))}else{for(var i=0;i<ptrs.length;++i){code.push(["b_ptr",i,"=s0*",ptrs[i]].join(""))}code.push("ptr_shift=offset")}if(usePivot){code.push("pivot_ptr=0")}if(label){code.push(label+":")}for(var i=1;i<order.length;++i){code.push(["for(i",i,"=0;i",i,"<n",i,";++i",i,"){"].join(""))}if(ptrs.length>1){for(var i=0;i<ptrs.length;++i){code.push(["ptr",i,"=b_ptr",i,"+ptr_shift"].join(""))}}code.push(body);for(var i=order.length-1;i>=1;--i){if(usePivot){code.push("pivot_ptr+=f"+i)}if(ptrs.length>1){code.push("ptr_shift+=e"+i)}else{code.push("ptr0+=e"+i)}code.push("}")}}function cleanUp(){if(order.length>1&&allocator){code.push("free(pivot1)","free(pivot2)")}}function compareSwap(a_id,b_id){var a="el"+a_id;var b="el"+b_id;if(order.length>1){var lbl="__l"+ ++labelCounter;lexicoLoop(lbl,[a,b],false,["comp=",dataRead("ptr0"),"-",dataRead("ptr1"),"\n","if(comp>0){tmp0=",a,";",a,"=",b,";",b,"=tmp0;break ",lbl,"}\n","if(comp<0){break ",lbl,"}"].join(""))}else{code.push(["if(",dataRead(toPointer(a)),">",dataRead(toPointer(b)),"){tmp0=",a,";",a,"=",b,";",b,"=tmp0}"].join(""))}}compareSwap(1,2);compareSwap(4,5);compareSwap(1,3);compareSwap(2,3);compareSwap(1,4);compareSwap(3,4);compareSwap(2,5);compareSwap(2,3);compareSwap(4,5);if(order.length>1){cacheLoop(["el1","el2","el3","el4","el5","index1","index3","index5"],true,["pivot1[pivot_ptr]=",dataRead("ptr1"),"\n","pivot2[pivot_ptr]=",dataRead("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",dataRead("ptr0"),"\n","y=",dataRead("ptr2"),"\n","z=",dataRead("ptr4"),"\n",dataWrite("ptr5","x"),"\n",dataWrite("ptr6","y"),"\n",dataWrite("ptr7","z")].join(""))}else{code.push(["pivot1=",dataRead(toPointer("el2")),"\n","pivot2=",dataRead(toPointer("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",dataRead(toPointer("el1")),"\n","y=",dataRead(toPointer("el3")),"\n","z=",dataRead(toPointer("el5")),"\n",dataWrite(toPointer("index1"),"x"),"\n",dataWrite(toPointer("index3"),"y"),"\n",dataWrite(toPointer("index5"),"z")].join(""))}function moveElement(dst,src){if(order.length>1){cacheLoop([dst,src],false,dataWrite("ptr0",dataRead("ptr1")))}else{code.push(dataWrite(toPointer(dst),dataRead(toPointer(src))))}}moveElement("index2","left");moveElement("index4","right");function comparePivot(result,ptr,n){if(order.length>1){var lbl="__l"+ ++labelCounter;lexicoLoop(lbl,[ptr],true,[result,"=",dataRead("ptr0"),"-pivot",n,"[pivot_ptr]\n","if(",result,"!==0){break ",lbl,"}"].join(""))}else{code.push([result,"=",dataRead(toPointer(ptr)),"-pivot",n].join(""))}}function swapElements(a,b){if(order.length>1){cacheLoop([a,b],false,["tmp=",dataRead("ptr0"),"\n",dataWrite("ptr0",dataRead("ptr1")),"\n",dataWrite("ptr1","tmp")].join(""))}else{code.push(["ptr0=",toPointer(a),"\n","ptr1=",toPointer(b),"\n","tmp=",dataRead("ptr0"),"\n",dataWrite("ptr0",dataRead("ptr1")),"\n",dataWrite("ptr1","tmp")].join(""))}}function tripleSwap(k,less,great){if(order.length>1){cacheLoop([k,less,great],false,["tmp=",dataRead("ptr0"),"\n",dataWrite("ptr0",dataRead("ptr1")),"\n",dataWrite("ptr1",dataRead("ptr2")),"\n",dataWrite("ptr2","tmp")].join(""));code.push("++"+less,"--"+great)}else{code.push(["ptr0=",toPointer(k),"\n","ptr1=",toPointer(less),"\n","ptr2=",toPointer(great),"\n","++",less,"\n","--",great,"\n","tmp=",dataRead("ptr0"),"\n",dataWrite("ptr0",dataRead("ptr1")),"\n",dataWrite("ptr1",dataRead("ptr2")),"\n",dataWrite("ptr2","tmp")].join(""))}}function swapAndDecrement(k,great){swapElements(k,great);code.push("--"+great)}code.push("if(pivots_are_equal){");code.push("for(k=less;k<=great;++k){");comparePivot("comp","k",1);code.push("if(comp===0){continue}");code.push("if(comp<0){");code.push("if(k!==less){");swapElements("k","less");code.push("}");code.push("++less");code.push("}else{");code.push("while(true){");comparePivot("comp","great",1);code.push("if(comp>0){");code.push("great--");code.push("}else if(comp<0){");tripleSwap("k","less","great");code.push("break");code.push("}else{");swapAndDecrement("k","great");code.push("break");code.push("}");code.push("}");code.push("}");code.push("}");code.push("}else{");code.push("for(k=less;k<=great;++k){");comparePivot("comp_pivot1","k",1);code.push("if(comp_pivot1<0){");code.push("if(k!==less){");swapElements("k","less");code.push("}");code.push("++less");code.push("}else{");comparePivot("comp_pivot2","k",2);code.push("if(comp_pivot2>0){");code.push("while(true){");comparePivot("comp","great",2);code.push("if(comp>0){");code.push("if(--great<k){break}");code.push("continue");code.push("}else{");comparePivot("comp","great",1);code.push("if(comp<0){");tripleSwap("k","less","great");code.push("}else{");swapAndDecrement("k","great");code.push("}");code.push("break");code.push("}");code.push("}");code.push("}");code.push("}");code.push("}");code.push("}");function storePivot(mem_dest,pivot_dest,pivot){if(order.length>1){cacheLoop([mem_dest,pivot_dest],true,[dataWrite("ptr0",dataRead("ptr1")),"\n",dataWrite("ptr1",["pivot",pivot,"[pivot_ptr]"].join(""))].join(""))}else{code.push(dataWrite(toPointer(mem_dest),dataRead(toPointer(pivot_dest))),dataWrite(toPointer(pivot_dest),"pivot"+pivot))}}storePivot("left","(less-1)",1);storePivot("right","(great+1)",2);function doSort(left,right){code.push(["if((",right,"-",left,")<=",INSERTION_SORT_THRESHOLD,"){\n","insertionSort(",left,",",right,",data,offset,",shapeArgs(order.length).join(","),")\n","}else{\n",funcName,"(",left,",",right,",data,offset,",shapeArgs(order.length).join(","),")\n","}"].join(""))}doSort("left","(less-2)");doSort("(great+2)","right");code.push("if(pivots_are_equal){");cleanUp();code.push("return");code.push("}");function walkPointer(ptr,pivot,body){if(order.length>1){code.push(["__l",++labelCounter,":while(true){"].join(""));cacheLoop([ptr],true,["if(",dataRead("ptr0"),"!==pivot",pivot,"[pivot_ptr]){break __l",labelCounter,"}"].join(""));code.push(body,"}")}else{code.push(["while(",dataRead(toPointer(ptr)),"===pivot",pivot,"){",body,"}"].join(""))}}code.push("if(less<index1&&great>index5){");walkPointer("less",1,"++less");walkPointer("great",2,"--great");code.push("for(k=less;k<=great;++k){");comparePivot("comp_pivot1","k",1);code.push("if(comp_pivot1===0){");code.push("if(k!==less){");swapElements("k","less");code.push("}");code.push("++less");code.push("}else{");comparePivot("comp_pivot2","k",2);code.push("if(comp_pivot2===0){");code.push("while(true){");comparePivot("comp","great",2);code.push("if(comp===0){");code.push("if(--great<k){break}");code.push("continue");code.push("}else{");comparePivot("comp","great",1);code.push("if(comp<0){");tripleSwap("k","less","great");code.push("}else{");swapAndDecrement("k","great");code.push("}");code.push("break");code.push("}");code.push("}");code.push("}");code.push("}");code.push("}");code.push("}");cleanUp();doSort("less","great");code.push("}return "+funcName);if(order.length>1&&allocator){var compiled=new Function("insertionSort","malloc","free",code.join("\n"));return compiled(insertionSort,allocator[0],allocator[1])}var compiled=new Function("insertionSort",code.join("\n"));return compiled(insertionSort)}function compileSort(order,dtype){var code=["'use strict'"];var funcName=["ndarraySortWrapper",order.join("d"),dtype].join("");var funcArgs=["array"];code.push(["function ",funcName,"(",funcArgs.join(","),"){"].join(""));var vars=["data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride"];for(var i=0;i<order.length;++i){vars.push(["s",i,"=stride[",i,"]|0,n",i,"=shape[",i,"]|0"].join(""))}var scratch_stride=new Array(order.length);var nprod=[];for(var i=0;i<order.length;++i){var k=order[i];if(k===0){continue}if(nprod.length===0){scratch_stride[k]="1"}else{scratch_stride[k]=nprod.join("*")}nprod.push("n"+k)}var p=-1,q=-1;for(var i=0;i<order.length;++i){var j=order[i];if(j!==0){if(p>0){vars.push(["d",j,"=s",j,"-d",p,"*n",p].join(""))}else{vars.push(["d",j,"=s",j].join(""))}p=j}var k=order.length-1-i;if(k!==0){if(q>0){vars.push(["e",k,"=s",k,"-e",q,"*n",q,",f",k,"=",scratch_stride[k],"-f",q,"*n",q].join(""))}else{vars.push(["e",k,"=s",k,",f",k,"=",scratch_stride[k]].join(""))}q=k}}code.push("var "+vars.join(","));var sortArgs=["0","n0-1","data","offset"].concat(shapeArgs(order.length));code.push(["if(n0<=",INSERTION_SORT_THRESHOLD,"){","insertionSort(",sortArgs.join(","),")}else{","quickSort(",sortArgs.join(","),")}"].join(""));code.push("}return "+funcName);var result=new Function("insertionSort","quickSort",code.join("\n"));var insertionSort=createInsertionSort(order,dtype);var quickSort=createQuickSort(order,dtype,insertionSort);return result(insertionSort,quickSort)}module.exports=compileSort},{"typedarray-pool":617}],482:[function(_dereq_,module,exports){"use strict";var compile=_dereq_("./lib/compile_sort.js");var CACHE={};function sort(array){var order=array.order;var dtype=array.dtype;var typeSig=[order,dtype];var typeName=typeSig.join(":");var compiled=CACHE[typeName];if(!compiled){CACHE[typeName]=compiled=compile(order,dtype)}compiled(array);return array}module.exports=sort},{"./lib/compile_sort.js":481}],483:[function(_dereq_,module,exports){var iota=_dereq_("iota-array");var isBuffer=_dereq_("is-buffer");var hasTypedArrays=typeof Float64Array!=="undefined";function compare1st(a,b){return a[0]-b[0]}function order(){var stride=this.stride;var terms=new Array(stride.length);var i;for(i=0;i<terms.length;++i){terms[i]=[Math.abs(stride[i]),i]}terms.sort(compare1st);var result=new Array(terms.length);for(i=0;i<result.length;++i){result[i]=terms[i][1]}return result}function compileConstructor(dtype,dimension){var className=["View",dimension,"d",dtype].join("");if(dimension<0){className="View_Nil"+dtype}var useGetters=dtype==="generic";if(dimension===-1){var code="function "+className+"(a){this.data=a;};var proto="+className+".prototype;proto.dtype='"+dtype+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+className+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+className+"(a){return new "+className+"(a);}";var procedure=new Function(code);return procedure()}else if(dimension===0){var code="function "+className+"(a,d) {this.data = a;this.offset = d};var proto="+className+".prototype;proto.dtype='"+dtype+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+className+"_copy() {return new "+className+"(this.data,this.offset)};proto.pick=function "+className+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+className+"_get(){return "+(useGetters?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+className+"_set(v){return "+(useGetters?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+className+"(a,b,c,d){return new "+className+"(a,d)}";var procedure=new Function("TrivialArray",code);return procedure(CACHED_CONSTRUCTORS[dtype][0])}var code=["'use strict'"];var indices=iota(dimension);var args=indices.map((function(i){return"i"+i}));var index_str="this.offset+"+indices.map((function(i){return"this.stride["+i+"]*i"+i})).join("+");var shapeArg=indices.map((function(i){return"b"+i})).join(",");var strideArg=indices.map((function(i){return"c"+i})).join(",");code.push("function "+className+"(a,"+shapeArg+","+strideArg+",d){this.data=a","this.shape=["+shapeArg+"]","this.stride=["+strideArg+"]","this.offset=d|0}","var proto="+className+".prototype","proto.dtype='"+dtype+"'","proto.dimension="+dimension);code.push("Object.defineProperty(proto,'size',{get:function "+className+"_size(){return "+indices.map((function(i){return"this.shape["+i+"]"})).join("*"),"}})");if(dimension===1){code.push("proto.order=[0]")}else{code.push("Object.defineProperty(proto,'order',{get:");if(dimension<4){code.push("function "+className+"_order(){");if(dimension===2){code.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})")}else if(dimension===3){code.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")}}else{code.push("ORDER})")}}code.push("proto.set=function "+className+"_set("+args.join(",")+",v){");if(useGetters){code.push("return this.data.set("+index_str+",v)}")}else{code.push("return this.data["+index_str+"]=v}")}code.push("proto.get=function "+className+"_get("+args.join(",")+"){");if(useGetters){code.push("return this.data.get("+index_str+")}")}else{code.push("return this.data["+index_str+"]}")}code.push("proto.index=function "+className+"_index(",args.join(),"){return "+index_str+"}");code.push("proto.hi=function "+className+"_hi("+args.join(",")+"){return new "+className+"(this.data,"+indices.map((function(i){return["(typeof i",i,"!=='number'||i",i,"<0)?this.shape[",i,"]:i",i,"|0"].join("")})).join(",")+","+indices.map((function(i){return"this.stride["+i+"]"})).join(",")+",this.offset)}");var a_vars=indices.map((function(i){return"a"+i+"=this.shape["+i+"]"}));var c_vars=indices.map((function(i){return"c"+i+"=this.stride["+i+"]"}));code.push("proto.lo=function "+className+"_lo("+args.join(",")+"){var b=this.offset,d=0,"+a_vars.join(",")+","+c_vars.join(","));for(var i=0;i<dimension;++i){code.push("if(typeof i"+i+"==='number'&&i"+i+">=0){d=i"+i+"|0;b+=c"+i+"*d;a"+i+"-=d}")}code.push("return new "+className+"(this.data,"+indices.map((function(i){return"a"+i})).join(",")+","+indices.map((function(i){return"c"+i})).join(",")+",b)}");code.push("proto.step=function "+className+"_step("+args.join(",")+"){var "+indices.map((function(i){return"a"+i+"=this.shape["+i+"]"})).join(",")+","+indices.map((function(i){return"b"+i+"=this.stride["+i+"]"})).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(var i=0;i<dimension;++i){code.push("if(typeof i"+i+"==='number'){d=i"+i+"|0;if(d<0){c+=b"+i+"*(a"+i+"-1);a"+i+"=ceil(-a"+i+"/d)}else{a"+i+"=ceil(a"+i+"/d)}b"+i+"*=d}")}code.push("return new "+className+"(this.data,"+indices.map((function(i){return"a"+i})).join(",")+","+indices.map((function(i){return"b"+i})).join(",")+",c)}");var tShape=new Array(dimension);var tStride=new Array(dimension);for(var i=0;i<dimension;++i){tShape[i]="a[i"+i+"]";tStride[i]="b[i"+i+"]"}code.push("proto.transpose=function "+className+"_transpose("+args+"){"+args.map((function(n,idx){return n+"=("+n+"===undefined?"+idx+":"+n+"|0)"})).join(";"),"var a=this.shape,b=this.stride;return new "+className+"(this.data,"+tShape.join(",")+","+tStride.join(",")+",this.offset)}");code.push("proto.pick=function "+className+"_pick("+args+"){var a=[],b=[],c=this.offset");for(var i=0;i<dimension;++i){code.push("if(typeof i"+i+"==='number'&&i"+i+">=0){c=(c+this.stride["+i+"]*i"+i+")|0}else{a.push(this.shape["+i+"]);b.push(this.stride["+i+"])}")}code.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}");code.push("return function construct_"+className+"(data,shape,stride,offset){return new "+className+"(data,"+indices.map((function(i){return"shape["+i+"]"})).join(",")+","+indices.map((function(i){return"stride["+i+"]"})).join(",")+",offset)}");var procedure=new Function("CTOR_LIST","ORDER",code.join("\n"));return procedure(CACHED_CONSTRUCTORS[dtype],order)}function arrayDType(data){if(isBuffer(data)){return"buffer"}if(hasTypedArrays){switch(Object.prototype.toString.call(data)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}}if(Array.isArray(data)){return"array"}return"generic"}var CACHED_CONSTRUCTORS={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};(function(){for(var id in CACHED_CONSTRUCTORS){CACHED_CONSTRUCTORS[id].push(compileConstructor(id,-1))}});function wrappedNDArrayCtor(data,shape,stride,offset){if(data===undefined){var ctor=CACHED_CONSTRUCTORS.array[0];return ctor([])}else if(typeof data==="number"){data=[data]}if(shape===undefined){shape=[data.length]}var d=shape.length;if(stride===undefined){stride=new Array(d);for(var i=d-1,sz=1;i>=0;--i){stride[i]=sz;sz*=shape[i]}}if(offset===undefined){offset=0;for(var i=0;i<d;++i){if(stride[i]<0){offset-=(shape[i]-1)*stride[i]}}}var dtype=arrayDType(data);var ctor_list=CACHED_CONSTRUCTORS[dtype];while(ctor_list.length<=d+1){ctor_list.push(compileConstructor(dtype,ctor_list.length-1))}var ctor=ctor_list[d+1];return ctor(data,shape,stride,offset)}module.exports=wrappedNDArrayCtor},{"iota-array":451,"is-buffer":453}],484:[function(_dereq_,module,exports){"use strict";var doubleBits=_dereq_("double-bits");var SMALLEST_DENORM=Math.pow(2,-1074);var UINT_MAX=-1>>>0;module.exports=nextafter;function nextafter(x,y){if(isNaN(x)||isNaN(y)){return NaN}if(x===y){return x}if(x===0){if(y<0){return-SMALLEST_DENORM}else{return SMALLEST_DENORM}}var hi=doubleBits.hi(x);var lo=doubleBits.lo(x);if(y>x===x>0){if(lo===UINT_MAX){hi+=1;lo=0}else{lo+=1}}else{if(lo===0){lo=UINT_MAX;hi-=1}else{lo-=1}}return doubleBits.pack(lo,hi)}},{"double-bits":182}],485:[function(_dereq_,module,exports){var π=Math.PI;var _120=radians(120);module.exports=normalize;function normalize(path){var prev;var result=[];var bezierX=0;var bezierY=0;var startX=0;var startY=0;var quadX=null;var quadY=null;var x=0;var y=0;for(var i=0,len=path.length;i<len;i++){var seg=path[i];var command=seg[0];switch(command){case"M":startX=seg[1];startY=seg[2];break;case"A":seg=arc(x,y,seg[1],seg[2],radians(seg[3]),seg[4],seg[5],seg[6],seg[7]);seg.unshift("C");if(seg.length>7){result.push(seg.splice(0,7));seg.unshift("C")}break;case"S":var cx=x;var cy=y;if(prev=="C"||prev=="S"){cx+=cx-bezierX;cy+=cy-bezierY}seg=["C",cx,cy,seg[1],seg[2],seg[3],seg[4]];break;case"T":if(prev=="Q"||prev=="T"){quadX=x*2-quadX;quadY=y*2-quadY}else{quadX=x;quadY=y}seg=quadratic(x,y,quadX,quadY,seg[1],seg[2]);break;case"Q":quadX=seg[1];quadY=seg[2];seg=quadratic(x,y,seg[1],seg[2],seg[3],seg[4]);break;case"L":seg=line(x,y,seg[1],seg[2]);break;case"H":seg=line(x,y,seg[1],y);break;case"V":seg=line(x,y,x,seg[1]);break;case"Z":seg=line(x,y,startX,startY);break}prev=command;x=seg[seg.length-2];y=seg[seg.length-1];if(seg.length>4){bezierX=seg[seg.length-4];bezierY=seg[seg.length-3]}else{bezierX=x;bezierY=y}result.push(seg)}return result}function line(x1,y1,x2,y2){return["C",x1,y1,x2,y2,x2,y2]}function quadratic(x1,y1,cx,cy,x2,y2){return["C",x1/3+2/3*cx,y1/3+2/3*cy,x2/3+2/3*cx,y2/3+2/3*cy,x2,y2]}function arc(x1,y1,rx,ry,angle,large_arc_flag,sweep_flag,x2,y2,recursive){if(!recursive){var xy=rotate(x1,y1,-angle);x1=xy.x;y1=xy.y;xy=rotate(x2,y2,-angle);x2=xy.x;y2=xy.y;var x=(x1-x2)/2;var y=(y1-y2)/2;var h=x*x/(rx*rx)+y*y/(ry*ry);if(h>1){h=Math.sqrt(h);rx=h*rx;ry=h*ry}var rx2=rx*rx;var ry2=ry*ry;var k=(large_arc_flag==sweep_flag?-1:1)*Math.sqrt(Math.abs((rx2*ry2-rx2*y*y-ry2*x*x)/(rx2*y*y+ry2*x*x)));if(k==Infinity)k=1;var cx=k*rx*y/ry+(x1+x2)/2;var cy=k*-ry*x/rx+(y1+y2)/2;var f1=Math.asin(((y1-cy)/ry).toFixed(9));var f2=Math.asin(((y2-cy)/ry).toFixed(9));f1=x1<cx?π-f1:f1;f2=x2<cx?π-f2:f2;if(f1<0)f1=π*2+f1;if(f2<0)f2=π*2+f2;if(sweep_flag&&f1>f2)f1=f1-π*2;if(!sweep_flag&&f2>f1)f2=f2-π*2}else{f1=recursive[0];f2=recursive[1];cx=recursive[2];cy=recursive[3]}if(Math.abs(f2-f1)>_120){var f2old=f2;var x2old=x2;var y2old=y2;f2=f1+_120*(sweep_flag&&f2>f1?1:-1);x2=cx+rx*Math.cos(f2);y2=cy+ry*Math.sin(f2);var res=arc(x2,y2,rx,ry,angle,0,sweep_flag,x2old,y2old,[f2,f2old,cx,cy])}var t=Math.tan((f2-f1)/4);var hx=4/3*rx*t;var hy=4/3*ry*t;var curve=[2*x1-(x1+hx*Math.sin(f1)),2*y1-(y1-hy*Math.cos(f1)),x2+hx*Math.sin(f2),y2-hy*Math.cos(f2),x2,y2];if(recursive)return curve;if(res)curve=curve.concat(res);for(var i=0;i<curve.length;){var rot=rotate(curve[i],curve[i+1],angle);curve[i++]=rot.x;curve[i++]=rot.y}return curve}function rotate(x,y,rad){return{x:x*Math.cos(rad)-y*Math.sin(rad),y:x*Math.sin(rad)+y*Math.cos(rad)}}function radians(degress){return degress*(π/180)}},{}],486:[function(_dereq_,module,exports){var DEFAULT_NORMALS_EPSILON=1e-6;var DEFAULT_FACE_EPSILON=1e-6;exports.vertexNormals=function(faces,positions,specifiedEpsilon){var N=positions.length;var normals=new Array(N);var epsilon=specifiedEpsilon===void 0?DEFAULT_NORMALS_EPSILON:specifiedEpsilon;for(var i=0;i<N;++i){normals[i]=[0,0,0]}for(var i=0;i<faces.length;++i){var f=faces[i];var p=0;var c=f[f.length-1];var n=f[0];for(var j=0;j<f.length;++j){p=c;c=n;n=f[(j+1)%f.length];var v0=positions[p];var v1=positions[c];var v2=positions[n];var d01=new Array(3);var m01=0;var d21=new Array(3);var m21=0;for(var k=0;k<3;++k){d01[k]=v0[k]-v1[k];m01+=d01[k]*d01[k];d21[k]=v2[k]-v1[k];m21+=d21[k]*d21[k]}if(m01*m21>epsilon){var norm=normals[c];var w=1/Math.sqrt(m01*m21);for(var k=0;k<3;++k){var u=(k+1)%3;var v=(k+2)%3;norm[k]+=w*(d21[u]*d01[v]-d21[v]*d01[u])}}}}for(var i=0;i<N;++i){var norm=normals[i];var m=0;for(var k=0;k<3;++k){m+=norm[k]*norm[k]}if(m>epsilon){var w=1/Math.sqrt(m);for(var k=0;k<3;++k){norm[k]*=w}}else{for(var k=0;k<3;++k){norm[k]=0}}}return normals};exports.faceNormals=function(faces,positions,specifiedEpsilon){var N=faces.length;var normals=new Array(N);var epsilon=specifiedEpsilon===void 0?DEFAULT_FACE_EPSILON:specifiedEpsilon;for(var i=0;i<N;++i){var f=faces[i];var pos=new Array(3);for(var j=0;j<3;++j){pos[j]=positions[f[j]]}var d01=new Array(3);var d21=new Array(3);for(var j=0;j<3;++j){d01[j]=pos[1][j]-pos[0][j];d21[j]=pos[2][j]-pos[0][j]}var n=new Array(3);var l=0;for(var j=0;j<3;++j){var u=(j+1)%3;var v=(j+2)%3;n[j]=d01[u]*d21[v]-d01[v]*d21[u];l+=n[j]*n[j]}if(l>epsilon){l=1/Math.sqrt(l)}else{l=0}for(var j=0;j<3;++j){n[j]*=l}normals[i]=n}return normals}},{}],487:[function(_dereq_,module,exports){
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
"use strict";var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(val)}function shouldUseNative(){try{if(!Object.assign){return false}var test1=new String("abc");test1[5]="de";if(Object.getOwnPropertyNames(test1)[0]==="5"){return false}var test2={};for(var i=0;i<10;i++){test2["_"+String.fromCharCode(i)]=i}var order2=Object.getOwnPropertyNames(test2).map((function(n){return test2[n]}));if(order2.join("")!=="0123456789"){return false}var test3={};"abcdefghijklmnopqrst".split("").forEach((function(letter){test3[letter]=letter}));if(Object.keys(Object.assign({},test3)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(err){return false}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from){if(hasOwnProperty.call(from,key)){to[key]=from[key]}}if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++){if(propIsEnumerable.call(from,symbols[i])){to[symbols[i]]=from[symbols[i]]}}}}return to}},{}],488:[function(_dereq_,module,exports){"use strict";module.exports=quatFromFrame;function quatFromFrame(out,rx,ry,rz,ux,uy,uz,fx,fy,fz){var tr=rx+uy+fz;if(l>0){var l=Math.sqrt(tr+1);out[0]=.5*(uz-fy)/l;out[1]=.5*(fx-rz)/l;out[2]=.5*(ry-uy)/l;out[3]=.5*l}else{var tf=Math.max(rx,uy,fz);var l=Math.sqrt(2*tf-tr+1);if(rx>=tf){out[0]=.5*l;out[1]=.5*(ux+ry)/l;out[2]=.5*(fx+rz)/l;out[3]=.5*(uz-fy)/l}else if(uy>=tf){out[0]=.5*(ry+ux)/l;out[1]=.5*l;out[2]=.5*(fy+uz)/l;out[3]=.5*(fx-rz)/l}else{out[0]=.5*(rz+fx)/l;out[1]=.5*(uz+fy)/l;out[2]=.5*l;out[3]=.5*(ry-ux)/l}}return out}},{}],489:[function(_dereq_,module,exports){"use strict";module.exports=createOrbitController;var filterVector=_dereq_("filtered-vector");var lookAt=_dereq_("gl-mat4/lookAt");var mat4FromQuat=_dereq_("gl-mat4/fromQuat");var invert44=_dereq_("gl-mat4/invert");var quatFromFrame=_dereq_("./lib/quatFromFrame");function len3(x,y,z){return Math.sqrt(Math.pow(x,2)+Math.pow(y,2)+Math.pow(z,2))}function len4(w,x,y,z){return Math.sqrt(Math.pow(w,2)+Math.pow(x,2)+Math.pow(y,2)+Math.pow(z,2))}function normalize4(out,a){var ax=a[0];var ay=a[1];var az=a[2];var aw=a[3];var al=len4(ax,ay,az,aw);if(al>1e-6){out[0]=ax/al;out[1]=ay/al;out[2]=az/al;out[3]=aw/al}else{out[0]=out[1]=out[2]=0;out[3]=1}}function OrbitCameraController(initQuat,initCenter,initRadius){this.radius=filterVector([initRadius]);this.center=filterVector(initCenter);this.rotation=filterVector(initQuat);this.computedRadius=this.radius.curve(0);this.computedCenter=this.center.curve(0);this.computedRotation=this.rotation.curve(0);this.computedUp=[.1,0,0];this.computedEye=[.1,0,0];this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.recalcMatrix(0)}var proto=OrbitCameraController.prototype;proto.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())};proto.recalcMatrix=function(t){this.radius.curve(t);this.center.curve(t);this.rotation.curve(t);var quat=this.computedRotation;normalize4(quat,quat);var mat=this.computedMatrix;mat4FromQuat(mat,quat);var center=this.computedCenter;var eye=this.computedEye;var up=this.computedUp;var radius=Math.exp(this.computedRadius[0]);eye[0]=center[0]+radius*mat[2];eye[1]=center[1]+radius*mat[6];eye[2]=center[2]+radius*mat[10];up[0]=mat[1];up[1]=mat[5];up[2]=mat[9];for(var i=0;i<3;++i){var rr=0;for(var j=0;j<3;++j){rr+=mat[i+4*j]*eye[j]}mat[12+i]=-rr}};proto.getMatrix=function(t,result){this.recalcMatrix(t);var m=this.computedMatrix;if(result){for(var i=0;i<16;++i){result[i]=m[i]}return result}return m};proto.idle=function(t){this.center.idle(t);this.radius.idle(t);this.rotation.idle(t)};proto.flush=function(t){this.center.flush(t);this.radius.flush(t);this.rotation.flush(t)};proto.pan=function(t,dx,dy,dz){dx=dx||0;dy=dy||0;dz=dz||0;this.recalcMatrix(t);var mat=this.computedMatrix;var ux=mat[1];var uy=mat[5];var uz=mat[9];var ul=len3(ux,uy,uz);ux/=ul;uy/=ul;uz/=ul;var rx=mat[0];var ry=mat[4];var rz=mat[8];var ru=rx*ux+ry*uy+rz*uz;rx-=ux*ru;ry-=uy*ru;rz-=uz*ru;var rl=len3(rx,ry,rz);rx/=rl;ry/=rl;rz/=rl;var fx=mat[2];var fy=mat[6];var fz=mat[10];var fu=fx*ux+fy*uy+fz*uz;var fr=fx*rx+fy*ry+fz*rz;fx-=fu*ux+fr*rx;fy-=fu*uy+fr*ry;fz-=fu*uz+fr*rz;var fl=len3(fx,fy,fz);fx/=fl;fy/=fl;fz/=fl;var vx=rx*dx+ux*dy;var vy=ry*dx+uy*dy;var vz=rz*dx+uz*dy;this.center.move(t,vx,vy,vz);var radius=Math.exp(this.computedRadius[0]);radius=Math.max(1e-4,radius+dz);this.radius.set(t,Math.log(radius))};proto.rotate=function(t,dx,dy,dz){this.recalcMatrix(t);dx=dx||0;dy=dy||0;var mat=this.computedMatrix;var rx=mat[0];var ry=mat[4];var rz=mat[8];var ux=mat[1];var uy=mat[5];var uz=mat[9];var fx=mat[2];var fy=mat[6];var fz=mat[10];var qx=dx*rx+dy*ux;var qy=dx*ry+dy*uy;var qz=dx*rz+dy*uz;var bx=-(fy*qz-fz*qy);var by=-(fz*qx-fx*qz);var bz=-(fx*qy-fy*qx);var bw=Math.sqrt(Math.max(0,1-Math.pow(bx,2)-Math.pow(by,2)-Math.pow(bz,2)));var bl=len4(bx,by,bz,bw);if(bl>1e-6){bx/=bl;by/=bl;bz/=bl;bw/=bl}else{bx=by=bz=0;bw=1}var rotation=this.computedRotation;var ax=rotation[0];var ay=rotation[1];var az=rotation[2];var aw=rotation[3];var cx=ax*bw+aw*bx+ay*bz-az*by;var cy=ay*bw+aw*by+az*bx-ax*bz;var cz=az*bw+aw*bz+ax*by-ay*bx;var cw=aw*bw-ax*bx-ay*by-az*bz;if(dz){bx=fx;by=fy;bz=fz;var s=Math.sin(dz)/len3(bx,by,bz);bx*=s;by*=s;bz*=s;bw=Math.cos(dx);cx=cx*bw+cw*bx+cy*bz-cz*by;cy=cy*bw+cw*by+cz*bx-cx*bz;cz=cz*bw+cw*bz+cx*by-cy*bx;cw=cw*bw-cx*bx-cy*by-cz*bz}var cl=len4(cx,cy,cz,cw);if(cl>1e-6){cx/=cl;cy/=cl;cz/=cl;cw/=cl}else{cx=cy=cz=0;cw=1}this.rotation.set(t,cx,cy,cz,cw)};proto.lookAt=function(t,eye,center,up){this.recalcMatrix(t);center=center||this.computedCenter;eye=eye||this.computedEye;up=up||this.computedUp;var mat=this.computedMatrix;lookAt(mat,eye,center,up);var rotation=this.computedRotation;quatFromFrame(rotation,mat[0],mat[1],mat[2],mat[4],mat[5],mat[6],mat[8],mat[9],mat[10]);normalize4(rotation,rotation);this.rotation.set(t,rotation[0],rotation[1],rotation[2],rotation[3]);var fl=0;for(var i=0;i<3;++i){fl+=Math.pow(center[i]-eye[i],2)}this.radius.set(t,.5*Math.log(Math.max(fl,1e-6)));this.center.set(t,center[0],center[1],center[2])};proto.translate=function(t,dx,dy,dz){this.center.move(t,dx||0,dy||0,dz||0)};proto.setMatrix=function(t,matrix){var rotation=this.computedRotation;quatFromFrame(rotation,matrix[0],matrix[1],matrix[2],matrix[4],matrix[5],matrix[6],matrix[8],matrix[9],matrix[10]);normalize4(rotation,rotation);this.rotation.set(t,rotation[0],rotation[1],rotation[2],rotation[3]);var mat=this.computedMatrix;invert44(mat,matrix);var w=mat[15];if(Math.abs(w)>1e-6){var cx=mat[12]/w;var cy=mat[13]/w;var cz=mat[14]/w;this.recalcMatrix(t);var r=Math.exp(this.computedRadius[0]);this.center.set(t,cx-mat[2]*r,cy-mat[6]*r,cz-mat[10]*r);this.radius.idle(t)}else{this.center.idle(t);this.radius.idle(t)}};proto.setDistance=function(t,d){if(d>0){this.radius.set(t,Math.log(d))}};proto.setDistanceLimits=function(lo,hi){if(lo>0){lo=Math.log(lo)}else{lo=-Infinity}if(hi>0){hi=Math.log(hi)}else{hi=Infinity}hi=Math.max(hi,lo);this.radius.bounds[0][0]=lo;this.radius.bounds[1][0]=hi};proto.getDistanceLimits=function(out){var bounds=this.radius.bounds;if(out){out[0]=Math.exp(bounds[0][0]);out[1]=Math.exp(bounds[1][0]);return out}return[Math.exp(bounds[0][0]),Math.exp(bounds[1][0])]};proto.toJSON=function(){this.recalcMatrix(this.lastT());return{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}};proto.fromJSON=function(options){var t=this.lastT();var c=options.center;if(c){this.center.set(t,c[0],c[1],c[2])}var r=options.rotation;if(r){this.rotation.set(t,r[0],r[1],r[2],r[3])}var d=options.distance;if(d&&d>0){this.radius.set(t,Math.log(d))}this.setDistanceLimits(options.zoomMin,options.zoomMax)};function createOrbitController(options){options=options||{};var center=options.center||[0,0,0];var rotation=options.rotation||[0,0,0,1];var radius=options.radius||1;center=[].slice.call(center,0,3);rotation=[].slice.call(rotation,0,4);normalize4(rotation,rotation);var result=new OrbitCameraController(rotation,center,Math.log(radius));result.setDistanceLimits(options.zoomMin,options.zoomMax);if("eye"in options||"up"in options){result.lookAt(0,options.eye,options.center,options.up)}return result}},{"./lib/quatFromFrame":488,"filtered-vector":250,"gl-mat4/fromQuat":288,"gl-mat4/invert":299,"gl-mat4/lookAt":300}],490:[function(_dereq_,module,exports){
/*!
 * pad-left <https://github.com/jonschlinkert/pad-left>
 *
 * Copyright (c) 2014-2015, Jon Schlinkert.
 * Licensed under the MIT license.
 */
"use strict";var repeat=_dereq_("repeat-string");module.exports=function padLeft(str,num,ch){ch=typeof ch!=="undefined"?ch+"":" ";return repeat(ch,num)+str}},{"repeat-string":541}],491:[function(_dereq_,module,exports){"use strict";function parse(str,opts){if(typeof str!=="string")return[str];var res=[str];if(typeof opts==="string"||Array.isArray(opts)){opts={brackets:opts}}else if(!opts)opts={};var brackets=opts.brackets?Array.isArray(opts.brackets)?opts.brackets:[opts.brackets]:["{}","[]","()"];var escape=opts.escape||"___";var flat=!!opts.flat;brackets.forEach((function(bracket){var pRE=new RegExp(["\\",bracket[0],"[^\\",bracket[0],"\\",bracket[1],"]*\\",bracket[1]].join(""));var ids=[];function replaceToken(token,idx,str){var refId=res.push(token.slice(bracket[0].length,-bracket[1].length))-1;ids.push(refId);return escape+refId+escape}res.forEach((function(str,i){var prevStr;var a=0;while(str!=prevStr){prevStr=str;str=str.replace(pRE,replaceToken);if(a++>1e4)throw Error("References have circular dependency. Please, check them.")}res[i]=str}));ids=ids.reverse();res=res.map((function(str){ids.forEach((function(id){str=str.replace(new RegExp("(\\"+escape+id+"\\"+escape+")","g"),bracket[0]+"$1"+bracket[1])}));return str}))}));var re=new RegExp("\\"+escape+"([0-9]+)"+"\\"+escape);function nest(str,refs,escape){var res=[],match;var a=0;while(match=re.exec(str)){if(a++>1e4)throw Error("Circular references in parenthesis");res.push(str.slice(0,match.index));res.push(nest(refs[match[1]],refs));str=str.slice(match.index+match[0].length)}res.push(str);return res}return flat?res:nest(res[0],res)}function stringify(arg,opts){if(opts&&opts.flat){var escape=opts&&opts.escape||"___";var str=arg[0],prevStr;if(!str)return"";var re=new RegExp("\\"+escape+"([0-9]+)"+"\\"+escape);var a=0;while(str!=prevStr){if(a++>1e4)throw Error("Circular references in "+arg);prevStr=str;str=str.replace(re,replaceRef)}return str}return arg.reduce((function f(prev,curr){if(Array.isArray(curr)){curr=curr.reduce(f,"")}return prev+curr}),"");function replaceRef(match,idx){if(arg[idx]==null)throw Error("Reference "+idx+"is undefined");return arg[idx]}}function parenthesis(arg,opts){if(Array.isArray(arg)){return stringify(arg,opts)}else{return parse(arg,opts)}}parenthesis.parse=parse;parenthesis.stringify=stringify;module.exports=parenthesis},{}],492:[function(_dereq_,module,exports){"use strict";var pick=_dereq_("pick-by-alias");module.exports=parseRect;function parseRect(arg){var rect;if(arguments.length>1){arg=arguments}if(typeof arg==="string"){arg=arg.split(/\s/).map(parseFloat)}else if(typeof arg==="number"){arg=[arg]}if(arg.length&&typeof arg[0]==="number"){if(arg.length===1){rect={width:arg[0],height:arg[0],x:0,y:0}}else if(arg.length===2){rect={width:arg[0],height:arg[1],x:0,y:0}}else{rect={x:arg[0],y:arg[1],width:arg[2]-arg[0]||0,height:arg[3]-arg[1]||0}}}else if(arg){arg=pick(arg,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"});rect={x:arg.left||0,y:arg.top||0};if(arg.width==null){if(arg.right)rect.width=arg.right-rect.x;else rect.width=0}else{rect.width=arg.width}if(arg.height==null){if(arg.bottom)rect.height=arg.bottom-rect.y;else rect.height=0}else{rect.height=arg.height}}return rect}},{"pick-by-alias":498}],493:[function(_dereq_,module,exports){module.exports=parse;var length={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0};var segment=/([astvzqmhlc])([^astvzqmhlc]*)/gi;function parse(path){var data=[];path.replace(segment,(function(_,command,args){var type=command.toLowerCase();args=parseValues(args);if(type=="m"&&args.length>2){data.push([command].concat(args.splice(0,2)));type="l";command=command=="m"?"l":"L"}while(true){if(args.length==length[type]){args.unshift(command);return data.push(args)}if(args.length<length[type])throw new Error("malformed path data");data.push([command].concat(args.splice(0,length[type])))}}));return data}var number=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;function parseValues(args){var numbers=args.match(number);return numbers?numbers.map(Number):[]}},{}],494:[function(_dereq_,module,exports){module.exports=function parseUnit(str,out){if(!out)out=[0,""];str=String(str);var num=parseFloat(str,10);out[0]=num;out[1]=str.match(/[\d.\-\+]*\s*(.*)/)[1]||"";return out}},{}],495:[function(_dereq_,module,exports){(function(process){(function(){(function(){var getNanoSeconds,hrtime,loadTime,moduleLoadTime,nodeLoadTime,upTime;if(typeof performance!=="undefined"&&performance!==null&&performance.now){module.exports=function(){return performance.now()}}else if(typeof process!=="undefined"&&process!==null&&process.hrtime){module.exports=function(){return(getNanoSeconds()-nodeLoadTime)/1e6};hrtime=process.hrtime;getNanoSeconds=function(){var hr;hr=hrtime();return hr[0]*1e9+hr[1]};moduleLoadTime=getNanoSeconds();upTime=process.uptime()*1e9;nodeLoadTime=moduleLoadTime-upTime}else if(Date.now){module.exports=function(){return Date.now()-loadTime};loadTime=Date.now()}else{module.exports=function(){return(new Date).getTime()-loadTime};loadTime=(new Date).getTime()}}).call(this)}).call(this)}).call(this,_dereq_("_process"))},{_process:528}],496:[function(_dereq_,module,exports){"use strict";module.exports=permutationSign;var BRUTE_FORCE_CUTOFF=32;var pool=_dereq_("typedarray-pool");function permutationSign(p){var n=p.length;if(n<BRUTE_FORCE_CUTOFF){var sgn=1;for(var i=0;i<n;++i){for(var j=0;j<i;++j){if(p[i]<p[j]){sgn=-sgn}else if(p[i]===p[j]){return 0}}}return sgn}else{var visited=pool.mallocUint8(n);for(var i=0;i<n;++i){visited[i]=0}var sgn=1;for(var i=0;i<n;++i){if(!visited[i]){var count=1;visited[i]=1;for(var j=p[i];j!==i;j=p[j]){if(visited[j]){pool.freeUint8(visited);return 0}count+=1;visited[j]=1}if(!(count&1)){sgn=-sgn}}}pool.freeUint8(visited);return sgn}}},{"typedarray-pool":617}],497:[function(_dereq_,module,exports){"use strict";var pool=_dereq_("typedarray-pool");var inverse=_dereq_("invert-permutation");function rank(permutation){var n=permutation.length;switch(n){case 0:case 1:return 0;case 2:return permutation[1];default:break}var p=pool.mallocUint32(n);var pinv=pool.mallocUint32(n);var r=0,s,t,i;inverse(permutation,pinv);for(i=0;i<n;++i){p[i]=permutation[i]}for(i=n-1;i>0;--i){t=pinv[i];s=p[i];p[i]=p[t];p[t]=s;pinv[i]=pinv[s];pinv[s]=t;r=(r+s)*i}pool.freeUint32(pinv);pool.freeUint32(p);return r}function unrank(n,r,p){switch(n){case 0:if(p){return p}return[];case 1:if(p){p[0]=0;return p}else{return[0]}case 2:if(p){if(r){p[0]=0;p[1]=1}else{p[0]=1;p[1]=0}return p}else{return r?[0,1]:[1,0]}default:break}p=p||new Array(n);var s,t,i,nf=1;p[0]=0;for(i=1;i<n;++i){p[i]=i;nf=nf*i|0}for(i=n-1;i>0;--i){s=r/nf|0;r=r-s*nf|0;nf=nf/i|0;t=p[i]|0;p[i]=p[s]|0;p[s]=t|0}return p}exports.rank=rank;exports.unrank=unrank},{"invert-permutation":450,"typedarray-pool":617}],498:[function(_dereq_,module,exports){"use strict";module.exports=function pick(src,props,keepRest){var result={},prop,i;if(typeof props==="string")props=toList(props);if(Array.isArray(props)){var res={};for(i=0;i<props.length;i++){res[props[i]]=true}props=res}for(prop in props){props[prop]=toList(props[prop])}var occupied={};for(prop in props){var aliases=props[prop];if(Array.isArray(aliases)){for(i=0;i<aliases.length;i++){var alias=aliases[i];if(keepRest){occupied[alias]=true}if(alias in src){result[prop]=src[alias];if(keepRest){for(var j=i;j<aliases.length;j++){occupied[aliases[j]]=true}}break}}}else if(prop in src){if(props[prop]){result[prop]=src[prop]}if(keepRest){occupied[prop]=true}}}if(keepRest){for(prop in src){if(occupied[prop])continue;result[prop]=src[prop]}}return result};var CACHE={};function toList(arg){if(CACHE[arg])return CACHE[arg];if(typeof arg==="string"){arg=CACHE[arg]=arg.split(/\s*,\s*|\s+/)}return arg}},{}],499:[function(_dereq_,module,exports){"use strict";module.exports=planarDual;var compareAngle=_dereq_("compare-angle");function planarDual(cells,positions){var numVertices=positions.length|0;var numEdges=cells.length;var adj=[new Array(numVertices),new Array(numVertices)];for(var i=0;i<numVertices;++i){adj[0][i]=[];adj[1][i]=[]}for(var i=0;i<numEdges;++i){var c=cells[i];adj[0][c[0]].push(c);adj[1][c[1]].push(c)}var cycles=[];for(var i=0;i<numVertices;++i){if(adj[0][i].length+adj[1][i].length===0){cycles.push([i])}}function cut(c,i){var a=adj[i][c[i]];a.splice(a.indexOf(c),1)}function next(a,b,noCut){var nextCell,nextVertex,nextDir;for(var i=0;i<2;++i){if(adj[i][b].length>0){nextCell=adj[i][b][0];nextDir=i;break}}nextVertex=nextCell[nextDir^1];for(var dir=0;dir<2;++dir){var nbhd=adj[dir][b];for(var k=0;k<nbhd.length;++k){var e=nbhd[k];var p=e[dir^1];var cmp=compareAngle(positions[a],positions[b],positions[nextVertex],positions[p]);if(cmp>0){nextCell=e;nextVertex=p;nextDir=dir}}}if(noCut){return nextVertex}if(nextCell){cut(nextCell,nextDir)}return nextVertex}function extractCycle(v,dir){var e0=adj[dir][v][0];var cycle=[v];cut(e0,dir);var u=e0[dir^1];var d0=dir;while(true){while(u!==v){cycle.push(u);u=next(cycle[cycle.length-2],u,false)}if(adj[0][v].length+adj[1][v].length===0){break}var a=cycle[cycle.length-1];var b=v;var c=cycle[1];var d=next(a,b,true);if(compareAngle(positions[a],positions[b],positions[c],positions[d])<0){break}cycle.push(v);u=next(a,b)}return cycle}function shouldGlue(pcycle,ncycle){return ncycle[1]===ncycle[ncycle.length-1]}for(var i=0;i<numVertices;++i){for(var j=0;j<2;++j){var pcycle=[];while(adj[j][i].length>0){var ni=adj[0][i].length;var ncycle=extractCycle(i,j);if(shouldGlue(pcycle,ncycle)){pcycle.push.apply(pcycle,ncycle)}else{if(pcycle.length>0){cycles.push(pcycle)}pcycle=ncycle}}if(pcycle.length>0){cycles.push(pcycle)}}}return cycles}},{"compare-angle":138}],500:[function(_dereq_,module,exports){"use strict";module.exports=trimLeaves;var e2a=_dereq_("edges-to-adjacency-list");function trimLeaves(edges,positions){var adj=e2a(edges,positions.length);var live=new Array(positions.length);var nbhd=new Array(positions.length);var dead=[];for(var i=0;i<positions.length;++i){var count=adj[i].length;nbhd[i]=count;live[i]=true;if(count<=1){dead.push(i)}}while(dead.length>0){var v=dead.pop();live[v]=false;var n=adj[v];for(var i=0;i<n.length;++i){var u=n[i];if(--nbhd[u]===0){dead.push(u)}}}var newIndex=new Array(positions.length);var npositions=[];for(var i=0;i<positions.length;++i){if(live[i]){var v=npositions.length;newIndex[i]=v;npositions.push(positions[i])}else{newIndex[i]=-1}}var nedges=[];for(var i=0;i<edges.length;++i){var e=edges[i];if(live[e[0]]&&live[e[1]]){nedges.push([newIndex[e[0]],newIndex[e[1]]])}}return[nedges,npositions]}},{"edges-to-adjacency-list":187}],501:[function(_dereq_,module,exports){"use strict";module.exports=planarGraphToPolyline;var e2a=_dereq_("edges-to-adjacency-list");var planarDual=_dereq_("planar-dual");var preprocessPolygon=_dereq_("point-in-big-polygon");var twoProduct=_dereq_("two-product");var robustSum=_dereq_("robust-sum");var uniq=_dereq_("uniq");var trimLeaves=_dereq_("./lib/trim-leaves");function makeArray(length,fill){var result=new Array(length);for(var i=0;i<length;++i){result[i]=fill}return result}function makeArrayOfArrays(length){var result=new Array(length);for(var i=0;i<length;++i){result[i]=[]}return result}function planarGraphToPolyline(edges,positions){var result=trimLeaves(edges,positions);edges=result[0];positions=result[1];var numVertices=positions.length;var numEdges=edges.length;var adj=e2a(edges,positions.length);for(var i=0;i<numVertices;++i){if(adj[i].length%2===1){throw new Error("planar-graph-to-polyline: graph must be manifold")}}var faces=planarDual(edges,positions);function ccw(c){var n=c.length;var area=[0];for(var j=0;j<n;++j){var a=positions[c[j]];var b=positions[c[(j+1)%n]];var t00=twoProduct(-a[0],a[1]);var t01=twoProduct(-a[0],b[1]);var t10=twoProduct(b[0],a[1]);var t11=twoProduct(b[0],b[1]);area=robustSum(area,robustSum(robustSum(t00,t01),robustSum(t10,t11)))}return area[area.length-1]>0}faces=faces.filter(ccw);var numFaces=faces.length;var parent=new Array(numFaces);var containment=new Array(numFaces);for(var i=0;i<numFaces;++i){parent[i]=i;var row=new Array(numFaces);var loopVertices=faces[i].map((function(v){return positions[v]}));var pmc=preprocessPolygon([loopVertices]);var count=0;outer:for(var j=0;j<numFaces;++j){row[j]=0;if(i===j){continue}var c=faces[j];var n=c.length;for(var k=0;k<n;++k){var d=pmc(positions[c[k]]);if(d!==0){if(d<0){row[j]=1;count+=1}continue outer}}row[j]=1;count+=1}containment[i]=[count,i,row]}containment.sort((function(a,b){return b[0]-a[0]}));for(var i=0;i<numFaces;++i){var row=containment[i];var idx=row[1];var children=row[2];for(var j=0;j<numFaces;++j){if(children[j]){parent[j]=idx}}}var fadj=makeArrayOfArrays(numFaces);for(var i=0;i<numFaces;++i){fadj[i].push(parent[i]);fadj[parent[i]].push(i)}var edgeAdjacency={};var internalVertices=makeArray(numVertices,false);for(var i=0;i<numFaces;++i){var c=faces[i];var n=c.length;for(var j=0;j<n;++j){var a=c[j];var b=c[(j+1)%n];var key=Math.min(a,b)+":"+Math.max(a,b);if(key in edgeAdjacency){var neighbor=edgeAdjacency[key];fadj[neighbor].push(i);fadj[i].push(neighbor);internalVertices[a]=internalVertices[b]=true}else{edgeAdjacency[key]=i}}}function sharedBoundary(c){var n=c.length;for(var i=0;i<n;++i){if(!internalVertices[c[i]]){return false}}return true}var toVisit=[];var parity=makeArray(numFaces,-1);for(var i=0;i<numFaces;++i){if(parent[i]===i&&!sharedBoundary(faces[i])){toVisit.push(i);parity[i]=0}else{parity[i]=-1}}var result=[];while(toVisit.length>0){var top=toVisit.pop();var nbhd=fadj[top];uniq(nbhd,(function(a,b){return a-b}));var nnbhr=nbhd.length;var p=parity[top];var polyline;if(p===0){var c=faces[top];polyline=[c]}for(var i=0;i<nnbhr;++i){var f=nbhd[i];if(parity[f]>=0){continue}parity[f]=p^1;toVisit.push(f);if(p===0){var c=faces[f];if(!sharedBoundary(c)){c.reverse();polyline.push(c)}}}if(p===0){result.push(polyline)}}return result}},{"./lib/trim-leaves":500,"edges-to-adjacency-list":187,"planar-dual":499,"point-in-big-polygon":503,"robust-sum":553,"two-product":604,uniq:619}],502:[function(_dereq_,module,exports){arguments[4][251][0].apply(exports,arguments)},{dup:251}],503:[function(_dereq_,module,exports){module.exports=preprocessPolygon;var orient=_dereq_("robust-orientation")[3];var makeSlabs=_dereq_("slab-decomposition");var makeIntervalTree=_dereq_("interval-tree-1d");var bsearch=_dereq_("binary-search-bounds");function visitInterval(){return true}function intervalSearch(table){return function(x,y){var tree=table[x];if(tree){return!!tree.queryPoint(y,visitInterval)}return false}}function buildVerticalIndex(segments){var table={};for(var i=0;i<segments.length;++i){var s=segments[i];var x=s[0][0];var y0=s[0][1];var y1=s[1][1];var p=[Math.min(y0,y1),Math.max(y0,y1)];if(x in table){table[x].push(p)}else{table[x]=[p]}}var intervalTable={};var keys=Object.keys(table);for(var i=0;i<keys.length;++i){var segs=table[keys[i]];intervalTable[keys[i]]=makeIntervalTree(segs)}return intervalSearch(intervalTable)}function buildSlabSearch(slabs,coordinates){return function(p){var bucket=bsearch.le(coordinates,p[0]);if(bucket<0){return 1}var root=slabs[bucket];if(!root){if(bucket>0&&coordinates[bucket]===p[0]){root=slabs[bucket-1]}else{return 1}}var lastOrientation=1;while(root){var s=root.key;var o=orient(p,s[0],s[1]);if(s[0][0]<s[1][0]){if(o<0){root=root.left}else if(o>0){lastOrientation=-1;root=root.right}else{return 0}}else{if(o>0){root=root.left}else if(o<0){lastOrientation=1;root=root.right}else{return 0}}}return lastOrientation}}function classifyEmpty(p){return 1}function createClassifyVertical(testVertical){return function classify(p){if(testVertical(p[0],p[1])){return 0}return 1}}function createClassifyPointDegen(testVertical,testNormal){return function classify(p){if(testVertical(p[0],p[1])){return 0}return testNormal(p)}}function preprocessPolygon(loops){var numLoops=loops.length;var segments=[];var vsegments=[];var ptr=0;for(var i=0;i<numLoops;++i){var loop=loops[i];var numVertices=loop.length;for(var s=numVertices-1,t=0;t<numVertices;s=t++){var a=loop[s];var b=loop[t];if(a[0]===b[0]){vsegments.push([a,b])}else{segments.push([a,b])}}}if(segments.length===0){if(vsegments.length===0){return classifyEmpty}else{return createClassifyVertical(buildVerticalIndex(vsegments))}}var slabs=makeSlabs(segments);var testSlab=buildSlabSearch(slabs.slabs,slabs.coordinates);if(vsegments.length===0){return testSlab}else{return createClassifyPointDegen(buildVerticalIndex(vsegments),testSlab)}}},{"binary-search-bounds":502,"interval-tree-1d":448,"robust-orientation":548,"slab-decomposition":566}],504:[function(_dereq_,module,exports){
/*
 * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc
 * @license MIT
 * @preserve Project Home: https://github.com/voidqk/polybooljs
 */
var BuildLog=_dereq_("./lib/build-log");var Epsilon=_dereq_("./lib/epsilon");var Intersecter=_dereq_("./lib/intersecter");var SegmentChainer=_dereq_("./lib/segment-chainer");var SegmentSelector=_dereq_("./lib/segment-selector");var GeoJSON=_dereq_("./lib/geojson");var buildLog=false;var epsilon=Epsilon();var PolyBool;PolyBool={buildLog:function(bl){if(bl===true)buildLog=BuildLog();else if(bl===false)buildLog=false;return buildLog===false?false:buildLog.list},epsilon:function(v){return epsilon.epsilon(v)},segments:function(poly){var i=Intersecter(true,epsilon,buildLog);poly.regions.forEach(i.addRegion);return{segments:i.calculate(poly.inverted),inverted:poly.inverted}},combine:function(segments1,segments2){var i3=Intersecter(false,epsilon,buildLog);return{combined:i3.calculate(segments1.segments,segments1.inverted,segments2.segments,segments2.inverted),inverted1:segments1.inverted,inverted2:segments2.inverted}},selectUnion:function(combined){return{segments:SegmentSelector.union(combined.combined,buildLog),inverted:combined.inverted1||combined.inverted2}},selectIntersect:function(combined){return{segments:SegmentSelector.intersect(combined.combined,buildLog),inverted:combined.inverted1&&combined.inverted2}},selectDifference:function(combined){return{segments:SegmentSelector.difference(combined.combined,buildLog),inverted:combined.inverted1&&!combined.inverted2}},selectDifferenceRev:function(combined){return{segments:SegmentSelector.differenceRev(combined.combined,buildLog),inverted:!combined.inverted1&&combined.inverted2}},selectXor:function(combined){return{segments:SegmentSelector.xor(combined.combined,buildLog),inverted:combined.inverted1!==combined.inverted2}},polygon:function(segments){return{regions:SegmentChainer(segments.segments,epsilon,buildLog),inverted:segments.inverted}},polygonFromGeoJSON:function(geojson){return GeoJSON.toPolygon(PolyBool,geojson)},polygonToGeoJSON:function(poly){return GeoJSON.fromPolygon(PolyBool,epsilon,poly)},union:function(poly1,poly2){return operate(poly1,poly2,PolyBool.selectUnion)},intersect:function(poly1,poly2){return operate(poly1,poly2,PolyBool.selectIntersect)},difference:function(poly1,poly2){return operate(poly1,poly2,PolyBool.selectDifference)},differenceRev:function(poly1,poly2){return operate(poly1,poly2,PolyBool.selectDifferenceRev)},xor:function(poly1,poly2){return operate(poly1,poly2,PolyBool.selectXor)}};function operate(poly1,poly2,selector){var seg1=PolyBool.segments(poly1);var seg2=PolyBool.segments(poly2);var comb=PolyBool.combine(seg1,seg2);var seg3=selector(comb);return PolyBool.polygon(seg3)}if(typeof window==="object")window.PolyBool=PolyBool;module.exports=PolyBool},{"./lib/build-log":505,"./lib/epsilon":506,"./lib/geojson":507,"./lib/intersecter":508,"./lib/segment-chainer":510,"./lib/segment-selector":511}],505:[function(_dereq_,module,exports){function BuildLog(){var my;var nextSegmentId=0;var curVert=false;function push(type,data){my.list.push({type:type,data:data?JSON.parse(JSON.stringify(data)):void 0});return my}my={list:[],segmentId:function(){return nextSegmentId++},checkIntersection:function(seg1,seg2){return push("check",{seg1:seg1,seg2:seg2})},segmentChop:function(seg,end){push("div_seg",{seg:seg,pt:end});return push("chop",{seg:seg,pt:end})},statusRemove:function(seg){return push("pop_seg",{seg:seg})},segmentUpdate:function(seg){return push("seg_update",{seg:seg})},segmentNew:function(seg,primary){return push("new_seg",{seg:seg,primary:primary})},segmentRemove:function(seg){return push("rem_seg",{seg:seg})},tempStatus:function(seg,above,below){return push("temp_status",{seg:seg,above:above,below:below})},rewind:function(seg){return push("rewind",{seg:seg})},status:function(seg,above,below){return push("status",{seg:seg,above:above,below:below})},vert:function(x){if(x===curVert)return my;curVert=x;return push("vert",{x:x})},log:function(data){if(typeof data!=="string")data=JSON.stringify(data,false,"  ");return push("log",{txt:data})},reset:function(){return push("reset")},selected:function(segs){return push("selected",{segs:segs})},chainStart:function(seg){return push("chain_start",{seg:seg})},chainRemoveHead:function(index,pt){return push("chain_rem_head",{index:index,pt:pt})},chainRemoveTail:function(index,pt){return push("chain_rem_tail",{index:index,pt:pt})},chainNew:function(pt1,pt2){return push("chain_new",{pt1:pt1,pt2:pt2})},chainMatch:function(index){return push("chain_match",{index:index})},chainClose:function(index){return push("chain_close",{index:index})},chainAddHead:function(index,pt){return push("chain_add_head",{index:index,pt:pt})},chainAddTail:function(index,pt){return push("chain_add_tail",{index:index,pt:pt})},chainConnect:function(index1,index2){return push("chain_con",{index1:index1,index2:index2})},chainReverse:function(index){return push("chain_rev",{index:index})},chainJoin:function(index1,index2){return push("chain_join",{index1:index1,index2:index2})},done:function(){return push("done")}};return my}module.exports=BuildLog},{}],506:[function(_dereq_,module,exports){function Epsilon(eps){if(typeof eps!=="number")eps=1e-10;var my={epsilon:function(v){if(typeof v==="number")eps=v;return eps},pointAboveOrOnLine:function(pt,left,right){var Ax=left[0];var Ay=left[1];var Bx=right[0];var By=right[1];var Cx=pt[0];var Cy=pt[1];return(Bx-Ax)*(Cy-Ay)-(By-Ay)*(Cx-Ax)>=-eps},pointBetween:function(p,left,right){var d_py_ly=p[1]-left[1];var d_rx_lx=right[0]-left[0];var d_px_lx=p[0]-left[0];var d_ry_ly=right[1]-left[1];var dot=d_px_lx*d_rx_lx+d_py_ly*d_ry_ly;if(dot<eps)return false;var sqlen=d_rx_lx*d_rx_lx+d_ry_ly*d_ry_ly;if(dot-sqlen>-eps)return false;return true},pointsSameX:function(p1,p2){return Math.abs(p1[0]-p2[0])<eps},pointsSameY:function(p1,p2){return Math.abs(p1[1]-p2[1])<eps},pointsSame:function(p1,p2){return my.pointsSameX(p1,p2)&&my.pointsSameY(p1,p2)},pointsCompare:function(p1,p2){if(my.pointsSameX(p1,p2))return my.pointsSameY(p1,p2)?0:p1[1]<p2[1]?-1:1;return p1[0]<p2[0]?-1:1},pointsCollinear:function(pt1,pt2,pt3){var dx1=pt1[0]-pt2[0];var dy1=pt1[1]-pt2[1];var dx2=pt2[0]-pt3[0];var dy2=pt2[1]-pt3[1];return Math.abs(dx1*dy2-dx2*dy1)<eps},linesIntersect:function(a0,a1,b0,b1){var adx=a1[0]-a0[0];var ady=a1[1]-a0[1];var bdx=b1[0]-b0[0];var bdy=b1[1]-b0[1];var axb=adx*bdy-ady*bdx;if(Math.abs(axb)<eps)return false;var dx=a0[0]-b0[0];var dy=a0[1]-b0[1];var A=(bdx*dy-bdy*dx)/axb;var B=(adx*dy-ady*dx)/axb;var ret={alongA:0,alongB:0,pt:[a0[0]+A*adx,a0[1]+A*ady]};if(A<=-eps)ret.alongA=-2;else if(A<eps)ret.alongA=-1;else if(A-1<=-eps)ret.alongA=0;else if(A-1<eps)ret.alongA=1;else ret.alongA=2;if(B<=-eps)ret.alongB=-2;else if(B<eps)ret.alongB=-1;else if(B-1<=-eps)ret.alongB=0;else if(B-1<eps)ret.alongB=1;else ret.alongB=2;return ret},pointInsideRegion:function(pt,region){var x=pt[0];var y=pt[1];var last_x=region[region.length-1][0];var last_y=region[region.length-1][1];var inside=false;for(var i=0;i<region.length;i++){var curr_x=region[i][0];var curr_y=region[i][1];if(curr_y-y>eps!=last_y-y>eps&&(last_x-curr_x)*(y-curr_y)/(last_y-curr_y)+curr_x-x>eps)inside=!inside;last_x=curr_x;last_y=curr_y}return inside}};return my}module.exports=Epsilon},{}],507:[function(_dereq_,module,exports){var GeoJSON={toPolygon:function(PolyBool,geojson){function GeoPoly(coords){if(coords.length<=0)return PolyBool.segments({inverted:false,regions:[]});function LineString(ls){var reg=ls.slice(0,ls.length-1);return PolyBool.segments({inverted:false,regions:[reg]})}var out=LineString(coords[0]);for(var i=1;i<coords.length;i++)out=PolyBool.selectDifference(PolyBool.combine(out,LineString(coords[i])));return out}if(geojson.type==="Polygon"){return PolyBool.polygon(GeoPoly(geojson.coordinates))}else if(geojson.type==="MultiPolygon"){var out=PolyBool.segments({inverted:false,regions:[]});for(var i=0;i<geojson.coordinates.length;i++)out=PolyBool.selectUnion(PolyBool.combine(out,GeoPoly(geojson.coordinates[i])));return PolyBool.polygon(out)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(PolyBool,eps,poly){poly=PolyBool.polygon(PolyBool.segments(poly));function regionInsideRegion(r1,r2){return eps.pointInsideRegion([(r1[0][0]+r1[1][0])*.5,(r1[0][1]+r1[1][1])*.5],r2)}function newNode(region){return{region:region,children:[]}}var roots=newNode(null);function addChild(root,region){for(var i=0;i<root.children.length;i++){var child=root.children[i];if(regionInsideRegion(region,child.region)){addChild(child,region);return}}var node=newNode(region);for(var i=0;i<root.children.length;i++){var child=root.children[i];if(regionInsideRegion(child.region,region)){node.children.push(child);root.children.splice(i,1);i--}}root.children.push(node)}for(var i=0;i<poly.regions.length;i++){var region=poly.regions[i];if(region.length<3)continue;addChild(roots,region)}function forceWinding(region,clockwise){var winding=0;var last_x=region[region.length-1][0];var last_y=region[region.length-1][1];var copy=[];for(var i=0;i<region.length;i++){var curr_x=region[i][0];var curr_y=region[i][1];copy.push([curr_x,curr_y]);winding+=curr_y*last_x-curr_x*last_y;last_x=curr_x;last_y=curr_y}var isclockwise=winding<0;if(isclockwise!==clockwise)copy.reverse();copy.push([copy[0][0],copy[0][1]]);return copy}var geopolys=[];function addExterior(node){var poly=[forceWinding(node.region,false)];geopolys.push(poly);for(var i=0;i<node.children.length;i++)poly.push(getInterior(node.children[i]))}function getInterior(node){for(var i=0;i<node.children.length;i++)addExterior(node.children[i]);return forceWinding(node.region,true)}for(var i=0;i<roots.children.length;i++)addExterior(roots.children[i]);if(geopolys.length<=0)return{type:"Polygon",coordinates:[]};if(geopolys.length==1)return{type:"Polygon",coordinates:geopolys[0]};return{type:"MultiPolygon",coordinates:geopolys}}};module.exports=GeoJSON},{}],508:[function(_dereq_,module,exports){var LinkedList=_dereq_("./linked-list");function Intersecter(selfIntersection,eps,buildLog){function segmentNew(start,end){return{id:buildLog?buildLog.segmentId():-1,start:start,end:end,myFill:{above:null,below:null},otherFill:null}}function segmentCopy(start,end,seg){return{id:buildLog?buildLog.segmentId():-1,start:start,end:end,myFill:{above:seg.myFill.above,below:seg.myFill.below},otherFill:null}}var event_root=LinkedList.create();function eventCompare(p1_isStart,p1_1,p1_2,p2_isStart,p2_1,p2_2){var comp=eps.pointsCompare(p1_1,p2_1);if(comp!==0)return comp;if(eps.pointsSame(p1_2,p2_2))return 0;if(p1_isStart!==p2_isStart)return p1_isStart?1:-1;return eps.pointAboveOrOnLine(p1_2,p2_isStart?p2_1:p2_2,p2_isStart?p2_2:p2_1)?1:-1}function eventAdd(ev,other_pt){event_root.insertBefore(ev,(function(here){var comp=eventCompare(ev.isStart,ev.pt,other_pt,here.isStart,here.pt,here.other.pt);return comp<0}))}function eventAddSegmentStart(seg,primary){var ev_start=LinkedList.node({isStart:true,pt:seg.start,seg:seg,primary:primary,other:null,status:null});eventAdd(ev_start,seg.end);return ev_start}function eventAddSegmentEnd(ev_start,seg,primary){var ev_end=LinkedList.node({isStart:false,pt:seg.end,seg:seg,primary:primary,other:ev_start,status:null});ev_start.other=ev_end;eventAdd(ev_end,ev_start.pt)}function eventAddSegment(seg,primary){var ev_start=eventAddSegmentStart(seg,primary);eventAddSegmentEnd(ev_start,seg,primary);return ev_start}function eventUpdateEnd(ev,end){if(buildLog)buildLog.segmentChop(ev.seg,end);ev.other.remove();ev.seg.end=end;ev.other.pt=end;eventAdd(ev.other,ev.pt)}function eventDivide(ev,pt){var ns=segmentCopy(pt,ev.seg.end,ev.seg);eventUpdateEnd(ev,pt);return eventAddSegment(ns,ev.primary)}function calculate(primaryPolyInverted,secondaryPolyInverted){var status_root=LinkedList.create();function statusCompare(ev1,ev2){var a1=ev1.seg.start;var a2=ev1.seg.end;var b1=ev2.seg.start;var b2=ev2.seg.end;if(eps.pointsCollinear(a1,b1,b2)){if(eps.pointsCollinear(a2,b1,b2))return 1;return eps.pointAboveOrOnLine(a2,b1,b2)?1:-1}return eps.pointAboveOrOnLine(a1,b1,b2)?1:-1}function statusFindSurrounding(ev){return status_root.findTransition((function(here){var comp=statusCompare(ev,here.ev);return comp>0}))}function checkIntersection(ev1,ev2){var seg1=ev1.seg;var seg2=ev2.seg;var a1=seg1.start;var a2=seg1.end;var b1=seg2.start;var b2=seg2.end;if(buildLog)buildLog.checkIntersection(seg1,seg2);var i=eps.linesIntersect(a1,a2,b1,b2);if(i===false){if(!eps.pointsCollinear(a1,a2,b1))return false;if(eps.pointsSame(a1,b2)||eps.pointsSame(a2,b1))return false;var a1_equ_b1=eps.pointsSame(a1,b1);var a2_equ_b2=eps.pointsSame(a2,b2);if(a1_equ_b1&&a2_equ_b2)return ev2;var a1_between=!a1_equ_b1&&eps.pointBetween(a1,b1,b2);var a2_between=!a2_equ_b2&&eps.pointBetween(a2,b1,b2);if(a1_equ_b1){if(a2_between){eventDivide(ev2,a2)}else{eventDivide(ev1,b2)}return ev2}else if(a1_between){if(!a2_equ_b2){if(a2_between){eventDivide(ev2,a2)}else{eventDivide(ev1,b2)}}eventDivide(ev2,a1)}}else{if(i.alongA===0){if(i.alongB===-1)eventDivide(ev1,b1);else if(i.alongB===0)eventDivide(ev1,i.pt);else if(i.alongB===1)eventDivide(ev1,b2)}if(i.alongB===0){if(i.alongA===-1)eventDivide(ev2,a1);else if(i.alongA===0)eventDivide(ev2,i.pt);else if(i.alongA===1)eventDivide(ev2,a2)}}return false}var segments=[];while(!event_root.isEmpty()){var ev=event_root.getHead();if(buildLog)buildLog.vert(ev.pt[0]);if(ev.isStart){if(buildLog)buildLog.segmentNew(ev.seg,ev.primary);var surrounding=statusFindSurrounding(ev);var above=surrounding.before?surrounding.before.ev:null;var below=surrounding.after?surrounding.after.ev:null;if(buildLog){buildLog.tempStatus(ev.seg,above?above.seg:false,below?below.seg:false)}function checkBothIntersections(){if(above){var eve=checkIntersection(ev,above);if(eve)return eve}if(below)return checkIntersection(ev,below);return false}var eve=checkBothIntersections();if(eve){if(selfIntersection){var toggle;if(ev.seg.myFill.below===null)toggle=true;else toggle=ev.seg.myFill.above!==ev.seg.myFill.below;if(toggle)eve.seg.myFill.above=!eve.seg.myFill.above}else{eve.seg.otherFill=ev.seg.myFill}if(buildLog)buildLog.segmentUpdate(eve.seg);ev.other.remove();ev.remove()}if(event_root.getHead()!==ev){if(buildLog)buildLog.rewind(ev.seg);continue}if(selfIntersection){var toggle;if(ev.seg.myFill.below===null)toggle=true;else toggle=ev.seg.myFill.above!==ev.seg.myFill.below;if(!below){ev.seg.myFill.below=primaryPolyInverted}else{ev.seg.myFill.below=below.seg.myFill.above}if(toggle)ev.seg.myFill.above=!ev.seg.myFill.below;else ev.seg.myFill.above=ev.seg.myFill.below}else{if(ev.seg.otherFill===null){var inside;if(!below){inside=ev.primary?secondaryPolyInverted:primaryPolyInverted}else{if(ev.primary===below.primary)inside=below.seg.otherFill.above;else inside=below.seg.myFill.above}ev.seg.otherFill={above:inside,below:inside}}}if(buildLog){buildLog.status(ev.seg,above?above.seg:false,below?below.seg:false)}ev.other.status=surrounding.insert(LinkedList.node({ev:ev}))}else{var st=ev.status;if(st===null){throw new Error("PolyBool: Zero-length segment detected; your epsilon is "+"probably too small or too large")}if(status_root.exists(st.prev)&&status_root.exists(st.next))checkIntersection(st.prev.ev,st.next.ev);if(buildLog)buildLog.statusRemove(st.ev.seg);st.remove();if(!ev.primary){var s=ev.seg.myFill;ev.seg.myFill=ev.seg.otherFill;ev.seg.otherFill=s}segments.push(ev.seg)}event_root.getHead().remove()}if(buildLog)buildLog.done();return segments}if(!selfIntersection){return{calculate:function(segments1,inverted1,segments2,inverted2){segments1.forEach((function(seg){eventAddSegment(segmentCopy(seg.start,seg.end,seg),true)}));segments2.forEach((function(seg){eventAddSegment(segmentCopy(seg.start,seg.end,seg),false)}));return calculate(inverted1,inverted2)}}}return{addRegion:function(region){var pt1;var pt2=region[region.length-1];for(var i=0;i<region.length;i++){pt1=pt2;pt2=region[i];var forward=eps.pointsCompare(pt1,pt2);if(forward===0)continue;eventAddSegment(segmentNew(forward<0?pt1:pt2,forward<0?pt2:pt1),true)}},calculate:function(inverted){return calculate(inverted,false)}}}module.exports=Intersecter},{"./linked-list":509}],509:[function(_dereq_,module,exports){var LinkedList={create:function(){var my={root:{root:true,next:null},exists:function(node){if(node===null||node===my.root)return false;return true},isEmpty:function(){return my.root.next===null},getHead:function(){return my.root.next},insertBefore:function(node,check){var last=my.root;var here=my.root.next;while(here!==null){if(check(here)){node.prev=here.prev;node.next=here;here.prev.next=node;here.prev=node;return}last=here;here=here.next}last.next=node;node.prev=last;node.next=null},findTransition:function(check){var prev=my.root;var here=my.root.next;while(here!==null){if(check(here))break;prev=here;here=here.next}return{before:prev===my.root?null:prev,after:here,insert:function(node){node.prev=prev;node.next=here;prev.next=node;if(here!==null)here.prev=node;return node}}}};return my},node:function(data){data.prev=null;data.next=null;data.remove=function(){data.prev.next=data.next;if(data.next)data.next.prev=data.prev;data.prev=null;data.next=null};return data}};module.exports=LinkedList},{}],510:[function(_dereq_,module,exports){function SegmentChainer(segments,eps,buildLog){var chains=[];var regions=[];segments.forEach((function(seg){var pt1=seg.start;var pt2=seg.end;if(eps.pointsSame(pt1,pt2)){console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is "+"probably too small or too large");return}if(buildLog)buildLog.chainStart(seg);var first_match={index:0,matches_head:false,matches_pt1:false};var second_match={index:0,matches_head:false,matches_pt1:false};var next_match=first_match;function setMatch(index,matches_head,matches_pt1){next_match.index=index;next_match.matches_head=matches_head;next_match.matches_pt1=matches_pt1;if(next_match===first_match){next_match=second_match;return false}next_match=null;return true}for(var i=0;i<chains.length;i++){var chain=chains[i];var head=chain[0];var head2=chain[1];var tail=chain[chain.length-1];var tail2=chain[chain.length-2];if(eps.pointsSame(head,pt1)){if(setMatch(i,true,true))break}else if(eps.pointsSame(head,pt2)){if(setMatch(i,true,false))break}else if(eps.pointsSame(tail,pt1)){if(setMatch(i,false,true))break}else if(eps.pointsSame(tail,pt2)){if(setMatch(i,false,false))break}}if(next_match===first_match){chains.push([pt1,pt2]);if(buildLog)buildLog.chainNew(pt1,pt2);return}if(next_match===second_match){if(buildLog)buildLog.chainMatch(first_match.index);var index=first_match.index;var pt=first_match.matches_pt1?pt2:pt1;var addToHead=first_match.matches_head;var chain=chains[index];var grow=addToHead?chain[0]:chain[chain.length-1];var grow2=addToHead?chain[1]:chain[chain.length-2];var oppo=addToHead?chain[chain.length-1]:chain[0];var oppo2=addToHead?chain[chain.length-2]:chain[1];if(eps.pointsCollinear(grow2,grow,pt)){if(addToHead){if(buildLog)buildLog.chainRemoveHead(first_match.index,pt);chain.shift()}else{if(buildLog)buildLog.chainRemoveTail(first_match.index,pt);chain.pop()}grow=grow2}if(eps.pointsSame(oppo,pt)){chains.splice(index,1);if(eps.pointsCollinear(oppo2,oppo,grow)){if(addToHead){if(buildLog)buildLog.chainRemoveTail(first_match.index,grow);chain.pop()}else{if(buildLog)buildLog.chainRemoveHead(first_match.index,grow);chain.shift()}}if(buildLog)buildLog.chainClose(first_match.index);regions.push(chain);return}if(addToHead){if(buildLog)buildLog.chainAddHead(first_match.index,pt);chain.unshift(pt)}else{if(buildLog)buildLog.chainAddTail(first_match.index,pt);chain.push(pt)}return}function reverseChain(index){if(buildLog)buildLog.chainReverse(index);chains[index].reverse()}function appendChain(index1,index2){var chain1=chains[index1];var chain2=chains[index2];var tail=chain1[chain1.length-1];var tail2=chain1[chain1.length-2];var head=chain2[0];var head2=chain2[1];if(eps.pointsCollinear(tail2,tail,head)){if(buildLog)buildLog.chainRemoveTail(index1,tail);chain1.pop();tail=tail2}if(eps.pointsCollinear(tail,head,head2)){if(buildLog)buildLog.chainRemoveHead(index2,head);chain2.shift()}if(buildLog)buildLog.chainJoin(index1,index2);chains[index1]=chain1.concat(chain2);chains.splice(index2,1)}var F=first_match.index;var S=second_match.index;if(buildLog)buildLog.chainConnect(F,S);var reverseF=chains[F].length<chains[S].length;if(first_match.matches_head){if(second_match.matches_head){if(reverseF){reverseChain(F);appendChain(F,S)}else{reverseChain(S);appendChain(S,F)}}else{appendChain(S,F)}}else{if(second_match.matches_head){appendChain(F,S)}else{if(reverseF){reverseChain(F);appendChain(S,F)}else{reverseChain(S);appendChain(F,S)}}}}));return regions}module.exports=SegmentChainer},{}],511:[function(_dereq_,module,exports){function select(segments,selection,buildLog){var result=[];segments.forEach((function(seg){var index=(seg.myFill.above?8:0)+(seg.myFill.below?4:0)+(seg.otherFill&&seg.otherFill.above?2:0)+(seg.otherFill&&seg.otherFill.below?1:0);if(selection[index]!==0){result.push({id:buildLog?buildLog.segmentId():-1,start:seg.start,end:seg.end,myFill:{above:selection[index]===1,below:selection[index]===2},otherFill:null})}}));if(buildLog)buildLog.selected(result);return result}var SegmentSelector={union:function(segments,buildLog){return select(segments,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],buildLog)},intersect:function(segments,buildLog){return select(segments,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],buildLog)},difference:function(segments,buildLog){return select(segments,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],buildLog)},differenceRev:function(segments,buildLog){return select(segments,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],buildLog)},xor:function(segments,buildLog){return select(segments,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],buildLog)}};module.exports=SegmentSelector},{}],512:[function(_dereq_,module,exports){"use strict";var diff=new Float64Array(4);var edge0=new Float64Array(4);var edge1=new Float64Array(4);function closestPoint2d(V0,V1,V2,point,result){if(diff.length<point.length){diff=new Float64Array(point.length);edge0=new Float64Array(point.length);edge1=new Float64Array(point.length)}for(var i=0;i<point.length;++i){diff[i]=V0[i]-point[i];edge0[i]=V1[i]-V0[i];edge1[i]=V2[i]-V0[i]}var a00=0,a01=0,a11=0,b0=0,b1=0,c=0;for(var i=0;i<point.length;++i){var e0=edge0[i],e1=edge1[i],d=diff[i];a00+=e0*e0;a01+=e0*e1;a11+=e1*e1;b0+=d*e0;b1+=d*e1;c+=d*d}var det=Math.abs(a00*a11-a01*a01);var s=a01*b1-a11*b0;var t=a01*b0-a00*b1;var sqrDistance;if(s+t<=det){if(s<0){if(t<0){if(b0<0){t=0;if(-b0>=a00){s=1;sqrDistance=a00+2*b0+c}else{s=-b0/a00;sqrDistance=b0*s+c}}else{s=0;if(b1>=0){t=0;sqrDistance=c}else if(-b1>=a11){t=1;sqrDistance=a11+2*b1+c}else{t=-b1/a11;sqrDistance=b1*t+c}}}else{s=0;if(b1>=0){t=0;sqrDistance=c}else if(-b1>=a11){t=1;sqrDistance=a11+2*b1+c}else{t=-b1/a11;sqrDistance=b1*t+c}}}else if(t<0){t=0;if(b0>=0){s=0;sqrDistance=c}else if(-b0>=a00){s=1;sqrDistance=a00+2*b0+c}else{s=-b0/a00;sqrDistance=b0*s+c}}else{var invDet=1/det;s*=invDet;t*=invDet;sqrDistance=s*(a00*s+a01*t+2*b0)+t*(a01*s+a11*t+2*b1)+c}}else{var tmp0,tmp1,numer,denom;if(s<0){tmp0=a01+b0;tmp1=a11+b1;if(tmp1>tmp0){numer=tmp1-tmp0;denom=a00-2*a01+a11;if(numer>=denom){s=1;t=0;sqrDistance=a00+2*b0+c}else{s=numer/denom;t=1-s;sqrDistance=s*(a00*s+a01*t+2*b0)+t*(a01*s+a11*t+2*b1)+c}}else{s=0;if(tmp1<=0){t=1;sqrDistance=a11+2*b1+c}else if(b1>=0){t=0;sqrDistance=c}else{t=-b1/a11;sqrDistance=b1*t+c}}}else if(t<0){tmp0=a01+b1;tmp1=a00+b0;if(tmp1>tmp0){numer=tmp1-tmp0;denom=a00-2*a01+a11;if(numer>=denom){t=1;s=0;sqrDistance=a11+2*b1+c}else{t=numer/denom;s=1-t;sqrDistance=s*(a00*s+a01*t+2*b0)+t*(a01*s+a11*t+2*b1)+c}}else{t=0;if(tmp1<=0){s=1;sqrDistance=a00+2*b0+c}else if(b0>=0){s=0;sqrDistance=c}else{s=-b0/a00;sqrDistance=b0*s+c}}}else{numer=a11+b1-a01-b0;if(numer<=0){s=0;t=1;sqrDistance=a11+2*b1+c}else{denom=a00-2*a01+a11;if(numer>=denom){s=1;t=0;sqrDistance=a00+2*b0+c}else{s=numer/denom;t=1-s;sqrDistance=s*(a00*s+a01*t+2*b0)+t*(a01*s+a11*t+2*b1)+c}}}}var u=1-s-t;for(var i=0;i<point.length;++i){result[i]=u*V0[i]+s*V1[i]+t*V2[i]}if(sqrDistance<0){return 0}return sqrDistance}module.exports=closestPoint2d},{}],513:[function(_dereq_,module,exports){"use strict";var Transform=_dereq_("stream").Transform;var streamParser=_dereq_("stream-parser");function ParserStream(){Transform.call(this,{readableObjectMode:true})}ParserStream.prototype=Object.create(Transform.prototype);ParserStream.prototype.constructor=ParserStream;streamParser(ParserStream.prototype);exports.ParserStream=ParserStream;exports.sliceEq=function(src,start,dest){for(var i=start,j=0;j<dest.length;){if(src[i++]!==dest[j++])return false}return true};exports.str2arr=function(str,format){var arr=[],i=0;if(format&&format==="hex"){while(i<str.length){arr.push(parseInt(str.slice(i,i+2),16));i+=2}}else{for(;i<str.length;i++){arr.push(str.charCodeAt(i)&255)}}return arr};exports.readUInt16LE=function(data,offset){return data[offset]|data[offset+1]<<8};exports.readUInt16BE=function(data,offset){return data[offset+1]|data[offset]<<8};exports.readUInt32LE=function(data,offset){return data[offset]|data[offset+1]<<8|data[offset+2]<<16|data[offset+3]*16777216};exports.readUInt32BE=function(data,offset){return data[offset+3]|data[offset+2]<<8|data[offset+1]<<16|data[offset]*16777216};function ProbeError(message,code,statusCode){Error.call(this);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name;this.message=message;if(code)this.code=code;if(statusCode)this.statusCode=statusCode}ProbeError.prototype=Object.create(Error.prototype);ProbeError.prototype.constructor=ProbeError;exports.ProbeError=ProbeError},{stream:569,"stream-parser":585}],514:[function(_dereq_,module,exports){"use strict";function error(message,code){var err=new Error(message);err.code=code;return err}function utf8_decode(str){try{return decodeURIComponent(escape(str))}catch(_){return str}}function ExifParser(jpeg_bin,exif_start,exif_end){this.input=jpeg_bin.subarray(exif_start,exif_end);this.start=exif_start;var sig=String.fromCharCode.apply(null,this.input.subarray(0,4));if(sig!=="II*\0"&&sig!=="MM\0*"){throw error("invalid TIFF signature","EBADDATA")}this.big_endian=sig[0]==="M"}ExifParser.prototype.each=function(on_entry){this.aborted=false;var offset=this.read_uint32(4);this.ifds_to_read=[{id:0,offset:offset}];while(this.ifds_to_read.length>0&&!this.aborted){var i=this.ifds_to_read.shift();if(!i.offset)continue;this.scan_ifd(i.id,i.offset,on_entry)}};ExifParser.prototype.read_uint16=function(offset){var d=this.input;if(offset+2>d.length)throw error("unexpected EOF","EBADDATA");return this.big_endian?d[offset]*256+d[offset+1]:d[offset]+d[offset+1]*256};ExifParser.prototype.read_uint32=function(offset){var d=this.input;if(offset+4>d.length)throw error("unexpected EOF","EBADDATA");return this.big_endian?d[offset]*16777216+d[offset+1]*65536+d[offset+2]*256+d[offset+3]:d[offset]+d[offset+1]*256+d[offset+2]*65536+d[offset+3]*16777216};ExifParser.prototype.is_subifd_link=function(ifd,tag){return ifd===0&&tag===34665||ifd===0&&tag===34853||ifd===34665&&tag===40965};ExifParser.prototype.exif_format_length=function(format){switch(format){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};ExifParser.prototype.exif_format_read=function(format,offset){var v;switch(format){case 1:case 2:v=this.input[offset];return v;case 6:v=this.input[offset];return v|(v&128)*33554430;case 3:v=this.read_uint16(offset);return v;case 8:v=this.read_uint16(offset);return v|(v&32768)*131070;case 4:v=this.read_uint32(offset);return v;case 9:v=this.read_uint32(offset);return v|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};ExifParser.prototype.scan_ifd=function(ifd_no,offset,on_entry){var entry_count=this.read_uint16(offset);offset+=2;for(var i=0;i<entry_count;i++){var tag=this.read_uint16(offset);var format=this.read_uint16(offset+2);var count=this.read_uint32(offset+4);var comp_length=this.exif_format_length(format);var data_length=count*comp_length;var data_offset=data_length<=4?offset+8:this.read_uint32(offset+8);var is_subifd_link=false;if(data_offset+data_length>this.input.length){throw error("unexpected EOF","EBADDATA")}var value=[];var comp_offset=data_offset;for(var j=0;j<count;j++,comp_offset+=comp_length){var item=this.exif_format_read(format,comp_offset);if(item===null){value=null;break}value.push(item)}if(Array.isArray(value)&&format===2){value=utf8_decode(String.fromCharCode.apply(null,value));if(value&&value[value.length-1]==="\0")value=value.slice(0,-1)}if(this.is_subifd_link(ifd_no,tag)){if(Array.isArray(value)&&Number.isInteger(value[0])&&value[0]>0){this.ifds_to_read.push({id:tag,offset:value[0]});is_subifd_link=true}}var entry={is_big_endian:this.big_endian,ifd:ifd_no,tag:tag,format:format,count:count,entry_offset:offset+this.start,data_length:data_length,data_offset:data_offset+this.start,value:value,is_subifd_link:is_subifd_link};if(on_entry(entry)===false){this.aborted=true;return}offset+=12}if(ifd_no===0){this.ifds_to_read.push({id:1,offset:this.read_uint32(offset)})}};module.exports.ExifParser=ExifParser;module.exports.get_orientation=function(data){var orientation=0;try{new ExifParser(data,0,data.length).each((function(entry){if(entry.ifd===0&&entry.tag===274&&Array.isArray(entry.value)){orientation=entry.value[0];return false}}));return orientation}catch(err){return-1}}},{}],515:[function(_dereq_,module,exports){"use strict";var readUInt16BE=_dereq_("./common").readUInt16BE;var readUInt32BE=_dereq_("./common").readUInt32BE;function unbox(data,offset){if(data.length<4+offset)return null;var size=readUInt32BE(data,offset);if(data.length<size+offset||size<8)return null;return{boxtype:String.fromCharCode.apply(null,data.slice(offset+4,offset+8)),data:data.slice(offset+8,offset+size),end:offset+size}}module.exports.unbox=unbox;function scan_ipco(data,sandbox){var offset=0;for(;;){var box=unbox(data,offset);if(!box)break;switch(box.boxtype){case"ispe":sandbox.sizes.push({width:readUInt32BE(box.data,4),height:readUInt32BE(box.data,8)});break;case"irot":sandbox.transforms.push({type:"irot",value:box.data[0]&3});break;case"imir":sandbox.transforms.push({type:"imir",value:box.data[0]&1});break}offset=box.end}}function readUIntBE(data,offset,size){var result=0;for(var i=0;i<size;i++){result=result*256+(data[offset+i]||0)}return result}function scan_iloc(data,sandbox){var offset_size=data[4]>>4&15;var length_size=data[4]&15;var base_offset_size=data[5]>>4&15;var item_count=readUInt16BE(data,6);var offset=8;for(var i=0;i<item_count;i++){var item_ID=readUInt16BE(data,offset);offset+=2;var data_reference_index=readUInt16BE(data,offset);offset+=2;var base_offset=readUIntBE(data,offset,base_offset_size);offset+=base_offset_size;var extent_count=readUInt16BE(data,offset);offset+=2;if(data_reference_index===0&&extent_count===1){var first_extent_offset=readUIntBE(data,offset,offset_size);var first_extent_length=readUIntBE(data,offset+offset_size,length_size);sandbox.item_loc[item_ID]={length:first_extent_length,offset:first_extent_offset+base_offset}}offset+=extent_count*(offset_size+length_size)}}function scan_iinf(data,sandbox){var item_count=readUInt16BE(data,4);var offset=6;for(var i=0;i<item_count;i++){var box=unbox(data,offset);if(!box)break;if(box.boxtype==="infe"){var item_id=readUInt16BE(box.data,4);var item_name="";for(var pos=8;pos<box.data.length&&box.data[pos];pos++){item_name+=String.fromCharCode(box.data[pos])}sandbox.item_inf[item_name]=item_id}offset=box.end}}function scan_iprp(data,sandbox){var offset=0;for(;;){var box=unbox(data,offset);if(!box)break;if(box.boxtype==="ipco")scan_ipco(box.data,sandbox);offset=box.end}}function scan_meta(data,sandbox){var offset=4;for(;;){var box=unbox(data,offset);if(!box)break;if(box.boxtype==="iprp")scan_iprp(box.data,sandbox);if(box.boxtype==="iloc")scan_iloc(box.data,sandbox);if(box.boxtype==="iinf")scan_iinf(box.data,sandbox);offset=box.end}}function getMaxSize(sizes){var maxWidthSize=sizes.reduce((function(a,b){return a.width>b.width||a.width===b.width&&a.height>b.height?a:b}));var maxHeightSize=sizes.reduce((function(a,b){return a.height>b.height||a.height===b.height&&a.width>b.width?a:b}));var maxSize;if(maxWidthSize.width>maxHeightSize.height||maxWidthSize.width===maxHeightSize.height&&maxWidthSize.height>maxHeightSize.width){maxSize=maxWidthSize}else{maxSize=maxHeightSize}return maxSize}module.exports.readSizeFromMeta=function(data){var sandbox={sizes:[],transforms:[],item_inf:{},item_loc:{}};scan_meta(data,sandbox);if(!sandbox.sizes.length)return;var maxSize=getMaxSize(sandbox.sizes);var orientation=1;sandbox.transforms.forEach((function(transform){var rotate_ccw={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1};var mirror_vert={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(transform.type==="imir"){if(transform.value===0){orientation=mirror_vert[orientation]}else{orientation=mirror_vert[orientation];orientation=rotate_ccw[orientation];orientation=rotate_ccw[orientation]}}if(transform.type==="irot"){for(var i=0;i<transform.value;i++){orientation=rotate_ccw[orientation]}}}));var exif_location=null;if(sandbox.item_inf.Exif){exif_location=sandbox.item_loc[sandbox.item_inf.Exif]}return{width:maxSize.width,height:maxSize.height,orientation:sandbox.transforms.length?orientation:null,variants:sandbox.sizes,exif_location:exif_location}};module.exports.getMimeType=function(data){var brand=String.fromCharCode.apply(null,data.slice(0,4));var compat={};compat[brand]=true;for(var i=8;i<data.length;i+=4){compat[String.fromCharCode.apply(null,data.slice(i,i+4))]=true}if(!compat.mif1&&!compat.msf1&&!compat.miaf)return;if(brand==="avif"||brand==="avis"||brand==="avio"){return{type:"avif",mime:"image/avif"}}if(brand==="heic"||brand==="heix"){return{type:"heic",mime:"image/heic"}}if(brand==="hevc"||brand==="hevx"){return{type:"heic",mime:"image/heic-sequence"}}if(compat.avif||compat.avis){return{type:"avif",mime:"image/avif"}}if(compat.heic||compat.heix||compat.hevc||compat.hevx||compat.heis){if(compat.msf1){return{type:"heif",mime:"image/heif-sequence"}}return{type:"heif",mime:"image/heif"}}return{type:"avif",mime:"image/avif"}}},{"./common":513}],516:[function(_dereq_,module,exports){"use strict";var str2arr=_dereq_("../common").str2arr;var sliceEq=_dereq_("../common").sliceEq;var readUInt32BE=_dereq_("../common").readUInt32BE;var miaf=_dereq_("../miaf_utils");var exif=_dereq_("../exif_utils");var SIG_FTYP=str2arr("ftyp");module.exports=function(data){if(!sliceEq(data,4,SIG_FTYP))return;var firstBox=miaf.unbox(data,0);if(!firstBox)return;var fileType=miaf.getMimeType(firstBox.data);if(!fileType)return;var meta,offset=firstBox.end;for(;;){var box=miaf.unbox(data,offset);if(!box)break;offset=box.end;if(box.boxtype==="mdat")return;if(box.boxtype==="meta"){meta=box.data;break}}if(!meta)return;var imgSize=miaf.readSizeFromMeta(meta);if(!imgSize)return;var result={width:imgSize.width,height:imgSize.height,type:fileType.type,mime:fileType.mime,wUnits:"px",hUnits:"px"};if(imgSize.variants.length>1){result.variants=imgSize.variants}if(imgSize.orientation){result.orientation=imgSize.orientation}if(imgSize.exif_location&&imgSize.exif_location.offset+imgSize.exif_location.length<=data.length){var sig_offset=readUInt32BE(data,imgSize.exif_location.offset);var exif_data=data.slice(imgSize.exif_location.offset+sig_offset+4,imgSize.exif_location.offset+imgSize.exif_location.length);var orientation=exif.get_orientation(exif_data);if(orientation>0)result.orientation=orientation}return result}},{"../common":513,"../exif_utils":514,"../miaf_utils":515}],517:[function(_dereq_,module,exports){"use strict";var str2arr=_dereq_("../common").str2arr;var sliceEq=_dereq_("../common").sliceEq;var readUInt16LE=_dereq_("../common").readUInt16LE;var SIG_BM=str2arr("BM");module.exports=function(data){if(data.length<26)return;if(!sliceEq(data,0,SIG_BM))return;return{width:readUInt16LE(data,18),height:readUInt16LE(data,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},{"../common":513}],518:[function(_dereq_,module,exports){"use strict";var str2arr=_dereq_("../common").str2arr;var sliceEq=_dereq_("../common").sliceEq;var readUInt16LE=_dereq_("../common").readUInt16LE;var SIG_GIF87a=str2arr("GIF87a");var SIG_GIF89a=str2arr("GIF89a");module.exports=function(data){if(data.length<10)return;if(!sliceEq(data,0,SIG_GIF87a)&&!sliceEq(data,0,SIG_GIF89a))return;return{width:readUInt16LE(data,6),height:readUInt16LE(data,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},{"../common":513}],519:[function(_dereq_,module,exports){"use strict";var readUInt16LE=_dereq_("../common").readUInt16LE;var HEADER=0;var TYPE_ICO=1;var INDEX_SIZE=16;module.exports=function(data){var header=readUInt16LE(data,0);var type=readUInt16LE(data,2);var numImages=readUInt16LE(data,4);if(header!==HEADER||type!==TYPE_ICO||!numImages){return}var variants=[];var maxSize={width:0,height:0};for(var i=0;i<numImages;i++){var width=data[6+INDEX_SIZE*i]||256;var height=data[6+INDEX_SIZE*i+1]||256;var size={width:width,height:height};variants.push(size);if(width>maxSize.width||height>maxSize.height){maxSize=size}}return{width:maxSize.width,height:maxSize.height,variants:variants,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}},{"../common":513}],520:[function(_dereq_,module,exports){"use strict";var readUInt16BE=_dereq_("../common").readUInt16BE;var str2arr=_dereq_("../common").str2arr;var sliceEq=_dereq_("../common").sliceEq;var exif=_dereq_("../exif_utils");var SIG_EXIF=str2arr("Exif\0\0");module.exports=function(data){if(data.length<2)return;if(data[0]!==255||data[1]!==216)return;var offset=2;for(;;){if(data.length-offset<2)return;if(data[offset++]!==255)return;var code=data[offset++];var length;while(code===255)code=data[offset++];if(208<=code&&code<=217||code===1){length=0}else if(192<=code&&code<=254){if(data.length-offset<2)return;length=readUInt16BE(data,offset)-2;offset+=2}else{return}if(code===217||code===218){return}var orientation;if(code===225&&length>=10&&sliceEq(data,offset,SIG_EXIF)){orientation=exif.get_orientation(data.slice(offset+6,offset+length))}if(length>=5&&(192<=code&&code<=207)&&code!==196&&code!==200&&code!==204){if(data.length-offset<length)return;var result={width:readUInt16BE(data,offset+3),height:readUInt16BE(data,offset+1),type:"jpg",mime:"image/jpeg",wUnits:"px",hUnits:"px"};if(orientation>0){result.orientation=orientation}return result}offset+=length}}},{"../common":513,"../exif_utils":514}],521:[function(_dereq_,module,exports){"use strict";var str2arr=_dereq_("../common").str2arr;var sliceEq=_dereq_("../common").sliceEq;var readUInt32BE=_dereq_("../common").readUInt32BE;var SIG_PNG=str2arr("PNG\r\n\n");var SIG_IHDR=str2arr("IHDR");module.exports=function(data){if(data.length<24)return;if(!sliceEq(data,0,SIG_PNG))return;if(!sliceEq(data,12,SIG_IHDR))return;return{width:readUInt32BE(data,16),height:readUInt32BE(data,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},{"../common":513}],522:[function(_dereq_,module,exports){"use strict";var str2arr=_dereq_("../common").str2arr;var sliceEq=_dereq_("../common").sliceEq;var readUInt32BE=_dereq_("../common").readUInt32BE;var SIG_8BPS=str2arr("8BPS\0");module.exports=function(data){if(data.length<6+16)return;if(!sliceEq(data,0,SIG_8BPS))return;return{width:readUInt32BE(data,6+12),height:readUInt32BE(data,6+8),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},{"../common":513}],523:[function(_dereq_,module,exports){"use strict";function isWhiteSpace(chr){return chr===32||chr===9||chr===13||chr===10}function isFinitePositive(val){return typeof val==="number"&&isFinite(val)&&val>0}function canBeSvg(buf){var i=0,max=buf.length;if(buf[0]===239&&buf[1]===187&&buf[2]===191)i=3;while(i<max&&isWhiteSpace(buf[i]))i++;if(i===max)return false;return buf[i]===60}var SVG_HEADER_RE=/<[-_.:a-zA-Z0-9][^>]*>/;var SVG_TAG_RE=/^<([-_.:a-zA-Z0-9]+:)?svg\s/;var SVG_WIDTH_RE=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/;var SVG_HEIGHT_RE=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/;var SVG_VIEWBOX_RE=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/;var SVG_UNITS_RE=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function svgAttrs(str){var width=str.match(SVG_WIDTH_RE);var height=str.match(SVG_HEIGHT_RE);var viewbox=str.match(SVG_VIEWBOX_RE);return{width:width&&(width[1]||width[2]),height:height&&(height[1]||height[2]),viewbox:viewbox&&(viewbox[1]||viewbox[2])}}function units(str){if(!SVG_UNITS_RE.test(str))return"px";return str.match(SVG_UNITS_RE)[0]}module.exports=function(data){if(!canBeSvg(data))return;var str="";for(var i=0;i<data.length;i++){str+=String.fromCharCode(data[i])}var svgTag=(str.match(SVG_HEADER_RE)||[""])[0];if(!SVG_TAG_RE.test(svgTag))return;var attrs=svgAttrs(svgTag);var width=parseFloat(attrs.width);var height=parseFloat(attrs.height);if(attrs.width&&attrs.height){if(!isFinitePositive(width)||!isFinitePositive(height))return;return{width:width,height:height,type:"svg",mime:"image/svg+xml",wUnits:units(attrs.width),hUnits:units(attrs.height)}}var parts=(attrs.viewbox||"").split(" ");var viewbox={width:parts[2],height:parts[3]};var vbWidth=parseFloat(viewbox.width);var vbHeight=parseFloat(viewbox.height);if(!isFinitePositive(vbWidth)||!isFinitePositive(vbHeight))return;if(units(viewbox.width)!==units(viewbox.height))return;var ratio=vbWidth/vbHeight;if(attrs.width){if(!isFinitePositive(width))return;return{width:width,height:width/ratio,type:"svg",mime:"image/svg+xml",wUnits:units(attrs.width),hUnits:units(attrs.width)}}if(attrs.height){if(!isFinitePositive(height))return;return{width:height*ratio,height:height,type:"svg",mime:"image/svg+xml",wUnits:units(attrs.height),hUnits:units(attrs.height)}}return{width:vbWidth,height:vbHeight,type:"svg",mime:"image/svg+xml",wUnits:units(viewbox.width),hUnits:units(viewbox.height)}}},{}],524:[function(_dereq_,module,exports){"use strict";var str2arr=_dereq_("../common").str2arr;var sliceEq=_dereq_("../common").sliceEq;var readUInt16LE=_dereq_("../common").readUInt16LE;var readUInt16BE=_dereq_("../common").readUInt16BE;var readUInt32LE=_dereq_("../common").readUInt32LE;var readUInt32BE=_dereq_("../common").readUInt32BE;var SIG_1=str2arr("II*\0");var SIG_2=str2arr("MM\0*");function readUInt16(buffer,offset,is_big_endian){return is_big_endian?readUInt16BE(buffer,offset):readUInt16LE(buffer,offset)}function readUInt32(buffer,offset,is_big_endian){return is_big_endian?readUInt32BE(buffer,offset):readUInt32LE(buffer,offset)}function readIFDValue(data,data_offset,is_big_endian){var type=readUInt16(data,data_offset+2,is_big_endian);var values=readUInt32(data,data_offset+4,is_big_endian);if(values!==1||type!==3&&type!==4)return null;if(type===3){return readUInt16(data,data_offset+8,is_big_endian)}return readUInt32(data,data_offset+8,is_big_endian)}module.exports=function(data){if(data.length<8)return;if(!sliceEq(data,0,SIG_1)&&!sliceEq(data,0,SIG_2))return;var is_big_endian=data[0]===77;var count=readUInt32(data,4,is_big_endian)-8;if(count<0)return;var offset=count+8;if(data.length-offset<2)return;var ifd_size=readUInt16(data,offset+0,is_big_endian)*12;if(ifd_size<=0)return;offset+=2;if(data.length-offset<ifd_size)return;var i,width,height,tag;for(i=0;i<ifd_size;i+=12){tag=readUInt16(data,offset+i,is_big_endian);if(tag===256){width=readIFDValue(data,offset+i,is_big_endian)}else if(tag===257){height=readIFDValue(data,offset+i,is_big_endian)}}if(width&&height){return{width:width,height:height,type:"tiff",mime:"image/tiff",wUnits:"px",hUnits:"px"}}}},{"../common":513}],525:[function(_dereq_,module,exports){"use strict";var str2arr=_dereq_("../common").str2arr;var sliceEq=_dereq_("../common").sliceEq;var readUInt16LE=_dereq_("../common").readUInt16LE;var readUInt32LE=_dereq_("../common").readUInt32LE;var exif=_dereq_("../exif_utils");var SIG_RIFF=str2arr("RIFF");var SIG_WEBP=str2arr("WEBP");function parseVP8(data,offset){if(data[offset+3]!==157||data[offset+4]!==1||data[offset+5]!==42){return}return{width:readUInt16LE(data,offset+6)&16383,height:readUInt16LE(data,offset+8)&16383,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}function parseVP8L(data,offset){if(data[offset]!==47)return;var bits=readUInt32LE(data,offset+1);return{width:(bits&16383)+1,height:(bits>>14&16383)+1,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}function parseVP8X(data,offset){return{width:(data[offset+6]<<16|data[offset+5]<<8|data[offset+4])+1,height:(data[offset+9]<<offset|data[offset+8]<<8|data[offset+7])+1,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}module.exports=function(data){if(data.length<16)return;if(!sliceEq(data,0,SIG_RIFF)&&!sliceEq(data,8,SIG_WEBP))return;var offset=12;var result=null;var exif_orientation=0;var fileLength=readUInt32LE(data,4)+8;if(fileLength>data.length)return;while(offset+8<fileLength){if(data[offset]===0){offset++;continue}var header=String.fromCharCode.apply(null,data.slice(offset,offset+4));var length=readUInt32LE(data,offset+4);if(header==="VP8 "&&length>=10){result=result||parseVP8(data,offset+8)}else if(header==="VP8L"&&length>=9){result=result||parseVP8L(data,offset+8)}else if(header==="VP8X"&&length>=10){result=result||parseVP8X(data,offset+8)}else if(header==="EXIF"){exif_orientation=exif.get_orientation(data.slice(offset+8,offset+8+length));offset=Infinity}offset+=8+length}if(!result)return;if(exif_orientation>0){result.orientation=exif_orientation}return result}},{"../common":513,"../exif_utils":514}],526:[function(_dereq_,module,exports){"use strict";module.exports={avif:_dereq_("./parse_sync/avif"),bmp:_dereq_("./parse_sync/bmp"),gif:_dereq_("./parse_sync/gif"),ico:_dereq_("./parse_sync/ico"),jpeg:_dereq_("./parse_sync/jpeg"),png:_dereq_("./parse_sync/png"),psd:_dereq_("./parse_sync/psd"),svg:_dereq_("./parse_sync/svg"),tiff:_dereq_("./parse_sync/tiff"),webp:_dereq_("./parse_sync/webp")}},{"./parse_sync/avif":516,"./parse_sync/bmp":517,"./parse_sync/gif":518,"./parse_sync/ico":519,"./parse_sync/jpeg":520,"./parse_sync/png":521,"./parse_sync/psd":522,"./parse_sync/svg":523,"./parse_sync/tiff":524,"./parse_sync/webp":525}],527:[function(_dereq_,module,exports){"use strict";var parsers=_dereq_("./lib/parsers_sync");function probeBuffer(buffer){var parser_names=Object.keys(parsers);for(var i=0;i<parser_names.length;i++){var result=parsers[parser_names[i]](buffer);if(result)return result}return null}module.exports=function get_image_size(src){return probeBuffer(src)};module.exports.parsers=parsers},{"./lib/parsers_sync":526}],528:[function(_dereq_,module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run()}}queueIndex=-1;len=queue.length}currentQueue=null;draining=false;runClearTimeout(timeout)}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i]}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue)}};function Item(fun,array){this.fun=fun;this.array=array}Item.prototype.run=function(){this.fun.apply(null,this.array)};process.title="browser";process.browser=true;process.env={};process.argv=[];process.version="";process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[]};process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")};process.umask=function(){return 0}},{}],529:[function(_dereq_,module,exports){module.exports=_dereq_("gl-quat/slerp")},{"gl-quat/slerp":329}],530:[function(_dereq_,module,exports){(function(global){(function(){var now=_dereq_("performance-now"),root=typeof window==="undefined"?global:window,vendors=["moz","webkit"],suffix="AnimationFrame",raf=root["request"+suffix],caf=root["cancel"+suffix]||root["cancelRequest"+suffix];for(var i=0;!raf&&i<vendors.length;i++){raf=root[vendors[i]+"Request"+suffix];caf=root[vendors[i]+"Cancel"+suffix]||root[vendors[i]+"CancelRequest"+suffix]}if(!raf||!caf){var last=0,id=0,queue=[],frameDuration=1e3/60;raf=function(callback){if(queue.length===0){var _now=now(),next=Math.max(0,frameDuration-(_now-last));last=next+_now;setTimeout((function(){var cp=queue.slice(0);queue.length=0;for(var i=0;i<cp.length;i++){if(!cp[i].cancelled){try{cp[i].callback(last)}catch(e){setTimeout((function(){throw e}),0)}}}}),Math.round(next))}queue.push({handle:++id,callback:callback,cancelled:false});return id};caf=function(handle){for(var i=0;i<queue.length;i++){if(queue[i].handle===handle){queue[i].cancelled=true}}}}module.exports=function(fn){return raf.call(root,fn)};module.exports.cancel=function(){caf.apply(root,arguments)};module.exports.polyfill=function(object){if(!object){object=root}object.requestAnimationFrame=raf;object.cancelAnimationFrame=caf}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"performance-now":495}],531:[function(_dereq_,module,exports){"use strict";var bnadd=_dereq_("big-rat/add");module.exports=add;function add(a,b){var n=a.length;var r=new Array(n);for(var i=0;i<n;++i){r[i]=bnadd(a[i],b[i])}return r}},{"big-rat/add":87}],532:[function(_dereq_,module,exports){"use strict";module.exports=float2rat;var rat=_dereq_("big-rat");function float2rat(v){var result=new Array(v.length);for(var i=0;i<v.length;++i){result[i]=rat(v[i])}return result}},{"big-rat":90}],533:[function(_dereq_,module,exports){"use strict";var rat=_dereq_("big-rat");var mul=_dereq_("big-rat/mul");module.exports=muls;function muls(a,x){var s=rat(x);var n=a.length;var r=new Array(n);for(var i=0;i<n;++i){r[i]=mul(a[i],s)}return r}},{"big-rat":90,"big-rat/mul":99}],534:[function(_dereq_,module,exports){"use strict";var bnsub=_dereq_("big-rat/sub");module.exports=sub;function sub(a,b){var n=a.length;var r=new Array(n);for(var i=0;i<n;++i){r[i]=bnsub(a[i],b[i])}return r}},{"big-rat/sub":101}],535:[function(_dereq_,module,exports){"use strict";var compareCell=_dereq_("compare-cell");var compareOrientedCell=_dereq_("compare-oriented-cell");var orientation=_dereq_("cell-orientation");module.exports=reduceCellComplex;function reduceCellComplex(cells){cells.sort(compareOrientedCell);var n=cells.length;var ptr=0;for(var i=0;i<n;++i){var c=cells[i];var o=orientation(c);if(o===0){continue}if(ptr>0){var f=cells[ptr-1];if(compareCell(c,f)===0&&orientation(f)!==o){ptr-=1;continue}}cells[ptr++]=c}cells.length=ptr;return cells}},{"cell-orientation":123,"compare-cell":139,"compare-oriented-cell":140}],536:[function(_dereq_,module,exports){"use strict";var getBounds=_dereq_("array-bounds");var rgba=_dereq_("color-normalize");var updateDiff=_dereq_("update-diff");var pick=_dereq_("pick-by-alias");var extend=_dereq_("object-assign");var flatten=_dereq_("flatten-vertex-data");var ref=_dereq_("to-float32");var float32=ref.float32;var fract32=ref.fract32;module.exports=Error2D;var WEIGHTS=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function Error2D(regl,options){if(typeof regl==="function"){if(!options){options={}}options.regl=regl}else{options=regl}if(options.length){options.positions=options}regl=options.regl;if(!regl.hasExtension("ANGLE_instanced_arrays")){throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled")}var gl=regl._gl,drawErrors,positionBuffer,positionFractBuffer,colorBuffer,errorBuffer,meshBuffer,defaults={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},groups=[];colorBuffer=regl.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)});positionBuffer=regl.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});positionFractBuffer=regl.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});errorBuffer=regl.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});meshBuffer=regl.buffer({usage:"static",type:"float",data:WEIGHTS});update(options);drawErrors=regl({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:regl.prop("range"),lineWidth:regl.prop("lineWidth"),capSize:regl.prop("capSize"),opacity:regl.prop("opacity"),scale:regl.prop("scale"),translate:regl.prop("translate"),scaleFract:regl.prop("scaleFract"),translateFract:regl.prop("translateFract"),viewport:function(ctx,prop){return[prop.viewport.x,prop.viewport.y,ctx.viewportWidth,ctx.viewportHeight]}},attributes:{color:{buffer:colorBuffer,offset:function(ctx,prop){return prop.offset*4},divisor:1},position:{buffer:positionBuffer,offset:function(ctx,prop){return prop.offset*8},divisor:1},positionFract:{buffer:positionFractBuffer,offset:function(ctx,prop){return prop.offset*8},divisor:1},error:{buffer:errorBuffer,offset:function(ctx,prop){return prop.offset*16},divisor:1},direction:{buffer:meshBuffer,stride:24,offset:0},lineOffset:{buffer:meshBuffer,stride:24,offset:8},capOffset:{buffer:meshBuffer,stride:24,offset:16}},primitive:"triangles",blend:{enable:true,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:false},scissor:{enable:true,box:regl.prop("viewport")},viewport:regl.prop("viewport"),stencil:false,instances:regl.prop("count"),count:WEIGHTS.length});extend(error2d,{update:update,draw:draw,destroy:destroy,regl:regl,gl:gl,canvas:gl.canvas,groups:groups});return error2d;function error2d(opts){if(opts){update(opts)}else if(opts===null){destroy()}draw()}function draw(options){if(typeof options==="number"){return drawGroup(options)}if(options&&!Array.isArray(options)){options=[options]}regl._refresh();groups.forEach((function(s,i){if(!s){return}if(options){if(!options[i]){s.draw=false}else{s.draw=true}}if(!s.draw){s.draw=true;return}drawGroup(i)}))}function drawGroup(s){if(typeof s==="number"){s=groups[s]}if(s==null){return}if(!(s&&s.count&&s.color&&s.opacity&&s.positions&&s.positions.length>1)){return}s.scaleRatio=[s.scale[0]*s.viewport.width,s.scale[1]*s.viewport.height];drawErrors(s);if(s.after){s.after(s)}}function update(options){if(!options){return}if(options.length!=null){if(typeof options[0]==="number"){options=[{positions:options}]}}else if(!Array.isArray(options)){options=[options]}var pointCount=0,errorCount=0;error2d.groups=groups=options.map((function(options,i){var group=groups[i];if(!options){return group}else if(typeof options==="function"){options={after:options}}else if(typeof options[0]==="number"){options={positions:options}}options=pick(options,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"});if(!group){groups[i]=group={id:i,scale:null,translate:null,scaleFract:null,translateFract:null,draw:true};options=extend({},defaults,options)}updateDiff(group,options,[{lineWidth:function(v){return+v*.5},capSize:function(v){return+v*.5},opacity:parseFloat,errors:function(errors){errors=flatten(errors);errorCount+=errors.length;return errors},positions:function(positions,state){positions=flatten(positions,"float64");state.count=Math.floor(positions.length/2);state.bounds=getBounds(positions,2);state.offset=pointCount;pointCount+=state.count;return positions}},{color:function(colors,state){var count=state.count;if(!colors){colors="transparent"}if(!Array.isArray(colors)||typeof colors[0]==="number"){var color=colors;colors=Array(count);for(var i=0;i<count;i++){colors[i]=color}}if(colors.length<count){throw Error("Not enough colors")}var colorData=new Uint8Array(count*4);for(var i$1=0;i$1<count;i$1++){var c=rgba(colors[i$1],"uint8");colorData.set(c,i$1*4)}return colorData},range:function(range,state,options){var bounds=state.bounds;if(!range){range=bounds}state.scale=[1/(range[2]-range[0]),1/(range[3]-range[1])];state.translate=[-range[0],-range[1]];state.scaleFract=fract32(state.scale);state.translateFract=fract32(state.translate);return range},viewport:function(vp){var viewport;if(Array.isArray(vp)){viewport={x:vp[0],y:vp[1],width:vp[2]-vp[0],height:vp[3]-vp[1]}}else if(vp){viewport={x:vp.x||vp.left||0,y:vp.y||vp.top||0};if(vp.right){viewport.width=vp.right-viewport.x}else{viewport.width=vp.w||vp.width||0}if(vp.bottom){viewport.height=vp.bottom-viewport.y}else{viewport.height=vp.h||vp.height||0}}else{viewport={x:0,y:0,width:gl.drawingBufferWidth,height:gl.drawingBufferHeight}}return viewport}}]);return group}));if(pointCount||errorCount){var len=groups.reduce((function(acc,group,i){return acc+(group?group.count:0)}),0);var positionData=new Float64Array(len*2);var colorData=new Uint8Array(len*4);var errorData=new Float32Array(len*4);groups.forEach((function(group,i){if(!group){return}var positions=group.positions;var count=group.count;var offset=group.offset;var color=group.color;var errors=group.errors;if(!count){return}colorData.set(color,offset*4);errorData.set(errors,offset*4);positionData.set(positions,offset*2)}));var float_data=float32(positionData);positionBuffer(float_data);var frac_data=fract32(positionData,float_data);positionFractBuffer(frac_data);colorBuffer(colorData);errorBuffer(errorData)}}function destroy(){positionBuffer.destroy();positionFractBuffer.destroy();colorBuffer.destroy();errorBuffer.destroy();meshBuffer.destroy()}}},{"array-bounds":76,"color-normalize":131,"flatten-vertex-data":252,"object-assign":487,"pick-by-alias":498,"to-float32":599,"update-diff":621}],537:[function(_dereq_,module,exports){"use strict";var rgba=_dereq_("color-normalize");var getBounds=_dereq_("array-bounds");var extend=_dereq_("object-assign");var glslify=_dereq_("glslify");var pick=_dereq_("pick-by-alias");var flatten=_dereq_("flatten-vertex-data");var triangulate=_dereq_("earcut");var normalize=_dereq_("array-normalize");var ref=_dereq_("to-float32");var float32=ref.float32;var fract32=ref.fract32;var WeakMap=_dereq_("es6-weak-map");var parseRect=_dereq_("parse-rect");var findIndex=_dereq_("array-find-index");module.exports=Line2D;function Line2D(regl,options){if(!(this instanceof Line2D)){return new Line2D(regl,options)}if(typeof regl==="function"){if(!options){options={}}options.regl=regl}else{options=regl}if(options.length){options.positions=options}regl=options.regl;if(!regl.hasExtension("ANGLE_instanced_arrays")){throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled")}this.gl=regl._gl;this.regl=regl;this.passes=[];this.shaders=Line2D.shaders.has(regl)?Line2D.shaders.get(regl):Line2D.shaders.set(regl,Line2D.createShaders(regl)).get(regl);this.update(options)}Line2D.dashMult=2;Line2D.maxPatternLength=256;Line2D.precisionThreshold=3e6;Line2D.maxPoints=1e4;Line2D.maxLines=2048;Line2D.shaders=new WeakMap;Line2D.createShaders=function(regl){var offsetBuffer=regl.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]});var shaderOptions={primitive:"triangle strip",instances:regl.prop("count"),count:4,offset:0,uniforms:{miterMode:function(ctx,prop){return prop.join==="round"?2:1},miterLimit:regl.prop("miterLimit"),scale:regl.prop("scale"),scaleFract:regl.prop("scaleFract"),translateFract:regl.prop("translateFract"),translate:regl.prop("translate"),thickness:regl.prop("thickness"),dashPattern:regl.prop("dashTexture"),opacity:regl.prop("opacity"),pixelRatio:regl.context("pixelRatio"),id:regl.prop("id"),dashSize:regl.prop("dashLength"),viewport:function(c,p){return[p.viewport.x,p.viewport.y,c.viewportWidth,c.viewportHeight]},depth:regl.prop("depth")},blend:{enable:true,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:function(c,p){return!p.overlay}},stencil:{enable:false},scissor:{enable:true,box:regl.prop("viewport")},viewport:regl.prop("viewport")};var drawRectLine=regl(extend({vert:glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n       + positionFract * scale + translateFract\n       + position * scaleFract\n       + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n"]),frag:glslify(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, pixelRatio, thickness, opacity, id;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:offsetBuffer,divisor:0,stride:8,offset:0},lineTop:{buffer:offsetBuffer,divisor:0,stride:8,offset:4},aCoord:{buffer:regl.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:regl.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:regl.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:regl.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:regl.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},shaderOptions));var drawMiterLine;try{drawMiterLine=regl(extend({cull:{enable:true,face:"back"},vert:glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n  vec2 adjustedScale;\n  adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n  adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n  vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:glslify(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:offsetBuffer,divisor:0,stride:8,offset:0},lineTop:{buffer:offsetBuffer,divisor:0,stride:8,offset:4},aColor:{buffer:regl.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:regl.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:regl.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:regl.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:regl.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:regl.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},shaderOptions))}catch(e){drawMiterLine=drawRectLine}var drawFill=regl({primitive:"triangle",elements:function(ctx,prop){return prop.triangles},offset:0,vert:glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n       + positionFract * scale + translateFract\n       + position * scaleFract\n       + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:glslify(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:regl.prop("scale"),color:regl.prop("fill"),scaleFract:regl.prop("scaleFract"),translateFract:regl.prop("translateFract"),translate:regl.prop("translate"),opacity:regl.prop("opacity"),pixelRatio:regl.context("pixelRatio"),id:regl.prop("id"),viewport:function(ctx,prop){return[prop.viewport.x,prop.viewport.y,ctx.viewportWidth,ctx.viewportHeight]}},attributes:{position:{buffer:regl.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:regl.prop("positionFractBuffer"),stride:8,offset:8}},blend:shaderOptions.blend,depth:{enable:false},scissor:shaderOptions.scissor,stencil:shaderOptions.stencil,viewport:shaderOptions.viewport});return{fill:drawFill,rect:drawRectLine,miter:drawMiterLine}};Line2D.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:false,viewport:null,range:null,close:false,fill:null};Line2D.prototype.render=function(){var ref;var args=[],len=arguments.length;while(len--)args[len]=arguments[len];if(args.length){(ref=this).update.apply(ref,args)}this.draw()};Line2D.prototype.draw=function(){var this$1=this;var args=[],len=arguments.length;while(len--)args[len]=arguments[len];(args.length?args:this.passes).forEach((function(s,i){var ref;if(s&&Array.isArray(s)){return(ref=this$1).draw.apply(ref,s)}if(typeof s==="number"){s=this$1.passes[s]}if(!(s&&s.count>1&&s.opacity)){return}this$1.regl._refresh();if(s.fill&&s.triangles&&s.triangles.length>2){this$1.shaders.fill(s)}if(!s.thickness){return}if(s.scale[0]*s.viewport.width>Line2D.precisionThreshold||s.scale[1]*s.viewport.height>Line2D.precisionThreshold){this$1.shaders.rect(s)}else if(s.join==="rect"||!s.join&&(s.thickness<=2||s.count>=Line2D.maxPoints)){this$1.shaders.rect(s)}else{this$1.shaders.miter(s)}}));return this};Line2D.prototype.update=function(options){var this$1=this;if(!options){return}if(options.length!=null){if(typeof options[0]==="number"){options=[{positions:options}]}}else if(!Array.isArray(options)){options=[options]}var ref=this;var regl=ref.regl;var gl=ref.gl;options.forEach((function(o,i){var state=this$1.passes[i];if(o===undefined){return}if(o===null){this$1.passes[i]=null;return}if(typeof o[0]==="number"){o={positions:o}}o=pick(o,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"});if(!state){this$1.passes[i]=state={id:i,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:regl.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:regl.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:regl.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:regl.buffer({usage:"dynamic",type:"float",data:new Uint8Array})};o=extend({},Line2D.defaults,o)}if(o.thickness!=null){state.thickness=parseFloat(o.thickness)}if(o.opacity!=null){state.opacity=parseFloat(o.opacity)}if(o.miterLimit!=null){state.miterLimit=parseFloat(o.miterLimit)}if(o.overlay!=null){state.overlay=!!o.overlay;if(i<Line2D.maxLines){state.depth=2*(Line2D.maxLines-1-i%Line2D.maxLines)/Line2D.maxLines-1}}if(o.join!=null){state.join=o.join}if(o.hole!=null){state.hole=o.hole}if(o.fill!=null){state.fill=!o.fill?null:rgba(o.fill,"uint8")}if(o.viewport!=null){state.viewport=parseRect(o.viewport)}if(!state.viewport){state.viewport=parseRect([gl.drawingBufferWidth,gl.drawingBufferHeight])}if(o.close!=null){state.close=o.close}if(o.positions===null){o.positions=[]}if(o.positions){var positions,count;if(o.positions.x&&o.positions.y){var xPos=o.positions.x;var yPos=o.positions.y;count=state.count=Math.max(xPos.length,yPos.length);positions=new Float64Array(count*2);for(var i$1=0;i$1<count;i$1++){positions[i$1*2]=xPos[i$1];positions[i$1*2+1]=yPos[i$1]}}else{positions=flatten(o.positions,"float64");count=state.count=Math.floor(positions.length/2)}var bounds=state.bounds=getBounds(positions,2);if(state.fill){var pos=[];var ids={};var lastId=0;for(var i$2=0,ptr=0,l=state.count;i$2<l;i$2++){var x=positions[i$2*2];var y=positions[i$2*2+1];if(isNaN(x)||isNaN(y)||x==null||y==null){x=positions[lastId*2];y=positions[lastId*2+1];ids[i$2]=lastId}else{lastId=i$2}pos[ptr++]=x;pos[ptr++]=y}if(o.splitNull){if(!(state.count-1 in ids)){ids[state.count]=state.count-1}var splits=Object.keys(ids).map(Number).sort((function(a,b){return a-b}));var split_triangles=[];var base=0;var hole_base=state.hole!=null?state.hole[0]:null;if(hole_base!=null){var last_id=findIndex(splits,(function(e){return e>=hole_base}));splits=splits.slice(0,last_id);splits.push(hole_base)}var loop=function(i){var seg_pos=pos.slice(base*2,splits[i]*2).concat(hole_base?pos.slice(hole_base*2):[]);var hole=(state.hole||[]).map((function(e){return e-hole_base+(splits[i]-base)}));var triangles=triangulate(seg_pos,hole);triangles=triangles.map((function(e){return e+base+(e+base<splits[i]?0:hole_base-splits[i])}));split_triangles.push.apply(split_triangles,triangles);base=splits[i]+1};for(var i$3=0;i$3<splits.length;i$3++)loop(i$3);for(var i$4=0,l$1=split_triangles.length;i$4<l$1;i$4++){if(ids[split_triangles[i$4]]!=null){split_triangles[i$4]=ids[split_triangles[i$4]]}}state.triangles=split_triangles}else{var triangles$1=triangulate(pos,state.hole||[]);for(var i$5=0,l$2=triangles$1.length;i$5<l$2;i$5++){if(ids[triangles$1[i$5]]!=null){triangles$1[i$5]=ids[triangles$1[i$5]]}}state.triangles=triangles$1}}var npos=new Float64Array(positions);normalize(npos,2,bounds);var positionData=new Float64Array(count*2+6);if(state.close){if(positions[0]===positions[count*2-2]&&positions[1]===positions[count*2-1]){positionData[0]=npos[count*2-4];positionData[1]=npos[count*2-3]}else{positionData[0]=npos[count*2-2];positionData[1]=npos[count*2-1]}}else{positionData[0]=npos[0];positionData[1]=npos[1]}positionData.set(npos,2);if(state.close){if(positions[0]===positions[count*2-2]&&positions[1]===positions[count*2-1]){positionData[count*2+2]=npos[2];positionData[count*2+3]=npos[3];state.count-=1}else{positionData[count*2+2]=npos[0];positionData[count*2+3]=npos[1];positionData[count*2+4]=npos[2];positionData[count*2+5]=npos[3]}}else{positionData[count*2+2]=npos[count*2-2];positionData[count*2+3]=npos[count*2-1];positionData[count*2+4]=npos[count*2-2];positionData[count*2+5]=npos[count*2-1]}var float_data=float32(positionData);state.positionBuffer(float_data);var frac_data=fract32(positionData,float_data);state.positionFractBuffer(frac_data)}if(o.range){state.range=o.range}else if(!state.range){state.range=state.bounds}if((o.range||o.positions)&&state.count){var bounds$1=state.bounds;var boundsW=bounds$1[2]-bounds$1[0],boundsH=bounds$1[3]-bounds$1[1];var rangeW=state.range[2]-state.range[0],rangeH=state.range[3]-state.range[1];state.scale=[boundsW/rangeW,boundsH/rangeH];state.translate=[-state.range[0]/rangeW+bounds$1[0]/rangeW||0,-state.range[1]/rangeH+bounds$1[1]/rangeH||0];state.scaleFract=fract32(state.scale);state.translateFract=fract32(state.translate)}if(o.dashes){var dashLength=0,dashData;if(!o.dashes||o.dashes.length<2){dashLength=1;dashData=new Uint8Array([255,255,255,255,255,255,255,255])}else{dashLength=0;for(var i$6=0;i$6<o.dashes.length;++i$6){dashLength+=o.dashes[i$6]}dashData=new Uint8Array(dashLength*Line2D.dashMult);var ptr$1=0;var fillColor=255;for(var k=0;k<2;k++){for(var i$7=0;i$7<o.dashes.length;++i$7){for(var j=0,l$3=o.dashes[i$7]*Line2D.dashMult*.5;j<l$3;++j){dashData[ptr$1++]=fillColor}fillColor^=255}}}state.dashLength=dashLength;state.dashTexture({channels:1,data:dashData,width:dashData.length,height:1,mag:"linear",min:"linear"},0,0)}if(o.color){var count$1=state.count;var colors=o.color;if(!colors){colors="transparent"}var colorData=new Uint8Array(count$1*4+4);if(!Array.isArray(colors)||typeof colors[0]==="number"){var c=rgba(colors,"uint8");for(var i$8=0;i$8<count$1+1;i$8++){colorData.set(c,i$8*4)}}else{for(var i$9=0;i$9<count$1;i$9++){var c$1=rgba(colors[i$9],"uint8");colorData.set(c$1,i$9*4)}colorData.set(rgba(colors[0],"uint8"),count$1*4)}state.colorBuffer({usage:"dynamic",type:"uint8",data:colorData})}}));if(options.length<this.passes.length){for(var i=options.length;i<this.passes.length;i++){var pass=this.passes[i];if(!pass){continue}pass.colorBuffer.destroy();pass.positionBuffer.destroy();pass.dashTexture.destroy()}this.passes.length=options.length}var passes=[];for(var i$1=0;i$1<this.passes.length;i$1++){if(this.passes[i$1]!==null){passes.push(this.passes[i$1])}}this.passes=passes;return this};Line2D.prototype.destroy=function(){this.passes.forEach((function(pass){pass.colorBuffer.destroy();pass.positionBuffer.destroy();pass.dashTexture.destroy()}));this.passes.length=0;return this}},{"array-bounds":76,"array-find-index":77,"array-normalize":78,"color-normalize":131,earcut:186,"es6-weak-map":241,"flatten-vertex-data":252,glslify:442,"object-assign":487,"parse-rect":492,"pick-by-alias":498,"to-float32":599}],538:[function(_dereq_,module,exports){"use strict";function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var rgba=_dereq_("color-normalize");var getBounds=_dereq_("array-bounds");var colorId=_dereq_("color-id");var cluster=_dereq_("@plotly/point-cluster");var extend=_dereq_("object-assign");var glslify=_dereq_("glslify");var pick=_dereq_("pick-by-alias");var updateDiff=_dereq_("update-diff");var flatten=_dereq_("flatten-vertex-data");var ie=_dereq_("is-iexplorer");var f32=_dereq_("to-float32");var parseRect=_dereq_("parse-rect");var scatter=Scatter;function Scatter(regl,options){var _this=this;if(!(this instanceof Scatter))return new Scatter(regl,options);if(typeof regl==="function"){if(!options)options={};options.regl=regl}else{options=regl;regl=null}if(options&&options.length)options.positions=options;regl=options.regl;var gl=regl._gl,paletteTexture,palette=[],paletteIds={},groups=[],markerTextures=[null],markerCache=[null];var maxColors=255,maxSize=100;this.tooManyColors=ie;paletteTexture=regl.texture({data:new Uint8Array(maxColors*4),width:maxColors,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"});extend(this,{regl:regl,gl:gl,groups:groups,markerCache:markerCache,markerTextures:markerTextures,palette:palette,paletteIds:paletteIds,paletteTexture:paletteTexture,maxColors:maxColors,maxSize:maxSize,canvas:gl.canvas});this.update(options);var shaderOptions={uniforms:{constPointSize:!!options.constPointSize,pixelRatio:regl.context("pixelRatio"),palette:paletteTexture,paletteSize:function paletteSize(ctx,prop){return[_this.tooManyColors?0:maxColors,paletteTexture.height]},scale:regl.prop("scale"),scaleFract:regl.prop("scaleFract"),translate:regl.prop("translate"),translateFract:regl.prop("translateFract"),opacity:regl.prop("opacity"),marker:regl.prop("markerTexture")},attributes:{x:function x(ctx,prop){return prop.xAttr||{buffer:prop.positionBuffer,stride:8,offset:0}},y:function y(ctx,prop){return prop.yAttr||{buffer:prop.positionBuffer,stride:8,offset:4}},xFract:function xFract(ctx,prop){return prop.xAttr?{constant:[0,0]}:{buffer:prop.positionFractBuffer,stride:8,offset:0}},yFract:function yFract(ctx,prop){return prop.yAttr?{constant:[0,0]}:{buffer:prop.positionFractBuffer,stride:8,offset:4}},size:function size(ctx,prop){return prop.size.length?{buffer:prop.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(prop.size*255/_this.maxSize)]}},borderSize:function borderSize(ctx,prop){return prop.borderSize.length?{buffer:prop.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(prop.borderSize*255/_this.maxSize)]}},colorId:function colorId(ctx,prop){return prop.color.length?{buffer:prop.colorBuffer,stride:_this.tooManyColors?8:4,offset:0}:{constant:_this.tooManyColors?palette.slice(prop.color*4,prop.color*4+4):[prop.color]}},borderColorId:function borderColorId(ctx,prop){return prop.borderColor.length?{buffer:prop.colorBuffer,stride:_this.tooManyColors?8:4,offset:_this.tooManyColors?4:2}:{constant:_this.tooManyColors?palette.slice(prop.borderColor*4,prop.borderColor*4+4):[prop.borderColor]}},isActive:function isActive(ctx,prop){return prop.activation===true?{constant:[1]}:prop.activation?prop.activation:{constant:[0]}}},blend:{enable:true,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:true,box:regl.prop("viewport")},viewport:regl.prop("viewport"),stencil:{enable:false},depth:{enable:false},elements:regl.prop("elements"),count:regl.prop("count"),offset:regl.prop("offset"),primitive:"points"};var markerOptions=extend({},shaderOptions);markerOptions.frag=glslify(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float opacity;\n\nfloat smoothStep(float x, float y) {\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\n\n  // max-distance alpha\n  if (dist < 0.003) discard;\n\n  // null-border case\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n  }\n  else {\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n    vec4 color = fragBorderColor;\n    color.a *= borderColorAmt;\n    color = mix(color, fragColor, colorAmt);\n    color.a *= opacity;\n\n    gl_FragColor = color;\n  }\n\n}\n"]);markerOptions.vert=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform bool constPointSize;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n  return isDirect ? id / 255. : texture2D(palette,\n    vec2(\n      (id.x + .5) / paletteSize.x,\n      (id.y + .5) / paletteSize.y\n    )\n  );\n}\n\nvoid main() {\n  // ignore inactive points\n  if (isActive == 0.) return;\n\n  vec2 position = vec2(x, y);\n  vec2 positionFract = vec2(xFract, yFract);\n\n  vec4 color = getColor(colorId);\n  vec4 borderColor = getColor(borderColorId);\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = 2. * size * pointSizeScale;\n  fragPointSize = size * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n      + (positionFract + translateFract) * scale\n      + (position + translate) * scaleFract\n      + (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n  fragColor = color;\n  fragBorderColor = borderColor;\n  fragWidth = 1. / gl_PointSize;\n\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}"]);this.drawMarker=regl(markerOptions);var circleOptions=extend({},shaderOptions);circleOptions.frag=glslify(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]);circleOptions.vert=glslify(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform bool constPointSize;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n  return isDirect ? id / 255. : texture2D(palette,\n    vec2(\n      (id.x + .5) / paletteSize.x,\n      (id.y + .5) / paletteSize.y\n    )\n  );\n}\n\nvoid main() {\n  // ignore inactive points\n  if (isActive == 0.) return;\n\n  vec2 position = vec2(x, y);\n  vec2 positionFract = vec2(xFract, yFract);\n\n  vec4 color = getColor(colorId);\n  vec4 borderColor = getColor(borderColorId);\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = (size + borderSize) * pointSizeScale;\n\n  vec2 pos = (position + translate) * scale\n      + (positionFract + translateFract) * scale\n      + (position + translate) * scaleFract\n      + (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n  fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n  fragColor = color;\n  fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n  fragWidth = 1. / gl_PointSize;\n}\n"]);if(ie){circleOptions.frag=circleOptions.frag.replace("smoothstep","smoothStep");markerOptions.frag=markerOptions.frag.replace("smoothstep","smoothStep")}this.drawCircle=regl(circleOptions)}Scatter.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:undefined,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4};Scatter.prototype.render=function(){if(arguments.length){this.update.apply(this,arguments)}this.draw();return this};Scatter.prototype.draw=function(){var _this2=this;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}var groups=this.groups;if(args.length===1&&Array.isArray(args[0])&&(args[0][0]===null||Array.isArray(args[0][0]))){args=args[0]}this.regl._refresh();if(args.length){for(var i=0;i<args.length;i++){this.drawItem(i,args[i])}}else{groups.forEach((function(group,i){_this2.drawItem(i)}))}return this};Scatter.prototype.drawItem=function(id,els){var groups=this.groups;var group=groups[id];if(typeof els==="number"){id=els;group=groups[els];els=null}if(!(group&&group.count&&group.opacity))return;if(group.activation[0]){this.drawCircle(this.getMarkerDrawOptions(0,group,els))}var batch=[];for(var i=1;i<group.activation.length;i++){if(!group.activation[i]||group.activation[i]!==true&&!group.activation[i].data.length)continue;batch.push.apply(batch,_toConsumableArray(this.getMarkerDrawOptions(i,group,els)))}if(batch.length){this.drawMarker(batch)}};Scatter.prototype.getMarkerDrawOptions=function(markerId,group,elements){var range=group.range,tree=group.tree,viewport=group.viewport,activation=group.activation,selectionBuffer=group.selectionBuffer,count=group.count;var regl=this.regl;if(!tree){if(elements){return[extend({},group,{markerTexture:this.markerTextures[markerId],activation:activation[markerId],count:elements.length,elements:elements,offset:0})]}return[extend({},group,{markerTexture:this.markerTextures[markerId],activation:activation[markerId],offset:0})]}var batch=[];var lod=tree.range(range,{lod:true,px:[(range[2]-range[0])/viewport.width,(range[3]-range[1])/viewport.height]});if(elements){var markerActivation=activation[markerId];var mask=markerActivation.data;var data=new Uint8Array(count);for(var i=0;i<elements.length;i++){var id=elements[i];data[id]=mask?mask[id]:1}selectionBuffer.subdata(data)}for(var l=lod.length;l--;){var _lod$l=_slicedToArray(lod[l],2),from=_lod$l[0],to=_lod$l[1];batch.push(extend({},group,{markerTexture:this.markerTextures[markerId],activation:elements?selectionBuffer:activation[markerId],offset:from,count:to-from}))}return batch};Scatter.prototype.update=function(){var _this3=this;for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}if(!args.length)return;if(args.length===1&&Array.isArray(args[0]))args=args[0];var groups=this.groups,gl=this.gl,regl=this.regl,maxSize=this.maxSize,maxColors=this.maxColors,palette=this.palette;this.groups=groups=args.map((function(options,i){var group=groups[i];if(options===undefined)return group;if(options===null)options={positions:null};else if(typeof options==="function")options={ondraw:options};else if(typeof options[0]==="number")options={positions:options};options=pick(options,{positions:"positions data points",snap:"snap cluster lod tree",size:"sizes size radius",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",color:"colors color fill fill-color fillColor",borderColor:"borderColors borderColor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range dataBox databox",viewport:"viewport viewPort viewBox viewbox",opacity:"opacity alpha transparency",bounds:"bound bounds boundaries limits",tooManyColors:"tooManyColors palette paletteMode optimizePalette enablePalette"});if(options.positions===null)options.positions=[];if(options.tooManyColors!=null)_this3.tooManyColors=options.tooManyColors;if(!group){groups[i]=group={id:i,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:regl.buffer({data:new Uint8Array(0),usage:"stream",type:"uint8"}),sizeBuffer:regl.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),colorBuffer:regl.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),positionBuffer:regl.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"}),positionFractBuffer:regl.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"})};options=extend({},Scatter.defaults,options)}if(options.positions&&!("marker"in options)){options.marker=group.marker;delete group.marker}if(options.marker&&!("positions"in options)){options.positions=group.positions;delete group.positions}var hasSize=0,hasColor=0;updateDiff(group,options,[{snap:true,size:function size(s,group){if(s==null)s=Scatter.defaults.size;hasSize+=s&&s.length?1:0;return s},borderSize:function borderSize(s,group){if(s==null)s=Scatter.defaults.borderSize;hasSize+=s&&s.length?1:0;return s},opacity:parseFloat,color:function color(c,group){if(c==null)c=Scatter.defaults.color;c=_this3.updateColor(c);hasColor++;return c},borderColor:function borderColor(c,group){if(c==null)c=Scatter.defaults.borderColor;c=_this3.updateColor(c);hasColor++;return c},bounds:function bounds(_bounds,group,options){if(!("range"in options))options.range=null;return _bounds},positions:function positions(_positions,group,options){var snap=group.snap;var positionBuffer=group.positionBuffer,positionFractBuffer=group.positionFractBuffer,selectionBuffer=group.selectionBuffer;if(_positions.x||_positions.y){if(_positions.x.length){group.xAttr={buffer:regl.buffer(_positions.x),offset:0,stride:4,count:_positions.x.length}}else{group.xAttr={buffer:_positions.x.buffer,offset:_positions.x.offset*4||0,stride:(_positions.x.stride||1)*4,count:_positions.x.count}}if(_positions.y.length){group.yAttr={buffer:regl.buffer(_positions.y),offset:0,stride:4,count:_positions.y.length}}else{group.yAttr={buffer:_positions.y.buffer,offset:_positions.y.offset*4||0,stride:(_positions.y.stride||1)*4,count:_positions.y.count}}group.count=Math.max(group.xAttr.count,group.yAttr.count);return _positions}_positions=flatten(_positions,"float64");var count=group.count=Math.floor(_positions.length/2);var bounds=group.bounds=count?getBounds(_positions,2):null;if(!options.range&&!group.range){delete group.range;options.range=bounds}if(!options.marker&&!group.marker){delete group.marker;options.marker=null}if(snap&&(snap===true||count>snap)){group.tree=cluster(_positions,{bounds:bounds})}else if(snap&&snap.length){group.tree=snap}if(group.tree){var opts={primitive:"points",usage:"static",data:group.tree,type:"uint32"};if(group.elements)group.elements(opts);else group.elements=regl.elements(opts)}var float_data=f32.float32(_positions);positionBuffer({data:float_data,usage:"dynamic"});var frac_data=f32.fract32(_positions,float_data);positionFractBuffer({data:frac_data,usage:"dynamic"});selectionBuffer({data:new Uint8Array(count),type:"uint8",usage:"stream"});return _positions}},{marker:function marker(markers,group,options){var activation=group.activation;activation.forEach((function(buffer){return buffer&&buffer.destroy&&buffer.destroy()}));activation.length=0;if(!markers||typeof markers[0]==="number"){var id=_this3.addMarker(markers);activation[id]=true}else{var markerMasks=[];for(var _i=0,l=Math.min(markers.length,group.count);_i<l;_i++){var _id=_this3.addMarker(markers[_i]);if(!markerMasks[_id])markerMasks[_id]=new Uint8Array(group.count);markerMasks[_id][_i]=1}for(var _id2=0;_id2<markerMasks.length;_id2++){if(!markerMasks[_id2])continue;var opts={data:markerMasks[_id2],type:"uint8",usage:"static"};if(!activation[_id2]){activation[_id2]=regl.buffer(opts)}else{activation[_id2](opts)}activation[_id2].data=markerMasks[_id2]}}return markers},range:function range(_range,group,options){var bounds=group.bounds;if(!bounds)return;if(!_range)_range=bounds;group.scale=[1/(_range[2]-_range[0]),1/(_range[3]-_range[1])];group.translate=[-_range[0],-_range[1]];group.scaleFract=f32.fract(group.scale);group.translateFract=f32.fract(group.translate);return _range},viewport:function viewport(vp){var rect=parseRect(vp||[gl.drawingBufferWidth,gl.drawingBufferHeight]);return rect}}]);if(hasSize){var _group=group,count=_group.count,size=_group.size,borderSize=_group.borderSize,sizeBuffer=_group.sizeBuffer;var sizes=new Uint8Array(count*2);if(size.length||borderSize.length){for(var _i2=0;_i2<count;_i2++){sizes[_i2*2]=Math.round((size[_i2]==null?size:size[_i2])*255/maxSize);sizes[_i2*2+1]=Math.round((borderSize[_i2]==null?borderSize:borderSize[_i2])*255/maxSize)}}sizeBuffer({data:sizes,usage:"dynamic"})}if(hasColor){var _group2=group,_count=_group2.count,color=_group2.color,borderColor=_group2.borderColor,colorBuffer=_group2.colorBuffer;var colors;if(_this3.tooManyColors){if(color.length||borderColor.length){colors=new Uint8Array(_count*8);for(var _i3=0;_i3<_count;_i3++){var _colorId=color[_i3];colors[_i3*8]=palette[_colorId*4];colors[_i3*8+1]=palette[_colorId*4+1];colors[_i3*8+2]=palette[_colorId*4+2];colors[_i3*8+3]=palette[_colorId*4+3];var borderColorId=borderColor[_i3];colors[_i3*8+4]=palette[borderColorId*4];colors[_i3*8+5]=palette[borderColorId*4+1];colors[_i3*8+6]=palette[borderColorId*4+2];colors[_i3*8+7]=palette[borderColorId*4+3]}}}else{if(color.length||borderColor.length){colors=new Uint8Array(_count*4+2);for(var _i4=0;_i4<_count;_i4++){if(color[_i4]!=null){colors[_i4*4]=color[_i4]%maxColors;colors[_i4*4+1]=Math.floor(color[_i4]/maxColors)}if(borderColor[_i4]!=null){colors[_i4*4+2]=borderColor[_i4]%maxColors;colors[_i4*4+3]=Math.floor(borderColor[_i4]/maxColors)}}}}colorBuffer({data:colors||new Uint8Array(0),type:"uint8",usage:"dynamic"})}return group}))};Scatter.prototype.addMarker=function(sdf){var markerTextures=this.markerTextures,regl=this.regl,markerCache=this.markerCache;var pos=sdf==null?0:markerCache.indexOf(sdf);if(pos>=0)return pos;var distArr;if(sdf instanceof Uint8Array||sdf instanceof Uint8ClampedArray){distArr=sdf}else{distArr=new Uint8Array(sdf.length);for(var i=0,l=sdf.length;i<l;i++){distArr[i]=sdf[i]*255}}var radius=Math.floor(Math.sqrt(distArr.length));pos=markerTextures.length;markerCache.push(sdf);markerTextures.push(regl.texture({channels:1,data:distArr,radius:radius,mag:"linear",min:"linear"}));return pos};Scatter.prototype.updateColor=function(colors){var paletteIds=this.paletteIds,palette=this.palette,maxColors=this.maxColors;if(!Array.isArray(colors)){colors=[colors]}var idx=[];if(typeof colors[0]==="number"){var grouped=[];if(Array.isArray(colors)){for(var i=0;i<colors.length;i+=4){grouped.push(colors.slice(i,i+4))}}else{for(var _i5=0;_i5<colors.length;_i5+=4){grouped.push(colors.subarray(_i5,_i5+4))}}colors=grouped}for(var _i6=0;_i6<colors.length;_i6++){var color=colors[_i6];color=rgba(color,"uint8");var id=colorId(color,false);if(paletteIds[id]==null){var pos=palette.length;paletteIds[id]=Math.floor(pos/4);palette[pos]=color[0];palette[pos+1]=color[1];palette[pos+2]=color[2];palette[pos+3]=color[3]}idx[_i6]=paletteIds[id]}if(!this.tooManyColors&&palette.length>maxColors*4)this.tooManyColors=true;this.updatePalette(palette);return idx.length===1?idx[0]:idx};Scatter.prototype.updatePalette=function(palette){if(this.tooManyColors)return;var maxColors=this.maxColors,paletteTexture=this.paletteTexture;var requiredHeight=Math.ceil(palette.length*.25/maxColors);if(requiredHeight>1){palette=palette.slice();for(var i=palette.length*.25%maxColors;i<requiredHeight*maxColors;i++){palette.push(0,0,0,0)}}if(paletteTexture.height<requiredHeight){paletteTexture.resize(maxColors,requiredHeight)}paletteTexture.subimage({width:Math.min(palette.length*.25,maxColors),height:requiredHeight,data:palette},0,0)};Scatter.prototype.destroy=function(){this.groups.forEach((function(group){group.sizeBuffer.destroy();group.positionBuffer.destroy();group.positionFractBuffer.destroy();group.colorBuffer.destroy();group.activation.forEach((function(b){return b&&b.destroy&&b.destroy()}));group.selectionBuffer.destroy();if(group.elements)group.elements.destroy()}));this.groups.length=0;this.paletteTexture.destroy();this.markerTextures.forEach((function(txt){return txt&&txt.destroy&&txt.destroy()}));return this};var extend$1=_dereq_("object-assign");var reglScatter2d=function reglScatter2d(regl,options){var scatter$1=new scatter(regl,options);var render=scatter$1.render.bind(scatter$1);extend$1(render,{render:render,update:scatter$1.update.bind(scatter$1),draw:scatter$1.draw.bind(scatter$1),destroy:scatter$1.destroy.bind(scatter$1),regl:scatter$1.regl,gl:scatter$1.gl,canvas:scatter$1.gl.canvas,groups:scatter$1.groups,markers:scatter$1.markerCache,palette:scatter$1.palette});return render};module.exports=reglScatter2d},{"@plotly/point-cluster":59,"array-bounds":76,"color-id":129,"color-normalize":131,"flatten-vertex-data":252,glslify:442,"is-iexplorer":454,"object-assign":487,"parse-rect":492,"pick-by-alias":498,"to-float32":599,"update-diff":621}],539:[function(_dereq_,module,exports){"use strict";var createScatter=_dereq_("regl-scatter2d");var pick=_dereq_("pick-by-alias");var getBounds=_dereq_("array-bounds");var raf=_dereq_("raf");var arrRange=_dereq_("array-range");var rect=_dereq_("parse-rect");var flatten=_dereq_("flatten-vertex-data");module.exports=SPLOM;function SPLOM(regl,options){if(!(this instanceof SPLOM)){return new SPLOM(regl,options)}this.traces=[];this.passes={};this.regl=regl;this.scatter=createScatter(regl);this.canvas=this.scatter.canvas}SPLOM.prototype.render=function(){var this$1=this;var ref;var args=[],len=arguments.length;while(len--)args[len]=arguments[len];if(args.length){(ref=this).update.apply(ref,args)}if(this.regl.attributes.preserveDrawingBuffer){return this.draw()}if(this.dirty){if(this.planned==null){this.planned=raf((function(){this$1.draw();this$1.dirty=true;this$1.planned=null}))}}else{this.draw();this.dirty=true;raf((function(){this$1.dirty=false}))}return this};SPLOM.prototype.update=function(){var ref;var args=[],len=arguments.length;while(len--)args[len]=arguments[len];if(!args.length){return}for(var i=0;i<args.length;i++){this.updateItem(i,args[i])}this.traces=this.traces.filter(Boolean);var passes=[];var offset=0;for(var i$1=0;i$1<this.traces.length;i$1++){var trace=this.traces[i$1];var tracePasses=this.traces[i$1].passes;for(var j=0;j<tracePasses.length;j++){passes.push(this.passes[tracePasses[j]])}trace.passOffset=offset;offset+=trace.passes.length}(ref=this.scatter).update.apply(ref,passes);return this};SPLOM.prototype.updateItem=function(i,options){var ref=this;var regl=ref.regl;if(options===null){this.traces[i]=null;return this}if(!options){return this}var o=pick(options,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"});var trace=this.traces[i]||(this.traces[i]={id:i,buffer:regl.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:rect([regl._gl.drawingBufferWidth,regl._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:true,upper:true,lower:true});if(o.color!=null){trace.color=o.color}if(o.size!=null){trace.size=o.size}if(o.marker!=null){trace.marker=o.marker}if(o.borderColor!=null){trace.borderColor=o.borderColor}if(o.borderSize!=null){trace.borderSize=o.borderSize}if(o.opacity!=null){trace.opacity=o.opacity}if(o.viewport){trace.viewport=rect(o.viewport)}if(o.diagonal!=null){trace.diagonal=o.diagonal}if(o.upper!=null){trace.upper=o.upper}if(o.lower!=null){trace.lower=o.lower}if(o.data){trace.buffer(flatten(o.data));trace.columns=o.data.length;trace.count=o.data[0].length;trace.bounds=[];for(var i$1=0;i$1<trace.columns;i$1++){trace.bounds[i$1]=getBounds(o.data[i$1],1)}}var multirange;if(o.range){trace.range=o.range;multirange=trace.range&&typeof trace.range[0]!=="number"}if(o.domain){trace.domain=o.domain}var multipadding=false;if(o.padding!=null){if(Array.isArray(o.padding)&&o.padding.length===trace.columns&&typeof o.padding[o.padding.length-1]==="number"){trace.padding=o.padding.map(getPad);multipadding=true}else{trace.padding=getPad(o.padding)}}var m=trace.columns;var n=trace.count;var w=trace.viewport.width;var h=trace.viewport.height;var left=trace.viewport.x;var top=trace.viewport.y;var iw=w/m;var ih=h/m;trace.passes=[];for(var i$2=0;i$2<m;i$2++){for(var j=0;j<m;j++){if(!trace.diagonal&&j===i$2){continue}if(!trace.upper&&i$2>j){continue}if(!trace.lower&&i$2<j){continue}var key=passId(trace.id,i$2,j);var pass=this.passes[key]||(this.passes[key]={});if(o.data){if(o.transpose){pass.positions={x:{buffer:trace.buffer,offset:j,count:n,stride:m},y:{buffer:trace.buffer,offset:i$2,count:n,stride:m}}}else{pass.positions={x:{buffer:trace.buffer,offset:j*n,count:n},y:{buffer:trace.buffer,offset:i$2*n,count:n}}}pass.bounds=getBox(trace.bounds,i$2,j)}if(o.domain||o.viewport||o.data){var pad=multipadding?getBox(trace.padding,i$2,j):trace.padding;if(trace.domain){var ref$1=getBox(trace.domain,i$2,j);var lox=ref$1[0];var loy=ref$1[1];var hix=ref$1[2];var hiy=ref$1[3];pass.viewport=[left+lox*w+pad[0],top+loy*h+pad[1],left+hix*w-pad[2],top+hiy*h-pad[3]]}else{pass.viewport=[left+j*iw+iw*pad[0],top+i$2*ih+ih*pad[1],left+(j+1)*iw-iw*pad[2],top+(i$2+1)*ih-ih*pad[3]]}}if(o.color){pass.color=trace.color}if(o.size){pass.size=trace.size}if(o.marker){pass.marker=trace.marker}if(o.borderSize){pass.borderSize=trace.borderSize}if(o.borderColor){pass.borderColor=trace.borderColor}if(o.opacity){pass.opacity=trace.opacity}if(o.range){pass.range=multirange?getBox(trace.range,i$2,j):trace.range||pass.bounds}trace.passes.push(key)}}return this};SPLOM.prototype.draw=function(){var ref$2;var args=[],len=arguments.length;while(len--)args[len]=arguments[len];if(!args.length){this.scatter.draw()}else{var idx=[];for(var i=0;i<args.length;i++){if(typeof args[i]==="number"){var ref=this.traces[args[i]];var passes=ref.passes;var passOffset=ref.passOffset;idx.push.apply(idx,arrRange(passOffset,passOffset+passes.length))}else if(args[i].length){var els=args[i];var ref$1=this.traces[i];var passes$1=ref$1.passes;var passOffset$1=ref$1.passOffset;passes$1=passes$1.map((function(passId,i){idx[passOffset$1+i]=els}))}}(ref$2=this.scatter).draw.apply(ref$2,idx)}return this};SPLOM.prototype.destroy=function(){this.traces.forEach((function(trace){if(trace.buffer&&trace.buffer.destroy){trace.buffer.destroy()}}));this.traces=null;this.passes=null;this.scatter.destroy();return this};function passId(trace,i,j){var id=trace.id!=null?trace.id:trace;var n=i;var m=j;var key=id<<16|(n&255)<<8|m&255;return key}function getBox(items,i,j){var ilox,iloy,ihix,ihiy,jlox,jloy,jhix,jhiy;var iitem=items[i],jitem=items[j];if(iitem.length>2){ilox=iitem[0];ihix=iitem[2];iloy=iitem[1];ihiy=iitem[3]}else if(iitem.length){ilox=iloy=iitem[0];ihix=ihiy=iitem[1]}else{ilox=iitem.x;iloy=iitem.y;ihix=iitem.x+iitem.width;ihiy=iitem.y+iitem.height}if(jitem.length>2){jlox=jitem[0];jhix=jitem[2];jloy=jitem[1];jhiy=jitem[3]}else if(jitem.length){jlox=jloy=jitem[0];jhix=jhiy=jitem[1]}else{jlox=jitem.x;jloy=jitem.y;jhix=jitem.x+jitem.width;jhiy=jitem.y+jitem.height}return[jlox,iloy,jhix,ihiy]}function getPad(arg){if(typeof arg==="number"){return[arg,arg,arg,arg]}else if(arg.length===2){return[arg[0],arg[1],arg[0],arg[1]]}else{var box=rect(arg);return[box.x,box.y,box.x+box.width,box.y+box.height]}}},{"array-bounds":76,"array-range":79,"flatten-vertex-data":252,"parse-rect":492,"pick-by-alias":498,raf:530,"regl-scatter2d":538}],540:[function(_dereq_,module,exports){(function(Z,ka){"object"===typeof exports&&"undefined"!==typeof module?module.exports=ka():"function"===typeof define&&define.amd?define(ka):Z.createREGL=ka()})(this,(function(){function Z(a,b){this.id=Db++;this.type=a;this.data=b}function ka(a){if(0===a.length)return[];var b=a.charAt(0),c=a.charAt(a.length-1);if(1<a.length&&b===c&&('"'===b||"'"===b))return['"'+a.substr(1,a.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(b=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(a))return ka(a.substr(0,b.index)).concat(ka(b[1])).concat(ka(a.substr(b.index+b[0].length)));b=a.split(".");if(1===b.length)return['"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];a=[];for(c=0;c<b.length;++c)a=a.concat(ka(b[c]));return a}function cb(a){return"["+ka(a).join("][")+"]"}function db(a,b){if("function"===typeof a)return new Z(0,a);if("number"===typeof a||"boolean"===typeof a)return new Z(5,a);if(Array.isArray(a))return new Z(6,a.map((function(a,e){return db(a,b+"["+e+"]")})));if(a instanceof Z)return a}function Eb(){var a={"":0},b=[""];return{id:function(c){var e=a[c];if(e)return e;e=a[c]=b.length;b.push(c);return e},str:function(a){return b[a]}}}function Fb(a,b,c){function e(){var b=window.innerWidth,e=window.innerHeight;a!==document.body&&(e=f.getBoundingClientRect(),b=e.right-e.left,e=e.bottom-e.top);f.width=c*b;f.height=c*e}var f=document.createElement("canvas");L(f.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"});a.appendChild(f);a===document.body&&(f.style.position="absolute",L(a.style,{margin:0,padding:0}));var d;a!==document.body&&"function"===typeof ResizeObserver?(d=new ResizeObserver((function(){setTimeout(e)})),d.observe(a)):window.addEventListener("resize",e,!1);e();return{canvas:f,onDestroy:function(){d?d.disconnect():window.removeEventListener("resize",e);a.removeChild(f)}}}function Gb(a,b){function c(c){try{return a.getContext(c,b)}catch(f){return null}}return c("webgl")||c("experimental-webgl")||c("webgl-experimental")}function eb(a){return"string"===typeof a?a.split():a}function fb(a){return"string"===typeof a?document.querySelector(a):a}function Hb(a){var b=a||{},c,e,f,d;a={};var q=[],n=[],v="undefined"===typeof window?1:window.devicePixelRatio,k=!1,u=function(a){},m=function(){};"string"===typeof b?c=document.querySelector(b):"object"===typeof b&&("string"===typeof b.nodeName&&"function"===typeof b.appendChild&&"function"===typeof b.getBoundingClientRect?c=b:"function"===typeof b.drawArrays||"function"===typeof b.drawElements?(d=b,f=d.canvas):("gl"in b?d=b.gl:"canvas"in b?f=fb(b.canvas):"container"in b&&(e=fb(b.container)),"attributes"in b&&(a=b.attributes),"extensions"in b&&(q=eb(b.extensions)),"optionalExtensions"in b&&(n=eb(b.optionalExtensions)),"onDone"in b&&(u=b.onDone),"profile"in b&&(k=!!b.profile),"pixelRatio"in b&&(v=+b.pixelRatio)));c&&("canvas"===c.nodeName.toLowerCase()?f=c:e=c);if(!d){if(!f){c=Fb(e||document.body,u,v);if(!c)return null;f=c.canvas;m=c.onDestroy}void 0===a.premultipliedAlpha&&(a.premultipliedAlpha=!0);d=Gb(f,a)}return d?{gl:d,canvas:f,container:e,extensions:q,optionalExtensions:n,pixelRatio:v,profile:k,onDone:u,onDestroy:m}:(m(),u("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function Ib(a,b){function c(b){b=b.toLowerCase();var c;try{c=e[b]=a.getExtension(b)}catch(f){}return!!c}for(var e={},f=0;f<b.extensions.length;++f){var d=b.extensions[f];if(!c(d))return b.onDestroy(),b.onDone('"'+d+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}b.optionalExtensions.forEach(c);return{extensions:e,restore:function(){Object.keys(e).forEach((function(a){if(e[a]&&!c(a))throw Error("(regl): error restoring extension "+a)}))}}}function R(a,b){for(var c=Array(a),e=0;e<a;++e)c[e]=b(e);return c}function gb(a){var b,c;b=(65535<a)<<4;a>>>=b;c=(255<a)<<3;a>>>=c;b|=c;c=(15<a)<<2;a>>>=c;b|=c;c=(3<a)<<1;return b|c|a>>>c>>1}function hb(){function a(a){a:{for(var b=16;268435456>=b;b*=16)if(a<=b){a=b;break a}a=0}b=c[gb(a)>>2];return 0<b.length?b.pop():new ArrayBuffer(a)}function b(a){c[gb(a.byteLength)>>2].push(a)}var c=R(8,(function(){return[]}));return{alloc:a,free:b,allocType:function(b,c){var d=null;switch(b){case 5120:d=new Int8Array(a(c),0,c);break;case 5121:d=new Uint8Array(a(c),0,c);break;case 5122:d=new Int16Array(a(2*c),0,c);break;case 5123:d=new Uint16Array(a(2*c),0,c);break;case 5124:d=new Int32Array(a(4*c),0,c);break;case 5125:d=new Uint32Array(a(4*c),0,c);break;case 5126:d=new Float32Array(a(4*c),0,c);break;default:return null}return d.length!==c?d.subarray(0,c):d},freeType:function(a){b(a.buffer)}}}function la(a){return!!a&&"object"===typeof a&&Array.isArray(a.shape)&&Array.isArray(a.stride)&&"number"===typeof a.offset&&a.shape.length===a.stride.length&&(Array.isArray(a.data)||O(a.data))}function ib(a,b,c,e,f,d){for(var q=0;q<b;++q)for(var n=a[q],v=0;v<c;++v)for(var k=n[v],u=0;u<e;++u)f[d++]=k[u]}function jb(a,b,c,e,f){for(var d=1,q=c+1;q<b.length;++q)d*=b[q];var n=b[c];if(4===b.length-c){var v=b[c+1],k=b[c+2];b=b[c+3];for(q=0;q<n;++q)ib(a[q],v,k,b,e,f),f+=d}else for(q=0;q<n;++q)jb(a[q],b,c+1,e,f),f+=d}function Ha(a){return Ia[Object.prototype.toString.call(a)]|0}function kb(a,b){for(var c=0;c<b.length;++c)a[c]=b[c]}function lb(a,b,c,e,f,d,q){for(var n=0,v=0;v<c;++v)for(var k=0;k<e;++k)a[n++]=b[f*v+d*k+q]}function Jb(a,b,c,e){function f(b){this.id=v++;this.buffer=a.createBuffer();this.type=b;this.usage=35044;this.byteLength=0;this.dimension=1;this.dtype=5121;this.persistentData=null;c.profile&&(this.stats={size:0})}function d(b,c,l){b.byteLength=c.byteLength;a.bufferData(b.type,c,l)}function q(a,b,c,g,h,r){a.usage=c;if(Array.isArray(b)){if(a.dtype=g||5126,0<b.length)if(Array.isArray(b[0])){h=mb(b);for(var p=g=1;p<h.length;++p)g*=h[p];a.dimension=g;b=Ua(b,h,a.dtype);d(a,b,c);r?a.persistentData=b:G.freeType(b)}else"number"===typeof b[0]?(a.dimension=h,h=G.allocType(a.dtype,b.length),kb(h,b),d(a,h,c),r?a.persistentData=h:G.freeType(h)):O(b[0])&&(a.dimension=b[0].length,a.dtype=g||Ha(b[0])||5126,b=Ua(b,[b.length,b[0].length],a.dtype),d(a,b,c),r?a.persistentData=b:G.freeType(b))}else if(O(b))a.dtype=g||Ha(b),a.dimension=h,d(a,b,c),r&&(a.persistentData=new Uint8Array(new Uint8Array(b.buffer)));else if(la(b)){h=b.shape;var e=b.stride,p=b.offset,t=0,ma=0,f=0,k=0;1===h.length?(t=h[0],ma=1,f=e[0],k=0):2===h.length&&(t=h[0],ma=h[1],f=e[0],k=e[1]);a.dtype=g||Ha(b.data)||5126;a.dimension=ma;h=G.allocType(a.dtype,t*ma);lb(h,b.data,t,ma,f,k,p);d(a,h,c);r?a.persistentData=h:G.freeType(h)}else b instanceof ArrayBuffer&&(a.dtype=5121,a.dimension=h,d(a,b,c),r&&(a.persistentData=new Uint8Array(new Uint8Array(b))))}function n(c){b.bufferCount--;e(c);a.deleteBuffer(c.buffer);c.buffer=null;delete k[c.id]}var v=0,k={};f.prototype.bind=function(){a.bindBuffer(this.type,this.buffer)};f.prototype.destroy=function(){n(this)};var u=[];c.profile&&(b.getTotalBufferSize=function(){var a=0;Object.keys(k).forEach((function(b){a+=k[b].stats.size}));return a});return{create:function(m,e,d,g){function h(b){var e=35044,t=null,d=0,m=0,f=1;Array.isArray(b)||O(b)||la(b)||b instanceof ArrayBuffer?t=b:"number"===typeof b?d=b|0:b&&("data"in b&&(t=b.data),"usage"in b&&(e=nb[b.usage]),"type"in b&&(m=Ja[b.type]),"dimension"in b&&(f=b.dimension|0),"length"in b&&(d=b.length|0));r.bind();t?q(r,t,e,m,f,g):(d&&a.bufferData(r.type,d,e),r.dtype=m||5121,r.usage=e,r.dimension=f,r.byteLength=d);c.profile&&(r.stats.size=r.byteLength*na[r.dtype]);return h}b.bufferCount++;var r=new f(e);k[r.id]=r;d||h(m);h._reglType="buffer";h._buffer=r;h.subdata=function(b,c){var t=(c||0)|0,d;r.bind();if(O(b)||b instanceof ArrayBuffer)a.bufferSubData(r.type,t,b);else if(Array.isArray(b)){if(0<b.length)if("number"===typeof b[0]){var e=G.allocType(r.dtype,b.length);kb(e,b);a.bufferSubData(r.type,t,e);G.freeType(e)}else if(Array.isArray(b[0])||O(b[0]))d=mb(b),e=Ua(b,d,r.dtype),a.bufferSubData(r.type,t,e),G.freeType(e)}else if(la(b)){d=b.shape;var m=b.stride,g=e=0,f=0,y=0;1===d.length?(e=d[0],g=1,f=m[0],y=0):2===d.length&&(e=d[0],g=d[1],f=m[0],y=m[1]);d=Array.isArray(b.data)?r.dtype:Ha(b.data);d=G.allocType(d,e*g);lb(d,b.data,e,g,f,y,b.offset);a.bufferSubData(r.type,t,d);G.freeType(d)}return h};c.profile&&(h.stats=r.stats);h.destroy=function(){n(r)};return h},createStream:function(a,b){var c=u.pop();c||(c=new f(a));c.bind();q(c,b,35040,0,1,!1);return c},destroyStream:function(a){u.push(a)},clear:function(){I(k).forEach(n);u.forEach(n)},getBuffer:function(a){return a&&a._buffer instanceof f?a._buffer:null},restore:function(){I(k).forEach((function(b){b.buffer=a.createBuffer();a.bindBuffer(b.type,b.buffer);a.bufferData(b.type,b.persistentData||b.byteLength,b.usage)}))},_initBuffer:q}}function Kb(a,b,c,e){function f(a){this.id=v++;n[this.id]=this;this.buffer=a;this.primType=4;this.type=this.vertCount=0}function d(d,e,f,g,h,r,p){d.buffer.bind();var k;e?((k=p)||O(e)&&(!la(e)||O(e.data))||(k=b.oes_element_index_uint?5125:5123),c._initBuffer(d.buffer,e,f,k,3)):(a.bufferData(34963,r,f),d.buffer.dtype=k||5121,d.buffer.usage=f,d.buffer.dimension=3,d.buffer.byteLength=r);k=p;if(!p){switch(d.buffer.dtype){case 5121:case 5120:k=5121;break;case 5123:case 5122:k=5123;break;case 5125:case 5124:k=5125}d.buffer.dtype=k}d.type=k;e=h;0>e&&(e=d.buffer.byteLength,5123===k?e>>=1:5125===k&&(e>>=2));d.vertCount=e;e=g;0>g&&(e=4,g=d.buffer.dimension,1===g&&(e=0),2===g&&(e=1),3===g&&(e=4));d.primType=e}function q(a){e.elementsCount--;delete n[a.id];a.buffer.destroy();a.buffer=null}var n={},v=0,k={uint8:5121,uint16:5123};b.oes_element_index_uint&&(k.uint32=5125);f.prototype.bind=function(){this.buffer.bind()};var u=[];return{create:function(a,b){function l(a){if(a)if("number"===typeof a)g(a),h.primType=4,h.vertCount=a|0,h.type=5121;else{var b=null,c=35044,e=-1,f=-1,m=0,n=0;if(Array.isArray(a)||O(a)||la(a))b=a;else if("data"in a&&(b=a.data),"usage"in a&&(c=nb[a.usage]),"primitive"in a&&(e=Ka[a.primitive]),"count"in a&&(f=a.count|0),"type"in a&&(n=k[a.type]),"length"in a)m=a.length|0;else if(m=f,5123===n||5122===n)m*=2;else if(5125===n||5124===n)m*=4;d(h,b,c,e,f,m,n)}else g(),h.primType=4,h.vertCount=0,h.type=5121;return l}var g=c.create(null,34963,!0),h=new f(g._buffer);e.elementsCount++;l(a);l._reglType="elements";l._elements=h;l.subdata=function(a,b){g.subdata(a,b);return l};l.destroy=function(){q(h)};return l},createStream:function(a){var b=u.pop();b||(b=new f(c.create(null,34963,!0,!1)._buffer));d(b,a,35040,-1,-1,0,0);return b},destroyStream:function(a){u.push(a)},getElements:function(a){return"function"===typeof a&&a._elements instanceof f?a._elements:null},clear:function(){I(n).forEach(q)}}}function ob(a){for(var b=G.allocType(5123,a.length),c=0;c<a.length;++c)if(isNaN(a[c]))b[c]=65535;else if(Infinity===a[c])b[c]=31744;else if(-Infinity===a[c])b[c]=64512;else{pb[0]=a[c];var e=Lb[0],f=e>>>31<<15,d=(e<<1>>>24)-127,e=e>>13&1023;b[c]=-24>d?f:-14>d?f+(e+1024>>-14-d):15<d?f+31744:f+(d+15<<10)+e}return b}function ra(a){return Array.isArray(a)||O(a)}function sa(a){return"[object "+a+"]"}function qb(a){return Array.isArray(a)&&(0===a.length||"number"===typeof a[0])}function rb(a){return Array.isArray(a)&&0!==a.length&&ra(a[0])?!0:!1}function aa(a){return Object.prototype.toString.call(a)}function Va(a){if(!a)return!1;var b=aa(a);return 0<=Mb.indexOf(b)?!0:qb(a)||rb(a)||la(a)}function sb(a,b){36193===a.type?(a.data=ob(b),G.freeType(b)):a.data=b}function La(a,b,c,e,f,d){a="undefined"!==typeof C[a]?C[a]:U[a]*za[b];d&&(a*=6);if(f){for(e=0;1<=c;)e+=a*c*c,c/=2;return e}return a*c*e}function Nb(a,b,c,e,f,d,q){function n(){this.format=this.internalformat=6408;this.type=5121;this.flipY=this.premultiplyAlpha=this.compressed=!1;this.unpackAlignment=1;this.colorSpace=37444;this.channels=this.height=this.width=0}function v(a,b){a.internalformat=b.internalformat;a.format=b.format;a.type=b.type;a.compressed=b.compressed;a.premultiplyAlpha=b.premultiplyAlpha;a.flipY=b.flipY;a.unpackAlignment=b.unpackAlignment;a.colorSpace=b.colorSpace;a.width=b.width;a.height=b.height;a.channels=b.channels}function k(a,b){if("object"===typeof b&&b){"premultiplyAlpha"in b&&(a.premultiplyAlpha=b.premultiplyAlpha);"flipY"in b&&(a.flipY=b.flipY);"alignment"in b&&(a.unpackAlignment=b.alignment);"colorSpace"in b&&(a.colorSpace=Ob[b.colorSpace]);"type"in b&&(a.type=N[b.type]);var c=a.width,e=a.height,d=a.channels,f=!1;"shape"in b?(c=b.shape[0],e=b.shape[1],3===b.shape.length&&(d=b.shape[2],f=!0)):("radius"in b&&(c=e=b.radius),"width"in b&&(c=b.width),"height"in b&&(e=b.height),"channels"in b&&(d=b.channels,f=!0));a.width=c|0;a.height=e|0;a.channels=d|0;c=!1;"format"in b&&(c=b.format,e=a.internalformat=E[c],a.format=V[e],c in N&&!("type"in b)&&(a.type=N[c]),c in ga&&(a.compressed=!0),c=!0);!f&&c?a.channels=U[a.format]:f&&!c&&a.channels!==Oa[a.format]&&(a.format=a.internalformat=Oa[a.channels])}}function u(b){a.pixelStorei(37440,b.flipY);a.pixelStorei(37441,b.premultiplyAlpha);a.pixelStorei(37443,b.colorSpace);a.pixelStorei(3317,b.unpackAlignment)}function m(){n.call(this);this.yOffset=this.xOffset=0;this.data=null;this.needsFree=!1;this.element=null;this.needsCopy=!1}function x(a,b){var c=null;Va(b)?c=b:b&&(k(a,b),"x"in b&&(a.xOffset=b.x|0),"y"in b&&(a.yOffset=b.y|0),Va(b.data)&&(c=b.data));if(b.copy){var e=f.viewportWidth,d=f.viewportHeight;a.width=a.width||e-a.xOffset;a.height=a.height||d-a.yOffset;a.needsCopy=!0}else if(!c)a.width=a.width||1,a.height=a.height||1,a.channels=a.channels||4;else if(O(c))a.channels=a.channels||4,a.data=c,"type"in b||5121!==a.type||(a.type=Ia[Object.prototype.toString.call(c)]|0);else if(qb(c)){a.channels=a.channels||4;e=c;d=e.length;switch(a.type){case 5121:case 5123:case 5125:case 5126:d=G.allocType(a.type,d);d.set(e);a.data=d;break;case 36193:a.data=ob(e)}a.alignment=1;a.needsFree=!0}else if(la(c)){e=c.data;Array.isArray(e)||5121!==a.type||(a.type=Ia[Object.prototype.toString.call(e)]|0);var d=c.shape,h=c.stride,y,t,g,p;3===d.length?(g=d[2],p=h[2]):p=g=1;y=d[0];t=d[1];d=h[0];h=h[1];a.alignment=1;a.width=y;a.height=t;a.channels=g;a.format=a.internalformat=Oa[g];a.needsFree=!0;y=p;c=c.offset;g=a.width;p=a.height;t=a.channels;for(var z=G.allocType(36193===a.type?5126:a.type,g*p*t),B=0,ha=0;ha<p;++ha)for(var oa=0;oa<g;++oa)for(var Wa=0;Wa<t;++Wa)z[B++]=e[d*oa+h*ha+y*Wa+c];sb(a,z)}else if(aa(c)===Xa||aa(c)===Ya||aa(c)===ub)aa(c)===Xa||aa(c)===Ya?a.element=c:a.element=c.canvas,a.width=a.element.width,a.height=a.element.height,a.channels=4;else if(aa(c)===vb)a.element=c,a.width=c.width,a.height=c.height,a.channels=4;else if(aa(c)===wb)a.element=c,a.width=c.naturalWidth,a.height=c.naturalHeight,a.channels=4;else if(aa(c)===xb)a.element=c,a.width=c.videoWidth,a.height=c.videoHeight,a.channels=4;else if(rb(c)){e=a.width||c[0].length;d=a.height||c.length;h=a.channels;h=ra(c[0][0])?h||c[0][0].length:h||1;y=Qa.shape(c);g=1;for(p=0;p<y.length;++p)g*=y[p];g=G.allocType(36193===a.type?5126:a.type,g);Qa.flatten(c,y,"",g);sb(a,g);a.alignment=1;a.width=e;a.height=d;a.channels=h;a.format=a.internalformat=Oa[h];a.needsFree=!0}}function l(b,c,d,h,g){var y=b.element,f=b.data,p=b.internalformat,t=b.format,k=b.type,z=b.width,B=b.height;u(b);y?a.texSubImage2D(c,g,d,h,t,k,y):b.compressed?a.compressedTexSubImage2D(c,g,d,h,p,z,B,f):b.needsCopy?(e(),a.copyTexSubImage2D(c,g,d,h,b.xOffset,b.yOffset,z,B)):a.texSubImage2D(c,g,d,h,z,B,t,k,f)}function g(){return R.pop()||new m}function h(a){a.needsFree&&G.freeType(a.data);m.call(a);R.push(a)}function r(){n.call(this);this.genMipmaps=!1;this.mipmapHint=4352;this.mipmask=0;this.images=Array(16)}function p(a,b,c){var d=a.images[0]=g();a.mipmask=1;d.width=a.width=b;d.height=a.height=c;d.channels=a.channels=4}function P(a,b){var c=null;if(Va(b))c=a.images[0]=g(),v(c,a),x(c,b),a.mipmask=1;else if(k(a,b),Array.isArray(b.mipmap))for(var d=b.mipmap,e=0;e<d.length;++e)c=a.images[e]=g(),v(c,a),c.width>>=e,c.height>>=e,x(c,d[e]),a.mipmask|=1<<e;else c=a.images[0]=g(),v(c,a),x(c,b),a.mipmask=1;v(a,a.images[0])}function t(b,c){for(var d=b.images,h=0;h<d.length&&d[h];++h){var g=d[h],y=c,f=h,p=g.element,t=g.data,k=g.internalformat,z=g.format,B=g.type,ha=g.width,oa=g.height;u(g);p?a.texImage2D(y,f,z,z,B,p):g.compressed?a.compressedTexImage2D(y,f,k,ha,oa,0,t):g.needsCopy?(e(),a.copyTexImage2D(y,f,z,g.xOffset,g.yOffset,ha,oa,0)):a.texImage2D(y,f,z,ha,oa,0,z,B,t||null)}}function ma(){var a=Y.pop()||new r;n.call(a);for(var b=a.mipmask=0;16>b;++b)a.images[b]=null;return a}function ya(a){for(var b=a.images,c=0;c<b.length;++c)b[c]&&h(b[c]),b[c]=null;Y.push(a)}function w(){this.magFilter=this.minFilter=9728;this.wrapT=this.wrapS=33071;this.anisotropic=1;this.genMipmaps=!1;this.mipmapHint=4352}function H(a,b){"min"in b&&(a.minFilter=Aa[b.min],0<=Pb.indexOf(a.minFilter)&&!("faces"in b)&&(a.genMipmaps=!0));"mag"in b&&(a.magFilter=S[b.mag]);var c=a.wrapS,d=a.wrapT;if("wrap"in b){var e=b.wrap;"string"===typeof e?c=d=ia[e]:Array.isArray(e)&&(c=ia[e[0]],d=ia[e[1]])}else"wrapS"in b&&(c=ia[b.wrapS]),"wrapT"in b&&(d=ia[b.wrapT]);a.wrapS=c;a.wrapT=d;"anisotropic"in b&&(a.anisotropic=b.anisotropic);if("mipmap"in b){c=!1;switch(typeof b.mipmap){case"string":a.mipmapHint=A[b.mipmap];c=a.genMipmaps=!0;break;case"boolean":c=a.genMipmaps=b.mipmap;break;case"object":a.genMipmaps=!1,c=!0}!c||"min"in b||(a.minFilter=9984)}}function M(c,d){a.texParameteri(d,10241,c.minFilter);a.texParameteri(d,10240,c.magFilter);a.texParameteri(d,10242,c.wrapS);a.texParameteri(d,10243,c.wrapT);b.ext_texture_filter_anisotropic&&a.texParameteri(d,34046,c.anisotropic);c.genMipmaps&&(a.hint(33170,c.mipmapHint),a.generateMipmap(d))}function y(b){n.call(this);this.mipmask=0;this.internalformat=6408;this.id=Qb++;this.refCount=1;this.target=b;this.texture=a.createTexture();this.unit=-1;this.bindCount=0;this.texInfo=new w;q.profile&&(this.stats={size:0})}function T(b){a.activeTexture(33984);a.bindTexture(b.target,b.texture)}function wa(){var b=W[0];b?a.bindTexture(b.target,b.texture):a.bindTexture(3553,null)}function F(b){var c=b.texture,e=b.unit,g=b.target;0<=e&&(a.activeTexture(33984+e),a.bindTexture(g,null),W[e]=null);a.deleteTexture(c);b.texture=null;b.params=null;b.pixels=null;b.refCount=0;delete ea[b.id];d.textureCount--}var A={"don't care":4352,"dont care":4352,nice:4354,fast:4353},ia={repeat:10497,clamp:33071,mirror:33648},S={nearest:9728,linear:9729},Aa=L({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},S),Ob={none:0,browser:37444},N={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},E={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},ga={};b.ext_srgb&&(E.srgb=35904,E.srgba=35906);b.oes_texture_float&&(N.float32=N["float"]=5126);b.oes_texture_half_float&&(N.float16=N["half float"]=36193);b.webgl_depth_texture&&(L(E,{depth:6402,"depth stencil":34041}),L(N,{uint16:5123,uint32:5125,"depth stencil":34042}));b.webgl_compressed_texture_s3tc&&L(ga,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779});b.webgl_compressed_texture_atc&&L(ga,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798});b.webgl_compressed_texture_pvrtc&&L(ga,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843});b.webgl_compressed_texture_etc1&&(ga["rgb etc1"]=36196);var J=Array.prototype.slice.call(a.getParameter(34467));Object.keys(ga).forEach((function(a){var b=ga[a];0<=J.indexOf(b)&&(E[a]=b)}));var C=Object.keys(E);c.textureFormats=C;var ca=[];Object.keys(E).forEach((function(a){ca[E[a]]=a}));var K=[];Object.keys(N).forEach((function(a){K[N[a]]=a}));var Fa=[];Object.keys(S).forEach((function(a){Fa[S[a]]=a}));var pa=[];Object.keys(Aa).forEach((function(a){pa[Aa[a]]=a}));var qa=[];Object.keys(ia).forEach((function(a){qa[ia[a]]=a}));var V=C.reduce((function(a,c){var d=E[c];6409===d||6406===d||6409===d||6410===d||6402===d||34041===d||b.ext_srgb&&(35904===d||35906===d)?a[d]=d:32855===d||0<=c.indexOf("rgba")?a[d]=6408:a[d]=6407;return a}),{}),R=[],Y=[],Qb=0,ea={},fa=c.maxTextureUnits,W=Array(fa).map((function(){return null}));L(y.prototype,{bind:function(){this.bindCount+=1;var b=this.unit;if(0>b){for(var c=0;c<fa;++c){var e=W[c];if(e){if(0<e.bindCount)continue;e.unit=-1}W[c]=this;b=c;break}q.profile&&d.maxTextureUnits<b+1&&(d.maxTextureUnits=b+1);this.unit=b;a.activeTexture(33984+b);a.bindTexture(this.target,this.texture)}return b},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}});q.profile&&(d.getTotalTextureSize=function(){var a=0;Object.keys(ea).forEach((function(b){a+=ea[b].stats.size}));return a});return{create2D:function(b,c){function e(a,b){var c=f.texInfo;w.call(c);var d=ma();"number"===typeof a?"number"===typeof b?p(d,a|0,b|0):p(d,a|0,a|0):a?(H(c,a),P(d,a)):p(d,1,1);c.genMipmaps&&(d.mipmask=(d.width<<1)-1);f.mipmask=d.mipmask;v(f,d);f.internalformat=d.internalformat;e.width=d.width;e.height=d.height;T(f);t(d,3553);M(c,3553);wa();ya(d);q.profile&&(f.stats.size=La(f.internalformat,f.type,d.width,d.height,c.genMipmaps,!1));e.format=ca[f.internalformat];e.type=K[f.type];e.mag=Fa[c.magFilter];e.min=pa[c.minFilter];e.wrapS=qa[c.wrapS];e.wrapT=qa[c.wrapT];return e}var f=new y(3553);ea[f.id]=f;d.textureCount++;e(b,c);e.subimage=function(a,b,c,d){b|=0;c|=0;d|=0;var y=g();v(y,f);y.width=0;y.height=0;x(y,a);y.width=y.width||(f.width>>d)-b;y.height=y.height||(f.height>>d)-c;T(f);l(y,3553,b,c,d);wa();h(y);return e};e.resize=function(b,c){var d=b|0,g=c|0||d;if(d===f.width&&g===f.height)return e;e.width=f.width=d;e.height=f.height=g;T(f);for(var y=0;f.mipmask>>y;++y){var h=d>>y,z=g>>y;if(!h||!z)break;a.texImage2D(3553,y,f.format,h,z,0,f.format,f.type,null)}wa();q.profile&&(f.stats.size=La(f.internalformat,f.type,d,g,!1,!1));return e};e._reglType="texture2d";e._texture=f;q.profile&&(e.stats=f.stats);e.destroy=function(){f.decRef()};return e},createCube:function(b,c,e,f,n,r){function m(a,b,c,d,e,f){var g,da=A.texInfo;w.call(da);for(g=0;6>g;++g)F[g]=ma();if("number"===typeof a||!a)for(a=a|0||1,g=0;6>g;++g)p(F[g],a,a);else if("object"===typeof a)if(b)P(F[0],a),P(F[1],b),P(F[2],c),P(F[3],d),P(F[4],e),P(F[5],f);else if(H(da,a),k(A,a),"faces"in a)for(a=a.faces,g=0;6>g;++g)v(F[g],A),P(F[g],a[g]);else for(g=0;6>g;++g)P(F[g],a);v(A,F[0]);A.mipmask=da.genMipmaps?(F[0].width<<1)-1:F[0].mipmask;A.internalformat=F[0].internalformat;m.width=F[0].width;m.height=F[0].height;T(A);for(g=0;6>g;++g)t(F[g],34069+g);M(da,34067);wa();q.profile&&(A.stats.size=La(A.internalformat,A.type,m.width,m.height,da.genMipmaps,!0));m.format=ca[A.internalformat];m.type=K[A.type];m.mag=Fa[da.magFilter];m.min=pa[da.minFilter];m.wrapS=qa[da.wrapS];m.wrapT=qa[da.wrapT];for(g=0;6>g;++g)ya(F[g]);return m}var A=new y(34067);ea[A.id]=A;d.cubeCount++;var F=Array(6);m(b,c,e,f,n,r);m.subimage=function(a,b,c,d,e){c|=0;d|=0;e|=0;var f=g();v(f,A);f.width=0;f.height=0;x(f,b);f.width=f.width||(A.width>>e)-c;f.height=f.height||(A.height>>e)-d;T(A);l(f,34069+a,c,d,e);wa();h(f);return m};m.resize=function(b){b|=0;if(b!==A.width){m.width=A.width=b;m.height=A.height=b;T(A);for(var c=0;6>c;++c)for(var d=0;A.mipmask>>d;++d)a.texImage2D(34069+c,d,A.format,b>>d,b>>d,0,A.format,A.type,null);wa();q.profile&&(A.stats.size=La(A.internalformat,A.type,m.width,m.height,!1,!0));return m}};m._reglType="textureCube";m._texture=A;q.profile&&(m.stats=A.stats);m.destroy=function(){A.decRef()};return m},clear:function(){for(var b=0;b<fa;++b)a.activeTexture(33984+b),a.bindTexture(3553,null),W[b]=null;I(ea).forEach(F);d.cubeCount=0;d.textureCount=0},getTexture:function(a){return null},restore:function(){for(var b=0;b<fa;++b){var c=W[b];c&&(c.bindCount=0,c.unit=-1,W[b]=null)}I(ea).forEach((function(b){b.texture=a.createTexture();a.bindTexture(b.target,b.texture);for(var c=0;32>c;++c)if(0!==(b.mipmask&1<<c))if(3553===b.target)a.texImage2D(3553,c,b.internalformat,b.width>>c,b.height>>c,0,b.internalformat,b.type,null);else for(var d=0;6>d;++d)a.texImage2D(34069+d,c,b.internalformat,b.width>>c,b.height>>c,0,b.internalformat,b.type,null);M(b.texInfo,b.target)}))},refresh:function(){for(var b=0;b<fa;++b){var c=W[b];c&&(c.bindCount=0,c.unit=-1,W[b]=null);a.activeTexture(33984+b);a.bindTexture(3553,null);a.bindTexture(34067,null)}}}}function Rb(a,b,c,e,f,d){function q(a,b,c){this.target=a;this.texture=b;this.renderbuffer=c;var d=a=0;b?(a=b.width,d=b.height):c&&(a=c.width,d=c.height);this.width=a;this.height=d}function n(a){a&&(a.texture&&a.texture._texture.decRef(),a.renderbuffer&&a.renderbuffer._renderbuffer.decRef())}function v(a,b,c){a&&(a.texture?a.texture._texture.refCount+=1:a.renderbuffer._renderbuffer.refCount+=1)}function k(b,c){c&&(c.texture?a.framebufferTexture2D(36160,b,c.target,c.texture._texture.texture,0):a.framebufferRenderbuffer(36160,b,36161,c.renderbuffer._renderbuffer.renderbuffer))}function u(a){var b=3553,c=null,d=null,e=a;"object"===typeof a&&(e=a.data,"target"in a&&(b=a.target|0));a=e._reglType;"texture2d"===a?c=e:"textureCube"===a?c=e:"renderbuffer"===a&&(d=e,b=36161);return new q(b,c,d)}function m(a,b,c,d,g){if(c)return a=e.create2D({width:a,height:b,format:d,type:g}),a._texture.refCount=0,new q(3553,a,null);a=f.create({width:a,height:b,format:d});a._renderbuffer.refCount=0;return new q(36161,null,a)}function x(a){return a&&(a.texture||a.renderbuffer)}function l(a,b,c){a&&(a.texture?a.texture.resize(b,c):a.renderbuffer&&a.renderbuffer.resize(b,c),a.width=b,a.height=c)}function g(){this.id=H++;M[this.id]=this;this.framebuffer=a.createFramebuffer();this.height=this.width=0;this.colorAttachments=[];this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function h(a){a.colorAttachments.forEach(n);n(a.depthAttachment);n(a.stencilAttachment);n(a.depthStencilAttachment)}function r(b){a.deleteFramebuffer(b.framebuffer);b.framebuffer=null;d.framebufferCount--;delete M[b.id]}function p(b){var d;a.bindFramebuffer(36160,b.framebuffer);var e=b.colorAttachments;for(d=0;d<e.length;++d)k(36064+d,e[d]);for(d=e.length;d<c.maxColorAttachments;++d)a.framebufferTexture2D(36160,36064+d,3553,null,0);a.framebufferTexture2D(36160,33306,3553,null,0);a.framebufferTexture2D(36160,36096,3553,null,0);a.framebufferTexture2D(36160,36128,3553,null,0);k(36096,b.depthAttachment);k(36128,b.stencilAttachment);k(33306,b.depthStencilAttachment);a.checkFramebufferStatus(36160);a.isContextLost();a.bindFramebuffer(36160,t.next?t.next.framebuffer:null);t.cur=t.next;a.getError()}function P(a,b){function c(a,b){var d,g=0,f=0,t=!0,k=!0;d=null;var l=!0,n="rgba",r="uint8",y=1,q=null,P=null,pa=null,M=!1;if("number"===typeof a)g=a|0,f=b|0||g;else if(a){"shape"in a?(f=a.shape,g=f[0],f=f[1]):("radius"in a&&(g=f=a.radius),"width"in a&&(g=a.width),"height"in a&&(f=a.height));if("color"in a||"colors"in a)d=a.color||a.colors,Array.isArray(d);if(!d){"colorCount"in a&&(y=a.colorCount|0);"colorTexture"in a&&(l=!!a.colorTexture,n="rgba4");if("colorType"in a&&(r=a.colorType,!l))if("half float"===r||"float16"===r)n="rgba16f";else if("float"===r||"float32"===r)n="rgba32f";"colorFormat"in a&&(n=a.colorFormat,0<=ma.indexOf(n)?l=!0:0<=ya.indexOf(n)&&(l=!1))}if("depthTexture"in a||"depthStencilTexture"in a)M=!(!a.depthTexture&&!a.depthStencilTexture);"depth"in a&&("boolean"===typeof a.depth?t=a.depth:(q=a.depth,k=!1));"stencil"in a&&("boolean"===typeof a.stencil?k=a.stencil:(P=a.stencil,t=!1));"depthStencil"in a&&("boolean"===typeof a.depthStencil?t=k=a.depthStencil:(pa=a.depthStencil,k=t=!1))}else g=f=1;var V=null,H=null,T=null,w=null;if(Array.isArray(d))V=d.map(u);else if(d)V=[u(d)];else for(V=Array(y),d=0;d<y;++d)V[d]=m(g,f,l,n,r);g=g||V[0].width;f=f||V[0].height;q?H=u(q):t&&!k&&(H=m(g,f,M,"depth","uint32"));P?T=u(P):k&&!t&&(T=m(g,f,!1,"stencil","uint8"));pa?w=u(pa):!q&&!P&&k&&t&&(w=m(g,f,M,"depth stencil","depth stencil"));t=null;for(d=0;d<V.length;++d)v(V[d],g,f),V[d]&&V[d].texture&&(k=Za[V[d].texture._texture.format]*Ra[V[d].texture._texture.type],null===t&&(t=k));v(H,g,f);v(T,g,f);v(w,g,f);h(e);e.width=g;e.height=f;e.colorAttachments=V;e.depthAttachment=H;e.stencilAttachment=T;e.depthStencilAttachment=w;c.color=V.map(x);c.depth=x(H);c.stencil=x(T);c.depthStencil=x(w);c.width=e.width;c.height=e.height;p(e);return c}var e=new g;d.framebufferCount++;c(a,b);return L(c,{resize:function(a,b){var d=Math.max(a|0,1),g=Math.max(b|0||d,1);if(d===e.width&&g===e.height)return c;for(var f=e.colorAttachments,h=0;h<f.length;++h)l(f[h],d,g);l(e.depthAttachment,d,g);l(e.stencilAttachment,d,g);l(e.depthStencilAttachment,d,g);e.width=c.width=d;e.height=c.height=g;p(e);return c},_reglType:"framebuffer",_framebuffer:e,destroy:function(){r(e);h(e)},use:function(a){t.setFBO({framebuffer:c},a)}})}var t={cur:null,next:null,dirty:!1,setFBO:null},ma=["rgba"],ya=["rgba4","rgb565","rgb5 a1"];b.ext_srgb&&ya.push("srgba");b.ext_color_buffer_half_float&&ya.push("rgba16f","rgb16f");b.webgl_color_buffer_float&&ya.push("rgba32f");var w=["uint8"];b.oes_texture_half_float&&w.push("half float","float16");b.oes_texture_float&&w.push("float","float32");var H=0,M={};return L(t,{getFramebuffer:function(a){return"function"===typeof a&&"framebuffer"===a._reglType&&(a=a._framebuffer,a instanceof g)?a:null},create:P,createCube:function(a){function b(a){var d,g={color:null},f=0,h=null;d="rgba";var t="uint8",p=1;if("number"===typeof a)f=a|0;else if(a){"shape"in a?f=a.shape[0]:("radius"in a&&(f=a.radius|0),"width"in a?f=a.width|0:"height"in a&&(f=a.height|0));if("color"in a||"colors"in a)h=a.color||a.colors,Array.isArray(h);h||("colorCount"in a&&(p=a.colorCount|0),"colorType"in a&&(t=a.colorType),"colorFormat"in a&&(d=a.colorFormat));"depth"in a&&(g.depth=a.depth);"stencil"in a&&(g.stencil=a.stencil);"depthStencil"in a&&(g.depthStencil=a.depthStencil)}else f=1;if(h)if(Array.isArray(h))for(a=[],d=0;d<h.length;++d)a[d]=h[d];else a=[h];else for(a=Array(p),h={radius:f,format:d,type:t},d=0;d<p;++d)a[d]=e.createCube(h);g.color=Array(a.length);for(d=0;d<a.length;++d)p=a[d],f=f||p.width,g.color[d]={target:34069,data:a[d]};for(d=0;6>d;++d){for(p=0;p<a.length;++p)g.color[p].target=34069+d;0<d&&(g.depth=c[0].depth,g.stencil=c[0].stencil,g.depthStencil=c[0].depthStencil);if(c[d])c[d](g);else c[d]=P(g)}return L(b,{width:f,height:f,color:a})}var c=Array(6);b(a);return L(b,{faces:c,resize:function(a){var d=a|0;if(d===b.width)return b;var e=b.color;for(a=0;a<e.length;++a)e[a].resize(d);for(a=0;6>a;++a)c[a].resize(d);b.width=b.height=d;return b},_reglType:"framebufferCube",destroy:function(){c.forEach((function(a){a.destroy()}))}})},clear:function(){I(M).forEach(r)},restore:function(){t.cur=null;t.next=null;t.dirty=!0;I(M).forEach((function(b){b.framebuffer=a.createFramebuffer();p(b)}))}})}function $a(){this.w=this.z=this.y=this.x=this.state=0;this.buffer=null;this.size=0;this.normalized=!1;this.type=5126;this.divisor=this.stride=this.offset=0}function Sb(a,b,c,e,f,d,q){function n(a){if(a!==r.currentVAO){var c=b.oes_vertex_array_object;a?c.bindVertexArrayOES(a.vao):c.bindVertexArrayOES(null);r.currentVAO=a}}function v(c){if(c!==r.currentVAO){if(c)c.bindAttrs();else{for(var d=b.angle_instanced_arrays,e=0;e<l.length;++e){var g=l[e];g.buffer?(a.enableVertexAttribArray(e),g.buffer.bind(),a.vertexAttribPointer(e,g.size,g.type,g.normalized,g.stride,g.offfset),d&&g.divisor&&d.vertexAttribDivisorANGLE(e,g.divisor)):(a.disableVertexAttribArray(e),a.vertexAttrib4f(e,g.x,g.y,g.z,g.w))}q.elements?a.bindBuffer(34963,q.elements.buffer.buffer):a.bindBuffer(34963,null)}r.currentVAO=c}}function k(){I(h).forEach((function(a){a.destroy()}))}function u(){this.id=++g;this.attributes=[];this.elements=null;this.ownsElements=!1;this.offset=this.count=0;this.instances=-1;this.primitive=4;var a=b.oes_vertex_array_object;this.vao=a?a.createVertexArrayOES():null;h[this.id]=this;this.buffers=[]}function m(){b.oes_vertex_array_object&&I(h).forEach((function(a){a.refresh()}))}var x=c.maxAttributes,l=Array(x);for(c=0;c<x;++c)l[c]=new $a;var g=0,h={},r={Record:$a,scope:{},state:l,currentVAO:null,targetVAO:null,restore:b.oes_vertex_array_object?m:function(){},createVAO:function(a){function b(a){var e;Array.isArray(a)?(e=a,c.elements&&c.ownsElements&&c.elements.destroy(),c.elements=null,c.ownsElements=!1,c.offset=0,c.count=0,c.instances=-1,c.primitive=4):(a.elements?(e=a.elements,c.ownsElements?("function"===typeof e&&"elements"===e._reglType?c.elements.destroy():c.elements(e),c.ownsElements=!1):d.getElements(a.elements)?(c.elements=a.elements,c.ownsElements=!1):(c.elements=d.create(a.elements),c.ownsElements=!0)):(c.elements=null,c.ownsElements=!1),e=a.attributes,c.offset=0,c.count=-1,c.instances=-1,c.primitive=4,c.elements&&(c.count=c.elements._elements.vertCount,c.primitive=c.elements._elements.primType),"offset"in a&&(c.offset=a.offset|0),"count"in a&&(c.count=a.count|0),"instances"in a&&(c.instances=a.instances|0),"primitive"in a&&(c.primitive=Ka[a.primitive]));a={};var g=c.attributes;g.length=e.length;for(var h=0;h<e.length;++h){var p=e[h],k=g[h]=new $a,m=p.data||p;if(Array.isArray(m)||O(m)||la(m)){var l;c.buffers[h]&&(l=c.buffers[h],O(m)&&l._buffer.byteLength>=m.byteLength?l.subdata(m):(l.destroy(),c.buffers[h]=null));c.buffers[h]||(l=c.buffers[h]=f.create(p,34962,!1,!0));k.buffer=f.getBuffer(l);k.size=k.buffer.dimension|0;k.normalized=!1;k.type=k.buffer.dtype;k.offset=0;k.stride=0;k.divisor=0;k.state=1;a[h]=1}else f.getBuffer(p)?(k.buffer=f.getBuffer(p),k.size=k.buffer.dimension|0,k.normalized=!1,k.type=k.buffer.dtype,k.offset=0,k.stride=0,k.divisor=0,k.state=1):f.getBuffer(p.buffer)?(k.buffer=f.getBuffer(p.buffer),k.size=(+p.size||k.buffer.dimension)|0,k.normalized=!!p.normalized||!1,k.type="type"in p?Ja[p.type]:k.buffer.dtype,k.offset=(p.offset||0)|0,k.stride=(p.stride||0)|0,k.divisor=(p.divisor||0)|0,k.state=1):"x"in p&&(k.x=+p.x||0,k.y=+p.y||0,k.z=+p.z||0,k.w=+p.w||0,k.state=2)}for(l=0;l<c.buffers.length;++l)!a[l]&&c.buffers[l]&&(c.buffers[l].destroy(),c.buffers[l]=null);c.refresh();return b}var c=new u;e.vaoCount+=1;b.destroy=function(){for(var a=0;a<c.buffers.length;++a)c.buffers[a]&&c.buffers[a].destroy();c.buffers.length=0;c.ownsElements&&(c.elements.destroy(),c.elements=null,c.ownsElements=!1);c.destroy()};b._vao=c;b._reglType="vao";return b(a)},getVAO:function(a){return"function"===typeof a&&a._vao?a._vao:null},destroyBuffer:function(b){for(var c=0;c<l.length;++c){var d=l[c];d.buffer===b&&(a.disableVertexAttribArray(c),d.buffer=null)}},setVAO:b.oes_vertex_array_object?n:v,clear:b.oes_vertex_array_object?k:function(){}};u.prototype.bindAttrs=function(){for(var c=b.angle_instanced_arrays,e=this.attributes,g=0;g<e.length;++g){var f=e[g];f.buffer?(a.enableVertexAttribArray(g),a.bindBuffer(34962,f.buffer.buffer),a.vertexAttribPointer(g,f.size,f.type,f.normalized,f.stride,f.offset),c&&f.divisor&&c.vertexAttribDivisorANGLE(g,f.divisor)):(a.disableVertexAttribArray(g),a.vertexAttrib4f(g,f.x,f.y,f.z,f.w))}for(c=e.length;c<x;++c)a.disableVertexAttribArray(c);(c=d.getElements(this.elements))?a.bindBuffer(34963,c.buffer.buffer):a.bindBuffer(34963,null)};u.prototype.refresh=function(){var a=b.oes_vertex_array_object;a&&(a.bindVertexArrayOES(this.vao),this.bindAttrs(),r.currentVAO=null,a.bindVertexArrayOES(null))};u.prototype.destroy=function(){if(this.vao){var a=b.oes_vertex_array_object;this===r.currentVAO&&(r.currentVAO=null,a.bindVertexArrayOES(null));a.deleteVertexArrayOES(this.vao);this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1);h[this.id]&&(delete h[this.id],--e.vaoCount)};return r}function Tb(a,b,c,e){function f(a,b,c,d){this.name=a;this.id=b;this.location=c;this.info=d}function d(a,b){for(var c=0;c<a.length;++c)if(a[c].id===b.id){a[c].location=b.location;return}a.push(b)}function q(c,d,e){e=35632===c?k:u;var f=e[d];if(!f){var m=b.str(d),f=a.createShader(c);a.shaderSource(f,m);a.compileShader(f);e[d]=f}return f}function n(a,b){this.id=l++;this.fragId=a;this.vertId=b;this.program=null;this.uniforms=[];this.attributes=[];this.refCount=1;e.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function v(c,h,k){var m;m=q(35632,c.fragId);var l=q(35633,c.vertId);h=c.program=a.createProgram();a.attachShader(h,m);a.attachShader(h,l);if(k)for(m=0;m<k.length;++m)l=k[m],a.bindAttribLocation(h,l[0],l[1]);a.linkProgram(h);l=a.getProgramParameter(h,35718);e.profile&&(c.stats.uniformsCount=l);var n=c.uniforms;for(m=0;m<l;++m)if(k=a.getActiveUniform(h,m)){if(1<k.size)for(var v=0;v<k.size;++v){var u=k.name.replace("[0]","["+v+"]");d(n,new f(u,b.id(u),a.getUniformLocation(h,u),k))}v=k.name;1<k.size&&(v=v.replace("[0]",""));d(n,new f(v,b.id(v),a.getUniformLocation(h,v),k))}l=a.getProgramParameter(h,35721);e.profile&&(c.stats.attributesCount=l);c=c.attributes;for(m=0;m<l;++m)(k=a.getActiveAttrib(h,m))&&d(c,new f(k.name,b.id(k.name),a.getAttribLocation(h,k.name),k))}var k={},u={},m={},x=[],l=0;e.profile&&(c.getMaxUniformsCount=function(){var a=0;x.forEach((function(b){b.stats.uniformsCount>a&&(a=b.stats.uniformsCount)}));return a},c.getMaxAttributesCount=function(){var a=0;x.forEach((function(b){b.stats.attributesCount>a&&(a=b.stats.attributesCount)}));return a});return{clear:function(){var b=a.deleteShader.bind(a);I(k).forEach(b);k={};I(u).forEach(b);u={};x.forEach((function(b){a.deleteProgram(b.program)}));x.length=0;m={};c.shaderCount=0},program:function(b,d,e,f){var l=m[d];l||(l=m[d]={});var q=l[b];if(q&&(q.refCount++,!f))return q;var w=new n(d,b);c.shaderCount++;v(w,e,f);q||(l[b]=w);x.push(w);return L(w,{destroy:function(){w.refCount--;if(0>=w.refCount){a.deleteProgram(w.program);var b=x.indexOf(w);x.splice(b,1);c.shaderCount--}0>=l[w.vertId].refCount&&(a.deleteShader(u[w.vertId]),delete u[w.vertId],delete m[w.fragId][w.vertId]);Object.keys(m[w.fragId]).length||(a.deleteShader(k[w.fragId]),delete k[w.fragId],delete m[w.fragId])}})},restore:function(){k={};u={};for(var a=0;a<x.length;++a)v(x[a],null,x[a].attributes.map((function(a){return[a.location,a.name]})))},shader:q,frag:-1,vert:-1}}function Ub(a,b,c,e,f,d,q){function n(d){var f;f=null===b.next?5121:b.next.colorAttachments[0].texture._texture.type;var m=0,n=0,l=e.framebufferWidth,g=e.framebufferHeight,h=null;O(d)?h=d:d&&(m=d.x|0,n=d.y|0,l=(d.width||e.framebufferWidth-m)|0,g=(d.height||e.framebufferHeight-n)|0,h=d.data||null);c();d=l*g*4;h||(5121===f?h=new Uint8Array(d):5126===f&&(h=h||new Float32Array(d)));a.pixelStorei(3333,4);a.readPixels(m,n,l,g,6408,f,h);return h}function v(a){var c;b.setFBO({framebuffer:a.framebuffer},(function(){c=n(a)}));return c}return function(a){return a&&"framebuffer"in a?v(a):n(a)}}function Ba(a){return Array.prototype.slice.call(a)}function Ca(a){return Ba(a).join("")}function Vb(){function a(){var a=[],b=[];return L((function(){a.push.apply(a,Ba(arguments))}),{def:function(){var d="v"+c++;b.push(d);0<arguments.length&&(a.push(d,"="),a.push.apply(a,Ba(arguments)),a.push(";"));return d},toString:function(){return Ca([0<b.length?"var "+b.join(",")+";":"",Ca(a)])}})}function b(){function b(a,e){d(a,e,"=",c.def(a,e),";")}var c=a(),d=a(),e=c.toString,f=d.toString;return L((function(){c.apply(c,Ba(arguments))}),{def:c.def,entry:c,exit:d,save:b,set:function(a,d,e){b(a,d);c(a,d,"=",e,";")},toString:function(){return e()+f()}})}var c=0,e=[],f=[],d=a(),q={};return{global:d,link:function(a){for(var b=0;b<f.length;++b)if(f[b]===a)return e[b];b="g"+c++;e.push(b);f.push(a);return b},block:a,proc:function(a,c){function d(){var a="a"+e.length;e.push(a);return a}var e=[];c=c||0;for(var f=0;f<c;++f)d();var f=b(),x=f.toString;return q[a]=L(f,{arg:d,toString:function(){return Ca(["function(",e.join(),"){",x(),"}"])}})},scope:b,cond:function(){var a=Ca(arguments),c=b(),d=b(),e=c.toString,f=d.toString;return L(c,{then:function(){c.apply(c,Ba(arguments));return this},else:function(){d.apply(d,Ba(arguments));return this},toString:function(){var b=f();b&&(b="else{"+b+"}");return Ca(["if(",a,"){",e(),"}",b])}})},compile:function(){var a=['"use strict";',d,"return {"];Object.keys(q).forEach((function(b){a.push('"',b,'":',q[b].toString(),",")}));a.push("}");var b=Ca(a).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,e.concat(b)).apply(null,f)}}}function Sa(a){return Array.isArray(a)||O(a)||la(a)}function yb(a){return a.sort((function(a,c){return"viewport"===a?-1:"viewport"===c?1:a<c?-1:1}))}function J(a,b,c,e){this.thisDep=a;this.contextDep=b;this.propDep=c;this.append=e}function xa(a){return a&&!(a.thisDep||a.contextDep||a.propDep)}function w(a){return new J(!1,!1,!1,a)}function K(a,b){var c=a.type;if(0===c)return c=a.data.length,new J(!0,1<=c,2<=c,b);if(4===c)return c=a.data,new J(c.thisDep,c.contextDep,c.propDep,b);if(5===c)return new J(!1,!1,!1,b);if(6===c){for(var e=c=!1,f=!1,d=0;d<a.data.length;++d){var q=a.data[d];1===q.type?f=!0:2===q.type?e=!0:3===q.type?c=!0:0===q.type?(c=!0,q=q.data,1<=q&&(e=!0),2<=q&&(f=!0)):4===q.type&&(c=c||q.data.thisDep,e=e||q.data.contextDep,f=f||q.data.propDep)}return new J(c,e,f,b)}return new J(3===c,2===c,1===c,b)}function Wb(a,b,c,e,f,d,q,n,v,k,u,m,x,l,g){function h(a){return a.replace(".","_")}function r(a,b,c){var d=h(a);Na.push(a);Ea[d]=ta[d]=!!c;ua[d]=b}function p(a,b,c){var d=h(a);Na.push(a);Array.isArray(c)?(ta[d]=c.slice(),Ea[d]=c.slice()):ta[d]=Ea[d]=c;va[d]=b}function P(){var a=Vb(),c=a.link,d=a.global;a.id=sa++;a.batchId="0";var e=c(tb),f=a.shared={props:"a0"};Object.keys(tb).forEach((function(a){f[a]=d.def(e,".",a)}));var g=a.next={},da=a.current={};Object.keys(va).forEach((function(a){Array.isArray(ta[a])&&(g[a]=d.def(f.next,".",a),da[a]=d.def(f.current,".",a))}));var D=a.constants={};Object.keys(Pa).forEach((function(a){D[a]=d.def(JSON.stringify(Pa[a]))}));a.invoke=function(b,d){switch(d.type){case 0:var e=["this",f.context,f.props,a.batchId];return b.def(c(d.data),".call(",e.slice(0,Math.max(d.data.length+1,4)),")");case 1:return b.def(f.props,d.data);case 2:return b.def(f.context,d.data);case 3:return b.def("this",d.data);case 4:return d.data.append(a,b),d.data.ref;case 5:return d.data.toString();case 6:return d.data.map((function(c){return a.invoke(b,c)}))}};a.attribCache={};var ba={};a.scopeAttrib=function(a){a=b.id(a);if(a in ba)return ba[a];var d=k.scope[a];d||(d=k.scope[a]=new ea);return ba[a]=c(d)};return a}function t(a){var b=a["static"];a=a.dynamic;var c;if("profile"in b){var d=!!b.profile;c=w((function(a,b){return d}));c.enable=d}else if("profile"in a){var e=a.profile;c=K(e,(function(a,b){return a.invoke(b,e)}))}return c}function G(a,b){var c=a["static"],d=a.dynamic;if("framebuffer"in c){var e=c.framebuffer;return e?(e=n.getFramebuffer(e),w((function(a,b){var c=a.link(e),d=a.shared;b.set(d.framebuffer,".next",c);d=d.context;b.set(d,".framebufferWidth",c+".width");b.set(d,".framebufferHeight",c+".height");return c}))):w((function(a,b){var c=a.shared;b.set(c.framebuffer,".next","null");c=c.context;b.set(c,".framebufferWidth",c+".drawingBufferWidth");b.set(c,".framebufferHeight",c+".drawingBufferHeight");return"null"}))}if("framebuffer"in d){var f=d.framebuffer;return K(f,(function(a,b){var c=a.invoke(b,f),d=a.shared,e=d.framebuffer,c=b.def(e,".getFramebuffer(",c,")");b.set(e,".next",c);d=d.context;b.set(d,".framebufferWidth",c+"?"+c+".width:"+d+".drawingBufferWidth");b.set(d,".framebufferHeight",c+"?"+c+".height:"+d+".drawingBufferHeight");return c}))}return null}function C(a,b,c){function d(a){if(a in e){var c=e[a];a=!0;var z=c.x|0,g=c.y|0,h,da;"width"in c?h=c.width|0:a=!1;"height"in c?da=c.height|0:a=!1;return new J(!a&&b&&b.thisDep,!a&&b&&b.contextDep,!a&&b&&b.propDep,(function(a,b){var d=a.shared.context,e=h;"width"in c||(e=b.def(d,".","framebufferWidth","-",z));var f=da;"height"in c||(f=b.def(d,".","framebufferHeight","-",g));return[z,g,e,f]}))}if(a in f){var ha=f[a];a=K(ha,(function(a,b){var c=a.invoke(b,ha),d=a.shared.context,e=b.def(c,".x|0"),f=b.def(c,".y|0"),z=b.def('"width" in ',c,"?",c,".width|0:","(",d,".","framebufferWidth","-",e,")"),c=b.def('"height" in ',c,"?",c,".height|0:","(",d,".","framebufferHeight","-",f,")");return[e,f,z,c]}));b&&(a.thisDep=a.thisDep||b.thisDep,a.contextDep=a.contextDep||b.contextDep,a.propDep=a.propDep||b.propDep);return a}return b?new J(b.thisDep,b.contextDep,b.propDep,(function(a,b){var c=a.shared.context;return[0,0,b.def(c,".","framebufferWidth"),b.def(c,".","framebufferHeight")]})):null}var e=a["static"],f=a.dynamic;if(a=d("viewport")){var g=a;a=new J(a.thisDep,a.contextDep,a.propDep,(function(a,b){var c=g.append(a,b),d=a.shared.context;b.set(d,".viewportWidth",c[2]);b.set(d,".viewportHeight",c[3]);return c}))}return{viewport:a,scissor_box:d("scissor.box")}}function O(a,b){var c=a["static"];if("string"===typeof c.frag&&"string"===typeof c.vert){if(0<Object.keys(b.dynamic).length)return null;var c=b["static"],d=Object.keys(c);if(0<d.length&&"number"===typeof c[d[0]]){for(var e=[],f=0;f<d.length;++f)e.push([c[d[f]]|0,d[f]]);return e}}return null}function H(a,c,d){function e(a){if(a in f){var c=b.id(f[a]);a=w((function(){return c}));a.id=c;return a}if(a in g){var d=g[a];return K(d,(function(a,b){var c=a.invoke(b,d);return b.def(a.shared.strings,".id(",c,")")}))}return null}var f=a["static"],g=a.dynamic,h=e("frag"),D=e("vert"),ba=null;xa(h)&&xa(D)?(ba=u.program(D.id,h.id,null,d),a=w((function(a,b){return a.link(ba)}))):a=new J(h&&h.thisDep||D&&D.thisDep,h&&h.contextDep||D&&D.contextDep,h&&h.propDep||D&&D.propDep,(function(a,b){var c=a.shared.shader,d;d=h?h.append(a,b):b.def(c,".","frag");var e;e=D?D.append(a,b):b.def(c,".","vert");return b.def(c+".program("+e+","+d+")")}));return{frag:h,vert:D,progVar:a,program:ba}}function M(a,b){function c(a,b){if(a in e){var d=e[a]|0;b?g.offset=d:g.instances=d;return w((function(a,c){b&&(a.OFFSET=d);return d}))}if(a in f){var z=f[a];return K(z,(function(a,c){var d=a.invoke(c,z);b&&(a.OFFSET=d);return d}))}if(b){if(ba)return w((function(a,b){return a.OFFSET=0}));if(h)return new J(D.thisDep,D.contextDep,D.propDep,(function(a,b){return b.def(a.shared.vao+".currentVAO?"+a.shared.vao+".currentVAO.offset:0")}))}else if(h)return new J(D.thisDep,D.contextDep,D.propDep,(function(a,b){return b.def(a.shared.vao+".currentVAO?"+a.shared.vao+".currentVAO.instances:-1")}));return null}var e=a["static"],f=a.dynamic,g={},h=!1,D=function(){if("vao"in e){var a=e.vao;null!==a&&null===k.getVAO(a)&&(a=k.createVAO(a));h=!0;g.vao=a;return w((function(b){var c=k.getVAO(a);return c?b.link(c):"null"}))}if("vao"in f){h=!0;var b=f.vao;return K(b,(function(a,c){var d=a.invoke(c,b);return c.def(a.shared.vao+".getVAO("+d+")")}))}return null}(),ba=!1,X=function(){if("elements"in e){var a=e.elements;g.elements=a;if(Sa(a)){var b=g.elements=d.create(a,!0),a=d.getElements(b);ba=!0}else a&&(a=d.getElements(a),ba=!0);b=w((function(b,c){if(a){var d=b.link(a);return b.ELEMENTS=d}return b.ELEMENTS=null}));b.value=a;return b}if("elements"in f){ba=!0;var c=f.elements;return K(c,(function(a,b){var d=a.shared,e=d.isBufferArgs,d=d.elements,f=a.invoke(b,c),z=b.def("null"),e=b.def(e,"(",f,")"),f=a.cond(e).then(z,"=",d,".createStream(",f,");")["else"](z,"=",d,".getElements(",f,");");b.entry(f);b.exit(a.cond(e).then(d,".destroyStream(",z,");"));return a.ELEMENTS=z}))}return h?new J(D.thisDep,D.contextDep,D.propDep,(function(a,b){return b.def(a.shared.vao+".currentVAO?"+a.shared.elements+".getElements("+a.shared.vao+".currentVAO.elements):null")})):null}(),ja=c("offset",!0),m=function(){if("primitive"in e){var a=e.primitive;g.primitive=a;return w((function(b,c){return Ka[a]}))}if("primitive"in f){var b=f.primitive;return K(b,(function(a,c){var d=a.constants.primTypes,e=a.invoke(c,b);return c.def(d,"[",e,"]")}))}return ba?xa(X)?X.value?w((function(a,b){return b.def(a.ELEMENTS,".primType")})):w((function(){return 4})):new J(X.thisDep,X.contextDep,X.propDep,(function(a,b){var c=a.ELEMENTS;return b.def(c,"?",c,".primType:",4)})):h?new J(D.thisDep,D.contextDep,D.propDep,(function(a,b){return b.def(a.shared.vao+".currentVAO?"+a.shared.vao+".currentVAO.primitive:4")})):null}(),l=function(){if("count"in e){var a=e.count|0;g.count=a;return w((function(){return a}))}if("count"in f){var b=f.count;return K(b,(function(a,c){return a.invoke(c,b)}))}return ba?xa(X)?X?ja?new J(ja.thisDep,ja.contextDep,ja.propDep,(function(a,b){return b.def(a.ELEMENTS,".vertCount-",a.OFFSET)})):w((function(a,b){return b.def(a.ELEMENTS,".vertCount")})):w((function(){return-1})):new J(X.thisDep||ja.thisDep,X.contextDep||ja.contextDep,X.propDep||ja.propDep,(function(a,b){var c=a.ELEMENTS;return a.OFFSET?b.def(c,"?",c,".vertCount-",a.OFFSET,":-1"):b.def(c,"?",c,".vertCount:-1")})):h?new J(D.thisDep,D.contextDep,D.propDep,(function(a,b){return b.def(a.shared.vao,".currentVAO?",a.shared.vao,".currentVAO.count:-1")})):null}(),p=c("instances",!1);return{elements:X,primitive:m,count:l,instances:p,offset:ja,vao:D,vaoActive:h,elementsActive:ba,static:g}}function y(a,b){var c=a["static"],d=a.dynamic,e={};Na.forEach((function(a){function b(z,g){if(a in c){var B=z(c[a]);e[f]=w((function(){return B}))}else if(a in d){var h=d[a];e[f]=K(h,(function(a,b){return g(a,b,a.invoke(b,h))}))}}var f=h(a);switch(a){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return b((function(a){return a}),(function(a,b,c){return c}));case"depth.func":return b((function(a){return ab[a]}),(function(a,b,c){return b.def(a.constants.compareFuncs,"[",c,"]")}));case"depth.range":return b((function(a){return a}),(function(a,b,c){a=b.def("+",c,"[0]");b=b.def("+",c,"[1]");return[a,b]}));case"blend.func":return b((function(a){return[Ga["srcRGB"in a?a.srcRGB:a.src],Ga["dstRGB"in a?a.dstRGB:a.dst],Ga["srcAlpha"in a?a.srcAlpha:a.src],Ga["dstAlpha"in a?a.dstAlpha:a.dst]]}),(function(a,b,c){function d(a,e){return b.def('"',a,e,'" in ',c,"?",c,".",a,e,":",c,".",a)}a=a.constants.blendFuncs;var e=d("src","RGB"),f=d("dst","RGB"),e=b.def(a,"[",e,"]"),z=b.def(a,"[",d("src","Alpha"),"]"),f=b.def(a,"[",f,"]");a=b.def(a,"[",d("dst","Alpha"),"]");return[e,f,z,a]}));case"blend.equation":return b((function(a){if("string"===typeof a)return[fa[a],fa[a]];if("object"===typeof a)return[fa[a.rgb],fa[a.alpha]]}),(function(a,b,c){var d=a.constants.blendEquations,e=b.def(),f=b.def();a=a.cond("typeof ",c,'==="string"');a.then(e,"=",f,"=",d,"[",c,"];");a["else"](e,"=",d,"[",c,".rgb];",f,"=",d,"[",c,".alpha];");b(a);return[e,f]}));case"blend.color":return b((function(a){return R(4,(function(b){return+a[b]}))}),(function(a,b,c){return R(4,(function(a){return b.def("+",c,"[",a,"]")}))}));case"stencil.mask":return b((function(a){return a|0}),(function(a,b,c){return b.def(c,"|0")}));case"stencil.func":return b((function(a){return[ab[a.cmp||"keep"],a.ref||0,"mask"in a?a.mask:-1]}),(function(a,b,c){a=b.def('"cmp" in ',c,"?",a.constants.compareFuncs,"[",c,".cmp]",":",7680);var d=b.def(c,".ref|0");b=b.def('"mask" in ',c,"?",c,".mask|0:-1");return[a,d,b]}));case"stencil.opFront":case"stencil.opBack":return b((function(b){return["stencil.opBack"===a?1029:1028,Ta[b.fail||"keep"],Ta[b.zfail||"keep"],Ta[b.zpass||"keep"]]}),(function(b,c,d){function e(a){return c.def('"',a,'" in ',d,"?",f,"[",d,".",a,"]:",7680)}var f=b.constants.stencilOps;return["stencil.opBack"===a?1029:1028,e("fail"),e("zfail"),e("zpass")]}));case"polygonOffset.offset":return b((function(a){return[a.factor|0,a.units|0]}),(function(a,b,c){a=b.def(c,".factor|0");b=b.def(c,".units|0");return[a,b]}));case"cull.face":return b((function(a){var b=0;"front"===a?b=1028:"back"===a&&(b=1029);return b}),(function(a,b,c){return b.def(c,'==="front"?',1028,":",1029)}));case"lineWidth":return b((function(a){return a}),(function(a,b,c){return c}));case"frontFace":return b((function(a){return zb[a]}),(function(a,b,c){return b.def(c+'==="cw"?2304:2305')}));case"colorMask":return b((function(a){return a.map((function(a){return!!a}))}),(function(a,b,c){return R(4,(function(a){return"!!"+c+"["+a+"]"}))}));case"sample.coverage":return b((function(a){return["value"in a?a.value:1,!!a.invert]}),(function(a,b,c){a=b.def('"value" in ',c,"?+",c,".value:1");b=b.def("!!",c,".invert");return[a,b]}))}}));return e}function T(a,b){var c=a["static"],d=a.dynamic,e={};Object.keys(c).forEach((function(a){var b=c[a],d;if("number"===typeof b||"boolean"===typeof b)d=w((function(){return b}));else if("function"===typeof b){var f=b._reglType;if("texture2d"===f||"textureCube"===f)d=w((function(a){return a.link(b)}));else if("framebuffer"===f||"framebufferCube"===f)d=w((function(a){return a.link(b.color[0])}))}else ra(b)&&(d=w((function(a){return a.global.def("[",R(b.length,(function(a){return b[a]})),"]")})));d.value=b;e[a]=d}));Object.keys(d).forEach((function(a){var b=d[a];e[a]=K(b,(function(a,c){return a.invoke(c,b)}))}));return e}function wa(a,c){var d=a["static"],e=a.dynamic,g={};Object.keys(d).forEach((function(a){var c=d[a],e=b.id(a),z=new ea;if(Sa(c))z.state=1,z.buffer=f.getBuffer(f.create(c,34962,!1,!0)),z.type=0;else{var B=f.getBuffer(c);if(B)z.state=1,z.buffer=B,z.type=0;else if("constant"in c){var h=c.constant;z.buffer="null";z.state=2;"number"===typeof h?z.x=h:Da.forEach((function(a,b){b<h.length&&(z[a]=h[b])}))}else{var B=Sa(c.buffer)?f.getBuffer(f.create(c.buffer,34962,!1,!0)):f.getBuffer(c.buffer),k=c.offset|0,m=c.stride|0,l=c.size|0,oa=!!c.normalized,p=0;"type"in c&&(p=Ja[c.type]);c=c.divisor|0;z.buffer=B;z.state=1;z.size=l;z.normalized=oa;z.type=p||B.dtype;z.offset=k;z.stride=m;z.divisor=c}}g[a]=w((function(a,b){var c=a.attribCache;if(e in c)return c[e];var d={isStream:!1};Object.keys(z).forEach((function(a){d[a]=z[a]}));z.buffer&&(d.buffer=a.link(z.buffer),d.type=d.type||d.buffer+".dtype");return c[e]=d}))}));Object.keys(e).forEach((function(a){var b=e[a];g[a]=K(b,(function(a,c){function d(a){c(B[a],"=",e,".",a,"|0;")}var e=a.invoke(c,b),f=a.shared,z=a.constants,g=f.isBufferArgs,f=f.buffer,B={isStream:c.def(!1)},h=new ea;h.state=1;Object.keys(h).forEach((function(a){B[a]=c.def(""+h[a])}));var k=B.buffer,m=B.type;c("if(",g,"(",e,")){",B.isStream,"=true;",k,"=",f,".createStream(",34962,",",e,");",m,"=",k,".dtype;","}else{",k,"=",f,".getBuffer(",e,");","if(",k,"){",m,"=",k,".dtype;",'}else if("constant" in ',e,"){",B.state,"=",2,";","if(typeof "+e+'.constant === "number"){',B[Da[0]],"=",e,".constant;",Da.slice(1).map((function(a){return B[a]})).join("="),"=0;","}else{",Da.map((function(a,b){return B[a]+"="+e+".constant.length>"+b+"?"+e+".constant["+b+"]:0;"})).join(""),"}}else{","if(",g,"(",e,".buffer)){",k,"=",f,".createStream(",34962,",",e,".buffer);","}else{",k,"=",f,".getBuffer(",e,".buffer);","}",m,'="type" in ',e,"?",z.glTypes,"[",e,".type]:",k,".dtype;",B.normalized,"=!!",e,".normalized;");d("size");d("offset");d("stride");d("divisor");c("}}");c.exit("if(",B.isStream,"){",f,".destroyStream(",k,");","}");return B}))}));return g}function F(a){var b=a["static"],c=a.dynamic,d={};Object.keys(b).forEach((function(a){var c=b[a];d[a]=w((function(a,b){return"number"===typeof c||"boolean"===typeof c?""+c:a.link(c)}))}));Object.keys(c).forEach((function(a){var b=c[a];d[a]=K(b,(function(a,c){return a.invoke(c,b)}))}));return d}function A(a,b,d,e,f){function g(a){var b=p[a];b&&(ja[a]=b)}var m=O(a,b),l=G(a,f),p=C(a,l,f),X=M(a,f),ja=y(a,f),q=H(a,f,m);g("viewport");g(h("scissor.box"));var n=0<Object.keys(ja).length,l={framebuffer:l,draw:X,shader:q,state:ja,dirty:n,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};l.profile=t(a,f);l.uniforms=T(d,f);l.drawVAO=l.scopeVAO=X.vao;if(!l.drawVAO&&q.program&&!m&&c.angle_instanced_arrays&&X["static"].elements){var r=!0;a=q.program.attributes.map((function(a){a=b["static"][a];r=r&&!!a;return a}));if(r&&0<a.length){var u=k.getVAO(k.createVAO({attributes:a,elements:X["static"].elements}));l.drawVAO=new J(null,null,null,(function(a,b){return a.link(u)}));l.useVAO=!0}}m?l.useVAO=!0:l.attributes=wa(b,f);l.context=F(e,f);return l}function ia(a,b,c){var d=a.shared.context,e=a.scope();Object.keys(c).forEach((function(f){b.save(d,"."+f);var g=c[f].append(a,b);Array.isArray(g)?e(d,".",f,"=[",g.join(),"];"):e(d,".",f,"=",g,";")}));b(e)}function S(a,b,c,d){var e=a.shared,f=e.gl,g=e.framebuffer,h;Ma&&(h=b.def(e.extensions,".webgl_draw_buffers"));var k=a.constants,e=k.drawBuffer,k=k.backBuffer;a=c?c.append(a,b):b.def(g,".next");d||b("if(",a,"!==",g,".cur){");b("if(",a,"){",f,".bindFramebuffer(",36160,",",a,".framebuffer);");Ma&&b(h,".drawBuffersWEBGL(",e,"[",a,".colorAttachments.length]);");b("}else{",f,".bindFramebuffer(",36160,",null);");Ma&&b(h,".drawBuffersWEBGL(",k,");");b("}",g,".cur=",a,";");d||b("}")}function Aa(a,b,c){var d=a.shared,e=d.gl,f=a.current,g=a.next,k=d.current,l=d.next,m=a.cond(k,".dirty");Na.forEach((function(b){b=h(b);if(!(b in c.state)){var d,B;if(b in g){d=g[b];B=f[b];var p=R(ta[b].length,(function(a){return m.def(d,"[",a,"]")}));m(a.cond(p.map((function(a,b){return a+"!=="+B+"["+b+"]"})).join("||")).then(e,".",va[b],"(",p,");",p.map((function(a,b){return B+"["+b+"]="+a})).join(";"),";"))}else d=m.def(l,".",b),p=a.cond(d,"!==",k,".",b),m(p),b in ua?p(a.cond(d).then(e,".enable(",ua[b],");")["else"](e,".disable(",ua[b],");"),k,".",b,"=",d,";"):p(e,".",va[b],"(",d,");",k,".",b,"=",d,";")}}));0===Object.keys(c.state).length&&m(k,".dirty=false;");b(m)}function I(a,b,c,d){var e=a.shared,f=a.current,g=e.current,h=e.gl;yb(Object.keys(c)).forEach((function(e){var k=c[e];if(!d||d(k)){var m=k.append(a,b);if(ua[e]){var l=ua[e];xa(k)?m?b(h,".enable(",l,");"):b(h,".disable(",l,");"):b(a.cond(m).then(h,".enable(",l,");")["else"](h,".disable(",l,");"));b(g,".",e,"=",m,";")}else if(ra(m)){var p=f[e];b(h,".",va[e],"(",m,");",m.map((function(a,b){return p+"["+b+"]="+a})).join(";"),";")}else b(h,".",va[e],"(",m,");",g,".",e,"=",m,";")}}))}function N(a,b){W&&(a.instancing=b.def(a.shared.extensions,".angle_instanced_arrays"))}function E(a,b,c,d,e){function f(){return"undefined"===typeof performance?"Date.now()":"performance.now()"}function g(a){r=b.def();a(r,"=",f(),";");"string"===typeof e?a(p,".count+=",e,";"):a(p,".count++;");l&&(d?(u=b.def(),a(u,"=",n,".getNumPendingQueries();")):a(n,".beginQuery(",p,");"))}function h(a){a(p,".cpuTime+=",f(),"-",r,";");l&&(d?a(n,".pushScopeStats(",u,",",n,".getNumPendingQueries(),",p,");"):a(n,".endQuery();"))}function k(a){var c=b.def(q,".profile");b(q,".profile=",a,";");b.exit(q,".profile=",c,";")}var m=a.shared,p=a.stats,q=m.current,n=m.timer;c=c.profile;var r,u;if(c){if(xa(c)){c.enable?(g(b),h(b.exit),k("true")):k("false");return}c=c.append(a,b);k(c)}else c=b.def(q,".profile");m=a.block();g(m);b("if(",c,"){",m,"}");a=a.block();h(a);b.exit("if(",c,"){",a,"}")}function ga(a,b,c,d,e){function f(a){switch(a){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}function g(c,d,e){function f(){b("if(!",p,".buffer){",m,".enableVertexAttribArray(",l,");}");var c=e.type,g;g=e.size?b.def(e.size,"||",d):d;b("if(",p,".type!==",c,"||",p,".size!==",g,"||",n.map((function(a){return p+"."+a+"!=="+e[a]})).join("||"),"){",m,".bindBuffer(",34962,",",ha,".buffer);",m,".vertexAttribPointer(",[l,g,c,e.normalized,e.stride,e.offset],");",p,".type=",c,";",p,".size=",g,";",n.map((function(a){return p+"."+a+"="+e[a]+";"})).join(""),"}");W&&(c=e.divisor,b("if(",p,".divisor!==",c,"){",a.instancing,".vertexAttribDivisorANGLE(",[l,c],");",p,".divisor=",c,";}"))}function k(){b("if(",p,".buffer){",m,".disableVertexAttribArray(",l,");",p,".buffer=null;","}if(",Da.map((function(a,b){return p+"."+a+"!=="+q[b]})).join("||"),"){",m,".vertexAttrib4f(",l,",",q,");",Da.map((function(a,b){return p+"."+a+"="+q[b]+";"})).join(""),"}")}var m=h.gl,l=b.def(c,".location"),p=b.def(h.attributes,"[",l,"]");c=e.state;var ha=e.buffer,q=[e.x,e.y,e.z,e.w],n=["buffer","normalized","offset","stride"];1===c?f():2===c?k():(b("if(",c,"===",1,"){"),f(),b("}else{"),k(),b("}"))}var h=a.shared;d.forEach((function(d){var h=d.name,k=c.attributes[h],m;if(k){if(!e(k))return;m=k.append(a,b)}else{if(!e(Ab))return;var l=a.scopeAttrib(h);m={};Object.keys(new ea).forEach((function(a){m[a]=b.def(l,".",a)}))}g(a.link(d),f(d.info.type),m)}))}function Q(a,c,d,e,f,g){for(var h=a.shared,k=h.gl,m={},l,p=0;p<e.length;++p){var q=e[p],n=q.name,r=q.info.type,u=q.info.size,t=d.uniforms[n];if(1<u){if(!t)continue;var v=n.replace("[0]","");if(m[v])continue;m[v]=1}var q=a.link(q)+".location",x;if(t){if(!f(t))continue;if(xa(t)){n=t.value;if(35678===r||35680===r)r=a.link(n._texture||n.color[0]._texture),c(k,".uniform1i(",q,",",r+".bind());"),c.exit(r,".unbind();");else if(35674===r||35675===r||35676===r)u=a.global.def("new Float32Array(["+Array.prototype.slice.call(n)+"])"),n=2,35675===r?n=3:35676===r&&(n=4),c(k,".uniformMatrix",n,"fv(",q,",false,",u,");");else{switch(r){case 5126:l="1f";break;case 35664:l="2f";break;case 35665:l="3f";break;case 35666:l="4f";break;case 35670:l="1i";break;case 5124:l="1i";break;case 35671:l="2i";break;case 35667:l="2i";break;case 35672:l="3i";break;case 35668:l="3i";break;case 35673:l="4i";break;case 35669:l="4i"}1<u?(l+="v",n=a.global.def("["+Array.prototype.slice.call(n)+"]")):n=ra(n)?Array.prototype.slice.call(n):n;c(k,".uniform",l,"(",q,",",n,");")}continue}else x=t.append(a,c)}else{if(!f(Ab))continue;x=c.def(h.uniforms,"[",b.id(n),"]")}35678===r?c("if(",x,"&&",x,'._reglType==="framebuffer"){',x,"=",x,".color[0];","}"):35680===r&&c("if(",x,"&&",x,'._reglType==="framebufferCube"){',x,"=",x,".color[0];","}");n=1;switch(r){case 35678:case 35680:r=c.def(x,"._texture");c(k,".uniform1i(",q,",",r,".bind());");c.exit(r,".unbind();");continue;case 5124:case 35670:l="1i";break;case 35667:case 35671:l="2i";n=2;break;case 35668:case 35672:l="3i";n=3;break;case 35669:case 35673:l="4i";n=4;break;case 5126:l="1f";break;case 35664:l="2f";n=2;break;case 35665:l="3f";n=3;break;case 35666:l="4f";n=4;break;case 35674:l="Matrix2fv";break;case 35675:l="Matrix3fv";break;case 35676:l="Matrix4fv"}-1===l.indexOf("Matrix")&&1<u&&(l+="v",n=1);if("M"===l.charAt(0)){c(k,".uniform",l,"(",q,",");var q=Math.pow(r-35674+2,2),y=a.global.def("new Float32Array(",q,")");Array.isArray(x)?c("false,(",R(q,(function(a){return y+"["+a+"]="+x[a]})),",",y,")"):c("false,(Array.isArray(",x,")||",x," instanceof Float32Array)?",x,":(",R(q,(function(a){return y+"["+a+"]="+x+"["+a+"]"})),",",y,")");c(");")}else{if(1<n){for(var r=[],w=[],u=0;u<n;++u)Array.isArray(x)?w.push(x[u]):w.push(c.def(x+"["+u+"]")),g&&r.push(c.def());g&&c("if(!",a.batchId,"||",r.map((function(a,b){return a+"!=="+w[b]})).join("||"),"){",r.map((function(a,b){return a+"="+w[b]+";"})).join(""));c(k,".uniform",l,"(",q,",",w.join(","),");")}else g&&(r=c.def(),c("if(!",a.batchId,"||",r,"!==",x,"){",r,"=",x,";")),c(k,".uniform",l,"(",q,",",x,");");g&&c("}")}}}function U(a,b,c,d){function e(f){var g=m[f];return g?g.contextDep&&d.contextDynamic||g.propDep?g.append(a,c):g.append(a,b):b.def(k,".",f)}function f(){function a(){c(t,".drawElementsInstancedANGLE(",[n,r,x,q+"<<(("+x+"-5121)>>1)",u],");")}function b(){c(t,".drawArraysInstancedANGLE(",[n,q,r,u],");")}p&&"null"!==p?v?a():(c("if(",p,"){"),a(),c("}else{"),b(),c("}")):b()}function g(){function a(){c(l+".drawElements("+[n,r,x,q+"<<(("+x+"-5121)>>1)"]+");")}function b(){c(l+".drawArrays("+[n,q,r]+");")}p&&"null"!==p?v?a():(c("if(",p,"){"),a(),c("}else{"),b(),c("}")):b()}var h=a.shared,l=h.gl,k=h.draw,m=d.draw,p=function(){var e=m.elements,f=b;if(e){if(e.contextDep&&d.contextDynamic||e.propDep)f=c;e=e.append(a,f);m.elementsActive&&f("if("+e+")"+l+".bindBuffer(34963,"+e+".buffer.buffer);")}else e=f.def(),f(e,"=",k,".","elements",";","if(",e,"){",l,".bindBuffer(",34963,",",e,".buffer.buffer);}","else if(",h.vao,".currentVAO){",e,"=",a.shared.elements+".getElements("+h.vao,".currentVAO.elements);",na?"":"if("+e+")"+l+".bindBuffer(34963,"+e+".buffer.buffer);","}");return e}(),n=e("primitive"),q=e("offset"),r=function(){var e=m.count,f=b;if(e){if(e.contextDep&&d.contextDynamic||e.propDep)f=c;e=e.append(a,f)}else e=f.def(k,".","count");return e}();if("number"===typeof r){if(0===r)return}else c("if(",r,"){"),c.exit("}");var u,t;W&&(u=e("instances"),t=a.instancing);var x=p+".type",v=m.elements&&xa(m.elements)&&!m.vaoActive;W&&("number"!==typeof u||0<=u)?"string"===typeof u?(c("if(",u,">0){"),f(),c("}else if(",u,"<0){"),g(),c("}")):f():g()}function ca(a,b,c,d,e){b=P();e=b.proc("body",e);W&&(b.instancing=e.def(b.shared.extensions,".angle_instanced_arrays"));a(b,e,c,d);return b.compile().body}function Z(a,b,c,d){N(a,b);c.useVAO?c.drawVAO?b(a.shared.vao,".setVAO(",c.drawVAO.append(a,b),");"):b(a.shared.vao,".setVAO(",a.shared.vao,".targetVAO);"):(b(a.shared.vao,".setVAO(null);"),ga(a,b,c,d.attributes,(function(){return!0})));Q(a,b,c,d.uniforms,(function(){return!0}),!1);U(a,b,b,c)}function Fa(a,b){var c=a.proc("draw",1);N(a,c);ia(a,c,b.context);S(a,c,b.framebuffer);Aa(a,c,b);I(a,c,b.state);E(a,c,b,!1,!0);var d=b.shader.progVar.append(a,c);c(a.shared.gl,".useProgram(",d,".program);");if(b.shader.program)Z(a,c,b,b.shader.program);else{c(a.shared.vao,".setVAO(null);");var e=a.global.def("{}"),f=c.def(d,".id"),g=c.def(e,"[",f,"]");c(a.cond(g).then(g,".call(this,a0);")["else"](g,"=",e,"[",f,"]=",a.link((function(c){return ca(Z,a,b,c,1)})),"(",d,");",g,".call(this,a0);"))}0<Object.keys(b.state).length&&c(a.shared.current,".dirty=true;");a.shared.vao&&c(a.shared.vao,".setVAO(null);")}function pa(a,b,c,d){function e(){return!0}a.batchId="a1";N(a,b);ga(a,b,c,d.attributes,e);Q(a,b,c,d.uniforms,e,!1);U(a,b,b,c)}function qa(a,b,c,d){function e(a){return a.contextDep&&g||a.propDep}function f(a){return!e(a)}N(a,b);var g=c.contextDep,h=b.def(),l=b.def();a.shared.props=l;a.batchId=h;var k=a.scope(),m=a.scope();b(k.entry,"for(",h,"=0;",h,"<","a1",";++",h,"){",l,"=","a0","[",h,"];",m,"}",k.exit);c.needsContext&&ia(a,m,c.context);c.needsFramebuffer&&S(a,m,c.framebuffer);I(a,m,c.state,e);c.profile&&e(c.profile)&&E(a,m,c,!1,!0);d?(c.useVAO?c.drawVAO?e(c.drawVAO)?m(a.shared.vao,".setVAO(",c.drawVAO.append(a,m),");"):k(a.shared.vao,".setVAO(",c.drawVAO.append(a,k),");"):k(a.shared.vao,".setVAO(",a.shared.vao,".targetVAO);"):(k(a.shared.vao,".setVAO(null);"),ga(a,k,c,d.attributes,f),ga(a,m,c,d.attributes,e)),Q(a,k,c,d.uniforms,f,!1),Q(a,m,c,d.uniforms,e,!0),U(a,k,m,c)):(b=a.global.def("{}"),d=c.shader.progVar.append(a,m),l=m.def(d,".id"),k=m.def(b,"[",l,"]"),m(a.shared.gl,".useProgram(",d,".program);","if(!",k,"){",k,"=",b,"[",l,"]=",a.link((function(b){return ca(pa,a,c,b,2)})),"(",d,");}",k,".call(this,a0[",h,"],",h,");"))}function V(a,b){function c(a){return a.contextDep&&e||a.propDep}var d=a.proc("batch",2);a.batchId="0";N(a,d);var e=!1,f=!0;Object.keys(b.context).forEach((function(a){e=e||b.context[a].propDep}));e||(ia(a,d,b.context),f=!1);var g=b.framebuffer,h=!1;g?(g.propDep?e=h=!0:g.contextDep&&e&&(h=!0),h||S(a,d,g)):S(a,d,null);b.state.viewport&&b.state.viewport.propDep&&(e=!0);Aa(a,d,b);I(a,d,b.state,(function(a){return!c(a)}));b.profile&&c(b.profile)||E(a,d,b,!1,"a1");b.contextDep=e;b.needsContext=f;b.needsFramebuffer=h;f=b.shader.progVar;if(f.contextDep&&e||f.propDep)qa(a,d,b,null);else if(f=f.append(a,d),d(a.shared.gl,".useProgram(",f,".program);"),b.shader.program)qa(a,d,b,b.shader.program);else{d(a.shared.vao,".setVAO(null);");var g=a.global.def("{}"),h=d.def(f,".id"),l=d.def(g,"[",h,"]");d(a.cond(l).then(l,".call(this,a0,a1);")["else"](l,"=",g,"[",h,"]=",a.link((function(c){return ca(qa,a,b,c,2)})),"(",f,");",l,".call(this,a0,a1);"))}0<Object.keys(b.state).length&&d(a.shared.current,".dirty=true;");a.shared.vao&&d(a.shared.vao,".setVAO(null);")}function ka(a,c){function d(b){var g=c.shader[b];g&&e.set(f.shader,"."+b,g.append(a,e))}var e=a.proc("scope",3);a.batchId="a2";var f=a.shared,g=f.current;ia(a,e,c.context);c.framebuffer&&c.framebuffer.append(a,e);yb(Object.keys(c.state)).forEach((function(b){var d=c.state[b].append(a,e);ra(d)?d.forEach((function(c,d){e.set(a.next[b],"["+d+"]",c)})):e.set(f.next,"."+b,d)}));E(a,e,c,!0,!0);["elements","offset","count","instances","primitive"].forEach((function(b){var d=c.draw[b];d&&e.set(f.draw,"."+b,""+d.append(a,e))}));Object.keys(c.uniforms).forEach((function(d){var g=c.uniforms[d].append(a,e);Array.isArray(g)&&(g="["+g.join()+"]");e.set(f.uniforms,"["+b.id(d)+"]",g)}));Object.keys(c.attributes).forEach((function(b){var d=c.attributes[b].append(a,e),f=a.scopeAttrib(b);Object.keys(new ea).forEach((function(a){e.set(f,"."+a,d[a])}))}));c.scopeVAO&&e.set(f.vao,".targetVAO",c.scopeVAO.append(a,e));d("vert");d("frag");0<Object.keys(c.state).length&&(e(g,".dirty=true;"),e.exit(g,".dirty=true;"));e("a1(",a.shared.context,",a0,",a.batchId,");")}function la(a){if("object"===typeof a&&!ra(a)){for(var b=Object.keys(a),c=0;c<b.length;++c)if(Y.isDynamic(a[b[c]]))return!0;return!1}}function aa(a,b,c){function d(a,b){g.forEach((function(c){var d=e[c];Y.isDynamic(d)&&(d=a.invoke(b,d),b(m,".",c,"=",d,";"))}))}var e=b["static"][c];if(e&&la(e)){var f=a.global,g=Object.keys(e),h=!1,l=!1,k=!1,m=a.global.def("{}");g.forEach((function(b){var c=e[b];if(Y.isDynamic(c))"function"===typeof c&&(c=e[b]=Y.unbox(c)),b=K(c,null),h=h||b.thisDep,k=k||b.propDep,l=l||b.contextDep;else{f(m,".",b,"=");switch(typeof c){case"number":f(c);break;case"string":f('"',c,'"');break;case"object":Array.isArray(c)&&f("[",c.join(),"]");break;default:f(a.link(c))}f(";")}}));b.dynamic[c]=new Y.DynamicVariable(4,{thisDep:h,contextDep:l,propDep:k,ref:m,append:d});delete b["static"][c]}}var ea=k.Record,fa={add:32774,subtract:32778,"reverse subtract":32779};c.ext_blend_minmax&&(fa.min=32775,fa.max=32776);var W=c.angle_instanced_arrays,Ma=c.webgl_draw_buffers,na=c.oes_vertex_array_object,ta={dirty:!0,profile:g.profile},Ea={},Na=[],ua={},va={};r("dither",3024);r("blend.enable",3042);p("blend.color","blendColor",[0,0,0,0]);p("blend.equation","blendEquationSeparate",[32774,32774]);p("blend.func","blendFuncSeparate",[1,0,1,0]);r("depth.enable",2929,!0);p("depth.func","depthFunc",513);p("depth.range","depthRange",[0,1]);p("depth.mask","depthMask",!0);p("colorMask","colorMask",[!0,!0,!0,!0]);r("cull.enable",2884);p("cull.face","cullFace",1029);p("frontFace","frontFace",2305);p("lineWidth","lineWidth",1);r("polygonOffset.enable",32823);p("polygonOffset.offset","polygonOffset",[0,0]);r("sample.alpha",32926);r("sample.enable",32928);p("sample.coverage","sampleCoverage",[1,!1]);r("stencil.enable",2960);p("stencil.mask","stencilMask",-1);p("stencil.func","stencilFunc",[519,0,-1]);p("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]);p("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]);r("scissor.enable",3089);p("scissor.box","scissor",[0,0,a.drawingBufferWidth,a.drawingBufferHeight]);p("viewport","viewport",[0,0,a.drawingBufferWidth,a.drawingBufferHeight]);var tb={gl:a,context:x,strings:b,next:Ea,current:ta,draw:m,elements:d,buffer:f,shader:u,attributes:k.state,vao:k,uniforms:v,framebuffer:n,extensions:c,timer:l,isBufferArgs:Sa},Pa={primTypes:Ka,compareFuncs:ab,blendFuncs:Ga,blendEquations:fa,stencilOps:Ta,glTypes:Ja,orientationType:zb};Ma&&(Pa.backBuffer=[1029],Pa.drawBuffer=R(e.maxDrawbuffers,(function(a){return 0===a?[0]:R(a,(function(a){return 36064+a}))})));var sa=0;return{next:Ea,current:ta,procs:function(){var a=P(),b=a.proc("poll"),d=a.proc("refresh"),f=a.block();b(f);d(f);var g=a.shared,h=g.gl,l=g.next,k=g.current;f(k,".dirty=false;");S(a,b);S(a,d,null,!0);var m;W&&(m=a.link(W));c.oes_vertex_array_object&&d(a.link(c.oes_vertex_array_object),".bindVertexArrayOES(null);");for(var p=0;p<e.maxAttributes;++p){var n=d.def(g.attributes,"[",p,"]"),q=a.cond(n,".buffer");q.then(h,".enableVertexAttribArray(",p,");",h,".bindBuffer(",34962,",",n,".buffer.buffer);",h,".vertexAttribPointer(",p,",",n,".size,",n,".type,",n,".normalized,",n,".stride,",n,".offset);")["else"](h,".disableVertexAttribArray(",p,");",h,".vertexAttrib4f(",p,",",n,".x,",n,".y,",n,".z,",n,".w);",n,".buffer=null;");d(q);W&&d(m,".vertexAttribDivisorANGLE(",p,",",n,".divisor);")}d(a.shared.vao,".currentVAO=null;",a.shared.vao,".setVAO(",a.shared.vao,".targetVAO);");Object.keys(ua).forEach((function(c){var e=ua[c],g=f.def(l,".",c),m=a.block();m("if(",g,"){",h,".enable(",e,")}else{",h,".disable(",e,")}",k,".",c,"=",g,";");d(m);b("if(",g,"!==",k,".",c,"){",m,"}")}));Object.keys(va).forEach((function(c){var e=va[c],g=ta[c],m,p,n=a.block();n(h,".",e,"(");ra(g)?(e=g.length,m=a.global.def(l,".",c),p=a.global.def(k,".",c),n(R(e,(function(a){return m+"["+a+"]"})),");",R(e,(function(a){return p+"["+a+"]="+m+"["+a+"];"})).join("")),b("if(",R(e,(function(a){return m+"["+a+"]!=="+p+"["+a+"]"})).join("||"),"){",n,"}")):(m=f.def(l,".",c),p=f.def(k,".",c),n(m,");",k,".",c,"=",m,";"),b("if(",m,"!==",p,"){",n,"}"));d(n)}));return a.compile()}(),compile:function(a,b,c,d,e){var f=P();f.stats=f.link(e);Object.keys(b["static"]).forEach((function(a){aa(f,b,a)}));Xb.forEach((function(b){aa(f,a,b)}));var g=A(a,b,c,d,f);Fa(f,g);ka(f,g);V(f,g);return L(f.compile(),{destroy:function(){g.shader.program.destroy()}})}}}function Bb(a,b){for(var c=0;c<a.length;++c)if(a[c]===b)return c;return-1}var L=function(a,b){for(var c=Object.keys(b),e=0;e<c.length;++e)a[c[e]]=b[c[e]];return a},Db=0,Y={DynamicVariable:Z,define:function(a,b){return new Z(a,cb(b+""))},isDynamic:function(a){return"function"===typeof a&&!a._reglType||a instanceof Z},unbox:db,accessor:cb},bb={next:"function"===typeof requestAnimationFrame?function(a){return requestAnimationFrame(a)}:function(a){return setTimeout(a,16)},cancel:"function"===typeof cancelAnimationFrame?function(a){return cancelAnimationFrame(a)}:clearTimeout},Cb="undefined"!==typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=hb();G.zero=hb();var Yb=function(a,b){var c=1;b.ext_texture_filter_anisotropic&&(c=a.getParameter(34047));var e=1,f=1;b.webgl_draw_buffers&&(e=a.getParameter(34852),f=a.getParameter(36063));var d=!!b.oes_texture_float;if(d){d=a.createTexture();a.bindTexture(3553,d);a.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var q=a.createFramebuffer();a.bindFramebuffer(36160,q);a.framebufferTexture2D(36160,36064,3553,d,0);a.bindTexture(3553,null);if(36053!==a.checkFramebufferStatus(36160))d=!1;else{a.viewport(0,0,1,1);a.clearColor(1,0,0,1);a.clear(16384);var n=G.allocType(5126,4);a.readPixels(0,0,1,1,6408,5126,n);a.getError()?d=!1:(a.deleteFramebuffer(q),a.deleteTexture(d),d=1===n[0]);G.freeType(n)}}n=!0;"undefined"!==typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(n=a.createTexture(),q=G.allocType(5121,36),a.activeTexture(33984),a.bindTexture(34067,n),a.texImage2D(34069,0,6408,3,3,0,6408,5121,q),G.freeType(q),a.bindTexture(34067,null),a.deleteTexture(n),n=!a.getError());return{colorBits:[a.getParameter(3410),a.getParameter(3411),a.getParameter(3412),a.getParameter(3413)],depthBits:a.getParameter(3414),stencilBits:a.getParameter(3415),subpixelBits:a.getParameter(3408),extensions:Object.keys(b).filter((function(a){return!!b[a]})),maxAnisotropic:c,maxDrawbuffers:e,maxColorAttachments:f,pointSizeDims:a.getParameter(33901),lineWidthDims:a.getParameter(33902),maxViewportDims:a.getParameter(3386),maxCombinedTextureUnits:a.getParameter(35661),maxCubeMapSize:a.getParameter(34076),maxRenderbufferSize:a.getParameter(34024),maxTextureUnits:a.getParameter(34930),maxTextureSize:a.getParameter(3379),maxAttributes:a.getParameter(34921),maxVertexUniforms:a.getParameter(36347),maxVertexTextureUnits:a.getParameter(35660),maxVaryingVectors:a.getParameter(36348),maxFragmentUniforms:a.getParameter(36349),glsl:a.getParameter(35724),renderer:a.getParameter(7937),vendor:a.getParameter(7936),version:a.getParameter(7938),readFloat:d,npotTextureCube:n}},O=function(a){return a instanceof Uint8Array||a instanceof Uint16Array||a instanceof Uint32Array||a instanceof Int8Array||a instanceof Int16Array||a instanceof Int32Array||a instanceof Float32Array||a instanceof Float64Array||a instanceof Uint8ClampedArray},I=function(a){return Object.keys(a).map((function(b){return a[b]}))},Qa={shape:function(a){for(var b=[];a.length;a=a[0])b.push(a.length);return b},flatten:function(a,b,c,e){var f=1;if(b.length)for(var d=0;d<b.length;++d)f*=b[d];else f=0;c=e||G.allocType(c,f);switch(b.length){case 0:break;case 1:e=b[0];for(b=0;b<e;++b)c[b]=a[b];break;case 2:e=b[0];b=b[1];for(d=f=0;d<e;++d)for(var q=a[d],n=0;n<b;++n)c[f++]=q[n];break;case 3:ib(a,b[0],b[1],b[2],c,0);break;default:jb(a,b,0,c,0)}return c}},Ia={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},Ja={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},nb={dynamic:35048,stream:35040,static:35044},Ua=Qa.flatten,mb=Qa.shape,na=[];na[5120]=1;na[5122]=2;na[5124]=4;na[5121]=1;na[5123]=2;na[5125]=4;na[5126]=4;var Ka={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},pb=new Float32Array(1),Lb=new Uint32Array(pb.buffer),Pb=[9984,9986,9985,9987],Oa=[0,6409,6410,6407,6408],U={};U[6409]=U[6406]=U[6402]=1;U[34041]=U[6410]=2;U[6407]=U[35904]=3;U[6408]=U[35906]=4;var Xa=sa("HTMLCanvasElement"),Ya=sa("OffscreenCanvas"),ub=sa("CanvasRenderingContext2D"),vb=sa("ImageBitmap"),wb=sa("HTMLImageElement"),xb=sa("HTMLVideoElement"),Mb=Object.keys(Ia).concat([Xa,Ya,ub,vb,wb,xb]),za=[];za[5121]=1;za[5126]=4;za[36193]=2;za[5123]=2;za[5125]=4;var C=[];C[32854]=2;C[32855]=2;C[36194]=2;C[34041]=4;C[33776]=.5;C[33777]=.5;C[33778]=1;C[33779]=1;C[35986]=.5;C[35987]=1;C[34798]=1;C[35840]=.5;C[35841]=.25;C[35842]=.5;C[35843]=.25;C[36196]=.5;var Q=[];Q[32854]=2;Q[32855]=2;Q[36194]=2;Q[33189]=2;Q[36168]=1;Q[34041]=4;Q[35907]=4;Q[34836]=16;Q[34842]=8;Q[34843]=6;var Zb=function(a,b,c,e,f){function d(a){this.id=k++;this.refCount=1;this.renderbuffer=a;this.format=32854;this.height=this.width=0;f.profile&&(this.stats={size:0})}function q(b){var c=b.renderbuffer;a.bindRenderbuffer(36161,null);a.deleteRenderbuffer(c);b.renderbuffer=null;b.refCount=0;delete u[b.id];e.renderbufferCount--}var n={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};b.ext_srgb&&(n.srgba=35907);b.ext_color_buffer_half_float&&(n.rgba16f=34842,n.rgb16f=34843);b.webgl_color_buffer_float&&(n.rgba32f=34836);var v=[];Object.keys(n).forEach((function(a){v[n[a]]=a}));var k=0,u={};d.prototype.decRef=function(){0>=--this.refCount&&q(this)};f.profile&&(e.getTotalRenderbufferSize=function(){var a=0;Object.keys(u).forEach((function(b){a+=u[b].stats.size}));return a});return{create:function(b,c){function l(b,c){var d=0,e=0,k=32854;"object"===typeof b&&b?("shape"in b?(e=b.shape,d=e[0]|0,e=e[1]|0):("radius"in b&&(d=e=b.radius|0),"width"in b&&(d=b.width|0),"height"in b&&(e=b.height|0)),"format"in b&&(k=n[b.format])):"number"===typeof b?(d=b|0,e="number"===typeof c?c|0:d):b||(d=e=1);if(d!==g.width||e!==g.height||k!==g.format)return l.width=g.width=d,l.height=g.height=e,g.format=k,a.bindRenderbuffer(36161,g.renderbuffer),a.renderbufferStorage(36161,k,d,e),f.profile&&(g.stats.size=Q[g.format]*g.width*g.height),l.format=v[g.format],l}var g=new d(a.createRenderbuffer());u[g.id]=g;e.renderbufferCount++;l(b,c);l.resize=function(b,c){var d=b|0,e=c|0||d;if(d===g.width&&e===g.height)return l;l.width=g.width=d;l.height=g.height=e;a.bindRenderbuffer(36161,g.renderbuffer);a.renderbufferStorage(36161,g.format,d,e);f.profile&&(g.stats.size=Q[g.format]*g.width*g.height);return l};l._reglType="renderbuffer";l._renderbuffer=g;f.profile&&(l.stats=g.stats);l.destroy=function(){g.decRef()};return l},clear:function(){I(u).forEach(q)},restore:function(){I(u).forEach((function(b){b.renderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,b.renderbuffer);a.renderbufferStorage(36161,b.format,b.width,b.height)}));a.bindRenderbuffer(36161,null)}}},Za=[];Za[6408]=4;Za[6407]=3;var Ra=[];Ra[5121]=1;Ra[5126]=4;Ra[36193]=2;var Da=["x","y","z","w"],Xb="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Ga={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},ab={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Ta={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},zb={cw:2304,ccw:2305},Ab=new J(!1,!1,!1,(function(){})),$b=function(a,b){function c(){this.endQueryIndex=this.startQueryIndex=-1;this.sum=0;this.stats=null}function e(a,b,d){var e=q.pop()||new c;e.startQueryIndex=a;e.endQueryIndex=b;e.sum=0;e.stats=d;n.push(e)}if(!b.ext_disjoint_timer_query)return null;var f=[],d=[],q=[],n=[],v=[],k=[];return{beginQuery:function(a){var c=f.pop()||b.ext_disjoint_timer_query.createQueryEXT();b.ext_disjoint_timer_query.beginQueryEXT(35007,c);d.push(c);e(d.length-1,d.length,a)},endQuery:function(){b.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:e,update:function(){var a,c;a=d.length;if(0!==a){k.length=Math.max(k.length,a+1);v.length=Math.max(v.length,a+1);v[0]=0;var e=k[0]=0;for(c=a=0;c<d.length;++c){var l=d[c];b.ext_disjoint_timer_query.getQueryObjectEXT(l,34919)?(e+=b.ext_disjoint_timer_query.getQueryObjectEXT(l,34918),f.push(l)):d[a++]=l;v[c+1]=e;k[c+1]=a}d.length=a;for(c=a=0;c<n.length;++c){var e=n[c],g=e.startQueryIndex,l=e.endQueryIndex;e.sum+=v[l]-v[g];g=k[g];l=k[l];l===g?(e.stats.gpuTime+=e.sum/1e6,q.push(e)):(e.startQueryIndex=g,e.endQueryIndex=l,n[a++]=e)}n.length=a}},getNumPendingQueries:function(){return d.length},clear:function(){f.push.apply(f,d);for(var a=0;a<f.length;a++)b.ext_disjoint_timer_query.deleteQueryEXT(f[a]);d.length=0;f.length=0},restore:function(){d.length=0;f.length=0}}};return function(a){function b(){if(0===E.length)t&&t.update(),ca=null;else{ca=bb.next(b);u();for(var a=E.length-1;0<=a;--a){var c=E[a];c&&c(H,null,0)}l.flush();t&&t.update()}}function c(){!ca&&0<E.length&&(ca=bb.next(b))}function e(){ca&&(bb.cancel(b),ca=null)}function f(a){a.preventDefault();e();R.forEach((function(a){a()}))}function d(a){l.getError();h.restore();F.restore();y.restore();A.restore();O.restore();S.restore();K.restore();t&&t.restore();I.procs.refresh();c();U.forEach((function(a){a()}))}function q(a){function b(a,c){var d={},e={};Object.keys(a).forEach((function(b){var f=a[b];if(Y.isDynamic(f))e[b]=Y.unbox(f,b);else{if(c&&Array.isArray(f))for(var g=0;g<f.length;++g)if(Y.isDynamic(f[g])){e[b]=Y.unbox(f,b);return}d[b]=f}}));return{dynamic:e,static:d}}function c(a){for(;n.length<a;)n.push(null);return n}var d=b(a.context||{},!0),e=b(a.uniforms||{},!0),f=b(a.attributes||{},!1);a=b(function(a){function b(a){if(a in c){var d=c[a];delete c[a];Object.keys(d).forEach((function(b){c[a+"."+b]=d[b]}))}}var c=L({},a);delete c.uniforms;delete c.attributes;delete c.context;delete c.vao;"stencil"in c&&c.stencil.op&&(c.stencil.opBack=c.stencil.opFront=c.stencil.op,delete c.stencil.op);b("blend");b("depth");b("cull");b("stencil");b("polygonOffset");b("scissor");b("sample");"vao"in a&&(c.vao=a.vao);return c}(a),!1);var g={gpuTime:0,cpuTime:0,count:0},h=I.compile(a,f,e,d,g),k=h.draw,l=h.batch,m=h.scope,n=[];return L((function(a,b){var d;if("function"===typeof a)return m.call(this,null,a,0);if("function"===typeof b)if("number"===typeof a)for(d=0;d<a;++d)m.call(this,null,b,d);else if(Array.isArray(a))for(d=0;d<a.length;++d)m.call(this,a[d],b,d);else return m.call(this,a,b,0);else if("number"===typeof a){if(0<a)return l.call(this,c(a|0),a|0)}else if(Array.isArray(a)){if(a.length)return l.call(this,a,a.length)}else return k.call(this,a)}),{stats:g,destroy:function(){h.destroy()}})}function n(a,b){var c=0;I.procs.poll();var d=b.color;d&&(l.clearColor(+d[0]||0,+d[1]||0,+d[2]||0,+d[3]||0),c|=16384);"depth"in b&&(l.clearDepth(+b.depth),c|=256);"stencil"in b&&(l.clearStencil(b.stencil|0),c|=1024);l.clear(c)}function v(a){E.push(a);c();return{cancel:function(){function b(){var a=Bb(E,b);E[a]=E[E.length-1];--E.length;0>=E.length&&e()}var c=Bb(E,a);E[c]=b}}}function k(){var a=Q.viewport,b=Q.scissor_box;a[0]=a[1]=b[0]=b[1]=0;H.viewportWidth=H.framebufferWidth=H.drawingBufferWidth=a[2]=b[2]=l.drawingBufferWidth;H.viewportHeight=H.framebufferHeight=H.drawingBufferHeight=a[3]=b[3]=l.drawingBufferHeight}function u(){H.tick+=1;H.time=x();k();I.procs.poll()}function m(){A.refresh();k();I.procs.refresh();t&&t.update()}function x(){return(Cb()-G)/1e3}a=Hb(a);if(!a)return null;var l=a.gl,g=l.getContextAttributes();l.isContextLost();var h=Ib(l,a);if(!h)return null;var r=Eb(),p={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},w=h.extensions,t=$b(l,w),G=Cb(),C=l.drawingBufferWidth,J=l.drawingBufferHeight,H={tick:0,time:0,viewportWidth:C,viewportHeight:J,framebufferWidth:C,framebufferHeight:J,drawingBufferWidth:C,drawingBufferHeight:J,pixelRatio:a.pixelRatio},C={elements:null,primitive:4,count:-1,offset:0,instances:-1},M=Yb(l,w),y=Jb(l,p,a,(function(a){return K.destroyBuffer(a)})),T=Kb(l,w,y,p),K=Sb(l,w,M,p,y,T,C),F=Tb(l,r,p,a),A=Nb(l,w,M,(function(){I.procs.poll()}),H,p,a),O=Zb(l,w,M,p,a),S=Rb(l,w,M,A,O,p),I=Wb(l,r,w,M,y,T,A,S,{},K,F,C,H,t,a),r=Ub(l,S,I.procs.poll,H,g,w,M),Q=I.next,N=l.canvas,E=[],R=[],U=[],Z=[a.onDestroy],ca=null;N&&(N.addEventListener("webglcontextlost",f,!1),N.addEventListener("webglcontextrestored",d,!1));var aa=S.setFBO=q({framebuffer:Y.define.call(null,1,"framebuffer")});m();g=L(q,{clear:function(a){if("framebuffer"in a)if(a.framebuffer&&"framebufferCube"===a.framebuffer_reglType)for(var b=0;6>b;++b)aa(L({framebuffer:a.framebuffer.faces[b]},a),n);else aa(a,n);else n(null,a)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:q({}),buffer:function(a){return y.create(a,34962,!1,!1)},elements:function(a){return T.create(a,!1)},texture:A.create2D,cube:A.createCube,renderbuffer:O.create,framebuffer:S.create,framebufferCube:S.createCube,vao:K.createVAO,attributes:g,frame:v,on:function(a,b){var c;switch(a){case"frame":return v(b);case"lost":c=R;break;case"restore":c=U;break;case"destroy":c=Z}c.push(b);return{cancel:function(){for(var a=0;a<c.length;++a)if(c[a]===b){c[a]=c[c.length-1];c.pop();break}}}},limits:M,hasExtension:function(a){return 0<=M.extensions.indexOf(a.toLowerCase())},read:r,destroy:function(){E.length=0;e();N&&(N.removeEventListener("webglcontextlost",f),N.removeEventListener("webglcontextrestored",d));F.clear();S.clear();O.clear();K.clear();A.clear();T.clear();y.clear();t&&t.clear();Z.forEach((function(a){a()}))},_gl:l,_refresh:m,poll:function(){u();t&&t.update()},now:x,stats:p});a.onDone(null,g);return g}}))},{}],541:[function(_dereq_,module,exports){
/*!
 * repeat-string <https://github.com/jonschlinkert/repeat-string>
 *
 * Copyright (c) 2014-2015, Jon Schlinkert.
 * Licensed under the MIT License.
 */
"use strict";var res="";var cache;module.exports=repeat;function repeat(str,num){if(typeof str!=="string"){throw new TypeError("expected a string")}if(num===1)return str;if(num===2)return str+str;var max=str.length*num;if(cache!==str||typeof cache==="undefined"){cache=str;res=""}else if(res.length>=max){return res.substr(0,max)}while(max>res.length&&num>1){if(num&1){res+=str}num>>=1;str+=str}res+=str;res=res.substr(0,max);return res}},{}],542:[function(_dereq_,module,exports){(function(global){(function(){module.exports=global.performance&&global.performance.now?function now(){return performance.now()}:Date.now||function now(){return+new Date}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],543:[function(_dereq_,module,exports){"use strict";module.exports=compressExpansion;function compressExpansion(e){var m=e.length;var Q=e[e.length-1];var bottom=m;for(var i=m-2;i>=0;--i){var a=Q;var b=e[i];Q=a+b;var bv=Q-a;var q=b-bv;if(q){e[--bottom]=Q;Q=q}}var top=0;for(var i=bottom;i<m;++i){var a=e[i];var b=Q;Q=a+b;var bv=Q-a;var q=b-bv;if(q){e[top++]=q}}e[top++]=Q;e.length=top;return e}},{}],544:[function(_dereq_,module,exports){"use strict";var twoProduct=_dereq_("two-product");var robustSum=_dereq_("robust-sum");var robustScale=_dereq_("robust-scale");var compress=_dereq_("robust-compress");var NUM_EXPANDED=6;function cofactor(m,c){var result=new Array(m.length-1);for(var i=1;i<m.length;++i){var r=result[i-1]=new Array(m.length-1);for(var j=0,k=0;j<m.length;++j){if(j===c){continue}r[k++]=m[i][j]}}return result}function matrix(n){var result=new Array(n);for(var i=0;i<n;++i){result[i]=new Array(n);for(var j=0;j<n;++j){result[i][j]=["m[",i,"][",j,"]"].join("")}}return result}function sign(n){if(n&1){return"-"}return""}function generateSum(expr){if(expr.length===1){return expr[0]}else if(expr.length===2){return["sum(",expr[0],",",expr[1],")"].join("")}else{var m=expr.length>>1;return["sum(",generateSum(expr.slice(0,m)),",",generateSum(expr.slice(m)),")"].join("")}}function determinant(m){if(m.length===2){return["sum(prod(",m[0][0],",",m[1][1],"),prod(-",m[0][1],",",m[1][0],"))"].join("")}else{var expr=[];for(var i=0;i<m.length;++i){expr.push(["scale(",determinant(cofactor(m,i)),",",sign(i),m[0][i],")"].join(""))}return generateSum(expr)}}function compileDeterminant(n){var proc=new Function("sum","scale","prod","compress",["function robustDeterminant",n,"(m){return compress(",determinant(matrix(n)),")};return robustDeterminant",n].join(""));return proc(robustSum,robustScale,twoProduct,compress)}var CACHE=[function robustDeterminant0(){return[0]},function robustDeterminant1(m){return[m[0][0]]}];function generateDispatch(){while(CACHE.length<NUM_EXPANDED){CACHE.push(compileDeterminant(CACHE.length))}var procArgs=[];var code=["function robustDeterminant(m){switch(m.length){"];for(var i=0;i<NUM_EXPANDED;++i){procArgs.push("det"+i);code.push("case ",i,":return det",i,"(m);")}code.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant");procArgs.push("CACHE","gen",code.join(""));var proc=Function.apply(undefined,procArgs);module.exports=proc.apply(undefined,CACHE.concat([CACHE,compileDeterminant]));for(var i=0;i<CACHE.length;++i){module.exports[i]=CACHE[i]}}generateDispatch()},{"robust-compress":543,"robust-scale":550,"robust-sum":553,"two-product":604}],545:[function(_dereq_,module,exports){"use strict";var twoProduct=_dereq_("two-product");var robustSum=_dereq_("robust-sum");module.exports=robustDotProduct;function robustDotProduct(a,b){var r=twoProduct(a[0],b[0]);for(var i=1;i<a.length;++i){r=robustSum(r,twoProduct(a[i],b[i]))}return r}},{"robust-sum":553,"two-product":604}],546:[function(_dereq_,module,exports){"use strict";var twoProduct=_dereq_("two-product");var robustSum=_dereq_("robust-sum");var robustDiff=_dereq_("robust-subtract");var robustScale=_dereq_("robust-scale");var NUM_EXPAND=6;function cofactor(m,c){var result=new Array(m.length-1);for(var i=1;i<m.length;++i){var r=result[i-1]=new Array(m.length-1);for(var j=0,k=0;j<m.length;++j){if(j===c){continue}r[k++]=m[i][j]}}return result}function matrix(n){var result=new Array(n);for(var i=0;i<n;++i){result[i]=new Array(n);for(var j=0;j<n;++j){result[i][j]=["m",j,"[",n-i-2,"]"].join("")}}return result}function generateSum(expr){if(expr.length===1){return expr[0]}else if(expr.length===2){return["sum(",expr[0],",",expr[1],")"].join("")}else{var m=expr.length>>1;return["sum(",generateSum(expr.slice(0,m)),",",generateSum(expr.slice(m)),")"].join("")}}function makeProduct(a,b){if(a.charAt(0)==="m"){if(b.charAt(0)==="w"){var toks=a.split("[");return["w",b.substr(1),"m",toks[0].substr(1)].join("")}else{return["prod(",a,",",b,")"].join("")}}else{return makeProduct(b,a)}}function sign(s){if(s&1!==0){return"-"}return""}function determinant(m){if(m.length===2){return[["diff(",makeProduct(m[0][0],m[1][1]),",",makeProduct(m[1][0],m[0][1]),")"].join("")]}else{var expr=[];for(var i=0;i<m.length;++i){expr.push(["scale(",generateSum(determinant(cofactor(m,i))),",",sign(i),m[0][i],")"].join(""))}return expr}}function makeSquare(d,n){var terms=[];for(var i=0;i<n-2;++i){terms.push(["prod(m",d,"[",i,"],m",d,"[",i,"])"].join(""))}return generateSum(terms)}function orientation(n){var pos=[];var neg=[];var m=matrix(n);for(var i=0;i<n;++i){m[0][i]="1";m[n-1][i]="w"+i}for(var i=0;i<n;++i){if((i&1)===0){pos.push.apply(pos,determinant(cofactor(m,i)))}else{neg.push.apply(neg,determinant(cofactor(m,i)))}}var posExpr=generateSum(pos);var negExpr=generateSum(neg);var funcName="exactInSphere"+n;var funcArgs=[];for(var i=0;i<n;++i){funcArgs.push("m"+i)}var code=["function ",funcName,"(",funcArgs.join(),"){"];for(var i=0;i<n;++i){code.push("var w",i,"=",makeSquare(i,n),";");for(var j=0;j<n;++j){if(j!==i){code.push("var w",i,"m",j,"=scale(w",i,",m",j,"[0]);")}}}code.push("var p=",posExpr,",n=",negExpr,",d=diff(p,n);return d[d.length-1];}return ",funcName);var proc=new Function("sum","diff","prod","scale",code.join(""));return proc(robustSum,robustDiff,twoProduct,robustScale)}function inSphere0(){return 0}function inSphere1(){return 0}function inSphere2(){return 0}var CACHED=[inSphere0,inSphere1,inSphere2];function slowInSphere(args){var proc=CACHED[args.length];if(!proc){proc=CACHED[args.length]=orientation(args.length)}return proc.apply(undefined,args)}function generateInSphereTest(){while(CACHED.length<=NUM_EXPAND){CACHED.push(orientation(CACHED.length))}var args=[];var procArgs=["slow"];for(var i=0;i<=NUM_EXPAND;++i){args.push("a"+i);procArgs.push("o"+i)}var code=["function testInSphere(",args.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(var i=2;i<=NUM_EXPAND;++i){code.push("case ",i,":return o",i,"(",args.slice(0,i).join(),");")}code.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere");procArgs.push(code.join(""));var proc=Function.apply(undefined,procArgs);module.exports=proc.apply(undefined,[slowInSphere].concat(CACHED));for(var i=0;i<=NUM_EXPAND;++i){module.exports[i]=CACHED[i]}}generateInSphereTest()},{"robust-scale":550,"robust-subtract":552,"robust-sum":553,"two-product":604}],547:[function(_dereq_,module,exports){"use strict";var determinant=_dereq_("robust-determinant");var NUM_EXPAND=6;function generateSolver(n){var funcName="robustLinearSolve"+n+"d";var code=["function ",funcName,"(A,b){return ["];for(var i=0;i<n;++i){code.push("det([");for(var j=0;j<n;++j){if(j>0){code.push(",")}code.push("[");for(var k=0;k<n;++k){if(k>0){code.push(",")}if(k===i){code.push("+b[",j,"]")}else{code.push("+A[",j,"][",k,"]")}}code.push("]")}code.push("]),")}code.push("det(A)]}return ",funcName);var proc=new Function("det",code.join(""));if(n<6){return proc(determinant[n])}return proc(determinant)}function robustLinearSolve0d(){return[0]}function robustLinearSolve1d(A,b){return[[b[0]],[A[0][0]]]}var CACHE=[robustLinearSolve0d,robustLinearSolve1d];function generateDispatch(){while(CACHE.length<NUM_EXPAND){CACHE.push(generateSolver(CACHE.length))}var procArgs=[];var code=["function dispatchLinearSolve(A,b){switch(A.length){"];for(var i=0;i<NUM_EXPAND;++i){procArgs.push("s"+i);code.push("case ",i,":return s",i,"(A,b);")}code.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve");procArgs.push("CACHE","g",code.join(""));var proc=Function.apply(undefined,procArgs);module.exports=proc.apply(undefined,CACHE.concat([CACHE,generateSolver]));for(var i=0;i<NUM_EXPAND;++i){module.exports[i]=CACHE[i]}}generateDispatch()},{"robust-determinant":544}],548:[function(_dereq_,module,exports){"use strict";var twoProduct=_dereq_("two-product");var robustSum=_dereq_("robust-sum");var robustScale=_dereq_("robust-scale");var robustSubtract=_dereq_("robust-subtract");var NUM_EXPAND=5;var EPSILON=11102230246251565e-32;var ERRBOUND3=(3+16*EPSILON)*EPSILON;var ERRBOUND4=(7+56*EPSILON)*EPSILON;function cofactor(m,c){var result=new Array(m.length-1);for(var i=1;i<m.length;++i){var r=result[i-1]=new Array(m.length-1);for(var j=0,k=0;j<m.length;++j){if(j===c){continue}r[k++]=m[i][j]}}return result}function matrix(n){var result=new Array(n);for(var i=0;i<n;++i){result[i]=new Array(n);for(var j=0;j<n;++j){result[i][j]=["m",j,"[",n-i-1,"]"].join("")}}return result}function sign(n){if(n&1){return"-"}return""}function generateSum(expr){if(expr.length===1){return expr[0]}else if(expr.length===2){return["sum(",expr[0],",",expr[1],")"].join("")}else{var m=expr.length>>1;return["sum(",generateSum(expr.slice(0,m)),",",generateSum(expr.slice(m)),")"].join("")}}function determinant(m){if(m.length===2){return[["sum(prod(",m[0][0],",",m[1][1],"),prod(-",m[0][1],",",m[1][0],"))"].join("")]}else{var expr=[];for(var i=0;i<m.length;++i){expr.push(["scale(",generateSum(determinant(cofactor(m,i))),",",sign(i),m[0][i],")"].join(""))}return expr}}function orientation(n){var pos=[];var neg=[];var m=matrix(n);var args=[];for(var i=0;i<n;++i){if((i&1)===0){pos.push.apply(pos,determinant(cofactor(m,i)))}else{neg.push.apply(neg,determinant(cofactor(m,i)))}args.push("m"+i)}var posExpr=generateSum(pos);var negExpr=generateSum(neg);var funcName="orientation"+n+"Exact";var code=["function ",funcName,"(",args.join(),"){var p=",posExpr,",n=",negExpr,",d=sub(p,n);return d[d.length-1];};return ",funcName].join("");var proc=new Function("sum","prod","scale","sub",code);return proc(robustSum,twoProduct,robustScale,robustSubtract)}var orientation3Exact=orientation(3);var orientation4Exact=orientation(4);var CACHED=[function orientation0(){return 0},function orientation1(){return 0},function orientation2(a,b){return b[0]-a[0]},function orientation3(a,b,c){var l=(a[1]-c[1])*(b[0]-c[0]);var r=(a[0]-c[0])*(b[1]-c[1]);var det=l-r;var s;if(l>0){if(r<=0){return det}else{s=l+r}}else if(l<0){if(r>=0){return det}else{s=-(l+r)}}else{return det}var tol=ERRBOUND3*s;if(det>=tol||det<=-tol){return det}return orientation3Exact(a,b,c)},function orientation4(a,b,c,d){var adx=a[0]-d[0];var bdx=b[0]-d[0];var cdx=c[0]-d[0];var ady=a[1]-d[1];var bdy=b[1]-d[1];var cdy=c[1]-d[1];var adz=a[2]-d[2];var bdz=b[2]-d[2];var cdz=c[2]-d[2];var bdxcdy=bdx*cdy;var cdxbdy=cdx*bdy;var cdxady=cdx*ady;var adxcdy=adx*cdy;var adxbdy=adx*bdy;var bdxady=bdx*ady;var det=adz*(bdxcdy-cdxbdy)+bdz*(cdxady-adxcdy)+cdz*(adxbdy-bdxady);var permanent=(Math.abs(bdxcdy)+Math.abs(cdxbdy))*Math.abs(adz)+(Math.abs(cdxady)+Math.abs(adxcdy))*Math.abs(bdz)+(Math.abs(adxbdy)+Math.abs(bdxady))*Math.abs(cdz);var tol=ERRBOUND4*permanent;if(det>tol||-det>tol){return det}return orientation4Exact(a,b,c,d)}];function slowOrient(args){var proc=CACHED[args.length];if(!proc){proc=CACHED[args.length]=orientation(args.length)}return proc.apply(undefined,args)}function generateOrientationProc(){while(CACHED.length<=NUM_EXPAND){CACHED.push(orientation(CACHED.length))}var args=[];var procArgs=["slow"];for(var i=0;i<=NUM_EXPAND;++i){args.push("a"+i);procArgs.push("o"+i)}var code=["function getOrientation(",args.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(var i=2;i<=NUM_EXPAND;++i){code.push("case ",i,":return o",i,"(",args.slice(0,i).join(),");")}code.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation");procArgs.push(code.join(""));var proc=Function.apply(undefined,procArgs);module.exports=proc.apply(undefined,[slowOrient].concat(CACHED));for(var i=0;i<=NUM_EXPAND;++i){module.exports[i]=CACHED[i]}}generateOrientationProc()},{"robust-scale":550,"robust-subtract":552,"robust-sum":553,"two-product":604}],549:[function(_dereq_,module,exports){"use strict";var robustSum=_dereq_("robust-sum");var robustScale=_dereq_("robust-scale");module.exports=robustProduct;function robustProduct(a,b){if(a.length===1){return robustScale(b,a[0])}if(b.length===1){return robustScale(a,b[0])}if(a.length===0||b.length===0){return[0]}var r=[0];if(a.length<b.length){for(var i=0;i<a.length;++i){r=robustSum(r,robustScale(b,a[i]))}}else{for(var i=0;i<b.length;++i){r=robustSum(r,robustScale(a,b[i]))}}return r}},{"robust-scale":550,"robust-sum":553}],550:[function(_dereq_,module,exports){"use strict";var twoProduct=_dereq_("two-product");var twoSum=_dereq_("two-sum");module.exports=scaleLinearExpansion;function scaleLinearExpansion(e,scale){var n=e.length;if(n===1){var ts=twoProduct(e[0],scale);if(ts[0]){return ts}return[ts[1]]}var g=new Array(2*n);var q=[.1,.1];var t=[.1,.1];var count=0;twoProduct(e[0],scale,q);if(q[0]){g[count++]=q[0]}for(var i=1;i<n;++i){twoProduct(e[i],scale,t);var pq=q[1];twoSum(pq,t[0],q);if(q[0]){g[count++]=q[0]}var a=t[1];var b=q[1];var x=a+b;var bv=x-a;var y=b-bv;q[1]=x;if(y){g[count++]=y}}if(q[1]){g[count++]=q[1]}if(count===0){g[count++]=0}g.length=count;return g}},{"two-product":604,"two-sum":605}],551:[function(_dereq_,module,exports){"use strict";module.exports=segmentsIntersect;var orient=_dereq_("robust-orientation")[3];function checkCollinear(a0,a1,b0,b1){for(var d=0;d<2;++d){var x0=a0[d];var y0=a1[d];var l0=Math.min(x0,y0);var h0=Math.max(x0,y0);var x1=b0[d];var y1=b1[d];var l1=Math.min(x1,y1);var h1=Math.max(x1,y1);if(h1<l0||h0<l1){return false}}return true}function segmentsIntersect(a0,a1,b0,b1){var x0=orient(a0,b0,b1);var y0=orient(a1,b0,b1);if(x0>0&&y0>0||x0<0&&y0<0){return false}var x1=orient(b0,a0,a1);var y1=orient(b1,a0,a1);if(x1>0&&y1>0||x1<0&&y1<0){return false}if(x0===0&&y0===0&&x1===0&&y1===0){return checkCollinear(a0,a1,b0,b1)}return true}},{"robust-orientation":548}],552:[function(_dereq_,module,exports){"use strict";module.exports=robustSubtract;function scalarScalar(a,b){var x=a+b;var bv=x-a;var av=x-bv;var br=b-bv;var ar=a-av;var y=ar+br;if(y){return[y,x]}return[x]}function robustSubtract(e,f){var ne=e.length|0;var nf=f.length|0;if(ne===1&&nf===1){return scalarScalar(e[0],-f[0])}var n=ne+nf;var g=new Array(n);var count=0;var eptr=0;var fptr=0;var abs=Math.abs;var ei=e[eptr];var ea=abs(ei);var fi=-f[fptr];var fa=abs(fi);var a,b;if(ea<fa){b=ei;eptr+=1;if(eptr<ne){ei=e[eptr];ea=abs(ei)}}else{b=fi;fptr+=1;if(fptr<nf){fi=-f[fptr];fa=abs(fi)}}if(eptr<ne&&ea<fa||fptr>=nf){a=ei;eptr+=1;if(eptr<ne){ei=e[eptr];ea=abs(ei)}}else{a=fi;fptr+=1;if(fptr<nf){fi=-f[fptr];fa=abs(fi)}}var x=a+b;var bv=x-a;var y=b-bv;var q0=y;var q1=x;var _x,_bv,_av,_br,_ar;while(eptr<ne&&fptr<nf){if(ea<fa){a=ei;eptr+=1;if(eptr<ne){ei=e[eptr];ea=abs(ei)}}else{a=fi;fptr+=1;if(fptr<nf){fi=-f[fptr];fa=abs(fi)}}b=q0;x=a+b;bv=x-a;y=b-bv;if(y){g[count++]=y}_x=q1+x;_bv=_x-q1;_av=_x-_bv;_br=x-_bv;_ar=q1-_av;q0=_ar+_br;q1=_x}while(eptr<ne){a=ei;b=q0;x=a+b;bv=x-a;y=b-bv;if(y){g[count++]=y}_x=q1+x;_bv=_x-q1;_av=_x-_bv;_br=x-_bv;_ar=q1-_av;q0=_ar+_br;q1=_x;eptr+=1;if(eptr<ne){ei=e[eptr]}}while(fptr<nf){a=fi;b=q0;x=a+b;bv=x-a;y=b-bv;if(y){g[count++]=y}_x=q1+x;_bv=_x-q1;_av=_x-_bv;_br=x-_bv;_ar=q1-_av;q0=_ar+_br;q1=_x;fptr+=1;if(fptr<nf){fi=-f[fptr]}}if(q0){g[count++]=q0}if(q1){g[count++]=q1}if(!count){g[count++]=0}g.length=count;return g}},{}],553:[function(_dereq_,module,exports){"use strict";module.exports=linearExpansionSum;function scalarScalar(a,b){var x=a+b;var bv=x-a;var av=x-bv;var br=b-bv;var ar=a-av;var y=ar+br;if(y){return[y,x]}return[x]}function linearExpansionSum(e,f){var ne=e.length|0;var nf=f.length|0;if(ne===1&&nf===1){return scalarScalar(e[0],f[0])}var n=ne+nf;var g=new Array(n);var count=0;var eptr=0;var fptr=0;var abs=Math.abs;var ei=e[eptr];var ea=abs(ei);var fi=f[fptr];var fa=abs(fi);var a,b;if(ea<fa){b=ei;eptr+=1;if(eptr<ne){ei=e[eptr];ea=abs(ei)}}else{b=fi;fptr+=1;if(fptr<nf){fi=f[fptr];fa=abs(fi)}}if(eptr<ne&&ea<fa||fptr>=nf){a=ei;eptr+=1;if(eptr<ne){ei=e[eptr];ea=abs(ei)}}else{a=fi;fptr+=1;if(fptr<nf){fi=f[fptr];fa=abs(fi)}}var x=a+b;var bv=x-a;var y=b-bv;var q0=y;var q1=x;var _x,_bv,_av,_br,_ar;while(eptr<ne&&fptr<nf){if(ea<fa){a=ei;eptr+=1;if(eptr<ne){ei=e[eptr];ea=abs(ei)}}else{a=fi;fptr+=1;if(fptr<nf){fi=f[fptr];fa=abs(fi)}}b=q0;x=a+b;bv=x-a;y=b-bv;if(y){g[count++]=y}_x=q1+x;_bv=_x-q1;_av=_x-_bv;_br=x-_bv;_ar=q1-_av;q0=_ar+_br;q1=_x}while(eptr<ne){a=ei;b=q0;x=a+b;bv=x-a;y=b-bv;if(y){g[count++]=y}_x=q1+x;_bv=_x-q1;_av=_x-_bv;_br=x-_bv;_ar=q1-_av;q0=_ar+_br;q1=_x;eptr+=1;if(eptr<ne){ei=e[eptr]}}while(fptr<nf){a=fi;b=q0;x=a+b;bv=x-a;y=b-bv;if(y){g[count++]=y}_x=q1+x;_bv=_x-q1;_av=_x-_bv;_br=x-_bv;_ar=q1-_av;q0=_ar+_br;q1=_x;fptr+=1;if(fptr<nf){fi=f[fptr]}}if(q0){g[count++]=q0}if(q1){g[count++]=q1}if(!count){g[count++]=0}g.length=count;return g}},{}],554:[function(_dereq_,module,exports){var buffer=_dereq_("buffer");var Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer.prototype);copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}},{buffer:117}],555:[function(_dereq_,module,exports){"use strict";module.exports=function signum(x){if(x<0){return-1}if(x>0){return 1}return 0}},{}],556:[function(_dereq_,module,exports){"use strict";module.exports=boundary;var bnd=_dereq_("boundary-cells");var reduce=_dereq_("reduce-simplicial-complex");function boundary(cells){return reduce(bnd(cells))}},{"boundary-cells":107,"reduce-simplicial-complex":535}],557:[function(_dereq_,module,exports){"use strict";module.exports=extractContour;var ndarray=_dereq_("ndarray");var pool=_dereq_("typedarray-pool");var ndsort=_dereq_("ndarray-sort");var contourAlgorithm=_dereq_("./lib/codegen");function getDimension(cells){var numCells=cells.length;var d=0;for(var i=0;i<numCells;++i){d=Math.max(d,cells[i].length)|0}return d-1}function getSigns(values,level){var numVerts=values.length;var vertexSigns=pool.mallocUint8(numVerts);for(var i=0;i<numVerts;++i){vertexSigns[i]=values[i]<level|0}return vertexSigns}function getEdges(cells,d){var numCells=cells.length;var maxEdges=d*(d+1)/2*numCells|0;var edges=pool.mallocUint32(maxEdges*2);var ePtr=0;for(var i=0;i<numCells;++i){var c=cells[i];var d=c.length;for(var j=0;j<d;++j){for(var k=0;k<j;++k){var a=c[k];var b=c[j];edges[ePtr++]=Math.min(a,b)|0;edges[ePtr++]=Math.max(a,b)|0}}}var nedges=ePtr/2|0;ndsort(ndarray(edges,[nedges,2]));var ptr=2;for(var i=2;i<ePtr;i+=2){if(edges[i-2]===edges[i]&&edges[i-1]===edges[i+1]){continue}edges[ptr++]=edges[i];edges[ptr++]=edges[i+1]}return ndarray(edges,[ptr/2|0,2])}function getCrossingWeights(edges,values,signs,level){var edata=edges.data;var numEdges=edges.shape[0];var weights=pool.mallocDouble(numEdges);var ptr=0;for(var i=0;i<numEdges;++i){var a=edata[2*i];var b=edata[2*i+1];if(signs[a]===signs[b]){continue}var va=values[a];var vb=values[b];edata[2*ptr]=a;edata[2*ptr+1]=b;weights[ptr++]=(vb-level)/(vb-va)}edges.shape[0]=ptr;return ndarray(weights,[ptr])}function getCascade(edges,numVerts){var result=pool.mallocInt32(numVerts*2);var numEdges=edges.shape[0];var edata=edges.data;result[0]=0;var lastV=0;for(var i=0;i<numEdges;++i){var a=edata[2*i];if(a!==lastV){result[2*lastV+1]=i;while(++lastV<a){result[2*lastV]=i;result[2*lastV+1]=i}result[2*lastV]=i}}result[2*lastV+1]=numEdges;while(++lastV<numVerts){result[2*lastV]=result[2*lastV+1]=numEdges}return result}function unpackEdges(edges){var ne=edges.shape[0]|0;var edata=edges.data;var result=new Array(ne);for(var i=0;i<ne;++i){result[i]=[edata[2*i],edata[2*i+1]]}return result}function extractContour(cells,values,level,d){level=level||0;if(typeof d==="undefined"){d=getDimension(cells)}var numCells=cells.length;if(numCells===0||d<1){return{cells:[],vertexIds:[],vertexWeights:[]}}var vertexSigns=getSigns(values,+level);var edges=getEdges(cells,d);var weights=getCrossingWeights(edges,values,vertexSigns,+level);var vcascade=getCascade(edges,values.length|0);var faces=contourAlgorithm(d)(cells,edges.data,vcascade,vertexSigns);var uedges=unpackEdges(edges);var uweights=[].slice.call(weights.data,0,weights.shape[0]);pool.free(vertexSigns);pool.free(edges.data);pool.free(weights.data);pool.free(vcascade);return{cells:faces,vertexIds:uedges,vertexWeights:uweights}}},{"./lib/codegen":558,ndarray:483,"ndarray-sort":482,"typedarray-pool":617}],558:[function(_dereq_,module,exports){"use strict";module.exports=getPolygonizer;var pool=_dereq_("typedarray-pool");var createMSTable=_dereq_("marching-simplex-table");var CACHE={};function createCellPolygonizer(d){var maxCellSize=0;var tables=new Array(d+1);tables[0]=[[]];for(var i=1;i<=d;++i){var tab=tables[i]=createMSTable(i);for(var j=0;j<tab.length;++j){maxCellSize=Math.max(maxCellSize,tab[i].length)}}var code=["function B(C,E,i,j){","var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];","while(l<h){","var m=(l+h)>>1,v=E[2*m+1];","if(v===b){return m}","if(b<v){h=m}else{l=m+1}","}","return l;","};","function getContour",d,"d(F,E,C,S){","var n=F.length,R=[];","for(var i=0;i<n;++i){var c=F[i],l=c.length;"];function generateCase(facets){if(facets.length<=0){return}code.push("R.push(");for(var i=0;i<facets.length;++i){var facet=facets[i];if(i>0){code.push(",")}code.push("[");for(var j=0;j<facet.length;++j){var f=facet[j];if(j>0){code.push(",")}code.push("B(C,E,c[",f[0],"],c[",f[1],"])")}code.push("]")}code.push(");")}for(var i=d+1;i>1;--i){if(i<d+1){code.push("else ")}code.push("if(l===",i,"){");var maskStr=[];for(var j=0;j<i;++j){maskStr.push("(S[c["+j+"]]<<"+j+")")}code.push("var M=",maskStr.join("+"),";if(M===0||M===",(1<<i)-1,"){continue}switch(M){");var tab=tables[i-1];for(var j=0;j<tab.length;++j){code.push("case ",j,":");generateCase(tab[j]);code.push("break;")}code.push("}}")}code.push("}return R;};return getContour",d,"d");var proc=new Function("pool",code.join(""));return proc(pool)}function getPolygonizer(d){var alg=CACHE[d];if(!alg){alg=CACHE[d]=createCellPolygonizer(d)}return alg}},{"marching-simplex-table":462,"typedarray-pool":617}],559:[function(_dereq_,module,exports){"use strict";"use restrict";var bits=_dereq_("bit-twiddle"),UnionFind=_dereq_("union-find");function dimension(cells){var d=0,max=Math.max;for(var i=0,il=cells.length;i<il;++i){d=max(d,cells[i].length)}return d-1}exports.dimension=dimension;function countVertices(cells){var vc=-1,max=Math.max;for(var i=0,il=cells.length;i<il;++i){var c=cells[i];for(var j=0,jl=c.length;j<jl;++j){vc=max(vc,c[j])}}return vc+1}exports.countVertices=countVertices;function cloneCells(cells){var ncells=new Array(cells.length);for(var i=0,il=cells.length;i<il;++i){ncells[i]=cells[i].slice(0)}return ncells}exports.cloneCells=cloneCells;function compareCells(a,b){var n=a.length,t=a.length-b.length,min=Math.min;if(t){return t}switch(n){case 0:return 0;case 1:return a[0]-b[0];case 2:var d=a[0]+a[1]-b[0]-b[1];if(d){return d}return min(a[0],a[1])-min(b[0],b[1]);case 3:var l1=a[0]+a[1],m1=b[0]+b[1];d=l1+a[2]-(m1+b[2]);if(d){return d}var l0=min(a[0],a[1]),m0=min(b[0],b[1]),d=min(l0,a[2])-min(m0,b[2]);if(d){return d}return min(l0+a[2],l1)-min(m0+b[2],m1);default:var as=a.slice(0);as.sort();var bs=b.slice(0);bs.sort();for(var i=0;i<n;++i){t=as[i]-bs[i];if(t){return t}}return 0}}exports.compareCells=compareCells;function compareZipped(a,b){return compareCells(a[0],b[0])}function normalize(cells,attr){if(attr){var len=cells.length;var zipped=new Array(len);for(var i=0;i<len;++i){zipped[i]=[cells[i],attr[i]]}zipped.sort(compareZipped);for(var i=0;i<len;++i){cells[i]=zipped[i][0];attr[i]=zipped[i][1]}return cells}else{cells.sort(compareCells);return cells}}exports.normalize=normalize;function unique(cells){if(cells.length===0){return[]}var ptr=1,len=cells.length;for(var i=1;i<len;++i){var a=cells[i];if(compareCells(a,cells[i-1])){if(i===ptr){ptr++;continue}cells[ptr++]=a}}cells.length=ptr;return cells}exports.unique=unique;function findCell(cells,c){var lo=0,hi=cells.length-1,r=-1;while(lo<=hi){var mid=lo+hi>>1,s=compareCells(cells[mid],c);if(s<=0){if(s===0){r=mid}lo=mid+1}else if(s>0){hi=mid-1}}return r}exports.findCell=findCell;function incidence(from_cells,to_cells){var index=new Array(from_cells.length);for(var i=0,il=index.length;i<il;++i){index[i]=[]}var b=[];for(var i=0,n=to_cells.length;i<n;++i){var c=to_cells[i];var cl=c.length;for(var k=1,kn=1<<cl;k<kn;++k){b.length=bits.popCount(k);var l=0;for(var j=0;j<cl;++j){if(k&1<<j){b[l++]=c[j]}}var idx=findCell(from_cells,b);if(idx<0){continue}while(true){index[idx++].push(i);if(idx>=from_cells.length||compareCells(from_cells[idx],b)!==0){break}}}}return index}exports.incidence=incidence;function dual(cells,vertex_count){if(!vertex_count){return incidence(unique(skeleton(cells,0)),cells,0)}var res=new Array(vertex_count);for(var i=0;i<vertex_count;++i){res[i]=[]}for(var i=0,len=cells.length;i<len;++i){var c=cells[i];for(var j=0,cl=c.length;j<cl;++j){res[c[j]].push(i)}}return res}exports.dual=dual;function explode(cells){var result=[];for(var i=0,il=cells.length;i<il;++i){var c=cells[i],cl=c.length|0;for(var j=1,jl=1<<cl;j<jl;++j){var b=[];for(var k=0;k<cl;++k){if(j>>>k&1){b.push(c[k])}}result.push(b)}}return normalize(result)}exports.explode=explode;function skeleton(cells,n){if(n<0){return[]}var result=[],k0=(1<<n+1)-1;for(var i=0;i<cells.length;++i){var c=cells[i];for(var k=k0;k<1<<c.length;k=bits.nextCombination(k)){var b=new Array(n+1),l=0;for(var j=0;j<c.length;++j){if(k&1<<j){b[l++]=c[j]}}result.push(b)}}return normalize(result)}exports.skeleton=skeleton;function boundary(cells){var res=[];for(var i=0,il=cells.length;i<il;++i){var c=cells[i];for(var j=0,cl=c.length;j<cl;++j){var b=new Array(c.length-1);for(var k=0,l=0;k<cl;++k){if(k!==j){b[l++]=c[k]}}res.push(b)}}return normalize(res)}exports.boundary=boundary;function connectedComponents_dense(cells,vertex_count){var labels=new UnionFind(vertex_count);for(var i=0;i<cells.length;++i){var c=cells[i];for(var j=0;j<c.length;++j){for(var k=j+1;k<c.length;++k){labels.link(c[j],c[k])}}}var components=[],component_labels=labels.ranks;for(var i=0;i<component_labels.length;++i){component_labels[i]=-1}for(var i=0;i<cells.length;++i){var l=labels.find(cells[i][0]);if(component_labels[l]<0){component_labels[l]=components.length;components.push([cells[i].slice(0)])}else{components[component_labels[l]].push(cells[i].slice(0))}}return components}function connectedComponents_sparse(cells){var vertices=unique(normalize(skeleton(cells,0))),labels=new UnionFind(vertices.length);for(var i=0;i<cells.length;++i){var c=cells[i];for(var j=0;j<c.length;++j){var vj=findCell(vertices,[c[j]]);for(var k=j+1;k<c.length;++k){labels.link(vj,findCell(vertices,[c[k]]))}}}var components=[],component_labels=labels.ranks;for(var i=0;i<component_labels.length;++i){component_labels[i]=-1}for(var i=0;i<cells.length;++i){var l=labels.find(findCell(vertices,[cells[i][0]]));if(component_labels[l]<0){component_labels[l]=components.length;components.push([cells[i].slice(0)])}else{components[component_labels[l]].push(cells[i].slice(0))}}return components}function connectedComponents(cells,vertex_count){if(vertex_count){return connectedComponents_dense(cells,vertex_count)}return connectedComponents_sparse(cells)}exports.connectedComponents=connectedComponents},{"bit-twiddle":104,"union-find":618}],560:[function(_dereq_,module,exports){arguments[4][104][0].apply(exports,arguments)},{dup:104}],561:[function(_dereq_,module,exports){arguments[4][559][0].apply(exports,arguments)},{"bit-twiddle":560,dup:559,"union-find":562}],562:[function(_dereq_,module,exports){"use strict";"use restrict";module.exports=UnionFind;function UnionFind(count){this.roots=new Array(count);this.ranks=new Array(count);for(var i=0;i<count;++i){this.roots[i]=i;this.ranks[i]=0}}UnionFind.prototype.length=function(){return this.roots.length};UnionFind.prototype.makeSet=function(){var n=this.roots.length;this.roots.push(n);this.ranks.push(0);return n};UnionFind.prototype.find=function(x){var roots=this.roots;while(roots[x]!==x){var y=roots[x];roots[x]=roots[y];x=y}return x};UnionFind.prototype.link=function(x,y){var xr=this.find(x),yr=this.find(y);if(xr===yr){return}var ranks=this.ranks,roots=this.roots,xd=ranks[xr],yd=ranks[yr];if(xd<yd){roots[xr]=yr}else if(yd<xd){roots[yr]=xr}else{roots[yr]=xr;++ranks[xr]}}},{}],563:[function(_dereq_,module,exports){"use strict";module.exports=simplifyPolygon;var orient=_dereq_("robust-orientation");var sc=_dereq_("simplicial-complex");function errorWeight(base,a,b){var area=Math.abs(orient(base,a,b));var perim=Math.sqrt(Math.pow(a[0]-b[0],2)+Math.pow(a[1]-b[1],2));return area/perim}function simplifyPolygon(cells,positions,minArea){var n=positions.length;var nc=cells.length;var inv=new Array(n);var outv=new Array(n);var weights=new Array(n);var dead=new Array(n);for(var i=0;i<n;++i){inv[i]=outv[i]=-1;weights[i]=Infinity;dead[i]=false}for(var i=0;i<nc;++i){var c=cells[i];if(c.length!==2){throw new Error("Input must be a graph")}var s=c[1];var t=c[0];if(outv[t]!==-1){outv[t]=-2}else{outv[t]=s}if(inv[s]!==-1){inv[s]=-2}else{inv[s]=t}}function computeWeight(i){if(dead[i]){return Infinity}var s=inv[i];var t=outv[i];if(s<0||t<0){return Infinity}else{return errorWeight(positions[i],positions[s],positions[t])}}function heapSwap(i,j){var a=heap[i];var b=heap[j];heap[i]=b;heap[j]=a;index[a]=j;index[b]=i}function heapWeight(i){return weights[heap[i]]}function heapParent(i){if(i&1){return i-1>>1}return(i>>1)-1}function heapDown(i){var w=heapWeight(i);while(true){var tw=w;var left=2*i+1;var right=2*(i+1);var next=i;if(left<heapCount){var lw=heapWeight(left);if(lw<tw){next=left;tw=lw}}if(right<heapCount){var rw=heapWeight(right);if(rw<tw){next=right}}if(next===i){return i}heapSwap(i,next);i=next}}function heapUp(i){var w=heapWeight(i);while(i>0){var parent=heapParent(i);if(parent>=0){var pw=heapWeight(parent);if(w<pw){heapSwap(i,parent);i=parent;continue}}return i}}function heapPop(){if(heapCount>0){var head=heap[0];heapSwap(0,heapCount-1);heapCount-=1;heapDown(0);return head}return-1}function heapUpdate(i,w){var a=heap[i];if(weights[a]===w){return i}weights[a]=-Infinity;heapUp(i);heapPop();weights[a]=w;heapCount+=1;return heapUp(heapCount-1)}function kill(i){if(dead[i]){return}dead[i]=true;var s=inv[i];var t=outv[i];if(inv[t]>=0){inv[t]=s}if(outv[s]>=0){outv[s]=t}if(index[s]>=0){heapUpdate(index[s],computeWeight(s))}if(index[t]>=0){heapUpdate(index[t],computeWeight(t))}}var heap=[];var index=new Array(n);for(var i=0;i<n;++i){var w=weights[i]=computeWeight(i);if(w<Infinity){index[i]=heap.length;heap.push(i)}else{index[i]=-1}}var heapCount=heap.length;for(var i=heapCount>>1;i>=0;--i){heapDown(i)}while(true){var hmin=heapPop();if(hmin<0||weights[hmin]>minArea){break}kill(hmin)}var npositions=[];for(var i=0;i<n;++i){if(!dead[i]){index[i]=npositions.length;npositions.push(positions[i].slice())}}var nv=npositions.length;function tortoiseHare(seq,start){if(seq[start]<0){return start}var t=start;var h=start;do{var nh=seq[h];if(!dead[h]||nh<0||nh===h){break}h=nh;nh=seq[h];if(!dead[h]||nh<0||nh===h){break}h=nh;t=seq[t]}while(t!==h);for(var v=start;v!==h;v=seq[v]){seq[v]=h}return h}var ncells=[];cells.forEach((function(c){var tin=tortoiseHare(inv,c[0]);var tout=tortoiseHare(outv,c[1]);if(tin>=0&&tout>=0&&tin!==tout){var cin=index[tin];var cout=index[tout];if(cin!==cout){ncells.push([cin,cout])}}}));sc.unique(sc.normalize(ncells));return{positions:npositions,edges:ncells}}},{"robust-orientation":548,"simplicial-complex":561}],564:[function(_dereq_,module,exports){"use strict";module.exports=orderSegments;var orient=_dereq_("robust-orientation");function horizontalOrder(a,b){var bl,br;if(b[0][0]<b[1][0]){bl=b[0];br=b[1]}else if(b[0][0]>b[1][0]){bl=b[1];br=b[0]}else{var alo=Math.min(a[0][1],a[1][1]);var ahi=Math.max(a[0][1],a[1][1]);var blo=Math.min(b[0][1],b[1][1]);var bhi=Math.max(b[0][1],b[1][1]);if(ahi<blo){return ahi-blo}if(alo>bhi){return alo-bhi}return ahi-bhi}var al,ar;if(a[0][1]<a[1][1]){al=a[0];ar=a[1]}else{al=a[1];ar=a[0]}var d=orient(br,bl,al);if(d){return d}d=orient(br,bl,ar);if(d){return d}return ar-br}function orderSegments(b,a){var al,ar;if(a[0][0]<a[1][0]){al=a[0];ar=a[1]}else if(a[0][0]>a[1][0]){al=a[1];ar=a[0]}else{return horizontalOrder(a,b)}var bl,br;if(b[0][0]<b[1][0]){bl=b[0];br=b[1]}else if(b[0][0]>b[1][0]){bl=b[1];br=b[0]}else{return-horizontalOrder(b,a)}var d1=orient(al,ar,br);var d2=orient(al,ar,bl);if(d1<0){if(d2<=0){return d1}}else if(d1>0){if(d2>=0){return d1}}else if(d2){return d2}d1=orient(br,bl,ar);d2=orient(br,bl,al);if(d1<0){if(d2<=0){return d1}}else if(d1>0){if(d2>=0){return d1}}else if(d2){return d2}return ar[0]-br[0]}},{"robust-orientation":548}],565:[function(_dereq_,module,exports){arguments[4][251][0].apply(exports,arguments)},{dup:251}],566:[function(_dereq_,module,exports){"use strict";module.exports=createSlabDecomposition;var bounds=_dereq_("binary-search-bounds");var createRBTree=_dereq_("functional-red-black-tree");var orient=_dereq_("robust-orientation");var orderSegments=_dereq_("./lib/order-segments");function SlabDecomposition(slabs,coordinates,horizontal){this.slabs=slabs;this.coordinates=coordinates;this.horizontal=horizontal}var proto=SlabDecomposition.prototype;function compareHorizontal(e,y){return e.y-y}function searchBucket(root,p){var lastNode=null;while(root){var seg=root.key;var l,r;if(seg[0][0]<seg[1][0]){l=seg[0];r=seg[1]}else{l=seg[1];r=seg[0]}var o=orient(l,r,p);if(o<0){root=root.left}else if(o>0){if(p[0]!==seg[1][0]){lastNode=root;root=root.right}else{var val=searchBucket(root.right,p);if(val){return val}root=root.left}}else{if(p[0]!==seg[1][0]){return root}else{var val=searchBucket(root.right,p);if(val){return val}root=root.left}}}return lastNode}proto.castUp=function(p){var bucket=bounds.le(this.coordinates,p[0]);if(bucket<0){return-1}var root=this.slabs[bucket];var hitNode=searchBucket(this.slabs[bucket],p);var lastHit=-1;if(hitNode){lastHit=hitNode.value}if(this.coordinates[bucket]===p[0]){var lastSegment=null;if(hitNode){lastSegment=hitNode.key}if(bucket>0){var otherHitNode=searchBucket(this.slabs[bucket-1],p);if(otherHitNode){if(lastSegment){if(orderSegments(otherHitNode.key,lastSegment)>0){lastSegment=otherHitNode.key;lastHit=otherHitNode.value}}else{lastHit=otherHitNode.value;lastSegment=otherHitNode.key}}}var horiz=this.horizontal[bucket];if(horiz.length>0){var hbucket=bounds.ge(horiz,p[1],compareHorizontal);if(hbucket<horiz.length){var e=horiz[hbucket];if(p[1]===e.y){if(e.closed){return e.index}else{while(hbucket<horiz.length-1&&horiz[hbucket+1].y===p[1]){hbucket=hbucket+1;e=horiz[hbucket];if(e.closed){return e.index}}if(e.y===p[1]&&!e.start){hbucket=hbucket+1;if(hbucket>=horiz.length){return lastHit}e=horiz[hbucket]}}}if(e.start){if(lastSegment){var o=orient(lastSegment[0],lastSegment[1],[p[0],e.y]);if(lastSegment[0][0]>lastSegment[1][0]){o=-o}if(o>0){lastHit=e.index}}else{lastHit=e.index}}else if(e.y!==p[1]){lastHit=e.index}}}}return lastHit};function IntervalSegment(y,index,start,closed){this.y=y;this.index=index;this.start=start;this.closed=closed}function Event(x,segment,create,index){this.x=x;this.segment=segment;this.create=create;this.index=index}function createSlabDecomposition(segments){var numSegments=segments.length;var numEvents=2*numSegments;var events=new Array(numEvents);for(var i=0;i<numSegments;++i){var s=segments[i];var f=s[0][0]<s[1][0];events[2*i]=new Event(s[0][0],s,f,i);events[2*i+1]=new Event(s[1][0],s,!f,i)}events.sort((function(a,b){var d=a.x-b.x;if(d){return d}d=a.create-b.create;if(d){return d}return Math.min(a.segment[0][1],a.segment[1][1])-Math.min(b.segment[0][1],b.segment[1][1])}));var tree=createRBTree(orderSegments);var slabs=[];var lines=[];var horizontal=[];var lastX=-Infinity;for(var i=0;i<numEvents;){var x=events[i].x;var horiz=[];while(i<numEvents){var e=events[i];if(e.x!==x){break}i+=1;if(e.segment[0][0]===e.x&&e.segment[1][0]===e.x){if(e.create){if(e.segment[0][1]<e.segment[1][1]){horiz.push(new IntervalSegment(e.segment[0][1],e.index,true,true));horiz.push(new IntervalSegment(e.segment[1][1],e.index,false,false))}else{horiz.push(new IntervalSegment(e.segment[1][1],e.index,true,false));horiz.push(new IntervalSegment(e.segment[0][1],e.index,false,true))}}}else{if(e.create){tree=tree.insert(e.segment,e.index)}else{tree=tree.remove(e.segment)}}}slabs.push(tree.root);lines.push(x);horizontal.push(horiz)}return new SlabDecomposition(slabs,lines,horizontal)}},{"./lib/order-segments":564,"binary-search-bounds":565,"functional-red-black-tree":255,"robust-orientation":548}],567:[function(_dereq_,module,exports){"use strict";var robustDot=_dereq_("robust-dot-product");var robustSum=_dereq_("robust-sum");module.exports=splitPolygon;module.exports.positive=positive;module.exports.negative=negative;function planeT(p,plane){var r=robustSum(robustDot(p,plane),[plane[plane.length-1]]);return r[r.length-1]}function lerpW(a,wa,b,wb){var d=wb-wa;var t=-wa/d;if(t<0){t=0}else if(t>1){t=1}var ti=1-t;var n=a.length;var r=new Array(n);for(var i=0;i<n;++i){r[i]=t*a[i]+ti*b[i]}return r}function splitPolygon(points,plane){var pos=[];var neg=[];var a=planeT(points[points.length-1],plane);for(var s=points[points.length-1],t=points[0],i=0;i<points.length;++i,s=t){t=points[i];var b=planeT(t,plane);if(a<0&&b>0||a>0&&b<0){var p=lerpW(s,b,t,a);pos.push(p);neg.push(p.slice())}if(b<0){neg.push(t.slice())}else if(b>0){pos.push(t.slice())}else{pos.push(t.slice());neg.push(t.slice())}a=b}return{positive:pos,negative:neg}}function positive(points,plane){var pos=[];var a=planeT(points[points.length-1],plane);for(var s=points[points.length-1],t=points[0],i=0;i<points.length;++i,s=t){t=points[i];var b=planeT(t,plane);if(a<0&&b>0||a>0&&b<0){pos.push(lerpW(s,b,t,a))}if(b>=0){pos.push(t.slice())}a=b}return pos}function negative(points,plane){var neg=[];var a=planeT(points[points.length-1],plane);for(var s=points[points.length-1],t=points[0],i=0;i<points.length;++i,s=t){t=points[i];var b=planeT(t,plane);if(a<0&&b>0||a>0&&b<0){neg.push(lerpW(s,b,t,a))}if(b<=0){neg.push(t.slice())}a=b}return neg}},{"robust-dot-product":545,"robust-sum":553}],568:[function(_dereq_,module,exports){!function(){"use strict";var re={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function sprintf(key){return sprintf_format(sprintf_parse(key),arguments)}function vsprintf(fmt,argv){return sprintf.apply(null,[fmt].concat(argv||[]))}function sprintf_format(parse_tree,argv){var cursor=1,tree_length=parse_tree.length,arg,output="",i,k,ph,pad,pad_character,pad_length,is_positive,sign;for(i=0;i<tree_length;i++){if(typeof parse_tree[i]==="string"){output+=parse_tree[i]}else if(typeof parse_tree[i]==="object"){ph=parse_tree[i];if(ph.keys){arg=argv[cursor];for(k=0;k<ph.keys.length;k++){if(arg==undefined){throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"',ph.keys[k],ph.keys[k-1]))}arg=arg[ph.keys[k]]}}else if(ph.param_no){arg=argv[ph.param_no]}else{arg=argv[cursor++]}if(re.not_type.test(ph.type)&&re.not_primitive.test(ph.type)&&arg instanceof Function){arg=arg()}if(re.numeric_arg.test(ph.type)&&(typeof arg!=="number"&&isNaN(arg))){throw new TypeError(sprintf("[sprintf] expecting number but found %T",arg))}if(re.number.test(ph.type)){is_positive=arg>=0}switch(ph.type){case"b":arg=parseInt(arg,10).toString(2);break;case"c":arg=String.fromCharCode(parseInt(arg,10));break;case"d":case"i":arg=parseInt(arg,10);break;case"j":arg=JSON.stringify(arg,null,ph.width?parseInt(ph.width):0);break;case"e":arg=ph.precision?parseFloat(arg).toExponential(ph.precision):parseFloat(arg).toExponential();break;case"f":arg=ph.precision?parseFloat(arg).toFixed(ph.precision):parseFloat(arg);break;case"g":arg=ph.precision?String(Number(arg.toPrecision(ph.precision))):parseFloat(arg);break;case"o":arg=(parseInt(arg,10)>>>0).toString(8);break;case"s":arg=String(arg);arg=ph.precision?arg.substring(0,ph.precision):arg;break;case"t":arg=String(!!arg);arg=ph.precision?arg.substring(0,ph.precision):arg;break;case"T":arg=Object.prototype.toString.call(arg).slice(8,-1).toLowerCase();arg=ph.precision?arg.substring(0,ph.precision):arg;break;case"u":arg=parseInt(arg,10)>>>0;break;case"v":arg=arg.valueOf();arg=ph.precision?arg.substring(0,ph.precision):arg;break;case"x":arg=(parseInt(arg,10)>>>0).toString(16);break;case"X":arg=(parseInt(arg,10)>>>0).toString(16).toUpperCase();break}if(re.json.test(ph.type)){output+=arg}else{if(re.number.test(ph.type)&&(!is_positive||ph.sign)){sign=is_positive?"+":"-";arg=arg.toString().replace(re.sign,"")}else{sign=""}pad_character=ph.pad_char?ph.pad_char==="0"?"0":ph.pad_char.charAt(1):" ";pad_length=ph.width-(sign+arg).length;pad=ph.width?pad_length>0?pad_character.repeat(pad_length):"":"";output+=ph.align?sign+arg+pad:pad_character==="0"?sign+pad+arg:pad+sign+arg}}}return output}var sprintf_cache=Object.create(null);function sprintf_parse(fmt){if(sprintf_cache[fmt]){return sprintf_cache[fmt]}var _fmt=fmt,match,parse_tree=[],arg_names=0;while(_fmt){if((match=re.text.exec(_fmt))!==null){parse_tree.push(match[0])}else if((match=re.modulo.exec(_fmt))!==null){parse_tree.push("%")}else if((match=re.placeholder.exec(_fmt))!==null){if(match[2]){arg_names|=1;var field_list=[],replacement_field=match[2],field_match=[];if((field_match=re.key.exec(replacement_field))!==null){field_list.push(field_match[1]);while((replacement_field=replacement_field.substring(field_match[0].length))!==""){if((field_match=re.key_access.exec(replacement_field))!==null){field_list.push(field_match[1])}else if((field_match=re.index_access.exec(replacement_field))!==null){field_list.push(field_match[1])}else{throw new SyntaxError("[sprintf] failed to parse named argument key")}}}else{throw new SyntaxError("[sprintf] failed to parse named argument key")}match[2]=field_list}else{arg_names|=2}if(arg_names===3){throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported")}parse_tree.push({placeholder:match[0],param_no:match[1],keys:match[2],sign:match[3],pad_char:match[4],align:match[5],width:match[6],precision:match[7],type:match[8]})}else{throw new SyntaxError("[sprintf] unexpected placeholder")}_fmt=_fmt.substring(match[0].length)}return sprintf_cache[fmt]=parse_tree}if(typeof exports!=="undefined"){exports["sprintf"]=sprintf;exports["vsprintf"]=vsprintf}if(typeof window!=="undefined"){window["sprintf"]=sprintf;window["vsprintf"]=vsprintf;if(typeof define==="function"&&define["amd"]){define((function(){return{sprintf:sprintf,vsprintf:vsprintf}}))}}}()},{}],569:[function(_dereq_,module,exports){module.exports=Stream;var EE=_dereq_("events").EventEmitter;var inherits=_dereq_("inherits");inherits(Stream,EE);Stream.Readable=_dereq_("readable-stream/lib/_stream_readable.js");Stream.Writable=_dereq_("readable-stream/lib/_stream_writable.js");Stream.Duplex=_dereq_("readable-stream/lib/_stream_duplex.js");Stream.Transform=_dereq_("readable-stream/lib/_stream_transform.js");Stream.PassThrough=_dereq_("readable-stream/lib/_stream_passthrough.js");Stream.finished=_dereq_("readable-stream/lib/internal/streams/end-of-stream.js");Stream.pipeline=_dereq_("readable-stream/lib/internal/streams/pipeline.js");Stream.Stream=Stream;function Stream(){EE.call(this)}Stream.prototype.pipe=function(dest,options){var source=this;function ondata(chunk){if(dest.writable){if(false===dest.write(chunk)&&source.pause){source.pause()}}}source.on("data",ondata);function ondrain(){if(source.readable&&source.resume){source.resume()}}dest.on("drain",ondrain);if(!dest._isStdio&&(!options||options.end!==false)){source.on("end",onend);source.on("close",onclose)}var didOnEnd=false;function onend(){if(didOnEnd)return;didOnEnd=true;dest.end()}function onclose(){if(didOnEnd)return;didOnEnd=true;if(typeof dest.destroy==="function")dest.destroy()}function onerror(er){cleanup();if(EE.listenerCount(this,"error")===0){throw er}}source.on("error",onerror);dest.on("error",onerror);function cleanup(){source.removeListener("data",ondata);dest.removeListener("drain",ondrain);source.removeListener("end",onend);source.removeListener("close",onclose);source.removeListener("error",onerror);dest.removeListener("error",onerror);source.removeListener("end",cleanup);source.removeListener("close",cleanup);dest.removeListener("close",cleanup)}source.on("end",cleanup);source.on("close",cleanup);dest.on("close",cleanup);dest.emit("pipe",source);return dest}},{events:116,inherits:447,"readable-stream/lib/_stream_duplex.js":571,"readable-stream/lib/_stream_passthrough.js":572,"readable-stream/lib/_stream_readable.js":573,"readable-stream/lib/_stream_transform.js":574,"readable-stream/lib/_stream_writable.js":575,"readable-stream/lib/internal/streams/end-of-stream.js":579,"readable-stream/lib/internal/streams/pipeline.js":581}],570:[function(_dereq_,module,exports){"use strict";function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass}var codes={};function createErrorType(code,message,Base){if(!Base){Base=Error}function getMessage(arg1,arg2,arg3){if(typeof message==="string"){return message}else{return message(arg1,arg2,arg3)}}var NodeError=function(_Base){_inheritsLoose(NodeError,_Base);function NodeError(arg1,arg2,arg3){return _Base.call(this,getMessage(arg1,arg2,arg3))||this}return NodeError}(Base);NodeError.prototype.name=Base.name;NodeError.prototype.code=code;codes[code]=NodeError}function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;expected=expected.map((function(i){return String(i)}));if(len>2){return"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(", "),", or ")+expected[len-1]}else if(len===2){return"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1])}else{return"of ".concat(thing," ").concat(expected[0])}}else{return"of ".concat(thing," ").concat(String(expected))}}function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}function endsWith(str,search,this_len){if(this_len===undefined||this_len>str.length){this_len=str.length}return str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){if(typeof start!=="number"){start=0}if(start+search.length>str.length){return false}else{return str.indexOf(search,start)!==-1}}createErrorType("ERR_INVALID_OPT_VALUE",(function(name,value){return'The value "'+value+'" is invalid for option "'+name+'"'}),TypeError);createErrorType("ERR_INVALID_ARG_TYPE",(function(name,expected,actual){var determiner;if(typeof expected==="string"&&startsWith(expected,"not ")){determiner="must not be";expected=expected.replace(/^not /,"")}else{determiner="must be"}var msg;if(endsWith(name," argument")){msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,"type"))}else{var type=includes(name,".")?"property":"argument";msg='The "'.concat(name,'" ').concat(type," ").concat(determiner," ").concat(oneOf(expected,"type"))}msg+=". Received type ".concat(typeof actual);return msg}),TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",(function(name){return"The "+name+" method is not implemented"}));createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",(function(name){return"Cannot call "+name+" after a stream was destroyed"}));createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",(function(arg){return"Unknown encoding: "+arg}),TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");module.exports.codes=codes},{}],571:[function(_dereq_,module,exports){(function(process){(function(){"use strict";var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){keys.push(key)}return keys};module.exports=Duplex;var Readable=_dereq_("./_stream_readable");var Writable=_dereq_("./_stream_writable");_dereq_("inherits")(Duplex,Readable);{var keys=objectKeys(Writable.prototype);for(var v=0;v<keys.length;v++){var method=keys[v];if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method]}}function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);Readable.call(this,options);Writable.call(this,options);this.allowHalfOpen=true;if(options){if(options.readable===false)this.readable=false;if(options.writable===false)this.writable=false;if(options.allowHalfOpen===false){this.allowHalfOpen=false;this.once("end",onend)}}}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:false,get:function get(){return this._writableState.length}});function onend(){if(this._writableState.ended)return;process.nextTick(onEndNT,this)}function onEndNT(self){self.end()}Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:false,get:function get(){if(this._readableState===undefined||this._writableState===undefined){return false}return this._readableState.destroyed&&this._writableState.destroyed},set:function set(value){if(this._readableState===undefined||this._writableState===undefined){return}this._readableState.destroyed=value;this._writableState.destroyed=value}})}).call(this)}).call(this,_dereq_("_process"))},{"./_stream_readable":573,"./_stream_writable":575,_process:528,inherits:447}],572:[function(_dereq_,module,exports){"use strict";module.exports=PassThrough;var Transform=_dereq_("./_stream_transform");_dereq_("inherits")(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options)}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},{"./_stream_transform":574,inherits:447}],573:[function(_dereq_,module,exports){(function(process,global){(function(){"use strict";module.exports=Readable;var Duplex;Readable.ReadableState=ReadableState;var EE=_dereq_("events").EventEmitter;var EElistenerCount=function EElistenerCount(emitter,type){return emitter.listeners(type).length};var Stream=_dereq_("./internal/streams/stream");var Buffer=_dereq_("buffer").Buffer;var OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer.from(chunk)}function _isUint8Array(obj){return Buffer.isBuffer(obj)||obj instanceof OurUint8Array}var debugUtil=_dereq_("util");var debug;if(debugUtil&&debugUtil.debuglog){debug=debugUtil.debuglog("stream")}else{debug=function debug(){}}var BufferList=_dereq_("./internal/streams/buffer_list");var destroyImpl=_dereq_("./internal/streams/destroy");var _require=_dereq_("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark;var _require$codes=_dereq_("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_STREAM_PUSH_AFTER_EOF=_require$codes.ERR_STREAM_PUSH_AFTER_EOF,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_STREAM_UNSHIFT_AFTER_END_EVENT=_require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;var StringDecoder;var createReadableStreamAsyncIterator;var from;_dereq_("inherits")(Readable,Stream);var errorOrDestroy=destroyImpl.errorOrDestroy;var kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(emitter,event,fn){if(typeof emitter.prependListener==="function")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(Array.isArray(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}function ReadableState(options,stream,isDuplex){Duplex=Duplex||_dereq_("./_stream_duplex");options=options||{};if(typeof isDuplex!=="boolean")isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode;if(isDuplex)this.objectMode=this.objectMode||!!options.readableObjectMode;this.highWaterMark=getHighWaterMark(this,options,"readableHighWaterMark",isDuplex);this.buffer=new BufferList;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.paused=true;this.emitClose=options.emitClose!==false;this.autoDestroy=!!options.autoDestroy;this.destroyed=false;this.defaultEncoding=options.defaultEncoding||"utf8";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(options.encoding){if(!StringDecoder)StringDecoder=_dereq_("string_decoder/").StringDecoder;this.decoder=new StringDecoder(options.encoding);this.encoding=options.encoding}}function Readable(options){Duplex=Duplex||_dereq_("./_stream_duplex");if(!(this instanceof Readable))return new Readable(options);var isDuplex=this instanceof Duplex;this._readableState=new ReadableState(options,this,isDuplex);this.readable=true;if(options){if(typeof options.read==="function")this._read=options.read;if(typeof options.destroy==="function")this._destroy=options.destroy}Stream.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:false,get:function get(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function set(value){if(!this._readableState){return}this._readableState.destroyed=value}});Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){cb(err)};Readable.prototype.push=function(chunk,encoding){var state=this._readableState;var skipChunkCheck;if(!state.objectMode){if(typeof chunk==="string"){encoding=encoding||state.defaultEncoding;if(encoding!==state.encoding){chunk=Buffer.from(chunk,encoding);encoding=""}skipChunkCheck=true}}else{skipChunkCheck=true}return readableAddChunk(this,chunk,encoding,false,skipChunkCheck)};Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,true,false)};function readableAddChunk(stream,chunk,encoding,addToFront,skipChunkCheck){debug("readableAddChunk",chunk);var state=stream._readableState;if(chunk===null){state.reading=false;onEofChunk(stream,state)}else{var er;if(!skipChunkCheck)er=chunkInvalid(state,chunk);if(er){errorOrDestroy(stream,er)}else if(state.objectMode||chunk&&chunk.length>0){if(typeof chunk!=="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer.prototype){chunk=_uint8ArrayToBuffer(chunk)}if(addToFront){if(state.endEmitted)errorOrDestroy(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else addChunk(stream,state,chunk,true)}else if(state.ended){errorOrDestroy(stream,new ERR_STREAM_PUSH_AFTER_EOF)}else if(state.destroyed){return false}else{state.reading=false;if(state.decoder&&!encoding){chunk=state.decoder.write(chunk);if(state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,false);else maybeReadMore(stream,state)}else{addChunk(stream,state,chunk,false)}}}else if(!addToFront){state.reading=false;maybeReadMore(stream,state)}}return!state.ended&&(state.length<state.highWaterMark||state.length===0)}function addChunk(stream,state,chunk,addToFront){if(state.flowing&&state.length===0&&!state.sync){state.awaitDrain=0;stream.emit("data",chunk)}else{state.length+=state.objectMode?1:chunk.length;if(addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if(state.needReadable)emitReadable(stream)}maybeReadMore(stream,state)}function chunkInvalid(state,chunk){var er;if(!_isUint8Array(chunk)&&typeof chunk!=="string"&&chunk!==undefined&&!state.objectMode){er=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer","Uint8Array"],chunk)}return er}Readable.prototype.isPaused=function(){return this._readableState.flowing===false};Readable.prototype.setEncoding=function(enc){if(!StringDecoder)StringDecoder=_dereq_("string_decoder/").StringDecoder;var decoder=new StringDecoder(enc);this._readableState.decoder=decoder;this._readableState.encoding=this._readableState.decoder.encoding;var p=this._readableState.buffer.head;var content="";while(p!==null){content+=decoder.write(p.data);p=p.next}this._readableState.buffer.clear();if(content!=="")this._readableState.buffer.push(content);this._readableState.length=content.length;return this};var MAX_HWM=1073741824;function computeNewHighWaterMark(n){if(n>=MAX_HWM){n=MAX_HWM}else{n--;n|=n>>>1;n|=n>>>2;n|=n>>>4;n|=n>>>8;n|=n>>>16;n++}return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(n!==n){if(state.flowing&&state.length)return state.buffer.head.data.length;else return state.length}if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n<=state.length)return n;if(!state.ended){state.needReadable=true;return 0}return state.length}Readable.prototype.read=function(n){debug("read",n);n=parseInt(n,10);var state=this._readableState;var nOrig=n;if(n!==0)state.emittedReadable=false;if(n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n<state.highWaterMark){doRead=true;debug("length less than watermark",doRead)}if(state.ended||state.reading){doRead=false;debug("reading or ended",doRead)}else if(doRead){debug("do read");state.reading=true;state.sync=true;if(state.length===0)state.needReadable=true;this._read(state.highWaterMark);state.sync=false;if(!state.reading)n=howMuchToRead(nOrig,state)}var ret;if(n>0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=state.length<=state.highWaterMark;n=0}else{state.length-=n;state.awaitDrain=0}if(state.length===0){if(!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null)this.emit("data",ret);return ret};function onEofChunk(stream,state){debug("onEofChunk");if(state.ended)return;if(state.decoder){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;if(state.sync){emitReadable(stream)}else{state.needReadable=false;if(!state.emittedReadable){state.emittedReadable=true;emitReadable_(stream)}}}function emitReadable(stream){var state=stream._readableState;debug("emitReadable",state.needReadable,state.emittedReadable);state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;process.nextTick(emitReadable_,stream)}}function emitReadable_(stream){var state=stream._readableState;debug("emitReadable_",state.destroyed,state.length,state.ended);if(!state.destroyed&&(state.length||state.ended)){stream.emit("readable");state.emittedReadable=false}state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark;flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(maybeReadMore_,stream,state)}}function maybeReadMore_(stream,state){while(!state.reading&&!state.ended&&(state.length<state.highWaterMark||state.flowing&&state.length===0)){var len=state.length;debug("maybeReadMore read 0");stream.read(0);if(len===state.length)break}state.readingMore=false}Readable.prototype._read=function(n){errorOrDestroy(this,new ERR_METHOD_NOT_IMPLEMENTED("_read()"))};Readable.prototype.pipe=function(dest,pipeOpts){var src=this;var state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1;debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==false)&&dest!==process.stdout&&dest!==process.stderr;var endFn=doEnd?onend:unpipe;if(state.endEmitted)process.nextTick(endFn);else src.once("end",endFn);dest.on("unpipe",onunpipe);function onunpipe(readable,unpipeInfo){debug("onunpipe");if(readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===false){unpipeInfo.hasUnpiped=true;cleanup()}}}function onend(){debug("onend");dest.end()}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=false;function cleanup(){debug("cleanup");dest.removeListener("close",onclose);dest.removeListener("finish",onfinish);dest.removeListener("drain",ondrain);dest.removeListener("error",onerror);dest.removeListener("unpipe",onunpipe);src.removeListener("end",onend);src.removeListener("end",unpipe);src.removeListener("data",ondata);cleanedUp=true;if(state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain))ondrain()}src.on("data",ondata);function ondata(chunk){debug("ondata");var ret=dest.write(chunk);debug("dest.write",ret);if(ret===false){if((state.pipesCount===1&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp){debug("false write response, pause",state.awaitDrain);state.awaitDrain++}src.pause()}}function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EElistenerCount(dest,"error")===0)errorOrDestroy(dest,er)}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return function pipeOnDrainFunctionResult(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EElistenerCount(src,"data")){state.flowing=true;flow(src)}}}Readable.prototype.unpipe=function(dest){var state=this._readableState;var unpipeInfo={hasUnpiped:false};if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this,unpipeInfo);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i<len;i++){dests[i].emit("unpipe",this,{hasUnpiped:false})}return this}var index=indexOf(state.pipes,dest);if(index===-1)return this;state.pipes.splice(index,1);state.pipesCount-=1;if(state.pipesCount===1)state.pipes=state.pipes[0];dest.emit("unpipe",this,unpipeInfo);return this};Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);var state=this._readableState;if(ev==="data"){state.readableListening=this.listenerCount("readable")>0;if(state.flowing!==false)this.resume()}else if(ev==="readable"){if(!state.endEmitted&&!state.readableListening){state.readableListening=state.needReadable=true;state.flowing=false;state.emittedReadable=false;debug("on readable",state.length,state.reading);if(state.length){emitReadable(this)}else if(!state.reading){process.nextTick(nReadingNextTick,this)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){var res=Stream.prototype.removeListener.call(this,ev,fn);if(ev==="readable"){process.nextTick(updateReadableListening,this)}return res};Readable.prototype.removeAllListeners=function(ev){var res=Stream.prototype.removeAllListeners.apply(this,arguments);if(ev==="readable"||ev===undefined){process.nextTick(updateReadableListening,this)}return res};function updateReadableListening(self){var state=self._readableState;state.readableListening=self.listenerCount("readable")>0;if(state.resumeScheduled&&!state.paused){state.flowing=true}else if(self.listenerCount("data")>0){self.resume()}}function nReadingNextTick(self){debug("readable nexttick read 0");self.read(0)}Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=!state.readableListening;resume(this,state)}state.paused=false;return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;process.nextTick(resume_,stream,state)}}function resume_(stream,state){debug("resume",state.reading);if(!state.reading){stream.read(0)}state.resumeScheduled=false;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(this._readableState.flowing!==false){debug("pause");this._readableState.flowing=false;this.emit("pause")}this._readableState.paused=true;return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);while(state.flowing&&stream.read()!==null){}}Readable.prototype.wrap=function(stream){var _this=this;var state=this._readableState;var paused=false;stream.on("end",(function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)_this.push(chunk)}_this.push(null)}));stream.on("data",(function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=_this.push(chunk);if(!ret){paused=true;stream.pause()}}));for(var i in stream){if(this[i]===undefined&&typeof stream[i]==="function"){this[i]=function methodWrap(method){return function methodWrapReturnFunction(){return stream[method].apply(stream,arguments)}}(i)}}for(var n=0;n<kProxyEvents.length;n++){stream.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]))}this._read=function(n){debug("wrapped _read",n);if(paused){paused=false;stream.resume()}};return this};if(typeof Symbol==="function"){Readable.prototype[Symbol.asyncIterator]=function(){if(createReadableStreamAsyncIterator===undefined){createReadableStreamAsyncIterator=_dereq_("./internal/streams/async_iterator")}return createReadableStreamAsyncIterator(this)}}Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:false,get:function get(){return this._readableState.highWaterMark}});Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:false,get:function get(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:false,get:function get(){return this._readableState.flowing},set:function set(state){if(this._readableState){this._readableState.flowing=state}}});Readable._fromList=fromList;Object.defineProperty(Readable.prototype,"readableLength",{enumerable:false,get:function get(){return this._readableState.length}});function fromList(n,state){if(state.length===0)return null;var ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join("");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else{ret=state.buffer.consume(n,state.decoder)}return ret}function endReadable(stream){var state=stream._readableState;debug("endReadable",state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream)}}function endReadableNT(state,stream){debug("endReadableNT",state.endEmitted,state.length);if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end");if(state.autoDestroy){var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy()}}}}if(typeof Symbol==="function"){Readable.from=function(iterable,opts){if(from===undefined){from=_dereq_("./internal/streams/from")}return from(Readable,iterable,opts)}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i}return-1}}).call(this)}).call(this,_dereq_("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"../errors":570,"./_stream_duplex":571,"./internal/streams/async_iterator":576,"./internal/streams/buffer_list":577,"./internal/streams/destroy":578,"./internal/streams/from":580,"./internal/streams/state":582,"./internal/streams/stream":583,_process:528,buffer:117,events:116,inherits:447,"string_decoder/":584,util:115}],574:[function(_dereq_,module,exports){"use strict";module.exports=Transform;var _require$codes=_dereq_("../errors").codes,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_TRANSFORM_ALREADY_TRANSFORMING=_require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,ERR_TRANSFORM_WITH_LENGTH_0=_require$codes.ERR_TRANSFORM_WITH_LENGTH_0;var Duplex=_dereq_("./_stream_duplex");_dereq_("inherits")(Transform,Duplex);function afterTransform(er,data){var ts=this._transformState;ts.transforming=false;var cb=ts.writecb;if(cb===null){return this.emit("error",new ERR_MULTIPLE_CALLBACK)}ts.writechunk=null;ts.writecb=null;if(data!=null)this.push(data);cb(er);var rs=this._readableState;rs.reading=false;if(rs.needReadable||rs.length<rs.highWaterMark){this._read(rs.highWaterMark)}}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options);this._transformState={afterTransform:afterTransform.bind(this),needTransform:false,transforming:false,writecb:null,writechunk:null,writeencoding:null};this._readableState.needReadable=true;this._readableState.sync=false;if(options){if(typeof options.transform==="function")this._transform=options.transform;if(typeof options.flush==="function")this._flush=options.flush}this.on("prefinish",prefinish)}function prefinish(){var _this=this;if(typeof this._flush==="function"&&!this._readableState.destroyed){this._flush((function(er,data){done(_this,er,data)}))}else{done(this,null,null)}}Transform.prototype.push=function(chunk,encoding){this._transformState.needTransform=false;return Duplex.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"))};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;ts.writecb=cb;ts.writechunk=chunk;ts.writeencoding=encoding;if(!ts.transforming){var rs=this._readableState;if(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)this._read(rs.highWaterMark)}};Transform.prototype._read=function(n){var ts=this._transformState;if(ts.writechunk!==null&&!ts.transforming){ts.transforming=true;this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)}else{ts.needTransform=true}};Transform.prototype._destroy=function(err,cb){Duplex.prototype._destroy.call(this,err,(function(err2){cb(err2)}))};function done(stream,er,data){if(er)return stream.emit("error",er);if(data!=null)stream.push(data);if(stream._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0;if(stream._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING;return stream.push(null)}},{"../errors":570,"./_stream_duplex":571,inherits:447}],575:[function(_dereq_,module,exports){(function(process,global){(function(){"use strict";module.exports=Writable;function WriteReq(chunk,encoding,cb){this.chunk=chunk;this.encoding=encoding;this.callback=cb;this.next=null}function CorkedRequest(state){var _this=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(_this,state)}}var Duplex;Writable.WritableState=WritableState;var internalUtil={deprecate:_dereq_("util-deprecate")};var Stream=_dereq_("./internal/streams/stream");var Buffer=_dereq_("buffer").Buffer;var OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer.from(chunk)}function _isUint8Array(obj){return Buffer.isBuffer(obj)||obj instanceof OurUint8Array}var destroyImpl=_dereq_("./internal/streams/destroy");var _require=_dereq_("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark;var _require$codes=_dereq_("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE=_require$codes.ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED,ERR_STREAM_NULL_VALUES=_require$codes.ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END=_require$codes.ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING=_require$codes.ERR_UNKNOWN_ENCODING;var errorOrDestroy=destroyImpl.errorOrDestroy;_dereq_("inherits")(Writable,Stream);function nop(){}function WritableState(options,stream,isDuplex){Duplex=Duplex||_dereq_("./_stream_duplex");options=options||{};if(typeof isDuplex!=="boolean")isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode;if(isDuplex)this.objectMode=this.objectMode||!!options.writableObjectMode;this.highWaterMark=getHighWaterMark(this,options,"writableHighWaterMark",isDuplex);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var noDecode=options.decodeStrings===false;this.decodeStrings=!noDecode;this.defaultEncoding=options.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(er){onwrite(stream,er)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.emitClose=options.emitClose!==false;this.autoDestroy=!!options.autoDestroy;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var current=this.bufferedRequest;var out=[];while(current){out.push(current);current=current.next}return out};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(_){}})();var realHasInstance;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){realHasInstance=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(object){if(realHasInstance.call(this,object))return true;if(this!==Writable)return false;return object&&object._writableState instanceof WritableState}})}else{realHasInstance=function realHasInstance(object){return object instanceof this}}function Writable(options){Duplex=Duplex||_dereq_("./_stream_duplex");var isDuplex=this instanceof Duplex;if(!isDuplex&&!realHasInstance.call(Writable,this))return new Writable(options);this._writableState=new WritableState(options,this,isDuplex);this.writable=true;if(options){if(typeof options.write==="function")this._write=options.write;if(typeof options.writev==="function")this._writev=options.writev;if(typeof options.destroy==="function")this._destroy=options.destroy;if(typeof options.final==="function")this._final=options.final}Stream.call(this)}Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE)};function writeAfterEnd(stream,cb){var er=new ERR_STREAM_WRITE_AFTER_END;errorOrDestroy(stream,er);process.nextTick(cb,er)}function validChunk(stream,state,chunk,cb){var er;if(chunk===null){er=new ERR_STREAM_NULL_VALUES}else if(typeof chunk!=="string"&&!state.objectMode){er=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer"],chunk)}if(er){errorOrDestroy(stream,er);process.nextTick(cb,er);return false}return true}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState;var ret=false;var isBuf=!state.objectMode&&_isUint8Array(chunk);if(isBuf&&!Buffer.isBuffer(chunk)){chunk=_uint8ArrayToBuffer(chunk)}if(typeof encoding==="function"){cb=encoding;encoding=null}if(isBuf)encoding="buffer";else if(!encoding)encoding=state.defaultEncoding;if(typeof cb!=="function")cb=nop;if(state.ending)writeAfterEnd(this,cb);else if(isBuf||validChunk(this,state,chunk,cb)){state.pendingcb++;ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)}return ret};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){var state=this._writableState;if(state.corked){state.corked--;if(!state.writing&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest)clearBuffer(this,state)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(encoding){if(typeof encoding==="string")encoding=encoding.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new ERR_UNKNOWN_ENCODING(encoding);this._writableState.defaultEncoding=encoding;return this};Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=Buffer.from(chunk,encoding)}return chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);if(chunk!==newChunk){isBuf=true;encoding="buffer";chunk=newChunk}}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(!ret)state.needDrain=true;if(state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk:chunk,encoding:encoding,isBuf:isBuf,callback:cb,next:null};if(last){last.next=state.lastBufferedRequest}else{state.bufferedRequest=state.lastBufferedRequest}state.bufferedRequestCount+=1}else{doWrite(stream,state,false,len,chunk,encoding,cb)}return ret}function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len;state.writecb=cb;state.writing=true;state.sync=true;if(state.destroyed)state.onwrite(new ERR_STREAM_DESTROYED("write"));else if(writev)stream._writev(chunk,state.onwrite);else stream._write(chunk,encoding,state.onwrite);state.sync=false}function onwriteError(stream,state,sync,er,cb){--state.pendingcb;if(sync){process.nextTick(cb,er);process.nextTick(finishMaybe,stream,state);stream._writableState.errorEmitted=true;errorOrDestroy(stream,er)}else{cb(er);stream._writableState.errorEmitted=true;errorOrDestroy(stream,er);finishMaybe(stream,state)}}function onwriteStateUpdate(state){state.writing=false;state.writecb=null;state.length-=state.writelen;state.writelen=0}function onwrite(stream,er){var state=stream._writableState;var sync=state.sync;var cb=state.writecb;if(typeof cb!=="function")throw new ERR_MULTIPLE_CALLBACK;onwriteStateUpdate(state);if(er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(state)||stream.destroyed;if(!finished&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest){clearBuffer(stream,state)}if(sync){process.nextTick(afterWrite,stream,state,finished,cb)}else{afterWrite(stream,state,finished,cb)}}}function afterWrite(stream,state,finished,cb){if(!finished)onwriteDrain(stream,state);state.pendingcb--;cb();finishMaybe(stream,state)}function onwriteDrain(stream,state){if(state.length===0&&state.needDrain){state.needDrain=false;stream.emit("drain")}}function clearBuffer(stream,state){state.bufferProcessing=true;var entry=state.bufferedRequest;if(stream._writev&&entry&&entry.next){var l=state.bufferedRequestCount;var buffer=new Array(l);var holder=state.corkedRequestsFree;holder.entry=entry;var count=0;var allBuffers=true;while(entry){buffer[count]=entry;if(!entry.isBuf)allBuffers=false;entry=entry.next;count+=1}buffer.allBuffers=allBuffers;doWrite(stream,state,true,state.length,buffer,"",holder.finish);state.pendingcb++;state.lastBufferedRequest=null;if(holder.next){state.corkedRequestsFree=holder.next;holder.next=null}else{state.corkedRequestsFree=new CorkedRequest(state)}state.bufferedRequestCount=0}else{while(entry){var chunk=entry.chunk;var encoding=entry.encoding;var cb=entry.callback;var len=state.objectMode?1:chunk.length;doWrite(stream,state,false,len,chunk,encoding,cb);entry=entry.next;state.bufferedRequestCount--;if(state.writing){break}}if(entry===null)state.lastBufferedRequest=null}state.bufferedRequest=entry;state.bufferProcessing=false}Writable.prototype._write=function(chunk,encoding,cb){cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"))};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;if(typeof chunk==="function"){cb=chunk;chunk=null;encoding=null}else if(typeof encoding==="function"){cb=encoding;encoding=null}if(chunk!==null&&chunk!==undefined)this.write(chunk,encoding);if(state.corked){state.corked=1;this.uncork()}if(!state.ending)endWritable(this,state,cb);return this};Object.defineProperty(Writable.prototype,"writableLength",{enumerable:false,get:function get(){return this._writableState.length}});function needFinish(state){return state.ending&&state.length===0&&state.bufferedRequest===null&&!state.finished&&!state.writing}function callFinal(stream,state){stream._final((function(err){state.pendingcb--;if(err){errorOrDestroy(stream,err)}state.prefinished=true;stream.emit("prefinish");finishMaybe(stream,state)}))}function prefinish(stream,state){if(!state.prefinished&&!state.finalCalled){if(typeof stream._final==="function"&&!state.destroyed){state.pendingcb++;state.finalCalled=true;process.nextTick(callFinal,stream,state)}else{state.prefinished=true;stream.emit("prefinish")}}}function finishMaybe(stream,state){var need=needFinish(state);if(need){prefinish(stream,state);if(state.pendingcb===0){state.finished=true;stream.emit("finish");if(state.autoDestroy){var rState=stream._readableState;if(!rState||rState.autoDestroy&&rState.endEmitted){stream.destroy()}}}}return need}function endWritable(stream,state,cb){state.ending=true;finishMaybe(stream,state);if(cb){if(state.finished)process.nextTick(cb);else stream.once("finish",cb)}state.ended=true;stream.writable=false}function onCorkedFinish(corkReq,state,err){var entry=corkReq.entry;corkReq.entry=null;while(entry){var cb=entry.callback;state.pendingcb--;cb(err);entry=entry.next}state.corkedRequestsFree.next=corkReq}Object.defineProperty(Writable.prototype,"destroyed",{enumerable:false,get:function get(){if(this._writableState===undefined){return false}return this._writableState.destroyed},set:function set(value){if(!this._writableState){return}this._writableState.destroyed=value}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err)}}).call(this)}).call(this,_dereq_("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"../errors":570,"./_stream_duplex":571,"./internal/streams/destroy":578,"./internal/streams/state":582,"./internal/streams/stream":583,_process:528,buffer:117,inherits:447,"util-deprecate":622}],576:[function(_dereq_,module,exports){(function(process){(function(){"use strict";var _Object$setPrototypeO;function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var finished=_dereq_("./end-of-stream");var kLastResolve=Symbol("lastResolve");var kLastReject=Symbol("lastReject");var kError=Symbol("error");var kEnded=Symbol("ended");var kLastPromise=Symbol("lastPromise");var kHandlePromise=Symbol("handlePromise");var kStream=Symbol("stream");function createIterResult(value,done){return{value:value,done:done}}function readAndResolve(iter){var resolve=iter[kLastResolve];if(resolve!==null){var data=iter[kStream].read();if(data!==null){iter[kLastPromise]=null;iter[kLastResolve]=null;iter[kLastReject]=null;resolve(createIterResult(data,false))}}}function onReadable(iter){process.nextTick(readAndResolve,iter)}function wrapForNext(lastPromise,iter){return function(resolve,reject){lastPromise.then((function(){if(iter[kEnded]){resolve(createIterResult(undefined,true));return}iter[kHandlePromise](resolve,reject)}),reject)}}var AsyncIteratorPrototype=Object.getPrototypeOf((function(){}));var ReadableStreamAsyncIteratorPrototype=Object.setPrototypeOf((_Object$setPrototypeO={get stream(){return this[kStream]},next:function next(){var _this=this;var error=this[kError];if(error!==null){return Promise.reject(error)}if(this[kEnded]){return Promise.resolve(createIterResult(undefined,true))}if(this[kStream].destroyed){return new Promise((function(resolve,reject){process.nextTick((function(){if(_this[kError]){reject(_this[kError])}else{resolve(createIterResult(undefined,true))}}))}))}var lastPromise=this[kLastPromise];var promise;if(lastPromise){promise=new Promise(wrapForNext(lastPromise,this))}else{var data=this[kStream].read();if(data!==null){return Promise.resolve(createIterResult(data,false))}promise=new Promise(this[kHandlePromise])}this[kLastPromise]=promise;return promise}},_defineProperty(_Object$setPrototypeO,Symbol.asyncIterator,(function(){return this})),_defineProperty(_Object$setPrototypeO,"return",(function _return(){var _this2=this;return new Promise((function(resolve,reject){_this2[kStream].destroy(null,(function(err){if(err){reject(err);return}resolve(createIterResult(undefined,true))}))}))})),_Object$setPrototypeO),AsyncIteratorPrototype);var createReadableStreamAsyncIterator=function createReadableStreamAsyncIterator(stream){var _Object$create;var iterator=Object.create(ReadableStreamAsyncIteratorPrototype,(_Object$create={},_defineProperty(_Object$create,kStream,{value:stream,writable:true}),_defineProperty(_Object$create,kLastResolve,{value:null,writable:true}),_defineProperty(_Object$create,kLastReject,{value:null,writable:true}),_defineProperty(_Object$create,kError,{value:null,writable:true}),_defineProperty(_Object$create,kEnded,{value:stream._readableState.endEmitted,writable:true}),_defineProperty(_Object$create,kHandlePromise,{value:function value(resolve,reject){var data=iterator[kStream].read();if(data){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(data,false))}else{iterator[kLastResolve]=resolve;iterator[kLastReject]=reject}},writable:true}),_Object$create));iterator[kLastPromise]=null;finished(stream,(function(err){if(err&&err.code!=="ERR_STREAM_PREMATURE_CLOSE"){var reject=iterator[kLastReject];if(reject!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;reject(err)}iterator[kError]=err;return}var resolve=iterator[kLastResolve];if(resolve!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(undefined,true))}iterator[kEnded]=true}));stream.on("readable",onReadable.bind(null,iterator));return iterator};module.exports=createReadableStreamAsyncIterator}).call(this)}).call(this,_dereq_("_process"))},{"./end-of-stream":579,_process:528}],577:[function(_dereq_,module,exports){"use strict";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var _require=_dereq_("buffer"),Buffer=_require.Buffer;var _require2=_dereq_("util"),inspect=_require2.inspect;var custom=inspect&&inspect.custom||"inspect";function copyBuffer(src,target,offset){Buffer.prototype.copy.call(src,target,offset)}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}_createClass(BufferList,[{key:"push",value:function push(v){var entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length}},{key:"unshift",value:function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length}},{key:"shift",value:function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret}},{key:"clear",value:function clear(){this.head=this.tail=null;this.length=0}},{key:"join",value:function join(s){if(this.length===0)return"";var p=this.head;var ret=""+p.data;while(p=p.next){ret+=s+p.data}return ret}},{key:"concat",value:function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next}return ret}},{key:"consume",value:function consume(n,hasStrings){var ret;if(n<this.head.data.length){ret=this.head.data.slice(0,n);this.head.data=this.head.data.slice(n)}else if(n===this.head.data.length){ret=this.shift()}else{ret=hasStrings?this._getString(n):this._getBuffer(n)}return ret}},{key:"first",value:function first(){return this.head.data}},{key:"_getString",value:function _getString(n){var p=this.head;var c=1;var ret=p.data;n-=ret.length;while(p=p.next){var str=p.data;var nb=n>str.length?str.length:n;if(nb===str.length)ret+=str;else ret+=str.slice(0,n);n-=nb;if(n===0){if(nb===str.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=str.slice(nb)}break}++c}this.length-=c;return ret}},{key:"_getBuffer",value:function _getBuffer(n){var ret=Buffer.allocUnsafe(n);var p=this.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=buf.slice(nb)}break}++c}this.length-=c;return ret}},{key:custom,value:function value(_,options){return inspect(this,_objectSpread({},options,{depth:0,customInspect:false}))}}]);return BufferList}()},{buffer:117,util:115}],578:[function(_dereq_,module,exports){(function(process){(function(){"use strict";function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err)}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(err||null,(function(err){if(!cb&&err){if(!_this._writableState){process.nextTick(emitErrorAndCloseNT,_this,err)}else if(!_this._writableState.errorEmitted){_this._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,_this,err)}else{process.nextTick(emitCloseNT,_this)}}else if(cb){process.nextTick(emitCloseNT,_this);cb(err)}else{process.nextTick(emitCloseNT,_this)}}));return this}function emitErrorAndCloseNT(self,err){emitErrorNT(self,err);emitCloseNT(self)}function emitCloseNT(self){if(self._writableState&&!self._writableState.emitClose)return;if(self._readableState&&!self._readableState.emitClose)return;self.emit("close")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(self,err){self.emit("error",err)}function errorOrDestroy(stream,err){var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit("error",err)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}}).call(this)}).call(this,_dereq_("_process"))},{_process:528}],579:[function(_dereq_,module,exports){"use strict";var ERR_STREAM_PREMATURE_CLOSE=_dereq_("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(callback){var called=false;return function(){if(called)return;called=true;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}callback.apply(this,args)}}function noop(){}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function eos(stream,opts,callback){if(typeof opts==="function")return eos(stream,null,opts);if(!opts)opts={};callback=once(callback||noop);var readable=opts.readable||opts.readable!==false&&stream.readable;var writable=opts.writable||opts.writable!==false&&stream.writable;var onlegacyfinish=function onlegacyfinish(){if(!stream.writable)onfinish()};var writableEnded=stream._writableState&&stream._writableState.finished;var onfinish=function onfinish(){writable=false;writableEnded=true;if(!readable)callback.call(stream)};var readableEnded=stream._readableState&&stream._readableState.endEmitted;var onend=function onend(){readable=false;readableEnded=true;if(!writable)callback.call(stream)};var onerror=function onerror(err){callback.call(stream,err)};var onclose=function onclose(){var err;if(readable&&!readableEnded){if(!stream._readableState||!stream._readableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}if(writable&&!writableEnded){if(!stream._writableState||!stream._writableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}};var onrequest=function onrequest(){stream.req.on("finish",onfinish)};if(isRequest(stream)){stream.on("complete",onfinish);stream.on("abort",onclose);if(stream.req)onrequest();else stream.on("request",onrequest)}else if(writable&&!stream._writableState){stream.on("end",onlegacyfinish);stream.on("close",onlegacyfinish)}stream.on("end",onend);stream.on("finish",onfinish);if(opts.error!==false)stream.on("error",onerror);stream.on("close",onclose);return function(){stream.removeListener("complete",onfinish);stream.removeListener("abort",onclose);stream.removeListener("request",onrequest);if(stream.req)stream.req.removeListener("finish",onfinish);stream.removeListener("end",onlegacyfinish);stream.removeListener("close",onlegacyfinish);stream.removeListener("finish",onfinish);stream.removeListener("end",onend);stream.removeListener("error",onerror);stream.removeListener("close",onclose)}}module.exports=eos},{"../../../errors":570}],580:[function(_dereq_,module,exports){module.exports=function(){throw new Error("Readable.from is not available in the browser")}},{}],581:[function(_dereq_,module,exports){"use strict";var eos;function once(callback){var called=false;return function(){if(called)return;called=true;callback.apply(void 0,arguments)}}var _require$codes=_dereq_("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(err){if(err)throw err}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function destroyer(stream,reading,writing,callback){callback=once(callback);var closed=false;stream.on("close",(function(){closed=true}));if(eos===undefined)eos=_dereq_("./end-of-stream");eos(stream,{readable:reading,writable:writing},(function(err){if(err)return callback(err);closed=true;callback()}));var destroyed=false;return function(err){if(closed)return;if(destroyed)return;destroyed=true;if(isRequest(stream))return stream.abort();if(typeof stream.destroy==="function")return stream.destroy();callback(err||new ERR_STREAM_DESTROYED("pipe"))}}function call(fn){fn()}function pipe(from,to){return from.pipe(to)}function popCallback(streams){if(!streams.length)return noop;if(typeof streams[streams.length-1]!=="function")return noop;return streams.pop()}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++){streams[_key]=arguments[_key]}var callback=popCallback(streams);if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2){throw new ERR_MISSING_ARGS("streams")}var error;var destroys=streams.map((function(stream,i){var reading=i<streams.length-1;var writing=i>0;return destroyer(stream,reading,writing,(function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error)}))}));return streams.reduce(pipe)}module.exports=pipeline},{"../../../errors":570,"./end-of-stream":579}],582:[function(_dereq_,module,exports){"use strict";var ERR_INVALID_OPT_VALUE=_dereq_("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:"highWaterMark";throw new ERR_INVALID_OPT_VALUE(name,hwm)}return Math.floor(hwm)}return state.objectMode?16:16*1024}module.exports={getHighWaterMark:getHighWaterMark}},{"../../../errors":570}],583:[function(_dereq_,module,exports){module.exports=_dereq_("events").EventEmitter},{events:116}],584:[function(_dereq_,module,exports){"use strict";var Buffer=_dereq_("safe-buffer").Buffer;var isEncoding=Buffer.isEncoding||function(encoding){encoding=""+encoding;switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(enc){if(!enc)return"utf8";var retried;while(true){switch(enc){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase();retried=true}}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!=="string"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;nb=4;break;case"utf8":this.fillLast=utf8FillLast;nb=4;break;case"base64":this.text=base64Text;this.end=base64End;nb=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return"";var r;var i;if(this.lastNeed){r=this.fillLast(buf);if(r===undefined)return"";i=this.lastNeed;this.lastNeed=0}else{i=0}if(i<buf.length)return r?r+this.text(buf,i):this.text(buf,i);return r||""};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length){buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length);this.lastNeed-=buf.length};function utf8CheckByte(byte){if(byte<=127)return 0;else if(byte>>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j<i||nb===-2)return 0;nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j<i||nb===-2)return 0;nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0){if(nb===2)nb=0;else self.lastNeed=nb-3}return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128){self.lastNeed=0;return"�"}if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128){self.lastNeed=1;return"�"}if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128){self.lastNeed=2;return"�"}}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,buf,p);if(r!==undefined)return r;if(this.lastNeed<=buf.length){buf.copy(this.lastChar,p,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,p,0,buf.length);this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);buf.copy(this.lastChar,0,end);return buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+"�";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=buf[buf.length-1];return buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString("base64",i);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=buf[buf.length-1]}else{this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1]}return buf.toString("base64",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}},{"safe-buffer":554}],585:[function(_dereq_,module,exports){(function(process,Buffer){(function(){var assert=_dereq_("assert");var debug=_dereq_("debug")("stream-parser");module.exports=Parser;var INIT=-1;var BUFFERING=0;var SKIPPING=1;var PASSTHROUGH=2;function Parser(stream){var isTransform=stream&&"function"==typeof stream._transform;var isWritable=stream&&"function"==typeof stream._write;if(!isTransform&&!isWritable)throw new Error("must pass a Writable or Transform stream in");debug("extending Parser into stream");stream._bytes=_bytes;stream._skipBytes=_skipBytes;if(isTransform)stream._passthrough=_passthrough;if(isTransform){stream._transform=transform}else{stream._write=write}}function init(stream){debug("initializing parser stream");stream._parserBytesLeft=0;stream._parserBuffers=[];stream._parserBuffered=0;stream._parserState=INIT;stream._parserCallback=null;if("function"==typeof stream.push){stream._parserOutput=stream.push.bind(stream)}stream._parserInit=true}function _bytes(n,fn){assert(!this._parserCallback,'there is already a "callback" set!');assert(isFinite(n)&&n>0,'can only buffer a finite number of bytes > 0, got "'+n+'"');if(!this._parserInit)init(this);debug("buffering %o bytes",n);this._parserBytesLeft=n;this._parserCallback=fn;this._parserState=BUFFERING}function _skipBytes(n,fn){assert(!this._parserCallback,'there is already a "callback" set!');assert(n>0,'can only skip > 0 bytes, got "'+n+'"');if(!this._parserInit)init(this);debug("skipping %o bytes",n);this._parserBytesLeft=n;this._parserCallback=fn;this._parserState=SKIPPING}function _passthrough(n,fn){assert(!this._parserCallback,'There is already a "callback" set!');assert(n>0,'can only pass through > 0 bytes, got "'+n+'"');if(!this._parserInit)init(this);debug("passing through %o bytes",n);this._parserBytesLeft=n;this._parserCallback=fn;this._parserState=PASSTHROUGH}function write(chunk,encoding,fn){if(!this._parserInit)init(this);debug("write(%o bytes)",chunk.length);if("function"==typeof encoding)fn=encoding;data(this,chunk,null,fn)}function transform(chunk,output,fn){if(!this._parserInit)init(this);debug("transform(%o bytes)",chunk.length);if("function"!=typeof output){output=this._parserOutput}data(this,chunk,output,fn)}function _data(stream,chunk,output,fn){if(stream._parserBytesLeft<=0){return fn(new Error("got data but not currently parsing anything"))}if(chunk.length<=stream._parserBytesLeft){return function(){return process(stream,chunk,output,fn)}}else{return function(){var b=chunk.slice(0,stream._parserBytesLeft);return process(stream,b,output,(function(err){if(err)return fn(err);if(chunk.length>b.length){return function(){return _data(stream,chunk.slice(b.length),output,fn)}}}))}}}function process(stream,chunk,output,fn){stream._parserBytesLeft-=chunk.length;debug("%o bytes left for stream piece",stream._parserBytesLeft);if(stream._parserState===BUFFERING){stream._parserBuffers.push(chunk);stream._parserBuffered+=chunk.length}else if(stream._parserState===PASSTHROUGH){output(chunk)}if(0===stream._parserBytesLeft){var cb=stream._parserCallback;if(cb&&stream._parserState===BUFFERING&&stream._parserBuffers.length>1){chunk=Buffer.concat(stream._parserBuffers,stream._parserBuffered)}if(stream._parserState!==BUFFERING){chunk=null}stream._parserCallback=null;stream._parserBuffered=0;stream._parserState=INIT;stream._parserBuffers.splice(0);if(cb){var args=[];if(chunk){args.push(chunk)}else{}if(output){args.push(output)}var async=cb.length>args.length;if(async){args.push(trampoline(fn))}var rtn=cb.apply(stream,args);if(!async||fn===rtn)return fn}}else{return fn}}var data=trampoline(_data);function trampoline(fn){return function(){var result=fn.apply(this,arguments);while("function"==typeof result){result=result()}return result}}}).call(this)}).call(this,_dereq_("_process"),_dereq_("buffer").Buffer)},{_process:528,assert:80,buffer:117,debug:586}],586:[function(_dereq_,module,exports){(function(process){(function(){exports=module.exports=_dereq_("./debug");exports.log=log;exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage();exports.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function useColors(){if(typeof window!=="undefined"&&window.process&&window.process.type==="renderer"){return true}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}exports.formatters.j=function(v){try{return JSON.stringify(v)}catch(err){return"[UnexpectedJSONParseError]: "+err.message}};function formatArgs(args){var useColors=this.useColors;args[0]=(useColors?"%c":"")+this.namespace+(useColors?" %c":" ")+args[0]+(useColors?"%c ":" ")+"+"+exports.humanize(this.diff);if(!useColors)return;var c="color: "+this.color;args.splice(1,0,c,"color: inherit");var index=0;var lastC=0;args[0].replace(/%[a-zA-Z%]/g,(function(match){if("%%"===match)return;index++;if("%c"===match){lastC=index}}));args.splice(lastC,0,c)}function log(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(namespaces){try{if(null==namespaces){exports.storage.removeItem("debug")}else{exports.storage.debug=namespaces}}catch(e){}}function load(){var r;try{r=exports.storage.debug}catch(e){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}exports.enable(load());function localstorage(){try{return window.localStorage}catch(e){}}}).call(this)}).call(this,_dereq_("_process"))},{"./debug":587,_process:528}],587:[function(_dereq_,module,exports){exports=module.exports=createDebug.debug=createDebug["default"]=createDebug;exports.coerce=coerce;exports.disable=disable;exports.enable=enable;exports.enabled=enabled;exports.humanize=_dereq_("ms");exports.names=[];exports.skips=[];exports.formatters={};var prevTime;function selectColor(namespace){var hash=0,i;for(i in namespace){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0}return exports.colors[Math.abs(hash)%exports.colors.length]}function createDebug(namespace){function debug(){if(!debug.enabled)return;var self=debug;var curr=+new Date;var ms=curr-(prevTime||curr);self.diff=ms;self.prev=prevTime;self.curr=curr;prevTime=curr;var args=new Array(arguments.length);for(var i=0;i<args.length;i++){args[i]=arguments[i]}args[0]=exports.coerce(args[0]);if("string"!==typeof args[0]){args.unshift("%O")}var index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(function(match,format){if(match==="%%")return match;index++;var formatter=exports.formatters[format];if("function"===typeof formatter){var val=args[index];match=formatter.call(self,val);args.splice(index,1);index--}return match}));exports.formatArgs.call(self,args);var logFn=debug.log||exports.log||console.log.bind(console);logFn.apply(self,args)}debug.namespace=namespace;debug.enabled=exports.enabled(namespace);debug.useColors=exports.useColors();debug.color=selectColor(namespace);if("function"===typeof exports.init){exports.init(debug)}return debug}function enable(namespaces){exports.save(namespaces);exports.names=[];exports.skips=[];var split=(typeof namespaces==="string"?namespaces:"").split(/[\s,]+/);var len=split.length;for(var i=0;i<len;i++){if(!split[i])continue;namespaces=split[i].replace(/\*/g,".*?");if(namespaces[0]==="-"){exports.skips.push(new RegExp("^"+namespaces.substr(1)+"$"))}else{exports.names.push(new RegExp("^"+namespaces+"$"))}}}function disable(){exports.enable("")}function enabled(name){var i,len;for(i=0,len=exports.skips.length;i<len;i++){if(exports.skips[i].test(name)){return false}}for(i=0,len=exports.names.length;i<len;i++){if(exports.names[i].test(name)){return true}}return false}function coerce(val){if(val instanceof Error)return val.stack||val.message;return val}},{ms:588}],588:[function(_dereq_,module,exports){var s=1e3;var m=s*60;var h=m*60;var d=h*24;var y=d*365.25;module.exports=function(val,options){options=options||{};var type=typeof val;if(type==="string"&&val.length>0){return parse(val)}else if(type==="number"&&isNaN(val)===false){return options.long?fmtLong(val):fmtShort(val)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse(str){str=String(str);if(str.length>100){return}var match=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);if(!match){return}var n=parseFloat(match[1]);var type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return undefined}}function fmtShort(ms){if(ms>=d){return Math.round(ms/d)+"d"}if(ms>=h){return Math.round(ms/h)+"h"}if(ms>=m){return Math.round(ms/m)+"m"}if(ms>=s){return Math.round(ms/s)+"s"}return ms+"ms"}function fmtLong(ms){return plural(ms,d,"day")||plural(ms,h,"hour")||plural(ms,m,"minute")||plural(ms,s,"second")||ms+" ms"}function plural(ms,n,name){if(ms<n){return}if(ms<n*1.5){return Math.floor(ms/n)+" "+name}return Math.ceil(ms/n)+" "+name+"s"}},{}],589:[function(_dereq_,module,exports){"use strict";var paren=_dereq_("parenthesis");module.exports=function splitBy(string,separator,o){if(string==null)throw Error("First argument should be a string");if(separator==null)throw Error("Separator should be a string or a RegExp");if(!o)o={};else if(typeof o==="string"||Array.isArray(o)){o={ignore:o}}if(o.escape==null)o.escape=true;if(o.ignore==null)o.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"];else{if(typeof o.ignore==="string"){o.ignore=[o.ignore]}o.ignore=o.ignore.map((function(pair){if(pair.length===1)pair=pair+pair;return pair}))}var tokens=paren.parse(string,{flat:true,brackets:o.ignore});var str=tokens[0];var parts=str.split(separator);if(o.escape){var cleanParts=[];for(var i=0;i<parts.length;i++){var prev=parts[i];var part=parts[i+1];if(prev[prev.length-1]==="\\"&&prev[prev.length-2]!=="\\"){cleanParts.push(prev+separator+part);i++}else{cleanParts.push(prev)}}parts=cleanParts}for(var i=0;i<parts.length;i++){tokens[0]=parts[i];parts[i]=paren.stringify(tokens,{flat:true})}return parts}},{parenthesis:491}],590:[function(_dereq_,module,exports){"use strict";module.exports=stronglyConnectedComponents;function stronglyConnectedComponents(adjList){var numVertices=adjList.length;var index=new Array(numVertices);var lowValue=new Array(numVertices);var active=new Array(numVertices);var child=new Array(numVertices);var scc=new Array(numVertices);var sccLinks=new Array(numVertices);for(var i=0;i<numVertices;++i){index[i]=-1;lowValue[i]=0;active[i]=false;child[i]=0;scc[i]=-1;sccLinks[i]=[]}var count=0;var components=[];var sccAdjList=[];function strongConnect(v){var S=[v],T=[v];index[v]=lowValue[v]=count;active[v]=true;count+=1;while(T.length>0){v=T[T.length-1];var e=adjList[v];if(child[v]<e.length){for(var i=child[v];i<e.length;++i){var u=e[i];if(index[u]<0){index[u]=lowValue[u]=count;active[u]=true;count+=1;S.push(u);T.push(u);break}else if(active[u]){lowValue[v]=Math.min(lowValue[v],lowValue[u])|0}if(scc[u]>=0){sccLinks[v].push(scc[u])}}child[v]=i}else{if(lowValue[v]===index[v]){var component=[];var links=[],linkCount=0;for(var i=S.length-1;i>=0;--i){var w=S[i];active[w]=false;component.push(w);links.push(sccLinks[w]);linkCount+=sccLinks[w].length;scc[w]=components.length;if(w===v){S.length=i;break}}components.push(component);var allLinks=new Array(linkCount);for(var i=0;i<links.length;i++){for(var j=0;j<links[i].length;j++){allLinks[--linkCount]=links[i][j]}}sccAdjList.push(allLinks)}T.pop()}}}for(var i=0;i<numVertices;++i){if(index[i]<0){strongConnect(i)}}var newE;for(var i=0;i<sccAdjList.length;i++){var e=sccAdjList[i];if(e.length===0)continue;e.sort((function(a,b){return a-b}));newE=[e[0]];for(var j=1;j<e.length;j++){if(e[j]!==e[j-1]){newE.push(e[j])}}sccAdjList[i]=newE}return{components:components,adjacencyList:sccAdjList}}},{}],591:[function(_dereq_,module,exports){"use strict";module.exports=surfaceNets;var generateContourExtractor=_dereq_("ndarray-extract-contour");var triangulateCube=_dereq_("triangulate-hypercube");var zeroCrossings=_dereq_("zero-crossings");function buildSurfaceNets(order,dtype){var dimension=order.length;var code=["'use strict';"];var funcName="surfaceNets"+order.join("_")+"d"+dtype;code.push("var contour=genContour({","order:[",order.join(),"],","scalarArguments: 3,","phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },");if(dtype==="generic"){code.push("getters:[0],")}var cubeArgs=[];var extraArgs=[];for(var i=0;i<dimension;++i){cubeArgs.push("d"+i);extraArgs.push("d"+i)}for(var i=0;i<1<<dimension;++i){cubeArgs.push("v"+i);extraArgs.push("v"+i)}for(var i=0;i<1<<dimension;++i){cubeArgs.push("p"+i);extraArgs.push("p"+i)}cubeArgs.push("a","b","c");extraArgs.push("a","c");code.push("vertex:function vertexFunc(",cubeArgs.join(),"){");var maskStr=[];for(var i=0;i<1<<dimension;++i){maskStr.push("(p"+i+"<<"+i+")")}code.push("var m=(",maskStr.join("+"),")|0;if(m===0||m===",(1<<(1<<dimension))-1,"){return}");var extraFuncs=[];var currentFunc=[];if(1<<(1<<dimension)<=128){code.push("switch(m){");currentFunc=code}else{code.push("switch(m>>>7){")}for(var i=0;i<1<<(1<<dimension);++i){if(1<<(1<<dimension)>128){if(i%128===0){if(extraFuncs.length>0){currentFunc.push("}}")}var efName="vExtra"+extraFuncs.length;code.push("case ",i>>>7,":",efName,"(m&0x7f,",extraArgs.join(),");break;");currentFunc=["function ",efName,"(m,",extraArgs.join(),"){switch(m){"];extraFuncs.push(currentFunc)}}currentFunc.push("case ",i&127,":");var crossings=new Array(dimension);var denoms=new Array(dimension);var crossingCount=new Array(dimension);var bias=new Array(dimension);var totalCrossings=0;for(var j=0;j<dimension;++j){crossings[j]=[];denoms[j]=[];crossingCount[j]=0;bias[j]=0}for(var j=0;j<1<<dimension;++j){for(var k=0;k<dimension;++k){var u=j^1<<k;if(u>j){continue}if(!(i&1<<u)!==!(i&1<<j)){var sign=1;if(i&1<<u){denoms[k].push("v"+u+"-v"+j)}else{denoms[k].push("v"+j+"-v"+u);sign=-sign}if(sign<0){crossings[k].push("-v"+j+"-v"+u);crossingCount[k]+=2}else{crossings[k].push("v"+j+"+v"+u);crossingCount[k]-=2}totalCrossings+=1;for(var l=0;l<dimension;++l){if(l===k){continue}if(u&1<<l){bias[l]+=1}else{bias[l]-=1}}}}}var vertexStr=[];for(var k=0;k<dimension;++k){if(crossings[k].length===0){vertexStr.push("d"+k+"-0.5")}else{var cStr="";if(crossingCount[k]<0){cStr=crossingCount[k]+"*c"}else if(crossingCount[k]>0){cStr="+"+crossingCount[k]+"*c"}var weight=.5*(crossings[k].length/totalCrossings);var shift=.5+.5*(bias[k]/totalCrossings);vertexStr.push("d"+k+"-"+shift+"-"+weight+"*("+crossings[k].join("+")+cStr+")/("+denoms[k].join("+")+")")}}currentFunc.push("a.push([",vertexStr.join(),"]);","break;")}code.push("}},");if(extraFuncs.length>0){currentFunc.push("}}")}var faceArgs=[];for(var i=0;i<1<<dimension-1;++i){faceArgs.push("v"+i)}faceArgs.push("c0","c1","p0","p1","a","b","c");code.push("cell:function cellFunc(",faceArgs.join(),"){");var facets=triangulateCube(dimension-1);code.push("if(p0){b.push(",facets.map((function(f){return"["+f.map((function(v){return"v"+v}))+"]"})).join(),")}else{b.push(",facets.map((function(f){var e=f.slice();e.reverse();return"["+e.map((function(v){return"v"+v}))+"]"})).join(),")}}});function ",funcName,"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ",funcName,";");for(var i=0;i<extraFuncs.length;++i){code.push(extraFuncs[i].join(""))}var proc=new Function("genContour",code.join(""));return proc(generateContourExtractor)}function mesh1D(array,level){var zc=zeroCrossings(array,level);var n=zc.length;var npos=new Array(n);var ncel=new Array(n);for(var i=0;i<n;++i){npos[i]=[zc[i]];ncel[i]=[i]}return{positions:npos,cells:ncel}}var CACHE={};function surfaceNets(array,level){if(array.dimension<=0){return{positions:[],cells:[]}}else if(array.dimension===1){return mesh1D(array,level)}var typesig=array.order.join()+"-"+array.dtype;var proc=CACHE[typesig];var level=+level||0;if(!proc){proc=CACHE[typesig]=buildSurfaceNets(array.order,array.dtype)}return proc(array,level)}},{"ndarray-extract-contour":475,"triangulate-hypercube":602,"zero-crossings":647}],592:[function(_dereq_,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"])_i["return"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}}();var TAU=Math.PI*2;var mapToEllipse=function mapToEllipse(_ref,rx,ry,cosphi,sinphi,centerx,centery){var x=_ref.x,y=_ref.y;x*=rx;y*=ry;var xp=cosphi*x-sinphi*y;var yp=sinphi*x+cosphi*y;return{x:xp+centerx,y:yp+centery}};var approxUnitArc=function approxUnitArc(ang1,ang2){var a=ang2===1.5707963267948966?.551915024494:ang2===-1.5707963267948966?-.551915024494:4/3*Math.tan(ang2/4);var x1=Math.cos(ang1);var y1=Math.sin(ang1);var x2=Math.cos(ang1+ang2);var y2=Math.sin(ang1+ang2);return[{x:x1-y1*a,y:y1+x1*a},{x:x2+y2*a,y:y2-x2*a},{x:x2,y:y2}]};var vectorAngle=function vectorAngle(ux,uy,vx,vy){var sign=ux*vy-uy*vx<0?-1:1;var dot=ux*vx+uy*vy;if(dot>1){dot=1}if(dot<-1){dot=-1}return sign*Math.acos(dot)};var getArcCenter=function getArcCenter(px,py,cx,cy,rx,ry,largeArcFlag,sweepFlag,sinphi,cosphi,pxp,pyp){var rxsq=Math.pow(rx,2);var rysq=Math.pow(ry,2);var pxpsq=Math.pow(pxp,2);var pypsq=Math.pow(pyp,2);var radicant=rxsq*rysq-rxsq*pypsq-rysq*pxpsq;if(radicant<0){radicant=0}radicant/=rxsq*pypsq+rysq*pxpsq;radicant=Math.sqrt(radicant)*(largeArcFlag===sweepFlag?-1:1);var centerxp=radicant*rx/ry*pyp;var centeryp=radicant*-ry/rx*pxp;var centerx=cosphi*centerxp-sinphi*centeryp+(px+cx)/2;var centery=sinphi*centerxp+cosphi*centeryp+(py+cy)/2;var vx1=(pxp-centerxp)/rx;var vy1=(pyp-centeryp)/ry;var vx2=(-pxp-centerxp)/rx;var vy2=(-pyp-centeryp)/ry;var ang1=vectorAngle(1,0,vx1,vy1);var ang2=vectorAngle(vx1,vy1,vx2,vy2);if(sweepFlag===0&&ang2>0){ang2-=TAU}if(sweepFlag===1&&ang2<0){ang2+=TAU}return[centerx,centery,ang1,ang2]};var arcToBezier=function arcToBezier(_ref2){var px=_ref2.px,py=_ref2.py,cx=_ref2.cx,cy=_ref2.cy,rx=_ref2.rx,ry=_ref2.ry,_ref2$xAxisRotation=_ref2.xAxisRotation,xAxisRotation=_ref2$xAxisRotation===undefined?0:_ref2$xAxisRotation,_ref2$largeArcFlag=_ref2.largeArcFlag,largeArcFlag=_ref2$largeArcFlag===undefined?0:_ref2$largeArcFlag,_ref2$sweepFlag=_ref2.sweepFlag,sweepFlag=_ref2$sweepFlag===undefined?0:_ref2$sweepFlag;var curves=[];if(rx===0||ry===0){return[]}var sinphi=Math.sin(xAxisRotation*TAU/360);var cosphi=Math.cos(xAxisRotation*TAU/360);var pxp=cosphi*(px-cx)/2+sinphi*(py-cy)/2;var pyp=-sinphi*(px-cx)/2+cosphi*(py-cy)/2;if(pxp===0&&pyp===0){return[]}rx=Math.abs(rx);ry=Math.abs(ry);var lambda=Math.pow(pxp,2)/Math.pow(rx,2)+Math.pow(pyp,2)/Math.pow(ry,2);if(lambda>1){rx*=Math.sqrt(lambda);ry*=Math.sqrt(lambda)}var _getArcCenter=getArcCenter(px,py,cx,cy,rx,ry,largeArcFlag,sweepFlag,sinphi,cosphi,pxp,pyp),_getArcCenter2=_slicedToArray(_getArcCenter,4),centerx=_getArcCenter2[0],centery=_getArcCenter2[1],ang1=_getArcCenter2[2],ang2=_getArcCenter2[3];var ratio=Math.abs(ang2)/(TAU/4);if(Math.abs(1-ratio)<1e-7){ratio=1}var segments=Math.max(Math.ceil(ratio),1);ang2/=segments;for(var i=0;i<segments;i++){curves.push(approxUnitArc(ang1,ang2));ang1+=ang2}return curves.map((function(curve){var _mapToEllipse=mapToEllipse(curve[0],rx,ry,cosphi,sinphi,centerx,centery),x1=_mapToEllipse.x,y1=_mapToEllipse.y;var _mapToEllipse2=mapToEllipse(curve[1],rx,ry,cosphi,sinphi,centerx,centery),x2=_mapToEllipse2.x,y2=_mapToEllipse2.y;var _mapToEllipse3=mapToEllipse(curve[2],rx,ry,cosphi,sinphi,centerx,centery),x=_mapToEllipse3.x,y=_mapToEllipse3.y;return{x1:x1,y1:y1,x2:x2,y2:y2,x:x,y:y}}))};exports.default=arcToBezier;module.exports=exports.default},{}],593:[function(_dereq_,module,exports){"use strict";var parse=_dereq_("parse-svg-path");var abs=_dereq_("abs-svg-path");var normalize=_dereq_("normalize-svg-path");var isSvgPath=_dereq_("is-svg-path");var assert=_dereq_("assert");module.exports=pathBounds;function pathBounds(path){if(Array.isArray(path)&&path.length===1&&typeof path[0]==="string")path=path[0];if(typeof path==="string"){assert(isSvgPath(path),"String is not an SVG path.");path=parse(path)}assert(Array.isArray(path),"Argument should be a string or an array of path segments.");path=abs(path);path=normalize(path);if(!path.length)return[0,0,0,0];var bounds=[Infinity,Infinity,-Infinity,-Infinity];for(var i=0,l=path.length;i<l;i++){var points=path[i].slice(1);for(var j=0;j<points.length;j+=2){if(points[j+0]<bounds[0])bounds[0]=points[j+0];if(points[j+1]<bounds[1])bounds[1]=points[j+1];if(points[j+0]>bounds[2])bounds[2]=points[j+0];if(points[j+1]>bounds[3])bounds[3]=points[j+1]}}return bounds}},{"abs-svg-path":71,assert:80,"is-svg-path":459,"normalize-svg-path":594,"parse-svg-path":493}],594:[function(_dereq_,module,exports){"use strict";module.exports=normalize;var arcToCurve=_dereq_("svg-arc-to-cubic-bezier");function normalize(path){var prev;var result=[];var bezierX=0;var bezierY=0;var startX=0;var startY=0;var quadX=null;var quadY=null;var x=0;var y=0;for(var i=0,len=path.length;i<len;i++){var seg=path[i];var command=seg[0];switch(command){case"M":startX=seg[1];startY=seg[2];break;case"A":var curves=arcToCurve({px:x,py:y,cx:seg[6],cy:seg[7],rx:seg[1],ry:seg[2],xAxisRotation:seg[3],largeArcFlag:seg[4],sweepFlag:seg[5]});if(!curves.length)continue;for(var j=0,c;j<curves.length;j++){c=curves[j];seg=["C",c.x1,c.y1,c.x2,c.y2,c.x,c.y];if(j<curves.length-1)result.push(seg)}break;case"S":var cx=x;var cy=y;if(prev=="C"||prev=="S"){cx+=cx-bezierX;cy+=cy-bezierY}seg=["C",cx,cy,seg[1],seg[2],seg[3],seg[4]];break;case"T":if(prev=="Q"||prev=="T"){quadX=x*2-quadX;quadY=y*2-quadY}else{quadX=x;quadY=y}seg=quadratic(x,y,quadX,quadY,seg[1],seg[2]);break;case"Q":quadX=seg[1];quadY=seg[2];seg=quadratic(x,y,seg[1],seg[2],seg[3],seg[4]);break;case"L":seg=line(x,y,seg[1],seg[2]);break;case"H":seg=line(x,y,seg[1],y);break;case"V":seg=line(x,y,x,seg[1]);break;case"Z":seg=line(x,y,startX,startY);break}prev=command;x=seg[seg.length-2];y=seg[seg.length-1];if(seg.length>4){bezierX=seg[seg.length-4];bezierY=seg[seg.length-3]}else{bezierX=x;bezierY=y}result.push(seg)}return result}function line(x1,y1,x2,y2){return["C",x1,y1,x2,y2,x2,y2]}function quadratic(x1,y1,cx,cy,x2,y2){return["C",x1/3+2/3*cx,y1/3+2/3*cy,x2/3+2/3*cx,y2/3+2/3*cy,x2,y2]}},{"svg-arc-to-cubic-bezier":592}],595:[function(_dereq_,module,exports){"use strict";var pathBounds=_dereq_("svg-path-bounds");var parsePath=_dereq_("parse-svg-path");var drawPath=_dereq_("draw-svg-path");var isSvgPath=_dereq_("is-svg-path");var bitmapSdf=_dereq_("bitmap-sdf");var canvas=document.createElement("canvas");var ctx=canvas.getContext("2d");module.exports=pathSdf;function pathSdf(path,options){if(!isSvgPath(path))throw Error("Argument should be valid svg path string");if(!options)options={};var w,h;if(options.shape){w=options.shape[0];h=options.shape[1]}else{w=canvas.width=options.w||options.width||200;h=canvas.height=options.h||options.height||200}var size=Math.min(w,h);var stroke=options.stroke||0;var viewbox=options.viewbox||options.viewBox||pathBounds(path);var scale=[w/(viewbox[2]-viewbox[0]),h/(viewbox[3]-viewbox[1])];var maxScale=Math.min(scale[0]||0,scale[1]||0)/2;ctx.fillStyle="black";ctx.fillRect(0,0,w,h);ctx.fillStyle="white";if(stroke){if(typeof stroke!="number")stroke=1;if(stroke>0){ctx.strokeStyle="white"}else{ctx.strokeStyle="black"}ctx.lineWidth=Math.abs(stroke)}ctx.translate(w*.5,h*.5);ctx.scale(maxScale,maxScale);if(isPath2DSupported()){var path2d=new Path2D(path);ctx.fill(path2d);stroke&&ctx.stroke(path2d)}else{var segments=parsePath(path);drawPath(ctx,segments);ctx.fill();stroke&&ctx.stroke()}ctx.setTransform(1,0,0,1,0,0);var data=bitmapSdf(ctx,{cutoff:options.cutoff!=null?options.cutoff:.5,radius:options.radius!=null?options.radius:size*.5});return data}var path2DSupported;function isPath2DSupported(){if(path2DSupported!=null)return path2DSupported;var ctx=document.createElement("canvas").getContext("2d");ctx.canvas.width=ctx.canvas.height=1;if(!window.Path2D)return path2DSupported=false;var path=new Path2D("M0,0h1v1h-1v-1Z");ctx.fillStyle="black";ctx.fill(path);var idata=ctx.getImageData(0,0,1,1);return path2DSupported=idata&&idata.data&&idata.data[3]===255}},{"bitmap-sdf":105,"draw-svg-path":183,"is-svg-path":459,"parse-svg-path":493,"svg-path-bounds":593}],596:[function(_dereq_,module,exports){(function(process){(function(){"use strict";module.exports=textGet;var vectorizeText=_dereq_("vectorize-text");var globals=window||process.global||{};var __TEXT_CACHE=globals.__TEXT_CACHE||{};globals.__TEXT_CACHE={};function unwrap(mesh){var cells=mesh.cells;var positions=mesh.positions;var data=new Float32Array(cells.length*6);var ptr=0;var shapeX=0;for(var i=0;i<cells.length;++i){var tri=cells[i];for(var j=0;j<3;++j){var point=positions[tri[j]];data[ptr++]=point[0];data[ptr++]=point[1]+1.4;shapeX=Math.max(point[0],shapeX)}}return{data:data,shape:shapeX}}function textGet(font,text,opts){var opts=opts||{};var fontcache=__TEXT_CACHE[font];if(!fontcache){fontcache=__TEXT_CACHE[font]={" ":{data:new Float32Array(0),shape:.2}}}var mesh=fontcache[text];if(!mesh){if(text.length<=1||!/\d/.test(text)){mesh=fontcache[text]=unwrap(vectorizeText(text,{triangles:true,font:font,textAlign:opts.textAlign||"left",textBaseline:"alphabetic",styletags:{breaklines:true,bolds:true,italics:true,subscripts:true,superscripts:true}}))}else{var parts=text.split(/(\d|\s)/);var buffer=new Array(parts.length);var bufferSize=0;var shapeX=0;for(var i=0;i<parts.length;++i){buffer[i]=textGet(font,parts[i]);bufferSize+=buffer[i].data.length;shapeX+=buffer[i].shape;if(i>0){shapeX+=.02}}var data=new Float32Array(bufferSize);var ptr=0;var xOffset=-.5*shapeX;for(var i=0;i<buffer.length;++i){var bdata=buffer[i].data;for(var j=0;j<bdata.length;j+=2){data[ptr++]=bdata[j]+xOffset;data[ptr++]=bdata[j+1]}xOffset+=buffer[i].shape+.02}mesh=fontcache[text]={data:data,shape:shapeX}}}return mesh}}).call(this)}).call(this,_dereq_("_process"))},{_process:528,"vectorize-text":623}],597:[function(_dereq_,module,exports){(function(setImmediate,clearImmediate){(function(){var nextTick=_dereq_("process/browser.js").nextTick;var apply=Function.prototype.apply;var slice=Array.prototype.slice;var immediateIds={};var nextImmediateId=0;exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)};exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)};exports.clearTimeout=exports.clearInterval=function(timeout){timeout.close()};function Timeout(id,clearFn){this._id=id;this._clearFn=clearFn}Timeout.prototype.unref=Timeout.prototype.ref=function(){};Timeout.prototype.close=function(){this._clearFn.call(window,this._id)};exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId);item._idleTimeout=msecs};exports.unenroll=function(item){clearTimeout(item._idleTimeoutId);item._idleTimeout=-1};exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;if(msecs>=0){item._idleTimeoutId=setTimeout((function onTimeout(){if(item._onTimeout)item._onTimeout()}),msecs)}};exports.setImmediate=typeof setImmediate==="function"?setImmediate:function(fn){var id=nextImmediateId++;var args=arguments.length<2?false:slice.call(arguments,1);immediateIds[id]=true;nextTick((function onNextTick(){if(immediateIds[id]){if(args){fn.apply(null,args)}else{fn.call(null)}exports.clearImmediate(id)}}));return id};exports.clearImmediate=typeof clearImmediate==="function"?clearImmediate:function(id){delete immediateIds[id]}}).call(this)}).call(this,_dereq_("timers").setImmediate,_dereq_("timers").clearImmediate)},{"process/browser.js":528,timers:597}],598:[function(_dereq_,module,exports){(function(Math){var trimLeft=/^\s+/,trimRight=/\s+$/,tinyCounter=0,mathRound=Math.round,mathMin=Math.min,mathMax=Math.max,mathRandom=Math.random;function tinycolor(color,opts){color=color?color:"";opts=opts||{};if(color instanceof tinycolor){return color}if(!(this instanceof tinycolor)){return new tinycolor(color,opts)}var rgb=inputToRGB(color);this._originalInput=color,this._r=rgb.r,this._g=rgb.g,this._b=rgb.b,this._a=rgb.a,this._roundA=mathRound(100*this._a)/100,this._format=opts.format||rgb.format;this._gradientType=opts.gradientType;if(this._r<1){this._r=mathRound(this._r)}if(this._g<1){this._g=mathRound(this._g)}if(this._b<1){this._b=mathRound(this._b)}this._ok=rgb.ok;this._tc_id=tinyCounter++}tinycolor.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var rgb=this.toRgb();return(rgb.r*299+rgb.g*587+rgb.b*114)/1e3},getLuminance:function(){var rgb=this.toRgb();var RsRGB,GsRGB,BsRGB,R,G,B;RsRGB=rgb.r/255;GsRGB=rgb.g/255;BsRGB=rgb.b/255;if(RsRGB<=.03928){R=RsRGB/12.92}else{R=Math.pow((RsRGB+.055)/1.055,2.4)}if(GsRGB<=.03928){G=GsRGB/12.92}else{G=Math.pow((GsRGB+.055)/1.055,2.4)}if(BsRGB<=.03928){B=BsRGB/12.92}else{B=Math.pow((BsRGB+.055)/1.055,2.4)}return.2126*R+.7152*G+.0722*B},setAlpha:function(value){this._a=boundAlpha(value);this._roundA=mathRound(100*this._a)/100;return this},toHsv:function(){var hsv=rgbToHsv(this._r,this._g,this._b);return{h:hsv.h*360,s:hsv.s,v:hsv.v,a:this._a}},toHsvString:function(){var hsv=rgbToHsv(this._r,this._g,this._b);var h=mathRound(hsv.h*360),s=mathRound(hsv.s*100),v=mathRound(hsv.v*100);return this._a==1?"hsv("+h+", "+s+"%, "+v+"%)":"hsva("+h+", "+s+"%, "+v+"%, "+this._roundA+")"},toHsl:function(){var hsl=rgbToHsl(this._r,this._g,this._b);return{h:hsl.h*360,s:hsl.s,l:hsl.l,a:this._a}},toHslString:function(){var hsl=rgbToHsl(this._r,this._g,this._b);var h=mathRound(hsl.h*360),s=mathRound(hsl.s*100),l=mathRound(hsl.l*100);return this._a==1?"hsl("+h+", "+s+"%, "+l+"%)":"hsla("+h+", "+s+"%, "+l+"%, "+this._roundA+")"},toHex:function(allow3Char){return rgbToHex(this._r,this._g,this._b,allow3Char)},toHexString:function(allow3Char){return"#"+this.toHex(allow3Char)},toHex8:function(allow4Char){return rgbaToHex(this._r,this._g,this._b,this._a,allow4Char)},toHex8String:function(allow4Char){return"#"+this.toHex8(allow4Char)},toRgb:function(){return{r:mathRound(this._r),g:mathRound(this._g),b:mathRound(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+mathRound(this._r)+", "+mathRound(this._g)+", "+mathRound(this._b)+")":"rgba("+mathRound(this._r)+", "+mathRound(this._g)+", "+mathRound(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:mathRound(bound01(this._r,255)*100)+"%",g:mathRound(bound01(this._g,255)*100)+"%",b:mathRound(bound01(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+mathRound(bound01(this._r,255)*100)+"%, "+mathRound(bound01(this._g,255)*100)+"%, "+mathRound(bound01(this._b,255)*100)+"%)":"rgba("+mathRound(bound01(this._r,255)*100)+"%, "+mathRound(bound01(this._g,255)*100)+"%, "+mathRound(bound01(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){if(this._a===0){return"transparent"}if(this._a<1){return false}return hexNames[rgbToHex(this._r,this._g,this._b,true)]||false},toFilter:function(secondColor){var hex8String="#"+rgbaToArgbHex(this._r,this._g,this._b,this._a);var secondHex8String=hex8String;var gradientType=this._gradientType?"GradientType = 1, ":"";if(secondColor){var s=tinycolor(secondColor);secondHex8String="#"+rgbaToArgbHex(s._r,s._g,s._b,s._a)}return"progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"},toString:function(format){var formatSet=!!format;format=format||this._format;var formattedString=false;var hasAlpha=this._a<1&&this._a>=0;var needsAlphaFormat=!formatSet&&hasAlpha&&(format==="hex"||format==="hex6"||format==="hex3"||format==="hex4"||format==="hex8"||format==="name");if(needsAlphaFormat){if(format==="name"&&this._a===0){return this.toName()}return this.toRgbString()}if(format==="rgb"){formattedString=this.toRgbString()}if(format==="prgb"){formattedString=this.toPercentageRgbString()}if(format==="hex"||format==="hex6"){formattedString=this.toHexString()}if(format==="hex3"){formattedString=this.toHexString(true)}if(format==="hex4"){formattedString=this.toHex8String(true)}if(format==="hex8"){formattedString=this.toHex8String()}if(format==="name"){formattedString=this.toName()}if(format==="hsl"){formattedString=this.toHslString()}if(format==="hsv"){formattedString=this.toHsvString()}return formattedString||this.toHexString()},clone:function(){return tinycolor(this.toString())},_applyModification:function(fn,args){var color=fn.apply(null,[this].concat([].slice.call(args)));this._r=color._r;this._g=color._g;this._b=color._b;this.setAlpha(color._a);return this},lighten:function(){return this._applyModification(lighten,arguments)},brighten:function(){return this._applyModification(brighten,arguments)},darken:function(){return this._applyModification(darken,arguments)},desaturate:function(){return this._applyModification(desaturate,arguments)},saturate:function(){return this._applyModification(saturate,arguments)},greyscale:function(){return this._applyModification(greyscale,arguments)},spin:function(){return this._applyModification(spin,arguments)},_applyCombination:function(fn,args){return fn.apply(null,[this].concat([].slice.call(args)))},analogous:function(){return this._applyCombination(analogous,arguments)},complement:function(){return this._applyCombination(complement,arguments)},monochromatic:function(){return this._applyCombination(monochromatic,arguments)},splitcomplement:function(){return this._applyCombination(splitcomplement,arguments)},triad:function(){return this._applyCombination(triad,arguments)},tetrad:function(){return this._applyCombination(tetrad,arguments)}};tinycolor.fromRatio=function(color,opts){if(typeof color=="object"){var newColor={};for(var i in color){if(color.hasOwnProperty(i)){if(i==="a"){newColor[i]=color[i]}else{newColor[i]=convertToPercentage(color[i])}}}color=newColor}return tinycolor(color,opts)};function inputToRGB(color){var rgb={r:0,g:0,b:0};var a=1;var s=null;var v=null;var l=null;var ok=false;var format=false;if(typeof color=="string"){color=stringInputToObject(color)}if(typeof color=="object"){if(isValidCSSUnit(color.r)&&isValidCSSUnit(color.g)&&isValidCSSUnit(color.b)){rgb=rgbToRgb(color.r,color.g,color.b);ok=true;format=String(color.r).substr(-1)==="%"?"prgb":"rgb"}else if(isValidCSSUnit(color.h)&&isValidCSSUnit(color.s)&&isValidCSSUnit(color.v)){s=convertToPercentage(color.s);v=convertToPercentage(color.v);rgb=hsvToRgb(color.h,s,v);ok=true;format="hsv"}else if(isValidCSSUnit(color.h)&&isValidCSSUnit(color.s)&&isValidCSSUnit(color.l)){s=convertToPercentage(color.s);l=convertToPercentage(color.l);rgb=hslToRgb(color.h,s,l);ok=true;format="hsl"}if(color.hasOwnProperty("a")){a=color.a}}a=boundAlpha(a);return{ok:ok,format:color.format||format,r:mathMin(255,mathMax(rgb.r,0)),g:mathMin(255,mathMax(rgb.g,0)),b:mathMin(255,mathMax(rgb.b,0)),a:a}}function rgbToRgb(r,g,b){return{r:bound01(r,255)*255,g:bound01(g,255)*255,b:bound01(b,255)*255}}function rgbToHsl(r,g,b){r=bound01(r,255);g=bound01(g,255);b=bound01(b,255);var max=mathMax(r,g,b),min=mathMin(r,g,b);var h,s,l=(max+min)/2;if(max==min){h=s=0}else{var d=max-min;s=l>.5?d/(2-max-min):d/(max+min);switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break}h/=6}return{h:h,s:s,l:l}}function hslToRgb(h,s,l){var r,g,b;h=bound01(h,360);s=bound01(s,100);l=bound01(l,100);function hue2rgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p}if(s===0){r=g=b=l}else{var q=l<.5?l*(1+s):l+s-l*s;var p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3)}return{r:r*255,g:g*255,b:b*255}}function rgbToHsv(r,g,b){r=bound01(r,255);g=bound01(g,255);b=bound01(b,255);var max=mathMax(r,g,b),min=mathMin(r,g,b);var h,s,v=max;var d=max-min;s=max===0?0:d/max;if(max==min){h=0}else{switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break}h/=6}return{h:h,s:s,v:v}}function hsvToRgb(h,s,v){h=bound01(h,360)*6;s=bound01(s,100);v=bound01(v,100);var i=Math.floor(h),f=h-i,p=v*(1-s),q=v*(1-f*s),t=v*(1-(1-f)*s),mod=i%6,r=[v,q,p,p,t,v][mod],g=[t,v,v,q,p,p][mod],b=[p,p,t,v,v,q][mod];return{r:r*255,g:g*255,b:b*255}}function rgbToHex(r,g,b,allow3Char){var hex=[pad2(mathRound(r).toString(16)),pad2(mathRound(g).toString(16)),pad2(mathRound(b).toString(16))];if(allow3Char&&hex[0].charAt(0)==hex[0].charAt(1)&&hex[1].charAt(0)==hex[1].charAt(1)&&hex[2].charAt(0)==hex[2].charAt(1)){return hex[0].charAt(0)+hex[1].charAt(0)+hex[2].charAt(0)}return hex.join("")}function rgbaToHex(r,g,b,a,allow4Char){var hex=[pad2(mathRound(r).toString(16)),pad2(mathRound(g).toString(16)),pad2(mathRound(b).toString(16)),pad2(convertDecimalToHex(a))];if(allow4Char&&hex[0].charAt(0)==hex[0].charAt(1)&&hex[1].charAt(0)==hex[1].charAt(1)&&hex[2].charAt(0)==hex[2].charAt(1)&&hex[3].charAt(0)==hex[3].charAt(1)){return hex[0].charAt(0)+hex[1].charAt(0)+hex[2].charAt(0)+hex[3].charAt(0)}return hex.join("")}function rgbaToArgbHex(r,g,b,a){var hex=[pad2(convertDecimalToHex(a)),pad2(mathRound(r).toString(16)),pad2(mathRound(g).toString(16)),pad2(mathRound(b).toString(16))];return hex.join("")}tinycolor.equals=function(color1,color2){if(!color1||!color2){return false}return tinycolor(color1).toRgbString()==tinycolor(color2).toRgbString()};tinycolor.random=function(){return tinycolor.fromRatio({r:mathRandom(),g:mathRandom(),b:mathRandom()})};function desaturate(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.s-=amount/100;hsl.s=clamp01(hsl.s);return tinycolor(hsl)}function saturate(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.s+=amount/100;hsl.s=clamp01(hsl.s);return tinycolor(hsl)}function greyscale(color){return tinycolor(color).desaturate(100)}function lighten(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.l+=amount/100;hsl.l=clamp01(hsl.l);return tinycolor(hsl)}function brighten(color,amount){amount=amount===0?0:amount||10;var rgb=tinycolor(color).toRgb();rgb.r=mathMax(0,mathMin(255,rgb.r-mathRound(255*-(amount/100))));rgb.g=mathMax(0,mathMin(255,rgb.g-mathRound(255*-(amount/100))));rgb.b=mathMax(0,mathMin(255,rgb.b-mathRound(255*-(amount/100))));return tinycolor(rgb)}function darken(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.l-=amount/100;hsl.l=clamp01(hsl.l);return tinycolor(hsl)}function spin(color,amount){var hsl=tinycolor(color).toHsl();var hue=(hsl.h+amount)%360;hsl.h=hue<0?360+hue:hue;return tinycolor(hsl)}function complement(color){var hsl=tinycolor(color).toHsl();hsl.h=(hsl.h+180)%360;return tinycolor(hsl)}function triad(color){var hsl=tinycolor(color).toHsl();var h=hsl.h;return[tinycolor(color),tinycolor({h:(h+120)%360,s:hsl.s,l:hsl.l}),tinycolor({h:(h+240)%360,s:hsl.s,l:hsl.l})]}function tetrad(color){var hsl=tinycolor(color).toHsl();var h=hsl.h;return[tinycolor(color),tinycolor({h:(h+90)%360,s:hsl.s,l:hsl.l}),tinycolor({h:(h+180)%360,s:hsl.s,l:hsl.l}),tinycolor({h:(h+270)%360,s:hsl.s,l:hsl.l})]}function splitcomplement(color){var hsl=tinycolor(color).toHsl();var h=hsl.h;return[tinycolor(color),tinycolor({h:(h+72)%360,s:hsl.s,l:hsl.l}),tinycolor({h:(h+216)%360,s:hsl.s,l:hsl.l})]}function analogous(color,results,slices){results=results||6;slices=slices||30;var hsl=tinycolor(color).toHsl();var part=360/slices;var ret=[tinycolor(color)];for(hsl.h=(hsl.h-(part*results>>1)+720)%360;--results;){hsl.h=(hsl.h+part)%360;ret.push(tinycolor(hsl))}return ret}function monochromatic(color,results){results=results||6;var hsv=tinycolor(color).toHsv();var h=hsv.h,s=hsv.s,v=hsv.v;var ret=[];var modification=1/results;while(results--){ret.push(tinycolor({h:h,s:s,v:v}));v=(v+modification)%1}return ret}tinycolor.mix=function(color1,color2,amount){amount=amount===0?0:amount||50;var rgb1=tinycolor(color1).toRgb();var rgb2=tinycolor(color2).toRgb();var p=amount/100;var rgba={r:(rgb2.r-rgb1.r)*p+rgb1.r,g:(rgb2.g-rgb1.g)*p+rgb1.g,b:(rgb2.b-rgb1.b)*p+rgb1.b,a:(rgb2.a-rgb1.a)*p+rgb1.a};return tinycolor(rgba)};tinycolor.readability=function(color1,color2){var c1=tinycolor(color1);var c2=tinycolor(color2);return(Math.max(c1.getLuminance(),c2.getLuminance())+.05)/(Math.min(c1.getLuminance(),c2.getLuminance())+.05)};tinycolor.isReadable=function(color1,color2,wcag2){var readability=tinycolor.readability(color1,color2);var wcag2Parms,out;out=false;wcag2Parms=validateWCAG2Parms(wcag2);switch(wcag2Parms.level+wcag2Parms.size){case"AAsmall":case"AAAlarge":out=readability>=4.5;break;case"AAlarge":out=readability>=3;break;case"AAAsmall":out=readability>=7;break}return out};tinycolor.mostReadable=function(baseColor,colorList,args){var bestColor=null;var bestScore=0;var readability;var includeFallbackColors,level,size;args=args||{};includeFallbackColors=args.includeFallbackColors;level=args.level;size=args.size;for(var i=0;i<colorList.length;i++){readability=tinycolor.readability(baseColor,colorList[i]);if(readability>bestScore){bestScore=readability;bestColor=tinycolor(colorList[i])}}if(tinycolor.isReadable(baseColor,bestColor,{level:level,size:size})||!includeFallbackColors){return bestColor}else{args.includeFallbackColors=false;return tinycolor.mostReadable(baseColor,["#fff","#000"],args)}};var names=tinycolor.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var hexNames=tinycolor.hexNames=flip(names);function flip(o){var flipped={};for(var i in o){if(o.hasOwnProperty(i)){flipped[o[i]]=i}}return flipped}function boundAlpha(a){a=parseFloat(a);if(isNaN(a)||a<0||a>1){a=1}return a}function bound01(n,max){if(isOnePointZero(n)){n="100%"}var processPercent=isPercentage(n);n=mathMin(max,mathMax(0,parseFloat(n)));if(processPercent){n=parseInt(n*max,10)/100}if(Math.abs(n-max)<1e-6){return 1}return n%max/parseFloat(max)}function clamp01(val){return mathMin(1,mathMax(0,val))}function parseIntFromHex(val){return parseInt(val,16)}function isOnePointZero(n){return typeof n=="string"&&n.indexOf(".")!=-1&&parseFloat(n)===1}function isPercentage(n){return typeof n==="string"&&n.indexOf("%")!=-1}function pad2(c){return c.length==1?"0"+c:""+c}function convertToPercentage(n){if(n<=1){n=n*100+"%"}return n}function convertDecimalToHex(d){return Math.round(parseFloat(d)*255).toString(16)}function convertHexToDecimal(h){return parseIntFromHex(h)/255}var matchers=function(){var CSS_INTEGER="[-\\+]?\\d+%?";var CSS_NUMBER="[-\\+]?\\d*\\.\\d+%?";var CSS_UNIT="(?:"+CSS_NUMBER+")|(?:"+CSS_INTEGER+")";var PERMISSIVE_MATCH3="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";var PERMISSIVE_MATCH4="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";return{CSS_UNIT:new RegExp(CSS_UNIT),rgb:new RegExp("rgb"+PERMISSIVE_MATCH3),rgba:new RegExp("rgba"+PERMISSIVE_MATCH4),hsl:new RegExp("hsl"+PERMISSIVE_MATCH3),hsla:new RegExp("hsla"+PERMISSIVE_MATCH4),hsv:new RegExp("hsv"+PERMISSIVE_MATCH3),hsva:new RegExp("hsva"+PERMISSIVE_MATCH4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function isValidCSSUnit(color){return!!matchers.CSS_UNIT.exec(color)}function stringInputToObject(color){color=color.replace(trimLeft,"").replace(trimRight,"").toLowerCase();var named=false;if(names[color]){color=names[color];named=true}else if(color=="transparent"){return{r:0,g:0,b:0,a:0,format:"name"}}var match;if(match=matchers.rgb.exec(color)){return{r:match[1],g:match[2],b:match[3]}}if(match=matchers.rgba.exec(color)){return{r:match[1],g:match[2],b:match[3],a:match[4]}}if(match=matchers.hsl.exec(color)){return{h:match[1],s:match[2],l:match[3]}}if(match=matchers.hsla.exec(color)){return{h:match[1],s:match[2],l:match[3],a:match[4]}}if(match=matchers.hsv.exec(color)){return{h:match[1],s:match[2],v:match[3]}}if(match=matchers.hsva.exec(color)){return{h:match[1],s:match[2],v:match[3],a:match[4]}}if(match=matchers.hex8.exec(color)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),a:convertHexToDecimal(match[4]),format:named?"name":"hex8"}}if(match=matchers.hex6.exec(color)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),format:named?"name":"hex"}}if(match=matchers.hex4.exec(color)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),a:convertHexToDecimal(match[4]+""+match[4]),format:named?"name":"hex8"}}if(match=matchers.hex3.exec(color)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),format:named?"name":"hex"}}return false}function validateWCAG2Parms(parms){var level,size;parms=parms||{level:"AA",size:"small"};level=(parms.level||"AA").toUpperCase();size=(parms.size||"small").toLowerCase();if(level!=="AA"&&level!=="AAA"){level="AA"}if(size!=="small"&&size!=="large"){size="small"}return{level:level,size:size}}if(typeof module!=="undefined"&&module.exports){module.exports=tinycolor}else if(typeof define==="function"&&define.amd){define((function(){return tinycolor}))}else{window.tinycolor=tinycolor}})(Math)},{}],599:[function(_dereq_,module,exports){"use strict";module.exports=float32;module.exports.float32=module.exports.float=float32;module.exports.fract32=module.exports.fract=fract32;var narr=new Float32Array(1);function fract32(arr,fract){if(arr.length){if(arr instanceof Float32Array)return new Float32Array(arr.length);if(!(fract instanceof Float32Array))fract=float32(arr);for(var i=0,l=fract.length;i<l;i++){fract[i]=arr[i]-fract[i]}return fract}return float32(arr-float32(arr))}function float32(arr){if(arr.length){if(arr instanceof Float32Array)return arr;return new Float32Array(arr)}narr[0]=arr;return narr[0]}},{}],600:[function(_dereq_,module,exports){"use strict";var parseUnit=_dereq_("parse-unit");module.exports=toPX;var PIXELS_PER_INCH=96;function getPropertyInPX(element,prop){var parts=parseUnit(getComputedStyle(element).getPropertyValue(prop));return parts[0]*toPX(parts[1],element)}function getSizeBrutal(unit,element){var testDIV=document.createElement("div");testDIV.style["font-size"]="128"+unit;element.appendChild(testDIV);var size=getPropertyInPX(testDIV,"font-size")/128;element.removeChild(testDIV);return size}function toPX(str,element){element=element||document.body;str=(str||"px").trim().toLowerCase();if(element===window||element===document){element=document.body}switch(str){case"%":return element.clientHeight/100;case"ch":case"ex":return getSizeBrutal(str,element);case"em":return getPropertyInPX(element,"font-size");case"rem":return getPropertyInPX(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return PIXELS_PER_INCH;case"cm":return PIXELS_PER_INCH/2.54;case"mm":return PIXELS_PER_INCH/25.4;case"pt":return PIXELS_PER_INCH/72;case"pc":return PIXELS_PER_INCH/6}return 1}},{"parse-unit":494}],601:[function(_dereq_,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.topojson=global.topojson||{}))})(this,(function(exports){"use strict";function identity(x){return x}function transform(transform){if(transform==null)return identity;var x0,y0,kx=transform.scale[0],ky=transform.scale[1],dx=transform.translate[0],dy=transform.translate[1];return function(input,i){if(!i)x0=y0=0;var j=2,n=input.length,output=new Array(n);output[0]=(x0+=input[0])*kx+dx;output[1]=(y0+=input[1])*ky+dy;while(j<n)output[j]=input[j],++j;return output}}function bbox(topology){var t=transform(topology.transform),key,x0=Infinity,y0=x0,x1=-x0,y1=-x0;function bboxPoint(p){p=t(p);if(p[0]<x0)x0=p[0];if(p[0]>x1)x1=p[0];if(p[1]<y0)y0=p[1];if(p[1]>y1)y1=p[1]}function bboxGeometry(o){switch(o.type){case"GeometryCollection":o.geometries.forEach(bboxGeometry);break;case"Point":bboxPoint(o.coordinates);break;case"MultiPoint":o.coordinates.forEach(bboxPoint);break}}topology.arcs.forEach((function(arc){var i=-1,n=arc.length,p;while(++i<n){p=t(arc[i],i);if(p[0]<x0)x0=p[0];if(p[0]>x1)x1=p[0];if(p[1]<y0)y0=p[1];if(p[1]>y1)y1=p[1]}}));for(key in topology.objects){bboxGeometry(topology.objects[key])}return[x0,y0,x1,y1]}function reverse(array,n){var t,j=array.length,i=j-n;while(i<--j)t=array[i],array[i++]=array[j],array[j]=t}function feature(topology,o){if(typeof o==="string")o=topology.objects[o];return o.type==="GeometryCollection"?{type:"FeatureCollection",features:o.geometries.map((function(o){return feature$1(topology,o)}))}:feature$1(topology,o)}function feature$1(topology,o){var id=o.id,bbox=o.bbox,properties=o.properties==null?{}:o.properties,geometry=object(topology,o);return id==null&&bbox==null?{type:"Feature",properties:properties,geometry:geometry}:bbox==null?{type:"Feature",id:id,properties:properties,geometry:geometry}:{type:"Feature",id:id,bbox:bbox,properties:properties,geometry:geometry}}function object(topology,o){var transformPoint=transform(topology.transform),arcs=topology.arcs;function arc(i,points){if(points.length)points.pop();for(var a=arcs[i<0?~i:i],k=0,n=a.length;k<n;++k){points.push(transformPoint(a[k],k))}if(i<0)reverse(points,n)}function point(p){return transformPoint(p)}function line(arcs){var points=[];for(var i=0,n=arcs.length;i<n;++i)arc(arcs[i],points);if(points.length<2)points.push(points[0]);return points}function ring(arcs){var points=line(arcs);while(points.length<4)points.push(points[0]);return points}function polygon(arcs){return arcs.map(ring)}function geometry(o){var type=o.type,coordinates;switch(type){case"GeometryCollection":return{type:type,geometries:o.geometries.map(geometry)};case"Point":coordinates=point(o.coordinates);break;case"MultiPoint":coordinates=o.coordinates.map(point);break;case"LineString":coordinates=line(o.arcs);break;case"MultiLineString":coordinates=o.arcs.map(line);break;case"Polygon":coordinates=polygon(o.arcs);break;case"MultiPolygon":coordinates=o.arcs.map(polygon);break;default:return null}return{type:type,coordinates:coordinates}}return geometry(o)}function stitch(topology,arcs){var stitchedArcs={},fragmentByStart={},fragmentByEnd={},fragments=[],emptyIndex=-1;arcs.forEach((function(i,j){var arc=topology.arcs[i<0?~i:i],t;if(arc.length<3&&!arc[1][0]&&!arc[1][1]){t=arcs[++emptyIndex],arcs[emptyIndex]=i,arcs[j]=t}}));arcs.forEach((function(i){var e=ends(i),start=e[0],end=e[1],f,g;if(f=fragmentByEnd[start]){delete fragmentByEnd[f.end];f.push(i);f.end=end;if(g=fragmentByStart[end]){delete fragmentByStart[g.start];var fg=g===f?f:f.concat(g);fragmentByStart[fg.start=f.start]=fragmentByEnd[fg.end=g.end]=fg}else{fragmentByStart[f.start]=fragmentByEnd[f.end]=f}}else if(f=fragmentByStart[end]){delete fragmentByStart[f.start];f.unshift(i);f.start=start;if(g=fragmentByEnd[start]){delete fragmentByEnd[g.end];var gf=g===f?f:g.concat(f);fragmentByStart[gf.start=g.start]=fragmentByEnd[gf.end=f.end]=gf}else{fragmentByStart[f.start]=fragmentByEnd[f.end]=f}}else{f=[i];fragmentByStart[f.start=start]=fragmentByEnd[f.end=end]=f}}));function ends(i){var arc=topology.arcs[i<0?~i:i],p0=arc[0],p1;if(topology.transform)p1=[0,0],arc.forEach((function(dp){p1[0]+=dp[0],p1[1]+=dp[1]}));else p1=arc[arc.length-1];return i<0?[p1,p0]:[p0,p1]}function flush(fragmentByEnd,fragmentByStart){for(var k in fragmentByEnd){var f=fragmentByEnd[k];delete fragmentByStart[f.start];delete f.start;delete f.end;f.forEach((function(i){stitchedArcs[i<0?~i:i]=1}));fragments.push(f)}}flush(fragmentByEnd,fragmentByStart);flush(fragmentByStart,fragmentByEnd);arcs.forEach((function(i){if(!stitchedArcs[i<0?~i:i])fragments.push([i])}));return fragments}function mesh(topology){return object(topology,meshArcs.apply(this,arguments))}function meshArcs(topology,object,filter){var arcs,i,n;if(arguments.length>1)arcs=extractArcs(topology,object,filter);else for(i=0,arcs=new Array(n=topology.arcs.length);i<n;++i)arcs[i]=i;return{type:"MultiLineString",arcs:stitch(topology,arcs)}}function extractArcs(topology,object,filter){var arcs=[],geomsByArc=[],geom;function extract0(i){var j=i<0?~i:i;(geomsByArc[j]||(geomsByArc[j]=[])).push({i:i,g:geom})}function extract1(arcs){arcs.forEach(extract0)}function extract2(arcs){arcs.forEach(extract1)}function extract3(arcs){arcs.forEach(extract2)}function geometry(o){switch(geom=o,o.type){case"GeometryCollection":o.geometries.forEach(geometry);break;case"LineString":extract1(o.arcs);break;case"MultiLineString":case"Polygon":extract2(o.arcs);break;case"MultiPolygon":extract3(o.arcs);break}}geometry(object);geomsByArc.forEach(filter==null?function(geoms){arcs.push(geoms[0].i)}:function(geoms){if(filter(geoms[0].g,geoms[geoms.length-1].g))arcs.push(geoms[0].i)});return arcs}function planarRingArea(ring){var i=-1,n=ring.length,a,b=ring[n-1],area=0;while(++i<n)a=b,b=ring[i],area+=a[0]*b[1]-a[1]*b[0];return Math.abs(area)}function merge(topology){return object(topology,mergeArcs.apply(this,arguments))}function mergeArcs(topology,objects){var polygonsByArc={},polygons=[],groups=[];objects.forEach(geometry);function geometry(o){switch(o.type){case"GeometryCollection":o.geometries.forEach(geometry);break;case"Polygon":extract(o.arcs);break;case"MultiPolygon":o.arcs.forEach(extract);break}}function extract(polygon){polygon.forEach((function(ring){ring.forEach((function(arc){(polygonsByArc[arc=arc<0?~arc:arc]||(polygonsByArc[arc]=[])).push(polygon)}))}));polygons.push(polygon)}function area(ring){return planarRingArea(object(topology,{type:"Polygon",arcs:[ring]}).coordinates[0])}polygons.forEach((function(polygon){if(!polygon._){var group=[],neighbors=[polygon];polygon._=1;groups.push(group);while(polygon=neighbors.pop()){group.push(polygon);polygon.forEach((function(ring){ring.forEach((function(arc){polygonsByArc[arc<0?~arc:arc].forEach((function(polygon){if(!polygon._){polygon._=1;neighbors.push(polygon)}}))}))}))}}}));polygons.forEach((function(polygon){delete polygon._}));return{type:"MultiPolygon",arcs:groups.map((function(polygons){var arcs=[],n;polygons.forEach((function(polygon){polygon.forEach((function(ring){ring.forEach((function(arc){if(polygonsByArc[arc<0?~arc:arc].length<2){arcs.push(arc)}}))}))}));arcs=stitch(topology,arcs);if((n=arcs.length)>1){for(var i=1,k=area(arcs[0]),ki,t;i<n;++i){if((ki=area(arcs[i]))>k){t=arcs[0],arcs[0]=arcs[i],arcs[i]=t,k=ki}}}return arcs})).filter((function(arcs){return arcs.length>0}))}}function bisect(a,x){var lo=0,hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(a[mid]<x)lo=mid+1;else hi=mid}return lo}function neighbors(objects){var indexesByArc={},neighbors=objects.map((function(){return[]}));function line(arcs,i){arcs.forEach((function(a){if(a<0)a=~a;var o=indexesByArc[a];if(o)o.push(i);else indexesByArc[a]=[i]}))}function polygon(arcs,i){arcs.forEach((function(arc){line(arc,i)}))}function geometry(o,i){if(o.type==="GeometryCollection")o.geometries.forEach((function(o){geometry(o,i)}));else if(o.type in geometryType)geometryType[o.type](o.arcs,i)}var geometryType={LineString:line,MultiLineString:polygon,Polygon:polygon,MultiPolygon:function(arcs,i){arcs.forEach((function(arc){polygon(arc,i)}))}};objects.forEach(geometry);for(var i in indexesByArc){for(var indexes=indexesByArc[i],m=indexes.length,j=0;j<m;++j){for(var k=j+1;k<m;++k){var ij=indexes[j],ik=indexes[k],n;if((n=neighbors[ij])[i=bisect(n,ik)]!==ik)n.splice(i,0,ik);if((n=neighbors[ik])[i=bisect(n,ij)]!==ij)n.splice(i,0,ij)}}}return neighbors}function untransform(transform){if(transform==null)return identity;var x0,y0,kx=transform.scale[0],ky=transform.scale[1],dx=transform.translate[0],dy=transform.translate[1];return function(input,i){if(!i)x0=y0=0;var j=2,n=input.length,output=new Array(n),x1=Math.round((input[0]-dx)/kx),y1=Math.round((input[1]-dy)/ky);output[0]=x1-x0,x0=x1;output[1]=y1-y0,y0=y1;while(j<n)output[j]=input[j],++j;return output}}function quantize(topology,transform){if(topology.transform)throw new Error("already quantized");if(!transform||!transform.scale){if(!((n=Math.floor(transform))>=2))throw new Error("n must be ≥2");box=topology.bbox||bbox(topology);var x0=box[0],y0=box[1],x1=box[2],y1=box[3],n;transform={scale:[x1-x0?(x1-x0)/(n-1):1,y1-y0?(y1-y0)/(n-1):1],translate:[x0,y0]}}else{box=topology.bbox}var t=untransform(transform),box,key,inputs=topology.objects,outputs={};function quantizePoint(point){return t(point)}function quantizeGeometry(input){var output;switch(input.type){case"GeometryCollection":output={type:"GeometryCollection",geometries:input.geometries.map(quantizeGeometry)};break;case"Point":output={type:"Point",coordinates:quantizePoint(input.coordinates)};break;case"MultiPoint":output={type:"MultiPoint",coordinates:input.coordinates.map(quantizePoint)};break;default:return input}if(input.id!=null)output.id=input.id;if(input.bbox!=null)output.bbox=input.bbox;if(input.properties!=null)output.properties=input.properties;return output}function quantizeArc(input){var i=0,j=1,n=input.length,p,output=new Array(n);output[0]=t(input[0],0);while(++i<n)if((p=t(input[i],i))[0]||p[1])output[j++]=p;if(j===1)output[j++]=[0,0];output.length=j;return output}for(key in inputs)outputs[key]=quantizeGeometry(inputs[key]);return{type:"Topology",bbox:box,transform:transform,objects:outputs,arcs:topology.arcs.map(quantizeArc)}}exports.bbox=bbox;exports.feature=feature;exports.merge=merge;exports.mergeArcs=mergeArcs;exports.mesh=mesh;exports.meshArcs=meshArcs;exports.neighbors=neighbors;exports.quantize=quantize;exports.transform=transform;exports.untransform=untransform;Object.defineProperty(exports,"__esModule",{value:true})}))},{}],602:[function(_dereq_,module,exports){"use strict";module.exports=triangulateCube;var perm=_dereq_("permutation-rank");var sgn=_dereq_("permutation-parity");var gamma=_dereq_("gamma");function triangulateCube(dimension){if(dimension<0){return[]}if(dimension===0){return[[0]]}var dfactorial=Math.round(gamma(dimension+1))|0;var result=[];for(var i=0;i<dfactorial;++i){var p=perm.unrank(dimension,i);var cell=[0];var v=0;for(var j=0;j<p.length;++j){v+=1<<p[j];cell.push(v)}if(sgn(p)<1){cell[0]=v;cell[dimension]=0}result.push(cell)}return result}},{gamma:256,"permutation-parity":496,"permutation-rank":497}],603:[function(_dereq_,module,exports){"use strict";module.exports=createTurntableController;var filterVector=_dereq_("filtered-vector");var invert44=_dereq_("gl-mat4/invert");var rotateM=_dereq_("gl-mat4/rotate");var cross=_dereq_("gl-vec3/cross");var normalize3=_dereq_("gl-vec3/normalize");var dot3=_dereq_("gl-vec3/dot");function len3(x,y,z){return Math.sqrt(Math.pow(x,2)+Math.pow(y,2)+Math.pow(z,2))}function clamp1(x){return Math.min(1,Math.max(-1,x))}function findOrthoPair(v){var vx=Math.abs(v[0]);var vy=Math.abs(v[1]);var vz=Math.abs(v[2]);var u=[0,0,0];if(vx>Math.max(vy,vz)){u[2]=1}else if(vy>Math.max(vx,vz)){u[0]=1}else{u[1]=1}var vv=0;var uv=0;for(var i=0;i<3;++i){vv+=v[i]*v[i];uv+=u[i]*v[i]}for(var i=0;i<3;++i){u[i]-=uv/vv*v[i]}normalize3(u,u);return u}function TurntableController(zoomMin,zoomMax,center,up,right,radius,theta,phi){this.center=filterVector(center);this.up=filterVector(up);this.right=filterVector(right);this.radius=filterVector([radius]);this.angle=filterVector([theta,phi]);this.angle.bounds=[[-Infinity,-Math.PI/2],[Infinity,Math.PI/2]];this.setDistanceLimits(zoomMin,zoomMax);this.computedCenter=this.center.curve(0);this.computedUp=this.up.curve(0);this.computedRight=this.right.curve(0);this.computedRadius=this.radius.curve(0);this.computedAngle=this.angle.curve(0);this.computedToward=[0,0,0];this.computedEye=[0,0,0];this.computedMatrix=new Array(16);for(var i=0;i<16;++i){this.computedMatrix[i]=.5}this.recalcMatrix(0)}var proto=TurntableController.prototype;proto.setDistanceLimits=function(minDist,maxDist){if(minDist>0){minDist=Math.log(minDist)}else{minDist=-Infinity}if(maxDist>0){maxDist=Math.log(maxDist)}else{maxDist=Infinity}maxDist=Math.max(maxDist,minDist);this.radius.bounds[0][0]=minDist;this.radius.bounds[1][0]=maxDist};proto.getDistanceLimits=function(out){var bounds=this.radius.bounds[0];if(out){out[0]=Math.exp(bounds[0][0]);out[1]=Math.exp(bounds[1][0]);return out}return[Math.exp(bounds[0][0]),Math.exp(bounds[1][0])]};proto.recalcMatrix=function(t){this.center.curve(t);this.up.curve(t);this.right.curve(t);this.radius.curve(t);this.angle.curve(t);var up=this.computedUp;var right=this.computedRight;var uu=0;var ur=0;for(var i=0;i<3;++i){ur+=up[i]*right[i];uu+=up[i]*up[i]}var ul=Math.sqrt(uu);var rr=0;for(var i=0;i<3;++i){right[i]-=up[i]*ur/uu;rr+=right[i]*right[i];up[i]/=ul}var rl=Math.sqrt(rr);for(var i=0;i<3;++i){right[i]/=rl}var toward=this.computedToward;cross(toward,up,right);normalize3(toward,toward);var radius=Math.exp(this.computedRadius[0]);var theta=this.computedAngle[0];var phi=this.computedAngle[1];var ctheta=Math.cos(theta);var stheta=Math.sin(theta);var cphi=Math.cos(phi);var sphi=Math.sin(phi);var center=this.computedCenter;var wx=ctheta*cphi;var wy=stheta*cphi;var wz=sphi;var sx=-ctheta*sphi;var sy=-stheta*sphi;var sz=cphi;var eye=this.computedEye;var mat=this.computedMatrix;for(var i=0;i<3;++i){var x=wx*right[i]+wy*toward[i]+wz*up[i];mat[4*i+1]=sx*right[i]+sy*toward[i]+sz*up[i];mat[4*i+2]=x;mat[4*i+3]=0}var ax=mat[1];var ay=mat[5];var az=mat[9];var bx=mat[2];var by=mat[6];var bz=mat[10];var cx=ay*bz-az*by;var cy=az*bx-ax*bz;var cz=ax*by-ay*bx;var cl=len3(cx,cy,cz);cx/=cl;cy/=cl;cz/=cl;mat[0]=cx;mat[4]=cy;mat[8]=cz;for(var i=0;i<3;++i){eye[i]=center[i]+mat[2+4*i]*radius}for(var i=0;i<3;++i){var rr=0;for(var j=0;j<3;++j){rr+=mat[i+4*j]*eye[j]}mat[12+i]=-rr}mat[15]=1};proto.getMatrix=function(t,result){this.recalcMatrix(t);var mat=this.computedMatrix;if(result){for(var i=0;i<16;++i){result[i]=mat[i]}return result}return mat};var zAxis=[0,0,0];proto.rotate=function(t,dtheta,dphi,droll){this.angle.move(t,dtheta,dphi);if(droll){this.recalcMatrix(t);var mat=this.computedMatrix;zAxis[0]=mat[2];zAxis[1]=mat[6];zAxis[2]=mat[10];var up=this.computedUp;var right=this.computedRight;var toward=this.computedToward;for(var i=0;i<3;++i){mat[4*i]=up[i];mat[4*i+1]=right[i];mat[4*i+2]=toward[i]}rotateM(mat,mat,droll,zAxis);for(var i=0;i<3;++i){up[i]=mat[4*i];right[i]=mat[4*i+1]}this.up.set(t,up[0],up[1],up[2]);this.right.set(t,right[0],right[1],right[2])}};proto.pan=function(t,dx,dy,dz){dx=dx||0;dy=dy||0;dz=dz||0;this.recalcMatrix(t);var mat=this.computedMatrix;var dist=Math.exp(this.computedRadius[0]);var ux=mat[1];var uy=mat[5];var uz=mat[9];var ul=len3(ux,uy,uz);ux/=ul;uy/=ul;uz/=ul;var rx=mat[0];var ry=mat[4];var rz=mat[8];var ru=rx*ux+ry*uy+rz*uz;rx-=ux*ru;ry-=uy*ru;rz-=uz*ru;var rl=len3(rx,ry,rz);rx/=rl;ry/=rl;rz/=rl;var vx=rx*dx+ux*dy;var vy=ry*dx+uy*dy;var vz=rz*dx+uz*dy;this.center.move(t,vx,vy,vz);var radius=Math.exp(this.computedRadius[0]);radius=Math.max(1e-4,radius+dz);this.radius.set(t,Math.log(radius))};proto.translate=function(t,dx,dy,dz){this.center.move(t,dx||0,dy||0,dz||0)};proto.setMatrix=function(t,mat,axes,noSnap){var ushift=1;if(typeof axes==="number"){ushift=axes|0}if(ushift<0||ushift>3){ushift=1}var vshift=(ushift+2)%3;var fshift=(ushift+1)%3;if(!mat){this.recalcMatrix(t);mat=this.computedMatrix}var ux=mat[ushift];var uy=mat[ushift+4];var uz=mat[ushift+8];if(!noSnap){var ul=len3(ux,uy,uz);ux/=ul;uy/=ul;uz/=ul}else{var ax=Math.abs(ux);var ay=Math.abs(uy);var az=Math.abs(uz);var am=Math.max(ax,ay,az);if(ax===am){ux=ux<0?-1:1;uy=uz=0}else if(az===am){uz=uz<0?-1:1;ux=uy=0}else{uy=uy<0?-1:1;ux=uz=0}}var rx=mat[vshift];var ry=mat[vshift+4];var rz=mat[vshift+8];var ru=rx*ux+ry*uy+rz*uz;rx-=ux*ru;ry-=uy*ru;rz-=uz*ru;var rl=len3(rx,ry,rz);rx/=rl;ry/=rl;rz/=rl;var fx=uy*rz-uz*ry;var fy=uz*rx-ux*rz;var fz=ux*ry-uy*rx;var fl=len3(fx,fy,fz);fx/=fl;fy/=fl;fz/=fl;this.center.jump(t,ex,ey,ez);this.radius.idle(t);this.up.jump(t,ux,uy,uz);this.right.jump(t,rx,ry,rz);var phi,theta;if(ushift===2){var cx=mat[1];var cy=mat[5];var cz=mat[9];var cr=cx*rx+cy*ry+cz*rz;var cf=cx*fx+cy*fy+cz*fz;if(tu<0){phi=-Math.PI/2}else{phi=Math.PI/2}theta=Math.atan2(cf,cr)}else{var tx=mat[2];var ty=mat[6];var tz=mat[10];var tu=tx*ux+ty*uy+tz*uz;var tr=tx*rx+ty*ry+tz*rz;var tf=tx*fx+ty*fy+tz*fz;phi=Math.asin(clamp1(tu));theta=Math.atan2(tf,tr)}this.angle.jump(t,theta,phi);this.recalcMatrix(t);var dx=mat[2];var dy=mat[6];var dz=mat[10];var imat=this.computedMatrix;invert44(imat,mat);var w=imat[15];var ex=imat[12]/w;var ey=imat[13]/w;var ez=imat[14]/w;var gs=Math.exp(this.computedRadius[0]);this.center.jump(t,ex-dx*gs,ey-dy*gs,ez-dz*gs)};proto.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())};proto.idle=function(t){this.center.idle(t);this.up.idle(t);this.right.idle(t);this.radius.idle(t);this.angle.idle(t)};proto.flush=function(t){this.center.flush(t);this.up.flush(t);this.right.flush(t);this.radius.flush(t);this.angle.flush(t)};proto.setDistance=function(t,d){if(d>0){this.radius.set(t,Math.log(d))}};proto.lookAt=function(t,eye,center,up){this.recalcMatrix(t);eye=eye||this.computedEye;center=center||this.computedCenter;up=up||this.computedUp;var ux=up[0];var uy=up[1];var uz=up[2];var ul=len3(ux,uy,uz);if(ul<1e-6){return}ux/=ul;uy/=ul;uz/=ul;var tx=eye[0]-center[0];var ty=eye[1]-center[1];var tz=eye[2]-center[2];var tl=len3(tx,ty,tz);if(tl<1e-6){return}tx/=tl;ty/=tl;tz/=tl;var right=this.computedRight;var rx=right[0];var ry=right[1];var rz=right[2];var ru=ux*rx+uy*ry+uz*rz;rx-=ru*ux;ry-=ru*uy;rz-=ru*uz;var rl=len3(rx,ry,rz);if(rl<.01){rx=uy*tz-uz*ty;ry=uz*tx-ux*tz;rz=ux*ty-uy*tx;rl=len3(rx,ry,rz);if(rl<1e-6){return}}rx/=rl;ry/=rl;rz/=rl;this.up.set(t,ux,uy,uz);this.right.set(t,rx,ry,rz);this.center.set(t,center[0],center[1],center[2]);this.radius.set(t,Math.log(tl));var fx=uy*rz-uz*ry;var fy=uz*rx-ux*rz;var fz=ux*ry-uy*rx;var fl=len3(fx,fy,fz);fx/=fl;fy/=fl;fz/=fl;var tu=ux*tx+uy*ty+uz*tz;var tr=rx*tx+ry*ty+rz*tz;var tf=fx*tx+fy*ty+fz*tz;var phi=Math.asin(clamp1(tu));var theta=Math.atan2(tf,tr);var angleState=this.angle._state;var lastTheta=angleState[angleState.length-1];var lastPhi=angleState[angleState.length-2];lastTheta=lastTheta%(2*Math.PI);var dp=Math.abs(lastTheta+2*Math.PI-theta);var d0=Math.abs(lastTheta-theta);var dn=Math.abs(lastTheta-2*Math.PI-theta);if(dp<d0){lastTheta+=2*Math.PI}if(dn<d0){lastTheta-=2*Math.PI}this.angle.jump(this.angle.lastT(),lastTheta,lastPhi);this.angle.set(t,theta,phi)};function createTurntableController(options){options=options||{};var center=options.center||[0,0,0];var up=options.up||[0,1,0];var right=options.right||findOrthoPair(up);var radius=options.radius||1;var theta=options.theta||0;var phi=options.phi||0;center=[].slice.call(center,0,3);up=[].slice.call(up,0,3);normalize3(up,up);right=[].slice.call(right,0,3);normalize3(right,right);if("eye"in options){var eye=options.eye;var toward=[eye[0]-center[0],eye[1]-center[1],eye[2]-center[2]];cross(right,toward,up);if(len3(right[0],right[1],right[2])<1e-6){right=findOrthoPair(up)}else{normalize3(right,right)}radius=len3(toward[0],toward[1],toward[2]);var ut=dot3(up,toward)/radius;var rt=dot3(right,toward)/radius;phi=Math.acos(ut);theta=Math.acos(rt)}radius=Math.log(radius);return new TurntableController(options.zoomMin,options.zoomMax,center,up,right,radius,theta,phi)}},{"filtered-vector":250,"gl-mat4/invert":299,"gl-mat4/rotate":305,"gl-vec3/cross":368,"gl-vec3/dot":373,"gl-vec3/normalize":390}],604:[function(_dereq_,module,exports){"use strict";module.exports=twoProduct;var SPLITTER=+(Math.pow(2,27)+1);function twoProduct(a,b,result){var x=a*b;var c=SPLITTER*a;var abig=c-a;var ahi=c-abig;var alo=a-ahi;var d=SPLITTER*b;var bbig=d-b;var bhi=d-bbig;var blo=b-bhi;var err1=x-ahi*bhi;var err2=err1-alo*bhi;var err3=err2-ahi*blo;var y=alo*blo-err3;if(result){result[0]=y;result[1]=x;return result}return[y,x]}},{}],605:[function(_dereq_,module,exports){"use strict";module.exports=fastTwoSum;function fastTwoSum(a,b,result){var x=a+b;var bv=x-a;var av=x-bv;var br=b-bv;var ar=a-av;if(result){result[0]=ar+br;result[1]=x;return result}return[ar+br,x]}},{}],606:[function(_dereq_,module,exports){"use strict";var isPrototype=_dereq_("../prototype/is");module.exports=function(value){if(typeof value!=="function")return false;if(!hasOwnProperty.call(value,"length"))return false;try{if(typeof value.length!=="number")return false;if(typeof value.call!=="function")return false;if(typeof value.apply!=="function")return false}catch(error){return false}return!isPrototype(value)}},{"../prototype/is":613}],607:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("../value/is"),isObject=_dereq_("../object/is"),stringCoerce=_dereq_("../string/coerce"),toShortString=_dereq_("./to-short-string");var resolveMessage=function(message,value){return message.replace("%v",toShortString(value))};module.exports=function(value,defaultMessage,inputOptions){if(!isObject(inputOptions))throw new TypeError(resolveMessage(defaultMessage,value));if(!isValue(value)){if("default"in inputOptions)return inputOptions["default"];if(inputOptions.isOptional)return null}var errorMessage=stringCoerce(inputOptions.errorMessage);if(!isValue(errorMessage))errorMessage=defaultMessage;throw new TypeError(resolveMessage(errorMessage,value))}},{"../object/is":610,"../string/coerce":614,"../value/is":616,"./to-short-string":609}],608:[function(_dereq_,module,exports){"use strict";module.exports=function(value){try{return value.toString()}catch(error){try{return String(value)}catch(error2){return null}}}},{}],609:[function(_dereq_,module,exports){"use strict";var safeToString=_dereq_("./safe-to-string");var reNewLine=/[\n\r\u2028\u2029]/g;module.exports=function(value){var string=safeToString(value);if(string===null)return"<Non-coercible to string value>";if(string.length>100)string=string.slice(0,99)+"…";string=string.replace(reNewLine,(function(char){switch(char){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}));return string}},{"./safe-to-string":608}],610:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("../value/is");var possibleTypes={object:true,function:true,undefined:true};module.exports=function(value){if(!isValue(value))return false;return hasOwnProperty.call(possibleTypes,typeof value)}},{"../value/is":616}],611:[function(_dereq_,module,exports){"use strict";var resolveException=_dereq_("../lib/resolve-exception"),is=_dereq_("./is");module.exports=function(value){if(is(value))return value;return resolveException(value,"%v is not a plain function",arguments[1])}},{"../lib/resolve-exception":607,"./is":612}],612:[function(_dereq_,module,exports){"use strict";var isFunction=_dereq_("../function/is");var classRe=/^\s*class[\s{/}]/,functionToString=Function.prototype.toString;module.exports=function(value){if(!isFunction(value))return false;if(classRe.test(functionToString.call(value)))return false;return true}},{"../function/is":606}],613:[function(_dereq_,module,exports){"use strict";var isObject=_dereq_("../object/is");module.exports=function(value){if(!isObject(value))return false;try{if(!value.constructor)return false;return value.constructor.prototype===value}catch(error){return false}}},{"../object/is":610}],614:[function(_dereq_,module,exports){"use strict";var isValue=_dereq_("../value/is"),isObject=_dereq_("../object/is");var objectToString=Object.prototype.toString;module.exports=function(value){if(!isValue(value))return null;if(isObject(value)){var valueToString=value.toString;if(typeof valueToString!=="function")return null;if(valueToString===objectToString)return null}try{return""+value}catch(error){return null}}},{"../object/is":610,"../value/is":616}],615:[function(_dereq_,module,exports){"use strict";var resolveException=_dereq_("../lib/resolve-exception"),is=_dereq_("./is");module.exports=function(value){if(is(value))return value;return resolveException(value,"Cannot use %v",arguments[1])}},{"../lib/resolve-exception":607,"./is":616}],616:[function(_dereq_,module,exports){"use strict";var _undefined=void 0;module.exports=function(value){return value!==_undefined&&value!==null}},{}],617:[function(_dereq_,module,exports){(function(global){(function(){"use strict";var bits=_dereq_("bit-twiddle");var dup=_dereq_("dup");var Buffer=_dereq_("buffer").Buffer;if(!global.__TYPEDARRAY_POOL){global.__TYPEDARRAY_POOL={UINT8:dup([32,0]),UINT16:dup([32,0]),UINT32:dup([32,0]),BIGUINT64:dup([32,0]),INT8:dup([32,0]),INT16:dup([32,0]),INT32:dup([32,0]),BIGINT64:dup([32,0]),FLOAT:dup([32,0]),DOUBLE:dup([32,0]),DATA:dup([32,0]),UINT8C:dup([32,0]),BUFFER:dup([32,0])}}var hasUint8C=typeof Uint8ClampedArray!=="undefined";var hasBigUint64=typeof BigUint64Array!=="undefined";var hasBigInt64=typeof BigInt64Array!=="undefined";var POOL=global.__TYPEDARRAY_POOL;if(!POOL.UINT8C){POOL.UINT8C=dup([32,0])}if(!POOL.BIGUINT64){POOL.BIGUINT64=dup([32,0])}if(!POOL.BIGINT64){POOL.BIGINT64=dup([32,0])}if(!POOL.BUFFER){POOL.BUFFER=dup([32,0])}var DATA=POOL.DATA,BUFFER=POOL.BUFFER;exports.free=function free(array){if(Buffer.isBuffer(array)){BUFFER[bits.log2(array.length)].push(array)}else{if(Object.prototype.toString.call(array)!=="[object ArrayBuffer]"){array=array.buffer}if(!array){return}var n=array.length||array.byteLength;var log_n=bits.log2(n)|0;DATA[log_n].push(array)}};function freeArrayBuffer(buffer){if(!buffer){return}var n=buffer.length||buffer.byteLength;var log_n=bits.log2(n);DATA[log_n].push(buffer)}function freeTypedArray(array){freeArrayBuffer(array.buffer)}exports.freeUint8=exports.freeUint16=exports.freeUint32=exports.freeBigUint64=exports.freeInt8=exports.freeInt16=exports.freeInt32=exports.freeBigInt64=exports.freeFloat32=exports.freeFloat=exports.freeFloat64=exports.freeDouble=exports.freeUint8Clamped=exports.freeDataView=freeTypedArray;exports.freeArrayBuffer=freeArrayBuffer;exports.freeBuffer=function freeBuffer(array){BUFFER[bits.log2(array.length)].push(array)};exports.malloc=function malloc(n,dtype){if(dtype===undefined||dtype==="arraybuffer"){return mallocArrayBuffer(n)}else{switch(dtype){case"uint8":return mallocUint8(n);case"uint16":return mallocUint16(n);case"uint32":return mallocUint32(n);case"int8":return mallocInt8(n);case"int16":return mallocInt16(n);case"int32":return mallocInt32(n);case"float":case"float32":return mallocFloat(n);case"double":case"float64":return mallocDouble(n);case"uint8_clamped":return mallocUint8Clamped(n);case"bigint64":return mallocBigInt64(n);case"biguint64":return mallocBigUint64(n);case"buffer":return mallocBuffer(n);case"data":case"dataview":return mallocDataView(n);default:return null}}return null};function mallocArrayBuffer(n){var n=bits.nextPow2(n);var log_n=bits.log2(n);var d=DATA[log_n];if(d.length>0){return d.pop()}return new ArrayBuffer(n)}exports.mallocArrayBuffer=mallocArrayBuffer;function mallocUint8(n){return new Uint8Array(mallocArrayBuffer(n),0,n)}exports.mallocUint8=mallocUint8;function mallocUint16(n){return new Uint16Array(mallocArrayBuffer(2*n),0,n)}exports.mallocUint16=mallocUint16;function mallocUint32(n){return new Uint32Array(mallocArrayBuffer(4*n),0,n)}exports.mallocUint32=mallocUint32;function mallocInt8(n){return new Int8Array(mallocArrayBuffer(n),0,n)}exports.mallocInt8=mallocInt8;function mallocInt16(n){return new Int16Array(mallocArrayBuffer(2*n),0,n)}exports.mallocInt16=mallocInt16;function mallocInt32(n){return new Int32Array(mallocArrayBuffer(4*n),0,n)}exports.mallocInt32=mallocInt32;function mallocFloat(n){return new Float32Array(mallocArrayBuffer(4*n),0,n)}exports.mallocFloat32=exports.mallocFloat=mallocFloat;function mallocDouble(n){return new Float64Array(mallocArrayBuffer(8*n),0,n)}exports.mallocFloat64=exports.mallocDouble=mallocDouble;function mallocUint8Clamped(n){if(hasUint8C){return new Uint8ClampedArray(mallocArrayBuffer(n),0,n)}else{return mallocUint8(n)}}exports.mallocUint8Clamped=mallocUint8Clamped;function mallocBigUint64(n){if(hasBigUint64){return new BigUint64Array(mallocArrayBuffer(8*n),0,n)}else{return null}}exports.mallocBigUint64=mallocBigUint64;function mallocBigInt64(n){if(hasBigInt64){return new BigInt64Array(mallocArrayBuffer(8*n),0,n)}else{return null}}exports.mallocBigInt64=mallocBigInt64;function mallocDataView(n){return new DataView(mallocArrayBuffer(n),0,n)}exports.mallocDataView=mallocDataView;function mallocBuffer(n){n=bits.nextPow2(n);var log_n=bits.log2(n);var cache=BUFFER[log_n];if(cache.length>0){return cache.pop()}return new Buffer(n)}exports.mallocBuffer=mallocBuffer;exports.clearCache=function clearCache(){for(var i=0;i<32;++i){POOL.UINT8[i].length=0;POOL.UINT16[i].length=0;POOL.UINT32[i].length=0;POOL.INT8[i].length=0;POOL.INT16[i].length=0;POOL.INT32[i].length=0;POOL.FLOAT[i].length=0;POOL.DOUBLE[i].length=0;POOL.BIGUINT64[i].length=0;POOL.BIGINT64[i].length=0;POOL.UINT8C[i].length=0;DATA[i].length=0;BUFFER[i].length=0}}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"bit-twiddle":104,buffer:117,dup:185}],618:[function(_dereq_,module,exports){"use strict";"use restrict";module.exports=UnionFind;function UnionFind(count){this.roots=new Array(count);this.ranks=new Array(count);for(var i=0;i<count;++i){this.roots[i]=i;this.ranks[i]=0}}var proto=UnionFind.prototype;Object.defineProperty(proto,"length",{get:function(){return this.roots.length}});proto.makeSet=function(){var n=this.roots.length;this.roots.push(n);this.ranks.push(0);return n};proto.find=function(x){var x0=x;var roots=this.roots;while(roots[x]!==x){x=roots[x]}while(roots[x0]!==x){var y=roots[x0];roots[x0]=x;x0=y}return x};proto.link=function(x,y){var xr=this.find(x),yr=this.find(y);if(xr===yr){return}var ranks=this.ranks,roots=this.roots,xd=ranks[xr],yd=ranks[yr];if(xd<yd){roots[xr]=yr}else if(yd<xd){roots[yr]=xr}else{roots[yr]=xr;++ranks[xr]}}},{}],619:[function(_dereq_,module,exports){"use strict";function unique_pred(list,compare){var ptr=1,len=list.length,a=list[0],b=list[0];for(var i=1;i<len;++i){b=a;a=list[i];if(compare(a,b)){if(i===ptr){ptr++;continue}list[ptr++]=a}}list.length=ptr;return list}function unique_eq(list){var ptr=1,len=list.length,a=list[0],b=list[0];for(var i=1;i<len;++i,b=a){b=a;a=list[i];if(a!==b){if(i===ptr){ptr++;continue}list[ptr++]=a}}list.length=ptr;return list}function unique(list,compare,sorted){if(list.length===0){return list}if(compare){if(!sorted){list.sort(compare)}return unique_pred(list,compare)}if(!sorted){list.sort()}return unique_eq(list)}module.exports=unique},{}],620:[function(_dereq_,module,exports){var reg=/[\'\"]/;module.exports=function unquote(str){if(!str){return""}if(reg.test(str.charAt(0))){str=str.substr(1)}if(reg.test(str.charAt(str.length-1))){str=str.substr(0,str.length-1)}return str}},{}],621:[function(_dereq_,module,exports){"use strict";module.exports=function updateDiff(obj,diff,mappers){if(!Array.isArray(mappers))mappers=[].slice.call(arguments,2);for(var i=0,l=mappers.length;i<l;i++){var dict=mappers[i];for(var prop in dict){if(diff[prop]!==undefined&&!Array.isArray(diff[prop])&&obj[prop]===diff[prop])continue;if(prop in diff){var result;if(dict[prop]===true)result=diff[prop];else if(dict[prop]===false)continue;else if(typeof dict[prop]==="function"){result=dict[prop](diff[prop],obj,diff);if(result===undefined)continue}obj[prop]=result}}}return obj}},{}],622:[function(_dereq_,module,exports){(function(global){(function(){module.exports=deprecate;function deprecate(fn,msg){if(config("noDeprecation")){return fn}var warned=false;function deprecated(){if(!warned){if(config("throwDeprecation")){throw new Error(msg)}else if(config("traceDeprecation")){console.trace(msg)}else{console.warn(msg)}warned=true}return fn.apply(this,arguments)}return deprecated}function config(name){try{if(!global.localStorage)return false}catch(_){return false}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==="true"}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],623:[function(_dereq_,module,exports){"use strict";module.exports=createText;var vectorizeText=_dereq_("./lib/vtext");var defaultCanvas=null;var defaultContext=null;if(typeof document!=="undefined"){defaultCanvas=document.createElement("canvas");defaultCanvas.width=8192;defaultCanvas.height=1024;defaultContext=defaultCanvas.getContext("2d")}function createText(str,options){if(typeof options!=="object"||options===null){options={}}return vectorizeText(str,options.canvas||defaultCanvas,options.context||defaultContext,options)}},{"./lib/vtext":624}],624:[function(_dereq_,module,exports){module.exports=vectorizeText;module.exports.processPixels=processPixels;var surfaceNets=_dereq_("surface-nets");var ndarray=_dereq_("ndarray");var simplify=_dereq_("simplify-planar-graph");var cleanPSLG=_dereq_("clean-pslg");var cdt2d=_dereq_("cdt2d");var toPolygonCrappy=_dereq_("planar-graph-to-polyline");var TAG_bold="b";var CHR_bold="b|";var TAG_italic="i";var CHR_italic="i|";var TAG_super="sup";var CHR_super0="+";var CHR_super="+1";var TAG_sub="sub";var CHR_sub0="-";var CHR_sub="-1";function parseTag(tag,TAG_CHR,str,map){var opnTag="<"+tag+">";var clsTag="</"+tag+">";var nOPN=opnTag.length;var nCLS=clsTag.length;var isRecursive=TAG_CHR[0]===CHR_super0||TAG_CHR[0]===CHR_sub0;var a=0;var b=-nCLS;while(a>-1){a=str.indexOf(opnTag,a);if(a===-1)break;b=str.indexOf(clsTag,a+nOPN);if(b===-1)break;if(b<=a)break;for(var i=a;i<b+nCLS;++i){if(i<a+nOPN||i>=b){map[i]=null;str=str.substr(0,i)+" "+str.substr(i+1)}else{if(map[i]!==null){var pos=map[i].indexOf(TAG_CHR[0]);if(pos===-1){map[i]+=TAG_CHR}else{if(isRecursive){map[i]=map[i].substr(0,pos+1)+(1+parseInt(map[i][pos+1]))+map[i].substr(pos+2)}}}}}var start=a+nOPN;var remainingStr=str.substr(start,b-start);var c=remainingStr.indexOf(opnTag);if(c!==-1)a=c;else a=b+nCLS}return map}function transformPositions(positions,options,size){var align=options.textAlign||"start";var baseline=options.textBaseline||"alphabetic";var lo=[1<<30,1<<30];var hi=[0,0];var n=positions.length;for(var i=0;i<n;++i){var p=positions[i];for(var j=0;j<2;++j){lo[j]=Math.min(lo[j],p[j])|0;hi[j]=Math.max(hi[j],p[j])|0}}var xShift=0;switch(align){case"center":xShift=-.5*(lo[0]+hi[0]);break;case"right":case"end":xShift=-hi[0];break;case"left":case"start":xShift=-lo[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+align+"'")}var yShift=0;switch(baseline){case"hanging":case"top":yShift=-lo[1];break;case"middle":yShift=-.5*(lo[1]+hi[1]);break;case"alphabetic":case"ideographic":yShift=-3*size;break;case"bottom":yShift=-hi[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+baseline+"'")}var scale=1/size;if("lineHeight"in options){scale*=+options.lineHeight}else if("width"in options){scale=options.width/(hi[0]-lo[0])}else if("height"in options){scale=options.height/(hi[1]-lo[1])}return positions.map((function(p){return[scale*(p[0]+xShift),scale*(p[1]+yShift)]}))}function getPixels(canvas,context,rawString,fontSize,lineSpacing,styletags){rawString=rawString.replace(/\n/g,"");if(styletags.breaklines===true){rawString=rawString.replace(/\<br\>/g,"\n")}else{rawString=rawString.replace(/\<br\>/g," ")}var activeStyle="";var map=[];for(j=0;j<rawString.length;++j){map[j]=activeStyle}if(styletags.bolds===true)map=parseTag(TAG_bold,CHR_bold,rawString,map);if(styletags.italics===true)map=parseTag(TAG_italic,CHR_italic,rawString,map);if(styletags.superscripts===true)map=parseTag(TAG_super,CHR_super,rawString,map);if(styletags.subscripts===true)map=parseTag(TAG_sub,CHR_sub,rawString,map);var allStyles=[];var plainText="";for(j=0;j<rawString.length;++j){if(map[j]!==null){plainText+=rawString[j];allStyles.push(map[j])}}var allTexts=plainText.split("\n");var numberOfLines=allTexts.length;var lineHeight=Math.round(lineSpacing*fontSize);var offsetX=fontSize;var offsetY=fontSize*2;var maxWidth=0;var minHeight=numberOfLines*lineHeight+offsetY;if(canvas.height<minHeight){canvas.height=minHeight}context.fillStyle="#000";context.fillRect(0,0,canvas.width,canvas.height);context.fillStyle="#fff";var i,j,xPos,yPos,zPos;var nDone=0;var buffer="";function writeBuffer(){if(buffer!==""){var delta=context.measureText(buffer).width;context.fillText(buffer,offsetX+xPos,offsetY+yPos);xPos+=delta}}function getTextFontSize(){return""+Math.round(zPos)+"px "}function changeStyle(oldStyle,newStyle){var ctxFont=""+context.font;if(styletags.subscripts===true){var oldIndex_Sub=oldStyle.indexOf(CHR_sub0);var newIndex_Sub=newStyle.indexOf(CHR_sub0);var oldSub=oldIndex_Sub>-1?parseInt(oldStyle[1+oldIndex_Sub]):0;var newSub=newIndex_Sub>-1?parseInt(newStyle[1+newIndex_Sub]):0;if(oldSub!==newSub){ctxFont=ctxFont.replace(getTextFontSize(),"?px ");zPos*=Math.pow(.75,newSub-oldSub);ctxFont=ctxFont.replace("?px ",getTextFontSize())}yPos+=.25*lineHeight*(newSub-oldSub)}if(styletags.superscripts===true){var oldIndex_Super=oldStyle.indexOf(CHR_super0);var newIndex_Super=newStyle.indexOf(CHR_super0);var oldSuper=oldIndex_Super>-1?parseInt(oldStyle[1+oldIndex_Super]):0;var newSuper=newIndex_Super>-1?parseInt(newStyle[1+newIndex_Super]):0;if(oldSuper!==newSuper){ctxFont=ctxFont.replace(getTextFontSize(),"?px ");zPos*=Math.pow(.75,newSuper-oldSuper);ctxFont=ctxFont.replace("?px ",getTextFontSize())}yPos-=.25*lineHeight*(newSuper-oldSuper)}if(styletags.bolds===true){var wasBold=oldStyle.indexOf(CHR_bold)>-1;var is_Bold=newStyle.indexOf(CHR_bold)>-1;if(!wasBold&&is_Bold){if(wasItalic){ctxFont=ctxFont.replace("italic ","italic bold ")}else{ctxFont="bold "+ctxFont}}if(wasBold&&!is_Bold){ctxFont=ctxFont.replace("bold ","")}}if(styletags.italics===true){var wasItalic=oldStyle.indexOf(CHR_italic)>-1;var is_Italic=newStyle.indexOf(CHR_italic)>-1;if(!wasItalic&&is_Italic){ctxFont="italic "+ctxFont}if(wasItalic&&!is_Italic){ctxFont=ctxFont.replace("italic ","")}}context.font=ctxFont}for(i=0;i<numberOfLines;++i){var txt=allTexts[i]+"\n";xPos=0;yPos=i*lineHeight;zPos=fontSize;buffer="";for(j=0;j<txt.length;++j){var style=j+nDone<allStyles.length?allStyles[j+nDone]:allStyles[allStyles.length-1];if(activeStyle===style){buffer+=txt[j]}else{writeBuffer();buffer=txt[j];if(style!==undefined){changeStyle(activeStyle,style);activeStyle=style}}}writeBuffer();nDone+=txt.length;var width=Math.round(xPos+2*offsetX)|0;if(maxWidth<width)maxWidth=width}var xCut=maxWidth;var yCut=offsetY+lineHeight*numberOfLines;var pixels=ndarray(context.getImageData(0,0,xCut,yCut).data,[yCut,xCut,4]);return pixels.pick(-1,-1,0).transpose(1,0)}function getContour(pixels,doSimplify){var contour=surfaceNets(pixels,128);if(doSimplify){return simplify(contour.cells,contour.positions,.25)}return{edges:contour.cells,positions:contour.positions}}function processPixelsImpl(pixels,options,size,simplify){var contour=getContour(pixels,simplify);var positions=transformPositions(contour.positions,options,size);var edges=contour.edges;var flip="ccw"===options.orientation;cleanPSLG(positions,edges);if(options.polygons||options.polygon||options.polyline){var result=toPolygonCrappy(edges,positions);var nresult=new Array(result.length);for(var i=0;i<result.length;++i){var loops=result[i];var nloops=new Array(loops.length);for(var j=0;j<loops.length;++j){var loop=loops[j];var nloop=new Array(loop.length);for(var k=0;k<loop.length;++k){nloop[k]=positions[loop[k]].slice()}if(flip){nloop.reverse()}nloops[j]=nloop}nresult[i]=nloops}return nresult}else if(options.triangles||options.triangulate||options.triangle){return{cells:cdt2d(positions,edges,{delaunay:false,exterior:false,interior:true}),positions:positions}}else{return{edges:edges,positions:positions}}}function processPixels(pixels,options,size){try{return processPixelsImpl(pixels,options,size,true)}catch(e){}try{return processPixelsImpl(pixels,options,size,false)}catch(e){}if(options.polygons||options.polyline||options.polygon){return[]}if(options.triangles||options.triangulate||options.triangle){return{cells:[],positions:[]}}return{edges:[],positions:[]}}function vectorizeText(str,canvas,context,options){var size=64;var lineSpacing=1.25;var styletags={breaklines:false,bolds:false,italics:false,subscripts:false,superscripts:false};if(options){if(options.size&&options.size>0)size=options.size;if(options.lineSpacing&&options.lineSpacing>0)lineSpacing=options.lineSpacing;if(options.styletags&&options.styletags.breaklines)styletags.breaklines=options.styletags.breaklines?true:false;if(options.styletags&&options.styletags.bolds)styletags.bolds=options.styletags.bolds?true:false;if(options.styletags&&options.styletags.italics)styletags.italics=options.styletags.italics?true:false;if(options.styletags&&options.styletags.subscripts)styletags.subscripts=options.styletags.subscripts?true:false;if(options.styletags&&options.styletags.superscripts)styletags.superscripts=options.styletags.superscripts?true:false}context.font=[options.fontStyle,options.fontVariant,options.fontWeight,size+"px",options.font].filter((function(d){return d})).join(" ");context.textAlign="start";context.textBaseline="alphabetic";context.direction="ltr";var pixels=getPixels(canvas,context,str,size,lineSpacing,styletags);return processPixels(pixels,options,size)}},{cdt2d:118,"clean-pslg":127,ndarray:483,"planar-graph-to-polyline":501,"simplify-planar-graph":563,"surface-nets":591}],625:[function(_dereq_,module,exports){(function WeakMapModule(){"use strict";if(typeof ses!=="undefined"&&ses.ok&&!ses.ok()){return}function weakMapPermitHostObjects(map){if(map.permitHostObjects___){map.permitHostObjects___(weakMapPermitHostObjects)}}if(typeof ses!=="undefined"){ses.weakMapPermitHostObjects=weakMapPermitHostObjects}var doubleWeakMapCheckSilentFailure=false;if(typeof WeakMap==="function"){var HostWeakMap=WeakMap;if(typeof navigator!=="undefined"&&/Firefox/.test(navigator.userAgent)){}else{var testMap=new HostWeakMap;var testObject=Object.freeze({});testMap.set(testObject,1);if(testMap.get(testObject)!==1){doubleWeakMapCheckSilentFailure=true}else{module.exports=WeakMap;return}}}var hop=Object.prototype.hasOwnProperty;var gopn=Object.getOwnPropertyNames;var defProp=Object.defineProperty;var isExtensible=Object.isExtensible;var HIDDEN_NAME_PREFIX="weakmap:";var HIDDEN_NAME=HIDDEN_NAME_PREFIX+"ident:"+Math.random()+"___";if(typeof crypto!=="undefined"&&typeof crypto.getRandomValues==="function"&&typeof ArrayBuffer==="function"&&typeof Uint8Array==="function"){var ab=new ArrayBuffer(25);var u8s=new Uint8Array(ab);crypto.getRandomValues(u8s);HIDDEN_NAME=HIDDEN_NAME_PREFIX+"rand:"+Array.prototype.map.call(u8s,(function(u8){return(u8%36).toString(36)})).join("")+"___"}function isNotHiddenName(name){return!(name.substr(0,HIDDEN_NAME_PREFIX.length)==HIDDEN_NAME_PREFIX&&name.substr(name.length-3)==="___")}defProp(Object,"getOwnPropertyNames",{value:function fakeGetOwnPropertyNames(obj){return gopn(obj).filter(isNotHiddenName)}});if("getPropertyNames"in Object){var originalGetPropertyNames=Object.getPropertyNames;defProp(Object,"getPropertyNames",{value:function fakeGetPropertyNames(obj){return originalGetPropertyNames(obj).filter(isNotHiddenName)}})}function getHiddenRecord(key){if(key!==Object(key)){throw new TypeError("Not an object: "+key)}var hiddenRecord=key[HIDDEN_NAME];if(hiddenRecord&&hiddenRecord.key===key){return hiddenRecord}if(!isExtensible(key)){return void 0}hiddenRecord={key:key};try{defProp(key,HIDDEN_NAME,{value:hiddenRecord,writable:false,enumerable:false,configurable:false});return hiddenRecord}catch(error){return void 0}}(function(){var oldFreeze=Object.freeze;defProp(Object,"freeze",{value:function identifyingFreeze(obj){getHiddenRecord(obj);return oldFreeze(obj)}});var oldSeal=Object.seal;defProp(Object,"seal",{value:function identifyingSeal(obj){getHiddenRecord(obj);return oldSeal(obj)}});var oldPreventExtensions=Object.preventExtensions;defProp(Object,"preventExtensions",{value:function identifyingPreventExtensions(obj){getHiddenRecord(obj);return oldPreventExtensions(obj)}})})();function constFunc(func){func.prototype=null;return Object.freeze(func)}var calledAsFunctionWarningDone=false;function calledAsFunctionWarning(){if(!calledAsFunctionWarningDone&&typeof console!=="undefined"){calledAsFunctionWarningDone=true;console.warn("WeakMap should be invoked as new WeakMap(), not "+"WeakMap(). This will be an error in the future.")}}var nextId=0;var OurWeakMap=function(){if(!(this instanceof OurWeakMap)){calledAsFunctionWarning()}var keys=[];var values=[];var id=nextId++;function get___(key,opt_default){var index;var hiddenRecord=getHiddenRecord(key);if(hiddenRecord){return id in hiddenRecord?hiddenRecord[id]:opt_default}else{index=keys.indexOf(key);return index>=0?values[index]:opt_default}}function has___(key){var hiddenRecord=getHiddenRecord(key);if(hiddenRecord){return id in hiddenRecord}else{return keys.indexOf(key)>=0}}function set___(key,value){var index;var hiddenRecord=getHiddenRecord(key);if(hiddenRecord){hiddenRecord[id]=value}else{index=keys.indexOf(key);if(index>=0){values[index]=value}else{index=keys.length;values[index]=value;keys[index]=key}}return this}function delete___(key){var hiddenRecord=getHiddenRecord(key);var index,lastIndex;if(hiddenRecord){return id in hiddenRecord&&delete hiddenRecord[id]}else{index=keys.indexOf(key);if(index<0){return false}lastIndex=keys.length-1;keys[index]=void 0;values[index]=values[lastIndex];keys[index]=keys[lastIndex];keys.length=lastIndex;values.length=lastIndex;return true}}return Object.create(OurWeakMap.prototype,{get___:{value:constFunc(get___)},has___:{value:constFunc(has___)},set___:{value:constFunc(set___)},delete___:{value:constFunc(delete___)}})};OurWeakMap.prototype=Object.create(Object.prototype,{get:{value:function get(key,opt_default){return this.get___(key,opt_default)},writable:true,configurable:true},has:{value:function has(key){return this.has___(key)},writable:true,configurable:true},set:{value:function set(key,value){return this.set___(key,value)},writable:true,configurable:true},delete:{value:function remove(key){return this.delete___(key)},writable:true,configurable:true}});if(typeof HostWeakMap==="function"){(function(){if(doubleWeakMapCheckSilentFailure&&typeof Proxy!=="undefined"){Proxy=undefined}function DoubleWeakMap(){if(!(this instanceof OurWeakMap)){calledAsFunctionWarning()}var hmap=new HostWeakMap;var omap=undefined;var enableSwitching=false;function dget(key,opt_default){if(omap){return hmap.has(key)?hmap.get(key):omap.get___(key,opt_default)}else{return hmap.get(key,opt_default)}}function dhas(key){return hmap.has(key)||(omap?omap.has___(key):false)}var dset;if(doubleWeakMapCheckSilentFailure){dset=function(key,value){hmap.set(key,value);if(!hmap.has(key)){if(!omap){omap=new OurWeakMap}omap.set(key,value)}return this}}else{dset=function(key,value){if(enableSwitching){try{hmap.set(key,value)}catch(e){if(!omap){omap=new OurWeakMap}omap.set___(key,value)}}else{hmap.set(key,value)}return this}}function ddelete(key){var result=!!hmap["delete"](key);if(omap){return omap.delete___(key)||result}return result}return Object.create(OurWeakMap.prototype,{get___:{value:constFunc(dget)},has___:{value:constFunc(dhas)},set___:{value:constFunc(dset)},delete___:{value:constFunc(ddelete)},permitHostObjects___:{value:constFunc((function(token){if(token===weakMapPermitHostObjects){enableSwitching=true}else{throw new Error("bogus call to permitHostObjects___")}}))}})}DoubleWeakMap.prototype=OurWeakMap.prototype;module.exports=DoubleWeakMap;Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:false,configurable:true,writable:true})})()}else{if(typeof Proxy!=="undefined"){Proxy=undefined}module.exports=OurWeakMap}})()},{}],626:[function(_dereq_,module,exports){var hiddenStore=_dereq_("./hidden-store.js");module.exports=createStore;function createStore(){var key={};return function(obj){if((typeof obj!=="object"||obj===null)&&typeof obj!=="function"){throw new Error("Weakmap-shim: Key must be object")}var store=obj.valueOf(key);return store&&store.identity===key?store:hiddenStore(obj,key)}}},{"./hidden-store.js":627}],627:[function(_dereq_,module,exports){module.exports=hiddenStore;function hiddenStore(obj,key){var store={identity:key};var valueOf=obj.valueOf;Object.defineProperty(obj,"valueOf",{value:function(value){return value!==key?valueOf.apply(this,arguments):store},writable:true});return store}},{}],628:[function(_dereq_,module,exports){var createStore=_dereq_("./create-store.js");module.exports=weakMap;function weakMap(){var privates=createStore();return{get:function(key,fallback){var store=privates(key);return store.hasOwnProperty("value")?store.value:fallback},set:function(key,value){privates(key).value=value;return this},has:function(key){return"value"in privates(key)},delete:function(key){return delete privates(key).value}}}},{"./create-store.js":626}],629:[function(_dereq_,module,exports){var getContext=_dereq_("get-canvas-context");module.exports=function getWebGLContext(opt){return getContext("webgl",opt)}},{"get-canvas-context":257}],630:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");var gregorianCalendar=main.instance();function ChineseCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}ChineseCalendar.prototype=new main.baseCalendar;assign(ChineseCalendar.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:false,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(date,padded){if(typeof date==="string"){var match=date.match(MONTH_NUMBER_REGEXP);return match?match[0]:""}var year=this._validateYear(date);var monthIndex=date.month();var month=""+this.toChineseMonth(year,monthIndex);if(padded&&month.length<2){month="0"+month}if(this.isIntercalaryMonth(year,monthIndex)){month+="i"}return month},monthNames:function(date){if(typeof date==="string"){var match=date.match(MONTH_NAME_REGEXP);return match?match[0]:""}var year=this._validateYear(date);var monthIndex=date.month();var month=this.toChineseMonth(year,monthIndex);var monthName=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][month-1];if(this.isIntercalaryMonth(year,monthIndex)){monthName="闰"+monthName}return monthName},monthNamesShort:function(date){if(typeof date==="string"){var match=date.match(MONTH_SHORT_NAME_REGEXP);return match?match[0]:""}var year=this._validateYear(date);var monthIndex=date.month();var month=this.toChineseMonth(year,monthIndex);var monthName=["一","二","三","四","五","六","七","八","九","十","十一","十二"][month-1];if(this.isIntercalaryMonth(year,monthIndex)){monthName="闰"+monthName}return monthName},parseMonth:function(year,monthString){year=this._validateYear(year);var month=parseInt(monthString);var isIntercalary;if(!isNaN(month)){var i=monthString[monthString.length-1];isIntercalary=i==="i"||i==="I"}else{if(monthString[0]==="闰"){isIntercalary=true;monthString=monthString.substring(1)}if(monthString[monthString.length-1]==="月"){monthString=monthString.substring(0,monthString.length-1)}month=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(monthString)}var monthIndex=this.toMonthIndex(year,month,isIntercalary);return monthIndex},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:false}},_validateYear:function(year,error){if(year.year){year=year.year()}if(typeof year!=="number"||year<1888||year>2111){throw error.replace(/\{0\}/,this.local.name)}return year},toMonthIndex:function(year,month,isIntercalary){var intercalaryMonth=this.intercalaryMonth(year);var invalidIntercalaryMonth=isIntercalary&&month!==intercalaryMonth;if(invalidIntercalaryMonth||month<1||month>12){throw main.local.invalidMonth.replace(/\{0\}/,this.local.name)}var monthIndex;if(!intercalaryMonth){monthIndex=month-1}else if(!isIntercalary&&month<=intercalaryMonth){monthIndex=month-1}else{monthIndex=month}return monthIndex},toChineseMonth:function(year,monthIndex){if(year.year){year=year.year();monthIndex=year.month()}var intercalaryMonth=this.intercalaryMonth(year);var maxMonthIndex=intercalaryMonth?12:11;if(monthIndex<0||monthIndex>maxMonthIndex){throw main.local.invalidMonth.replace(/\{0\}/,this.local.name)}var month;if(!intercalaryMonth){month=monthIndex+1}else if(monthIndex<intercalaryMonth){month=monthIndex+1}else{month=monthIndex}return month},intercalaryMonth:function(year){year=this._validateYear(year);var monthDaysTable=LUNAR_MONTH_DAYS[year-LUNAR_MONTH_DAYS[0]];var intercalaryMonth=monthDaysTable>>13;return intercalaryMonth},isIntercalaryMonth:function(year,monthIndex){if(year.year){year=year.year();monthIndex=year.month()}var intercalaryMonth=this.intercalaryMonth(year);return!!intercalaryMonth&&intercalaryMonth===monthIndex},leapYear:function(year){return this.intercalaryMonth(year)!==0},weekOfYear:function(year,monthIndex,day){var validatedYear=this._validateYear(year,main.local.invalidyear);var packedDate=CHINESE_NEW_YEAR[validatedYear-CHINESE_NEW_YEAR[0]];var y=packedDate>>9&4095;var m=packedDate>>5&15;var d=packedDate&31;var firstThursday;firstThursday=gregorianCalendar.newDate(y,m,d);firstThursday.add(4-(firstThursday.dayOfWeek()||7),"d");var offset=this.toJD(year,monthIndex,day)-firstThursday.toJD();return 1+Math.floor(offset/7)},monthsInYear:function(year){return this.leapYear(year)?13:12},daysInMonth:function(year,monthIndex){if(year.year){monthIndex=year.month();year=year.year()}year=this._validateYear(year);var monthDaysTable=LUNAR_MONTH_DAYS[year-LUNAR_MONTH_DAYS[0]];var intercalaryMonth=monthDaysTable>>13;var maxMonthIndex=intercalaryMonth?12:11;if(monthIndex>maxMonthIndex){throw main.local.invalidMonth.replace(/\{0\}/,this.local.name)}var daysInMonth=monthDaysTable&1<<12-monthIndex?30:29;return daysInMonth},weekDay:function(year,monthIndex,day){return(this.dayOfWeek(year,monthIndex,day)||7)<6},toJD:function(year,monthIndex,day){var date=this._validate(year,month,day,main.local.invalidDate);year=this._validateYear(date.year());monthIndex=date.month();day=date.day();var isIntercalary=this.isIntercalaryMonth(year,monthIndex);var month=this.toChineseMonth(year,monthIndex);var solar=toSolar(year,month,day,isIntercalary);return gregorianCalendar.toJD(solar.year,solar.month,solar.day)},fromJD:function(jd){var date=gregorianCalendar.fromJD(jd);var lunar=toLunar(date.year(),date.month(),date.day());var monthIndex=this.toMonthIndex(lunar.year,lunar.month,lunar.isIntercalary);return this.newDate(lunar.year,monthIndex,lunar.day)},fromString:function(dateString){var match=dateString.match(DATE_REGEXP);var year=this._validateYear(+match[1]);var month=+match[2];var isIntercalary=!!match[3];var monthIndex=this.toMonthIndex(year,month,isIntercalary);var day=+match[4];return this.newDate(year,monthIndex,day)},add:function(date,offset,period){var year=date.year();var monthIndex=date.month();var isIntercalary=this.isIntercalaryMonth(year,monthIndex);var month=this.toChineseMonth(year,monthIndex);var cdate=Object.getPrototypeOf(ChineseCalendar.prototype).add.call(this,date,offset,period);if(period==="y"){var resultYear=cdate.year();var resultMonthIndex=cdate.month();var resultCanBeIntercalaryMonth=this.isIntercalaryMonth(resultYear,month);var correctedMonthIndex=isIntercalary&&resultCanBeIntercalaryMonth?this.toMonthIndex(resultYear,month,true):this.toMonthIndex(resultYear,month,false);if(correctedMonthIndex!==resultMonthIndex){cdate.month(correctedMonthIndex)}}return cdate}});var DATE_REGEXP=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m;var MONTH_NUMBER_REGEXP=/^\d?\d[iI]?/m;var MONTH_NAME_REGEXP=/^闰?十?[一二三四五六七八九]?月/m;var MONTH_SHORT_NAME_REGEXP=/^闰?十?[一二三四五六七八九]?/m;main.calendars.chinese=ChineseCalendar;var LUNAR_MONTH_DAYS=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548];var CHINESE_NEW_YEAR=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function toLunar(yearOrDate,monthOrResult,day,result){var solarDate;var lunarDate;if(typeof yearOrDate==="object"){solarDate=yearOrDate;lunarDate=monthOrResult||{}}else{var isValidYear=typeof yearOrDate==="number"&&yearOrDate>=1888&&yearOrDate<=2111;if(!isValidYear)throw new Error("Solar year outside range 1888-2111");var isValidMonth=typeof monthOrResult==="number"&&monthOrResult>=1&&monthOrResult<=12;if(!isValidMonth)throw new Error("Solar month outside range 1 - 12");var isValidDay=typeof day==="number"&&day>=1&&day<=31;if(!isValidDay)throw new Error("Solar day outside range 1 - 31");solarDate={year:yearOrDate,month:monthOrResult,day:day};lunarDate=result||{}}var chineseNewYearPackedDate=CHINESE_NEW_YEAR[solarDate.year-CHINESE_NEW_YEAR[0]];var packedDate=solarDate.year<<9|solarDate.month<<5|solarDate.day;lunarDate.year=packedDate>=chineseNewYearPackedDate?solarDate.year:solarDate.year-1;chineseNewYearPackedDate=CHINESE_NEW_YEAR[lunarDate.year-CHINESE_NEW_YEAR[0]];var y=chineseNewYearPackedDate>>9&4095;var m=chineseNewYearPackedDate>>5&15;var d=chineseNewYearPackedDate&31;var daysFromNewYear;var chineseNewYearJSDate=new Date(y,m-1,d);var jsDate=new Date(solarDate.year,solarDate.month-1,solarDate.day);daysFromNewYear=Math.round((jsDate-chineseNewYearJSDate)/(24*3600*1e3));var monthDaysTable=LUNAR_MONTH_DAYS[lunarDate.year-LUNAR_MONTH_DAYS[0]];var i;for(i=0;i<13;i++){var daysInMonth=monthDaysTable&1<<12-i?30:29;if(daysFromNewYear<daysInMonth){break}daysFromNewYear-=daysInMonth}var intercalaryMonth=monthDaysTable>>13;if(!intercalaryMonth||i<intercalaryMonth){lunarDate.isIntercalary=false;lunarDate.month=1+i}else if(i===intercalaryMonth){lunarDate.isIntercalary=true;lunarDate.month=i}else{lunarDate.isIntercalary=false;lunarDate.month=i}lunarDate.day=1+daysFromNewYear;return lunarDate}function toSolar(yearOrDate,monthOrResult,day,isIntercalaryOrResult,result){var solarDate;var lunarDate;if(typeof yearOrDate==="object"){lunarDate=yearOrDate;solarDate=monthOrResult||{}}else{var isValidYear=typeof yearOrDate==="number"&&yearOrDate>=1888&&yearOrDate<=2111;if(!isValidYear)throw new Error("Lunar year outside range 1888-2111");var isValidMonth=typeof monthOrResult==="number"&&monthOrResult>=1&&monthOrResult<=12;if(!isValidMonth)throw new Error("Lunar month outside range 1 - 12");var isValidDay=typeof day==="number"&&day>=1&&day<=30;if(!isValidDay)throw new Error("Lunar day outside range 1 - 30");var isIntercalary;if(typeof isIntercalaryOrResult==="object"){isIntercalary=false;solarDate=isIntercalaryOrResult}else{isIntercalary=!!isIntercalaryOrResult;solarDate=result||{}}lunarDate={year:yearOrDate,month:monthOrResult,day:day,isIntercalary:isIntercalary}}var daysFromNewYear;daysFromNewYear=lunarDate.day-1;var monthDaysTable=LUNAR_MONTH_DAYS[lunarDate.year-LUNAR_MONTH_DAYS[0]];var intercalaryMonth=monthDaysTable>>13;var monthsFromNewYear;if(!intercalaryMonth){monthsFromNewYear=lunarDate.month-1}else if(lunarDate.month>intercalaryMonth){monthsFromNewYear=lunarDate.month}else if(lunarDate.isIntercalary){monthsFromNewYear=lunarDate.month}else{monthsFromNewYear=lunarDate.month-1}for(var i=0;i<monthsFromNewYear;i++){var daysInMonth=monthDaysTable&1<<12-i?30:29;daysFromNewYear+=daysInMonth}var packedDate=CHINESE_NEW_YEAR[lunarDate.year-CHINESE_NEW_YEAR[0]];var y=packedDate>>9&4095;var m=packedDate>>5&15;var d=packedDate&31;var jsDate=new Date(y,m-1,d+daysFromNewYear);solarDate.year=jsDate.getFullYear();solarDate.month=1+jsDate.getMonth();solarDate.day=jsDate.getDate();return solarDate}},{"../main":644,"object-assign":487}],631:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function CopticCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}CopticCalendar.prototype=new main.baseCalendar;assign(CopticCalendar.prototype,{name:"Coptic",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);var year=date.year()+(date.year()<0?1:0);return year%4===3||year%4===-1},monthsInYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear||main.regionalOptions[""].invalidYear);return 13},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(-checkDate.dayOfWeek(),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===13&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return(this.dayOfWeek(year,month,day)||7)<6},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);year=date.year();if(year<0){year++}return date.day()+(date.month()-1)*30+(year-1)*365+Math.floor(year/4)+this.jdEpoch-1},fromJD:function(jd){var c=Math.floor(jd)+.5-this.jdEpoch;var year=Math.floor((c-Math.floor((c+366)/1461))/365)+1;if(year<=0){year--}c=Math.floor(jd)+.5-this.newDate(year,1,1).toJD();var month=Math.floor(c/30)+1;var day=c-(month-1)*30+1;return this.newDate(year,month,day)}});main.calendars.coptic=CopticCalendar},{"../main":644,"object-assign":487}],632:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function DiscworldCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}DiscworldCalendar.prototype=new main.baseCalendar;assign(DiscworldCalendar.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:false}},leapYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return false},monthsInYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return 13},daysInYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return 400},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(-checkDate.dayOfWeek(),"d");return Math.floor((checkDate.dayOfYear()-1)/8)+1},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);return(date.day()+1)%8},weekDay:function(year,month,day){var dow=this.dayOfWeek(year,month,day);return dow>=2&&dow<=6},extraInfo:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);return{century:centuries[Math.floor((date.year()-1)/100)+1]||""}},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);year=date.year()+(date.year()<0?1:0);month=date.month();day=date.day();return day+(month>1?16:0)+(month>2?(month-2)*32:0)+(year-1)*400+this.jdEpoch-1},fromJD:function(jd){jd=Math.floor(jd+.5)-Math.floor(this.jdEpoch)-1;var year=Math.floor(jd/400)+1;jd-=(year-1)*400;jd+=jd>15?16:0;var month=Math.floor(jd/32)+1;var day=jd-(month-1)*32+1;return this.newDate(year<=0?year-1:year,month,day)}});var centuries={20:"Fruitbat",21:"Anchovy"};main.calendars.discworld=DiscworldCalendar},{"../main":644,"object-assign":487}],633:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function EthiopianCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}EthiopianCalendar.prototype=new main.baseCalendar;assign(EthiopianCalendar.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);var year=date.year()+(date.year()<0?1:0);return year%4===3||year%4===-1},monthsInYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear||main.regionalOptions[""].invalidYear);return 13},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(-checkDate.dayOfWeek(),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===13&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return(this.dayOfWeek(year,month,day)||7)<6},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);year=date.year();if(year<0){year++}return date.day()+(date.month()-1)*30+(year-1)*365+Math.floor(year/4)+this.jdEpoch-1},fromJD:function(jd){var c=Math.floor(jd)+.5-this.jdEpoch;var year=Math.floor((c-Math.floor((c+366)/1461))/365)+1;if(year<=0){year--}c=Math.floor(jd)+.5-this.newDate(year,1,1).toJD();var month=Math.floor(c/30)+1;var day=c-(month-1)*30+1;return this.newDate(year,month,day)}});main.calendars.ethiopian=EthiopianCalendar},{"../main":644,"object-assign":487}],634:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function HebrewCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}HebrewCalendar.prototype=new main.baseCalendar;assign(HebrewCalendar.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:false,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return this._leapYear(date.year())},_leapYear:function(year){year=year<0?year+1:year;return mod(year*7+1,19)<7},monthsInYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return this._leapYear(year.year?year.year():year)?13:12},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(-checkDate.dayOfWeek(),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);year=date.year();return this.toJD(year===-1?+1:year+1,7,1)-this.toJD(year,7,1)},daysInMonth:function(year,month){if(year.year){month=year.month();year=year.year()}this._validate(year,month,this.minDay,main.local.invalidMonth);return month===12&&this.leapYear(year)?30:month===8&&mod(this.daysInYear(year),10)===5?30:month===9&&mod(this.daysInYear(year),10)===3?29:this.daysPerMonth[month-1]},weekDay:function(year,month,day){return this.dayOfWeek(year,month,day)!==6},extraInfo:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);return{yearType:(this.leapYear(date)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(date)%10-3]}},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);year=date.year();month=date.month();day=date.day();var adjYear=year<=0?year+1:year;var jd=this.jdEpoch+this._delay1(adjYear)+this._delay2(adjYear)+day+1;if(month<7){for(var m=7;m<=this.monthsInYear(year);m++){jd+=this.daysInMonth(year,m)}for(var m=1;m<month;m++){jd+=this.daysInMonth(year,m)}}else{for(var m=7;m<month;m++){jd+=this.daysInMonth(year,m)}}return jd},_delay1:function(year){var months=Math.floor((235*year-234)/19);var parts=12084+13753*months;var day=months*29+Math.floor(parts/25920);if(mod(3*(day+1),7)<3){day++}return day},_delay2:function(year){var last=this._delay1(year-1);var present=this._delay1(year);var next=this._delay1(year+1);return next-present===356?2:present-last===382?1:0},fromJD:function(jd){jd=Math.floor(jd)+.5;var year=Math.floor((jd-this.jdEpoch)*98496/35975351)-1;while(jd>=this.toJD(year===-1?+1:year+1,7,1)){year++}var month=jd<this.toJD(year,1,1)?7:1;while(jd>this.toJD(year,month,this.daysInMonth(year,month))){month++}var day=jd-this.toJD(year,month,1)+1;return this.newDate(year,month,day)}});function mod(a,b){return a-b*Math.floor(a/b)}main.calendars.hebrew=HebrewCalendar},{"../main":644,"object-assign":487}],635:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function IslamicCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}IslamicCalendar.prototype=new main.baseCalendar;assign(IslamicCalendar.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return(date.year()*11+14)%30<11},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(-checkDate.dayOfWeek(),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInYear:function(year){return this.leapYear(year)?355:354},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===12&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return this.dayOfWeek(year,month,day)!==5},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);year=date.year();month=date.month();day=date.day();year=year<=0?year+1:year;return day+Math.ceil(29.5*(month-1))+(year-1)*354+Math.floor((3+11*year)/30)+this.jdEpoch-1},fromJD:function(jd){jd=Math.floor(jd)+.5;var year=Math.floor((30*(jd-this.jdEpoch)+10646)/10631);year=year<=0?year-1:year;var month=Math.min(12,Math.ceil((jd-29-this.toJD(year,1,1))/29.5)+1);var day=jd-this.toJD(year,month,1)+1;return this.newDate(year,month,day)}});main.calendars.islamic=IslamicCalendar},{"../main":644,"object-assign":487}],636:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function JulianCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}JulianCalendar.prototype=new main.baseCalendar;assign(JulianCalendar.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);var year=date.year()<0?date.year()+1:date.year();return year%4===0},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(4-(checkDate.dayOfWeek()||7),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===2&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return(this.dayOfWeek(year,month,day)||7)<6},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);year=date.year();month=date.month();day=date.day();if(year<0){year++}if(month<=2){year--;month+=12}return Math.floor(365.25*(year+4716))+Math.floor(30.6001*(month+1))+day-1524.5},fromJD:function(jd){var a=Math.floor(jd+.5);var b=a+1524;var c=Math.floor((b-122.1)/365.25);var d=Math.floor(365.25*c);var e=Math.floor((b-d)/30.6001);var month=e-Math.floor(e<14?1:13);var year=c-Math.floor(month>2?4716:4715);var day=b-d-Math.floor(30.6001*e);if(year<=0){year--}return this.newDate(year,month,day)}});main.calendars.julian=JulianCalendar},{"../main":644,"object-assign":487}],637:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function MayanCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}MayanCalendar.prototype=new main.baseCalendar;assign(MayanCalendar.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:true,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:false,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return false},formatYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);year=date.year();var baktun=Math.floor(year/400);year=year%400;year+=year<0?400:0;var katun=Math.floor(year/20);return baktun+"."+katun+"."+year%20},forYear:function(years){years=years.split(".");if(years.length<3){throw"Invalid Mayan year"}var year=0;for(var i=0;i<years.length;i++){var y=parseInt(years[i],10);if(Math.abs(y)>19||i>0&&y<0){throw"Invalid Mayan year"}year=year*20+y}return year},monthsInYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return 18},weekOfYear:function(year,month,day){this._validate(year,month,day,main.local.invalidDate);return 0},daysInYear:function(year){this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return 360},daysInMonth:function(year,month){this._validate(year,month,this.minDay,main.local.invalidMonth);return 20},daysInWeek:function(){return 5},dayOfWeek:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);return date.day()},weekDay:function(year,month,day){this._validate(year,month,day,main.local.invalidDate);return true},extraInfo:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);var jd=date.toJD();var haab=this._toHaab(jd);var tzolkin=this._toTzolkin(jd);return{haabMonthName:this.local.haabMonths[haab[0]-1],haabMonth:haab[0],haabDay:haab[1],tzolkinDayName:this.local.tzolkinMonths[tzolkin[0]-1],tzolkinDay:tzolkin[0],tzolkinTrecena:tzolkin[1]}},_toHaab:function(jd){jd-=this.jdEpoch;var day=mod(jd+8+(18-1)*20,365);return[Math.floor(day/20)+1,mod(day,20)]},_toTzolkin:function(jd){jd-=this.jdEpoch;return[amod(jd+20,20),amod(jd+4,13)]},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);return date.day()+date.month()*20+date.year()*360+this.jdEpoch},fromJD:function(jd){jd=Math.floor(jd)+.5-this.jdEpoch;var year=Math.floor(jd/360);jd=jd%360;jd+=jd<0?360:0;var month=Math.floor(jd/20);var day=jd%20;return this.newDate(year,month,day)}});function mod(a,b){return a-b*Math.floor(a/b)}function amod(a,b){return mod(a-1,b)+1}main.calendars.mayan=MayanCalendar},{"../main":644,"object-assign":487}],638:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function NanakshahiCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}NanakshahiCalendar.prototype=new main.baseCalendar;var gregorian=main.instance("gregorian");assign(NanakshahiCalendar.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear||main.regionalOptions[""].invalidYear);return gregorian.leapYear(date.year()+(date.year()<1?1:0)+1469)},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(1-(checkDate.dayOfWeek()||7),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===12&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return(this.dayOfWeek(year,month,day)||7)<6},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidMonth);var year=date.year();if(year<0){year++}var doy=date.day();for(var m=1;m<date.month();m++){doy+=this.daysPerMonth[m-1]}return doy+gregorian.toJD(year+1468,3,13)},fromJD:function(jd){jd=Math.floor(jd+.5);var year=Math.floor((jd-(this.jdEpoch-1))/366);while(jd>=this.toJD(year+1,1,1)){year++}var day=jd-Math.floor(this.toJD(year,1,1)+.5)+1;var month=1;while(day>this.daysInMonth(year,month)){day-=this.daysInMonth(year,month);month++}return this.newDate(year,month,day)}});main.calendars.nanakshahi=NanakshahiCalendar},{"../main":644,"object-assign":487}],639:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function NepaliCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}NepaliCalendar.prototype=new main.baseCalendar;assign(NepaliCalendar.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:false}},leapYear:function(year){return this.daysInYear(year)!==this.daysPerYear},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(-checkDate.dayOfWeek(),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);year=date.year();if(typeof this.NEPALI_CALENDAR_DATA[year]==="undefined"){return this.daysPerYear}var daysPerYear=0;for(var month_number=this.minMonth;month_number<=12;month_number++){daysPerYear+=this.NEPALI_CALENDAR_DATA[year][month_number]}return daysPerYear},daysInMonth:function(year,month){if(year.year){month=year.month();year=year.year()}this._validate(year,month,this.minDay,main.local.invalidMonth);return typeof this.NEPALI_CALENDAR_DATA[year]==="undefined"?this.daysPerMonth[month-1]:this.NEPALI_CALENDAR_DATA[year][month]},weekDay:function(year,month,day){return this.dayOfWeek(year,month,day)!==6},toJD:function(nepaliYear,nepaliMonth,nepaliDay){var date=this._validate(nepaliYear,nepaliMonth,nepaliDay,main.local.invalidDate);nepaliYear=date.year();nepaliMonth=date.month();nepaliDay=date.day();var gregorianCalendar=main.instance();var gregorianDayOfYear=0;var nepaliMonthToCheck=nepaliMonth;var nepaliYearToCheck=nepaliYear;this._createMissingCalendarData(nepaliYear);var gregorianYear=nepaliYear-(nepaliMonthToCheck>9||nepaliMonthToCheck===9&&nepaliDay>=this.NEPALI_CALENDAR_DATA[nepaliYearToCheck][0]?56:57);if(nepaliMonth!==9){gregorianDayOfYear=nepaliDay;nepaliMonthToCheck--}while(nepaliMonthToCheck!==9){if(nepaliMonthToCheck<=0){nepaliMonthToCheck=12;nepaliYearToCheck--}gregorianDayOfYear+=this.NEPALI_CALENDAR_DATA[nepaliYearToCheck][nepaliMonthToCheck];nepaliMonthToCheck--}if(nepaliMonth===9){gregorianDayOfYear+=nepaliDay-this.NEPALI_CALENDAR_DATA[nepaliYearToCheck][0];if(gregorianDayOfYear<0){gregorianDayOfYear+=gregorianCalendar.daysInYear(gregorianYear)}}else{gregorianDayOfYear+=this.NEPALI_CALENDAR_DATA[nepaliYearToCheck][9]-this.NEPALI_CALENDAR_DATA[nepaliYearToCheck][0]}return gregorianCalendar.newDate(gregorianYear,1,1).add(gregorianDayOfYear,"d").toJD()},fromJD:function(jd){var gregorianCalendar=main.instance();var gregorianDate=gregorianCalendar.fromJD(jd);var gregorianYear=gregorianDate.year();var gregorianDayOfYear=gregorianDate.dayOfYear();var nepaliYear=gregorianYear+56;this._createMissingCalendarData(nepaliYear);var nepaliMonth=9;var dayOfFirstJanInPaush=this.NEPALI_CALENDAR_DATA[nepaliYear][0];var daysSinceJanFirstToEndOfNepaliMonth=this.NEPALI_CALENDAR_DATA[nepaliYear][nepaliMonth]-dayOfFirstJanInPaush+1;while(gregorianDayOfYear>daysSinceJanFirstToEndOfNepaliMonth){nepaliMonth++;if(nepaliMonth>12){nepaliMonth=1;nepaliYear++}daysSinceJanFirstToEndOfNepaliMonth+=this.NEPALI_CALENDAR_DATA[nepaliYear][nepaliMonth]}var nepaliDayOfMonth=this.NEPALI_CALENDAR_DATA[nepaliYear][nepaliMonth]-(daysSinceJanFirstToEndOfNepaliMonth-gregorianDayOfYear);return this.newDate(nepaliYear,nepaliMonth,nepaliDayOfMonth)},_createMissingCalendarData:function(nepaliYear){var tmp_calendar_data=this.daysPerMonth.slice(0);tmp_calendar_data.unshift(17);for(var nepaliYearToCreate=nepaliYear-1;nepaliYearToCreate<nepaliYear+2;nepaliYearToCreate++){if(typeof this.NEPALI_CALENDAR_DATA[nepaliYearToCreate]==="undefined"){this.NEPALI_CALENDAR_DATA[nepaliYearToCreate]=tmp_calendar_data}}},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}});main.calendars.nepali=NepaliCalendar},{"../main":644,"object-assign":487}],640:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function PersianCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}PersianCalendar.prototype=new main.baseCalendar;assign(PersianCalendar.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Chæharshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Chæ","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return((date.year()-(date.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(-((checkDate.dayOfWeek()+1)%7),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===12&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return this.dayOfWeek(year,month,day)!==5},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);year=date.year();month=date.month();day=date.day();var epBase=year-(year>=0?474:473);var epYear=474+mod(epBase,2820);return day+(month<=7?(month-1)*31:(month-1)*30+6)+Math.floor((epYear*682-110)/2816)+(epYear-1)*365+Math.floor(epBase/2820)*1029983+this.jdEpoch-1},fromJD:function(jd){jd=Math.floor(jd)+.5;var depoch=jd-this.toJD(475,1,1);var cycle=Math.floor(depoch/1029983);var cyear=mod(depoch,1029983);var ycycle=2820;if(cyear!==1029982){var aux1=Math.floor(cyear/366);var aux2=mod(cyear,366);ycycle=Math.floor((2134*aux1+2816*aux2+2815)/1028522)+aux1+1}var year=ycycle+2820*cycle+474;year=year<=0?year-1:year;var yday=jd-this.toJD(year,1,1)+1;var month=yday<=186?Math.ceil(yday/31):Math.ceil((yday-6)/30);var day=jd-this.toJD(year,month,1)+1;return this.newDate(year,month,day)}});function mod(a,b){return a-b*Math.floor(a/b)}main.calendars.persian=PersianCalendar;main.calendars.jalali=PersianCalendar},{"../main":644,"object-assign":487}],641:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");var gregorianCalendar=main.instance();function TaiwanCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}TaiwanCalendar.prototype=new main.baseCalendar;assign(TaiwanCalendar.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);var year=this._t2gYear(date.year());return gregorianCalendar.leapYear(year)},weekOfYear:function(year,month,day){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);var year=this._t2gYear(date.year());return gregorianCalendar.weekOfYear(year,date.month(),date.day())},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===2&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return(this.dayOfWeek(year,month,day)||7)<6},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);var year=this._t2gYear(date.year());return gregorianCalendar.toJD(year,date.month(),date.day())},fromJD:function(jd){var date=gregorianCalendar.fromJD(jd);var year=this._g2tYear(date.year());return this.newDate(year,date.month(),date.day())},_t2gYear:function(year){return year+this.yearsOffset+(year>=-this.yearsOffset&&year<=-1?1:0)},_g2tYear:function(year){return year-this.yearsOffset-(year>=1&&year<=this.yearsOffset?1:0)}});main.calendars.taiwan=TaiwanCalendar},{"../main":644,"object-assign":487}],642:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");var gregorianCalendar=main.instance();function ThaiCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}ThaiCalendar.prototype=new main.baseCalendar;assign(ThaiCalendar.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);var year=this._t2gYear(date.year());return gregorianCalendar.leapYear(year)},weekOfYear:function(year,month,day){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);var year=this._t2gYear(date.year());return gregorianCalendar.weekOfYear(year,date.month(),date.day())},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===2&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return(this.dayOfWeek(year,month,day)||7)<6},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);var year=this._t2gYear(date.year());return gregorianCalendar.toJD(year,date.month(),date.day())},fromJD:function(jd){var date=gregorianCalendar.fromJD(jd);var year=this._g2tYear(date.year());return this.newDate(year,date.month(),date.day())},_t2gYear:function(year){return year-this.yearsOffset-(year>=1&&year<=this.yearsOffset?1:0)},_g2tYear:function(year){return year+this.yearsOffset+(year>=-this.yearsOffset&&year<=-1?1:0)}});main.calendars.thai=ThaiCalendar},{"../main":644,"object-assign":487}],643:[function(_dereq_,module,exports){var main=_dereq_("../main");var assign=_dereq_("object-assign");function UmmAlQuraCalendar(language){this.local=this.regionalOptions[language||""]||this.regionalOptions[""]}UmmAlQuraCalendar.prototype=new main.baseCalendar;assign(UmmAlQuraCalendar.prototype,{name:"UmmAlQura",hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:true}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,main.local.invalidYear);return this.daysInYear(date.year())===355},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(-checkDate.dayOfWeek(),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInYear:function(year){var daysCount=0;for(var i=1;i<=12;i++){daysCount+=this.daysInMonth(year,i)}return daysCount},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,main.local.invalidMonth);var mcjdn=date.toJD()-24e5+.5;var index=0;for(var i=0;i<ummalqura_dat.length;i++){if(ummalqura_dat[i]>mcjdn){return ummalqura_dat[index]-ummalqura_dat[index-1]}index++}return 30},weekDay:function(year,month,day){return this.dayOfWeek(year,month,day)!==5},toJD:function(year,month,day){var date=this._validate(year,month,day,main.local.invalidDate);var index=12*(date.year()-1)+date.month()-15292;var mcjdn=date.day()+ummalqura_dat[index-1]-1;return mcjdn+24e5-.5},fromJD:function(jd){var mcjdn=jd-24e5+.5;var index=0;for(var i=0;i<ummalqura_dat.length;i++){if(ummalqura_dat[i]>mcjdn)break;index++}var lunation=index+15292;var ii=Math.floor((lunation-1)/12);var year=ii+1;var month=lunation-12*ii;var day=mcjdn-ummalqura_dat[index-1]+1;return this.newDate(year,month,day)},isValid:function(year,month,day){var valid=main.baseCalendar.prototype.isValid.apply(this,arguments);if(valid){year=year.year!=null?year.year:year;valid=year>=1276&&year<=1500}return valid},_validate:function(year,month,day,error){var date=main.baseCalendar.prototype._validate.apply(this,arguments);if(date.year<1276||date.year>1500){throw error.replace(/\{0\}/,this.local.name)}return date}});main.calendars.ummalqura=UmmAlQuraCalendar;var ummalqura_dat=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":644,"object-assign":487}],644:[function(_dereq_,module,exports){var assign=_dereq_("object-assign");function Calendars(){this.regionalOptions=[];this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"};this.local=this.regionalOptions[""];this.calendars={};this._localCals={}}assign(Calendars.prototype,{instance:function(name,language){name=(name||"gregorian").toLowerCase();language=language||"";var cal=this._localCals[name+"-"+language];if(!cal&&this.calendars[name]){cal=new this.calendars[name](language);this._localCals[name+"-"+language]=cal}if(!cal){throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,name)}return cal},newDate:function(year,month,day,calendar,language){calendar=(year!=null&&year.year?year.calendar():typeof calendar==="string"?this.instance(calendar,language):calendar)||this.instance();return calendar.newDate(year,month,day)},substituteDigits:function(digits){return function(value){return(value+"").replace(/[0-9]/g,(function(digit){return digits[digit]}))}},substituteChineseDigits:function(digits,powers){return function(value){var localNumber="";var power=0;while(value>0){var units=value%10;localNumber=(units===0?"":digits[units]+powers[power])+localNumber;power++;value=Math.floor(value/10)}if(localNumber.indexOf(digits[1]+powers[1])===0){localNumber=localNumber.substr(1)}return localNumber||digits[0]}}});function CDate(calendar,year,month,day){this._calendar=calendar;this._year=year;this._month=month;this._day=day;if(this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day)){throw(_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}}function pad(value,length){value=""+value;return"000000".substring(0,length-value.length)+value}assign(CDate.prototype,{newDate:function(year,month,day){return this._calendar.newDate(year==null?this:year,month,day)},year:function(year){return arguments.length===0?this._year:this.set(year,"y")},month:function(month){return arguments.length===0?this._month:this.set(month,"m")},day:function(day){return arguments.length===0?this._day:this.set(day,"d")},date:function(year,month,day){if(!this._calendar.isValid(year,month,day)){throw(_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}this._year=year;this._month=month;this._day=day;return this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(offset,period){return this._calendar.add(this,offset,period)},set:function(value,period){return this._calendar.set(this,value,period)},compareTo:function(date){if(this._calendar.name!==date._calendar.name){throw(_exports.local.differentCalendars||_exports.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,date._calendar.local.name)}var c=this._year!==date._year?this._year-date._year:this._month!==date._month?this.monthOfYear()-date.monthOfYear():this._day-date._day;return c===0?0:c<0?-1:+1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(jd){return this._calendar.fromJD(jd)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(jsd){return this._calendar.fromJSDate(jsd)},toString:function(){return(this.year()<0?"-":"")+pad(Math.abs(this.year()),4)+"-"+pad(this.month(),2)+"-"+pad(this.day(),2)}});function BaseCalendar(){this.shortYearCutoff="+10"}assign(BaseCalendar.prototype,{_validateLevel:0,newDate:function(year,month,day){if(year==null){return this.today()}if(year.year){this._validate(year,month,day,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);day=year.day();month=year.month();year=year.year()}return new CDate(this,year,month,day)},today:function(){return this.fromJSDate(new Date)},epoch:function(year){var date=this._validate(year,this.minMonth,this.minDay,_exports.local.invalidYear||_exports.regionalOptions[""].invalidYear);return date.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,_exports.local.invalidYear||_exports.regionalOptions[""].invalidYear);return(date.year()<0?"-":"")+pad(Math.abs(date.year()),4)},monthsInYear:function(year){this._validate(year,this.minMonth,this.minDay,_exports.local.invalidYear||_exports.regionalOptions[""].invalidYear);return 12},monthOfYear:function(year,month){var date=this._validate(year,month,this.minDay,_exports.local.invalidMonth||_exports.regionalOptions[""].invalidMonth);return(date.month()+this.monthsInYear(date)-this.firstMonth)%this.monthsInYear(date)+this.minMonth},fromMonthOfYear:function(year,ord){var m=(ord+this.firstMonth-2*this.minMonth)%this.monthsInYear(year)+this.minMonth;this._validate(year,m,this.minDay,_exports.local.invalidMonth||_exports.regionalOptions[""].invalidMonth);return m},daysInYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,_exports.local.invalidYear||_exports.regionalOptions[""].invalidYear);return this.leapYear(date)?366:365},dayOfYear:function(year,month,day){var date=this._validate(year,month,day,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);return date.toJD()-this.newDate(date.year(),this.fromMonthOfYear(date.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(year,month,day){var date=this._validate(year,month,day,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(date))+2)%this.daysInWeek()},extraInfo:function(year,month,day){this._validate(year,month,day,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);return{}},add:function(date,offset,period){this._validate(date,this.minMonth,this.minDay,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);return this._correctAdd(date,this._add(date,offset,period),offset,period)},_add:function(date,offset,period){this._validateLevel++;if(period==="d"||period==="w"){var jd=date.toJD()+offset*(period==="w"?this.daysInWeek():1);var d=date.calendar().fromJD(jd);this._validateLevel--;return[d.year(),d.month(),d.day()]}try{var y=date.year()+(period==="y"?offset:0);var m=date.monthOfYear()+(period==="m"?offset:0);var d=date.day();var resyncYearMonth=function(calendar){while(m<calendar.minMonth){y--;m+=calendar.monthsInYear(y)}var yearMonths=calendar.monthsInYear(y);while(m>yearMonths-1+calendar.minMonth){y++;m-=yearMonths;yearMonths=calendar.monthsInYear(y)}};if(period==="y"){if(date.month()!==this.fromMonthOfYear(y,m)){m=this.newDate(y,date.month(),this.minDay).monthOfYear()}m=Math.min(m,this.monthsInYear(y));d=Math.min(d,this.daysInMonth(y,this.fromMonthOfYear(y,m)))}else if(period==="m"){resyncYearMonth(this);d=Math.min(d,this.daysInMonth(y,this.fromMonthOfYear(y,m)))}var ymd=[y,this.fromMonthOfYear(y,m),d];this._validateLevel--;return ymd}catch(e){this._validateLevel--;throw e}},_correctAdd:function(date,ymd,offset,period){if(!this.hasYearZero&&(period==="y"||period==="m")){if(ymd[0]===0||date.year()>0!==ymd[0]>0){var adj={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[period];var dir=offset<0?-1:+1;ymd=this._add(date,offset*adj[0]+dir*adj[1],adj[2])}}return date.date(ymd[0],ymd[1],ymd[2])},set:function(date,value,period){this._validate(date,this.minMonth,this.minDay,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);var y=period==="y"?value:date.year();var m=period==="m"?value:date.month();var d=period==="d"?value:date.day();if(period==="y"||period==="m"){d=Math.min(d,this.daysInMonth(y,m))}return date.date(y,m,d)},isValid:function(year,month,day){this._validateLevel++;var valid=this.hasYearZero||year!==0;if(valid){var date=this.newDate(year,month,this.minDay);valid=month>=this.minMonth&&month-this.minMonth<this.monthsInYear(date)&&(day>=this.minDay&&day-this.minDay<this.daysInMonth(date))}this._validateLevel--;return valid},toJSDate:function(year,month,day){var date=this._validate(year,month,day,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);return _exports.instance().fromJD(this.toJD(date)).toJSDate()},fromJSDate:function(jsd){return this.fromJD(_exports.instance().fromJSDate(jsd).toJD())},_validate:function(year,month,day,error){if(year.year){if(this._validateLevel===0&&this.name!==year.calendar().name){throw(_exports.local.differentCalendars||_exports.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,year.calendar().local.name)}return year}try{this._validateLevel++;if(this._validateLevel===1&&!this.isValid(year,month,day)){throw error.replace(/\{0\}/,this.local.name)}var date=this.newDate(year,month,day);this._validateLevel--;return date}catch(e){this._validateLevel--;throw e}}});function GregorianCalendar(language){this.local=this.regionalOptions[language]||this.regionalOptions[""]}GregorianCalendar.prototype=new BaseCalendar;assign(GregorianCalendar.prototype,{name:"Gregorian",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:false,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:false}},leapYear:function(year){var date=this._validate(year,this.minMonth,this.minDay,_exports.local.invalidYear||_exports.regionalOptions[""].invalidYear);var year=date.year()+(date.year()<0?1:0);return year%4===0&&(year%100!==0||year%400===0)},weekOfYear:function(year,month,day){var checkDate=this.newDate(year,month,day);checkDate.add(4-(checkDate.dayOfWeek()||7),"d");return Math.floor((checkDate.dayOfYear()-1)/7)+1},daysInMonth:function(year,month){var date=this._validate(year,month,this.minDay,_exports.local.invalidMonth||_exports.regionalOptions[""].invalidMonth);return this.daysPerMonth[date.month()-1]+(date.month()===2&&this.leapYear(date.year())?1:0)},weekDay:function(year,month,day){return(this.dayOfWeek(year,month,day)||7)<6},toJD:function(year,month,day){var date=this._validate(year,month,day,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);year=date.year();month=date.month();day=date.day();if(year<0){year++}if(month<3){month+=12;year--}var a=Math.floor(year/100);var b=2-a+Math.floor(a/4);return Math.floor(365.25*(year+4716))+Math.floor(30.6001*(month+1))+day+b-1524.5},fromJD:function(jd){var z=Math.floor(jd+.5);var a=Math.floor((z-1867216.25)/36524.25);a=z+1+a-Math.floor(a/4);var b=a+1524;var c=Math.floor((b-122.1)/365.25);var d=Math.floor(365.25*c);var e=Math.floor((b-d)/30.6001);var day=b-d-Math.floor(e*30.6001);var month=e-(e>13.5?13:1);var year=c-(month>2.5?4716:4715);if(year<=0){year--}return this.newDate(year,month,day)},toJSDate:function(year,month,day){var date=this._validate(year,month,day,_exports.local.invalidDate||_exports.regionalOptions[""].invalidDate);var jsd=new Date(date.year(),date.month()-1,date.day());jsd.setHours(0);jsd.setMinutes(0);jsd.setSeconds(0);jsd.setMilliseconds(0);jsd.setHours(jsd.getHours()>12?jsd.getHours()+2:0);return jsd},fromJSDate:function(jsd){return this.newDate(jsd.getFullYear(),jsd.getMonth()+1,jsd.getDate())}});var _exports=module.exports=new Calendars;_exports.cdate=CDate;_exports.baseCalendar=BaseCalendar;_exports.calendars.gregorian=GregorianCalendar},{"object-assign":487}],645:[function(_dereq_,module,exports){var assign=_dereq_("object-assign");var main=_dereq_("./main");assign(main.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"});main.local=main.regionalOptions[""];assign(main.cdate.prototype,{formatDate:function(format,settings){if(typeof format!=="string"){settings=format;format=""}return this._calendar.formatDate(format||"",this,settings)}});assign(main.baseCalendar.prototype,{UNIX_EPOCH:main.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:main.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(format,date,settings){if(typeof format!=="string"){settings=date;date=format;format=""}if(!date){return""}if(date.calendar()!==this){throw main.local.invalidFormat||main.regionalOptions[""].invalidFormat}format=format||this.local.dateFormat;settings=settings||{};var dayNamesShort=settings.dayNamesShort||this.local.dayNamesShort;var dayNames=settings.dayNames||this.local.dayNames;var monthNumbers=settings.monthNumbers||this.local.monthNumbers;var monthNamesShort=settings.monthNamesShort||this.local.monthNamesShort;var monthNames=settings.monthNames||this.local.monthNames;var calculateWeek=settings.calculateWeek||this.local.calculateWeek;var doubled=function(match,step){var matches=1;while(iFormat+matches<format.length&&format.charAt(iFormat+matches)===match){matches++}iFormat+=matches-1;return Math.floor(matches/(step||1))>1};var formatNumber=function(match,value,len,step){var num=""+value;if(doubled(match,step)){while(num.length<len){num="0"+num}}return num};var formatName=function(match,value,shortNames,longNames){return doubled(match)?longNames[value]:shortNames[value]};var calendar=this;var formatMonth=function(date){return typeof monthNumbers==="function"?monthNumbers.call(calendar,date,doubled("m")):localiseNumbers(formatNumber("m",date.month(),2))};var formatMonthName=function(date,useLongName){if(useLongName){return typeof monthNames==="function"?monthNames.call(calendar,date):monthNames[date.month()-calendar.minMonth]}else{return typeof monthNamesShort==="function"?monthNamesShort.call(calendar,date):monthNamesShort[date.month()-calendar.minMonth]}};var digits=this.local.digits;var localiseNumbers=function(value){return settings.localNumbers&&digits?digits(value):value};var output="";var literal=false;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)==="'"&&!doubled("'")){literal=false}else{output+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":output+=localiseNumbers(formatNumber("d",date.day(),2));break;case"D":output+=formatName("D",date.dayOfWeek(),dayNamesShort,dayNames);break;case"o":output+=formatNumber("o",date.dayOfYear(),3);break;case"w":output+=formatNumber("w",date.weekOfYear(),2);break;case"m":output+=formatMonth(date);break;case"M":output+=formatMonthName(date,doubled("M"));break;case"y":output+=doubled("y",2)?date.year():(date.year()%100<10?"0":"")+date.year()%100;break;case"Y":doubled("Y",2);output+=date.formatYear();break;case"J":output+=date.toJD();break;case"@":output+=(date.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":output+=(date.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":if(doubled("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}return output},parseDate:function(format,value,settings){if(value==null){throw main.local.invalidArguments||main.regionalOptions[""].invalidArguments}value=typeof value==="object"?value.toString():value+"";if(value===""){return null}format=format||this.local.dateFormat;settings=settings||{};var shortYearCutoff=settings.shortYearCutoff||this.shortYearCutoff;shortYearCutoff=typeof shortYearCutoff!=="string"?shortYearCutoff:this.today().year()%100+parseInt(shortYearCutoff,10);var dayNamesShort=settings.dayNamesShort||this.local.dayNamesShort;var dayNames=settings.dayNames||this.local.dayNames;var parseMonth=settings.parseMonth||this.local.parseMonth;var monthNumbers=settings.monthNumbers||this.local.monthNumbers;var monthNamesShort=settings.monthNamesShort||this.local.monthNamesShort;var monthNames=settings.monthNames||this.local.monthNames;var jd=-1;var year=-1;var month=-1;var day=-1;var doy=-1;var shortYear=false;var literal=false;var doubled=function(match,step){var matches=1;while(iFormat+matches<format.length&&format.charAt(iFormat+matches)===match){matches++}iFormat+=matches-1;return Math.floor(matches/(step||1))>1};var getNumber=function(match,step){var isDoubled=doubled(match,step);var size=[2,3,isDoubled?4:2,isDoubled?4:2,10,11,20]["oyYJ@!".indexOf(match)+1];var digits=new RegExp("^-?\\d{1,"+size+"}");var num=value.substring(iValue).match(digits);if(!num){throw(main.local.missingNumberAt||main.regionalOptions[""].missingNumberAt).replace(/\{0\}/,iValue)}iValue+=num[0].length;return parseInt(num[0],10)};var calendar=this;var getMonthNumber=function(){if(typeof monthNumbers==="function"){doubled("m");var month=monthNumbers.call(calendar,value.substring(iValue));iValue+=month.length;return month}return getNumber("m")};var getName=function(match,shortNames,longNames,step){var names=doubled(match,step)?longNames:shortNames;for(var i=0;i<names.length;i++){if(value.substr(iValue,names[i].length).toLowerCase()===names[i].toLowerCase()){iValue+=names[i].length;return i+calendar.minMonth}}throw(main.local.unknownNameAt||main.regionalOptions[""].unknownNameAt).replace(/\{0\}/,iValue)};var getMonthName=function(){if(typeof monthNames==="function"){var month=doubled("M")?monthNames.call(calendar,value.substring(iValue)):monthNamesShort.call(calendar,value.substring(iValue));iValue+=month.length;return month}return getName("M",monthNamesShort,monthNames)};var checkLiteral=function(){if(value.charAt(iValue)!==format.charAt(iFormat)){throw(main.local.unexpectedLiteralAt||main.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,iValue)}iValue++};var iValue=0;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)==="'"&&!doubled("'")){literal=false}else{checkLiteral()}}else{switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"o":doy=getNumber("o");break;case"w":getNumber("w");break;case"m":month=getMonthNumber();break;case"M":month=getMonthName();break;case"y":var iSave=iFormat;shortYear=!doubled("y",2);iFormat=iSave;year=getNumber("y",2);break;case"Y":year=getNumber("Y",2);break;case"J":jd=getNumber("J")+.5;if(value.charAt(iValue)==="."){iValue++;getNumber("J")}break;case"@":jd=getNumber("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":jd=getNumber("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":iValue=value.length;break;case"'":if(doubled("'")){checkLiteral()}else{literal=true}break;default:checkLiteral()}}}if(iValue<value.length){throw main.local.unexpectedText||main.regionalOptions[""].unexpectedText}if(year===-1){year=this.today().year()}else if(year<100&&shortYear){year+=shortYearCutoff===-1?1900:this.today().year()-this.today().year()%100-(year<=shortYearCutoff?0:100)}if(typeof month==="string"){month=parseMonth.call(this,year,month)}if(doy>-1){month=1;day=doy;for(var dim=this.daysInMonth(year,month);day>dim;dim=this.daysInMonth(year,month)){month++;day-=dim}}return jd>-1?this.fromJD(jd):this.newDate(year,month,day)},determineDate:function(dateSpec,defaultDate,currentDate,dateFormat,settings){if(currentDate&&typeof currentDate!=="object"){settings=dateFormat;dateFormat=currentDate;currentDate=null}if(typeof dateFormat!=="string"){settings=dateFormat;dateFormat=""}var calendar=this;var offsetString=function(offset){try{return calendar.parseDate(dateFormat,offset,settings)}catch(e){}offset=offset.toLowerCase();var date=(offset.match(/^c/)&&currentDate?currentDate.newDate():null)||calendar.today();var pattern=/([+-]?[0-9]+)\s*(d|w|m|y)?/g;var matches=pattern.exec(offset);while(matches){date.add(parseInt(matches[1],10),matches[2]||"d");matches=pattern.exec(offset)}return date};defaultDate=defaultDate?defaultDate.newDate():null;dateSpec=dateSpec==null?defaultDate:typeof dateSpec==="string"?offsetString(dateSpec):typeof dateSpec==="number"?isNaN(dateSpec)||dateSpec===Infinity||dateSpec===-Infinity?defaultDate:calendar.today().add(dateSpec,"d"):calendar.newDate(dateSpec);return dateSpec}})},{"./main":644,"object-assign":487}],646:[function(_dereq_,module,exports){module.exports=_dereq_("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n        }\n      }",args:[{name:"_inline_1_arg0_",lvalue:false,rvalue:true,count:1},{name:"_inline_1_arg1_",lvalue:false,rvalue:true,count:1},{name:"_inline_1_arg2_",lvalue:false,rvalue:true,count:1},{name:"_inline_1_arg3_",lvalue:false,rvalue:true,count:2},{name:"_inline_1_arg4_",lvalue:false,rvalue:true,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":157}],647:[function(_dereq_,module,exports){"use strict";module.exports=findZeroCrossings;var core=_dereq_("./lib/zc-core");function findZeroCrossings(array,level){var cross=[];level=+level||0;core(array.hi(array.shape[0]-1),cross,level);return cross}},{"./lib/zc-core":646}],648:[function(_dereq_,module,exports){"use strict";module.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:true},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:true}]},{}],649:[function(_dereq_,module,exports){"use strict";var ARROWPATHS=_dereq_("./arrow_paths");var fontAttrs=_dereq_("../../plots/font_attributes");var cartesianConstants=_dereq_("../../plots/cartesian/constants");var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var axisPlaceableObjs=_dereq_("../../constants/axis_placeable_objects");function arrowAxisRefDescription(axis){return["In order for absolute positioning of the arrow to work, *a"+axis+"ref* must be exactly the same as *"+axis+"ref*, otherwise *a"+axis+"ref* will revert to *pixel* (explained next).","For relative positioning, *a"+axis+"ref* can be set to *pixel*,","in which case the *a"+axis+"* value is specified in pixels","relative to *"+axis+"*.","Absolute positioning is useful","for trendline annotations which should continue to indicate","the correct trend when zoomed. Relative positioning is useful","for specifying the text offset for an annotated point."].join(" ")}function arrowCoordinateDescription(axis,lower,upper){return["Sets the",axis,"component of the arrow tail about the arrow head.","If `a"+axis+"ref` is `pixel`, a positive (negative)","component corresponds to an arrow pointing","from",upper,"to",lower,"("+lower,"to",upper+").","If `a"+axis+"ref` is not `pixel` and is exactly the same as `"+axis+"ref`,","this is an absolute value on that axis,","like `"+axis+"`, specified in the same coordinates as `"+axis+"ref`."].join(" ")}module.exports=templatedArray("annotation",{visible:{valType:"boolean",dflt:true,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:fontAttrs({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:true,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:ARROWPATHS.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:ARROWPATHS.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",cartesianConstants.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",cartesianConstants.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",cartesianConstants.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",cartesianConstants.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[false,"onoff","onout"],dflt:false,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:fontAttrs({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../constants/axis_placeable_objects":772,"../../plot_api/plot_template":843,"../../plots/cartesian/constants":861,"../../plots/font_attributes":883,"./arrow_paths":648}],650:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var draw=_dereq_("./draw").draw;module.exports=function calcAutorange(gd){var fullLayout=gd._fullLayout;var annotationList=Lib.filterVisible(fullLayout.annotations);if(annotationList.length&&gd._fullData.length){return Lib.syncOrAsync([draw,annAutorange],gd)}};function annAutorange(gd){var fullLayout=gd._fullLayout;Lib.filterVisible(fullLayout.annotations).forEach((function(ann){var xa=Axes.getFromId(gd,ann.xref);var ya=Axes.getFromId(gd,ann.yref);var xRefType=Axes.getRefType(ann.xref);var yRefType=Axes.getRefType(ann.yref);ann._extremes={};if(xRefType==="range")calcAxisExpansion(ann,xa);if(yRefType==="range")calcAxisExpansion(ann,ya)}))}function calcAxisExpansion(ann,ax){var axId=ax._id;var letter=axId.charAt(0);var pos=ann[letter];var apos=ann["a"+letter];var ref=ann[letter+"ref"];var aref=ann["a"+letter+"ref"];var padplus=ann["_"+letter+"padplus"];var padminus=ann["_"+letter+"padminus"];var shift={x:1,y:-1}[letter]*ann[letter+"shift"];var headSize=3*ann.arrowsize*ann.arrowwidth||0;var headPlus=headSize+shift;var headMinus=headSize-shift;var startHeadSize=3*ann.startarrowsize*ann.arrowwidth||0;var startHeadPlus=startHeadSize+shift;var startHeadMinus=startHeadSize-shift;var extremes;if(aref===ref){var extremeArrowHead=Axes.findExtremes(ax,[ax.r2c(pos)],{ppadplus:headPlus,ppadminus:headMinus});var extremeText=Axes.findExtremes(ax,[ax.r2c(apos)],{ppadplus:Math.max(padplus,startHeadPlus),ppadminus:Math.max(padminus,startHeadMinus)});extremes={min:[extremeArrowHead.min[0],extremeText.min[0]],max:[extremeArrowHead.max[0],extremeText.max[0]]}}else{startHeadPlus=apos?startHeadPlus+apos:startHeadPlus;startHeadMinus=apos?startHeadMinus-apos:startHeadMinus;extremes=Axes.findExtremes(ax,[ax.r2c(pos)],{ppadplus:Math.max(padplus,headPlus,startHeadPlus),ppadminus:Math.max(padminus,headMinus,startHeadMinus)})}ann._extremes[axId]=extremes}},{"../../lib":803,"../../plots/cartesian/axes":854,"./draw":655}],651:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var arrayEditor=_dereq_("../../plot_api/plot_template").arrayEditor;module.exports={hasClickToShow:hasClickToShow,onClick:onClick};function hasClickToShow(gd,hoverData){var sets=getToggleSets(gd,hoverData);return sets.on.length>0||sets.explicitOff.length>0}function onClick(gd,hoverData){var toggleSets=getToggleSets(gd,hoverData);var onSet=toggleSets.on;var offSet=toggleSets.off.concat(toggleSets.explicitOff);var update={};var annotationsOut=gd._fullLayout.annotations;var i,editHelpers;if(!(onSet.length||offSet.length))return;for(i=0;i<onSet.length;i++){editHelpers=arrayEditor(gd.layout,"annotations",annotationsOut[onSet[i]]);editHelpers.modifyItem("visible",true);Lib.extendFlat(update,editHelpers.getUpdateObj())}for(i=0;i<offSet.length;i++){editHelpers=arrayEditor(gd.layout,"annotations",annotationsOut[offSet[i]]);editHelpers.modifyItem("visible",false);Lib.extendFlat(update,editHelpers.getUpdateObj())}return Registry.call("update",gd,{},update)}function getToggleSets(gd,hoverData){var annotations=gd._fullLayout.annotations;var onSet=[];var offSet=[];var explicitOffSet=[];var hoverLen=(hoverData||[]).length;var i,j,anni,showMode,pointj,xa,ya,toggleType;for(i=0;i<annotations.length;i++){anni=annotations[i];showMode=anni.clicktoshow;if(showMode){for(j=0;j<hoverLen;j++){pointj=hoverData[j];xa=pointj.xaxis;ya=pointj.yaxis;if(xa._id===anni.xref&&ya._id===anni.yref&&xa.d2r(pointj.x)===clickData2r(anni._xclick,xa)&&ya.d2r(pointj.y)===clickData2r(anni._yclick,ya)){if(anni.visible){if(showMode==="onout")toggleType=offSet;else toggleType=explicitOffSet}else{toggleType=onSet}toggleType.push(i);break}}if(j===hoverLen){if(anni.visible&&showMode==="onout")offSet.push(i)}}}return{on:onSet,off:offSet,explicitOff:explicitOffSet}}function clickData2r(d,ax){return ax.type==="log"?ax.l2r(d):ax.d2r(d)}},{"../../lib":803,"../../plot_api/plot_template":843,"../../registry":931}],652:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../color");module.exports=function handleAnnotationCommonDefaults(annIn,annOut,fullLayout,coerce){coerce("opacity");var bgColor=coerce("bgcolor");var borderColor=coerce("bordercolor");var borderOpacity=Color.opacity(borderColor);coerce("borderpad");var borderWidth=coerce("borderwidth");var showArrow=coerce("showarrow");coerce("text",showArrow?" ":fullLayout._dfltTitle.annotation);coerce("textangle");Lib.coerceFont(coerce,"font",fullLayout.font);coerce("width");coerce("align");var h=coerce("height");if(h)coerce("valign");if(showArrow){var arrowside=coerce("arrowside");var arrowhead;var arrowsize;if(arrowside.indexOf("end")!==-1){arrowhead=coerce("arrowhead");arrowsize=coerce("arrowsize")}if(arrowside.indexOf("start")!==-1){coerce("startarrowhead",arrowhead);coerce("startarrowsize",arrowsize)}coerce("arrowcolor",borderOpacity?annOut.bordercolor:Color.defaultLine);coerce("arrowwidth",(borderOpacity&&borderWidth||1)*2);coerce("standoff");coerce("startstandoff")}var hoverText=coerce("hovertext");var globalHoverLabel=fullLayout.hoverlabel||{};if(hoverText){var hoverBG=coerce("hoverlabel.bgcolor",globalHoverLabel.bgcolor||(Color.opacity(bgColor)?Color.rgb(bgColor):Color.defaultLine));var hoverBorder=coerce("hoverlabel.bordercolor",globalHoverLabel.bordercolor||Color.contrast(hoverBG));Lib.coerceFont(coerce,"hoverlabel.font",{family:globalHoverLabel.font.family,size:globalHoverLabel.font.size,color:globalHoverLabel.font.color||hoverBorder})}coerce("captureevents",!!hoverText)}},{"../../lib":803,"../color":666}],653:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var toLogRange=_dereq_("../../lib/to_log_range");module.exports=function convertCoords(gd,ax,newType,doExtra){ax=ax||{};var toLog=newType==="log"&&ax.type==="linear";var fromLog=newType==="linear"&&ax.type==="log";if(!(toLog||fromLog))return;var annotations=gd._fullLayout.annotations;var axLetter=ax._id.charAt(0);var ann;var attrPrefix;function convert(attr){var currentVal=ann[attr];var newVal=null;if(toLog)newVal=toLogRange(currentVal,ax.range);else newVal=Math.pow(10,currentVal);if(!isNumeric(newVal))newVal=null;doExtra(attrPrefix+attr,newVal)}for(var i=0;i<annotations.length;i++){ann=annotations[i];attrPrefix="annotations["+i+"].";if(ann[axLetter+"ref"]===ax._id)convert(axLetter);if(ann["a"+axLetter+"ref"]===ax._id)convert("a"+axLetter)}}},{"../../lib/to_log_range":831,"fast-isnumeric":249}],654:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var handleAnnotationCommonDefaults=_dereq_("./common_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){handleArrayContainerDefaults(layoutIn,layoutOut,{name:"annotations",handleItemDefaults:handleAnnotationDefaults})};function handleAnnotationDefaults(annIn,annOut,fullLayout){function coerce(attr,dflt){return Lib.coerce(annIn,annOut,attributes,attr,dflt)}var visible=coerce("visible");var clickToShow=coerce("clicktoshow");if(!(visible||clickToShow))return;handleAnnotationCommonDefaults(annIn,annOut,fullLayout,coerce);var showArrow=annOut.showarrow;var axLetters=["x","y"];var arrowPosDflt=[-10,-30];var gdMock={_fullLayout:fullLayout};for(var i=0;i<2;i++){var axLetter=axLetters[i];var axRef=Axes.coerceRef(annIn,annOut,gdMock,axLetter,"","paper");if(axRef!=="paper"){var ax=Axes.getFromId(gdMock,axRef);ax._annIndices.push(annOut._index)}Axes.coercePosition(annOut,gdMock,coerce,axRef,axLetter,.5);if(showArrow){var arrowPosAttr="a"+axLetter;var aaxRef=Axes.coerceRef(annIn,annOut,gdMock,arrowPosAttr,"pixel",["pixel","paper"]);if(aaxRef!=="pixel"&&aaxRef!==axRef){aaxRef=annOut[arrowPosAttr]="pixel"}var aDflt=aaxRef==="pixel"?arrowPosDflt[i]:.4;Axes.coercePosition(annOut,gdMock,coerce,aaxRef,arrowPosAttr,aDflt)}coerce(axLetter+"anchor");coerce(axLetter+"shift")}Lib.noneOrAll(annIn,annOut,["x","y"]);if(showArrow){Lib.noneOrAll(annIn,annOut,["ax","ay"])}if(clickToShow){var xClick=coerce("xclick");var yClick=coerce("yclick");annOut._xclick=xClick===undefined?annOut.x:Axes.cleanPosition(xClick,gdMock,annOut.xref);annOut._yclick=yClick===undefined?annOut.y:Axes.cleanPosition(yClick,gdMock,annOut.yref)}}},{"../../lib":803,"../../plots/array_container_defaults":849,"../../plots/cartesian/axes":854,"./attributes":649,"./common_defaults":652}],655:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../../registry");var Plots=_dereq_("../../plots/plots");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var Axes=_dereq_("../../plots/cartesian/axes");var Color=_dereq_("../color");var Drawing=_dereq_("../drawing");var Fx=_dereq_("../fx");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var setCursor=_dereq_("../../lib/setcursor");var dragElement=_dereq_("../dragelement");var arrayEditor=_dereq_("../../plot_api/plot_template").arrayEditor;var drawArrowHead=_dereq_("./draw_arrow_head");module.exports={draw:draw,drawOne:drawOne,drawRaw:drawRaw};function draw(gd){var fullLayout=gd._fullLayout;fullLayout._infolayer.selectAll(".annotation").remove();for(var i=0;i<fullLayout.annotations.length;i++){if(fullLayout.annotations[i].visible){drawOne(gd,i)}}return Plots.previousPromises(gd)}function drawOne(gd,index){var fullLayout=gd._fullLayout;var options=fullLayout.annotations[index]||{};var xa=Axes.getFromId(gd,options.xref);var ya=Axes.getFromId(gd,options.yref);if(xa)xa.setScale();if(ya)ya.setScale();drawRaw(gd,options,index,false,xa,ya)}function shiftPosition(axa,dAx,axLetter,gs,options){var optAx=options[axLetter];var axRef=options[axLetter+"ref"];var vertical=axLetter.indexOf("y")!==-1;var axDomainRef=Axes.getRefType(axRef)==="domain";var gsDim=vertical?gs.h:gs.w;if(axa){if(axDomainRef){return optAx+(vertical?-dAx:dAx)/axa._length}else{return axa.p2r(axa.r2p(optAx)+dAx)}}else{return optAx+(vertical?-dAx:dAx)/gsDim}}function drawRaw(gd,options,index,subplotId,xa,ya){var fullLayout=gd._fullLayout;var gs=gd._fullLayout._size;var edits=gd._context.edits;var className,containerStr;if(subplotId){className="annotation-"+subplotId;containerStr=subplotId+".annotations"}else{className="annotation";containerStr="annotations"}var editHelpers=arrayEditor(gd.layout,containerStr,options);var modifyBase=editHelpers.modifyBase;var modifyItem=editHelpers.modifyItem;var getUpdateObj=editHelpers.getUpdateObj;fullLayout._infolayer.selectAll("."+className+'[data-index="'+index+'"]').remove();var annClipID="clip"+fullLayout._uid+"_ann"+index;if(!options._input||options.visible===false){d3.selectAll("#"+annClipID).remove();return}var annPosPx={x:{},y:{}};var textangle=+options.textangle||0;var annGroup=fullLayout._infolayer.append("g").classed(className,true).attr("data-index",String(index)).style("opacity",options.opacity);var annTextGroup=annGroup.append("g").classed("annotation-text-g",true);var editTextPosition=edits[options.showarrow?"annotationTail":"annotationPosition"];var textEvents=options.captureevents||edits.annotationText||editTextPosition;function makeEventData(initialEvent){var eventData={index:index,annotation:options._input,fullAnnotation:options,event:initialEvent};if(subplotId){eventData.subplotId=subplotId}return eventData}var annTextGroupInner=annTextGroup.append("g").style("pointer-events",textEvents?"all":null).call(setCursor,"pointer").on("click",(function(){gd._dragging=false;gd.emit("plotly_clickannotation",makeEventData(d3.event))}));if(options.hovertext){annTextGroupInner.on("mouseover",(function(){var hoverOptions=options.hoverlabel;var hoverFont=hoverOptions.font;var bBox=this.getBoundingClientRect();var bBoxRef=gd.getBoundingClientRect();Fx.loneHover({x0:bBox.left-bBoxRef.left,x1:bBox.right-bBoxRef.left,y:(bBox.top+bBox.bottom)/2-bBoxRef.top,text:options.hovertext,color:hoverOptions.bgcolor,borderColor:hoverOptions.bordercolor,fontFamily:hoverFont.family,fontSize:hoverFont.size,fontColor:hoverFont.color},{container:fullLayout._hoverlayer.node(),outerContainer:fullLayout._paper.node(),gd:gd})})).on("mouseout",(function(){Fx.loneUnhover(fullLayout._hoverlayer.node())}))}var borderwidth=options.borderwidth;var borderpad=options.borderpad;var borderfull=borderwidth+borderpad;var annTextBG=annTextGroupInner.append("rect").attr("class","bg").style("stroke-width",borderwidth+"px").call(Color.stroke,options.bordercolor).call(Color.fill,options.bgcolor);var isSizeConstrained=options.width||options.height;var annTextClip=fullLayout._topclips.selectAll("#"+annClipID).data(isSizeConstrained?[0]:[]);annTextClip.enter().append("clipPath").classed("annclip",true).attr("id",annClipID).append("rect");annTextClip.exit().remove();var font=options.font;var text=fullLayout._meta?Lib.templateString(options.text,fullLayout._meta):options.text;var annText=annTextGroupInner.append("text").classed("annotation-text",true).text(text);function textLayout(s){s.call(Drawing.font,font).attr({"text-anchor":{left:"start",right:"end"}[options.align]||"middle"});svgTextUtils.convertToTspans(s,gd,drawGraphicalElements);return s}function drawGraphicalElements(){var anchor3=annText.selectAll("a");if(anchor3.size()===1&&anchor3.text()===annText.text()){var wholeLink=annTextGroupInner.insert("a",":first-child").attr({"xlink:xlink:href":anchor3.attr("xlink:href"),"xlink:xlink:show":anchor3.attr("xlink:show")}).style({cursor:"pointer"});wholeLink.node().appendChild(annTextBG.node())}var mathjaxGroup=annTextGroupInner.select(".annotation-text-math-group");var hasMathjax=!mathjaxGroup.empty();var anntextBB=Drawing.bBox((hasMathjax?mathjaxGroup:annText).node());var textWidth=anntextBB.width;var textHeight=anntextBB.height;var annWidth=options.width||textWidth;var annHeight=options.height||textHeight;var outerWidth=Math.round(annWidth+2*borderfull);var outerHeight=Math.round(annHeight+2*borderfull);function shiftFraction(v,anchor){if(anchor==="auto"){if(v<1/3)anchor="left";else if(v>2/3)anchor="right";else anchor="center"}return{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[anchor]}var annotationIsOffscreen=false;var letters=["x","y"];for(var i=0;i<letters.length;i++){var axLetter=letters[i];var axRef=options[axLetter+"ref"]||axLetter;var tailRef=options["a"+axLetter+"ref"];var ax={x:xa,y:ya}[axLetter];var dimAngle=(textangle+(axLetter==="x"?0:-90))*Math.PI/180;var annSizeFromWidth=outerWidth*Math.cos(dimAngle);var annSizeFromHeight=outerHeight*Math.sin(dimAngle);var annSize=Math.abs(annSizeFromWidth)+Math.abs(annSizeFromHeight);var anchor=options[axLetter+"anchor"];var overallShift=options[axLetter+"shift"]*(axLetter==="x"?1:-1);var posPx=annPosPx[axLetter];var basePx;var textPadShift;var alignPosition;var autoAlignFraction;var textShift;var axRefType=Axes.getRefType(axRef);if(ax&&axRefType!=="domain"){var posFraction=ax.r2fraction(options[axLetter]);if(posFraction<0||posFraction>1){if(tailRef===axRef){posFraction=ax.r2fraction(options["a"+axLetter]);if(posFraction<0||posFraction>1){annotationIsOffscreen=true}}else{annotationIsOffscreen=true}}basePx=ax._offset+ax.r2p(options[axLetter]);autoAlignFraction=.5}else{var axRefTypeEqDomain=axRefType==="domain";if(axLetter==="x"){alignPosition=options[axLetter];basePx=axRefTypeEqDomain?ax._offset+ax._length*alignPosition:basePx=gs.l+gs.w*alignPosition}else{alignPosition=1-options[axLetter];basePx=axRefTypeEqDomain?ax._offset+ax._length*alignPosition:basePx=gs.t+gs.h*alignPosition}autoAlignFraction=options.showarrow?.5:alignPosition}if(options.showarrow){posPx.head=basePx;var arrowLength=options["a"+axLetter];textShift=annSizeFromWidth*shiftFraction(.5,options.xanchor)-annSizeFromHeight*shiftFraction(.5,options.yanchor);if(tailRef===axRef){var tailRefType=Axes.getRefType(tailRef);if(tailRefType==="domain"){if(axLetter==="y"){arrowLength=1-arrowLength}posPx.tail=ax._offset+ax._length*arrowLength}else if(tailRefType==="paper"){if(axLetter==="y"){arrowLength=1-arrowLength;posPx.tail=gs.t+gs.h*arrowLength}else{posPx.tail=gs.l+gs.w*arrowLength}}else{posPx.tail=ax._offset+ax.r2p(arrowLength)}textPadShift=textShift}else{posPx.tail=basePx+arrowLength;textPadShift=textShift+arrowLength}posPx.text=posPx.tail+textShift;var maxPx=fullLayout[axLetter==="x"?"width":"height"];if(axRef==="paper"){posPx.head=Lib.constrain(posPx.head,1,maxPx-1)}if(tailRef==="pixel"){var shiftPlus=-Math.max(posPx.tail-3,posPx.text);var shiftMinus=Math.min(posPx.tail+3,posPx.text)-maxPx;if(shiftPlus>0){posPx.tail+=shiftPlus;posPx.text+=shiftPlus}else if(shiftMinus>0){posPx.tail-=shiftMinus;posPx.text-=shiftMinus}}posPx.tail+=overallShift;posPx.head+=overallShift}else{textShift=annSize*shiftFraction(autoAlignFraction,anchor);textPadShift=textShift;posPx.text=basePx+textShift}posPx.text+=overallShift;textShift+=overallShift;textPadShift+=overallShift;options["_"+axLetter+"padplus"]=annSize/2+textPadShift;options["_"+axLetter+"padminus"]=annSize/2-textPadShift;options["_"+axLetter+"size"]=annSize;options["_"+axLetter+"shift"]=textShift}if(annotationIsOffscreen){annTextGroupInner.remove();return}var xShift=0;var yShift=0;if(options.align!=="left"){xShift=(annWidth-textWidth)*(options.align==="center"?.5:1)}if(options.valign!=="top"){yShift=(annHeight-textHeight)*(options.valign==="middle"?.5:1)}if(hasMathjax){mathjaxGroup.select("svg").attr({x:borderfull+xShift-1,y:borderfull+yShift}).call(Drawing.setClipUrl,isSizeConstrained?annClipID:null,gd)}else{var texty=borderfull+yShift-anntextBB.top;var textx=borderfull+xShift-anntextBB.left;annText.call(svgTextUtils.positionText,textx,texty).call(Drawing.setClipUrl,isSizeConstrained?annClipID:null,gd)}annTextClip.select("rect").call(Drawing.setRect,borderfull,borderfull,annWidth,annHeight);annTextBG.call(Drawing.setRect,borderwidth/2,borderwidth/2,outerWidth-borderwidth,outerHeight-borderwidth);annTextGroupInner.call(Drawing.setTranslate,Math.round(annPosPx.x.text-outerWidth/2),Math.round(annPosPx.y.text-outerHeight/2));annTextGroup.attr({transform:"rotate("+textangle+","+annPosPx.x.text+","+annPosPx.y.text+")"});var drawArrow=function(dx,dy){annGroup.selectAll(".annotation-arrow-g").remove();var headX=annPosPx.x.head;var headY=annPosPx.y.head;var tailX=annPosPx.x.tail+dx;var tailY=annPosPx.y.tail+dy;var textX=annPosPx.x.text+dx;var textY=annPosPx.y.text+dy;var transform=Lib.rotationXYMatrix(textangle,textX,textY);var applyTransform=Lib.apply2DTransform(transform);var applyTransform2=Lib.apply2DTransform2(transform);var width=+annTextBG.attr("width");var height=+annTextBG.attr("height");var xLeft=textX-.5*width;var xRight=xLeft+width;var yTop=textY-.5*height;var yBottom=yTop+height;var edges=[[xLeft,yTop,xLeft,yBottom],[xLeft,yBottom,xRight,yBottom],[xRight,yBottom,xRight,yTop],[xRight,yTop,xLeft,yTop]].map(applyTransform2);if(edges.reduce((function(a,x){return a^!!Lib.segmentsIntersect(headX,headY,headX+1e6,headY+1e6,x[0],x[1],x[2],x[3])}),false)){return}edges.forEach((function(x){var p=Lib.segmentsIntersect(tailX,tailY,headX,headY,x[0],x[1],x[2],x[3]);if(p){tailX=p.x;tailY=p.y}}));var strokewidth=options.arrowwidth;var arrowColor=options.arrowcolor;var arrowSide=options.arrowside;var arrowGroup=annGroup.append("g").style({opacity:Color.opacity(arrowColor)}).classed("annotation-arrow-g",true);var arrow=arrowGroup.append("path").attr("d","M"+tailX+","+tailY+"L"+headX+","+headY).style("stroke-width",strokewidth+"px").call(Color.stroke,Color.rgb(arrowColor));drawArrowHead(arrow,arrowSide,options);if(edits.annotationPosition&&arrow.node().parentNode&&!subplotId){var arrowDragHeadX=headX;var arrowDragHeadY=headY;if(options.standoff){var arrowLength=Math.sqrt(Math.pow(headX-tailX,2)+Math.pow(headY-tailY,2));arrowDragHeadX+=options.standoff*(tailX-headX)/arrowLength;arrowDragHeadY+=options.standoff*(tailY-headY)/arrowLength}var arrowDrag=arrowGroup.append("path").classed("annotation-arrow",true).classed("anndrag",true).classed("cursor-move",true).attr({d:"M3,3H-3V-3H3ZM0,0L"+(tailX-arrowDragHeadX)+","+(tailY-arrowDragHeadY),transform:strTranslate(arrowDragHeadX,arrowDragHeadY)}).style("stroke-width",strokewidth+6+"px").call(Color.stroke,"rgba(0,0,0,0)").call(Color.fill,"rgba(0,0,0,0)");var annx0,anny0;dragElement.init({element:arrowDrag.node(),gd:gd,prepFn:function(){var pos=Drawing.getTranslate(annTextGroupInner);annx0=pos.x;anny0=pos.y;if(xa&&xa.autorange){modifyBase(xa._name+".autorange",true)}if(ya&&ya.autorange){modifyBase(ya._name+".autorange",true)}},moveFn:function(dx,dy){var annxy0=applyTransform(annx0,anny0);var xcenter=annxy0[0]+dx;var ycenter=annxy0[1]+dy;annTextGroupInner.call(Drawing.setTranslate,xcenter,ycenter);modifyItem("x",shiftPosition(xa,dx,"x",gs,options));modifyItem("y",shiftPosition(ya,dy,"y",gs,options));if(options.axref===options.xref){modifyItem("ax",shiftPosition(xa,dx,"ax",gs,options))}if(options.ayref===options.yref){modifyItem("ay",shiftPosition(ya,dy,"ay",gs,options))}arrowGroup.attr("transform",strTranslate(dx,dy));annTextGroup.attr({transform:"rotate("+textangle+","+xcenter+","+ycenter+")"})},doneFn:function(){Registry.call("_guiRelayout",gd,getUpdateObj());var notesBox=document.querySelector(".js-notes-box-panel");if(notesBox)notesBox.redraw(notesBox.selectedObj)}})}};if(options.showarrow)drawArrow(0,0);if(editTextPosition){var baseTextTransform;dragElement.init({element:annTextGroupInner.node(),gd:gd,prepFn:function(){baseTextTransform=annTextGroup.attr("transform")},moveFn:function(dx,dy){var csr="pointer";if(options.showarrow){if(options.axref===options.xref){modifyItem("ax",shiftPosition(xa,dx,"ax",gs,options))}else{modifyItem("ax",options.ax+dx)}if(options.ayref===options.yref){modifyItem("ay",shiftPosition(ya,dy,"ay",gs.w,options))}else{modifyItem("ay",options.ay+dy)}drawArrow(dx,dy)}else if(!subplotId){var xUpdate,yUpdate;if(xa){xUpdate=shiftPosition(xa,dx,"x",gs,options)}else{var widthFraction=options._xsize/gs.w;var xLeft=options.x+(options._xshift-options.xshift)/gs.w-widthFraction/2;xUpdate=dragElement.align(xLeft+dx/gs.w,widthFraction,0,1,options.xanchor)}if(ya){yUpdate=shiftPosition(ya,dy,"y",gs,options)}else{var heightFraction=options._ysize/gs.h;var yBottom=options.y-(options._yshift+options.yshift)/gs.h-heightFraction/2;yUpdate=dragElement.align(yBottom-dy/gs.h,heightFraction,0,1,options.yanchor)}modifyItem("x",xUpdate);modifyItem("y",yUpdate);if(!xa||!ya){csr=dragElement.getCursor(xa?.5:xUpdate,ya?.5:yUpdate,options.xanchor,options.yanchor)}}else return;annTextGroup.attr({transform:strTranslate(dx,dy)+baseTextTransform});setCursor(annTextGroupInner,csr)},clickFn:function(_,initialEvent){if(options.captureevents){gd.emit("plotly_clickannotation",makeEventData(initialEvent))}},doneFn:function(){setCursor(annTextGroupInner);Registry.call("_guiRelayout",gd,getUpdateObj());var notesBox=document.querySelector(".js-notes-box-panel");if(notesBox)notesBox.redraw(notesBox.selectedObj)}})}}if(edits.annotationText){annText.call(svgTextUtils.makeEditable,{delegate:annTextGroupInner,gd:gd}).call(textLayout).on("edit",(function(_text){options.text=_text;this.call(textLayout);modifyItem("text",_text);if(xa&&xa.autorange){modifyBase(xa._name+".autorange",true)}if(ya&&ya.autorange){modifyBase(ya._name+".autorange",true)}Registry.call("_guiRelayout",gd,getUpdateObj())}))}else annText.call(textLayout)}},{"../../lib":803,"../../lib/setcursor":824,"../../lib/svg_text_utils":829,"../../plot_api/plot_template":843,"../../plots/cartesian/axes":854,"../../plots/plots":917,"../../registry":931,"../color":666,"../dragelement":685,"../drawing":688,"../fx":706,"./draw_arrow_head":656,"@plotly/d3":58}],656:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../color");var ARROWPATHS=_dereq_("./arrow_paths");var Lib=_dereq_("../../lib");var strScale=Lib.strScale;var strRotate=Lib.strRotate;var strTranslate=Lib.strTranslate;module.exports=function drawArrowHead(el3,ends,options){var el=el3.node();var headStyle=ARROWPATHS[options.arrowhead||0];var startHeadStyle=ARROWPATHS[options.startarrowhead||0];var scale=(options.arrowwidth||1)*(options.arrowsize||1);var startScale=(options.arrowwidth||1)*(options.startarrowsize||1);var doStart=ends.indexOf("start")>=0;var doEnd=ends.indexOf("end")>=0;var backOff=headStyle.backoff*scale+options.standoff;var startBackOff=startHeadStyle.backoff*startScale+options.startstandoff;var start,end,startRot,endRot;if(el.nodeName==="line"){start={x:+el3.attr("x1"),y:+el3.attr("y1")};end={x:+el3.attr("x2"),y:+el3.attr("y2")};var dx=start.x-end.x;var dy=start.y-end.y;startRot=Math.atan2(dy,dx);endRot=startRot+Math.PI;if(backOff&&startBackOff){if(backOff+startBackOff>Math.sqrt(dx*dx+dy*dy)){hideLine();return}}if(backOff){if(backOff*backOff>dx*dx+dy*dy){hideLine();return}var backOffX=backOff*Math.cos(startRot);var backOffY=backOff*Math.sin(startRot);end.x+=backOffX;end.y+=backOffY;el3.attr({x2:end.x,y2:end.y})}if(startBackOff){if(startBackOff*startBackOff>dx*dx+dy*dy){hideLine();return}var startBackOffX=startBackOff*Math.cos(startRot);var startbackOffY=startBackOff*Math.sin(startRot);start.x-=startBackOffX;start.y-=startbackOffY;el3.attr({x1:start.x,y1:start.y})}}else if(el.nodeName==="path"){var pathlen=el.getTotalLength();var dashArray="";if(pathlen<backOff+startBackOff){hideLine();return}var start0=el.getPointAtLength(0);var dstart=el.getPointAtLength(.1);startRot=Math.atan2(start0.y-dstart.y,start0.x-dstart.x);start=el.getPointAtLength(Math.min(startBackOff,pathlen));dashArray="0px,"+startBackOff+"px,";var end0=el.getPointAtLength(pathlen);var dend=el.getPointAtLength(pathlen-.1);endRot=Math.atan2(end0.y-dend.y,end0.x-dend.x);end=el.getPointAtLength(Math.max(0,pathlen-backOff));var shortening=dashArray?startBackOff+backOff:backOff;dashArray+=pathlen-shortening+"px,"+pathlen+"px";el3.style("stroke-dasharray",dashArray)}function hideLine(){el3.style("stroke-dasharray","0px,100px")}function drawhead(arrowHeadStyle,p,rot,arrowScale){if(!arrowHeadStyle.path)return;if(arrowHeadStyle.noRotate)rot=0;d3.select(el.parentNode).append("path").attr({class:el3.attr("class"),d:arrowHeadStyle.path,transform:strTranslate(p.x,p.y)+strRotate(rot*180/Math.PI)+strScale(arrowScale)}).style({fill:Color.rgb(options.arrowcolor),"stroke-width":0})}if(doStart)drawhead(startHeadStyle,start,startRot,startScale);if(doEnd)drawhead(headStyle,end,endRot,scale)}},{"../../lib":803,"../color":666,"./arrow_paths":648,"@plotly/d3":58}],657:[function(_dereq_,module,exports){"use strict";var drawModule=_dereq_("./draw");var clickModule=_dereq_("./click");module.exports={moduleType:"component",name:"annotations",layoutAttributes:_dereq_("./attributes"),supplyLayoutDefaults:_dereq_("./defaults"),includeBasePlot:_dereq_("../../plots/cartesian/include_components")("annotations"),calcAutorange:_dereq_("./calc_autorange"),draw:drawModule.draw,drawOne:drawModule.drawOne,drawRaw:drawModule.drawRaw,hasClickToShow:clickModule.hasClickToShow,onClick:clickModule.onClick,convertCoords:_dereq_("./convert_coords")}},{"../../plots/cartesian/include_components":867,"./attributes":649,"./calc_autorange":650,"./click":651,"./convert_coords":653,"./defaults":654,"./draw":655}],658:[function(_dereq_,module,exports){"use strict";var annAttrs=_dereq_("../annotations/attributes");var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;module.exports=overrideAll(templatedArray("annotation",{visible:annAttrs.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:annAttrs.xanchor,xshift:annAttrs.xshift,yanchor:annAttrs.yanchor,yshift:annAttrs.yshift,text:annAttrs.text,textangle:annAttrs.textangle,font:annAttrs.font,width:annAttrs.width,height:annAttrs.height,opacity:annAttrs.opacity,align:annAttrs.align,valign:annAttrs.valign,bgcolor:annAttrs.bgcolor,bordercolor:annAttrs.bordercolor,borderpad:annAttrs.borderpad,borderwidth:annAttrs.borderwidth,showarrow:annAttrs.showarrow,arrowcolor:annAttrs.arrowcolor,arrowhead:annAttrs.arrowhead,startarrowhead:annAttrs.startarrowhead,arrowside:annAttrs.arrowside,arrowsize:annAttrs.arrowsize,startarrowsize:annAttrs.startarrowsize,arrowwidth:annAttrs.arrowwidth,standoff:annAttrs.standoff,startstandoff:annAttrs.startstandoff,hovertext:annAttrs.hovertext,hoverlabel:annAttrs.hoverlabel,captureevents:annAttrs.captureevents}),"calc","from-root")},{"../../plot_api/edit_types":836,"../../plot_api/plot_template":843,"../annotations/attributes":649}],659:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");module.exports=function convert(scene){var fullSceneLayout=scene.fullSceneLayout;var anns=fullSceneLayout.annotations;for(var i=0;i<anns.length;i++){mockAnnAxes(anns[i],scene)}scene.fullLayout._infolayer.selectAll(".annotation-"+scene.id).remove()};function mockAnnAxes(ann,scene){var fullSceneLayout=scene.fullSceneLayout;var domain=fullSceneLayout.domain;var size=scene.fullLayout._size;var base={pdata:null,type:"linear",autorange:false,range:[-Infinity,Infinity]};ann._xa={};Lib.extendFlat(ann._xa,base);Axes.setConvert(ann._xa);ann._xa._offset=size.l+domain.x[0]*size.w;ann._xa.l2p=function(){return.5*(1+ann._pdata[0]/ann._pdata[3])*size.w*(domain.x[1]-domain.x[0])};ann._ya={};Lib.extendFlat(ann._ya,base);Axes.setConvert(ann._ya);ann._ya._offset=size.t+(1-domain.y[1])*size.h;ann._ya.l2p=function(){return.5*(1-ann._pdata[1]/ann._pdata[3])*size.h*(domain.y[1]-domain.y[0])}}},{"../../lib":803,"../../plots/cartesian/axes":854}],660:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var handleAnnotationCommonDefaults=_dereq_("../annotations/common_defaults");var attributes=_dereq_("./attributes");module.exports=function handleDefaults(sceneLayoutIn,sceneLayoutOut,opts){handleArrayContainerDefaults(sceneLayoutIn,sceneLayoutOut,{name:"annotations",handleItemDefaults:handleAnnotationDefaults,fullLayout:opts.fullLayout})};function handleAnnotationDefaults(annIn,annOut,sceneLayout,opts){function coerce(attr,dflt){return Lib.coerce(annIn,annOut,attributes,attr,dflt)}function coercePosition(axLetter){var axName=axLetter+"axis";var gdMock={_fullLayout:{}};gdMock._fullLayout[axName]=sceneLayout[axName];return Axes.coercePosition(annOut,gdMock,coerce,axLetter,axLetter,.5)}var visible=coerce("visible");if(!visible)return;handleAnnotationCommonDefaults(annIn,annOut,opts.fullLayout,coerce);coercePosition("x");coercePosition("y");coercePosition("z");Lib.noneOrAll(annIn,annOut,["x","y","z"]);annOut.xref="x";annOut.yref="y";annOut.zref="z";coerce("xanchor");coerce("yanchor");coerce("xshift");coerce("yshift");if(annOut.showarrow){annOut.axref="pixel";annOut.ayref="pixel";coerce("ax",-10);coerce("ay",-30);Lib.noneOrAll(annIn,annOut,["ax","ay"])}}},{"../../lib":803,"../../plots/array_container_defaults":849,"../../plots/cartesian/axes":854,"../annotations/common_defaults":652,"./attributes":658}],661:[function(_dereq_,module,exports){"use strict";var drawRaw=_dereq_("../annotations/draw").drawRaw;var project=_dereq_("../../plots/gl3d/project");var axLetters=["x","y","z"];module.exports=function draw(scene){var fullSceneLayout=scene.fullSceneLayout;var dataScale=scene.dataScale;var anns=fullSceneLayout.annotations;for(var i=0;i<anns.length;i++){var ann=anns[i];var annotationIsOffscreen=false;for(var j=0;j<3;j++){var axLetter=axLetters[j];var pos=ann[axLetter];var ax=fullSceneLayout[axLetter+"axis"];var posFraction=ax.r2fraction(pos);if(posFraction<0||posFraction>1){annotationIsOffscreen=true;break}}if(annotationIsOffscreen){scene.fullLayout._infolayer.select(".annotation-"+scene.id+'[data-index="'+i+'"]').remove()}else{ann._pdata=project(scene.glplot.cameraParams,[fullSceneLayout.xaxis.r2l(ann.x)*dataScale[0],fullSceneLayout.yaxis.r2l(ann.y)*dataScale[1],fullSceneLayout.zaxis.r2l(ann.z)*dataScale[2]]);drawRaw(scene.graphDiv,ann,i,scene.id,ann._xa,ann._ya)}}}},{"../../plots/gl3d/project":905,"../annotations/draw":655}],662:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");module.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:_dereq_("./attributes")}}},layoutAttributes:_dereq_("./attributes"),handleDefaults:_dereq_("./defaults"),includeBasePlot:includeGL3D,convert:_dereq_("./convert"),draw:_dereq_("./draw")};function includeGL3D(layoutIn,layoutOut){var GL3D=Registry.subplotsRegistry.gl3d;if(!GL3D)return;var attrRegex=GL3D.attrRegex;var keys=Object.keys(layoutIn);for(var i=0;i<keys.length;i++){var k=keys[i];if(attrRegex.test(k)&&(layoutIn[k].annotations||[]).length){Lib.pushUnique(layoutOut._basePlotModules,GL3D);Lib.pushUnique(layoutOut._subplots.gl3d,k)}}}},{"../../lib":803,"../../registry":931,"./attributes":658,"./convert":659,"./defaults":660,"./draw":661}],663:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("world-calendars/dist/main");_dereq_("world-calendars/dist/plus");_dereq_("world-calendars/dist/calendars/chinese");_dereq_("world-calendars/dist/calendars/coptic");_dereq_("world-calendars/dist/calendars/discworld");_dereq_("world-calendars/dist/calendars/ethiopian");_dereq_("world-calendars/dist/calendars/hebrew");_dereq_("world-calendars/dist/calendars/islamic");_dereq_("world-calendars/dist/calendars/julian");_dereq_("world-calendars/dist/calendars/mayan");_dereq_("world-calendars/dist/calendars/nanakshahi");_dereq_("world-calendars/dist/calendars/nepali");_dereq_("world-calendars/dist/calendars/persian");_dereq_("world-calendars/dist/calendars/taiwan");_dereq_("world-calendars/dist/calendars/thai");_dereq_("world-calendars/dist/calendars/ummalqura")},{"world-calendars/dist/calendars/chinese":630,"world-calendars/dist/calendars/coptic":631,"world-calendars/dist/calendars/discworld":632,"world-calendars/dist/calendars/ethiopian":633,"world-calendars/dist/calendars/hebrew":634,"world-calendars/dist/calendars/islamic":635,"world-calendars/dist/calendars/julian":636,"world-calendars/dist/calendars/mayan":637,"world-calendars/dist/calendars/nanakshahi":638,"world-calendars/dist/calendars/nepali":639,"world-calendars/dist/calendars/persian":640,"world-calendars/dist/calendars/taiwan":641,"world-calendars/dist/calendars/thai":642,"world-calendars/dist/calendars/ummalqura":643,"world-calendars/dist/main":644,"world-calendars/dist/plus":645}],664:[function(_dereq_,module,exports){"use strict";var calendars=_dereq_("./calendars");var Lib=_dereq_("../../lib");var constants=_dereq_("../../constants/numerical");var EPOCHJD=constants.EPOCHJD;var ONEDAY=constants.ONEDAY;var attributes={valType:"enumerated",values:Lib.sortObjectKeys(calendars.calendars),editType:"calc",dflt:"gregorian"};var handleDefaults=function(contIn,contOut,attr,dflt){var attrs={};attrs[attr]=attributes;return Lib.coerce(contIn,contOut,attrs,attr,dflt)};var handleTraceDefaults=function(traceIn,traceOut,coords,layout){for(var i=0;i<coords.length;i++){handleDefaults(traceIn,traceOut,coords[i]+"calendar",layout.calendar)}};var CANONICAL_TICK={chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"};var CANONICAL_SUNDAY={chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"};var DFLTRANGE={chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]};var UNKNOWN="##";var d3ToWorldCalendars={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:UNKNOWN,w:UNKNOWN,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}};function worldCalFmt(fmt,x,calendar){var dateJD=Math.floor((x+.05)/ONEDAY)+EPOCHJD;var cDate=getCal(calendar).fromJD(dateJD);var i=0;var modifier,directive,directiveLen,directiveObj,replacementPart;while((i=fmt.indexOf("%",i))!==-1){modifier=fmt.charAt(i+1);if(modifier==="0"||modifier==="-"||modifier==="_"){directiveLen=3;directive=fmt.charAt(i+2);if(modifier==="_")modifier="-"}else{directive=modifier;modifier="0";directiveLen=2}directiveObj=d3ToWorldCalendars[directive];if(!directiveObj){i+=directiveLen}else{if(directiveObj===UNKNOWN)replacementPart=UNKNOWN;else replacementPart=cDate.formatDate(directiveObj[modifier]);fmt=fmt.substr(0,i)+replacementPart+fmt.substr(i+directiveLen);i+=replacementPart.length}}return fmt}var allCals={};function getCal(calendar){var calendarObj=allCals[calendar];if(calendarObj)return calendarObj;calendarObj=allCals[calendar]=calendars.instance(calendar);return calendarObj}function makeAttrs(description){return Lib.extendFlat({},attributes,{description:description})}function makeTraceAttrsDescription(coord){return"Sets the calendar system to use with `"+coord+"` date data."}var xAttrs={xcalendar:makeAttrs(makeTraceAttrsDescription("x"))};var xyAttrs=Lib.extendFlat({},xAttrs,{ycalendar:makeAttrs(makeTraceAttrsDescription("y"))});var xyzAttrs=Lib.extendFlat({},xyAttrs,{zcalendar:makeAttrs(makeTraceAttrsDescription("z"))});var axisAttrs=makeAttrs(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));module.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:xyAttrs,bar:xyAttrs,box:xyAttrs,heatmap:xyAttrs,contour:xyAttrs,histogram:xyAttrs,histogram2d:xyAttrs,histogram2dcontour:xyAttrs,scatter3d:xyzAttrs,surface:xyzAttrs,mesh3d:xyzAttrs,scattergl:xyAttrs,ohlc:xAttrs,candlestick:xAttrs},layout:{calendar:makeAttrs(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:axisAttrs},yaxis:{calendar:axisAttrs},scene:{xaxis:{calendar:axisAttrs},yaxis:{calendar:axisAttrs},zaxis:{calendar:axisAttrs}},polar:{radialaxis:{calendar:axisAttrs}}},transforms:{filter:{valuecalendar:makeAttrs(["WARNING: All transforms are deprecated and may be removed from the API in next major version.","Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:makeAttrs(["WARNING: All transforms are deprecated and may be removed from the API in next major version.","Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:attributes,handleDefaults:handleDefaults,handleTraceDefaults:handleTraceDefaults,CANONICAL_SUNDAY:CANONICAL_SUNDAY,CANONICAL_TICK:CANONICAL_TICK,DFLTRANGE:DFLTRANGE,getCal:getCal,worldCalFmt:worldCalFmt}},{"../../constants/numerical":779,"../../lib":803,"./calendars":663}],665:[function(_dereq_,module,exports){"use strict";exports.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];exports.defaultLine="#444";exports.lightLine="#eee";exports.background="#fff";exports.borderLine="#BEC8D9";exports.lightFraction=100*(14-4)/(15-4)},{}],666:[function(_dereq_,module,exports){"use strict";var tinycolor=_dereq_("tinycolor2");var isNumeric=_dereq_("fast-isnumeric");var isTypedArray=_dereq_("../../lib/array").isTypedArray;var color=module.exports={};var colorAttrs=_dereq_("./attributes");color.defaults=colorAttrs.defaults;var defaultLine=color.defaultLine=colorAttrs.defaultLine;color.lightLine=colorAttrs.lightLine;var background=color.background=colorAttrs.background;color.tinyRGB=function(tc){var c=tc.toRgb();return"rgb("+Math.round(c.r)+", "+Math.round(c.g)+", "+Math.round(c.b)+")"};color.rgb=function(cstr){return color.tinyRGB(tinycolor(cstr))};color.opacity=function(cstr){return cstr?tinycolor(cstr).getAlpha():0};color.addOpacity=function(cstr,op){var c=tinycolor(cstr).toRgb();return"rgba("+Math.round(c.r)+", "+Math.round(c.g)+", "+Math.round(c.b)+", "+op+")"};color.combine=function(front,back){var fc=tinycolor(front).toRgb();if(fc.a===1)return tinycolor(front).toRgbString();var bc=tinycolor(back||background).toRgb();var bcflat=bc.a===1?bc:{r:255*(1-bc.a)+bc.r*bc.a,g:255*(1-bc.a)+bc.g*bc.a,b:255*(1-bc.a)+bc.b*bc.a};var fcflat={r:bcflat.r*(1-fc.a)+fc.r*fc.a,g:bcflat.g*(1-fc.a)+fc.g*fc.a,b:bcflat.b*(1-fc.a)+fc.b*fc.a};return tinycolor(fcflat).toRgbString()};color.contrast=function(cstr,lightAmount,darkAmount){var tc=tinycolor(cstr);if(tc.getAlpha()!==1)tc=tinycolor(color.combine(cstr,background));var newColor=tc.isDark()?lightAmount?tc.lighten(lightAmount):background:darkAmount?tc.darken(darkAmount):defaultLine;return newColor.toString()};color.stroke=function(s,c){var tc=tinycolor(c);s.style({stroke:color.tinyRGB(tc),"stroke-opacity":tc.getAlpha()})};color.fill=function(s,c){var tc=tinycolor(c);s.style({fill:color.tinyRGB(tc),"fill-opacity":tc.getAlpha()})};color.clean=function(container){if(!container||typeof container!=="object")return;var keys=Object.keys(container);var i,j,key,val;for(i=0;i<keys.length;i++){key=keys[i];val=container[key];if(key.substr(key.length-5)==="color"){if(Array.isArray(val)){for(j=0;j<val.length;j++)val[j]=cleanOne(val[j])}else container[key]=cleanOne(val)}else if(key.substr(key.length-10)==="colorscale"&&Array.isArray(val)){for(j=0;j<val.length;j++){if(Array.isArray(val[j]))val[j][1]=cleanOne(val[j][1])}}else if(Array.isArray(val)){var el0=val[0];if(!Array.isArray(el0)&&el0&&typeof el0==="object"){for(j=0;j<val.length;j++)color.clean(val[j])}}else if(val&&typeof val==="object"&&!isTypedArray(val))color.clean(val)}};function cleanOne(val){if(isNumeric(val)||typeof val!=="string")return val;var valTrim=val.trim();if(valTrim.substr(0,3)!=="rgb")return val;var match=valTrim.match(/^rgba?\s*\(([^()]*)\)$/);if(!match)return val;var parts=match[1].trim().split(/\s*[\s,]\s*/);var rgba=valTrim.charAt(3)==="a"&&parts.length===4;if(!rgba&&parts.length!==3)return val;for(var i=0;i<parts.length;i++){if(!parts[i].length)return val;parts[i]=Number(parts[i]);if(!(parts[i]>=0)){return val}if(i===3){if(parts[i]>1)parts[i]=1}else if(parts[i]>=1){return val}}var rgbStr=Math.round(parts[0]*255)+", "+Math.round(parts[1]*255)+", "+Math.round(parts[2]*255);if(rgba)return"rgba("+rgbStr+", "+parts[3]+")";return"rgb("+rgbStr+")"}},{"../../lib/array":785,"./attributes":665,"fast-isnumeric":249,tinycolor2:598}],667:[function(_dereq_,module,exports){"use strict";var axesAttrs=_dereq_("../../plots/cartesian/layout_attributes");var fontAttrs=_dereq_("../../plots/font_attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;module.exports=overrideAll({thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",dflt:1.02,min:-2,max:3},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number",dflt:.5,min:-2,max:3},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle"},ypad:{valType:"number",min:0,dflt:10},outlinecolor:axesAttrs.linecolor,outlinewidth:axesAttrs.linewidth,bordercolor:axesAttrs.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:axesAttrs.tickmode,nticks:axesAttrs.nticks,tick0:axesAttrs.tick0,dtick:axesAttrs.dtick,tickvals:axesAttrs.tickvals,ticktext:axesAttrs.ticktext,ticks:extendFlat({},axesAttrs.ticks,{dflt:""}),ticklabeloverflow:extendFlat({},axesAttrs.ticklabeloverflow,{}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside bottom","inside bottom"],dflt:"outside"},ticklen:axesAttrs.ticklen,tickwidth:axesAttrs.tickwidth,tickcolor:axesAttrs.tickcolor,showticklabels:axesAttrs.showticklabels,tickfont:fontAttrs({}),tickangle:axesAttrs.tickangle,tickformat:axesAttrs.tickformat,tickformatstops:axesAttrs.tickformatstops,tickprefix:axesAttrs.tickprefix,showtickprefix:axesAttrs.showtickprefix,ticksuffix:axesAttrs.ticksuffix,showticksuffix:axesAttrs.showticksuffix,separatethousands:axesAttrs.separatethousands,exponentformat:axesAttrs.exponentformat,minexponent:axesAttrs.minexponent,showexponent:axesAttrs.showexponent,title:{text:{valType:"string"},font:fontAttrs({}),side:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}},_deprecated:{title:{valType:"string"},titlefont:fontAttrs({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}}},"colorbars","from-root")},{"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plots/cartesian/layout_attributes":869,"../../plots/font_attributes":883}],668:[function(_dereq_,module,exports){"use strict";module.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}},{}],669:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Template=_dereq_("../../plot_api/plot_template");var handleTickValueDefaults=_dereq_("../../plots/cartesian/tick_value_defaults");var handleTickMarkDefaults=_dereq_("../../plots/cartesian/tick_mark_defaults");var handleTickLabelDefaults=_dereq_("../../plots/cartesian/tick_label_defaults");var attributes=_dereq_("./attributes");module.exports=function colorbarDefaults(containerIn,containerOut,layout){var colorbarOut=Template.newContainer(containerOut,"colorbar");var colorbarIn=containerIn.colorbar||{};function coerce(attr,dflt){return Lib.coerce(colorbarIn,colorbarOut,attributes,attr,dflt)}var thicknessmode=coerce("thicknessmode");coerce("thickness",thicknessmode==="fraction"?30/(layout.width-layout.margin.l-layout.margin.r):30);var lenmode=coerce("lenmode");coerce("len",lenmode==="fraction"?1:layout.height-layout.margin.t-layout.margin.b);coerce("x");coerce("xanchor");coerce("xpad");coerce("y");coerce("yanchor");coerce("ypad");Lib.noneOrAll(colorbarIn,colorbarOut,["x","y"]);coerce("outlinecolor");coerce("outlinewidth");coerce("bordercolor");coerce("borderwidth");coerce("bgcolor");var ticklabelposition=coerce("ticklabelposition");coerce("ticklabeloverflow",ticklabelposition.indexOf("inside")!==-1?"hide past domain":"hide past div");handleTickValueDefaults(colorbarIn,colorbarOut,coerce,"linear");var font=layout.font;var opts={outerTicks:false,font:font};if(ticklabelposition.indexOf("inside")!==-1){opts.bgColor="black"}handleTickLabelDefaults(colorbarIn,colorbarOut,coerce,"linear",opts);handleTickMarkDefaults(colorbarIn,colorbarOut,coerce,"linear",opts);coerce("title.text",layout._dfltTitle.colorbar);var tickFont=colorbarOut.tickfont;var dfltTitleFont=Lib.extendFlat({},tickFont,{color:font.color,size:Lib.bigFont(tickFont.size)});Lib.coerceFont(coerce,"title.font",dfltTitleFont);coerce("title.side")}},{"../../lib":803,"../../plot_api/plot_template":843,"../../plots/cartesian/tick_label_defaults":876,"../../plots/cartesian/tick_mark_defaults":877,"../../plots/cartesian/tick_value_defaults":878,"./attributes":667}],670:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var tinycolor=_dereq_("tinycolor2");var Plots=_dereq_("../../plots/plots");var Registry=_dereq_("../../registry");var Axes=_dereq_("../../plots/cartesian/axes");var dragElement=_dereq_("../dragelement");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var extendFlat=_dereq_("../../lib/extend").extendFlat;var setCursor=_dereq_("../../lib/setcursor");var Drawing=_dereq_("../drawing");var Color=_dereq_("../color");var Titles=_dereq_("../titles");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var flipScale=_dereq_("../colorscale/helpers").flipScale;var handleAxisDefaults=_dereq_("../../plots/cartesian/axis_defaults");var handleAxisPositionDefaults=_dereq_("../../plots/cartesian/position_defaults");var axisLayoutAttrs=_dereq_("../../plots/cartesian/layout_attributes");var alignmentConstants=_dereq_("../../constants/alignment");var LINE_SPACING=alignmentConstants.LINE_SPACING;var FROM_TL=alignmentConstants.FROM_TL;var FROM_BR=alignmentConstants.FROM_BR;var cn=_dereq_("./constants").cn;function draw(gd){var fullLayout=gd._fullLayout;var colorBars=fullLayout._infolayer.selectAll("g."+cn.colorbar).data(makeColorBarData(gd),(function(opts){return opts._id}));colorBars.enter().append("g").attr("class",(function(opts){return opts._id})).classed(cn.colorbar,true);colorBars.each((function(opts){var g=d3.select(this);Lib.ensureSingle(g,"rect",cn.cbbg);Lib.ensureSingle(g,"g",cn.cbfills);Lib.ensureSingle(g,"g",cn.cblines);Lib.ensureSingle(g,"g",cn.cbaxis,(function(s){s.classed(cn.crisp,true)}));Lib.ensureSingle(g,"g",cn.cbtitleunshift,(function(s){s.append("g").classed(cn.cbtitle,true)}));Lib.ensureSingle(g,"rect",cn.cboutline);var done=drawColorBar(g,opts,gd);if(done&&done.then)(gd._promises||[]).push(done);if(gd._context.edits.colorbarPosition){makeEditable(g,opts,gd)}}));colorBars.exit().each((function(opts){Plots.autoMargin(gd,opts._id)})).remove();colorBars.order()}function makeColorBarData(gd){var fullLayout=gd._fullLayout;var calcdata=gd.calcdata;var out=[];var opts;var cont;var trace;var cbOpt;function initOpts(opts){return extendFlat(opts,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function calcOpts(){if(typeof cbOpt.calc==="function"){cbOpt.calc(gd,trace,opts)}else{opts._fillgradient=cont.reversescale?flipScale(cont.colorscale):cont.colorscale;opts._zrange=[cont[cbOpt.min],cont[cbOpt.max]]}}for(var i=0;i<calcdata.length;i++){var cd=calcdata[i];trace=cd[0].trace;var moduleOpts=trace._module.colorbar;if(trace.visible===true&&moduleOpts){var allowsMultiplotCbs=Array.isArray(moduleOpts);var cbOpts=allowsMultiplotCbs?moduleOpts:[moduleOpts];for(var j=0;j<cbOpts.length;j++){cbOpt=cbOpts[j];var contName=cbOpt.container;cont=contName?trace[contName]:trace;if(cont&&cont.showscale){opts=initOpts(cont.colorbar);opts._id="cb"+trace.uid+(allowsMultiplotCbs&&contName?"-"+contName:"");opts._traceIndex=trace.index;opts._propPrefix=(contName?contName+".":"")+"colorbar.";opts._meta=trace._meta;calcOpts();out.push(opts)}}}}for(var k in fullLayout._colorAxes){cont=fullLayout[k];if(cont.showscale){var colorAxOpts=fullLayout._colorAxes[k];opts=initOpts(cont.colorbar);opts._id="cb"+k;opts._propPrefix=k+".colorbar.";opts._meta=fullLayout._meta;cbOpt={min:"cmin",max:"cmax"};if(colorAxOpts[0]!=="heatmap"){trace=colorAxOpts[1];cbOpt.calc=trace._module.colorbar.calc}calcOpts();out.push(opts)}}return out}function drawColorBar(g,opts,gd){var fullLayout=gd._fullLayout;var gs=fullLayout._size;var fillColor=opts._fillcolor;var line=opts._line;var title=opts.title;var titleSide=title.side;var zrange=opts._zrange||d3.extent((typeof fillColor==="function"?fillColor:line.color).domain());var lineColormap=typeof line.color==="function"?line.color:function(){return line.color};var fillColormap=typeof fillColor==="function"?fillColor:function(){return fillColor};var levelsIn=opts._levels;var levelsOut=calcLevels(gd,opts,zrange);var fillLevels=levelsOut.fill;var lineLevels=levelsOut.line;var thickPx=Math.round(opts.thickness*(opts.thicknessmode==="fraction"?gs.w:1));var thickFrac=thickPx/gs.w;var lenPx=Math.round(opts.len*(opts.lenmode==="fraction"?gs.h:1));var lenFrac=lenPx/gs.h;var xpadFrac=opts.xpad/gs.w;var yExtraPx=(opts.borderwidth+opts.outlinewidth)/2;var ypadFrac=opts.ypad/gs.h;var xLeft=Math.round(opts.x*gs.w+opts.xpad);var xLeftFrac=opts.x-thickFrac*({middle:.5,right:1}[opts.xanchor]||0);var yBottomFrac=opts.y+lenFrac*(({top:-.5,bottom:.5}[opts.yanchor]||0)-.5);var yBottomPx=Math.round(gs.h*(1-yBottomFrac));var yTopPx=yBottomPx-lenPx;opts._lenFrac=lenFrac;opts._thickFrac=thickFrac;opts._xLeftFrac=xLeftFrac;opts._yBottomFrac=yBottomFrac;var ax=opts._axis=mockColorBarAxis(gd,opts,zrange);ax.position=opts.x+xpadFrac+thickFrac;if(["top","bottom"].indexOf(titleSide)!==-1){ax.title.side=titleSide;ax.titlex=opts.x+xpadFrac;ax.titley=yBottomFrac+(title.side==="top"?lenFrac-ypadFrac:ypadFrac)}if(line.color&&opts.tickmode==="auto"){ax.tickmode="linear";ax.tick0=levelsIn.start;var dtick=levelsIn.size;var autoNtick=Lib.constrain((yBottomPx-yTopPx)/50,4,15)+1;var dtFactor=(zrange[1]-zrange[0])/((opts.nticks||autoNtick)*dtick);if(dtFactor>1){var dtexp=Math.pow(10,Math.floor(Math.log(dtFactor)/Math.LN10));dtick*=dtexp*Lib.roundUp(dtFactor/dtexp,[2,5,10]);if((Math.abs(levelsIn.start)/levelsIn.size+1e-6)%1<2e-6){ax.tick0=0}}ax.dtick=dtick}ax.domain=[yBottomFrac+ypadFrac,yBottomFrac+lenFrac-ypadFrac];ax.setScale();g.attr("transform",strTranslate(Math.round(gs.l),Math.round(gs.t)));var titleCont=g.select("."+cn.cbtitleunshift).attr("transform",strTranslate(-Math.round(gs.l),-Math.round(gs.t)));var axLayer=g.select("."+cn.cbaxis);var titleEl;var titleHeight=0;function drawTitle(titleClass,titleOpts){var dfltTitleOpts={propContainer:ax,propName:opts._propPrefix+"title",traceIndex:opts._traceIndex,_meta:opts._meta,placeholder:fullLayout._dfltTitle.colorbar,containerGroup:g.select("."+cn.cbtitle)};var otherClass=titleClass.charAt(0)==="h"?titleClass.substr(1):"h"+titleClass;g.selectAll("."+otherClass+",."+otherClass+"-math-group").remove();Titles.draw(gd,titleClass,extendFlat(dfltTitleOpts,titleOpts||{}))}function drawDummyTitle(){if(["top","bottom"].indexOf(titleSide)!==-1){var x=gs.l+(opts.x+xpadFrac)*gs.w;var fontSize=ax.title.font.size;var y;if(titleSide==="top"){y=(1-(yBottomFrac+lenFrac-ypadFrac))*gs.h+gs.t+3+fontSize*.75}else{y=(1-(yBottomFrac+ypadFrac))*gs.h+gs.t-3-fontSize*.25}drawTitle(ax._id+"title",{attributes:{x:x,y:y,"text-anchor":"start"}})}}function drawCbTitle(){if(["top","bottom"].indexOf(titleSide)===-1){var fontSize=ax.title.font.size;var y=ax._offset+ax._length/2;var x=gs.l+(ax.position||0)*gs.w+(ax.side==="right"?10+fontSize*(ax.showticklabels?1:.5):-10-fontSize*(ax.showticklabels?.5:0));drawTitle("h"+ax._id+"title",{avoid:{selection:d3.select(gd).selectAll("g."+ax._id+"tick"),side:titleSide,offsetLeft:gs.l,offsetTop:0,maxShift:fullLayout.width},attributes:{x:x,y:y,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}}function drawAxis(){if(["top","bottom"].indexOf(titleSide)!==-1){var titleGroup=g.select("."+cn.cbtitle);var titleText=titleGroup.select("text");var titleTrans=[-opts.outlinewidth/2,opts.outlinewidth/2];var mathJaxNode=titleGroup.select(".h"+ax._id+"title-math-group").node();var lineSize=15.6;if(titleText.node()){lineSize=parseInt(titleText.node().style.fontSize,10)*LINE_SPACING}if(mathJaxNode){titleHeight=Drawing.bBox(mathJaxNode).height;if(titleHeight>lineSize){titleTrans[1]-=(titleHeight-lineSize)/2}}else if(titleText.node()&&!titleText.classed(cn.jsPlaceholder)){titleHeight=Drawing.bBox(titleText.node()).height}if(titleHeight){titleHeight+=5;if(titleSide==="top"){ax.domain[1]-=titleHeight/gs.h;titleTrans[1]*=-1}else{ax.domain[0]+=titleHeight/gs.h;var nlines=svgTextUtils.lineCount(titleText);titleTrans[1]+=(1-nlines)*lineSize}titleGroup.attr("transform",strTranslate(titleTrans[0],titleTrans[1]));ax.setScale()}}g.selectAll("."+cn.cbfills+",."+cn.cblines).attr("transform",strTranslate(0,Math.round(gs.h*(1-ax.domain[1]))));axLayer.attr("transform",strTranslate(0,Math.round(-gs.t)));var fills=g.select("."+cn.cbfills).selectAll("rect."+cn.cbfill).attr("style","").data(fillLevels);fills.enter().append("rect").classed(cn.cbfill,true).style("stroke","none");fills.exit().remove();var zBounds=zrange.map(ax.c2p).map(Math.round).sort((function(a,b){return a-b}));fills.each((function(d,i){var z=[i===0?zrange[0]:(fillLevels[i]+fillLevels[i-1])/2,i===fillLevels.length-1?zrange[1]:(fillLevels[i]+fillLevels[i+1])/2].map(ax.c2p).map(Math.round);z[1]=Lib.constrain(z[1]+(z[1]>z[0])?1:-1,zBounds[0],zBounds[1]);var fillEl=d3.select(this).attr({x:xLeft,width:Math.max(thickPx,2),y:d3.min(z),height:Math.max(d3.max(z)-d3.min(z),2)});if(opts._fillgradient){Drawing.gradient(fillEl,gd,opts._id,"vertical",opts._fillgradient,"fill")}else{var colorString=fillColormap(d).replace("e-","");fillEl.attr("fill",tinycolor(colorString).toHexString())}}));var lines=g.select("."+cn.cblines).selectAll("path."+cn.cbline).data(line.color&&line.width?lineLevels:[]);lines.enter().append("path").classed(cn.cbline,true);lines.exit().remove();lines.each((function(d){d3.select(this).attr("d","M"+xLeft+","+(Math.round(ax.c2p(d))+line.width/2%1)+"h"+thickPx).call(Drawing.lineGroupStyle,line.width,lineColormap(d),line.dash)}));axLayer.selectAll("g."+ax._id+"tick,path").remove();var shift=xLeft+thickPx+(opts.outlinewidth||0)/2-(opts.ticks==="outside"?1:0);var vals=Axes.calcTicks(ax);var tickSign=Axes.getTickSigns(ax)[2];Axes.drawTicks(gd,ax,{vals:ax.ticks==="inside"?Axes.clipEnds(ax,vals):vals,layer:axLayer,path:Axes.makeTickPath(ax,shift,tickSign),transFn:Axes.makeTransTickFn(ax)});return Axes.drawLabels(gd,ax,{vals:vals,layer:axLayer,transFn:Axes.makeTransTickLabelFn(ax),labelFns:Axes.makeLabelFns(ax,shift)})}function positionCB(){var innerWidth=thickPx+opts.outlinewidth/2;if(ax.ticklabelposition.indexOf("inside")===-1){innerWidth+=Drawing.bBox(axLayer.node()).width}titleEl=titleCont.select("text");if(titleEl.node()&&!titleEl.classed(cn.jsPlaceholder)){var mathJaxNode=titleCont.select(".h"+ax._id+"title-math-group").node();var titleWidth;if(mathJaxNode&&["top","bottom"].indexOf(titleSide)!==-1){titleWidth=Drawing.bBox(mathJaxNode).width}else{titleWidth=Drawing.bBox(titleCont.node()).right-xLeft-gs.l}innerWidth=Math.max(innerWidth,titleWidth)}var outerwidth=2*opts.xpad+innerWidth+opts.borderwidth+opts.outlinewidth/2;var outerheight=yBottomPx-yTopPx;g.select("."+cn.cbbg).attr({x:xLeft-opts.xpad-(opts.borderwidth+opts.outlinewidth)/2,y:yTopPx-yExtraPx,width:Math.max(outerwidth,2),height:Math.max(outerheight+2*yExtraPx,2)}).call(Color.fill,opts.bgcolor).call(Color.stroke,opts.bordercolor).style("stroke-width",opts.borderwidth);g.selectAll("."+cn.cboutline).attr({x:xLeft,y:yTopPx+opts.ypad+(titleSide==="top"?titleHeight:0),width:Math.max(thickPx,2),height:Math.max(outerheight-2*opts.ypad-titleHeight,2)}).call(Color.stroke,opts.outlinecolor).style({fill:"none","stroke-width":opts.outlinewidth});var xoffset=({center:.5,right:1}[opts.xanchor]||0)*outerwidth;g.attr("transform",strTranslate(gs.l-xoffset,gs.t));var marginOpts={};var tFrac=FROM_TL[opts.yanchor];var bFrac=FROM_BR[opts.yanchor];if(opts.lenmode==="pixels"){marginOpts.y=opts.y;marginOpts.t=outerheight*tFrac;marginOpts.b=outerheight*bFrac}else{marginOpts.t=marginOpts.b=0;marginOpts.yt=opts.y+opts.len*tFrac;marginOpts.yb=opts.y-opts.len*bFrac}var lFrac=FROM_TL[opts.xanchor];var rFrac=FROM_BR[opts.xanchor];if(opts.thicknessmode==="pixels"){marginOpts.x=opts.x;marginOpts.l=outerwidth*lFrac;marginOpts.r=outerwidth*rFrac}else{var extraThickness=outerwidth-thickPx;marginOpts.l=extraThickness*lFrac;marginOpts.r=extraThickness*rFrac;marginOpts.xl=opts.x-opts.thickness*lFrac;marginOpts.xr=opts.x+opts.thickness*rFrac}Plots.autoMargin(gd,opts._id,marginOpts)}return Lib.syncOrAsync([Plots.previousPromises,drawDummyTitle,drawAxis,drawCbTitle,Plots.previousPromises,positionCB],gd)}function makeEditable(g,opts,gd){var fullLayout=gd._fullLayout;var gs=fullLayout._size;var t0,xf,yf;dragElement.init({element:g.node(),gd:gd,prepFn:function(){t0=g.attr("transform");setCursor(g)},moveFn:function(dx,dy){g.attr("transform",t0+strTranslate(dx,dy));xf=dragElement.align(opts._xLeftFrac+dx/gs.w,opts._thickFrac,0,1,opts.xanchor);yf=dragElement.align(opts._yBottomFrac-dy/gs.h,opts._lenFrac,0,1,opts.yanchor);var csr=dragElement.getCursor(xf,yf,opts.xanchor,opts.yanchor);setCursor(g,csr)},doneFn:function(){setCursor(g);if(xf!==undefined&&yf!==undefined){var update={};update[opts._propPrefix+"x"]=xf;update[opts._propPrefix+"y"]=yf;if(opts._traceIndex!==undefined){Registry.call("_guiRestyle",gd,update,opts._traceIndex)}else{Registry.call("_guiRelayout",gd,update)}}}})}function calcLevels(gd,opts,zrange){var levelsIn=opts._levels;var lineLevels=[];var fillLevels=[];var l;var i;var l0=levelsIn.end+levelsIn.size/100;var ls=levelsIn.size;var zr0=1.001*zrange[0]-.001*zrange[1];var zr1=1.001*zrange[1]-.001*zrange[0];for(i=0;i<1e5;i++){l=levelsIn.start+i*ls;if(ls>0?l>=l0:l<=l0)break;if(l>zr0&&l<zr1)lineLevels.push(l)}if(opts._fillgradient){fillLevels=[0]}else if(typeof opts._fillcolor==="function"){var fillLevelsIn=opts._filllevels;if(fillLevelsIn){l0=fillLevelsIn.end+fillLevelsIn.size/100;ls=fillLevelsIn.size;for(i=0;i<1e5;i++){l=fillLevelsIn.start+i*ls;if(ls>0?l>=l0:l<=l0)break;if(l>zrange[0]&&l<zrange[1])fillLevels.push(l)}}else{fillLevels=lineLevels.map((function(v){return v-levelsIn.size/2}));fillLevels.push(fillLevels[fillLevels.length-1]+levelsIn.size)}}else if(opts._fillcolor&&typeof opts._fillcolor==="string"){fillLevels=[0]}if(levelsIn.size<0){lineLevels.reverse();fillLevels.reverse()}return{line:lineLevels,fill:fillLevels}}function mockColorBarAxis(gd,opts,zrange){var fullLayout=gd._fullLayout;var cbAxisIn={type:"linear",range:zrange,tickmode:opts.tickmode,nticks:opts.nticks,tick0:opts.tick0,dtick:opts.dtick,tickvals:opts.tickvals,ticktext:opts.ticktext,ticks:opts.ticks,ticklen:opts.ticklen,tickwidth:opts.tickwidth,tickcolor:opts.tickcolor,showticklabels:opts.showticklabels,ticklabelposition:opts.ticklabelposition,ticklabeloverflow:opts.ticklabeloverflow,tickfont:opts.tickfont,tickangle:opts.tickangle,tickformat:opts.tickformat,exponentformat:opts.exponentformat,minexponent:opts.minexponent,separatethousands:opts.separatethousands,showexponent:opts.showexponent,showtickprefix:opts.showtickprefix,tickprefix:opts.tickprefix,showticksuffix:opts.showticksuffix,ticksuffix:opts.ticksuffix,title:opts.title,showline:true,anchor:"free",side:"right",position:1};var cbAxisOut={type:"linear",_id:"y"+opts._id};var axisOptions={letter:"y",font:fullLayout.font,noHover:true,noTickson:true,noTicklabelmode:true,calendar:fullLayout.calendar};function coerce(attr,dflt){return Lib.coerce(cbAxisIn,cbAxisOut,axisLayoutAttrs,attr,dflt)}handleAxisDefaults(cbAxisIn,cbAxisOut,coerce,axisOptions,fullLayout);handleAxisPositionDefaults(cbAxisIn,cbAxisOut,coerce,axisOptions);return cbAxisOut}module.exports={draw:draw}},{"../../constants/alignment":771,"../../lib":803,"../../lib/extend":793,"../../lib/setcursor":824,"../../lib/svg_text_utils":829,"../../plots/cartesian/axes":854,"../../plots/cartesian/axis_defaults":856,"../../plots/cartesian/layout_attributes":869,"../../plots/cartesian/position_defaults":872,"../../plots/plots":917,"../../registry":931,"../color":666,"../colorscale/helpers":677,"../dragelement":685,"../drawing":688,"../titles":764,"./constants":668,"@plotly/d3":58,tinycolor2:598}],671:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function hasColorbar(container){return Lib.isPlainObject(container.colorbar)}},{"../../lib":803}],672:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"component",name:"colorbar",attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),draw:_dereq_("./draw").draw,hasColorbar:_dereq_("./has_colorbar")}},{"./attributes":667,"./defaults":669,"./draw":670,"./has_colorbar":671}],673:[function(_dereq_,module,exports){"use strict";var colorbarAttrs=_dereq_("../colorbar/attributes");var counterRegex=_dereq_("../../lib/regex").counter;var sortObjectKeys=_dereq_("../../lib/sort_object_keys");var palettes=_dereq_("./scales.js").scales;var paletteStr=sortObjectKeys(palettes);function code(s){return"`"+s+"`"}module.exports=function colorScaleAttrs(context,opts){context=context||"";opts=opts||{};var cLetter=opts.cLetter||"c";var onlyIfNumerical="onlyIfNumerical"in opts?opts.onlyIfNumerical:Boolean(context);var noScale="noScale"in opts?opts.noScale:context==="marker.line";var showScaleDflt="showScaleDflt"in opts?opts.showScaleDflt:cLetter==="z";var colorscaleDflt=typeof opts.colorscaleDflt==="string"?palettes[opts.colorscaleDflt]:null;var editTypeOverride=opts.editTypeOverride||"";var contextHead=context?context+".":"";var colorAttr,colorAttrFull;if("colorAttr"in opts){colorAttr=opts.colorAttr;colorAttrFull=opts.colorAttr}else{colorAttr={z:"z",c:"color"}[cLetter];colorAttrFull="in "+code(contextHead+colorAttr)}var effectDesc=onlyIfNumerical?" Has an effect only if "+colorAttrFull+"is set to a numerical array.":"";var auto=cLetter+"auto";var min=cLetter+"min";var max=cLetter+"max";var mid=cLetter+"mid";var autoFull=code(contextHead+auto);var minFull=code(contextHead+min);var maxFull=code(contextHead+max);var minmaxFull=minFull+" and "+maxFull;var autoImpliedEdits={};autoImpliedEdits[min]=autoImpliedEdits[max]=undefined;var minmaxImpliedEdits={};minmaxImpliedEdits[auto]=false;var attrs={};if(colorAttr==="color"){attrs.color={valType:"color",arrayOk:true,editType:editTypeOverride||"style"};if(opts.anim){attrs.color.anim=true}}attrs[auto]={valType:"boolean",dflt:true,editType:"calc",impliedEdits:autoImpliedEdits};attrs[min]={valType:"number",dflt:null,editType:editTypeOverride||"plot",impliedEdits:minmaxImpliedEdits};attrs[max]={valType:"number",dflt:null,editType:editTypeOverride||"plot",impliedEdits:minmaxImpliedEdits};attrs[mid]={valType:"number",dflt:null,editType:"calc",impliedEdits:autoImpliedEdits};attrs.colorscale={valType:"colorscale",editType:"calc",dflt:colorscaleDflt,impliedEdits:{autocolorscale:false}};attrs.autocolorscale={valType:"boolean",dflt:opts.autoColorDflt===false?false:true,editType:"calc",impliedEdits:{colorscale:undefined}};attrs.reversescale={valType:"boolean",dflt:false,editType:"plot"};if(!noScale){attrs.showscale={valType:"boolean",dflt:showScaleDflt,editType:"calc"};attrs.colorbar=colorbarAttrs}if(!opts.noColorAxis){attrs.coloraxis={valType:"subplotid",regex:counterRegex("coloraxis"),dflt:null,editType:"calc"}}return attrs}},{"../../lib/regex":820,"../../lib/sort_object_keys":826,"../colorbar/attributes":667,"./scales.js":681}],674:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var extractOpts=_dereq_("./helpers").extractOpts;module.exports=function calc(gd,trace,opts){var fullLayout=gd._fullLayout;var vals=opts.vals;var containerStr=opts.containerStr;var container=containerStr?Lib.nestedProperty(trace,containerStr).get():trace;var cOpts=extractOpts(container);var auto=cOpts.auto!==false;var min=cOpts.min;var max=cOpts.max;var mid=cOpts.mid;var minVal=function(){return Lib.aggNums(Math.min,null,vals)};var maxVal=function(){return Lib.aggNums(Math.max,null,vals)};if(min===undefined){min=minVal()}else if(auto){if(container._colorAx&&isNumeric(min)){min=Math.min(min,minVal())}else{min=minVal()}}if(max===undefined){max=maxVal()}else if(auto){if(container._colorAx&&isNumeric(max)){max=Math.max(max,maxVal())}else{max=maxVal()}}if(auto&&mid!==undefined){if(max-mid>mid-min){min=mid-(max-mid)}else if(max-mid<mid-min){max=mid+(mid-min)}}if(min===max){min-=.5;max+=.5}cOpts._sync("min",min);cOpts._sync("max",max);if(cOpts.autocolorscale){var scl;if(min*max<0)scl=fullLayout.colorscale.diverging;else if(min>=0)scl=fullLayout.colorscale.sequential;else scl=fullLayout.colorscale.sequentialminus;cOpts._sync("colorscale",scl)}}},{"../../lib":803,"./helpers":677,"fast-isnumeric":249}],675:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var hasColorscale=_dereq_("./helpers").hasColorscale;var extractOpts=_dereq_("./helpers").extractOpts;module.exports=function crossTraceDefaults(fullData,fullLayout){function replace(cont,k){var val=cont["_"+k];if(val!==undefined){cont[k]=val}}function relinkColorAttrs(outerCont,cbOpt){var cont=cbOpt.container?Lib.nestedProperty(outerCont,cbOpt.container).get():outerCont;if(cont){if(cont.coloraxis){cont._colorAx=fullLayout[cont.coloraxis]}else{var cOpts=extractOpts(cont);var isAuto=cOpts.auto;if(isAuto||cOpts.min===undefined){replace(cont,cbOpt.min)}if(isAuto||cOpts.max===undefined){replace(cont,cbOpt.max)}if(cOpts.autocolorscale){replace(cont,"colorscale")}}}}for(var i=0;i<fullData.length;i++){var trace=fullData[i];var cbOpts=trace._module.colorbar;if(cbOpts){if(Array.isArray(cbOpts)){for(var j=0;j<cbOpts.length;j++){relinkColorAttrs(trace,cbOpts[j])}}else{relinkColorAttrs(trace,cbOpts)}}if(hasColorscale(trace,"marker.line")){relinkColorAttrs(trace,{container:"marker.line",min:"cmin",max:"cmax"})}}for(var k in fullLayout._colorAxes){relinkColorAttrs(fullLayout[k],{min:"cmin",max:"cmax"})}}},{"../../lib":803,"./helpers":677}],676:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var hasColorbar=_dereq_("../colorbar/has_colorbar");var colorbarDefaults=_dereq_("../colorbar/defaults");var isValidScale=_dereq_("./scales").isValid;var traceIs=_dereq_("../../registry").traceIs;function npMaybe(parentCont,prefix){var containerStr=prefix.slice(0,prefix.length-1);return prefix?Lib.nestedProperty(parentCont,containerStr).get()||{}:parentCont}module.exports=function colorScaleDefaults(parentContIn,parentContOut,layout,coerce,opts){var prefix=opts.prefix;var cLetter=opts.cLetter;var inTrace="_module"in parentContOut;var containerIn=npMaybe(parentContIn,prefix);var containerOut=npMaybe(parentContOut,prefix);var template=npMaybe(parentContOut._template||{},prefix)||{};var thisFn=function(){delete parentContIn.coloraxis;delete parentContOut.coloraxis;return colorScaleDefaults(parentContIn,parentContOut,layout,coerce,opts)};if(inTrace){var colorAxes=layout._colorAxes||{};var colorAx=coerce(prefix+"coloraxis");if(colorAx){var colorbarVisuals=traceIs(parentContOut,"contour")&&Lib.nestedProperty(parentContOut,"contours.coloring").get()||"heatmap";var stash=colorAxes[colorAx];if(stash){stash[2].push(thisFn);if(stash[0]!==colorbarVisuals){stash[0]=false;Lib.warn(["Ignoring coloraxis:",colorAx,"setting","as it is linked to incompatible colorscales."].join(" "))}}else{colorAxes[colorAx]=[colorbarVisuals,parentContOut,[thisFn]]}return}}var minIn=containerIn[cLetter+"min"];var maxIn=containerIn[cLetter+"max"];var validMinMax=isNumeric(minIn)&&isNumeric(maxIn)&&minIn<maxIn;var auto=coerce(prefix+cLetter+"auto",!validMinMax);if(auto){coerce(prefix+cLetter+"mid")}else{coerce(prefix+cLetter+"min");coerce(prefix+cLetter+"max")}var sclIn=containerIn.colorscale;var sclTemplate=template.colorscale;var autoColorscaleDflt;if(sclIn!==undefined)autoColorscaleDflt=!isValidScale(sclIn);if(sclTemplate!==undefined)autoColorscaleDflt=!isValidScale(sclTemplate);coerce(prefix+"autocolorscale",autoColorscaleDflt);coerce(prefix+"colorscale");coerce(prefix+"reversescale");if(prefix!=="marker.line."){var showScaleDflt;if(prefix&&inTrace)showScaleDflt=hasColorbar(containerIn);var showScale=coerce(prefix+"showscale",showScaleDflt);if(showScale){if(prefix&&template)containerOut._template=template;colorbarDefaults(containerIn,containerOut,layout)}}}},{"../../lib":803,"../../registry":931,"../colorbar/defaults":669,"../colorbar/has_colorbar":671,"./scales":681,"fast-isnumeric":249}],677:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var tinycolor=_dereq_("tinycolor2");var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var Color=_dereq_("../color");var isValidScale=_dereq_("./scales").isValid;function hasColorscale(trace,containerStr,colorKey){var container=containerStr?Lib.nestedProperty(trace,containerStr).get()||{}:trace;var color=container[colorKey||"color"];var isArrayWithOneNumber=false;if(Lib.isArrayOrTypedArray(color)){for(var i=0;i<color.length;i++){if(isNumeric(color[i])){isArrayWithOneNumber=true;break}}}return Lib.isPlainObject(container)&&(isArrayWithOneNumber||container.showscale===true||isNumeric(container.cmin)&&isNumeric(container.cmax)||isValidScale(container.colorscale)||Lib.isPlainObject(container.colorbar))}var constantAttrs=["showscale","autocolorscale","colorscale","reversescale","colorbar"];var letterAttrs=["min","max","mid","auto"];function extractOpts(cont){var colorAx=cont._colorAx;var cont2=colorAx?colorAx:cont;var out={};var cLetter;var i,k;for(i=0;i<constantAttrs.length;i++){k=constantAttrs[i];out[k]=cont2[k]}if(colorAx){cLetter="c";for(i=0;i<letterAttrs.length;i++){k=letterAttrs[i];out[k]=cont2["c"+k]}}else{var k2;for(i=0;i<letterAttrs.length;i++){k=letterAttrs[i];k2="c"+k;if(k2 in cont2){out[k]=cont2[k2];continue}k2="z"+k;if(k2 in cont2){out[k]=cont2[k2]}}cLetter=k2.charAt(0)}out._sync=function(k,v){var k2=letterAttrs.indexOf(k)!==-1?cLetter+k:k;cont2[k2]=cont2["_"+k2]=v};return out}function extractScale(cont){var cOpts=extractOpts(cont);var cmin=cOpts.min;var cmax=cOpts.max;var scl=cOpts.reversescale?flipScale(cOpts.colorscale):cOpts.colorscale;var N=scl.length;var domain=new Array(N);var range=new Array(N);for(var i=0;i<N;i++){var si=scl[i];domain[i]=cmin+si[0]*(cmax-cmin);range[i]=si[1]}return{domain:domain,range:range}}function flipScale(scl){var N=scl.length;var sclNew=new Array(N);for(var i=N-1,j=0;i>=0;i--,j++){var si=scl[i];sclNew[j]=[1-si[0],si[1]]}return sclNew}function makeColorScaleFunc(specs,opts){opts=opts||{};var domain=specs.domain;var range=specs.range;var N=range.length;var _range=new Array(N);for(var i=0;i<N;i++){var rgba=tinycolor(range[i]).toRgb();_range[i]=[rgba.r,rgba.g,rgba.b,rgba.a]}var _sclFunc=d3.scale.linear().domain(domain).range(_range).clamp(true);var noNumericCheck=opts.noNumericCheck;var returnArray=opts.returnArray;var sclFunc;if(noNumericCheck&&returnArray){sclFunc=_sclFunc}else if(noNumericCheck){sclFunc=function(v){return colorArray2rbga(_sclFunc(v))}}else if(returnArray){sclFunc=function(v){if(isNumeric(v))return _sclFunc(v);else if(tinycolor(v).isValid())return v;else return Color.defaultLine}}else{sclFunc=function(v){if(isNumeric(v))return colorArray2rbga(_sclFunc(v));else if(tinycolor(v).isValid())return v;else return Color.defaultLine}}sclFunc.domain=_sclFunc.domain;sclFunc.range=function(){return range};return sclFunc}function makeColorScaleFuncFromTrace(trace,opts){return makeColorScaleFunc(extractScale(trace),opts)}function colorArray2rbga(colorArray){var colorObj={r:colorArray[0],g:colorArray[1],b:colorArray[2],a:colorArray[3]};return tinycolor(colorObj).toRgbString()}module.exports={hasColorscale:hasColorscale,extractOpts:extractOpts,extractScale:extractScale,flipScale:flipScale,makeColorScaleFunc:makeColorScaleFunc,makeColorScaleFuncFromTrace:makeColorScaleFuncFromTrace}},{"../../lib":803,"../color":666,"./scales":681,"@plotly/d3":58,"fast-isnumeric":249,tinycolor2:598}],678:[function(_dereq_,module,exports){"use strict";var scales=_dereq_("./scales");var helpers=_dereq_("./helpers");module.exports={moduleType:"component",name:"colorscale",attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyLayoutDefaults:_dereq_("./layout_defaults"),handleDefaults:_dereq_("./defaults"),crossTraceDefaults:_dereq_("./cross_trace_defaults"),calc:_dereq_("./calc"),scales:scales.scales,defaultScale:scales.defaultScale,getScale:scales.get,isValidScale:scales.isValid,hasColorscale:helpers.hasColorscale,extractOpts:helpers.extractOpts,extractScale:helpers.extractScale,flipScale:helpers.flipScale,makeColorScaleFunc:helpers.makeColorScaleFunc,makeColorScaleFuncFromTrace:helpers.makeColorScaleFuncFromTrace}},{"./attributes":673,"./calc":674,"./cross_trace_defaults":675,"./defaults":676,"./helpers":677,"./layout_attributes":679,"./layout_defaults":680,"./scales":681}],679:[function(_dereq_,module,exports){"use strict";var extendFlat=_dereq_("../../lib/extend").extendFlat;var colorScaleAttrs=_dereq_("./attributes");var scales=_dereq_("./scales").scales;var msg="Note that `autocolorscale` must be true for this attribute to work.";module.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:scales.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:scales.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:scales.RdBu,editType:"calc"}},coloraxis:extendFlat({_isSubplotObj:true,editType:"calc"},colorScaleAttrs("",{colorAttr:"corresponding trace color array(s)",noColorAxis:true,showScaleDflt:true}))}},{"../../lib/extend":793,"./attributes":673,"./scales":681}],680:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Template=_dereq_("../../plot_api/plot_template");var colorScaleAttrs=_dereq_("./layout_attributes");var colorScaleDefaults=_dereq_("./defaults");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,colorScaleAttrs,attr,dflt)}coerce("colorscale.sequential");coerce("colorscale.sequentialminus");coerce("colorscale.diverging");var colorAxes=layoutOut._colorAxes;var colorAxIn,colorAxOut;function coerceAx(attr,dflt){return Lib.coerce(colorAxIn,colorAxOut,colorScaleAttrs.coloraxis,attr,dflt)}for(var k in colorAxes){var stash=colorAxes[k];if(stash[0]){colorAxIn=layoutIn[k]||{};colorAxOut=Template.newContainer(layoutOut,k,"coloraxis");colorAxOut._name=k;colorScaleDefaults(colorAxIn,colorAxOut,layoutOut,coerceAx,{prefix:"",cLetter:"c"})}else{for(var i=0;i<stash[2].length;i++){stash[2][i]()}delete layoutOut._colorAxes[k]}}}},{"../../lib":803,"../../plot_api/plot_template":843,"./defaults":676,"./layout_attributes":679}],681:[function(_dereq_,module,exports){"use strict";var tinycolor=_dereq_("tinycolor2");var scales={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]};var defaultScale=scales.RdBu;function getScale(scl,dflt){if(!dflt)dflt=defaultScale;if(!scl)return dflt;function parseScale(){try{scl=scales[scl]||JSON.parse(scl)}catch(e){scl=dflt}}if(typeof scl==="string"){parseScale();if(typeof scl==="string")parseScale()}if(!isValidScaleArray(scl))return dflt;return scl}function isValidScaleArray(scl){var highestVal=0;if(!Array.isArray(scl)||scl.length<2)return false;if(!scl[0]||!scl[scl.length-1])return false;if(+scl[0][0]!==0||+scl[scl.length-1][0]!==1)return false;for(var i=0;i<scl.length;i++){var si=scl[i];if(si.length!==2||+si[0]<highestVal||!tinycolor(si[1]).isValid()){return false}highestVal=+si[0]}return true}function isValidScale(scl){if(scales[scl]!==undefined)return true;else return isValidScaleArray(scl)}module.exports={scales:scales,defaultScale:defaultScale,get:getScale,isValid:isValidScale}},{tinycolor2:598}],682:[function(_dereq_,module,exports){"use strict";module.exports=function align(v,dv,v0,v1,anchor){var vmin=(v-v0)/(v1-v0);var vmax=vmin+dv/(v1-v0);var vc=(vmin+vmax)/2;if(anchor==="left"||anchor==="bottom")return vmin;if(anchor==="center"||anchor==="middle")return vc;if(anchor==="right"||anchor==="top")return vmax;if(vmin<2/3-vc)return vmin;if(vmax>4/3-vc)return vmax;return vc}},{}],683:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var cursorset=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];module.exports=function getCursor(x,y,xanchor,yanchor){if(xanchor==="left")x=0;else if(xanchor==="center")x=1;else if(xanchor==="right")x=2;else x=Lib.constrain(Math.floor(x*3),0,2);if(yanchor==="bottom")y=0;else if(yanchor==="middle")y=1;else if(yanchor==="top")y=2;else y=Lib.constrain(Math.floor(y*3),0,2);return cursorset[y][x]}},{"../../lib":803}],684:[function(_dereq_,module,exports){"use strict";exports.selectMode=function(dragmode){return dragmode==="lasso"||dragmode==="select"};exports.drawMode=function(dragmode){return dragmode==="drawclosedpath"||dragmode==="drawopenpath"||dragmode==="drawline"||dragmode==="drawrect"||dragmode==="drawcircle"};exports.openMode=function(dragmode){return dragmode==="drawline"||dragmode==="drawopenpath"};exports.rectMode=function(dragmode){return dragmode==="select"||dragmode==="drawline"||dragmode==="drawrect"||dragmode==="drawcircle"};exports.freeMode=function(dragmode){return dragmode==="lasso"||dragmode==="drawclosedpath"||dragmode==="drawopenpath"};exports.selectingOrDrawing=function(dragmode){return exports.freeMode(dragmode)||exports.rectMode(dragmode)}},{}],685:[function(_dereq_,module,exports){"use strict";var mouseOffset=_dereq_("mouse-event-offset");var hasHover=_dereq_("has-hover");var supportsPassive=_dereq_("has-passive-events");var removeElement=_dereq_("../../lib").removeElement;var constants=_dereq_("../../plots/cartesian/constants");var dragElement=module.exports={};dragElement.align=_dereq_("./align");dragElement.getCursor=_dereq_("./cursor");var unhover=_dereq_("./unhover");dragElement.unhover=unhover.wrapped;dragElement.unhoverRaw=unhover.raw;dragElement.init=function init(options){var gd=options.gd;var numClicks=1;var doubleClickDelay=gd._context.doubleClickDelay;var element=options.element;var startX,startY,newMouseDownTime,cursor,dragCover,initialEvent,initialTarget,rightClick;if(!gd._mouseDownTime)gd._mouseDownTime=0;element.style.pointerEvents="all";element.onmousedown=onStart;if(!supportsPassive){element.ontouchstart=onStart}else{if(element._ontouchstart){element.removeEventListener("touchstart",element._ontouchstart)}element._ontouchstart=onStart;element.addEventListener("touchstart",onStart,{passive:false})}function _clampFn(dx,dy,minDrag){if(Math.abs(dx)<minDrag)dx=0;if(Math.abs(dy)<minDrag)dy=0;return[dx,dy]}var clampFn=options.clampFn||_clampFn;function onStart(e){gd._dragged=false;gd._dragging=true;var offset=pointerOffset(e);startX=offset[0];startY=offset[1];initialTarget=e.target;initialEvent=e;rightClick=e.buttons===2||e.ctrlKey;if(typeof e.clientX==="undefined"&&typeof e.clientY==="undefined"){e.clientX=startX;e.clientY=startY}newMouseDownTime=(new Date).getTime();if(newMouseDownTime-gd._mouseDownTime<doubleClickDelay){numClicks+=1}else{numClicks=1;gd._mouseDownTime=newMouseDownTime}if(options.prepFn)options.prepFn(e,startX,startY);if(hasHover&&!rightClick){dragCover=coverSlip();dragCover.style.cursor=window.getComputedStyle(element).cursor}else if(!hasHover){dragCover=document;cursor=window.getComputedStyle(document.documentElement).cursor;document.documentElement.style.cursor=window.getComputedStyle(element).cursor}document.addEventListener("mouseup",onDone);document.addEventListener("touchend",onDone);if(options.dragmode!==false){e.preventDefault();document.addEventListener("mousemove",onMove);document.addEventListener("touchmove",onMove,{passive:false})}return}function onMove(e){e.preventDefault();var offset=pointerOffset(e);var minDrag=options.minDrag||constants.MINDRAG;var dxdy=clampFn(offset[0]-startX,offset[1]-startY,minDrag);var dx=dxdy[0];var dy=dxdy[1];if(dx||dy){gd._dragged=true;dragElement.unhover(gd,e)}if(gd._dragged&&options.moveFn&&!rightClick){gd._dragdata={element:element,dx:dx,dy:dy};options.moveFn(dx,dy)}return}function onDone(e){delete gd._dragdata;if(options.dragmode!==false){e.preventDefault();document.removeEventListener("mousemove",onMove);document.removeEventListener("touchmove",onMove)}document.removeEventListener("mouseup",onDone);document.removeEventListener("touchend",onDone);if(hasHover){removeElement(dragCover)}else if(cursor){dragCover.documentElement.style.cursor=cursor;cursor=null}if(!gd._dragging){gd._dragged=false;return}gd._dragging=false;if((new Date).getTime()-gd._mouseDownTime>doubleClickDelay){numClicks=Math.max(numClicks-1,1)}if(gd._dragged){if(options.doneFn)options.doneFn()}else{if(options.clickFn)options.clickFn(numClicks,initialEvent);if(!rightClick){var e2;try{e2=new MouseEvent("click",e)}catch(err){var offset=pointerOffset(e);e2=document.createEvent("MouseEvents");e2.initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,offset[0],offset[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}initialTarget.dispatchEvent(e2)}}gd._dragging=false;gd._dragged=false;return}};function coverSlip(){var cover=document.createElement("div");cover.className="dragcover";var cStyle=cover.style;cStyle.position="fixed";cStyle.left=0;cStyle.right=0;cStyle.top=0;cStyle.bottom=0;cStyle.zIndex=999999999;cStyle.background="none";document.body.appendChild(cover);return cover}dragElement.coverSlip=coverSlip;function pointerOffset(e){return mouseOffset(e.changedTouches?e.changedTouches[0]:e,document.body)}},{"../../lib":803,"../../plots/cartesian/constants":861,"./align":682,"./cursor":683,"./unhover":686,"has-hover":443,"has-passive-events":444,"mouse-event-offset":471}],686:[function(_dereq_,module,exports){"use strict";var Events=_dereq_("../../lib/events");var throttle=_dereq_("../../lib/throttle");var getGraphDiv=_dereq_("../../lib/dom").getGraphDiv;var hoverConstants=_dereq_("../fx/constants");var unhover=module.exports={};unhover.wrapped=function(gd,evt,subplot){gd=getGraphDiv(gd);if(gd._fullLayout){throttle.clear(gd._fullLayout._uid+hoverConstants.HOVERID)}unhover.raw(gd,evt,subplot)};unhover.raw=function raw(gd,evt){var fullLayout=gd._fullLayout;var oldhoverdata=gd._hoverdata;if(!evt)evt={};if(evt.target&&!gd._dragged&&Events.triggerHandler(gd,"plotly_beforehover",evt)===false){return}fullLayout._hoverlayer.selectAll("g").remove();fullLayout._hoverlayer.selectAll("line").remove();fullLayout._hoverlayer.selectAll("circle").remove();gd._hoverdata=undefined;if(evt.target&&oldhoverdata){gd.emit("plotly_unhover",{event:evt,points:oldhoverdata})}}},{"../../lib/dom":791,"../../lib/events":792,"../../lib/throttle":830,"../fx/constants":700}],687:[function(_dereq_,module,exports){"use strict";exports.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"};exports.pattern={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:true,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:true,editType:"style"},fgcolor:{valType:"color",arrayOk:true,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:true,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:true,editType:"style"},editType:"style"}},{}],688:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var numberFormat=Lib.numberFormat;var isNumeric=_dereq_("fast-isnumeric");var tinycolor=_dereq_("tinycolor2");var Registry=_dereq_("../../registry");var Color=_dereq_("../color");var Colorscale=_dereq_("../colorscale");var strTranslate=Lib.strTranslate;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");var alignment=_dereq_("../../constants/alignment");var LINE_SPACING=alignment.LINE_SPACING;var DESELECTDIM=_dereq_("../../constants/interactions").DESELECTDIM;var subTypes=_dereq_("../../traces/scatter/subtypes");var makeBubbleSizeFn=_dereq_("../../traces/scatter/make_bubble_size_func");var appendArrayPointValue=_dereq_("../../components/fx/helpers").appendArrayPointValue;var drawing=module.exports={};drawing.font=function(s,family,size,color){if(Lib.isPlainObject(family)){color=family.color;size=family.size;family=family.family}if(family)s.style("font-family",family);if(size+1)s.style("font-size",size+"px");if(color)s.call(Color.fill,color)};drawing.setPosition=function(s,x,y){s.attr("x",x).attr("y",y)};drawing.setSize=function(s,w,h){s.attr("width",w).attr("height",h)};drawing.setRect=function(s,x,y,w,h){s.call(drawing.setPosition,x,y).call(drawing.setSize,w,h)};drawing.translatePoint=function(d,sel,xa,ya){var x=xa.c2p(d.x);var y=ya.c2p(d.y);if(isNumeric(x)&&isNumeric(y)&&sel.node()){if(sel.node().nodeName==="text"){sel.attr("x",x).attr("y",y)}else{sel.attr("transform",strTranslate(x,y))}}else{return false}return true};drawing.translatePoints=function(s,xa,ya){s.each((function(d){var sel=d3.select(this);drawing.translatePoint(d,sel,xa,ya)}))};drawing.hideOutsideRangePoint=function(d,sel,xa,ya,xcalendar,ycalendar){sel.attr("display",xa.isPtWithinRange(d,xcalendar)&&ya.isPtWithinRange(d,ycalendar)?null:"none")};drawing.hideOutsideRangePoints=function(traceGroups,subplot){if(!subplot._hasClipOnAxisFalse)return;var xa=subplot.xaxis;var ya=subplot.yaxis;traceGroups.each((function(d){var trace=d[0].trace;var xcalendar=trace.xcalendar;var ycalendar=trace.ycalendar;var selector=Registry.traceIs(trace,"bar-like")?".bartext":".point,.textpoint";traceGroups.selectAll(selector).each((function(d){drawing.hideOutsideRangePoint(d,d3.select(this),xa,ya,xcalendar,ycalendar)}))}))};drawing.crispRound=function(gd,lineWidth,dflt){if(!lineWidth||!isNumeric(lineWidth))return dflt||0;if(gd._context.staticPlot)return lineWidth;if(lineWidth<1)return 1;return Math.round(lineWidth)};drawing.singleLineStyle=function(d,s,lw,lc,ld){s.style("fill","none");var line=(((d||[])[0]||{}).trace||{}).line||{};var lw1=lw||line.width||0;var dash=ld||line.dash||"";Color.stroke(s,lc||line.color);drawing.dashLine(s,dash,lw1)};drawing.lineGroupStyle=function(s,lw,lc,ld){s.style("fill","none").each((function(d){var line=(((d||[])[0]||{}).trace||{}).line||{};var lw1=lw||line.width||0;var dash=ld||line.dash||"";d3.select(this).call(Color.stroke,lc||line.color).call(drawing.dashLine,dash,lw1)}))};drawing.dashLine=function(s,dash,lineWidth){lineWidth=+lineWidth||0;dash=drawing.dashStyle(dash,lineWidth);s.style({"stroke-dasharray":dash,"stroke-width":lineWidth+"px"})};drawing.dashStyle=function(dash,lineWidth){lineWidth=+lineWidth||1;var dlw=Math.max(lineWidth,3);if(dash==="solid")dash="";else if(dash==="dot")dash=dlw+"px,"+dlw+"px";else if(dash==="dash")dash=3*dlw+"px,"+3*dlw+"px";else if(dash==="longdash")dash=5*dlw+"px,"+5*dlw+"px";else if(dash==="dashdot"){dash=3*dlw+"px,"+dlw+"px,"+dlw+"px,"+dlw+"px"}else if(dash==="longdashdot"){dash=5*dlw+"px,"+2*dlw+"px,"+dlw+"px,"+2*dlw+"px"}return dash};drawing.singleFillStyle=function(sel){var node=d3.select(sel.node());var data=node.data();var fillcolor=(((data[0]||[])[0]||{}).trace||{}).fillcolor;if(fillcolor){sel.call(Color.fill,fillcolor)}};drawing.fillGroupStyle=function(s){s.style("stroke-width",0).each((function(d){var shape=d3.select(this);if(d[0].trace){shape.call(Color.fill,d[0].trace.fillcolor)}}))};var SYMBOLDEFS=_dereq_("./symbol_defs");drawing.symbolNames=[];drawing.symbolFuncs=[];drawing.symbolNeedLines={};drawing.symbolNoDot={};drawing.symbolNoFill={};drawing.symbolList=[];Object.keys(SYMBOLDEFS).forEach((function(k){var symDef=SYMBOLDEFS[k];var n=symDef.n;drawing.symbolList.push(n,String(n),k,n+100,String(n+100),k+"-open");drawing.symbolNames[n]=k;drawing.symbolFuncs[n]=symDef.f;if(symDef.needLine){drawing.symbolNeedLines[n]=true}if(symDef.noDot){drawing.symbolNoDot[n]=true}else{drawing.symbolList.push(n+200,String(n+200),k+"-dot",n+300,String(n+300),k+"-open-dot")}if(symDef.noFill){drawing.symbolNoFill[n]=true}}));var MAXSYMBOL=drawing.symbolNames.length;var DOTPATH="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";drawing.symbolNumber=function(v){if(isNumeric(v)){v=+v}else if(typeof v==="string"){var vbase=0;if(v.indexOf("-open")>0){vbase=100;v=v.replace("-open","")}if(v.indexOf("-dot")>0){vbase+=200;v=v.replace("-dot","")}v=drawing.symbolNames.indexOf(v);if(v>=0){v+=vbase}}return v%100>=MAXSYMBOL||v>=400?0:Math.floor(Math.max(v,0))};function makePointPath(symbolNumber,r){var base=symbolNumber%100;return drawing.symbolFuncs[base](r)+(symbolNumber>=200?DOTPATH:"")}var HORZGRADIENT={x1:1,x2:0,y1:0,y2:0};var VERTGRADIENT={x1:0,x2:0,y1:1,y2:0};var stopFormatter=numberFormat("~f");var gradientInfo={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:true},horizontal:{node:"linearGradient",attrs:HORZGRADIENT},horizontalreversed:{node:"linearGradient",attrs:HORZGRADIENT,reversed:true},vertical:{node:"linearGradient",attrs:VERTGRADIENT},verticalreversed:{node:"linearGradient",attrs:VERTGRADIENT,reversed:true}};drawing.gradient=function(sel,gd,gradientID,type,colorscale,prop){var len=colorscale.length;var info=gradientInfo[type];var colorStops=new Array(len);for(var i=0;i<len;i++){if(info.reversed){colorStops[len-1-i]=[stopFormatter((1-colorscale[i][0])*100),colorscale[i][1]]}else{colorStops[i]=[stopFormatter(colorscale[i][0]*100),colorscale[i][1]]}}var fullLayout=gd._fullLayout;var fullID="g"+fullLayout._uid+"-"+gradientID;var gradient=fullLayout._defs.select(".gradients").selectAll("#"+fullID).data([type+colorStops.join(";")],Lib.identity);gradient.exit().remove();gradient.enter().append(info.node).each((function(){var el=d3.select(this);if(info.attrs)el.attr(info.attrs);el.attr("id",fullID);var stops=el.selectAll("stop").data(colorStops);stops.exit().remove();stops.enter().append("stop");stops.each((function(d){var tc=tinycolor(d[1]);d3.select(this).attr({offset:d[0]+"%","stop-color":Color.tinyRGB(tc),"stop-opacity":tc.getAlpha()})}))}));sel.style(prop,getFullUrl(fullID,gd)).style(prop+"-opacity",null);var className2query=function(s){return"."+s.attr("class").replace(/\s/g,".")};var k=className2query(d3.select(sel.node().parentNode))+">"+className2query(sel);fullLayout._gradientUrlQueryParts[k]=1};drawing.pattern=function(sel,calledBy,gd,patternID,shape,size,solidity,mcc,fillmode,bgcolor,fgcolor,fgopacity){var isLegend=calledBy==="legend";if(mcc){if(fillmode==="overlay"){bgcolor=mcc;fgcolor=Color.contrast(bgcolor)}else{bgcolor=undefined;fgcolor=mcc}}var fullLayout=gd._fullLayout;var fullID="p"+fullLayout._uid+"-"+patternID;var width,height;var linearFn=function(x,x0,x1,y0,y1){return y0+(y1-y0)*(x-x0)/(x1-x0)};var path,linewidth,radius;var patternTag;var patternAttrs={};switch(shape){case"/":width=size*Math.sqrt(2);height=size*Math.sqrt(2);path="M-"+width/4+","+height/4+"l"+width/2+",-"+height/2+"M0,"+height+"L"+width+",0"+"M"+width/4*3+","+height/4*5+"l"+width/2+",-"+height/2;linewidth=solidity*size;patternTag="path";patternAttrs={d:path,opacity:fgopacity,stroke:fgcolor,"stroke-width":linewidth+"px"};break;case"\\":width=size*Math.sqrt(2);height=size*Math.sqrt(2);path="M"+width/4*3+",-"+height/4+"l"+width/2+","+height/2+"M0,0L"+width+","+height+"M-"+width/4+","+height/4*3+"l"+width/2+","+height/2;linewidth=solidity*size;patternTag="path";patternAttrs={d:path,opacity:fgopacity,stroke:fgcolor,"stroke-width":linewidth+"px"};break;case"x":width=size*Math.sqrt(2);height=size*Math.sqrt(2);path="M-"+width/4+","+height/4+"l"+width/2+",-"+height/2+"M0,"+height+"L"+width+",0"+"M"+width/4*3+","+height/4*5+"l"+width/2+",-"+height/2+"M"+width/4*3+",-"+height/4+"l"+width/2+","+height/2+"M0,0L"+width+","+height+"M-"+width/4+","+height/4*3+"l"+width/2+","+height/2;linewidth=size-size*Math.sqrt(1-solidity);patternTag="path";patternAttrs={d:path,opacity:fgopacity,stroke:fgcolor,"stroke-width":linewidth+"px"};break;case"|":width=size;height=size;patternTag="path";path="M"+width/2+",0L"+width/2+","+height;linewidth=solidity*size;patternTag="path";patternAttrs={d:path,opacity:fgopacity,stroke:fgcolor,"stroke-width":linewidth+"px"};break;case"-":width=size;height=size;patternTag="path";path="M0,"+height/2+"L"+width+","+height/2;linewidth=solidity*size;patternTag="path";patternAttrs={d:path,opacity:fgopacity,stroke:fgcolor,"stroke-width":linewidth+"px"};break;case"+":width=size;height=size;patternTag="path";path="M"+width/2+",0L"+width/2+","+height+"M0,"+height/2+"L"+width+","+height/2;linewidth=size-size*Math.sqrt(1-solidity);patternTag="path";patternAttrs={d:path,opacity:fgopacity,stroke:fgcolor,"stroke-width":linewidth+"px"};break;case".":width=size;height=size;if(solidity<Math.PI/4){radius=Math.sqrt(solidity*size*size/Math.PI)}else{radius=linearFn(solidity,Math.PI/4,1,size/2,size/Math.sqrt(2))}patternTag="circle";patternAttrs={cx:width/2,cy:height/2,r:radius,opacity:fgopacity,fill:fgcolor};break}var str=[shape||"noSh",bgcolor||"noBg",fgcolor||"noFg",size,solidity].join(";");var pattern=fullLayout._defs.select(".patterns").selectAll("#"+fullID).data([str],Lib.identity);pattern.exit().remove();pattern.enter().append("pattern").each((function(){var el=d3.select(this);el.attr({id:fullID,width:width+"px",height:height+"px",patternUnits:"userSpaceOnUse",patternTransform:isLegend?"scale(0.8)":""});if(bgcolor){var rects=el.selectAll("rect").data([0]);rects.exit().remove();rects.enter().append("rect").attr({width:width+"px",height:height+"px",fill:bgcolor})}var patterns=el.selectAll(patternTag).data([0]);patterns.exit().remove();patterns.enter().append(patternTag).attr(patternAttrs)}));sel.style("fill",getFullUrl(fullID,gd)).style("fill-opacity",null);sel.classed("pattern_filled",true);var className2query=function(s){return"."+s.attr("class").replace(/\s/g,".")};var k=className2query(d3.select(sel.node().parentNode))+">.pattern_filled";fullLayout._patternUrlQueryParts[k]=1};drawing.initGradients=function(gd){var fullLayout=gd._fullLayout;var gradientsGroup=Lib.ensureSingle(fullLayout._defs,"g","gradients");gradientsGroup.selectAll("linearGradient,radialGradient").remove();fullLayout._gradientUrlQueryParts={}};drawing.initPatterns=function(gd){var fullLayout=gd._fullLayout;var patternsGroup=Lib.ensureSingle(fullLayout._defs,"g","patterns");patternsGroup.selectAll("pattern").remove();fullLayout._patternUrlQueryParts={}};drawing.getPatternAttr=function(mp,i,dflt){if(mp&&Lib.isArrayOrTypedArray(mp)){return i<mp.length?mp[i]:dflt}return mp};drawing.pointStyle=function(s,trace,gd){if(!s.size())return;var fns=drawing.makePointStyleFns(trace);s.each((function(d){drawing.singlePointStyle(d,d3.select(this),trace,fns,gd)}))};drawing.singlePointStyle=function(d,sel,trace,fns,gd){var marker=trace.marker;var markerLine=marker.line;sel.style("opacity",fns.selectedOpacityFn?fns.selectedOpacityFn(d):d.mo===undefined?marker.opacity:d.mo);if(fns.ms2mrc){var r;if(d.ms==="various"||marker.size==="various"){r=3}else{r=fns.ms2mrc(d.ms)}d.mrc=r;if(fns.selectedSizeFn){r=d.mrc=fns.selectedSizeFn(d)}var x=drawing.symbolNumber(d.mx||marker.symbol)||0;d.om=x%200>=100;sel.attr("d",makePointPath(x,r))}var perPointGradient=false;var fillColor,lineColor,lineWidth;if(d.so){lineWidth=markerLine.outlierwidth;lineColor=markerLine.outliercolor;fillColor=marker.outliercolor}else{var markerLineWidth=(markerLine||{}).width;lineWidth=(d.mlw+1||markerLineWidth+1||(d.trace?(d.trace.marker.line||{}).width:0)+1)-1||0;if("mlc"in d)lineColor=d.mlcc=fns.lineScale(d.mlc);else if(Lib.isArrayOrTypedArray(markerLine.color))lineColor=Color.defaultLine;else lineColor=markerLine.color;if(Lib.isArrayOrTypedArray(marker.color)){fillColor=Color.defaultLine;perPointGradient=true}if("mc"in d){fillColor=d.mcc=fns.markerScale(d.mc)}else{fillColor=marker.color||"rgba(0,0,0,0)"}if(fns.selectedColorFn){fillColor=fns.selectedColorFn(d)}}if(d.om){sel.call(Color.stroke,fillColor).style({"stroke-width":(lineWidth||1)+"px",fill:"none"})}else{sel.style("stroke-width",(d.isBlank?0:lineWidth)+"px");var markerGradient=marker.gradient;var gradientType=d.mgt;if(gradientType)perPointGradient=true;else gradientType=markerGradient&&markerGradient.type;if(Lib.isArrayOrTypedArray(gradientType)){gradientType=gradientType[0];if(!gradientInfo[gradientType])gradientType=0}var markerPattern=marker.pattern;var patternShape=markerPattern&&drawing.getPatternAttr(markerPattern.shape,d.i,"");if(gradientType&&gradientType!=="none"){var gradientColor=d.mgc;if(gradientColor)perPointGradient=true;else gradientColor=markerGradient.color;var gradientID=trace.uid;if(perPointGradient)gradientID+="-"+d.i;drawing.gradient(sel,gd,gradientID,gradientType,[[0,gradientColor],[1,fillColor]],"fill")}else if(patternShape){var patternBGColor=drawing.getPatternAttr(markerPattern.bgcolor,d.i,null);var patternFGColor=drawing.getPatternAttr(markerPattern.fgcolor,d.i,null);var patternFGOpacity=markerPattern.fgopacity;var patternSize=drawing.getPatternAttr(markerPattern.size,d.i,8);var patternSolidity=drawing.getPatternAttr(markerPattern.solidity,d.i,.3);var perPointPattern=d.mcc||Lib.isArrayOrTypedArray(markerPattern.shape)||Lib.isArrayOrTypedArray(markerPattern.bgcolor)||Lib.isArrayOrTypedArray(markerPattern.size)||Lib.isArrayOrTypedArray(markerPattern.solidity);var patternID=trace.uid;if(perPointPattern)patternID+="-"+d.i;drawing.pattern(sel,"point",gd,patternID,patternShape,patternSize,patternSolidity,d.mcc,markerPattern.fillmode,patternBGColor,patternFGColor,patternFGOpacity)}else{Color.fill(sel,fillColor)}if(lineWidth){Color.stroke(sel,lineColor)}}};drawing.makePointStyleFns=function(trace){var out={};var marker=trace.marker;out.markerScale=drawing.tryColorscale(marker,"");out.lineScale=drawing.tryColorscale(marker,"line");if(Registry.traceIs(trace,"symbols")){out.ms2mrc=subTypes.isBubble(trace)?makeBubbleSizeFn(trace):function(){return(marker.size||6)/2}}if(trace.selectedpoints){Lib.extendFlat(out,drawing.makeSelectedPointStyleFns(trace))}return out};drawing.makeSelectedPointStyleFns=function(trace){var out={};var selectedAttrs=trace.selected||{};var unselectedAttrs=trace.unselected||{};var marker=trace.marker||{};var selectedMarker=selectedAttrs.marker||{};var unselectedMarker=unselectedAttrs.marker||{};var mo=marker.opacity;var smo=selectedMarker.opacity;var usmo=unselectedMarker.opacity;var smoIsDefined=smo!==undefined;var usmoIsDefined=usmo!==undefined;if(Lib.isArrayOrTypedArray(mo)||smoIsDefined||usmoIsDefined){out.selectedOpacityFn=function(d){var base=d.mo===undefined?marker.opacity:d.mo;if(d.selected){return smoIsDefined?smo:base}else{return usmoIsDefined?usmo:DESELECTDIM*base}}}var mc=marker.color;var smc=selectedMarker.color;var usmc=unselectedMarker.color;if(smc||usmc){out.selectedColorFn=function(d){var base=d.mcc||mc;if(d.selected){return smc||base}else{return usmc||base}}}var ms=marker.size;var sms=selectedMarker.size;var usms=unselectedMarker.size;var smsIsDefined=sms!==undefined;var usmsIsDefined=usms!==undefined;if(Registry.traceIs(trace,"symbols")&&(smsIsDefined||usmsIsDefined)){out.selectedSizeFn=function(d){var base=d.mrc||ms/2;if(d.selected){return smsIsDefined?sms/2:base}else{return usmsIsDefined?usms/2:base}}}return out};drawing.makeSelectedTextStyleFns=function(trace){var out={};var selectedAttrs=trace.selected||{};var unselectedAttrs=trace.unselected||{};var textFont=trace.textfont||{};var selectedTextFont=selectedAttrs.textfont||{};var unselectedTextFont=unselectedAttrs.textfont||{};var tc=textFont.color;var stc=selectedTextFont.color;var utc=unselectedTextFont.color;out.selectedTextColorFn=function(d){var base=d.tc||tc;if(d.selected){return stc||base}else{if(utc)return utc;else return stc?base:Color.addOpacity(base,DESELECTDIM)}};return out};drawing.selectedPointStyle=function(s,trace){if(!s.size()||!trace.selectedpoints)return;var fns=drawing.makeSelectedPointStyleFns(trace);var marker=trace.marker||{};var seq=[];if(fns.selectedOpacityFn){seq.push((function(pt,d){pt.style("opacity",fns.selectedOpacityFn(d))}))}if(fns.selectedColorFn){seq.push((function(pt,d){Color.fill(pt,fns.selectedColorFn(d))}))}if(fns.selectedSizeFn){seq.push((function(pt,d){var mx=d.mx||marker.symbol||0;var mrc2=fns.selectedSizeFn(d);pt.attr("d",makePointPath(drawing.symbolNumber(mx),mrc2));d.mrc2=mrc2}))}if(seq.length){s.each((function(d){var pt=d3.select(this);for(var i=0;i<seq.length;i++){seq[i](pt,d)}}))}};drawing.tryColorscale=function(marker,prefix){var cont=prefix?Lib.nestedProperty(marker,prefix).get():marker;if(cont){var colorArray=cont.color;if((cont.colorscale||cont._colorAx)&&Lib.isArrayOrTypedArray(colorArray)){return Colorscale.makeColorScaleFuncFromTrace(cont)}}return Lib.identity};var TEXTOFFSETSIGN={start:1,end:-1,middle:0,bottom:1,top:-1};function textPointPosition(s,textPosition,fontSize,markerRadius){var group=d3.select(s.node().parentNode);var v=textPosition.indexOf("top")!==-1?"top":textPosition.indexOf("bottom")!==-1?"bottom":"middle";var h=textPosition.indexOf("left")!==-1?"end":textPosition.indexOf("right")!==-1?"start":"middle";var r=markerRadius?markerRadius/.8+1:0;var numLines=(svgTextUtils.lineCount(s)-1)*LINE_SPACING+1;var dx=TEXTOFFSETSIGN[h]*r;var dy=fontSize*.75+TEXTOFFSETSIGN[v]*r+(TEXTOFFSETSIGN[v]-1)*numLines*fontSize/2;s.attr("text-anchor",h);group.attr("transform",strTranslate(dx,dy))}function extracTextFontSize(d,trace){var fontSize=d.ts||trace.textfont.size;return isNumeric(fontSize)&&fontSize>0?fontSize:0}drawing.textPointStyle=function(s,trace,gd){if(!s.size())return;var selectedTextColorFn;if(trace.selectedpoints){var fns=drawing.makeSelectedTextStyleFns(trace);selectedTextColorFn=fns.selectedTextColorFn}var texttemplate=trace.texttemplate;var fullLayout=gd._fullLayout;s.each((function(d){var p=d3.select(this);var text=texttemplate?Lib.extractOption(d,trace,"txt","texttemplate"):Lib.extractOption(d,trace,"tx","text");if(!text&&text!==0){p.remove();return}if(texttemplate){var fn=trace._module.formatLabels;var labels=fn?fn(d,trace,fullLayout):{};var pointValues={};appendArrayPointValue(pointValues,trace,d.i);var meta=trace._meta||{};text=Lib.texttemplateString(text,labels,fullLayout._d3locale,pointValues,d,meta)}var pos=d.tp||trace.textposition;var fontSize=extracTextFontSize(d,trace);var fontColor=selectedTextColorFn?selectedTextColorFn(d):d.tc||trace.textfont.color;p.call(drawing.font,d.tf||trace.textfont.family,fontSize,fontColor).text(text).call(svgTextUtils.convertToTspans,gd).call(textPointPosition,pos,fontSize,d.mrc)}))};drawing.selectedTextStyle=function(s,trace){if(!s.size()||!trace.selectedpoints)return;var fns=drawing.makeSelectedTextStyleFns(trace);s.each((function(d){var tx=d3.select(this);var tc=fns.selectedTextColorFn(d);var tp=d.tp||trace.textposition;var fontSize=extracTextFontSize(d,trace);Color.fill(tx,tc);textPointPosition(tx,tp,fontSize,d.mrc2||d.mrc)}))};var CatmullRomExp=.5;drawing.smoothopen=function(pts,smoothness){if(pts.length<3){return"M"+pts.join("L")}var path="M"+pts[0];var tangents=[];var i;for(i=1;i<pts.length-1;i++){tangents.push(makeTangent(pts[i-1],pts[i],pts[i+1],smoothness))}path+="Q"+tangents[0][0]+" "+pts[1];for(i=2;i<pts.length-1;i++){path+="C"+tangents[i-2][1]+" "+tangents[i-1][0]+" "+pts[i]}path+="Q"+tangents[pts.length-3][1]+" "+pts[pts.length-1];return path};drawing.smoothclosed=function(pts,smoothness){if(pts.length<3){return"M"+pts.join("L")+"Z"}var path="M"+pts[0];var pLast=pts.length-1;var tangents=[makeTangent(pts[pLast],pts[0],pts[1],smoothness)];var i;for(i=1;i<pLast;i++){tangents.push(makeTangent(pts[i-1],pts[i],pts[i+1],smoothness))}tangents.push(makeTangent(pts[pLast-1],pts[pLast],pts[0],smoothness));for(i=1;i<=pLast;i++){path+="C"+tangents[i-1][1]+" "+tangents[i][0]+" "+pts[i]}path+="C"+tangents[pLast][1]+" "+tangents[0][0]+" "+pts[0]+"Z";return path};function makeTangent(prevpt,thispt,nextpt,smoothness){var d1x=prevpt[0]-thispt[0];var d1y=prevpt[1]-thispt[1];var d2x=nextpt[0]-thispt[0];var d2y=nextpt[1]-thispt[1];var d1a=Math.pow(d1x*d1x+d1y*d1y,CatmullRomExp/2);var d2a=Math.pow(d2x*d2x+d2y*d2y,CatmullRomExp/2);var numx=(d2a*d2a*d1x-d1a*d1a*d2x)*smoothness;var numy=(d2a*d2a*d1y-d1a*d1a*d2y)*smoothness;var denom1=3*d2a*(d1a+d2a);var denom2=3*d1a*(d1a+d2a);return[[d3.round(thispt[0]+(denom1&&numx/denom1),2),d3.round(thispt[1]+(denom1&&numy/denom1),2)],[d3.round(thispt[0]-(denom2&&numx/denom2),2),d3.round(thispt[1]-(denom2&&numy/denom2),2)]]}var STEPPATH={hv:function(p0,p1){return"H"+d3.round(p1[0],2)+"V"+d3.round(p1[1],2)},vh:function(p0,p1){return"V"+d3.round(p1[1],2)+"H"+d3.round(p1[0],2)},hvh:function(p0,p1){return"H"+d3.round((p0[0]+p1[0])/2,2)+"V"+d3.round(p1[1],2)+"H"+d3.round(p1[0],2)},vhv:function(p0,p1){return"V"+d3.round((p0[1]+p1[1])/2,2)+"H"+d3.round(p1[0],2)+"V"+d3.round(p1[1],2)}};var STEPLINEAR=function(p0,p1){return"L"+d3.round(p1[0],2)+","+d3.round(p1[1],2)};drawing.steps=function(shape){var onestep=STEPPATH[shape]||STEPLINEAR;return function(pts){var path="M"+d3.round(pts[0][0],2)+","+d3.round(pts[0][1],2);for(var i=1;i<pts.length;i++){path+=onestep(pts[i-1],pts[i])}return path}};drawing.makeTester=function(){var tester=Lib.ensureSingleById(d3.select("body"),"svg","js-plotly-tester",(function(s){s.attr(xmlnsNamespaces.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}));var testref=Lib.ensureSingle(tester,"path","js-reference-point",(function(s){s.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})}));drawing.tester=tester;drawing.testref=testref};drawing.savedBBoxes={};var savedBBoxesCount=0;var maxSavedBBoxes=1e4;drawing.bBox=function(node,inTester,hash){if(!hash)hash=nodeHash(node);var out;if(hash){out=drawing.savedBBoxes[hash];if(out)return Lib.extendFlat({},out)}else if(node.childNodes.length===1){var innerNode=node.childNodes[0];hash=nodeHash(innerNode);if(hash){var x=+innerNode.getAttribute("x")||0;var y=+innerNode.getAttribute("y")||0;var transform=innerNode.getAttribute("transform");if(!transform){var innerBB=drawing.bBox(innerNode,false,hash);if(x){innerBB.left+=x;innerBB.right+=x}if(y){innerBB.top+=y;innerBB.bottom+=y}return innerBB}hash+="~"+x+"~"+y+"~"+transform;out=drawing.savedBBoxes[hash];if(out)return Lib.extendFlat({},out)}}var testNode,tester;if(inTester){testNode=node}else{tester=drawing.tester.node();testNode=node.cloneNode(true);tester.appendChild(testNode)}d3.select(testNode).attr("transform",null).call(svgTextUtils.positionText,0,0);var testRect=testNode.getBoundingClientRect();var refRect=drawing.testref.node().getBoundingClientRect();if(!inTester)tester.removeChild(testNode);var bb={height:testRect.height,width:testRect.width,left:testRect.left-refRect.left,top:testRect.top-refRect.top,right:testRect.right-refRect.left,bottom:testRect.bottom-refRect.top};if(savedBBoxesCount>=maxSavedBBoxes){drawing.savedBBoxes={};savedBBoxesCount=0}if(hash)drawing.savedBBoxes[hash]=bb;savedBBoxesCount++;return Lib.extendFlat({},bb)};function nodeHash(node){var inputText=node.getAttribute("data-unformatted");if(inputText===null)return;return inputText+node.getAttribute("data-math")+node.getAttribute("text-anchor")+node.getAttribute("style")}drawing.setClipUrl=function(s,localId,gd){s.attr("clip-path",getFullUrl(localId,gd))};function getFullUrl(localId,gd){if(!localId)return null;var context=gd._context;var baseUrl=context._exportedPlot?"":context._baseUrl||"";return baseUrl?"url('"+baseUrl+"#"+localId+"')":"url(#"+localId+")"}drawing.getTranslate=function(element){var re=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/;var getter=element.attr?"attr":"getAttribute";var transform=element[getter]("transform")||"";var translate=transform.replace(re,(function(match,p1,p2){return[p1,p2].join(" ")})).split(" ");return{x:+translate[0]||0,y:+translate[1]||0}};drawing.setTranslate=function(element,x,y){var re=/(\btranslate\(.*?\);?)/;var getter=element.attr?"attr":"getAttribute";var setter=element.attr?"attr":"setAttribute";var transform=element[getter]("transform")||"";x=x||0;y=y||0;transform=transform.replace(re,"").trim();transform+=strTranslate(x,y);transform=transform.trim();element[setter]("transform",transform);return transform};drawing.getScale=function(element){var re=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/;var getter=element.attr?"attr":"getAttribute";var transform=element[getter]("transform")||"";var translate=transform.replace(re,(function(match,p1,p2){return[p1,p2].join(" ")})).split(" ");return{x:+translate[0]||1,y:+translate[1]||1}};drawing.setScale=function(element,x,y){var re=/(\bscale\(.*?\);?)/;var getter=element.attr?"attr":"getAttribute";var setter=element.attr?"attr":"setAttribute";var transform=element[getter]("transform")||"";x=x||1;y=y||1;transform=transform.replace(re,"").trim();transform+="scale("+x+","+y+")";transform=transform.trim();element[setter]("transform",transform);return transform};var SCALE_RE=/\s*sc.*/;drawing.setPointGroupScale=function(selection,xScale,yScale){xScale=xScale||1;yScale=yScale||1;if(!selection)return;var scale=xScale===1&&yScale===1?"":"scale("+xScale+","+yScale+")";selection.each((function(){var t=(this.getAttribute("transform")||"").replace(SCALE_RE,"");t+=scale;t=t.trim();this.setAttribute("transform",t)}))};var TEXT_POINT_LAST_TRANSLATION_RE=/translate\([^)]*\)\s*$/;drawing.setTextPointsScale=function(selection,xScale,yScale){if(!selection)return;selection.each((function(){var transforms;var el=d3.select(this);var text=el.select("text");if(!text.node())return;var x=parseFloat(text.attr("x")||0);var y=parseFloat(text.attr("y")||0);var existingTransform=(el.attr("transform")||"").match(TEXT_POINT_LAST_TRANSLATION_RE);if(xScale===1&&yScale===1){transforms=[]}else{transforms=[strTranslate(x,y),"scale("+xScale+","+yScale+")",strTranslate(-x,-y)]}if(existingTransform){transforms.push(existingTransform)}el.attr("transform",transforms.join(""))}))}},{"../../components/fx/helpers":702,"../../constants/alignment":771,"../../constants/interactions":778,"../../constants/xmlns_namespaces":780,"../../lib":803,"../../lib/svg_text_utils":829,"../../registry":931,"../../traces/scatter/make_bubble_size_func":1235,"../../traces/scatter/subtypes":1243,"../color":666,"../colorscale":678,"./symbol_defs":689,"@plotly/d3":58,"fast-isnumeric":249,tinycolor2:598}],689:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");module.exports={circle:{n:0,f:function(r){var rs=d3.round(r,2);return"M"+rs+",0A"+rs+","+rs+" 0 1,1 0,-"+rs+"A"+rs+","+rs+" 0 0,1 "+rs+",0Z"}},square:{n:1,f:function(r){var rs=d3.round(r,2);return"M"+rs+","+rs+"H-"+rs+"V-"+rs+"H"+rs+"Z"}},diamond:{n:2,f:function(r){var rd=d3.round(r*1.3,2);return"M"+rd+",0L0,"+rd+"L-"+rd+",0L0,-"+rd+"Z"}},cross:{n:3,f:function(r){var rc=d3.round(r*.4,2);var rc2=d3.round(r*1.2,2);return"M"+rc2+","+rc+"H"+rc+"V"+rc2+"H-"+rc+"V"+rc+"H-"+rc2+"V-"+rc+"H-"+rc+"V-"+rc2+"H"+rc+"V-"+rc+"H"+rc2+"Z"}},x:{n:4,f:function(r){var rx=d3.round(r*.8/Math.sqrt(2),2);var ne="l"+rx+","+rx;var se="l"+rx+",-"+rx;var sw="l-"+rx+",-"+rx;var nw="l-"+rx+","+rx;return"M0,"+rx+ne+se+sw+se+sw+nw+sw+nw+ne+nw+ne+"Z"}},"triangle-up":{n:5,f:function(r){var rt=d3.round(r*2/Math.sqrt(3),2);var r2=d3.round(r/2,2);var rs=d3.round(r,2);return"M-"+rt+","+r2+"H"+rt+"L0,-"+rs+"Z"}},"triangle-down":{n:6,f:function(r){var rt=d3.round(r*2/Math.sqrt(3),2);var r2=d3.round(r/2,2);var rs=d3.round(r,2);return"M-"+rt+",-"+r2+"H"+rt+"L0,"+rs+"Z"}},"triangle-left":{n:7,f:function(r){var rt=d3.round(r*2/Math.sqrt(3),2);var r2=d3.round(r/2,2);var rs=d3.round(r,2);return"M"+r2+",-"+rt+"V"+rt+"L-"+rs+",0Z"}},"triangle-right":{n:8,f:function(r){var rt=d3.round(r*2/Math.sqrt(3),2);var r2=d3.round(r/2,2);var rs=d3.round(r,2);return"M-"+r2+",-"+rt+"V"+rt+"L"+rs+",0Z"}},"triangle-ne":{n:9,f:function(r){var r1=d3.round(r*.6,2);var r2=d3.round(r*1.2,2);return"M-"+r2+",-"+r1+"H"+r1+"V"+r2+"Z"}},"triangle-se":{n:10,f:function(r){var r1=d3.round(r*.6,2);var r2=d3.round(r*1.2,2);return"M"+r1+",-"+r2+"V"+r1+"H-"+r2+"Z"}},"triangle-sw":{n:11,f:function(r){var r1=d3.round(r*.6,2);var r2=d3.round(r*1.2,2);return"M"+r2+","+r1+"H-"+r1+"V-"+r2+"Z"}},"triangle-nw":{n:12,f:function(r){var r1=d3.round(r*.6,2);var r2=d3.round(r*1.2,2);return"M-"+r1+","+r2+"V-"+r1+"H"+r2+"Z"}},pentagon:{n:13,f:function(r){var x1=d3.round(r*.951,2);var x2=d3.round(r*.588,2);var y0=d3.round(-r,2);var y1=d3.round(r*-.309,2);var y2=d3.round(r*.809,2);return"M"+x1+","+y1+"L"+x2+","+y2+"H-"+x2+"L-"+x1+","+y1+"L0,"+y0+"Z"}},hexagon:{n:14,f:function(r){var y0=d3.round(r,2);var y1=d3.round(r/2,2);var x=d3.round(r*Math.sqrt(3)/2,2);return"M"+x+",-"+y1+"V"+y1+"L0,"+y0+"L-"+x+","+y1+"V-"+y1+"L0,-"+y0+"Z"}},hexagon2:{n:15,f:function(r){var x0=d3.round(r,2);var x1=d3.round(r/2,2);var y=d3.round(r*Math.sqrt(3)/2,2);return"M-"+x1+","+y+"H"+x1+"L"+x0+",0L"+x1+",-"+y+"H-"+x1+"L-"+x0+",0Z"}},octagon:{n:16,f:function(r){var a=d3.round(r*.924,2);var b=d3.round(r*.383,2);return"M-"+b+",-"+a+"H"+b+"L"+a+",-"+b+"V"+b+"L"+b+","+a+"H-"+b+"L-"+a+","+b+"V-"+b+"Z"}},star:{n:17,f:function(r){var rs=r*1.4;var x1=d3.round(rs*.225,2);var x2=d3.round(rs*.951,2);var x3=d3.round(rs*.363,2);var x4=d3.round(rs*.588,2);var y0=d3.round(-rs,2);var y1=d3.round(rs*-.309,2);var y3=d3.round(rs*.118,2);var y4=d3.round(rs*.809,2);var y5=d3.round(rs*.382,2);return"M"+x1+","+y1+"H"+x2+"L"+x3+","+y3+"L"+x4+","+y4+"L0,"+y5+"L-"+x4+","+y4+"L-"+x3+","+y3+"L-"+x2+","+y1+"H-"+x1+"L0,"+y0+"Z"}},hexagram:{n:18,f:function(r){var y=d3.round(r*.66,2);var x1=d3.round(r*.38,2);var x2=d3.round(r*.76,2);return"M-"+x2+",0l-"+x1+",-"+y+"h"+x2+"l"+x1+",-"+y+"l"+x1+","+y+"h"+x2+"l-"+x1+","+y+"l"+x1+","+y+"h-"+x2+"l-"+x1+","+y+"l-"+x1+",-"+y+"h-"+x2+"Z"}},"star-triangle-up":{n:19,f:function(r){var x=d3.round(r*Math.sqrt(3)*.8,2);var y1=d3.round(r*.8,2);var y2=d3.round(r*1.6,2);var rc=d3.round(r*4,2);var aPart="A "+rc+","+rc+" 0 0 1 ";return"M-"+x+","+y1+aPart+x+","+y1+aPart+"0,-"+y2+aPart+"-"+x+","+y1+"Z"}},"star-triangle-down":{n:20,f:function(r){var x=d3.round(r*Math.sqrt(3)*.8,2);var y1=d3.round(r*.8,2);var y2=d3.round(r*1.6,2);var rc=d3.round(r*4,2);var aPart="A "+rc+","+rc+" 0 0 1 ";return"M"+x+",-"+y1+aPart+"-"+x+",-"+y1+aPart+"0,"+y2+aPart+x+",-"+y1+"Z"}},"star-square":{n:21,f:function(r){var rp=d3.round(r*1.1,2);var rc=d3.round(r*2,2);var aPart="A "+rc+","+rc+" 0 0 1 ";return"M-"+rp+",-"+rp+aPart+"-"+rp+","+rp+aPart+rp+","+rp+aPart+rp+",-"+rp+aPart+"-"+rp+",-"+rp+"Z"}},"star-diamond":{n:22,f:function(r){var rp=d3.round(r*1.4,2);var rc=d3.round(r*1.9,2);var aPart="A "+rc+","+rc+" 0 0 1 ";return"M-"+rp+",0"+aPart+"0,"+rp+aPart+rp+",0"+aPart+"0,-"+rp+aPart+"-"+rp+",0"+"Z"}},"diamond-tall":{n:23,f:function(r){var x=d3.round(r*.7,2);var y=d3.round(r*1.4,2);return"M0,"+y+"L"+x+",0L0,-"+y+"L-"+x+",0Z"}},"diamond-wide":{n:24,f:function(r){var x=d3.round(r*1.4,2);var y=d3.round(r*.7,2);return"M0,"+y+"L"+x+",0L0,-"+y+"L-"+x+",0Z"}},hourglass:{n:25,f:function(r){var rs=d3.round(r,2);return"M"+rs+","+rs+"H-"+rs+"L"+rs+",-"+rs+"H-"+rs+"Z"},noDot:true},bowtie:{n:26,f:function(r){var rs=d3.round(r,2);return"M"+rs+","+rs+"V-"+rs+"L-"+rs+","+rs+"V-"+rs+"Z"},noDot:true},"circle-cross":{n:27,f:function(r){var rs=d3.round(r,2);return"M0,"+rs+"V-"+rs+"M"+rs+",0H-"+rs+"M"+rs+",0A"+rs+","+rs+" 0 1,1 0,-"+rs+"A"+rs+","+rs+" 0 0,1 "+rs+",0Z"},needLine:true,noDot:true},"circle-x":{n:28,f:function(r){var rs=d3.round(r,2);var rc=d3.round(r/Math.sqrt(2),2);return"M"+rc+","+rc+"L-"+rc+",-"+rc+"M"+rc+",-"+rc+"L-"+rc+","+rc+"M"+rs+",0A"+rs+","+rs+" 0 1,1 0,-"+rs+"A"+rs+","+rs+" 0 0,1 "+rs+",0Z"},needLine:true,noDot:true},"square-cross":{n:29,f:function(r){var rs=d3.round(r,2);return"M0,"+rs+"V-"+rs+"M"+rs+",0H-"+rs+"M"+rs+","+rs+"H-"+rs+"V-"+rs+"H"+rs+"Z"},needLine:true,noDot:true},"square-x":{n:30,f:function(r){var rs=d3.round(r,2);return"M"+rs+","+rs+"L-"+rs+",-"+rs+"M"+rs+",-"+rs+"L-"+rs+","+rs+"M"+rs+","+rs+"H-"+rs+"V-"+rs+"H"+rs+"Z"},needLine:true,noDot:true},"diamond-cross":{n:31,f:function(r){var rd=d3.round(r*1.3,2);return"M"+rd+",0L0,"+rd+"L-"+rd+",0L0,-"+rd+"Z"+"M0,-"+rd+"V"+rd+"M-"+rd+",0H"+rd},needLine:true,noDot:true},"diamond-x":{n:32,f:function(r){var rd=d3.round(r*1.3,2);var r2=d3.round(r*.65,2);return"M"+rd+",0L0,"+rd+"L-"+rd+",0L0,-"+rd+"Z"+"M-"+r2+",-"+r2+"L"+r2+","+r2+"M-"+r2+","+r2+"L"+r2+",-"+r2},needLine:true,noDot:true},"cross-thin":{n:33,f:function(r){var rc=d3.round(r*1.4,2);return"M0,"+rc+"V-"+rc+"M"+rc+",0H-"+rc},needLine:true,noDot:true,noFill:true},"x-thin":{n:34,f:function(r){var rx=d3.round(r,2);return"M"+rx+","+rx+"L-"+rx+",-"+rx+"M"+rx+",-"+rx+"L-"+rx+","+rx},needLine:true,noDot:true,noFill:true},asterisk:{n:35,f:function(r){var rc=d3.round(r*1.2,2);var rs=d3.round(r*.85,2);return"M0,"+rc+"V-"+rc+"M"+rc+",0H-"+rc+"M"+rs+","+rs+"L-"+rs+",-"+rs+"M"+rs+",-"+rs+"L-"+rs+","+rs},needLine:true,noDot:true,noFill:true},hash:{n:36,f:function(r){var r1=d3.round(r/2,2);var r2=d3.round(r,2);return"M"+r1+","+r2+"V-"+r2+"m-"+r2+",0V"+r2+"M"+r2+","+r1+"H-"+r2+"m0,-"+r2+"H"+r2},needLine:true,noFill:true},"y-up":{n:37,f:function(r){var x=d3.round(r*1.2,2);var y0=d3.round(r*1.6,2);var y1=d3.round(r*.8,2);return"M-"+x+","+y1+"L0,0M"+x+","+y1+"L0,0M0,-"+y0+"L0,0"},needLine:true,noDot:true,noFill:true},"y-down":{n:38,f:function(r){var x=d3.round(r*1.2,2);var y0=d3.round(r*1.6,2);var y1=d3.round(r*.8,2);return"M-"+x+",-"+y1+"L0,0M"+x+",-"+y1+"L0,0M0,"+y0+"L0,0"},needLine:true,noDot:true,noFill:true},"y-left":{n:39,f:function(r){var y=d3.round(r*1.2,2);var x0=d3.round(r*1.6,2);var x1=d3.round(r*.8,2);return"M"+x1+","+y+"L0,0M"+x1+",-"+y+"L0,0M-"+x0+",0L0,0"},needLine:true,noDot:true,noFill:true},"y-right":{n:40,f:function(r){var y=d3.round(r*1.2,2);var x0=d3.round(r*1.6,2);var x1=d3.round(r*.8,2);return"M-"+x1+","+y+"L0,0M-"+x1+",-"+y+"L0,0M"+x0+",0L0,0"},needLine:true,noDot:true,noFill:true},"line-ew":{n:41,f:function(r){var rc=d3.round(r*1.4,2);return"M"+rc+",0H-"+rc},needLine:true,noDot:true,noFill:true},"line-ns":{n:42,f:function(r){var rc=d3.round(r*1.4,2);return"M0,"+rc+"V-"+rc},needLine:true,noDot:true,noFill:true},"line-ne":{n:43,f:function(r){var rx=d3.round(r,2);return"M"+rx+",-"+rx+"L-"+rx+","+rx},needLine:true,noDot:true,noFill:true},"line-nw":{n:44,f:function(r){var rx=d3.round(r,2);return"M"+rx+","+rx+"L-"+rx+",-"+rx},needLine:true,noDot:true,noFill:true},"arrow-up":{n:45,f:function(r){var rx=d3.round(r,2);var ry=d3.round(r*2,2);return"M0,0L-"+rx+","+ry+"H"+rx+"Z"},noDot:true},"arrow-down":{n:46,f:function(r){var rx=d3.round(r,2);var ry=d3.round(r*2,2);return"M0,0L-"+rx+",-"+ry+"H"+rx+"Z"},noDot:true},"arrow-left":{n:47,f:function(r){var rx=d3.round(r*2,2);var ry=d3.round(r,2);return"M0,0L"+rx+",-"+ry+"V"+ry+"Z"},noDot:true},"arrow-right":{n:48,f:function(r){var rx=d3.round(r*2,2);var ry=d3.round(r,2);return"M0,0L-"+rx+",-"+ry+"V"+ry+"Z"},noDot:true},"arrow-bar-up":{n:49,f:function(r){var rx=d3.round(r,2);var ry=d3.round(r*2,2);return"M-"+rx+",0H"+rx+"M0,0L-"+rx+","+ry+"H"+rx+"Z"},needLine:true,noDot:true},"arrow-bar-down":{n:50,f:function(r){var rx=d3.round(r,2);var ry=d3.round(r*2,2);return"M-"+rx+",0H"+rx+"M0,0L-"+rx+",-"+ry+"H"+rx+"Z"},needLine:true,noDot:true},"arrow-bar-left":{n:51,f:function(r){var rx=d3.round(r*2,2);var ry=d3.round(r,2);return"M0,-"+ry+"V"+ry+"M0,0L"+rx+",-"+ry+"V"+ry+"Z"},needLine:true,noDot:true},"arrow-bar-right":{n:52,f:function(r){var rx=d3.round(r*2,2);var ry=d3.round(r,2);return"M0,-"+ry+"V"+ry+"M0,0L-"+rx+",-"+ry+"V"+ry+"Z"},needLine:true,noDot:true}}},{"@plotly/d3":58}],690:[function(_dereq_,module,exports){"use strict";module.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],691:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Registry=_dereq_("../../registry");var Axes=_dereq_("../../plots/cartesian/axes");var Lib=_dereq_("../../lib");var makeComputeError=_dereq_("./compute_error");module.exports=function calc(gd){var calcdata=gd.calcdata;for(var i=0;i<calcdata.length;i++){var calcTrace=calcdata[i];var trace=calcTrace[0].trace;if(trace.visible===true&&Registry.traceIs(trace,"errorBarsOK")){var xa=Axes.getFromId(gd,trace.xaxis);var ya=Axes.getFromId(gd,trace.yaxis);calcOneAxis(calcTrace,trace,xa,"x");calcOneAxis(calcTrace,trace,ya,"y")}}};function calcOneAxis(calcTrace,trace,axis,coord){var opts=trace["error_"+coord]||{};var isVisible=opts.visible&&["linear","log"].indexOf(axis.type)!==-1;var vals=[];if(!isVisible)return;var computeError=makeComputeError(opts);for(var i=0;i<calcTrace.length;i++){var calcPt=calcTrace[i];var iIn=calcPt.i;if(iIn===undefined)iIn=i;else if(iIn===null)continue;var calcCoord=calcPt[coord];if(!isNumeric(axis.c2l(calcCoord)))continue;var errors=computeError(calcCoord,iIn);if(isNumeric(errors[0])&&isNumeric(errors[1])){var shoe=calcPt[coord+"s"]=calcCoord-errors[0];var hat=calcPt[coord+"h"]=calcCoord+errors[1];vals.push(shoe,hat)}}var axId=axis._id;var baseExtremes=trace._extremes[axId];var extremes=Axes.findExtremes(axis,vals,Lib.extendFlat({tozero:baseExtremes.opts.tozero},{padded:true}));baseExtremes.min=baseExtremes.min.concat(extremes.min);baseExtremes.max=baseExtremes.max.concat(extremes.max)}},{"../../lib":803,"../../plots/cartesian/axes":854,"../../registry":931,"./compute_error":692,"fast-isnumeric":249}],692:[function(_dereq_,module,exports){"use strict";module.exports=function makeComputeError(opts){var type=opts.type;var symmetric=opts.symmetric;if(type==="data"){var array=opts.array||[];if(symmetric){return function computeError(dataPt,index){var val=+array[index];return[val,val]}}else{var arrayminus=opts.arrayminus||[];return function computeError(dataPt,index){var val=+array[index];var valMinus=+arrayminus[index];if(!isNaN(val)||!isNaN(valMinus)){return[valMinus||0,val||0]}return[NaN,NaN]}}}else{var computeErrorValue=makeComputeErrorValue(type,opts.value);var computeErrorValueMinus=makeComputeErrorValue(type,opts.valueminus);if(symmetric||opts.valueminus===undefined){return function computeError(dataPt){var val=computeErrorValue(dataPt);return[val,val]}}else{return function computeError(dataPt){return[computeErrorValueMinus(dataPt),computeErrorValue(dataPt)]}}}};function makeComputeErrorValue(type,value){if(type==="percent"){return function(dataPt){return Math.abs(dataPt*value/100)}}if(type==="constant"){return function(){return Math.abs(value)}}if(type==="sqrt"){return function(dataPt){return Math.sqrt(Math.abs(dataPt))}}}},{}],693:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var Template=_dereq_("../../plot_api/plot_template");var attributes=_dereq_("./attributes");module.exports=function(traceIn,traceOut,defaultColor,opts){var objName="error_"+opts.axis;var containerOut=Template.newContainer(traceOut,objName);var containerIn=traceIn[objName]||{};function coerce(attr,dflt){return Lib.coerce(containerIn,containerOut,attributes,attr,dflt)}var hasErrorBars=containerIn.array!==undefined||containerIn.value!==undefined||containerIn.type==="sqrt";var visible=coerce("visible",hasErrorBars);if(visible===false)return;var type=coerce("type","array"in containerIn?"data":"percent");var symmetric=true;if(type!=="sqrt"){symmetric=coerce("symmetric",!((type==="data"?"arrayminus":"valueminus")in containerIn))}if(type==="data"){coerce("array");coerce("traceref");if(!symmetric){coerce("arrayminus");coerce("tracerefminus")}}else if(type==="percent"||type==="constant"){coerce("value");if(!symmetric)coerce("valueminus")}var copyAttr="copy_"+opts.inherit+"style";if(opts.inherit){var inheritObj=traceOut["error_"+opts.inherit];if((inheritObj||{}).visible){coerce(copyAttr,!(containerIn.color||isNumeric(containerIn.thickness)||isNumeric(containerIn.width)))}}if(!opts.inherit||!containerOut[copyAttr]){coerce("color",defaultColor);coerce("thickness");coerce("width",Registry.traceIs(traceOut,"gl3d")?0:4)}}},{"../../lib":803,"../../plot_api/plot_template":843,"../../registry":931,"./attributes":690,"fast-isnumeric":249}],694:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var attributes=_dereq_("./attributes");var xyAttrs={error_x:Lib.extendFlat({},attributes),error_y:Lib.extendFlat({},attributes)};delete xyAttrs.error_x.copy_zstyle;delete xyAttrs.error_y.copy_zstyle;delete xyAttrs.error_y.copy_ystyle;var xyzAttrs={error_x:Lib.extendFlat({},attributes),error_y:Lib.extendFlat({},attributes),error_z:Lib.extendFlat({},attributes)};delete xyzAttrs.error_x.copy_ystyle;delete xyzAttrs.error_y.copy_ystyle;delete xyzAttrs.error_z.copy_ystyle;delete xyzAttrs.error_z.copy_zstyle;module.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:xyAttrs,bar:xyAttrs,histogram:xyAttrs,scatter3d:overrideAll(xyzAttrs,"calc","nested"),scattergl:overrideAll(xyAttrs,"calc","nested")}},supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),makeComputeError:_dereq_("./compute_error"),plot:_dereq_("./plot"),style:_dereq_("./style"),hoverInfo:hoverInfo};function hoverInfo(calcPoint,trace,hoverPoint){if((trace.error_y||{}).visible){hoverPoint.yerr=calcPoint.yh-calcPoint.y;if(!trace.error_y.symmetric)hoverPoint.yerrneg=calcPoint.y-calcPoint.ys}if((trace.error_x||{}).visible){hoverPoint.xerr=calcPoint.xh-calcPoint.x;if(!trace.error_x.symmetric)hoverPoint.xerrneg=calcPoint.x-calcPoint.xs}}},{"../../lib":803,"../../plot_api/edit_types":836,"./attributes":690,"./calc":691,"./compute_error":692,"./defaults":693,"./plot":695,"./style":696}],695:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var Drawing=_dereq_("../drawing");var subTypes=_dereq_("../../traces/scatter/subtypes");module.exports=function plot(gd,traces,plotinfo,transitionOpts){var isNew;var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var hasAnimation=transitionOpts&&transitionOpts.duration>0;traces.each((function(d){var trace=d[0].trace;var xObj=trace.error_x||{};var yObj=trace.error_y||{};var keyFunc;if(trace.ids){keyFunc=function(d){return d.id}}var sparse=subTypes.hasMarkers(trace)&&trace.marker.maxdisplayed>0;if(!yObj.visible&&!xObj.visible)d=[];var errorbars=d3.select(this).selectAll("g.errorbar").data(d,keyFunc);errorbars.exit().remove();if(!d.length)return;if(!xObj.visible)errorbars.selectAll("path.xerror").remove();if(!yObj.visible)errorbars.selectAll("path.yerror").remove();errorbars.style("opacity",1);var enter=errorbars.enter().append("g").classed("errorbar",true);if(hasAnimation){enter.style("opacity",0).transition().duration(transitionOpts.duration).style("opacity",1)}Drawing.setClipUrl(errorbars,plotinfo.layerClipId,gd);errorbars.each((function(d){var errorbar=d3.select(this);var coords=errorCoords(d,xa,ya);if(sparse&&!d.vis)return;var path;var yerror=errorbar.select("path.yerror");if(yObj.visible&&isNumeric(coords.x)&&isNumeric(coords.yh)&&isNumeric(coords.ys)){var yw=yObj.width;path="M"+(coords.x-yw)+","+coords.yh+"h"+2*yw+"m-"+yw+",0V"+coords.ys;if(!coords.noYS)path+="m-"+yw+",0h"+2*yw;isNew=!yerror.size();if(isNew){yerror=errorbar.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",true)}else if(hasAnimation){yerror=yerror.transition().duration(transitionOpts.duration).ease(transitionOpts.easing)}yerror.attr("d",path)}else yerror.remove();var xerror=errorbar.select("path.xerror");if(xObj.visible&&isNumeric(coords.y)&&isNumeric(coords.xh)&&isNumeric(coords.xs)){var xw=(xObj.copy_ystyle?yObj:xObj).width;path="M"+coords.xh+","+(coords.y-xw)+"v"+2*xw+"m0,-"+xw+"H"+coords.xs;if(!coords.noXS)path+="m0,-"+xw+"v"+2*xw;isNew=!xerror.size();if(isNew){xerror=errorbar.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",true)}else if(hasAnimation){xerror=xerror.transition().duration(transitionOpts.duration).ease(transitionOpts.easing)}xerror.attr("d",path)}else xerror.remove()}))}))};function errorCoords(d,xa,ya){var out={x:xa.c2p(d.x),y:ya.c2p(d.y)};if(d.yh!==undefined){out.yh=ya.c2p(d.yh);out.ys=ya.c2p(d.ys);if(!isNumeric(out.ys)){out.noYS=true;out.ys=ya.c2p(d.ys,true)}}if(d.xh!==undefined){out.xh=xa.c2p(d.xh);out.xs=xa.c2p(d.xs);if(!isNumeric(out.xs)){out.noXS=true;out.xs=xa.c2p(d.xs,true)}}return out}},{"../../traces/scatter/subtypes":1243,"../drawing":688,"@plotly/d3":58,"fast-isnumeric":249}],696:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../color");module.exports=function style(traces){traces.each((function(d){var trace=d[0].trace;var yObj=trace.error_y||{};var xObj=trace.error_x||{};var s=d3.select(this);s.selectAll("path.yerror").style("stroke-width",yObj.thickness+"px").call(Color.stroke,yObj.color);if(xObj.copy_ystyle)xObj=yObj;s.selectAll("path.xerror").style("stroke-width",xObj.thickness+"px").call(Color.stroke,xObj.color)}))}},{"../color":666,"@plotly/d3":58}],697:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../../plots/font_attributes");var hoverLabelAttrs=_dereq_("./layout_attributes").hoverlabel;var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports={hoverlabel:{bgcolor:extendFlat({},hoverLabelAttrs.bgcolor,{arrayOk:true}),bordercolor:extendFlat({},hoverLabelAttrs.bordercolor,{arrayOk:true}),font:fontAttrs({arrayOk:true,editType:"none"}),align:extendFlat({},hoverLabelAttrs.align,{arrayOk:true}),namelength:extendFlat({},hoverLabelAttrs.namelength,{arrayOk:true}),editType:"none"}}},{"../../lib/extend":793,"../../plots/font_attributes":883,"./layout_attributes":707}],698:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");module.exports=function calc(gd){var calcdata=gd.calcdata;var fullLayout=gd._fullLayout;function makeCoerceHoverInfo(trace){return function(val){return Lib.coerceHoverinfo({hoverinfo:val},{_module:trace._module},fullLayout)}}for(var i=0;i<calcdata.length;i++){var cd=calcdata[i];var trace=cd[0].trace;if(Registry.traceIs(trace,"pie-like"))continue;var fillFn=Registry.traceIs(trace,"2dMap")?paste:Lib.fillArray;fillFn(trace.hoverinfo,cd,"hi",makeCoerceHoverInfo(trace));if(trace.hovertemplate)fillFn(trace.hovertemplate,cd,"ht");if(!trace.hoverlabel)continue;fillFn(trace.hoverlabel.bgcolor,cd,"hbg");fillFn(trace.hoverlabel.bordercolor,cd,"hbc");fillFn(trace.hoverlabel.font.size,cd,"hts");fillFn(trace.hoverlabel.font.color,cd,"htc");fillFn(trace.hoverlabel.font.family,cd,"htf");fillFn(trace.hoverlabel.namelength,cd,"hnl");fillFn(trace.hoverlabel.align,cd,"hta")}};function paste(traceAttr,cd,cdAttr,fn){fn=fn||Lib.identity;if(Array.isArray(traceAttr)){cd[0][cdAttr]=fn(traceAttr)}}},{"../../lib":803,"../../registry":931}],699:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var hover=_dereq_("./hover").hover;module.exports=function click(gd,evt,subplot){var annotationsDone=Registry.getComponentMethod("annotations","onClick")(gd,gd._hoverdata);if(subplot!==undefined){hover(gd,evt,subplot,true)}function emitClick(){gd.emit("plotly_click",{points:gd._hoverdata,event:evt})}if(gd._hoverdata&&evt&&evt.target){if(annotationsDone&&annotationsDone.then){annotationsDone.then(emitClick)}else emitClick();if(evt.stopImmediatePropagation)evt.stopImmediatePropagation()}}},{"../../registry":931,"./hover":703}],700:[function(_dereq_,module,exports){"use strict";module.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}},{}],701:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var handleHoverLabelDefaults=_dereq_("./hoverlabel_defaults");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var opts=Lib.extendFlat({},layout.hoverlabel);if(traceOut.hovertemplate)opts.namelength=-1;handleHoverLabelDefaults(traceIn,traceOut,coerce,opts)}},{"../../lib":803,"./attributes":697,"./hoverlabel_defaults":704}],702:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");exports.getSubplot=function(trace){return trace.subplot||trace.xaxis+trace.yaxis||trace.geo};exports.isTraceInSubplots=function(trace,subplots){if(trace.type==="splom"){var xaxes=trace.xaxes||[];var yaxes=trace.yaxes||[];for(var i=0;i<xaxes.length;i++){for(var j=0;j<yaxes.length;j++){if(subplots.indexOf(xaxes[i]+yaxes[j])!==-1){return true}}}return false}return subplots.indexOf(exports.getSubplot(trace))!==-1};exports.flat=function(subplots,v){var out=new Array(subplots.length);for(var i=0;i<subplots.length;i++){out[i]=v}return out};exports.p2c=function(axArray,v){var out=new Array(axArray.length);for(var i=0;i<axArray.length;i++){out[i]=axArray[i].p2c(v)}return out};exports.getDistanceFunction=function(mode,dx,dy,dxy){if(mode==="closest")return dxy||exports.quadrature(dx,dy);return mode.charAt(0)==="x"?dx:dy};exports.getClosest=function(cd,distfn,pointData){if(pointData.index!==false){if(pointData.index>=0&&pointData.index<cd.length){pointData.distance=0}else pointData.index=false}else{for(var i=0;i<cd.length;i++){var newDistance=distfn(cd[i]);if(newDistance<=pointData.distance){pointData.index=i;pointData.distance=newDistance}}}return pointData};exports.inbox=function(v0,v1,passVal){return v0*v1<0||v0===0?passVal:Infinity};exports.quadrature=function(dx,dy){return function(di){var x=dx(di);var y=dy(di);return Math.sqrt(x*x+y*y)}};exports.makeEventData=function(pt,trace,cd){var pointNumber="index"in pt?pt.index:pt.pointNumber;var out={data:trace._input,fullData:trace,curveNumber:trace.index,pointNumber:pointNumber};if(trace._indexToPoints){var pointIndices=trace._indexToPoints[pointNumber];if(pointIndices.length===1){out.pointIndex=pointIndices[0]}else{out.pointIndices=pointIndices}}else{out.pointIndex=pointNumber}if(trace._module.eventData){out=trace._module.eventData(out,pt,trace,cd,pointNumber)}else{if("xVal"in pt)out.x=pt.xVal;else if("x"in pt)out.x=pt.x;if("yVal"in pt)out.y=pt.yVal;else if("y"in pt)out.y=pt.y;if(pt.xa)out.xaxis=pt.xa;if(pt.ya)out.yaxis=pt.ya;if(pt.zLabelVal!==undefined)out.z=pt.zLabelVal}exports.appendArrayPointValue(out,trace,pointNumber);return out};exports.appendArrayPointValue=function(pointData,trace,pointNumber){var arrayAttrs=trace._arrayAttrs;if(!arrayAttrs){return}for(var i=0;i<arrayAttrs.length;i++){var astr=arrayAttrs[i];var key=getPointKey(astr);if(pointData[key]===undefined){var val=Lib.nestedProperty(trace,astr).get();var pointVal=getPointData(val,pointNumber);if(pointVal!==undefined)pointData[key]=pointVal}}};exports.appendArrayMultiPointValues=function(pointData,trace,pointNumbers){var arrayAttrs=trace._arrayAttrs;if(!arrayAttrs){return}for(var i=0;i<arrayAttrs.length;i++){var astr=arrayAttrs[i];var key=getPointKey(astr);if(pointData[key]===undefined){var val=Lib.nestedProperty(trace,astr).get();var keyVal=new Array(pointNumbers.length);for(var j=0;j<pointNumbers.length;j++){keyVal[j]=getPointData(val,pointNumbers[j])}pointData[key]=keyVal}}};var pointKeyMap={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color",parents:"parent"};function getPointKey(astr){return pointKeyMap[astr]||astr}function getPointData(val,pointNumber){if(Array.isArray(pointNumber)){if(Array.isArray(val)&&Array.isArray(val[pointNumber[0]])){return val[pointNumber[0]][pointNumber[1]]}}else{return val[pointNumber]}}var xyHoverMode={x:true,y:true};var unifiedHoverMode={"x unified":true,"y unified":true};exports.isUnifiedHover=function(hovermode){if(typeof hovermode!=="string")return false;return!!unifiedHoverMode[hovermode]};exports.isXYhover=function(hovermode){if(typeof hovermode!=="string")return false;return!!xyHoverMode[hovermode]}},{"../../lib":803}],703:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var tinycolor=_dereq_("tinycolor2");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var strRotate=Lib.strRotate;var Events=_dereq_("../../lib/events");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var overrideCursor=_dereq_("../../lib/override_cursor");var Drawing=_dereq_("../drawing");var Color=_dereq_("../color");var dragElement=_dereq_("../dragelement");var Axes=_dereq_("../../plots/cartesian/axes");var Registry=_dereq_("../../registry");var helpers=_dereq_("./helpers");var constants=_dereq_("./constants");var legendSupplyDefaults=_dereq_("../legend/defaults");var legendDraw=_dereq_("../legend/draw");var YANGLE=constants.YANGLE;var YA_RADIANS=Math.PI*YANGLE/180;var YFACTOR=1/Math.sin(YA_RADIANS);var YSHIFTX=Math.cos(YA_RADIANS);var YSHIFTY=Math.sin(YA_RADIANS);var HOVERARROWSIZE=constants.HOVERARROWSIZE;var HOVERTEXTPAD=constants.HOVERTEXTPAD;var multipleHoverPoints={box:true,ohlc:true,violin:true,candlestick:true};var cartesianScatterPoints={scatter:true,scattergl:true,splom:true};exports.hover=function hover(gd,evt,subplot,noHoverEvent){gd=Lib.getGraphDiv(gd);Lib.throttle(gd._fullLayout._uid+constants.HOVERID,constants.HOVERMINTIME,(function(){_hover(gd,evt,subplot,noHoverEvent)}))};exports.loneHover=function loneHover(hoverItems,opts){var multiHover=true;if(!Array.isArray(hoverItems)){multiHover=false;hoverItems=[hoverItems]}var gd=opts.gd;var gTop=getTopOffset(gd);var gLeft=getLeftOffset(gd);var pointsData=hoverItems.map((function(hoverItem){var _x0=hoverItem._x0||hoverItem.x0||hoverItem.x||0;var _x1=hoverItem._x1||hoverItem.x1||hoverItem.x||0;var _y0=hoverItem._y0||hoverItem.y0||hoverItem.y||0;var _y1=hoverItem._y1||hoverItem.y1||hoverItem.y||0;var eventData=hoverItem.eventData;if(eventData){var x0=Math.min(_x0,_x1);var x1=Math.max(_x0,_x1);var y0=Math.min(_y0,_y1);var y1=Math.max(_y0,_y1);var trace=hoverItem.trace;if(Registry.traceIs(trace,"gl3d")){var container=gd._fullLayout[trace.scene]._scene.container;var dx=container.offsetLeft;var dy=container.offsetTop;x0+=dx;x1+=dx;y0+=dy;y1+=dy}eventData.bbox={x0:x0+gLeft,x1:x1+gLeft,y0:y0+gTop,y1:y1+gTop};if(opts.inOut_bbox){opts.inOut_bbox.push(eventData.bbox)}}else{eventData=false}return{color:hoverItem.color||Color.defaultLine,x0:hoverItem.x0||hoverItem.x||0,x1:hoverItem.x1||hoverItem.x||0,y0:hoverItem.y0||hoverItem.y||0,y1:hoverItem.y1||hoverItem.y||0,xLabel:hoverItem.xLabel,yLabel:hoverItem.yLabel,zLabel:hoverItem.zLabel,text:hoverItem.text,name:hoverItem.name,idealAlign:hoverItem.idealAlign,borderColor:hoverItem.borderColor,fontFamily:hoverItem.fontFamily,fontSize:hoverItem.fontSize,fontColor:hoverItem.fontColor,nameLength:hoverItem.nameLength,textAlign:hoverItem.textAlign,trace:hoverItem.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:hoverItem.hovertemplate||false,hovertemplateLabels:hoverItem.hovertemplateLabels||false,eventData:eventData}}));var container3=d3.select(opts.container);var outerContainer3=opts.outerContainer?d3.select(opts.outerContainer):container3;var fullOpts={hovermode:"closest",rotateLabels:false,bgColor:opts.bgColor||Color.background,container:container3,outerContainer:outerContainer3};var hoverLabel=createHoverText(pointsData,fullOpts,gd);var tooltipSpacing=5;var lastBottomY=0;var anchor=0;hoverLabel.sort((function(a,b){return a.y0-b.y0})).each((function(d,i){var topY=d.y0-d.by/2;if(topY-tooltipSpacing<lastBottomY){d.offset=lastBottomY-topY+tooltipSpacing}else{d.offset=0}lastBottomY=topY+d.by+d.offset;if(i===opts.anchorIndex||0)anchor=d.offset})).each((function(d){d.offset-=anchor}));var scaleX=gd._fullLayout._invScaleX;var scaleY=gd._fullLayout._invScaleY;alignHoverText(hoverLabel,fullOpts.rotateLabels,scaleX,scaleY);return multiHover?hoverLabel:hoverLabel.node()};function _hover(gd,evt,subplot,noHoverEvent){if(!subplot)subplot="xy";var subplots=Array.isArray(subplot)?subplot:[subplot];var fullLayout=gd._fullLayout;var plots=fullLayout._plots||[];var plotinfo=plots[subplot];var hasCartesian=fullLayout._has("cartesian");if(plotinfo){var overlayedSubplots=plotinfo.overlays.map((function(pi){return pi.id}));subplots=subplots.concat(overlayedSubplots)}var len=subplots.length;var xaArray=new Array(len);var yaArray=new Array(len);var supportsCompare=false;for(var i=0;i<len;i++){var spId=subplots[i];if(plots[spId]){supportsCompare=true;xaArray[i]=plots[spId].xaxis;yaArray[i]=plots[spId].yaxis}else if(fullLayout[spId]&&fullLayout[spId]._subplot){var _subplot=fullLayout[spId]._subplot;xaArray[i]=_subplot.xaxis;yaArray[i]=_subplot.yaxis}else{Lib.warn("Unrecognized subplot: "+spId);return}}var hovermode=evt.hovermode||fullLayout.hovermode;if(hovermode&&!supportsCompare)hovermode="closest";if(["x","y","closest","x unified","y unified"].indexOf(hovermode)===-1||!gd.calcdata||gd.querySelector(".zoombox")||gd._dragging){return dragElement.unhoverRaw(gd,evt)}var hoverdistance=fullLayout.hoverdistance;if(hoverdistance===-1)hoverdistance=Infinity;var spikedistance=fullLayout.spikedistance;if(spikedistance===-1)spikedistance=Infinity;var hoverData=[];var searchData=[];var xvalArray,yvalArray;var itemnum,curvenum,cd,trace,subplotId,subploti,_mode,xval,yval,pointData,closedataPreviousLength;var spikePoints={hLinePoint:null,vLinePoint:null};var hasOneHorizontalTrace=false;if(Array.isArray(evt)){hovermode="array";for(itemnum=0;itemnum<evt.length;itemnum++){cd=gd.calcdata[evt[itemnum].curveNumber||0];if(cd){trace=cd[0].trace;if(cd[0].trace.hoverinfo!=="skip"){searchData.push(cd);if(trace.orientation==="h"){hasOneHorizontalTrace=true}}}}}else{for(curvenum=0;curvenum<gd.calcdata.length;curvenum++){cd=gd.calcdata[curvenum];trace=cd[0].trace;if(trace.hoverinfo!=="skip"&&helpers.isTraceInSubplots(trace,subplots)){searchData.push(cd);if(trace.orientation==="h"){hasOneHorizontalTrace=true}}}var hasUserCalledHover=!evt.target;var xpx,ypx;if(hasUserCalledHover){if("xpx"in evt)xpx=evt.xpx;else xpx=xaArray[0]._length/2;if("ypx"in evt)ypx=evt.ypx;else ypx=yaArray[0]._length/2}else{if(Events.triggerHandler(gd,"plotly_beforehover",evt)===false){return}var target=evt.composedPath&&evt.composedPath()[0];if(!target){target=evt.target}var dbb=target.getBoundingClientRect();xpx=evt.clientX-dbb.left;ypx=evt.clientY-dbb.top;fullLayout._calcInverseTransform(gd);var transformedCoords=Lib.apply3DTransform(fullLayout._invTransform)(xpx,ypx);xpx=transformedCoords[0];ypx=transformedCoords[1];if(xpx<0||xpx>xaArray[0]._length||ypx<0||ypx>yaArray[0]._length){return dragElement.unhoverRaw(gd,evt)}}evt.pointerX=xpx+xaArray[0]._offset;evt.pointerY=ypx+yaArray[0]._offset;if("xval"in evt)xvalArray=helpers.flat(subplots,evt.xval);else xvalArray=helpers.p2c(xaArray,xpx);if("yval"in evt)yvalArray=helpers.flat(subplots,evt.yval);else yvalArray=helpers.p2c(yaArray,ypx);if(!isNumeric(xvalArray[0])||!isNumeric(yvalArray[0])){Lib.warn("Fx.hover failed",evt,gd);return dragElement.unhoverRaw(gd,evt)}}var distance=Infinity;function findHoverPoints(customXVal,customYVal){for(curvenum=0;curvenum<searchData.length;curvenum++){cd=searchData[curvenum];if(!cd||!cd[0]||!cd[0].trace)continue;trace=cd[0].trace;if(trace.visible!==true||trace._length===0)continue;if(["carpet","contourcarpet"].indexOf(trace._module.name)!==-1)continue;if(trace.type==="splom"){subploti=0;subplotId=subplots[subploti]}else{subplotId=helpers.getSubplot(trace);subploti=subplots.indexOf(subplotId)}_mode=hovermode;if(helpers.isUnifiedHover(_mode)){_mode=_mode.charAt(0)}pointData={cd:cd,trace:trace,xa:xaArray[subploti],ya:yaArray[subploti],maxHoverDistance:hoverdistance,maxSpikeDistance:spikedistance,index:false,distance:Math.min(distance,hoverdistance),spikeDistance:Infinity,xSpike:undefined,ySpike:undefined,color:Color.defaultLine,name:trace.name,x0:undefined,x1:undefined,y0:undefined,y1:undefined,xLabelVal:undefined,yLabelVal:undefined,zLabelVal:undefined,text:undefined};if(fullLayout[subplotId]){pointData.subplot=fullLayout[subplotId]._subplot}if(fullLayout._splomScenes&&fullLayout._splomScenes[trace.uid]){pointData.scene=fullLayout._splomScenes[trace.uid]}closedataPreviousLength=hoverData.length;if(_mode==="array"){var selection=evt[curvenum];if("pointNumber"in selection){pointData.index=selection.pointNumber;_mode="closest"}else{_mode="";if("xval"in selection){xval=selection.xval;_mode="x"}if("yval"in selection){yval=selection.yval;_mode=_mode?"closest":"y"}}}else if(customXVal!==undefined&&customYVal!==undefined){xval=customXVal;yval=customYVal}else{xval=xvalArray[subploti];yval=yvalArray[subploti]}if(hoverdistance!==0){if(trace._module&&trace._module.hoverPoints){var newPoints=trace._module.hoverPoints(pointData,xval,yval,_mode,{finiteRange:true,hoverLayer:fullLayout._hoverlayer});if(newPoints){var newPoint;for(var newPointNum=0;newPointNum<newPoints.length;newPointNum++){newPoint=newPoints[newPointNum];if(isNumeric(newPoint.x0)&&isNumeric(newPoint.y0)){hoverData.push(cleanPoint(newPoint,hovermode))}}}}else{Lib.log("Unrecognized trace type in hover:",trace)}}if(hovermode==="closest"&&hoverData.length>closedataPreviousLength){hoverData.splice(0,closedataPreviousLength);distance=hoverData[0].distance}if(hasCartesian&&spikedistance!==0){if(hoverData.length===0){pointData.distance=spikedistance;pointData.index=false;var closestPoints=trace._module.hoverPoints(pointData,xval,yval,"closest",{hoverLayer:fullLayout._hoverlayer});if(closestPoints){closestPoints=closestPoints.filter((function(point){return point.spikeDistance<=spikedistance}))}if(closestPoints&&closestPoints.length){var tmpPoint;var closestVPoints=closestPoints.filter((function(point){return point.xa.showspikes&&point.xa.spikesnap!=="hovered data"}));if(closestVPoints.length){var closestVPt=closestVPoints[0];if(isNumeric(closestVPt.x0)&&isNumeric(closestVPt.y0)){tmpPoint=fillSpikePoint(closestVPt);if(!spikePoints.vLinePoint||spikePoints.vLinePoint.spikeDistance>tmpPoint.spikeDistance){spikePoints.vLinePoint=tmpPoint}}}var closestHPoints=closestPoints.filter((function(point){return point.ya.showspikes&&point.ya.spikesnap!=="hovered data"}));if(closestHPoints.length){var closestHPt=closestHPoints[0];if(isNumeric(closestHPt.x0)&&isNumeric(closestHPt.y0)){tmpPoint=fillSpikePoint(closestHPt);if(!spikePoints.hLinePoint||spikePoints.hLinePoint.spikeDistance>tmpPoint.spikeDistance){spikePoints.hLinePoint=tmpPoint}}}}}}}}findHoverPoints();function selectClosestPoint(pointsData,spikedistance,spikeOnWinning){var resultPoint=null;var minDistance=Infinity;var thisSpikeDistance;for(var i=0;i<pointsData.length;i++){thisSpikeDistance=pointsData[i].spikeDistance;if(spikeOnWinning&&i===0)thisSpikeDistance=-Infinity;if(thisSpikeDistance<=minDistance&&thisSpikeDistance<=spikedistance){resultPoint=pointsData[i];minDistance=thisSpikeDistance}}return resultPoint}function fillSpikePoint(point){if(!point)return null;return{xa:point.xa,ya:point.ya,x:point.xSpike!==undefined?point.xSpike:(point.x0+point.x1)/2,y:point.ySpike!==undefined?point.ySpike:(point.y0+point.y1)/2,distance:point.distance,spikeDistance:point.spikeDistance,curveNumber:point.trace.index,color:point.color,pointNumber:point.index}}var spikelineOpts={fullLayout:fullLayout,container:fullLayout._hoverlayer,outerContainer:fullLayout._paperdiv,event:evt};var oldspikepoints=gd._spikepoints;var newspikepoints={vLinePoint:spikePoints.vLinePoint,hLinePoint:spikePoints.hLinePoint};gd._spikepoints=newspikepoints;var sortHoverData=function(){hoverData.sort((function(d1,d2){return d1.distance-d2.distance}));hoverData=orderRangePoints(hoverData,hovermode)};sortHoverData();var axLetter=hovermode.charAt(0);var spikeOnWinning=(axLetter==="x"||axLetter==="y")&&hoverData[0]&&cartesianScatterPoints[hoverData[0].trace.type];if(hasCartesian&&spikedistance!==0){if(hoverData.length!==0){var tmpHPointData=hoverData.filter((function(point){return point.ya.showspikes}));var tmpHPoint=selectClosestPoint(tmpHPointData,spikedistance,spikeOnWinning);spikePoints.hLinePoint=fillSpikePoint(tmpHPoint);var tmpVPointData=hoverData.filter((function(point){return point.xa.showspikes}));var tmpVPoint=selectClosestPoint(tmpVPointData,spikedistance,spikeOnWinning);spikePoints.vLinePoint=fillSpikePoint(tmpVPoint)}}if(hoverData.length===0){var result=dragElement.unhoverRaw(gd,evt);if(hasCartesian&&(spikePoints.hLinePoint!==null||spikePoints.vLinePoint!==null)){if(spikesChanged(oldspikepoints)){createSpikelines(gd,spikePoints,spikelineOpts)}}return result}if(hasCartesian){if(spikesChanged(oldspikepoints)){createSpikelines(gd,spikePoints,spikelineOpts)}}if(helpers.isXYhover(_mode)&&hoverData[0].length!==0&&hoverData[0].trace.type!=="splom"){var winningPoint=hoverData[0];if(multipleHoverPoints[winningPoint.trace.type]){hoverData=hoverData.filter((function(d){return d.trace.index===winningPoint.trace.index}))}else{hoverData=[winningPoint]}var initLen=hoverData.length;var winX=getCoord("x",winningPoint,fullLayout);var winY=getCoord("y",winningPoint,fullLayout);findHoverPoints(winX,winY);var finalPoints=[];var seen={};var id=0;var insert=function(newHd){var key=multipleHoverPoints[newHd.trace.type]?hoverDataKey(newHd):newHd.trace.index;if(!seen[key]){id++;seen[key]=id;finalPoints.push(newHd)}else{var oldId=seen[key]-1;var oldHd=finalPoints[oldId];if(oldId>0&&Math.abs(newHd.distance)<Math.abs(oldHd.distance)){finalPoints[oldId]=newHd}}};var k;for(k=0;k<initLen;k++){insert(hoverData[k])}for(k=hoverData.length-1;k>initLen-1;k--){insert(hoverData[k])}hoverData=finalPoints;sortHoverData()}var oldhoverdata=gd._hoverdata;var newhoverdata=[];var gTop=getTopOffset(gd);var gLeft=getLeftOffset(gd);for(itemnum=0;itemnum<hoverData.length;itemnum++){var pt=hoverData[itemnum];var eventData=helpers.makeEventData(pt,pt.trace,pt.cd);if(pt.hovertemplate!==false){var ht=false;if(pt.cd[pt.index]&&pt.cd[pt.index].ht){ht=pt.cd[pt.index].ht}pt.hovertemplate=ht||pt.trace.hovertemplate||false}if(pt.xa&&pt.ya){var _x0=pt.x0+pt.xa._offset;var _x1=pt.x1+pt.xa._offset;var _y0=pt.y0+pt.ya._offset;var _y1=pt.y1+pt.ya._offset;var x0=Math.min(_x0,_x1);var x1=Math.max(_x0,_x1);var y0=Math.min(_y0,_y1);var y1=Math.max(_y0,_y1);eventData.bbox={x0:x0+gLeft,x1:x1+gLeft,y0:y0+gTop,y1:y1+gTop}}pt.eventData=[eventData];newhoverdata.push(eventData)}gd._hoverdata=newhoverdata;var rotateLabels=hovermode==="y"&&(searchData.length>1||hoverData.length>1)||hovermode==="closest"&&hasOneHorizontalTrace&&hoverData.length>1;var bgColor=Color.combine(fullLayout.plot_bgcolor||Color.background,fullLayout.paper_bgcolor);var labelOpts={hovermode:hovermode,rotateLabels:rotateLabels,bgColor:bgColor,container:fullLayout._hoverlayer,outerContainer:fullLayout._paperdiv,commonLabelOpts:fullLayout.hoverlabel,hoverdistance:fullLayout.hoverdistance};var hoverLabels=createHoverText(hoverData,labelOpts,gd);if(!helpers.isUnifiedHover(hovermode)){hoverAvoidOverlaps(hoverLabels,rotateLabels?"xa":"ya",fullLayout);alignHoverText(hoverLabels,rotateLabels,fullLayout._invScaleX,fullLayout._invScaleY)}if(evt.target&&evt.target.tagName){var hasClickToShow=Registry.getComponentMethod("annotations","hasClickToShow")(gd,newhoverdata);overrideCursor(d3.select(evt.target),hasClickToShow?"pointer":"")}if(!evt.target||noHoverEvent||!hoverChanged(gd,evt,oldhoverdata))return;if(oldhoverdata){gd.emit("plotly_unhover",{event:evt,points:oldhoverdata})}gd.emit("plotly_hover",{event:evt,points:gd._hoverdata,xaxes:xaArray,yaxes:yaArray,xvals:xvalArray,yvals:yvalArray})}function hoverDataKey(d){return[d.trace.index,d.index,d.x0,d.y0,d.name,d.attr,d.xa?d.xa._id:"",d.ya?d.ya._id:""].join(",")}var EXTRA_STRING_REGEX=/<extra>([\s\S]*)<\/extra>/;function createHoverText(hoverData,opts,gd){var fullLayout=gd._fullLayout;var hovermode=opts.hovermode;var rotateLabels=opts.rotateLabels;var bgColor=opts.bgColor;var container=opts.container;var outerContainer=opts.outerContainer;var commonLabelOpts=opts.commonLabelOpts||{};var fontFamily=opts.fontFamily||constants.HOVERFONT;var fontSize=opts.fontSize||constants.HOVERFONTSIZE;var c0=hoverData[0];var xa=c0.xa;var ya=c0.ya;var axLetter=hovermode.charAt(0);var t0=c0[axLetter+"Label"];var outerContainerBB=outerContainer.node().getBoundingClientRect();var outerTop=outerContainerBB.top;var outerWidth=outerContainerBB.width;var outerHeight=outerContainerBB.height;var showCommonLabel=t0!==undefined&&c0.distance<=opts.hoverdistance&&(hovermode==="x"||hovermode==="y");if(showCommonLabel){var allHaveZ=true;var i,traceHoverinfo;for(i=0;i<hoverData.length;i++){if(allHaveZ&&hoverData[i].zLabel===undefined)allHaveZ=false;traceHoverinfo=hoverData[i].hoverinfo||hoverData[i].trace.hoverinfo;if(traceHoverinfo){var parts=Array.isArray(traceHoverinfo)?traceHoverinfo:traceHoverinfo.split("+");if(parts.indexOf("all")===-1&&parts.indexOf(hovermode)===-1){showCommonLabel=false;break}}}if(allHaveZ)showCommonLabel=false}var commonLabel=container.selectAll("g.axistext").data(showCommonLabel?[0]:[]);commonLabel.enter().append("g").classed("axistext",true);commonLabel.exit().remove();commonLabel.each((function(){var label=d3.select(this);var lpath=Lib.ensureSingle(label,"path","",(function(s){s.style({"stroke-width":"1px"})}));var ltext=Lib.ensureSingle(label,"text","",(function(s){s.attr("data-notex",1)}));var commonBgColor=commonLabelOpts.bgcolor||Color.defaultLine;var commonStroke=commonLabelOpts.bordercolor||Color.contrast(commonBgColor);var contrastColor=Color.contrast(commonBgColor);var commonLabelFont={family:commonLabelOpts.font.family||fontFamily,size:commonLabelOpts.font.size||fontSize,color:commonLabelOpts.font.color||contrastColor};lpath.style({fill:commonBgColor,stroke:commonStroke});ltext.text(t0).call(Drawing.font,commonLabelFont).call(svgTextUtils.positionText,0,0).call(svgTextUtils.convertToTspans,gd);label.attr("transform","");var tbb=ltext.node().getBoundingClientRect();var lx,ly;if(hovermode==="x"){var topsign=xa.side==="top"?"-":"";ltext.attr("text-anchor","middle").call(svgTextUtils.positionText,0,xa.side==="top"?outerTop-tbb.bottom-HOVERARROWSIZE-HOVERTEXTPAD:outerTop-tbb.top+HOVERARROWSIZE+HOVERTEXTPAD);lx=xa._offset+(c0.x0+c0.x1)/2;ly=ya._offset+(xa.side==="top"?0:ya._length);var halfWidth=tbb.width/2+HOVERTEXTPAD;if(lx<halfWidth){lx=halfWidth;lpath.attr("d","M-"+(halfWidth-HOVERARROWSIZE)+",0"+"L-"+(halfWidth-HOVERARROWSIZE*2)+","+topsign+HOVERARROWSIZE+"H"+(HOVERTEXTPAD+tbb.width/2)+"v"+topsign+(HOVERTEXTPAD*2+tbb.height)+"H-"+halfWidth+"V"+topsign+HOVERARROWSIZE+"Z")}else if(lx>fullLayout.width-halfWidth){lx=fullLayout.width-halfWidth;lpath.attr("d","M"+(halfWidth-HOVERARROWSIZE)+",0"+"L"+halfWidth+","+topsign+HOVERARROWSIZE+"v"+topsign+(HOVERTEXTPAD*2+tbb.height)+"H-"+halfWidth+"V"+topsign+HOVERARROWSIZE+"H"+(halfWidth-HOVERARROWSIZE*2)+"Z")}else{lpath.attr("d","M0,0"+"L"+HOVERARROWSIZE+","+topsign+HOVERARROWSIZE+"H"+(HOVERTEXTPAD+tbb.width/2)+"v"+topsign+(HOVERTEXTPAD*2+tbb.height)+"H-"+(HOVERTEXTPAD+tbb.width/2)+"V"+topsign+HOVERARROWSIZE+"H-"+HOVERARROWSIZE+"Z")}}else{var anchor;var sgn;var leftsign;if(ya.side==="right"){anchor="start";sgn=1;leftsign="";lx=xa._offset+xa._length}else{anchor="end";sgn=-1;leftsign="-";lx=xa._offset}ly=ya._offset+(c0.y0+c0.y1)/2;ltext.attr("text-anchor",anchor);lpath.attr("d","M0,0"+"L"+leftsign+HOVERARROWSIZE+","+HOVERARROWSIZE+"V"+(HOVERTEXTPAD+tbb.height/2)+"h"+leftsign+(HOVERTEXTPAD*2+tbb.width)+"V-"+(HOVERTEXTPAD+tbb.height/2)+"H"+leftsign+HOVERARROWSIZE+"V-"+HOVERARROWSIZE+"Z");var halfHeight=tbb.height/2;var lty=outerTop-tbb.top-halfHeight;var clipId="clip"+fullLayout._uid+"commonlabel"+ya._id;var clipPath;if(lx<tbb.width+2*HOVERTEXTPAD+HOVERARROWSIZE){clipPath="M-"+(HOVERARROWSIZE+HOVERTEXTPAD)+"-"+halfHeight+"h-"+(tbb.width-HOVERTEXTPAD)+"V"+halfHeight+"h"+(tbb.width-HOVERTEXTPAD)+"Z";var ltx=tbb.width-lx+HOVERTEXTPAD;svgTextUtils.positionText(ltext,ltx,lty);if(anchor==="end"){ltext.selectAll("tspan").each((function(){var s=d3.select(this);var dummy=Drawing.tester.append("text").text(s.text()).call(Drawing.font,commonLabelFont);var dummyBB=dummy.node().getBoundingClientRect();if(Math.round(dummyBB.width)<Math.round(tbb.width)){s.attr("x",ltx-dummyBB.width)}dummy.remove()}))}}else{svgTextUtils.positionText(ltext,sgn*(HOVERTEXTPAD+HOVERARROWSIZE),lty);clipPath=null}var textClip=fullLayout._topclips.selectAll("#"+clipId).data(clipPath?[0]:[]);textClip.enter().append("clipPath").attr("id",clipId).append("path");textClip.exit().remove();textClip.select("path").attr("d",clipPath);Drawing.setClipUrl(ltext,clipPath?clipId:null,gd)}label.attr("transform",strTranslate(lx,ly))}));if(helpers.isUnifiedHover(hovermode)){container.selectAll("g.hovertext").remove();if(hoverData.length===0)return;var hoverlabel=fullLayout.hoverlabel;var font=hoverlabel.font;var mockLayoutIn={showlegend:true,legend:{title:{text:t0,font:font},font:font,bgcolor:hoverlabel.bgcolor,bordercolor:hoverlabel.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:fullLayout.legend?fullLayout.legend.traceorder:undefined,orientation:"v"}};var mockLayoutOut={};legendSupplyDefaults(mockLayoutIn,mockLayoutOut,gd._fullData);var mockLegend=mockLayoutOut.legend;mockLegend.entries=[];for(var j=0;j<hoverData.length;j++){var texts=getHoverLabelText(hoverData[j],true,hovermode,fullLayout,t0);var text=texts[0];var name=texts[1];var pt=hoverData[j];pt.name=name;if(name!==""){pt.text=name+" : "+text}else{pt.text=text}var cd=pt.cd[pt.index];if(cd){if(cd.mc)pt.mc=cd.mc;if(cd.mcc)pt.mc=cd.mcc;if(cd.mlc)pt.mlc=cd.mlc;if(cd.mlcc)pt.mlc=cd.mlcc;if(cd.mlw)pt.mlw=cd.mlw;if(cd.mrc)pt.mrc=cd.mrc;if(cd.dir)pt.dir=cd.dir}pt._distinct=true;mockLegend.entries.push([pt])}mockLegend.entries.sort((function(a,b){return a[0].trace.index-b[0].trace.index}));mockLegend.layer=container;mockLegend._inHover=true;mockLegend._groupTitleFont=font;legendDraw(gd,mockLegend);var legendContainer=container.select("g.legend");var tbb=legendContainer.node().getBoundingClientRect();var tWidth=tbb.width+2*HOVERTEXTPAD;var tHeight=tbb.height+2*HOVERTEXTPAD;var winningPoint=hoverData[0];var avgX=(winningPoint.x0+winningPoint.x1)/2;var avgY=(winningPoint.y0+winningPoint.y1)/2;var pointWon=!(Registry.traceIs(winningPoint.trace,"bar-like")||Registry.traceIs(winningPoint.trace,"box-violin"));var lyBottom,lyTop;if(axLetter==="y"){if(pointWon){lyTop=avgY-HOVERTEXTPAD;lyBottom=avgY+HOVERTEXTPAD}else{lyTop=Math.min.apply(null,hoverData.map((function(c){return Math.min(c.y0,c.y1)})));lyBottom=Math.max.apply(null,hoverData.map((function(c){return Math.max(c.y0,c.y1)})))}}else{lyTop=lyBottom=Lib.mean(hoverData.map((function(c){return(c.y0+c.y1)/2})))-tHeight/2}var lxRight,lxLeft;if(axLetter==="x"){if(pointWon){lxRight=avgX+HOVERTEXTPAD;lxLeft=avgX-HOVERTEXTPAD}else{lxRight=Math.max.apply(null,hoverData.map((function(c){return Math.max(c.x0,c.x1)})));lxLeft=Math.min.apply(null,hoverData.map((function(c){return Math.min(c.x0,c.x1)})))}}else{lxRight=lxLeft=Lib.mean(hoverData.map((function(c){return(c.x0+c.x1)/2})))-tWidth/2}var xOffset=xa._offset;var yOffset=ya._offset;lyBottom+=yOffset;lxRight+=xOffset;lxLeft+=xOffset-tWidth;lyTop+=yOffset-tHeight;var lx,ly;if(lxRight+tWidth<outerWidth&&lxRight>=0){lx=lxRight}else if(lxLeft+tWidth<outerWidth&&lxLeft>=0){lx=lxLeft}else if(xOffset+tWidth<outerWidth){lx=xOffset}else{if(lxRight-avgX<avgX-lxLeft+tWidth){lx=outerWidth-tWidth}else{lx=0}}lx+=HOVERTEXTPAD;if(lyBottom+tHeight<outerHeight&&lyBottom>=0){ly=lyBottom}else if(lyTop+tHeight<outerHeight&&lyTop>=0){ly=lyTop}else if(yOffset+tHeight<outerHeight){ly=yOffset}else{if(lyBottom-avgY<avgY-lyTop+tHeight){ly=outerHeight-tHeight}else{ly=0}}ly+=HOVERTEXTPAD;legendContainer.attr("transform",strTranslate(lx-1,ly-1));return legendContainer}var hoverLabels=container.selectAll("g.hovertext").data(hoverData,(function(d){return hoverDataKey(d)}));hoverLabels.enter().append("g").classed("hovertext",true).each((function(){var g=d3.select(this);g.append("rect").call(Color.fill,Color.addOpacity(bgColor,.8));g.append("text").classed("name",true);g.append("path").style("stroke-width","1px");g.append("text").classed("nums",true).call(Drawing.font,fontFamily,fontSize)}));hoverLabels.exit().remove();hoverLabels.each((function(d){var g=d3.select(this).attr("transform","");var dColor=d.color;if(Array.isArray(dColor)){dColor=dColor[d.eventData[0].pointNumber]}var color0=d.bgcolor||dColor;var numsColor=Color.combine(Color.opacity(color0)?color0:Color.defaultLine,bgColor);var nameColor=Color.combine(Color.opacity(dColor)?dColor:Color.defaultLine,bgColor);var contrastColor=d.borderColor||Color.contrast(numsColor);var texts=getHoverLabelText(d,showCommonLabel,hovermode,fullLayout,t0,g);var text=texts[0];var name=texts[1];var tx=g.select("text.nums").call(Drawing.font,d.fontFamily||fontFamily,d.fontSize||fontSize,d.fontColor||contrastColor).text(text).attr("data-notex",1).call(svgTextUtils.positionText,0,0).call(svgTextUtils.convertToTspans,gd);var tx2=g.select("text.name");var tx2width=0;var tx2height=0;if(name&&name!==text){tx2.call(Drawing.font,d.fontFamily||fontFamily,d.fontSize||fontSize,nameColor).text(name).attr("data-notex",1).call(svgTextUtils.positionText,0,0).call(svgTextUtils.convertToTspans,gd);var t2bb=tx2.node().getBoundingClientRect();tx2width=t2bb.width+2*HOVERTEXTPAD;tx2height=t2bb.height+2*HOVERTEXTPAD}else{tx2.remove();g.select("rect").remove()}g.select("path").style({fill:numsColor,stroke:contrastColor});var tbb=tx.node().getBoundingClientRect();var htx=d.xa._offset+(d.x0+d.x1)/2;var hty=d.ya._offset+(d.y0+d.y1)/2;var dx=Math.abs(d.x1-d.x0);var dy=Math.abs(d.y1-d.y0);var txTotalWidth=tbb.width+HOVERARROWSIZE+HOVERTEXTPAD+tx2width;var anchorStartOK,anchorEndOK;d.ty0=outerTop-tbb.top;d.bx=tbb.width+2*HOVERTEXTPAD;d.by=Math.max(tbb.height+2*HOVERTEXTPAD,tx2height);d.anchor="start";d.txwidth=tbb.width;d.tx2width=tx2width;d.offset=0;if(rotateLabels){d.pos=htx;anchorStartOK=hty+dy/2+txTotalWidth<=outerHeight;anchorEndOK=hty-dy/2-txTotalWidth>=0;if((d.idealAlign==="top"||!anchorStartOK)&&anchorEndOK){hty-=dy/2;d.anchor="end"}else if(anchorStartOK){hty+=dy/2;d.anchor="start"}else d.anchor="middle"}else{d.pos=hty;anchorStartOK=htx+dx/2+txTotalWidth<=outerWidth;anchorEndOK=htx-dx/2-txTotalWidth>=0;if((d.idealAlign==="left"||!anchorStartOK)&&anchorEndOK){htx-=dx/2;d.anchor="end"}else if(anchorStartOK){htx+=dx/2;d.anchor="start"}else{d.anchor="middle";var txHalfWidth=txTotalWidth/2;var overflowR=htx+txHalfWidth-outerWidth;var overflowL=htx-txHalfWidth;if(overflowR>0)htx-=overflowR;if(overflowL<0)htx+=-overflowL}}tx.attr("text-anchor",d.anchor);if(tx2width)tx2.attr("text-anchor",d.anchor);g.attr("transform",strTranslate(htx,hty)+(rotateLabels?strRotate(YANGLE):""))}));return hoverLabels}function getHoverLabelText(d,showCommonLabel,hovermode,fullLayout,t0,g){var name="";var text="";if(d.nameOverride!==undefined)d.name=d.nameOverride;if(d.name){if(d.trace._meta){d.name=Lib.templateString(d.name,d.trace._meta)}name=plainText(d.name,d.nameLength)}var h0=hovermode.charAt(0);var h1=h0==="x"?"y":"x";if(d.zLabel!==undefined){if(d.xLabel!==undefined)text+="x: "+d.xLabel+"<br>";if(d.yLabel!==undefined)text+="y: "+d.yLabel+"<br>";if(d.trace.type!=="choropleth"&&d.trace.type!=="choroplethmapbox"){text+=(text?"z: ":"")+d.zLabel}}else if(showCommonLabel&&d[h0+"Label"]===t0){text=d[h1+"Label"]||""}else if(d.xLabel===undefined){if(d.yLabel!==undefined&&d.trace.type!=="scattercarpet"){text=d.yLabel}}else if(d.yLabel===undefined)text=d.xLabel;else text="("+d.xLabel+", "+d.yLabel+")";if((d.text||d.text===0)&&!Array.isArray(d.text)){text+=(text?"<br>":"")+d.text}if(d.extraText!==undefined)text+=(text?"<br>":"")+d.extraText;if(g&&text===""&&!d.hovertemplate){if(name==="")g.remove();text=name}var hovertemplate=d.hovertemplate||false;if(hovertemplate){var labels=d.hovertemplateLabels||d;if(d[h0+"Label"]!==t0){labels[h0+"other"]=labels[h0+"Val"];labels[h0+"otherLabel"]=labels[h0+"Label"]}text=Lib.hovertemplateString(hovertemplate,labels,fullLayout._d3locale,d.eventData[0]||{},d.trace._meta);text=text.replace(EXTRA_STRING_REGEX,(function(match,extra){name=plainText(extra,d.nameLength);return""}))}return[text,name]}function hoverAvoidOverlaps(hoverLabels,axKey,fullLayout){var nummoves=0;var axSign=1;var nLabels=hoverLabels.size();var pointgroups=new Array(nLabels);var k=0;hoverLabels.each((function(d){var ax=d[axKey];var axIsX=ax._id.charAt(0)==="x";var rng=ax.range;if(k===0&&rng&&rng[0]>rng[1]!==axIsX){axSign=-1}pointgroups[k++]=[{datum:d,traceIndex:d.trace.index,dp:0,pos:d.pos,posref:d.posref,size:d.by*(axIsX?YFACTOR:1)/2,pmin:0,pmax:axIsX?fullLayout.width:fullLayout.height}]}));pointgroups.sort((function(a,b){return a[0].posref-b[0].posref||axSign*(b[0].traceIndex-a[0].traceIndex)}));var donepositioning,topOverlap,bottomOverlap,i,j,pti,sumdp;function constrainGroup(grp){var minPt=grp[0];var maxPt=grp[grp.length-1];topOverlap=minPt.pmin-minPt.pos-minPt.dp+minPt.size;bottomOverlap=maxPt.pos+maxPt.dp+maxPt.size-minPt.pmax;if(topOverlap>.01){for(j=grp.length-1;j>=0;j--)grp[j].dp+=topOverlap;donepositioning=false}if(bottomOverlap<.01)return;if(topOverlap<-.01){for(j=grp.length-1;j>=0;j--)grp[j].dp-=bottomOverlap;donepositioning=false}if(!donepositioning)return;var deleteCount=0;for(i=0;i<grp.length;i++){pti=grp[i];if(pti.pos+pti.dp+pti.size>minPt.pmax)deleteCount++}for(i=grp.length-1;i>=0;i--){if(deleteCount<=0)break;pti=grp[i];if(pti.pos>minPt.pmax-1){pti.del=true;deleteCount--}}for(i=0;i<grp.length;i++){if(deleteCount<=0)break;pti=grp[i];if(pti.pos<minPt.pmin+1){pti.del=true;deleteCount--;bottomOverlap=pti.size*2;for(j=grp.length-1;j>=0;j--)grp[j].dp-=bottomOverlap}}for(i=grp.length-1;i>=0;i--){if(deleteCount<=0)break;pti=grp[i];if(pti.pos+pti.dp+pti.size>minPt.pmax){pti.del=true;deleteCount--}}}while(!donepositioning&&nummoves<=nLabels){nummoves++;donepositioning=true;i=0;while(i<pointgroups.length-1){var g0=pointgroups[i];var g1=pointgroups[i+1];var p0=g0[g0.length-1];var p1=g1[0];topOverlap=p0.pos+p0.dp+p0.size-p1.pos-p1.dp+p1.size;if(topOverlap>.01&&p0.pmin===p1.pmin&&p0.pmax===p1.pmax){for(j=g1.length-1;j>=0;j--)g1[j].dp+=topOverlap;g0.push.apply(g0,g1);pointgroups.splice(i+1,1);sumdp=0;for(j=g0.length-1;j>=0;j--)sumdp+=g0[j].dp;bottomOverlap=sumdp/g0.length;for(j=g0.length-1;j>=0;j--)g0[j].dp-=bottomOverlap;donepositioning=false}else i++}pointgroups.forEach(constrainGroup)}for(i=pointgroups.length-1;i>=0;i--){var grp=pointgroups[i];for(j=grp.length-1;j>=0;j--){var pt=grp[j];var hoverPt=pt.datum;hoverPt.offset=pt.dp;hoverPt.del=pt.del}}}function alignHoverText(hoverLabels,rotateLabels,scaleX,scaleY){var pX=function(x){return x*scaleX};var pY=function(y){return y*scaleY};hoverLabels.each((function(d){var g=d3.select(this);if(d.del)return g.remove();var tx=g.select("text.nums");var anchor=d.anchor;var horzSign=anchor==="end"?-1:1;var alignShift={start:1,end:-1,middle:0}[anchor];var txx=alignShift*(HOVERARROWSIZE+HOVERTEXTPAD);var tx2x=txx+alignShift*(d.txwidth+HOVERTEXTPAD);var offsetX=0;var offsetY=d.offset;var isMiddle=anchor==="middle";if(isMiddle){txx-=d.tx2width/2;tx2x+=d.txwidth/2+HOVERTEXTPAD}if(rotateLabels){offsetY*=-YSHIFTY;offsetX=d.offset*YSHIFTX}g.select("path").attr("d",isMiddle?"M-"+pX(d.bx/2+d.tx2width/2)+","+pY(offsetY-d.by/2)+"h"+pX(d.bx)+"v"+pY(d.by)+"h-"+pX(d.bx)+"Z":"M0,0L"+pX(horzSign*HOVERARROWSIZE+offsetX)+","+pY(HOVERARROWSIZE+offsetY)+"v"+pY(d.by/2-HOVERARROWSIZE)+"h"+pX(horzSign*d.bx)+"v-"+pY(d.by)+"H"+pX(horzSign*HOVERARROWSIZE+offsetX)+"V"+pY(offsetY-HOVERARROWSIZE)+"Z");var posX=offsetX+txx;var posY=offsetY+d.ty0-d.by/2+HOVERTEXTPAD;var textAlign=d.textAlign||"auto";if(textAlign!=="auto"){if(textAlign==="left"&&anchor!=="start"){tx.attr("text-anchor","start");posX=isMiddle?-d.bx/2-d.tx2width/2+HOVERTEXTPAD:-d.bx-HOVERTEXTPAD}else if(textAlign==="right"&&anchor!=="end"){tx.attr("text-anchor","end");posX=isMiddle?d.bx/2-d.tx2width/2-HOVERTEXTPAD:d.bx+HOVERTEXTPAD}}tx.call(svgTextUtils.positionText,pX(posX),pY(posY));if(d.tx2width){g.select("text.name").call(svgTextUtils.positionText,pX(tx2x+alignShift*HOVERTEXTPAD+offsetX),pY(offsetY+d.ty0-d.by/2+HOVERTEXTPAD));g.select("rect").call(Drawing.setRect,pX(tx2x+(alignShift-1)*d.tx2width/2+offsetX),pY(offsetY-d.by/2-1),pX(d.tx2width),pY(d.by+2))}}))}function cleanPoint(d,hovermode){var index=d.index;var trace=d.trace||{};var cd0=d.cd[0];var cd=d.cd[index]||{};function pass(v){return v||isNumeric(v)&&v===0}var getVal=Array.isArray(index)?function(calcKey,traceKey){var v=Lib.castOption(cd0,index,calcKey);return pass(v)?v:Lib.extractOption({},trace,"",traceKey)}:function(calcKey,traceKey){return Lib.extractOption(cd,trace,calcKey,traceKey)};function fill(key,calcKey,traceKey){var val=getVal(calcKey,traceKey);if(pass(val))d[key]=val}fill("hoverinfo","hi","hoverinfo");fill("bgcolor","hbg","hoverlabel.bgcolor");fill("borderColor","hbc","hoverlabel.bordercolor");fill("fontFamily","htf","hoverlabel.font.family");fill("fontSize","hts","hoverlabel.font.size");fill("fontColor","htc","hoverlabel.font.color");fill("nameLength","hnl","hoverlabel.namelength");fill("textAlign","hta","hoverlabel.align");d.posref=hovermode==="y"||hovermode==="closest"&&trace.orientation==="h"?d.xa._offset+(d.x0+d.x1)/2:d.ya._offset+(d.y0+d.y1)/2;d.x0=Lib.constrain(d.x0,0,d.xa._length);d.x1=Lib.constrain(d.x1,0,d.xa._length);d.y0=Lib.constrain(d.y0,0,d.ya._length);d.y1=Lib.constrain(d.y1,0,d.ya._length);if(d.xLabelVal!==undefined){d.xLabel="xLabel"in d?d.xLabel:Axes.hoverLabelText(d.xa,d.xLabelVal,trace.xhoverformat);d.xVal=d.xa.c2d(d.xLabelVal)}if(d.yLabelVal!==undefined){d.yLabel="yLabel"in d?d.yLabel:Axes.hoverLabelText(d.ya,d.yLabelVal,trace.yhoverformat);d.yVal=d.ya.c2d(d.yLabelVal)}if(d.zLabelVal!==undefined&&d.zLabel===undefined){d.zLabel=String(d.zLabelVal)}if(!isNaN(d.xerr)&&!(d.xa.type==="log"&&d.xerr<=0)){var xeText=Axes.tickText(d.xa,d.xa.c2l(d.xerr),"hover").text;if(d.xerrneg!==undefined){d.xLabel+=" +"+xeText+" / -"+Axes.tickText(d.xa,d.xa.c2l(d.xerrneg),"hover").text}else d.xLabel+=" ± "+xeText;if(hovermode==="x")d.distance+=1}if(!isNaN(d.yerr)&&!(d.ya.type==="log"&&d.yerr<=0)){var yeText=Axes.tickText(d.ya,d.ya.c2l(d.yerr),"hover").text;if(d.yerrneg!==undefined){d.yLabel+=" +"+yeText+" / -"+Axes.tickText(d.ya,d.ya.c2l(d.yerrneg),"hover").text}else d.yLabel+=" ± "+yeText;if(hovermode==="y")d.distance+=1}var infomode=d.hoverinfo||d.trace.hoverinfo;if(infomode&&infomode!=="all"){infomode=Array.isArray(infomode)?infomode:infomode.split("+");if(infomode.indexOf("x")===-1)d.xLabel=undefined;if(infomode.indexOf("y")===-1)d.yLabel=undefined;if(infomode.indexOf("z")===-1)d.zLabel=undefined;if(infomode.indexOf("text")===-1)d.text=undefined;if(infomode.indexOf("name")===-1)d.name=undefined}return d}function createSpikelines(gd,closestPoints,opts){var container=opts.container;var fullLayout=opts.fullLayout;var gs=fullLayout._size;var evt=opts.event;var showY=!!closestPoints.hLinePoint;var showX=!!closestPoints.vLinePoint;var xa,ya;container.selectAll(".spikeline").remove();if(!(showX||showY))return;var contrastColor=Color.combine(fullLayout.plot_bgcolor,fullLayout.paper_bgcolor);if(showY){var hLinePoint=closestPoints.hLinePoint;var hLinePointX,hLinePointY;xa=hLinePoint&&hLinePoint.xa;ya=hLinePoint&&hLinePoint.ya;var ySnap=ya.spikesnap;if(ySnap==="cursor"){hLinePointX=evt.pointerX;hLinePointY=evt.pointerY}else{hLinePointX=xa._offset+hLinePoint.x;hLinePointY=ya._offset+hLinePoint.y}var dfltHLineColor=tinycolor.readability(hLinePoint.color,contrastColor)<1.5?Color.contrast(contrastColor):hLinePoint.color;var yMode=ya.spikemode;var yThickness=ya.spikethickness;var yColor=ya.spikecolor||dfltHLineColor;var xEdge=Axes.getPxPosition(gd,ya);var xBase,xEndSpike;if(yMode.indexOf("toaxis")!==-1||yMode.indexOf("across")!==-1){if(yMode.indexOf("toaxis")!==-1){xBase=xEdge;xEndSpike=hLinePointX}if(yMode.indexOf("across")!==-1){var xAcross0=ya._counterDomainMin;var xAcross1=ya._counterDomainMax;if(ya.anchor==="free"){xAcross0=Math.min(xAcross0,ya.position);xAcross1=Math.max(xAcross1,ya.position)}xBase=gs.l+xAcross0*gs.w;xEndSpike=gs.l+xAcross1*gs.w}container.insert("line",":first-child").attr({x1:xBase,x2:xEndSpike,y1:hLinePointY,y2:hLinePointY,"stroke-width":yThickness,stroke:yColor,"stroke-dasharray":Drawing.dashStyle(ya.spikedash,yThickness)}).classed("spikeline",true).classed("crisp",true);container.insert("line",":first-child").attr({x1:xBase,x2:xEndSpike,y1:hLinePointY,y2:hLinePointY,"stroke-width":yThickness+2,stroke:contrastColor}).classed("spikeline",true).classed("crisp",true)}if(yMode.indexOf("marker")!==-1){container.insert("circle",":first-child").attr({cx:xEdge+(ya.side!=="right"?yThickness:-yThickness),cy:hLinePointY,r:yThickness,fill:yColor}).classed("spikeline",true)}}if(showX){var vLinePoint=closestPoints.vLinePoint;var vLinePointX,vLinePointY;xa=vLinePoint&&vLinePoint.xa;ya=vLinePoint&&vLinePoint.ya;var xSnap=xa.spikesnap;if(xSnap==="cursor"){vLinePointX=evt.pointerX;vLinePointY=evt.pointerY}else{vLinePointX=xa._offset+vLinePoint.x;vLinePointY=ya._offset+vLinePoint.y}var dfltVLineColor=tinycolor.readability(vLinePoint.color,contrastColor)<1.5?Color.contrast(contrastColor):vLinePoint.color;var xMode=xa.spikemode;var xThickness=xa.spikethickness;var xColor=xa.spikecolor||dfltVLineColor;var yEdge=Axes.getPxPosition(gd,xa);var yBase,yEndSpike;if(xMode.indexOf("toaxis")!==-1||xMode.indexOf("across")!==-1){if(xMode.indexOf("toaxis")!==-1){yBase=yEdge;yEndSpike=vLinePointY}if(xMode.indexOf("across")!==-1){var yAcross0=xa._counterDomainMin;var yAcross1=xa._counterDomainMax;if(xa.anchor==="free"){yAcross0=Math.min(yAcross0,xa.position);yAcross1=Math.max(yAcross1,xa.position)}yBase=gs.t+(1-yAcross1)*gs.h;yEndSpike=gs.t+(1-yAcross0)*gs.h}container.insert("line",":first-child").attr({x1:vLinePointX,x2:vLinePointX,y1:yBase,y2:yEndSpike,"stroke-width":xThickness,stroke:xColor,"stroke-dasharray":Drawing.dashStyle(xa.spikedash,xThickness)}).classed("spikeline",true).classed("crisp",true);container.insert("line",":first-child").attr({x1:vLinePointX,x2:vLinePointX,y1:yBase,y2:yEndSpike,"stroke-width":xThickness+2,stroke:contrastColor}).classed("spikeline",true).classed("crisp",true)}if(xMode.indexOf("marker")!==-1){container.insert("circle",":first-child").attr({cx:vLinePointX,cy:yEdge-(xa.side!=="top"?xThickness:-xThickness),r:xThickness,fill:xColor}).classed("spikeline",true)}}}function hoverChanged(gd,evt,oldhoverdata){if(!oldhoverdata||oldhoverdata.length!==gd._hoverdata.length)return true;for(var i=oldhoverdata.length-1;i>=0;i--){var oldPt=oldhoverdata[i];var newPt=gd._hoverdata[i];if(oldPt.curveNumber!==newPt.curveNumber||String(oldPt.pointNumber)!==String(newPt.pointNumber)||String(oldPt.pointNumbers)!==String(newPt.pointNumbers)){return true}}return false}function spikesChanged(gd,oldspikepoints){if(!oldspikepoints)return true;if(oldspikepoints.vLinePoint!==gd._spikepoints.vLinePoint||oldspikepoints.hLinePoint!==gd._spikepoints.hLinePoint)return true;return false}function plainText(s,len){return svgTextUtils.plainText(s||"",{len:len,allowedTags:["br","sub","sup","b","i","em"]})}function orderRangePoints(hoverData,hovermode){var axLetter=hovermode.charAt(0);var first=[];var second=[];var last=[];for(var i=0;i<hoverData.length;i++){var d=hoverData[i];if(Registry.traceIs(d.trace,"bar-like")||Registry.traceIs(d.trace,"box-violin")){last.push(d)}else if(d.trace[axLetter+"period"]){second.push(d)}else{first.push(d)}}return first.concat(second).concat(last)}function getCoord(axLetter,winningPoint,fullLayout){var ax=winningPoint[axLetter+"a"];var val=winningPoint[axLetter+"Val"];var cd0=winningPoint.cd[0];if(ax.type==="category")val=ax._categoriesMap[val];else if(ax.type==="date"){var periodalignment=winningPoint.trace[axLetter+"periodalignment"];if(periodalignment){var d=winningPoint.cd[winningPoint.index];var start=d[axLetter+"Start"];if(start===undefined)start=d[axLetter];var end=d[axLetter+"End"];if(end===undefined)end=d[axLetter];var diff=end-start;if(periodalignment==="end"){val+=diff}else if(periodalignment==="middle"){val+=diff/2}}val=ax.d2c(val)}if(cd0&&cd0.t&&cd0.t.posLetter===ax._id){if(fullLayout.boxmode==="group"||fullLayout.violinmode==="group"){val+=cd0.t.dPos}}return val}function getTopOffset(gd){return gd.offsetTop+gd.clientTop}function getLeftOffset(gd){return gd.offsetLeft+gd.clientLeft}},{"../../lib":803,"../../lib/events":792,"../../lib/override_cursor":814,"../../lib/svg_text_utils":829,"../../plots/cartesian/axes":854,"../../registry":931,"../color":666,"../dragelement":685,"../drawing":688,"../legend/defaults":718,"../legend/draw":719,"./constants":700,"./helpers":702,"@plotly/d3":58,"fast-isnumeric":249,tinycolor2:598}],704:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../color");var isUnifiedHover=_dereq_("./helpers").isUnifiedHover;module.exports=function handleHoverLabelDefaults(contIn,contOut,coerce,opts){opts=opts||{};function inheritFontAttr(attr){if(!opts.font[attr]){opts.font[attr]=contOut.legend?contOut.legend.font[attr]:contOut.font[attr]}}if(contOut&&isUnifiedHover(contOut.hovermode)){if(!opts.font)opts.font={};inheritFontAttr("size");inheritFontAttr("family");inheritFontAttr("color");if(contOut.legend){if(!opts.bgcolor)opts.bgcolor=Color.combine(contOut.legend.bgcolor,contOut.paper_bgcolor);if(!opts.bordercolor)opts.bordercolor=contOut.legend.bordercolor}else{if(!opts.bgcolor)opts.bgcolor=contOut.paper_bgcolor}}coerce("hoverlabel.bgcolor",opts.bgcolor);coerce("hoverlabel.bordercolor",opts.bordercolor);coerce("hoverlabel.namelength",opts.namelength);Lib.coerceFont(coerce,"hoverlabel.font",opts.font);coerce("hoverlabel.align",opts.align)}},{"../../lib":803,"../color":666,"./helpers":702}],705:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function handleHoverModeDefaults(layoutIn,layoutOut){function coerce(attr,dflt){if(layoutOut[attr]!==undefined)return layoutOut[attr];return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}coerce("clickmode");return coerce("hovermode")}},{"../../lib":803,"./layout_attributes":707}],706:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var dragElement=_dereq_("../dragelement");var helpers=_dereq_("./helpers");var layoutAttributes=_dereq_("./layout_attributes");var hoverModule=_dereq_("./hover");module.exports={moduleType:"component",name:"fx",constants:_dereq_("./constants"),schema:{layout:layoutAttributes},attributes:_dereq_("./attributes"),layoutAttributes:layoutAttributes,supplyLayoutGlobalDefaults:_dereq_("./layout_global_defaults"),supplyDefaults:_dereq_("./defaults"),supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc"),getDistanceFunction:helpers.getDistanceFunction,getClosest:helpers.getClosest,inbox:helpers.inbox,quadrature:helpers.quadrature,appendArrayPointValue:helpers.appendArrayPointValue,castHoverOption:castHoverOption,castHoverinfo:castHoverinfo,hover:hoverModule.hover,unhover:dragElement.unhover,loneHover:hoverModule.loneHover,loneUnhover:loneUnhover,click:_dereq_("./click")};function loneUnhover(containerOrSelection){var selection=Lib.isD3Selection(containerOrSelection)?containerOrSelection:d3.select(containerOrSelection);selection.selectAll("g.hovertext").remove();selection.selectAll(".spikeline").remove()}function castHoverOption(trace,ptNumber,attr){return Lib.castOption(trace,ptNumber,"hoverlabel."+attr)}function castHoverinfo(trace,fullLayout,ptNumber){function _coerce(val){return Lib.coerceHoverinfo({hoverinfo:val},{_module:trace._module},fullLayout)}return Lib.castOption(trace,ptNumber,"hoverinfo",_coerce)}},{"../../lib":803,"../dragelement":685,"./attributes":697,"./calc":698,"./click":699,"./constants":700,"./defaults":701,"./helpers":702,"./hover":703,"./layout_attributes":707,"./layout_defaults":708,"./layout_global_defaults":709,"@plotly/d3":58}],707:[function(_dereq_,module,exports){"use strict";var constants=_dereq_("./constants");var fontAttrs=_dereq_("../../plots/font_attributes")({editType:"none"});fontAttrs.family.dflt=constants.HOVERFONT;fontAttrs.size.dflt=constants.HOVERFONTSIZE;module.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",false],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",false,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:fontAttrs,align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":883,"./constants":700}],708:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");var handleHoverModeDefaults=_dereq_("./hovermode_defaults");var handleHoverLabelDefaults=_dereq_("./hoverlabel_defaults");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}var hoverMode=handleHoverModeDefaults(layoutIn,layoutOut);if(hoverMode){coerce("hoverdistance");coerce("spikedistance")}var dragMode=coerce("dragmode");if(dragMode==="select")coerce("selectdirection");var hasMapbox=layoutOut._has("mapbox");var hasGeo=layoutOut._has("geo");var len=layoutOut._basePlotModules.length;if(layoutOut.dragmode==="zoom"&&((hasMapbox||hasGeo)&&len===1||hasMapbox&&hasGeo&&len===2)){layoutOut.dragmode="pan"}handleHoverLabelDefaults(layoutIn,layoutOut,coerce)}},{"../../lib":803,"./hoverlabel_defaults":704,"./hovermode_defaults":705,"./layout_attributes":707}],709:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleHoverLabelDefaults=_dereq_("./hoverlabel_defaults");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function supplyLayoutGlobalDefaults(layoutIn,layoutOut){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}handleHoverLabelDefaults(layoutIn,layoutOut,coerce)}},{"../../lib":803,"./hoverlabel_defaults":704,"./layout_attributes":707}],710:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var counterRegex=_dereq_("../../lib/regex").counter;var domainAttrs=_dereq_("../../plots/domain").attributes;var cartesianIdRegex=_dereq_("../../plots/cartesian/constants").idRegex;var Template=_dereq_("../../plot_api/plot_template");var gridAttrs={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:true,dimensions:2,items:{valType:"enumerated",values:[counterRegex("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:true,items:{valType:"enumerated",values:[cartesianIdRegex.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:true,items:{valType:"enumerated",values:[cartesianIdRegex.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:domainAttrs({name:"grid",editType:"plot",noGridCell:true},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function getAxes(layout,grid,axLetter){var gridVal=grid[axLetter+"axes"];var splomVal=Object.keys((layout._splomAxes||{})[axLetter]||{});if(Array.isArray(gridVal))return gridVal;if(splomVal.length)return splomVal}function sizeDefaults(layoutIn,layoutOut){var gridIn=layoutIn.grid||{};var xAxes=getAxes(layoutOut,gridIn,"x");var yAxes=getAxes(layoutOut,gridIn,"y");if(!layoutIn.grid&&!xAxes&&!yAxes)return;var hasSubplotGrid=Array.isArray(gridIn.subplots)&&Array.isArray(gridIn.subplots[0]);var hasXaxes=Array.isArray(xAxes);var hasYaxes=Array.isArray(yAxes);var isSplomGenerated=hasXaxes&&xAxes!==gridIn.xaxes&&hasYaxes&&yAxes!==gridIn.yaxes;var dfltRows,dfltColumns;if(hasSubplotGrid){dfltRows=gridIn.subplots.length;dfltColumns=gridIn.subplots[0].length}else{if(hasYaxes)dfltRows=yAxes.length;if(hasXaxes)dfltColumns=xAxes.length}var gridOut=Template.newContainer(layoutOut,"grid");function coerce(attr,dflt){return Lib.coerce(gridIn,gridOut,gridAttrs,attr,dflt)}var rows=coerce("rows",dfltRows);var columns=coerce("columns",dfltColumns);if(!(rows*columns>1)){delete layoutOut.grid;return}if(!hasSubplotGrid&&!hasXaxes&&!hasYaxes){var useDefaultSubplots=coerce("pattern")==="independent";if(useDefaultSubplots)hasSubplotGrid=true}gridOut._hasSubplotGrid=hasSubplotGrid;var rowOrder=coerce("roworder");var reversed=rowOrder==="top to bottom";var dfltGapX=hasSubplotGrid?.2:.1;var dfltGapY=hasSubplotGrid?.3:.1;var dfltSideX,dfltSideY;if(isSplomGenerated&&layoutOut._splomGridDflt){dfltSideX=layoutOut._splomGridDflt.xside;dfltSideY=layoutOut._splomGridDflt.yside}gridOut._domains={x:fillGridPositions("x",coerce,dfltGapX,dfltSideX,columns),y:fillGridPositions("y",coerce,dfltGapY,dfltSideY,rows,reversed)}}function fillGridPositions(axLetter,coerce,dfltGap,dfltSide,len,reversed){var dirGap=coerce(axLetter+"gap",dfltGap);var domain=coerce("domain."+axLetter);coerce(axLetter+"side",dfltSide);var out=new Array(len);var start=domain[0];var step=(domain[1]-start)/(len-dirGap);var cellDomain=step*(1-dirGap);for(var i=0;i<len;i++){var cellStart=start+step*i;out[reversed?len-1-i:i]=[cellStart,cellStart+cellDomain]}return out}function contentDefaults(layoutIn,layoutOut){var gridOut=layoutOut.grid;if(!gridOut||!gridOut._domains)return;var gridIn=layoutIn.grid||{};var subplots=layoutOut._subplots;var hasSubplotGrid=gridOut._hasSubplotGrid;var rows=gridOut.rows;var columns=gridOut.columns;var useDefaultSubplots=gridOut.pattern==="independent";var i,j,xId,yId,subplotId,subplotsOut,yPos;var axisMap=gridOut._axisMap={};if(hasSubplotGrid){var subplotsIn=gridIn.subplots||[];subplotsOut=gridOut.subplots=new Array(rows);var index=1;for(i=0;i<rows;i++){var rowOut=subplotsOut[i]=new Array(columns);var rowIn=subplotsIn[i]||[];for(j=0;j<columns;j++){if(useDefaultSubplots){subplotId=index===1?"xy":"x"+index+"y"+index;index++}else subplotId=rowIn[j];rowOut[j]="";if(subplots.cartesian.indexOf(subplotId)!==-1){yPos=subplotId.indexOf("y");xId=subplotId.slice(0,yPos);yId=subplotId.slice(yPos);if(axisMap[xId]!==undefined&&axisMap[xId]!==j||axisMap[yId]!==undefined&&axisMap[yId]!==i){continue}rowOut[j]=subplotId;axisMap[xId]=j;axisMap[yId]=i}}}}else{var xAxes=getAxes(layoutOut,gridIn,"x");var yAxes=getAxes(layoutOut,gridIn,"y");gridOut.xaxes=fillGridAxes(xAxes,subplots.xaxis,columns,axisMap,"x");gridOut.yaxes=fillGridAxes(yAxes,subplots.yaxis,rows,axisMap,"y")}var anchors=gridOut._anchors={};var reversed=gridOut.roworder==="top to bottom";for(var axisId in axisMap){var axLetter=axisId.charAt(0);var side=gridOut[axLetter+"side"];var i0,inc,iFinal;if(side.length<8){anchors[axisId]="free"}else if(axLetter==="x"){if(side.charAt(0)==="t"===reversed){i0=0;inc=1;iFinal=rows}else{i0=rows-1;inc=-1;iFinal=-1}if(hasSubplotGrid){var column=axisMap[axisId];for(i=i0;i!==iFinal;i+=inc){subplotId=subplotsOut[i][column];if(!subplotId)continue;yPos=subplotId.indexOf("y");if(subplotId.slice(0,yPos)===axisId){anchors[axisId]=subplotId.slice(yPos);break}}}else{for(i=i0;i!==iFinal;i+=inc){yId=gridOut.yaxes[i];if(subplots.cartesian.indexOf(axisId+yId)!==-1){anchors[axisId]=yId;break}}}}else{if(side.charAt(0)==="l"){i0=0;inc=1;iFinal=columns}else{i0=columns-1;inc=-1;iFinal=-1}if(hasSubplotGrid){var row=axisMap[axisId];for(i=i0;i!==iFinal;i+=inc){subplotId=subplotsOut[row][i];if(!subplotId)continue;yPos=subplotId.indexOf("y");if(subplotId.slice(yPos)===axisId){anchors[axisId]=subplotId.slice(0,yPos);break}}}else{for(i=i0;i!==iFinal;i+=inc){xId=gridOut.xaxes[i];if(subplots.cartesian.indexOf(xId+axisId)!==-1){anchors[axisId]=xId;break}}}}}}function fillGridAxes(axesIn,axesAllowed,len,axisMap,axLetter){var out=new Array(len);var i;function fillOneAxis(i,axisId){if(axesAllowed.indexOf(axisId)!==-1&&axisMap[axisId]===undefined){out[i]=axisId;axisMap[axisId]=i}else out[i]=""}if(Array.isArray(axesIn)){for(i=0;i<len;i++){fillOneAxis(i,axesIn[i])}}else{fillOneAxis(0,axLetter);for(i=1;i<len;i++){fillOneAxis(i,axLetter+(i+1))}}return out}module.exports={moduleType:"component",name:"grid",schema:{layout:{grid:gridAttrs}},layoutAttributes:gridAttrs,sizeDefaults:sizeDefaults,contentDefaults:contentDefaults}},{"../../lib":803,"../../lib/regex":820,"../../plot_api/plot_template":843,"../../plots/cartesian/constants":861,"../../plots/domain":882}],711:[function(_dereq_,module,exports){"use strict";var cartesianConstants=_dereq_("../../plots/cartesian/constants");var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var axisPlaceableObjs=_dereq_("../../constants/axis_placeable_objects");module.exports=templatedArray("image",{visible:{valType:"boolean",dflt:true,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",cartesianConstants.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",cartesianConstants.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})},{"../../constants/axis_placeable_objects":772,"../../plot_api/plot_template":843,"../../plots/cartesian/constants":861}],712:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var toLogRange=_dereq_("../../lib/to_log_range");module.exports=function convertCoords(gd,ax,newType,doExtra){ax=ax||{};var toLog=newType==="log"&&ax.type==="linear";var fromLog=newType==="linear"&&ax.type==="log";if(!(toLog||fromLog))return;var images=gd._fullLayout.images;var axLetter=ax._id.charAt(0);var image;var attrPrefix;for(var i=0;i<images.length;i++){image=images[i];attrPrefix="images["+i+"].";if(image[axLetter+"ref"]===ax._id){var currentPos=image[axLetter];var currentSize=image["size"+axLetter];var newPos=null;var newSize=null;if(toLog){newPos=toLogRange(currentPos,ax.range);var dx=currentSize/Math.pow(10,newPos)/2;newSize=2*Math.log(dx+Math.sqrt(1+dx*dx))/Math.LN10}else{newPos=Math.pow(10,currentPos);newSize=newPos*(Math.pow(10,currentSize/2)-Math.pow(10,-currentSize/2))}if(!isNumeric(newPos)){newPos=null;newSize=null}else if(!isNumeric(newSize))newSize=null;doExtra(attrPrefix+axLetter,newPos);doExtra(attrPrefix+"size"+axLetter,newSize)}}}},{"../../lib/to_log_range":831,"fast-isnumeric":249}],713:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var attributes=_dereq_("./attributes");var name="images";module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){var opts={name:name,handleItemDefaults:imageDefaults};handleArrayContainerDefaults(layoutIn,layoutOut,opts)};function imageDefaults(imageIn,imageOut,fullLayout){function coerce(attr,dflt){return Lib.coerce(imageIn,imageOut,attributes,attr,dflt)}var source=coerce("source");var visible=coerce("visible",!!source);if(!visible)return imageOut;coerce("layer");coerce("xanchor");coerce("yanchor");coerce("sizex");coerce("sizey");coerce("sizing");coerce("opacity");var gdMock={_fullLayout:fullLayout};var axLetters=["x","y"];for(var i=0;i<2;i++){var axLetter=axLetters[i];var axRef=Axes.coerceRef(imageIn,imageOut,gdMock,axLetter,"paper",undefined);if(axRef!=="paper"){var ax=Axes.getFromId(gdMock,axRef);ax._imgIndices.push(imageOut._index)}Axes.coercePosition(imageOut,gdMock,coerce,axRef,axLetter,0)}return imageOut}},{"../../lib":803,"../../plots/array_container_defaults":849,"../../plots/cartesian/axes":854,"./attributes":711}],714:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../drawing");var Axes=_dereq_("../../plots/cartesian/axes");var axisIds=_dereq_("../../plots/cartesian/axis_ids");var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");module.exports=function draw(gd){var fullLayout=gd._fullLayout;var imageDataAbove=[];var imageDataSubplot={};var imageDataBelow=[];var subplot;var i;for(i=0;i<fullLayout.images.length;i++){var img=fullLayout.images[i];if(img.visible){if(img.layer==="below"&&img.xref!=="paper"&&img.yref!=="paper"){subplot=axisIds.ref2id(img.xref)+axisIds.ref2id(img.yref);var plotinfo=fullLayout._plots[subplot];if(!plotinfo){imageDataBelow.push(img);continue}if(plotinfo.mainplot){subplot=plotinfo.mainplot.id}if(!imageDataSubplot[subplot]){imageDataSubplot[subplot]=[]}imageDataSubplot[subplot].push(img)}else if(img.layer==="above"){imageDataAbove.push(img)}else{imageDataBelow.push(img)}}}var anchors={x:{left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-1/2},right:{sizing:"xMax",offset:-1}},y:{top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-1/2},bottom:{sizing:"YMax",offset:-1}}};function setImage(d){var thisImage=d3.select(this);if(this._imgSrc===d.source){return}thisImage.attr("xmlns",xmlnsNamespaces.svg);if(d.source&&d.source.slice(0,5)==="data:"){thisImage.attr("xlink:href",d.source);this._imgSrc=d.source}else{var imagePromise=new Promise(function(resolve){var img=new Image;this.img=img;img.setAttribute("crossOrigin","anonymous");img.onerror=errorHandler;img.onload=function(){var canvas=document.createElement("canvas");canvas.width=this.width;canvas.height=this.height;var ctx=canvas.getContext("2d");ctx.drawImage(this,0,0);var dataURL=canvas.toDataURL("image/png");thisImage.attr("xlink:href",dataURL);resolve()};thisImage.on("error",errorHandler);img.src=d.source;this._imgSrc=d.source;function errorHandler(){thisImage.remove();resolve()}}.bind(this));gd._promises.push(imagePromise)}}function applyAttributes(d){var thisImage=d3.select(this);var xa=Axes.getFromId(gd,d.xref);var ya=Axes.getFromId(gd,d.yref);var xIsDomain=Axes.getRefType(d.xref)==="domain";var yIsDomain=Axes.getRefType(d.yref)==="domain";var size=fullLayout._size;var width,height;if(xa!==undefined){width=typeof d.xref==="string"&&xIsDomain?xa._length*d.sizex:Math.abs(xa.l2p(d.sizex)-xa.l2p(0))}else{width=d.sizex*size.w}if(ya!==undefined){height=typeof d.yref==="string"&&yIsDomain?ya._length*d.sizey:Math.abs(ya.l2p(d.sizey)-ya.l2p(0))}else{height=d.sizey*size.h}var xOffset=width*anchors.x[d.xanchor].offset;var yOffset=height*anchors.y[d.yanchor].offset;var sizing=anchors.x[d.xanchor].sizing+anchors.y[d.yanchor].sizing;var xPos,yPos;if(xa!==undefined){xPos=typeof d.xref==="string"&&xIsDomain?xa._length*d.x+xa._offset:xa.r2p(d.x)+xa._offset}else{xPos=d.x*size.w+size.l}xPos+=xOffset;if(ya!==undefined){yPos=typeof d.yref==="string"&&yIsDomain?ya._length*(1-d.y)+ya._offset:ya.r2p(d.y)+ya._offset}else{yPos=size.h-d.y*size.h+size.t}yPos+=yOffset;switch(d.sizing){case"fill":sizing+=" slice";break;case"stretch":sizing="none";break}thisImage.attr({x:xPos,y:yPos,width:width,height:height,preserveAspectRatio:sizing,opacity:d.opacity});var xId=xa&&Axes.getRefType(d.xref)!=="domain"?xa._id:"";var yId=ya&&Axes.getRefType(d.yref)!=="domain"?ya._id:"";var clipAxes=xId+yId;Drawing.setClipUrl(thisImage,clipAxes?"clip"+fullLayout._uid+clipAxes:null,gd)}var imagesBelow=fullLayout._imageLowerLayer.selectAll("image").data(imageDataBelow);var imagesAbove=fullLayout._imageUpperLayer.selectAll("image").data(imageDataAbove);imagesBelow.enter().append("image");imagesAbove.enter().append("image");imagesBelow.exit().remove();imagesAbove.exit().remove();imagesBelow.each((function(d){setImage.bind(this)(d);applyAttributes.bind(this)(d)}));imagesAbove.each((function(d){setImage.bind(this)(d);applyAttributes.bind(this)(d)}));var allSubplots=Object.keys(fullLayout._plots);for(i=0;i<allSubplots.length;i++){subplot=allSubplots[i];var subplotObj=fullLayout._plots[subplot];if(!subplotObj.imagelayer)continue;var imagesOnSubplot=subplotObj.imagelayer.selectAll("image").data(imageDataSubplot[subplot]||[]);imagesOnSubplot.enter().append("image");imagesOnSubplot.exit().remove();imagesOnSubplot.each((function(d){setImage.bind(this)(d);applyAttributes.bind(this)(d)}))}}},{"../../constants/xmlns_namespaces":780,"../../plots/cartesian/axes":854,"../../plots/cartesian/axis_ids":858,"../drawing":688,"@plotly/d3":58}],715:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"component",name:"images",layoutAttributes:_dereq_("./attributes"),supplyLayoutDefaults:_dereq_("./defaults"),includeBasePlot:_dereq_("../../plots/cartesian/include_components")("images"),draw:_dereq_("./draw"),convertCoords:_dereq_("./convert_coords")}},{"../../plots/cartesian/include_components":867,"./attributes":711,"./convert_coords":712,"./defaults":713,"./draw":714}],716:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../../plots/font_attributes");var colorAttrs=_dereq_("../color/attributes");module.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:colorAttrs.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:fontAttrs({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",false],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",false],dflt:"toggleothers",editType:"legend"},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend"},x:{valType:"number",min:-2,max:3,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},title:{text:{valType:"string",dflt:"",editType:"legend"},font:fontAttrs({editType:"legend"}),side:{valType:"enumerated",values:["top","left","top left"],editType:"legend"},editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":883,"../color/attributes":665}],717:[function(_dereq_,module,exports){"use strict";module.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}},{}],718:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var Template=_dereq_("../../plot_api/plot_template");var attributes=_dereq_("./attributes");var basePlotLayoutAttributes=_dereq_("../../plots/layout_attributes");var helpers=_dereq_("./helpers");module.exports=function legendDefaults(layoutIn,layoutOut,fullData){var containerIn=layoutIn.legend||{};var legendTraceCount=0;var legendReallyHasATrace=false;var defaultOrder="normal";for(var i=0;i<fullData.length;i++){var trace=fullData[i];if(!trace.visible)continue;if(trace.showlegend||trace._dfltShowLegend&&!(trace._module&&trace._module.attributes&&trace._module.attributes.showlegend&&trace._module.attributes.showlegend.dflt===false)){legendTraceCount++;if(trace.showlegend){legendReallyHasATrace=true;if(Registry.traceIs(trace,"pie-like")||trace._input.showlegend===true){legendTraceCount++}}}if(Registry.traceIs(trace,"bar")&&layoutOut.barmode==="stack"||["tonextx","tonexty"].indexOf(trace.fill)!==-1){defaultOrder=helpers.isGrouped({traceorder:defaultOrder})?"grouped+reversed":"reversed"}if(trace.legendgroup!==undefined&&trace.legendgroup!==""){defaultOrder=helpers.isReversed({traceorder:defaultOrder})?"reversed+grouped":"grouped"}}var showLegend=Lib.coerce(layoutIn,layoutOut,basePlotLayoutAttributes,"showlegend",legendReallyHasATrace&&legendTraceCount>1);if(showLegend===false&&!containerIn.uirevision)return;var containerOut=Template.newContainer(layoutOut,"legend");function coerce(attr,dflt){return Lib.coerce(containerIn,containerOut,attributes,attr,dflt)}coerce("uirevision",layoutOut.uirevision);if(showLegend===false)return;coerce("bgcolor",layoutOut.paper_bgcolor);coerce("bordercolor");coerce("borderwidth");var itemFont=Lib.coerceFont(coerce,"font",layoutOut.font);var orientation=coerce("orientation");var isHorizontal=orientation==="h";var defaultX,defaultY,defaultYAnchor;if(isHorizontal){defaultX=0;if(Registry.getComponentMethod("rangeslider","isVisible")(layoutIn.xaxis)){defaultY=1.1;defaultYAnchor="bottom"}else{defaultY=-.1;defaultYAnchor="top"}}else{defaultX=1.02;defaultY=1;defaultYAnchor="auto"}coerce("traceorder",defaultOrder);if(helpers.isGrouped(layoutOut.legend))coerce("tracegroupgap");coerce("itemsizing");coerce("itemwidth");coerce("itemclick");coerce("itemdoubleclick");coerce("groupclick");coerce("x",defaultX);coerce("xanchor");coerce("y",defaultY);coerce("yanchor",defaultYAnchor);coerce("valign");Lib.noneOrAll(containerIn,containerOut,["x","y"]);var titleText=coerce("title.text");if(titleText){coerce("title.side",isHorizontal?"left":"top");var dfltTitleFont=Lib.extendFlat({},itemFont,{size:Lib.bigFont(itemFont.size)});Lib.coerceFont(coerce,"title.font",dfltTitleFont)}}},{"../../lib":803,"../../plot_api/plot_template":843,"../../plots/layout_attributes":908,"../../registry":931,"./attributes":716,"./helpers":722}],719:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Plots=_dereq_("../../plots/plots");var Registry=_dereq_("../../registry");var Events=_dereq_("../../lib/events");var dragElement=_dereq_("../dragelement");var Drawing=_dereq_("../drawing");var Color=_dereq_("../color");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var handleClick=_dereq_("./handle_click");var constants=_dereq_("./constants");var alignmentConstants=_dereq_("../../constants/alignment");var LINE_SPACING=alignmentConstants.LINE_SPACING;var FROM_TL=alignmentConstants.FROM_TL;var FROM_BR=alignmentConstants.FROM_BR;var getLegendData=_dereq_("./get_legend_data");var style=_dereq_("./style");var helpers=_dereq_("./helpers");var MAIN_TITLE=1;module.exports=function draw(gd,opts){if(!opts)opts=gd._fullLayout.legend||{};return _draw(gd,opts)};function _draw(gd,legendObj){var fullLayout=gd._fullLayout;var clipId="legend"+fullLayout._uid;var layer;var inHover=legendObj._inHover;if(inHover){layer=legendObj.layer;clipId+="-hover"}else{layer=fullLayout._infolayer}if(!layer)return;if(!gd._legendMouseDownTime)gd._legendMouseDownTime=0;var legendData;if(!inHover){if(!gd.calcdata)return;legendData=fullLayout.showlegend&&getLegendData(gd.calcdata,legendObj)}else{if(!legendObj.entries)return;legendData=getLegendData(legendObj.entries,legendObj)}var hiddenSlices=fullLayout.hiddenlabels||[];if(!inHover&&(!fullLayout.showlegend||!legendData.length)){layer.selectAll(".legend").remove();fullLayout._topdefs.select("#"+clipId).remove();return Plots.autoMargin(gd,"legend")}var legend=Lib.ensureSingle(layer,"g","legend",(function(s){if(!inHover)s.attr("pointer-events","all")}));var clipPath=Lib.ensureSingleById(fullLayout._topdefs,"clipPath",clipId,(function(s){s.append("rect")}));var bg=Lib.ensureSingle(legend,"rect","bg",(function(s){s.attr("shape-rendering","crispEdges")}));bg.call(Color.stroke,legendObj.bordercolor).call(Color.fill,legendObj.bgcolor).style("stroke-width",legendObj.borderwidth+"px");var scrollBox=Lib.ensureSingle(legend,"g","scrollbox");var title=legendObj.title;legendObj._titleWidth=0;legendObj._titleHeight=0;if(title.text){var titleEl=Lib.ensureSingle(scrollBox,"text","legendtitletext");titleEl.attr("text-anchor","start").call(Drawing.font,title.font).text(title.text);textLayout(titleEl,scrollBox,gd,legendObj,MAIN_TITLE)}else{scrollBox.selectAll(".legendtitletext").remove()}var scrollBar=Lib.ensureSingle(legend,"rect","scrollbar",(function(s){s.attr(constants.scrollBarEnterAttrs).call(Color.fill,constants.scrollBarColor)}));var groups=scrollBox.selectAll("g.groups").data(legendData);groups.enter().append("g").attr("class","groups");groups.exit().remove();var traces=groups.selectAll("g.traces").data(Lib.identity);traces.enter().append("g").attr("class","traces");traces.exit().remove();traces.style("opacity",(function(d){var trace=d[0].trace;if(Registry.traceIs(trace,"pie-like")){return hiddenSlices.indexOf(d[0].label)!==-1?.5:1}else{return trace.visible==="legendonly"?.5:1}})).each((function(){d3.select(this).call(drawTexts,gd,legendObj)})).call(style,gd,legendObj).each((function(){if(!inHover)d3.select(this).call(setupTraceToggle,gd)}));Lib.syncOrAsync([Plots.previousPromises,function(){return computeLegendDimensions(gd,groups,traces,legendObj)},function(){if(!inHover&&expandMargin(gd))return;var gs=fullLayout._size;var bw=legendObj.borderwidth;var lx=gs.l+gs.w*legendObj.x-FROM_TL[getXanchor(legendObj)]*legendObj._width;var ly=gs.t+gs.h*(1-legendObj.y)-FROM_TL[getYanchor(legendObj)]*legendObj._effHeight;if(!inHover&&fullLayout.margin.autoexpand){var lx0=lx;var ly0=ly;lx=Lib.constrain(lx,0,fullLayout.width-legendObj._width);ly=Lib.constrain(ly,0,fullLayout.height-legendObj._effHeight);if(lx!==lx0){Lib.log("Constrain legend.x to make legend fit inside graph")}if(ly!==ly0){Lib.log("Constrain legend.y to make legend fit inside graph")}}if(!inHover)Drawing.setTranslate(legend,lx,ly);scrollBar.on(".drag",null);legend.on("wheel",null);if(inHover||legendObj._height<=legendObj._maxHeight||gd._context.staticPlot){var height=legendObj._effHeight;if(inHover)height=legendObj._height;bg.attr({width:legendObj._width-bw,height:height-bw,x:bw/2,y:bw/2});Drawing.setTranslate(scrollBox,0,0);clipPath.select("rect").attr({width:legendObj._width-2*bw,height:height-2*bw,x:bw,y:bw});Drawing.setClipUrl(scrollBox,clipId,gd);Drawing.setRect(scrollBar,0,0,0,0);delete legendObj._scrollY}else{var scrollBarHeight=Math.max(constants.scrollBarMinHeight,legendObj._effHeight*legendObj._effHeight/legendObj._height);var scrollBarYMax=legendObj._effHeight-scrollBarHeight-2*constants.scrollBarMargin;var scrollBoxYMax=legendObj._height-legendObj._effHeight;var scrollRatio=scrollBarYMax/scrollBoxYMax;var scrollBoxY=Math.min(legendObj._scrollY||0,scrollBoxYMax);bg.attr({width:legendObj._width-2*bw+constants.scrollBarWidth+constants.scrollBarMargin,height:legendObj._effHeight-bw,x:bw/2,y:bw/2});clipPath.select("rect").attr({width:legendObj._width-2*bw+constants.scrollBarWidth+constants.scrollBarMargin,height:legendObj._effHeight-2*bw,x:bw,y:bw+scrollBoxY});Drawing.setClipUrl(scrollBox,clipId,gd);scrollHandler(scrollBoxY,scrollBarHeight,scrollRatio);legend.on("wheel",(function(){scrollBoxY=Lib.constrain(legendObj._scrollY+d3.event.deltaY/scrollBarYMax*scrollBoxYMax,0,scrollBoxYMax);scrollHandler(scrollBoxY,scrollBarHeight,scrollRatio);if(scrollBoxY!==0&&scrollBoxY!==scrollBoxYMax){d3.event.preventDefault()}}));var eventY0,eventY1,scrollBoxY0;var getScrollBarDragY=function(scrollBoxY0,eventY0,eventY1){var y=(eventY1-eventY0)/scrollRatio+scrollBoxY0;return Lib.constrain(y,0,scrollBoxYMax)};var getNaturalDragY=function(scrollBoxY0,eventY0,eventY1){var y=(eventY0-eventY1)/scrollRatio+scrollBoxY0;return Lib.constrain(y,0,scrollBoxYMax)};var scrollBarDrag=d3.behavior.drag().on("dragstart",(function(){var e=d3.event.sourceEvent;if(e.type==="touchstart"){eventY0=e.changedTouches[0].clientY}else{eventY0=e.clientY}scrollBoxY0=scrollBoxY})).on("drag",(function(){var e=d3.event.sourceEvent;if(e.buttons===2||e.ctrlKey)return;if(e.type==="touchmove"){eventY1=e.changedTouches[0].clientY}else{eventY1=e.clientY}scrollBoxY=getScrollBarDragY(scrollBoxY0,eventY0,eventY1);scrollHandler(scrollBoxY,scrollBarHeight,scrollRatio)}));scrollBar.call(scrollBarDrag);var scrollBoxTouchDrag=d3.behavior.drag().on("dragstart",(function(){var e=d3.event.sourceEvent;if(e.type==="touchstart"){eventY0=e.changedTouches[0].clientY;scrollBoxY0=scrollBoxY}})).on("drag",(function(){var e=d3.event.sourceEvent;if(e.type==="touchmove"){eventY1=e.changedTouches[0].clientY;scrollBoxY=getNaturalDragY(scrollBoxY0,eventY0,eventY1);scrollHandler(scrollBoxY,scrollBarHeight,scrollRatio)}}));scrollBox.call(scrollBoxTouchDrag)}function scrollHandler(scrollBoxY,scrollBarHeight,scrollRatio){legendObj._scrollY=gd._fullLayout.legend._scrollY=scrollBoxY;Drawing.setTranslate(scrollBox,0,-scrollBoxY);Drawing.setRect(scrollBar,legendObj._width,constants.scrollBarMargin+scrollBoxY*scrollRatio,constants.scrollBarWidth,scrollBarHeight);clipPath.select("rect").attr("y",bw+scrollBoxY)}if(gd._context.edits.legendPosition){var xf,yf,x0,y0;legend.classed("cursor-move",true);dragElement.init({element:legend.node(),gd:gd,prepFn:function(){var transform=Drawing.getTranslate(legend);x0=transform.x;y0=transform.y},moveFn:function(dx,dy){var newX=x0+dx;var newY=y0+dy;Drawing.setTranslate(legend,newX,newY);xf=dragElement.align(newX,0,gs.l,gs.l+gs.w,legendObj.xanchor);yf=dragElement.align(newY,0,gs.t+gs.h,gs.t,legendObj.yanchor)},doneFn:function(){if(xf!==undefined&&yf!==undefined){Registry.call("_guiRelayout",gd,{"legend.x":xf,"legend.y":yf})}},clickFn:function(numClicks,e){var clickedTrace=layer.selectAll("g.traces").filter((function(){var bbox=this.getBoundingClientRect();return e.clientX>=bbox.left&&e.clientX<=bbox.right&&e.clientY>=bbox.top&&e.clientY<=bbox.bottom}));if(clickedTrace.size()>0){clickOrDoubleClick(gd,legend,clickedTrace,numClicks,e)}}})}}],gd)}function clickOrDoubleClick(gd,legend,legendItem,numClicks,evt){var trace=legendItem.data()[0][0].trace;var evtData={event:evt,node:legendItem.node(),curveNumber:trace.index,expandedIndex:trace._expandedIndex,data:gd.data,layout:gd.layout,frames:gd._transitionData._frames,config:gd._context,fullData:gd._fullData,fullLayout:gd._fullLayout};if(trace._group){evtData.group=trace._group}if(Registry.traceIs(trace,"pie-like")){evtData.label=legendItem.datum()[0].label}var clickVal=Events.triggerHandler(gd,"plotly_legendclick",evtData);if(clickVal===false)return;if(numClicks===1){legend._clickTimeout=setTimeout((function(){if(!gd._fullLayout)return;handleClick(legendItem,gd,numClicks)}),gd._context.doubleClickDelay)}else if(numClicks===2){if(legend._clickTimeout)clearTimeout(legend._clickTimeout);gd._legendMouseDownTime=0;var dblClickVal=Events.triggerHandler(gd,"plotly_legenddoubleclick",evtData);if(dblClickVal!==false)handleClick(legendItem,gd,numClicks)}}function drawTexts(g,gd,legendObj){var legendItem=g.data()[0][0];var trace=legendItem.trace;var isPieLike=Registry.traceIs(trace,"pie-like");var isEditable=!legendObj._inHover&&gd._context.edits.legendText&&!isPieLike;var maxNameLength=legendObj._maxNameLength;var name,font;if(legendItem.groupTitle){name=legendItem.groupTitle.text;font=legendItem.groupTitle.font}else{font=legendObj.font;if(!legendObj.entries){name=isPieLike?legendItem.label:trace.name;if(trace._meta){name=Lib.templateString(name,trace._meta)}}else{name=legendItem.text}}var textEl=Lib.ensureSingle(g,"text","legendtext");textEl.attr("text-anchor","start").call(Drawing.font,font).text(isEditable?ensureLength(name,maxNameLength):name);var textGap=legendObj.itemwidth+constants.itemGap*2;svgTextUtils.positionText(textEl,textGap,0);if(isEditable){textEl.call(svgTextUtils.makeEditable,{gd:gd,text:name}).call(textLayout,g,gd,legendObj).on("edit",(function(newName){this.text(ensureLength(newName,maxNameLength)).call(textLayout,g,gd,legendObj);var fullInput=legendItem.trace._fullInput||{};var update={};if(Registry.hasTransform(fullInput,"groupby")){var groupbyIndices=Registry.getTransformIndices(fullInput,"groupby");var index=groupbyIndices[groupbyIndices.length-1];var kcont=Lib.keyedContainer(fullInput,"transforms["+index+"].styles","target","value.name");kcont.set(legendItem.trace._group,newName);update=kcont.constructUpdate()}else{update.name=newName}return Registry.call("_guiRestyle",gd,update,trace.index)}))}else{textLayout(textEl,g,gd,legendObj)}}function ensureLength(str,maxLength){var targetLength=Math.max(4,maxLength);if(str&&str.trim().length>=targetLength/2)return str;str=str||"";for(var i=targetLength-str.length;i>0;i--)str+=" ";return str}function setupTraceToggle(g,gd){var doubleClickDelay=gd._context.doubleClickDelay;var newMouseDownTime;var numClicks=1;var traceToggle=Lib.ensureSingle(g,"rect","legendtoggle",(function(s){if(!gd._context.staticPlot){s.style("cursor","pointer").attr("pointer-events","all")}s.call(Color.fill,"rgba(0,0,0,0)")}));if(gd._context.staticPlot)return;traceToggle.on("mousedown",(function(){newMouseDownTime=(new Date).getTime();if(newMouseDownTime-gd._legendMouseDownTime<doubleClickDelay){numClicks+=1}else{numClicks=1;gd._legendMouseDownTime=newMouseDownTime}}));traceToggle.on("mouseup",(function(){if(gd._dragged||gd._editing)return;var legend=gd._fullLayout.legend;if((new Date).getTime()-gd._legendMouseDownTime>doubleClickDelay){numClicks=Math.max(numClicks-1,1)}clickOrDoubleClick(gd,legend,g,numClicks,d3.event)}))}function textLayout(s,g,gd,legendObj,aTitle){if(legendObj._inHover)s.attr("data-notex",true);svgTextUtils.convertToTspans(s,gd,(function(){computeTextDimensions(g,gd,legendObj,aTitle)}))}function computeTextDimensions(g,gd,legendObj,aTitle){var legendItem=g.data()[0][0];if(!legendObj._inHover&&legendItem&&!legendItem.trace.showlegend){g.remove();return}var mathjaxGroup=g.select("g[class*=math-group]");var mathjaxNode=mathjaxGroup.node();if(!legendObj)legendObj=gd._fullLayout.legend;var bw=legendObj.borderwidth;var font;if(aTitle===MAIN_TITLE){font=legendObj.title.font}else if(legendItem.groupTitle){font=legendItem.groupTitle.font}else{font=legendObj.font}var lineHeight=font.size*LINE_SPACING;var height,width;if(mathjaxNode){var mathjaxBB=Drawing.bBox(mathjaxNode);height=mathjaxBB.height;width=mathjaxBB.width;if(aTitle===MAIN_TITLE){Drawing.setTranslate(mathjaxGroup,bw,bw+height*.75)}else{Drawing.setTranslate(mathjaxGroup,0,height*.25)}}else{var textEl=g.select(aTitle===MAIN_TITLE?".legendtitletext":".legendtext");var textLines=svgTextUtils.lineCount(textEl);var textNode=textEl.node();height=lineHeight*textLines;width=textNode?Drawing.bBox(textNode).width:0;if(aTitle===MAIN_TITLE){if(legendObj.title.side==="left"){width+=constants.itemGap*2}svgTextUtils.positionText(textEl,bw+constants.titlePad,bw+lineHeight)}else{var x=constants.itemGap*2+legendObj.itemwidth;if(legendItem.groupTitle){x=constants.itemGap;width-=legendObj.itemwidth}svgTextUtils.positionText(textEl,x,-lineHeight*((textLines-1)/2-.3))}}if(aTitle===MAIN_TITLE){legendObj._titleWidth=width;legendObj._titleHeight=height}else{legendItem.lineHeight=lineHeight;legendItem.height=Math.max(height,16)+3;legendItem.width=width}}function getTitleSize(legendObj){var w=0;var h=0;var side=legendObj.title.side;if(side){if(side.indexOf("left")!==-1){w=legendObj._titleWidth}if(side.indexOf("top")!==-1){h=legendObj._titleHeight}}return[w,h]}function computeLegendDimensions(gd,groups,traces,legendObj){var fullLayout=gd._fullLayout;if(!legendObj)legendObj=fullLayout.legend;var gs=fullLayout._size;var isVertical=helpers.isVertical(legendObj);var isGrouped=helpers.isGrouped(legendObj);var bw=legendObj.borderwidth;var bw2=2*bw;var itemGap=constants.itemGap;var textGap=legendObj.itemwidth+itemGap*2;var endPad=2*(bw+itemGap);var yanchor=getYanchor(legendObj);var isBelowPlotArea=legendObj.y<0||legendObj.y===0&&yanchor==="top";var isAbovePlotArea=legendObj.y>1||legendObj.y===1&&yanchor==="bottom";var traceGroupGap=legendObj.tracegroupgap;legendObj._maxHeight=Math.max(isBelowPlotArea||isAbovePlotArea?fullLayout.height/2:gs.h,30);var toggleRectWidth=0;legendObj._width=0;legendObj._height=0;var titleSize=getTitleSize(legendObj);if(isVertical){traces.each((function(d){var h=d[0].height;Drawing.setTranslate(this,bw+titleSize[0],bw+titleSize[1]+legendObj._height+h/2+itemGap);legendObj._height+=h;legendObj._width=Math.max(legendObj._width,d[0].width)}));toggleRectWidth=textGap+legendObj._width;legendObj._width+=itemGap+textGap+bw2;legendObj._height+=endPad;if(isGrouped){groups.each((function(d,i){Drawing.setTranslate(this,0,i*legendObj.tracegroupgap)}));legendObj._height+=(legendObj._lgroupsLength-1)*legendObj.tracegroupgap}}else{var xanchor=getXanchor(legendObj);var isLeftOfPlotArea=legendObj.x<0||legendObj.x===0&&xanchor==="right";var isRightOfPlotArea=legendObj.x>1||legendObj.x===1&&xanchor==="left";var isBeyondPlotAreaY=isAbovePlotArea||isBelowPlotArea;var hw=fullLayout.width/2;legendObj._maxWidth=Math.max(isLeftOfPlotArea?isBeyondPlotAreaY&&xanchor==="left"?gs.l+gs.w:hw:isRightOfPlotArea?isBeyondPlotAreaY&&xanchor==="right"?gs.r+gs.w:hw:gs.w,2*textGap);var maxItemWidth=0;var combinedItemWidth=0;traces.each((function(d){var w=d[0].width+textGap;maxItemWidth=Math.max(maxItemWidth,w);combinedItemWidth+=w}));toggleRectWidth=null;var maxRowWidth=0;if(isGrouped){var maxGroupHeightInRow=0;var groupOffsetX=0;var groupOffsetY=0;groups.each((function(){var maxWidthInGroup=0;var offsetY=0;d3.select(this).selectAll("g.traces").each((function(d){var h=d[0].height;Drawing.setTranslate(this,titleSize[0],titleSize[1]+bw+itemGap+h/2+offsetY);offsetY+=h;maxWidthInGroup=Math.max(maxWidthInGroup,textGap+d[0].width)}));maxGroupHeightInRow=Math.max(maxGroupHeightInRow,offsetY);var next=maxWidthInGroup+itemGap;if(next+bw+groupOffsetX>legendObj._maxWidth){maxRowWidth=Math.max(maxRowWidth,groupOffsetX);groupOffsetX=0;groupOffsetY+=maxGroupHeightInRow+traceGroupGap;maxGroupHeightInRow=offsetY}Drawing.setTranslate(this,groupOffsetX,groupOffsetY);groupOffsetX+=next}));legendObj._width=Math.max(maxRowWidth,groupOffsetX)+bw;legendObj._height=groupOffsetY+maxGroupHeightInRow+endPad}else{var nTraces=traces.size();var oneRowLegend=combinedItemWidth+bw2+(nTraces-1)*itemGap<legendObj._maxWidth;var maxItemHeightInRow=0;var offsetX=0;var offsetY=0;var rowWidth=0;traces.each((function(d){var h=d[0].height;var w=textGap+d[0].width;var next=(oneRowLegend?w:maxItemWidth)+itemGap;if(next+bw+offsetX-itemGap>=legendObj._maxWidth){maxRowWidth=Math.max(maxRowWidth,rowWidth);offsetX=0;offsetY+=maxItemHeightInRow;legendObj._height+=maxItemHeightInRow;maxItemHeightInRow=0}Drawing.setTranslate(this,titleSize[0]+bw+offsetX,titleSize[1]+bw+offsetY+h/2+itemGap);rowWidth=offsetX+w+itemGap;offsetX+=next;maxItemHeightInRow=Math.max(maxItemHeightInRow,h)}));if(oneRowLegend){legendObj._width=offsetX+bw2;legendObj._height=maxItemHeightInRow+endPad}else{legendObj._width=Math.max(maxRowWidth,rowWidth)+bw2;legendObj._height+=maxItemHeightInRow+endPad}}}legendObj._width=Math.ceil(Math.max(legendObj._width+titleSize[0],legendObj._titleWidth+2*(bw+constants.titlePad)));legendObj._height=Math.ceil(Math.max(legendObj._height+titleSize[1],legendObj._titleHeight+2*(bw+constants.itemGap)));legendObj._effHeight=Math.min(legendObj._height,legendObj._maxHeight);var edits=gd._context.edits;var isEditable=edits.legendText||edits.legendPosition;traces.each((function(d){var traceToggle=d3.select(this).select(".legendtoggle");var h=d[0].height;var w=isEditable?textGap:toggleRectWidth||textGap+d[0].width;if(!isVertical)w+=itemGap/2;Drawing.setRect(traceToggle,0,-h/2,w,h)}))}function expandMargin(gd){var fullLayout=gd._fullLayout;var legendObj=fullLayout.legend;var xanchor=getXanchor(legendObj);var yanchor=getYanchor(legendObj);return Plots.autoMargin(gd,"legend",{x:legendObj.x,y:legendObj.y,l:legendObj._width*FROM_TL[xanchor],r:legendObj._width*FROM_BR[xanchor],b:legendObj._effHeight*FROM_BR[yanchor],t:legendObj._effHeight*FROM_TL[yanchor]})}function getXanchor(legendObj){return Lib.isRightAnchor(legendObj)?"right":Lib.isCenterAnchor(legendObj)?"center":"left"}function getYanchor(legendObj){return Lib.isBottomAnchor(legendObj)?"bottom":Lib.isMiddleAnchor(legendObj)?"middle":"top"}},{"../../constants/alignment":771,"../../lib":803,"../../lib/events":792,"../../lib/svg_text_utils":829,"../../plots/plots":917,"../../registry":931,"../color":666,"../dragelement":685,"../drawing":688,"./constants":717,"./get_legend_data":720,"./handle_click":721,"./helpers":722,"./style":724,"@plotly/d3":58}],720:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var helpers=_dereq_("./helpers");module.exports=function getLegendData(calcdata,opts){var inHover=opts._inHover;var grouped=helpers.isGrouped(opts);var reversed=helpers.isReversed(opts);var lgroupToTraces={};var lgroups=[];var hasOneNonBlankGroup=false;var slicesShown={};var lgroupi=0;var maxNameLength=0;var i,j;function addOneItem(legendGroup,legendItem){if(legendGroup===""||!helpers.isGrouped(opts)){var uniqueGroup="~~i"+lgroupi;lgroups.push(uniqueGroup);lgroupToTraces[uniqueGroup]=[legendItem];lgroupi++}else if(lgroups.indexOf(legendGroup)===-1){lgroups.push(legendGroup);hasOneNonBlankGroup=true;lgroupToTraces[legendGroup]=[legendItem]}else{lgroupToTraces[legendGroup].push(legendItem)}}for(i=0;i<calcdata.length;i++){var cd=calcdata[i];var cd0=cd[0];var trace=cd0.trace;var lgroup=trace.legendgroup;if(!inHover&&(!trace.visible||!trace.showlegend))continue;if(Registry.traceIs(trace,"pie-like")){if(!slicesShown[lgroup])slicesShown[lgroup]={};for(j=0;j<cd.length;j++){var labelj=cd[j].label;if(!slicesShown[lgroup][labelj]){addOneItem(lgroup,{label:labelj,color:cd[j].color,i:cd[j].i,trace:trace,pts:cd[j].pts});slicesShown[lgroup][labelj]=true;maxNameLength=Math.max(maxNameLength,(labelj||"").length)}}}else{addOneItem(lgroup,cd0);maxNameLength=Math.max(maxNameLength,(trace.name||"").length)}}if(!lgroups.length)return[];var shouldCollapse=!hasOneNonBlankGroup||!grouped;var legendData=[];for(i=0;i<lgroups.length;i++){var t=lgroupToTraces[lgroups[i]];if(shouldCollapse){legendData.push(t[0])}else{legendData.push(t)}}if(shouldCollapse)legendData=[legendData];for(i=0;i<legendData.length;i++){var groupMinRank=Infinity;for(j=0;j<legendData[i].length;j++){var rank=legendData[i][j].trace.legendrank;if(groupMinRank>rank)groupMinRank=rank}legendData[i][0]._groupMinRank=groupMinRank;legendData[i][0]._preGroupSort=i}var orderFn1=function(a,b){return a[0]._groupMinRank-b[0]._groupMinRank||a[0]._preGroupSort-b[0]._preGroupSort};var orderFn2=function(a,b){return a.trace.legendrank-b.trace.legendrank||a._preSort-b._preSort};legendData.forEach((function(a,k){a[0]._preGroupSort=k}));legendData.sort(orderFn1);for(i=0;i<legendData.length;i++){legendData[i].forEach((function(a,k){a._preSort=k}));legendData[i].sort(orderFn2);var firstItemTrace=legendData[i][0].trace;var groupTitle=null;for(j=0;j<legendData[i].length;j++){var gt=legendData[i][j].trace.legendgrouptitle;if(gt&&gt.text){groupTitle=gt;if(inHover)gt.font=opts._groupTitleFont;break}}if(reversed)legendData[i].reverse();if(groupTitle){var hasPieLike=false;for(j=0;j<legendData[i].length;j++){if(Registry.traceIs(legendData[i][j].trace,"pie-like")){hasPieLike=true;break}}legendData[i].unshift({i:-1,groupTitle:groupTitle,noClick:hasPieLike,trace:{showlegend:firstItemTrace.showlegend,legendgroup:firstItemTrace.legendgroup,visible:opts.groupclick==="toggleitem"?true:firstItemTrace.visible}})}for(j=0;j<legendData[i].length;j++){legendData[i][j]=[legendData[i][j]]}}opts._lgroupsLength=legendData.length;opts._maxNameLength=maxNameLength;return legendData}},{"../../registry":931,"./helpers":722}],721:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var SHOWISOLATETIP=true;module.exports=function handleClick(g,gd,numClicks){var fullLayout=gd._fullLayout;if(gd._dragged||gd._editing)return;var itemClick=fullLayout.legend.itemclick;var itemDoubleClick=fullLayout.legend.itemdoubleclick;var groupClick=fullLayout.legend.groupclick;if(numClicks===1&&itemClick==="toggle"&&itemDoubleClick==="toggleothers"&&SHOWISOLATETIP&&gd.data&&gd._context.showTips){Lib.notifier(Lib._(gd,"Double-click on legend to isolate one trace"),"long");SHOWISOLATETIP=false}else{SHOWISOLATETIP=false}var mode;if(numClicks===1)mode=itemClick;else if(numClicks===2)mode=itemDoubleClick;if(!mode)return;var toggleGroup=groupClick==="togglegroup";var hiddenSlices=fullLayout.hiddenlabels?fullLayout.hiddenlabels.slice():[];var legendItem=g.data()[0][0];if(legendItem.groupTitle&&legendItem.noClick)return;var fullData=gd._fullData;var fullTrace=legendItem.trace;var legendgroup=fullTrace.legendgroup;var i,j,kcont,key,keys,val;var attrUpdate={};var attrIndices=[];var carrs=[];var carrIdx=[];function insertUpdate(traceIndex,key,value){var attrIndex=attrIndices.indexOf(traceIndex);var valueArray=attrUpdate[key];if(!valueArray){valueArray=attrUpdate[key]=[]}if(attrIndices.indexOf(traceIndex)===-1){attrIndices.push(traceIndex);attrIndex=attrIndices.length-1}valueArray[attrIndex]=value;return attrIndex}function setVisibility(fullTrace,visibility){if(legendItem.groupTitle&&!toggleGroup)return;var fullInput=fullTrace._fullInput;if(Registry.hasTransform(fullInput,"groupby")){var kcont=carrs[fullInput.index];if(!kcont){var groupbyIndices=Registry.getTransformIndices(fullInput,"groupby");var lastGroupbyIndex=groupbyIndices[groupbyIndices.length-1];kcont=Lib.keyedContainer(fullInput,"transforms["+lastGroupbyIndex+"].styles","target","value.visible");carrs[fullInput.index]=kcont}var curState=kcont.get(fullTrace._group);if(curState===undefined){curState=true}if(curState!==false){kcont.set(fullTrace._group,visibility)}carrIdx[fullInput.index]=insertUpdate(fullInput.index,"visible",fullInput.visible===false?false:true)}else{var nextVisibility=fullInput.visible===false?false:visibility;insertUpdate(fullInput.index,"visible",nextVisibility)}}if(Registry.traceIs(fullTrace,"pie-like")){var thisLabel=legendItem.label;var thisLabelIndex=hiddenSlices.indexOf(thisLabel);if(mode==="toggle"){if(thisLabelIndex===-1)hiddenSlices.push(thisLabel);else hiddenSlices.splice(thisLabelIndex,1)}else if(mode==="toggleothers"){hiddenSlices=[];gd.calcdata[0].forEach((function(d){if(thisLabel!==d.label){hiddenSlices.push(d.label)}}));if(gd._fullLayout.hiddenlabels&&gd._fullLayout.hiddenlabels.length===hiddenSlices.length&&thisLabelIndex===-1){hiddenSlices=[]}}Registry.call("_guiRelayout",gd,"hiddenlabels",hiddenSlices)}else{var hasLegendgroup=legendgroup&&legendgroup.length;var traceIndicesInGroup=[];var tracei;if(hasLegendgroup){for(i=0;i<fullData.length;i++){tracei=fullData[i];if(!tracei.visible)continue;if(tracei.legendgroup===legendgroup){traceIndicesInGroup.push(i)}}}if(mode==="toggle"){var nextVisibility;switch(fullTrace.visible){case true:nextVisibility="legendonly";break;case false:nextVisibility=false;break;case"legendonly":nextVisibility=true;break}if(hasLegendgroup){if(toggleGroup){for(i=0;i<fullData.length;i++){if(fullData[i].visible!==false&&fullData[i].legendgroup===legendgroup){setVisibility(fullData[i],nextVisibility)}}}else{setVisibility(fullTrace,nextVisibility)}}else{setVisibility(fullTrace,nextVisibility)}}else if(mode==="toggleothers"){var isClicked,isInGroup,notInLegend,otherState;var isIsolated=true;for(i=0;i<fullData.length;i++){isClicked=fullData[i]===fullTrace;notInLegend=fullData[i].showlegend!==true;if(isClicked||notInLegend)continue;isInGroup=hasLegendgroup&&fullData[i].legendgroup===legendgroup;if(!isInGroup&&fullData[i].visible===true&&!Registry.traceIs(fullData[i],"notLegendIsolatable")){isIsolated=false;break}}for(i=0;i<fullData.length;i++){if(fullData[i].visible===false)continue;if(Registry.traceIs(fullData[i],"notLegendIsolatable")){continue}switch(fullTrace.visible){case"legendonly":setVisibility(fullData[i],true);break;case true:otherState=isIsolated?true:"legendonly";isClicked=fullData[i]===fullTrace;notInLegend=fullData[i].showlegend!==true&&!fullData[i].legendgroup;isInGroup=isClicked||hasLegendgroup&&fullData[i].legendgroup===legendgroup;setVisibility(fullData[i],isInGroup||notInLegend?true:otherState);break}}}for(i=0;i<carrs.length;i++){kcont=carrs[i];if(!kcont)continue;var update=kcont.constructUpdate();var updateKeys=Object.keys(update);for(j=0;j<updateKeys.length;j++){key=updateKeys[j];val=attrUpdate[key]=attrUpdate[key]||[];val[carrIdx[i]]=update[key]}}keys=Object.keys(attrUpdate);for(i=0;i<keys.length;i++){key=keys[i];for(j=0;j<attrIndices.length;j++){if(!attrUpdate[key].hasOwnProperty(j)){attrUpdate[key][j]=undefined}}}Registry.call("_guiRestyle",gd,attrUpdate,attrIndices)}}},{"../../lib":803,"../../registry":931}],722:[function(_dereq_,module,exports){"use strict";exports.isGrouped=function isGrouped(legendLayout){return(legendLayout.traceorder||"").indexOf("grouped")!==-1};exports.isVertical=function isVertical(legendLayout){return legendLayout.orientation!=="h"};exports.isReversed=function isReversed(legendLayout){return(legendLayout.traceorder||"").indexOf("reversed")!==-1}},{}],723:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"component",name:"legend",layoutAttributes:_dereq_("./attributes"),supplyLayoutDefaults:_dereq_("./defaults"),draw:_dereq_("./draw"),style:_dereq_("./style")}},{"./attributes":716,"./defaults":718,"./draw":719,"./style":724}],724:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var Drawing=_dereq_("../drawing");var Color=_dereq_("../color");var extractOpts=_dereq_("../colorscale/helpers").extractOpts;var subTypes=_dereq_("../../traces/scatter/subtypes");var stylePie=_dereq_("../../traces/pie/style_one");var pieCastOption=_dereq_("../../traces/pie/helpers").castOption;var constants=_dereq_("./constants");var CST_MARKER_SIZE=12;var CST_LINE_WIDTH=5;var CST_MARKER_LINE_WIDTH=2;var MAX_LINE_WIDTH=10;var MAX_MARKER_LINE_WIDTH=5;module.exports=function style(s,gd,legend){var fullLayout=gd._fullLayout;if(!legend)legend=fullLayout.legend;var constantItemSizing=legend.itemsizing==="constant";var itemWidth=legend.itemwidth;var centerPos=(itemWidth+constants.itemGap*2)/2;var centerTransform=strTranslate(centerPos,0);var boundLineWidth=function(mlw,cont,max,cst){var v;if(mlw+1){v=mlw}else if(cont&&cont.width>0){v=cont.width}else{return 0}return constantItemSizing?cst:Math.min(v,max)};s.each((function(d){var traceGroup=d3.select(this);var layers=Lib.ensureSingle(traceGroup,"g","layers");layers.style("opacity",d[0].trace.opacity);var valign=legend.valign;var lineHeight=d[0].lineHeight;var height=d[0].height;if(valign==="middle"||!lineHeight||!height){layers.attr("transform",null)}else{var factor={top:1,bottom:-1}[valign];var markerOffsetY=factor*(.5*(lineHeight-height+3));layers.attr("transform",strTranslate(0,markerOffsetY))}var fill=layers.selectAll("g.legendfill").data([d]);fill.enter().append("g").classed("legendfill",true);var line=layers.selectAll("g.legendlines").data([d]);line.enter().append("g").classed("legendlines",true);var symbol=layers.selectAll("g.legendsymbols").data([d]);symbol.enter().append("g").classed("legendsymbols",true);symbol.selectAll("g.legendpoints").data([d]).enter().append("g").classed("legendpoints",true)})).each(styleSpatial).each(styleWaterfalls).each(styleFunnels).each(styleBars).each(styleBoxes).each(styleFunnelareas).each(stylePies).each(styleLines).each(stylePoints).each(styleCandles).each(styleOHLC);function styleLines(d){var styleGuide=getStyleGuide(d);var showFill=styleGuide.showFill;var showLine=styleGuide.showLine;var showGradientLine=styleGuide.showGradientLine;var showGradientFill=styleGuide.showGradientFill;var anyFill=styleGuide.anyFill;var anyLine=styleGuide.anyLine;var d0=d[0];var trace=d0.trace;var dMod,tMod;var cOpts=extractOpts(trace);var colorscale=cOpts.colorscale;var reversescale=cOpts.reversescale;var fillGradient=function(s){if(s.size()){var gradientID="legendfill-"+trace.uid;Drawing.gradient(s,gd,gradientID,getGradientDirection(reversescale),colorscale,"fill")}};var lineGradient=function(s){if(s.size()){var gradientID="legendline-"+trace.uid;Drawing.lineGroupStyle(s);Drawing.gradient(s,gd,gradientID,getGradientDirection(reversescale),colorscale,"stroke")}};var pathStart=subTypes.hasMarkers(trace)||!anyFill?"M5,0":anyLine?"M5,-2":"M5,-3";var this3=d3.select(this);var fill=this3.select(".legendfill").selectAll("path").data(showFill||showGradientFill?[d]:[]);fill.enter().append("path").classed("js-fill",true);fill.exit().remove();fill.attr("d",pathStart+"h"+itemWidth+"v6h-"+itemWidth+"z").call(showFill?Drawing.fillGroupStyle:fillGradient);if(showLine||showGradientLine){var lw=boundLineWidth(undefined,trace.line,MAX_LINE_WIDTH,CST_LINE_WIDTH);tMod=Lib.minExtend(trace,{line:{width:lw}});dMod=[Lib.minExtend(d0,{trace:tMod})]}var line=this3.select(".legendlines").selectAll("path").data(showLine||showGradientLine?[dMod]:[]);line.enter().append("path").classed("js-line",true);line.exit().remove();line.attr("d",pathStart+(showGradientLine?"l"+itemWidth+",0.0001":"h"+itemWidth)).call(showLine?Drawing.lineGroupStyle:lineGradient)}function stylePoints(d){var styleGuide=getStyleGuide(d);var anyFill=styleGuide.anyFill;var anyLine=styleGuide.anyLine;var showLine=styleGuide.showLine;var showMarker=styleGuide.showMarker;var d0=d[0];var trace=d0.trace;var showText=!showMarker&&!anyLine&&!anyFill&&subTypes.hasText(trace);var dMod,tMod;function boundVal(attrIn,arrayToValFn,bounds,cst){var valIn=Lib.nestedProperty(trace,attrIn).get();var valToBound=Lib.isArrayOrTypedArray(valIn)&&arrayToValFn?arrayToValFn(valIn):valIn;if(constantItemSizing&&valToBound&&cst!==undefined){valToBound=cst}if(bounds){if(valToBound<bounds[0])return bounds[0];else if(valToBound>bounds[1])return bounds[1]}return valToBound}function pickFirst(array){if(d0._distinct&&d0.index&&array[d0.index])return array[d0.index];return array[0]}if(showMarker||showText||showLine){var dEdit={};var tEdit={};if(showMarker){dEdit.mc=boundVal("marker.color",pickFirst);dEdit.mx=boundVal("marker.symbol",pickFirst);dEdit.mo=boundVal("marker.opacity",Lib.mean,[.2,1]);dEdit.mlc=boundVal("marker.line.color",pickFirst);dEdit.mlw=boundVal("marker.line.width",Lib.mean,[0,5],CST_MARKER_LINE_WIDTH);tEdit.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var ms=boundVal("marker.size",Lib.mean,[2,16],CST_MARKER_SIZE);dEdit.ms=ms;tEdit.marker.size=ms}if(showLine){tEdit.line={width:boundVal("line.width",pickFirst,[0,10],CST_LINE_WIDTH)}}if(showText){dEdit.tx="Aa";dEdit.tp=boundVal("textposition",pickFirst);dEdit.ts=10;dEdit.tc=boundVal("textfont.color",pickFirst);dEdit.tf=boundVal("textfont.family",pickFirst)}dMod=[Lib.minExtend(d0,dEdit)];tMod=Lib.minExtend(trace,tEdit);tMod.selectedpoints=null;tMod.texttemplate=null}var ptgroup=d3.select(this).select("g.legendpoints");var pts=ptgroup.selectAll("path.scatterpts").data(showMarker?dMod:[]);pts.enter().insert("path",":first-child").classed("scatterpts",true).attr("transform",centerTransform);pts.exit().remove();pts.call(Drawing.pointStyle,tMod,gd);if(showMarker)dMod[0].mrc=3;var txt=ptgroup.selectAll("g.pointtext").data(showText?dMod:[]);txt.enter().append("g").classed("pointtext",true).append("text").attr("transform",centerTransform);txt.exit().remove();txt.selectAll("text").call(Drawing.textPointStyle,tMod,gd)}function styleWaterfalls(d){var trace=d[0].trace;var isWaterfall=trace.type==="waterfall";if(d[0]._distinct&&isWaterfall){var cont=d[0].trace[d[0].dir].marker;d[0].mc=cont.color;d[0].mlw=cont.line.width;d[0].mlc=cont.line.color;return styleBarLike(d,this,"waterfall")}var ptsData=[];if(trace.visible&&isWaterfall){ptsData=d[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]}var pts=d3.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(ptsData);pts.enter().append("path").classed("legendwaterfall",true).attr("transform",centerTransform).style("stroke-miterlimit",1);pts.exit().remove();pts.each((function(dd){var pt=d3.select(this);var cont=trace[dd[0]].marker;var lw=boundLineWidth(undefined,cont.line,MAX_MARKER_LINE_WIDTH,CST_MARKER_LINE_WIDTH);pt.attr("d",dd[1]).style("stroke-width",lw+"px").call(Color.fill,cont.color);if(lw){pt.call(Color.stroke,cont.line.color)}}))}function styleBars(d){styleBarLike(d,this)}function styleFunnels(d){styleBarLike(d,this,"funnel")}function styleBarLike(d,lThis,desiredType){var trace=d[0].trace;var marker=trace.marker||{};var markerLine=marker.line||{};var isVisible=!desiredType?Registry.traceIs(trace,"bar"):trace.visible&&trace.type===desiredType;var barpath=d3.select(lThis).select("g.legendpoints").selectAll("path.legend"+desiredType).data(isVisible?[d]:[]);barpath.enter().append("path").classed("legend"+desiredType,true).attr("d","M6,6H-6V-6H6Z").attr("transform",centerTransform);barpath.exit().remove();barpath.each((function(d){var p=d3.select(this);var d0=d[0];var w=boundLineWidth(d0.mlw,marker.line,MAX_MARKER_LINE_WIDTH,CST_MARKER_LINE_WIDTH);p.style("stroke-width",w+"px");var mcc=d0.mcc;if(!legend._inHover&&"mc"in d0){var cOpts=extractOpts(marker);var mid=cOpts.mid;if(mid===undefined)mid=(cOpts.max+cOpts.min)/2;mcc=Drawing.tryColorscale(marker,"")(mid)}var fillColor=mcc||d0.mc||marker.color;var markerPattern=marker.pattern;var patternShape=markerPattern&&Drawing.getPatternAttr(markerPattern.shape,0,"");if(patternShape){var patternBGColor=Drawing.getPatternAttr(markerPattern.bgcolor,0,null);var patternFGColor=Drawing.getPatternAttr(markerPattern.fgcolor,0,null);var patternFGOpacity=markerPattern.fgopacity;var patternSize=dimAttr(markerPattern.size,8,10);var patternSolidity=dimAttr(markerPattern.solidity,.5,1);var patternID="legend-"+trace.uid;p.call(Drawing.pattern,"legend",gd,patternID,patternShape,patternSize,patternSolidity,mcc,markerPattern.fillmode,patternBGColor,patternFGColor,patternFGOpacity)}else{p.call(Color.fill,fillColor)}if(w)Color.stroke(p,d0.mlc||markerLine.color)}))}function styleBoxes(d){var trace=d[0].trace;var pts=d3.select(this).select("g.legendpoints").selectAll("path.legendbox").data(trace.visible&&Registry.traceIs(trace,"box-violin")?[d]:[]);pts.enter().append("path").classed("legendbox",true).attr("d","M6,6H-6V-6H6Z").attr("transform",centerTransform);pts.exit().remove();pts.each((function(){var p=d3.select(this);if((trace.boxpoints==="all"||trace.points==="all")&&Color.opacity(trace.fillcolor)===0&&Color.opacity((trace.line||{}).color)===0){var tMod=Lib.minExtend(trace,{marker:{size:constantItemSizing?CST_MARKER_SIZE:Lib.constrain(trace.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});pts.call(Drawing.pointStyle,tMod,gd)}else{var w=boundLineWidth(undefined,trace.line,MAX_MARKER_LINE_WIDTH,CST_MARKER_LINE_WIDTH);p.style("stroke-width",w+"px").call(Color.fill,trace.fillcolor);if(w)Color.stroke(p,trace.line.color)}}))}function styleCandles(d){var trace=d[0].trace;var pts=d3.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(trace.visible&&trace.type==="candlestick"?[d,d]:[]);pts.enter().append("path").classed("legendcandle",true).attr("d",(function(_,i){if(i)return"M-15,0H-8M-8,6V-6H8Z";return"M15,0H8M8,-6V6H-8Z"})).attr("transform",centerTransform).style("stroke-miterlimit",1);pts.exit().remove();pts.each((function(_,i){var p=d3.select(this);var cont=trace[i?"increasing":"decreasing"];var w=boundLineWidth(undefined,cont.line,MAX_MARKER_LINE_WIDTH,CST_MARKER_LINE_WIDTH);p.style("stroke-width",w+"px").call(Color.fill,cont.fillcolor);if(w)Color.stroke(p,cont.line.color)}))}function styleOHLC(d){var trace=d[0].trace;var pts=d3.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(trace.visible&&trace.type==="ohlc"?[d,d]:[]);pts.enter().append("path").classed("legendohlc",true).attr("d",(function(_,i){if(i)return"M-15,0H0M-8,-6V0";return"M15,0H0M8,6V0"})).attr("transform",centerTransform).style("stroke-miterlimit",1);pts.exit().remove();pts.each((function(_,i){var p=d3.select(this);var cont=trace[i?"increasing":"decreasing"];var w=boundLineWidth(undefined,cont.line,MAX_MARKER_LINE_WIDTH,CST_MARKER_LINE_WIDTH);p.style("fill","none").call(Drawing.dashLine,cont.line.dash,w);if(w)Color.stroke(p,cont.line.color)}))}function stylePies(d){stylePieLike(d,this,"pie")}function styleFunnelareas(d){stylePieLike(d,this,"funnelarea")}function stylePieLike(d,lThis,desiredType){var d0=d[0];var trace=d0.trace;var isVisible=!desiredType?Registry.traceIs(trace,desiredType):trace.visible&&trace.type===desiredType;var pts=d3.select(lThis).select("g.legendpoints").selectAll("path.legend"+desiredType).data(isVisible?[d]:[]);pts.enter().append("path").classed("legend"+desiredType,true).attr("d","M6,6H-6V-6H6Z").attr("transform",centerTransform);pts.exit().remove();if(pts.size()){var cont=(trace.marker||{}).line;var lw=boundLineWidth(pieCastOption(cont.width,d0.pts),cont,MAX_MARKER_LINE_WIDTH,CST_MARKER_LINE_WIDTH);var tMod=Lib.minExtend(trace,{marker:{line:{width:lw}}});tMod.marker.line.color=cont.color;var d0Mod=Lib.minExtend(d0,{trace:tMod});stylePie(pts,d0Mod,tMod)}}function styleSpatial(d){var trace=d[0].trace;var useGradient;var ptsData=[];if(trace.visible){switch(trace.type){case"histogram2d":case"heatmap":ptsData=[["M-15,-2V4H15V-2Z"]];useGradient=true;break;case"choropleth":case"choroplethmapbox":ptsData=[["M-6,-6V6H6V-6Z"]];useGradient=true;break;case"densitymapbox":ptsData=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]];useGradient="radial";break;case"cone":ptsData=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]];useGradient=false;break;case"streamtube":ptsData=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]];useGradient=false;break;case"surface":ptsData=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]];useGradient=true;break;case"mesh3d":ptsData=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]];useGradient=false;break;case"volume":ptsData=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]];useGradient=true;break;case"isosurface":ptsData=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]];useGradient=false;break}}var pts=d3.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(ptsData);pts.enter().append("path").classed("legend3dandfriends",true).attr("transform",centerTransform).style("stroke-miterlimit",1);pts.exit().remove();pts.each((function(dd,i){var pt=d3.select(this);var cOpts=extractOpts(trace);var colorscale=cOpts.colorscale;var reversescale=cOpts.reversescale;var fillGradient=function(s){if(s.size()){var gradientID="legendfill-"+trace.uid;Drawing.gradient(s,gd,gradientID,getGradientDirection(reversescale,useGradient==="radial"),colorscale,"fill")}};var fillColor;if(!colorscale){var color=trace.vertexcolor||trace.facecolor||trace.color;fillColor=Lib.isArrayOrTypedArray(color)?color[i]||color[0]:color}else{if(!useGradient){var len=colorscale.length;fillColor=i===0?colorscale[reversescale?len-1:0][1]:i===1?colorscale[reversescale?0:len-1][1]:colorscale[Math.floor((len-1)/2)][1]}}pt.attr("d",dd[0]);if(fillColor){pt.call(Color.fill,fillColor)}else{pt.call(fillGradient)}}))}};function getGradientDirection(reversescale,isRadial){var str=isRadial?"radial":"horizontal";return str+(reversescale?"":"reversed")}function getStyleGuide(d){var trace=d[0].trace;var contours=trace.contours;var showLine=subTypes.hasLines(trace);var showMarker=subTypes.hasMarkers(trace);var showFill=trace.visible&&trace.fill&&trace.fill!=="none";var showGradientLine=false;var showGradientFill=false;if(contours){var coloring=contours.coloring;if(coloring==="lines"){showGradientLine=true}else{showLine=coloring==="none"||coloring==="heatmap"||contours.showlines}if(contours.type==="constraint"){showFill=contours._operation!=="="}else if(coloring==="fill"||coloring==="heatmap"){showGradientFill=true}}return{showMarker:showMarker,showLine:showLine,showFill:showFill,showGradientLine:showGradientLine,showGradientFill:showGradientFill,anyLine:showLine||showGradientLine,anyFill:showFill||showGradientFill}}function dimAttr(v,dflt,max){if(v&&Lib.isArrayOrTypedArray(v))return dflt;if(v>max)return max;return v}},{"../../lib":803,"../../registry":931,"../../traces/pie/helpers":1197,"../../traces/pie/style_one":1203,"../../traces/scatter/subtypes":1243,"../color":666,"../colorscale/helpers":677,"../drawing":688,"./constants":717,"@plotly/d3":58}],725:[function(_dereq_,module,exports){"use strict";var constants=_dereq_("./constants");module.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:true,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:true,dflt:"",editType:"modebar"}}},{"./constants":727}],726:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Plots=_dereq_("../../plots/plots");var axisIds=_dereq_("../../plots/cartesian/axis_ids");var Icons=_dereq_("../../fonts/ploticon");var eraseActiveShape=_dereq_("../shapes/draw").eraseActiveShape;var Lib=_dereq_("../../lib");var _=Lib._;var modeBarButtons=module.exports={};modeBarButtons.toImage={name:"toImage",title:function(gd){var opts=gd._context.toImageButtonOptions||{};var format=opts.format||"png";return format==="png"?_(gd,"Download plot as a png"):_(gd,"Download plot")},icon:Icons.camera,click:function(gd){var toImageButtonOptions=gd._context.toImageButtonOptions;var opts={format:toImageButtonOptions.format||"png"};Lib.notifier(_(gd,"Taking snapshot - this may take a few seconds"),"long");if(opts.format!=="svg"&&Lib.isIE()){Lib.notifier(_(gd,"IE only supports svg.  Changing format to svg."),"long");opts.format="svg"}["filename","width","height","scale"].forEach((function(key){if(key in toImageButtonOptions){opts[key]=toImageButtonOptions[key]}}));Registry.call("downloadImage",gd,opts).then((function(filename){Lib.notifier(_(gd,"Snapshot succeeded")+" - "+filename,"long")})).catch((function(){Lib.notifier(_(gd,"Sorry, there was a problem downloading your snapshot!"),"long")}))}};modeBarButtons.sendDataToCloud={name:"sendDataToCloud",title:function(gd){return _(gd,"Edit in Chart Studio")},icon:Icons.disk,click:function(gd){Plots.sendDataToCloud(gd)}};modeBarButtons.editInChartStudio={name:"editInChartStudio",title:function(gd){return _(gd,"Edit in Chart Studio")},icon:Icons.pencil,click:function(gd){Plots.sendDataToCloud(gd)}};modeBarButtons.zoom2d={name:"zoom2d",_cat:"zoom",title:function(gd){return _(gd,"Zoom")},attr:"dragmode",val:"zoom",icon:Icons.zoombox,click:handleCartesian};modeBarButtons.pan2d={name:"pan2d",_cat:"pan",title:function(gd){return _(gd,"Pan")},attr:"dragmode",val:"pan",icon:Icons.pan,click:handleCartesian};modeBarButtons.select2d={name:"select2d",_cat:"select",title:function(gd){return _(gd,"Box Select")},attr:"dragmode",val:"select",icon:Icons.selectbox,click:handleCartesian};modeBarButtons.lasso2d={name:"lasso2d",_cat:"lasso",title:function(gd){return _(gd,"Lasso Select")},attr:"dragmode",val:"lasso",icon:Icons.lasso,click:handleCartesian};modeBarButtons.drawclosedpath={name:"drawclosedpath",title:function(gd){return _(gd,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:Icons.drawclosedpath,click:handleCartesian};modeBarButtons.drawopenpath={name:"drawopenpath",title:function(gd){return _(gd,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:Icons.drawopenpath,click:handleCartesian};modeBarButtons.drawline={name:"drawline",title:function(gd){return _(gd,"Draw line")},attr:"dragmode",val:"drawline",icon:Icons.drawline,click:handleCartesian};modeBarButtons.drawrect={name:"drawrect",title:function(gd){return _(gd,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:Icons.drawrect,click:handleCartesian};modeBarButtons.drawcircle={name:"drawcircle",title:function(gd){return _(gd,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:Icons.drawcircle,click:handleCartesian};modeBarButtons.eraseshape={name:"eraseshape",title:function(gd){return _(gd,"Erase active shape")},icon:Icons.eraseshape,click:eraseActiveShape};modeBarButtons.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(gd){return _(gd,"Zoom in")},attr:"zoom",val:"in",icon:Icons.zoom_plus,click:handleCartesian};modeBarButtons.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(gd){return _(gd,"Zoom out")},attr:"zoom",val:"out",icon:Icons.zoom_minus,click:handleCartesian};modeBarButtons.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(gd){return _(gd,"Autoscale")},attr:"zoom",val:"auto",icon:Icons.autoscale,click:handleCartesian};modeBarButtons.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(gd){return _(gd,"Reset axes")},attr:"zoom",val:"reset",icon:Icons.home,click:handleCartesian};modeBarButtons.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(gd){return _(gd,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:Icons.tooltip_basic,gravity:"ne",click:handleCartesian};modeBarButtons.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(gd){return _(gd,"Compare data on hover")},attr:"hovermode",val:function(gd){return gd._fullLayout._isHoriz?"y":"x"},icon:Icons.tooltip_compare,gravity:"ne",click:handleCartesian};function handleCartesian(gd,ev){var button=ev.currentTarget;var astr=button.getAttribute("data-attr");var val=button.getAttribute("data-val")||true;var fullLayout=gd._fullLayout;var aobj={};var axList=axisIds.list(gd,null,true);var allSpikesEnabled=fullLayout._cartesianSpikesEnabled;var ax,i;if(astr==="zoom"){var mag=val==="in"?.5:2;var r0=(1+mag)/2;var r1=(1-mag)/2;var axName;for(i=0;i<axList.length;i++){ax=axList[i];if(!ax.fixedrange){axName=ax._name;if(val==="auto"){aobj[axName+".autorange"]=true}else if(val==="reset"){if(ax._rangeInitial===undefined){aobj[axName+".autorange"]=true}else{var rangeInitial=ax._rangeInitial.slice();aobj[axName+".range[0]"]=rangeInitial[0];aobj[axName+".range[1]"]=rangeInitial[1]}if(ax._showSpikeInitial!==undefined){aobj[axName+".showspikes"]=ax._showSpikeInitial;if(allSpikesEnabled==="on"&&!ax._showSpikeInitial){allSpikesEnabled="off"}}}else{var rangeNow=[ax.r2l(ax.range[0]),ax.r2l(ax.range[1])];var rangeNew=[r0*rangeNow[0]+r1*rangeNow[1],r0*rangeNow[1]+r1*rangeNow[0]];aobj[axName+".range[0]"]=ax.l2r(rangeNew[0]);aobj[axName+".range[1]"]=ax.l2r(rangeNew[1])}}}}else{if(astr==="hovermode"&&(val==="x"||val==="y")){val=fullLayout._isHoriz?"y":"x";button.setAttribute("data-val",val)}aobj[astr]=val}fullLayout._cartesianSpikesEnabled=allSpikesEnabled;Registry.call("_guiRelayout",gd,aobj)}modeBarButtons.zoom3d={name:"zoom3d",_cat:"zoom",title:function(gd){return _(gd,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:Icons.zoombox,click:handleDrag3d};modeBarButtons.pan3d={name:"pan3d",_cat:"pan",title:function(gd){return _(gd,"Pan")},attr:"scene.dragmode",val:"pan",icon:Icons.pan,click:handleDrag3d};modeBarButtons.orbitRotation={name:"orbitRotation",title:function(gd){return _(gd,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:Icons["3d_rotate"],click:handleDrag3d};modeBarButtons.tableRotation={name:"tableRotation",title:function(gd){return _(gd,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:Icons["z-axis"],click:handleDrag3d};function handleDrag3d(gd,ev){var button=ev.currentTarget;var attr=button.getAttribute("data-attr");var val=button.getAttribute("data-val")||true;var sceneIds=gd._fullLayout._subplots.gl3d||[];var layoutUpdate={};var parts=attr.split(".");for(var i=0;i<sceneIds.length;i++){layoutUpdate[sceneIds[i]+"."+parts[1]]=val}var val2d=val==="pan"?val:"zoom";layoutUpdate.dragmode=val2d;Registry.call("_guiRelayout",gd,layoutUpdate)}modeBarButtons.resetCameraDefault3d={name:"resetCameraDefault3d",_cat:"resetCameraDefault",title:function(gd){return _(gd,"Reset camera to default")},attr:"resetDefault",icon:Icons.home,click:handleCamera3d};modeBarButtons.resetCameraLastSave3d={name:"resetCameraLastSave3d",_cat:"resetCameraLastSave",title:function(gd){return _(gd,"Reset camera to last save")},attr:"resetLastSave",icon:Icons.movie,click:handleCamera3d};function handleCamera3d(gd,ev){var button=ev.currentTarget;var attr=button.getAttribute("data-attr");var resetLastSave=attr==="resetLastSave";var resetDefault=attr==="resetDefault";var fullLayout=gd._fullLayout;var sceneIds=fullLayout._subplots.gl3d||[];var aobj={};for(var i=0;i<sceneIds.length;i++){var sceneId=sceneIds[i];var camera=sceneId+".camera";var aspectratio=sceneId+".aspectratio";var aspectmode=sceneId+".aspectmode";var scene=fullLayout[sceneId]._scene;var didUpdate;if(resetLastSave){aobj[camera+".up"]=scene.viewInitial.up;aobj[camera+".eye"]=scene.viewInitial.eye;aobj[camera+".center"]=scene.viewInitial.center;didUpdate=true}else if(resetDefault){aobj[camera+".up"]=null;aobj[camera+".eye"]=null;aobj[camera+".center"]=null;didUpdate=true}if(didUpdate){aobj[aspectratio+".x"]=scene.viewInitial.aspectratio.x;aobj[aspectratio+".y"]=scene.viewInitial.aspectratio.y;aobj[aspectratio+".z"]=scene.viewInitial.aspectratio.z;aobj[aspectmode]=scene.viewInitial.aspectmode}}Registry.call("_guiRelayout",gd,aobj)}modeBarButtons.hoverClosest3d={name:"hoverClosest3d",_cat:"hoverclosest",title:function(gd){return _(gd,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:true,icon:Icons.tooltip_basic,gravity:"ne",click:handleHover3d};function getNextHover3d(gd,ev){var button=ev.currentTarget;var val=button._previousVal;var fullLayout=gd._fullLayout;var sceneIds=fullLayout._subplots.gl3d||[];var axes=["xaxis","yaxis","zaxis"];var currentSpikes={};var layoutUpdate={};if(val){layoutUpdate=val;button._previousVal=null}else{for(var i=0;i<sceneIds.length;i++){var sceneId=sceneIds[i];var sceneLayout=fullLayout[sceneId];var hovermodeAStr=sceneId+".hovermode";currentSpikes[hovermodeAStr]=sceneLayout.hovermode;layoutUpdate[hovermodeAStr]=false;for(var j=0;j<3;j++){var axis=axes[j];var spikeAStr=sceneId+"."+axis+".showspikes";layoutUpdate[spikeAStr]=false;currentSpikes[spikeAStr]=sceneLayout[axis].showspikes}}button._previousVal=currentSpikes}return layoutUpdate}function handleHover3d(gd,ev){var layoutUpdate=getNextHover3d(gd,ev);Registry.call("_guiRelayout",gd,layoutUpdate)}modeBarButtons.zoomInGeo={name:"zoomInGeo",_cat:"zoomin",title:function(gd){return _(gd,"Zoom in")},attr:"zoom",val:"in",icon:Icons.zoom_plus,click:handleGeo};modeBarButtons.zoomOutGeo={name:"zoomOutGeo",_cat:"zoomout",title:function(gd){return _(gd,"Zoom out")},attr:"zoom",val:"out",icon:Icons.zoom_minus,click:handleGeo};modeBarButtons.resetGeo={name:"resetGeo",_cat:"reset",title:function(gd){return _(gd,"Reset")},attr:"reset",val:null,icon:Icons.autoscale,click:handleGeo};modeBarButtons.hoverClosestGeo={name:"hoverClosestGeo",_cat:"hoverclosest",title:function(gd){return _(gd,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:true,icon:Icons.tooltip_basic,gravity:"ne",click:toggleHover};function handleGeo(gd,ev){var button=ev.currentTarget;var attr=button.getAttribute("data-attr");var val=button.getAttribute("data-val")||true;var fullLayout=gd._fullLayout;var geoIds=fullLayout._subplots.geo||[];for(var i=0;i<geoIds.length;i++){var id=geoIds[i];var geoLayout=fullLayout[id];if(attr==="zoom"){var scale=geoLayout.projection.scale;var newScale=val==="in"?2*scale:.5*scale;Registry.call("_guiRelayout",gd,id+".projection.scale",newScale)}}if(attr==="reset"){resetView(gd,"geo")}}modeBarButtons.hoverClosestGl2d={name:"hoverClosestGl2d",_cat:"hoverclosest",title:function(gd){return _(gd,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:true,icon:Icons.tooltip_basic,gravity:"ne",click:toggleHover};modeBarButtons.hoverClosestPie={name:"hoverClosestPie",_cat:"hoverclosest",title:function(gd){return _(gd,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:Icons.tooltip_basic,gravity:"ne",click:toggleHover};function getNextHover(gd){var fullLayout=gd._fullLayout;if(fullLayout.hovermode)return false;if(fullLayout._has("cartesian")){return fullLayout._isHoriz?"y":"x"}return"closest"}function toggleHover(gd){var newHover=getNextHover(gd);Registry.call("_guiRelayout",gd,"hovermode",newHover)}modeBarButtons.resetViewSankey={name:"resetSankeyGroup",title:function(gd){return _(gd,"Reset view")},icon:Icons.home,click:function(gd){var aObj={"node.groups":[],"node.x":[],"node.y":[]};for(var i=0;i<gd._fullData.length;i++){var viewInitial=gd._fullData[i]._viewInitial;aObj["node.groups"].push(viewInitial.node.groups.slice());aObj["node.x"].push(viewInitial.node.x.slice());aObj["node.y"].push(viewInitial.node.y.slice())}Registry.call("restyle",gd,aObj)}};modeBarButtons.toggleHover={name:"toggleHover",title:function(gd){return _(gd,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:true,icon:Icons.tooltip_basic,gravity:"ne",click:function(gd,ev){var layoutUpdate=getNextHover3d(gd,ev);layoutUpdate.hovermode=getNextHover(gd);Registry.call("_guiRelayout",gd,layoutUpdate)}};modeBarButtons.resetViews={name:"resetViews",title:function(gd){return _(gd,"Reset views")},icon:Icons.home,click:function(gd,ev){var button=ev.currentTarget;button.setAttribute("data-attr","zoom");button.setAttribute("data-val","reset");handleCartesian(gd,ev);button.setAttribute("data-attr","resetLastSave");handleCamera3d(gd,ev);resetView(gd,"geo");resetView(gd,"mapbox")}};modeBarButtons.toggleSpikelines={name:"toggleSpikelines",title:function(gd){return _(gd,"Toggle Spike Lines")},icon:Icons.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(gd){var fullLayout=gd._fullLayout;var allSpikesEnabled=fullLayout._cartesianSpikesEnabled;fullLayout._cartesianSpikesEnabled=allSpikesEnabled==="on"?"off":"on";Registry.call("_guiRelayout",gd,setSpikelineVisibility(gd))}};function setSpikelineVisibility(gd){var fullLayout=gd._fullLayout;var areSpikesOn=fullLayout._cartesianSpikesEnabled==="on";var axList=axisIds.list(gd,null,true);var aobj={};for(var i=0;i<axList.length;i++){var ax=axList[i];aobj[ax._name+".showspikes"]=areSpikesOn?true:ax._showSpikeInitial}return aobj}modeBarButtons.resetViewMapbox={name:"resetViewMapbox",_cat:"resetView",title:function(gd){return _(gd,"Reset view")},attr:"reset",icon:Icons.home,click:function(gd){resetView(gd,"mapbox")}};modeBarButtons.zoomInMapbox={name:"zoomInMapbox",_cat:"zoomin",title:function(gd){return _(gd,"Zoom in")},attr:"zoom",val:"in",icon:Icons.zoom_plus,click:handleMapboxZoom};modeBarButtons.zoomOutMapbox={name:"zoomOutMapbox",_cat:"zoomout",title:function(gd){return _(gd,"Zoom out")},attr:"zoom",val:"out",icon:Icons.zoom_minus,click:handleMapboxZoom};function handleMapboxZoom(gd,ev){var button=ev.currentTarget;var val=button.getAttribute("data-val");var fullLayout=gd._fullLayout;var subplotIds=fullLayout._subplots.mapbox||[];var scalar=1.05;var aObj={};for(var i=0;i<subplotIds.length;i++){var id=subplotIds[i];var current=fullLayout[id].zoom;var next=val==="in"?scalar*current:current/scalar;aObj[id+".zoom"]=next}Registry.call("_guiRelayout",gd,aObj)}function resetView(gd,subplotType){var fullLayout=gd._fullLayout;var subplotIds=fullLayout._subplots[subplotType]||[];var aObj={};for(var i=0;i<subplotIds.length;i++){var id=subplotIds[i];var subplotObj=fullLayout[id]._subplot;var viewInitial=subplotObj.viewInitial;var viewKeys=Object.keys(viewInitial);for(var j=0;j<viewKeys.length;j++){var key=viewKeys[j];aObj[id+"."+key]=viewInitial[key]}}Registry.call("_guiRelayout",gd,aObj)}},{"../../fonts/ploticon":782,"../../lib":803,"../../plots/cartesian/axis_ids":858,"../../plots/plots":917,"../../registry":931,"../shapes/draw":750}],727:[function(_dereq_,module,exports){"use strict";var modeBarButtons=_dereq_("./buttons");var buttonList=Object.keys(modeBarButtons);var DRAW_MODES=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"];var backButtons=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(DRAW_MODES);var foreButtons=[];var addToForeButtons=function(b){if(backButtons.indexOf(b._cat||b.name)!==-1)return;var name=b.name;var _cat=(b._cat||b.name).toLowerCase();if(foreButtons.indexOf(name)===-1)foreButtons.push(name);if(foreButtons.indexOf(_cat)===-1)foreButtons.push(_cat)};buttonList.forEach((function(k){addToForeButtons(modeBarButtons[k])}));foreButtons.sort();module.exports={DRAW_MODES:DRAW_MODES,backButtons:backButtons,foreButtons:foreButtons}},{"./buttons":726}],728:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../color");var Template=_dereq_("../../plot_api/plot_template");var attributes=_dereq_("./attributes");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){var containerIn=layoutIn.modebar||{};var containerOut=Template.newContainer(layoutOut,"modebar");function coerce(attr,dflt){return Lib.coerce(containerIn,containerOut,attributes,attr,dflt)}coerce("orientation");coerce("bgcolor",Color.addOpacity(layoutOut.paper_bgcolor,.5));var defaultColor=Color.contrast(Color.rgb(layoutOut.modebar.bgcolor));coerce("color",Color.addOpacity(defaultColor,.3));coerce("activecolor",Color.addOpacity(defaultColor,.7));coerce("uirevision",layoutOut.uirevision);coerce("add");coerce("remove")}},{"../../lib":803,"../../plot_api/plot_template":843,"../color":666,"./attributes":725}],729:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"component",name:"modebar",layoutAttributes:_dereq_("./attributes"),supplyLayoutDefaults:_dereq_("./defaults"),manage:_dereq_("./manage")}},{"./attributes":725,"./defaults":728,"./manage":730}],730:[function(_dereq_,module,exports){"use strict";var axisIds=_dereq_("../../plots/cartesian/axis_ids");var scatterSubTypes=_dereq_("../../traces/scatter/subtypes");var Registry=_dereq_("../../registry");var isUnifiedHover=_dereq_("../fx/helpers").isUnifiedHover;var createModeBar=_dereq_("./modebar");var modeBarButtons=_dereq_("./buttons");var DRAW_MODES=_dereq_("./constants").DRAW_MODES;module.exports=function manageModeBar(gd){var fullLayout=gd._fullLayout;var context=gd._context;var modeBar=fullLayout._modeBar;if(!context.displayModeBar&&!context.watermark){if(modeBar){modeBar.destroy();delete fullLayout._modeBar}return}if(!Array.isArray(context.modeBarButtonsToRemove)){throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "))}if(!Array.isArray(context.modeBarButtonsToAdd)){throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "))}var customButtons=context.modeBarButtons;var buttonGroups;if(Array.isArray(customButtons)&&customButtons.length){buttonGroups=fillCustomButton(customButtons)}else if(!context.displayModeBar&&context.watermark){buttonGroups=[]}else{buttonGroups=getButtonGroups(gd)}if(modeBar)modeBar.update(gd,buttonGroups);else fullLayout._modeBar=createModeBar(gd,buttonGroups)};function getButtonGroups(gd){var fullLayout=gd._fullLayout;var fullData=gd._fullData;var context=gd._context;function match(name,B){if(typeof B==="string"){if(B.toLowerCase()===name.toLowerCase())return true}else{var v0=B.name;var v1=B._cat||B.name;if(v0===name||v1===name.toLowerCase())return true}return false}var layoutAdd=fullLayout.modebar.add;if(typeof layoutAdd==="string")layoutAdd=[layoutAdd];var layoutRemove=fullLayout.modebar.remove;if(typeof layoutRemove==="string")layoutRemove=[layoutRemove];var buttonsToAdd=context.modeBarButtonsToAdd.concat(layoutAdd.filter((function(e){for(var i=0;i<context.modeBarButtonsToRemove.length;i++){if(match(e,context.modeBarButtonsToRemove[i]))return false}return true})));var buttonsToRemove=context.modeBarButtonsToRemove.concat(layoutRemove.filter((function(e){for(var i=0;i<context.modeBarButtonsToAdd.length;i++){if(match(e,context.modeBarButtonsToAdd[i]))return false}return true})));var hasCartesian=fullLayout._has("cartesian");var hasGL3D=fullLayout._has("gl3d");var hasGeo=fullLayout._has("geo");var hasPie=fullLayout._has("pie");var hasFunnelarea=fullLayout._has("funnelarea");var hasGL2D=fullLayout._has("gl2d");var hasTernary=fullLayout._has("ternary");var hasMapbox=fullLayout._has("mapbox");var hasPolar=fullLayout._has("polar");var hasSankey=fullLayout._has("sankey");var allAxesFixed=areAllAxesFixed(fullLayout);var hasUnifiedHoverLabel=isUnifiedHover(fullLayout.hovermode);var groups=[];function addGroup(newGroup){if(!newGroup.length)return;var out=[];for(var i=0;i<newGroup.length;i++){var name=newGroup[i];var B=modeBarButtons[name];var v0=B.name.toLowerCase();var v1=(B._cat||B.name).toLowerCase();var found=false;for(var q=0;q<buttonsToRemove.length;q++){var t=buttonsToRemove[q].toLowerCase();if(t===v0||t===v1){found=true;break}}if(found)continue;out.push(modeBarButtons[name])}groups.push(out)}var commonGroup=["toImage"];if(context.showEditInChartStudio)commonGroup.push("editInChartStudio");else if(context.showSendToCloud)commonGroup.push("sendDataToCloud");addGroup(commonGroup);var zoomGroup=[];var hoverGroup=[];var resetGroup=[];var dragModeGroup=[];if((hasCartesian||hasGL2D||hasPie||hasFunnelarea||hasTernary)+hasGeo+hasGL3D+hasMapbox+hasPolar>1){hoverGroup=["toggleHover"];resetGroup=["resetViews"]}else if(hasGeo){zoomGroup=["zoomInGeo","zoomOutGeo"];hoverGroup=["hoverClosestGeo"];resetGroup=["resetGeo"]}else if(hasGL3D){hoverGroup=["hoverClosest3d"];resetGroup=["resetCameraDefault3d","resetCameraLastSave3d"]}else if(hasMapbox){zoomGroup=["zoomInMapbox","zoomOutMapbox"];hoverGroup=["toggleHover"];resetGroup=["resetViewMapbox"]}else if(hasGL2D){hoverGroup=["hoverClosestGl2d"]}else if(hasPie){hoverGroup=["hoverClosestPie"]}else if(hasSankey){hoverGroup=["hoverClosestCartesian","hoverCompareCartesian"];resetGroup=["resetViewSankey"]}else{hoverGroup=["toggleHover"]}if(hasCartesian){hoverGroup=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]}if(hasNoHover(fullData)||hasUnifiedHoverLabel){hoverGroup=[]}if((hasCartesian||hasGL2D)&&!allAxesFixed){zoomGroup=["zoomIn2d","zoomOut2d","autoScale2d"];if(resetGroup[0]!=="resetViews")resetGroup=["resetScale2d"]}if(hasGL3D){dragModeGroup=["zoom3d","pan3d","orbitRotation","tableRotation"]}else if((hasCartesian||hasGL2D)&&!allAxesFixed||hasTernary){dragModeGroup=["zoom2d","pan2d"]}else if(hasMapbox||hasGeo){dragModeGroup=["pan2d"]}else if(hasPolar){dragModeGroup=["zoom2d"]}if(isSelectable(fullData)){dragModeGroup.push("select2d","lasso2d")}var enabledHoverGroup=[];var enableHover=function(a){if(enabledHoverGroup.indexOf(a)!==-1)return;if(hoverGroup.indexOf(a)!==-1){enabledHoverGroup.push(a)}};if(Array.isArray(buttonsToAdd)){var newList=[];for(var i=0;i<buttonsToAdd.length;i++){var b=buttonsToAdd[i];if(typeof b==="string"){b=b.toLowerCase();if(DRAW_MODES.indexOf(b)!==-1){if(fullLayout._has("mapbox")||fullLayout._has("cartesian")){dragModeGroup.push(b)}}else if(b==="togglespikelines"){enableHover("toggleSpikelines")}else if(b==="togglehover"){enableHover("toggleHover")}else if(b==="hovercompare"){enableHover("hoverCompareCartesian")}else if(b==="hoverclosest"){enableHover("hoverClosestCartesian");enableHover("hoverClosestGeo");enableHover("hoverClosest3d");enableHover("hoverClosestGl2d");enableHover("hoverClosestPie")}else if(b==="v1hovermode"){enableHover("toggleHover");enableHover("hoverClosestCartesian");enableHover("hoverCompareCartesian");enableHover("hoverClosestGeo");enableHover("hoverClosest3d");enableHover("hoverClosestGl2d");enableHover("hoverClosestPie")}}else newList.push(b)}buttonsToAdd=newList}addGroup(dragModeGroup);addGroup(zoomGroup.concat(resetGroup));addGroup(enabledHoverGroup);return appendButtonsToGroups(groups,buttonsToAdd)}function areAllAxesFixed(fullLayout){var axList=axisIds.list({_fullLayout:fullLayout},null,true);for(var i=0;i<axList.length;i++){if(!axList[i].fixedrange){return false}}return true}function isSelectable(fullData){var selectable=false;for(var i=0;i<fullData.length;i++){if(selectable)break;var trace=fullData[i];if(!trace._module||!trace._module.selectPoints)continue;if(Registry.traceIs(trace,"scatter-like")){if(scatterSubTypes.hasMarkers(trace)||scatterSubTypes.hasText(trace)){selectable=true}}else if(Registry.traceIs(trace,"box-violin")){if(trace.boxpoints==="all"||trace.points==="all"){selectable=true}}else{selectable=true}}return selectable}function hasNoHover(fullData){for(var i=0;i<fullData.length;i++){if(!Registry.traceIs(fullData[i],"noHover"))return false}return true}function appendButtonsToGroups(groups,buttons){if(buttons.length){if(Array.isArray(buttons[0])){for(var i=0;i<buttons.length;i++){groups.push(buttons[i])}}else groups.push(buttons)}return groups}function fillCustomButton(customButtons){for(var i=0;i<customButtons.length;i++){var buttonGroup=customButtons[i];for(var j=0;j<buttonGroup.length;j++){var button=buttonGroup[j];if(typeof button==="string"){if(modeBarButtons[button]!==undefined){customButtons[i][j]=modeBarButtons[button]}else{throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "))}}}}return customButtons}},{"../../plots/cartesian/axis_ids":858,"../../registry":931,"../../traces/scatter/subtypes":1243,"../fx/helpers":702,"./buttons":726,"./constants":727,"./modebar":731}],731:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var Icons=_dereq_("../../fonts/ploticon");var Parser=new DOMParser;function ModeBar(opts){this.container=opts.container;this.element=document.createElement("div");this.update(opts.graphInfo,opts.buttons);this.container.appendChild(this.element)}var proto=ModeBar.prototype;proto.update=function(graphInfo,buttons){this.graphInfo=graphInfo;var context=this.graphInfo._context;var fullLayout=this.graphInfo._fullLayout;var modeBarId="modebar-"+fullLayout._uid;this.element.setAttribute("id",modeBarId);this._uid=modeBarId;this.element.className="modebar";if(context.displayModeBar==="hover")this.element.className+=" modebar--hover ease-bg";if(fullLayout.modebar.orientation==="v"){this.element.className+=" vertical";buttons=buttons.reverse()}var style=fullLayout.modebar;var bgSelector=context.displayModeBar==="hover"?".js-plotly-plot .plotly:hover ":"";Lib.deleteRelatedStyleRule(modeBarId);Lib.addRelatedStyleRule(modeBarId,bgSelector+"#"+modeBarId+" .modebar-group","background-color: "+style.bgcolor);Lib.addRelatedStyleRule(modeBarId,"#"+modeBarId+" .modebar-btn .icon path","fill: "+style.color);Lib.addRelatedStyleRule(modeBarId,"#"+modeBarId+" .modebar-btn:hover .icon path","fill: "+style.activecolor);Lib.addRelatedStyleRule(modeBarId,"#"+modeBarId+" .modebar-btn.active .icon path","fill: "+style.activecolor);var needsNewButtons=!this.hasButtons(buttons);var needsNewLogo=this.hasLogo!==context.displaylogo;var needsNewLocale=this.locale!==context.locale;this.locale=context.locale;if(needsNewButtons||needsNewLogo||needsNewLocale){this.removeAllButtons();this.updateButtons(buttons);if(context.watermark||context.displaylogo){var logoGroup=this.getLogo();if(context.watermark){logoGroup.className=logoGroup.className+" watermark"}if(fullLayout.modebar.orientation==="v"){this.element.insertBefore(logoGroup,this.element.childNodes[0])}else{this.element.appendChild(logoGroup)}this.hasLogo=true}}this.updateActiveButton()};proto.updateButtons=function(buttons){var _this=this;this.buttons=buttons;this.buttonElements=[];this.buttonsNames=[];this.buttons.forEach((function(buttonGroup){var group=_this.createGroup();buttonGroup.forEach((function(buttonConfig){var buttonName=buttonConfig.name;if(!buttonName){throw new Error("must provide button 'name' in button config")}if(_this.buttonsNames.indexOf(buttonName)!==-1){throw new Error("button name '"+buttonName+"' is taken")}_this.buttonsNames.push(buttonName);var button=_this.createButton(buttonConfig);_this.buttonElements.push(button);group.appendChild(button)}));_this.element.appendChild(group)}))};proto.createGroup=function(){var group=document.createElement("div");group.className="modebar-group";return group};proto.createButton=function(config){var _this=this;var button=document.createElement("a");button.setAttribute("rel","tooltip");button.className="modebar-btn";var title=config.title;if(title===undefined)title=config.name;else if(typeof title==="function")title=title(this.graphInfo);if(title||title===0)button.setAttribute("data-title",title);if(config.attr!==undefined)button.setAttribute("data-attr",config.attr);var val=config.val;if(val!==undefined){if(typeof val==="function")val=val(this.graphInfo);button.setAttribute("data-val",val)}var click=config.click;if(typeof click!=="function"){throw new Error("must provide button 'click' function in button config")}else{button.addEventListener("click",(function(ev){config.click(_this.graphInfo,ev);_this.updateActiveButton(ev.currentTarget)}))}button.setAttribute("data-toggle",config.toggle||false);if(config.toggle)d3.select(button).classed("active",true);var icon=config.icon;if(typeof icon==="function"){button.appendChild(icon())}else{button.appendChild(this.createIcon(icon||Icons.question))}button.setAttribute("data-gravity",config.gravity||"n");return button};proto.createIcon=function(thisIcon){var iconHeight=isNumeric(thisIcon.height)?Number(thisIcon.height):thisIcon.ascent-thisIcon.descent;var svgNS="http://www.w3.org/2000/svg";var icon;if(thisIcon.path){icon=document.createElementNS(svgNS,"svg");icon.setAttribute("viewBox",[0,0,thisIcon.width,iconHeight].join(" "));icon.setAttribute("class","icon");var path=document.createElementNS(svgNS,"path");path.setAttribute("d",thisIcon.path);if(thisIcon.transform){path.setAttribute("transform",thisIcon.transform)}else if(thisIcon.ascent!==undefined){path.setAttribute("transform","matrix(1 0 0 -1 0 "+thisIcon.ascent+")")}icon.appendChild(path)}if(thisIcon.svg){var svgDoc=Parser.parseFromString(thisIcon.svg,"application/xml");icon=svgDoc.childNodes[0]}icon.setAttribute("height","1em");icon.setAttribute("width","1em");return icon};proto.updateActiveButton=function(buttonClicked){var fullLayout=this.graphInfo._fullLayout;var dataAttrClicked=buttonClicked!==undefined?buttonClicked.getAttribute("data-attr"):null;this.buttonElements.forEach((function(button){var thisval=button.getAttribute("data-val")||true;var dataAttr=button.getAttribute("data-attr");var isToggleButton=button.getAttribute("data-toggle")==="true";var button3=d3.select(button);if(isToggleButton){if(dataAttr===dataAttrClicked){button3.classed("active",!button3.classed("active"))}}else{var val=dataAttr===null?dataAttr:Lib.nestedProperty(fullLayout,dataAttr).get();button3.classed("active",val===thisval)}}))};proto.hasButtons=function(buttons){var currentButtons=this.buttons;if(!currentButtons)return false;if(buttons.length!==currentButtons.length)return false;for(var i=0;i<buttons.length;++i){if(buttons[i].length!==currentButtons[i].length)return false;for(var j=0;j<buttons[i].length;j++){if(buttons[i][j].name!==currentButtons[i][j].name)return false}}return true};proto.getLogo=function(){var group=this.createGroup();var a=document.createElement("a");a.href="https://plotly.com/";a.target="_blank";a.setAttribute("data-title",Lib._(this.graphInfo,"Produced with Plotly"));a.className="modebar-btn plotlyjsicon modebar-btn--logo";a.appendChild(this.createIcon(Icons.newplotlylogo));group.appendChild(a);return group};proto.removeAllButtons=function(){while(this.element.firstChild){this.element.removeChild(this.element.firstChild)}this.hasLogo=false};proto.destroy=function(){Lib.removeElement(this.container.querySelector(".modebar"));Lib.deleteRelatedStyleRule(this._uid)};function createModeBar(gd,buttons){var fullLayout=gd._fullLayout;var modeBar=new ModeBar({graphInfo:gd,container:fullLayout._modebardiv.node(),buttons:buttons});if(fullLayout._privateplot){d3.select(modeBar.element).append("span").classed("badge-private float--left",true).text("PRIVATE")}return modeBar}module.exports=createModeBar},{"../../fonts/ploticon":782,"../../lib":803,"@plotly/d3":58,"fast-isnumeric":249}],732:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../../plots/font_attributes");var colorAttrs=_dereq_("../color/attributes");var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var buttonAttrs=templatedArray("button",{visible:{valType:"boolean",dflt:true,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});module.exports={visible:{valType:"boolean",editType:"plot"},buttons:buttonAttrs,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:fontAttrs({editType:"plot"}),bgcolor:{valType:"color",dflt:colorAttrs.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:colorAttrs.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}},{"../../plot_api/plot_template":843,"../../plots/font_attributes":883,"../color/attributes":665}],733:[function(_dereq_,module,exports){"use strict";module.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],734:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../color");var Template=_dereq_("../../plot_api/plot_template");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var attributes=_dereq_("./attributes");var constants=_dereq_("./constants");module.exports=function handleDefaults(containerIn,containerOut,layout,counterAxes,calendar){var selectorIn=containerIn.rangeselector||{};var selectorOut=Template.newContainer(containerOut,"rangeselector");function coerce(attr,dflt){return Lib.coerce(selectorIn,selectorOut,attributes,attr,dflt)}var buttons=handleArrayContainerDefaults(selectorIn,selectorOut,{name:"buttons",handleItemDefaults:buttonDefaults,calendar:calendar});var visible=coerce("visible",buttons.length>0);if(visible){var posDflt=getPosDflt(containerOut,layout,counterAxes);coerce("x",posDflt[0]);coerce("y",posDflt[1]);Lib.noneOrAll(containerIn,containerOut,["x","y"]);coerce("xanchor");coerce("yanchor");Lib.coerceFont(coerce,"font",layout.font);var bgColor=coerce("bgcolor");coerce("activecolor",Color.contrast(bgColor,constants.lightAmount,constants.darkAmount));coerce("bordercolor");coerce("borderwidth")}};function buttonDefaults(buttonIn,buttonOut,selectorOut,opts){var calendar=opts.calendar;function coerce(attr,dflt){return Lib.coerce(buttonIn,buttonOut,attributes.buttons,attr,dflt)}var visible=coerce("visible");if(visible){var step=coerce("step");if(step!=="all"){if(calendar&&calendar!=="gregorian"&&(step==="month"||step==="year")){buttonOut.stepmode="backward"}else{coerce("stepmode")}coerce("count")}coerce("label")}}function getPosDflt(containerOut,layout,counterAxes){var anchoredList=counterAxes.filter((function(ax){return layout[ax].anchor===containerOut._id}));var posY=0;for(var i=0;i<anchoredList.length;i++){var domain=layout[anchoredList[i]].domain;if(domain)posY=Math.max(domain[1],posY)}return[containerOut.domain[0],posY+constants.yPad]}},{"../../lib":803,"../../plot_api/plot_template":843,"../../plots/array_container_defaults":849,"../color":666,"./attributes":732,"./constants":733}],735:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../../registry");var Plots=_dereq_("../../plots/plots");var Color=_dereq_("../color");var Drawing=_dereq_("../drawing");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var axisIds=_dereq_("../../plots/cartesian/axis_ids");var alignmentConstants=_dereq_("../../constants/alignment");var LINE_SPACING=alignmentConstants.LINE_SPACING;var FROM_TL=alignmentConstants.FROM_TL;var FROM_BR=alignmentConstants.FROM_BR;var constants=_dereq_("./constants");var getUpdateObject=_dereq_("./get_update_object");module.exports=function draw(gd){var fullLayout=gd._fullLayout;var selectors=fullLayout._infolayer.selectAll(".rangeselector").data(makeSelectorData(gd),selectorKeyFunc);selectors.enter().append("g").classed("rangeselector",true);selectors.exit().remove();selectors.style({cursor:"pointer","pointer-events":"all"});selectors.each((function(d){var selector=d3.select(this);var axisLayout=d;var selectorLayout=axisLayout.rangeselector;var buttons=selector.selectAll("g.button").data(Lib.filterVisible(selectorLayout.buttons));buttons.enter().append("g").classed("button",true);buttons.exit().remove();buttons.each((function(d){var button=d3.select(this);var update=getUpdateObject(axisLayout,d);d._isActive=isActive(axisLayout,d,update);button.call(drawButtonRect,selectorLayout,d);button.call(drawButtonText,selectorLayout,d,gd);button.on("click",(function(){if(gd._dragged)return;Registry.call("_guiRelayout",gd,update)}));button.on("mouseover",(function(){d._isHovered=true;button.call(drawButtonRect,selectorLayout,d)}));button.on("mouseout",(function(){d._isHovered=false;button.call(drawButtonRect,selectorLayout,d)}))}));reposition(gd,buttons,selectorLayout,axisLayout._name,selector)}))};function makeSelectorData(gd){var axes=axisIds.list(gd,"x",true);var data=[];for(var i=0;i<axes.length;i++){var axis=axes[i];if(axis.rangeselector&&axis.rangeselector.visible){data.push(axis)}}return data}function selectorKeyFunc(d){return d._id}function isActive(axisLayout,opts,update){if(opts.step==="all"){return axisLayout.autorange===true}else{var keys=Object.keys(update);return axisLayout.range[0]===update[keys[0]]&&axisLayout.range[1]===update[keys[1]]}}function drawButtonRect(button,selectorLayout,d){var rect=Lib.ensureSingle(button,"rect","selector-rect",(function(s){s.attr("shape-rendering","crispEdges")}));rect.attr({rx:constants.rx,ry:constants.ry});rect.call(Color.stroke,selectorLayout.bordercolor).call(Color.fill,getFillColor(selectorLayout,d)).style("stroke-width",selectorLayout.borderwidth+"px")}function getFillColor(selectorLayout,d){return d._isActive||d._isHovered?selectorLayout.activecolor:selectorLayout.bgcolor}function drawButtonText(button,selectorLayout,d,gd){function textLayout(s){svgTextUtils.convertToTspans(s,gd)}var text=Lib.ensureSingle(button,"text","selector-text",(function(s){s.attr("text-anchor","middle")}));text.call(Drawing.font,selectorLayout.font).text(getLabel(d,gd._fullLayout._meta)).call(textLayout)}function getLabel(opts,_meta){if(opts.label){return _meta?Lib.templateString(opts.label,_meta):opts.label}if(opts.step==="all")return"all";return opts.count+opts.step.charAt(0)}function reposition(gd,buttons,opts,axName,selector){var width=0;var height=0;var borderWidth=opts.borderwidth;buttons.each((function(){var button=d3.select(this);var text=button.select(".selector-text");var tHeight=opts.font.size*LINE_SPACING;var hEff=Math.max(tHeight*svgTextUtils.lineCount(text),16)+3;height=Math.max(height,hEff)}));buttons.each((function(){var button=d3.select(this);var rect=button.select(".selector-rect");var text=button.select(".selector-text");var tWidth=text.node()&&Drawing.bBox(text.node()).width;var tHeight=opts.font.size*LINE_SPACING;var tLines=svgTextUtils.lineCount(text);var wEff=Math.max(tWidth+10,constants.minButtonWidth);button.attr("transform",strTranslate(borderWidth+width,borderWidth));rect.attr({x:0,y:0,width:wEff,height:height});svgTextUtils.positionText(text,wEff/2,height/2-(tLines-1)*tHeight/2+3);width+=wEff+5}));var graphSize=gd._fullLayout._size;var lx=graphSize.l+graphSize.w*opts.x;var ly=graphSize.t+graphSize.h*(1-opts.y);var xanchor="left";if(Lib.isRightAnchor(opts)){lx-=width;xanchor="right"}if(Lib.isCenterAnchor(opts)){lx-=width/2;xanchor="center"}var yanchor="top";if(Lib.isBottomAnchor(opts)){ly-=height;yanchor="bottom"}if(Lib.isMiddleAnchor(opts)){ly-=height/2;yanchor="middle"}width=Math.ceil(width);height=Math.ceil(height);lx=Math.round(lx);ly=Math.round(ly);Plots.autoMargin(gd,axName+"-range-selector",{x:opts.x,y:opts.y,l:width*FROM_TL[xanchor],r:width*FROM_BR[xanchor],b:height*FROM_BR[yanchor],t:height*FROM_TL[yanchor]});selector.attr("transform",strTranslate(lx,ly))}},{"../../constants/alignment":771,"../../lib":803,"../../lib/svg_text_utils":829,"../../plots/cartesian/axis_ids":858,"../../plots/plots":917,"../../registry":931,"../color":666,"../drawing":688,"./constants":733,"./get_update_object":736,"@plotly/d3":58}],736:[function(_dereq_,module,exports){"use strict";var d3Time=_dereq_("d3-time");var titleCase=_dereq_("../../lib").titleCase;module.exports=function getUpdateObject(axisLayout,buttonLayout){var axName=axisLayout._name;var update={};if(buttonLayout.step==="all"){update[axName+".autorange"]=true}else{var xrange=getXRange(axisLayout,buttonLayout);update[axName+".range[0]"]=xrange[0];update[axName+".range[1]"]=xrange[1]}return update};function getXRange(axisLayout,buttonLayout){var currentRange=axisLayout.range;var base=new Date(axisLayout.r2l(currentRange[1]));var step=buttonLayout.step;var utcStep=d3Time["utc"+titleCase(step)];var count=buttonLayout.count;var range0;switch(buttonLayout.stepmode){case"backward":range0=axisLayout.l2r(+utcStep.offset(base,-count));break;case"todate":var base2=utcStep.offset(base,-count);range0=axisLayout.l2r(+utcStep.ceil(base2));break}var range1=currentRange[1];return[range0,range1]}},{"../../lib":803,"d3-time":177}],737:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:_dereq_("./attributes")}}},layoutAttributes:_dereq_("./attributes"),handleDefaults:_dereq_("./defaults"),draw:_dereq_("./draw")}},{"./attributes":732,"./defaults":734,"./draw":735}],738:[function(_dereq_,module,exports){"use strict";var colorAttributes=_dereq_("../color/attributes");module.exports={bgcolor:{valType:"color",dflt:colorAttributes.background,editType:"plot"},bordercolor:{valType:"color",dflt:colorAttributes.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:true,editType:"calc",impliedEdits:{"range[0]":undefined,"range[1]":undefined}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":false}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":false}}],editType:"calc",impliedEdits:{autorange:false}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:true,editType:"calc"},editType:"calc"}},{"../color/attributes":665}],739:[function(_dereq_,module,exports){"use strict";var listAxes=_dereq_("../../plots/cartesian/axis_ids").list;var getAutoRange=_dereq_("../../plots/cartesian/autorange").getAutoRange;var constants=_dereq_("./constants");module.exports=function calcAutorange(gd){var axes=listAxes(gd,"x",true);for(var i=0;i<axes.length;i++){var ax=axes[i];var opts=ax[constants.name];if(opts&&opts.visible&&opts.autorange){opts._input.autorange=true;opts._input.range=opts.range=getAutoRange(gd,ax)}}}},{"../../plots/cartesian/autorange":853,"../../plots/cartesian/axis_ids":858,"./constants":740}],740:[function(_dereq_,module,exports){"use strict";module.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],741:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Template=_dereq_("../../plot_api/plot_template");var axisIds=_dereq_("../../plots/cartesian/axis_ids");var attributes=_dereq_("./attributes");var oppAxisAttrs=_dereq_("./oppaxis_attributes");module.exports=function handleDefaults(layoutIn,layoutOut,axName){var axIn=layoutIn[axName];var axOut=layoutOut[axName];if(!(axIn.rangeslider||layoutOut._requestRangeslider[axOut._id]))return;if(!Lib.isPlainObject(axIn.rangeslider)){axIn.rangeslider={}}var containerIn=axIn.rangeslider;var containerOut=Template.newContainer(axOut,"rangeslider");function coerce(attr,dflt){return Lib.coerce(containerIn,containerOut,attributes,attr,dflt)}var rangeContainerIn,rangeContainerOut;function coerceRange(attr,dflt){return Lib.coerce(rangeContainerIn,rangeContainerOut,oppAxisAttrs,attr,dflt)}var visible=coerce("visible");if(!visible)return;coerce("bgcolor",layoutOut.plot_bgcolor);coerce("bordercolor");coerce("borderwidth");coerce("thickness");coerce("autorange",!axOut.isValidRange(containerIn.range));coerce("range");var subplots=layoutOut._subplots;if(subplots){var yIds=subplots.cartesian.filter((function(subplotId){return subplotId.substr(0,subplotId.indexOf("y"))===axisIds.name2id(axName)})).map((function(subplotId){return subplotId.substr(subplotId.indexOf("y"),subplotId.length)}));var yNames=Lib.simpleMap(yIds,axisIds.id2name);for(var i=0;i<yNames.length;i++){var yName=yNames[i];rangeContainerIn=containerIn[yName]||{};rangeContainerOut=Template.newContainer(containerOut,yName,"yaxis");var yAxOut=layoutOut[yName];var rangemodeDflt;if(rangeContainerIn.range&&yAxOut.isValidRange(rangeContainerIn.range)){rangemodeDflt="fixed"}var rangeMode=coerceRange("rangemode",rangemodeDflt);if(rangeMode!=="match"){coerceRange("range",yAxOut.range.slice())}}}containerOut._input=containerIn}},{"../../lib":803,"../../plot_api/plot_template":843,"../../plots/cartesian/axis_ids":858,"./attributes":738,"./oppaxis_attributes":745}],742:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../../registry");var Plots=_dereq_("../../plots/plots");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var Drawing=_dereq_("../drawing");var Color=_dereq_("../color");var Titles=_dereq_("../titles");var Cartesian=_dereq_("../../plots/cartesian");var axisIDs=_dereq_("../../plots/cartesian/axis_ids");var dragElement=_dereq_("../dragelement");var setCursor=_dereq_("../../lib/setcursor");var constants=_dereq_("./constants");module.exports=function(gd){var fullLayout=gd._fullLayout;var rangeSliderData=fullLayout._rangeSliderData;for(var i=0;i<rangeSliderData.length;i++){var opts=rangeSliderData[i][constants.name];opts._clipId=opts._id+"-"+fullLayout._uid}function keyFunction(axisOpts){return axisOpts._name}var rangeSliders=fullLayout._infolayer.selectAll("g."+constants.containerClassName).data(rangeSliderData,keyFunction);rangeSliders.exit().each((function(axisOpts){var opts=axisOpts[constants.name];fullLayout._topdefs.select("#"+opts._clipId).remove()})).remove();if(rangeSliderData.length===0)return;rangeSliders.enter().append("g").classed(constants.containerClassName,true).attr("pointer-events","all");rangeSliders.each((function(axisOpts){var rangeSlider=d3.select(this);var opts=axisOpts[constants.name];var oppAxisOpts=fullLayout[axisIDs.id2name(axisOpts.anchor)];var oppAxisRangeOpts=opts[axisIDs.id2name(axisOpts.anchor)];if(opts.range){var rng=Lib.simpleMap(opts.range,axisOpts.r2l);var axRng=Lib.simpleMap(axisOpts.range,axisOpts.r2l);var newRng;if(axRng[0]<axRng[1]){newRng=[Math.min(rng[0],axRng[0]),Math.max(rng[1],axRng[1])]}else{newRng=[Math.max(rng[0],axRng[0]),Math.min(rng[1],axRng[1])]}opts.range=opts._input.range=Lib.simpleMap(newRng,axisOpts.l2r)}axisOpts.cleanRange("rangeslider.range");var gs=fullLayout._size;var domain=axisOpts.domain;opts._width=gs.w*(domain[1]-domain[0]);var x=Math.round(gs.l+gs.w*domain[0]);var y=Math.round(gs.t+gs.h*(1-axisOpts._counterDomainMin)+(axisOpts.side==="bottom"?axisOpts._depth:0)+opts._offsetShift+constants.extraPad);rangeSlider.attr("transform",strTranslate(x,y));opts._rl=Lib.simpleMap(opts.range,axisOpts.r2l);var rl0=opts._rl[0];var rl1=opts._rl[1];var drl=rl1-rl0;opts.p2d=function(v){return v/opts._width*drl+rl0};opts.d2p=function(v){return(v-rl0)/drl*opts._width};if(axisOpts.rangebreaks){var rsBreaks=axisOpts.locateBreaks(rl0,rl1);if(rsBreaks.length){var j,brk;var lBreaks=0;for(j=0;j<rsBreaks.length;j++){brk=rsBreaks[j];lBreaks+=brk.max-brk.min}var m2=opts._width/(rl1-rl0-lBreaks);var _B=[-m2*rl0];for(j=0;j<rsBreaks.length;j++){brk=rsBreaks[j];_B.push(_B[_B.length-1]-m2*(brk.max-brk.min))}opts.d2p=function(v){var b=_B[0];for(var j=0;j<rsBreaks.length;j++){var brk=rsBreaks[j];if(v>=brk.max)b=_B[j+1];else if(v<brk.min)break}return b+m2*v};for(j=0;j<rsBreaks.length;j++){brk=rsBreaks[j];brk.pmin=opts.d2p(brk.min);brk.pmax=opts.d2p(brk.max)}opts.p2d=function(v){var b=_B[0];for(var j=0;j<rsBreaks.length;j++){var brk=rsBreaks[j];if(v>=brk.pmax)b=_B[j+1];else if(v<brk.pmin)break}return(v-b)/m2}}}if(oppAxisRangeOpts.rangemode!=="match"){var range0OppAxis=oppAxisOpts.r2l(oppAxisRangeOpts.range[0]);var range1OppAxis=oppAxisOpts.r2l(oppAxisRangeOpts.range[1]);var distOppAxis=range1OppAxis-range0OppAxis;opts.d2pOppAxis=function(v){return(v-range0OppAxis)/distOppAxis*opts._height}}rangeSlider.call(drawBg,gd,axisOpts,opts).call(addClipPath,gd,axisOpts,opts).call(drawRangePlot,gd,axisOpts,opts).call(drawMasks,gd,axisOpts,opts,oppAxisRangeOpts).call(drawSlideBox,gd,axisOpts,opts).call(drawGrabbers,gd,axisOpts,opts);setupDragElement(rangeSlider,gd,axisOpts,opts);setPixelRange(rangeSlider,gd,axisOpts,opts,oppAxisOpts,oppAxisRangeOpts);if(axisOpts.side==="bottom"){Titles.draw(gd,axisOpts._id+"title",{propContainer:axisOpts,propName:axisOpts._name+".title",placeholder:fullLayout._dfltTitle.x,attributes:{x:axisOpts._offset+axisOpts._length/2,y:y+opts._height+opts._offsetShift+10+1.5*axisOpts.title.font.size,"text-anchor":"middle"}})}}))};function setupDragElement(rangeSlider,gd,axisOpts,opts){if(gd._context.staticPlot)return;var slideBox=rangeSlider.select("rect."+constants.slideBoxClassName).node();var grabAreaMin=rangeSlider.select("rect."+constants.grabAreaMinClassName).node();var grabAreaMax=rangeSlider.select("rect."+constants.grabAreaMaxClassName).node();function mouseDownHandler(){var event=d3.event;var target=event.target;var startX=event.clientX||event.touches[0].clientX;var offsetX=startX-rangeSlider.node().getBoundingClientRect().left;var minVal=opts.d2p(axisOpts._rl[0]);var maxVal=opts.d2p(axisOpts._rl[1]);var dragCover=dragElement.coverSlip();this.addEventListener("touchmove",mouseMove);this.addEventListener("touchend",mouseUp);dragCover.addEventListener("mousemove",mouseMove);dragCover.addEventListener("mouseup",mouseUp);function mouseMove(e){var clientX=e.clientX||e.touches[0].clientX;var delta=+clientX-startX;var pixelMin,pixelMax,cursor;switch(target){case slideBox:cursor="ew-resize";pixelMin=minVal+delta;pixelMax=maxVal+delta;break;case grabAreaMin:cursor="col-resize";pixelMin=minVal+delta;pixelMax=maxVal;break;case grabAreaMax:cursor="col-resize";pixelMin=minVal;pixelMax=maxVal+delta;break;default:cursor="ew-resize";pixelMin=offsetX;pixelMax=offsetX+delta;break}if(pixelMax<pixelMin){var tmp=pixelMax;pixelMax=pixelMin;pixelMin=tmp}opts._pixelMin=pixelMin;opts._pixelMax=pixelMax;setCursor(d3.select(dragCover),cursor);setDataRange(rangeSlider,gd,axisOpts,opts)}function mouseUp(){dragCover.removeEventListener("mousemove",mouseMove);dragCover.removeEventListener("mouseup",mouseUp);this.removeEventListener("touchmove",mouseMove);this.removeEventListener("touchend",mouseUp);Lib.removeElement(dragCover)}}rangeSlider.on("mousedown",mouseDownHandler);rangeSlider.on("touchstart",mouseDownHandler)}function setDataRange(rangeSlider,gd,axisOpts,opts){function clamp(v){return axisOpts.l2r(Lib.constrain(v,opts._rl[0],opts._rl[1]))}var dataMin=clamp(opts.p2d(opts._pixelMin));var dataMax=clamp(opts.p2d(opts._pixelMax));window.requestAnimationFrame((function(){Registry.call("_guiRelayout",gd,axisOpts._name+".range",[dataMin,dataMax])}))}function setPixelRange(rangeSlider,gd,axisOpts,opts,oppAxisOpts,oppAxisRangeOpts){var hw2=constants.handleWidth/2;function clamp(v){return Lib.constrain(v,0,opts._width)}function clampOppAxis(v){return Lib.constrain(v,0,opts._height)}function clampHandle(v){return Lib.constrain(v,-hw2,opts._width+hw2)}var pixelMin=clamp(opts.d2p(axisOpts._rl[0]));var pixelMax=clamp(opts.d2p(axisOpts._rl[1]));rangeSlider.select("rect."+constants.slideBoxClassName).attr("x",pixelMin).attr("width",pixelMax-pixelMin);rangeSlider.select("rect."+constants.maskMinClassName).attr("width",pixelMin);rangeSlider.select("rect."+constants.maskMaxClassName).attr("x",pixelMax).attr("width",opts._width-pixelMax);if(oppAxisRangeOpts.rangemode!=="match"){var pixelMinOppAxis=opts._height-clampOppAxis(opts.d2pOppAxis(oppAxisOpts._rl[1]));var pixelMaxOppAxis=opts._height-clampOppAxis(opts.d2pOppAxis(oppAxisOpts._rl[0]));rangeSlider.select("rect."+constants.maskMinOppAxisClassName).attr("x",pixelMin).attr("height",pixelMinOppAxis).attr("width",pixelMax-pixelMin);rangeSlider.select("rect."+constants.maskMaxOppAxisClassName).attr("x",pixelMin).attr("y",pixelMaxOppAxis).attr("height",opts._height-pixelMaxOppAxis).attr("width",pixelMax-pixelMin);rangeSlider.select("rect."+constants.slideBoxClassName).attr("y",pixelMinOppAxis).attr("height",pixelMaxOppAxis-pixelMinOppAxis)}var offset=.5;var xMin=Math.round(clampHandle(pixelMin-hw2))-offset;var xMax=Math.round(clampHandle(pixelMax-hw2))+offset;rangeSlider.select("g."+constants.grabberMinClassName).attr("transform",strTranslate(xMin,offset));rangeSlider.select("g."+constants.grabberMaxClassName).attr("transform",strTranslate(xMax,offset))}function drawBg(rangeSlider,gd,axisOpts,opts){var bg=Lib.ensureSingle(rangeSlider,"rect",constants.bgClassName,(function(s){s.attr({x:0,y:0,"shape-rendering":"crispEdges"})}));var borderCorrect=opts.borderwidth%2===0?opts.borderwidth:opts.borderwidth-1;var offsetShift=-opts._offsetShift;var lw=Drawing.crispRound(gd,opts.borderwidth);bg.attr({width:opts._width+borderCorrect,height:opts._height+borderCorrect,transform:strTranslate(offsetShift,offsetShift),fill:opts.bgcolor,stroke:opts.bordercolor,"stroke-width":lw})}function addClipPath(rangeSlider,gd,axisOpts,opts){var fullLayout=gd._fullLayout;var clipPath=Lib.ensureSingleById(fullLayout._topdefs,"clipPath",opts._clipId,(function(s){s.append("rect").attr({x:0,y:0})}));clipPath.select("rect").attr({width:opts._width,height:opts._height})}function drawRangePlot(rangeSlider,gd,axisOpts,opts){var calcData=gd.calcdata;var rangePlots=rangeSlider.selectAll("g."+constants.rangePlotClassName).data(axisOpts._subplotsWith,Lib.identity);rangePlots.enter().append("g").attr("class",(function(id){return constants.rangePlotClassName+" "+id})).call(Drawing.setClipUrl,opts._clipId,gd);rangePlots.order();rangePlots.exit().remove();var mainplotinfo;rangePlots.each((function(id,i){var plotgroup=d3.select(this);var isMainPlot=i===0;var oppAxisOpts=axisIDs.getFromId(gd,id,"y");var oppAxisName=oppAxisOpts._name;var oppAxisRangeOpts=opts[oppAxisName];var mockFigure={data:[],layout:{xaxis:{type:axisOpts.type,domain:[0,1],range:opts.range.slice(),calendar:axisOpts.calendar},width:opts._width,height:opts._height,margin:{t:0,b:0,l:0,r:0}},_context:gd._context};if(axisOpts.rangebreaks){mockFigure.layout.xaxis.rangebreaks=axisOpts.rangebreaks}mockFigure.layout[oppAxisName]={type:oppAxisOpts.type,domain:[0,1],range:oppAxisRangeOpts.rangemode!=="match"?oppAxisRangeOpts.range.slice():oppAxisOpts.range.slice(),calendar:oppAxisOpts.calendar};if(oppAxisOpts.rangebreaks){mockFigure.layout[oppAxisName].rangebreaks=oppAxisOpts.rangebreaks}Plots.supplyDefaults(mockFigure);var xa=mockFigure._fullLayout.xaxis;var ya=mockFigure._fullLayout[oppAxisName];xa.clearCalc();xa.setScale();ya.clearCalc();ya.setScale();var plotinfo={id:id,plotgroup:plotgroup,xaxis:xa,yaxis:ya,isRangePlot:true};if(isMainPlot)mainplotinfo=plotinfo;else{plotinfo.mainplot="xy";plotinfo.mainplotinfo=mainplotinfo}Cartesian.rangePlot(gd,plotinfo,filterRangePlotCalcData(calcData,id))}))}function filterRangePlotCalcData(calcData,subplotId){var out=[];for(var i=0;i<calcData.length;i++){var calcTrace=calcData[i];var trace=calcTrace[0].trace;if(trace.xaxis+trace.yaxis===subplotId){out.push(calcTrace)}}return out}function drawMasks(rangeSlider,gd,axisOpts,opts,oppAxisRangeOpts){var maskMin=Lib.ensureSingle(rangeSlider,"rect",constants.maskMinClassName,(function(s){s.attr({x:0,y:0,"shape-rendering":"crispEdges"})}));maskMin.attr("height",opts._height).call(Color.fill,constants.maskColor);var maskMax=Lib.ensureSingle(rangeSlider,"rect",constants.maskMaxClassName,(function(s){s.attr({y:0,"shape-rendering":"crispEdges"})}));maskMax.attr("height",opts._height).call(Color.fill,constants.maskColor);if(oppAxisRangeOpts.rangemode!=="match"){var maskMinOppAxis=Lib.ensureSingle(rangeSlider,"rect",constants.maskMinOppAxisClassName,(function(s){s.attr({y:0,"shape-rendering":"crispEdges"})}));maskMinOppAxis.attr("width",opts._width).call(Color.fill,constants.maskOppAxisColor);var maskMaxOppAxis=Lib.ensureSingle(rangeSlider,"rect",constants.maskMaxOppAxisClassName,(function(s){s.attr({y:0,"shape-rendering":"crispEdges"})}));maskMaxOppAxis.attr("width",opts._width).style("border-top",constants.maskOppBorder).call(Color.fill,constants.maskOppAxisColor)}}function drawSlideBox(rangeSlider,gd,axisOpts,opts){if(gd._context.staticPlot)return;var slideBox=Lib.ensureSingle(rangeSlider,"rect",constants.slideBoxClassName,(function(s){s.attr({y:0,cursor:constants.slideBoxCursor,"shape-rendering":"crispEdges"})}));slideBox.attr({height:opts._height,fill:constants.slideBoxFill})}function drawGrabbers(rangeSlider,gd,axisOpts,opts){var grabberMin=Lib.ensureSingle(rangeSlider,"g",constants.grabberMinClassName);var grabberMax=Lib.ensureSingle(rangeSlider,"g",constants.grabberMaxClassName);var handleFixAttrs={x:0,width:constants.handleWidth,rx:constants.handleRadius,fill:Color.background,stroke:Color.defaultLine,"stroke-width":constants.handleStrokeWidth,"shape-rendering":"crispEdges"};var handleDynamicAttrs={y:Math.round(opts._height/4),height:Math.round(opts._height/2)};var handleMin=Lib.ensureSingle(grabberMin,"rect",constants.handleMinClassName,(function(s){s.attr(handleFixAttrs)}));handleMin.attr(handleDynamicAttrs);var handleMax=Lib.ensureSingle(grabberMax,"rect",constants.handleMaxClassName,(function(s){s.attr(handleFixAttrs)}));handleMax.attr(handleDynamicAttrs);var grabAreaFixAttrs={width:constants.grabAreaWidth,x:0,y:0,fill:constants.grabAreaFill,cursor:!gd._context.staticPlot?constants.grabAreaCursor:undefined};var grabAreaMin=Lib.ensureSingle(grabberMin,"rect",constants.grabAreaMinClassName,(function(s){s.attr(grabAreaFixAttrs)}));grabAreaMin.attr("height",opts._height);var grabAreaMax=Lib.ensureSingle(grabberMax,"rect",constants.grabAreaMaxClassName,(function(s){s.attr(grabAreaFixAttrs)}));grabAreaMax.attr("height",opts._height)}},{"../../lib":803,"../../lib/setcursor":824,"../../plots/cartesian":868,"../../plots/cartesian/axis_ids":858,"../../plots/plots":917,"../../registry":931,"../color":666,"../dragelement":685,"../drawing":688,"../titles":764,"./constants":740,"@plotly/d3":58}],743:[function(_dereq_,module,exports){"use strict";var axisIDs=_dereq_("../../plots/cartesian/axis_ids");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var constants=_dereq_("./constants");var LINE_SPACING=_dereq_("../../constants/alignment").LINE_SPACING;var name=constants.name;function isVisible(ax){var rangeSlider=ax&&ax[name];return rangeSlider&&rangeSlider.visible}exports.isVisible=isVisible;exports.makeData=function(fullLayout){var axes=axisIDs.list({_fullLayout:fullLayout},"x",true);var margin=fullLayout.margin;var rangeSliderData=[];if(!fullLayout._has("gl2d")){for(var i=0;i<axes.length;i++){var ax=axes[i];if(isVisible(ax)){rangeSliderData.push(ax);var opts=ax[name];opts._id=name+ax._id;opts._height=(fullLayout.height-margin.b-margin.t)*opts.thickness;opts._offsetShift=Math.floor(opts.borderwidth/2)}}}fullLayout._rangeSliderData=rangeSliderData};exports.autoMarginOpts=function(gd,ax){var fullLayout=gd._fullLayout;var opts=ax[name];var axLetter=ax._id.charAt(0);var bottomDepth=0;var titleHeight=0;if(ax.side==="bottom"){bottomDepth=ax._depth;if(ax.title.text!==fullLayout._dfltTitle[axLetter]){titleHeight=1.5*ax.title.font.size+10+opts._offsetShift;var extraLines=(ax.title.text.match(svgTextUtils.BR_TAG_ALL)||[]).length;titleHeight+=extraLines*ax.title.font.size*LINE_SPACING}}return{x:0,y:ax._counterDomainMin,l:0,r:0,t:0,b:opts._height+bottomDepth+Math.max(fullLayout.margin.b,titleHeight),pad:constants.extraPad+opts._offsetShift*2}}},{"../../constants/alignment":771,"../../lib/svg_text_utils":829,"../../plots/cartesian/axis_ids":858,"./constants":740}],744:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attrs=_dereq_("./attributes");var oppAxisAttrs=_dereq_("./oppaxis_attributes");var helpers=_dereq_("./helpers");module.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:Lib.extendFlat({},attrs,{yaxis:oppAxisAttrs})}}},layoutAttributes:_dereq_("./attributes"),handleDefaults:_dereq_("./defaults"),calcAutorange:_dereq_("./calc_autorange"),draw:_dereq_("./draw"),isVisible:helpers.isVisible,makeData:helpers.makeData,autoMarginOpts:helpers.autoMarginOpts}},{"../../lib":803,"./attributes":738,"./calc_autorange":739,"./defaults":741,"./draw":742,"./helpers":743,"./oppaxis_attributes":745}],745:[function(_dereq_,module,exports){"use strict";module.exports={_isSubplotObj:true,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}},{}],746:[function(_dereq_,module,exports){"use strict";var annAttrs=_dereq_("../annotations/attributes");var scatterLineAttrs=_dereq_("../../traces/scatter/attributes").line;var dash=_dereq_("../drawing/attributes").dash;var extendFlat=_dereq_("../../lib/extend").extendFlat;var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var axisPlaceableObjs=_dereq_("../../constants/axis_placeable_objects");module.exports=templatedArray("shape",{visible:{valType:"boolean",dflt:true,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:extendFlat({},annAttrs.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:extendFlat({},annAttrs.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:extendFlat({},scatterLineAttrs.color,{editType:"arraydraw"}),width:extendFlat({},scatterLineAttrs.width,{editType:"calc+arraydraw"}),dash:extendFlat({},dash,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:false,editType:"calc+arraydraw"},editType:"arraydraw"})},{"../../constants/axis_placeable_objects":772,"../../lib/extend":793,"../../plot_api/plot_template":843,"../../traces/scatter/attributes":1218,"../annotations/attributes":649,"../drawing/attributes":687}],747:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var constants=_dereq_("./constants");var helpers=_dereq_("./helpers");module.exports=function calcAutorange(gd){var fullLayout=gd._fullLayout;var shapeList=Lib.filterVisible(fullLayout.shapes);if(!shapeList.length||!gd._fullData.length)return;for(var i=0;i<shapeList.length;i++){var shape=shapeList[i];shape._extremes={};var ax;var bounds;var xRefType=Axes.getRefType(shape.xref);var yRefType=Axes.getRefType(shape.yref);if(shape.xref!=="paper"&&xRefType!=="domain"){var vx0=shape.xsizemode==="pixel"?shape.xanchor:shape.x0;var vx1=shape.xsizemode==="pixel"?shape.xanchor:shape.x1;ax=Axes.getFromId(gd,shape.xref);bounds=shapeBounds(ax,vx0,vx1,shape.path,constants.paramIsX);if(bounds){shape._extremes[ax._id]=Axes.findExtremes(ax,bounds,calcXPaddingOptions(shape))}}if(shape.yref!=="paper"&&yRefType!=="domain"){var vy0=shape.ysizemode==="pixel"?shape.yanchor:shape.y0;var vy1=shape.ysizemode==="pixel"?shape.yanchor:shape.y1;ax=Axes.getFromId(gd,shape.yref);bounds=shapeBounds(ax,vy0,vy1,shape.path,constants.paramIsY);if(bounds){shape._extremes[ax._id]=Axes.findExtremes(ax,bounds,calcYPaddingOptions(shape))}}}};function calcXPaddingOptions(shape){return calcPaddingOptions(shape.line.width,shape.xsizemode,shape.x0,shape.x1,shape.path,false)}function calcYPaddingOptions(shape){return calcPaddingOptions(shape.line.width,shape.ysizemode,shape.y0,shape.y1,shape.path,true)}function calcPaddingOptions(lineWidth,sizeMode,v0,v1,path,isYAxis){var ppad=lineWidth/2;var axisDirectionReverted=isYAxis;if(sizeMode==="pixel"){var coords=path?helpers.extractPathCoords(path,isYAxis?constants.paramIsY:constants.paramIsX):[v0,v1];var maxValue=Lib.aggNums(Math.max,null,coords);var minValue=Lib.aggNums(Math.min,null,coords);var beforePad=minValue<0?Math.abs(minValue)+ppad:ppad;var afterPad=maxValue>0?maxValue+ppad:ppad;return{ppad:ppad,ppadplus:axisDirectionReverted?beforePad:afterPad,ppadminus:axisDirectionReverted?afterPad:beforePad}}else{return{ppad:ppad}}}function shapeBounds(ax,v0,v1,path,paramsToUse){var convertVal=ax.type==="category"||ax.type==="multicategory"?ax.r2c:ax.d2c;if(v0!==undefined)return[convertVal(v0),convertVal(v1)];if(!path)return;var min=Infinity;var max=-Infinity;var segments=path.match(constants.segmentRE);var i;var segment;var drawnParam;var params;var val;if(ax.type==="date")convertVal=helpers.decodeDate(convertVal);for(i=0;i<segments.length;i++){segment=segments[i];drawnParam=paramsToUse[segment.charAt(0)].drawn;if(drawnParam===undefined)continue;params=segments[i].substr(1).match(constants.paramRE);if(!params||params.length<drawnParam)continue;val=convertVal(params[drawnParam]);if(val<min)min=val;if(val>max)max=val}if(max>=min)return[min,max]}},{"../../lib":803,"../../plots/cartesian/axes":854,"./constants":748,"./helpers":757}],748:[function(_dereq_,module,exports){"use strict";module.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:true,drawn:0},L:{0:true,drawn:0},H:{0:true,drawn:0},V:{},Q:{0:true,2:true,drawn:2},C:{0:true,2:true,4:true,drawn:4},T:{0:true,drawn:0},S:{0:true,2:true,drawn:2},Z:{}},paramIsY:{M:{1:true,drawn:1},L:{1:true,drawn:1},H:{},V:{0:true,drawn:0},Q:{1:true,3:true,drawn:3},C:{1:true,3:true,5:true,drawn:5},T:{1:true,drawn:1},S:{1:true,3:true,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],749:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var attributes=_dereq_("./attributes");var helpers=_dereq_("./helpers");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){handleArrayContainerDefaults(layoutIn,layoutOut,{name:"shapes",handleItemDefaults:handleShapeDefaults})};function handleShapeDefaults(shapeIn,shapeOut,fullLayout){function coerce(attr,dflt){return Lib.coerce(shapeIn,shapeOut,attributes,attr,dflt)}var visible=coerce("visible");if(!visible)return;var path=coerce("path");var dfltType=path?"path":"rect";var shapeType=coerce("type",dfltType);if(shapeOut.type!=="path")delete shapeOut.path;coerce("editable");coerce("layer");coerce("opacity");coerce("fillcolor");coerce("fillrule");var lineWidth=coerce("line.width");if(lineWidth){coerce("line.color");coerce("line.dash")}var xSizeMode=coerce("xsizemode");var ySizeMode=coerce("ysizemode");var axLetters=["x","y"];for(var i=0;i<2;i++){var axLetter=axLetters[i];var attrAnchor=axLetter+"anchor";var sizeMode=axLetter==="x"?xSizeMode:ySizeMode;var gdMock={_fullLayout:fullLayout};var ax;var pos2r;var r2pos;var axRef=Axes.coerceRef(shapeIn,shapeOut,gdMock,axLetter,undefined,"paper");var axRefType=Axes.getRefType(axRef);if(axRefType==="range"){ax=Axes.getFromId(gdMock,axRef);ax._shapeIndices.push(shapeOut._index);r2pos=helpers.rangeToShapePosition(ax);pos2r=helpers.shapePositionToRange(ax)}else{pos2r=r2pos=Lib.identity}if(shapeType!=="path"){var dflt0=.25;var dflt1=.75;var attr0=axLetter+"0";var attr1=axLetter+"1";var in0=shapeIn[attr0];var in1=shapeIn[attr1];shapeIn[attr0]=pos2r(shapeIn[attr0],true);shapeIn[attr1]=pos2r(shapeIn[attr1],true);if(sizeMode==="pixel"){coerce(attr0,0);coerce(attr1,10)}else{Axes.coercePosition(shapeOut,gdMock,coerce,axRef,attr0,dflt0);Axes.coercePosition(shapeOut,gdMock,coerce,axRef,attr1,dflt1)}shapeOut[attr0]=r2pos(shapeOut[attr0]);shapeOut[attr1]=r2pos(shapeOut[attr1]);shapeIn[attr0]=in0;shapeIn[attr1]=in1}if(sizeMode==="pixel"){var inAnchor=shapeIn[attrAnchor];shapeIn[attrAnchor]=pos2r(shapeIn[attrAnchor],true);Axes.coercePosition(shapeOut,gdMock,coerce,axRef,attrAnchor,.25);shapeOut[attrAnchor]=r2pos(shapeOut[attrAnchor]);shapeIn[attrAnchor]=inAnchor}}if(shapeType==="path"){coerce("path")}else{Lib.noneOrAll(shapeIn,shapeOut,["x0","x1","y0","y1"])}}},{"../../lib":803,"../../plots/array_container_defaults":849,"../../plots/cartesian/axes":854,"./attributes":746,"./helpers":757}],750:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var readPaths=_dereq_("./draw_newshape/helpers").readPaths;var displayOutlines=_dereq_("./draw_newshape/display_outlines");var clearOutlineControllers=_dereq_("../../plots/cartesian/handle_outline").clearOutlineControllers;var Color=_dereq_("../color");var Drawing=_dereq_("../drawing");var arrayEditor=_dereq_("../../plot_api/plot_template").arrayEditor;var dragElement=_dereq_("../dragelement");var setCursor=_dereq_("../../lib/setcursor");var constants=_dereq_("./constants");var helpers=_dereq_("./helpers");module.exports={draw:draw,drawOne:drawOne,eraseActiveShape:eraseActiveShape};function draw(gd){var fullLayout=gd._fullLayout;fullLayout._shapeUpperLayer.selectAll("path").remove();fullLayout._shapeLowerLayer.selectAll("path").remove();for(var k in fullLayout._plots){var shapelayer=fullLayout._plots[k].shapelayer;if(shapelayer)shapelayer.selectAll("path").remove()}for(var i=0;i<fullLayout.shapes.length;i++){if(fullLayout.shapes[i].visible){drawOne(gd,i)}}}function shouldSkipEdits(gd){return!!gd._fullLayout._drawing}function couldHaveActiveShape(gd){return!gd._context.edits.shapePosition}function drawOne(gd,index){gd._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+index+'"]').remove();var o=helpers.makeOptionsAndPlotinfo(gd,index);var options=o.options;var plotinfo=o.plotinfo;if(!options._input||options.visible===false)return;if(options.layer!=="below"){drawShape(gd._fullLayout._shapeUpperLayer)}else if(options.xref==="paper"||options.yref==="paper"){drawShape(gd._fullLayout._shapeLowerLayer)}else{if(plotinfo._hadPlotinfo){var mainPlot=plotinfo.mainplotinfo||plotinfo;drawShape(mainPlot.shapelayer)}else{drawShape(gd._fullLayout._shapeLowerLayer)}}function drawShape(shapeLayer){var d=getPathString(gd,options);var attrs={"data-index":index,"fill-rule":options.fillrule,d:d};var opacity=options.opacity;var fillColor=options.fillcolor;var lineColor=options.line.width?options.line.color:"rgba(0,0,0,0)";var lineWidth=options.line.width;var lineDash=options.line.dash;if(!lineWidth&&options.editable===true){lineWidth=5;lineDash="solid"}var isOpen=d[d.length-1]!=="Z";var isActiveShape=couldHaveActiveShape(gd)&&options.editable&&gd._fullLayout._activeShapeIndex===index;if(isActiveShape){fillColor=isOpen?"rgba(0,0,0,0)":gd._fullLayout.activeshape.fillcolor;opacity=gd._fullLayout.activeshape.opacity}var path=shapeLayer.append("path").attr(attrs).style("opacity",opacity).call(Color.stroke,lineColor).call(Color.fill,fillColor).call(Drawing.dashLine,lineDash,lineWidth);setClipPath(path,gd,options);var editHelpers;if(isActiveShape||gd._context.edits.shapePosition)editHelpers=arrayEditor(gd.layout,"shapes",options);if(isActiveShape){path.style({cursor:"move"});var dragOptions={element:path.node(),plotinfo:plotinfo,gd:gd,editHelpers:editHelpers,isActiveShape:true};var polygons=readPaths(d,gd);displayOutlines(polygons,path,dragOptions)}else{if(gd._context.edits.shapePosition){setupDragElement(gd,path,options,index,shapeLayer,editHelpers)}else if(options.editable===true){path.style("pointer-events",isOpen||Color.opacity(fillColor)*opacity<=.5?"stroke":"all")}}path.node().addEventListener("click",(function(){return activateShape(gd,path)}))}}function setClipPath(shapePath,gd,shapeOptions){var clipAxes=(shapeOptions.xref+shapeOptions.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");Drawing.setClipUrl(shapePath,clipAxes?"clip"+gd._fullLayout._uid+clipAxes:null,gd)}function setupDragElement(gd,shapePath,shapeOptions,index,shapeLayer,editHelpers){var MINWIDTH=10;var MINHEIGHT=10;var xPixelSized=shapeOptions.xsizemode==="pixel";var yPixelSized=shapeOptions.ysizemode==="pixel";var isLine=shapeOptions.type==="line";var isPath=shapeOptions.type==="path";var modifyItem=editHelpers.modifyItem;var x0,y0,x1,y1,xAnchor,yAnchor;var n0,s0,w0,e0,optN,optS,optW,optE;var pathIn;var xa=Axes.getFromId(gd,shapeOptions.xref);var xRefType=Axes.getRefType(shapeOptions.xref);var ya=Axes.getFromId(gd,shapeOptions.yref);var yRefType=Axes.getRefType(shapeOptions.yref);var x2p=helpers.getDataToPixel(gd,xa,false,xRefType);var y2p=helpers.getDataToPixel(gd,ya,true,yRefType);var p2x=helpers.getPixelToData(gd,xa,false,xRefType);var p2y=helpers.getPixelToData(gd,ya,true,yRefType);var sensoryElement=obtainSensoryElement();var dragOptions={element:sensoryElement.node(),gd:gd,prepFn:startDrag,doneFn:endDrag,clickFn:abortDrag};var dragMode;dragElement.init(dragOptions);sensoryElement.node().onmousemove=updateDragMode;function obtainSensoryElement(){return isLine?createLineDragHandles():shapePath}function createLineDragHandles(){var minSensoryWidth=10;var sensoryWidth=Math.max(shapeOptions.line.width,minSensoryWidth);var g=shapeLayer.append("g").attr("data-index",index);g.append("path").attr("d",shapePath.attr("d")).style({cursor:"move","stroke-width":sensoryWidth,"stroke-opacity":"0"});var circleStyle={"fill-opacity":"0"};var circleRadius=Math.max(sensoryWidth/2,minSensoryWidth);g.append("circle").attr({"data-line-point":"start-point",cx:xPixelSized?x2p(shapeOptions.xanchor)+shapeOptions.x0:x2p(shapeOptions.x0),cy:yPixelSized?y2p(shapeOptions.yanchor)-shapeOptions.y0:y2p(shapeOptions.y0),r:circleRadius}).style(circleStyle).classed("cursor-grab",true);g.append("circle").attr({"data-line-point":"end-point",cx:xPixelSized?x2p(shapeOptions.xanchor)+shapeOptions.x1:x2p(shapeOptions.x1),cy:yPixelSized?y2p(shapeOptions.yanchor)-shapeOptions.y1:y2p(shapeOptions.y1),r:circleRadius}).style(circleStyle).classed("cursor-grab",true);return g}function updateDragMode(evt){if(shouldSkipEdits(gd)){dragMode=null;return}if(isLine){if(evt.target.tagName==="path"){dragMode="move"}else{dragMode=evt.target.attributes["data-line-point"].value==="start-point"?"resize-over-start-point":"resize-over-end-point"}}else{var dragBBox=dragOptions.element.getBoundingClientRect();var w=dragBBox.right-dragBBox.left;var h=dragBBox.bottom-dragBBox.top;var x=evt.clientX-dragBBox.left;var y=evt.clientY-dragBBox.top;var cursor=!isPath&&w>MINWIDTH&&h>MINHEIGHT&&!evt.shiftKey?dragElement.getCursor(x/w,1-y/h):"move";setCursor(shapePath,cursor);dragMode=cursor.split("-")[0]}}function startDrag(evt){if(shouldSkipEdits(gd))return;if(xPixelSized){xAnchor=x2p(shapeOptions.xanchor)}if(yPixelSized){yAnchor=y2p(shapeOptions.yanchor)}if(shapeOptions.type==="path"){pathIn=shapeOptions.path}else{x0=xPixelSized?shapeOptions.x0:x2p(shapeOptions.x0);y0=yPixelSized?shapeOptions.y0:y2p(shapeOptions.y0);x1=xPixelSized?shapeOptions.x1:x2p(shapeOptions.x1);y1=yPixelSized?shapeOptions.y1:y2p(shapeOptions.y1)}if(x0<x1){w0=x0;optW="x0";e0=x1;optE="x1"}else{w0=x1;optW="x1";e0=x0;optE="x0"}if(!yPixelSized&&y0<y1||yPixelSized&&y0>y1){n0=y0;optN="y0";s0=y1;optS="y1"}else{n0=y1;optN="y1";s0=y0;optS="y0"}updateDragMode(evt);renderVisualCues(shapeLayer,shapeOptions);deactivateClipPathTemporarily(shapePath,shapeOptions,gd);dragOptions.moveFn=dragMode==="move"?moveShape:resizeShape;dragOptions.altKey=evt.altKey}function endDrag(){if(shouldSkipEdits(gd))return;setCursor(shapePath);removeVisualCues(shapeLayer);setClipPath(shapePath,gd,shapeOptions);Registry.call("_guiRelayout",gd,editHelpers.getUpdateObj())}function abortDrag(){if(shouldSkipEdits(gd))return;removeVisualCues(shapeLayer)}function moveShape(dx,dy){if(shapeOptions.type==="path"){var noOp=function(coord){return coord};var moveX=noOp;var moveY=noOp;if(xPixelSized){modifyItem("xanchor",shapeOptions.xanchor=p2x(xAnchor+dx))}else{moveX=function moveX(x){return p2x(x2p(x)+dx)};if(xa&&xa.type==="date")moveX=helpers.encodeDate(moveX)}if(yPixelSized){modifyItem("yanchor",shapeOptions.yanchor=p2y(yAnchor+dy))}else{moveY=function moveY(y){return p2y(y2p(y)+dy)};if(ya&&ya.type==="date")moveY=helpers.encodeDate(moveY)}modifyItem("path",shapeOptions.path=movePath(pathIn,moveX,moveY))}else{if(xPixelSized){modifyItem("xanchor",shapeOptions.xanchor=p2x(xAnchor+dx))}else{modifyItem("x0",shapeOptions.x0=p2x(x0+dx));modifyItem("x1",shapeOptions.x1=p2x(x1+dx))}if(yPixelSized){modifyItem("yanchor",shapeOptions.yanchor=p2y(yAnchor+dy))}else{modifyItem("y0",shapeOptions.y0=p2y(y0+dy));modifyItem("y1",shapeOptions.y1=p2y(y1+dy))}}shapePath.attr("d",getPathString(gd,shapeOptions));renderVisualCues(shapeLayer,shapeOptions)}function resizeShape(dx,dy){if(isPath){var noOp=function(coord){return coord};var moveX=noOp;var moveY=noOp;if(xPixelSized){modifyItem("xanchor",shapeOptions.xanchor=p2x(xAnchor+dx))}else{moveX=function moveX(x){return p2x(x2p(x)+dx)};if(xa&&xa.type==="date")moveX=helpers.encodeDate(moveX)}if(yPixelSized){modifyItem("yanchor",shapeOptions.yanchor=p2y(yAnchor+dy))}else{moveY=function moveY(y){return p2y(y2p(y)+dy)};if(ya&&ya.type==="date")moveY=helpers.encodeDate(moveY)}modifyItem("path",shapeOptions.path=movePath(pathIn,moveX,moveY))}else if(isLine){if(dragMode==="resize-over-start-point"){var newX0=x0+dx;var newY0=yPixelSized?y0-dy:y0+dy;modifyItem("x0",shapeOptions.x0=xPixelSized?newX0:p2x(newX0));modifyItem("y0",shapeOptions.y0=yPixelSized?newY0:p2y(newY0))}else if(dragMode==="resize-over-end-point"){var newX1=x1+dx;var newY1=yPixelSized?y1-dy:y1+dy;modifyItem("x1",shapeOptions.x1=xPixelSized?newX1:p2x(newX1));modifyItem("y1",shapeOptions.y1=yPixelSized?newY1:p2y(newY1))}}else{var has=function(str){return dragMode.indexOf(str)!==-1};var hasN=has("n");var hasS=has("s");var hasW=has("w");var hasE=has("e");var newN=hasN?n0+dy:n0;var newS=hasS?s0+dy:s0;var newW=hasW?w0+dx:w0;var newE=hasE?e0+dx:e0;if(yPixelSized){if(hasN)newN=n0-dy;if(hasS)newS=s0-dy}if(!yPixelSized&&newS-newN>MINHEIGHT||yPixelSized&&newN-newS>MINHEIGHT){modifyItem(optN,shapeOptions[optN]=yPixelSized?newN:p2y(newN));modifyItem(optS,shapeOptions[optS]=yPixelSized?newS:p2y(newS))}if(newE-newW>MINWIDTH){modifyItem(optW,shapeOptions[optW]=xPixelSized?newW:p2x(newW));modifyItem(optE,shapeOptions[optE]=xPixelSized?newE:p2x(newE))}}shapePath.attr("d",getPathString(gd,shapeOptions));renderVisualCues(shapeLayer,shapeOptions)}function renderVisualCues(shapeLayer,shapeOptions){if(xPixelSized||yPixelSized){renderAnchor()}function renderAnchor(){var isNotPath=shapeOptions.type!=="path";var visualCues=shapeLayer.selectAll(".visual-cue").data([0]);var strokeWidth=1;visualCues.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":strokeWidth}).classed("visual-cue",true);var posX=x2p(xPixelSized?shapeOptions.xanchor:Lib.midRange(isNotPath?[shapeOptions.x0,shapeOptions.x1]:helpers.extractPathCoords(shapeOptions.path,constants.paramIsX)));var posY=y2p(yPixelSized?shapeOptions.yanchor:Lib.midRange(isNotPath?[shapeOptions.y0,shapeOptions.y1]:helpers.extractPathCoords(shapeOptions.path,constants.paramIsY)));posX=helpers.roundPositionForSharpStrokeRendering(posX,strokeWidth);posY=helpers.roundPositionForSharpStrokeRendering(posY,strokeWidth);if(xPixelSized&&yPixelSized){var crossPath="M"+(posX-1-strokeWidth)+","+(posY-1-strokeWidth)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";visualCues.attr("d",crossPath)}else if(xPixelSized){var vBarPath="M"+(posX-1-strokeWidth)+","+(posY-9-strokeWidth)+"v18 h2 v-18 Z";visualCues.attr("d",vBarPath)}else{var hBarPath="M"+(posX-9-strokeWidth)+","+(posY-1-strokeWidth)+"h18 v2 h-18 Z";visualCues.attr("d",hBarPath)}}}function removeVisualCues(shapeLayer){shapeLayer.selectAll(".visual-cue").remove()}function deactivateClipPathTemporarily(shapePath,shapeOptions,gd){var xref=shapeOptions.xref;var yref=shapeOptions.yref;var xa=Axes.getFromId(gd,xref);var ya=Axes.getFromId(gd,yref);var clipAxes="";if(xref!=="paper"&&!xa.autorange)clipAxes+=xref;if(yref!=="paper"&&!ya.autorange)clipAxes+=yref;Drawing.setClipUrl(shapePath,clipAxes?"clip"+gd._fullLayout._uid+clipAxes:null,gd)}}function getPathString(gd,options){var type=options.type;var xRefType=Axes.getRefType(options.xref);var yRefType=Axes.getRefType(options.yref);var xa=Axes.getFromId(gd,options.xref);var ya=Axes.getFromId(gd,options.yref);var gs=gd._fullLayout._size;var x2r,x2p,y2r,y2p;var x0,x1,y0,y1;if(xa){if(xRefType==="domain"){x2p=function(v){return xa._offset+xa._length*v}}else{x2r=helpers.shapePositionToRange(xa);x2p=function(v){return xa._offset+xa.r2p(x2r(v,true))}}}else{x2p=function(v){return gs.l+gs.w*v}}if(ya){if(yRefType==="domain"){y2p=function(v){return ya._offset+ya._length*(1-v)}}else{y2r=helpers.shapePositionToRange(ya);y2p=function(v){return ya._offset+ya.r2p(y2r(v,true))}}}else{y2p=function(v){return gs.t+gs.h*(1-v)}}if(type==="path"){if(xa&&xa.type==="date")x2p=helpers.decodeDate(x2p);if(ya&&ya.type==="date")y2p=helpers.decodeDate(y2p);return convertPath(options,x2p,y2p)}if(options.xsizemode==="pixel"){var xAnchorPos=x2p(options.xanchor);x0=xAnchorPos+options.x0;x1=xAnchorPos+options.x1}else{x0=x2p(options.x0);x1=x2p(options.x1)}if(options.ysizemode==="pixel"){var yAnchorPos=y2p(options.yanchor);y0=yAnchorPos-options.y0;y1=yAnchorPos-options.y1}else{y0=y2p(options.y0);y1=y2p(options.y1)}if(type==="line")return"M"+x0+","+y0+"L"+x1+","+y1;if(type==="rect")return"M"+x0+","+y0+"H"+x1+"V"+y1+"H"+x0+"Z";var cx=(x0+x1)/2;var cy=(y0+y1)/2;var rx=Math.abs(cx-x0);var ry=Math.abs(cy-y0);var rArc="A"+rx+","+ry;var rightPt=cx+rx+","+cy;var topPt=cx+","+(cy-ry);return"M"+rightPt+rArc+" 0 1,1 "+topPt+rArc+" 0 0,1 "+rightPt+"Z"}function convertPath(options,x2p,y2p){var pathIn=options.path;var xSizemode=options.xsizemode;var ySizemode=options.ysizemode;var xAnchor=options.xanchor;var yAnchor=options.yanchor;return pathIn.replace(constants.segmentRE,(function(segment){var paramNumber=0;var segmentType=segment.charAt(0);var xParams=constants.paramIsX[segmentType];var yParams=constants.paramIsY[segmentType];var nParams=constants.numParams[segmentType];var paramString=segment.substr(1).replace(constants.paramRE,(function(param){if(xParams[paramNumber]){if(xSizemode==="pixel")param=x2p(xAnchor)+Number(param);else param=x2p(param)}else if(yParams[paramNumber]){if(ySizemode==="pixel")param=y2p(yAnchor)-Number(param);else param=y2p(param)}paramNumber++;if(paramNumber>nParams)param="X";return param}));if(paramNumber>nParams){paramString=paramString.replace(/[\s,]*X.*/,"");Lib.log("Ignoring extra params in segment "+segment)}return segmentType+paramString}))}function movePath(pathIn,moveX,moveY){return pathIn.replace(constants.segmentRE,(function(segment){var paramNumber=0;var segmentType=segment.charAt(0);var xParams=constants.paramIsX[segmentType];var yParams=constants.paramIsY[segmentType];var nParams=constants.numParams[segmentType];var paramString=segment.substr(1).replace(constants.paramRE,(function(param){if(paramNumber>=nParams)return param;if(xParams[paramNumber])param=moveX(param);else if(yParams[paramNumber])param=moveY(param);paramNumber++;return param}));return segmentType+paramString}))}function activateShape(gd,path){if(!couldHaveActiveShape(gd))return;var element=path.node();var id=+element.getAttribute("data-index");if(id>=0){if(id===gd._fullLayout._activeShapeIndex){deactivateShape(gd);return}gd._fullLayout._activeShapeIndex=id;gd._fullLayout._deactivateShape=deactivateShape;draw(gd)}}function deactivateShape(gd){if(!couldHaveActiveShape(gd))return;var id=gd._fullLayout._activeShapeIndex;if(id>=0){clearOutlineControllers(gd);delete gd._fullLayout._activeShapeIndex;draw(gd)}}function eraseActiveShape(gd){if(!couldHaveActiveShape(gd))return;clearOutlineControllers(gd);var id=gd._fullLayout._activeShapeIndex;var shapes=(gd.layout||{}).shapes||[];if(id<shapes.length){var newShapes=[];for(var q=0;q<shapes.length;q++){if(q!==id){newShapes.push(shapes[q])}}delete gd._fullLayout._activeShapeIndex;Registry.call("_guiRelayout",gd,{shapes:newShapes})}}},{"../../lib":803,"../../lib/setcursor":824,"../../plot_api/plot_template":843,"../../plots/cartesian/axes":854,"../../plots/cartesian/handle_outline":865,"../../registry":931,"../color":666,"../dragelement":685,"../drawing":688,"./constants":748,"./draw_newshape/display_outlines":754,"./draw_newshape/helpers":755,"./helpers":757}],751:[function(_dereq_,module,exports){"use strict";var dash=_dereq_("../../drawing/attributes").dash;var extendFlat=_dereq_("../../../lib/extend").extendFlat;module.exports={newshape:{line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:0,dflt:4,editType:"none"},dash:extendFlat({},dash,{dflt:"solid",editType:"none"}),editType:"none"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"none"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"none"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal",editType:"none"},editType:"none"},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},{"../../../lib/extend":793,"../../drawing/attributes":687}],752:[function(_dereq_,module,exports){"use strict";var CIRCLE_SIDES=32;module.exports={CIRCLE_SIDES:CIRCLE_SIDES,i000:0,i090:CIRCLE_SIDES/4,i180:CIRCLE_SIDES/2,i270:CIRCLE_SIDES/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}},{}],753:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../color");module.exports=function supplyDrawNewShapeDefaults(layoutIn,layoutOut,coerce){coerce("newshape.drawdirection");coerce("newshape.layer");coerce("newshape.fillcolor");coerce("newshape.fillrule");coerce("newshape.opacity");var newshapeLineWidth=coerce("newshape.line.width");if(newshapeLineWidth){var bgcolor=(layoutIn||{}).plot_bgcolor||"#FFF";coerce("newshape.line.color",Color.contrast(bgcolor));coerce("newshape.line.dash")}coerce("activeshape.fillcolor");coerce("activeshape.opacity")}},{"../../color":666}],754:[function(_dereq_,module,exports){"use strict";var dragElement=_dereq_("../../dragelement");var dragHelpers=_dereq_("../../dragelement/helpers");var drawMode=dragHelpers.drawMode;var Registry=_dereq_("../../../registry");var constants=_dereq_("./constants");var i000=constants.i000;var i090=constants.i090;var i180=constants.i180;var i270=constants.i270;var handleOutline=_dereq_("../../../plots/cartesian/handle_outline");var clearOutlineControllers=handleOutline.clearOutlineControllers;var helpers=_dereq_("./helpers");var pointsShapeRectangle=helpers.pointsShapeRectangle;var pointsShapeEllipse=helpers.pointsShapeEllipse;var writePaths=helpers.writePaths;var newShapes=_dereq_("./newshapes");module.exports=function displayOutlines(polygons,outlines,dragOptions,nCalls){if(!nCalls)nCalls=0;var gd=dragOptions.gd;function redraw(){displayOutlines(polygons,outlines,dragOptions,nCalls++);if(pointsShapeEllipse(polygons[0])){update({redrawing:true})}}function update(opts){dragOptions.isActiveShape=false;var updateObject=newShapes(outlines,dragOptions);if(Object.keys(updateObject).length){Registry.call((opts||{}).redrawing?"relayout":"_guiRelayout",gd,updateObject)}}var isActiveShape=dragOptions.isActiveShape;var fullLayout=gd._fullLayout;var zoomLayer=fullLayout._zoomlayer;var dragmode=dragOptions.dragmode;var isDrawMode=drawMode(dragmode);if(isDrawMode)gd._fullLayout._drawing=true;else if(gd._fullLayout._activeShapeIndex>=0)clearOutlineControllers(gd);outlines.attr("d",writePaths(polygons));var vertexDragOptions;var shapeDragOptions;var indexI;var indexJ;var copyPolygons;if(isActiveShape&&!nCalls){copyPolygons=recordPositions([],polygons);var g=zoomLayer.append("g").attr("class","outline-controllers");addVertexControllers(g);addShapeControllers()}function startDragVertex(evt){indexI=+evt.srcElement.getAttribute("data-i");indexJ=+evt.srcElement.getAttribute("data-j");vertexDragOptions[indexI][indexJ].moveFn=moveVertexController}function moveVertexController(dx,dy){if(!polygons.length)return;var x0=copyPolygons[indexI][indexJ][1];var y0=copyPolygons[indexI][indexJ][2];var cell=polygons[indexI];var len=cell.length;if(pointsShapeRectangle(cell)){for(var q=0;q<len;q++){if(q===indexJ)continue;var pos=cell[q];if(pos[1]===cell[indexJ][1]){pos[1]=x0+dx}if(pos[2]===cell[indexJ][2]){pos[2]=y0+dy}}cell[indexJ][1]=x0+dx;cell[indexJ][2]=y0+dy;if(!pointsShapeRectangle(cell)){for(var j=0;j<len;j++){for(var k=0;k<cell[j].length;k++){cell[j][k]=copyPolygons[indexI][j][k]}}}}else{cell[indexJ][1]=x0+dx;cell[indexJ][2]=y0+dy}redraw()}function endDragVertexController(){update()}function removeVertex(){if(!polygons.length)return;if(!polygons[indexI])return;if(!polygons[indexI].length)return;var newPolygon=[];for(var j=0;j<polygons[indexI].length;j++){if(j!==indexJ){newPolygon.push(polygons[indexI][j])}}if(newPolygon.length>1&&!(newPolygon.length===2&&newPolygon[1][0]==="Z")){if(indexJ===0){newPolygon[0][0]="M"}polygons[indexI]=newPolygon;redraw();update()}}function clickVertexController(numClicks,evt){if(numClicks===2){indexI=+evt.srcElement.getAttribute("data-i");indexJ=+evt.srcElement.getAttribute("data-j");var cell=polygons[indexI];if(!pointsShapeRectangle(cell)&&!pointsShapeEllipse(cell)){removeVertex()}}}function addVertexControllers(g){vertexDragOptions=[];for(var i=0;i<polygons.length;i++){var cell=polygons[i];var onRect=pointsShapeRectangle(cell);var onEllipse=!onRect&&pointsShapeEllipse(cell);vertexDragOptions[i]=[];for(var j=0;j<cell.length;j++){if(cell[j][0]==="Z")continue;if(onEllipse&&j!==i000&&j!==i090&&j!==i180&&j!==i270){continue}var x=cell[j][1];var y=cell[j][2];var vertex=g.append("circle").classed("cursor-grab",true).attr("data-i",i).attr("data-j",j).attr("cx",x).attr("cy",y).attr("r",4).style({"mix-blend-mode":"luminosity",fill:"black",stroke:"white","stroke-width":1});vertexDragOptions[i][j]={element:vertex.node(),gd:gd,prepFn:startDragVertex,doneFn:endDragVertexController,clickFn:clickVertexController};dragElement.init(vertexDragOptions[i][j])}}}function moveShape(dx,dy){if(!polygons.length)return;for(var i=0;i<polygons.length;i++){for(var j=0;j<polygons[i].length;j++){for(var k=0;k+2<polygons[i][j].length;k+=2){polygons[i][j][k+1]=copyPolygons[i][j][k+1]+dx;polygons[i][j][k+2]=copyPolygons[i][j][k+2]+dy}}}}function moveShapeController(dx,dy){moveShape(dx,dy);redraw()}function startDragShapeController(evt){indexI=+evt.srcElement.getAttribute("data-i");if(!indexI)indexI=0;shapeDragOptions[indexI].moveFn=moveShapeController}function endDragShapeController(){update()}function addShapeControllers(){shapeDragOptions=[];if(!polygons.length)return;var i=0;shapeDragOptions[i]={element:outlines[0][0],gd:gd,prepFn:startDragShapeController,doneFn:endDragShapeController};dragElement.init(shapeDragOptions[i])}};function recordPositions(polygonsOut,polygonsIn){for(var i=0;i<polygonsIn.length;i++){var cell=polygonsIn[i];polygonsOut[i]=[];for(var j=0;j<cell.length;j++){polygonsOut[i][j]=[];for(var k=0;k<cell[j].length;k++){polygonsOut[i][j][k]=cell[j][k]}}}return polygonsOut}},{"../../../plots/cartesian/handle_outline":865,"../../../registry":931,"../../dragelement":685,"../../dragelement/helpers":684,"./constants":752,"./helpers":755,"./newshapes":756}],755:[function(_dereq_,module,exports){"use strict";var parseSvgPath=_dereq_("parse-svg-path");var constants=_dereq_("./constants");var CIRCLE_SIDES=constants.CIRCLE_SIDES;var SQRT2=constants.SQRT2;var cartesianHelpers=_dereq_("../../../plots/cartesian/helpers");var p2r=cartesianHelpers.p2r;var r2p=cartesianHelpers.r2p;var iC=[0,3,4,5,6,1,2];var iQS=[0,3,4,1,2];exports.writePaths=function(polygons){var nI=polygons.length;if(!nI)return"M0,0Z";var str="";for(var i=0;i<nI;i++){var nJ=polygons[i].length;for(var j=0;j<nJ;j++){var w=polygons[i][j][0];if(w==="Z"){str+="Z"}else{var nK=polygons[i][j].length;for(var k=0;k<nK;k++){var realK=k;if(w==="Q"||w==="S"){realK=iQS[k]}else if(w==="C"){realK=iC[k]}str+=polygons[i][j][realK];if(k>0&&k<nK-1){str+=","}}}}}return str};exports.readPaths=function(str,gd,plotinfo,isActiveShape){var cmd=parseSvgPath(str);var polys=[];var n=-1;var newPoly=function(){n++;polys[n]=[]};var k;var x=0;var y=0;var initX;var initY;var recStart=function(){initX=x;initY=y};recStart();for(var i=0;i<cmd.length;i++){var newPos=[];var x1,x2,y1,y2;var c=cmd[i][0];var w=c;switch(c){case"M":newPoly();x=+cmd[i][1];y=+cmd[i][2];newPos.push([w,x,y]);recStart();break;case"Q":case"S":x1=+cmd[i][1];y1=+cmd[i][2];x=+cmd[i][3];y=+cmd[i][4];newPos.push([w,x,y,x1,y1]);break;case"C":x1=+cmd[i][1];y1=+cmd[i][2];x2=+cmd[i][3];y2=+cmd[i][4];x=+cmd[i][5];y=+cmd[i][6];newPos.push([w,x,y,x1,y1,x2,y2]);break;case"T":case"L":x=+cmd[i][1];y=+cmd[i][2];newPos.push([w,x,y]);break;case"H":w="L";x=+cmd[i][1];newPos.push([w,x,y]);break;case"V":w="L";y=+cmd[i][1];newPos.push([w,x,y]);break;case"A":w="L";var rx=+cmd[i][1];var ry=+cmd[i][2];if(!+cmd[i][4]){rx=-rx;ry=-ry}var cenX=x-rx;var cenY=y;for(k=1;k<=CIRCLE_SIDES/2;k++){var t=2*Math.PI*k/CIRCLE_SIDES;newPos.push([w,cenX+rx*Math.cos(t),cenY+ry*Math.sin(t)])}break;case"Z":if(x!==initX||y!==initY){x=initX;y=initY;newPos.push([w,x,y])}break}var domain=(plotinfo||{}).domain;var size=gd._fullLayout._size;var xPixelSized=plotinfo&&plotinfo.xsizemode==="pixel";var yPixelSized=plotinfo&&plotinfo.ysizemode==="pixel";var noOffset=isActiveShape===false;for(var j=0;j<newPos.length;j++){for(k=0;k+2<7;k+=2){var _x=newPos[j][k+1];var _y=newPos[j][k+2];if(_x===undefined||_y===undefined)continue;x=_x;y=_y;if(plotinfo){if(plotinfo.xaxis&&plotinfo.xaxis.p2r){if(noOffset)_x-=plotinfo.xaxis._offset;if(xPixelSized){_x=r2p(plotinfo.xaxis,plotinfo.xanchor)+_x}else{_x=p2r(plotinfo.xaxis,_x)}}else{if(noOffset)_x-=size.l;if(domain)_x=domain.x[0]+_x/size.w;else _x=_x/size.w}if(plotinfo.yaxis&&plotinfo.yaxis.p2r){if(noOffset)_y-=plotinfo.yaxis._offset;if(yPixelSized){_y=r2p(plotinfo.yaxis,plotinfo.yanchor)-_y}else{_y=p2r(plotinfo.yaxis,_y)}}else{if(noOffset)_y-=size.t;if(domain)_y=domain.y[1]-_y/size.h;else _y=1-_y/size.h}}newPos[j][k+1]=_x;newPos[j][k+2]=_y}polys[n].push(newPos[j].slice())}}return polys};function almostEq(a,b){return Math.abs(a-b)<=1e-6}function dist(a,b){var dx=b[1]-a[1];var dy=b[2]-a[2];return Math.sqrt(dx*dx+dy*dy)}exports.pointsShapeRectangle=function(cell){var len=cell.length;if(len!==5)return false;for(var j=1;j<3;j++){var e01=cell[0][j]-cell[1][j];var e32=cell[3][j]-cell[2][j];if(!almostEq(e01,e32))return false;var e03=cell[0][j]-cell[3][j];var e12=cell[1][j]-cell[2][j];if(!almostEq(e03,e12))return false}if(!almostEq(cell[0][1],cell[1][1])&&!almostEq(cell[0][1],cell[3][1]))return false;return!!(dist(cell[0],cell[1])*dist(cell[0],cell[3]))};exports.pointsShapeEllipse=function(cell){var len=cell.length;if(len!==CIRCLE_SIDES+1)return false;len=CIRCLE_SIDES;for(var i=0;i<len;i++){var k=(len*2-i)%len;var k2=(len/2+k)%len;var i2=(len/2+i)%len;if(!almostEq(dist(cell[i],cell[i2]),dist(cell[k],cell[k2])))return false}return true};exports.handleEllipse=function(isEllipse,start,end){if(!isEllipse)return[start,end];var pos=exports.ellipseOver({x0:start[0],y0:start[1],x1:end[0],y1:end[1]});var cx=(pos.x1+pos.x0)/2;var cy=(pos.y1+pos.y0)/2;var rx=(pos.x1-pos.x0)/2;var ry=(pos.y1-pos.y0)/2;if(!rx)rx=ry=ry/SQRT2;if(!ry)ry=rx=rx/SQRT2;var cell=[];for(var i=0;i<CIRCLE_SIDES;i++){var t=i*2*Math.PI/CIRCLE_SIDES;cell.push([cx+rx*Math.cos(t),cy+ry*Math.sin(t)])}return cell};exports.ellipseOver=function(pos){var x0=pos.x0;var y0=pos.y0;var x1=pos.x1;var y1=pos.y1;var dx=x1-x0;var dy=y1-y0;x0-=dx;y0-=dy;var cx=(x0+x1)/2;var cy=(y0+y1)/2;var scale=SQRT2;dx*=scale;dy*=scale;return{x0:cx-dx,y0:cy-dy,x1:cx+dx,y1:cy+dy}}},{"../../../plots/cartesian/helpers":866,"./constants":752,"parse-svg-path":493}],756:[function(_dereq_,module,exports){"use strict";var dragHelpers=_dereq_("../../dragelement/helpers");var drawMode=dragHelpers.drawMode;var openMode=dragHelpers.openMode;var constants=_dereq_("./constants");var i000=constants.i000;var i090=constants.i090;var i180=constants.i180;var i270=constants.i270;var cos45=constants.cos45;var sin45=constants.sin45;var cartesianHelpers=_dereq_("../../../plots/cartesian/helpers");var p2r=cartesianHelpers.p2r;var r2p=cartesianHelpers.r2p;var handleOutline=_dereq_("../../../plots/cartesian/handle_outline");var clearSelect=handleOutline.clearSelect;var helpers=_dereq_("./helpers");var readPaths=helpers.readPaths;var writePaths=helpers.writePaths;var ellipseOver=helpers.ellipseOver;module.exports=function newShapes(outlines,dragOptions){if(!outlines.length)return;var e=outlines[0][0];if(!e)return;var d=e.getAttribute("d");var gd=dragOptions.gd;var drwStyle=gd._fullLayout.newshape;var plotinfo=dragOptions.plotinfo;var xaxis=plotinfo.xaxis;var yaxis=plotinfo.yaxis;var xPaper=!!plotinfo.domain||!plotinfo.xaxis;var yPaper=!!plotinfo.domain||!plotinfo.yaxis;var isActiveShape=dragOptions.isActiveShape;var dragmode=dragOptions.dragmode;var shapes=(gd.layout||{}).shapes||[];if(!drawMode(dragmode)&&isActiveShape!==undefined){var id=gd._fullLayout._activeShapeIndex;if(id<shapes.length){switch(gd._fullLayout.shapes[id].type){case"rect":dragmode="drawrect";break;case"circle":dragmode="drawcircle";break;case"line":dragmode="drawline";break;case"path":var path=shapes[id].path||"";if(path[path.length-1]==="Z"){dragmode="drawclosedpath"}else{dragmode="drawopenpath"}break}}}var isOpenMode=openMode(dragmode);var polygons=readPaths(d,gd,plotinfo,isActiveShape);var newShape={editable:true,xref:xPaper?"paper":xaxis._id,yref:yPaper?"paper":yaxis._id,layer:drwStyle.layer,opacity:drwStyle.opacity,line:{color:drwStyle.line.color,width:drwStyle.line.width,dash:drwStyle.line.dash}};if(!isOpenMode){newShape.fillcolor=drwStyle.fillcolor;newShape.fillrule=drwStyle.fillrule}var cell;if(polygons.length===1)cell=polygons[0];if(cell&&dragmode==="drawrect"){newShape.type="rect";newShape.x0=cell[0][1];newShape.y0=cell[0][2];newShape.x1=cell[2][1];newShape.y1=cell[2][2]}else if(cell&&dragmode==="drawline"){newShape.type="line";newShape.x0=cell[0][1];newShape.y0=cell[0][2];newShape.x1=cell[1][1];newShape.y1=cell[1][2]}else if(cell&&dragmode==="drawcircle"){newShape.type="circle";var xA=cell[i000][1];var xB=cell[i090][1];var xC=cell[i180][1];var xD=cell[i270][1];var yA=cell[i000][2];var yB=cell[i090][2];var yC=cell[i180][2];var yD=cell[i270][2];var xDateOrLog=plotinfo.xaxis&&(plotinfo.xaxis.type==="date"||plotinfo.xaxis.type==="log");var yDateOrLog=plotinfo.yaxis&&(plotinfo.yaxis.type==="date"||plotinfo.yaxis.type==="log");if(xDateOrLog){xA=r2p(plotinfo.xaxis,xA);xB=r2p(plotinfo.xaxis,xB);xC=r2p(plotinfo.xaxis,xC);xD=r2p(plotinfo.xaxis,xD)}if(yDateOrLog){yA=r2p(plotinfo.yaxis,yA);yB=r2p(plotinfo.yaxis,yB);yC=r2p(plotinfo.yaxis,yC);yD=r2p(plotinfo.yaxis,yD)}var x0=(xB+xD)/2;var y0=(yA+yC)/2;var rx=(xD-xB+xC-xA)/2;var ry=(yD-yB+yC-yA)/2;var pos=ellipseOver({x0:x0,y0:y0,x1:x0+rx*cos45,y1:y0+ry*sin45});if(xDateOrLog){pos.x0=p2r(plotinfo.xaxis,pos.x0);pos.x1=p2r(plotinfo.xaxis,pos.x1)}if(yDateOrLog){pos.y0=p2r(plotinfo.yaxis,pos.y0);pos.y1=p2r(plotinfo.yaxis,pos.y1)}newShape.x0=pos.x0;newShape.y0=pos.y0;newShape.x1=pos.x1;newShape.y1=pos.y1}else{newShape.type="path";if(xaxis&&yaxis)fixDatesForPaths(polygons,xaxis,yaxis);newShape.path=writePaths(polygons);cell=null}clearSelect(gd);var editHelpers=dragOptions.editHelpers;var modifyItem=(editHelpers||{}).modifyItem;var allShapes=[];for(var q=0;q<shapes.length;q++){var beforeEdit=gd._fullLayout.shapes[q];allShapes[q]=beforeEdit._input;if(isActiveShape!==undefined&&q===gd._fullLayout._activeShapeIndex){var afterEdit=newShape;switch(beforeEdit.type){case"line":case"rect":case"circle":modifyItem("x0",afterEdit.x0);modifyItem("x1",afterEdit.x1);modifyItem("y0",afterEdit.y0);modifyItem("y1",afterEdit.y1);break;case"path":modifyItem("path",afterEdit.path);break}}}if(isActiveShape===undefined){allShapes.push(newShape);return allShapes}return editHelpers?editHelpers.getUpdateObj():{}};function fixDatesForPaths(polygons,xaxis,yaxis){var xIsDate=xaxis.type==="date";var yIsDate=yaxis.type==="date";if(!xIsDate&&!yIsDate)return polygons;for(var i=0;i<polygons.length;i++){for(var j=0;j<polygons[i].length;j++){for(var k=0;k+2<polygons[i][j].length;k+=2){if(xIsDate)polygons[i][j][k+1]=polygons[i][j][k+1].replace(" ","_");if(yIsDate)polygons[i][j][k+2]=polygons[i][j][k+2].replace(" ","_")}}}return polygons}},{"../../../plots/cartesian/handle_outline":865,"../../../plots/cartesian/helpers":866,"../../dragelement/helpers":684,"./constants":752,"./helpers":755}],757:[function(_dereq_,module,exports){"use strict";var constants=_dereq_("./constants");var Lib=_dereq_("../../lib");exports.rangeToShapePosition=function(ax){return ax.type==="log"?ax.r2d:function(v){return v}};exports.shapePositionToRange=function(ax){return ax.type==="log"?ax.d2r:function(v){return v}};exports.decodeDate=function(convertToPx){return function(v){if(v.replace)v=v.replace("_"," ");return convertToPx(v)}};exports.encodeDate=function(convertToDate){return function(v){return convertToDate(v).replace(" ","_")}};exports.extractPathCoords=function(path,paramsToUse){var extractedCoordinates=[];var segments=path.match(constants.segmentRE);segments.forEach((function(segment){var relevantParamIdx=paramsToUse[segment.charAt(0)].drawn;if(relevantParamIdx===undefined)return;var params=segment.substr(1).match(constants.paramRE);if(!params||params.length<relevantParamIdx)return;extractedCoordinates.push(Lib.cleanNumber(params[relevantParamIdx]))}));return extractedCoordinates};exports.getDataToPixel=function(gd,axis,isVertical,refType){var gs=gd._fullLayout._size;var dataToPixel;if(axis){if(refType==="domain"){dataToPixel=function(v){return axis._length*(isVertical?1-v:v)+axis._offset}}else{var d2r=exports.shapePositionToRange(axis);dataToPixel=function(v){return axis._offset+axis.r2p(d2r(v,true))};if(axis.type==="date")dataToPixel=exports.decodeDate(dataToPixel)}}else if(isVertical){dataToPixel=function(v){return gs.t+gs.h*(1-v)}}else{dataToPixel=function(v){return gs.l+gs.w*v}}return dataToPixel};exports.getPixelToData=function(gd,axis,isVertical,opt){var gs=gd._fullLayout._size;var pixelToData;if(axis){if(opt==="domain"){pixelToData=function(p){var q=(p-axis._offset)/axis._length;return isVertical?1-q:q}}else{var r2d=exports.rangeToShapePosition(axis);pixelToData=function(p){return r2d(axis.p2r(p-axis._offset))}}}else if(isVertical){pixelToData=function(p){return 1-(p-gs.t)/gs.h}}else{pixelToData=function(p){return(p-gs.l)/gs.w}}return pixelToData};exports.roundPositionForSharpStrokeRendering=function(pos,strokeWidth){var strokeWidthIsOdd=Math.round(strokeWidth%2)===1;var posValAsInt=Math.round(pos);return strokeWidthIsOdd?posValAsInt+.5:posValAsInt};exports.makeOptionsAndPlotinfo=function(gd,index){var options=gd._fullLayout.shapes[index]||{};var plotinfo=gd._fullLayout._plots[options.xref+options.yref];var hasPlotinfo=!!plotinfo;if(hasPlotinfo){plotinfo._hadPlotinfo=true}else{plotinfo={};if(options.xref&&options.xref!=="paper")plotinfo.xaxis=gd._fullLayout[options.xref+"axis"];if(options.yref&&options.yref!=="paper")plotinfo.yaxis=gd._fullLayout[options.yref+"axis"]}plotinfo.xsizemode=options.xsizemode;plotinfo.ysizemode=options.ysizemode;plotinfo.xanchor=options.xanchor;plotinfo.yanchor=options.yanchor;return{options:options,plotinfo:plotinfo}}},{"../../lib":803,"./constants":748}],758:[function(_dereq_,module,exports){"use strict";var drawModule=_dereq_("./draw");module.exports={moduleType:"component",name:"shapes",layoutAttributes:_dereq_("./attributes"),supplyLayoutDefaults:_dereq_("./defaults"),supplyDrawNewShapeDefaults:_dereq_("./draw_newshape/defaults"),includeBasePlot:_dereq_("../../plots/cartesian/include_components")("shapes"),calcAutorange:_dereq_("./calc_autorange"),draw:drawModule.draw,drawOne:drawModule.drawOne}},{"../../plots/cartesian/include_components":867,"./attributes":746,"./calc_autorange":747,"./defaults":749,"./draw":750,"./draw_newshape/defaults":753}],759:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../../plots/font_attributes");var padAttrs=_dereq_("../../plots/pad_attributes");var extendDeepAll=_dereq_("../../lib/extend").extendDeepAll;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var animationAttrs=_dereq_("../../plots/animation_attributes");var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var constants=_dereq_("./constants");var stepsAttrs=templatedArray("step",{visible:{valType:"boolean",dflt:true},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:true,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:true}});module.exports=overrideAll(templatedArray("slider",{visible:{valType:"boolean",dflt:true},active:{valType:"number",min:0,dflt:0},steps:stepsAttrs,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:extendDeepAll(padAttrs({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:animationAttrs.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:true},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:fontAttrs({})},font:fontAttrs({}),activebgcolor:{valType:"color",dflt:constants.gripBgActiveColor},bgcolor:{valType:"color",dflt:constants.railBgColor},bordercolor:{valType:"color",dflt:constants.railBorderColor},borderwidth:{valType:"number",min:0,dflt:constants.railBorderWidth},ticklen:{valType:"number",min:0,dflt:constants.tickLength},tickcolor:{valType:"color",dflt:constants.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:constants.minorTickLength}}),"arraydraw","from-root")},{"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plot_api/plot_template":843,"../../plots/animation_attributes":848,"../../plots/font_attributes":883,"../../plots/pad_attributes":916,"./constants":760}],760:[function(_dereq_,module,exports){"use strict";module.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],761:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var attributes=_dereq_("./attributes");var constants=_dereq_("./constants");var name=constants.name;var stepAttrs=attributes.steps;module.exports=function slidersDefaults(layoutIn,layoutOut){handleArrayContainerDefaults(layoutIn,layoutOut,{name:name,handleItemDefaults:sliderDefaults})};function sliderDefaults(sliderIn,sliderOut,layoutOut){function coerce(attr,dflt){return Lib.coerce(sliderIn,sliderOut,attributes,attr,dflt)}var steps=handleArrayContainerDefaults(sliderIn,sliderOut,{name:"steps",handleItemDefaults:stepDefaults});var stepCount=0;for(var i=0;i<steps.length;i++){if(steps[i].visible)stepCount++}var visible;if(stepCount<2)visible=sliderOut.visible=false;else visible=coerce("visible");if(!visible)return;sliderOut._stepCount=stepCount;var visSteps=sliderOut._visibleSteps=Lib.filterVisible(steps);var active=coerce("active");if(!(steps[active]||{}).visible)sliderOut.active=visSteps[0]._index;coerce("x");coerce("y");Lib.noneOrAll(sliderIn,sliderOut,["x","y"]);coerce("xanchor");coerce("yanchor");coerce("len");coerce("lenmode");coerce("pad.t");coerce("pad.r");coerce("pad.b");coerce("pad.l");Lib.coerceFont(coerce,"font",layoutOut.font);var currentValueIsVisible=coerce("currentvalue.visible");if(currentValueIsVisible){coerce("currentvalue.xanchor");coerce("currentvalue.prefix");coerce("currentvalue.suffix");coerce("currentvalue.offset");Lib.coerceFont(coerce,"currentvalue.font",sliderOut.font)}coerce("transition.duration");coerce("transition.easing");coerce("bgcolor");coerce("activebgcolor");coerce("bordercolor");coerce("borderwidth");coerce("ticklen");coerce("tickwidth");coerce("tickcolor");coerce("minorticklen")}function stepDefaults(valueIn,valueOut){function coerce(attr,dflt){return Lib.coerce(valueIn,valueOut,stepAttrs,attr,dflt)}var visible;if(valueIn.method!=="skip"&&!Array.isArray(valueIn.args)){visible=valueOut.visible=false}else visible=coerce("visible");if(visible){coerce("method");coerce("args");var label=coerce("label","step-"+valueOut._index);coerce("value",label);coerce("execute")}}},{"../../lib":803,"../../plots/array_container_defaults":849,"./attributes":759,"./constants":760}],762:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Plots=_dereq_("../../plots/plots");var Color=_dereq_("../color");var Drawing=_dereq_("../drawing");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var arrayEditor=_dereq_("../../plot_api/plot_template").arrayEditor;var constants=_dereq_("./constants");var alignmentConstants=_dereq_("../../constants/alignment");var LINE_SPACING=alignmentConstants.LINE_SPACING;var FROM_TL=alignmentConstants.FROM_TL;var FROM_BR=alignmentConstants.FROM_BR;module.exports=function draw(gd){var fullLayout=gd._fullLayout;var sliderData=makeSliderData(fullLayout,gd);var sliders=fullLayout._infolayer.selectAll("g."+constants.containerClassName).data(sliderData.length>0?[0]:[]);sliders.enter().append("g").classed(constants.containerClassName,true).style("cursor","ew-resize");function clearSlider(sliderOpts){if(sliderOpts._commandObserver){sliderOpts._commandObserver.remove();delete sliderOpts._commandObserver}Plots.autoMargin(gd,autoMarginId(sliderOpts))}sliders.exit().each((function(){d3.select(this).selectAll("g."+constants.groupClassName).each(clearSlider)})).remove();if(sliderData.length===0)return;var sliderGroups=sliders.selectAll("g."+constants.groupClassName).data(sliderData,keyFunction);sliderGroups.enter().append("g").classed(constants.groupClassName,true);sliderGroups.exit().each(clearSlider).remove();for(var i=0;i<sliderData.length;i++){var sliderOpts=sliderData[i];findDimensions(gd,sliderOpts)}sliderGroups.each((function(sliderOpts){var gSlider=d3.select(this);computeLabelSteps(sliderOpts);Plots.manageCommandObserver(gd,sliderOpts,sliderOpts._visibleSteps,(function(data){var opts=gSlider.data()[0];if(opts.active===data.index)return;if(opts._dragging)return;setActive(gd,gSlider,opts,data.index,false,true)}));drawSlider(gd,d3.select(this),sliderOpts)}))};function autoMarginId(sliderOpts){return constants.autoMarginIdRoot+sliderOpts._index}function makeSliderData(fullLayout,gd){var contOpts=fullLayout[constants.name];var sliderData=[];for(var i=0;i<contOpts.length;i++){var item=contOpts[i];if(!item.visible)continue;item._gd=gd;sliderData.push(item)}return sliderData}function keyFunction(opts){return opts._index}function findDimensions(gd,sliderOpts){var sliderLabels=Drawing.tester.selectAll("g."+constants.labelGroupClass).data(sliderOpts._visibleSteps);sliderLabels.enter().append("g").classed(constants.labelGroupClass,true);var maxLabelWidth=0;var labelHeight=0;sliderLabels.each((function(stepOpts){var labelGroup=d3.select(this);var text=drawLabel(labelGroup,{step:stepOpts},sliderOpts);var textNode=text.node();if(textNode){var bBox=Drawing.bBox(textNode);labelHeight=Math.max(labelHeight,bBox.height);maxLabelWidth=Math.max(maxLabelWidth,bBox.width)}}));sliderLabels.remove();var dims=sliderOpts._dims={};dims.inputAreaWidth=Math.max(constants.railWidth,constants.gripHeight);var graphSize=gd._fullLayout._size;dims.lx=graphSize.l+graphSize.w*sliderOpts.x;dims.ly=graphSize.t+graphSize.h*(1-sliderOpts.y);if(sliderOpts.lenmode==="fraction"){dims.outerLength=Math.round(graphSize.w*sliderOpts.len)}else{dims.outerLength=sliderOpts.len}dims.inputAreaStart=0;dims.inputAreaLength=Math.round(dims.outerLength-sliderOpts.pad.l-sliderOpts.pad.r);var textableInputLength=dims.inputAreaLength-2*constants.stepInset;var availableSpacePerLabel=textableInputLength/(sliderOpts._stepCount-1);var computedSpacePerLabel=maxLabelWidth+constants.labelPadding;dims.labelStride=Math.max(1,Math.ceil(computedSpacePerLabel/availableSpacePerLabel));dims.labelHeight=labelHeight;dims.currentValueMaxWidth=0;dims.currentValueHeight=0;dims.currentValueTotalHeight=0;dims.currentValueMaxLines=1;if(sliderOpts.currentvalue.visible){var dummyGroup=Drawing.tester.append("g");sliderLabels.each((function(stepOpts){var curValPrefix=drawCurrentValue(dummyGroup,sliderOpts,stepOpts.label);var curValSize=curValPrefix.node()&&Drawing.bBox(curValPrefix.node())||{width:0,height:0};var lines=svgTextUtils.lineCount(curValPrefix);dims.currentValueMaxWidth=Math.max(dims.currentValueMaxWidth,Math.ceil(curValSize.width));dims.currentValueHeight=Math.max(dims.currentValueHeight,Math.ceil(curValSize.height));dims.currentValueMaxLines=Math.max(dims.currentValueMaxLines,lines)}));dims.currentValueTotalHeight=dims.currentValueHeight+sliderOpts.currentvalue.offset;dummyGroup.remove()}dims.height=dims.currentValueTotalHeight+constants.tickOffset+sliderOpts.ticklen+constants.labelOffset+dims.labelHeight+sliderOpts.pad.t+sliderOpts.pad.b;var xanchor="left";if(Lib.isRightAnchor(sliderOpts)){dims.lx-=dims.outerLength;xanchor="right"}if(Lib.isCenterAnchor(sliderOpts)){dims.lx-=dims.outerLength/2;xanchor="center"}var yanchor="top";if(Lib.isBottomAnchor(sliderOpts)){dims.ly-=dims.height;yanchor="bottom"}if(Lib.isMiddleAnchor(sliderOpts)){dims.ly-=dims.height/2;yanchor="middle"}dims.outerLength=Math.ceil(dims.outerLength);dims.height=Math.ceil(dims.height);dims.lx=Math.round(dims.lx);dims.ly=Math.round(dims.ly);var marginOpts={y:sliderOpts.y,b:dims.height*FROM_BR[yanchor],t:dims.height*FROM_TL[yanchor]};if(sliderOpts.lenmode==="fraction"){marginOpts.l=0;marginOpts.xl=sliderOpts.x-sliderOpts.len*FROM_TL[xanchor];marginOpts.r=0;marginOpts.xr=sliderOpts.x+sliderOpts.len*FROM_BR[xanchor]}else{marginOpts.x=sliderOpts.x;marginOpts.l=dims.outerLength*FROM_TL[xanchor];marginOpts.r=dims.outerLength*FROM_BR[xanchor]}Plots.autoMargin(gd,autoMarginId(sliderOpts),marginOpts)}function drawSlider(gd,sliderGroup,sliderOpts){if(!(sliderOpts.steps[sliderOpts.active]||{}).visible){sliderOpts.active=sliderOpts._visibleSteps[0]._index}sliderGroup.call(drawCurrentValue,sliderOpts).call(drawRail,sliderOpts).call(drawLabelGroup,sliderOpts).call(drawTicks,sliderOpts).call(drawTouchRect,gd,sliderOpts).call(drawGrip,gd,sliderOpts);var dims=sliderOpts._dims;Drawing.setTranslate(sliderGroup,dims.lx+sliderOpts.pad.l,dims.ly+sliderOpts.pad.t);sliderGroup.call(setGripPosition,sliderOpts,false);sliderGroup.call(drawCurrentValue,sliderOpts)}function drawCurrentValue(sliderGroup,sliderOpts,valueOverride){if(!sliderOpts.currentvalue.visible)return;var dims=sliderOpts._dims;var x0,textAnchor;switch(sliderOpts.currentvalue.xanchor){case"right":x0=dims.inputAreaLength-constants.currentValueInset-dims.currentValueMaxWidth;textAnchor="left";break;case"center":x0=dims.inputAreaLength*.5;textAnchor="middle";break;default:x0=constants.currentValueInset;textAnchor="left"}var text=Lib.ensureSingle(sliderGroup,"text",constants.labelClass,(function(s){s.attr({"text-anchor":textAnchor,"data-notex":1})}));var str=sliderOpts.currentvalue.prefix?sliderOpts.currentvalue.prefix:"";if(typeof valueOverride==="string"){str+=valueOverride}else{var curVal=sliderOpts.steps[sliderOpts.active].label;var _meta=sliderOpts._gd._fullLayout._meta;if(_meta)curVal=Lib.templateString(curVal,_meta);str+=curVal}if(sliderOpts.currentvalue.suffix){str+=sliderOpts.currentvalue.suffix}text.call(Drawing.font,sliderOpts.currentvalue.font).text(str).call(svgTextUtils.convertToTspans,sliderOpts._gd);var lines=svgTextUtils.lineCount(text);var y0=(dims.currentValueMaxLines+1-lines)*sliderOpts.currentvalue.font.size*LINE_SPACING;svgTextUtils.positionText(text,x0,y0);return text}function drawGrip(sliderGroup,gd,sliderOpts){var grip=Lib.ensureSingle(sliderGroup,"rect",constants.gripRectClass,(function(s){s.call(attachGripEvents,gd,sliderGroup,sliderOpts).style("pointer-events","all")}));grip.attr({width:constants.gripWidth,height:constants.gripHeight,rx:constants.gripRadius,ry:constants.gripRadius}).call(Color.stroke,sliderOpts.bordercolor).call(Color.fill,sliderOpts.bgcolor).style("stroke-width",sliderOpts.borderwidth+"px")}function drawLabel(item,data,sliderOpts){var text=Lib.ensureSingle(item,"text",constants.labelClass,(function(s){s.attr({"text-anchor":"middle","data-notex":1})}));var tx=data.step.label;var _meta=sliderOpts._gd._fullLayout._meta;if(_meta)tx=Lib.templateString(tx,_meta);text.call(Drawing.font,sliderOpts.font).text(tx).call(svgTextUtils.convertToTspans,sliderOpts._gd);return text}function drawLabelGroup(sliderGroup,sliderOpts){var labels=Lib.ensureSingle(sliderGroup,"g",constants.labelsClass);var dims=sliderOpts._dims;var labelItems=labels.selectAll("g."+constants.labelGroupClass).data(dims.labelSteps);labelItems.enter().append("g").classed(constants.labelGroupClass,true);labelItems.exit().remove();labelItems.each((function(d){var item=d3.select(this);item.call(drawLabel,d,sliderOpts);Drawing.setTranslate(item,normalizedValueToPosition(sliderOpts,d.fraction),constants.tickOffset+sliderOpts.ticklen+sliderOpts.font.size*LINE_SPACING+constants.labelOffset+dims.currentValueTotalHeight)}))}function handleInput(gd,sliderGroup,sliderOpts,normalizedPosition,doTransition){var quantizedPosition=Math.round(normalizedPosition*(sliderOpts._stepCount-1));var quantizedIndex=sliderOpts._visibleSteps[quantizedPosition]._index;if(quantizedIndex!==sliderOpts.active){setActive(gd,sliderGroup,sliderOpts,quantizedIndex,true,doTransition)}}function setActive(gd,sliderGroup,sliderOpts,index,doCallback,doTransition){var previousActive=sliderOpts.active;sliderOpts.active=index;arrayEditor(gd.layout,constants.name,sliderOpts).applyUpdate("active",index);var step=sliderOpts.steps[sliderOpts.active];sliderGroup.call(setGripPosition,sliderOpts,doTransition);sliderGroup.call(drawCurrentValue,sliderOpts);gd.emit("plotly_sliderchange",{slider:sliderOpts,step:sliderOpts.steps[sliderOpts.active],interaction:doCallback,previousActive:previousActive});if(step&&step.method&&doCallback){if(sliderGroup._nextMethod){sliderGroup._nextMethod.step=step;sliderGroup._nextMethod.doCallback=doCallback;sliderGroup._nextMethod.doTransition=doTransition}else{sliderGroup._nextMethod={step:step,doCallback:doCallback,doTransition:doTransition};sliderGroup._nextMethodRaf=window.requestAnimationFrame((function(){var _step=sliderGroup._nextMethod.step;if(!_step.method)return;if(_step.execute){Plots.executeAPICommand(gd,_step.method,_step.args)}sliderGroup._nextMethod=null;sliderGroup._nextMethodRaf=null}))}}}function attachGripEvents(item,gd,sliderGroup){var node=sliderGroup.node();var $gd=d3.select(gd);function getSliderOpts(){return sliderGroup.data()[0]}function mouseDownHandler(){var sliderOpts=getSliderOpts();gd.emit("plotly_sliderstart",{slider:sliderOpts});var grip=sliderGroup.select("."+constants.gripRectClass);d3.event.stopPropagation();d3.event.preventDefault();grip.call(Color.fill,sliderOpts.activebgcolor);var normalizedPosition=positionToNormalizedValue(sliderOpts,d3.mouse(node)[0]);handleInput(gd,sliderGroup,sliderOpts,normalizedPosition,true);sliderOpts._dragging=true;function mouseMoveHandler(){var sliderOpts=getSliderOpts();var normalizedPosition=positionToNormalizedValue(sliderOpts,d3.mouse(node)[0]);handleInput(gd,sliderGroup,sliderOpts,normalizedPosition,false)}$gd.on("mousemove",mouseMoveHandler);$gd.on("touchmove",mouseMoveHandler);function mouseUpHandler(){var sliderOpts=getSliderOpts();sliderOpts._dragging=false;grip.call(Color.fill,sliderOpts.bgcolor);$gd.on("mouseup",null);$gd.on("mousemove",null);$gd.on("touchend",null);$gd.on("touchmove",null);gd.emit("plotly_sliderend",{slider:sliderOpts,step:sliderOpts.steps[sliderOpts.active]})}$gd.on("mouseup",mouseUpHandler);$gd.on("touchend",mouseUpHandler)}item.on("mousedown",mouseDownHandler);item.on("touchstart",mouseDownHandler)}function drawTicks(sliderGroup,sliderOpts){var tick=sliderGroup.selectAll("rect."+constants.tickRectClass).data(sliderOpts._visibleSteps);var dims=sliderOpts._dims;tick.enter().append("rect").classed(constants.tickRectClass,true);tick.exit().remove();tick.attr({width:sliderOpts.tickwidth+"px","shape-rendering":"crispEdges"});tick.each((function(d,i){var isMajor=i%dims.labelStride===0;var item=d3.select(this);item.attr({height:isMajor?sliderOpts.ticklen:sliderOpts.minorticklen}).call(Color.fill,isMajor?sliderOpts.tickcolor:sliderOpts.tickcolor);Drawing.setTranslate(item,normalizedValueToPosition(sliderOpts,i/(sliderOpts._stepCount-1))-.5*sliderOpts.tickwidth,(isMajor?constants.tickOffset:constants.minorTickOffset)+dims.currentValueTotalHeight)}))}function computeLabelSteps(sliderOpts){var dims=sliderOpts._dims;dims.labelSteps=[];var nsteps=sliderOpts._stepCount;for(var i=0;i<nsteps;i+=dims.labelStride){dims.labelSteps.push({fraction:i/(nsteps-1),step:sliderOpts._visibleSteps[i]})}}function setGripPosition(sliderGroup,sliderOpts,doTransition){var grip=sliderGroup.select("rect."+constants.gripRectClass);var quantizedIndex=0;for(var i=0;i<sliderOpts._stepCount;i++){if(sliderOpts._visibleSteps[i]._index===sliderOpts.active){quantizedIndex=i;break}}var x=normalizedValueToPosition(sliderOpts,quantizedIndex/(sliderOpts._stepCount-1));if(sliderOpts._invokingCommand)return;var el=grip;if(doTransition&&sliderOpts.transition.duration>0){el=el.transition().duration(sliderOpts.transition.duration).ease(sliderOpts.transition.easing)}el.attr("transform",strTranslate(x-constants.gripWidth*.5,sliderOpts._dims.currentValueTotalHeight))}function normalizedValueToPosition(sliderOpts,normalizedPosition){var dims=sliderOpts._dims;return dims.inputAreaStart+constants.stepInset+(dims.inputAreaLength-2*constants.stepInset)*Math.min(1,Math.max(0,normalizedPosition))}function positionToNormalizedValue(sliderOpts,position){var dims=sliderOpts._dims;return Math.min(1,Math.max(0,(position-constants.stepInset-dims.inputAreaStart)/(dims.inputAreaLength-2*constants.stepInset-2*dims.inputAreaStart)))}function drawTouchRect(sliderGroup,gd,sliderOpts){var dims=sliderOpts._dims;var rect=Lib.ensureSingle(sliderGroup,"rect",constants.railTouchRectClass,(function(s){s.call(attachGripEvents,gd,sliderGroup,sliderOpts).style("pointer-events","all")}));rect.attr({width:dims.inputAreaLength,height:Math.max(dims.inputAreaWidth,constants.tickOffset+sliderOpts.ticklen+dims.labelHeight)}).call(Color.fill,sliderOpts.bgcolor).attr("opacity",0);Drawing.setTranslate(rect,0,dims.currentValueTotalHeight)}function drawRail(sliderGroup,sliderOpts){var dims=sliderOpts._dims;var computedLength=dims.inputAreaLength-constants.railInset*2;var rect=Lib.ensureSingle(sliderGroup,"rect",constants.railRectClass);rect.attr({width:computedLength,height:constants.railWidth,rx:constants.railRadius,ry:constants.railRadius,"shape-rendering":"crispEdges"}).call(Color.stroke,sliderOpts.bordercolor).call(Color.fill,sliderOpts.bgcolor).style("stroke-width",sliderOpts.borderwidth+"px");Drawing.setTranslate(rect,constants.railInset,(dims.inputAreaWidth-constants.railWidth)*.5+dims.currentValueTotalHeight)}},{"../../constants/alignment":771,"../../lib":803,"../../lib/svg_text_utils":829,"../../plot_api/plot_template":843,"../../plots/plots":917,"../color":666,"../drawing":688,"./constants":760,"@plotly/d3":58}],763:[function(_dereq_,module,exports){"use strict";var constants=_dereq_("./constants");module.exports={moduleType:"component",name:constants.name,layoutAttributes:_dereq_("./attributes"),supplyLayoutDefaults:_dereq_("./defaults"),draw:_dereq_("./draw")}},{"./attributes":759,"./constants":760,"./defaults":761,"./draw":762}],764:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var Plots=_dereq_("../../plots/plots");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var Drawing=_dereq_("../drawing");var Color=_dereq_("../color");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var interactConstants=_dereq_("../../constants/interactions");var OPPOSITE_SIDE=_dereq_("../../constants/alignment").OPPOSITE_SIDE;var numStripRE=/ [XY][0-9]* /;function draw(gd,titleClass,options){var cont=options.propContainer;var prop=options.propName;var placeholder=options.placeholder;var traceIndex=options.traceIndex;var avoid=options.avoid||{};var attributes=options.attributes;var transform=options.transform;var group=options.containerGroup;var fullLayout=gd._fullLayout;var opacity=1;var isplaceholder=false;var title=cont.title;var txt=(title&&title.text?title.text:"").trim();var font=title&&title.font?title.font:{};var fontFamily=font.family;var fontSize=font.size;var fontColor=font.color;var editAttr;if(prop==="title.text")editAttr="titleText";else if(prop.indexOf("axis")!==-1)editAttr="axisTitleText";else if(prop.indexOf("colorbar"!==-1))editAttr="colorbarTitleText";var editable=gd._context.edits[editAttr];if(txt==="")opacity=0;else if(txt.replace(numStripRE," % ")===placeholder.replace(numStripRE," % ")){opacity=.2;isplaceholder=true;if(!editable)txt=""}if(options._meta){txt=Lib.templateString(txt,options._meta)}else if(fullLayout._meta){txt=Lib.templateString(txt,fullLayout._meta)}var elShouldExist=txt||editable;if(!group){group=Lib.ensureSingle(fullLayout._infolayer,"g","g-"+titleClass)}var el=group.selectAll("text").data(elShouldExist?[0]:[]);el.enter().append("text");el.text(txt).attr("class",titleClass);el.exit().remove();if(!elShouldExist)return group;function titleLayout(titleEl){Lib.syncOrAsync([drawTitle,scootTitle],titleEl)}function drawTitle(titleEl){var transformVal;if(transform){transformVal="";if(transform.rotate){transformVal+="rotate("+[transform.rotate,attributes.x,attributes.y]+")"}if(transform.offset){transformVal+=strTranslate(0,transform.offset)}}else{transformVal=null}titleEl.attr("transform",transformVal);titleEl.style({"font-family":fontFamily,"font-size":d3.round(fontSize,2)+"px",fill:Color.rgb(fontColor),opacity:opacity*Color.opacity(fontColor),"font-weight":Plots.fontWeight}).attr(attributes).call(svgTextUtils.convertToTspans,gd);return Plots.previousPromises(gd)}function scootTitle(titleElIn){var titleGroup=d3.select(titleElIn.node().parentNode);if(avoid&&avoid.selection&&avoid.side&&txt){titleGroup.attr("transform",null);var backside=OPPOSITE_SIDE[avoid.side];var shiftSign=avoid.side==="left"||avoid.side==="top"?-1:1;var pad=isNumeric(avoid.pad)?avoid.pad:2;var titlebb=Drawing.bBox(titleGroup.node());var paperbb={left:0,top:0,right:fullLayout.width,bottom:fullLayout.height};var maxshift=avoid.maxShift||shiftSign*(paperbb[avoid.side]-titlebb[avoid.side]);var shift=0;if(maxshift<0){shift=maxshift}else{var offsetLeft=avoid.offsetLeft||0;var offsetTop=avoid.offsetTop||0;titlebb.left-=offsetLeft;titlebb.right-=offsetLeft;titlebb.top-=offsetTop;titlebb.bottom-=offsetTop;avoid.selection.each((function(){var avoidbb=Drawing.bBox(this);if(Lib.bBoxIntersect(titlebb,avoidbb,pad)){shift=Math.max(shift,shiftSign*(avoidbb[avoid.side]-titlebb[backside])+pad)}}));shift=Math.min(maxshift,shift)}if(shift>0||maxshift<0){var shiftTemplate={left:[-shift,0],right:[shift,0],top:[0,-shift],bottom:[0,shift]}[avoid.side];titleGroup.attr("transform",strTranslate(shiftTemplate[0],shiftTemplate[1]))}}}el.call(titleLayout);function setPlaceholder(){opacity=0;isplaceholder=true;el.text(placeholder).on("mouseover.opacity",(function(){d3.select(this).transition().duration(interactConstants.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){d3.select(this).transition().duration(interactConstants.HIDE_PLACEHOLDER).style("opacity",0)}))}if(editable){if(!txt)setPlaceholder();else el.on(".opacity",null);el.call(svgTextUtils.makeEditable,{gd:gd}).on("edit",(function(text){if(traceIndex!==undefined){Registry.call("_guiRestyle",gd,prop,text,traceIndex)}else{Registry.call("_guiRelayout",gd,prop,text)}})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(titleLayout)})).on("input",(function(d){this.text(d||" ").call(svgTextUtils.positionText,attributes.x,attributes.y)}))}el.classed("js-placeholder",isplaceholder);return group}module.exports={draw:draw}},{"../../constants/alignment":771,"../../constants/interactions":778,"../../lib":803,"../../lib/svg_text_utils":829,"../../plots/plots":917,"../../registry":931,"../color":666,"../drawing":688,"@plotly/d3":58,"fast-isnumeric":249}],765:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../../plots/font_attributes");var colorAttrs=_dereq_("../color/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var padAttrs=_dereq_("../../plots/pad_attributes");var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var buttonsAttrs=templatedArray("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:true,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:true,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:true}});module.exports=overrideAll(templatedArray("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:true},buttons:buttonsAttrs,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:extendFlat(padAttrs({editType:"arraydraw"}),{}),font:fontAttrs({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:colorAttrs.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plot_api/plot_template":843,"../../plots/font_attributes":883,"../../plots/pad_attributes":916,"../color/attributes":665}],766:[function(_dereq_,module,exports){"use strict";module.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:"  "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},{}],767:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var attributes=_dereq_("./attributes");var constants=_dereq_("./constants");var name=constants.name;var buttonAttrs=attributes.buttons;module.exports=function updateMenusDefaults(layoutIn,layoutOut){var opts={name:name,handleItemDefaults:menuDefaults};handleArrayContainerDefaults(layoutIn,layoutOut,opts)};function menuDefaults(menuIn,menuOut,layoutOut){function coerce(attr,dflt){return Lib.coerce(menuIn,menuOut,attributes,attr,dflt)}var buttons=handleArrayContainerDefaults(menuIn,menuOut,{name:"buttons",handleItemDefaults:buttonDefaults});var visible=coerce("visible",buttons.length>0);if(!visible)return;coerce("active");coerce("direction");coerce("type");coerce("showactive");coerce("x");coerce("y");Lib.noneOrAll(menuIn,menuOut,["x","y"]);coerce("xanchor");coerce("yanchor");coerce("pad.t");coerce("pad.r");coerce("pad.b");coerce("pad.l");Lib.coerceFont(coerce,"font",layoutOut.font);coerce("bgcolor",layoutOut.paper_bgcolor);coerce("bordercolor");coerce("borderwidth")}function buttonDefaults(buttonIn,buttonOut){function coerce(attr,dflt){return Lib.coerce(buttonIn,buttonOut,buttonAttrs,attr,dflt)}var visible=coerce("visible",buttonIn.method==="skip"||Array.isArray(buttonIn.args));if(visible){coerce("method");coerce("args");coerce("args2");coerce("label");coerce("execute")}}},{"../../lib":803,"../../plots/array_container_defaults":849,"./attributes":765,"./constants":766}],768:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Plots=_dereq_("../../plots/plots");var Color=_dereq_("../color");var Drawing=_dereq_("../drawing");var Lib=_dereq_("../../lib");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var arrayEditor=_dereq_("../../plot_api/plot_template").arrayEditor;var LINE_SPACING=_dereq_("../../constants/alignment").LINE_SPACING;var constants=_dereq_("./constants");var ScrollBox=_dereq_("./scrollbox");module.exports=function draw(gd){var fullLayout=gd._fullLayout;var menuData=Lib.filterVisible(fullLayout[constants.name]);function clearAutoMargin(menuOpts){Plots.autoMargin(gd,autoMarginId(menuOpts))}var menus=fullLayout._menulayer.selectAll("g."+constants.containerClassName).data(menuData.length>0?[0]:[]);menus.enter().append("g").classed(constants.containerClassName,true).style("cursor","pointer");menus.exit().each((function(){d3.select(this).selectAll("g."+constants.headerGroupClassName).each(clearAutoMargin)})).remove();if(menuData.length===0)return;var headerGroups=menus.selectAll("g."+constants.headerGroupClassName).data(menuData,keyFunction);headerGroups.enter().append("g").classed(constants.headerGroupClassName,true);var gButton=Lib.ensureSingle(menus,"g",constants.dropdownButtonGroupClassName,(function(s){s.style("pointer-events","all")}));for(var i=0;i<menuData.length;i++){var menuOpts=menuData[i];findDimensions(gd,menuOpts)}var scrollBoxId="updatemenus"+fullLayout._uid;var scrollBox=new ScrollBox(gd,gButton,scrollBoxId);if(headerGroups.enter().size()){gButton.node().parentNode.appendChild(gButton.node());gButton.call(removeAllButtons)}headerGroups.exit().each((function(menuOpts){gButton.call(removeAllButtons);clearAutoMargin(menuOpts)})).remove();headerGroups.each((function(menuOpts){var gHeader=d3.select(this);var _gButton=menuOpts.type==="dropdown"?gButton:null;Plots.manageCommandObserver(gd,menuOpts,menuOpts.buttons,(function(data){setActive(gd,menuOpts,menuOpts.buttons[data.index],gHeader,_gButton,scrollBox,data.index,true)}));if(menuOpts.type==="dropdown"){drawHeader(gd,gHeader,gButton,scrollBox,menuOpts);if(isActive(gButton,menuOpts)){drawButtons(gd,gHeader,gButton,scrollBox,menuOpts)}}else{drawButtons(gd,gHeader,null,null,menuOpts)}}))};function keyFunction(menuOpts){return menuOpts._index}function isFolded(gButton){return+gButton.attr(constants.menuIndexAttrName)===-1}function isActive(gButton,menuOpts){return+gButton.attr(constants.menuIndexAttrName)===menuOpts._index}function setActive(gd,menuOpts,buttonOpts,gHeader,gButton,scrollBox,buttonIndex,isSilentUpdate){menuOpts.active=buttonIndex;arrayEditor(gd.layout,constants.name,menuOpts).applyUpdate("active",buttonIndex);if(menuOpts.type==="buttons"){drawButtons(gd,gHeader,null,null,menuOpts)}else if(menuOpts.type==="dropdown"){gButton.attr(constants.menuIndexAttrName,"-1");drawHeader(gd,gHeader,gButton,scrollBox,menuOpts);if(!isSilentUpdate){drawButtons(gd,gHeader,gButton,scrollBox,menuOpts)}}}function drawHeader(gd,gHeader,gButton,scrollBox,menuOpts){var header=Lib.ensureSingle(gHeader,"g",constants.headerClassName,(function(s){s.style("pointer-events","all")}));var dims=menuOpts._dims;var active=menuOpts.active;var headerOpts=menuOpts.buttons[active]||constants.blankHeaderOpts;var posOpts={y:menuOpts.pad.t,yPad:0,x:menuOpts.pad.l,xPad:0,index:0};var positionOverrides={width:dims.headerWidth,height:dims.headerHeight};header.call(drawItem,menuOpts,headerOpts,gd).call(setItemPosition,menuOpts,posOpts,positionOverrides);var arrow=Lib.ensureSingle(gHeader,"text",constants.headerArrowClassName,(function(s){s.attr("text-anchor","end").call(Drawing.font,menuOpts.font).text(constants.arrowSymbol[menuOpts.direction])}));arrow.attr({x:dims.headerWidth-constants.arrowOffsetX+menuOpts.pad.l,y:dims.headerHeight/2+constants.textOffsetY+menuOpts.pad.t});header.on("click",(function(){gButton.call(removeAllButtons,String(isActive(gButton,menuOpts)?-1:menuOpts._index));drawButtons(gd,gHeader,gButton,scrollBox,menuOpts)}));header.on("mouseover",(function(){header.call(styleOnMouseOver)}));header.on("mouseout",(function(){header.call(styleOnMouseOut,menuOpts)}));Drawing.setTranslate(gHeader,dims.lx,dims.ly)}function drawButtons(gd,gHeader,gButton,scrollBox,menuOpts){if(!gButton){gButton=gHeader;gButton.attr("pointer-events","all")}var buttonData=!isFolded(gButton)||menuOpts.type==="buttons"?menuOpts.buttons:[];var klass=menuOpts.type==="dropdown"?constants.dropdownButtonClassName:constants.buttonClassName;var buttons=gButton.selectAll("g."+klass).data(Lib.filterVisible(buttonData));var enter=buttons.enter().append("g").classed(klass,true);var exit=buttons.exit();if(menuOpts.type==="dropdown"){enter.attr("opacity","0").transition().attr("opacity","1");exit.transition().attr("opacity","0").remove()}else{exit.remove()}var x0=0;var y0=0;var dims=menuOpts._dims;var isVertical=["up","down"].indexOf(menuOpts.direction)!==-1;if(menuOpts.type==="dropdown"){if(isVertical){y0=dims.headerHeight+constants.gapButtonHeader}else{x0=dims.headerWidth+constants.gapButtonHeader}}if(menuOpts.type==="dropdown"&&menuOpts.direction==="up"){y0=-constants.gapButtonHeader+constants.gapButton-dims.openHeight}if(menuOpts.type==="dropdown"&&menuOpts.direction==="left"){x0=-constants.gapButtonHeader+constants.gapButton-dims.openWidth}var posOpts={x:dims.lx+x0+menuOpts.pad.l,y:dims.ly+y0+menuOpts.pad.t,yPad:constants.gapButton,xPad:constants.gapButton,index:0};var scrollBoxPosition={l:posOpts.x+menuOpts.borderwidth,t:posOpts.y+menuOpts.borderwidth};buttons.each((function(buttonOpts,buttonIndex){var button=d3.select(this);button.call(drawItem,menuOpts,buttonOpts,gd).call(setItemPosition,menuOpts,posOpts);button.on("click",(function(){if(d3.event.defaultPrevented)return;if(buttonOpts.execute){if(buttonOpts.args2&&menuOpts.active===buttonIndex){setActive(gd,menuOpts,buttonOpts,gHeader,gButton,scrollBox,-1);Plots.executeAPICommand(gd,buttonOpts.method,buttonOpts.args2)}else{setActive(gd,menuOpts,buttonOpts,gHeader,gButton,scrollBox,buttonIndex);Plots.executeAPICommand(gd,buttonOpts.method,buttonOpts.args)}}gd.emit("plotly_buttonclicked",{menu:menuOpts,button:buttonOpts,active:menuOpts.active})}));button.on("mouseover",(function(){button.call(styleOnMouseOver)}));button.on("mouseout",(function(){button.call(styleOnMouseOut,menuOpts);buttons.call(styleButtons,menuOpts)}))}));buttons.call(styleButtons,menuOpts);if(isVertical){scrollBoxPosition.w=Math.max(dims.openWidth,dims.headerWidth);scrollBoxPosition.h=posOpts.y-scrollBoxPosition.t}else{scrollBoxPosition.w=posOpts.x-scrollBoxPosition.l;scrollBoxPosition.h=Math.max(dims.openHeight,dims.headerHeight)}scrollBoxPosition.direction=menuOpts.direction;if(scrollBox){if(buttons.size()){drawScrollBox(gd,gHeader,gButton,scrollBox,menuOpts,scrollBoxPosition)}else{hideScrollBox(scrollBox)}}}function drawScrollBox(gd,gHeader,gButton,scrollBox,menuOpts,position){var direction=menuOpts.direction;var isVertical=direction==="up"||direction==="down";var dims=menuOpts._dims;var active=menuOpts.active;var translateX,translateY;var i;if(isVertical){translateY=0;for(i=0;i<active;i++){translateY+=dims.heights[i]+constants.gapButton}}else{translateX=0;for(i=0;i<active;i++){translateX+=dims.widths[i]+constants.gapButton}}scrollBox.enable(position,translateX,translateY);if(scrollBox.hbar){scrollBox.hbar.attr("opacity","0").transition().attr("opacity","1")}if(scrollBox.vbar){scrollBox.vbar.attr("opacity","0").transition().attr("opacity","1")}}function hideScrollBox(scrollBox){var hasHBar=!!scrollBox.hbar;var hasVBar=!!scrollBox.vbar;if(hasHBar){scrollBox.hbar.transition().attr("opacity","0").each("end",(function(){hasHBar=false;if(!hasVBar)scrollBox.disable()}))}if(hasVBar){scrollBox.vbar.transition().attr("opacity","0").each("end",(function(){hasVBar=false;if(!hasHBar)scrollBox.disable()}))}}function drawItem(item,menuOpts,itemOpts,gd){item.call(drawItemRect,menuOpts).call(drawItemText,menuOpts,itemOpts,gd)}function drawItemRect(item,menuOpts){var rect=Lib.ensureSingle(item,"rect",constants.itemRectClassName,(function(s){s.attr({rx:constants.rx,ry:constants.ry,"shape-rendering":"crispEdges"})}));rect.call(Color.stroke,menuOpts.bordercolor).call(Color.fill,menuOpts.bgcolor).style("stroke-width",menuOpts.borderwidth+"px")}function drawItemText(item,menuOpts,itemOpts,gd){var text=Lib.ensureSingle(item,"text",constants.itemTextClassName,(function(s){s.attr({"text-anchor":"start","data-notex":1})}));var tx=itemOpts.label;var _meta=gd._fullLayout._meta;if(_meta)tx=Lib.templateString(tx,_meta);text.call(Drawing.font,menuOpts.font).text(tx).call(svgTextUtils.convertToTspans,gd)}function styleButtons(buttons,menuOpts){var active=menuOpts.active;buttons.each((function(buttonOpts,i){var button=d3.select(this);if(i===active&&menuOpts.showactive){button.select("rect."+constants.itemRectClassName).call(Color.fill,constants.activeColor)}}))}function styleOnMouseOver(item){item.select("rect."+constants.itemRectClassName).call(Color.fill,constants.hoverColor)}function styleOnMouseOut(item,menuOpts){item.select("rect."+constants.itemRectClassName).call(Color.fill,menuOpts.bgcolor)}function findDimensions(gd,menuOpts){var dims=menuOpts._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0};var fakeButtons=Drawing.tester.selectAll("g."+constants.dropdownButtonClassName).data(Lib.filterVisible(menuOpts.buttons));fakeButtons.enter().append("g").classed(constants.dropdownButtonClassName,true);var isVertical=["up","down"].indexOf(menuOpts.direction)!==-1;fakeButtons.each((function(buttonOpts,i){var button=d3.select(this);button.call(drawItem,menuOpts,buttonOpts,gd);var text=button.select("."+constants.itemTextClassName);var tWidth=text.node()&&Drawing.bBox(text.node()).width;var wEff=Math.max(tWidth+constants.textPadX,constants.minWidth);var tHeight=menuOpts.font.size*LINE_SPACING;var tLines=svgTextUtils.lineCount(text);var hEff=Math.max(tHeight*tLines,constants.minHeight)+constants.textOffsetY;hEff=Math.ceil(hEff);wEff=Math.ceil(wEff);dims.widths[i]=wEff;dims.heights[i]=hEff;dims.height1=Math.max(dims.height1,hEff);dims.width1=Math.max(dims.width1,wEff);if(isVertical){dims.totalWidth=Math.max(dims.totalWidth,wEff);dims.openWidth=dims.totalWidth;dims.totalHeight+=hEff+constants.gapButton;dims.openHeight+=hEff+constants.gapButton}else{dims.totalWidth+=wEff+constants.gapButton;dims.openWidth+=wEff+constants.gapButton;dims.totalHeight=Math.max(dims.totalHeight,hEff);dims.openHeight=dims.totalHeight}}));if(isVertical){dims.totalHeight-=constants.gapButton}else{dims.totalWidth-=constants.gapButton}dims.headerWidth=dims.width1+constants.arrowPadX;dims.headerHeight=dims.height1;if(menuOpts.type==="dropdown"){if(isVertical){dims.width1+=constants.arrowPadX;dims.totalHeight=dims.height1}else{dims.totalWidth=dims.width1}dims.totalWidth+=constants.arrowPadX}fakeButtons.remove();var paddedWidth=dims.totalWidth+menuOpts.pad.l+menuOpts.pad.r;var paddedHeight=dims.totalHeight+menuOpts.pad.t+menuOpts.pad.b;var graphSize=gd._fullLayout._size;dims.lx=graphSize.l+graphSize.w*menuOpts.x;dims.ly=graphSize.t+graphSize.h*(1-menuOpts.y);var xanchor="left";if(Lib.isRightAnchor(menuOpts)){dims.lx-=paddedWidth;xanchor="right"}if(Lib.isCenterAnchor(menuOpts)){dims.lx-=paddedWidth/2;xanchor="center"}var yanchor="top";if(Lib.isBottomAnchor(menuOpts)){dims.ly-=paddedHeight;yanchor="bottom"}if(Lib.isMiddleAnchor(menuOpts)){dims.ly-=paddedHeight/2;yanchor="middle"}dims.totalWidth=Math.ceil(dims.totalWidth);dims.totalHeight=Math.ceil(dims.totalHeight);dims.lx=Math.round(dims.lx);dims.ly=Math.round(dims.ly);Plots.autoMargin(gd,autoMarginId(menuOpts),{x:menuOpts.x,y:menuOpts.y,l:paddedWidth*({right:1,center:.5}[xanchor]||0),r:paddedWidth*({left:1,center:.5}[xanchor]||0),b:paddedHeight*({top:1,middle:.5}[yanchor]||0),t:paddedHeight*({bottom:1,middle:.5}[yanchor]||0)})}function autoMarginId(menuOpts){return constants.autoMarginIdRoot+menuOpts._index}function setItemPosition(item,menuOpts,posOpts,overrideOpts){overrideOpts=overrideOpts||{};var rect=item.select("."+constants.itemRectClassName);var text=item.select("."+constants.itemTextClassName);var borderWidth=menuOpts.borderwidth;var index=posOpts.index;var dims=menuOpts._dims;Drawing.setTranslate(item,borderWidth+posOpts.x,borderWidth+posOpts.y);var isVertical=["up","down"].indexOf(menuOpts.direction)!==-1;var finalHeight=overrideOpts.height||(isVertical?dims.heights[index]:dims.height1);rect.attr({x:0,y:0,width:overrideOpts.width||(isVertical?dims.width1:dims.widths[index]),height:finalHeight});var tHeight=menuOpts.font.size*LINE_SPACING;var tLines=svgTextUtils.lineCount(text);var spanOffset=(tLines-1)*tHeight/2;svgTextUtils.positionText(text,constants.textOffsetX,finalHeight/2-spanOffset+constants.textOffsetY);if(isVertical){posOpts.y+=dims.heights[index]+posOpts.yPad}else{posOpts.x+=dims.widths[index]+posOpts.xPad}posOpts.index++}function removeAllButtons(gButton,newMenuIndexAttr){gButton.attr(constants.menuIndexAttrName,newMenuIndexAttr||"-1").selectAll("g."+constants.dropdownButtonClassName).remove()}},{"../../constants/alignment":771,"../../lib":803,"../../lib/svg_text_utils":829,"../../plot_api/plot_template":843,"../../plots/plots":917,"../color":666,"../drawing":688,"./constants":766,"./scrollbox":770,"@plotly/d3":58}],769:[function(_dereq_,module,exports){arguments[4][763][0].apply(exports,arguments)},{"./attributes":765,"./constants":766,"./defaults":767,"./draw":768,dup:763}],770:[function(_dereq_,module,exports){"use strict";module.exports=ScrollBox;var d3=_dereq_("@plotly/d3");var Color=_dereq_("../color");var Drawing=_dereq_("../drawing");var Lib=_dereq_("../../lib");function ScrollBox(gd,container,id){this.gd=gd;this.container=container;this.id=id;this.position=null;this.translateX=null;this.translateY=null;this.hbar=null;this.vbar=null;this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]);this.bg.exit().on(".drag",null).on("wheel",null).remove();this.bg.enter().append("rect").classed("scrollbox-bg",true).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}ScrollBox.barWidth=2;ScrollBox.barLength=20;ScrollBox.barRadius=2;ScrollBox.barPad=1;ScrollBox.barColor="#808BA4";ScrollBox.prototype.enable=function enable(position,translateX,translateY){var fullLayout=this.gd._fullLayout;var fullWidth=fullLayout.width;var fullHeight=fullLayout.height;this.position=position;var l=this.position.l;var w=this.position.w;var t=this.position.t;var h=this.position.h;var direction=this.position.direction;var isDown=direction==="down";var isLeft=direction==="left";var isRight=direction==="right";var isUp=direction==="up";var boxW=w;var boxH=h;var boxL,boxR;var boxT,boxB;if(!isDown&&!isLeft&&!isRight&&!isUp){this.position.direction="down";isDown=true}var isVertical=isDown||isUp;if(isVertical){boxL=l;boxR=boxL+boxW;if(isDown){boxT=t;boxB=Math.min(boxT+boxH,fullHeight);boxH=boxB-boxT}else{boxB=t+boxH;boxT=Math.max(boxB-boxH,0);boxH=boxB-boxT}}else{boxT=t;boxB=boxT+boxH;if(isLeft){boxR=l+boxW;boxL=Math.max(boxR-boxW,0);boxW=boxR-boxL}else{boxL=l;boxR=Math.min(boxL+boxW,fullWidth);boxW=boxR-boxL}}this._box={l:boxL,t:boxT,w:boxW,h:boxH};var needsHorizontalScrollBar=w>boxW;var hbarW=ScrollBox.barLength+2*ScrollBox.barPad;var hbarH=ScrollBox.barWidth+2*ScrollBox.barPad;var hbarL=l;var hbarT=t+h;if(hbarT+hbarH>fullHeight)hbarT=fullHeight-hbarH;var hbar=this.container.selectAll("rect.scrollbar-horizontal").data(needsHorizontalScrollBar?[0]:[]);hbar.exit().on(".drag",null).remove();hbar.enter().append("rect").classed("scrollbar-horizontal",true).call(Color.fill,ScrollBox.barColor);if(needsHorizontalScrollBar){this.hbar=hbar.attr({rx:ScrollBox.barRadius,ry:ScrollBox.barRadius,x:hbarL,y:hbarT,width:hbarW,height:hbarH});this._hbarXMin=hbarL+hbarW/2;this._hbarTranslateMax=boxW-hbarW}else{delete this.hbar;delete this._hbarXMin;delete this._hbarTranslateMax}var needsVerticalScrollBar=h>boxH;var vbarW=ScrollBox.barWidth+2*ScrollBox.barPad;var vbarH=ScrollBox.barLength+2*ScrollBox.barPad;var vbarL=l+w;var vbarT=t;if(vbarL+vbarW>fullWidth)vbarL=fullWidth-vbarW;var vbar=this.container.selectAll("rect.scrollbar-vertical").data(needsVerticalScrollBar?[0]:[]);vbar.exit().on(".drag",null).remove();vbar.enter().append("rect").classed("scrollbar-vertical",true).call(Color.fill,ScrollBox.barColor);if(needsVerticalScrollBar){this.vbar=vbar.attr({rx:ScrollBox.barRadius,ry:ScrollBox.barRadius,x:vbarL,y:vbarT,width:vbarW,height:vbarH});this._vbarYMin=vbarT+vbarH/2;this._vbarTranslateMax=boxH-vbarH}else{delete this.vbar;delete this._vbarYMin;delete this._vbarTranslateMax}var clipId=this.id;var clipL=boxL-.5;var clipR=needsVerticalScrollBar?boxR+vbarW+.5:boxR+.5;var clipT=boxT-.5;var clipB=needsHorizontalScrollBar?boxB+hbarH+.5:boxB+.5;var clipPath=fullLayout._topdefs.selectAll("#"+clipId).data(needsHorizontalScrollBar||needsVerticalScrollBar?[0]:[]);clipPath.exit().remove();clipPath.enter().append("clipPath").attr("id",clipId).append("rect");if(needsHorizontalScrollBar||needsVerticalScrollBar){this._clipRect=clipPath.select("rect").attr({x:Math.floor(clipL),y:Math.floor(clipT),width:Math.ceil(clipR)-Math.floor(clipL),height:Math.ceil(clipB)-Math.floor(clipT)});this.container.call(Drawing.setClipUrl,clipId,this.gd);this.bg.attr({x:l,y:t,width:w,height:h})}else{this.bg.attr({width:0,height:0});this.container.on("wheel",null).on(".drag",null).call(Drawing.setClipUrl,null);delete this._clipRect}if(needsHorizontalScrollBar||needsVerticalScrollBar){var onBoxDrag=d3.behavior.drag().on("dragstart",(function(){d3.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(onBoxDrag);var onBarDrag=d3.behavior.drag().on("dragstart",(function(){d3.event.sourceEvent.preventDefault();d3.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));if(needsHorizontalScrollBar){this.hbar.on(".drag",null).call(onBarDrag)}if(needsVerticalScrollBar){this.vbar.on(".drag",null).call(onBarDrag)}}this.setTranslate(translateX,translateY)};ScrollBox.prototype.disable=function disable(){if(this.hbar||this.vbar){this.bg.attr({width:0,height:0});this.container.on("wheel",null).on(".drag",null).call(Drawing.setClipUrl,null);delete this._clipRect}if(this.hbar){this.hbar.on(".drag",null);this.hbar.remove();delete this.hbar;delete this._hbarXMin;delete this._hbarTranslateMax}if(this.vbar){this.vbar.on(".drag",null);this.vbar.remove();delete this.vbar;delete this._vbarYMin;delete this._vbarTranslateMax}};ScrollBox.prototype._onBoxDrag=function _onBoxDrag(){var translateX=this.translateX;var translateY=this.translateY;if(this.hbar){translateX-=d3.event.dx}if(this.vbar){translateY-=d3.event.dy}this.setTranslate(translateX,translateY)};ScrollBox.prototype._onBoxWheel=function _onBoxWheel(){var translateX=this.translateX;var translateY=this.translateY;if(this.hbar){translateX+=d3.event.deltaY}if(this.vbar){translateY+=d3.event.deltaY}this.setTranslate(translateX,translateY)};ScrollBox.prototype._onBarDrag=function _onBarDrag(){var translateX=this.translateX;var translateY=this.translateY;if(this.hbar){var xMin=translateX+this._hbarXMin;var xMax=xMin+this._hbarTranslateMax;var x=Lib.constrain(d3.event.x,xMin,xMax);var xf=(x-xMin)/(xMax-xMin);var translateXMax=this.position.w-this._box.w;translateX=xf*translateXMax}if(this.vbar){var yMin=translateY+this._vbarYMin;var yMax=yMin+this._vbarTranslateMax;var y=Lib.constrain(d3.event.y,yMin,yMax);var yf=(y-yMin)/(yMax-yMin);var translateYMax=this.position.h-this._box.h;translateY=yf*translateYMax}this.setTranslate(translateX,translateY)};ScrollBox.prototype.setTranslate=function setTranslate(translateX,translateY){var translateXMax=this.position.w-this._box.w;var translateYMax=this.position.h-this._box.h;translateX=Lib.constrain(translateX||0,0,translateXMax);translateY=Lib.constrain(translateY||0,0,translateYMax);this.translateX=translateX;this.translateY=translateY;this.container.call(Drawing.setTranslate,this._box.l-this.position.l-translateX,this._box.t-this.position.t-translateY);if(this._clipRect){this._clipRect.attr({x:Math.floor(this.position.l+translateX-.5),y:Math.floor(this.position.t+translateY-.5)})}if(this.hbar){var xf=translateX/translateXMax;this.hbar.call(Drawing.setTranslate,translateX+xf*this._hbarTranslateMax,translateY)}if(this.vbar){var yf=translateY/translateYMax;this.vbar.call(Drawing.setTranslate,translateX,translateY+yf*this._vbarTranslateMax)}}},{"../../lib":803,"../color":666,"../drawing":688,"@plotly/d3":58}],771:[function(_dereq_,module,exports){"use strict";module.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],772:[function(_dereq_,module,exports){"use strict";module.exports={axisRefDescription:function(axisname,lower,upper){return["If set to a",axisname,"axis id (e.g. *"+axisname+"* or","*"+axisname+"2*), the `"+axisname+"` position refers to a",axisname,"coordinate. If set to *paper*, the `"+axisname+"`","position refers to the distance from the",lower,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",lower,"("+upper+"). If set to a",axisname,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",lower,"of the domain of that axis: e.g.,","*"+axisname+"2 domain* refers to the domain of the second",axisname," axis and a",axisname,"position of 0.5 refers to the","point between the",lower,"and the",upper,"of the domain of the","second",axisname,"axis."].join(" ")}}},{}],773:[function(_dereq_,module,exports){"use strict";module.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},{}],774:[function(_dereq_,module,exports){"use strict";module.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},{}],775:[function(_dereq_,module,exports){"use strict";module.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],776:[function(_dereq_,module,exports){"use strict";module.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],777:[function(_dereq_,module,exports){"use strict";module.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},{}],778:[function(_dereq_,module,exports){"use strict";module.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],779:[function(_dereq_,module,exports){"use strict";module.exports={BADNUM:undefined,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"−"}},{}],780:[function(_dereq_,module,exports){"use strict";exports.xmlns="http://www.w3.org/2000/xmlns/";exports.svg="http://www.w3.org/2000/svg";exports.xlink="http://www.w3.org/1999/xlink";exports.svgAttrs={xmlns:exports.svg,"xmlns:xlink":exports.xlink}},{}],781:[function(_dereq_,module,exports){"use strict";exports.version=_dereq_("./version").version;_dereq_("native-promise-only");_dereq_("../build/plotcss");var Registry=_dereq_("./registry");var register=exports.register=Registry.register;var plotApi=_dereq_("./plot_api");var methodNames=Object.keys(plotApi);for(var i=0;i<methodNames.length;i++){var name=methodNames[i];if(name.charAt(0)!=="_")exports[name]=plotApi[name];register({moduleType:"apiMethod",name:name,fn:plotApi[name]})}register(_dereq_("./traces/scatter"));register([_dereq_("./components/legend"),_dereq_("./components/fx"),_dereq_("./components/annotations"),_dereq_("./components/annotations3d"),_dereq_("./components/shapes"),_dereq_("./components/images"),_dereq_("./components/updatemenus"),_dereq_("./components/sliders"),_dereq_("./components/rangeslider"),_dereq_("./components/rangeselector"),_dereq_("./components/grid"),_dereq_("./components/errorbars"),_dereq_("./components/colorscale"),_dereq_("./components/colorbar"),_dereq_("./components/modebar")]);register([_dereq_("./locale-en"),_dereq_("./locale-en-us")]);if(window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)){register(window.PlotlyLocales);delete window.PlotlyLocales}exports.Icons=_dereq_("./fonts/ploticon");var Fx=_dereq_("./components/fx");var Plots=_dereq_("./plots/plots");exports.Plots={resize:Plots.resize,graphJson:Plots.graphJson,sendDataToCloud:Plots.sendDataToCloud};exports.Fx={hover:Fx.hover,unhover:Fx.unhover,loneHover:Fx.loneHover,loneUnhover:Fx.loneUnhover};exports.Snapshot=_dereq_("./snapshot");exports.PlotSchema=_dereq_("./plot_api/plot_schema")},{"../build/plotcss":1,"./components/annotations":657,"./components/annotations3d":662,"./components/colorbar":672,"./components/colorscale":678,"./components/errorbars":694,"./components/fx":706,"./components/grid":710,"./components/images":715,"./components/legend":723,"./components/modebar":729,"./components/rangeselector":737,"./components/rangeslider":744,"./components/shapes":758,"./components/sliders":763,"./components/updatemenus":769,"./fonts/ploticon":782,"./locale-en":834,"./locale-en-us":833,"./plot_api":838,"./plot_api/plot_schema":842,"./plots/plots":917,"./registry":931,"./snapshot":936,"./traces/scatter":1230,"./version":1404,"native-promise-only":474}],782:[function(_dereq_,module,exports){"use strict";module.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'><defs><style>.cls-1 {fill: #3f4f75;} .cls-2 {fill: #80cfbe;} .cls-3 {fill: #fff;}</style></defs><title>plotly-logomark</title><g id='symbol'><rect class='cls-1' width='132' height='132' rx='6' ry='6'/><circle class='cls-2' cx='78' cy='54' r='6'/><circle class='cls-2' cx='102' cy='30' r='6'/><circle class='cls-2' cx='78' cy='30' r='6'/><circle class='cls-2' cx='54' cy='30' r='6'/><circle class='cls-2' cx='30' cy='30' r='6'/><circle class='cls-2' cx='30' cy='54' r='6'/><path class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/><path class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/><path class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/><path class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/></g></svg>"}}},{}],783:[function(_dereq_,module,exports){"use strict";exports.isLeftAnchor=function isLeftAnchor(opts){return opts.xanchor==="left"||opts.xanchor==="auto"&&opts.x<=1/3};exports.isCenterAnchor=function isCenterAnchor(opts){return opts.xanchor==="center"||opts.xanchor==="auto"&&opts.x>1/3&&opts.x<2/3};exports.isRightAnchor=function isRightAnchor(opts){return opts.xanchor==="right"||opts.xanchor==="auto"&&opts.x>=2/3};exports.isTopAnchor=function isTopAnchor(opts){return opts.yanchor==="top"||opts.yanchor==="auto"&&opts.y>=2/3};exports.isMiddleAnchor=function isMiddleAnchor(opts){return opts.yanchor==="middle"||opts.yanchor==="auto"&&opts.y>1/3&&opts.y<2/3};exports.isBottomAnchor=function isBottomAnchor(opts){return opts.yanchor==="bottom"||opts.yanchor==="auto"&&opts.y<=1/3}},{}],784:[function(_dereq_,module,exports){"use strict";var modModule=_dereq_("./mod");var mod=modModule.mod;var modHalf=modModule.modHalf;var PI=Math.PI;var twoPI=2*PI;function deg2rad(deg){return deg/180*PI}function rad2deg(rad){return rad/PI*180}function isFullCircle(aBnds){return Math.abs(aBnds[1]-aBnds[0])>twoPI-1e-14}function angleDelta(a,b){return modHalf(b-a,twoPI)}function angleDist(a,b){return Math.abs(angleDelta(a,b))}function isAngleInsideSector(a,aBnds){if(isFullCircle(aBnds))return true;var s0,s1;if(aBnds[0]<aBnds[1]){s0=aBnds[0];s1=aBnds[1]}else{s0=aBnds[1];s1=aBnds[0]}s0=mod(s0,twoPI);s1=mod(s1,twoPI);if(s0>s1)s1+=twoPI;var a0=mod(a,twoPI);var a1=a0+twoPI;return a0>=s0&&a0<=s1||a1>=s0&&a1<=s1}function isPtInsideSector(r,a,rBnds,aBnds){if(!isAngleInsideSector(a,aBnds))return false;var r0,r1;if(rBnds[0]<rBnds[1]){r0=rBnds[0];r1=rBnds[1]}else{r0=rBnds[1];r1=rBnds[0]}return r>=r0&&r<=r1}function _path(r0,r1,a0,a1,cx,cy,isClosed){cx=cx||0;cy=cy||0;var isCircle=isFullCircle([a0,a1]);var aStart,aMid,aEnd;var rStart,rEnd;if(isCircle){aStart=0;aMid=PI;aEnd=twoPI}else{if(a0<a1){aStart=a0;aEnd=a1}else{aStart=a1;aEnd=a0}}if(r0<r1){rStart=r0;rEnd=r1}else{rStart=r1;rEnd=r0}function pt(r,a){return[r*Math.cos(a)+cx,cy-r*Math.sin(a)]}var largeArc=Math.abs(aEnd-aStart)<=PI?0:1;function arc(r,a,cw){return"A"+[r,r]+" "+[0,largeArc,cw]+" "+pt(r,a)}var p;if(isCircle){if(rStart===null){p="M"+pt(rEnd,aStart)+arc(rEnd,aMid,0)+arc(rEnd,aEnd,0)+"Z"}else{p="M"+pt(rStart,aStart)+arc(rStart,aMid,0)+arc(rStart,aEnd,0)+"Z"+"M"+pt(rEnd,aStart)+arc(rEnd,aMid,1)+arc(rEnd,aEnd,1)+"Z"}}else{if(rStart===null){p="M"+pt(rEnd,aStart)+arc(rEnd,aEnd,0);if(isClosed)p+="L0,0Z"}else{p="M"+pt(rStart,aStart)+"L"+pt(rEnd,aStart)+arc(rEnd,aEnd,0)+"L"+pt(rStart,aEnd)+arc(rStart,aStart,1)+"Z"}}return p}function pathArc(r,a0,a1,cx,cy){return _path(null,r,a0,a1,cx,cy,0)}function pathSector(r,a0,a1,cx,cy){return _path(null,r,a0,a1,cx,cy,1)}function pathAnnulus(r0,r1,a0,a1,cx,cy){return _path(r0,r1,a0,a1,cx,cy,1)}module.exports={deg2rad:deg2rad,rad2deg:rad2deg,angleDelta:angleDelta,angleDist:angleDist,isFullCircle:isFullCircle,isAngleInsideSector:isAngleInsideSector,isPtInsideSector:isPtInsideSector,pathArc:pathArc,pathSector:pathSector,pathAnnulus:pathAnnulus}},{"./mod":810}],785:[function(_dereq_,module,exports){"use strict";var isArray=Array.isArray;var ab=ArrayBuffer;var dv=DataView;function isTypedArray(a){return ab.isView(a)&&!(a instanceof dv)}exports.isTypedArray=isTypedArray;function isArrayOrTypedArray(a){return isArray(a)||isTypedArray(a)}exports.isArrayOrTypedArray=isArrayOrTypedArray;function isArray1D(a){return!isArrayOrTypedArray(a[0])}exports.isArray1D=isArray1D;exports.ensureArray=function(out,n){if(!isArray(out))out=[];out.length=n;return out};exports.concat=function(){var args=[];var allArray=true;var totalLen=0;var _constructor,arg0,i,argi,posi,leni,out,j;for(i=0;i<arguments.length;i++){argi=arguments[i];leni=argi.length;if(leni){if(arg0)args.push(argi);else{arg0=argi;posi=leni}if(isArray(argi)){_constructor=false}else{allArray=false;if(!totalLen){_constructor=argi.constructor}else if(_constructor!==argi.constructor){_constructor=false}}totalLen+=leni}}if(!totalLen)return[];if(!args.length)return arg0;if(allArray)return arg0.concat.apply(arg0,args);if(_constructor){out=new _constructor(totalLen);out.set(arg0);for(i=0;i<args.length;i++){argi=args[i];out.set(argi,posi);posi+=argi.length}return out}out=new Array(totalLen);for(j=0;j<arg0.length;j++)out[j]=arg0[j];for(i=0;i<args.length;i++){argi=args[i];for(j=0;j<argi.length;j++)out[posi+j]=argi[j];posi+=j}return out};exports.maxRowLength=function(z){return _rowLength(z,Math.max,0)};exports.minRowLength=function(z){return _rowLength(z,Math.min,Infinity)};function _rowLength(z,fn,len0){if(isArrayOrTypedArray(z)){if(isArrayOrTypedArray(z[0])){var len=len0;for(var i=0;i<z.length;i++){len=fn(len,z[i].length)}return len}else{return z.length}}return 0}},{}],786:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var BADNUM=_dereq_("../constants/numerical").BADNUM;var JUNK=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;module.exports=function cleanNumber(v){if(typeof v==="string"){v=v.replace(JUNK,"")}if(isNumeric(v))return Number(v);return BADNUM}},{"../constants/numerical":779,"fast-isnumeric":249}],787:[function(_dereq_,module,exports){"use strict";module.exports=function clearGlCanvases(gd){var fullLayout=gd._fullLayout;if(fullLayout._glcanvas&&fullLayout._glcanvas.size()){fullLayout._glcanvas.each((function(d){if(d.regl)d.regl.clear({color:true,depth:true})}))}}},{}],788:[function(_dereq_,module,exports){"use strict";module.exports=function clearResponsive(gd){if(gd._responsiveChartHandler){window.removeEventListener("resize",gd._responsiveChartHandler);delete gd._responsiveChartHandler}}},{}],789:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var tinycolor=_dereq_("tinycolor2");var baseTraceAttrs=_dereq_("../plots/attributes");var colorscales=_dereq_("../components/colorscale/scales");var Color=_dereq_("../components/color");var DESELECTDIM=_dereq_("../constants/interactions").DESELECTDIM;var nestedProperty=_dereq_("./nested_property");var counterRegex=_dereq_("./regex").counter;var modHalf=_dereq_("./mod").modHalf;var isArrayOrTypedArray=_dereq_("./array").isArrayOrTypedArray;exports.valObjectMeta={data_array:{coerceFunction:function(v,propOut,dflt){if(isArrayOrTypedArray(v))propOut.set(v);else if(dflt!==undefined)propOut.set(dflt)}},enumerated:{coerceFunction:function(v,propOut,dflt,opts){if(opts.coerceNumber)v=+v;if(opts.values.indexOf(v)===-1)propOut.set(dflt);else propOut.set(v)},validateFunction:function(v,opts){if(opts.coerceNumber)v=+v;var values=opts.values;for(var i=0;i<values.length;i++){var k=String(values[i]);if(k.charAt(0)==="/"&&k.charAt(k.length-1)==="/"){var regex=new RegExp(k.substr(1,k.length-2));if(regex.test(v))return true}else if(v===values[i])return true}return false}},boolean:{coerceFunction:function(v,propOut,dflt){if(v===true||v===false)propOut.set(v);else propOut.set(dflt)}},number:{coerceFunction:function(v,propOut,dflt,opts){if(!isNumeric(v)||opts.min!==undefined&&v<opts.min||opts.max!==undefined&&v>opts.max){propOut.set(dflt)}else propOut.set(+v)}},integer:{coerceFunction:function(v,propOut,dflt,opts){if(v%1||!isNumeric(v)||opts.min!==undefined&&v<opts.min||opts.max!==undefined&&v>opts.max){propOut.set(dflt)}else propOut.set(+v)}},string:{coerceFunction:function(v,propOut,dflt,opts){if(typeof v!=="string"){var okToCoerce=typeof v==="number";if(opts.strict===true||!okToCoerce)propOut.set(dflt);else propOut.set(String(v))}else if(opts.noBlank&&!v)propOut.set(dflt);else propOut.set(v)}},color:{coerceFunction:function(v,propOut,dflt){if(tinycolor(v).isValid())propOut.set(v);else propOut.set(dflt)}},colorlist:{coerceFunction:function(v,propOut,dflt){function isColor(color){return tinycolor(color).isValid()}if(!Array.isArray(v)||!v.length)propOut.set(dflt);else if(v.every(isColor))propOut.set(v);else propOut.set(dflt)}},colorscale:{coerceFunction:function(v,propOut,dflt){propOut.set(colorscales.get(v,dflt))}},angle:{coerceFunction:function(v,propOut,dflt){if(v==="auto")propOut.set("auto");else if(!isNumeric(v))propOut.set(dflt);else propOut.set(modHalf(+v,360))}},subplotid:{coerceFunction:function(v,propOut,dflt,opts){var regex=opts.regex||counterRegex(dflt);if(typeof v==="string"&&regex.test(v)){propOut.set(v);return}propOut.set(dflt)},validateFunction:function(v,opts){var dflt=opts.dflt;if(v===dflt)return true;if(typeof v!=="string")return false;if(counterRegex(dflt).test(v))return true;return false}},flaglist:{coerceFunction:function(v,propOut,dflt,opts){if(typeof v!=="string"){propOut.set(dflt);return}if((opts.extras||[]).indexOf(v)!==-1){propOut.set(v);return}var vParts=v.split("+");var i=0;while(i<vParts.length){var vi=vParts[i];if(opts.flags.indexOf(vi)===-1||vParts.indexOf(vi)<i){vParts.splice(i,1)}else i++}if(!vParts.length)propOut.set(dflt);else propOut.set(vParts.join("+"))}},any:{coerceFunction:function(v,propOut,dflt){if(v===undefined)propOut.set(dflt);else propOut.set(v)}},info_array:{coerceFunction:function(v,propOut,dflt,opts){function coercePart(v,opts,dflt){var out;var propPart={set:function(v){out=v}};if(dflt===undefined)dflt=opts.dflt;exports.valObjectMeta[opts.valType].coerceFunction(v,propPart,dflt,opts);return out}var twoD=opts.dimensions===2||opts.dimensions==="1-2"&&Array.isArray(v)&&Array.isArray(v[0]);if(!Array.isArray(v)){propOut.set(dflt);return}var items=opts.items;var vOut=[];var arrayItems=Array.isArray(items);var arrayItems2D=arrayItems&&twoD&&Array.isArray(items[0]);var innerItemsOnly=twoD&&arrayItems&&!arrayItems2D;var len=arrayItems&&!innerItemsOnly?items.length:v.length;var i,j,row,item,len2,vNew;dflt=Array.isArray(dflt)?dflt:[];if(twoD){for(i=0;i<len;i++){vOut[i]=[];row=Array.isArray(v[i])?v[i]:[];if(innerItemsOnly)len2=items.length;else if(arrayItems)len2=items[i].length;else len2=row.length;for(j=0;j<len2;j++){if(innerItemsOnly)item=items[j];else if(arrayItems)item=items[i][j];else item=items;vNew=coercePart(row[j],item,(dflt[i]||[])[j]);if(vNew!==undefined)vOut[i][j]=vNew}}}else{for(i=0;i<len;i++){vNew=coercePart(v[i],arrayItems?items[i]:items,dflt[i]);if(vNew!==undefined)vOut[i]=vNew}}propOut.set(vOut)},validateFunction:function(v,opts){if(!Array.isArray(v))return false;var items=opts.items;var arrayItems=Array.isArray(items);var twoD=opts.dimensions===2;if(!opts.freeLength&&v.length!==items.length)return false;for(var i=0;i<v.length;i++){if(twoD){if(!Array.isArray(v[i])||!opts.freeLength&&v[i].length!==items[i].length){return false}for(var j=0;j<v[i].length;j++){if(!validate(v[i][j],arrayItems?items[i][j]:items)){return false}}}else if(!validate(v[i],arrayItems?items[i]:items))return false}return true}}};exports.coerce=function(containerIn,containerOut,attributes,attribute,dflt){var opts=nestedProperty(attributes,attribute).get();var propIn=nestedProperty(containerIn,attribute);var propOut=nestedProperty(containerOut,attribute);var v=propIn.get();var template=containerOut._template;if(v===undefined&&template){v=nestedProperty(template,attribute).get();template=0}if(dflt===undefined)dflt=opts.dflt;if(opts.arrayOk&&isArrayOrTypedArray(v)){propOut.set(v);return v}var coerceFunction=exports.valObjectMeta[opts.valType].coerceFunction;coerceFunction(v,propOut,dflt,opts);var out=propOut.get();if(template&&out===dflt&&!validate(v,opts)){v=nestedProperty(template,attribute).get();coerceFunction(v,propOut,dflt,opts);out=propOut.get()}return out};exports.coerce2=function(containerIn,containerOut,attributes,attribute,dflt){var propIn=nestedProperty(containerIn,attribute);var propOut=exports.coerce(containerIn,containerOut,attributes,attribute,dflt);var valIn=propIn.get();return valIn!==undefined&&valIn!==null?propOut:false};exports.coerceFont=function(coerce,attr,dfltObj){var out={};dfltObj=dfltObj||{};out.family=coerce(attr+".family",dfltObj.family);out.size=coerce(attr+".size",dfltObj.size);out.color=coerce(attr+".color",dfltObj.color);return out};exports.coercePattern=function(coerce,attr,markerColor,hasMarkerColorscale){var shape=coerce(attr+".shape");if(shape){coerce(attr+".solidity");coerce(attr+".size");var fillmode=coerce(attr+".fillmode");var isOverlay=fillmode==="overlay";if(!hasMarkerColorscale){var bgcolor=coerce(attr+".bgcolor",isOverlay?markerColor:undefined);coerce(attr+".fgcolor",isOverlay?Color.contrast(bgcolor):markerColor)}coerce(attr+".fgopacity",isOverlay?.5:1)}};exports.coerceHoverinfo=function(traceIn,traceOut,layoutOut){var moduleAttrs=traceOut._module.attributes;var attrs=moduleAttrs.hoverinfo?moduleAttrs:baseTraceAttrs;var valObj=attrs.hoverinfo;var dflt;if(layoutOut._dataLength===1){var flags=valObj.dflt==="all"?valObj.flags.slice():valObj.dflt.split("+");flags.splice(flags.indexOf("name"),1);dflt=flags.join("+")}return exports.coerce(traceIn,traceOut,attrs,"hoverinfo",dflt)};exports.coerceSelectionMarkerOpacity=function(traceOut,coerce){if(!traceOut.marker)return;var mo=traceOut.marker.opacity;if(mo===undefined)return;var smoDflt;var usmoDflt;if(!isArrayOrTypedArray(mo)&&!traceOut.selected&&!traceOut.unselected){smoDflt=mo;usmoDflt=DESELECTDIM*mo}coerce("selected.marker.opacity",smoDflt);coerce("unselected.marker.opacity",usmoDflt)};function validate(value,opts){var valObjectDef=exports.valObjectMeta[opts.valType];if(opts.arrayOk&&isArrayOrTypedArray(value))return true;if(valObjectDef.validateFunction){return valObjectDef.validateFunction(value,opts)}var failed={};var out=failed;var propMock={set:function(v){out=v}};valObjectDef.coerceFunction(value,propMock,failed,opts);return out!==failed}exports.validate=validate},{"../components/color":666,"../components/colorscale/scales":681,"../constants/interactions":778,"../plots/attributes":850,"./array":785,"./mod":810,"./nested_property":811,"./regex":820,"fast-isnumeric":249,tinycolor2:598}],790:[function(_dereq_,module,exports){"use strict";var timeFormat=_dereq_("d3-time-format").timeFormat;var isNumeric=_dereq_("fast-isnumeric");var Loggers=_dereq_("./loggers");var mod=_dereq_("./mod").mod;var constants=_dereq_("../constants/numerical");var BADNUM=constants.BADNUM;var ONEDAY=constants.ONEDAY;var ONEHOUR=constants.ONEHOUR;var ONEMIN=constants.ONEMIN;var ONESEC=constants.ONESEC;var EPOCHJD=constants.EPOCHJD;var Registry=_dereq_("../registry");var utcFormat=_dereq_("d3-time-format").utcFormat;var DATETIME_REGEXP=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m;var DATETIME_REGEXP_CN=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m;var YFIRST=(new Date).getFullYear()-70;function isWorldCalendar(calendar){return calendar&&Registry.componentsRegistry.calendars&&typeof calendar==="string"&&calendar!=="gregorian"}exports.dateTick0=function(calendar,dayOfWeek){var tick0=_dateTick0(calendar,!!dayOfWeek);if(dayOfWeek<2)return tick0;var v=exports.dateTime2ms(tick0,calendar);v+=ONEDAY*(dayOfWeek-1);return exports.ms2DateTime(v,0,calendar)};function _dateTick0(calendar,sunday){if(isWorldCalendar(calendar)){return sunday?Registry.getComponentMethod("calendars","CANONICAL_SUNDAY")[calendar]:Registry.getComponentMethod("calendars","CANONICAL_TICK")[calendar]}else{return sunday?"2000-01-02":"2000-01-01"}}exports.dfltRange=function(calendar){if(isWorldCalendar(calendar)){return Registry.getComponentMethod("calendars","DFLTRANGE")[calendar]}else{return["2000-01-01","2001-01-01"]}};exports.isJSDate=function(v){return typeof v==="object"&&v!==null&&typeof v.getTime==="function"};var MIN_MS,MAX_MS;exports.dateTime2ms=function(s,calendar){if(exports.isJSDate(s)){var tzOffset=s.getTimezoneOffset()*ONEMIN;var offsetTweak=(s.getUTCMinutes()-s.getMinutes())*ONEMIN+(s.getUTCSeconds()-s.getSeconds())*ONESEC+(s.getUTCMilliseconds()-s.getMilliseconds());if(offsetTweak){var comb=3*ONEMIN;tzOffset=tzOffset-comb/2+mod(offsetTweak-tzOffset+comb/2,comb)}s=Number(s)-tzOffset;if(s>=MIN_MS&&s<=MAX_MS)return s;return BADNUM}if(typeof s!=="string"&&typeof s!=="number")return BADNUM;s=String(s);var isWorld=isWorldCalendar(calendar);var s0=s.charAt(0);if(isWorld&&(s0==="G"||s0==="g")){s=s.substr(1);calendar=""}var isChinese=isWorld&&calendar.substr(0,7)==="chinese";var match=s.match(isChinese?DATETIME_REGEXP_CN:DATETIME_REGEXP);if(!match)return BADNUM;var y=match[1];var m=match[3]||"1";var d=Number(match[5]||1);var H=Number(match[7]||0);var M=Number(match[9]||0);var S=Number(match[11]||0);if(isWorld){if(y.length===2)return BADNUM;y=Number(y);var cDate;try{var calInstance=Registry.getComponentMethod("calendars","getCal")(calendar);if(isChinese){var isIntercalary=m.charAt(m.length-1)==="i";m=parseInt(m,10);cDate=calInstance.newDate(y,calInstance.toMonthIndex(y,m,isIntercalary),d)}else{cDate=calInstance.newDate(y,Number(m),d)}}catch(e){return BADNUM}if(!cDate)return BADNUM;return(cDate.toJD()-EPOCHJD)*ONEDAY+H*ONEHOUR+M*ONEMIN+S*ONESEC}if(y.length===2){y=(Number(y)+2e3-YFIRST)%100+YFIRST}else y=Number(y);m-=1;var date=new Date(Date.UTC(2e3,m,d,H,M));date.setUTCFullYear(y);if(date.getUTCMonth()!==m)return BADNUM;if(date.getUTCDate()!==d)return BADNUM;return date.getTime()+S*ONESEC};MIN_MS=exports.MIN_MS=exports.dateTime2ms("-9999");MAX_MS=exports.MAX_MS=exports.dateTime2ms("9999-12-31 23:59:59.9999");exports.isDateTime=function(s,calendar){return exports.dateTime2ms(s,calendar)!==BADNUM};function lpad(val,digits){return String(val+Math.pow(10,digits)).substr(1)}var NINETYDAYS=90*ONEDAY;var THREEHOURS=3*ONEHOUR;var FIVEMIN=5*ONEMIN;exports.ms2DateTime=function(ms,r,calendar){if(typeof ms!=="number"||!(ms>=MIN_MS&&ms<=MAX_MS))return BADNUM;if(!r)r=0;var msecTenths=Math.floor(mod(ms+.05,1)*10);var msRounded=Math.round(ms-msecTenths/10);var dateStr,h,m,s,msec10,d;if(isWorldCalendar(calendar)){var dateJD=Math.floor(msRounded/ONEDAY)+EPOCHJD;var timeMs=Math.floor(mod(ms,ONEDAY));try{dateStr=Registry.getComponentMethod("calendars","getCal")(calendar).fromJD(dateJD).formatDate("yyyy-mm-dd")}catch(e){dateStr=utcFormat("G%Y-%m-%d")(new Date(msRounded))}if(dateStr.charAt(0)==="-"){while(dateStr.length<11)dateStr="-0"+dateStr.substr(1)}else{while(dateStr.length<10)dateStr="0"+dateStr}h=r<NINETYDAYS?Math.floor(timeMs/ONEHOUR):0;m=r<NINETYDAYS?Math.floor(timeMs%ONEHOUR/ONEMIN):0;s=r<THREEHOURS?Math.floor(timeMs%ONEMIN/ONESEC):0;msec10=r<FIVEMIN?timeMs%ONESEC*10+msecTenths:0}else{d=new Date(msRounded);dateStr=utcFormat("%Y-%m-%d")(d);h=r<NINETYDAYS?d.getUTCHours():0;m=r<NINETYDAYS?d.getUTCMinutes():0;s=r<THREEHOURS?d.getUTCSeconds():0;msec10=r<FIVEMIN?d.getUTCMilliseconds()*10+msecTenths:0}return includeTime(dateStr,h,m,s,msec10)};exports.ms2DateTimeLocal=function(ms){if(!(ms>=MIN_MS+ONEDAY&&ms<=MAX_MS-ONEDAY))return BADNUM;var msecTenths=Math.floor(mod(ms+.05,1)*10);var d=new Date(Math.round(ms-msecTenths/10));var dateStr=timeFormat("%Y-%m-%d")(d);var h=d.getHours();var m=d.getMinutes();var s=d.getSeconds();var msec10=d.getUTCMilliseconds()*10+msecTenths;return includeTime(dateStr,h,m,s,msec10)};function includeTime(dateStr,h,m,s,msec10){if(h||m||s||msec10){dateStr+=" "+lpad(h,2)+":"+lpad(m,2);if(s||msec10){dateStr+=":"+lpad(s,2);if(msec10){var digits=4;while(msec10%10===0){digits-=1;msec10/=10}dateStr+="."+lpad(msec10,digits)}}}return dateStr}exports.cleanDate=function(v,dflt,calendar){if(v===BADNUM)return dflt;if(exports.isJSDate(v)||typeof v==="number"&&isFinite(v)){if(isWorldCalendar(calendar)){Loggers.error("JS Dates and milliseconds are incompatible with world calendars",v);return dflt}v=exports.ms2DateTimeLocal(+v);if(!v&&dflt!==undefined)return dflt}else if(!exports.isDateTime(v,calendar)){Loggers.error("unrecognized date",v);return dflt}return v};var fracMatch=/%\d?f/g;var halfYearMatch=/%h/g;var quarterToHalfYear={1:"1",2:"1",3:"2",4:"2"};function modDateFormat(fmt,x,formatter,calendar){fmt=fmt.replace(fracMatch,(function(match){var digits=Math.min(+match.charAt(1)||6,6);var fracSecs=(x/1e3%1+2).toFixed(digits).substr(2).replace(/0+$/,"")||"0";return fracSecs}));var d=new Date(Math.floor(x+.05));fmt=fmt.replace(halfYearMatch,(function(){return quarterToHalfYear[formatter("%q")(d)]}));if(isWorldCalendar(calendar)){try{fmt=Registry.getComponentMethod("calendars","worldCalFmt")(fmt,x,calendar)}catch(e){return"Invalid"}}return formatter(fmt)(d)}var MAXSECONDS=[59,59.9,59.99,59.999,59.9999];function formatTime(x,tr){var timePart=mod(x+.05,ONEDAY);var timeStr=lpad(Math.floor(timePart/ONEHOUR),2)+":"+lpad(mod(Math.floor(timePart/ONEMIN),60),2);if(tr!=="M"){if(!isNumeric(tr))tr=0;var sec=Math.min(mod(x/ONESEC,60),MAXSECONDS[tr]);var secStr=(100+sec).toFixed(tr).substr(1);if(tr>0){secStr=secStr.replace(/0+$/,"").replace(/[\.]$/,"")}timeStr+=":"+secStr}return timeStr}exports.formatDate=function(x,fmt,tr,formatter,calendar,extraFormat){calendar=isWorldCalendar(calendar)&&calendar;if(!fmt){if(tr==="y")fmt=extraFormat.year;else if(tr==="m")fmt=extraFormat.month;else if(tr==="d"){fmt=extraFormat.dayMonth+"\n"+extraFormat.year}else{return formatTime(x,tr)+"\n"+modDateFormat(extraFormat.dayMonthYear,x,formatter,calendar)}}return modDateFormat(fmt,x,formatter,calendar)};var THREEDAYS=3*ONEDAY;exports.incrementMonth=function(ms,dMonth,calendar){calendar=isWorldCalendar(calendar)&&calendar;var timeMs=mod(ms,ONEDAY);ms=Math.round(ms-timeMs);if(calendar){try{var dateJD=Math.round(ms/ONEDAY)+EPOCHJD;var calInstance=Registry.getComponentMethod("calendars","getCal")(calendar);var cDate=calInstance.fromJD(dateJD);if(dMonth%12)calInstance.add(cDate,dMonth,"m");else calInstance.add(cDate,dMonth/12,"y");return(cDate.toJD()-EPOCHJD)*ONEDAY+timeMs}catch(e){Loggers.error("invalid ms "+ms+" in calendar "+calendar)}}var y=new Date(ms+THREEDAYS);return y.setUTCMonth(y.getUTCMonth()+dMonth)+timeMs-THREEDAYS};exports.findExactDates=function(data,calendar){var exactYears=0;var exactMonths=0;var exactDays=0;var blankCount=0;var d;var di;var calInstance=isWorldCalendar(calendar)&&Registry.getComponentMethod("calendars","getCal")(calendar);for(var i=0;i<data.length;i++){di=data[i];if(!isNumeric(di)){blankCount++;continue}if(di%ONEDAY)continue;if(calInstance){try{d=calInstance.fromJD(di/ONEDAY+EPOCHJD);if(d.day()===1){if(d.month()===1)exactYears++;else exactMonths++}else exactDays++}catch(e){}}else{d=new Date(di);if(d.getUTCDate()===1){if(d.getUTCMonth()===0)exactYears++;else exactMonths++}else exactDays++}}exactMonths+=exactYears;exactDays+=exactMonths;var dataCount=data.length-blankCount;return{exactYears:exactYears/dataCount,exactMonths:exactMonths/dataCount,exactDays:exactDays/dataCount}}},{"../constants/numerical":779,"../registry":931,"./loggers":807,"./mod":810,"d3-time-format":175,"fast-isnumeric":249}],791:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var loggers=_dereq_("./loggers");var matrix=_dereq_("./matrix");var mat4X4=_dereq_("gl-mat4");function getGraphDiv(gd){var gdElement;if(typeof gd==="string"){gdElement=document.getElementById(gd);if(gdElement===null){throw new Error("No DOM element with id '"+gd+"' exists on the page.")}return gdElement}else if(gd===null||gd===undefined){throw new Error("DOM element provided is null or undefined")}return gd}function isPlotDiv(el){var el3=d3.select(el);return el3.node()instanceof HTMLElement&&el3.size()&&el3.classed("js-plotly-plot")}function removeElement(el){var elParent=el&&el.parentNode;if(elParent)elParent.removeChild(el)}function addStyleRule(selector,styleString){addRelatedStyleRule("global",selector,styleString)}function addRelatedStyleRule(uid,selector,styleString){var id="plotly.js-style-"+uid;var style=document.getElementById(id);if(!style){style=document.createElement("style");style.setAttribute("id",id);style.appendChild(document.createTextNode(""));document.head.appendChild(style)}var styleSheet=style.sheet;if(styleSheet.insertRule){styleSheet.insertRule(selector+"{"+styleString+"}",0)}else if(styleSheet.addRule){styleSheet.addRule(selector,styleString,0)}else loggers.warn("addStyleRule failed")}function deleteRelatedStyleRule(uid){var id="plotly.js-style-"+uid;var style=document.getElementById(id);if(style)removeElement(style)}function getFullTransformMatrix(element){var allElements=getElementAndAncestors(element);var out=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];allElements.forEach((function(e){var t=getElementTransformMatrix(e);if(t){var m=matrix.convertCssMatrix(t);out=mat4X4.multiply(out,out,m)}}));return out}function getElementTransformMatrix(element){var style=window.getComputedStyle(element,null);var transform=style.getPropertyValue("-webkit-transform")||style.getPropertyValue("-moz-transform")||style.getPropertyValue("-ms-transform")||style.getPropertyValue("-o-transform")||style.getPropertyValue("transform");if(transform==="none")return null;return transform.replace("matrix","").replace("3d","").slice(1,-1).split(",").map((function(n){return+n}))}function getElementAndAncestors(element){var allElements=[];while(isTransformableElement(element)){allElements.push(element);element=element.parentNode}return allElements}function isTransformableElement(element){return element&&(element instanceof Element||element instanceof HTMLElement)}function equalDomRects(a,b){return a&&b&&a.x===b.x&&a.y===b.y&&a.top===b.top&&a.left===b.left&&a.right===b.right&&a.bottom===b.bottom}module.exports={getGraphDiv:getGraphDiv,isPlotDiv:isPlotDiv,removeElement:removeElement,addStyleRule:addStyleRule,addRelatedStyleRule:addRelatedStyleRule,deleteRelatedStyleRule:deleteRelatedStyleRule,getFullTransformMatrix:getFullTransformMatrix,getElementTransformMatrix:getElementTransformMatrix,getElementAndAncestors:getElementAndAncestors,equalDomRects:equalDomRects}},{"./loggers":807,"./matrix":809,"@plotly/d3":58,"gl-mat4":298}],792:[function(_dereq_,module,exports){"use strict";var EventEmitter=_dereq_("events").EventEmitter;var Events={init:function(plotObj){if(plotObj._ev instanceof EventEmitter)return plotObj;var ev=new EventEmitter;var internalEv=new EventEmitter;plotObj._ev=ev;plotObj._internalEv=internalEv;plotObj.on=ev.on.bind(ev);plotObj.once=ev.once.bind(ev);plotObj.removeListener=ev.removeListener.bind(ev);plotObj.removeAllListeners=ev.removeAllListeners.bind(ev);plotObj._internalOn=internalEv.on.bind(internalEv);plotObj._internalOnce=internalEv.once.bind(internalEv);plotObj._removeInternalListener=internalEv.removeListener.bind(internalEv);plotObj._removeAllInternalListeners=internalEv.removeAllListeners.bind(internalEv);plotObj.emit=function(event,data){if(typeof jQuery!=="undefined"){jQuery(plotObj).trigger(event,data)}ev.emit(event,data);internalEv.emit(event,data)};return plotObj},triggerHandler:function(plotObj,event,data){var jQueryHandlerValue;var nodeEventHandlerValue;if(typeof jQuery!=="undefined"){jQueryHandlerValue=jQuery(plotObj).triggerHandler(event,data)}var ev=plotObj._ev;if(!ev)return jQueryHandlerValue;var handlers=ev._events[event];if(!handlers)return jQueryHandlerValue;function apply(handler){if(handler.listener){ev.removeListener(event,handler.listener);if(!handler.fired){handler.fired=true;return handler.listener.apply(ev,[data])}}else{return handler.apply(ev,[data])}}handlers=Array.isArray(handlers)?handlers:[handlers];var i;for(i=0;i<handlers.length-1;i++){apply(handlers[i])}nodeEventHandlerValue=apply(handlers[i]);return jQueryHandlerValue!==undefined?jQueryHandlerValue:nodeEventHandlerValue},purge:function(plotObj){delete plotObj._ev;delete plotObj.on;delete plotObj.once;delete plotObj.removeListener;delete plotObj.removeAllListeners;delete plotObj.emit;delete plotObj._ev;delete plotObj._internalEv;delete plotObj._internalOn;delete plotObj._internalOnce;delete plotObj._removeInternalListener;delete plotObj._removeAllInternalListeners;return plotObj}};module.exports=Events},{events:116}],793:[function(_dereq_,module,exports){"use strict";var isPlainObject=_dereq_("./is_plain_object.js");var isArray=Array.isArray;function primitivesLoopSplice(source,target){var i,value;for(i=0;i<source.length;i++){value=source[i];if(value!==null&&typeof value==="object"){return false}if(value!==void 0){target[i]=value}}return true}exports.extendFlat=function(){return _extend(arguments,false,false,false)};exports.extendDeep=function(){return _extend(arguments,true,false,false)};exports.extendDeepAll=function(){return _extend(arguments,true,true,false)};exports.extendDeepNoArrays=function(){return _extend(arguments,true,false,true)};function _extend(inputs,isDeep,keepAllKeys,noArrayCopies){var target=inputs[0];var length=inputs.length;var input,key,src,copy,copyIsArray,clone,allPrimitives;if(length===2&&isArray(target)&&isArray(inputs[1])&&target.length===0){allPrimitives=primitivesLoopSplice(inputs[1],target);if(allPrimitives){return target}else{target.splice(0,target.length)}}for(var i=1;i<length;i++){input=inputs[i];for(key in input){src=target[key];copy=input[key];if(noArrayCopies&&isArray(copy)){target[key]=copy}else if(isDeep&&copy&&(isPlainObject(copy)||(copyIsArray=isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&isArray(src)?src:[]}else{clone=src&&isPlainObject(src)?src:{}}target[key]=_extend([clone,copy],isDeep,keepAllKeys,noArrayCopies)}else if(typeof copy!=="undefined"||keepAllKeys){target[key]=copy}}}return target}},{"./is_plain_object.js":804}],794:[function(_dereq_,module,exports){"use strict";module.exports=function filterUnique(array){var seen={};var out=[];var j=0;for(var i=0;i<array.length;i++){var item=array[i];if(seen[item]!==1){seen[item]=1;out[j++]=item}}return out}},{}],795:[function(_dereq_,module,exports){"use strict";module.exports=function filterVisible(container){var filterFn=isCalcData(container)?calcDataFilter:baseFilter;var out=[];for(var i=0;i<container.length;i++){var item=container[i];if(filterFn(item))out.push(item)}return out};function baseFilter(item){return item.visible===true}function calcDataFilter(item){var trace=item[0].trace;return trace.visible===true&&trace._length!==0}function isCalcData(cont){return Array.isArray(cont)&&Array.isArray(cont[0])&&cont[0][0]&&cont[0][0].trace}},{}],796:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var countryRegex=_dereq_("country-regex");var turfArea=_dereq_("@turf/area");var turfCentroid=_dereq_("@turf/centroid");var turfBbox=_dereq_("@turf/bbox");var identity=_dereq_("./identity");var loggers=_dereq_("./loggers");var isPlainObject=_dereq_("./is_plain_object");var nestedProperty=_dereq_("./nested_property");var polygon=_dereq_("./polygon");var countryIds=Object.keys(countryRegex);var locationmodeToIdFinder={"ISO-3":identity,"USA-states":identity,"country names":countryNameToISO3};function countryNameToISO3(countryName){for(var i=0;i<countryIds.length;i++){var iso3=countryIds[i];var regex=new RegExp(countryRegex[iso3]);if(regex.test(countryName.trim().toLowerCase()))return iso3}loggers.log("Unrecognized country name: "+countryName+".");return false}function locationToFeature(locationmode,location,features){if(!location||typeof location!=="string")return false;var locationId=locationmodeToIdFinder[locationmode](location);var filteredFeatures;var f,i;if(locationId){if(locationmode==="USA-states"){filteredFeatures=[];for(i=0;i<features.length;i++){f=features[i];if(f.properties&&f.properties.gu&&f.properties.gu==="USA"){filteredFeatures.push(f)}}}else{filteredFeatures=features}for(i=0;i<filteredFeatures.length;i++){f=filteredFeatures[i];if(f.id===locationId)return f}loggers.log(["Location with id",locationId,"does not have a matching topojson feature at this resolution."].join(" "))}return false}function feature2polygons(feature){var geometry=feature.geometry;var coords=geometry.coordinates;var loc=feature.id;var polygons=[];var appendPolygon,j,k,m;function doesCrossAntiMerdian(pts){for(var l=0;l<pts.length-1;l++){if(pts[l][0]>0&&pts[l+1][0]<0)return l}return null}if(loc==="RUS"||loc==="FJI"){appendPolygon=function(_pts){var pts;if(doesCrossAntiMerdian(_pts)===null){pts=_pts}else{pts=new Array(_pts.length);for(m=0;m<_pts.length;m++){pts[m]=[_pts[m][0]<0?_pts[m][0]+360:_pts[m][0],_pts[m][1]]}}polygons.push(polygon.tester(pts))}}else if(loc==="ATA"){appendPolygon=function(pts){var crossAntiMeridianIndex=doesCrossAntiMerdian(pts);if(crossAntiMeridianIndex===null){return polygons.push(polygon.tester(pts))}var stitch=new Array(pts.length+1);var si=0;for(m=0;m<pts.length;m++){if(m>crossAntiMeridianIndex){stitch[si++]=[pts[m][0]+360,pts[m][1]]}else if(m===crossAntiMeridianIndex){stitch[si++]=pts[m];stitch[si++]=[pts[m][0],-90]}else{stitch[si++]=pts[m]}}var tester=polygon.tester(stitch);tester.pts.pop();polygons.push(tester)}}else{appendPolygon=function(pts){polygons.push(polygon.tester(pts))}}switch(geometry.type){case"MultiPolygon":for(j=0;j<coords.length;j++){for(k=0;k<coords[j].length;k++){appendPolygon(coords[j][k])}}break;case"Polygon":for(j=0;j<coords.length;j++){appendPolygon(coords[j])}break}return polygons}function getTraceGeojson(trace){var g=trace.geojson;var PlotlyGeoAssets=window.PlotlyGeoAssets||{};var geojsonIn=typeof g==="string"?PlotlyGeoAssets[g]:g;if(!isPlainObject(geojsonIn)){loggers.error("Oops ... something went wrong when fetching "+g);return false}return geojsonIn}function extractTraceFeature(calcTrace){var trace=calcTrace[0].trace;var geojsonIn=getTraceGeojson(trace);if(!geojsonIn)return false;var lookup={};var featuresOut=[];var i;for(i=0;i<trace._length;i++){var cdi=calcTrace[i];if(cdi.loc||cdi.loc===0){lookup[cdi.loc]=cdi}}function appendFeature(fIn){var id=nestedProperty(fIn,trace.featureidkey||"id").get();var cdi=lookup[id];if(cdi){var geometry=fIn.geometry;if(geometry.type==="Polygon"||geometry.type==="MultiPolygon"){var fOut={type:"Feature",id:id,geometry:geometry,properties:{}};fOut.properties.ct=findCentroid(fOut);cdi.fIn=fIn;cdi.fOut=fOut;featuresOut.push(fOut)}else{loggers.log(["Location",cdi.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}}delete lookup[id]}switch(geojsonIn.type){case"FeatureCollection":var featuresIn=geojsonIn.features;for(i=0;i<featuresIn.length;i++){appendFeature(featuresIn[i])}break;case"Feature":appendFeature(geojsonIn);break;default:loggers.warn(["Invalid GeoJSON type",(geojsonIn.type||"none")+".","Traces with locationmode *geojson-id* only support","*FeatureCollection* and *Feature* types."].join(" "));return false}for(var loc in lookup){loggers.log(["Location *"+loc+"*","does not have a matching feature with id-key","*"+trace.featureidkey+"*."].join(" "))}return featuresOut}function findCentroid(feature){var geometry=feature.geometry;var poly;if(geometry.type==="MultiPolygon"){var coords=geometry.coordinates;var maxArea=0;for(var i=0;i<coords.length;i++){var polyi={type:"Polygon",coordinates:coords[i]};var area=turfArea.default(polyi);if(area>maxArea){maxArea=area;poly=polyi}}}else{poly=geometry}return turfCentroid.default(poly).geometry.coordinates}function fetchTraceGeoData(calcData){var PlotlyGeoAssets=window.PlotlyGeoAssets||{};var promises=[];function fetch(url){return new Promise((function(resolve,reject){d3.json(url,(function(err,d){if(err){delete PlotlyGeoAssets[url];var msg=err.status===404?'GeoJSON at URL "'+url+'" does not exist.':"Unexpected error while fetching from "+url;return reject(new Error(msg))}PlotlyGeoAssets[url]=d;return resolve(d)}))}))}function wait(url){return new Promise((function(resolve,reject){var cnt=0;var interval=setInterval((function(){if(PlotlyGeoAssets[url]&&PlotlyGeoAssets[url]!=="pending"){clearInterval(interval);return resolve(PlotlyGeoAssets[url])}if(cnt>100){clearInterval(interval);return reject("Unexpected error while fetching from "+url)}cnt++}),50)}))}for(var i=0;i<calcData.length;i++){var trace=calcData[i][0].trace;var url=trace.geojson;if(typeof url==="string"){if(!PlotlyGeoAssets[url]){PlotlyGeoAssets[url]="pending";promises.push(fetch(url))}else if(PlotlyGeoAssets[url]==="pending"){promises.push(wait(url))}}}return promises}function computeBbox(d){return turfBbox.default(d)}module.exports={locationToFeature:locationToFeature,feature2polygons:feature2polygons,getTraceGeojson:getTraceGeojson,extractTraceFeature:extractTraceFeature,fetchTraceGeoData:fetchTraceGeoData,computeBbox:computeBbox}},{"./identity":801,"./is_plain_object":804,"./loggers":807,"./nested_property":811,"./polygon":815,"@plotly/d3":58,"@turf/area":61,"@turf/bbox":64,"@turf/centroid":67,"country-regex":145}],797:[function(_dereq_,module,exports){"use strict";var BADNUM=_dereq_("../constants/numerical").BADNUM;exports.calcTraceToLineCoords=function(calcTrace){var trace=calcTrace[0].trace;var connectgaps=trace.connectgaps;var coords=[];var lineString=[];for(var i=0;i<calcTrace.length;i++){var calcPt=calcTrace[i];var lonlat=calcPt.lonlat;if(lonlat[0]!==BADNUM){lineString.push(lonlat)}else if(!connectgaps&&lineString.length>0){coords.push(lineString);lineString=[]}}if(lineString.length>0){coords.push(lineString)}return coords};exports.makeLine=function(coords){if(coords.length===1){return{type:"LineString",coordinates:coords[0]}}else{return{type:"MultiLineString",coordinates:coords}}};exports.makePolygon=function(coords){if(coords.length===1){return{type:"Polygon",coordinates:coords}}else{var _coords=new Array(coords.length);for(var i=0;i<coords.length;i++){_coords[i]=[coords[i]]}return{type:"MultiPolygon",coordinates:_coords}}};exports.makeBlank=function(){return{type:"Point",coordinates:[]}}},{"../constants/numerical":779}],798:[function(_dereq_,module,exports){"use strict";var mod=_dereq_("./mod").mod;exports.segmentsIntersect=segmentsIntersect;function segmentsIntersect(x1,y1,x2,y2,x3,y3,x4,y4){var a=x2-x1;var b=x3-x1;var c=x4-x3;var d=y2-y1;var e=y3-y1;var f=y4-y3;var det=a*f-c*d;if(det===0)return null;var t=(b*f-c*e)/det;var u=(b*d-a*e)/det;if(u<0||u>1||t<0||t>1)return null;return{x:x1+a*t,y:y1+d*t}}exports.segmentDistance=function segmentDistance(x1,y1,x2,y2,x3,y3,x4,y4){if(segmentsIntersect(x1,y1,x2,y2,x3,y3,x4,y4))return 0;var x12=x2-x1;var y12=y2-y1;var x34=x4-x3;var y34=y4-y3;var ll12=x12*x12+y12*y12;var ll34=x34*x34+y34*y34;var dist2=Math.min(perpDistance2(x12,y12,ll12,x3-x1,y3-y1),perpDistance2(x12,y12,ll12,x4-x1,y4-y1),perpDistance2(x34,y34,ll34,x1-x3,y1-y3),perpDistance2(x34,y34,ll34,x2-x3,y2-y3));return Math.sqrt(dist2)};function perpDistance2(xab,yab,llab,xac,yac){var fcAB=xac*xab+yac*yab;if(fcAB<0){return xac*xac+yac*yac}else if(fcAB>llab){var xbc=xac-xab;var ybc=yac-yab;return xbc*xbc+ybc*ybc}else{var crossProduct=xac*yab-yac*xab;return crossProduct*crossProduct/llab}}var locationCache,workingPath,workingTextWidth;exports.getTextLocation=function getTextLocation(path,totalPathLen,positionOnPath,textWidth){if(path!==workingPath||textWidth!==workingTextWidth){locationCache={};workingPath=path;workingTextWidth=textWidth}if(locationCache[positionOnPath]){return locationCache[positionOnPath]}var p0=path.getPointAtLength(mod(positionOnPath-textWidth/2,totalPathLen));var p1=path.getPointAtLength(mod(positionOnPath+textWidth/2,totalPathLen));var theta=Math.atan((p1.y-p0.y)/(p1.x-p0.x));var pCenter=path.getPointAtLength(mod(positionOnPath,totalPathLen));var x=(pCenter.x*4+p0.x+p1.x)/6;var y=(pCenter.y*4+p0.y+p1.y)/6;var out={x:x,y:y,theta:theta};locationCache[positionOnPath]=out;return out};exports.clearLocationCache=function(){workingPath=null};exports.getVisibleSegment=function getVisibleSegment(path,bounds,buffer){var left=bounds.left;var right=bounds.right;var top=bounds.top;var bottom=bounds.bottom;var pMin=0;var pTotal=path.getTotalLength();var pMax=pTotal;var pt0,ptTotal;function getDistToPlot(len){var pt=path.getPointAtLength(len);if(len===0)pt0=pt;else if(len===pTotal)ptTotal=pt;var dx=pt.x<left?left-pt.x:pt.x>right?pt.x-right:0;var dy=pt.y<top?top-pt.y:pt.y>bottom?pt.y-bottom:0;return Math.sqrt(dx*dx+dy*dy)}var distToPlot=getDistToPlot(pMin);while(distToPlot){pMin+=distToPlot+buffer;if(pMin>pMax)return;distToPlot=getDistToPlot(pMin)}distToPlot=getDistToPlot(pMax);while(distToPlot){pMax-=distToPlot+buffer;if(pMin>pMax)return;distToPlot=getDistToPlot(pMax)}return{min:pMin,max:pMax,len:pMax-pMin,total:pTotal,isClosed:pMin===0&&pMax===pTotal&&Math.abs(pt0.x-ptTotal.x)<.1&&Math.abs(pt0.y-ptTotal.y)<.1}};exports.findPointOnPath=function findPointOnPath(path,val,coord,opts){opts=opts||{};var pathLength=opts.pathLength||path.getTotalLength();var tolerance=opts.tolerance||.001;var iterationLimit=opts.iterationLimit||30;var mul=path.getPointAtLength(0)[coord]>path.getPointAtLength(pathLength)[coord]?-1:1;var i=0;var b0=0;var b1=pathLength;var mid;var pt;var diff;while(i<iterationLimit){mid=(b0+b1)/2;pt=path.getPointAtLength(mid);diff=pt[coord]-val;if(Math.abs(diff)<tolerance){return pt}else{if(mul*diff>0){b1=mid}else{b0=mid}i++}}return pt}},{"./mod":810}],799:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var tinycolor=_dereq_("tinycolor2");var rgba=_dereq_("color-normalize");var Colorscale=_dereq_("../components/colorscale");var colorDflt=_dereq_("../components/color/attributes").defaultLine;var isArrayOrTypedArray=_dereq_("./array").isArrayOrTypedArray;var colorDfltRgba=rgba(colorDflt);var opacityDflt=1;function calculateColor(colorIn,opacityIn){var colorOut=colorIn;colorOut[3]*=opacityIn;return colorOut}function validateColor(colorIn){if(isNumeric(colorIn))return colorDfltRgba;var colorOut=rgba(colorIn);return colorOut.length?colorOut:colorDfltRgba}function validateOpacity(opacityIn){return isNumeric(opacityIn)?opacityIn:opacityDflt}function formatColor(containerIn,opacityIn,len){var colorIn=containerIn.color;var isArrayColorIn=isArrayOrTypedArray(colorIn);var isArrayOpacityIn=isArrayOrTypedArray(opacityIn);var cOpts=Colorscale.extractOpts(containerIn);var colorOut=[];var sclFunc,getColor,getOpacity,colori,opacityi;if(cOpts.colorscale!==undefined){sclFunc=Colorscale.makeColorScaleFuncFromTrace(containerIn)}else{sclFunc=validateColor}if(isArrayColorIn){getColor=function(c,i){return c[i]===undefined?colorDfltRgba:rgba(sclFunc(c[i]))}}else getColor=validateColor;if(isArrayOpacityIn){getOpacity=function(o,i){return o[i]===undefined?opacityDflt:validateOpacity(o[i])}}else getOpacity=validateOpacity;if(isArrayColorIn||isArrayOpacityIn){for(var i=0;i<len;i++){colori=getColor(colorIn,i);opacityi=getOpacity(opacityIn,i);colorOut[i]=calculateColor(colori,opacityi)}}else colorOut=calculateColor(rgba(colorIn),opacityIn);return colorOut}function parseColorScale(cont){var cOpts=Colorscale.extractOpts(cont);var colorscale=cOpts.colorscale;if(cOpts.reversescale)colorscale=Colorscale.flipScale(cOpts.colorscale);return colorscale.map((function(elem){var index=elem[0];var color=tinycolor(elem[1]);var rgb=color.toRgb();return{index:index,rgb:[rgb.r,rgb.g,rgb.b,rgb.a]}}))}module.exports={formatColor:formatColor,parseColorScale:parseColorScale}},{"../components/color/attributes":665,"../components/colorscale":678,"./array":785,"color-normalize":131,"fast-isnumeric":249,tinycolor2:598}],800:[function(_dereq_,module,exports){"use strict";var identity=_dereq_("./identity");function wrap(d){return[d]}module.exports={keyFun:function(d){return d.key},repeat:wrap,descend:identity,wrap:wrap,unwrap:function(d){return d[0]}}},{"./identity":801}],801:[function(_dereq_,module,exports){"use strict";module.exports=function identity(d){return d}},{}],802:[function(_dereq_,module,exports){"use strict";module.exports=function incrementNumeric(x,delta){if(!delta)return x;var scale=1/Math.abs(delta);var newX=scale>1?(scale*x+scale*delta)/scale:x+delta;var lenX1=String(newX).length;if(lenX1>16){var lenDt=String(delta).length;var lenX0=String(x).length;if(lenX1>=lenX0+lenDt){var s=parseFloat(newX).toPrecision(12);if(s.indexOf("e+")===-1)newX=+s}}return newX}},{}],803:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var utcFormat=_dereq_("d3-time-format").utcFormat;var d3Format=_dereq_("d3-format").format;var isNumeric=_dereq_("fast-isnumeric");var numConstants=_dereq_("../constants/numerical");var MAX_SAFE=numConstants.FP_SAFE;var MIN_SAFE=-MAX_SAFE;var BADNUM=numConstants.BADNUM;var lib=module.exports={};lib.adjustFormat=function adjustFormat(formatStr){if(!formatStr||/^\d[.]\df/.test(formatStr)||/[.]\d%/.test(formatStr))return formatStr;if(formatStr==="0.f")return"~f";if(/^\d%/.test(formatStr))return"~%";if(/^\ds/.test(formatStr))return"~s";if(!/^[~,.0$]/.test(formatStr)&&/[&fps]/.test(formatStr))return"~"+formatStr;return formatStr};var seenBadFormats={};lib.warnBadFormat=function(f){var key=String(f);if(!seenBadFormats[key]){seenBadFormats[key]=1;lib.warn('encountered bad format: "'+key+'"')}};lib.noFormat=function(value){return String(value)};lib.numberFormat=function(formatStr){var fn;try{fn=d3Format(lib.adjustFormat(formatStr))}catch(e){lib.warnBadFormat(formatStr);return lib.noFormat}return fn};lib.nestedProperty=_dereq_("./nested_property");lib.keyedContainer=_dereq_("./keyed_container");lib.relativeAttr=_dereq_("./relative_attr");lib.isPlainObject=_dereq_("./is_plain_object");lib.toLogRange=_dereq_("./to_log_range");lib.relinkPrivateKeys=_dereq_("./relink_private");var arrayModule=_dereq_("./array");lib.isTypedArray=arrayModule.isTypedArray;lib.isArrayOrTypedArray=arrayModule.isArrayOrTypedArray;lib.isArray1D=arrayModule.isArray1D;lib.ensureArray=arrayModule.ensureArray;lib.concat=arrayModule.concat;lib.maxRowLength=arrayModule.maxRowLength;lib.minRowLength=arrayModule.minRowLength;var modModule=_dereq_("./mod");lib.mod=modModule.mod;lib.modHalf=modModule.modHalf;var coerceModule=_dereq_("./coerce");lib.valObjectMeta=coerceModule.valObjectMeta;lib.coerce=coerceModule.coerce;lib.coerce2=coerceModule.coerce2;lib.coerceFont=coerceModule.coerceFont;lib.coercePattern=coerceModule.coercePattern;lib.coerceHoverinfo=coerceModule.coerceHoverinfo;lib.coerceSelectionMarkerOpacity=coerceModule.coerceSelectionMarkerOpacity;lib.validate=coerceModule.validate;var datesModule=_dereq_("./dates");lib.dateTime2ms=datesModule.dateTime2ms;lib.isDateTime=datesModule.isDateTime;lib.ms2DateTime=datesModule.ms2DateTime;lib.ms2DateTimeLocal=datesModule.ms2DateTimeLocal;lib.cleanDate=datesModule.cleanDate;lib.isJSDate=datesModule.isJSDate;lib.formatDate=datesModule.formatDate;lib.incrementMonth=datesModule.incrementMonth;lib.dateTick0=datesModule.dateTick0;lib.dfltRange=datesModule.dfltRange;lib.findExactDates=datesModule.findExactDates;lib.MIN_MS=datesModule.MIN_MS;lib.MAX_MS=datesModule.MAX_MS;var searchModule=_dereq_("./search");lib.findBin=searchModule.findBin;lib.sorterAsc=searchModule.sorterAsc;lib.sorterDes=searchModule.sorterDes;lib.distinctVals=searchModule.distinctVals;lib.roundUp=searchModule.roundUp;lib.sort=searchModule.sort;lib.findIndexOfMin=searchModule.findIndexOfMin;lib.sortObjectKeys=_dereq_("./sort_object_keys");var statsModule=_dereq_("./stats");lib.aggNums=statsModule.aggNums;lib.len=statsModule.len;lib.mean=statsModule.mean;lib.median=statsModule.median;lib.midRange=statsModule.midRange;lib.variance=statsModule.variance;lib.stdev=statsModule.stdev;lib.interp=statsModule.interp;var matrixModule=_dereq_("./matrix");lib.init2dArray=matrixModule.init2dArray;lib.transposeRagged=matrixModule.transposeRagged;lib.dot=matrixModule.dot;lib.translationMatrix=matrixModule.translationMatrix;lib.rotationMatrix=matrixModule.rotationMatrix;lib.rotationXYMatrix=matrixModule.rotationXYMatrix;lib.apply3DTransform=matrixModule.apply3DTransform;lib.apply2DTransform=matrixModule.apply2DTransform;lib.apply2DTransform2=matrixModule.apply2DTransform2;lib.convertCssMatrix=matrixModule.convertCssMatrix;lib.inverseTransformMatrix=matrixModule.inverseTransformMatrix;var anglesModule=_dereq_("./angles");lib.deg2rad=anglesModule.deg2rad;lib.rad2deg=anglesModule.rad2deg;lib.angleDelta=anglesModule.angleDelta;lib.angleDist=anglesModule.angleDist;lib.isFullCircle=anglesModule.isFullCircle;lib.isAngleInsideSector=anglesModule.isAngleInsideSector;lib.isPtInsideSector=anglesModule.isPtInsideSector;lib.pathArc=anglesModule.pathArc;lib.pathSector=anglesModule.pathSector;lib.pathAnnulus=anglesModule.pathAnnulus;var anchorUtils=_dereq_("./anchor_utils");lib.isLeftAnchor=anchorUtils.isLeftAnchor;lib.isCenterAnchor=anchorUtils.isCenterAnchor;lib.isRightAnchor=anchorUtils.isRightAnchor;lib.isTopAnchor=anchorUtils.isTopAnchor;lib.isMiddleAnchor=anchorUtils.isMiddleAnchor;lib.isBottomAnchor=anchorUtils.isBottomAnchor;var geom2dModule=_dereq_("./geometry2d");lib.segmentsIntersect=geom2dModule.segmentsIntersect;lib.segmentDistance=geom2dModule.segmentDistance;lib.getTextLocation=geom2dModule.getTextLocation;lib.clearLocationCache=geom2dModule.clearLocationCache;lib.getVisibleSegment=geom2dModule.getVisibleSegment;lib.findPointOnPath=geom2dModule.findPointOnPath;var extendModule=_dereq_("./extend");lib.extendFlat=extendModule.extendFlat;lib.extendDeep=extendModule.extendDeep;lib.extendDeepAll=extendModule.extendDeepAll;lib.extendDeepNoArrays=extendModule.extendDeepNoArrays;var loggersModule=_dereq_("./loggers");lib.log=loggersModule.log;lib.warn=loggersModule.warn;lib.error=loggersModule.error;var regexModule=_dereq_("./regex");lib.counterRegex=regexModule.counter;var throttleModule=_dereq_("./throttle");lib.throttle=throttleModule.throttle;lib.throttleDone=throttleModule.done;lib.clearThrottle=throttleModule.clear;var domModule=_dereq_("./dom");lib.getGraphDiv=domModule.getGraphDiv;lib.isPlotDiv=domModule.isPlotDiv;lib.removeElement=domModule.removeElement;lib.addStyleRule=domModule.addStyleRule;lib.addRelatedStyleRule=domModule.addRelatedStyleRule;lib.deleteRelatedStyleRule=domModule.deleteRelatedStyleRule;lib.getFullTransformMatrix=domModule.getFullTransformMatrix;lib.getElementTransformMatrix=domModule.getElementTransformMatrix;lib.getElementAndAncestors=domModule.getElementAndAncestors;lib.equalDomRects=domModule.equalDomRects;lib.clearResponsive=_dereq_("./clear_responsive");lib.preserveDrawingBuffer=_dereq_("./preserve_drawing_buffer");lib.makeTraceGroups=_dereq_("./make_trace_groups");lib._=_dereq_("./localize");lib.notifier=_dereq_("./notifier");lib.filterUnique=_dereq_("./filter_unique");lib.filterVisible=_dereq_("./filter_visible");lib.pushUnique=_dereq_("./push_unique");lib.increment=_dereq_("./increment");lib.cleanNumber=_dereq_("./clean_number");lib.ensureNumber=function ensureNumber(v){if(!isNumeric(v))return BADNUM;v=Number(v);return v>MAX_SAFE||v<MIN_SAFE?BADNUM:v};lib.isIndex=function(v,len){if(len!==undefined&&v>=len)return false;return isNumeric(v)&&v>=0&&v%1===0};lib.noop=_dereq_("./noop");lib.identity=_dereq_("./identity");lib.repeat=function(v,cnt){var out=new Array(cnt);for(var i=0;i<cnt;i++){out[i]=v}return out};lib.swapAttrs=function(cont,attrList,part1,part2){if(!part1)part1="x";if(!part2)part2="y";for(var i=0;i<attrList.length;i++){var attr=attrList[i];var xp=lib.nestedProperty(cont,attr.replace("?",part1));var yp=lib.nestedProperty(cont,attr.replace("?",part2));var temp=xp.get();xp.set(yp.get());yp.set(temp)}};lib.raiseToTop=function raiseToTop(elem){elem.parentNode.appendChild(elem)};lib.cancelTransition=function(selection){return selection.transition().duration(0)};lib.constrain=function(v,v0,v1){if(v0>v1)return Math.max(v1,Math.min(v0,v));return Math.max(v0,Math.min(v1,v))};lib.bBoxIntersect=function(a,b,pad){pad=pad||0;return a.left<=b.right+pad&&b.left<=a.right+pad&&a.top<=b.bottom+pad&&b.top<=a.bottom+pad};lib.simpleMap=function(array,func,x1,x2,opts){var len=array.length;var out=new Array(len);for(var i=0;i<len;i++)out[i]=func(array[i],x1,x2,opts);return out};lib.randstr=function randstr(existing,bits,base,_recursion){if(!base)base=16;if(bits===undefined)bits=24;if(bits<=0)return"0";var digits=Math.log(Math.pow(2,bits))/Math.log(base);var res="";var i,b,x;for(i=2;digits===Infinity;i*=2){digits=Math.log(Math.pow(2,bits/i))/Math.log(base)*i}var rem=digits-Math.floor(digits);for(i=0;i<Math.floor(digits);i++){x=Math.floor(Math.random()*base).toString(base);res=x+res}if(rem){b=Math.pow(base,rem);x=Math.floor(Math.random()*b).toString(base);res=x+res}var parsed=parseInt(res,base);if(existing&&existing[res]||parsed!==Infinity&&parsed>=Math.pow(2,bits)){if(_recursion>10){lib.warn("randstr failed uniqueness");return res}return randstr(existing,bits,base,(_recursion||0)+1)}else return res};lib.OptionControl=function(opt,optname){if(!opt)opt={};if(!optname)optname="opt";var self={};self.optionList=[];self._newoption=function(optObj){optObj[optname]=opt;self[optObj.name]=optObj;self.optionList.push(optObj)};self["_"+optname]=opt;return self};lib.smooth=function(arrayIn,FWHM){FWHM=Math.round(FWHM)||0;if(FWHM<2)return arrayIn;var alen=arrayIn.length;var alen2=2*alen;var wlen=2*FWHM-1;var w=new Array(wlen);var arrayOut=new Array(alen);var i;var j;var k;var v;for(i=0;i<wlen;i++){w[i]=(1-Math.cos(Math.PI*(i+1)/FWHM))/(2*FWHM)}for(i=0;i<alen;i++){v=0;for(j=0;j<wlen;j++){k=i+j+1-FWHM;if(k<-alen)k-=alen2*Math.round(k/alen2);else if(k>=alen2)k-=alen2*Math.floor(k/alen2);if(k<0)k=-1-k;else if(k>=alen)k=alen2-1-k;v+=arrayIn[k]*w[j]}arrayOut[i]=v}return arrayOut};lib.syncOrAsync=function(sequence,arg,finalStep){var ret,fni;function continueAsync(){return lib.syncOrAsync(sequence,arg,finalStep)}while(sequence.length){fni=sequence.splice(0,1)[0];ret=fni(arg);if(ret&&ret.then){return ret.then(continueAsync)}}return finalStep&&finalStep(arg)};lib.stripTrailingSlash=function(str){if(str.substr(-1)==="/")return str.substr(0,str.length-1);return str};lib.noneOrAll=function(containerIn,containerOut,attrList){if(!containerIn)return;var hasAny=false;var hasAll=true;var i;var val;for(i=0;i<attrList.length;i++){val=containerIn[attrList[i]];if(val!==undefined&&val!==null)hasAny=true;else hasAll=false}if(hasAny&&!hasAll){for(i=0;i<attrList.length;i++){containerIn[attrList[i]]=containerOut[attrList[i]]}}};lib.mergeArray=function(traceAttr,cd,cdAttr,fn){var hasFn=typeof fn==="function";if(lib.isArrayOrTypedArray(traceAttr)){var imax=Math.min(traceAttr.length,cd.length);for(var i=0;i<imax;i++){var v=traceAttr[i];cd[i][cdAttr]=hasFn?fn(v):v}}};lib.mergeArrayCastPositive=function(traceAttr,cd,cdAttr){return lib.mergeArray(traceAttr,cd,cdAttr,(function(v){var w=+v;return!isFinite(w)?0:w>0?w:0}))};lib.fillArray=function(traceAttr,cd,cdAttr,fn){fn=fn||lib.identity;if(lib.isArrayOrTypedArray(traceAttr)){for(var i=0;i<cd.length;i++){cd[i][cdAttr]=fn(traceAttr[i])}}};lib.castOption=function(trace,ptNumber,astr,fn){fn=fn||lib.identity;var val=lib.nestedProperty(trace,astr).get();if(lib.isArrayOrTypedArray(val)){if(Array.isArray(ptNumber)&&lib.isArrayOrTypedArray(val[ptNumber[0]])){return fn(val[ptNumber[0]][ptNumber[1]])}else{return fn(val[ptNumber])}}else{return val}};lib.extractOption=function(calcPt,trace,calcKey,traceKey){if(calcKey in calcPt)return calcPt[calcKey];var traceVal=lib.nestedProperty(trace,traceKey).get();if(!Array.isArray(traceVal))return traceVal};function makePtIndex2PtNumber(indexToPoints){var ptIndex2ptNumber={};for(var k in indexToPoints){var pts=indexToPoints[k];for(var j=0;j<pts.length;j++){ptIndex2ptNumber[pts[j]]=+k}}return ptIndex2ptNumber}lib.tagSelected=function(calcTrace,trace,ptNumber2cdIndex){var selectedpoints=trace.selectedpoints;var indexToPoints=trace._indexToPoints;var ptIndex2ptNumber;if(indexToPoints){ptIndex2ptNumber=makePtIndex2PtNumber(indexToPoints)}function isCdIndexValid(v){return v!==undefined&&v<calcTrace.length}for(var i=0;i<selectedpoints.length;i++){var ptIndex=selectedpoints[i];if(lib.isIndex(ptIndex)||lib.isArrayOrTypedArray(ptIndex)&&lib.isIndex(ptIndex[0])&&lib.isIndex(ptIndex[1])){var ptNumber=ptIndex2ptNumber?ptIndex2ptNumber[ptIndex]:ptIndex;var cdIndex=ptNumber2cdIndex?ptNumber2cdIndex[ptNumber]:ptNumber;if(isCdIndexValid(cdIndex)){calcTrace[cdIndex].selected=1}}}};lib.selIndices2selPoints=function(trace){var selectedpoints=trace.selectedpoints;var indexToPoints=trace._indexToPoints;if(indexToPoints){var ptIndex2ptNumber=makePtIndex2PtNumber(indexToPoints);var out=[];for(var i=0;i<selectedpoints.length;i++){var ptIndex=selectedpoints[i];if(lib.isIndex(ptIndex)){var ptNumber=ptIndex2ptNumber[ptIndex];if(lib.isIndex(ptNumber)){out.push(ptNumber)}}}return out}else{return selectedpoints}};lib.getTargetArray=function(trace,transformOpts){var target=transformOpts.target;if(typeof target==="string"&&target){var array=lib.nestedProperty(trace,target).get();return Array.isArray(array)?array:false}else if(Array.isArray(target)){return target}return false};lib.minExtend=function(obj1,obj2){var objOut={};if(typeof obj2!=="object")obj2={};var arrayLen=3;var keys=Object.keys(obj1);var i,k,v;for(i=0;i<keys.length;i++){k=keys[i];v=obj1[k];if(k.charAt(0)==="_"||typeof v==="function")continue;else if(k==="module")objOut[k]=v;else if(Array.isArray(v)){if(k==="colorscale"){objOut[k]=v.slice()}else{objOut[k]=v.slice(0,arrayLen)}}else if(lib.isTypedArray(v)){objOut[k]=v.subarray(0,arrayLen)}else if(v&&typeof v==="object")objOut[k]=lib.minExtend(obj1[k],obj2[k]);else objOut[k]=v}keys=Object.keys(obj2);for(i=0;i<keys.length;i++){k=keys[i];v=obj2[k];if(typeof v!=="object"||!(k in objOut)||typeof objOut[k]!=="object"){objOut[k]=v}}return objOut};lib.titleCase=function(s){return s.charAt(0).toUpperCase()+s.substr(1)};lib.containsAny=function(s,fragments){for(var i=0;i<fragments.length;i++){if(s.indexOf(fragments[i])!==-1)return true}return false};lib.isIE=function(){return typeof window.navigator.msSaveBlob!=="undefined"};var IS_SAFARI_REGEX=/Version\/[\d\.]+.*Safari/;lib.isSafari=function(){return IS_SAFARI_REGEX.test(window.navigator.userAgent)};var IS_IOS_REGEX=/iPad|iPhone|iPod/;lib.isIOS=function(){return IS_IOS_REGEX.test(window.navigator.userAgent)};var FIREFOX_VERSION_REGEX=/Firefox\/(\d+)\.\d+/;lib.getFirefoxVersion=function(){var match=FIREFOX_VERSION_REGEX.exec(window.navigator.userAgent);if(match&&match.length===2){var versionInt=parseInt(match[1]);if(!isNaN(versionInt)){return versionInt}}return null};lib.isD3Selection=function(obj){return obj instanceof d3.selection};lib.ensureSingle=function(parent,nodeType,className,enterFn){var sel=parent.select(nodeType+(className?"."+className:""));if(sel.size())return sel;var layer=parent.append(nodeType);if(className)layer.classed(className,true);if(enterFn)layer.call(enterFn);return layer};lib.ensureSingleById=function(parent,nodeType,id,enterFn){var sel=parent.select(nodeType+"#"+id);if(sel.size())return sel;var layer=parent.append(nodeType).attr("id",id);if(enterFn)layer.call(enterFn);return layer};lib.objectFromPath=function(path,value){var keys=path.split(".");var tmpObj;var obj=tmpObj={};for(var i=0;i<keys.length;i++){var key=keys[i];var el=null;var parts=keys[i].match(/(.*)\[([0-9]+)\]/);if(parts){key=parts[1];el=parts[2];tmpObj=tmpObj[key]=[];if(i===keys.length-1){tmpObj[el]=value}else{tmpObj[el]={}}tmpObj=tmpObj[el]}else{if(i===keys.length-1){tmpObj[key]=value}else{tmpObj[key]={}}tmpObj=tmpObj[key]}}return obj};var dottedPropertyRegex=/^([^\[\.]+)\.(.+)?/;var indexedPropertyRegex=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;lib.expandObjectPaths=function(data){var match,key,prop,datum,idx,dest,trailingPath;if(typeof data==="object"&&!Array.isArray(data)){for(key in data){if(data.hasOwnProperty(key)){if(match=key.match(dottedPropertyRegex)){datum=data[key];prop=match[1];delete data[key];data[prop]=lib.extendDeepNoArrays(data[prop]||{},lib.objectFromPath(key,lib.expandObjectPaths(datum))[prop])}else if(match=key.match(indexedPropertyRegex)){datum=data[key];prop=match[1];idx=parseInt(match[2]);delete data[key];data[prop]=data[prop]||[];if(match[3]==="."){trailingPath=match[4];dest=data[prop][idx]=data[prop][idx]||{};lib.extendDeepNoArrays(dest,lib.objectFromPath(trailingPath,lib.expandObjectPaths(datum)))}else{data[prop][idx]=lib.expandObjectPaths(datum)}}else{data[key]=lib.expandObjectPaths(data[key])}}}}return data};lib.numSeparate=function(value,separators,separatethousands){if(!separatethousands)separatethousands=false;if(typeof separators!=="string"||separators.length===0){throw new Error("Separator string required for formatting!")}if(typeof value==="number"){value=String(value)}var thousandsRe=/(\d+)(\d{3})/;var decimalSep=separators.charAt(0);var thouSep=separators.charAt(1);var x=value.split(".");var x1=x[0];var x2=x.length>1?decimalSep+x[1]:"";if(thouSep&&(x.length>1||x1.length>4||separatethousands)){while(thousandsRe.test(x1)){x1=x1.replace(thousandsRe,"$1"+thouSep+"$2")}}return x1+x2};lib.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var SIMPLE_PROPERTY_REGEX=/^\w*$/;lib.templateString=function(string,obj){var getterCache={};return string.replace(lib.TEMPLATE_STRING_REGEX,(function(dummy,key){var v;if(SIMPLE_PROPERTY_REGEX.test(key)){v=obj[key]}else{getterCache[key]=getterCache[key]||lib.nestedProperty(obj,key).get;v=getterCache[key]()}return lib.isValidTextValue(v)?v:""}))};var hovertemplateWarnings={max:10,count:0,name:"hovertemplate"};lib.hovertemplateString=function(){return templateFormatString.apply(hovertemplateWarnings,arguments)};var texttemplateWarnings={max:10,count:0,name:"texttemplate"};lib.texttemplateString=function(){return templateFormatString.apply(texttemplateWarnings,arguments)};var TEMPLATE_STRING_FORMAT_SEPARATOR=/^[:|\|]/;function templateFormatString(string,labels,d3locale){var opts=this;var args=arguments;if(!labels)labels={};var getterCache={};return string.replace(lib.TEMPLATE_STRING_REGEX,(function(match,rawKey,format){var isOther=rawKey==="xother"||rawKey==="yother";var isSpaceOther=rawKey==="_xother"||rawKey==="_yother";var isSpaceOtherSpace=rawKey==="_xother_"||rawKey==="_yother_";var isOtherSpace=rawKey==="xother_"||rawKey==="yother_";var hasOther=isOther||isSpaceOther||isOtherSpace||isSpaceOtherSpace;var key=rawKey;if(isSpaceOther||isSpaceOtherSpace)key=key.substring(1);if(isOtherSpace||isSpaceOtherSpace)key=key.substring(0,key.length-1);var value;if(hasOther){value=labels[key];if(value===undefined)return""}else{var obj,i;for(i=3;i<args.length;i++){obj=args[i];if(!obj)continue;if(obj.hasOwnProperty(key)){value=obj[key];break}if(!SIMPLE_PROPERTY_REGEX.test(key)){value=lib.nestedProperty(obj,key).get();value=getterCache[key]||lib.nestedProperty(obj,key).get();if(value)getterCache[key]=value}if(value!==undefined)break}}if(value===undefined&&opts){if(opts.count<opts.max){lib.warn("Variable '"+key+"' in "+opts.name+" could not be found!");value=match}if(opts.count===opts.max){lib.warn("Too many "+opts.name+" warnings - additional warnings will be suppressed")}opts.count++;return match}if(format){var fmt;if(format[0]===":"){fmt=d3locale?d3locale.numberFormat:lib.numberFormat;value=fmt(format.replace(TEMPLATE_STRING_FORMAT_SEPARATOR,""))(value)}if(format[0]==="|"){fmt=d3locale?d3locale.timeFormat:utcFormat;var ms=lib.dateTime2ms(value);value=lib.formatDate(ms,format.replace(TEMPLATE_STRING_FORMAT_SEPARATOR,""),false,fmt)}}else{var keyLabel=key+"Label";if(labels.hasOwnProperty(keyLabel))value=labels[keyLabel]}if(hasOther){value="("+value+")";if(isSpaceOther||isSpaceOtherSpace)value=" "+value;if(isOtherSpace||isSpaceOtherSpace)value=value+" "}return value}))}var char0=48;var char9=57;lib.subplotSort=function(a,b){var l=Math.min(a.length,b.length)+1;var numA=0;var numB=0;for(var i=0;i<l;i++){var charA=a.charCodeAt(i)||0;var charB=b.charCodeAt(i)||0;var isNumA=charA>=char0&&charA<=char9;var isNumB=charB>=char0&&charB<=char9;if(isNumA)numA=10*numA+charA-char0;if(isNumB)numB=10*numB+charB-char0;if(!isNumA||!isNumB){if(numA!==numB)return numA-numB;if(charA!==charB)return charA-charB}}return numB-numA};var randSeed=2e9;lib.seedPseudoRandom=function(){randSeed=2e9};lib.pseudoRandom=function(){var lastVal=randSeed;randSeed=(69069*randSeed+1)%4294967296;if(Math.abs(randSeed-lastVal)<429496729)return lib.pseudoRandom();return randSeed/4294967296};lib.fillText=function(calcPt,trace,contOut){var fill=Array.isArray(contOut)?function(v){contOut.push(v)}:function(v){contOut.text=v};var htx=lib.extractOption(calcPt,trace,"htx","hovertext");if(lib.isValidTextValue(htx))return fill(htx);var tx=lib.extractOption(calcPt,trace,"tx","text");if(lib.isValidTextValue(tx))return fill(tx)};lib.isValidTextValue=function(v){return v||v===0};lib.formatPercent=function(ratio,n){n=n||0;var str=(Math.round(100*ratio*Math.pow(10,n))*Math.pow(.1,n)).toFixed(n)+"%";for(var i=0;i<n;i++){if(str.indexOf(".")!==-1){str=str.replace("0%","%");str=str.replace(".%","%")}}return str};lib.isHidden=function(gd){var display=window.getComputedStyle(gd).display;return!display||display==="none"};lib.strTranslate=function(x,y){return x||y?"translate("+x+","+y+")":""};lib.strRotate=function(a){return a?"rotate("+a+")":""};lib.strScale=function(s){return s!==1?"scale("+s+")":""};lib.getTextTransform=function(transform){var noCenter=transform.noCenter;var textX=transform.textX;var textY=transform.textY;var targetX=transform.targetX;var targetY=transform.targetY;var anchorX=transform.anchorX||0;var anchorY=transform.anchorY||0;var rotate=transform.rotate;var scale=transform.scale;if(!scale)scale=0;else if(scale>1)scale=1;return lib.strTranslate(targetX-scale*(textX+anchorX),targetY-scale*(textY+anchorY))+lib.strScale(scale)+(rotate?"rotate("+rotate+(noCenter?"":" "+textX+" "+textY)+")":"")};lib.ensureUniformFontSize=function(gd,baseFont){var out=lib.extendFlat({},baseFont);out.size=Math.max(baseFont.size,gd._fullLayout.uniformtext.minsize||0);return out};lib.join2=function(arr,mainSeparator,lastSeparator){var len=arr.length;if(len>1){return arr.slice(0,-1).join(mainSeparator)+lastSeparator+arr[len-1]}return arr.join(mainSeparator)};lib.bigFont=function(size){return Math.round(1.2*size)};var firefoxVersion=lib.getFirefoxVersion();var isProblematicFirefox=firefoxVersion!==null&&firefoxVersion<86;lib.getPositionFromD3Event=function(){if(isProblematicFirefox){return[d3.event.layerX,d3.event.layerY]}else{return[d3.event.offsetX,d3.event.offsetY]}}},{"../constants/numerical":779,"./anchor_utils":783,"./angles":784,"./array":785,"./clean_number":786,"./clear_responsive":788,"./coerce":789,"./dates":790,"./dom":791,"./extend":793,"./filter_unique":794,"./filter_visible":795,"./geometry2d":798,"./identity":801,"./increment":802,"./is_plain_object":804,"./keyed_container":805,"./localize":806,"./loggers":807,"./make_trace_groups":808,"./matrix":809,"./mod":810,"./nested_property":811,"./noop":812,"./notifier":813,"./preserve_drawing_buffer":817,"./push_unique":818,"./regex":820,"./relative_attr":821,"./relink_private":822,"./search":823,"./sort_object_keys":826,"./stats":827,"./throttle":830,"./to_log_range":831,"@plotly/d3":58,"d3-format":167,"d3-time-format":175,"fast-isnumeric":249}],804:[function(_dereq_,module,exports){"use strict";module.exports=function isPlainObject(obj){if(window&&window.process&&window.process.versions){return Object.prototype.toString.call(obj)==="[object Object]"}return Object.prototype.toString.call(obj)==="[object Object]"&&Object.getPrototypeOf(obj).hasOwnProperty("hasOwnProperty")}},{}],805:[function(_dereq_,module,exports){"use strict";var nestedProperty=_dereq_("./nested_property");var SIMPLE_PROPERTY_REGEX=/^\w*$/;var NONE=0;var NAME=1;var VALUE=2;var BOTH=3;var UNSET=4;module.exports=function keyedContainer(baseObj,path,keyName,valueName){keyName=keyName||"name";valueName=valueName||"value";var i,arr,baseProp;var changeTypes={};if(path&&path.length){baseProp=nestedProperty(baseObj,path);arr=baseProp.get()}else{arr=baseObj}path=path||"";var indexLookup={};if(arr){for(i=0;i<arr.length;i++){indexLookup[arr[i][keyName]]=i}}var isSimpleValueProp=SIMPLE_PROPERTY_REGEX.test(valueName);var obj={set:function(name,value){var changeType=value===null?UNSET:NONE;if(!arr){if(!baseProp||changeType===UNSET)return;arr=[];baseProp.set(arr)}var idx=indexLookup[name];if(idx===undefined){if(changeType===UNSET)return;changeType=changeType|BOTH;idx=arr.length;indexLookup[name]=idx}else if(value!==(isSimpleValueProp?arr[idx][valueName]:nestedProperty(arr[idx],valueName).get())){changeType=changeType|VALUE}var newValue=arr[idx]=arr[idx]||{};newValue[keyName]=name;if(isSimpleValueProp){newValue[valueName]=value}else{nestedProperty(newValue,valueName).set(value)}if(value!==null){changeType=changeType&~UNSET}changeTypes[idx]=changeTypes[idx]|changeType;return obj},get:function(name){if(!arr)return;var idx=indexLookup[name];if(idx===undefined){return undefined}else if(isSimpleValueProp){return arr[idx][valueName]}else{return nestedProperty(arr[idx],valueName).get()}},rename:function(name,newName){var idx=indexLookup[name];if(idx===undefined)return obj;changeTypes[idx]=changeTypes[idx]|NAME;indexLookup[newName]=idx;delete indexLookup[name];arr[idx][keyName]=newName;return obj},remove:function(name){var idx=indexLookup[name];if(idx===undefined)return obj;var object=arr[idx];if(Object.keys(object).length>2){changeTypes[idx]=changeTypes[idx]|VALUE;return obj.set(name,null)}if(isSimpleValueProp){for(i=idx;i<arr.length;i++){changeTypes[i]=changeTypes[i]|BOTH}for(i=idx;i<arr.length;i++){indexLookup[arr[i][keyName]]--}arr.splice(idx,1);delete indexLookup[name]}else{nestedProperty(object,valueName).set(null);changeTypes[idx]=changeTypes[idx]|VALUE|UNSET}return obj},constructUpdate:function(){var astr,idx;var update={};var changed=Object.keys(changeTypes);for(var i=0;i<changed.length;i++){idx=changed[i];astr=path+"["+idx+"]";if(arr[idx]){if(changeTypes[idx]&NAME){update[astr+"."+keyName]=arr[idx][keyName]}if(changeTypes[idx]&VALUE){if(isSimpleValueProp){update[astr+"."+valueName]=changeTypes[idx]&UNSET?null:arr[idx][valueName]}else{update[astr+"."+valueName]=changeTypes[idx]&UNSET?null:nestedProperty(arr[idx],valueName).get()}}}else{update[astr]=null}}return update}};return obj}},{"./nested_property":811}],806:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../registry");module.exports=function localize(gd,s){var locale=gd._context.locale;for(var i=0;i<2;i++){var locales=gd._context.locales;for(var j=0;j<2;j++){var dict=(locales[locale]||{}).dictionary;if(dict){var out=dict[s];if(out)return out}locales=Registry.localeRegistry}var baseLocale=locale.split("-")[0];if(baseLocale===locale)break;locale=baseLocale}return s}},{"../registry":931}],807:[function(_dereq_,module,exports){"use strict";var dfltConfig=_dereq_("../plot_api/plot_config").dfltConfig;var notifier=_dereq_("./notifier");var loggers=module.exports={};loggers.log=function(){var i;if(dfltConfig.logging>1){var messages=["LOG:"];for(i=0;i<arguments.length;i++){messages.push(arguments[i])}console.trace.apply(console,messages)}if(dfltConfig.notifyOnLogging>1){var lines=[];for(i=0;i<arguments.length;i++){lines.push(arguments[i])}notifier(lines.join("<br>"),"long")}};loggers.warn=function(){var i;if(dfltConfig.logging>0){var messages=["WARN:"];for(i=0;i<arguments.length;i++){messages.push(arguments[i])}console.trace.apply(console,messages)}if(dfltConfig.notifyOnLogging>0){var lines=[];for(i=0;i<arguments.length;i++){lines.push(arguments[i])}notifier(lines.join("<br>"),"stick")}};loggers.error=function(){var i;if(dfltConfig.logging>0){var messages=["ERROR:"];for(i=0;i<arguments.length;i++){messages.push(arguments[i])}console.error.apply(console,messages)}if(dfltConfig.notifyOnLogging>0){var lines=[];for(i=0;i<arguments.length;i++){lines.push(arguments[i])}notifier(lines.join("<br>"),"stick")}}},{"../plot_api/plot_config":841,"./notifier":813}],808:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");module.exports=function makeTraceGroups(traceLayer,cdModule,cls){var traces=traceLayer.selectAll("g."+cls.replace(/\s/g,".")).data(cdModule,(function(cd){return cd[0].trace.uid}));traces.exit().remove();traces.enter().append("g").attr("class",cls);traces.order();var k=traceLayer.classed("rangeplot")?"nodeRangePlot3":"node3";traces.each((function(cd){cd[0][k]=d3.select(this)}));return traces}},{"@plotly/d3":58}],809:[function(_dereq_,module,exports){"use strict";var mat4X4=_dereq_("gl-mat4");exports.init2dArray=function(rowLength,colLength){var array=new Array(rowLength);for(var i=0;i<rowLength;i++)array[i]=new Array(colLength);return array};exports.transposeRagged=function(z){var maxlen=0;var zlen=z.length;var i,j;for(i=0;i<zlen;i++)maxlen=Math.max(maxlen,z[i].length);var t=new Array(maxlen);for(i=0;i<maxlen;i++){t[i]=new Array(zlen);for(j=0;j<zlen;j++)t[i][j]=z[j][i]}return t};exports.dot=function(x,y){if(!(x.length&&y.length)||x.length!==y.length)return null;var len=x.length;var out;var i;if(x[0].length){out=new Array(len);for(i=0;i<len;i++)out[i]=exports.dot(x[i],y)}else if(y[0].length){var yTranspose=exports.transposeRagged(y);out=new Array(yTranspose.length);for(i=0;i<yTranspose.length;i++)out[i]=exports.dot(x,yTranspose[i])}else{out=0;for(i=0;i<len;i++)out+=x[i]*y[i]}return out};exports.translationMatrix=function(x,y){return[[1,0,x],[0,1,y],[0,0,1]]};exports.rotationMatrix=function(alpha){var a=alpha*Math.PI/180;return[[Math.cos(a),-Math.sin(a),0],[Math.sin(a),Math.cos(a),0],[0,0,1]]};exports.rotationXYMatrix=function(a,x,y){return exports.dot(exports.dot(exports.translationMatrix(x,y),exports.rotationMatrix(a)),exports.translationMatrix(-x,-y))};exports.apply3DTransform=function(transform){return function(){var args=arguments;var xyz=arguments.length===1?args[0]:[args[0],args[1],args[2]||0];return exports.dot(transform,[xyz[0],xyz[1],xyz[2],1]).slice(0,3)}};exports.apply2DTransform=function(transform){return function(){var args=arguments;if(args.length===3){args=args[0]}var xy=arguments.length===1?args[0]:[args[0],args[1]];return exports.dot(transform,[xy[0],xy[1],1]).slice(0,2)}};exports.apply2DTransform2=function(transform){var at=exports.apply2DTransform(transform);return function(xys){return at(xys.slice(0,2)).concat(at(xys.slice(2,4)))}};exports.convertCssMatrix=function(m){if(m){var len=m.length;if(len===16)return m;if(len===6){return[m[0],m[1],0,0,m[2],m[3],0,0,0,0,1,0,m[4],m[5],0,1]}}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};exports.inverseTransformMatrix=function(m){var out=[];mat4X4.invert(out,m);return[[out[0],out[1],out[2],out[3]],[out[4],out[5],out[6],out[7]],[out[8],out[9],out[10],out[11]],[out[12],out[13],out[14],out[15]]]}},{"gl-mat4":298}],810:[function(_dereq_,module,exports){"use strict";function mod(v,d){var out=v%d;return out<0?out+d:out}function modHalf(v,d){return Math.abs(v)>d/2?v-Math.round(v/d)*d:v}module.exports={mod:mod,modHalf:modHalf}},{}],811:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var isArrayOrTypedArray=_dereq_("./array").isArrayOrTypedArray;module.exports=function nestedProperty(container,propStr){if(isNumeric(propStr))propStr=String(propStr);else if(typeof propStr!=="string"||propStr.substr(propStr.length-4)==="[-1]"){throw"bad property string"}var j=0;var propParts=propStr.split(".");var indexed;var indices;var i;while(j<propParts.length){indexed=String(propParts[j]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/);if(indexed){if(indexed[1])propParts[j]=indexed[1];else if(j===0)propParts.splice(0,1);else throw"bad property string";indices=indexed[2].substr(1,indexed[2].length-2).split("][");for(i=0;i<indices.length;i++){j++;propParts.splice(j,0,Number(indices[i]))}}j++}if(typeof container!=="object"){return badContainer(container,propStr,propParts)}return{set:npSet(container,propParts,propStr),get:npGet(container,propParts),astr:propStr,parts:propParts,obj:container}};function npGet(cont,parts){return function(){var curCont=cont;var curPart;var allSame;var out;var i;var j;for(i=0;i<parts.length-1;i++){curPart=parts[i];if(curPart===-1){allSame=true;out=[];for(j=0;j<curCont.length;j++){out[j]=npGet(curCont[j],parts.slice(i+1))();if(out[j]!==out[0])allSame=false}return allSame?out[0]:out}if(typeof curPart==="number"&&!isArrayOrTypedArray(curCont)){return undefined}curCont=curCont[curPart];if(typeof curCont!=="object"||curCont===null){return undefined}}if(typeof curCont!=="object"||curCont===null)return undefined;out=curCont[parts[i]];if(out===null)return undefined;return out}}var ARGS_PATTERN=/(^|\.)args\[/;function isDeletable(val,propStr){return val===undefined||val===null&&!propStr.match(ARGS_PATTERN)}function npSet(cont,parts,propStr){return function(val){var curCont=cont;var propPart="";var containerLevels=[[cont,propPart]];var toDelete=isDeletable(val,propStr);var curPart;var i;for(i=0;i<parts.length-1;i++){curPart=parts[i];if(typeof curPart==="number"&&!isArrayOrTypedArray(curCont)){throw"array index but container is not an array"}if(curPart===-1){toDelete=!setArrayAll(curCont,parts.slice(i+1),val,propStr);if(toDelete)break;else return}if(!checkNewContainer(curCont,curPart,parts[i+1],toDelete)){break}curCont=curCont[curPart];if(typeof curCont!=="object"||curCont===null){throw"container is not an object"}propPart=joinPropStr(propPart,curPart);containerLevels.push([curCont,propPart])}if(toDelete){if(i===parts.length-1){delete curCont[parts[i]];if(Array.isArray(curCont)&&+parts[i]===curCont.length-1){while(curCont.length&&curCont[curCont.length-1]===undefined){curCont.pop()}}}}else curCont[parts[i]]=val}}function joinPropStr(propStr,newPart){var toAdd=newPart;if(isNumeric(newPart))toAdd="["+newPart+"]";else if(propStr)toAdd="."+newPart;return propStr+toAdd}function setArrayAll(containerArray,innerParts,val,propStr){var arrayVal=isArrayOrTypedArray(val);var allSet=true;var thisVal=val;var thisPropStr=propStr.replace("-1",0);var deleteThis=arrayVal?false:isDeletable(val,thisPropStr);var firstPart=innerParts[0];var i;for(i=0;i<containerArray.length;i++){thisPropStr=propStr.replace("-1",i);if(arrayVal){thisVal=val[i%val.length];deleteThis=isDeletable(thisVal,thisPropStr)}if(deleteThis)allSet=false;if(!checkNewContainer(containerArray,i,firstPart,deleteThis)){continue}npSet(containerArray[i],innerParts,propStr.replace("-1",i))(thisVal)}return allSet}function checkNewContainer(container,part,nextPart,toDelete){if(container[part]===undefined){if(toDelete)return false;if(typeof nextPart==="number")container[part]=[];else container[part]={}}return true}function badContainer(container,propStr,propParts){return{set:function(){throw"bad container"},get:function(){},astr:propStr,parts:propParts,obj:container}}},{"./array":785,"fast-isnumeric":249}],812:[function(_dereq_,module,exports){"use strict";module.exports=function noop(){}},{}],813:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var NOTEDATA=[];module.exports=function(text,displayLength){if(NOTEDATA.indexOf(text)!==-1)return;NOTEDATA.push(text);var ts=1e3;if(isNumeric(displayLength))ts=displayLength;else if(displayLength==="long")ts=3e3;var notifierContainer=d3.select("body").selectAll(".plotly-notifier").data([0]);notifierContainer.enter().append("div").classed("plotly-notifier",true);var notes=notifierContainer.selectAll(".notifier-note").data(NOTEDATA);function killNote(transition){transition.duration(700).style("opacity",0).each("end",(function(thisText){var thisIndex=NOTEDATA.indexOf(thisText);if(thisIndex!==-1)NOTEDATA.splice(thisIndex,1);d3.select(this).remove()}))}notes.enter().append("div").classed("notifier-note",true).style("opacity",0).each((function(thisText){var note=d3.select(this);note.append("button").classed("notifier-close",true).html("&times;").on("click",(function(){note.transition().call(killNote)}));var p=note.append("p");var lines=thisText.split(/<br\s*\/?>/g);for(var i=0;i<lines.length;i++){if(i)p.append("br");p.append("span").text(lines[i])}if(displayLength==="stick"){note.transition().duration(350).style("opacity",1)}else{note.transition().duration(700).style("opacity",1).transition().delay(ts).call(killNote)}}))}},{"@plotly/d3":58,"fast-isnumeric":249}],814:[function(_dereq_,module,exports){"use strict";var setCursor=_dereq_("./setcursor");var STASHATTR="data-savedcursor";var NO_CURSOR="!!";module.exports=function overrideCursor(el3,csr){var savedCursor=el3.attr(STASHATTR);if(csr){if(!savedCursor){var classes=(el3.attr("class")||"").split(" ");for(var i=0;i<classes.length;i++){var cls=classes[i];if(cls.indexOf("cursor-")===0){el3.attr(STASHATTR,cls.substr(7)).classed(cls,false)}}if(!el3.attr(STASHATTR)){el3.attr(STASHATTR,NO_CURSOR)}}setCursor(el3,csr)}else if(savedCursor){el3.attr(STASHATTR,null);if(savedCursor===NO_CURSOR)setCursor(el3);else setCursor(el3,savedCursor)}}},{"./setcursor":824}],815:[function(_dereq_,module,exports){"use strict";var dot=_dereq_("./matrix").dot;var BADNUM=_dereq_("../constants/numerical").BADNUM;var polygon=module.exports={};polygon.tester=function tester(ptsIn){var pts=ptsIn.slice();var xmin=pts[0][0];var xmax=xmin;var ymin=pts[0][1];var ymax=ymin;var i;pts.push(pts[0]);for(i=1;i<pts.length;i++){xmin=Math.min(xmin,pts[i][0]);xmax=Math.max(xmax,pts[i][0]);ymin=Math.min(ymin,pts[i][1]);ymax=Math.max(ymax,pts[i][1])}var isRect=false;var rectFirstEdgeTest;if(pts.length===5){if(pts[0][0]===pts[1][0]){if(pts[2][0]===pts[3][0]&&pts[0][1]===pts[3][1]&&pts[1][1]===pts[2][1]){isRect=true;rectFirstEdgeTest=function(pt){return pt[0]===pts[0][0]}}}else if(pts[0][1]===pts[1][1]){if(pts[2][1]===pts[3][1]&&pts[0][0]===pts[3][0]&&pts[1][0]===pts[2][0]){isRect=true;rectFirstEdgeTest=function(pt){return pt[1]===pts[0][1]}}}}function rectContains(pt,omitFirstEdge){var x=pt[0];var y=pt[1];if(x===BADNUM||x<xmin||x>xmax||y===BADNUM||y<ymin||y>ymax){return false}if(omitFirstEdge&&rectFirstEdgeTest(pt))return false;return true}function contains(pt,omitFirstEdge){var x=pt[0];var y=pt[1];if(x===BADNUM||x<xmin||x>xmax||y===BADNUM||y<ymin||y>ymax){return false}var imax=pts.length;var x1=pts[0][0];var y1=pts[0][1];var crossings=0;var i;var x0;var y0;var xmini;var ycross;for(i=1;i<imax;i++){x0=x1;y0=y1;x1=pts[i][0];y1=pts[i][1];xmini=Math.min(x0,x1);if(x<xmini||x>Math.max(x0,x1)||y>Math.max(y0,y1)){continue}else if(y<Math.min(y0,y1)){if(x!==xmini)crossings++}else{if(x1===x0)ycross=y;else ycross=y0+(x-x0)*(y1-y0)/(x1-x0);if(y===ycross){if(i===1&&omitFirstEdge)return false;return true}if(y<=ycross&&x!==xmini)crossings++}}return crossings%2===1}var degenerate=true;var lastPt=pts[0];for(i=1;i<pts.length;i++){if(lastPt[0]!==pts[i][0]||lastPt[1]!==pts[i][1]){degenerate=false;break}}return{xmin:xmin,xmax:xmax,ymin:ymin,ymax:ymax,pts:pts,contains:isRect?rectContains:contains,isRect:isRect,degenerate:degenerate}};polygon.isSegmentBent=function isSegmentBent(pts,start,end,tolerance){var startPt=pts[start];var segment=[pts[end][0]-startPt[0],pts[end][1]-startPt[1]];var segmentSquared=dot(segment,segment);var segmentLen=Math.sqrt(segmentSquared);var unitPerp=[-segment[1]/segmentLen,segment[0]/segmentLen];var i;var part;var partParallel;for(i=start+1;i<end;i++){part=[pts[i][0]-startPt[0],pts[i][1]-startPt[1]];partParallel=dot(part,segment);if(partParallel<0||partParallel>segmentSquared||Math.abs(dot(part,unitPerp))>tolerance)return true}return false};polygon.filter=function filter(pts,tolerance){var ptsFiltered=[pts[0]];var doneRawIndex=0;var doneFilteredIndex=0;function addPt(pt){pts.push(pt);var prevFilterLen=ptsFiltered.length;var iLast=doneRawIndex;ptsFiltered.splice(doneFilteredIndex+1);for(var i=iLast+1;i<pts.length;i++){if(i===pts.length-1||polygon.isSegmentBent(pts,iLast,i+1,tolerance)){ptsFiltered.push(pts[i]);if(ptsFiltered.length<prevFilterLen-2){doneRawIndex=i;doneFilteredIndex=ptsFiltered.length-1}iLast=i}}}if(pts.length>1){var lastPt=pts.pop();addPt(lastPt)}return{addPt:addPt,raw:pts,filtered:ptsFiltered}}},{"../constants/numerical":779,"./matrix":809}],816:[function(_dereq_,module,exports){(function(global){(function(){"use strict";var showNoWebGlMsg=_dereq_("./show_no_webgl_msg");var createRegl=_dereq_("regl");module.exports=function prepareRegl(gd,extensions){var fullLayout=gd._fullLayout;var success=true;fullLayout._glcanvas.each((function(d){if(d.regl)return;if(d.pick&&!fullLayout._has("parcoords"))return;try{d.regl=createRegl({canvas:this,attributes:{antialias:!d.pick,preserveDrawingBuffer:true},pixelRatio:gd._context.plotGlPixelRatio||global.devicePixelRatio,extensions:extensions||[]})}catch(e){success=false}if(!d.regl)success=false;if(success){this.addEventListener("webglcontextlost",(function(event){if(gd&&gd.emit){gd.emit("plotly_webglcontextlost",{event:event,layer:d.key})}}),false)}}));if(!success){showNoWebGlMsg({container:fullLayout._glcontainer.node()})}return success}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./show_no_webgl_msg":825,regl:540}],817:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var isMobileOrTablet=_dereq_("is-mobile");module.exports=function preserveDrawingBuffer(opts){var ua;if(opts&&opts.hasOwnProperty("userAgent")){ua=opts.userAgent}else{ua=getUserAgent()}if(typeof ua!=="string")return true;var enable=isMobileOrTablet({ua:{headers:{"user-agent":ua}},tablet:true,featureDetect:false});if(!enable){var allParts=ua.split(" ");for(var i=1;i<allParts.length;i++){var part=allParts[i];if(part.indexOf("Safari")!==-1){for(var k=i-1;k>-1;k--){var prevPart=allParts[k];if(prevPart.substr(0,8)==="Version/"){var v=prevPart.substr(8).split(".")[0];if(isNumeric(v))v=+v;if(v>=13)return true}}}}}return enable};function getUserAgent(){var ua;if(typeof navigator!=="undefined"){ua=navigator.userAgent}if(ua&&ua.headers&&typeof ua.headers["user-agent"]==="string"){ua=ua.headers["user-agent"]}return ua}},{"fast-isnumeric":249,"is-mobile":455}],818:[function(_dereq_,module,exports){"use strict";module.exports=function pushUnique(array,item){if(item instanceof RegExp){var itemStr=item.toString();for(var i=0;i<array.length;i++){if(array[i]instanceof RegExp&&array[i].toString()===itemStr){return array}}array.push(item)}else if((item||item===0)&&array.indexOf(item)===-1)array.push(item);return array}},{}],819:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var dfltConfig=_dereq_("../plot_api/plot_config").dfltConfig;function copyArgArray(gd,args){var copy=[];var arg;for(var i=0;i<args.length;i++){arg=args[i];if(arg===gd)copy[i]=arg;else if(typeof arg==="object"){copy[i]=Array.isArray(arg)?Lib.extendDeep([],arg):Lib.extendDeepAll({},arg)}else copy[i]=arg}return copy}var queue={};queue.add=function(gd,undoFunc,undoArgs,redoFunc,redoArgs){var queueObj,queueIndex;gd.undoQueue=gd.undoQueue||{index:0,queue:[],sequence:false};queueIndex=gd.undoQueue.index;if(gd.autoplay){if(!gd.undoQueue.inSequence)gd.autoplay=false;return}if(!gd.undoQueue.sequence||gd.undoQueue.beginSequence){queueObj={undo:{calls:[],args:[]},redo:{calls:[],args:[]}};gd.undoQueue.queue.splice(queueIndex,gd.undoQueue.queue.length-queueIndex,queueObj);gd.undoQueue.index+=1}else{queueObj=gd.undoQueue.queue[queueIndex-1]}gd.undoQueue.beginSequence=false;if(queueObj){queueObj.undo.calls.unshift(undoFunc);queueObj.undo.args.unshift(undoArgs);queueObj.redo.calls.push(redoFunc);queueObj.redo.args.push(redoArgs)}if(gd.undoQueue.queue.length>dfltConfig.queueLength){gd.undoQueue.queue.shift();gd.undoQueue.index--}};queue.startSequence=function(gd){gd.undoQueue=gd.undoQueue||{index:0,queue:[],sequence:false};gd.undoQueue.sequence=true;gd.undoQueue.beginSequence=true};queue.stopSequence=function(gd){gd.undoQueue=gd.undoQueue||{index:0,queue:[],sequence:false};gd.undoQueue.sequence=false;gd.undoQueue.beginSequence=false};queue.undo=function undo(gd){var queueObj,i;if(gd.undoQueue===undefined||isNaN(gd.undoQueue.index)||gd.undoQueue.index<=0){return}gd.undoQueue.index--;queueObj=gd.undoQueue.queue[gd.undoQueue.index];gd.undoQueue.inSequence=true;for(i=0;i<queueObj.undo.calls.length;i++){queue.plotDo(gd,queueObj.undo.calls[i],queueObj.undo.args[i])}gd.undoQueue.inSequence=false;gd.autoplay=false};queue.redo=function redo(gd){var queueObj,i;if(gd.undoQueue===undefined||isNaN(gd.undoQueue.index)||gd.undoQueue.index>=gd.undoQueue.queue.length){return}queueObj=gd.undoQueue.queue[gd.undoQueue.index];gd.undoQueue.inSequence=true;for(i=0;i<queueObj.redo.calls.length;i++){queue.plotDo(gd,queueObj.redo.calls[i],queueObj.redo.args[i])}gd.undoQueue.inSequence=false;gd.autoplay=false;gd.undoQueue.index++};queue.plotDo=function(gd,func,args){gd.autoplay=true;args=copyArgArray(gd,args);func.apply(null,args)};module.exports=queue},{"../lib":803,"../plot_api/plot_config":841}],820:[function(_dereq_,module,exports){"use strict";exports.counter=function(head,tail,openEnded,matchBeginning){var fullTail=(tail||"")+(openEnded?"":"$");var startWithPrefix=matchBeginning===false?"":"^";if(head==="xy"){return new RegExp(startWithPrefix+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+fullTail)}return new RegExp(startWithPrefix+head+"([2-9]|[1-9][0-9]+)?"+fullTail)}},{}],821:[function(_dereq_,module,exports){"use strict";var ASCEND=/^(.*)(\.[^\.\[\]]+|\[\d\])$/;var SIMPLEATTR=/^[^\.\[\]]+$/;module.exports=function(baseAttr,relativeAttr){while(relativeAttr){var match=baseAttr.match(ASCEND);if(match)baseAttr=match[1];else if(baseAttr.match(SIMPLEATTR))baseAttr="";else throw new Error("bad relativeAttr call:"+[baseAttr,relativeAttr]);if(relativeAttr.charAt(0)==="^")relativeAttr=relativeAttr.slice(1);else break}if(baseAttr&&relativeAttr.charAt(0)!=="["){return baseAttr+"."+relativeAttr}return baseAttr+relativeAttr}},{}],822:[function(_dereq_,module,exports){"use strict";var isArrayOrTypedArray=_dereq_("./array").isArrayOrTypedArray;var isPlainObject=_dereq_("./is_plain_object");module.exports=function relinkPrivateKeys(toContainer,fromContainer){for(var k in fromContainer){var fromVal=fromContainer[k];var toVal=toContainer[k];if(toVal===fromVal)continue;if(k.charAt(0)==="_"||typeof fromVal==="function"){if(k in toContainer)continue;toContainer[k]=fromVal}else if(isArrayOrTypedArray(fromVal)&&isArrayOrTypedArray(toVal)&&isPlainObject(fromVal[0])){if(k==="customdata"||k==="ids")continue;var minLen=Math.min(fromVal.length,toVal.length);for(var j=0;j<minLen;j++){if(toVal[j]!==fromVal[j]&&isPlainObject(fromVal[j])&&isPlainObject(toVal[j])){relinkPrivateKeys(toVal[j],fromVal[j])}}}else if(isPlainObject(fromVal)&&isPlainObject(toVal)){relinkPrivateKeys(toVal,fromVal);if(!Object.keys(toVal).length)delete toContainer[k]}}}},{"./array":785,"./is_plain_object":804}],823:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var loggers=_dereq_("./loggers");var identity=_dereq_("./identity");var BADNUM=_dereq_("../constants/numerical").BADNUM;var roundingError=1e-9;exports.findBin=function(val,bins,linelow){if(isNumeric(bins.start)){return linelow?Math.ceil((val-bins.start)/bins.size-roundingError)-1:Math.floor((val-bins.start)/bins.size+roundingError)}else{var n1=0;var n2=bins.length;var c=0;var binSize=n2>1?(bins[n2-1]-bins[0])/(n2-1):1;var n,test;if(binSize>=0){test=linelow?lessThan:lessOrEqual}else{test=linelow?greaterOrEqual:greaterThan}val+=binSize*roundingError*(linelow?-1:1)*(binSize>=0?1:-1);while(n1<n2&&c++<100){n=Math.floor((n1+n2)/2);if(test(bins[n],val))n1=n+1;else n2=n}if(c>90)loggers.log("Long binary search...");return n1-1}};function lessThan(a,b){return a<b}function lessOrEqual(a,b){return a<=b}function greaterThan(a,b){return a>b}function greaterOrEqual(a,b){return a>=b}exports.sorterAsc=function(a,b){return a-b};exports.sorterDes=function(a,b){return b-a};exports.distinctVals=function(valsIn){var vals=valsIn.slice();vals.sort(exports.sorterAsc);var last;for(last=vals.length-1;last>-1;last--){if(vals[last]!==BADNUM)break}var minDiff=vals[last]-vals[0]||1;var errDiff=minDiff/(last||1)/1e4;var newVals=[];var preV;for(var i=0;i<=last;i++){var v=vals[i];var diff=v-preV;if(preV===undefined){newVals.push(v);preV=v}else if(diff>errDiff){minDiff=Math.min(minDiff,diff);newVals.push(v);preV=v}}return{vals:newVals,minDiff:minDiff}};exports.roundUp=function(val,arrayIn,reverse){var low=0;var high=arrayIn.length-1;var mid;var c=0;var dlow=reverse?0:1;var dhigh=reverse?1:0;var rounded=reverse?Math.ceil:Math.floor;while(low<high&&c++<100){mid=rounded((low+high)/2);if(arrayIn[mid]<=val)low=mid+dlow;else high=mid-dhigh}return arrayIn[low]};exports.sort=function(array,sortFn){var notOrdered=0;var notReversed=0;for(var i=1;i<array.length;i++){var pairOrder=sortFn(array[i],array[i-1]);if(pairOrder<0)notOrdered=1;else if(pairOrder>0)notReversed=1;if(notOrdered&&notReversed)return array.sort(sortFn)}return notReversed?array:array.reverse()};exports.findIndexOfMin=function(arr,fn){fn=fn||identity;var min=Infinity;var ind;for(var i=0;i<arr.length;i++){var v=fn(arr[i]);if(v<min){min=v;ind=i}}return ind}},{"../constants/numerical":779,"./identity":801,"./loggers":807,"fast-isnumeric":249}],824:[function(_dereq_,module,exports){"use strict";module.exports=function setCursor(el3,csr){(el3.attr("class")||"").split(" ").forEach((function(cls){if(cls.indexOf("cursor-")===0)el3.classed(cls,false)}));if(csr)el3.classed("cursor-"+csr,true)}},{}],825:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../components/color");var noop=function(){};module.exports=function showNoWebGlMsg(scene){for(var prop in scene){if(typeof scene[prop]==="function")scene[prop]=noop}scene.destroy=function(){scene.container.parentNode.removeChild(scene.container)};var div=document.createElement("div");div.className="no-webgl";div.style.cursor="pointer";div.style.fontSize="24px";div.style.color=Color.defaults[0];div.style.position="absolute";div.style.left=div.style.top="0px";div.style.width=div.style.height="100%";div.style["background-color"]=Color.lightLine;div.style["z-index"]=30;var p=document.createElement("p");p.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info";p.style.position="relative";p.style.top="50%";p.style.left="50%";p.style.height="30%";p.style.width="50%";p.style.margin="-15% 0 0 -25%";div.appendChild(p);scene.container.appendChild(div);scene.container.style.background="#FFFFFF";scene.container.onclick=function(){window.open("https://get.webgl.org")};return false}},{"../components/color":666}],826:[function(_dereq_,module,exports){"use strict";module.exports=function sortObjectKeys(obj){return Object.keys(obj).sort()}},{}],827:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var isArrayOrTypedArray=_dereq_("./array").isArrayOrTypedArray;exports.aggNums=function(f,v,a,len){var i,b;if(!len||len>a.length)len=a.length;if(!isNumeric(v))v=false;if(isArrayOrTypedArray(a[0])){b=new Array(len);for(i=0;i<len;i++)b[i]=exports.aggNums(f,v,a[i]);a=b}for(i=0;i<len;i++){if(!isNumeric(v))v=a[i];else if(isNumeric(a[i]))v=f(+v,+a[i])}return v};exports.len=function(data){return exports.aggNums((function(a){return a+1}),0,data)};exports.mean=function(data,len){if(!len)len=exports.len(data);return exports.aggNums((function(a,b){return a+b}),0,data)/len};exports.midRange=function(numArr){if(numArr===undefined||numArr.length===0)return undefined;return(exports.aggNums(Math.max,null,numArr)+exports.aggNums(Math.min,null,numArr))/2};exports.variance=function(data,len,mean){if(!len)len=exports.len(data);if(!isNumeric(mean))mean=exports.mean(data,len);return exports.aggNums((function(a,b){return a+Math.pow(b-mean,2)}),0,data)/len};exports.stdev=function(data,len,mean){return Math.sqrt(exports.variance(data,len,mean))};exports.median=function(data){var b=data.slice().sort();return exports.interp(b,.5)};exports.interp=function(arr,n){if(!isNumeric(n))throw"n should be a finite number";n=n*arr.length-.5;if(n<0)return arr[0];if(n>arr.length-1)return arr[arr.length-1];var frac=n%1;return frac*arr[Math.ceil(n)]+(1-frac)*arr[Math.floor(n)]}},{"./array":785,"fast-isnumeric":249}],828:[function(_dereq_,module,exports){"use strict";var rgba=_dereq_("color-normalize");function str2RgbaArray(color){if(!color)return[0,0,0,1];return rgba(color)}module.exports=str2RgbaArray},{"color-normalize":131}],829:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../lib");var strTranslate=Lib.strTranslate;var xmlnsNamespaces=_dereq_("../constants/xmlns_namespaces");var LINE_SPACING=_dereq_("../constants/alignment").LINE_SPACING;function getSize(_selection,_dimension){return _selection.node().getBoundingClientRect()[_dimension]}var FIND_TEX=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;exports.convertToTspans=function(_context,gd,_callback){var str=_context.text();var tex=!_context.attr("data-notex")&&typeof MathJax!=="undefined"&&str.match(FIND_TEX);var parent=d3.select(_context.node().parentNode);if(parent.empty())return;var svgClass=_context.attr("class")?_context.attr("class").split(" ")[0]:"text";svgClass+="-math";parent.selectAll("svg."+svgClass).remove();parent.selectAll("g."+svgClass+"-group").remove();_context.style("display",null).attr({"data-unformatted":str,"data-math":"N"});function showText(){if(!parent.empty()){svgClass=_context.attr("class")+"-math";parent.select("svg."+svgClass).remove()}_context.text("").style("white-space","pre");var hasLink=buildSVGText(_context.node(),str);if(hasLink){_context.style("pointer-events","all")}exports.positionText(_context);if(_callback)_callback.call(_context)}if(tex){(gd&&gd._promises||[]).push(new Promise((function(resolve){_context.style("display","none");var fontSize=parseInt(_context.node().style.fontSize,10);var config={fontSize:fontSize};texToSVG(tex[2],config,(function(_svgEl,_glyphDefs,_svgBBox){parent.selectAll("svg."+svgClass).remove();parent.selectAll("g."+svgClass+"-group").remove();var newSvg=_svgEl&&_svgEl.select("svg");if(!newSvg||!newSvg.node()){showText();resolve();return}var mathjaxGroup=parent.append("g").classed(svgClass+"-group",true).attr({"pointer-events":"none","data-unformatted":str,"data-math":"Y"});mathjaxGroup.node().appendChild(newSvg.node());if(_glyphDefs&&_glyphDefs.node()){newSvg.node().insertBefore(_glyphDefs.node().cloneNode(true),newSvg.node().firstChild)}newSvg.attr({class:svgClass,height:_svgBBox.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var fill=_context.node().style.fill||"black";var g=newSvg.select("g");g.attr({fill:fill,stroke:fill});var newSvgW=getSize(g,"width");var newSvgH=getSize(g,"height");var newX=+_context.attr("x")-newSvgW*{start:0,middle:.5,end:1}[_context.attr("text-anchor")||"start"];var textHeight=fontSize||getSize(_context,"height");var dy=-textHeight/4;if(svgClass[0]==="y"){mathjaxGroup.attr({transform:"rotate("+[-90,+_context.attr("x"),+_context.attr("y")]+")"+strTranslate(-newSvgW/2,dy-newSvgH/2)});newSvg.attr({x:+_context.attr("x"),y:+_context.attr("y")})}else if(svgClass[0]==="l"){newSvg.attr({x:_context.attr("x"),y:dy-newSvgH/2})}else if(svgClass[0]==="a"&&svgClass.indexOf("atitle")!==0){newSvg.attr({x:0,y:dy})}else{newSvg.attr({x:newX,y:+_context.attr("y")+dy-newSvgH/2})}if(_callback)_callback.call(_context,mathjaxGroup);resolve(mathjaxGroup)}))})))}else showText();return _context};var LT_MATCH=/(<|&lt;|&#60;)/g;var GT_MATCH=/(>|&gt;|&#62;)/g;function cleanEscapesForTex(s){return s.replace(LT_MATCH,"\\lt ").replace(GT_MATCH,"\\gt ")}function texToSVG(_texString,_config,_callback){var originalRenderer,originalConfig,originalProcessSectionDelay,tmpDiv;MathJax.Hub.Queue((function(){originalConfig=Lib.extendDeepAll({},MathJax.Hub.config);originalProcessSectionDelay=MathJax.Hub.processSectionDelay;if(MathJax.Hub.processSectionDelay!==undefined){MathJax.Hub.processSectionDelay=0}return MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})}),(function(){originalRenderer=MathJax.Hub.config.menuSettings.renderer;if(originalRenderer!=="SVG"){return MathJax.Hub.setRenderer("SVG")}}),(function(){var randomID="math-output-"+Lib.randstr({},64);tmpDiv=d3.select("body").append("div").attr({id:randomID}).style({visibility:"hidden",position:"absolute"}).style({"font-size":_config.fontSize+"px"}).text(cleanEscapesForTex(_texString));return MathJax.Hub.Typeset(tmpDiv.node())}),(function(){var glyphDefs=d3.select("body").select("#MathJax_SVG_glyphs");if(tmpDiv.select(".MathJax_SVG").empty()||!tmpDiv.select("svg").node()){Lib.log("There was an error in the tex syntax.",_texString);_callback()}else{var svgBBox=tmpDiv.select("svg").node().getBoundingClientRect();_callback(tmpDiv.select(".MathJax_SVG"),glyphDefs,svgBBox)}tmpDiv.remove();if(originalRenderer!=="SVG"){return MathJax.Hub.setRenderer(originalRenderer)}}),(function(){if(originalProcessSectionDelay!==undefined){MathJax.Hub.processSectionDelay=originalProcessSectionDelay}return MathJax.Hub.Config(originalConfig)}))}var TAG_STYLES={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"};var SHIFT_DY={sub:"0.3em",sup:"-0.6em"};var RESET_DY={sub:"-0.21em",sup:"0.42em"};var ZERO_WIDTH_SPACE="​";var PROTOCOLS=["http:","https:","mailto:","",undefined,":"];var NEWLINES=exports.NEWLINES=/(\r\n?|\n)/g;var SPLIT_TAGS=/(<[^<>]*>)/;var ONE_TAG=/<(\/?)([^ >]*)(\s+(.*))?>/i;var BR_TAG=/<br(\s+.*)?>/i;exports.BR_TAG_ALL=/<br(\s+.*)?>/gi;var STYLEMATCH=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i;var HREFMATCH=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i;var TARGETMATCH=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i;var POPUPMATCH=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function getQuotedMatch(_str,re){if(!_str)return null;var match=_str.match(re);var result=match&&(match[3]||match[4]);return result&&convertEntities(result)}var COLORMATCH=/(^|;)\s*color:/;exports.plainText=function(_str,opts){opts=opts||{};var len=opts.len!==undefined&&opts.len!==-1?opts.len:Infinity;var allowedTags=opts.allowedTags!==undefined?opts.allowedTags:["br"];var ellipsis="...";var eLen=ellipsis.length;var oldParts=_str.split(SPLIT_TAGS);var newParts=[];var prevTag="";var l=0;for(var i=0;i<oldParts.length;i++){var p=oldParts[i];var match=p.match(ONE_TAG);var tagType=match&&match[2].toLowerCase();if(tagType){if(allowedTags.indexOf(tagType)!==-1){newParts.push(p);prevTag=tagType}}else{var pLen=p.length;if(l+pLen<len){newParts.push(p);l+=pLen}else if(l<len){var pLen2=len-l;if(prevTag&&(prevTag!=="br"||pLen2<=eLen||pLen<=eLen)){newParts.pop()}if(len>eLen){newParts.push(p.substr(0,pLen2-eLen)+ellipsis)}else{newParts.push(p.substr(0,pLen2))}break}prevTag=""}}return newParts.join("")};var entityToUnicode={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"};var ENTITY_MATCH=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function convertEntities(_str){return _str.replace(ENTITY_MATCH,(function(fullMatch,innerMatch){var outChar;if(innerMatch.charAt(0)==="#"){outChar=fromCodePoint(innerMatch.charAt(1)==="x"?parseInt(innerMatch.substr(2),16):parseInt(innerMatch.substr(1),10))}else outChar=entityToUnicode[innerMatch];return outChar||fullMatch}))}exports.convertEntities=convertEntities;function fromCodePoint(code){if(code>1114111)return;var stringFromCodePoint=String.fromCodePoint;if(stringFromCodePoint)return stringFromCodePoint(code);var stringFromCharCode=String.fromCharCode;if(code<=65535)return stringFromCharCode(code);return stringFromCharCode((code>>10)+55232,code%1024+56320)}function buildSVGText(containerNode,str){str=str.replace(NEWLINES," ");var hasLink=false;var nodeStack=[];var currentNode;var currentLine=-1;function newLine(){currentLine++;var lineNode=document.createElementNS(xmlnsNamespaces.svg,"tspan");d3.select(lineNode).attr({class:"line",dy:currentLine*LINE_SPACING+"em"});containerNode.appendChild(lineNode);currentNode=lineNode;var oldNodeStack=nodeStack;nodeStack=[{node:lineNode}];if(oldNodeStack.length>1){for(var i=1;i<oldNodeStack.length;i++){enterNode(oldNodeStack[i])}}}function enterNode(nodeSpec){var type=nodeSpec.type;var nodeAttrs={};var nodeType;if(type==="a"){nodeType="a";var target=nodeSpec.target;var href=nodeSpec.href;var popup=nodeSpec.popup;if(href){nodeAttrs={"xlink:xlink:show":target==="_blank"||target.charAt(0)!=="_"?"new":"replace",target:target,"xlink:xlink:href":href};if(popup){nodeAttrs.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+popup+'");return false;'}}}else nodeType="tspan";if(nodeSpec.style)nodeAttrs.style=nodeSpec.style;var newNode=document.createElementNS(xmlnsNamespaces.svg,nodeType);if(type==="sup"||type==="sub"){addTextNode(currentNode,ZERO_WIDTH_SPACE);currentNode.appendChild(newNode);var resetter=document.createElementNS(xmlnsNamespaces.svg,"tspan");addTextNode(resetter,ZERO_WIDTH_SPACE);d3.select(resetter).attr("dy",RESET_DY[type]);nodeAttrs.dy=SHIFT_DY[type];currentNode.appendChild(newNode);currentNode.appendChild(resetter)}else{currentNode.appendChild(newNode)}d3.select(newNode).attr(nodeAttrs);currentNode=nodeSpec.node=newNode;nodeStack.push(nodeSpec)}function addTextNode(node,text){node.appendChild(document.createTextNode(text))}function exitNode(type){if(nodeStack.length===1){Lib.log("Ignoring unexpected end tag </"+type+">.",str);return}var innerNode=nodeStack.pop();if(type!==innerNode.type){Lib.log("Start tag <"+innerNode.type+"> doesnt match end tag <"+type+">. Pretending it did match.",str)}currentNode=nodeStack[nodeStack.length-1].node}var hasLines=BR_TAG.test(str);if(hasLines)newLine();else{currentNode=containerNode;nodeStack=[{node:containerNode}]}var parts=str.split(SPLIT_TAGS);for(var i=0;i<parts.length;i++){var parti=parts[i];var match=parti.match(ONE_TAG);var tagType=match&&match[2].toLowerCase();var tagStyle=TAG_STYLES[tagType];if(tagType==="br"){newLine()}else if(tagStyle===undefined){addTextNode(currentNode,convertEntities(parti))}else{if(match[1]){exitNode(tagType)}else{var extra=match[4];var nodeSpec={type:tagType};var css=getQuotedMatch(extra,STYLEMATCH);if(css){css=css.replace(COLORMATCH,"$1 fill:");if(tagStyle)css+=";"+tagStyle}else if(tagStyle)css=tagStyle;if(css)nodeSpec.style=css;if(tagType==="a"){hasLink=true;var href=getQuotedMatch(extra,HREFMATCH);if(href){var safeHref=sanitizeHref(href);if(safeHref){nodeSpec.href=safeHref;nodeSpec.target=getQuotedMatch(extra,TARGETMATCH)||"_blank";nodeSpec.popup=getQuotedMatch(extra,POPUPMATCH)}}}enterNode(nodeSpec)}}}return hasLink}function sanitizeHref(href){var decodedHref=encodeURI(decodeURI(href));var dummyAnchor1=document.createElement("a");var dummyAnchor2=document.createElement("a");dummyAnchor1.href=href;dummyAnchor2.href=decodedHref;var p1=dummyAnchor1.protocol;var p2=dummyAnchor2.protocol;if(PROTOCOLS.indexOf(p1)!==-1&&PROTOCOLS.indexOf(p2)!==-1){return decodedHref}else{return""}}exports.sanitizeHTML=function sanitizeHTML(str){str=str.replace(NEWLINES," ");var rootNode=document.createElement("p");var currentNode=rootNode;var nodeStack=[];var parts=str.split(SPLIT_TAGS);for(var i=0;i<parts.length;i++){var parti=parts[i];var match=parti.match(ONE_TAG);var tagType=match&&match[2].toLowerCase();if(tagType in TAG_STYLES){if(match[1]){if(nodeStack.length){currentNode=nodeStack.pop()}}else{var extra=match[4];var css=getQuotedMatch(extra,STYLEMATCH);var nodeAttrs=css?{style:css}:{};if(tagType==="a"){var href=getQuotedMatch(extra,HREFMATCH);if(href){var safeHref=sanitizeHref(href);if(safeHref){nodeAttrs.href=safeHref;var target=getQuotedMatch(extra,TARGETMATCH);if(target){nodeAttrs.target=target}}}}var newNode=document.createElement(tagType);currentNode.appendChild(newNode);d3.select(newNode).attr(nodeAttrs);currentNode=newNode;nodeStack.push(newNode)}}else{currentNode.appendChild(document.createTextNode(convertEntities(parti)))}}var key="innerHTML";return rootNode[key]};exports.lineCount=function lineCount(s){return s.selectAll("tspan.line").size()||1};exports.positionText=function positionText(s,x,y){return s.each((function(){var text=d3.select(this);function setOrGet(attr,val){if(val===undefined){val=text.attr(attr);if(val===null){text.attr(attr,0);val=0}}else text.attr(attr,val);return val}var thisX=setOrGet("x",x);var thisY=setOrGet("y",y);if(this.nodeName==="text"){text.selectAll("tspan.line").attr({x:thisX,y:thisY})}}))};function alignHTMLWith(_base,container,options){var alignH=options.horizontalAlign;var alignV=options.verticalAlign||"top";var bRect=_base.node().getBoundingClientRect();var cRect=container.node().getBoundingClientRect();var thisRect;var getTop;var getLeft;if(alignV==="bottom"){getTop=function(){return bRect.bottom-thisRect.height}}else if(alignV==="middle"){getTop=function(){return bRect.top+(bRect.height-thisRect.height)/2}}else{getTop=function(){return bRect.top}}if(alignH==="right"){getLeft=function(){return bRect.right-thisRect.width}}else if(alignH==="center"){getLeft=function(){return bRect.left+(bRect.width-thisRect.width)/2}}else{getLeft=function(){return bRect.left}}return function(){thisRect=this.node().getBoundingClientRect();var x0=getLeft()-cRect.left;var y0=getTop()-cRect.top;var gd=options.gd||{};if(options.gd){gd._fullLayout._calcInverseTransform(gd);var transformedCoords=Lib.apply3DTransform(gd._fullLayout._invTransform)(x0,y0);x0=transformedCoords[0];y0=transformedCoords[1]}this.style({top:y0+"px",left:x0+"px","z-index":1e3});return this}}var onePx="1px ";exports.makeTextShadow=function(color){var x=onePx;var y=onePx;var b=onePx;return x+y+b+color+", "+"-"+x+"-"+y+b+color+", "+x+"-"+y+b+color+", "+"-"+x+y+b+color};exports.makeEditable=function(context,options){var gd=options.gd;var _delegate=options.delegate;var dispatch=d3.dispatch("edit","input","cancel");var handlerElement=_delegate||context;context.style({"pointer-events":_delegate?"none":"all"});if(context.size()!==1)throw new Error("boo");function handleClick(){appendEditable();context.style({opacity:0});var svgClass=handlerElement.attr("class");var mathjaxClass;if(svgClass)mathjaxClass="."+svgClass.split(" ")[0]+"-math-group";else mathjaxClass="[class*=-math-group]";if(mathjaxClass){d3.select(context.node().parentNode).select(mathjaxClass).style({opacity:0})}}function selectElementContents(_el){var el=_el.node();var range=document.createRange();range.selectNodeContents(el);var sel=window.getSelection();sel.removeAllRanges();sel.addRange(range);el.focus()}function appendEditable(){var plotDiv=d3.select(gd);var container=plotDiv.select(".svg-container");var div=container.append("div");var cStyle=context.node().style;var fontSize=parseFloat(cStyle.fontSize||12);var initialText=options.text;if(initialText===undefined)initialText=context.attr("data-unformatted");div.classed("plugin-editable editable",true).style({position:"absolute","font-family":cStyle.fontFamily||"Arial","font-size":fontSize,color:options.fill||cStyle.fill||"black",opacity:1,"background-color":options.background||"transparent",outline:"#ffffff33 1px solid",margin:[-fontSize/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:true}).text(initialText).call(alignHTMLWith(context,container,options)).on("blur",(function(){gd._editing=false;context.text(this.textContent).style({opacity:1});var svgClass=d3.select(this).attr("class");var mathjaxClass;if(svgClass)mathjaxClass="."+svgClass.split(" ")[0]+"-math-group";else mathjaxClass="[class*=-math-group]";if(mathjaxClass){d3.select(context.node().parentNode).select(mathjaxClass).style({opacity:0})}var text=this.textContent;d3.select(this).transition().duration(0).remove();d3.select(document).on("mouseup",null);dispatch.edit.call(context,text)})).on("focus",(function(){var editDiv=this;gd._editing=true;d3.select(document).on("mouseup",(function(){if(d3.event.target===editDiv)return false;if(document.activeElement===div.node())div.node().blur()}))})).on("keyup",(function(){if(d3.event.which===27){gd._editing=false;context.style({opacity:1});d3.select(this).style({opacity:0}).on("blur",(function(){return false})).transition().remove();dispatch.cancel.call(context,this.textContent)}else{dispatch.input.call(context,this.textContent);d3.select(this).call(alignHTMLWith(context,container,options))}})).on("keydown",(function(){if(d3.event.which===13)this.blur()})).call(selectElementContents)}if(options.immediate)handleClick();else handlerElement.on("click",handleClick);return d3.rebind(context,dispatch,"on")}},{"../constants/alignment":771,"../constants/xmlns_namespaces":780,"../lib":803,"@plotly/d3":58}],830:[function(_dereq_,module,exports){"use strict";var timerCache={};exports.throttle=function throttle(id,minInterval,callback){var cache=timerCache[id];var now=Date.now();if(!cache){for(var idi in timerCache){if(timerCache[idi].ts<now-6e4){delete timerCache[idi]}}cache=timerCache[id]={ts:0,timer:null}}_clearTimeout(cache);function exec(){callback();cache.ts=Date.now();if(cache.onDone){cache.onDone();cache.onDone=null}}if(now>cache.ts+minInterval){exec();return}cache.timer=setTimeout((function(){exec();cache.timer=null}),minInterval)};exports.done=function(id){var cache=timerCache[id];if(!cache||!cache.timer)return Promise.resolve();return new Promise((function(resolve){var previousOnDone=cache.onDone;cache.onDone=function onDone(){if(previousOnDone)previousOnDone();resolve();cache.onDone=null}}))};exports.clear=function(id){if(id){_clearTimeout(timerCache[id]);delete timerCache[id]}else{for(var idi in timerCache)exports.clear(idi)}};function _clearTimeout(cache){if(cache&&cache.timer!==null){clearTimeout(cache.timer);cache.timer=null}}},{}],831:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");module.exports=function toLogRange(val,range){if(val>0)return Math.log(val)/Math.LN10;var newVal=Math.log(Math.min(range[0],range[1]))/Math.LN10;if(!isNumeric(newVal))newVal=Math.log(Math.max(range[0],range[1]))/Math.LN10-6;return newVal}},{"fast-isnumeric":249}],832:[function(_dereq_,module,exports){"use strict";var topojsonUtils=module.exports={};var locationmodeToLayer=_dereq_("../plots/geo/constants").locationmodeToLayer;var topojsonFeature=_dereq_("topojson-client").feature;topojsonUtils.getTopojsonName=function(geoLayout){return[geoLayout.scope.replace(/ /g,"-"),"_",geoLayout.resolution.toString(),"m"].join("")};topojsonUtils.getTopojsonPath=function(topojsonURL,topojsonName){return topojsonURL+topojsonName+".json"};topojsonUtils.getTopojsonFeatures=function(trace,topojson){var layer=locationmodeToLayer[trace.locationmode];var obj=topojson.objects[layer];return topojsonFeature(topojson,obj).features}},{"../plots/geo/constants":885,"topojson-client":601}],833:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],834:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],835:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../registry");module.exports=function containerArrayMatch(astr){var rootContainers=Registry.layoutArrayContainers;var regexpContainers=Registry.layoutArrayRegexes;var rootPart=astr.split("[")[0];var arrayStr;var match;for(var i=0;i<regexpContainers.length;i++){match=astr.match(regexpContainers[i]);if(match&&match.index===0){arrayStr=match[0];break}}if(!arrayStr)arrayStr=rootContainers[rootContainers.indexOf(rootPart)];if(!arrayStr)return false;var tail=astr.substr(arrayStr.length);if(!tail)return{array:arrayStr,index:"",property:""};match=tail.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/);if(!match)return false;return{array:arrayStr,index:Number(match[1]),property:match[3]||""}}},{"../registry":931}],836:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var extendFlat=Lib.extendFlat;var isPlainObject=Lib.isPlainObject;var traceOpts={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]};var layoutOpts={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]};var traceEditTypeFlags=traceOpts.flags.slice().concat(["fullReplot"]);var layoutEditTypeFlags=layoutOpts.flags.slice().concat("layoutReplot");module.exports={traces:traceOpts,layout:layoutOpts,traceFlags:function(){return falseObj(traceEditTypeFlags)},layoutFlags:function(){return falseObj(layoutEditTypeFlags)},update:function(flags,attr){var editType=attr.editType;if(editType&&editType!=="none"){var editTypeParts=editType.split("+");for(var i=0;i<editTypeParts.length;i++){flags[editTypeParts[i]]=true}}},overrideAll:overrideAll};function falseObj(keys){var out={};for(var i=0;i<keys.length;i++)out[keys[i]]=false;return out}function overrideAll(attrs,editTypeOverride,overrideContainers){var out=extendFlat({},attrs);for(var key in out){var attr=out[key];if(isPlainObject(attr)){out[key]=overrideOne(attr,editTypeOverride,overrideContainers,key)}}if(overrideContainers==="from-root")out.editType=editTypeOverride;return out}function overrideOne(attr,editTypeOverride,overrideContainers,key){if(attr.valType){var out=extendFlat({},attr);out.editType=editTypeOverride;if(Array.isArray(attr.items)){out.items=new Array(attr.items.length);for(var i=0;i<attr.items.length;i++){out.items[i]=overrideOne(attr.items[i],editTypeOverride,"from-root")}}return out}else{return overrideAll(attr,editTypeOverride,key.charAt(0)==="_"?"nested":"from-root")}}},{"../lib":803}],837:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var m4FromQuat=_dereq_("gl-mat4/fromQuat");var Registry=_dereq_("../registry");var Lib=_dereq_("../lib");var Plots=_dereq_("../plots/plots");var AxisIds=_dereq_("../plots/cartesian/axis_ids");var Color=_dereq_("../components/color");var cleanId=AxisIds.cleanId;var getFromTrace=AxisIds.getFromTrace;var traceIs=Registry.traceIs;exports.clearPromiseQueue=function(gd){if(Array.isArray(gd._promises)&&gd._promises.length>0){Lib.log("Clearing previous rejected promises from queue.")}gd._promises=[]};exports.cleanLayout=function(layout){var i,j;if(!layout)layout={};if(layout.xaxis1){if(!layout.xaxis)layout.xaxis=layout.xaxis1;delete layout.xaxis1}if(layout.yaxis1){if(!layout.yaxis)layout.yaxis=layout.yaxis1;delete layout.yaxis1}if(layout.scene1){if(!layout.scene)layout.scene=layout.scene1;delete layout.scene1}var axisAttrRegex=(Plots.subplotsRegistry.cartesian||{}).attrRegex;var polarAttrRegex=(Plots.subplotsRegistry.polar||{}).attrRegex;var ternaryAttrRegex=(Plots.subplotsRegistry.ternary||{}).attrRegex;var sceneAttrRegex=(Plots.subplotsRegistry.gl3d||{}).attrRegex;var keys=Object.keys(layout);for(i=0;i<keys.length;i++){var key=keys[i];if(axisAttrRegex&&axisAttrRegex.test(key)){var ax=layout[key];if(ax.anchor&&ax.anchor!=="free"){ax.anchor=cleanId(ax.anchor)}if(ax.overlaying)ax.overlaying=cleanId(ax.overlaying);if(!ax.type){if(ax.isdate)ax.type="date";else if(ax.islog)ax.type="log";else if(ax.isdate===false&&ax.islog===false)ax.type="linear"}if(ax.autorange==="withzero"||ax.autorange==="tozero"){ax.autorange=true;ax.rangemode="tozero"}delete ax.islog;delete ax.isdate;delete ax.categories;if(emptyContainer(ax,"domain"))delete ax.domain;if(ax.autotick!==undefined){if(ax.tickmode===undefined){ax.tickmode=ax.autotick?"auto":"linear"}delete ax.autotick}cleanTitle(ax)}else if(polarAttrRegex&&polarAttrRegex.test(key)){var polar=layout[key];cleanTitle(polar.radialaxis)}else if(ternaryAttrRegex&&ternaryAttrRegex.test(key)){var ternary=layout[key];cleanTitle(ternary.aaxis);cleanTitle(ternary.baxis);cleanTitle(ternary.caxis)}else if(sceneAttrRegex&&sceneAttrRegex.test(key)){var scene=layout[key];var cameraposition=scene.cameraposition;if(Array.isArray(cameraposition)&&cameraposition[0].length===4){var rotation=cameraposition[0];var center=cameraposition[1];var radius=cameraposition[2];var mat=m4FromQuat([],rotation);var eye=[];for(j=0;j<3;++j){eye[j]=center[j]+radius*mat[2+4*j]}scene.camera={eye:{x:eye[0],y:eye[1],z:eye[2]},center:{x:center[0],y:center[1],z:center[2]},up:{x:0,y:0,z:1}};delete scene.cameraposition}cleanTitle(scene.xaxis);cleanTitle(scene.yaxis);cleanTitle(scene.zaxis)}}var annotationsLen=Array.isArray(layout.annotations)?layout.annotations.length:0;for(i=0;i<annotationsLen;i++){var ann=layout.annotations[i];if(!Lib.isPlainObject(ann))continue;if(ann.ref){if(ann.ref==="paper"){ann.xref="paper";ann.yref="paper"}else if(ann.ref==="data"){ann.xref="x";ann.yref="y"}delete ann.ref}cleanAxRef(ann,"xref");cleanAxRef(ann,"yref")}var shapesLen=Array.isArray(layout.shapes)?layout.shapes.length:0;for(i=0;i<shapesLen;i++){var shape=layout.shapes[i];if(!Lib.isPlainObject(shape))continue;cleanAxRef(shape,"xref");cleanAxRef(shape,"yref")}var imagesLen=Array.isArray(layout.images)?layout.images.length:0;for(i=0;i<imagesLen;i++){var image=layout.images[i];if(!Lib.isPlainObject(image))continue;cleanAxRef(image,"xref");cleanAxRef(image,"yref")}var legend=layout.legend;if(legend){if(legend.x>3){legend.x=1.02;legend.xanchor="left"}else if(legend.x<-2){legend.x=-.02;legend.xanchor="right"}if(legend.y>3){legend.y=1.02;legend.yanchor="bottom"}else if(legend.y<-2){legend.y=-.02;legend.yanchor="top"}}cleanTitle(layout);if(layout.dragmode==="rotate")layout.dragmode="orbit";Color.clean(layout);if(layout.template&&layout.template.layout){exports.cleanLayout(layout.template.layout)}return layout};function cleanAxRef(container,attr){var valIn=container[attr];var axLetter=attr.charAt(0);if(valIn&&valIn!=="paper"){container[attr]=cleanId(valIn,axLetter,true)}}function cleanTitle(titleContainer){if(titleContainer){if(typeof titleContainer.title==="string"||typeof titleContainer.title==="number"){titleContainer.title={text:titleContainer.title}}rewireAttr("titlefont","font");rewireAttr("titleposition","position");rewireAttr("titleside","side");rewireAttr("titleoffset","offset")}function rewireAttr(oldAttrName,newAttrName){var oldAttrSet=titleContainer[oldAttrName];var newAttrSet=titleContainer.title&&titleContainer.title[newAttrName];if(oldAttrSet&&!newAttrSet){if(!titleContainer.title){titleContainer.title={}}titleContainer.title[newAttrName]=titleContainer[oldAttrName];delete titleContainer[oldAttrName]}}}exports.cleanData=function(data){for(var tracei=0;tracei<data.length;tracei++){var trace=data[tracei];var i;if(trace.type==="histogramy"&&"xbins"in trace&&!("ybins"in trace)){trace.ybins=trace.xbins;delete trace.xbins}if(trace.error_y&&"opacity"in trace.error_y){var dc=Color.defaults;var yeColor=trace.error_y.color||(traceIs(trace,"bar")?Color.defaultLine:dc[tracei%dc.length]);trace.error_y.color=Color.addOpacity(Color.rgb(yeColor),Color.opacity(yeColor)*trace.error_y.opacity);delete trace.error_y.opacity}if("bardir"in trace){if(trace.bardir==="h"&&(traceIs(trace,"bar")||trace.type.substr(0,9)==="histogram")){trace.orientation="h";exports.swapXYData(trace)}delete trace.bardir}if(trace.type==="histogramy")exports.swapXYData(trace);if(trace.type==="histogramx"||trace.type==="histogramy"){trace.type="histogram"}if("scl"in trace&&!("colorscale"in trace)){trace.colorscale=trace.scl;delete trace.scl}if("reversescl"in trace&&!("reversescale"in trace)){trace.reversescale=trace.reversescl;delete trace.reversescl}if(trace.xaxis)trace.xaxis=cleanId(trace.xaxis,"x");if(trace.yaxis)trace.yaxis=cleanId(trace.yaxis,"y");if(traceIs(trace,"gl3d")&&trace.scene){trace.scene=Plots.subplotsRegistry.gl3d.cleanId(trace.scene)}if(!traceIs(trace,"pie-like")&&!traceIs(trace,"bar-like")){if(Array.isArray(trace.textposition)){for(i=0;i<trace.textposition.length;i++){trace.textposition[i]=cleanTextPosition(trace.textposition[i])}}else if(trace.textposition){trace.textposition=cleanTextPosition(trace.textposition)}}var _module=Registry.getModule(trace);if(_module&&_module.colorbar){var containerName=_module.colorbar.container;var container=containerName?trace[containerName]:trace;if(container&&container.colorscale){if(container.colorscale==="YIGnBu")container.colorscale="YlGnBu";if(container.colorscale==="YIOrRd")container.colorscale="YlOrRd"}}if(trace.type==="surface"&&Lib.isPlainObject(trace.contours)){var dims=["x","y","z"];for(i=0;i<dims.length;i++){var opts=trace.contours[dims[i]];if(!Lib.isPlainObject(opts))continue;if(opts.highlightColor){opts.highlightcolor=opts.highlightColor;delete opts.highlightColor}if(opts.highlightWidth){opts.highlightwidth=opts.highlightWidth;delete opts.highlightWidth}}}if(trace.type==="candlestick"||trace.type==="ohlc"){var increasingShowlegend=(trace.increasing||{}).showlegend!==false;var decreasingShowlegend=(trace.decreasing||{}).showlegend!==false;var increasingName=cleanFinanceDir(trace.increasing);var decreasingName=cleanFinanceDir(trace.decreasing);if(increasingName!==false&&decreasingName!==false){var newName=commonPrefix(increasingName,decreasingName,increasingShowlegend,decreasingShowlegend);if(newName)trace.name=newName}else if((increasingName||decreasingName)&&!trace.name){trace.name=increasingName||decreasingName}}if(Array.isArray(trace.transforms)){var transforms=trace.transforms;for(i=0;i<transforms.length;i++){var transform=transforms[i];if(!Lib.isPlainObject(transform))continue;switch(transform.type){case"filter":if(transform.filtersrc){transform.target=transform.filtersrc;delete transform.filtersrc}if(transform.calendar){if(!transform.valuecalendar){transform.valuecalendar=transform.calendar}delete transform.calendar}break;case"groupby":transform.styles=transform.styles||transform.style;if(transform.styles&&!Array.isArray(transform.styles)){var prevStyles=transform.styles;var styleKeys=Object.keys(prevStyles);transform.styles=[];for(var j=0;j<styleKeys.length;j++){transform.styles.push({target:styleKeys[j],value:prevStyles[styleKeys[j]]})}}break}}}if(emptyContainer(trace,"line"))delete trace.line;if("marker"in trace){if(emptyContainer(trace.marker,"line"))delete trace.marker.line;if(emptyContainer(trace,"marker"))delete trace.marker}Color.clean(trace);if(trace.autobinx){delete trace.autobinx;delete trace.xbins}if(trace.autobiny){delete trace.autobiny;delete trace.ybins}cleanTitle(trace);if(trace.colorbar)cleanTitle(trace.colorbar);if(trace.marker&&trace.marker.colorbar)cleanTitle(trace.marker.colorbar);if(trace.line&&trace.line.colorbar)cleanTitle(trace.line.colorbar);if(trace.aaxis)cleanTitle(trace.aaxis);if(trace.baxis)cleanTitle(trace.baxis)}};function cleanFinanceDir(dirContainer){if(!Lib.isPlainObject(dirContainer))return false;var dirName=dirContainer.name;delete dirContainer.name;delete dirContainer.showlegend;return(typeof dirName==="string"||typeof dirName==="number")&&String(dirName)}function commonPrefix(name1,name2,show1,show2){if(show1&&!show2)return name1;if(show2&&!show1)return name2;if(!name1.trim())return name2;if(!name2.trim())return name1;var minLen=Math.min(name1.length,name2.length);var i;for(i=0;i<minLen;i++){if(name1.charAt(i)!==name2.charAt(i))break}var out=name1.substr(0,i);return out.trim()}function cleanTextPosition(textposition){var posY="middle";var posX="center";if(typeof textposition==="string"){if(textposition.indexOf("top")!==-1)posY="top";else if(textposition.indexOf("bottom")!==-1)posY="bottom";if(textposition.indexOf("left")!==-1)posX="left";else if(textposition.indexOf("right")!==-1)posX="right"}return posY+" "+posX}function emptyContainer(outer,innerStr){return innerStr in outer&&typeof outer[innerStr]==="object"&&Object.keys(outer[innerStr]).length===0}exports.swapXYData=function(trace){var i;Lib.swapAttrs(trace,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]);if(Array.isArray(trace.z)&&Array.isArray(trace.z[0])){if(trace.transpose)delete trace.transpose;else trace.transpose=true}if(trace.error_x&&trace.error_y){var errorY=trace.error_y;var copyYstyle="copy_ystyle"in errorY?errorY.copy_ystyle:!(errorY.color||errorY.thickness||errorY.width);Lib.swapAttrs(trace,["error_?.copy_ystyle"]);if(copyYstyle){Lib.swapAttrs(trace,["error_?.color","error_?.thickness","error_?.width"])}}if(typeof trace.hoverinfo==="string"){var hoverInfoParts=trace.hoverinfo.split("+");for(i=0;i<hoverInfoParts.length;i++){if(hoverInfoParts[i]==="x")hoverInfoParts[i]="y";else if(hoverInfoParts[i]==="y")hoverInfoParts[i]="x"}trace.hoverinfo=hoverInfoParts.join("+")}};exports.coerceTraceIndices=function(gd,traceIndices){if(isNumeric(traceIndices)){return[traceIndices]}else if(!Array.isArray(traceIndices)||!traceIndices.length){return gd.data.map((function(_,i){return i}))}else if(Array.isArray(traceIndices)){var traceIndicesOut=[];for(var i=0;i<traceIndices.length;i++){if(Lib.isIndex(traceIndices[i],gd.data.length)){traceIndicesOut.push(traceIndices[i])}else{Lib.warn("trace index (",traceIndices[i],") is not a number or is out of bounds")}}return traceIndicesOut}return traceIndices};exports.manageArrayContainers=function(np,newVal,undoit){var obj=np.obj;var parts=np.parts;var pLength=parts.length;var pLast=parts[pLength-1];var pLastIsNumber=isNumeric(pLast);if(pLastIsNumber&&newVal===null){var contPath=parts.slice(0,pLength-1).join(".");var cont=Lib.nestedProperty(obj,contPath).get();cont.splice(pLast,1)}else if(pLastIsNumber&&np.get()===undefined){if(np.get()===undefined)undoit[np.astr]=null;np.set(newVal)}else{np.set(newVal)}};var ATTR_TAIL_RE=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function getParent(attr){var tail=attr.search(ATTR_TAIL_RE);if(tail>0)return attr.substr(0,tail)}exports.hasParent=function(aobj,attr){var attrParent=getParent(attr);while(attrParent){if(attrParent in aobj)return true;attrParent=getParent(attrParent)}return false};var axLetters=["x","y","z"];exports.clearAxisTypes=function(gd,traces,layoutUpdate){for(var i=0;i<traces.length;i++){var trace=gd._fullData[i];for(var j=0;j<3;j++){var ax=getFromTrace(gd,trace,axLetters[j]);if(ax&&ax.type!=="log"){var axAttr=ax._name;var sceneName=ax._id.substr(1);if(sceneName.substr(0,5)==="scene"){if(layoutUpdate[sceneName]!==undefined)continue;axAttr=sceneName+"."+axAttr}var typeAttr=axAttr+".type";if(layoutUpdate[axAttr]===undefined&&layoutUpdate[typeAttr]===undefined){Lib.nestedProperty(gd.layout,typeAttr).set(null)}}}}}},{"../components/color":666,"../lib":803,"../plots/cartesian/axis_ids":858,"../plots/plots":917,"../registry":931,"fast-isnumeric":249,"gl-mat4/fromQuat":288}],838:[function(_dereq_,module,exports){"use strict";var main=_dereq_("./plot_api");exports._doPlot=main._doPlot;exports.newPlot=main.newPlot;exports.restyle=main.restyle;exports.relayout=main.relayout;exports.redraw=main.redraw;exports.update=main.update;exports._guiRestyle=main._guiRestyle;exports._guiRelayout=main._guiRelayout;exports._guiUpdate=main._guiUpdate;exports._storeDirectGUIEdit=main._storeDirectGUIEdit;exports.react=main.react;exports.extendTraces=main.extendTraces;exports.prependTraces=main.prependTraces;exports.addTraces=main.addTraces;exports.deleteTraces=main.deleteTraces;exports.moveTraces=main.moveTraces;exports.purge=main.purge;exports.addFrames=main.addFrames;exports.deleteFrames=main.deleteFrames;exports.animate=main.animate;exports.setPlotConfig=main.setPlotConfig;exports.toImage=_dereq_("./to_image");exports.validate=_dereq_("./validate");exports.downloadImage=_dereq_("../snapshot/download");var templateApi=_dereq_("./template_api");exports.makeTemplate=templateApi.makeTemplate;exports.validateTemplate=templateApi.validateTemplate},{"../snapshot/download":933,"./plot_api":840,"./template_api":845,"./to_image":846,"./validate":847}],839:[function(_dereq_,module,exports){"use strict";var isPlainObject=_dereq_("../lib/is_plain_object");var noop=_dereq_("../lib/noop");var Loggers=_dereq_("../lib/loggers");var sorterAsc=_dereq_("../lib/search").sorterAsc;var Registry=_dereq_("../registry");exports.containerArrayMatch=_dereq_("./container_array_match");var isAddVal=exports.isAddVal=function isAddVal(val){return val==="add"||isPlainObject(val)};var isRemoveVal=exports.isRemoveVal=function isRemoveVal(val){return val===null||val==="remove"};exports.applyContainerArrayChanges=function applyContainerArrayChanges(gd,np,edits,flags,_nestedProperty){var componentType=np.astr;var supplyComponentDefaults=Registry.getComponentMethod(componentType,"supplyLayoutDefaults");var draw=Registry.getComponentMethod(componentType,"draw");var drawOne=Registry.getComponentMethod(componentType,"drawOne");var replotLater=flags.replot||flags.recalc||supplyComponentDefaults===noop||draw===noop;var layout=gd.layout;var fullLayout=gd._fullLayout;if(edits[""]){if(Object.keys(edits).length>1){Loggers.warn("Full array edits are incompatible with other edits",componentType)}var fullVal=edits[""][""];if(isRemoveVal(fullVal))np.set(null);else if(Array.isArray(fullVal))np.set(fullVal);else{Loggers.warn("Unrecognized full array edit value",componentType,fullVal);return true}if(replotLater)return false;supplyComponentDefaults(layout,fullLayout);draw(gd);return true}var componentNums=Object.keys(edits).map(Number).sort(sorterAsc);var componentArrayIn=np.get();var componentArray=componentArrayIn||[];var componentArrayFull=_nestedProperty(fullLayout,componentType).get();var deletes=[];var firstIndexChange=-1;var maxIndex=componentArray.length;var i;var j;var componentNum;var objEdits;var objKeys;var objVal;var adding,prefix;for(i=0;i<componentNums.length;i++){componentNum=componentNums[i];objEdits=edits[componentNum];objKeys=Object.keys(objEdits);objVal=objEdits[""],adding=isAddVal(objVal);if(componentNum<0||componentNum>componentArray.length-(adding?0:1)){Loggers.warn("index out of range",componentType,componentNum);continue}if(objVal!==undefined){if(objKeys.length>1){Loggers.warn("Insertion & removal are incompatible with edits to the same index.",componentType,componentNum)}if(isRemoveVal(objVal)){deletes.push(componentNum)}else if(adding){if(objVal==="add")objVal={};componentArray.splice(componentNum,0,objVal);if(componentArrayFull)componentArrayFull.splice(componentNum,0,{})}else{Loggers.warn("Unrecognized full object edit value",componentType,componentNum,objVal)}if(firstIndexChange===-1)firstIndexChange=componentNum}else{for(j=0;j<objKeys.length;j++){prefix=componentType+"["+componentNum+"].";_nestedProperty(componentArray[componentNum],objKeys[j],prefix).set(objEdits[objKeys[j]])}}}for(i=deletes.length-1;i>=0;i--){componentArray.splice(deletes[i],1);if(componentArrayFull)componentArrayFull.splice(deletes[i],1)}if(!componentArray.length)np.set(null);else if(!componentArrayIn)np.set(componentArray);if(replotLater)return false;supplyComponentDefaults(layout,fullLayout);if(drawOne!==noop){var indicesToDraw;if(firstIndexChange===-1){indicesToDraw=componentNums}else{maxIndex=Math.max(componentArray.length,maxIndex);indicesToDraw=[];for(i=0;i<componentNums.length;i++){componentNum=componentNums[i];if(componentNum>=firstIndexChange)break;indicesToDraw.push(componentNum)}for(i=firstIndexChange;i<maxIndex;i++){indicesToDraw.push(i)}}for(i=0;i<indicesToDraw.length;i++){drawOne(gd,indicesToDraw[i])}}else draw(gd);return true}},{"../lib/is_plain_object":804,"../lib/loggers":807,"../lib/noop":812,"../lib/search":823,"../registry":931,"./container_array_match":835}],840:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var hasHover=_dereq_("has-hover");var Lib=_dereq_("../lib");var nestedProperty=Lib.nestedProperty;var Events=_dereq_("../lib/events");var Queue=_dereq_("../lib/queue");var Registry=_dereq_("../registry");var PlotSchema=_dereq_("./plot_schema");var Plots=_dereq_("../plots/plots");var Axes=_dereq_("../plots/cartesian/axes");var Drawing=_dereq_("../components/drawing");var Color=_dereq_("../components/color");var initInteractions=_dereq_("../plots/cartesian/graph_interact").initInteractions;var xmlnsNamespaces=_dereq_("../constants/xmlns_namespaces");var clearSelect=_dereq_("../plots/cartesian/select").clearSelect;var dfltConfig=_dereq_("./plot_config").dfltConfig;var manageArrays=_dereq_("./manage_arrays");var helpers=_dereq_("./helpers");var subroutines=_dereq_("./subroutines");var editTypes=_dereq_("./edit_types");var AX_NAME_PATTERN=_dereq_("../plots/cartesian/constants").AX_NAME_PATTERN;var numericNameWarningCount=0;var numericNameWarningCountLimit=5;function _doPlot(gd,data,layout,config){var frames;gd=Lib.getGraphDiv(gd);Events.init(gd);if(Lib.isPlainObject(data)){var obj=data;data=obj.data;layout=obj.layout;config=obj.config;frames=obj.frames}var okToPlot=Events.triggerHandler(gd,"plotly_beforeplot",[data,layout,config]);if(okToPlot===false)return Promise.reject();if(!data&&!layout&&!Lib.isPlotDiv(gd)){Lib.warn("Calling _doPlot as if redrawing "+"but this container doesn't yet have a plot.",gd)}function addFrames(){if(frames){return exports.addFrames(gd,frames)}}setPlotContext(gd,config);if(!layout)layout={};d3.select(gd).classed("js-plotly-plot",true);Drawing.makeTester();if(!Array.isArray(gd._promises))gd._promises=[];var graphWasEmpty=(gd.data||[]).length===0&&Array.isArray(data);if(Array.isArray(data)){helpers.cleanData(data);if(graphWasEmpty)gd.data=data;else gd.data.push.apply(gd.data,data);gd.empty=false}if(!gd.layout||graphWasEmpty){gd.layout=helpers.cleanLayout(layout)}Plots.supplyDefaults(gd);var fullLayout=gd._fullLayout;var hasCartesian=fullLayout._has("cartesian");fullLayout._replotting=true;if(graphWasEmpty||fullLayout._shouldCreateBgLayer){makePlotFramework(gd);if(fullLayout._shouldCreateBgLayer){delete fullLayout._shouldCreateBgLayer}}Drawing.initGradients(gd);Drawing.initPatterns(gd);if(graphWasEmpty)Axes.saveShowSpikeInitial(gd);var recalc=!gd.calcdata||gd.calcdata.length!==(gd._fullData||[]).length;if(recalc)Plots.doCalcdata(gd);for(var i=0;i<gd.calcdata.length;i++){gd.calcdata[i][0].trace=gd._fullData[i]}if(gd._context.responsive){if(!gd._responsiveChartHandler){gd._responsiveChartHandler=function(){if(!Lib.isHidden(gd))Plots.resize(gd)};window.addEventListener("resize",gd._responsiveChartHandler)}}else{Lib.clearResponsive(gd)}var oldMargins=Lib.extendFlat({},fullLayout._size);var drawFrameworkCalls=0;function drawFramework(){var basePlotModules=fullLayout._basePlotModules;for(var i=0;i<basePlotModules.length;i++){if(basePlotModules[i].drawFramework){basePlotModules[i].drawFramework(gd)}}if(!fullLayout._glcanvas&&fullLayout._has("gl")){fullLayout._glcanvas=fullLayout._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:true,pick:false},{key:"focusLayer",context:false,pick:false},{key:"pickLayer",context:false,pick:true}],(function(d){return d.key}));fullLayout._glcanvas.enter().append("canvas").attr("class",(function(d){return"gl-canvas gl-canvas-"+d.key.replace("Layer","")})).style({position:"absolute",top:0,left:0,overflow:"visible","pointer-events":"none"})}var plotGlPixelRatio=gd._context.plotGlPixelRatio;if(fullLayout._glcanvas){fullLayout._glcanvas.attr("width",fullLayout.width*plotGlPixelRatio).attr("height",fullLayout.height*plotGlPixelRatio).style("width",fullLayout.width+"px").style("height",fullLayout.height+"px");var regl=fullLayout._glcanvas.data()[0].regl;if(regl){if(Math.floor(fullLayout.width*plotGlPixelRatio)!==regl._gl.drawingBufferWidth||Math.floor(fullLayout.height*plotGlPixelRatio)!==regl._gl.drawingBufferHeight){var msg="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(drawFrameworkCalls){Lib.error(msg)}else{Lib.log(msg+" Clearing graph and plotting again.");Plots.cleanPlot([],{},gd._fullData,fullLayout);Plots.supplyDefaults(gd);fullLayout=gd._fullLayout;Plots.doCalcdata(gd);drawFrameworkCalls++;return drawFramework()}}}}if(fullLayout.modebar.orientation==="h"){fullLayout._modebardiv.style("height",null).style("width","100%")}else{fullLayout._modebardiv.style("width",null).style("height",fullLayout.height+"px")}return Plots.previousPromises(gd)}function marginPushers(){Plots.clearAutoMarginIds(gd);subroutines.drawMarginPushers(gd);Axes.allowAutoMargin(gd);if(fullLayout._has("pie")){var fullData=gd._fullData;for(var i=0;i<fullData.length;i++){var trace=fullData[i];if(trace.type==="pie"&&trace.automargin){Plots.allowAutoMargin(gd,"pie."+trace.uid+".automargin")}}}Plots.doAutoMargin(gd);return Plots.previousPromises(gd)}function marginPushersAgain(){if(!Plots.didMarginChange(oldMargins,fullLayout._size))return;return Lib.syncOrAsync([marginPushers,subroutines.layoutStyles],gd)}function positionAndAutorange(){if(!recalc){doAutoRangeAndConstraints();return}return Lib.syncOrAsync([Registry.getComponentMethod("shapes","calcAutorange"),Registry.getComponentMethod("annotations","calcAutorange"),doAutoRangeAndConstraints],gd)}function doAutoRangeAndConstraints(){if(gd._transitioning)return;subroutines.doAutoRangeAndConstraints(gd);if(graphWasEmpty)Axes.saveRangeInitial(gd);Registry.getComponentMethod("rangeslider","calcAutorange")(gd)}function drawAxes(){return Axes.draw(gd,graphWasEmpty?"":"redraw")}var seq=[Plots.previousPromises,addFrames,drawFramework,marginPushers,marginPushersAgain];if(hasCartesian)seq.push(positionAndAutorange);seq.push(subroutines.layoutStyles);if(hasCartesian){seq.push(drawAxes,(function insideTickLabelsAutorange(gd){if(gd._fullLayout._insideTickLabelsAutorange){relayout(gd,gd._fullLayout._insideTickLabelsAutorange).then((function(){gd._fullLayout._insideTickLabelsAutorange=undefined}))}}))}seq.push(subroutines.drawData,subroutines.finalDraw,initInteractions,Plots.addLinks,Plots.rehover,Plots.redrag,Plots.doAutoMargin,saveRangeInitialForInsideTickLabels,Plots.previousPromises);function saveRangeInitialForInsideTickLabels(gd){if(gd._fullLayout._insideTickLabelsAutorange){if(graphWasEmpty)Axes.saveRangeInitial(gd,true)}}var plotDone=Lib.syncOrAsync(seq,gd);if(!plotDone||!plotDone.then)plotDone=Promise.resolve();return plotDone.then((function(){emitAfterPlot(gd);return gd}))}function emitAfterPlot(gd){var fullLayout=gd._fullLayout;if(fullLayout._redrawFromAutoMarginCount){fullLayout._redrawFromAutoMarginCount--}else{gd.emit("plotly_afterplot")}}function setPlotConfig(obj){return Lib.extendFlat(dfltConfig,obj)}function setBackground(gd,bgColor){try{gd._fullLayout._paper.style("background",bgColor)}catch(e){Lib.error(e)}}function opaqueSetBackground(gd,bgColor){var blend=Color.combine(bgColor,"white");setBackground(gd,blend)}function setPlotContext(gd,config){if(!gd._context){gd._context=Lib.extendDeep({},dfltConfig);var base=d3.select("base");gd._context._baseUrl=base.size()&&base.attr("href")?window.location.href.split("#")[0]:""}var context=gd._context;var i,keys,key;if(config){keys=Object.keys(config);for(i=0;i<keys.length;i++){key=keys[i];if(key==="editable"||key==="edits")continue;if(key in context){if(key==="setBackground"&&config[key]==="opaque"){context[key]=opaqueSetBackground}else{context[key]=config[key]}}}if(config.plot3dPixelRatio&&!context.plotGlPixelRatio){context.plotGlPixelRatio=context.plot3dPixelRatio}var editable=config.editable;if(editable!==undefined){context.editable=editable;keys=Object.keys(context.edits);for(i=0;i<keys.length;i++){context.edits[keys[i]]=editable}}if(config.edits){keys=Object.keys(config.edits);for(i=0;i<keys.length;i++){key=keys[i];if(key in context.edits){context.edits[key]=config.edits[key]}}}context._exportedPlot=config._exportedPlot}if(context.staticPlot){context.editable=false;context.edits={};context.autosizable=false;context.scrollZoom=false;context.doubleClick=false;context.showTips=false;context.showLink=false;context.displayModeBar=false}if(context.displayModeBar==="hover"&&!hasHover){context.displayModeBar=true}if(context.setBackground==="transparent"||typeof context.setBackground!=="function"){context.setBackground=setBackground}context._hasZeroHeight=context._hasZeroHeight||gd.clientHeight===0;context._hasZeroWidth=context._hasZeroWidth||gd.clientWidth===0;var szIn=context.scrollZoom;var szOut=context._scrollZoom={};if(szIn===true){szOut.cartesian=1;szOut.gl3d=1;szOut.geo=1;szOut.mapbox=1}else if(typeof szIn==="string"){var parts=szIn.split("+");for(i=0;i<parts.length;i++){szOut[parts[i]]=1}}else if(szIn!==false){szOut.gl3d=1;szOut.geo=1;szOut.mapbox=1}}function redraw(gd){gd=Lib.getGraphDiv(gd);if(!Lib.isPlotDiv(gd)){throw new Error("This element is not a Plotly plot: "+gd)}helpers.cleanData(gd.data);helpers.cleanLayout(gd.layout);gd.calcdata=undefined;return exports._doPlot(gd).then((function(){gd.emit("plotly_redraw");return gd}))}function newPlot(gd,data,layout,config){gd=Lib.getGraphDiv(gd);Plots.cleanPlot([],{},gd._fullData||[],gd._fullLayout||{});Plots.purge(gd);return exports._doPlot(gd,data,layout,config)}function positivifyIndices(indices,maxIndex){var parentLength=maxIndex+1;var positiveIndices=[];var i;var index;for(i=0;i<indices.length;i++){index=indices[i];if(index<0){positiveIndices.push(parentLength+index)}else{positiveIndices.push(index)}}return positiveIndices}function assertIndexArray(gd,indices,arrayName){var i,index;for(i=0;i<indices.length;i++){index=indices[i];if(index!==parseInt(index,10)){throw new Error("all values in "+arrayName+" must be integers")}if(index>=gd.data.length||index<-gd.data.length){throw new Error(arrayName+" must be valid indices for gd.data.")}if(indices.indexOf(index,i+1)>-1||index>=0&&indices.indexOf(-gd.data.length+index)>-1||index<0&&indices.indexOf(gd.data.length+index)>-1){throw new Error("each index in "+arrayName+" must be unique.")}}}function checkMoveTracesArgs(gd,currentIndices,newIndices){if(!Array.isArray(gd.data)){throw new Error("gd.data must be an array.")}if(typeof currentIndices==="undefined"){throw new Error("currentIndices is a required argument.")}else if(!Array.isArray(currentIndices)){currentIndices=[currentIndices]}assertIndexArray(gd,currentIndices,"currentIndices");if(typeof newIndices!=="undefined"&&!Array.isArray(newIndices)){newIndices=[newIndices]}if(typeof newIndices!=="undefined"){assertIndexArray(gd,newIndices,"newIndices")}if(typeof newIndices!=="undefined"&&currentIndices.length!==newIndices.length){throw new Error("current and new indices must be of equal length.")}}function checkAddTracesArgs(gd,traces,newIndices){var i,value;if(!Array.isArray(gd.data)){throw new Error("gd.data must be an array.")}if(typeof traces==="undefined"){throw new Error("traces must be defined.")}if(!Array.isArray(traces)){traces=[traces]}for(i=0;i<traces.length;i++){value=traces[i];if(typeof value!=="object"||(Array.isArray(value)||value===null)){throw new Error("all values in traces array must be non-array objects")}}if(typeof newIndices!=="undefined"&&!Array.isArray(newIndices)){newIndices=[newIndices]}if(typeof newIndices!=="undefined"&&newIndices.length!==traces.length){throw new Error("if indices is specified, traces.length must equal indices.length")}}function assertExtendTracesArgs(gd,update,indices,maxPoints){var maxPointsIsObject=Lib.isPlainObject(maxPoints);if(!Array.isArray(gd.data)){throw new Error("gd.data must be an array")}if(!Lib.isPlainObject(update)){throw new Error("update must be a key:value object")}if(typeof indices==="undefined"){throw new Error("indices must be an integer or array of integers")}assertIndexArray(gd,indices,"indices");for(var key in update){if(!Array.isArray(update[key])||update[key].length!==indices.length){throw new Error("attribute "+key+" must be an array of length equal to indices array length")}if(maxPointsIsObject&&(!(key in maxPoints)||!Array.isArray(maxPoints[key])||maxPoints[key].length!==update[key].length)){throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 "+"corrispondence with the keys and number of traces in the update object")}}}function getExtendProperties(gd,update,indices,maxPoints){var maxPointsIsObject=Lib.isPlainObject(maxPoints);var updateProps=[];var trace,target,prop,insert,maxp;if(!Array.isArray(indices))indices=[indices];indices=positivifyIndices(indices,gd.data.length-1);for(var key in update){for(var j=0;j<indices.length;j++){trace=gd.data[indices[j]];prop=nestedProperty(trace,key);target=prop.get();insert=update[key][j];if(!Lib.isArrayOrTypedArray(insert)){throw new Error("attribute: "+key+" index: "+j+" must be an array")}if(!Lib.isArrayOrTypedArray(target)){throw new Error("cannot extend missing or non-array attribute: "+key)}if(target.constructor!==insert.constructor){throw new Error("cannot extend array with an array of a different type: "+key)}maxp=maxPointsIsObject?maxPoints[key][j]:maxPoints;if(!isNumeric(maxp))maxp=-1;updateProps.push({prop:prop,target:target,insert:insert,maxp:Math.floor(maxp)})}}return updateProps}function spliceTraces(gd,update,indices,maxPoints,updateArray){assertExtendTracesArgs(gd,update,indices,maxPoints);var updateProps=getExtendProperties(gd,update,indices,maxPoints);var undoUpdate={};var undoPoints={};for(var i=0;i<updateProps.length;i++){var prop=updateProps[i].prop;var maxp=updateProps[i].maxp;var out=updateArray(updateProps[i].target,updateProps[i].insert,maxp);prop.set(out[0]);if(!Array.isArray(undoUpdate[prop.astr]))undoUpdate[prop.astr]=[];undoUpdate[prop.astr].push(out[1]);if(!Array.isArray(undoPoints[prop.astr]))undoPoints[prop.astr]=[];undoPoints[prop.astr].push(updateProps[i].target.length)}return{update:undoUpdate,maxPoints:undoPoints}}function concatTypedArray(arr0,arr1){var arr2=new arr0.constructor(arr0.length+arr1.length);arr2.set(arr0);arr2.set(arr1,arr0.length);return arr2}function extendTraces(gd,update,indices,maxPoints){gd=Lib.getGraphDiv(gd);function updateArray(target,insert,maxp){var newArray,remainder;if(Lib.isTypedArray(target)){if(maxp<0){var none=new target.constructor(0);var both=concatTypedArray(target,insert);if(maxp<0){newArray=both;remainder=none}else{newArray=none;remainder=both}}else{newArray=new target.constructor(maxp);remainder=new target.constructor(target.length+insert.length-maxp);if(maxp===insert.length){newArray.set(insert);remainder.set(target)}else if(maxp<insert.length){var numberOfItemsFromInsert=insert.length-maxp;newArray.set(insert.subarray(numberOfItemsFromInsert));remainder.set(target);remainder.set(insert.subarray(0,numberOfItemsFromInsert),target.length)}else{var numberOfItemsFromTarget=maxp-insert.length;var targetBegin=target.length-numberOfItemsFromTarget;newArray.set(target.subarray(targetBegin));newArray.set(insert,numberOfItemsFromTarget);remainder.set(target.subarray(0,targetBegin))}}}else{newArray=target.concat(insert);remainder=maxp>=0&&maxp<newArray.length?newArray.splice(0,newArray.length-maxp):[]}return[newArray,remainder]}var undo=spliceTraces(gd,update,indices,maxPoints,updateArray);var promise=exports.redraw(gd);var undoArgs=[gd,undo.update,indices,undo.maxPoints];Queue.add(gd,exports.prependTraces,undoArgs,extendTraces,arguments);return promise}function prependTraces(gd,update,indices,maxPoints){gd=Lib.getGraphDiv(gd);function updateArray(target,insert,maxp){var newArray,remainder;if(Lib.isTypedArray(target)){if(maxp<=0){var none=new target.constructor(0);var both=concatTypedArray(insert,target);if(maxp<0){newArray=both;remainder=none}else{newArray=none;remainder=both}}else{newArray=new target.constructor(maxp);remainder=new target.constructor(target.length+insert.length-maxp);if(maxp===insert.length){newArray.set(insert);remainder.set(target)}else if(maxp<insert.length){var numberOfItemsFromInsert=insert.length-maxp;newArray.set(insert.subarray(0,numberOfItemsFromInsert));remainder.set(insert.subarray(numberOfItemsFromInsert));remainder.set(target,numberOfItemsFromInsert)}else{var numberOfItemsFromTarget=maxp-insert.length;newArray.set(insert);newArray.set(target.subarray(0,numberOfItemsFromTarget),insert.length);remainder.set(target.subarray(numberOfItemsFromTarget))}}}else{newArray=insert.concat(target);remainder=maxp>=0&&maxp<newArray.length?newArray.splice(maxp,newArray.length):[]}return[newArray,remainder]}var undo=spliceTraces(gd,update,indices,maxPoints,updateArray);var promise=exports.redraw(gd);var undoArgs=[gd,undo.update,indices,undo.maxPoints];Queue.add(gd,exports.extendTraces,undoArgs,prependTraces,arguments);return promise}function addTraces(gd,traces,newIndices){gd=Lib.getGraphDiv(gd);var currentIndices=[];var undoFunc=exports.deleteTraces;var redoFunc=addTraces;var undoArgs=[gd,currentIndices];var redoArgs=[gd,traces];var i;var promise;checkAddTracesArgs(gd,traces,newIndices);if(!Array.isArray(traces)){traces=[traces]}traces=traces.map((function(trace){return Lib.extendFlat({},trace)}));helpers.cleanData(traces);for(i=0;i<traces.length;i++){gd.data.push(traces[i])}for(i=0;i<traces.length;i++){currentIndices.push(-traces.length+i)}if(typeof newIndices==="undefined"){promise=exports.redraw(gd);Queue.add(gd,undoFunc,undoArgs,redoFunc,redoArgs);return promise}if(!Array.isArray(newIndices)){newIndices=[newIndices]}try{checkMoveTracesArgs(gd,currentIndices,newIndices)}catch(error){gd.data.splice(gd.data.length-traces.length,traces.length);throw error}Queue.startSequence(gd);Queue.add(gd,undoFunc,undoArgs,redoFunc,redoArgs);promise=exports.moveTraces(gd,currentIndices,newIndices);Queue.stopSequence(gd);return promise}function deleteTraces(gd,indices){gd=Lib.getGraphDiv(gd);var traces=[];var undoFunc=exports.addTraces;var redoFunc=deleteTraces;var undoArgs=[gd,traces,indices];var redoArgs=[gd,indices];var i;var deletedTrace;if(typeof indices==="undefined"){throw new Error("indices must be an integer or array of integers.")}else if(!Array.isArray(indices)){indices=[indices]}assertIndexArray(gd,indices,"indices");indices=positivifyIndices(indices,gd.data.length-1);indices.sort(Lib.sorterDes);for(i=0;i<indices.length;i+=1){deletedTrace=gd.data.splice(indices[i],1)[0];traces.push(deletedTrace)}var promise=exports.redraw(gd);Queue.add(gd,undoFunc,undoArgs,redoFunc,redoArgs);return promise}function moveTraces(gd,currentIndices,newIndices){gd=Lib.getGraphDiv(gd);var newData=[];var movingTraceMap=[];var undoFunc=moveTraces;var redoFunc=moveTraces;var undoArgs=[gd,newIndices,currentIndices];var redoArgs=[gd,currentIndices,newIndices];var i;checkMoveTracesArgs(gd,currentIndices,newIndices);currentIndices=Array.isArray(currentIndices)?currentIndices:[currentIndices];if(typeof newIndices==="undefined"){newIndices=[];for(i=0;i<currentIndices.length;i++){newIndices.push(-currentIndices.length+i)}}newIndices=Array.isArray(newIndices)?newIndices:[newIndices];currentIndices=positivifyIndices(currentIndices,gd.data.length-1);newIndices=positivifyIndices(newIndices,gd.data.length-1);for(i=0;i<gd.data.length;i++){if(currentIndices.indexOf(i)===-1){newData.push(gd.data[i])}}for(i=0;i<currentIndices.length;i++){movingTraceMap.push({newIndex:newIndices[i],trace:gd.data[currentIndices[i]]})}movingTraceMap.sort((function(a,b){return a.newIndex-b.newIndex}));for(i=0;i<movingTraceMap.length;i+=1){newData.splice(movingTraceMap[i].newIndex,0,movingTraceMap[i].trace)}gd.data=newData;var promise=exports.redraw(gd);Queue.add(gd,undoFunc,undoArgs,redoFunc,redoArgs);return promise}function restyle(gd,astr,val,_traces){gd=Lib.getGraphDiv(gd);helpers.clearPromiseQueue(gd);var aobj={};if(typeof astr==="string")aobj[astr]=val;else if(Lib.isPlainObject(astr)){aobj=Lib.extendFlat({},astr);if(_traces===undefined)_traces=val}else{Lib.warn("Restyle fail.",astr,val,_traces);return Promise.reject()}if(Object.keys(aobj).length)gd.changed=true;var traces=helpers.coerceTraceIndices(gd,_traces);var specs=_restyle(gd,aobj,traces);var flags=specs.flags;if(flags.calc)gd.calcdata=undefined;if(flags.clearAxisTypes)helpers.clearAxisTypes(gd,traces,{});var seq=[];if(flags.fullReplot){seq.push(exports._doPlot)}else{seq.push(Plots.previousPromises);Plots.supplyDefaults(gd);if(flags.markerSize){Plots.doCalcdata(gd);addAxRangeSequence(seq)}if(flags.style)seq.push(subroutines.doTraceStyle);if(flags.colorbars)seq.push(subroutines.doColorBars);seq.push(emitAfterPlot)}seq.push(Plots.rehover,Plots.redrag);Queue.add(gd,restyle,[gd,specs.undoit,specs.traces],restyle,[gd,specs.redoit,specs.traces]);var plotDone=Lib.syncOrAsync(seq,gd);if(!plotDone||!plotDone.then)plotDone=Promise.resolve();return plotDone.then((function(){gd.emit("plotly_restyle",specs.eventData);return gd}))}function undefinedToNull(val){if(val===undefined)return null;return val}function makeNP(preGUI,guiEditFlag){if(!guiEditFlag)return nestedProperty;return function(container,attr,prefix){var np=nestedProperty(container,attr);var npSet=np.set;np.set=function(val){var fullAttr=(prefix||"")+attr;storeCurrent(fullAttr,np.get(),val,preGUI);npSet(val)};return np}}function storeCurrent(attr,val,newVal,preGUI){if(Array.isArray(val)||Array.isArray(newVal)){var arrayVal=Array.isArray(val)?val:[];var arrayNew=Array.isArray(newVal)?newVal:[];var maxLen=Math.max(arrayVal.length,arrayNew.length);for(var i=0;i<maxLen;i++){storeCurrent(attr+"["+i+"]",arrayVal[i],arrayNew[i],preGUI)}}else if(Lib.isPlainObject(val)||Lib.isPlainObject(newVal)){var objVal=Lib.isPlainObject(val)?val:{};var objNew=Lib.isPlainObject(newVal)?newVal:{};var objBoth=Lib.extendFlat({},objVal,objNew);for(var key in objBoth){storeCurrent(attr+"."+key,objVal[key],objNew[key],preGUI)}}else if(preGUI[attr]===undefined){preGUI[attr]=undefinedToNull(val)}}function _storeDirectGUIEdit(container,preGUI,edits){for(var attr in edits){var np=nestedProperty(container,attr);storeCurrent(attr,np.get(),edits[attr],preGUI)}}function _restyle(gd,aobj,traces){var fullLayout=gd._fullLayout;var fullData=gd._fullData;var data=gd.data;var guiEditFlag=fullLayout._guiEditing;var layoutNP=makeNP(fullLayout._preGUI,guiEditFlag);var eventData=Lib.extendDeepAll({},aobj);var i;cleanDeprecatedAttributeKeys(aobj);var flags=editTypes.traceFlags();var redoit={};var undoit={};var axlist;function a0(){return traces.map((function(){return undefined}))}function addToAxlist(axid){var axName=Axes.id2name(axid);if(axlist.indexOf(axName)===-1)axlist.push(axName)}function autorangeAttr(axName){return"LAYOUT"+axName+".autorange"}function rangeAttr(axName){return"LAYOUT"+axName+".range"}function getFullTrace(traceIndex){for(var j=traceIndex;j<fullData.length;j++){if(fullData[j]._input===data[traceIndex])return fullData[j]}}function doextra(attr,val,i){if(Array.isArray(attr)){attr.forEach((function(a){doextra(a,val,i)}));return}if(attr in aobj||helpers.hasParent(aobj,attr))return;var extraparam;if(attr.substr(0,6)==="LAYOUT"){extraparam=layoutNP(gd.layout,attr.replace("LAYOUT",""))}else{var tracei=traces[i];var preGUI=fullLayout._tracePreGUI[getFullTrace(tracei)._fullInput.uid];extraparam=makeNP(preGUI,guiEditFlag)(data[tracei],attr)}if(!(attr in undoit)){undoit[attr]=a0()}if(undoit[attr][i]===undefined){undoit[attr][i]=undefinedToNull(extraparam.get())}if(val!==undefined){extraparam.set(val)}}function allBins(binAttr){return function(j){return fullData[j][binAttr]}}function arrayBins(binAttr){return function(vij,j){return vij===false?fullData[traces[j]][binAttr]:null}}for(var ai in aobj){if(helpers.hasParent(aobj,ai)){throw new Error("cannot set "+ai+" and a parent attribute simultaneously")}var vi=aobj[ai];var cont;var contFull;var param;var oldVal;var newVal;var valObject;if(ai==="autobinx"||ai==="autobiny"){ai=ai.charAt(ai.length-1)+"bins";if(Array.isArray(vi))vi=vi.map(arrayBins(ai));else if(vi===false)vi=traces.map(allBins(ai));else vi=null}redoit[ai]=vi;if(ai.substr(0,6)==="LAYOUT"){param=layoutNP(gd.layout,ai.replace("LAYOUT",""));undoit[ai]=[undefinedToNull(param.get())];param.set(Array.isArray(vi)?vi[0]:vi);flags.calc=true;continue}undoit[ai]=a0();for(i=0;i<traces.length;i++){cont=data[traces[i]];contFull=getFullTrace(traces[i]);var preGUI=fullLayout._tracePreGUI[contFull._fullInput.uid];param=makeNP(preGUI,guiEditFlag)(cont,ai);oldVal=param.get();newVal=Array.isArray(vi)?vi[i%vi.length]:vi;if(newVal===undefined)continue;var finalPart=param.parts[param.parts.length-1];var prefix=ai.substr(0,ai.length-finalPart.length-1);var prefixDot=prefix?prefix+".":"";var innerContFull=prefix?nestedProperty(contFull,prefix).get():contFull;valObject=PlotSchema.getTraceValObject(contFull,param.parts);if(valObject&&valObject.impliedEdits&&newVal!==null){for(var impliedKey in valObject.impliedEdits){doextra(Lib.relativeAttr(ai,impliedKey),valObject.impliedEdits[impliedKey],i)}}else if((finalPart==="thicknessmode"||finalPart==="lenmode")&&oldVal!==newVal&&(newVal==="fraction"||newVal==="pixels")&&innerContFull){var gs=fullLayout._size;var orient=innerContFull.orient;var topOrBottom=orient==="top"||orient==="bottom";if(finalPart==="thicknessmode"){var thicknorm=topOrBottom?gs.h:gs.w;doextra(prefixDot+"thickness",innerContFull.thickness*(newVal==="fraction"?1/thicknorm:thicknorm),i)}else{var lennorm=topOrBottom?gs.w:gs.h;doextra(prefixDot+"len",innerContFull.len*(newVal==="fraction"?1/lennorm:lennorm),i)}}else if(ai==="type"&&(newVal==="pie"!==(oldVal==="pie")||newVal==="funnelarea"!==(oldVal==="funnelarea"))){var labelsTo="x";var valuesTo="y";if((newVal==="bar"||oldVal==="bar")&&cont.orientation==="h"){labelsTo="y";valuesTo="x"}Lib.swapAttrs(cont,["?","?src"],"labels",labelsTo);Lib.swapAttrs(cont,["d?","?0"],"label",labelsTo);Lib.swapAttrs(cont,["?","?src"],"values",valuesTo);if(oldVal==="pie"||oldVal==="funnelarea"){nestedProperty(cont,"marker.color").set(nestedProperty(cont,"marker.colors").get());fullLayout._pielayer.selectAll("g.trace").remove()}else if(Registry.traceIs(cont,"cartesian")){nestedProperty(cont,"marker.colors").set(nestedProperty(cont,"marker.color").get())}}undoit[ai][i]=undefinedToNull(oldVal);var swapAttrs=["swapxy","swapxyaxes","orientation","orientationaxes"];if(swapAttrs.indexOf(ai)!==-1){if(ai==="orientation"){param.set(newVal);var defaultOrientation=cont.x&&!cont.y?"h":"v";if((param.get()||defaultOrientation)===contFull.orientation){continue}}else if(ai==="orientationaxes"){cont.orientation={v:"h",h:"v"}[contFull.orientation]}helpers.swapXYData(cont);flags.calc=flags.clearAxisTypes=true}else if(Plots.dataArrayContainers.indexOf(param.parts[0])!==-1){helpers.manageArrayContainers(param,newVal,undoit);flags.calc=true}else{if(valObject){if(valObject.arrayOk&&!Registry.traceIs(contFull,"regl")&&(Lib.isArrayOrTypedArray(newVal)||Lib.isArrayOrTypedArray(oldVal))){flags.calc=true}else editTypes.update(flags,valObject)}else{flags.calc=true}param.set(newVal)}}if(["swapxyaxes","orientationaxes"].indexOf(ai)!==-1){Axes.swap(gd,traces)}if(ai==="orientationaxes"){var hovermode=nestedProperty(gd.layout,"hovermode");var h=hovermode.get();if(h==="x"){hovermode.set("y")}else if(h==="y"){hovermode.set("x")}else if(h==="x unified"){hovermode.set("y unified")}else if(h==="y unified"){hovermode.set("x unified")}}if(["orientation","type"].indexOf(ai)!==-1){axlist=[];for(i=0;i<traces.length;i++){var trace=data[traces[i]];if(Registry.traceIs(trace,"cartesian")){addToAxlist(trace.xaxis||"x");addToAxlist(trace.yaxis||"y")}}doextra(axlist.map(autorangeAttr),true,0);doextra(axlist.map(rangeAttr),[0,1],0)}}if(flags.calc||flags.plot){flags.fullReplot=true}return{flags:flags,undoit:undoit,redoit:redoit,traces:traces,eventData:Lib.extendDeepNoArrays([],[eventData,traces])}}function cleanDeprecatedAttributeKeys(aobj){var oldAxisTitleRegex=Lib.counterRegex("axis",".title",false,false);var colorbarRegex=/colorbar\.title$/;var keys=Object.keys(aobj);var i,key,value;for(i=0;i<keys.length;i++){key=keys[i];value=aobj[key];if((key==="title"||oldAxisTitleRegex.test(key)||colorbarRegex.test(key))&&(typeof value==="string"||typeof value==="number")){replace(key,key.replace("title","title.text"))}else if(key.indexOf("titlefont")>-1){replace(key,key.replace("titlefont","title.font"))}else if(key.indexOf("titleposition")>-1){replace(key,key.replace("titleposition","title.position"))}else if(key.indexOf("titleside")>-1){replace(key,key.replace("titleside","title.side"))}else if(key.indexOf("titleoffset")>-1){replace(key,key.replace("titleoffset","title.offset"))}}function replace(oldAttrStr,newAttrStr){aobj[newAttrStr]=aobj[oldAttrStr];delete aobj[oldAttrStr]}}function relayout(gd,astr,val){gd=Lib.getGraphDiv(gd);helpers.clearPromiseQueue(gd);var aobj={};if(typeof astr==="string"){aobj[astr]=val}else if(Lib.isPlainObject(astr)){aobj=Lib.extendFlat({},astr)}else{Lib.warn("Relayout fail.",astr,val);return Promise.reject()}if(Object.keys(aobj).length)gd.changed=true;var specs=_relayout(gd,aobj);var flags=specs.flags;if(flags.calc)gd.calcdata=undefined;var seq=[Plots.previousPromises];if(flags.layoutReplot){seq.push(subroutines.layoutReplot)}else if(Object.keys(aobj).length){axRangeSupplyDefaultsByPass(gd,flags,specs)||Plots.supplyDefaults(gd);if(flags.legend)seq.push(subroutines.doLegend);if(flags.layoutstyle)seq.push(subroutines.layoutStyles);if(flags.axrange)addAxRangeSequence(seq,specs.rangesAltered);if(flags.ticks)seq.push(subroutines.doTicksRelayout);if(flags.modebar)seq.push(subroutines.doModeBar);if(flags.camera)seq.push(subroutines.doCamera);if(flags.colorbars)seq.push(subroutines.doColorBars);seq.push(emitAfterPlot)}seq.push(Plots.rehover,Plots.redrag);Queue.add(gd,relayout,[gd,specs.undoit],relayout,[gd,specs.redoit]);var plotDone=Lib.syncOrAsync(seq,gd);if(!plotDone||!plotDone.then)plotDone=Promise.resolve(gd);return plotDone.then((function(){gd.emit("plotly_relayout",specs.eventData);return gd}))}function axRangeSupplyDefaultsByPass(gd,flags,specs){var fullLayout=gd._fullLayout;if(!flags.axrange)return false;for(var k in flags){if(k!=="axrange"&&flags[k])return false}for(var axId in specs.rangesAltered){var axName=Axes.id2name(axId);var axIn=gd.layout[axName];var axOut=fullLayout[axName];axOut.autorange=axIn.autorange;if(axIn.range){axOut.range=axIn.range.slice()}axOut.cleanRange();if(axOut._matchGroup){for(var axId2 in axOut._matchGroup){if(axId2!==axId){var ax2=fullLayout[Axes.id2name(axId2)];ax2.autorange=axOut.autorange;ax2.range=axOut.range.slice();ax2._input.range=axOut.range.slice()}}}}return true}function addAxRangeSequence(seq,rangesAltered){var drawAxes=rangesAltered?function(gd){var axIds=[];var skipTitle=true;for(var id in rangesAltered){var ax=Axes.getFromId(gd,id);axIds.push(id);if((ax.ticklabelposition||"").indexOf("inside")!==-1){if(ax._anchorAxis){axIds.push(ax._anchorAxis._id)}}if(ax._matchGroup){for(var id2 in ax._matchGroup){if(!rangesAltered[id2]){axIds.push(id2)}}}if(ax.automargin)skipTitle=false}return Axes.draw(gd,axIds,{skipTitle:skipTitle})}:function(gd){return Axes.draw(gd,"redraw")};seq.push(clearSelect,subroutines.doAutoRangeAndConstraints,drawAxes,subroutines.drawData,subroutines.finalDraw)}var AX_RANGE_RE=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/;var AX_AUTORANGE_RE=/^[xyz]axis[0-9]*\.autorange$/;var AX_DOMAIN_RE=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function _relayout(gd,aobj){var layout=gd.layout;var fullLayout=gd._fullLayout;var guiEditFlag=fullLayout._guiEditing;var layoutNP=makeNP(fullLayout._preGUI,guiEditFlag);var keys=Object.keys(aobj);var axes=Axes.list(gd);var eventData=Lib.extendDeepAll({},aobj);var arrayEdits={};var arrayStr,i,j;cleanDeprecatedAttributeKeys(aobj);keys=Object.keys(aobj);for(i=0;i<keys.length;i++){if(keys[i].indexOf("allaxes")===0){for(j=0;j<axes.length;j++){var scene=axes[j]._id.substr(1);var axisAttr=scene.indexOf("scene")!==-1?scene+".":"";var newkey=keys[i].replace("allaxes",axisAttr+axes[j]._name);if(!aobj[newkey])aobj[newkey]=aobj[keys[i]]}delete aobj[keys[i]]}}var flags=editTypes.layoutFlags();var redoit={};var undoit={};function doextra(attr,val){if(Array.isArray(attr)){attr.forEach((function(a){doextra(a,val)}));return}if(attr in aobj||helpers.hasParent(aobj,attr))return;var p=layoutNP(layout,attr);if(!(attr in undoit)){undoit[attr]=undefinedToNull(p.get())}if(val!==undefined)p.set(val)}var rangesAltered={};var ax;function recordAlteredAxis(pleafPlus){var axId=Axes.name2id(pleafPlus.split(".")[0]);rangesAltered[axId]=1;return axId}for(var ai in aobj){if(helpers.hasParent(aobj,ai)){throw new Error("cannot set "+ai+" and a parent attribute simultaneously")}var p=layoutNP(layout,ai);var vi=aobj[ai];var plen=p.parts.length;var pend=plen-1;while(pend>0&&typeof p.parts[pend]!=="string")pend--;var pleaf=p.parts[pend];var pleafPlus=p.parts[pend-1]+"."+pleaf;var ptrunk=p.parts.slice(0,pend).join(".");var parentIn=nestedProperty(gd.layout,ptrunk).get();var parentFull=nestedProperty(fullLayout,ptrunk).get();var vOld=p.get();if(vi===undefined)continue;redoit[ai]=vi;undoit[ai]=pleaf==="reverse"?vi:undefinedToNull(vOld);var valObject=PlotSchema.getLayoutValObject(fullLayout,p.parts);if(valObject&&valObject.impliedEdits&&vi!==null){for(var impliedKey in valObject.impliedEdits){doextra(Lib.relativeAttr(ai,impliedKey),valObject.impliedEdits[impliedKey])}}if(["width","height"].indexOf(ai)!==-1){if(vi){doextra("autosize",null);var oppositeAttr=ai==="height"?"width":"height";doextra(oppositeAttr,fullLayout[oppositeAttr])}else{fullLayout[ai]=gd._initialAutoSize[ai]}}else if(ai==="autosize"){doextra("width",vi?null:fullLayout.width);doextra("height",vi?null:fullLayout.height)}else if(pleafPlus.match(AX_RANGE_RE)){recordAlteredAxis(pleafPlus);nestedProperty(fullLayout,ptrunk+"._inputRange").set(null)}else if(pleafPlus.match(AX_AUTORANGE_RE)){recordAlteredAxis(pleafPlus);nestedProperty(fullLayout,ptrunk+"._inputRange").set(null);var axFull=nestedProperty(fullLayout,ptrunk).get();if(axFull._inputDomain){axFull._input.domain=axFull._inputDomain.slice()}}else if(pleafPlus.match(AX_DOMAIN_RE)){nestedProperty(fullLayout,ptrunk+"._inputDomain").set(null)}if(pleaf==="type"){ax=parentIn;var toLog=parentFull.type==="linear"&&vi==="log";var fromLog=parentFull.type==="log"&&vi==="linear";if(toLog||fromLog){if(!ax||!ax.range){doextra(ptrunk+".autorange",true)}else if(!parentFull.autorange){var r0=ax.range[0];var r1=ax.range[1];if(toLog){if(r0<=0&&r1<=0){doextra(ptrunk+".autorange",true)}if(r0<=0)r0=r1/1e6;else if(r1<=0)r1=r0/1e6;doextra(ptrunk+".range[0]",Math.log(r0)/Math.LN10);doextra(ptrunk+".range[1]",Math.log(r1)/Math.LN10)}else{doextra(ptrunk+".range[0]",Math.pow(10,r0));doextra(ptrunk+".range[1]",Math.pow(10,r1))}}else if(toLog){ax.range=ax.range[1]>ax.range[0]?[1,2]:[2,1]}if(Array.isArray(fullLayout._subplots.polar)&&fullLayout._subplots.polar.length&&fullLayout[p.parts[0]]&&p.parts[1]==="radialaxis"){delete fullLayout[p.parts[0]]._subplot.viewInitial["radialaxis.range"]}Registry.getComponentMethod("annotations","convertCoords")(gd,parentFull,vi,doextra);Registry.getComponentMethod("images","convertCoords")(gd,parentFull,vi,doextra)}else{doextra(ptrunk+".autorange",true);doextra(ptrunk+".range",null)}nestedProperty(fullLayout,ptrunk+"._inputRange").set(null)}else if(pleaf.match(AX_NAME_PATTERN)){var fullProp=nestedProperty(fullLayout,ai).get();var newType=(vi||{}).type;if(!newType||newType==="-")newType="linear";Registry.getComponentMethod("annotations","convertCoords")(gd,fullProp,newType,doextra);Registry.getComponentMethod("images","convertCoords")(gd,fullProp,newType,doextra)}var containerArrayMatch=manageArrays.containerArrayMatch(ai);if(containerArrayMatch){arrayStr=containerArrayMatch.array;i=containerArrayMatch.index;var propStr=containerArrayMatch.property;var updateValObject=valObject||{editType:"calc"};if(i!==""&&propStr===""){if(manageArrays.isAddVal(vi)){undoit[ai]=null}else if(manageArrays.isRemoveVal(vi)){undoit[ai]=(nestedProperty(layout,arrayStr).get()||[])[i]}else{Lib.warn("unrecognized full object value",aobj)}}editTypes.update(flags,updateValObject);if(!arrayEdits[arrayStr])arrayEdits[arrayStr]={};var objEdits=arrayEdits[arrayStr][i];if(!objEdits)objEdits=arrayEdits[arrayStr][i]={};objEdits[propStr]=vi;delete aobj[ai]}else if(pleaf==="reverse"){if(parentIn.range)parentIn.range.reverse();else{doextra(ptrunk+".autorange",true);parentIn.range=[1,0]}if(parentFull.autorange)flags.calc=true;else flags.plot=true}else{if(fullLayout._has("scatter-like")&&fullLayout._has("regl")&&(ai==="dragmode"&&(vi==="lasso"||vi==="select")&&!(vOld==="lasso"||vOld==="select"))){flags.plot=true}else if(fullLayout._has("gl2d")){flags.plot=true}else if(valObject)editTypes.update(flags,valObject);else flags.calc=true;p.set(vi)}}for(arrayStr in arrayEdits){var finished=manageArrays.applyContainerArrayChanges(gd,layoutNP(layout,arrayStr),arrayEdits[arrayStr],flags,layoutNP);if(!finished)flags.plot=true}for(var axId in rangesAltered){ax=Axes.getFromId(gd,axId);var group=ax&&ax._constraintGroup;if(group){flags.calc=true;for(var groupAxId in group){if(!rangesAltered[groupAxId]){Axes.getFromId(gd,groupAxId)._constraintShrinkable=true}}}}if(updateAutosize(gd)||aobj.height||aobj.width)flags.plot=true;if(flags.plot||flags.calc){flags.layoutReplot=true}return{flags:flags,rangesAltered:rangesAltered,undoit:undoit,redoit:redoit,eventData:eventData}}function updateAutosize(gd){var fullLayout=gd._fullLayout;var oldWidth=fullLayout.width;var oldHeight=fullLayout.height;if(gd.layout.autosize)Plots.plotAutoSize(gd,gd.layout,fullLayout);return fullLayout.width!==oldWidth||fullLayout.height!==oldHeight}function update(gd,traceUpdate,layoutUpdate,_traces){gd=Lib.getGraphDiv(gd);helpers.clearPromiseQueue(gd);if(!Lib.isPlainObject(traceUpdate))traceUpdate={};if(!Lib.isPlainObject(layoutUpdate))layoutUpdate={};if(Object.keys(traceUpdate).length)gd.changed=true;if(Object.keys(layoutUpdate).length)gd.changed=true;var traces=helpers.coerceTraceIndices(gd,_traces);var restyleSpecs=_restyle(gd,Lib.extendFlat({},traceUpdate),traces);var restyleFlags=restyleSpecs.flags;var relayoutSpecs=_relayout(gd,Lib.extendFlat({},layoutUpdate));var relayoutFlags=relayoutSpecs.flags;if(restyleFlags.calc||relayoutFlags.calc)gd.calcdata=undefined;if(restyleFlags.clearAxisTypes)helpers.clearAxisTypes(gd,traces,layoutUpdate);var seq=[];if(relayoutFlags.layoutReplot){seq.push(subroutines.layoutReplot)}else if(restyleFlags.fullReplot){seq.push(exports._doPlot)}else{seq.push(Plots.previousPromises);axRangeSupplyDefaultsByPass(gd,relayoutFlags,relayoutSpecs)||Plots.supplyDefaults(gd);if(restyleFlags.style)seq.push(subroutines.doTraceStyle);if(restyleFlags.colorbars||relayoutFlags.colorbars)seq.push(subroutines.doColorBars);if(relayoutFlags.legend)seq.push(subroutines.doLegend);if(relayoutFlags.layoutstyle)seq.push(subroutines.layoutStyles);if(relayoutFlags.axrange)addAxRangeSequence(seq,relayoutSpecs.rangesAltered);if(relayoutFlags.ticks)seq.push(subroutines.doTicksRelayout);if(relayoutFlags.modebar)seq.push(subroutines.doModeBar);if(relayoutFlags.camera)seq.push(subroutines.doCamera);seq.push(emitAfterPlot)}seq.push(Plots.rehover,Plots.redrag);Queue.add(gd,update,[gd,restyleSpecs.undoit,relayoutSpecs.undoit,restyleSpecs.traces],update,[gd,restyleSpecs.redoit,relayoutSpecs.redoit,restyleSpecs.traces]);var plotDone=Lib.syncOrAsync(seq,gd);if(!plotDone||!plotDone.then)plotDone=Promise.resolve(gd);return plotDone.then((function(){gd.emit("plotly_update",{data:restyleSpecs.eventData,layout:relayoutSpecs.eventData});return gd}))}function guiEdit(func){return function wrappedEdit(gd){gd._fullLayout._guiEditing=true;var p=func.apply(null,arguments);gd._fullLayout._guiEditing=false;return p}}var layoutUIControlPatterns=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}];var traceUIControlPatterns=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function findUIPattern(key,patternSpecs){for(var i=0;i<patternSpecs.length;i++){var spec=patternSpecs[i];var match=key.match(spec.pattern);if(match){return{head:match[1],attr:spec.attr}}}}function getNewRev(revAttr,container){var newRev=nestedProperty(container,revAttr).get();if(newRev!==undefined)return newRev;var parts=revAttr.split(".");parts.pop();while(parts.length>1){parts.pop();newRev=nestedProperty(container,parts.join(".")+".uirevision").get();if(newRev!==undefined)return newRev}return container.uirevision}function getFullTraceIndexFromUid(uid,fullData){for(var i=0;i<fullData.length;i++){if(fullData[i]._fullInput.uid===uid)return i}return-1}function getTraceIndexFromUid(uid,data,tracei){for(var i=0;i<data.length;i++){if(data[i].uid===uid)return i}return!data[tracei]||data[tracei].uid?-1:tracei}function valsMatch(v1,v2){var v1IsObj=Lib.isPlainObject(v1);var v1IsArray=Array.isArray(v1);if(v1IsObj||v1IsArray){return(v1IsObj&&Lib.isPlainObject(v2)||v1IsArray&&Array.isArray(v2))&&JSON.stringify(v1)===JSON.stringify(v2)}return v1===v2}function applyUIRevisions(data,layout,oldFullData,oldFullLayout){var layoutPreGUI=oldFullLayout._preGUI;var key,revAttr,oldRev,newRev,match,preGUIVal,newNP,newVal;var bothInheritAutorange=[];var newRangeAccepted={};for(key in layoutPreGUI){match=findUIPattern(key,layoutUIControlPatterns);if(match){revAttr=match.attr||match.head+".uirevision";oldRev=nestedProperty(oldFullLayout,revAttr).get();newRev=oldRev&&getNewRev(revAttr,layout);if(newRev&&newRev===oldRev){preGUIVal=layoutPreGUI[key];if(preGUIVal===null)preGUIVal=undefined;newNP=nestedProperty(layout,key);newVal=newNP.get();if(valsMatch(newVal,preGUIVal)){if(newVal===undefined&&key.substr(key.length-9)==="autorange"){bothInheritAutorange.push(key.substr(0,key.length-10))}newNP.set(undefinedToNull(nestedProperty(oldFullLayout,key).get()));continue}}}else{Lib.warn("unrecognized GUI edit: "+key)}delete layoutPreGUI[key];if(key.substr(key.length-8,6)==="range["){newRangeAccepted[key.substr(0,key.length-9)]=1}}for(var i=0;i<bothInheritAutorange.length;i++){var axAttr=bothInheritAutorange[i];if(newRangeAccepted[axAttr]){var newAx=nestedProperty(layout,axAttr).get();if(newAx)delete newAx.autorange}}var allTracePreGUI=oldFullLayout._tracePreGUI;for(var uid in allTracePreGUI){var tracePreGUI=allTracePreGUI[uid];var newTrace=null;var fullInput;for(key in tracePreGUI){if(!newTrace){var fulli=getFullTraceIndexFromUid(uid,oldFullData);if(fulli<0){delete allTracePreGUI[uid];break}var fullTrace=oldFullData[fulli];fullInput=fullTrace._fullInput;var newTracei=getTraceIndexFromUid(uid,data,fullInput.index);if(newTracei<0){delete allTracePreGUI[uid];break}newTrace=data[newTracei]}match=findUIPattern(key,traceUIControlPatterns);if(match){if(match.attr){oldRev=nestedProperty(oldFullLayout,match.attr).get();newRev=oldRev&&getNewRev(match.attr,layout)}else{oldRev=fullInput.uirevision;newRev=newTrace.uirevision;if(newRev===undefined)newRev=layout.uirevision}if(newRev&&newRev===oldRev){preGUIVal=tracePreGUI[key];if(preGUIVal===null)preGUIVal=undefined;newNP=nestedProperty(newTrace,key);newVal=newNP.get();if(valsMatch(newVal,preGUIVal)){newNP.set(undefinedToNull(nestedProperty(fullInput,key).get()));continue}}}else{Lib.warn("unrecognized GUI edit: "+key+" in trace uid "+uid)}delete tracePreGUI[key]}}}function react(gd,data,layout,config){var frames,plotDone;function addFrames(){return exports.addFrames(gd,frames)}gd=Lib.getGraphDiv(gd);helpers.clearPromiseQueue(gd);var oldFullData=gd._fullData;var oldFullLayout=gd._fullLayout;if(!Lib.isPlotDiv(gd)||!oldFullData||!oldFullLayout){plotDone=exports.newPlot(gd,data,layout,config)}else{if(Lib.isPlainObject(data)){var obj=data;data=obj.data;layout=obj.layout;config=obj.config;frames=obj.frames}var configChanged=false;if(config){var oldConfig=Lib.extendDeep({},gd._context);gd._context=undefined;setPlotContext(gd,config);configChanged=diffConfig(oldConfig,gd._context)}gd.data=data||[];helpers.cleanData(gd.data);gd.layout=layout||{};helpers.cleanLayout(gd.layout);applyUIRevisions(gd.data,gd.layout,oldFullData,oldFullLayout);Plots.supplyDefaults(gd,{skipUpdateCalc:true});var newFullData=gd._fullData;var newFullLayout=gd._fullLayout;var immutable=newFullLayout.datarevision===undefined;var transition=newFullLayout.transition;var relayoutFlags=diffLayout(gd,oldFullLayout,newFullLayout,immutable,transition);var newDataRevision=relayoutFlags.newDataRevision;var restyleFlags=diffData(gd,oldFullData,newFullData,immutable,transition,newDataRevision);if(updateAutosize(gd))relayoutFlags.layoutReplot=true;if(restyleFlags.calc||relayoutFlags.calc){gd.calcdata=undefined;var allNames=Object.getOwnPropertyNames(newFullLayout);for(var q=0;q<allNames.length;q++){var name=allNames[q];var start=name.substring(0,5);if(start==="xaxis"||start==="yaxis"){var emptyCategories=newFullLayout[name]._emptyCategories;if(emptyCategories)emptyCategories()}}}else{Plots.supplyDefaultsUpdateCalc(gd.calcdata,newFullData)}var seq=[];if(frames){gd._transitionData={};Plots.createTransitionData(gd);seq.push(addFrames)}if(newFullLayout.transition&&!configChanged&&(restyleFlags.anim||relayoutFlags.anim)){if(relayoutFlags.ticks)seq.push(subroutines.doTicksRelayout);Plots.doCalcdata(gd);subroutines.doAutoRangeAndConstraints(gd);seq.push((function(){return Plots.transitionFromReact(gd,restyleFlags,relayoutFlags,oldFullLayout)}))}else if(restyleFlags.fullReplot||relayoutFlags.layoutReplot||configChanged){gd._fullLayout._skipDefaults=true;seq.push(exports._doPlot)}else{for(var componentType in relayoutFlags.arrays){var indices=relayoutFlags.arrays[componentType];if(indices.length){var drawOne=Registry.getComponentMethod(componentType,"drawOne");if(drawOne!==Lib.noop){for(var i=0;i<indices.length;i++){drawOne(gd,indices[i])}}else{var draw=Registry.getComponentMethod(componentType,"draw");if(draw===Lib.noop){throw new Error("cannot draw components: "+componentType)}draw(gd)}}}seq.push(Plots.previousPromises);if(restyleFlags.style)seq.push(subroutines.doTraceStyle);if(restyleFlags.colorbars||relayoutFlags.colorbars)seq.push(subroutines.doColorBars);if(relayoutFlags.legend)seq.push(subroutines.doLegend);if(relayoutFlags.layoutstyle)seq.push(subroutines.layoutStyles);if(relayoutFlags.axrange)addAxRangeSequence(seq);if(relayoutFlags.ticks)seq.push(subroutines.doTicksRelayout);if(relayoutFlags.modebar)seq.push(subroutines.doModeBar);if(relayoutFlags.camera)seq.push(subroutines.doCamera);seq.push(emitAfterPlot)}seq.push(Plots.rehover,Plots.redrag);plotDone=Lib.syncOrAsync(seq,gd);if(!plotDone||!plotDone.then)plotDone=Promise.resolve(gd)}return plotDone.then((function(){gd.emit("plotly_react",{data:data,layout:layout});return gd}))}function diffData(gd,oldFullData,newFullData,immutable,transition,newDataRevision){var sameTraceLength=oldFullData.length===newFullData.length;if(!transition&&!sameTraceLength){return{fullReplot:true,calc:true}}var flags=editTypes.traceFlags();flags.arrays={};flags.nChanges=0;flags.nChangesAnim=0;var i,trace;function getTraceValObject(parts){var out=PlotSchema.getTraceValObject(trace,parts);if(!trace._module.animatable&&out.anim){out.anim=false}return out}var diffOpts={getValObject:getTraceValObject,flags:flags,immutable:immutable,transition:transition,newDataRevision:newDataRevision,gd:gd};var seenUIDs={};for(i=0;i<oldFullData.length;i++){if(newFullData[i]){trace=newFullData[i]._fullInput;if(Plots.hasMakesDataTransform(trace))trace=newFullData[i];if(seenUIDs[trace.uid])continue;seenUIDs[trace.uid]=1;getDiffFlags(oldFullData[i]._fullInput,trace,[],diffOpts)}}if(flags.calc||flags.plot){flags.fullReplot=true}if(transition&&flags.nChanges&&flags.nChangesAnim){flags.anim=flags.nChanges===flags.nChangesAnim&&sameTraceLength?"all":"some"}return flags}function diffLayout(gd,oldFullLayout,newFullLayout,immutable,transition){var flags=editTypes.layoutFlags();flags.arrays={};flags.rangesAltered={};flags.nChanges=0;flags.nChangesAnim=0;function getLayoutValObject(parts){return PlotSchema.getLayoutValObject(newFullLayout,parts)}var diffOpts={getValObject:getLayoutValObject,flags:flags,immutable:immutable,transition:transition,gd:gd};getDiffFlags(oldFullLayout,newFullLayout,[],diffOpts);if(flags.plot||flags.calc){flags.layoutReplot=true}if(transition&&flags.nChanges&&flags.nChangesAnim){flags.anim=flags.nChanges===flags.nChangesAnim?"all":"some"}return flags}function getDiffFlags(oldContainer,newContainer,outerparts,opts){var valObject,key,astr;var getValObject=opts.getValObject;var flags=opts.flags;var immutable=opts.immutable;var inArray=opts.inArray;var arrayIndex=opts.arrayIndex;function changed(){var editType=valObject.editType;if(inArray&&editType.indexOf("arraydraw")!==-1){Lib.pushUnique(flags.arrays[inArray],arrayIndex);return}editTypes.update(flags,valObject);if(editType!=="none"){flags.nChanges++}if(opts.transition&&valObject.anim){flags.nChangesAnim++}if(AX_RANGE_RE.test(astr)||AX_AUTORANGE_RE.test(astr)){flags.rangesAltered[outerparts[0]]=1}if(AX_DOMAIN_RE.test(astr)){nestedProperty(newContainer,"_inputDomain").set(null)}if(key==="datarevision"){flags.newDataRevision=1}}function valObjectCanBeDataArray(valObject){return valObject.valType==="data_array"||valObject.arrayOk}for(key in oldContainer){if(flags.calc&&!opts.transition)return;var oldVal=oldContainer[key];var newVal=newContainer[key];var parts=outerparts.concat(key);astr=parts.join(".");if(key.charAt(0)==="_"||typeof oldVal==="function"||oldVal===newVal)continue;if((key==="tick0"||key==="dtick")&&outerparts[0]!=="geo"){var tickMode=newContainer.tickmode;if(tickMode==="auto"||tickMode==="array"||!tickMode)continue}if(key==="range"&&newContainer.autorange)continue;if((key==="zmin"||key==="zmax")&&newContainer.type==="contourcarpet")continue;valObject=getValObject(parts);if(!valObject)continue;if(valObject._compareAsJSON&&JSON.stringify(oldVal)===JSON.stringify(newVal))continue;var valType=valObject.valType;var i;var canBeDataArray=valObjectCanBeDataArray(valObject);var wasArray=Array.isArray(oldVal);var nowArray=Array.isArray(newVal);if(wasArray&&nowArray){var inputKey="_input_"+key;var oldValIn=oldContainer[inputKey];var newValIn=newContainer[inputKey];if(Array.isArray(oldValIn)&&oldValIn===newValIn)continue}if(newVal===undefined){if(canBeDataArray&&wasArray)flags.calc=true;else changed()}else if(valObject._isLinkedToArray){var arrayEditIndices=[];var extraIndices=false;if(!inArray)flags.arrays[key]=arrayEditIndices;var minLen=Math.min(oldVal.length,newVal.length);var maxLen=Math.max(oldVal.length,newVal.length);if(minLen!==maxLen){if(valObject.editType==="arraydraw"){extraIndices=true}else{changed();continue}}for(i=0;i<minLen;i++){getDiffFlags(oldVal[i],newVal[i],parts.concat(i),Lib.extendFlat({inArray:key,arrayIndex:i},opts))}if(extraIndices){for(i=minLen;i<maxLen;i++){arrayEditIndices.push(i)}}}else if(!valType&&Lib.isPlainObject(oldVal)){getDiffFlags(oldVal,newVal,parts,opts)}else if(canBeDataArray){if(wasArray&&nowArray){if(immutable){flags.calc=true}if(immutable||opts.newDataRevision){changed()}}else if(wasArray!==nowArray){flags.calc=true}else changed()}else if(wasArray&&nowArray){if(oldVal.length!==newVal.length||String(oldVal)!==String(newVal)){changed()}}else{changed()}}for(key in newContainer){if(!(key in oldContainer||key.charAt(0)==="_"||typeof newContainer[key]==="function")){valObject=getValObject(outerparts.concat(key));if(valObjectCanBeDataArray(valObject)&&Array.isArray(newContainer[key])){flags.calc=true;return}else changed()}}}function diffConfig(oldConfig,newConfig){var key;for(key in oldConfig){if(key.charAt(0)==="_")continue;var oldVal=oldConfig[key];var newVal=newConfig[key];if(oldVal!==newVal){if(Lib.isPlainObject(oldVal)&&Lib.isPlainObject(newVal)){if(diffConfig(oldVal,newVal)){return true}}else if(Array.isArray(oldVal)&&Array.isArray(newVal)){if(oldVal.length!==newVal.length){return true}for(var i=0;i<oldVal.length;i++){if(oldVal[i]!==newVal[i]){if(Lib.isPlainObject(oldVal[i])&&Lib.isPlainObject(newVal[i])){if(diffConfig(oldVal[i],newVal[i])){return true}}else{return true}}}}else{return true}}}}function animate(gd,frameOrGroupNameOrFrameList,animationOpts){gd=Lib.getGraphDiv(gd);if(!Lib.isPlotDiv(gd)){throw new Error("This element is not a Plotly plot: "+gd+". It's likely that you've failed "+"to create a plot before animating it. For more details, see "+"https://plotly.com/javascript/animations/")}var trans=gd._transitionData;if(!trans._frameQueue){trans._frameQueue=[]}animationOpts=Plots.supplyAnimationDefaults(animationOpts);var transitionOpts=animationOpts.transition;var frameOpts=animationOpts.frame;if(trans._frameWaitingCnt===undefined){trans._frameWaitingCnt=0}function getTransitionOpts(i){if(Array.isArray(transitionOpts)){if(i>=transitionOpts.length){return transitionOpts[0]}else{return transitionOpts[i]}}else{return transitionOpts}}function getFrameOpts(i){if(Array.isArray(frameOpts)){if(i>=frameOpts.length){return frameOpts[0]}else{return frameOpts[i]}}else{return frameOpts}}function callbackOnNthTime(cb,n){var cnt=0;return function(){if(cb&&++cnt===n){return cb()}}}return new Promise((function(resolve,reject){function discardExistingFrames(){if(trans._frameQueue.length===0){return}while(trans._frameQueue.length){var next=trans._frameQueue.pop();if(next.onInterrupt){next.onInterrupt()}}gd.emit("plotly_animationinterrupted",[])}function queueFrames(frameList){if(frameList.length===0)return;for(var i=0;i<frameList.length;i++){var computedFrame;if(frameList[i].type==="byname"){computedFrame=Plots.computeFrame(gd,frameList[i].name)}else{computedFrame=frameList[i].data}var frameOpts=getFrameOpts(i);var transitionOpts=getTransitionOpts(i);transitionOpts.duration=Math.min(transitionOpts.duration,frameOpts.duration);var nextFrame={frame:computedFrame,name:frameList[i].name,frameOpts:frameOpts,transitionOpts:transitionOpts};if(i===frameList.length-1){nextFrame.onComplete=callbackOnNthTime(resolve,2);nextFrame.onInterrupt=reject}trans._frameQueue.push(nextFrame)}if(animationOpts.mode==="immediate"){trans._lastFrameAt=-Infinity}if(!trans._animationRaf){beginAnimationLoop()}}function stopAnimationLoop(){gd.emit("plotly_animated");window.cancelAnimationFrame(trans._animationRaf);trans._animationRaf=null}function nextFrame(){if(trans._currentFrame&&trans._currentFrame.onComplete){trans._currentFrame.onComplete()}var newFrame=trans._currentFrame=trans._frameQueue.shift();if(newFrame){var stringName=newFrame.name?newFrame.name.toString():null;gd._fullLayout._currentFrame=stringName;trans._lastFrameAt=Date.now();trans._timeToNext=newFrame.frameOpts.duration;Plots.transition(gd,newFrame.frame.data,newFrame.frame.layout,helpers.coerceTraceIndices(gd,newFrame.frame.traces),newFrame.frameOpts,newFrame.transitionOpts).then((function(){if(newFrame.onComplete){newFrame.onComplete()}}));gd.emit("plotly_animatingframe",{name:stringName,frame:newFrame.frame,animation:{frame:newFrame.frameOpts,transition:newFrame.transitionOpts}})}else{stopAnimationLoop()}}function beginAnimationLoop(){gd.emit("plotly_animating");trans._lastFrameAt=-Infinity;trans._timeToNext=0;trans._runningTransitions=0;trans._currentFrame=null;var doFrame=function(){trans._animationRaf=window.requestAnimationFrame(doFrame);if(Date.now()-trans._lastFrameAt>trans._timeToNext){nextFrame()}};doFrame()}var configCounter=0;function setTransitionConfig(frame){if(Array.isArray(transitionOpts)){if(configCounter>=transitionOpts.length){frame.transitionOpts=transitionOpts[configCounter]}else{frame.transitionOpts=transitionOpts[0]}}else{frame.transitionOpts=transitionOpts}configCounter++;return frame}var i,frame;var frameList=[];var allFrames=frameOrGroupNameOrFrameList===undefined||frameOrGroupNameOrFrameList===null;var isFrameArray=Array.isArray(frameOrGroupNameOrFrameList);var isSingleFrame=!allFrames&&!isFrameArray&&Lib.isPlainObject(frameOrGroupNameOrFrameList);if(isSingleFrame){frameList.push({type:"object",data:setTransitionConfig(Lib.extendFlat({},frameOrGroupNameOrFrameList))})}else if(allFrames||["string","number"].indexOf(typeof frameOrGroupNameOrFrameList)!==-1){for(i=0;i<trans._frames.length;i++){frame=trans._frames[i];if(!frame)continue;if(allFrames||String(frame.group)===String(frameOrGroupNameOrFrameList)){frameList.push({type:"byname",name:String(frame.name),data:setTransitionConfig({name:frame.name})})}}}else if(isFrameArray){for(i=0;i<frameOrGroupNameOrFrameList.length;i++){var frameOrName=frameOrGroupNameOrFrameList[i];if(["number","string"].indexOf(typeof frameOrName)!==-1){frameOrName=String(frameOrName);frameList.push({type:"byname",name:frameOrName,data:setTransitionConfig({name:frameOrName})})}else if(Lib.isPlainObject(frameOrName)){frameList.push({type:"object",data:setTransitionConfig(Lib.extendFlat({},frameOrName))})}}}for(i=0;i<frameList.length;i++){frame=frameList[i];if(frame.type==="byname"&&!trans._frameHash[frame.data.name]){Lib.warn('animate failure: frame not found: "'+frame.data.name+'"');reject();return}}if(["next","immediate"].indexOf(animationOpts.mode)!==-1){discardExistingFrames()}if(animationOpts.direction==="reverse"){frameList.reverse()}var currentFrame=gd._fullLayout._currentFrame;if(currentFrame&&animationOpts.fromcurrent){var idx=-1;for(i=0;i<frameList.length;i++){frame=frameList[i];if(frame.type==="byname"&&frame.name===currentFrame){idx=i;break}}if(idx>0&&idx<frameList.length-1){var filteredFrameList=[];for(i=0;i<frameList.length;i++){frame=frameList[i];if(frameList[i].type!=="byname"||i>idx){filteredFrameList.push(frame)}}frameList=filteredFrameList}}if(frameList.length>0){queueFrames(frameList)}else{gd.emit("plotly_animated");resolve()}}))}function addFrames(gd,frameList,indices){gd=Lib.getGraphDiv(gd);if(frameList===null||frameList===undefined){return Promise.resolve()}if(!Lib.isPlotDiv(gd)){throw new Error("This element is not a Plotly plot: "+gd+". It's likely that you've failed "+"to create a plot before adding frames. For more details, see "+"https://plotly.com/javascript/animations/")}var i,frame,j,idx;var _frames=gd._transitionData._frames;var _frameHash=gd._transitionData._frameHash;if(!Array.isArray(frameList)){throw new Error("addFrames failure: frameList must be an Array of frame definitions"+frameList)}var bigIndex=_frames.length+frameList.length*2;var insertions=[];var _frameHashLocal={};for(i=frameList.length-1;i>=0;i--){if(!Lib.isPlainObject(frameList[i]))continue;var lookupName=frameList[i].name;var name=(_frameHash[lookupName]||_frameHashLocal[lookupName]||{}).name;var newName=frameList[i].name;var collisionPresent=_frameHash[name]||_frameHashLocal[name];if(name&&newName&&typeof newName==="number"&&collisionPresent&&numericNameWarningCount<numericNameWarningCountLimit){numericNameWarningCount++;Lib.warn('addFrames: overwriting frame "'+(_frameHash[name]||_frameHashLocal[name]).name+'" with a frame whose name of type "number" also equates to "'+name+'". This is valid but may potentially lead to unexpected '+"behavior since all plotly.js frame names are stored internally "+"as strings.");if(numericNameWarningCount===numericNameWarningCountLimit){Lib.warn("addFrames: This API call has yielded too many of these warnings. "+"For the rest of this call, further warnings about numeric frame "+"names will be suppressed.")}}_frameHashLocal[lookupName]={name:lookupName};insertions.push({frame:Plots.supplyFrameDefaults(frameList[i]),index:indices&&indices[i]!==undefined&&indices[i]!==null?indices[i]:bigIndex+i})}insertions.sort((function(a,b){if(a.index>b.index)return-1;if(a.index<b.index)return 1;return 0}));var ops=[];var revops=[];var frameCount=_frames.length;for(i=insertions.length-1;i>=0;i--){frame=insertions[i].frame;if(typeof frame.name==="number"){Lib.warn("Warning: addFrames accepts frames with numeric names, but the numbers are"+"implicitly cast to strings")}if(!frame.name){while(_frameHash[frame.name="frame "+gd._transitionData._counter++]);}if(_frameHash[frame.name]){for(j=0;j<_frames.length;j++){if((_frames[j]||{}).name===frame.name)break}ops.push({type:"replace",index:j,value:frame});revops.unshift({type:"replace",index:j,value:_frames[j]})}else{idx=Math.max(0,Math.min(insertions[i].index,frameCount));ops.push({type:"insert",index:idx,value:frame});revops.unshift({type:"delete",index:idx});frameCount++}}var undoFunc=Plots.modifyFrames;var redoFunc=Plots.modifyFrames;var undoArgs=[gd,revops];var redoArgs=[gd,ops];if(Queue)Queue.add(gd,undoFunc,undoArgs,redoFunc,redoArgs);return Plots.modifyFrames(gd,ops)}function deleteFrames(gd,frameList){gd=Lib.getGraphDiv(gd);if(!Lib.isPlotDiv(gd)){throw new Error("This element is not a Plotly plot: "+gd)}var i,idx;var _frames=gd._transitionData._frames;var ops=[];var revops=[];if(!frameList){frameList=[];for(i=0;i<_frames.length;i++){frameList.push(i)}}frameList=frameList.slice();frameList.sort();for(i=frameList.length-1;i>=0;i--){idx=frameList[i];ops.push({type:"delete",index:idx});revops.unshift({type:"insert",index:idx,value:_frames[idx]})}var undoFunc=Plots.modifyFrames;var redoFunc=Plots.modifyFrames;var undoArgs=[gd,revops];var redoArgs=[gd,ops];if(Queue)Queue.add(gd,undoFunc,undoArgs,redoFunc,redoArgs);return Plots.modifyFrames(gd,ops)}function purge(gd){gd=Lib.getGraphDiv(gd);var fullLayout=gd._fullLayout||{};var fullData=gd._fullData||[];Plots.cleanPlot([],{},fullData,fullLayout);Plots.purge(gd);Events.purge(gd);if(fullLayout._container)fullLayout._container.remove();delete gd._context;return gd}function calcInverseTransform(gd){var fullLayout=gd._fullLayout;var newBBox=gd.getBoundingClientRect();if(Lib.equalDomRects(newBBox,fullLayout._lastBBox))return;var m=fullLayout._invTransform=Lib.inverseTransformMatrix(Lib.getFullTransformMatrix(gd));fullLayout._invScaleX=Math.sqrt(m[0][0]*m[0][0]+m[0][1]*m[0][1]+m[0][2]*m[0][2]);fullLayout._invScaleY=Math.sqrt(m[1][0]*m[1][0]+m[1][1]*m[1][1]+m[1][2]*m[1][2]);fullLayout._lastBBox=newBBox}function makePlotFramework(gd){var gd3=d3.select(gd);var fullLayout=gd._fullLayout;fullLayout._calcInverseTransform=calcInverseTransform;fullLayout._calcInverseTransform(gd);fullLayout._container=gd3.selectAll(".plot-container").data([0]);fullLayout._container.enter().insert("div",":first-child").classed("plot-container",true).classed("plotly",true);fullLayout._paperdiv=fullLayout._container.selectAll(".svg-container").data([0]);fullLayout._paperdiv.enter().append("div").classed("user-select-none",true).classed("svg-container",true).style("position","relative");fullLayout._glcontainer=fullLayout._paperdiv.selectAll(".gl-container").data([{}]);fullLayout._glcontainer.enter().append("div").classed("gl-container",true);fullLayout._paperdiv.selectAll(".main-svg").remove();fullLayout._paperdiv.select(".modebar-container").remove();fullLayout._paper=fullLayout._paperdiv.insert("svg",":first-child").classed("main-svg",true);fullLayout._toppaper=fullLayout._paperdiv.append("svg").classed("main-svg",true);fullLayout._modebardiv=fullLayout._paperdiv.append("div");delete fullLayout._modeBar;fullLayout._hoverpaper=fullLayout._paperdiv.append("svg").classed("main-svg",true);if(!fullLayout._uid){var otherUids={};d3.selectAll("defs").each((function(){if(this.id)otherUids[this.id.split("-")[1]]=1}));fullLayout._uid=Lib.randstr(otherUids)}fullLayout._paperdiv.selectAll(".main-svg").attr(xmlnsNamespaces.svgAttrs);fullLayout._defs=fullLayout._paper.append("defs").attr("id","defs-"+fullLayout._uid);fullLayout._clips=fullLayout._defs.append("g").classed("clips",true);fullLayout._topdefs=fullLayout._toppaper.append("defs").attr("id","topdefs-"+fullLayout._uid);fullLayout._topclips=fullLayout._topdefs.append("g").classed("clips",true);fullLayout._bgLayer=fullLayout._paper.append("g").classed("bglayer",true);fullLayout._draggers=fullLayout._paper.append("g").classed("draglayer",true);var layerBelow=fullLayout._paper.append("g").classed("layer-below",true);fullLayout._imageLowerLayer=layerBelow.append("g").classed("imagelayer",true);fullLayout._shapeLowerLayer=layerBelow.append("g").classed("shapelayer",true);fullLayout._cartesianlayer=fullLayout._paper.append("g").classed("cartesianlayer",true);fullLayout._polarlayer=fullLayout._paper.append("g").classed("polarlayer",true);fullLayout._ternarylayer=fullLayout._paper.append("g").classed("ternarylayer",true);fullLayout._geolayer=fullLayout._paper.append("g").classed("geolayer",true);fullLayout._funnelarealayer=fullLayout._paper.append("g").classed("funnelarealayer",true);fullLayout._pielayer=fullLayout._paper.append("g").classed("pielayer",true);fullLayout._iciclelayer=fullLayout._paper.append("g").classed("iciclelayer",true);fullLayout._treemaplayer=fullLayout._paper.append("g").classed("treemaplayer",true);fullLayout._sunburstlayer=fullLayout._paper.append("g").classed("sunburstlayer",true);fullLayout._indicatorlayer=fullLayout._toppaper.append("g").classed("indicatorlayer",true);fullLayout._glimages=fullLayout._paper.append("g").classed("glimages",true);var layerAbove=fullLayout._toppaper.append("g").classed("layer-above",true);fullLayout._imageUpperLayer=layerAbove.append("g").classed("imagelayer",true);fullLayout._shapeUpperLayer=layerAbove.append("g").classed("shapelayer",true);fullLayout._infolayer=fullLayout._toppaper.append("g").classed("infolayer",true);fullLayout._menulayer=fullLayout._toppaper.append("g").classed("menulayer",true);fullLayout._zoomlayer=fullLayout._toppaper.append("g").classed("zoomlayer",true);fullLayout._hoverlayer=fullLayout._hoverpaper.append("g").classed("hoverlayer",true);fullLayout._modebardiv.classed("modebar-container",true).style("position","absolute").style("top","0px").style("right","0px");gd.emit("plotly_framework")}exports.animate=animate;exports.addFrames=addFrames;exports.deleteFrames=deleteFrames;exports.addTraces=addTraces;exports.deleteTraces=deleteTraces;exports.extendTraces=extendTraces;exports.moveTraces=moveTraces;exports.prependTraces=prependTraces;exports.newPlot=newPlot;exports._doPlot=_doPlot;exports.purge=purge;exports.react=react;exports.redraw=redraw;exports.relayout=relayout;exports.restyle=restyle;exports.setPlotConfig=setPlotConfig;exports.update=update;exports._guiRelayout=guiEdit(relayout);exports._guiRestyle=guiEdit(restyle);exports._guiUpdate=guiEdit(update);exports._storeDirectGUIEdit=_storeDirectGUIEdit},{"../components/color":666,"../components/drawing":688,"../constants/xmlns_namespaces":780,"../lib":803,"../lib/events":792,"../lib/queue":819,"../plots/cartesian/axes":854,"../plots/cartesian/constants":861,"../plots/cartesian/graph_interact":864,"../plots/cartesian/select":874,"../plots/plots":917,"../registry":931,"./edit_types":836,"./helpers":837,"./manage_arrays":839,"./plot_config":841,"./plot_schema":842,"./subroutines":844,"@plotly/d3":58,"fast-isnumeric":249,"has-hover":443}],841:[function(_dereq_,module,exports){"use strict";var configAttributes={staticPlot:{valType:"boolean",dflt:false},plotlyServerURL:{valType:"string",dflt:""},editable:{valType:"boolean",dflt:false},edits:{annotationPosition:{valType:"boolean",dflt:false},annotationTail:{valType:"boolean",dflt:false},annotationText:{valType:"boolean",dflt:false},axisTitleText:{valType:"boolean",dflt:false},colorbarPosition:{valType:"boolean",dflt:false},colorbarTitleText:{valType:"boolean",dflt:false},legendPosition:{valType:"boolean",dflt:false},legendText:{valType:"boolean",dflt:false},shapePosition:{valType:"boolean",dflt:false},titleText:{valType:"boolean",dflt:false}},autosizable:{valType:"boolean",dflt:false},responsive:{valType:"boolean",dflt:false},fillFrame:{valType:"boolean",dflt:false},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[true,false],dflt:"gl3d+geo+mapbox"},doubleClick:{valType:"enumerated",values:[false,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:true},showAxisRangeEntryBoxes:{valType:"boolean",dflt:true},showTips:{valType:"boolean",dflt:true},showLink:{valType:"boolean",dflt:false},linkText:{valType:"string",dflt:"Edit chart",noBlank:true},sendData:{valType:"boolean",dflt:true},showSources:{valType:"any",dflt:false},displayModeBar:{valType:"enumerated",values:["hover",true,false],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:false},showEditInChartStudio:{valType:"boolean",dflt:false},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:false},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:true},watermark:{valType:"boolean",dflt:false},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:true,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}};var dfltConfig={};function crawl(src,target){for(var k in src){var obj=src[k];if(obj.valType){target[k]=obj.dflt}else{if(!target[k]){target[k]={}}crawl(obj,target[k])}}}crawl(configAttributes,dfltConfig);module.exports={configAttributes:configAttributes,dfltConfig:dfltConfig}},{}],842:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../registry");var Lib=_dereq_("../lib");var baseAttributes=_dereq_("../plots/attributes");var baseLayoutAttributes=_dereq_("../plots/layout_attributes");var frameAttributes=_dereq_("../plots/frame_attributes");var animationAttributes=_dereq_("../plots/animation_attributes");var configAttributes=_dereq_("./plot_config").configAttributes;var editTypes=_dereq_("./edit_types");var extendDeepAll=Lib.extendDeepAll;var isPlainObject=Lib.isPlainObject;var isArrayOrTypedArray=Lib.isArrayOrTypedArray;var nestedProperty=Lib.nestedProperty;var valObjectMeta=Lib.valObjectMeta;var IS_SUBPLOT_OBJ="_isSubplotObj";var IS_LINKED_TO_ARRAY="_isLinkedToArray";var ARRAY_ATTR_REGEXPS="_arrayAttrRegexps";var DEPRECATED="_deprecated";var UNDERSCORE_ATTRS=[IS_SUBPLOT_OBJ,IS_LINKED_TO_ARRAY,ARRAY_ATTR_REGEXPS,DEPRECATED];exports.IS_SUBPLOT_OBJ=IS_SUBPLOT_OBJ;exports.IS_LINKED_TO_ARRAY=IS_LINKED_TO_ARRAY;exports.DEPRECATED=DEPRECATED;exports.UNDERSCORE_ATTRS=UNDERSCORE_ATTRS;exports.get=function(){var traces={};Registry.allTypes.forEach((function(type){traces[type]=getTraceAttributes(type)}));var transforms={};Object.keys(Registry.transformsRegistry).forEach((function(type){transforms[type]=getTransformAttributes(type)}));return{defs:{valObjects:valObjectMeta,metaKeys:UNDERSCORE_ATTRS.concat(["description","role","editType","impliedEdits"]),editType:{traces:editTypes.traces,layout:editTypes.layout},impliedEdits:{}},traces:traces,layout:getLayoutAttributes(),transforms:transforms,frames:getFramesAttributes(),animation:formatAttributes(animationAttributes),config:formatAttributes(configAttributes)}};exports.crawl=function(attrs,callback,specifiedLevel,attrString){var level=specifiedLevel||0;attrString=attrString||"";Object.keys(attrs).forEach((function(attrName){var attr=attrs[attrName];if(UNDERSCORE_ATTRS.indexOf(attrName)!==-1)return;var fullAttrString=(attrString?attrString+".":"")+attrName;callback(attr,attrName,attrs,level,fullAttrString);if(exports.isValObject(attr))return;if(isPlainObject(attr)&&attrName!=="impliedEdits"){exports.crawl(attr,callback,level+1,fullAttrString)}}))};exports.isValObject=function(obj){return obj&&obj.valType!==undefined};exports.findArrayAttributes=function(trace){var arrayAttributes=[];var stack=[];var isArrayStack=[];var baseContainer,baseAttrName;function callback(attr,attrName,attrs,level){stack=stack.slice(0,level).concat([attrName]);isArrayStack=isArrayStack.slice(0,level).concat([attr&&attr._isLinkedToArray]);var splittableAttr=attr&&(attr.valType==="data_array"||attr.arrayOk===true)&&!(stack[level-1]==="colorbar"&&(attrName==="ticktext"||attrName==="tickvals"));if(!splittableAttr)return;crawlIntoTrace(baseContainer,0,"")}function crawlIntoTrace(container,i,astrPartial){var item=container[stack[i]];var newAstrPartial=astrPartial+stack[i];if(i===stack.length-1){if(isArrayOrTypedArray(item)){arrayAttributes.push(baseAttrName+newAstrPartial)}}else{if(isArrayStack[i]){if(Array.isArray(item)){for(var j=0;j<item.length;j++){if(isPlainObject(item[j])){crawlIntoTrace(item[j],i+1,newAstrPartial+"["+j+"].")}}}}else if(isPlainObject(item)){crawlIntoTrace(item,i+1,newAstrPartial+".")}}}baseContainer=trace;baseAttrName="";exports.crawl(baseAttributes,callback);if(trace._module&&trace._module.attributes){exports.crawl(trace._module.attributes,callback)}var transforms=trace.transforms;if(transforms){for(var i=0;i<transforms.length;i++){var transform=transforms[i];var module=transform._module;if(module){baseAttrName="transforms["+i+"].";baseContainer=transform;exports.crawl(module.attributes,callback)}}}return arrayAttributes};exports.getTraceValObject=function(trace,parts){var head=parts[0];var i=1;var moduleAttrs,valObject;if(head==="transforms"){if(parts.length===1){return baseAttributes.transforms}var transforms=trace.transforms;if(!Array.isArray(transforms)||!transforms.length)return false;var tNum=parts[1];if(!isIndex(tNum)||tNum>=transforms.length){return false}moduleAttrs=(Registry.transformsRegistry[transforms[tNum].type]||{}).attributes;valObject=moduleAttrs&&moduleAttrs[parts[2]];i=3}else{var _module=trace._module;if(!_module)_module=(Registry.modules[trace.type||baseAttributes.type.dflt]||{})._module;if(!_module)return false;moduleAttrs=_module.attributes;valObject=moduleAttrs&&moduleAttrs[head];if(!valObject){var subplotModule=_module.basePlotModule;if(subplotModule&&subplotModule.attributes){valObject=subplotModule.attributes[head]}}if(!valObject)valObject=baseAttributes[head]}return recurseIntoValObject(valObject,parts,i)};exports.getLayoutValObject=function(fullLayout,parts){var valObject=layoutHeadAttr(fullLayout,parts[0]);return recurseIntoValObject(valObject,parts,1)};function layoutHeadAttr(fullLayout,head){var i,key,_module,attributes;var basePlotModules=fullLayout._basePlotModules;if(basePlotModules){var out;for(i=0;i<basePlotModules.length;i++){_module=basePlotModules[i];if(_module.attrRegex&&_module.attrRegex.test(head)){if(_module.layoutAttrOverrides)return _module.layoutAttrOverrides;if(!out&&_module.layoutAttributes)out=_module.layoutAttributes}var baseOverrides=_module.baseLayoutAttrOverrides;if(baseOverrides&&head in baseOverrides)return baseOverrides[head]}if(out)return out}var modules=fullLayout._modules;if(modules){for(i=0;i<modules.length;i++){attributes=modules[i].layoutAttributes;if(attributes&&head in attributes){return attributes[head]}}}for(key in Registry.componentsRegistry){_module=Registry.componentsRegistry[key];if(_module.name==="colorscale"&&head.indexOf("coloraxis")===0){return _module.layoutAttributes[head]}else if(!_module.schema&&head===_module.name){return _module.layoutAttributes}}if(head in baseLayoutAttributes)return baseLayoutAttributes[head];return false}function recurseIntoValObject(valObject,parts,i){if(!valObject)return false;if(valObject._isLinkedToArray){if(isIndex(parts[i]))i++;else if(i<parts.length)return false}for(;i<parts.length;i++){var newValObject=valObject[parts[i]];if(isPlainObject(newValObject))valObject=newValObject;else break;if(i===parts.length-1)break;if(valObject._isLinkedToArray){i++;if(!isIndex(parts[i]))return false}else if(valObject.valType==="info_array"){i++;var index=parts[i];if(!isIndex(index))return false;var items=valObject.items;if(Array.isArray(items)){if(index>=items.length)return false;if(valObject.dimensions===2){i++;if(parts.length===i)return valObject;var index2=parts[i];if(!isIndex(index2))return false;valObject=items[index][index2]}else valObject=items[index]}else{valObject=items}}}return valObject}function isIndex(val){return val===Math.round(val)&&val>=0}function getTraceAttributes(type){var _module,basePlotModule;_module=Registry.modules[type]._module,basePlotModule=_module.basePlotModule;var attributes={};attributes.type=null;var copyBaseAttributes=extendDeepAll({},baseAttributes);var copyModuleAttributes=extendDeepAll({},_module.attributes);exports.crawl(copyModuleAttributes,(function(attr,attrName,attrs,level,fullAttrString){nestedProperty(copyBaseAttributes,fullAttrString).set(undefined);if(attr===undefined)nestedProperty(copyModuleAttributes,fullAttrString).set(undefined)}));extendDeepAll(attributes,copyBaseAttributes);if(Registry.traceIs(type,"noOpacity")){delete attributes.opacity}if(!Registry.traceIs(type,"showLegend")){delete attributes.showlegend;delete attributes.legendgroup}if(Registry.traceIs(type,"noHover")){delete attributes.hoverinfo;delete attributes.hoverlabel}if(!_module.selectPoints){delete attributes.selectedpoints}extendDeepAll(attributes,copyModuleAttributes);if(basePlotModule.attributes){extendDeepAll(attributes,basePlotModule.attributes)}attributes.type=type;var out={meta:_module.meta||{},categories:_module.categories||{},animatable:Boolean(_module.animatable),type:type,attributes:formatAttributes(attributes)};if(_module.layoutAttributes){var layoutAttributes={};extendDeepAll(layoutAttributes,_module.layoutAttributes);out.layoutAttributes=formatAttributes(layoutAttributes)}if(!_module.animatable){exports.crawl(out,(function(attr){if(exports.isValObject(attr)&&"anim"in attr){delete attr.anim}}))}return out}function getLayoutAttributes(){var layoutAttributes={};var key,_module;extendDeepAll(layoutAttributes,baseLayoutAttributes);for(key in Registry.subplotsRegistry){_module=Registry.subplotsRegistry[key];if(!_module.layoutAttributes)continue;if(Array.isArray(_module.attr)){for(var i=0;i<_module.attr.length;i++){handleBasePlotModule(layoutAttributes,_module,_module.attr[i])}}else{var astr=_module.attr==="subplot"?_module.name:_module.attr;handleBasePlotModule(layoutAttributes,_module,astr)}}for(key in Registry.componentsRegistry){_module=Registry.componentsRegistry[key];var schema=_module.schema;if(schema&&(schema.subplots||schema.layout)){var subplots=schema.subplots;if(subplots&&subplots.xaxis&&!subplots.yaxis){for(var xkey in subplots.xaxis){delete layoutAttributes.yaxis[xkey]}}}else if(_module.name==="colorscale"){extendDeepAll(layoutAttributes,_module.layoutAttributes)}else if(_module.layoutAttributes){insertAttrs(layoutAttributes,_module.layoutAttributes,_module.name)}}return{layoutAttributes:formatAttributes(layoutAttributes)}}function getTransformAttributes(type){var _module=Registry.transformsRegistry[type];var attributes=extendDeepAll({},_module.attributes);Object.keys(Registry.componentsRegistry).forEach((function(k){var _module=Registry.componentsRegistry[k];if(_module.schema&&_module.schema.transforms&&_module.schema.transforms[type]){Object.keys(_module.schema.transforms[type]).forEach((function(v){insertAttrs(attributes,_module.schema.transforms[type][v],v)}))}}));return{attributes:formatAttributes(attributes)}}function getFramesAttributes(){var attrs={frames:extendDeepAll({},frameAttributes)};formatAttributes(attrs);return attrs.frames}function formatAttributes(attrs){mergeValTypeAndRole(attrs);formatArrayContainers(attrs);stringify(attrs);return attrs}function mergeValTypeAndRole(attrs){function makeSrcAttr(attrName){return{valType:"string",editType:"none"}}function callback(attr,attrName,attrs){if(exports.isValObject(attr)){if(attr.arrayOk===true||attr.valType==="data_array"){attrs[attrName+"src"]=makeSrcAttr(attrName)}}else if(isPlainObject(attr)){attr.role="object"}}exports.crawl(attrs,callback)}function formatArrayContainers(attrs){function callback(attr,attrName,attrs){if(!attr)return;var itemName=attr[IS_LINKED_TO_ARRAY];if(!itemName)return;delete attr[IS_LINKED_TO_ARRAY];attrs[attrName]={items:{}};attrs[attrName].items[itemName]=attr;attrs[attrName].role="object"}exports.crawl(attrs,callback)}function stringify(attrs){function walk(attr){for(var k in attr){if(isPlainObject(attr[k])){walk(attr[k])}else if(Array.isArray(attr[k])){for(var i=0;i<attr[k].length;i++){walk(attr[k][i])}}else{if(attr[k]instanceof RegExp){attr[k]=attr[k].toString()}}}}walk(attrs)}function handleBasePlotModule(layoutAttributes,_module,astr){var np=nestedProperty(layoutAttributes,astr);var attrs=extendDeepAll({},_module.layoutAttributes);attrs[IS_SUBPLOT_OBJ]=true;np.set(attrs)}function insertAttrs(baseAttrs,newAttrs,astr){var np=nestedProperty(baseAttrs,astr);np.set(extendDeepAll(np.get()||{},newAttrs))}},{"../lib":803,"../plots/animation_attributes":848,"../plots/attributes":850,"../plots/frame_attributes":884,"../plots/layout_attributes":908,"../registry":931,"./edit_types":836,"./plot_config":841}],843:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var plotAttributes=_dereq_("../plots/attributes");var TEMPLATEITEMNAME="templateitemname";var templateAttrs={name:{valType:"string",editType:"none"}};templateAttrs[TEMPLATEITEMNAME]={valType:"string",editType:"calc"};exports.templatedArray=function(name,attrs){attrs._isLinkedToArray=name;attrs.name=templateAttrs.name;attrs[TEMPLATEITEMNAME]=templateAttrs[TEMPLATEITEMNAME];return attrs};exports.traceTemplater=function(dataTemplate){var traceCounts={};var traceType,typeTemplates;for(traceType in dataTemplate){typeTemplates=dataTemplate[traceType];if(Array.isArray(typeTemplates)&&typeTemplates.length){traceCounts[traceType]=0}}function newTrace(traceIn){traceType=Lib.coerce(traceIn,{},plotAttributes,"type");var traceOut={type:traceType,_template:null};if(traceType in traceCounts){typeTemplates=dataTemplate[traceType];var typei=traceCounts[traceType]%typeTemplates.length;traceCounts[traceType]++;traceOut._template=typeTemplates[typei]}else{}return traceOut}return{newTrace:newTrace}};exports.newContainer=function(container,name,baseName){var template=container._template;var part=template&&(template[name]||baseName&&template[baseName]);if(!Lib.isPlainObject(part))part=null;var out=container[name]={_template:part};return out};exports.arrayTemplater=function(container,name,inclusionAttr){var template=container._template;var defaultsTemplate=template&&template[arrayDefaultKey(name)];var templateItems=template&&template[name];if(!Array.isArray(templateItems)||!templateItems.length){templateItems=[]}var usedNames={};function newItem(itemIn){var out={name:itemIn.name,_input:itemIn};var templateItemName=out[TEMPLATEITEMNAME]=itemIn[TEMPLATEITEMNAME];if(!validItemName(templateItemName)){out._template=defaultsTemplate;return out}for(var i=0;i<templateItems.length;i++){var templateItem=templateItems[i];if(templateItem.name===templateItemName){usedNames[templateItemName]=1;out._template=templateItem;return out}}out[inclusionAttr]=itemIn[inclusionAttr]||false;out._template=false;return out}function defaultItems(){var out=[];for(var i=0;i<templateItems.length;i++){var templateItem=templateItems[i];var name=templateItem.name;if(validItemName(name)&&!usedNames[name]){var outi={_template:templateItem,name:name,_input:{_templateitemname:name}};outi[TEMPLATEITEMNAME]=templateItem[TEMPLATEITEMNAME];out.push(outi);usedNames[name]=1}}return out}return{newItem:newItem,defaultItems:defaultItems}};function validItemName(name){return name&&typeof name==="string"}function arrayDefaultKey(name){var lastChar=name.length-1;if(name.charAt(lastChar)!=="s"){Lib.warn("bad argument to arrayDefaultKey: "+name)}return name.substr(0,name.length-1)+"defaults"}exports.arrayDefaultKey=arrayDefaultKey;exports.arrayEditor=function(parentIn,containerStr,itemOut){var lengthIn=(Lib.nestedProperty(parentIn,containerStr).get()||[]).length;var index=itemOut._index;var templateItemName=index>=lengthIn&&(itemOut._input||{})._templateitemname;if(templateItemName)index=lengthIn;var itemStr=containerStr+"["+index+"]";var update;function resetUpdate(){update={};if(templateItemName){update[itemStr]={};update[itemStr][TEMPLATEITEMNAME]=templateItemName}}resetUpdate();function modifyBase(attr,value){update[attr]=value}function modifyItem(attr,value){if(templateItemName){Lib.nestedProperty(update[itemStr],attr).set(value)}else{update[itemStr+"."+attr]=value}}function getUpdateObj(){var updateOut=update;resetUpdate();return updateOut}function applyUpdate(attr,value){if(attr)modifyItem(attr,value);var updateToApply=getUpdateObj();for(var key in updateToApply){Lib.nestedProperty(parentIn,key).set(updateToApply[key])}}return{modifyBase:modifyBase,modifyItem:modifyItem,getUpdateObj:getUpdateObj,applyUpdate:applyUpdate}}},{"../lib":803,"../plots/attributes":850}],844:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../registry");var Plots=_dereq_("../plots/plots");var Lib=_dereq_("../lib");var clearGlCanvases=_dereq_("../lib/clear_gl_canvases");var Color=_dereq_("../components/color");var Drawing=_dereq_("../components/drawing");var Titles=_dereq_("../components/titles");var ModeBar=_dereq_("../components/modebar");var Axes=_dereq_("../plots/cartesian/axes");var alignmentConstants=_dereq_("../constants/alignment");var axisConstraints=_dereq_("../plots/cartesian/constraints");var enforceAxisConstraints=axisConstraints.enforce;var cleanAxisConstraints=axisConstraints.clean;var doAutoRange=_dereq_("../plots/cartesian/autorange").doAutoRange;var SVG_TEXT_ANCHOR_START="start";var SVG_TEXT_ANCHOR_MIDDLE="middle";var SVG_TEXT_ANCHOR_END="end";exports.layoutStyles=function(gd){return Lib.syncOrAsync([Plots.doAutoMargin,lsInner],gd)};function overlappingDomain(xDomain,yDomain,domains){for(var i=0;i<domains.length;i++){var existingX=domains[i][0];var existingY=domains[i][1];if(existingX[0]>=xDomain[1]||existingX[1]<=xDomain[0]){continue}if(existingY[0]<yDomain[1]&&existingY[1]>yDomain[0]){return true}}return false}function lsInner(gd){var fullLayout=gd._fullLayout;var gs=fullLayout._size;var pad=gs.p;var axList=Axes.list(gd,"",true);var i,subplot,plotinfo,ax,xa,ya;fullLayout._paperdiv.style({width:gd._context.responsive&&fullLayout.autosize&&!gd._context._hasZeroWidth&&!gd.layout.width?"100%":fullLayout.width+"px",height:gd._context.responsive&&fullLayout.autosize&&!gd._context._hasZeroHeight&&!gd.layout.height?"100%":fullLayout.height+"px"}).selectAll(".main-svg").call(Drawing.setSize,fullLayout.width,fullLayout.height);gd._context.setBackground(gd,fullLayout.paper_bgcolor);exports.drawMainTitle(gd);ModeBar.manage(gd);if(!fullLayout._has("cartesian")){return Plots.previousPromises(gd)}function getLinePosition(ax,counterAx,side){var lwHalf=ax._lw/2;if(ax._id.charAt(0)==="x"){if(!counterAx)return gs.t+gs.h*(1-(ax.position||0))+lwHalf%1;else if(side==="top")return counterAx._offset-pad-lwHalf;return counterAx._offset+counterAx._length+pad+lwHalf}if(!counterAx)return gs.l+gs.w*(ax.position||0)+lwHalf%1;else if(side==="right")return counterAx._offset+counterAx._length+pad+lwHalf;return counterAx._offset-pad-lwHalf}for(i=0;i<axList.length;i++){ax=axList[i];var counterAx=ax._anchorAxis;ax._linepositions={};ax._lw=Drawing.crispRound(gd,ax.linewidth,1);ax._mainLinePosition=getLinePosition(ax,counterAx,ax.side);ax._mainMirrorPosition=ax.mirror&&counterAx?getLinePosition(ax,counterAx,alignmentConstants.OPPOSITE_SIDE[ax.side]):null}var lowerBackgroundIDs=[];var backgroundIds=[];var lowerDomains=[];var noNeedForBg=Color.opacity(fullLayout.paper_bgcolor)===1&&Color.opacity(fullLayout.plot_bgcolor)===1&&fullLayout.paper_bgcolor===fullLayout.plot_bgcolor;for(subplot in fullLayout._plots){plotinfo=fullLayout._plots[subplot];if(plotinfo.mainplot){if(plotinfo.bg){plotinfo.bg.remove()}plotinfo.bg=undefined}else{var xDomain=plotinfo.xaxis.domain;var yDomain=plotinfo.yaxis.domain;var plotgroup=plotinfo.plotgroup;if(overlappingDomain(xDomain,yDomain,lowerDomains)){var pgNode=plotgroup.node();var plotgroupBg=plotinfo.bg=Lib.ensureSingle(plotgroup,"rect","bg");pgNode.insertBefore(plotgroupBg.node(),pgNode.childNodes[0]);backgroundIds.push(subplot)}else{plotgroup.select("rect.bg").remove();lowerDomains.push([xDomain,yDomain]);if(!noNeedForBg){lowerBackgroundIDs.push(subplot);backgroundIds.push(subplot)}}}}var lowerBackgrounds=fullLayout._bgLayer.selectAll(".bg").data(lowerBackgroundIDs);lowerBackgrounds.enter().append("rect").classed("bg",true);lowerBackgrounds.exit().remove();lowerBackgrounds.each((function(subplot){fullLayout._plots[subplot].bg=d3.select(this)}));for(i=0;i<backgroundIds.length;i++){plotinfo=fullLayout._plots[backgroundIds[i]];xa=plotinfo.xaxis;ya=plotinfo.yaxis;if(plotinfo.bg&&xa._offset!==undefined&&ya._offset!==undefined){plotinfo.bg.call(Drawing.setRect,xa._offset-pad,ya._offset-pad,xa._length+2*pad,ya._length+2*pad).call(Color.fill,fullLayout.plot_bgcolor).style("stroke-width",0)}}if(!fullLayout._hasOnlyLargeSploms){for(subplot in fullLayout._plots){plotinfo=fullLayout._plots[subplot];xa=plotinfo.xaxis;ya=plotinfo.yaxis;var clipId=plotinfo.clipId="clip"+fullLayout._uid+subplot+"plot";var plotClip=Lib.ensureSingleById(fullLayout._clips,"clipPath",clipId,(function(s){s.classed("plotclip",true).append("rect")}));plotinfo.clipRect=plotClip.select("rect").attr({width:xa._length,height:ya._length});Drawing.setTranslate(plotinfo.plot,xa._offset,ya._offset);var plotClipId;var layerClipId;if(plotinfo._hasClipOnAxisFalse){plotClipId=null;layerClipId=clipId}else{plotClipId=clipId;layerClipId=null}Drawing.setClipUrl(plotinfo.plot,plotClipId,gd);plotinfo.layerClipId=layerClipId}}var xLinesXLeft,xLinesXRight,xLinesYBottom,xLinesYTop,leftYLineWidth,rightYLineWidth;var yLinesYBottom,yLinesYTop,yLinesXLeft,yLinesXRight,connectYBottom,connectYTop;var extraSubplot;function xLinePath(y){return"M"+xLinesXLeft+","+y+"H"+xLinesXRight}function xLinePathFree(y){return"M"+xa._offset+","+y+"h"+xa._length}function yLinePath(x){return"M"+x+","+yLinesYTop+"V"+yLinesYBottom}function yLinePathFree(x){return"M"+x+","+ya._offset+"v"+ya._length}function mainPath(ax,pathFn,pathFnFree){if(!ax.showline||subplot!==ax._mainSubplot)return"";if(!ax._anchorAxis)return pathFnFree(ax._mainLinePosition);var out=pathFn(ax._mainLinePosition);if(ax.mirror)out+=pathFn(ax._mainMirrorPosition);return out}for(subplot in fullLayout._plots){plotinfo=fullLayout._plots[subplot];xa=plotinfo.xaxis;ya=plotinfo.yaxis;var xPath="M0,0";if(shouldShowLinesOrTicks(xa,subplot)){leftYLineWidth=findCounterAxisLineWidth(xa,"left",ya,axList);xLinesXLeft=xa._offset-(leftYLineWidth?pad+leftYLineWidth:0);rightYLineWidth=findCounterAxisLineWidth(xa,"right",ya,axList);xLinesXRight=xa._offset+xa._length+(rightYLineWidth?pad+rightYLineWidth:0);xLinesYBottom=getLinePosition(xa,ya,"bottom");xLinesYTop=getLinePosition(xa,ya,"top");extraSubplot=!xa._anchorAxis||subplot!==xa._mainSubplot;if(extraSubplot&&(xa.mirror==="allticks"||xa.mirror==="all")){xa._linepositions[subplot]=[xLinesYBottom,xLinesYTop]}xPath=mainPath(xa,xLinePath,xLinePathFree);if(extraSubplot&&xa.showline&&(xa.mirror==="all"||xa.mirror==="allticks")){xPath+=xLinePath(xLinesYBottom)+xLinePath(xLinesYTop)}plotinfo.xlines.style("stroke-width",xa._lw+"px").call(Color.stroke,xa.showline?xa.linecolor:"rgba(0,0,0,0)")}plotinfo.xlines.attr("d",xPath);var yPath="M0,0";if(shouldShowLinesOrTicks(ya,subplot)){connectYBottom=findCounterAxisLineWidth(ya,"bottom",xa,axList);yLinesYBottom=ya._offset+ya._length+(connectYBottom?pad:0);connectYTop=findCounterAxisLineWidth(ya,"top",xa,axList);yLinesYTop=ya._offset-(connectYTop?pad:0);yLinesXLeft=getLinePosition(ya,xa,"left");yLinesXRight=getLinePosition(ya,xa,"right");extraSubplot=!ya._anchorAxis||subplot!==ya._mainSubplot;if(extraSubplot&&(ya.mirror==="allticks"||ya.mirror==="all")){ya._linepositions[subplot]=[yLinesXLeft,yLinesXRight]}yPath=mainPath(ya,yLinePath,yLinePathFree);if(extraSubplot&&ya.showline&&(ya.mirror==="all"||ya.mirror==="allticks")){yPath+=yLinePath(yLinesXLeft)+yLinePath(yLinesXRight)}plotinfo.ylines.style("stroke-width",ya._lw+"px").call(Color.stroke,ya.showline?ya.linecolor:"rgba(0,0,0,0)")}plotinfo.ylines.attr("d",yPath)}Axes.makeClipPaths(gd);return Plots.previousPromises(gd)}function shouldShowLinesOrTicks(ax,subplot){return(ax.ticks||ax.showline)&&(subplot===ax._mainSubplot||ax.mirror==="all"||ax.mirror==="allticks")}function shouldShowLineThisSide(ax,side,counterAx){if(!counterAx.showline||!counterAx._lw)return false;if(counterAx.mirror==="all"||counterAx.mirror==="allticks")return true;var anchorAx=counterAx._anchorAxis;if(!anchorAx)return false;var sideIndex=alignmentConstants.FROM_BL[side];if(counterAx.side===side){return anchorAx.domain[sideIndex]===ax.domain[sideIndex]}return counterAx.mirror&&anchorAx.domain[1-sideIndex]===ax.domain[1-sideIndex]}function findCounterAxisLineWidth(ax,side,counterAx,axList){if(shouldShowLineThisSide(ax,side,counterAx)){return counterAx._lw}for(var i=0;i<axList.length;i++){var axi=axList[i];if(axi._mainAxis===counterAx._mainAxis&&shouldShowLineThisSide(ax,side,axi)){return axi._lw}}return 0}exports.drawMainTitle=function(gd){var fullLayout=gd._fullLayout;var textAnchor=getMainTitleTextAnchor(fullLayout);var dy=getMainTitleDy(fullLayout);Titles.draw(gd,"gtitle",{propContainer:fullLayout,propName:"title.text",placeholder:fullLayout._dfltTitle.plot,attributes:{x:getMainTitleX(fullLayout,textAnchor),y:getMainTitleY(fullLayout,dy),"text-anchor":textAnchor,dy:dy}})};function getMainTitleX(fullLayout,textAnchor){var title=fullLayout.title;var gs=fullLayout._size;var hPadShift=0;if(textAnchor===SVG_TEXT_ANCHOR_START){hPadShift=title.pad.l}else if(textAnchor===SVG_TEXT_ANCHOR_END){hPadShift=-title.pad.r}switch(title.xref){case"paper":return gs.l+gs.w*title.x+hPadShift;case"container":default:return fullLayout.width*title.x+hPadShift}}function getMainTitleY(fullLayout,dy){var title=fullLayout.title;var gs=fullLayout._size;var vPadShift=0;if(dy==="0em"||!dy){vPadShift=-title.pad.b}else if(dy===alignmentConstants.CAP_SHIFT+"em"){vPadShift=title.pad.t}if(title.y==="auto"){return gs.t/2}else{switch(title.yref){case"paper":return gs.t+gs.h-gs.h*title.y+vPadShift;case"container":default:return fullLayout.height-fullLayout.height*title.y+vPadShift}}}function getMainTitleTextAnchor(fullLayout){var title=fullLayout.title;var textAnchor=SVG_TEXT_ANCHOR_MIDDLE;if(Lib.isRightAnchor(title)){textAnchor=SVG_TEXT_ANCHOR_END}else if(Lib.isLeftAnchor(title)){textAnchor=SVG_TEXT_ANCHOR_START}return textAnchor}function getMainTitleDy(fullLayout){var title=fullLayout.title;var dy="0em";if(Lib.isTopAnchor(title)){dy=alignmentConstants.CAP_SHIFT+"em"}else if(Lib.isMiddleAnchor(title)){dy=alignmentConstants.MID_SHIFT+"em"}return dy}exports.doTraceStyle=function(gd){var calcdata=gd.calcdata;var editStyleCalls=[];var i;for(i=0;i<calcdata.length;i++){var cd=calcdata[i];var cd0=cd[0]||{};var trace=cd0.trace||{};var _module=trace._module||{};var arraysToCalcdata=_module.arraysToCalcdata;if(arraysToCalcdata)arraysToCalcdata(cd,trace);var editStyle=_module.editStyle;if(editStyle)editStyleCalls.push({fn:editStyle,cd0:cd0})}if(editStyleCalls.length){for(i=0;i<editStyleCalls.length;i++){var edit=editStyleCalls[i];edit.fn(gd,edit.cd0)}clearGlCanvases(gd);exports.redrawReglTraces(gd)}Plots.style(gd);Registry.getComponentMethod("legend","draw")(gd);return Plots.previousPromises(gd)};exports.doColorBars=function(gd){Registry.getComponentMethod("colorbar","draw")(gd);return Plots.previousPromises(gd)};exports.layoutReplot=function(gd){var layout=gd.layout;gd.layout=undefined;return Registry.call("_doPlot",gd,"",layout)};exports.doLegend=function(gd){Registry.getComponentMethod("legend","draw")(gd);return Plots.previousPromises(gd)};exports.doTicksRelayout=function(gd){Axes.draw(gd,"redraw");if(gd._fullLayout._hasOnlyLargeSploms){Registry.subplotsRegistry.splom.updateGrid(gd);clearGlCanvases(gd);exports.redrawReglTraces(gd)}exports.drawMainTitle(gd);return Plots.previousPromises(gd)};exports.doModeBar=function(gd){var fullLayout=gd._fullLayout;ModeBar.manage(gd);for(var i=0;i<fullLayout._basePlotModules.length;i++){var updateFx=fullLayout._basePlotModules[i].updateFx;if(updateFx)updateFx(gd)}return Plots.previousPromises(gd)};exports.doCamera=function(gd){var fullLayout=gd._fullLayout;var sceneIds=fullLayout._subplots.gl3d;for(var i=0;i<sceneIds.length;i++){var sceneLayout=fullLayout[sceneIds[i]];var scene=sceneLayout._scene;scene.setViewport(sceneLayout)}};exports.drawData=function(gd){var fullLayout=gd._fullLayout;clearGlCanvases(gd);var basePlotModules=fullLayout._basePlotModules;for(var i=0;i<basePlotModules.length;i++){basePlotModules[i].plot(gd)}exports.redrawReglTraces(gd);Plots.style(gd);Registry.getComponentMethod("shapes","draw")(gd);Registry.getComponentMethod("annotations","draw")(gd);Registry.getComponentMethod("images","draw")(gd);fullLayout._replotting=false;return Plots.previousPromises(gd)};exports.redrawReglTraces=function(gd){var fullLayout=gd._fullLayout;if(fullLayout._has("regl")){var fullData=gd._fullData;var cartesianIds=[];var polarIds=[];var i,sp;if(fullLayout._hasOnlyLargeSploms){fullLayout._splomGrid.draw()}for(i=0;i<fullData.length;i++){var trace=fullData[i];if(trace.visible===true&&trace._length!==0){if(trace.type==="splom"){fullLayout._splomScenes[trace.uid].draw()}else if(trace.type==="scattergl"){Lib.pushUnique(cartesianIds,trace.xaxis+trace.yaxis)}else if(trace.type==="scatterpolargl"){Lib.pushUnique(polarIds,trace.subplot)}}}for(i=0;i<cartesianIds.length;i++){sp=fullLayout._plots[cartesianIds[i]];if(sp._scene)sp._scene.draw()}for(i=0;i<polarIds.length;i++){sp=fullLayout[polarIds[i]]._subplot;if(sp._scene)sp._scene.draw()}}};exports.doAutoRangeAndConstraints=function(gd){var axList=Axes.list(gd,"",true);var ax;var autoRangeDone={};for(var i=0;i<axList.length;i++){ax=axList[i];if(!autoRangeDone[ax._id]){autoRangeDone[ax._id]=1;cleanAxisConstraints(gd,ax);doAutoRange(gd,ax);var matchGroup=ax._matchGroup;if(matchGroup){for(var id2 in matchGroup){var ax2=Axes.getFromId(gd,id2);doAutoRange(gd,ax2,ax.range);autoRangeDone[id2]=1}}}}enforceAxisConstraints(gd)};exports.finalDraw=function(gd){Registry.getComponentMethod("rangeslider","draw")(gd);Registry.getComponentMethod("rangeselector","draw")(gd)};exports.drawMarginPushers=function(gd){Registry.getComponentMethod("legend","draw")(gd);Registry.getComponentMethod("rangeselector","draw")(gd);Registry.getComponentMethod("sliders","draw")(gd);Registry.getComponentMethod("updatemenus","draw")(gd);Registry.getComponentMethod("colorbar","draw")(gd)}},{"../components/color":666,"../components/drawing":688,"../components/modebar":729,"../components/titles":764,"../constants/alignment":771,"../lib":803,"../lib/clear_gl_canvases":787,"../plots/cartesian/autorange":853,"../plots/cartesian/axes":854,"../plots/cartesian/constraints":862,"../plots/plots":917,"../registry":931,"@plotly/d3":58}],845:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var isPlainObject=Lib.isPlainObject;var PlotSchema=_dereq_("./plot_schema");var Plots=_dereq_("../plots/plots");var plotAttributes=_dereq_("../plots/attributes");var Template=_dereq_("./plot_template");var dfltConfig=_dereq_("./plot_config").dfltConfig;exports.makeTemplate=function(figure){figure=Lib.isPlainObject(figure)?figure:Lib.getGraphDiv(figure);figure=Lib.extendDeep({_context:dfltConfig},{data:figure.data,layout:figure.layout});Plots.supplyDefaults(figure);var data=figure.data||[];var layout=figure.layout||{};layout._basePlotModules=figure._fullLayout._basePlotModules;layout._modules=figure._fullLayout._modules;var template={data:{},layout:{}};data.forEach((function(trace){var traceTemplate={};walkStyleKeys(trace,traceTemplate,getTraceInfo.bind(null,trace));var traceType=Lib.coerce(trace,{},plotAttributes,"type");var typeTemplates=template.data[traceType];if(!typeTemplates)typeTemplates=template.data[traceType]=[];typeTemplates.push(traceTemplate)}));walkStyleKeys(layout,template.layout,getLayoutInfo.bind(null,layout));delete template.layout.template;var oldTemplate=layout.template;if(isPlainObject(oldTemplate)){var oldLayoutTemplate=oldTemplate.layout;var i,traceType,oldTypeTemplates,oldTypeLen,typeTemplates,typeLen;if(isPlainObject(oldLayoutTemplate)){mergeTemplates(oldLayoutTemplate,template.layout)}var oldDataTemplate=oldTemplate.data;if(isPlainObject(oldDataTemplate)){for(traceType in template.data){oldTypeTemplates=oldDataTemplate[traceType];if(Array.isArray(oldTypeTemplates)){typeTemplates=template.data[traceType];typeLen=typeTemplates.length;oldTypeLen=oldTypeTemplates.length;for(i=0;i<typeLen;i++){mergeTemplates(oldTypeTemplates[i%oldTypeLen],typeTemplates[i])}for(i=typeLen;i<oldTypeLen;i++){typeTemplates.push(Lib.extendDeep({},oldTypeTemplates[i]))}}}for(traceType in oldDataTemplate){if(!(traceType in template.data)){template.data[traceType]=Lib.extendDeep([],oldDataTemplate[traceType])}}}}return template};function mergeTemplates(oldTemplate,newTemplate){oldTemplate=Lib.extendDeep({},oldTemplate);var oldKeys=Object.keys(oldTemplate).sort();var i,j;function mergeOne(oldVal,newVal,key){if(isPlainObject(newVal)&&isPlainObject(oldVal)){mergeTemplates(oldVal,newVal)}else if(Array.isArray(newVal)&&Array.isArray(oldVal)){var templater=Template.arrayTemplater({_template:oldTemplate},key);for(j=0;j<newVal.length;j++){var item=newVal[j];var oldItem=templater.newItem(item)._template;if(oldItem)mergeTemplates(oldItem,item)}var defaultItems=templater.defaultItems();for(j=0;j<defaultItems.length;j++)newVal.push(defaultItems[j]._template);for(j=0;j<newVal.length;j++)delete newVal[j].templateitemname}}for(i=0;i<oldKeys.length;i++){var key=oldKeys[i];var oldVal=oldTemplate[key];if(key in newTemplate){mergeOne(oldVal,newTemplate[key],key)}else newTemplate[key]=oldVal;if(getBaseKey(key)===key){for(var key2 in newTemplate){var baseKey2=getBaseKey(key2);if(key2!==baseKey2&&baseKey2===key&&!(key2 in oldTemplate)){mergeOne(oldVal,newTemplate[key2],key)}}}}}function getBaseKey(key){return key.replace(/[0-9]+$/,"")}function walkStyleKeys(parent,templateOut,getAttributeInfo,path,basePath){var pathAttr=basePath&&getAttributeInfo(basePath);for(var key in parent){var child=parent[key];var nextPath=getNextPath(parent,key,path);var nextBasePath=getNextPath(parent,key,basePath);var attr=getAttributeInfo(nextBasePath);if(!attr){var baseKey=getBaseKey(key);if(baseKey!==key){nextBasePath=getNextPath(parent,baseKey,basePath);attr=getAttributeInfo(nextBasePath)}}if(pathAttr&&pathAttr===attr)continue;if(!attr||attr._noTemplating||attr.valType==="data_array"||attr.arrayOk&&Array.isArray(child)){continue}if(!attr.valType&&isPlainObject(child)){walkStyleKeys(child,templateOut,getAttributeInfo,nextPath,nextBasePath)}else if(attr._isLinkedToArray&&Array.isArray(child)){var dfltDone=false;var namedIndex=0;var usedNames={};for(var i=0;i<child.length;i++){var item=child[i];if(isPlainObject(item)){var name=item.name;if(name){if(!usedNames[name]){walkStyleKeys(item,templateOut,getAttributeInfo,getNextPath(child,namedIndex,nextPath),getNextPath(child,namedIndex,nextBasePath));namedIndex++;usedNames[name]=1}}else if(!dfltDone){var dfltKey=Template.arrayDefaultKey(key);var dfltPath=getNextPath(parent,dfltKey,path);var pathInArray=getNextPath(child,namedIndex,nextPath);walkStyleKeys(item,templateOut,getAttributeInfo,pathInArray,getNextPath(child,namedIndex,nextBasePath));var itemPropInArray=Lib.nestedProperty(templateOut,pathInArray);var dfltProp=Lib.nestedProperty(templateOut,dfltPath);dfltProp.set(itemPropInArray.get());itemPropInArray.set(null);dfltDone=true}}}}else{var templateProp=Lib.nestedProperty(templateOut,nextPath);templateProp.set(child)}}}function getLayoutInfo(layout,path){return PlotSchema.getLayoutValObject(layout,Lib.nestedProperty({},path).parts)}function getTraceInfo(trace,path){return PlotSchema.getTraceValObject(trace,Lib.nestedProperty({},path).parts)}function getNextPath(parent,key,path){var nextPath;if(!path)nextPath=key;else if(Array.isArray(parent))nextPath=path+"["+key+"]";else nextPath=path+"."+key;return nextPath}exports.validateTemplate=function(figureIn,template){var figure=Lib.extendDeep({},{_context:dfltConfig,data:figureIn.data,layout:figureIn.layout});var layout=figure.layout||{};if(!isPlainObject(template))template=layout.template||{};var layoutTemplate=template.layout;var dataTemplate=template.data;var errorList=[];figure.layout=layout;figure.layout.template=template;Plots.supplyDefaults(figure);var fullLayout=figure._fullLayout;var fullData=figure._fullData;var layoutPaths={};function crawlLayoutForContainers(obj,paths){for(var key in obj){if(key.charAt(0)!=="_"&&isPlainObject(obj[key])){var baseKey=getBaseKey(key);var nextPaths=[];var i;for(i=0;i<paths.length;i++){nextPaths.push(getNextPath(obj,key,paths[i]));if(baseKey!==key)nextPaths.push(getNextPath(obj,baseKey,paths[i]))}for(i=0;i<nextPaths.length;i++){layoutPaths[nextPaths[i]]=1}crawlLayoutForContainers(obj[key],nextPaths)}}}function crawlLayoutTemplateForContainers(obj,path){for(var key in obj){if(key.indexOf("defaults")===-1&&isPlainObject(obj[key])){var nextPath=getNextPath(obj,key,path);if(layoutPaths[nextPath]){crawlLayoutTemplateForContainers(obj[key],nextPath)}else{errorList.push({code:"unused",path:nextPath})}}}}if(!isPlainObject(layoutTemplate)){errorList.push({code:"layout"})}else{crawlLayoutForContainers(fullLayout,["layout"]);crawlLayoutTemplateForContainers(layoutTemplate,"layout")}if(!isPlainObject(dataTemplate)){errorList.push({code:"data"})}else{var typeCount={};var traceType;for(var i=0;i<fullData.length;i++){var fullTrace=fullData[i];traceType=fullTrace.type;typeCount[traceType]=(typeCount[traceType]||0)+1;if(!fullTrace._fullInput._template){errorList.push({code:"missing",index:fullTrace._fullInput.index,traceType:traceType})}}for(traceType in dataTemplate){var templateCount=dataTemplate[traceType].length;var dataCount=typeCount[traceType]||0;if(templateCount>dataCount){errorList.push({code:"unused",traceType:traceType,templateCount:templateCount,dataCount:dataCount})}else if(dataCount>templateCount){errorList.push({code:"reused",traceType:traceType,templateCount:templateCount,dataCount:dataCount})}}}function crawlForMissingTemplates(obj,path){for(var key in obj){if(key.charAt(0)==="_")continue;var val=obj[key];var nextPath=getNextPath(obj,key,path);if(isPlainObject(val)){if(Array.isArray(obj)&&val._template===false&&val.templateitemname){errorList.push({code:"missing",path:nextPath,templateitemname:val.templateitemname})}crawlForMissingTemplates(val,nextPath)}else if(Array.isArray(val)&&hasPlainObject(val)){crawlForMissingTemplates(val,nextPath)}}}crawlForMissingTemplates({data:fullData,layout:fullLayout},"");if(errorList.length)return errorList.map(format)};function hasPlainObject(arr){for(var i=0;i<arr.length;i++){if(isPlainObject(arr[i]))return true}}function format(opts){var msg;switch(opts.code){case"data":msg="The template has no key data.";break;case"layout":msg="The template has no key layout.";break;case"missing":if(opts.path){msg="There are no templates for item "+opts.path+" with name "+opts.templateitemname}else{msg="There are no templates for trace "+opts.index+", of type "+opts.traceType+"."}break;case"unused":if(opts.path){msg="The template item at "+opts.path+" was not used in constructing the plot."}else if(opts.dataCount){msg="Some of the templates of type "+opts.traceType+" were not used. The template has "+opts.templateCount+" traces, the data only has "+opts.dataCount+" of this type."}else{msg="The template has "+opts.templateCount+" traces of type "+opts.traceType+" but there are none in the data."}break;case"reused":msg="Some of the templates of type "+opts.traceType+" were used more than once. The template has "+opts.templateCount+" traces, the data has "+opts.dataCount+" of this type.";break}opts.msg=msg;return opts}},{"../lib":803,"../plots/attributes":850,"../plots/plots":917,"./plot_config":841,"./plot_schema":842,"./plot_template":843}],846:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var plotApi=_dereq_("./plot_api");var plots=_dereq_("../plots/plots");var Lib=_dereq_("../lib");var helpers=_dereq_("../snapshot/helpers");var toSVG=_dereq_("../snapshot/tosvg");var svgToImg=_dereq_("../snapshot/svgtoimg");var version=_dereq_("../version").version;var attrs={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:false},imageDataOnly:{valType:"boolean",dflt:false}};function toImage(gd,opts){opts=opts||{};var data;var layout;var config;var fullLayout;if(Lib.isPlainObject(gd)){data=gd.data||[];layout=gd.layout||{};config=gd.config||{};fullLayout={}}else{gd=Lib.getGraphDiv(gd);data=Lib.extendDeep([],gd.data);layout=Lib.extendDeep({},gd.layout);config=gd._context;fullLayout=gd._fullLayout||{}}function isImpliedOrValid(attr){return!(attr in opts)||Lib.validate(opts[attr],attrs[attr])}if(!isImpliedOrValid("width")&&opts.width!==null||!isImpliedOrValid("height")&&opts.height!==null){throw new Error("Height and width should be pixel values.")}if(!isImpliedOrValid("format")){throw new Error("Export format is not "+Lib.join2(attrs.format.values,", "," or ")+".")}var fullOpts={};function coerce(attr,dflt){return Lib.coerce(opts,fullOpts,attrs,attr,dflt)}var format=coerce("format");var width=coerce("width");var height=coerce("height");var scale=coerce("scale");var setBackground=coerce("setBackground");var imageDataOnly=coerce("imageDataOnly");var clonedGd=document.createElement("div");clonedGd.style.position="absolute";clonedGd.style.left="-5000px";document.body.appendChild(clonedGd);var layoutImage=Lib.extendFlat({},layout);if(width){layoutImage.width=width}else if(opts.width===null&&isNumeric(fullLayout.width)){layoutImage.width=fullLayout.width}if(height){layoutImage.height=height}else if(opts.height===null&&isNumeric(fullLayout.height)){layoutImage.height=fullLayout.height}var configImage=Lib.extendFlat({},config,{_exportedPlot:true,staticPlot:true,setBackground:setBackground});var redrawFunc=helpers.getRedrawFunc(clonedGd);function wait(){return new Promise((function(resolve){setTimeout(resolve,helpers.getDelay(clonedGd._fullLayout))}))}function convert(){return new Promise((function(resolve,reject){var svg=toSVG(clonedGd,format,scale);var width=clonedGd._fullLayout.width;var height=clonedGd._fullLayout.height;function cleanup(){plotApi.purge(clonedGd);document.body.removeChild(clonedGd)}if(format==="full-json"){var json=plots.graphJson(clonedGd,false,"keepdata","object",true,true);json.version=version;json=JSON.stringify(json);cleanup();if(imageDataOnly){return resolve(json)}else{return resolve(helpers.encodeJSON(json))}}cleanup();if(format==="svg"){if(imageDataOnly){return resolve(svg)}else{return resolve(helpers.encodeSVG(svg))}}var canvas=document.createElement("canvas");canvas.id=Lib.randstr();svgToImg({format:format,width:width,height:height,scale:scale,canvas:canvas,svg:svg,promise:true}).then(resolve).catch(reject)}))}function urlToImageData(url){if(imageDataOnly){return url.replace(helpers.IMAGE_URL_PREFIX,"")}else{return url}}return new Promise((function(resolve,reject){plotApi.newPlot(clonedGd,data,layoutImage,configImage).then(redrawFunc).then(wait).then(convert).then((function(url){resolve(urlToImageData(url))})).catch((function(err){reject(err)}))}))}module.exports=toImage},{"../lib":803,"../plots/plots":917,"../snapshot/helpers":935,"../snapshot/svgtoimg":937,"../snapshot/tosvg":939,"../version":1404,"./plot_api":840,"fast-isnumeric":249}],847:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var Plots=_dereq_("../plots/plots");var PlotSchema=_dereq_("./plot_schema");var dfltConfig=_dereq_("./plot_config").dfltConfig;var isPlainObject=Lib.isPlainObject;var isArray=Array.isArray;var isArrayOrTypedArray=Lib.isArrayOrTypedArray;module.exports=function validate(data,layout){if(data===undefined)data=[];if(layout===undefined)layout={};var schema=PlotSchema.get();var errorList=[];var gd={_context:Lib.extendFlat({},dfltConfig)};var dataIn,layoutIn;if(isArray(data)){gd.data=Lib.extendDeep([],data);dataIn=data}else{gd.data=[];dataIn=[];errorList.push(format("array","data"))}if(isPlainObject(layout)){gd.layout=Lib.extendDeep({},layout);layoutIn=layout}else{gd.layout={};layoutIn={};if(arguments.length>1){errorList.push(format("object","layout"))}}Plots.supplyDefaults(gd);var dataOut=gd._fullData;var len=dataIn.length;for(var i=0;i<len;i++){var traceIn=dataIn[i];var base=["data",i];if(!isPlainObject(traceIn)){errorList.push(format("object",base));continue}var traceOut=dataOut[i];var traceType=traceOut.type;var traceSchema=schema.traces[traceType].attributes;traceSchema.type={valType:"enumerated",values:[traceType]};if(traceOut.visible===false&&traceIn.visible!==false){errorList.push(format("invisible",base))}crawl(traceIn,traceOut,traceSchema,errorList,base);var transformsIn=traceIn.transforms;var transformsOut=traceOut.transforms;if(transformsIn){if(!isArray(transformsIn)){errorList.push(format("array",base,["transforms"]))}base.push("transforms");for(var j=0;j<transformsIn.length;j++){var path=["transforms",j];var transformType=transformsIn[j].type;if(!isPlainObject(transformsIn[j])){errorList.push(format("object",base,path));continue}var transformSchema=schema.transforms[transformType]?schema.transforms[transformType].attributes:{};transformSchema.type={valType:"enumerated",values:Object.keys(schema.transforms)};crawl(transformsIn[j],transformsOut[j],transformSchema,errorList,base,path)}}}var layoutOut=gd._fullLayout;var layoutSchema=fillLayoutSchema(schema,dataOut);crawl(layoutIn,layoutOut,layoutSchema,errorList,"layout");return errorList.length===0?void 0:errorList};function crawl(objIn,objOut,schema,list,base,path){path=path||[];var keys=Object.keys(objIn);for(var i=0;i<keys.length;i++){var k=keys[i];if(k==="transforms")continue;var p=path.slice();p.push(k);var valIn=objIn[k];var valOut=objOut[k];var nestedSchema=getNestedSchema(schema,k);var nestedValType=(nestedSchema||{}).valType;var isInfoArray=nestedValType==="info_array";var isColorscale=nestedValType==="colorscale";var items=(nestedSchema||{}).items;if(!isInSchema(schema,k)){list.push(format("schema",base,p))}else if(isPlainObject(valIn)&&isPlainObject(valOut)&&nestedValType!=="any"){crawl(valIn,valOut,nestedSchema,list,base,p)}else if(isInfoArray&&isArray(valIn)){if(valIn.length>valOut.length){list.push(format("unused",base,p.concat(valOut.length)))}var len=valOut.length;var arrayItems=Array.isArray(items);if(arrayItems)len=Math.min(len,items.length);var m,n,item,valInPart,valOutPart;if(nestedSchema.dimensions===2){for(n=0;n<len;n++){if(isArray(valIn[n])){if(valIn[n].length>valOut[n].length){list.push(format("unused",base,p.concat(n,valOut[n].length)))}var len2=valOut[n].length;for(m=0;m<(arrayItems?Math.min(len2,items[n].length):len2);m++){item=arrayItems?items[n][m]:items;valInPart=valIn[n][m];valOutPart=valOut[n][m];if(!Lib.validate(valInPart,item)){list.push(format("value",base,p.concat(n,m),valInPart))}else if(valOutPart!==valInPart&&valOutPart!==+valInPart){list.push(format("dynamic",base,p.concat(n,m),valInPart,valOutPart))}}}else{list.push(format("array",base,p.concat(n),valIn[n]))}}}else{for(n=0;n<len;n++){item=arrayItems?items[n]:items;valInPart=valIn[n];valOutPart=valOut[n];if(!Lib.validate(valInPart,item)){list.push(format("value",base,p.concat(n),valInPart))}else if(valOutPart!==valInPart&&valOutPart!==+valInPart){list.push(format("dynamic",base,p.concat(n),valInPart,valOutPart))}}}}else if(nestedSchema.items&&!isInfoArray&&isArray(valIn)){var _nestedSchema=items[Object.keys(items)[0]];var indexList=[];var j,_p;for(j=0;j<valOut.length;j++){var _index=valOut[j]._index||j;_p=p.slice();_p.push(_index);if(isPlainObject(valIn[_index])&&isPlainObject(valOut[j])){indexList.push(_index);var valInj=valIn[_index];var valOutj=valOut[j];if(isPlainObject(valInj)&&valInj.visible!==false&&valOutj.visible===false){list.push(format("invisible",base,_p))}else crawl(valInj,valOutj,_nestedSchema,list,base,_p)}}for(j=0;j<valIn.length;j++){_p=p.slice();_p.push(j);if(!isPlainObject(valIn[j])){list.push(format("object",base,_p,valIn[j]))}else if(indexList.indexOf(j)===-1){list.push(format("unused",base,_p))}}}else if(!isPlainObject(valIn)&&isPlainObject(valOut)){list.push(format("object",base,p,valIn))}else if(!isArrayOrTypedArray(valIn)&&isArrayOrTypedArray(valOut)&&!isInfoArray&&!isColorscale){list.push(format("array",base,p,valIn))}else if(!(k in objOut)){list.push(format("unused",base,p,valIn))}else if(!Lib.validate(valIn,nestedSchema)){list.push(format("value",base,p,valIn))}else if(nestedSchema.valType==="enumerated"&&(nestedSchema.coerceNumber&&valIn!==+valOut||valIn!==valOut)){list.push(format("dynamic",base,p,valIn,valOut))}}return list}function fillLayoutSchema(schema,dataOut){var layoutSchema=schema.layout.layoutAttributes;for(var i=0;i<dataOut.length;i++){var traceOut=dataOut[i];var traceSchema=schema.traces[traceOut.type];var traceLayoutAttr=traceSchema.layoutAttributes;if(traceLayoutAttr){if(traceOut.subplot){Lib.extendFlat(layoutSchema[traceSchema.attributes.subplot.dflt],traceLayoutAttr)}else{Lib.extendFlat(layoutSchema,traceLayoutAttr)}}}return layoutSchema}var code2msgFunc={object:function(base,astr){var prefix;if(base==="layout"&&astr==="")prefix="The layout argument";else if(base[0]==="data"&&astr===""){prefix="Trace "+base[1]+" in the data argument"}else prefix=inBase(base)+"key "+astr;return prefix+" must be linked to an object container"},array:function(base,astr){var prefix;if(base==="data")prefix="The data argument";else prefix=inBase(base)+"key "+astr;return prefix+" must be linked to an array container"},schema:function(base,astr){return inBase(base)+"key "+astr+" is not part of the schema"},unused:function(base,astr,valIn){var target=isPlainObject(valIn)?"container":"key";return inBase(base)+target+" "+astr+" did not get coerced"},dynamic:function(base,astr,valIn,valOut){return[inBase(base)+"key",astr,"(set to '"+valIn+"')","got reset to","'"+valOut+"'","during defaults."].join(" ")},invisible:function(base,astr){return(astr?inBase(base)+"item "+astr:"Trace "+base[1])+" got defaulted to be not visible"},value:function(base,astr,valIn){return[inBase(base)+"key "+astr,"is set to an invalid value ("+valIn+")"].join(" ")}};function inBase(base){if(isArray(base))return"In data trace "+base[1]+", ";return"In "+base+", "}function format(code,base,path,valIn,valOut){path=path||"";var container,trace;if(isArray(base)){container=base[0];trace=base[1]}else{container=base;trace=null}var astr=convertPathToAttributeString(path);var msg=code2msgFunc[code](base,astr,valIn,valOut);Lib.log(msg);return{code:code,container:container,trace:trace,path:path,astr:astr,msg:msg}}function isInSchema(schema,key){var parts=splitKey(key);var keyMinusId=parts.keyMinusId;var id=parts.id;if(keyMinusId in schema&&schema[keyMinusId]._isSubplotObj&&id){return true}return key in schema}function getNestedSchema(schema,key){if(key in schema)return schema[key];var parts=splitKey(key);return schema[parts.keyMinusId]}var idRegex=Lib.counterRegex("([a-z]+)");function splitKey(key){var idMatch=key.match(idRegex);return{keyMinusId:idMatch&&idMatch[1],id:idMatch&&idMatch[2]}}function convertPathToAttributeString(path){if(!isArray(path))return String(path);var astr="";for(var i=0;i<path.length;i++){var p=path[i];if(typeof p==="number"){astr=astr.substr(0,astr.length-1)+"["+p+"]"}else{astr+=p}if(i<path.length-1)astr+="."}return astr}},{"../lib":803,"../plots/plots":917,"./plot_config":841,"./plot_schema":842}],848:[function(_dereq_,module,exports){"use strict";module.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:false},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:true}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}},{}],849:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var Template=_dereq_("../plot_api/plot_template");module.exports=function handleArrayContainerDefaults(parentObjIn,parentObjOut,opts){var name=opts.name;var inclusionAttr=opts.inclusionAttr||"visible";var previousContOut=parentObjOut[name];var contIn=Lib.isArrayOrTypedArray(parentObjIn[name])?parentObjIn[name]:[];var contOut=parentObjOut[name]=[];var templater=Template.arrayTemplater(parentObjOut,name,inclusionAttr);var i,itemOut;for(i=0;i<contIn.length;i++){var itemIn=contIn[i];if(!Lib.isPlainObject(itemIn)){itemOut=templater.newItem({});itemOut[inclusionAttr]=false}else{itemOut=templater.newItem(itemIn)}itemOut._index=i;if(itemOut[inclusionAttr]!==false){opts.handleItemDefaults(itemIn,itemOut,parentObjOut,opts)}contOut.push(itemOut)}var defaultItems=templater.defaultItems();for(i=0;i<defaultItems.length;i++){itemOut=defaultItems[i];itemOut._index=contOut.length;opts.handleItemDefaults({},itemOut,parentObjOut,opts,{});contOut.push(itemOut)}if(Lib.isArrayOrTypedArray(previousContOut)){var len=Math.min(previousContOut.length,contOut.length);for(i=0;i<len;i++){Lib.relinkPrivateKeys(contOut[i],previousContOut[i])}}return contOut}},{"../lib":803,"../plot_api/plot_template":843}],850:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("./font_attributes");var fxAttrs=_dereq_("../components/fx/attributes");module.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:true},visible:{valType:"enumerated",values:[true,false,"legendonly"],dflt:true,editType:"calc"},showlegend:{valType:"boolean",dflt:true,editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style"},font:fontAttrs({editType:"style"}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:true},ids:{valType:"data_array",editType:"calc",anim:true},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:true,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:true,dflt:"all",editType:"none"},hoverlabel:fxAttrs.hoverlabel,stream:{token:{valType:"string",noBlank:true,strict:true,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"},uirevision:{valType:"any",editType:"none"}}},{"../components/fx/attributes":697,"./font_attributes":883}],851:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var dateTime2ms=Lib.dateTime2ms;var incrementMonth=Lib.incrementMonth;var constants=_dereq_("../../constants/numerical");var ONEAVGMONTH=constants.ONEAVGMONTH;module.exports=function alignPeriod(trace,ax,axLetter,vals){if(ax.type!=="date")return{vals:vals};var alignment=trace[axLetter+"periodalignment"];if(!alignment)return{vals:vals};var period=trace[axLetter+"period"];var mPeriod;if(isNumeric(period)){period=+period;if(period<=0)return{vals:vals}}else if(typeof period==="string"&&period.charAt(0)==="M"){var n=+period.substring(1);if(n>0&&Math.round(n)===n){mPeriod=n}else return{vals:vals}}var calendar=ax.calendar;var isStart="start"===alignment;var isEnd="end"===alignment;var period0=trace[axLetter+"period0"];var base=dateTime2ms(period0,calendar)||0;var newVals=[];var starts=[];var ends=[];var len=vals.length;for(var i=0;i<len;i++){var v=vals[i];var nEstimated,startTime,endTime;if(mPeriod){nEstimated=Math.round((v-base)/(mPeriod*ONEAVGMONTH));endTime=incrementMonth(base,mPeriod*nEstimated,calendar);while(endTime>v){endTime=incrementMonth(endTime,-mPeriod,calendar)}while(endTime<=v){endTime=incrementMonth(endTime,mPeriod,calendar)}startTime=incrementMonth(endTime,-mPeriod,calendar)}else{nEstimated=Math.round((v-base)/period);endTime=base+nEstimated*period;while(endTime>v){endTime-=period}while(endTime<=v){endTime+=period}startTime=endTime-period}newVals[i]=isStart?startTime:isEnd?endTime:(startTime+endTime)/2;starts[i]=startTime;ends[i]=endTime}return{vals:newVals,starts:starts,ends:ends}}},{"../../constants/numerical":779,"../../lib":803,"fast-isnumeric":249}],852:[function(_dereq_,module,exports){"use strict";module.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],853:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var FP_SAFE=_dereq_("../../constants/numerical").FP_SAFE;var Registry=_dereq_("../../registry");var Drawing=_dereq_("../../components/drawing");var axIds=_dereq_("./axis_ids");var getFromId=axIds.getFromId;var isLinked=axIds.isLinked;module.exports={getAutoRange:getAutoRange,makePadFn:makePadFn,doAutoRange:doAutoRange,findExtremes:findExtremes,concatExtremes:concatExtremes};function getAutoRange(gd,ax){var i,j;var newRange=[];var fullLayout=gd._fullLayout;var getPadMin=makePadFn(fullLayout,ax,0);var getPadMax=makePadFn(fullLayout,ax,1);var extremes=concatExtremes(gd,ax);var minArray=extremes.min;var maxArray=extremes.max;if(minArray.length===0||maxArray.length===0){return Lib.simpleMap(ax.range,ax.r2l)}var minmin=minArray[0].val;var maxmax=maxArray[0].val;for(i=1;i<minArray.length;i++){if(minmin!==maxmax)break;minmin=Math.min(minmin,minArray[i].val)}for(i=1;i<maxArray.length;i++){if(minmin!==maxmax)break;maxmax=Math.max(maxmax,maxArray[i].val)}var axReverse=false;if(ax.range){var rng=Lib.simpleMap(ax.range,ax.r2l);axReverse=rng[1]<rng[0]}if(ax.autorange==="reversed"){axReverse=true;ax.autorange=true}var rangeMode=ax.rangemode;var toZero=rangeMode==="tozero";var nonNegative=rangeMode==="nonnegative";var axLen=ax._length;var minSpan=axLen/10;var mbest=0;var minpt,maxpt,minbest,maxbest,dp,dv;for(i=0;i<minArray.length;i++){minpt=minArray[i];for(j=0;j<maxArray.length;j++){maxpt=maxArray[j];dv=maxpt.val-minpt.val-calcBreaksLength(ax,minpt.val,maxpt.val);if(dv>0){dp=axLen-getPadMin(minpt)-getPadMax(maxpt);if(dp>minSpan){if(dv/dp>mbest){minbest=minpt;maxbest=maxpt;mbest=dv/dp}}else if(dv/axLen>mbest){minbest={val:minpt.val,nopad:1};maxbest={val:maxpt.val,nopad:1};mbest=dv/axLen}}}}function maximumPad(prev,pt){return Math.max(prev,getPadMax(pt))}if(minmin===maxmax){var lower=minmin-1;var upper=minmin+1;if(toZero){if(minmin===0){newRange=[0,1]}else{var maxPad=(minmin>0?maxArray:minArray).reduce(maximumPad,0);var rangeEnd=minmin/(1-Math.min(.5,maxPad/axLen));newRange=minmin>0?[0,rangeEnd]:[rangeEnd,0]}}else if(nonNegative){newRange=[Math.max(0,lower),Math.max(1,upper)]}else{newRange=[lower,upper]}}else{if(toZero){if(minbest.val>=0){minbest={val:0,nopad:1}}if(maxbest.val<=0){maxbest={val:0,nopad:1}}}else if(nonNegative){if(minbest.val-mbest*getPadMin(minbest)<0){minbest={val:0,nopad:1}}if(maxbest.val<=0){maxbest={val:1,nopad:1}}}mbest=(maxbest.val-minbest.val-calcBreaksLength(ax,minpt.val,maxpt.val))/(axLen-getPadMin(minbest)-getPadMax(maxbest));newRange=[minbest.val-mbest*getPadMin(minbest),maxbest.val+mbest*getPadMax(maxbest)]}if(axReverse)newRange.reverse();return Lib.simpleMap(newRange,ax.l2r||Number)}function calcBreaksLength(ax,v0,v1){var lBreaks=0;if(ax.rangebreaks){var rangebreaksOut=ax.locateBreaks(v0,v1);for(var i=0;i<rangebreaksOut.length;i++){var brk=rangebreaksOut[i];lBreaks+=brk.max-brk.min}}return lBreaks}function makePadFn(fullLayout,ax,max){var extrappad=.05*ax._length;var anchorAxis=ax._anchorAxis||{};if((ax.ticklabelposition||"").indexOf("inside")!==-1||(anchorAxis.ticklabelposition||"").indexOf("inside")!==-1){var axReverse=ax.autorange==="reversed";if(!axReverse){var rng=Lib.simpleMap(ax.range,ax.r2l);axReverse=rng[1]<rng[0]}if(axReverse)max=!max}var zero=0;if(!isLinked(fullLayout,ax._id)){zero=padInsideLabelsOnAnchorAxis(fullLayout,ax,max)}extrappad=Math.max(zero,extrappad);if(ax.constrain==="domain"&&ax._inputDomain){extrappad*=(ax._inputDomain[1]-ax._inputDomain[0])/(ax.domain[1]-ax.domain[0])}return function getPad(pt){if(pt.nopad)return 0;return pt.pad+(pt.extrapad?extrappad:zero)}}var TEXTPAD=3;function padInsideLabelsOnAnchorAxis(fullLayout,ax,max){var pad=0;var isX=ax._id.charAt(0)==="x";for(var subplot in fullLayout._plots){var plotinfo=fullLayout._plots[subplot];if(ax._id!==plotinfo.xaxis._id&&ax._id!==plotinfo.yaxis._id)continue;var anchorAxis=(isX?plotinfo.yaxis:plotinfo.xaxis)||{};if((anchorAxis.ticklabelposition||"").indexOf("inside")!==-1){if(!max&&(anchorAxis.side==="left"||anchorAxis.side==="bottom")||max&&(anchorAxis.side==="top"||anchorAxis.side==="right")){if(anchorAxis._vals){var rad=Lib.deg2rad(anchorAxis._tickAngles[anchorAxis._id+"tick"]||0);var cosA=Math.abs(Math.cos(rad));var sinA=Math.abs(Math.sin(rad));if(!anchorAxis._vals[0].bb){var cls=anchorAxis._id+"tick";var tickLabels=anchorAxis._selections[cls];tickLabels.each((function(d){var thisLabel=d3.select(this);var mathjaxGroup=thisLabel.select(".text-math-group");if(mathjaxGroup.empty()){d.bb=Drawing.bBox(thisLabel.node())}}))}for(var i=0;i<anchorAxis._vals.length;i++){var t=anchorAxis._vals[i];var bb=t.bb;if(bb){var w=2*TEXTPAD+bb.width;var h=2*TEXTPAD+bb.height;pad=Math.max(pad,isX?Math.max(w*cosA,h*sinA):Math.max(h*cosA,w*sinA))}}}if(anchorAxis.ticks==="inside"&&anchorAxis.ticklabelposition==="inside"){pad+=anchorAxis.ticklen||0}}}}return pad}function concatExtremes(gd,ax,noMatch){var axId=ax._id;var fullData=gd._fullData;var fullLayout=gd._fullLayout;var minArray=[];var maxArray=[];var i,j,d;function _concat(cont,indices){for(i=0;i<indices.length;i++){var item=cont[indices[i]];var extremes=(item._extremes||{})[axId];if(item.visible===true&&extremes){for(j=0;j<extremes.min.length;j++){d=extremes.min[j];collapseMinArray(minArray,d.val,d.pad,{extrapad:d.extrapad})}for(j=0;j<extremes.max.length;j++){d=extremes.max[j];collapseMaxArray(maxArray,d.val,d.pad,{extrapad:d.extrapad})}}}}_concat(fullData,ax._traceIndices);_concat(fullLayout.annotations||[],ax._annIndices||[]);_concat(fullLayout.shapes||[],ax._shapeIndices||[]);if(ax._matchGroup&&!noMatch){for(var axId2 in ax._matchGroup){if(axId2!==ax._id){var ax2=getFromId(gd,axId2);var extremes2=concatExtremes(gd,ax2,true);var lenRatio=ax._length/ax2._length;for(j=0;j<extremes2.min.length;j++){d=extremes2.min[j];collapseMinArray(minArray,d.val,d.pad*lenRatio,{extrapad:d.extrapad})}for(j=0;j<extremes2.max.length;j++){d=extremes2.max[j];collapseMaxArray(maxArray,d.val,d.pad*lenRatio,{extrapad:d.extrapad})}}}}return{min:minArray,max:maxArray}}function doAutoRange(gd,ax,presetRange){ax.setScale();if(ax.autorange){ax.range=presetRange?presetRange.slice():getAutoRange(gd,ax);ax._r=ax.range.slice();ax._rl=Lib.simpleMap(ax._r,ax.r2l);var axIn=ax._input;var edits={};edits[ax._attr+".range"]=ax.range;edits[ax._attr+".autorange"]=ax.autorange;Registry.call("_storeDirectGUIEdit",gd.layout,gd._fullLayout._preGUI,edits);axIn.range=ax.range.slice();axIn.autorange=ax.autorange}var anchorAx=ax._anchorAxis;if(anchorAx&&anchorAx.rangeslider){var axeRangeOpts=anchorAx.rangeslider[ax._name];if(axeRangeOpts){if(axeRangeOpts.rangemode==="auto"){axeRangeOpts.range=getAutoRange(gd,ax)}}anchorAx._input.rangeslider[ax._name]=Lib.extendFlat({},axeRangeOpts)}}function findExtremes(ax,data,opts){if(!opts)opts={};if(!ax._m)ax.setScale();var minArray=[];var maxArray=[];var len=data.length;var extrapad=opts.padded||false;var tozero=opts.tozero&&(ax.type==="linear"||ax.type==="-");var isLog=ax.type==="log";var hasArrayOption=false;var vpadLinearized=opts.vpadLinearized||false;var i,v,di,dmin,dmax,ppadiplus,ppadiminus,vmin,vmax;function makePadAccessor(item){if(Array.isArray(item)){hasArrayOption=true;return function(i){return Math.max(Number(item[i]||0),0)}}else{var v=Math.max(Number(item||0),0);return function(){return v}}}var ppadplus=makePadAccessor((ax._m>0?opts.ppadplus:opts.ppadminus)||opts.ppad||0);var ppadminus=makePadAccessor((ax._m>0?opts.ppadminus:opts.ppadplus)||opts.ppad||0);var vpadplus=makePadAccessor(opts.vpadplus||opts.vpad);var vpadminus=makePadAccessor(opts.vpadminus||opts.vpad);if(!hasArrayOption){vmin=Infinity;vmax=-Infinity;if(isLog){for(i=0;i<len;i++){v=data[i];if(v<vmin&&v>0)vmin=v;if(v>vmax&&v<FP_SAFE)vmax=v}}else{for(i=0;i<len;i++){v=data[i];if(v<vmin&&v>-FP_SAFE)vmin=v;if(v>vmax&&v<FP_SAFE)vmax=v}}data=[vmin,vmax];len=2}var collapseOpts={tozero:tozero,extrapad:extrapad};function addItem(i){di=data[i];if(!isNumeric(di))return;ppadiplus=ppadplus(i);ppadiminus=ppadminus(i);if(vpadLinearized){dmin=ax.c2l(di)-vpadminus(i);dmax=ax.c2l(di)+vpadplus(i)}else{vmin=di-vpadminus(i);vmax=di+vpadplus(i);if(isLog&&vmin<vmax/10)vmin=vmax/10;dmin=ax.c2l(vmin);dmax=ax.c2l(vmax)}if(tozero){dmin=Math.min(0,dmin);dmax=Math.max(0,dmax)}if(goodNumber(dmin)){collapseMinArray(minArray,dmin,ppadiminus,collapseOpts)}if(goodNumber(dmax)){collapseMaxArray(maxArray,dmax,ppadiplus,collapseOpts)}}var iMax=Math.min(6,len);for(i=0;i<iMax;i++)addItem(i);for(i=len-1;i>=iMax;i--)addItem(i);return{min:minArray,max:maxArray,opts:opts}}function collapseMinArray(array,newVal,newPad,opts){collapseArray(array,newVal,newPad,opts,lessOrEqual)}function collapseMaxArray(array,newVal,newPad,opts){collapseArray(array,newVal,newPad,opts,greaterOrEqual)}function collapseArray(array,newVal,newPad,opts,atLeastAsExtreme){var tozero=opts.tozero;var extrapad=opts.extrapad;var includeThis=true;for(var j=0;j<array.length&&includeThis;j++){var v=array[j];if(atLeastAsExtreme(v.val,newVal)&&v.pad>=newPad&&(v.extrapad||!extrapad)){includeThis=false;break}else if(atLeastAsExtreme(newVal,v.val)&&v.pad<=newPad&&(extrapad||!v.extrapad)){array.splice(j,1);j--}}if(includeThis){var clipAtZero=tozero&&newVal===0;array.push({val:newVal,pad:clipAtZero?0:newPad,extrapad:clipAtZero?false:extrapad})}}function goodNumber(v){return isNumeric(v)&&Math.abs(v)<FP_SAFE}function lessOrEqual(v0,v1){return v0<=v1}function greaterOrEqual(v0,v1){return v0>=v1}},{"../../components/drawing":688,"../../constants/numerical":779,"../../lib":803,"../../registry":931,"./axis_ids":858,"@plotly/d3":58,"fast-isnumeric":249}],854:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var Plots=_dereq_("../../plots/plots");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Titles=_dereq_("../../components/titles");var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var axAttrs=_dereq_("./layout_attributes");var cleanTicks=_dereq_("./clean_ticks");var constants=_dereq_("../../constants/numerical");var ONEMAXYEAR=constants.ONEMAXYEAR;var ONEAVGYEAR=constants.ONEAVGYEAR;var ONEMINYEAR=constants.ONEMINYEAR;var ONEMAXQUARTER=constants.ONEMAXQUARTER;var ONEAVGQUARTER=constants.ONEAVGQUARTER;var ONEMINQUARTER=constants.ONEMINQUARTER;var ONEMAXMONTH=constants.ONEMAXMONTH;var ONEAVGMONTH=constants.ONEAVGMONTH;var ONEMINMONTH=constants.ONEMINMONTH;var ONEWEEK=constants.ONEWEEK;var ONEDAY=constants.ONEDAY;var HALFDAY=ONEDAY/2;var ONEHOUR=constants.ONEHOUR;var ONEMIN=constants.ONEMIN;var ONESEC=constants.ONESEC;var MINUS_SIGN=constants.MINUS_SIGN;var BADNUM=constants.BADNUM;var ZERO_PATH={K:"zeroline"};var GRID_PATH={K:"gridline",L:"path"};var TICK_PATH={K:"tick",L:"path"};var TICK_TEXT={K:"tick",L:"text"};var alignmentConstants=_dereq_("../../constants/alignment");var MID_SHIFT=alignmentConstants.MID_SHIFT;var CAP_SHIFT=alignmentConstants.CAP_SHIFT;var LINE_SPACING=alignmentConstants.LINE_SPACING;var OPPOSITE_SIDE=alignmentConstants.OPPOSITE_SIDE;var TEXTPAD=3;var axes=module.exports={};axes.setConvert=_dereq_("./set_convert");var autoType=_dereq_("./axis_autotype");var axisIds=_dereq_("./axis_ids");var idSort=axisIds.idSort;var isLinked=axisIds.isLinked;axes.id2name=axisIds.id2name;axes.name2id=axisIds.name2id;axes.cleanId=axisIds.cleanId;axes.list=axisIds.list;axes.listIds=axisIds.listIds;axes.getFromId=axisIds.getFromId;axes.getFromTrace=axisIds.getFromTrace;var autorange=_dereq_("./autorange");axes.getAutoRange=autorange.getAutoRange;axes.findExtremes=autorange.findExtremes;var epsilon=1e-4;function expandRange(range){var delta=(range[1]-range[0])*epsilon;return[range[0]-delta,range[1]+delta]}axes.coerceRef=function(containerIn,containerOut,gd,attr,dflt,extraOption){var axLetter=attr.charAt(attr.length-1);var axlist=gd._fullLayout._subplots[axLetter+"axis"];var refAttr=attr+"ref";var attrDef={};if(!dflt)dflt=axlist[0]||(typeof extraOption==="string"?extraOption:extraOption[0]);if(!extraOption)extraOption=dflt;axlist=axlist.concat(axlist.map((function(x){return x+" domain"})));attrDef[refAttr]={valType:"enumerated",values:axlist.concat(extraOption?typeof extraOption==="string"?[extraOption]:extraOption:[]),dflt:dflt};return Lib.coerce(containerIn,containerOut,attrDef,refAttr)};axes.getRefType=function(ar){if(ar===undefined){return ar}if(ar==="paper"){return"paper"}if(ar==="pixel"){return"pixel"}if(/( domain)$/.test(ar)){return"domain"}else{return"range"}};axes.coercePosition=function(containerOut,gd,coerce,axRef,attr,dflt){var cleanPos,pos;var axRefType=axes.getRefType(axRef);if(axRefType!=="range"){cleanPos=Lib.ensureNumber;pos=coerce(attr,dflt)}else{var ax=axes.getFromId(gd,axRef);dflt=ax.fraction2r(dflt);pos=coerce(attr,dflt);cleanPos=ax.cleanPos}containerOut[attr]=cleanPos(pos)};axes.cleanPosition=function(pos,gd,axRef){var cleanPos=axRef==="paper"||axRef==="pixel"?Lib.ensureNumber:axes.getFromId(gd,axRef).cleanPos;return cleanPos(pos)};axes.redrawComponents=function(gd,axIds){axIds=axIds?axIds:axes.listIds(gd);var fullLayout=gd._fullLayout;function _redrawOneComp(moduleName,methodName,stashName,shortCircuit){var method=Registry.getComponentMethod(moduleName,methodName);var stash={};for(var i=0;i<axIds.length;i++){var ax=fullLayout[axes.id2name(axIds[i])];var indices=ax[stashName];for(var j=0;j<indices.length;j++){var ind=indices[j];if(!stash[ind]){method(gd,ind);stash[ind]=1;if(shortCircuit)return}}}}_redrawOneComp("annotations","drawOne","_annIndices");_redrawOneComp("shapes","drawOne","_shapeIndices");_redrawOneComp("images","draw","_imgIndices",true)};var getDataConversions=axes.getDataConversions=function(gd,trace,target,targetArray){var ax;var d2cTarget=target==="x"||target==="y"||target==="z"?target:targetArray;if(Array.isArray(d2cTarget)){ax={type:autoType(targetArray,undefined,{autotypenumbers:gd._fullLayout.autotypenumbers}),_categories:[]};axes.setConvert(ax);if(ax.type==="category"){for(var i=0;i<targetArray.length;i++){ax.d2c(targetArray[i])}}}else{ax=axes.getFromTrace(gd,trace,d2cTarget)}if(ax)return{d2c:ax.d2c,c2d:ax.c2d};if(d2cTarget==="ids")return{d2c:toString,c2d:toString};return{d2c:toNum,c2d:toNum}};function toNum(v){return+v}function toString(v){return String(v)}axes.getDataToCoordFunc=function(gd,trace,target,targetArray){return getDataConversions(gd,trace,target,targetArray).d2c};axes.counterLetter=function(id){var axLetter=id.charAt(0);if(axLetter==="x")return"y";if(axLetter==="y")return"x"};axes.minDtick=function(ax,newDiff,newFirst,allow){if(["log","category","multicategory"].indexOf(ax.type)!==-1||!allow){ax._minDtick=0}else if(ax._minDtick===undefined){ax._minDtick=newDiff;ax._forceTick0=newFirst}else if(ax._minDtick){if((ax._minDtick/newDiff+1e-6)%1<2e-6&&((newFirst-ax._forceTick0)/newDiff%1+1.000001)%1<2e-6){ax._minDtick=newDiff;ax._forceTick0=newFirst}else if((newDiff/ax._minDtick+1e-6)%1>2e-6||((newFirst-ax._forceTick0)/ax._minDtick%1+1.000001)%1>2e-6){ax._minDtick=0}}};axes.saveRangeInitial=function(gd,overwrite){var axList=axes.list(gd,"",true);var hasOneAxisChanged=false;for(var i=0;i<axList.length;i++){var ax=axList[i];var isNew=ax._rangeInitial===undefined;var hasChanged=isNew||!(ax.range[0]===ax._rangeInitial[0]&&ax.range[1]===ax._rangeInitial[1]);if(isNew&&ax.autorange===false||overwrite&&hasChanged){ax._rangeInitial=ax.range.slice();hasOneAxisChanged=true}}return hasOneAxisChanged};axes.saveShowSpikeInitial=function(gd,overwrite){var axList=axes.list(gd,"",true);var hasOneAxisChanged=false;var allSpikesEnabled="on";for(var i=0;i<axList.length;i++){var ax=axList[i];var isNew=ax._showSpikeInitial===undefined;var hasChanged=isNew||!(ax.showspikes===ax._showspikes);if(isNew||overwrite&&hasChanged){ax._showSpikeInitial=ax.showspikes;hasOneAxisChanged=true}if(allSpikesEnabled==="on"&&!ax.showspikes){allSpikesEnabled="off"}}gd._fullLayout._cartesianSpikesEnabled=allSpikesEnabled;return hasOneAxisChanged};axes.autoBin=function(data,ax,nbins,is2d,calendar,size){var dataMin=Lib.aggNums(Math.min,null,data);var dataMax=Lib.aggNums(Math.max,null,data);if(ax.type==="category"||ax.type==="multicategory"){return{start:dataMin-.5,end:dataMax+.5,size:Math.max(1,Math.round(size)||1),_dataSpan:dataMax-dataMin}}if(!calendar)calendar=ax.calendar;var dummyAx;if(ax.type==="log"){dummyAx={type:"linear",range:[dataMin,dataMax]}}else{dummyAx={type:ax.type,range:Lib.simpleMap([dataMin,dataMax],ax.c2r,0,calendar),calendar:calendar}}axes.setConvert(dummyAx);size=size&&cleanTicks.dtick(size,dummyAx.type);if(size){dummyAx.dtick=size;dummyAx.tick0=cleanTicks.tick0(undefined,dummyAx.type,calendar)}else{var size0;if(nbins)size0=(dataMax-dataMin)/nbins;else{var distinctData=Lib.distinctVals(data);var msexp=Math.pow(10,Math.floor(Math.log(distinctData.minDiff)/Math.LN10));var minSize=msexp*Lib.roundUp(distinctData.minDiff/msexp,[.9,1.9,4.9,9.9],true);size0=Math.max(minSize,2*Lib.stdev(data)/Math.pow(data.length,is2d?.25:.4));if(!isNumeric(size0))size0=1}axes.autoTicks(dummyAx,size0)}var finalSize=dummyAx.dtick;var binStart=axes.tickIncrement(axes.tickFirst(dummyAx),finalSize,"reverse",calendar);var binEnd,bincount;if(typeof finalSize==="number"){binStart=autoShiftNumericBins(binStart,data,dummyAx,dataMin,dataMax);bincount=1+Math.floor((dataMax-binStart)/finalSize);binEnd=binStart+bincount*finalSize}else{if(dummyAx.dtick.charAt(0)==="M"){binStart=autoShiftMonthBins(binStart,data,finalSize,dataMin,calendar)}binEnd=binStart;bincount=0;while(binEnd<=dataMax){binEnd=axes.tickIncrement(binEnd,finalSize,false,calendar);bincount++}}return{start:ax.c2r(binStart,0,calendar),end:ax.c2r(binEnd,0,calendar),size:finalSize,_dataSpan:dataMax-dataMin}};function autoShiftNumericBins(binStart,data,ax,dataMin,dataMax){var edgecount=0;var midcount=0;var intcount=0;var blankCount=0;function nearEdge(v){return(1+(v-binStart)*100/ax.dtick)%100<2}for(var i=0;i<data.length;i++){if(data[i]%1===0)intcount++;else if(!isNumeric(data[i]))blankCount++;if(nearEdge(data[i]))edgecount++;if(nearEdge(data[i]+ax.dtick/2))midcount++}var dataCount=data.length-blankCount;if(intcount===dataCount&&ax.type!=="date"){if(ax.dtick<1){binStart=dataMin-.5*ax.dtick}else{binStart-=.5;if(binStart+ax.dtick<dataMin)binStart+=ax.dtick}}else if(midcount<dataCount*.1){if(edgecount>dataCount*.3||nearEdge(dataMin)||nearEdge(dataMax)){var binshift=ax.dtick/2;binStart+=binStart+binshift<dataMin?binshift:-binshift}}return binStart}function autoShiftMonthBins(binStart,data,dtick,dataMin,calendar){var stats=Lib.findExactDates(data,calendar);var threshold=.8;if(stats.exactDays>threshold){var numMonths=Number(dtick.substr(1));if(stats.exactYears>threshold&&numMonths%12===0){binStart=axes.tickIncrement(binStart,"M6","reverse")+ONEDAY*1.5}else if(stats.exactMonths>threshold){binStart=axes.tickIncrement(binStart,"M1","reverse")+ONEDAY*15.5}else{binStart-=HALFDAY}var nextBinStart=axes.tickIncrement(binStart,dtick);if(nextBinStart<=dataMin)return nextBinStart}return binStart}axes.prepTicks=function(ax,opts){var rng=Lib.simpleMap(ax.range,ax.r2l,undefined,undefined,opts);ax._dtickInit=ax.dtick;ax._tick0Init=ax.tick0;if(ax.tickmode==="auto"||!ax.dtick){var nt=ax.nticks;var minPx;if(!nt){if(ax.type==="category"||ax.type==="multicategory"){minPx=ax.tickfont?Lib.bigFont(ax.tickfont.size||12):15;nt=ax._length/minPx}else{minPx=ax._id.charAt(0)==="y"?40:80;nt=Lib.constrain(ax._length/minPx,4,9)+1}if(ax._name==="radialaxis")nt*=2}if(ax.tickmode==="array")nt*=100;ax._roughDTick=Math.abs(rng[1]-rng[0])/nt;axes.autoTicks(ax,ax._roughDTick);if(ax._minDtick>0&&ax.dtick<ax._minDtick*2){ax.dtick=ax._minDtick;ax.tick0=ax.l2r(ax._forceTick0)}}if(ax.ticklabelmode==="period"){adjustPeriodDelta(ax)}if(!ax.tick0){ax.tick0=ax.type==="date"?"2000-01-01":0}if(ax.type==="date"&&ax.dtick<.1)ax.dtick=.1;autoTickRound(ax)};function nMonths(dtick){return+dtick.substring(1)}function adjustPeriodDelta(ax){var definedDelta;function mDate(){return!(isNumeric(ax.dtick)||ax.dtick.charAt(0)!=="M")}var isMDate=mDate();var tickformat=axes.getTickFormat(ax);if(tickformat){var noDtick=ax._dtickInit!==ax.dtick;if(!/%[fLQsSMX]/.test(tickformat)){if(/%[HI]/.test(tickformat)){definedDelta=ONEHOUR;if(noDtick&&!isMDate&&ax.dtick<ONEHOUR)ax.dtick=ONEHOUR}else if(/%p/.test(tickformat)){definedDelta=HALFDAY;if(noDtick&&!isMDate&&ax.dtick<HALFDAY)ax.dtick=HALFDAY}else if(/%[Aadejuwx]/.test(tickformat)){definedDelta=ONEDAY;if(noDtick&&!isMDate&&ax.dtick<ONEDAY)ax.dtick=ONEDAY}else if(/%[UVW]/.test(tickformat)){definedDelta=ONEWEEK;if(noDtick&&!isMDate&&ax.dtick<ONEWEEK)ax.dtick=ONEWEEK}else if(/%[Bbm]/.test(tickformat)){definedDelta=ONEAVGMONTH;if(noDtick&&(isMDate?nMonths(ax.dtick)<1:ax.dtick<ONEMINMONTH))ax.dtick="M1"}else if(/%[q]/.test(tickformat)){definedDelta=ONEAVGQUARTER;if(noDtick&&(isMDate?nMonths(ax.dtick)<3:ax.dtick<ONEMINQUARTER))ax.dtick="M3"}else if(/%[Yy]/.test(tickformat)){definedDelta=ONEAVGYEAR;if(noDtick&&(isMDate?nMonths(ax.dtick)<12:ax.dtick<ONEMINYEAR))ax.dtick="M12"}}}isMDate=mDate();if(isMDate&&ax.tick0===ax._dowTick0){ax.tick0=ax._rawTick0}ax._definedDelta=definedDelta}function positionPeriodTicks(tickVals,ax,definedDelta){for(var i=0;i<tickVals.length;i++){var v=tickVals[i].value;var a=i;var b=i+1;if(i<tickVals.length-1){a=i;b=i+1}else if(i>0){a=i-1;b=i}else{a=i;b=i}var A=tickVals[a].value;var B=tickVals[b].value;var actualDelta=Math.abs(B-A);var delta=definedDelta||actualDelta;var periodLength=0;if(delta>=ONEMINYEAR){if(actualDelta>=ONEMINYEAR&&actualDelta<=ONEMAXYEAR){periodLength=actualDelta}else{periodLength=ONEAVGYEAR}}else if(definedDelta===ONEAVGQUARTER&&delta>=ONEMINQUARTER){if(actualDelta>=ONEMINQUARTER&&actualDelta<=ONEMAXQUARTER){periodLength=actualDelta}else{periodLength=ONEAVGQUARTER}}else if(delta>=ONEMINMONTH){if(actualDelta>=ONEMINMONTH&&actualDelta<=ONEMAXMONTH){periodLength=actualDelta}else{periodLength=ONEAVGMONTH}}else if(definedDelta===ONEWEEK&&delta>=ONEWEEK){periodLength=ONEWEEK}else if(delta>=ONEDAY){periodLength=ONEDAY}else if(definedDelta===HALFDAY&&delta>=HALFDAY){periodLength=HALFDAY}else if(definedDelta===ONEHOUR&&delta>=ONEHOUR){periodLength=ONEHOUR}var inBetween;if(periodLength>=actualDelta){periodLength=actualDelta;inBetween=true}var endPeriod=v+periodLength;if(ax.rangebreaks&&periodLength>0){var nAll=84;var n=0;for(var c=0;c<nAll;c++){var r=(c+.5)/nAll;if(ax.maskBreaks(v*(1-r)+r*endPeriod)!==BADNUM)n++}periodLength*=n/nAll;if(!periodLength){tickVals[i].drop=true}if(inBetween&&actualDelta>ONEWEEK)periodLength=actualDelta}if(periodLength>0||i===0){tickVals[i].periodX=v+periodLength/2}}}axes.calcTicks=function calcTicks(ax,opts){axes.prepTicks(ax,opts);var rng=Lib.simpleMap(ax.range,ax.r2l,undefined,undefined,opts);if(ax.tickmode==="array")return arrayTicks(ax);var exRng=expandRange(rng);var startTick=exRng[0];var endTick=exRng[1];var axrev=rng[1]<rng[0];var minRange=Math.min(rng[0],rng[1]);var maxRange=Math.max(rng[0],rng[1]);var isDLog=ax.type==="log"&&!(isNumeric(ax.dtick)||ax.dtick.charAt(0)==="L");var isPeriod=ax.ticklabelmode==="period";ax._tmin=axes.tickFirst(ax,opts);if(ax._tmin<startTick!==axrev)return[];if(ax.type==="category"||ax.type==="multicategory"){endTick=axrev?Math.max(-.5,endTick):Math.min(ax._categories.length-.5,endTick)}var x=ax._tmin;if(ax.rangebreaks&&ax._tick0Init!==ax.tick0){x=moveOutsideBreak(x,ax);if(!axrev){x=axes.tickIncrement(x,ax.dtick,!axrev,ax.calendar)}}if(isPeriod){x=axes.tickIncrement(x,ax.dtick,!axrev,ax.calendar)}var maxTicks=Math.max(1e3,ax._length||0);var tickVals=[];var xPrevious=null;for(;axrev?x>=endTick:x<=endTick;x=axes.tickIncrement(x,ax.dtick,axrev,ax.calendar)){if(ax.rangebreaks){if(!axrev){if(x<startTick)continue;if(ax.maskBreaks(x)===BADNUM&&moveOutsideBreak(x,ax)>=maxRange)break}}if(tickVals.length>maxTicks||x===xPrevious)break;xPrevious=x;var minor=false;if(isDLog&&x!==(x|0)){minor=true}tickVals.push({minor:minor,value:x})}if(isPeriod)positionPeriodTicks(tickVals,ax,ax._definedDelta);var i;if(ax.rangebreaks){var flip=ax._id.charAt(0)==="y";var fontSize=1;if(ax.tickmode==="auto"){fontSize=ax.tickfont?ax.tickfont.size:12}var prevL=NaN;for(i=tickVals.length-1;i>-1;i--){if(tickVals[i].drop){tickVals.splice(i,1);continue}tickVals[i].value=moveOutsideBreak(tickVals[i].value,ax);var l=ax.c2p(tickVals[i].value);if(flip?prevL>l-fontSize:prevL<l+fontSize){tickVals.splice(axrev?i+1:i,1)}else{prevL=l}}}if(isAngular(ax)&&Math.abs(rng[1]-rng[0])===360){tickVals.pop()}ax._tmax=(tickVals[tickVals.length-1]||{}).value;ax._prevDateHead="";ax._inCalcTicks=true;var ticksOut=[];var t,p;for(i=0;i<tickVals.length;i++){var _minor=tickVals[i].minor;var _value=tickVals[i].value;t=axes.tickText(ax,_value,false,_minor);p=tickVals[i].periodX;if(p!==undefined){t.periodX=p;if(p>maxRange||p<minRange){if(p>maxRange)t.periodX=maxRange;if(p<minRange)t.periodX=minRange;t.text=" ";ax._prevDateHead=""}}ticksOut.push(t)}ax._inCalcTicks=false;return ticksOut};function arrayTicks(ax){var vals=ax.tickvals;var text=ax.ticktext;var ticksOut=new Array(vals.length);var rng=Lib.simpleMap(ax.range,ax.r2l);var exRng=expandRange(rng);var tickMin=Math.min(exRng[0],exRng[1]);var tickMax=Math.max(exRng[0],exRng[1]);var j=0;if(!Array.isArray(text))text=[];var tickVal2l=ax.type==="category"?ax.d2l_noadd:ax.d2l;if(ax.type==="log"&&String(ax.dtick).charAt(0)!=="L"){ax.dtick="L"+Math.pow(10,Math.floor(Math.min(ax.range[0],ax.range[1]))-1)}for(var i=0;i<vals.length;i++){var vali=tickVal2l(vals[i]);if(vali>tickMin&&vali<tickMax){if(text[i]===undefined)ticksOut[j]=axes.tickText(ax,vali);else ticksOut[j]=tickTextObj(ax,vali,String(text[i]));j++}}if(j<vals.length)ticksOut.splice(j,vals.length-j);if(ax.rangebreaks){ticksOut=ticksOut.filter((function(d){return ax.maskBreaks(d.x)!==BADNUM}))}return ticksOut}var roundBase10=[2,5,10];var roundBase24=[1,2,3,6,12];var roundBase60=[1,2,5,10,15,30];var roundDays=[1,2,3,7,14];var roundLog1=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1];var roundLog2=[-.301,0,.301,.699,1];var roundAngles=[15,30,45,90,180];function roundDTick(roughDTick,base,roundingSet){return base*Lib.roundUp(roughDTick/base,roundingSet)}axes.autoTicks=function(ax,roughDTick){var base;function getBase(v){return Math.pow(v,Math.floor(Math.log(roughDTick)/Math.LN10))}if(ax.type==="date"){ax.tick0=Lib.dateTick0(ax.calendar,0);var roughX2=2*roughDTick;if(roughX2>ONEAVGYEAR){roughDTick/=ONEAVGYEAR;base=getBase(10);ax.dtick="M"+12*roundDTick(roughDTick,base,roundBase10)}else if(roughX2>ONEAVGMONTH){roughDTick/=ONEAVGMONTH;ax.dtick="M"+roundDTick(roughDTick,1,roundBase24)}else if(roughX2>ONEDAY){ax.dtick=roundDTick(roughDTick,ONEDAY,ax._hasDayOfWeekBreaks?[1,2,7,14]:roundDays);var tickformat=axes.getTickFormat(ax);var isPeriod=ax.ticklabelmode==="period";if(isPeriod)ax._rawTick0=ax.tick0;if(/%[uVW]/.test(tickformat)){ax.tick0=Lib.dateTick0(ax.calendar,2)}else{ax.tick0=Lib.dateTick0(ax.calendar,1)}if(isPeriod)ax._dowTick0=ax.tick0}else if(roughX2>ONEHOUR){ax.dtick=roundDTick(roughDTick,ONEHOUR,roundBase24)}else if(roughX2>ONEMIN){ax.dtick=roundDTick(roughDTick,ONEMIN,roundBase60)}else if(roughX2>ONESEC){ax.dtick=roundDTick(roughDTick,ONESEC,roundBase60)}else{base=getBase(10);ax.dtick=roundDTick(roughDTick,base,roundBase10)}}else if(ax.type==="log"){ax.tick0=0;var rng=Lib.simpleMap(ax.range,ax.r2l);if(roughDTick>.7){ax.dtick=Math.ceil(roughDTick)}else if(Math.abs(rng[1]-rng[0])<1){var nt=1.5*Math.abs((rng[1]-rng[0])/roughDTick);roughDTick=Math.abs(Math.pow(10,rng[1])-Math.pow(10,rng[0]))/nt;base=getBase(10);ax.dtick="L"+roundDTick(roughDTick,base,roundBase10)}else{ax.dtick=roughDTick>.3?"D2":"D1"}}else if(ax.type==="category"||ax.type==="multicategory"){ax.tick0=0;ax.dtick=Math.ceil(Math.max(roughDTick,1))}else if(isAngular(ax)){ax.tick0=0;base=1;ax.dtick=roundDTick(roughDTick,base,roundAngles)}else{ax.tick0=0;base=getBase(10);ax.dtick=roundDTick(roughDTick,base,roundBase10)}if(ax.dtick===0)ax.dtick=1;if(!isNumeric(ax.dtick)&&typeof ax.dtick!=="string"){var olddtick=ax.dtick;ax.dtick=1;throw"ax.dtick error: "+String(olddtick)}};function autoTickRound(ax){var dtick=ax.dtick;ax._tickexponent=0;if(!isNumeric(dtick)&&typeof dtick!=="string"){dtick=1}if(ax.type==="category"||ax.type==="multicategory"){ax._tickround=null}if(ax.type==="date"){var tick0ms=ax.r2l(ax.tick0);var tick0str=ax.l2r(tick0ms).replace(/(^-|i)/g,"");var tick0len=tick0str.length;if(String(dtick).charAt(0)==="M"){if(tick0len>10||tick0str.substr(5)!=="01-01")ax._tickround="d";else ax._tickround=+dtick.substr(1)%12===0?"y":"m"}else if(dtick>=ONEDAY&&tick0len<=10||dtick>=ONEDAY*15)ax._tickround="d";else if(dtick>=ONEMIN&&tick0len<=16||dtick>=ONEHOUR)ax._tickround="M";else if(dtick>=ONESEC&&tick0len<=19||dtick>=ONEMIN)ax._tickround="S";else{var tick1len=ax.l2r(tick0ms+dtick).replace(/^-/,"").length;ax._tickround=Math.max(tick0len,tick1len)-20;if(ax._tickround<0)ax._tickround=4}}else if(isNumeric(dtick)||dtick.charAt(0)==="L"){var rng=ax.range.map(ax.r2d||Number);if(!isNumeric(dtick))dtick=Number(dtick.substr(1));ax._tickround=2-Math.floor(Math.log(dtick)/Math.LN10+.01);var maxend=Math.max(Math.abs(rng[0]),Math.abs(rng[1]));var rangeexp=Math.floor(Math.log(maxend)/Math.LN10+.01);var minexponent=ax.minexponent===undefined?3:ax.minexponent;if(Math.abs(rangeexp)>minexponent){if(isSIFormat(ax.exponentformat)&&!beyondSI(rangeexp)){ax._tickexponent=3*Math.round((rangeexp-1)/3)}else ax._tickexponent=rangeexp}}else{ax._tickround=null}}axes.tickIncrement=function(x,dtick,axrev,calendar){var axSign=axrev?-1:1;if(isNumeric(dtick))return Lib.increment(x,axSign*dtick);var tType=dtick.charAt(0);var dtSigned=axSign*Number(dtick.substr(1));if(tType==="M")return Lib.incrementMonth(x,dtSigned,calendar);if(tType==="L")return Math.log(Math.pow(10,x)+dtSigned)/Math.LN10;if(tType==="D"){var tickset=dtick==="D2"?roundLog2:roundLog1;var x2=x+axSign*.01;var frac=Lib.roundUp(Lib.mod(x2,1),tickset,axrev);return Math.floor(x2)+Math.log(d3.round(Math.pow(10,frac),1))/Math.LN10}throw"unrecognized dtick "+String(dtick)};axes.tickFirst=function(ax,opts){var r2l=ax.r2l||Number;var rng=Lib.simpleMap(ax.range,r2l,undefined,undefined,opts);var axrev=rng[1]<rng[0];var sRound=axrev?Math.floor:Math.ceil;var r0=expandRange(rng)[0];var dtick=ax.dtick;var tick0=r2l(ax.tick0);if(isNumeric(dtick)){var tmin=sRound((r0-tick0)/dtick)*dtick+tick0;if(ax.type==="category"||ax.type==="multicategory"){tmin=Lib.constrain(tmin,0,ax._categories.length-1)}return tmin}var tType=dtick.charAt(0);var dtNum=Number(dtick.substr(1));if(tType==="M"){var cnt=0;var t0=tick0;var t1,mult,newDTick;while(cnt<10){t1=axes.tickIncrement(t0,dtick,axrev,ax.calendar);if((t1-r0)*(t0-r0)<=0){if(axrev)return Math.min(t0,t1);return Math.max(t0,t1)}mult=(r0-(t0+t1)/2)/(t1-t0);newDTick=tType+(Math.abs(Math.round(mult))||1)*dtNum;t0=axes.tickIncrement(t0,newDTick,mult<0?!axrev:axrev,ax.calendar);cnt++}Lib.error("tickFirst did not converge",ax);return t0}else if(tType==="L"){return Math.log(sRound((Math.pow(10,r0)-tick0)/dtNum)*dtNum+tick0)/Math.LN10}else if(tType==="D"){var tickset=dtick==="D2"?roundLog2:roundLog1;var frac=Lib.roundUp(Lib.mod(r0,1),tickset,axrev);return Math.floor(r0)+Math.log(d3.round(Math.pow(10,frac),1))/Math.LN10}else throw"unrecognized dtick "+String(dtick)};axes.tickText=function(ax,x,hover,noSuffixPrefix){var out=tickTextObj(ax,x);var arrayMode=ax.tickmode==="array";var extraPrecision=hover||arrayMode;var axType=ax.type;var tickVal2l=axType==="category"?ax.d2l_noadd:ax.d2l;var i;if(arrayMode&&Array.isArray(ax.ticktext)){var rng=Lib.simpleMap(ax.range,ax.r2l);var minDiff=(Math.abs(rng[1]-rng[0])-(ax._lBreaks||0))/1e4;for(i=0;i<ax.ticktext.length;i++){if(Math.abs(x-tickVal2l(ax.tickvals[i]))<minDiff)break}if(i<ax.ticktext.length){out.text=String(ax.ticktext[i]);return out}}function isHidden(showAttr){if(showAttr===undefined)return true;if(hover)return showAttr==="none";var firstOrLast={first:ax._tmin,last:ax._tmax}[showAttr];return showAttr!=="all"&&x!==firstOrLast}var hideexp=hover?"never":ax.exponentformat!=="none"&&isHidden(ax.showexponent)?"hide":"";if(axType==="date")formatDate(ax,out,hover,extraPrecision);else if(axType==="log")formatLog(ax,out,hover,extraPrecision,hideexp);else if(axType==="category")formatCategory(ax,out);else if(axType==="multicategory")formatMultiCategory(ax,out,hover);else if(isAngular(ax))formatAngle(ax,out,hover,extraPrecision,hideexp);else formatLinear(ax,out,hover,extraPrecision,hideexp);if(!noSuffixPrefix){if(ax.tickprefix&&!isHidden(ax.showtickprefix))out.text=ax.tickprefix+out.text;if(ax.ticksuffix&&!isHidden(ax.showticksuffix))out.text+=ax.ticksuffix}if(ax.tickson==="boundaries"||ax.showdividers){var inbounds=function(v){var p=ax.l2p(v);return p>=0&&p<=ax._length?v:null};out.xbnd=[inbounds(out.x-.5),inbounds(out.x+ax.dtick-.5)]}return out};axes.hoverLabelText=function(ax,values,hoverformat){if(hoverformat)ax=Lib.extendFlat({},ax,{hoverformat:hoverformat});var val=Array.isArray(values)?values[0]:values;var val2=Array.isArray(values)?values[1]:undefined;if(val2!==undefined&&val2!==val){return axes.hoverLabelText(ax,val,hoverformat)+" - "+axes.hoverLabelText(ax,val2,hoverformat)}var logOffScale=ax.type==="log"&&val<=0;var tx=axes.tickText(ax,ax.c2l(logOffScale?-val:val),"hover").text;if(logOffScale){return val===0?"0":MINUS_SIGN+tx}return tx};function tickTextObj(ax,x,text){var tf=ax.tickfont||{};return{x:x,dx:0,dy:0,text:text||"",fontSize:tf.size,font:tf.family,fontColor:tf.color}}function formatDate(ax,out,hover,extraPrecision){var tr=ax._tickround;var fmt=hover&&ax.hoverformat||axes.getTickFormat(ax);if(extraPrecision){if(isNumeric(tr))tr=4;else tr={y:"m",m:"d",d:"M",M:"S",S:4}[tr]}var dateStr=Lib.formatDate(out.x,fmt,tr,ax._dateFormat,ax.calendar,ax._extraFormat);var headStr;var splitIndex=dateStr.indexOf("\n");if(splitIndex!==-1){headStr=dateStr.substr(splitIndex+1);dateStr=dateStr.substr(0,splitIndex)}if(extraPrecision){if(dateStr==="00:00:00"||dateStr==="00:00"){dateStr=headStr;headStr=""}else if(dateStr.length===8){dateStr=dateStr.replace(/:00$/,"")}}if(headStr){if(hover){if(tr==="d")dateStr+=", "+headStr;else dateStr=headStr+(dateStr?", "+dateStr:"")}else{if(!ax._inCalcTicks||ax._prevDateHead!==headStr){ax._prevDateHead=headStr;dateStr+="<br>"+headStr}else{var isInside=insideTicklabelposition(ax);var side=ax._realSide||ax.side;if(!isInside&&side==="top"||isInside&&side==="bottom"){dateStr+="<br> "}}}}out.text=dateStr}function formatLog(ax,out,hover,extraPrecision,hideexp){var dtick=ax.dtick;var x=out.x;var tickformat=ax.tickformat;var dtChar0=typeof dtick==="string"&&dtick.charAt(0);if(hideexp==="never"){hideexp=""}if(extraPrecision&&dtChar0!=="L"){dtick="L3";dtChar0="L"}if(tickformat||dtChar0==="L"){out.text=numFormat(Math.pow(10,x),ax,hideexp,extraPrecision)}else if(isNumeric(dtick)||dtChar0==="D"&&Lib.mod(x+.01,1)<.1){var p=Math.round(x);var absP=Math.abs(p);var exponentFormat=ax.exponentformat;if(exponentFormat==="power"||isSIFormat(exponentFormat)&&beyondSI(p)){if(p===0)out.text=1;else if(p===1)out.text="10";else out.text="10<sup>"+(p>1?"":MINUS_SIGN)+absP+"</sup>";out.fontSize*=1.25}else if((exponentFormat==="e"||exponentFormat==="E")&&absP>2){out.text="1"+exponentFormat+(p>0?"+":MINUS_SIGN)+absP}else{out.text=numFormat(Math.pow(10,x),ax,"","fakehover");if(dtick==="D1"&&ax._id.charAt(0)==="y"){out.dy-=out.fontSize/6}}}else if(dtChar0==="D"){out.text=String(Math.round(Math.pow(10,Lib.mod(x,1))));out.fontSize*=.75}else throw"unrecognized dtick "+String(dtick);if(ax.dtick==="D1"){var firstChar=String(out.text).charAt(0);if(firstChar==="0"||firstChar==="1"){if(ax._id.charAt(0)==="y"){out.dx-=out.fontSize/4}else{out.dy+=out.fontSize/2;out.dx+=(ax.range[1]>ax.range[0]?1:-1)*out.fontSize*(x<0?.5:.25)}}}}function formatCategory(ax,out){var tt=ax._categories[Math.round(out.x)];if(tt===undefined)tt="";out.text=String(tt)}function formatMultiCategory(ax,out,hover){var v=Math.round(out.x);var cats=ax._categories[v]||[];var tt=cats[1]===undefined?"":String(cats[1]);var tt2=cats[0]===undefined?"":String(cats[0]);if(hover){out.text=tt2+" - "+tt}else{out.text=tt;out.text2=tt2}}function formatLinear(ax,out,hover,extraPrecision,hideexp){if(hideexp==="never"){hideexp=""}else if(ax.showexponent==="all"&&Math.abs(out.x/ax.dtick)<1e-6){hideexp="hide"}out.text=numFormat(out.x,ax,hideexp,extraPrecision)}function formatAngle(ax,out,hover,extraPrecision,hideexp){if(ax.thetaunit==="radians"&&!hover){var num=out.x/180;if(num===0){out.text="0"}else{var frac=num2frac(num);if(frac[1]>=100){out.text=numFormat(Lib.deg2rad(out.x),ax,hideexp,extraPrecision)}else{var isNeg=out.x<0;if(frac[1]===1){if(frac[0]===1)out.text="π";else out.text=frac[0]+"π"}else{out.text=["<sup>",frac[0],"</sup>","⁄","<sub>",frac[1],"</sub>","π"].join("")}if(isNeg)out.text=MINUS_SIGN+out.text}}}else{out.text=numFormat(out.x,ax,hideexp,extraPrecision)}}function num2frac(num){function almostEq(a,b){return Math.abs(a-b)<=1e-6}function findGCD(a,b){return almostEq(b,0)?a:findGCD(b,a%b)}function findPrecision(n){var e=1;while(!almostEq(Math.round(n*e)/e,n)){e*=10}return e}var precision=findPrecision(num);var number=num*precision;var gcd=Math.abs(findGCD(number,precision));return[Math.round(number/gcd),Math.round(precision/gcd)]}var SIPREFIXES=["f","p","n","μ","m","","k","M","G","T"];function isSIFormat(exponentFormat){return exponentFormat==="SI"||exponentFormat==="B"}function beyondSI(exponent){return exponent>14||exponent<-15}function numFormat(v,ax,fmtoverride,hover){var isNeg=v<0;var tickRound=ax._tickround;var exponentFormat=fmtoverride||ax.exponentformat||"B";var exponent=ax._tickexponent;var tickformat=axes.getTickFormat(ax);var separatethousands=ax.separatethousands;if(hover){var ah={exponentformat:exponentFormat,minexponent:ax.minexponent,dtick:ax.showexponent==="none"?ax.dtick:isNumeric(v)?Math.abs(v)||1:1,range:ax.showexponent==="none"?ax.range.map(ax.r2d):[0,v||1]};autoTickRound(ah);tickRound=(Number(ah._tickround)||0)+4;exponent=ah._tickexponent;if(ax.hoverformat)tickformat=ax.hoverformat}if(tickformat)return ax._numFormat(tickformat)(v).replace(/-/g,MINUS_SIGN);var e=Math.pow(10,-tickRound)/2;if(exponentFormat==="none")exponent=0;v=Math.abs(v);if(v<e){v="0";isNeg=false}else{v+=e;if(exponent){v*=Math.pow(10,-exponent);tickRound+=exponent}if(tickRound===0)v=String(Math.floor(v));else if(tickRound<0){v=String(Math.round(v));v=v.substr(0,v.length+tickRound);for(var i=tickRound;i<0;i++)v+="0"}else{v=String(v);var dp=v.indexOf(".")+1;if(dp)v=v.substr(0,dp+tickRound).replace(/\.?0+$/,"")}v=Lib.numSeparate(v,ax._separators,separatethousands)}if(exponent&&exponentFormat!=="hide"){if(isSIFormat(exponentFormat)&&beyondSI(exponent))exponentFormat="power";var signedExponent;if(exponent<0)signedExponent=MINUS_SIGN+-exponent;else if(exponentFormat!=="power")signedExponent="+"+exponent;else signedExponent=String(exponent);if(exponentFormat==="e"||exponentFormat==="E"){v+=exponentFormat+signedExponent}else if(exponentFormat==="power"){v+="×10<sup>"+signedExponent+"</sup>"}else if(exponentFormat==="B"&&exponent===9){v+="B"}else if(isSIFormat(exponentFormat)){v+=SIPREFIXES[exponent/3+5]}}if(isNeg)return MINUS_SIGN+v;return v}axes.getTickFormat=function(ax){var i;function convertToMs(dtick){return typeof dtick!=="string"?dtick:Number(dtick.replace("M",""))*ONEAVGMONTH}function compareLogTicks(left,right){var priority=["L","D"];if(typeof left===typeof right){if(typeof left==="number"){return left-right}else{var leftPriority=priority.indexOf(left.charAt(0));var rightPriority=priority.indexOf(right.charAt(0));if(leftPriority===rightPriority){return Number(left.replace(/(L|D)/g,""))-Number(right.replace(/(L|D)/g,""))}else{return leftPriority-rightPriority}}}else{return typeof left==="number"?1:-1}}function isProperStop(dtick,range,convert){var convertFn=convert||function(x){return x};var leftDtick=range[0];var rightDtick=range[1];return(!leftDtick&&typeof leftDtick!=="number"||convertFn(leftDtick)<=convertFn(dtick))&&(!rightDtick&&typeof rightDtick!=="number"||convertFn(rightDtick)>=convertFn(dtick))}function isProperLogStop(dtick,range){var isLeftDtickNull=range[0]===null;var isRightDtickNull=range[1]===null;var isDtickInRangeLeft=compareLogTicks(dtick,range[0])>=0;var isDtickInRangeRight=compareLogTicks(dtick,range[1])<=0;return(isLeftDtickNull||isDtickInRangeLeft)&&(isRightDtickNull||isDtickInRangeRight)}var tickstop,stopi;if(ax.tickformatstops&&ax.tickformatstops.length>0){switch(ax.type){case"date":case"linear":{for(i=0;i<ax.tickformatstops.length;i++){stopi=ax.tickformatstops[i];if(stopi.enabled&&isProperStop(ax.dtick,stopi.dtickrange,convertToMs)){tickstop=stopi;break}}break}case"log":{for(i=0;i<ax.tickformatstops.length;i++){stopi=ax.tickformatstops[i];if(stopi.enabled&&isProperLogStop(ax.dtick,stopi.dtickrange)){tickstop=stopi;break}}break}default:}}return tickstop?tickstop.value:ax.tickformat};axes.getSubplots=function(gd,ax){var subplotObj=gd._fullLayout._subplots;var allSubplots=subplotObj.cartesian.concat(subplotObj.gl2d||[]);var out=ax?axes.findSubplotsWithAxis(allSubplots,ax):allSubplots;out.sort((function(a,b){var aParts=a.substr(1).split("y");var bParts=b.substr(1).split("y");if(aParts[0]===bParts[0])return+aParts[1]-+bParts[1];return+aParts[0]-+bParts[0]}));return out};axes.findSubplotsWithAxis=function(subplots,ax){var axMatch=new RegExp(ax._id.charAt(0)==="x"?"^"+ax._id+"y":ax._id+"$");var subplotsWithAx=[];for(var i=0;i<subplots.length;i++){var sp=subplots[i];if(axMatch.test(sp))subplotsWithAx.push(sp)}return subplotsWithAx};axes.makeClipPaths=function(gd){var fullLayout=gd._fullLayout;if(fullLayout._hasOnlyLargeSploms)return;var fullWidth={_offset:0,_length:fullLayout.width,_id:""};var fullHeight={_offset:0,_length:fullLayout.height,_id:""};var xaList=axes.list(gd,"x",true);var yaList=axes.list(gd,"y",true);var clipList=[];var i,j;for(i=0;i<xaList.length;i++){clipList.push({x:xaList[i],y:fullHeight});for(j=0;j<yaList.length;j++){if(i===0)clipList.push({x:fullWidth,y:yaList[j]});clipList.push({x:xaList[i],y:yaList[j]})}}var axClips=fullLayout._clips.selectAll(".axesclip").data(clipList,(function(d){return d.x._id+d.y._id}));axClips.enter().append("clipPath").classed("axesclip",true).attr("id",(function(d){return"clip"+fullLayout._uid+d.x._id+d.y._id})).append("rect");axClips.exit().remove();axClips.each((function(d){d3.select(this).select("rect").attr({x:d.x._offset||0,y:d.y._offset||0,width:d.x._length||1,height:d.y._length||1})}))};axes.draw=function(gd,arg,opts){var fullLayout=gd._fullLayout;if(arg==="redraw"){fullLayout._paper.selectAll("g.subplot").each((function(d){var id=d[0];var plotinfo=fullLayout._plots[id];if(plotinfo){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;plotinfo.xaxislayer.selectAll("."+xa._id+"tick").remove();plotinfo.yaxislayer.selectAll("."+ya._id+"tick").remove();plotinfo.xaxislayer.selectAll("."+xa._id+"tick2").remove();plotinfo.yaxislayer.selectAll("."+ya._id+"tick2").remove();plotinfo.xaxislayer.selectAll("."+xa._id+"divider").remove();plotinfo.yaxislayer.selectAll("."+ya._id+"divider").remove();if(plotinfo.gridlayer)plotinfo.gridlayer.selectAll("path").remove();if(plotinfo.zerolinelayer)plotinfo.zerolinelayer.selectAll("path").remove();fullLayout._infolayer.select(".g-"+xa._id+"title").remove();fullLayout._infolayer.select(".g-"+ya._id+"title").remove()}}))}var axList=!arg||arg==="redraw"?axes.listIds(gd):arg;return Lib.syncOrAsync(axList.map((function(axId){return function(){if(!axId)return;var ax=axes.getFromId(gd,axId);var axDone=axes.drawOne(gd,ax,opts);ax._r=ax.range.slice();ax._rl=Lib.simpleMap(ax._r,ax.r2l);return axDone}})))};axes.drawOne=function(gd,ax,opts){opts=opts||{};var i,sp,plotinfo;ax.setScale();var fullLayout=gd._fullLayout;var axId=ax._id;var axLetter=axId.charAt(0);var counterLetter=axes.counterLetter(axId);var mainPlotinfo=fullLayout._plots[ax._mainSubplot];if(!mainPlotinfo)return;var mainAxLayer=mainPlotinfo[axLetter+"axislayer"];var mainLinePosition=ax._mainLinePosition;var mainMirrorPosition=ax._mainMirrorPosition;var vals=ax._vals=axes.calcTicks(ax);var axInfo=[ax.mirror,mainLinePosition,mainMirrorPosition].join("_");for(i=0;i<vals.length;i++){vals[i].axInfo=axInfo}ax._selections={};if(ax._tickAngles)ax._prevTickAngles=ax._tickAngles;ax._tickAngles={};ax._depth=null;var llbboxes={};function getLabelLevelBbox(suffix){var cls=axId+(suffix||"tick");if(!llbboxes[cls])llbboxes[cls]=calcLabelLevelBbox(ax,cls);return llbboxes[cls]}if(!ax.visible)return;var transTickFn=axes.makeTransTickFn(ax);var transTickLabelFn=axes.makeTransTickLabelFn(ax);var tickVals;var valsClipped;var insideTicks=ax.ticks==="inside";var outsideTicks=ax.ticks==="outside";if(ax.tickson==="boundaries"){var boundaryVals=getBoundaryVals(ax,vals);valsClipped=axes.clipEnds(ax,boundaryVals);tickVals=insideTicks?valsClipped:boundaryVals}else{valsClipped=axes.clipEnds(ax,vals);tickVals=insideTicks&&ax.ticklabelmode!=="period"?valsClipped:vals}var gridVals=ax._gridVals=valsClipped;var dividerVals=getDividerVals(ax,vals);if(!fullLayout._hasOnlyLargeSploms){var subplotsWithAx=ax._subplotsWith;var finishedGrids={};for(i=0;i<subplotsWithAx.length;i++){sp=subplotsWithAx[i];plotinfo=fullLayout._plots[sp];var counterAxis=plotinfo[counterLetter+"axis"];var mainCounterID=counterAxis._mainAxis._id;if(finishedGrids[mainCounterID])continue;finishedGrids[mainCounterID]=1;var gridPath=axLetter==="x"?"M0,"+counterAxis._offset+"v"+counterAxis._length:"M"+counterAxis._offset+",0h"+counterAxis._length;axes.drawGrid(gd,ax,{vals:gridVals,counterAxis:counterAxis,layer:plotinfo.gridlayer.select("."+axId),path:gridPath,transFn:transTickFn});axes.drawZeroLine(gd,ax,{counterAxis:counterAxis,layer:plotinfo.zerolinelayer,path:gridPath,transFn:transTickFn})}}var tickSigns=axes.getTickSigns(ax);var tickSubplots=[];if(ax.ticks){var mainTickPath=axes.makeTickPath(ax,mainLinePosition,tickSigns[2]);var mirrorTickPath;var fullTickPath;if(ax._anchorAxis&&ax.mirror&&ax.mirror!==true){mirrorTickPath=axes.makeTickPath(ax,mainMirrorPosition,tickSigns[3]);fullTickPath=mainTickPath+mirrorTickPath}else{mirrorTickPath="";fullTickPath=mainTickPath}var tickPath;if(ax.showdividers&&outsideTicks&&ax.tickson==="boundaries"){var dividerLookup={};for(i=0;i<dividerVals.length;i++){dividerLookup[dividerVals[i].x]=1}tickPath=function(d){return dividerLookup[d.x]?mirrorTickPath:fullTickPath}}else{tickPath=fullTickPath}axes.drawTicks(gd,ax,{vals:tickVals,layer:mainAxLayer,path:tickPath,transFn:transTickFn});if(ax.mirror==="allticks"){tickSubplots=Object.keys(ax._linepositions||{})}}for(i=0;i<tickSubplots.length;i++){sp=tickSubplots[i];plotinfo=fullLayout._plots[sp];var linepositions=ax._linepositions[sp]||[];var spTickPath=axes.makeTickPath(ax,linepositions[0],tickSigns[0])+axes.makeTickPath(ax,linepositions[1],tickSigns[1]);axes.drawTicks(gd,ax,{vals:tickVals,layer:plotinfo[axLetter+"axislayer"],path:spTickPath,transFn:transTickFn})}var seq=[];seq.push((function(){return axes.drawLabels(gd,ax,{vals:vals,layer:mainAxLayer,plotinfo:plotinfo,transFn:transTickLabelFn,labelFns:axes.makeLabelFns(ax,mainLinePosition)})}));if(ax.type==="multicategory"){var pad={x:2,y:10}[axLetter];seq.push((function(){var bboxKey={x:"height",y:"width"}[axLetter];var standoff=getLabelLevelBbox()[bboxKey]+pad+(ax._tickAngles[axId+"tick"]?ax.tickfont.size*LINE_SPACING:0);return axes.drawLabels(gd,ax,{vals:getSecondaryLabelVals(ax,vals),layer:mainAxLayer,cls:axId+"tick2",repositionOnUpdate:true,secondary:true,transFn:transTickFn,labelFns:axes.makeLabelFns(ax,mainLinePosition+standoff*tickSigns[4])})}));seq.push((function(){ax._depth=tickSigns[4]*(getLabelLevelBbox("tick2")[ax.side]-mainLinePosition);return drawDividers(gd,ax,{vals:dividerVals,layer:mainAxLayer,path:axes.makeTickPath(ax,mainLinePosition,tickSigns[4],ax._depth),transFn:transTickFn})}))}else if(ax.title.hasOwnProperty("standoff")){seq.push((function(){ax._depth=tickSigns[4]*(getLabelLevelBbox()[ax.side]-mainLinePosition)}))}var hasRangeSlider=Registry.getComponentMethod("rangeslider","isVisible")(ax);seq.push((function(){var s=ax.side.charAt(0);var sMirror=OPPOSITE_SIDE[ax.side].charAt(0);var pos=axes.getPxPosition(gd,ax);var outsideTickLen=outsideTicks?ax.ticklen:0;var llbbox;var push;var mirrorPush;var rangeSliderPush;if(ax.automargin||hasRangeSlider){if(ax.type==="multicategory"){llbbox=getLabelLevelBbox("tick2")}else{llbbox=getLabelLevelBbox();if(axLetter==="x"&&s==="b"){ax._depth=Math.max(llbbox.width>0?llbbox.bottom-pos:0,outsideTickLen)}}}if(ax.automargin){push={x:0,y:0,r:0,l:0,t:0,b:0};var domainIndices=[0,1];if(axLetter==="x"){if(s==="b"){push[s]=ax._depth}else{push[s]=ax._depth=Math.max(llbbox.width>0?pos-llbbox.top:0,outsideTickLen);domainIndices.reverse()}if(llbbox.width>0){var rExtra=llbbox.right-(ax._offset+ax._length);if(rExtra>0){push.xr=1;push.r=rExtra}var lExtra=ax._offset-llbbox.left;if(lExtra>0){push.xl=0;push.l=lExtra}}}else{if(s==="l"){push[s]=ax._depth=Math.max(llbbox.height>0?pos-llbbox.left:0,outsideTickLen)}else{push[s]=ax._depth=Math.max(llbbox.height>0?llbbox.right-pos:0,outsideTickLen);domainIndices.reverse()}if(llbbox.height>0){var bExtra=llbbox.bottom-(ax._offset+ax._length);if(bExtra>0){push.yb=0;push.b=bExtra}var tExtra=ax._offset-llbbox.top;if(tExtra>0){push.yt=1;push.t=tExtra}}}push[counterLetter]=ax.anchor==="free"?ax.position:ax._anchorAxis.domain[domainIndices[0]];if(ax.title.text!==fullLayout._dfltTitle[axLetter]){push[s]+=approxTitleDepth(ax)+(ax.title.standoff||0)}if(ax.mirror&&ax.anchor!=="free"){mirrorPush={x:0,y:0,r:0,l:0,t:0,b:0};mirrorPush[sMirror]=ax.linewidth;if(ax.mirror&&ax.mirror!==true)mirrorPush[sMirror]+=outsideTickLen;if(ax.mirror===true||ax.mirror==="ticks"){mirrorPush[counterLetter]=ax._anchorAxis.domain[domainIndices[1]]}else if(ax.mirror==="all"||ax.mirror==="allticks"){mirrorPush[counterLetter]=[ax._counterDomainMin,ax._counterDomainMax][domainIndices[1]]}}}if(hasRangeSlider){rangeSliderPush=Registry.getComponentMethod("rangeslider","autoMarginOpts")(gd,ax)}Plots.autoMargin(gd,axAutoMarginID(ax),push);Plots.autoMargin(gd,axMirrorAutoMarginID(ax),mirrorPush);Plots.autoMargin(gd,rangeSliderAutoMarginID(ax),rangeSliderPush)}));if(!opts.skipTitle&&!(hasRangeSlider&&ax.side==="bottom")){seq.push((function(){return drawTitle(gd,ax)}))}return Lib.syncOrAsync(seq)};function getBoundaryVals(ax,vals){var out=[];var i;var _push=function(d,bndIndex){var xb=d.xbnd[bndIndex];if(xb!==null){out.push(Lib.extendFlat({},d,{x:xb}))}};if(vals.length){for(i=0;i<vals.length;i++){_push(vals[i],0)}_push(vals[i-1],1)}return out}function getSecondaryLabelVals(ax,vals){var out=[];var lookup={};for(var i=0;i<vals.length;i++){var d=vals[i];if(lookup[d.text2]){lookup[d.text2].push(d.x)}else{lookup[d.text2]=[d.x]}}for(var k in lookup){out.push(tickTextObj(ax,Lib.interp(lookup[k],.5),k))}return out}function getDividerVals(ax,vals){var out=[];var i,current;var reversed=vals.length&&vals[vals.length-1].x<vals[0].x;var _push=function(d,bndIndex){var xb=d.xbnd[bndIndex];if(xb!==null){out.push(Lib.extendFlat({},d,{x:xb}))}};if(ax.showdividers&&vals.length){for(i=0;i<vals.length;i++){var d=vals[i];if(d.text2!==current){_push(d,reversed?1:0)}current=d.text2}_push(vals[i-1],reversed?0:1)}return out}function calcLabelLevelBbox(ax,cls){var top,bottom;var left,right;if(ax._selections[cls].size()){top=Infinity;bottom=-Infinity;left=Infinity;right=-Infinity;ax._selections[cls].each((function(){var thisLabel=selectTickLabel(this);var bb=Drawing.bBox(thisLabel.node().parentNode);top=Math.min(top,bb.top);bottom=Math.max(bottom,bb.bottom);left=Math.min(left,bb.left);right=Math.max(right,bb.right)}))}else{top=0;bottom=0;left=0;right=0}return{top:top,bottom:bottom,left:left,right:right,height:bottom-top,width:right-left}}axes.getTickSigns=function(ax){var axLetter=ax._id.charAt(0);var sideOpposite={x:"top",y:"right"}[axLetter];var main=ax.side===sideOpposite?1:-1;var out=[-1,1,main,-main];if(ax.ticks!=="inside"===(axLetter==="x")){out=out.map((function(v){return-v}))}if(ax.side){out.push({l:-1,t:-1,r:1,b:1}[ax.side.charAt(0)])}return out};axes.makeTransTickFn=function(ax){return ax._id.charAt(0)==="x"?function(d){return strTranslate(ax._offset+ax.l2p(d.x),0)}:function(d){return strTranslate(0,ax._offset+ax.l2p(d.x))}};axes.makeTransTickLabelFn=function(ax){var uv=getTickLabelUV(ax);var u=uv[0];var v=uv[1];return ax._id.charAt(0)==="x"?function(d){return strTranslate(u+ax._offset+ax.l2p(getPosX(d)),v)}:function(d){return strTranslate(v,u+ax._offset+ax.l2p(getPosX(d)))}};function getPosX(d){return d.periodX!==undefined?d.periodX:d.x}function getTickLabelUV(ax){var ticklabelposition=ax.ticklabelposition||"";var has=function(str){return ticklabelposition.indexOf(str)!==-1};var isTop=has("top");var isLeft=has("left");var isRight=has("right");var isBottom=has("bottom");var isInside=has("inside");var isAligned=isBottom||isLeft||isTop||isRight;if(!isAligned&&!isInside)return[0,0];var side=ax.side;var u=isAligned?(ax.tickwidth||0)/2:0;var v=TEXTPAD;var fontSize=ax.tickfont?ax.tickfont.size:12;if(isBottom||isTop){u+=fontSize*CAP_SHIFT;v+=(ax.linewidth||0)/2}if(isLeft||isRight){u+=(ax.linewidth||0)/2;v+=TEXTPAD}if(isInside&&side==="top"){v-=fontSize*(1-CAP_SHIFT)}if(isLeft||isTop)u=-u;if(side==="bottom"||side==="right")v=-v;return[isAligned?u:0,isInside?v:0]}axes.makeTickPath=function(ax,shift,sgn,len){len=len!==undefined?len:ax.ticklen;var axLetter=ax._id.charAt(0);var pad=(ax.linewidth||1)/2;return axLetter==="x"?"M0,"+(shift+pad*sgn)+"v"+len*sgn:"M"+(shift+pad*sgn)+",0h"+len*sgn};axes.makeLabelFns=function(ax,shift,angle){var ticklabelposition=ax.ticklabelposition||"";var has=function(str){return ticklabelposition.indexOf(str)!==-1};var isTop=has("top");var isLeft=has("left");var isRight=has("right");var isBottom=has("bottom");var isAligned=isBottom||isLeft||isTop||isRight;var insideTickLabels=has("inside");var labelsOverTicks=ticklabelposition==="inside"&&ax.ticks==="inside"||!insideTickLabels&&ax.ticks==="outside"&&ax.tickson!=="boundaries";var labelStandoff=0;var labelShift=0;var tickLen=labelsOverTicks?ax.ticklen:0;if(insideTickLabels){tickLen*=-1}else if(isAligned){tickLen=0}if(labelsOverTicks){labelStandoff+=tickLen;if(angle){var rad=Lib.deg2rad(angle);labelStandoff=tickLen*Math.cos(rad)+1;labelShift=tickLen*Math.sin(rad)}}if(ax.showticklabels&&(labelsOverTicks||ax.showline)){labelStandoff+=.2*ax.tickfont.size}labelStandoff+=(ax.linewidth||1)/2*(insideTickLabels?-1:1);var out={labelStandoff:labelStandoff,labelShift:labelShift};var x0,y0,ff,flipIt;var xQ=0;var side=ax.side;var axLetter=ax._id.charAt(0);var tickangle=ax.tickangle;var endSide;if(axLetter==="x"){endSide=!insideTickLabels&&side==="bottom"||insideTickLabels&&side==="top";flipIt=endSide?1:-1;if(insideTickLabels)flipIt*=-1;x0=labelShift*flipIt;y0=shift+labelStandoff*flipIt;ff=endSide?1:-.2;if(Math.abs(tickangle)===90){if(insideTickLabels){ff+=MID_SHIFT}else{if(tickangle===-90&&side==="bottom"){ff=CAP_SHIFT}else if(tickangle===90&&side==="top"){ff=MID_SHIFT}else{ff=.5}}xQ=MID_SHIFT/2*(tickangle/90)}out.xFn=function(d){return d.dx+x0+xQ*d.fontSize};out.yFn=function(d){return d.dy+y0+d.fontSize*ff};out.anchorFn=function(d,a){if(isAligned){if(isLeft)return"end";if(isRight)return"start"}if(!isNumeric(a)||a===0||a===180){return"middle"}return a*flipIt<0!==insideTickLabels?"end":"start"};out.heightFn=function(d,a,h){return a<-60||a>60?-.5*h:ax.side==="top"!==insideTickLabels?-h:0}}else if(axLetter==="y"){endSide=!insideTickLabels&&side==="left"||insideTickLabels&&side==="right";flipIt=endSide?1:-1;if(insideTickLabels)flipIt*=-1;x0=labelStandoff;y0=labelShift*flipIt;ff=0;if(!insideTickLabels&&Math.abs(tickangle)===90){if(tickangle===-90&&side==="left"||tickangle===90&&side==="right"){ff=CAP_SHIFT}else{ff=.5}}if(insideTickLabels){var ang=isNumeric(tickangle)?+tickangle:0;if(ang!==0){var rA=Lib.deg2rad(ang);xQ=Math.abs(Math.sin(rA))*CAP_SHIFT*flipIt;ff=0}}out.xFn=function(d){return d.dx+shift-(x0+d.fontSize*ff)*flipIt+xQ*d.fontSize};out.yFn=function(d){return d.dy+y0+d.fontSize*MID_SHIFT};out.anchorFn=function(d,a){if(isNumeric(a)&&Math.abs(a)===90){return"middle"}return endSide?"end":"start"};out.heightFn=function(d,a,h){if(ax.side==="right")a*=-1;return a<-30?-h:a<30?-.5*h:0}}return out};function tickDataFn(d){return[d.text,d.x,d.axInfo,d.font,d.fontSize,d.fontColor].join("_")}axes.drawTicks=function(gd,ax,opts){opts=opts||{};var cls=ax._id+"tick";var vals=opts.vals;if(ax.ticklabelmode==="period"){vals=vals.slice();vals.shift()}var ticks=opts.layer.selectAll("path."+cls).data(ax.ticks?vals:[],tickDataFn);ticks.exit().remove();ticks.enter().append("path").classed(cls,1).classed("ticks",1).classed("crisp",opts.crisp!==false).call(Color.stroke,ax.tickcolor).style("stroke-width",Drawing.crispRound(gd,ax.tickwidth,1)+"px").attr("d",opts.path).style("display",null);hideCounterAxisInsideTickLabels(ax,[TICK_PATH]);ticks.attr("transform",opts.transFn)};axes.drawGrid=function(gd,ax,opts){opts=opts||{};var cls=ax._id+"grid";var vals=opts.vals;var counterAx=opts.counterAxis;if(ax.showgrid===false){vals=[]}else if(counterAx&&axes.shouldShowZeroLine(gd,ax,counterAx)){var isArrayMode=ax.tickmode==="array";for(var i=0;i<vals.length;i++){var xi=vals[i].x;if(isArrayMode?!xi:Math.abs(xi)<ax.dtick/100){vals=vals.slice(0,i).concat(vals.slice(i+1));if(isArrayMode)i--;else break}}}var grid=opts.layer.selectAll("path."+cls).data(vals,tickDataFn);grid.exit().remove();grid.enter().append("path").classed(cls,1).classed("crisp",opts.crisp!==false);ax._gw=Drawing.crispRound(gd,ax.gridwidth,1);grid.attr("transform",opts.transFn).attr("d",opts.path).call(Color.stroke,ax.gridcolor||"#ddd").style("stroke-width",ax._gw+"px").style("display",null);hideCounterAxisInsideTickLabels(ax,[GRID_PATH]);if(typeof opts.path==="function")grid.attr("d",opts.path)};axes.drawZeroLine=function(gd,ax,opts){opts=opts||opts;var cls=ax._id+"zl";var show=axes.shouldShowZeroLine(gd,ax,opts.counterAxis);var zl=opts.layer.selectAll("path."+cls).data(show?[{x:0,id:ax._id}]:[]);zl.exit().remove();zl.enter().append("path").classed(cls,1).classed("zl",1).classed("crisp",opts.crisp!==false).each((function(){opts.layer.selectAll("path").sort((function(da,db){return idSort(da.id,db.id)}))}));zl.attr("transform",opts.transFn).attr("d",opts.path).call(Color.stroke,ax.zerolinecolor||Color.defaultLine).style("stroke-width",Drawing.crispRound(gd,ax.zerolinewidth,ax._gw||1)+"px").style("display",null);hideCounterAxisInsideTickLabels(ax,[ZERO_PATH])};axes.drawLabels=function(gd,ax,opts){opts=opts||{};var fullLayout=gd._fullLayout;var axId=ax._id;var axLetter=axId.charAt(0);var cls=opts.cls||axId+"tick";var vals=opts.vals;var labelFns=opts.labelFns;var tickAngle=opts.secondary?0:ax.tickangle;var prevAngle=(ax._prevTickAngles||{})[cls];var tickLabels=opts.layer.selectAll("g."+cls).data(ax.showticklabels?vals:[],tickDataFn);var labelsReady=[];tickLabels.enter().append("g").classed(cls,1).append("text").attr("text-anchor","middle").each((function(d){var thisLabel=d3.select(this);var newPromise=gd._promises.length;thisLabel.call(svgTextUtils.positionText,labelFns.xFn(d),labelFns.yFn(d)).call(Drawing.font,d.font,d.fontSize,d.fontColor).text(d.text).call(svgTextUtils.convertToTspans,gd);if(gd._promises[newPromise]){labelsReady.push(gd._promises.pop().then((function(){positionLabels(thisLabel,tickAngle)})))}else{positionLabels(thisLabel,tickAngle)}}));hideCounterAxisInsideTickLabels(ax,[TICK_TEXT]);tickLabels.exit().remove();if(opts.repositionOnUpdate){tickLabels.each((function(d){d3.select(this).select("text").call(svgTextUtils.positionText,labelFns.xFn(d),labelFns.yFn(d))}))}function positionLabels(s,angle){s.each((function(d){var thisLabel=d3.select(this);var mathjaxGroup=thisLabel.select(".text-math-group");var anchor=labelFns.anchorFn(d,angle);var transform=opts.transFn.call(thisLabel.node(),d)+(isNumeric(angle)&&+angle!==0?" rotate("+angle+","+labelFns.xFn(d)+","+(labelFns.yFn(d)-d.fontSize/2)+")":"");var nLines=svgTextUtils.lineCount(thisLabel);var lineHeight=LINE_SPACING*d.fontSize;var anchorHeight=labelFns.heightFn(d,isNumeric(angle)?+angle:0,(nLines-1)*lineHeight);if(anchorHeight){transform+=strTranslate(0,anchorHeight)}if(mathjaxGroup.empty()){var thisText=thisLabel.select("text");thisText.attr({transform:transform,"text-anchor":anchor});thisText.style("opacity",1);if(ax._adjustTickLabelsOverflow){ax._adjustTickLabelsOverflow()}}else{var mjWidth=Drawing.bBox(mathjaxGroup.node()).width;var mjShift=mjWidth*{end:-.5,start:.5}[anchor];mathjaxGroup.attr("transform",transform+strTranslate(mjShift,0))}}))}ax._adjustTickLabelsOverflow=function(){var ticklabeloverflow=ax.ticklabeloverflow;if(!ticklabeloverflow||ticklabeloverflow==="allow")return;var hideOverflow=ticklabeloverflow.indexOf("hide")!==-1;var isX=ax._id.charAt(0)==="x";var p0=0;var p1=isX?gd._fullLayout.width:gd._fullLayout.height;if(ticklabeloverflow.indexOf("domain")!==-1){var rl=Lib.simpleMap(ax.range,ax.r2l);p0=ax.l2p(rl[0])+ax._offset;p1=ax.l2p(rl[1])+ax._offset}var min=Math.min(p0,p1);var max=Math.max(p0,p1);var side=ax.side;var visibleLabelMin=Infinity;var visibleLabelMax=-Infinity;tickLabels.each((function(d){var thisLabel=d3.select(this);var mathjaxGroup=thisLabel.select(".text-math-group");if(mathjaxGroup.empty()){var bb=Drawing.bBox(thisLabel.node());var adjust=0;if(isX){if(bb.right>max)adjust=1;else if(bb.left<min)adjust=1}else{if(bb.bottom>max)adjust=1;else if(bb.top+(ax.tickangle?0:d.fontSize/4)<min)adjust=1}var t=thisLabel.select("text");if(adjust){if(hideOverflow)t.style("opacity",0)}else{t.style("opacity",1);if(side==="bottom"||side==="right"){visibleLabelMin=Math.min(visibleLabelMin,isX?bb.top:bb.left)}else{visibleLabelMin=-Infinity}if(side==="top"||side==="left"){visibleLabelMax=Math.max(visibleLabelMax,isX?bb.bottom:bb.right)}else{visibleLabelMax=Infinity}}}}));for(var subplot in fullLayout._plots){var plotinfo=fullLayout._plots[subplot];if(ax._id!==plotinfo.xaxis._id&&ax._id!==plotinfo.yaxis._id)continue;var anchorAx=isX?plotinfo.yaxis:plotinfo.xaxis;if(anchorAx){anchorAx["_visibleLabelMin_"+ax._id]=visibleLabelMin;anchorAx["_visibleLabelMax_"+ax._id]=visibleLabelMax}}};ax._hideCounterAxisInsideTickLabels=function(partialOpts){var isX=ax._id.charAt(0)==="x";var anchoredAxes=[];for(var subplot in fullLayout._plots){var plotinfo=fullLayout._plots[subplot];if(ax._id!==plotinfo.xaxis._id&&ax._id!==plotinfo.yaxis._id)continue;anchoredAxes.push(isX?plotinfo.yaxis:plotinfo.xaxis)}anchoredAxes.forEach((function(anchorAx,idx){if(anchorAx&&insideTicklabelposition(anchorAx)){(partialOpts||[ZERO_PATH,GRID_PATH,TICK_PATH,TICK_TEXT]).forEach((function(e){var isPeriodLabel=e.K==="tick"&&e.L==="text"&&ax.ticklabelmode==="period";var mainPlotinfo=fullLayout._plots[ax._mainSubplot];var sel;if(e.K===ZERO_PATH.K)sel=mainPlotinfo.zerolinelayer.selectAll("."+ax._id+"zl");else if(e.K===GRID_PATH.K)sel=mainPlotinfo.gridlayer.selectAll("."+ax._id);else sel=mainPlotinfo[ax._id.charAt(0)+"axislayer"];sel.each((function(){var w=d3.select(this);if(e.L)w=w.selectAll(e.L);w.each((function(d){var q=ax.l2p(isPeriodLabel?getPosX(d):d.x)+ax._offset;var t=d3.select(this);if(q<ax["_visibleLabelMax_"+anchorAx._id]&&q>ax["_visibleLabelMin_"+anchorAx._id]){t.style("display","none")}else if(e.K==="tick"&&!idx){t.style("display",null)}}))}))}))}}))};positionLabels(tickLabels,prevAngle+1?prevAngle:tickAngle);function allLabelsReady(){return labelsReady.length&&Promise.all(labelsReady)}var autoangle=null;function fixLabelOverlaps(){positionLabels(tickLabels,tickAngle);if(vals.length&&axLetter==="x"&&!isNumeric(tickAngle)&&(ax.type!=="log"||String(ax.dtick).charAt(0)!=="D")){autoangle=0;var maxFontSize=0;var lbbArray=[];var i;tickLabels.each((function(d){maxFontSize=Math.max(maxFontSize,d.fontSize);var x=ax.l2p(d.x);var thisLabel=selectTickLabel(this);var bb=Drawing.bBox(thisLabel.node());lbbArray.push({top:0,bottom:10,height:10,left:x-bb.width/2,right:x+bb.width/2+2,width:bb.width+2})}));if((ax.tickson==="boundaries"||ax.showdividers)&&!opts.secondary){var gap=2;if(ax.ticks)gap+=ax.tickwidth/2;for(i=0;i<lbbArray.length;i++){var xbnd=vals[i].xbnd;var lbb=lbbArray[i];if(xbnd[0]!==null&&lbb.left-ax.l2p(xbnd[0])<gap||xbnd[1]!==null&&ax.l2p(xbnd[1])-lbb.right<gap){autoangle=90;break}}}else{var vLen=vals.length;var tickSpacing=Math.abs((vals[vLen-1].x-vals[0].x)*ax._m)/(vLen-1);var ticklabelposition=ax.ticklabelposition||"";var has=function(str){return ticklabelposition.indexOf(str)!==-1};var isTop=has("top");var isLeft=has("left");var isRight=has("right");var isBottom=has("bottom");var isAligned=isBottom||isLeft||isTop||isRight;var pad=!isAligned?0:(ax.tickwidth||0)+2*TEXTPAD;var rotate90=tickSpacing<maxFontSize*2.5||ax.type==="multicategory";for(i=0;i<lbbArray.length-1;i++){if(Lib.bBoxIntersect(lbbArray[i],lbbArray[i+1],pad)){autoangle=rotate90?90:30;break}}}if(autoangle){positionLabels(tickLabels,autoangle)}}}if(ax._selections){ax._selections[cls]=tickLabels}var seq=[allLabelsReady];if(ax.automargin&&fullLayout._redrawFromAutoMarginCount&&prevAngle===90){autoangle=90;seq.push((function(){positionLabels(tickLabels,prevAngle)}))}else{seq.push(fixLabelOverlaps)}if(ax._tickAngles){seq.push((function(){ax._tickAngles[cls]=autoangle===null?isNumeric(tickAngle)?tickAngle:0:autoangle}))}var anchorAx=ax._anchorAxis;if(anchorAx&&anchorAx.autorange&&insideTicklabelposition(ax)&&!isLinked(fullLayout,ax._id)){if(!fullLayout._insideTickLabelsAutorange){fullLayout._insideTickLabelsAutorange={}}fullLayout._insideTickLabelsAutorange[anchorAx._name+".autorange"]=anchorAx.autorange;seq.push((function computeFinalTickLabelBoundingBoxes(){tickLabels.each((function(d,i){var thisLabel=selectTickLabel(this);var mathjaxGroup=thisLabel.select(".text-math-group");if(mathjaxGroup.empty()){ax._vals[i].bb=Drawing.bBox(thisLabel.node())}}))}))}var done=Lib.syncOrAsync(seq);if(done&&done.then)gd._promises.push(done);return done};function drawDividers(gd,ax,opts){var cls=ax._id+"divider";var vals=opts.vals;var dividers=opts.layer.selectAll("path."+cls).data(vals,tickDataFn);dividers.exit().remove();dividers.enter().insert("path",":first-child").classed(cls,1).classed("crisp",1).call(Color.stroke,ax.dividercolor).style("stroke-width",Drawing.crispRound(gd,ax.dividerwidth,1)+"px");dividers.attr("transform",opts.transFn).attr("d",opts.path)}axes.getPxPosition=function(gd,ax){var gs=gd._fullLayout._size;var axLetter=ax._id.charAt(0);var side=ax.side;var anchorAxis;if(ax.anchor!=="free"){anchorAxis=ax._anchorAxis}else if(axLetter==="x"){anchorAxis={_offset:gs.t+(1-(ax.position||0))*gs.h,_length:0}}else if(axLetter==="y"){anchorAxis={_offset:gs.l+(ax.position||0)*gs.w,_length:0}}if(side==="top"||side==="left"){return anchorAxis._offset}else if(side==="bottom"||side==="right"){return anchorAxis._offset+anchorAxis._length}};function approxTitleDepth(ax){var fontSize=ax.title.font.size;var extraLines=(ax.title.text.match(svgTextUtils.BR_TAG_ALL)||[]).length;if(ax.title.hasOwnProperty("standoff")){return extraLines?fontSize*(CAP_SHIFT+extraLines*LINE_SPACING):fontSize*CAP_SHIFT}else{return extraLines?fontSize*(extraLines+1)*LINE_SPACING:fontSize}}function drawTitle(gd,ax){var fullLayout=gd._fullLayout;var axId=ax._id;var axLetter=axId.charAt(0);var fontSize=ax.title.font.size;var titleStandoff;if(ax.title.hasOwnProperty("standoff")){titleStandoff=ax._depth+ax.title.standoff+approxTitleDepth(ax)}else{var isInside=insideTicklabelposition(ax);if(ax.type==="multicategory"){titleStandoff=ax._depth}else{var offsetBase=1.5*fontSize;if(isInside){offsetBase=.5*fontSize;if(ax.ticks==="outside"){offsetBase+=ax.ticklen}}titleStandoff=10+offsetBase+(ax.linewidth?ax.linewidth-1:0)}if(!isInside){if(axLetter==="x"){titleStandoff+=ax.side==="top"?fontSize*(ax.showticklabels?1:0):fontSize*(ax.showticklabels?1.5:.5)}else{titleStandoff+=ax.side==="right"?fontSize*(ax.showticklabels?1:.5):fontSize*(ax.showticklabels?.5:0)}}}var pos=axes.getPxPosition(gd,ax);var transform,x,y;if(axLetter==="x"){x=ax._offset+ax._length/2;y=ax.side==="top"?pos-titleStandoff:pos+titleStandoff}else{y=ax._offset+ax._length/2;x=ax.side==="right"?pos+titleStandoff:pos-titleStandoff;transform={rotate:"-90",offset:0}}var avoid;if(ax.type!=="multicategory"){var tickLabels=ax._selections[ax._id+"tick"];avoid={selection:tickLabels,side:ax.side};if(tickLabels&&tickLabels.node()&&tickLabels.node().parentNode){var translation=Drawing.getTranslate(tickLabels.node().parentNode);avoid.offsetLeft=translation.x;avoid.offsetTop=translation.y}if(ax.title.hasOwnProperty("standoff")){avoid.pad=0}}return Titles.draw(gd,axId+"title",{propContainer:ax,propName:ax._name+".title.text",placeholder:fullLayout._dfltTitle[axLetter],avoid:avoid,transform:transform,attributes:{x:x,y:y,"text-anchor":"middle"}})}axes.shouldShowZeroLine=function(gd,ax,counterAxis){var rng=Lib.simpleMap(ax.range,ax.r2l);return rng[0]*rng[1]<=0&&ax.zeroline&&(ax.type==="linear"||ax.type==="-")&&!(ax.rangebreaks&&ax.maskBreaks(0)===BADNUM)&&(clipEnds(ax,0)||!anyCounterAxLineAtZero(gd,ax,counterAxis,rng)||hasBarsOrFill(gd,ax))};axes.clipEnds=function(ax,vals){return vals.filter((function(d){return clipEnds(ax,d.x)}))};function clipEnds(ax,l){var p=ax.l2p(l);return p>1&&p<ax._length-1}function anyCounterAxLineAtZero(gd,ax,counterAxis,rng){var mainCounterAxis=counterAxis._mainAxis;if(!mainCounterAxis)return;var fullLayout=gd._fullLayout;var axLetter=ax._id.charAt(0);var counterLetter=axes.counterLetter(ax._id);var zeroPosition=ax._offset+(Math.abs(rng[0])<Math.abs(rng[1])===(axLetter==="x")?0:ax._length);function lineNearZero(ax2){if(!ax2.showline||!ax2.linewidth)return false;var tolerance=Math.max((ax2.linewidth+ax.zerolinewidth)/2,1);function closeEnough(pos2){return typeof pos2==="number"&&Math.abs(pos2-zeroPosition)<tolerance}if(closeEnough(ax2._mainLinePosition)||closeEnough(ax2._mainMirrorPosition)){return true}var linePositions=ax2._linepositions||{};for(var k in linePositions){if(closeEnough(linePositions[k][0])||closeEnough(linePositions[k][1])){return true}}}var plotinfo=fullLayout._plots[counterAxis._mainSubplot];if(!(plotinfo.mainplotinfo||plotinfo).overlays.length){return lineNearZero(counterAxis,zeroPosition)}var counterLetterAxes=axes.list(gd,counterLetter);for(var i=0;i<counterLetterAxes.length;i++){var counterAxis2=counterLetterAxes[i];if(counterAxis2._mainAxis===mainCounterAxis&&lineNearZero(counterAxis2,zeroPosition)){return true}}}function hasBarsOrFill(gd,ax){var fullData=gd._fullData;var subplot=ax._mainSubplot;var axLetter=ax._id.charAt(0);for(var i=0;i<fullData.length;i++){var trace=fullData[i];if(trace.visible===true&&trace.xaxis+trace.yaxis===subplot){if(Registry.traceIs(trace,"bar-like")&&trace.orientation==={x:"h",y:"v"}[axLetter])return true;if(trace.fill&&trace.fill.charAt(trace.fill.length-1)===axLetter)return true}}return false}function selectTickLabel(gTick){var s=d3.select(gTick);var mj=s.select(".text-math-group");return mj.empty()?s.select("text"):mj}axes.allowAutoMargin=function(gd){var axList=axes.list(gd,"",true);for(var i=0;i<axList.length;i++){var ax=axList[i];if(ax.automargin){Plots.allowAutoMargin(gd,axAutoMarginID(ax));if(ax.mirror){Plots.allowAutoMargin(gd,axMirrorAutoMarginID(ax))}}if(Registry.getComponentMethod("rangeslider","isVisible")(ax)){Plots.allowAutoMargin(gd,rangeSliderAutoMarginID(ax))}}};function axAutoMarginID(ax){return ax._id+".automargin"}function axMirrorAutoMarginID(ax){return axAutoMarginID(ax)+".mirror"}function rangeSliderAutoMarginID(ax){return ax._id+".rangeslider"}axes.swap=function(gd,traces){var axGroups=makeAxisGroups(gd,traces);for(var i=0;i<axGroups.length;i++){swapAxisGroup(gd,axGroups[i].x,axGroups[i].y)}};function makeAxisGroups(gd,traces){var groups=[];var i,j;for(i=0;i<traces.length;i++){var groupsi=[];var xi=gd._fullData[traces[i]].xaxis;var yi=gd._fullData[traces[i]].yaxis;if(!xi||!yi)continue;for(j=0;j<groups.length;j++){if(groups[j].x.indexOf(xi)!==-1||groups[j].y.indexOf(yi)!==-1){groupsi.push(j)}}if(!groupsi.length){groups.push({x:[xi],y:[yi]});continue}var group0=groups[groupsi[0]];var groupj;if(groupsi.length>1){for(j=1;j<groupsi.length;j++){groupj=groups[groupsi[j]];mergeAxisGroups(group0.x,groupj.x);mergeAxisGroups(group0.y,groupj.y)}}mergeAxisGroups(group0.x,[xi]);mergeAxisGroups(group0.y,[yi])}return groups}function mergeAxisGroups(intoSet,fromSet){for(var i=0;i<fromSet.length;i++){if(intoSet.indexOf(fromSet[i])===-1)intoSet.push(fromSet[i])}}function swapAxisGroup(gd,xIds,yIds){var xFullAxes=[];var yFullAxes=[];var layout=gd.layout;var i,j;for(i=0;i<xIds.length;i++)xFullAxes.push(axes.getFromId(gd,xIds[i]));for(i=0;i<yIds.length;i++)yFullAxes.push(axes.getFromId(gd,yIds[i]));var allAxKeys=Object.keys(axAttrs);var noSwapAttrs=["anchor","domain","overlaying","position","side","tickangle","editType"];var numericTypes=["linear","log"];for(i=0;i<allAxKeys.length;i++){var keyi=allAxKeys[i];var xVal=xFullAxes[0][keyi];var yVal=yFullAxes[0][keyi];var allEqual=true;var coerceLinearX=false;var coerceLinearY=false;if(keyi.charAt(0)==="_"||typeof xVal==="function"||noSwapAttrs.indexOf(keyi)!==-1){continue}for(j=1;j<xFullAxes.length&&allEqual;j++){var xVali=xFullAxes[j][keyi];if(keyi==="type"&&numericTypes.indexOf(xVal)!==-1&&numericTypes.indexOf(xVali)!==-1&&xVal!==xVali){coerceLinearX=true}else if(xVali!==xVal)allEqual=false}for(j=1;j<yFullAxes.length&&allEqual;j++){var yVali=yFullAxes[j][keyi];if(keyi==="type"&&numericTypes.indexOf(yVal)!==-1&&numericTypes.indexOf(yVali)!==-1&&yVal!==yVali){coerceLinearY=true}else if(yFullAxes[j][keyi]!==yVal)allEqual=false}if(allEqual){if(coerceLinearX)layout[xFullAxes[0]._name].type="linear";if(coerceLinearY)layout[yFullAxes[0]._name].type="linear";swapAxisAttrs(layout,keyi,xFullAxes,yFullAxes,gd._fullLayout._dfltTitle)}}for(i=0;i<gd._fullLayout.annotations.length;i++){var ann=gd._fullLayout.annotations[i];if(xIds.indexOf(ann.xref)!==-1&&yIds.indexOf(ann.yref)!==-1){Lib.swapAttrs(layout.annotations[i],["?"])}}}function swapAxisAttrs(layout,key,xFullAxes,yFullAxes,dfltTitle){var np=Lib.nestedProperty;var xVal=np(layout[xFullAxes[0]._name],key).get();var yVal=np(layout[yFullAxes[0]._name],key).get();var i;if(key==="title"){if(xVal&&xVal.text===dfltTitle.x){xVal.text=dfltTitle.y}if(yVal&&yVal.text===dfltTitle.y){yVal.text=dfltTitle.x}}for(i=0;i<xFullAxes.length;i++){np(layout,xFullAxes[i]._name+"."+key).set(yVal)}for(i=0;i<yFullAxes.length;i++){np(layout,yFullAxes[i]._name+"."+key).set(xVal)}}function isAngular(ax){return ax._id==="angularaxis"}function moveOutsideBreak(v,ax){var len=ax._rangebreaks.length;for(var k=0;k<len;k++){var brk=ax._rangebreaks[k];if(v>=brk.min&&v<brk.max){return brk.max}}return v}function insideTicklabelposition(ax){return(ax.ticklabelposition||"").indexOf("inside")!==-1}function hideCounterAxisInsideTickLabels(ax,opts){if(insideTicklabelposition(ax._anchorAxis||{})){if(ax._hideCounterAxisInsideTickLabels){ax._hideCounterAxisInsideTickLabels(opts)}}}},{"../../components/color":666,"../../components/drawing":688,"../../components/titles":764,"../../constants/alignment":771,"../../constants/numerical":779,"../../lib":803,"../../lib/svg_text_utils":829,"../../plots/plots":917,"../../registry":931,"./autorange":853,"./axis_autotype":855,"./axis_ids":858,"./clean_ticks":860,"./layout_attributes":869,"./set_convert":875,"@plotly/d3":58,"fast-isnumeric":249}],855:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var isArrayOrTypedArray=Lib.isArrayOrTypedArray;var isDateTime=Lib.isDateTime;var cleanNumber=Lib.cleanNumber;var round=Math.round;module.exports=function autoType(array,calendar,opts){var a=array;var noMultiCategory=opts.noMultiCategory;if(isArrayOrTypedArray(a)&&!a.length)return"-";if(!noMultiCategory&&multiCategory(a))return"multicategory";if(noMultiCategory&&Array.isArray(a[0])){var b=[];for(var i=0;i<a.length;i++){if(isArrayOrTypedArray(a[i])){for(var j=0;j<a[i].length;j++){b.push(a[i][j])}}}a=b}if(moreDates(a,calendar))return"date";var convertNumeric=opts.autotypenumbers!=="strict";if(category(a,convertNumeric))return"category";if(linearOK(a,convertNumeric))return"linear";return"-"};function hasTypeNumber(v,convertNumeric){return convertNumeric?isNumeric(v):typeof v==="number"}function linearOK(a,convertNumeric){var len=a.length;for(var i=0;i<len;i++){if(hasTypeNumber(a[i],convertNumeric))return true}return false}function moreDates(a,calendar){var len=a.length;var inc=getIncrement(len);var dats=0;var nums=0;var seen={};for(var f=0;f<len;f+=inc){var i=round(f);var ai=a[i];var stri=String(ai);if(seen[stri])continue;seen[stri]=1;if(isDateTime(ai,calendar))dats++;if(isNumeric(ai))nums++}return dats>nums*2}function getIncrement(len){return Math.max(1,(len-1)/1e3)}function category(a,convertNumeric){var len=a.length;var inc=getIncrement(len);var nums=0;var cats=0;var seen={};for(var f=0;f<len;f+=inc){var i=round(f);var ai=a[i];var stri=String(ai);if(seen[stri])continue;seen[stri]=1;var t=typeof ai;if(t==="boolean")cats++;else if(convertNumeric?cleanNumber(ai)!==BADNUM:t==="number")nums++;else if(t==="string")cats++}return cats>nums*2}function multiCategory(a){return isArrayOrTypedArray(a[0])&&isArrayOrTypedArray(a[1])}},{"../../constants/numerical":779,"../../lib":803,"fast-isnumeric":249}],856:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var handleArrayContainerDefaults=_dereq_("../array_container_defaults");var layoutAttributes=_dereq_("./layout_attributes");var handleTickValueDefaults=_dereq_("./tick_value_defaults");var handleTickMarkDefaults=_dereq_("./tick_mark_defaults");var handleTickLabelDefaults=_dereq_("./tick_label_defaults");var handleCategoryOrderDefaults=_dereq_("./category_order_defaults");var handleLineGridDefaults=_dereq_("./line_grid_defaults");var setConvert=_dereq_("./set_convert");var DAY_OF_WEEK=_dereq_("./constants").WEEKDAY_PATTERN;var HOUR=_dereq_("./constants").HOUR_PATTERN;module.exports=function handleAxisDefaults(containerIn,containerOut,coerce,options,layoutOut){var letter=options.letter;var font=options.font||{};var splomStash=options.splomStash||{};var visible=coerce("visible",!options.visibleDflt);var axTemplate=containerOut._template||{};var axType=containerOut.type||axTemplate.type||"-";var ticklabelmode;if(axType==="date"){var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleDefaults");handleCalendarDefaults(containerIn,containerOut,"calendar",options.calendar);if(!options.noTicklabelmode){ticklabelmode=coerce("ticklabelmode")}}var ticklabelposition="";if(!options.noTicklabelposition||axType==="multicategory"){ticklabelposition=Lib.coerce(containerIn,containerOut,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:ticklabelmode==="period"?["outside","inside"]:letter==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")}if(!options.noTicklabeloverflow){coerce("ticklabeloverflow",ticklabelposition.indexOf("inside")!==-1?"hide past domain":axType==="category"||axType==="multicategory"?"allow":"hide past div")}setConvert(containerOut,layoutOut);var autorangeDflt=!containerOut.isValidRange(containerIn.range);if(autorangeDflt&&options.reverseDflt)autorangeDflt="reversed";var autoRange=coerce("autorange",autorangeDflt);if(autoRange&&(axType==="linear"||axType==="-"))coerce("rangemode");coerce("range");containerOut.cleanRange();handleCategoryOrderDefaults(containerIn,containerOut,coerce,options);if(axType!=="category"&&!options.noHover)coerce("hoverformat");var dfltColor=coerce("color");var dfltFontColor=dfltColor!==layoutAttributes.color.dflt?dfltColor:font.color;var dfltTitle=splomStash.label||layoutOut._dfltTitle[letter];handleTickLabelDefaults(containerIn,containerOut,coerce,axType,options,{pass:1});if(!visible)return containerOut;coerce("title.text",dfltTitle);Lib.coerceFont(coerce,"title.font",{family:font.family,size:Lib.bigFont(font.size),color:dfltFontColor});handleTickValueDefaults(containerIn,containerOut,coerce,axType);handleTickLabelDefaults(containerIn,containerOut,coerce,axType,options,{pass:2});handleTickMarkDefaults(containerIn,containerOut,coerce,options);handleLineGridDefaults(containerIn,containerOut,coerce,{dfltColor:dfltColor,bgColor:options.bgColor,showGrid:options.showGrid,attributes:layoutAttributes});if(containerOut.showline||containerOut.ticks)coerce("mirror");if(options.automargin)coerce("automargin");var isMultiCategory=axType==="multicategory";if(!options.noTickson&&(axType==="category"||isMultiCategory)&&(containerOut.ticks||containerOut.showgrid)){var ticksonDflt;if(isMultiCategory)ticksonDflt="boundaries";var tickson=coerce("tickson",ticksonDflt);if(tickson==="boundaries"){delete containerOut.ticklabelposition}}if(isMultiCategory){var showDividers=coerce("showdividers");if(showDividers){coerce("dividercolor");coerce("dividerwidth")}}if(axType==="date"){handleArrayContainerDefaults(containerIn,containerOut,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:rangebreaksDefaults});if(!containerOut.rangebreaks.length){delete containerOut.rangebreaks}else{for(var k=0;k<containerOut.rangebreaks.length;k++){if(containerOut.rangebreaks[k].pattern===DAY_OF_WEEK){containerOut._hasDayOfWeekBreaks=true;break}}setConvert(containerOut,layoutOut);if(layoutOut._has("scattergl")||layoutOut._has("splom")){for(var i=0;i<options.data.length;i++){var trace=options.data[i];if(trace.type==="scattergl"||trace.type==="splom"){trace.visible=false;Lib.warn(trace.type+" traces do not work on axes with rangebreaks."+" Setting trace "+trace.index+" to `visible: false`.")}}}}}return containerOut};function rangebreaksDefaults(itemIn,itemOut,containerOut){function coerce(attr,dflt){return Lib.coerce(itemIn,itemOut,layoutAttributes.rangebreaks,attr,dflt)}var enabled=coerce("enabled");if(enabled){var bnds=coerce("bounds");if(bnds&&bnds.length>=2){var dfltPattern="";var i,q;if(bnds.length===2){for(i=0;i<2;i++){q=indexOfDay(bnds[i]);if(q){dfltPattern=DAY_OF_WEEK;break}}}var pattern=coerce("pattern",dfltPattern);if(pattern===DAY_OF_WEEK){for(i=0;i<2;i++){q=indexOfDay(bnds[i]);if(q){itemOut.bounds[i]=bnds[i]=q-1}}}if(pattern){for(i=0;i<2;i++){q=bnds[i];switch(pattern){case DAY_OF_WEEK:if(!isNumeric(q)){itemOut.enabled=false;return}q=+q;if(q!==Math.floor(q)||q<0||q>=7){itemOut.enabled=false;return}itemOut.bounds[i]=bnds[i]=q;break;case HOUR:if(!isNumeric(q)){itemOut.enabled=false;return}q=+q;if(q<0||q>24){itemOut.enabled=false;return}itemOut.bounds[i]=bnds[i]=q;break}}}if(containerOut.autorange===false){var rng=containerOut.range;if(rng[0]<rng[1]){if(bnds[0]<rng[0]&&bnds[1]>rng[1]){itemOut.enabled=false;return}}else if(bnds[0]>rng[0]&&bnds[1]<rng[1]){itemOut.enabled=false;return}}}else{var values=coerce("values");if(values&&values.length){coerce("dvalue")}else{itemOut.enabled=false;return}}}}var dayStrToNum={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function indexOfDay(v){if(typeof v!=="string")return;return dayStrToNum[v.substr(0,3).toLowerCase()]}},{"../../lib":803,"../../registry":931,"../array_container_defaults":849,"./category_order_defaults":859,"./constants":861,"./layout_attributes":869,"./line_grid_defaults":871,"./set_convert":875,"./tick_label_defaults":876,"./tick_mark_defaults":877,"./tick_value_defaults":878,"fast-isnumeric":249}],857:[function(_dereq_,module,exports){"use strict";var docs=_dereq_("../../constants/docs");var FORMAT_LINK=docs.FORMAT_LINK;var DATE_FORMAT_LINK=docs.DATE_FORMAT_LINK;function axisHoverFormat(x,noDates){return{valType:"string",dflt:"",editType:"none",description:(noDates?descriptionOnlyNumbers:descriptionWithDates)("hover text",x)+["By default the values are formatted using "+(noDates?"generic number format":"`"+x+"axis.hoverformat`")+"."].join(" ")}}function descriptionOnlyNumbers(label,x){return["Sets the "+label+" formatting rule"+(x?"for `"+x+"` ":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+FORMAT_LINK+"."].join(" ")}function descriptionWithDates(label,x){return descriptionOnlyNumbers(label,x)+[" And for dates see: "+DATE_FORMAT_LINK+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}module.exports={axisHoverFormat:axisHoverFormat,descriptionOnlyNumbers:descriptionOnlyNumbers,descriptionWithDates:descriptionWithDates}},{"../../constants/docs":774}],858:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var constants=_dereq_("./constants");exports.id2name=function id2name(id){if(typeof id!=="string"||!id.match(constants.AX_ID_PATTERN))return;var axNum=id.split(" ")[0].substr(1);if(axNum==="1")axNum="";return id.charAt(0)+"axis"+axNum};exports.name2id=function name2id(name){if(!name.match(constants.AX_NAME_PATTERN))return;var axNum=name.substr(5);if(axNum==="1")axNum="";return name.charAt(0)+axNum};exports.cleanId=function cleanId(id,axLetter,domainId){var domainTest=/( domain)$/.test(id);if(typeof id!=="string"||!id.match(constants.AX_ID_PATTERN))return;if(axLetter&&id.charAt(0)!==axLetter)return;if(domainTest&&!domainId)return;var axNum=id.split(" ")[0].substr(1).replace(/^0+/,"");if(axNum==="1")axNum="";return id.charAt(0)+axNum+(domainTest&&domainId?" domain":"")};exports.list=function(gd,axLetter,only2d){var fullLayout=gd._fullLayout;if(!fullLayout)return[];var idList=exports.listIds(gd,axLetter);var out=new Array(idList.length);var i;for(i=0;i<idList.length;i++){var idi=idList[i];out[i]=fullLayout[idi.charAt(0)+"axis"+idi.substr(1)]}if(!only2d){var sceneIds3D=fullLayout._subplots.gl3d||[];for(i=0;i<sceneIds3D.length;i++){var scene=fullLayout[sceneIds3D[i]];if(axLetter)out.push(scene[axLetter+"axis"]);else out.push(scene.xaxis,scene.yaxis,scene.zaxis)}}return out};exports.listIds=function(gd,axLetter){var fullLayout=gd._fullLayout;if(!fullLayout)return[];var subplotLists=fullLayout._subplots;if(axLetter)return subplotLists[axLetter+"axis"];return subplotLists.xaxis.concat(subplotLists.yaxis)};exports.getFromId=function(gd,id,type){var fullLayout=gd._fullLayout;id=id===undefined||typeof id!=="string"?id:id.replace(" domain","");if(type==="x")id=id.replace(/y[0-9]*/,"");else if(type==="y")id=id.replace(/x[0-9]*/,"");return fullLayout[exports.id2name(id)]};exports.getFromTrace=function(gd,fullTrace,type){var fullLayout=gd._fullLayout;var ax=null;if(Registry.traceIs(fullTrace,"gl3d")){var scene=fullTrace.scene;if(scene.substr(0,5)==="scene"){ax=fullLayout[scene][type+"axis"]}}else{ax=exports.getFromId(gd,fullTrace[type+"axis"]||type)}return ax};exports.idSort=function(id1,id2){var letter1=id1.charAt(0);var letter2=id2.charAt(0);if(letter1!==letter2)return letter1>letter2?1:-1;return+(id1.substr(1)||1)-+(id2.substr(1)||1)};exports.ref2id=function(ar){return/^[xyz]/.test(ar)?ar.split(" ")[0]:false};function isFound(axId,list){if(list&&list.length){for(var i=0;i<list.length;i++){if(list[i][axId])return true}}return false}exports.isLinked=function(fullLayout,axId){return isFound(axId,fullLayout._axisMatchGroups)||isFound(axId,fullLayout._axisConstraintGroups)}},{"../../registry":931,"./constants":861}],859:[function(_dereq_,module,exports){"use strict";function findCategories(ax,opts){var dataAttr=opts.dataAttr||ax._id.charAt(0);var lookup={};var axData;var i,j;if(opts.axData){axData=opts.axData}else{axData=[];for(i=0;i<opts.data.length;i++){var trace=opts.data[i];if(trace[dataAttr+"axis"]===ax._id){axData.push(trace)}}}for(i=0;i<axData.length;i++){var vals=axData[i][dataAttr];for(j=0;j<vals.length;j++){var v=vals[j];if(v!==null&&v!==undefined){lookup[v]=1}}}return Object.keys(lookup)}module.exports=function handleCategoryOrderDefaults(containerIn,containerOut,coerce,opts){if(containerOut.type!=="category")return;var arrayIn=containerIn.categoryarray;var isValidArray=Array.isArray(arrayIn)&&arrayIn.length>0;var orderDefault;if(isValidArray)orderDefault="array";var order=coerce("categoryorder",orderDefault);var array;if(order==="array"){array=coerce("categoryarray")}if(!isValidArray&&order==="array"){order=containerOut.categoryorder="trace"}if(order==="trace"){containerOut._initialCategories=[]}else if(order==="array"){containerOut._initialCategories=array.slice()}else{array=findCategories(containerOut,opts).sort();if(order==="category ascending"){containerOut._initialCategories=array}else if(order==="category descending"){containerOut._initialCategories=array.reverse()}}}},{}],860:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var constants=_dereq_("../../constants/numerical");var ONEDAY=constants.ONEDAY;var ONEWEEK=constants.ONEWEEK;exports.dtick=function(dtick,axType){var isLog=axType==="log";var isDate=axType==="date";var isCat=axType==="category";var dtickDflt=isDate?ONEDAY:1;if(!dtick)return dtickDflt;if(isNumeric(dtick)){dtick=Number(dtick);if(dtick<=0)return dtickDflt;if(isCat){return Math.max(1,Math.round(dtick))}if(isDate){return Math.max(.1,dtick)}return dtick}if(typeof dtick!=="string"||!(isDate||isLog)){return dtickDflt}var prefix=dtick.charAt(0);var dtickNum=dtick.substr(1);dtickNum=isNumeric(dtickNum)?Number(dtickNum):0;if(dtickNum<=0||!(isDate&&prefix==="M"&&dtickNum===Math.round(dtickNum)||isLog&&prefix==="L"||isLog&&prefix==="D"&&(dtickNum===1||dtickNum===2))){return dtickDflt}return dtick};exports.tick0=function(tick0,axType,calendar,dtick){if(axType==="date"){return Lib.cleanDate(tick0,Lib.dateTick0(calendar,dtick%ONEWEEK===0?1:0))}if(dtick==="D1"||dtick==="D2"){return undefined}return isNumeric(tick0)?Number(tick0):0}},{"../../constants/numerical":779,"../../lib":803,"fast-isnumeric":249}],861:[function(_dereq_,module,exports){"use strict";var counterRegex=_dereq_("../../lib/regex").counter;module.exports={idRegex:{x:counterRegex("x","( domain)?"),y:counterRegex("y","( domain)?")},attrRegex:counterRegex("[xy]axis"),xAxisMatch:counterRegex("xaxis"),yAxisMatch:counterRegex("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:"-select",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},{"../../lib/regex":820}],862:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var autorange=_dereq_("./autorange");var id2name=_dereq_("./axis_ids").id2name;var layoutAttributes=_dereq_("./layout_attributes");var scaleZoom=_dereq_("./scale_zoom");var setConvert=_dereq_("./set_convert");var ALMOST_EQUAL=_dereq_("../../constants/numerical").ALMOST_EQUAL;var FROM_BL=_dereq_("../../constants/alignment").FROM_BL;exports.handleDefaults=function(layoutIn,layoutOut,opts){var axIds=opts.axIds;var axHasImage=opts.axHasImage;var constraintGroups=layoutOut._axisConstraintGroups=[];var matchGroups=layoutOut._axisMatchGroups=[];var i,group,axId,axName,axIn,axOut,attr,val;for(i=0;i<axIds.length;i++){axName=id2name(axIds[i]);axIn=layoutIn[axName];axOut=layoutOut[axName];handleOneAxDefaults(axIn,axOut,{axIds:axIds,layoutOut:layoutOut,hasImage:axHasImage[axName]})}function stash(groups,stashAttr){for(i=0;i<groups.length;i++){group=groups[i];for(axId in group){layoutOut[id2name(axId)][stashAttr]=group}}}stash(matchGroups,"_matchGroup");for(i=0;i<constraintGroups.length;i++){group=constraintGroups[i];for(axId in group){axOut=layoutOut[id2name(axId)];if(axOut.fixedrange){for(var axId2 in group){var axName2=id2name(axId2);if((layoutIn[axName2]||{}).fixedrange===false){Lib.warn("fixedrange was specified as false for axis "+axName2+" but was overridden because another "+"axis in its constraint group has fixedrange true")}layoutOut[axName2].fixedrange=true}break}}}i=0;while(i<constraintGroups.length){group=constraintGroups[i];for(axId in group){axOut=layoutOut[id2name(axId)];if(axOut._matchGroup&&Object.keys(axOut._matchGroup).length===Object.keys(group).length){constraintGroups.splice(i,1);i--}break}i++}stash(constraintGroups,"_constraintGroup");var matchAttrs=["constrain","range","autorange","rangemode","rangebreaks","categoryorder","categoryarray"];var hasRange=false;var hasDayOfWeekBreaks=false;function setAttrVal(){val=axOut[attr];if(attr==="rangebreaks"){hasDayOfWeekBreaks=axOut._hasDayOfWeekBreaks}}for(i=0;i<matchGroups.length;i++){group=matchGroups[i];for(var j=0;j<matchAttrs.length;j++){attr=matchAttrs[j];val=null;var baseAx;for(axId in group){axName=id2name(axId);axIn=layoutIn[axName];axOut=layoutOut[axName];if(!(attr in axOut)){continue}if(!axOut.matches){baseAx=axOut;if(attr in axIn){setAttrVal();break}}if(val===null&&attr in axIn){setAttrVal()}}if(attr==="range"&&val){hasRange=true}if(attr==="autorange"&&val===null&&hasRange){val=false}if(val===null&&attr in baseAx){val=baseAx[attr]}if(val!==null){for(axId in group){axOut=layoutOut[id2name(axId)];axOut[attr]=attr==="range"?val.slice():val;if(attr==="rangebreaks"){axOut._hasDayOfWeekBreaks=hasDayOfWeekBreaks;setConvert(axOut,layoutOut)}}}}}};function handleOneAxDefaults(axIn,axOut,opts){var axIds=opts.axIds;var layoutOut=opts.layoutOut;var hasImage=opts.hasImage;var constraintGroups=layoutOut._axisConstraintGroups;var matchGroups=layoutOut._axisMatchGroups;var axId=axOut._id;var axLetter=axId.charAt(0);var splomStash=((layoutOut._splomAxes||{})[axLetter]||{})[axId]||{};var thisID=axOut._id;var isX=thisID.charAt(0)==="x";axOut._matchGroup=null;axOut._constraintGroup=null;function coerce(attr,dflt){return Lib.coerce(axIn,axOut,layoutAttributes,attr,dflt)}coerce("constrain",hasImage?"domain":"range");Lib.coerce(axIn,axOut,{constraintoward:{valType:"enumerated",values:isX?["left","center","right"]:["bottom","middle","top"],dflt:isX?"center":"middle"}},"constraintoward");var thisType=axOut.type;var i,idi;var linkableAxes=[];for(i=0;i<axIds.length;i++){idi=axIds[i];if(idi===thisID)continue;var axi=layoutOut[id2name(idi)];if(axi.type===thisType){linkableAxes.push(idi)}}var thisGroup=getConstraintGroup(constraintGroups,thisID);if(thisGroup){var linkableAxesNoLoops=[];for(i=0;i<linkableAxes.length;i++){idi=linkableAxes[i];if(!thisGroup[idi])linkableAxesNoLoops.push(idi)}linkableAxes=linkableAxesNoLoops}var canLink=linkableAxes.length;var matches,scaleanchor;if(canLink&&(axIn.matches||splomStash.matches)){matches=Lib.coerce(axIn,axOut,{matches:{valType:"enumerated",values:linkableAxes,dflt:linkableAxes.indexOf(splomStash.matches)!==-1?splomStash.matches:undefined}},"matches")}var scaleanchorDflt=hasImage&&!isX?axOut.anchor:undefined;if(canLink&&!matches&&(axIn.scaleanchor||scaleanchorDflt)){scaleanchor=Lib.coerce(axIn,axOut,{scaleanchor:{valType:"enumerated",values:linkableAxes}},"scaleanchor",scaleanchorDflt)}if(matches){axOut._matchGroup=updateConstraintGroups(matchGroups,thisID,matches,1);var matchedAx=layoutOut[id2name(matches)];var matchRatio=extent(layoutOut,axOut)/extent(layoutOut,matchedAx);if(isX!==(matches.charAt(0)==="x")){matchRatio=(isX?"x":"y")+matchRatio}updateConstraintGroups(constraintGroups,thisID,matches,matchRatio)}else if(axIn.matches&&axIds.indexOf(axIn.matches)!==-1){Lib.warn("ignored "+axOut._name+'.matches: "'+axIn.matches+'" to avoid an infinite loop')}if(scaleanchor){var scaleratio=coerce("scaleratio");if(!scaleratio)scaleratio=axOut.scaleratio=1;updateConstraintGroups(constraintGroups,thisID,scaleanchor,scaleratio)}else if(axIn.scaleanchor&&axIds.indexOf(axIn.scaleanchor)!==-1){Lib.warn("ignored "+axOut._name+'.scaleanchor: "'+axIn.scaleanchor+'" to avoid either an infinite loop '+"and possibly inconsistent scaleratios, or because this axis "+"declares a *matches* constraint.")}}function extent(layoutOut,ax){var domain=ax.domain;if(!domain){domain=layoutOut[id2name(ax.overlaying)].domain}return domain[1]-domain[0]}function getConstraintGroup(groups,thisID){for(var i=0;i<groups.length;i++){if(groups[i][thisID]){return groups[i]}}return null}function updateConstraintGroups(constraintGroups,thisID,thatID,scaleratio){var i,j,groupi,keyj,thisGroupIndex;var thisGroup=getConstraintGroup(constraintGroups,thisID);if(thisGroup===null){thisGroup={};thisGroup[thisID]=1;thisGroupIndex=constraintGroups.length;constraintGroups.push(thisGroup)}else{thisGroupIndex=constraintGroups.indexOf(thisGroup)}var thisGroupKeys=Object.keys(thisGroup);for(i=0;i<constraintGroups.length;i++){groupi=constraintGroups[i];if(i!==thisGroupIndex&&groupi[thatID]){var baseScale=groupi[thatID];for(j=0;j<thisGroupKeys.length;j++){keyj=thisGroupKeys[j];groupi[keyj]=multiplyScales(baseScale,multiplyScales(scaleratio,thisGroup[keyj]))}constraintGroups.splice(thisGroupIndex,1);return}}if(scaleratio!==1){for(j=0;j<thisGroupKeys.length;j++){var key=thisGroupKeys[j];thisGroup[key]=multiplyScales(scaleratio,thisGroup[key])}}thisGroup[thatID]=1}function multiplyScales(a,b){var aPrefix="";var bPrefix="";var aLen,bLen;if(typeof a==="string"){aPrefix=a.match(/^[xy]*/)[0];aLen=aPrefix.length;a=+a.substr(aLen)}if(typeof b==="string"){bPrefix=b.match(/^[xy]*/)[0];bLen=bPrefix.length;b=+b.substr(bLen)}var c=a*b;if(!aLen&&!bLen){return c}if(!aLen||!bLen||aPrefix.charAt(0)===bPrefix.charAt(0)){return aPrefix+bPrefix+a*b}if(aLen===bLen){return c}return(aLen>bLen?aPrefix.substr(bLen):bPrefix.substr(aLen))+c}function finalRatios(group,fullLayout){var size=fullLayout._size;var yRatio=size.h/size.w;var out={};var keys=Object.keys(group);for(var i=0;i<keys.length;i++){var key=keys[i];var val=group[key];if(typeof val==="string"){var prefix=val.match(/^[xy]*/)[0];var pLen=prefix.length;val=+val.substr(pLen);var mult=prefix.charAt(0)==="y"?yRatio:1/yRatio;for(var j=0;j<pLen;j++){val*=mult}}out[key]=val}return out}exports.enforce=function enforce(gd){var fullLayout=gd._fullLayout;var constraintGroups=fullLayout._axisConstraintGroups||[];var i,j,group,axisID,ax,normScale,mode,factor;for(i=0;i<constraintGroups.length;i++){group=finalRatios(constraintGroups[i],fullLayout);var axisIDs=Object.keys(group);var minScale=Infinity;var maxScale=0;var matchScale=Infinity;var normScales={};var axes={};var hasAnyDomainConstraint=false;for(j=0;j<axisIDs.length;j++){axisID=axisIDs[j];axes[axisID]=ax=fullLayout[id2name(axisID)];if(ax._inputDomain)ax.domain=ax._inputDomain.slice();else ax._inputDomain=ax.domain.slice();if(!ax._inputRange)ax._inputRange=ax.range.slice();ax.setScale();normScales[axisID]=normScale=Math.abs(ax._m)/group[axisID];minScale=Math.min(minScale,normScale);if(ax.constrain==="domain"||!ax._constraintShrinkable){matchScale=Math.min(matchScale,normScale)}delete ax._constraintShrinkable;maxScale=Math.max(maxScale,normScale);if(ax.constrain==="domain")hasAnyDomainConstraint=true}if(minScale>ALMOST_EQUAL*maxScale&&!hasAnyDomainConstraint)continue;for(j=0;j<axisIDs.length;j++){axisID=axisIDs[j];normScale=normScales[axisID];ax=axes[axisID];mode=ax.constrain;if(normScale!==matchScale||mode==="domain"){factor=normScale/matchScale;if(mode==="range"){scaleZoom(ax,factor)}else{var inputDomain=ax._inputDomain;var domainShrunk=(ax.domain[1]-ax.domain[0])/(inputDomain[1]-inputDomain[0]);var rangeShrunk=(ax.r2l(ax.range[1])-ax.r2l(ax.range[0]))/(ax.r2l(ax._inputRange[1])-ax.r2l(ax._inputRange[0]));factor/=domainShrunk;if(factor*rangeShrunk<1){ax.domain=ax._input.domain=inputDomain.slice();scaleZoom(ax,factor);continue}if(rangeShrunk<1){ax.range=ax._input.range=ax._inputRange.slice();factor*=rangeShrunk}if(ax.autorange){var rl0=ax.r2l(ax.range[0]);var rl1=ax.r2l(ax.range[1]);var rangeCenter=(rl0+rl1)/2;var rangeMin=rangeCenter;var rangeMax=rangeCenter;var halfRange=Math.abs(rl1-rangeCenter);var outerMin=rangeCenter-halfRange*factor*1.0001;var outerMax=rangeCenter+halfRange*factor*1.0001;var getPadMin=autorange.makePadFn(fullLayout,ax,0);var getPadMax=autorange.makePadFn(fullLayout,ax,1);updateDomain(ax,factor);var m=Math.abs(ax._m);var extremes=autorange.concatExtremes(gd,ax);var minArray=extremes.min;var maxArray=extremes.max;var newVal;var k;for(k=0;k<minArray.length;k++){newVal=minArray[k].val-getPadMin(minArray[k])/m;if(newVal>outerMin&&newVal<rangeMin){rangeMin=newVal}}for(k=0;k<maxArray.length;k++){newVal=maxArray[k].val+getPadMax(maxArray[k])/m;if(newVal<outerMax&&newVal>rangeMax){rangeMax=newVal}}var domainExpand=(rangeMax-rangeMin)/(2*halfRange);factor/=domainExpand;rangeMin=ax.l2r(rangeMin);rangeMax=ax.l2r(rangeMax);ax.range=ax._input.range=rl0<rl1?[rangeMin,rangeMax]:[rangeMax,rangeMin]}updateDomain(ax,factor)}}}}};exports.getAxisGroup=function getAxisGroup(fullLayout,axId){var matchGroups=fullLayout._axisMatchGroups;for(var i=0;i<matchGroups.length;i++){var group=matchGroups[i];if(group[axId])return"g"+i}return axId};exports.clean=function clean(gd,ax){if(ax._inputDomain){var isConstrained=false;var axId=ax._id;var constraintGroups=gd._fullLayout._axisConstraintGroups;for(var j=0;j<constraintGroups.length;j++){if(constraintGroups[j][axId]){isConstrained=true;break}}if(!isConstrained||ax.constrain!=="domain"){ax._input.domain=ax.domain=ax._inputDomain;delete ax._inputDomain}}};function updateDomain(ax,factor){var inputDomain=ax._inputDomain;var centerFraction=FROM_BL[ax.constraintoward];var center=inputDomain[0]+(inputDomain[1]-inputDomain[0])*centerFraction;ax.domain=ax._input.domain=[center+(inputDomain[0]-center)/factor,center+(inputDomain[1]-center)/factor];ax.setScale()}},{"../../constants/alignment":771,"../../constants/numerical":779,"../../lib":803,"./autorange":853,"./axis_ids":858,"./layout_attributes":869,"./scale_zoom":873,"./set_convert":875}],863:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var numberFormat=Lib.numberFormat;var tinycolor=_dereq_("tinycolor2");var supportsPassive=_dereq_("has-passive-events");var Registry=_dereq_("../../registry");var strTranslate=Lib.strTranslate;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var Fx=_dereq_("../../components/fx");var Axes=_dereq_("./axes");var setCursor=_dereq_("../../lib/setcursor");var dragElement=_dereq_("../../components/dragelement");var helpers=_dereq_("../../components/dragelement/helpers");var selectingOrDrawing=helpers.selectingOrDrawing;var freeMode=helpers.freeMode;var FROM_TL=_dereq_("../../constants/alignment").FROM_TL;var clearGlCanvases=_dereq_("../../lib/clear_gl_canvases");var redrawReglTraces=_dereq_("../../plot_api/subroutines").redrawReglTraces;var Plots=_dereq_("../plots");var getFromId=_dereq_("./axis_ids").getFromId;var prepSelect=_dereq_("./select").prepSelect;var clearSelect=_dereq_("./select").clearSelect;var selectOnClick=_dereq_("./select").selectOnClick;var scaleZoom=_dereq_("./scale_zoom");var constants=_dereq_("./constants");var MINDRAG=constants.MINDRAG;var MINZOOM=constants.MINZOOM;var SHOWZOOMOUTTIP=true;function makeDragBox(gd,plotinfo,x,y,w,h,ns,ew){var zoomlayer=gd._fullLayout._zoomlayer;var isMainDrag=ns+ew==="nsew";var singleEnd=(ns+ew).length===1;var xa0,ya0;var xaHash,yaHash;var xaxes,yaxes;var xs,ys;var pw,ph;var links;var matches;var xActive,yActive;var allFixedRanges;var editX,editY;var hasScatterGl,hasSplom,hasSVG;var updates;var scaleX;var scaleY;function recomputeAxisLists(){xa0=plotinfo.xaxis;ya0=plotinfo.yaxis;pw=xa0._length;ph=ya0._length;xs=xa0._offset;ys=ya0._offset;xaHash={};xaHash[xa0._id]=xa0;yaHash={};yaHash[ya0._id]=ya0;if(ns&&ew){var overlays=plotinfo.overlays;for(var i=0;i<overlays.length;i++){var xa=overlays[i].xaxis;xaHash[xa._id]=xa;var ya=overlays[i].yaxis;yaHash[ya._id]=ya}}xaxes=hashValues(xaHash);yaxes=hashValues(yaHash);xActive=isDirectionActive(xaxes,ew);yActive=isDirectionActive(yaxes,ns);allFixedRanges=!yActive&&!xActive;matches=calcLinks(gd,gd._fullLayout._axisMatchGroups,xaHash,yaHash);links=calcLinks(gd,gd._fullLayout._axisConstraintGroups,xaHash,yaHash,matches);var spConstrained=links.isSubplotConstrained||matches.isSubplotConstrained;editX=ew||spConstrained;editY=ns||spConstrained;var fullLayout=gd._fullLayout;hasScatterGl=fullLayout._has("scattergl");hasSplom=fullLayout._has("splom");hasSVG=fullLayout._has("svg")}recomputeAxisLists();var cursor=getDragCursor(yActive+xActive,gd._fullLayout.dragmode,isMainDrag);var dragger=makeRectDragger(plotinfo,ns+ew+"drag",cursor,x,y,w,h);if(allFixedRanges&&!isMainDrag){dragger.onmousedown=null;dragger.style.pointerEvents="none";return dragger}var dragOptions={element:dragger,gd:gd,plotinfo:plotinfo};dragOptions.prepFn=function(e,startX,startY){var dragModePrev=dragOptions.dragmode;var dragModeNow=gd._fullLayout.dragmode;if(dragModeNow!==dragModePrev){dragOptions.dragmode=dragModeNow}recomputeAxisLists();scaleX=gd._fullLayout._invScaleX;scaleY=gd._fullLayout._invScaleY;if(!allFixedRanges){if(isMainDrag){if(e.shiftKey){if(dragModeNow==="pan")dragModeNow="zoom";else if(!selectingOrDrawing(dragModeNow))dragModeNow="pan"}else if(e.ctrlKey){dragModeNow="pan"}}else{dragModeNow="pan"}}if(freeMode(dragModeNow))dragOptions.minDrag=1;else dragOptions.minDrag=undefined;if(selectingOrDrawing(dragModeNow)){dragOptions.xaxes=xaxes;dragOptions.yaxes=yaxes;prepSelect(e,startX,startY,dragOptions,dragModeNow)}else{dragOptions.clickFn=clickFn;if(selectingOrDrawing(dragModePrev)){clearAndResetSelect()}if(!allFixedRanges){if(dragModeNow==="zoom"){dragOptions.moveFn=zoomMove;dragOptions.doneFn=zoomDone;dragOptions.minDrag=1;zoomPrep(e,startX,startY)}else if(dragModeNow==="pan"){dragOptions.moveFn=plotDrag;dragOptions.doneFn=dragTail}}}gd._fullLayout._redrag=function(){var dragDataNow=gd._dragdata;if(dragDataNow&&dragDataNow.element===dragger){var dragModeNow=gd._fullLayout.dragmode;if(!selectingOrDrawing(dragModeNow)){recomputeAxisLists();updateSubplots([0,0,pw,ph]);dragOptions.moveFn(dragDataNow.dx,dragDataNow.dy)}}}};function clearAndResetSelect(){dragOptions.plotinfo.selection=false;clearSelect(gd)}function clickFn(numClicks,evt){var gd=dragOptions.gd;if(gd._fullLayout._activeShapeIndex>=0){gd._fullLayout._deactivateShape(gd);return}var clickmode=gd._fullLayout.clickmode;removeZoombox(gd);if(numClicks===2&&!singleEnd)doubleClick();if(isMainDrag){if(clickmode.indexOf("select")>-1){selectOnClick(evt,gd,xaxes,yaxes,plotinfo.id,dragOptions)}if(clickmode.indexOf("event")>-1){Fx.click(gd,evt,plotinfo.id)}}else if(numClicks===1&&singleEnd){var ax=ns?ya0:xa0;var end=ns==="s"||ew==="w"?0:1;var attrStr=ax._name+".range["+end+"]";var initialText=getEndText(ax,end);var hAlign="left";var vAlign="middle";if(ax.fixedrange)return;if(ns){vAlign=ns==="n"?"top":"bottom";if(ax.side==="right")hAlign="right"}else if(ew==="e")hAlign="right";if(gd._context.showAxisRangeEntryBoxes){d3.select(dragger).call(svgTextUtils.makeEditable,{gd:gd,immediate:true,background:gd._fullLayout.paper_bgcolor,text:String(initialText),fill:ax.tickfont?ax.tickfont.color:"#444",horizontalAlign:hAlign,verticalAlign:vAlign}).on("edit",(function(text){var v=ax.d2r(text);if(v!==undefined){Registry.call("_guiRelayout",gd,attrStr,v)}}))}}}dragElement.init(dragOptions);var x0,y0;var box;var lum;var path0;var dimmed;var zoomMode;var zb;var corners;var zoomDragged;function zoomPrep(e,startX,startY){var dragBBox=dragger.getBoundingClientRect();x0=startX-dragBBox.left;y0=startY-dragBBox.top;gd._fullLayout._calcInverseTransform(gd);var transformedCoords=Lib.apply3DTransform(gd._fullLayout._invTransform)(x0,y0);x0=transformedCoords[0];y0=transformedCoords[1];box={l:x0,r:x0,w:0,t:y0,b:y0,h:0};lum=gd._hmpixcount?gd._hmlumcount/gd._hmpixcount:tinycolor(gd._fullLayout.plot_bgcolor).getLuminance();path0="M0,0H"+pw+"V"+ph+"H0V0";dimmed=false;zoomMode="xy";zoomDragged=false;zb=makeZoombox(zoomlayer,lum,xs,ys,path0);corners=makeCorners(zoomlayer,xs,ys)}function zoomMove(dx0,dy0){if(gd._transitioningWithDuration){return false}var x1=Math.max(0,Math.min(pw,scaleX*dx0+x0));var y1=Math.max(0,Math.min(ph,scaleY*dy0+y0));var dx=Math.abs(x1-x0);var dy=Math.abs(y1-y0);box.l=Math.min(x0,x1);box.r=Math.max(x0,x1);box.t=Math.min(y0,y1);box.b=Math.max(y0,y1);function noZoom(){zoomMode="";box.r=box.l;box.t=box.b;corners.attr("d","M0,0Z")}if(links.isSubplotConstrained){if(dx>MINZOOM||dy>MINZOOM){zoomMode="xy";if(dx/pw>dy/ph){dy=dx*ph/pw;if(y0>y1)box.t=y0-dy;else box.b=y0+dy}else{dx=dy*pw/ph;if(x0>x1)box.l=x0-dx;else box.r=x0+dx}corners.attr("d",xyCorners(box))}else{noZoom()}}else if(matches.isSubplotConstrained){if(dx>MINZOOM||dy>MINZOOM){zoomMode="xy";var r0=Math.min(box.l/pw,(ph-box.b)/ph);var r1=Math.max(box.r/pw,(ph-box.t)/ph);box.l=r0*pw;box.r=r1*pw;box.b=(1-r0)*ph;box.t=(1-r1)*ph;corners.attr("d",xyCorners(box))}else{noZoom()}}else if(!yActive||dy<Math.min(Math.max(dx*.6,MINDRAG),MINZOOM)){if(dx<MINDRAG||!xActive){noZoom()}else{box.t=0;box.b=ph;zoomMode="x";corners.attr("d",xCorners(box,y0))}}else if(!xActive||dx<Math.min(dy*.6,MINZOOM)){box.l=0;box.r=pw;zoomMode="y";corners.attr("d",yCorners(box,x0))}else{zoomMode="xy";corners.attr("d",xyCorners(box))}box.w=box.r-box.l;box.h=box.b-box.t;if(zoomMode)zoomDragged=true;gd._dragged=zoomDragged;updateZoombox(zb,corners,box,path0,dimmed,lum);computeZoomUpdates();gd.emit("plotly_relayouting",updates);dimmed=true}function computeZoomUpdates(){updates={};if(zoomMode==="xy"||zoomMode==="x"){zoomAxRanges(xaxes,box.l/pw,box.r/pw,updates,links.xaxes);updateMatchedAxRange("x",updates)}if(zoomMode==="xy"||zoomMode==="y"){zoomAxRanges(yaxes,(ph-box.b)/ph,(ph-box.t)/ph,updates,links.yaxes);updateMatchedAxRange("y",updates)}}function zoomDone(){computeZoomUpdates();removeZoombox(gd);dragTail();showDoubleClickNotifier(gd)}var scrollViewBox=[0,0,pw,ph];var redrawTimer=null;var REDRAWDELAY=constants.REDRAWDELAY;var mainplot=plotinfo.mainplot?gd._fullLayout._plots[plotinfo.mainplot]:plotinfo;function zoomWheel(e){if(!gd._context._scrollZoom.cartesian&&!gd._fullLayout._enablescrollzoom){return}clearAndResetSelect();if(gd._transitioningWithDuration){e.preventDefault();e.stopPropagation();return}recomputeAxisLists();clearTimeout(redrawTimer);var wheelDelta=-e.deltaY;if(!isFinite(wheelDelta))wheelDelta=e.wheelDelta/10;if(!isFinite(wheelDelta)){Lib.log("Did not find wheel motion attributes: ",e);return}var zoom=Math.exp(-Math.min(Math.max(wheelDelta,-20),20)/200);var gbb=mainplot.draglayer.select(".nsewdrag").node().getBoundingClientRect();var xfrac=(e.clientX-gbb.left)/gbb.width;var yfrac=(gbb.bottom-e.clientY)/gbb.height;var i;function zoomWheelOneAxis(ax,centerFraction,zoom){if(ax.fixedrange)return;var axRange=Lib.simpleMap(ax.range,ax.r2l);var v0=axRange[0]+(axRange[1]-axRange[0])*centerFraction;function doZoom(v){return ax.l2r(v0+(v-v0)*zoom)}ax.range=axRange.map(doZoom)}if(editX){if(!ew)xfrac=.5;for(i=0;i<xaxes.length;i++){zoomWheelOneAxis(xaxes[i],xfrac,zoom)}updateMatchedAxRange("x");scrollViewBox[2]*=zoom;scrollViewBox[0]+=scrollViewBox[2]*xfrac*(1/zoom-1)}if(editY){if(!ns)yfrac=.5;for(i=0;i<yaxes.length;i++){zoomWheelOneAxis(yaxes[i],yfrac,zoom)}updateMatchedAxRange("y");scrollViewBox[3]*=zoom;scrollViewBox[1]+=scrollViewBox[3]*(1-yfrac)*(1/zoom-1)}updateSubplots(scrollViewBox);ticksAndAnnotations();gd.emit("plotly_relayouting",updates);redrawTimer=setTimeout((function(){if(!gd._fullLayout)return;scrollViewBox=[0,0,pw,ph];dragTail()}),REDRAWDELAY);e.preventDefault();return}if(ns.length*ew.length!==1){attachWheelEventHandler(dragger,zoomWheel)}function plotDrag(dx,dy){dx=dx*scaleX;dy=dy*scaleY;if(gd._transitioningWithDuration){return}gd._fullLayout._replotting=true;if(xActive==="ew"||yActive==="ns"){var spDx=xActive?-dx:0;var spDy=yActive?-dy:0;if(matches.isSubplotConstrained){if(xActive&&yActive){var frac=(dx/pw-dy/ph)/2;dx=frac*pw;dy=-frac*ph;spDx=-dx;spDy=-dy}if(yActive){spDx=-spDy*pw/ph}else{spDy=-spDx*ph/pw}}if(xActive){dragAxList(xaxes,dx);updateMatchedAxRange("x")}if(yActive){dragAxList(yaxes,dy);updateMatchedAxRange("y")}updateSubplots([spDx,spDy,pw,ph]);ticksAndAnnotations();gd.emit("plotly_relayouting",updates);return}function dz(axArray,end,d){var otherEnd=1-end;var movedAx;var newLinearizedEnd;for(var i=0;i<axArray.length;i++){var axi=axArray[i];if(axi.fixedrange)continue;movedAx=axi;newLinearizedEnd=axi._rl[otherEnd]+(axi._rl[end]-axi._rl[otherEnd])/dZoom(d/axi._length);var newEnd=axi.l2r(newLinearizedEnd);if(newEnd!==false&&newEnd!==undefined)axi.range[end]=newEnd}return movedAx._length*(movedAx._rl[end]-newLinearizedEnd)/(movedAx._rl[end]-movedAx._rl[otherEnd])}var dxySign=xActive==="w"===(yActive==="n")?1:-1;if(xActive&&yActive&&(links.isSubplotConstrained||matches.isSubplotConstrained)){var dxyFraction=(dx/pw+dxySign*dy/ph)/2;dx=dxyFraction*pw;dy=dxySign*dxyFraction*ph}var xStart,yStart;if(xActive==="w")dx=dz(xaxes,0,dx);else if(xActive==="e")dx=dz(xaxes,1,-dx);else if(!xActive)dx=0;if(yActive==="n")dy=dz(yaxes,1,dy);else if(yActive==="s")dy=dz(yaxes,0,-dy);else if(!yActive)dy=0;xStart=xActive==="w"?dx:0;yStart=yActive==="n"?dy:0;if(links.isSubplotConstrained&&!matches.isSubplotConstrained||matches.isSubplotConstrained&&xActive&&yActive&&dxySign>0){var i;if(matches.isSubplotConstrained||!xActive&&yActive.length===1){for(i=0;i<xaxes.length;i++){xaxes[i].range=xaxes[i]._r.slice();scaleZoom(xaxes[i],1-dy/ph)}dx=dy*pw/ph;xStart=dx/2}if(matches.isSubplotConstrained||!yActive&&xActive.length===1){for(i=0;i<yaxes.length;i++){yaxes[i].range=yaxes[i]._r.slice();scaleZoom(yaxes[i],1-dx/pw)}dy=dx*ph/pw;yStart=dy/2}}if(!matches.isSubplotConstrained||!yActive){updateMatchedAxRange("x")}if(!matches.isSubplotConstrained||!xActive){updateMatchedAxRange("y")}var xSize=pw-dx;var ySize=ph-dy;if(matches.isSubplotConstrained&&!(xActive&&yActive)){if(xActive){yStart=xStart?0:dx*ph/pw;ySize=xSize*ph/pw}else{xStart=yStart?0:dy*pw/ph;xSize=ySize*pw/ph}}updateSubplots([xStart,yStart,xSize,ySize]);ticksAndAnnotations();gd.emit("plotly_relayouting",updates)}function updateMatchedAxRange(axLetter,out){var matchedAxes=matches.isSubplotConstrained?{x:yaxes,y:xaxes}[axLetter]:matches[axLetter+"axes"];var constrainedAxes=matches.isSubplotConstrained?{x:xaxes,y:yaxes}[axLetter]:[];for(var i=0;i<matchedAxes.length;i++){var ax=matchedAxes[i];var axId=ax._id;var axId2=matches.xLinks[axId]||matches.yLinks[axId];var ax2=constrainedAxes[0]||xaHash[axId2]||yaHash[axId2];if(ax2){if(out){out[ax._name+".range[0]"]=out[ax2._name+".range[0]"];out[ax._name+".range[1]"]=out[ax2._name+".range[1]"]}else{ax.range=ax2.range.slice()}}}}function ticksAndAnnotations(){var activeAxIds=[];var i;function pushActiveAxIds(axList){for(i=0;i<axList.length;i++){if(!axList[i].fixedrange)activeAxIds.push(axList[i]._id)}}if(editX){pushActiveAxIds(xaxes);pushActiveAxIds(links.xaxes);pushActiveAxIds(matches.xaxes)}if(editY){pushActiveAxIds(yaxes);pushActiveAxIds(links.yaxes);pushActiveAxIds(matches.yaxes)}updates={};for(i=0;i<activeAxIds.length;i++){var axId=activeAxIds[i];var ax=getFromId(gd,axId);Axes.drawOne(gd,ax,{skipTitle:true});updates[ax._name+".range[0]"]=ax.range[0];updates[ax._name+".range[1]"]=ax.range[1]}Axes.redrawComponents(gd,activeAxIds)}function doubleClick(){if(gd._transitioningWithDuration)return;var doubleClickConfig=gd._context.doubleClick;var axList=[];if(xActive)axList=axList.concat(xaxes);if(yActive)axList=axList.concat(yaxes);if(matches.xaxes)axList=axList.concat(matches.xaxes);if(matches.yaxes)axList=axList.concat(matches.yaxes);var attrs={};var ax,i,rangeInitial;if(doubleClickConfig==="reset+autosize"){doubleClickConfig="autosize";for(i=0;i<axList.length;i++){ax=axList[i];if(ax._rangeInitial&&(ax.range[0]!==ax._rangeInitial[0]||ax.range[1]!==ax._rangeInitial[1])||!ax._rangeInitial&&!ax.autorange){doubleClickConfig="reset";break}}}if(doubleClickConfig==="autosize"){for(i=0;i<axList.length;i++){ax=axList[i];if(!ax.fixedrange)attrs[ax._name+".autorange"]=true}}else if(doubleClickConfig==="reset"){if(xActive||links.isSubplotConstrained)axList=axList.concat(links.xaxes);if(yActive&&!links.isSubplotConstrained)axList=axList.concat(links.yaxes);if(links.isSubplotConstrained){if(!xActive)axList=axList.concat(xaxes);else if(!yActive)axList=axList.concat(yaxes)}for(i=0;i<axList.length;i++){ax=axList[i];if(!ax.fixedrange){if(!ax._rangeInitial){attrs[ax._name+".autorange"]=true}else{rangeInitial=ax._rangeInitial;attrs[ax._name+".range[0]"]=rangeInitial[0];attrs[ax._name+".range[1]"]=rangeInitial[1]}}}}gd.emit("plotly_doubleclick",null);Registry.call("_guiRelayout",gd,attrs)}function dragTail(){updateSubplots([0,0,pw,ph]);Lib.syncOrAsync([Plots.previousPromises,function(){gd._fullLayout._replotting=false;Registry.call("_guiRelayout",gd,updates)}],gd)}function updateSubplots(viewBox){var fullLayout=gd._fullLayout;var plotinfos=fullLayout._plots;var subplots=fullLayout._subplots.cartesian;var i,sp,xa,ya;if(hasSplom){Registry.subplotsRegistry.splom.drag(gd)}if(hasScatterGl){for(i=0;i<subplots.length;i++){sp=plotinfos[subplots[i]];xa=sp.xaxis;ya=sp.yaxis;if(sp._scene){var xrng=Lib.simpleMap(xa.range,xa.r2l);var yrng=Lib.simpleMap(ya.range,ya.r2l);sp._scene.update({range:[xrng[0],yrng[0],xrng[1],yrng[1]]})}}}if(hasSplom||hasScatterGl){clearGlCanvases(gd);redrawReglTraces(gd)}if(hasSVG){var xScaleFactor=viewBox[2]/xa0._length;var yScaleFactor=viewBox[3]/ya0._length;for(i=0;i<subplots.length;i++){sp=plotinfos[subplots[i]];xa=sp.xaxis;ya=sp.yaxis;var editX2=(editX||matches.isSubplotConstrained)&&!xa.fixedrange&&xaHash[xa._id];var editY2=(editY||matches.isSubplotConstrained)&&!ya.fixedrange&&yaHash[ya._id];var xScaleFactor2,yScaleFactor2;var clipDx,clipDy;if(editX2){xScaleFactor2=xScaleFactor;clipDx=ew||matches.isSubplotConstrained?viewBox[0]:getShift(xa,xScaleFactor2)}else if(matches.xaHash[xa._id]){xScaleFactor2=xScaleFactor;clipDx=viewBox[0]*xa._length/xa0._length}else if(matches.yaHash[xa._id]){xScaleFactor2=yScaleFactor;clipDx=yActive==="ns"?-viewBox[1]*xa._length/ya0._length:getShift(xa,xScaleFactor2,{n:"top",s:"bottom"}[yActive])}else{xScaleFactor2=getLinkedScaleFactor(xa,xScaleFactor,yScaleFactor);clipDx=scaleAndGetShift(xa,xScaleFactor2)}if(editY2){yScaleFactor2=yScaleFactor;clipDy=ns||matches.isSubplotConstrained?viewBox[1]:getShift(ya,yScaleFactor2)}else if(matches.yaHash[ya._id]){yScaleFactor2=yScaleFactor;clipDy=viewBox[1]*ya._length/ya0._length}else if(matches.xaHash[ya._id]){yScaleFactor2=xScaleFactor;clipDy=xActive==="ew"?-viewBox[0]*ya._length/xa0._length:getShift(ya,yScaleFactor2,{e:"right",w:"left"}[xActive])}else{yScaleFactor2=getLinkedScaleFactor(ya,xScaleFactor,yScaleFactor);clipDy=scaleAndGetShift(ya,yScaleFactor2)}if(!xScaleFactor2&&!yScaleFactor2){continue}if(!xScaleFactor2)xScaleFactor2=1;if(!yScaleFactor2)yScaleFactor2=1;var plotDx=xa._offset-clipDx/xScaleFactor2;var plotDy=ya._offset-clipDy/yScaleFactor2;sp.clipRect.call(Drawing.setTranslate,clipDx,clipDy).call(Drawing.setScale,xScaleFactor2,yScaleFactor2);sp.plot.call(Drawing.setTranslate,plotDx,plotDy).call(Drawing.setScale,1/xScaleFactor2,1/yScaleFactor2);if(xScaleFactor2!==sp.xScaleFactor||yScaleFactor2!==sp.yScaleFactor){Drawing.setPointGroupScale(sp.zoomScalePts,xScaleFactor2,yScaleFactor2);Drawing.setTextPointsScale(sp.zoomScaleTxt,xScaleFactor2,yScaleFactor2)}Drawing.hideOutsideRangePoints(sp.clipOnAxisFalseTraces,sp);sp.xScaleFactor=xScaleFactor2;sp.yScaleFactor=yScaleFactor2}}}function getLinkedScaleFactor(ax,xScaleFactor,yScaleFactor){if(ax.fixedrange)return 0;if(editX&&links.xaHash[ax._id]){return xScaleFactor}if(editY&&(links.isSubplotConstrained?links.xaHash:links.yaHash)[ax._id]){return yScaleFactor}return 0}function scaleAndGetShift(ax,scaleFactor){if(scaleFactor){ax.range=ax._r.slice();scaleZoom(ax,scaleFactor);return getShift(ax,scaleFactor)}return 0}function getShift(ax,scaleFactor,from){return ax._length*(1-scaleFactor)*FROM_TL[from||ax.constraintoward||"middle"]}return dragger}function makeDragger(plotinfo,nodeName,dragClass,cursor){var dragger3=Lib.ensureSingle(plotinfo.draglayer,nodeName,dragClass,(function(s){s.classed("drag",true).style({fill:"transparent","stroke-width":0}).attr("data-subplot",plotinfo.id)}));dragger3.call(setCursor,cursor);return dragger3.node()}function makeRectDragger(plotinfo,dragClass,cursor,x,y,w,h){var dragger=makeDragger(plotinfo,"rect",dragClass,cursor);d3.select(dragger).call(Drawing.setRect,x,y,w,h);return dragger}function isDirectionActive(axList,activeVal){for(var i=0;i<axList.length;i++){if(!axList[i].fixedrange)return activeVal}return""}function getEndText(ax,end){var initialVal=ax.range[end];var diff=Math.abs(initialVal-ax.range[1-end]);var dig;if(ax.type==="date"){return initialVal}else if(ax.type==="log"){dig=Math.ceil(Math.max(0,-Math.log(diff)/Math.LN10))+3;return numberFormat("."+dig+"g")(Math.pow(10,initialVal))}else{dig=Math.floor(Math.log(Math.abs(initialVal))/Math.LN10)-Math.floor(Math.log(diff)/Math.LN10)+4;return numberFormat("."+String(dig)+"g")(initialVal)}}function zoomAxRanges(axList,r0Fraction,r1Fraction,updates,linkedAxes){for(var i=0;i<axList.length;i++){var axi=axList[i];if(axi.fixedrange)continue;if(axi.rangebreaks){var isY=axi._id.charAt(0)==="y";var r0F=isY?1-r0Fraction:r0Fraction;var r1F=isY?1-r1Fraction:r1Fraction;updates[axi._name+".range[0]"]=axi.l2r(axi.p2l(r0F*axi._length));updates[axi._name+".range[1]"]=axi.l2r(axi.p2l(r1F*axi._length))}else{var axRangeLinear0=axi._rl[0];var axRangeLinearSpan=axi._rl[1]-axRangeLinear0;updates[axi._name+".range[0]"]=axi.l2r(axRangeLinear0+axRangeLinearSpan*r0Fraction);updates[axi._name+".range[1]"]=axi.l2r(axRangeLinear0+axRangeLinearSpan*r1Fraction)}}if(linkedAxes&&linkedAxes.length){var linkedR0Fraction=(r0Fraction+(1-r1Fraction))/2;zoomAxRanges(linkedAxes,linkedR0Fraction,1-linkedR0Fraction,updates,[])}}function dragAxList(axList,pix){for(var i=0;i<axList.length;i++){var axi=axList[i];if(!axi.fixedrange){if(axi.rangebreaks){var p0=0;var p1=axi._length;var d0=axi.p2l(p0+pix)-axi.p2l(p0);var d1=axi.p2l(p1+pix)-axi.p2l(p1);var delta=(d0+d1)/2;axi.range=[axi.l2r(axi._rl[0]-delta),axi.l2r(axi._rl[1]-delta)]}else{axi.range=[axi.l2r(axi._rl[0]-pix/axi._m),axi.l2r(axi._rl[1]-pix/axi._m)]}}}}function dZoom(d){return 1-(d>=0?Math.min(d,.9):1/(1/Math.max(d,-.3)+3.222))}function getDragCursor(nsew,dragmode,isMainDrag){if(!nsew)return"pointer";if(nsew==="nsew"){if(isMainDrag)return"";if(dragmode==="pan")return"move";return"crosshair"}return nsew.toLowerCase()+"-resize"}function makeZoombox(zoomlayer,lum,xs,ys,path0){return zoomlayer.append("path").attr("class","zoombox").style({fill:lum>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",strTranslate(xs,ys)).attr("d",path0+"Z")}function makeCorners(zoomlayer,xs,ys){return zoomlayer.append("path").attr("class","zoombox-corners").style({fill:Color.background,stroke:Color.defaultLine,"stroke-width":1,opacity:0}).attr("transform",strTranslate(xs,ys)).attr("d","M0,0Z")}function updateZoombox(zb,corners,box,path0,dimmed,lum){zb.attr("d",path0+"M"+box.l+","+box.t+"v"+box.h+"h"+box.w+"v-"+box.h+"h-"+box.w+"Z");transitionZoombox(zb,corners,dimmed,lum)}function transitionZoombox(zb,corners,dimmed,lum){if(!dimmed){zb.transition().style("fill",lum>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200);corners.transition().style("opacity",1).duration(200)}}function removeZoombox(gd){d3.select(gd).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function showDoubleClickNotifier(gd){if(SHOWZOOMOUTTIP&&gd.data&&gd._context.showTips){Lib.notifier(Lib._(gd,"Double-click to zoom back out"),"long");SHOWZOOMOUTTIP=false}}function xCorners(box,y0){return"M"+(box.l-.5)+","+(y0-MINZOOM-.5)+"h-3v"+(2*MINZOOM+1)+"h3ZM"+(box.r+.5)+","+(y0-MINZOOM-.5)+"h3v"+(2*MINZOOM+1)+"h-3Z"}function yCorners(box,x0){return"M"+(x0-MINZOOM-.5)+","+(box.t-.5)+"v-3h"+(2*MINZOOM+1)+"v3ZM"+(x0-MINZOOM-.5)+","+(box.b+.5)+"v3h"+(2*MINZOOM+1)+"v-3Z"}function xyCorners(box){var clen=Math.floor(Math.min(box.b-box.t,box.r-box.l,MINZOOM)/2);return"M"+(box.l-3.5)+","+(box.t-.5+clen)+"h3v"+-clen+"h"+clen+"v-3h-"+(clen+3)+"ZM"+(box.r+3.5)+","+(box.t-.5+clen)+"h-3v"+-clen+"h"+-clen+"v-3h"+(clen+3)+"ZM"+(box.r+3.5)+","+(box.b+.5-clen)+"h-3v"+clen+"h"+-clen+"v3h"+(clen+3)+"ZM"+(box.l-3.5)+","+(box.b+.5-clen)+"h3v"+clen+"h"+clen+"v3h-"+(clen+3)+"Z"}function calcLinks(gd,groups,xaHash,yaHash,exclude){var isSubplotConstrained=false;var xLinks={};var yLinks={};var xID,yID,xLinkID,yLinkID;var xExclude=(exclude||{}).xaHash;var yExclude=(exclude||{}).yaHash;for(var i=0;i<groups.length;i++){var group=groups[i];for(xID in xaHash){if(group[xID]){for(xLinkID in group){if(!(exclude&&(xExclude[xLinkID]||yExclude[xLinkID]))&&!(xLinkID.charAt(0)==="x"?xaHash:yaHash)[xLinkID]){xLinks[xLinkID]=xID}}for(yID in yaHash){if(!(exclude&&(xExclude[yID]||yExclude[yID]))&&group[yID]){isSubplotConstrained=true}}}}for(yID in yaHash){if(group[yID]){for(yLinkID in group){if(!(exclude&&(xExclude[yLinkID]||yExclude[yLinkID]))&&!(yLinkID.charAt(0)==="x"?xaHash:yaHash)[yLinkID]){yLinks[yLinkID]=yID}}}}}if(isSubplotConstrained){Lib.extendFlat(xLinks,yLinks);yLinks={}}var xaHashLinked={};var xaxesLinked=[];for(xLinkID in xLinks){var xa=getFromId(gd,xLinkID);xaxesLinked.push(xa);xaHashLinked[xa._id]=xa}var yaHashLinked={};var yaxesLinked=[];for(yLinkID in yLinks){var ya=getFromId(gd,yLinkID);yaxesLinked.push(ya);yaHashLinked[ya._id]=ya}return{xaHash:xaHashLinked,yaHash:yaHashLinked,xaxes:xaxesLinked,yaxes:yaxesLinked,xLinks:xLinks,yLinks:yLinks,isSubplotConstrained:isSubplotConstrained}}function attachWheelEventHandler(element,handler){if(!supportsPassive){if(element.onwheel!==undefined)element.onwheel=handler;else if(element.onmousewheel!==undefined)element.onmousewheel=handler;else if(!element.isAddedWheelEvent){element.isAddedWheelEvent=true;element.addEventListener("wheel",handler,{passive:false})}}else{var wheelEventName=element.onwheel!==undefined?"wheel":"mousewheel";if(element._onwheel){element.removeEventListener(wheelEventName,element._onwheel)}element._onwheel=handler;element.addEventListener(wheelEventName,handler,{passive:false})}}function hashValues(hash){var out=[];for(var k in hash)out.push(hash[k]);return out}module.exports={makeDragBox:makeDragBox,makeDragger:makeDragger,makeRectDragger:makeRectDragger,makeZoombox:makeZoombox,makeCorners:makeCorners,updateZoombox:updateZoombox,xyCorners:xyCorners,transitionZoombox:transitionZoombox,removeZoombox:removeZoombox,showDoubleClickNotifier:showDoubleClickNotifier,attachWheelEventHandler:attachWheelEventHandler}},{"../../components/color":666,"../../components/dragelement":685,"../../components/dragelement/helpers":684,"../../components/drawing":688,"../../components/fx":706,"../../constants/alignment":771,"../../lib":803,"../../lib/clear_gl_canvases":787,"../../lib/setcursor":824,"../../lib/svg_text_utils":829,"../../plot_api/subroutines":844,"../../registry":931,"../plots":917,"./axes":854,"./axis_ids":858,"./constants":861,"./scale_zoom":873,"./select":874,"@plotly/d3":58,"has-passive-events":444,tinycolor2:598}],864:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Fx=_dereq_("../../components/fx");var dragElement=_dereq_("../../components/dragelement");var setCursor=_dereq_("../../lib/setcursor");var makeDragBox=_dereq_("./dragbox").makeDragBox;var DRAGGERSIZE=_dereq_("./constants").DRAGGERSIZE;exports.initInteractions=function initInteractions(gd){var fullLayout=gd._fullLayout;if(gd._context.staticPlot){d3.select(gd).selectAll(".drag").remove();return}if(!fullLayout._has("cartesian")&&!fullLayout._has("splom"))return;var subplots=Object.keys(fullLayout._plots||{}).sort((function(a,b){if((fullLayout._plots[a].mainplot&&true)===(fullLayout._plots[b].mainplot&&true)){var aParts=a.split("y");var bParts=b.split("y");return aParts[0]===bParts[0]?Number(aParts[1]||1)-Number(bParts[1]||1):Number(aParts[0]||1)-Number(bParts[0]||1)}return fullLayout._plots[a].mainplot?1:-1}));subplots.forEach((function(subplot){var plotinfo=fullLayout._plots[subplot];var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;if(!plotinfo.mainplot){var maindrag=makeDragBox(gd,plotinfo,xa._offset,ya._offset,xa._length,ya._length,"ns","ew");maindrag.onmousemove=function(evt){gd._fullLayout._rehover=function(){if(gd._fullLayout._hoversubplot===subplot&&gd._fullLayout._plots[subplot]){Fx.hover(gd,evt,subplot)}};Fx.hover(gd,evt,subplot);gd._fullLayout._lasthover=maindrag;gd._fullLayout._hoversubplot=subplot};maindrag.onmouseout=function(evt){if(gd._dragging)return;gd._fullLayout._hoversubplot=null;dragElement.unhover(gd,evt)};if(gd._context.showAxisDragHandles){makeDragBox(gd,plotinfo,xa._offset-DRAGGERSIZE,ya._offset-DRAGGERSIZE,DRAGGERSIZE,DRAGGERSIZE,"n","w");makeDragBox(gd,plotinfo,xa._offset+xa._length,ya._offset-DRAGGERSIZE,DRAGGERSIZE,DRAGGERSIZE,"n","e");makeDragBox(gd,plotinfo,xa._offset-DRAGGERSIZE,ya._offset+ya._length,DRAGGERSIZE,DRAGGERSIZE,"s","w");makeDragBox(gd,plotinfo,xa._offset+xa._length,ya._offset+ya._length,DRAGGERSIZE,DRAGGERSIZE,"s","e")}}if(gd._context.showAxisDragHandles){if(subplot===xa._mainSubplot){var y0=xa._mainLinePosition;if(xa.side==="top")y0-=DRAGGERSIZE;makeDragBox(gd,plotinfo,xa._offset+xa._length*.1,y0,xa._length*.8,DRAGGERSIZE,"","ew");makeDragBox(gd,plotinfo,xa._offset,y0,xa._length*.1,DRAGGERSIZE,"","w");makeDragBox(gd,plotinfo,xa._offset+xa._length*.9,y0,xa._length*.1,DRAGGERSIZE,"","e")}if(subplot===ya._mainSubplot){var x0=ya._mainLinePosition;if(ya.side!=="right")x0-=DRAGGERSIZE;makeDragBox(gd,plotinfo,x0,ya._offset+ya._length*.1,DRAGGERSIZE,ya._length*.8,"ns","");makeDragBox(gd,plotinfo,x0,ya._offset+ya._length*.9,DRAGGERSIZE,ya._length*.1,"s","");makeDragBox(gd,plotinfo,x0,ya._offset,DRAGGERSIZE,ya._length*.1,"n","")}}}));var hoverLayer=fullLayout._hoverlayer.node();hoverLayer.onmousemove=function(evt){evt.target=gd._fullLayout._lasthover;Fx.hover(gd,evt,fullLayout._hoversubplot)};hoverLayer.onclick=function(evt){evt.target=gd._fullLayout._lasthover;Fx.click(gd,evt)};hoverLayer.onmousedown=function(evt){gd._fullLayout._lasthover.onmousedown(evt)};exports.updateFx(gd)};exports.updateFx=function(gd){var fullLayout=gd._fullLayout;var cursor=fullLayout.dragmode==="pan"?"move":"crosshair";setCursor(fullLayout._draggers,cursor)}},{"../../components/dragelement":685,"../../components/fx":706,"../../lib/setcursor":824,"./constants":861,"./dragbox":863,"@plotly/d3":58}],865:[function(_dereq_,module,exports){"use strict";function clearOutlineControllers(gd){var zoomLayer=gd._fullLayout._zoomlayer;if(zoomLayer){zoomLayer.selectAll(".outline-controllers").remove()}}function clearSelect(gd){var zoomLayer=gd._fullLayout._zoomlayer;if(zoomLayer){zoomLayer.selectAll(".select-outline").remove()}gd._fullLayout._drawing=false}module.exports={clearOutlineControllers:clearOutlineControllers,clearSelect:clearSelect}},{}],866:[function(_dereq_,module,exports){"use strict";var strTranslate=_dereq_("../../lib").strTranslate;function p2r(ax,v){switch(ax.type){case"log":return ax.p2d(v);case"date":return ax.p2r(v,0,ax.calendar);default:return ax.p2r(v)}}function r2p(ax,v){switch(ax.type){case"log":return ax.d2p(v);case"date":return ax.r2p(v,0,ax.calendar);default:return ax.r2p(v)}}function axValue(ax){var index=ax._id.charAt(0)==="y"?1:0;return function(v){return p2r(ax,v[index])}}function getTransform(plotinfo){return strTranslate(plotinfo.xaxis._offset,plotinfo.yaxis._offset)}module.exports={p2r:p2r,r2p:r2p,axValue:axValue,getTransform:getTransform}},{"../../lib":803}],867:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var axisIds=_dereq_("./axis_ids");module.exports=function makeIncludeComponents(containerArrayName){return function includeComponents(layoutIn,layoutOut){var array=layoutIn[containerArrayName];if(!Array.isArray(array))return;var Cartesian=Registry.subplotsRegistry.cartesian;var idRegex=Cartesian.idRegex;var subplots=layoutOut._subplots;var xaList=subplots.xaxis;var yaList=subplots.yaxis;var cartesianList=subplots.cartesian;var hasCartesianOrGL2D=layoutOut._has("cartesian")||layoutOut._has("gl2d");for(var i=0;i<array.length;i++){var itemi=array[i];if(!Lib.isPlainObject(itemi))continue;var xref=axisIds.cleanId(itemi.xref,"x",false);var yref=axisIds.cleanId(itemi.yref,"y",false);var hasXref=idRegex.x.test(xref);var hasYref=idRegex.y.test(yref);if(hasXref||hasYref){if(!hasCartesianOrGL2D)Lib.pushUnique(layoutOut._basePlotModules,Cartesian);var newAxis=false;if(hasXref&&xaList.indexOf(xref)===-1){xaList.push(xref);newAxis=true}if(hasYref&&yaList.indexOf(yref)===-1){yaList.push(yref);newAxis=true}if(newAxis&&hasXref&&hasYref){cartesianList.push(xref+yref)}}}}}},{"../../lib":803,"../../registry":931,"./axis_ids":858}],868:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var Plots=_dereq_("../plots");var Drawing=_dereq_("../../components/drawing");var getModuleCalcData=_dereq_("../get_data").getModuleCalcData;var axisIds=_dereq_("./axis_ids");var constants=_dereq_("./constants");var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");var ensureSingle=Lib.ensureSingle;function ensureSingleAndAddDatum(parent,nodeType,className){return Lib.ensureSingle(parent,nodeType,className,(function(s){s.datum(className)}))}exports.name="cartesian";exports.attr=["xaxis","yaxis"];exports.idRoot=["x","y"];exports.idRegex=constants.idRegex;exports.attrRegex=constants.attrRegex;exports.attributes=_dereq_("./attributes");exports.layoutAttributes=_dereq_("./layout_attributes");exports.supplyLayoutDefaults=_dereq_("./layout_defaults");exports.transitionAxes=_dereq_("./transition_axes");exports.finalizeSubplots=function(layoutIn,layoutOut){var subplots=layoutOut._subplots;var xList=subplots.xaxis;var yList=subplots.yaxis;var spSVG=subplots.cartesian;var spAll=spSVG.concat(subplots.gl2d||[]);var allX={};var allY={};var i,xi,yi;for(i=0;i<spAll.length;i++){var parts=spAll[i].split("y");allX[parts[0]]=1;allY["y"+parts[1]]=1}for(i=0;i<xList.length;i++){xi=xList[i];if(!allX[xi]){yi=(layoutIn[axisIds.id2name(xi)]||{}).anchor;if(!constants.idRegex.y.test(yi))yi="y";spSVG.push(xi+yi);spAll.push(xi+yi);if(!allY[yi]){allY[yi]=1;Lib.pushUnique(yList,yi)}}}for(i=0;i<yList.length;i++){yi=yList[i];if(!allY[yi]){xi=(layoutIn[axisIds.id2name(yi)]||{}).anchor;if(!constants.idRegex.x.test(xi))xi="x";spSVG.push(xi+yi);spAll.push(xi+yi);if(!allX[xi]){allX[xi]=1;Lib.pushUnique(xList,xi)}}}if(!spAll.length){xi="";yi="";for(var ki in layoutIn){if(constants.attrRegex.test(ki)){var axLetter=ki.charAt(0);if(axLetter==="x"){if(!xi||+ki.substr(5)<+xi.substr(5)){xi=ki}}else if(!yi||+ki.substr(5)<+yi.substr(5)){yi=ki}}}xi=xi?axisIds.name2id(xi):"x";yi=yi?axisIds.name2id(yi):"y";xList.push(xi);yList.push(yi);spSVG.push(xi+yi)}};exports.plot=function(gd,traces,transitionOpts,makeOnCompleteCallback){var fullLayout=gd._fullLayout;var subplots=fullLayout._subplots.cartesian;var calcdata=gd.calcdata;var i;if(!Array.isArray(traces)){traces=[];for(i=0;i<calcdata.length;i++)traces.push(i)}for(i=0;i<subplots.length;i++){var subplot=subplots[i];var subplotInfo=fullLayout._plots[subplot];var cdSubplot=[];var pcd;for(var j=0;j<calcdata.length;j++){var cd=calcdata[j];var trace=cd[0].trace;if(trace.xaxis+trace.yaxis===subplot){if(traces.indexOf(trace.index)!==-1||trace.carpet){if(pcd&&pcd[0].trace.xaxis+pcd[0].trace.yaxis===subplot&&["tonextx","tonexty","tonext"].indexOf(trace.fill)!==-1&&cdSubplot.indexOf(pcd)===-1){cdSubplot.push(pcd)}cdSubplot.push(cd)}pcd=cd}}plotOne(gd,subplotInfo,cdSubplot,transitionOpts,makeOnCompleteCallback)}};function plotOne(gd,plotinfo,cdSubplot,transitionOpts,makeOnCompleteCallback){var traceLayerClasses=constants.traceLayerClasses;var fullLayout=gd._fullLayout;var modules=fullLayout._modules;var _module,cdModuleAndOthers,cdModule;var layerData=[];var zoomScaleQueryParts=[];for(var i=0;i<modules.length;i++){_module=modules[i];var name=_module.name;var categories=Registry.modules[name].categories;if(categories.svg){var className=_module.layerName||name+"layer";var plotMethod=_module.plot;cdModuleAndOthers=getModuleCalcData(cdSubplot,plotMethod);cdModule=cdModuleAndOthers[0];cdSubplot=cdModuleAndOthers[1];if(cdModule.length){layerData.push({i:traceLayerClasses.indexOf(className),className:className,plotMethod:plotMethod,cdModule:cdModule})}if(categories.zoomScale){zoomScaleQueryParts.push("."+className)}}}layerData.sort((function(a,b){return a.i-b.i}));var layers=plotinfo.plot.selectAll("g.mlayer").data(layerData,(function(d){return d.className}));layers.enter().append("g").attr("class",(function(d){return d.className})).classed("mlayer",true).classed("rangeplot",plotinfo.isRangePlot);layers.exit().remove();layers.order();layers.each((function(d){var sel=d3.select(this);var className=d.className;d.plotMethod(gd,plotinfo,d.cdModule,sel,transitionOpts,makeOnCompleteCallback);if(constants.clipOnAxisFalseQuery.indexOf("."+className)===-1){Drawing.setClipUrl(sel,plotinfo.layerClipId,gd)}}));if(fullLayout._has("scattergl")){_module=Registry.getModule("scattergl");cdModule=getModuleCalcData(cdSubplot,_module)[0];_module.plot(gd,plotinfo,cdModule)}if(!gd._context.staticPlot){if(plotinfo._hasClipOnAxisFalse){plotinfo.clipOnAxisFalseTraces=plotinfo.plot.selectAll(constants.clipOnAxisFalseQuery.join(",")).selectAll(".trace")}if(zoomScaleQueryParts.length){var traces=plotinfo.plot.selectAll(zoomScaleQueryParts.join(",")).selectAll(".trace");plotinfo.zoomScalePts=traces.selectAll("path.point");plotinfo.zoomScaleTxt=traces.selectAll(".textpoint")}}}exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var oldPlots=oldFullLayout._plots||{};var newPlots=newFullLayout._plots||{};var oldSubplotList=oldFullLayout._subplots||{};var plotinfo;var i,k;if(oldFullLayout._hasOnlyLargeSploms&&!newFullLayout._hasOnlyLargeSploms){for(k in oldPlots){plotinfo=oldPlots[k];if(plotinfo.plotgroup)plotinfo.plotgroup.remove()}}var hadGl=oldFullLayout._has&&oldFullLayout._has("gl");var hasGl=newFullLayout._has&&newFullLayout._has("gl");if(hadGl&&!hasGl){for(k in oldPlots){plotinfo=oldPlots[k];if(plotinfo._scene)plotinfo._scene.destroy()}}if(oldSubplotList.xaxis&&oldSubplotList.yaxis){var oldAxIDs=axisIds.listIds({_fullLayout:oldFullLayout});for(i=0;i<oldAxIDs.length;i++){var oldAxId=oldAxIDs[i];if(!newFullLayout[axisIds.id2name(oldAxId)]){oldFullLayout._infolayer.selectAll(".g-"+oldAxId+"title").remove()}}}var hadCartesian=oldFullLayout._has&&oldFullLayout._has("cartesian");var hasCartesian=newFullLayout._has&&newFullLayout._has("cartesian");if(hadCartesian&&!hasCartesian){purgeSubplotLayers(oldFullLayout._cartesianlayer.selectAll(".subplot"),oldFullLayout);oldFullLayout._defs.selectAll(".axesclip").remove();delete oldFullLayout._axisConstraintGroups;delete oldFullLayout._axisMatchGroups}else if(oldSubplotList.cartesian){for(i=0;i<oldSubplotList.cartesian.length;i++){var oldSubplotId=oldSubplotList.cartesian[i];if(!newPlots[oldSubplotId]){var selector="."+oldSubplotId+",."+oldSubplotId+"-x,."+oldSubplotId+"-y";oldFullLayout._cartesianlayer.selectAll(selector).remove();removeSubplotExtras(oldSubplotId,oldFullLayout)}}}};exports.drawFramework=function(gd){var fullLayout=gd._fullLayout;var subplotData=makeSubplotData(gd);var subplotLayers=fullLayout._cartesianlayer.selectAll(".subplot").data(subplotData,String);subplotLayers.enter().append("g").attr("class",(function(d){return"subplot "+d[0]}));subplotLayers.order();subplotLayers.exit().call(purgeSubplotLayers,fullLayout);subplotLayers.each((function(d){var id=d[0];var plotinfo=fullLayout._plots[id];plotinfo.plotgroup=d3.select(this);makeSubplotLayer(gd,plotinfo);plotinfo.draglayer=ensureSingle(fullLayout._draggers,"g",id)}))};exports.rangePlot=function(gd,plotinfo,cdSubplot){makeSubplotLayer(gd,plotinfo);plotOne(gd,plotinfo,cdSubplot);Plots.style(gd)};function makeSubplotData(gd){var fullLayout=gd._fullLayout;var ids=fullLayout._subplots.cartesian;var len=ids.length;var i,j,id,plotinfo,xa,ya;var regulars=[];var overlays=[];for(i=0;i<len;i++){id=ids[i];plotinfo=fullLayout._plots[id];xa=plotinfo.xaxis;ya=plotinfo.yaxis;var xa2=xa._mainAxis;var ya2=ya._mainAxis;var mainplot=xa2._id+ya2._id;var mainplotinfo=fullLayout._plots[mainplot];plotinfo.overlays=[];if(mainplot!==id&&mainplotinfo){plotinfo.mainplot=mainplot;plotinfo.mainplotinfo=mainplotinfo;overlays.push(id)}else{plotinfo.mainplot=undefined;plotinfo.mainplotinfo=undefined;regulars.push(id)}}for(i=0;i<overlays.length;i++){id=overlays[i];plotinfo=fullLayout._plots[id];plotinfo.mainplotinfo.overlays.push(plotinfo)}var subplotIds=regulars.concat(overlays);var subplotData=new Array(len);for(i=0;i<len;i++){id=subplotIds[i];plotinfo=fullLayout._plots[id];xa=plotinfo.xaxis;ya=plotinfo.yaxis;var d=[id,xa.layer,ya.layer,xa.overlaying||"",ya.overlaying||""];for(j=0;j<plotinfo.overlays.length;j++){d.push(plotinfo.overlays[j].id)}subplotData[i]=d}return subplotData}function makeSubplotLayer(gd,plotinfo){var plotgroup=plotinfo.plotgroup;var id=plotinfo.id;var xLayer=constants.layerValue2layerClass[plotinfo.xaxis.layer];var yLayer=constants.layerValue2layerClass[plotinfo.yaxis.layer];var hasOnlyLargeSploms=gd._fullLayout._hasOnlyLargeSploms;if(!plotinfo.mainplot){if(hasOnlyLargeSploms){plotinfo.xlines=ensureSingle(plotgroup,"path","xlines-above");plotinfo.ylines=ensureSingle(plotgroup,"path","ylines-above");plotinfo.xaxislayer=ensureSingle(plotgroup,"g","xaxislayer-above");plotinfo.yaxislayer=ensureSingle(plotgroup,"g","yaxislayer-above")}else{var backLayer=ensureSingle(plotgroup,"g","layer-subplot");plotinfo.shapelayer=ensureSingle(backLayer,"g","shapelayer");plotinfo.imagelayer=ensureSingle(backLayer,"g","imagelayer");plotinfo.gridlayer=ensureSingle(plotgroup,"g","gridlayer");plotinfo.zerolinelayer=ensureSingle(plotgroup,"g","zerolinelayer");ensureSingle(plotgroup,"path","xlines-below");ensureSingle(plotgroup,"path","ylines-below");plotinfo.overlinesBelow=ensureSingle(plotgroup,"g","overlines-below");ensureSingle(plotgroup,"g","xaxislayer-below");ensureSingle(plotgroup,"g","yaxislayer-below");plotinfo.overaxesBelow=ensureSingle(plotgroup,"g","overaxes-below");plotinfo.plot=ensureSingle(plotgroup,"g","plot");plotinfo.overplot=ensureSingle(plotgroup,"g","overplot");plotinfo.xlines=ensureSingle(plotgroup,"path","xlines-above");plotinfo.ylines=ensureSingle(plotgroup,"path","ylines-above");plotinfo.overlinesAbove=ensureSingle(plotgroup,"g","overlines-above");ensureSingle(plotgroup,"g","xaxislayer-above");ensureSingle(plotgroup,"g","yaxislayer-above");plotinfo.overaxesAbove=ensureSingle(plotgroup,"g","overaxes-above");plotinfo.xlines=plotgroup.select(".xlines-"+xLayer);plotinfo.ylines=plotgroup.select(".ylines-"+yLayer);plotinfo.xaxislayer=plotgroup.select(".xaxislayer-"+xLayer);plotinfo.yaxislayer=plotgroup.select(".yaxislayer-"+yLayer)}}else{var mainplotinfo=plotinfo.mainplotinfo;var mainplotgroup=mainplotinfo.plotgroup;var xId=id+"-x";var yId=id+"-y";plotinfo.gridlayer=mainplotinfo.gridlayer;plotinfo.zerolinelayer=mainplotinfo.zerolinelayer;ensureSingle(mainplotinfo.overlinesBelow,"path",xId);ensureSingle(mainplotinfo.overlinesBelow,"path",yId);ensureSingle(mainplotinfo.overaxesBelow,"g",xId);ensureSingle(mainplotinfo.overaxesBelow,"g",yId);plotinfo.plot=ensureSingle(mainplotinfo.overplot,"g",id);ensureSingle(mainplotinfo.overlinesAbove,"path",xId);ensureSingle(mainplotinfo.overlinesAbove,"path",yId);ensureSingle(mainplotinfo.overaxesAbove,"g",xId);ensureSingle(mainplotinfo.overaxesAbove,"g",yId);plotinfo.xlines=mainplotgroup.select(".overlines-"+xLayer).select("."+xId);plotinfo.ylines=mainplotgroup.select(".overlines-"+yLayer).select("."+yId);plotinfo.xaxislayer=mainplotgroup.select(".overaxes-"+xLayer).select("."+xId);plotinfo.yaxislayer=mainplotgroup.select(".overaxes-"+yLayer).select("."+yId)}if(!hasOnlyLargeSploms){ensureSingleAndAddDatum(plotinfo.gridlayer,"g",plotinfo.xaxis._id);ensureSingleAndAddDatum(plotinfo.gridlayer,"g",plotinfo.yaxis._id);plotinfo.gridlayer.selectAll("g").map((function(d){return d[0]})).sort(axisIds.idSort)}plotinfo.xlines.style("fill","none").classed("crisp",true);plotinfo.ylines.style("fill","none").classed("crisp",true)}function purgeSubplotLayers(layers,fullLayout){if(!layers)return;var overlayIdsToRemove={};layers.each((function(d){var id=d[0];var plotgroup=d3.select(this);plotgroup.remove();removeSubplotExtras(id,fullLayout);overlayIdsToRemove[id]=true}));for(var k in fullLayout._plots){var subplotInfo=fullLayout._plots[k];var overlays=subplotInfo.overlays||[];for(var j=0;j<overlays.length;j++){var overlayInfo=overlays[j];if(overlayIdsToRemove[overlayInfo.id]){overlayInfo.plot.selectAll(".trace").remove()}}}}function removeSubplotExtras(subplotId,fullLayout){fullLayout._draggers.selectAll("g."+subplotId).remove();fullLayout._defs.select("#clip"+fullLayout._uid+subplotId+"plot").remove()}exports.toSVG=function(gd){var imageRoot=gd._fullLayout._glimages;var root=d3.select(gd).selectAll(".svg-container");var canvases=root.filter((function(d,i){return i===root.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus");function canvasToImage(){var canvas=this;var imageData=canvas.toDataURL("image/png");var image=imageRoot.append("svg:image");image.attr({xmlns:xmlnsNamespaces.svg,"xlink:href":imageData,preserveAspectRatio:"none",x:0,y:0,width:canvas.style.width,height:canvas.style.height})}canvases.each(canvasToImage)};exports.updateFx=_dereq_("./graph_interact").updateFx},{"../../components/drawing":688,"../../constants/xmlns_namespaces":780,"../../lib":803,"../../registry":931,"../get_data":891,"../plots":917,"./attributes":852,"./axis_ids":858,"./constants":861,"./graph_interact":864,"./layout_attributes":869,"./layout_defaults":870,"./transition_axes":879,"@plotly/d3":58}],869:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../font_attributes");var colorAttrs=_dereq_("../../components/color/attributes");var dash=_dereq_("../../components/drawing/attributes").dash;var extendFlat=_dereq_("../../lib/extend").extendFlat;var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var descriptionWithDates=_dereq_("../../plots/cartesian/axis_format_attributes").descriptionWithDates;var ONEDAY=_dereq_("../../constants/numerical").ONEDAY;var constants=_dereq_("./constants");var HOUR=constants.HOUR_PATTERN;var DAY_OF_WEEK=constants.WEEKDAY_PATTERN;module.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:colorAttrs.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:fontAttrs({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:true},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},autorange:{valType:"enumerated",values:[true,false,"reversed"],dflt:true,editType:"axrange",impliedEdits:{"range[0]":undefined,"range[1]":undefined}},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":false},anim:true},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":false},anim:true}],editType:"axrange",impliedEdits:{autorange:false},anim:true},fixedrange:{valType:"boolean",dflt:false,editType:"calc"},scaleanchor:{valType:"enumerated",values:[constants.idRegex.x.toString(),constants.idRegex.y.toString()],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[constants.idRegex.x.toString(),constants.idRegex.y.toString()],editType:"calc"},rangebreaks:templatedArray("rangebreak",{enabled:{valType:"boolean",dflt:true,editType:"calc"},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},pattern:{valType:"enumerated",values:[DAY_OF_WEEK,HOUR,""],editType:"calc"},values:{valType:"info_array",freeLength:true,editType:"calc",items:{valType:"any",editType:"calc"}},dvalue:{valType:"number",editType:"calc",min:0,dflt:ONEDAY},editType:"calc"}),tickmode:{valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:undefined,dtick:undefined}},nticks:{valType:"integer",min:0,dflt:0,editType:"ticks"},tick0:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},dtick:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},tickvals:{valType:"data_array",editType:"ticks"},ticktext:{valType:"data_array",editType:"ticks"},ticks:{valType:"enumerated",values:["outside","inside",""],editType:"ticks"},tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks"},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc"},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc"},mirror:{valType:"enumerated",values:[true,"ticks",false,"all","allticks"],dflt:false,editType:"ticks+layoutstyle"},ticklen:{valType:"number",min:0,dflt:5,editType:"ticks"},tickwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},tickcolor:{valType:"color",dflt:colorAttrs.defaultLine,editType:"ticks"},showticklabels:{valType:"boolean",dflt:true,editType:"ticks"},automargin:{valType:"boolean",dflt:false,editType:"ticks"},showspikes:{valType:"boolean",dflt:false,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:extendFlat({},dash,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none"},tickfont:fontAttrs({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks"},separatethousands:{valType:"boolean",dflt:false,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks",description:descriptionWithDates("tick label")},tickformatstops:templatedArray("tickformatstop",{enabled:{valType:"boolean",dflt:true,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:descriptionWithDates("hover text")},showline:{valType:"boolean",dflt:false,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:colorAttrs.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:{valType:"boolean",editType:"ticks"},gridcolor:{valType:"color",dflt:colorAttrs.lightLine,editType:"ticks"},gridwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:colorAttrs.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:true,editType:"ticks"},dividercolor:{valType:"color",dflt:colorAttrs.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",constants.idRegex.x.toString(),constants.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",constants.idRegex.x.toString(),constants.idRegex.y.toString()],editType:"plot"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks"},title:{valType:"string",editType:"ticks"},titlefont:fontAttrs({editType:"ticks"})}}},{"../../components/color/attributes":665,"../../components/drawing/attributes":687,"../../constants/numerical":779,"../../lib/extend":793,"../../plot_api/plot_template":843,"../../plots/cartesian/axis_format_attributes":857,"../font_attributes":883,"./constants":861}],870:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var isUnifiedHover=_dereq_("../../components/fx/helpers").isUnifiedHover;var handleHoverModeDefaults=_dereq_("../../components/fx/hovermode_defaults");var Template=_dereq_("../../plot_api/plot_template");var basePlotLayoutAttributes=_dereq_("../layout_attributes");var layoutAttributes=_dereq_("./layout_attributes");var handleTypeDefaults=_dereq_("./type_defaults");var handleAxisDefaults=_dereq_("./axis_defaults");var constraints=_dereq_("./constraints");var handlePositionDefaults=_dereq_("./position_defaults");var axisIds=_dereq_("./axis_ids");var id2name=axisIds.id2name;var name2id=axisIds.name2id;var AX_ID_PATTERN=_dereq_("./constants").AX_ID_PATTERN;var Registry=_dereq_("../../registry");var traceIs=Registry.traceIs;var getComponentMethod=Registry.getComponentMethod;function appendList(cont,k,item){if(Array.isArray(cont[k]))cont[k].push(item);else cont[k]=[item]}module.exports=function supplyLayoutDefaults(layoutIn,layoutOut,fullData){var autotypenumbersDflt=layoutOut.autotypenumbers;var ax2traces={};var xaMayHide={};var yaMayHide={};var xaMustDisplay={};var yaMustDisplay={};var yaMustNotReverse={};var yaMayReverse={};var axHasImage={};var outerTicks={};var noGrids={};var i,j;for(i=0;i<fullData.length;i++){var trace=fullData[i];if(!traceIs(trace,"cartesian")&&!traceIs(trace,"gl2d"))continue;var xaName;if(trace.xaxis){xaName=id2name(trace.xaxis);appendList(ax2traces,xaName,trace)}else if(trace.xaxes){for(j=0;j<trace.xaxes.length;j++){appendList(ax2traces,id2name(trace.xaxes[j]),trace)}}var yaName;if(trace.yaxis){yaName=id2name(trace.yaxis);appendList(ax2traces,yaName,trace)}else if(trace.yaxes){for(j=0;j<trace.yaxes.length;j++){appendList(ax2traces,id2name(trace.yaxes[j]),trace)}}if(trace.type==="funnel"){if(trace.orientation==="h"){if(xaName)xaMayHide[xaName]=true;if(yaName)yaMayReverse[yaName]=true}else{if(yaName)yaMayHide[yaName]=true}}else if(trace.type==="image"){if(yaName)axHasImage[yaName]=true;if(xaName)axHasImage[xaName]=true}else{if(yaName){yaMustDisplay[yaName]=true;yaMustNotReverse[yaName]=true}if(!traceIs(trace,"carpet")||trace.type==="carpet"&&!trace._cheater){if(xaName)xaMustDisplay[xaName]=true}}if(trace.type==="carpet"&&trace._cheater){if(xaName)xaMayHide[xaName]=true}if(traceIs(trace,"2dMap")){outerTicks[xaName]=true;outerTicks[yaName]=true}if(traceIs(trace,"oriented")){var positionAxis=trace.orientation==="h"?yaName:xaName;noGrids[positionAxis]=true}}var subplots=layoutOut._subplots;var xIds=subplots.xaxis;var yIds=subplots.yaxis;var xNames=Lib.simpleMap(xIds,id2name);var yNames=Lib.simpleMap(yIds,id2name);var axNames=xNames.concat(yNames);var plotBgColor=Color.background;if(xIds.length&&yIds.length){plotBgColor=Lib.coerce(layoutIn,layoutOut,basePlotLayoutAttributes,"plot_bgcolor")}var bgColor=Color.combine(plotBgColor,layoutOut.paper_bgcolor);var axName;var axId;var axLetter;var axLayoutIn;var axLayoutOut;function newAxLayoutOut(){var traces=ax2traces[axName]||[];axLayoutOut._traceIndices=traces.map((function(t){return t._expandedIndex}));axLayoutOut._annIndices=[];axLayoutOut._shapeIndices=[];axLayoutOut._imgIndices=[];axLayoutOut._subplotsWith=[];axLayoutOut._counterAxes=[];axLayoutOut._name=axLayoutOut._attr=axName;axLayoutOut._id=axId}function coerce(attr,dflt){return Lib.coerce(axLayoutIn,axLayoutOut,layoutAttributes,attr,dflt)}function coerce2(attr,dflt){return Lib.coerce2(axLayoutIn,axLayoutOut,layoutAttributes,attr,dflt)}function getCounterAxes(axLetter){return axLetter==="x"?yIds:xIds}function getOverlayableAxes(axLetter,axName){var list=axLetter==="x"?xNames:yNames;var out=[];for(var j=0;j<list.length;j++){var axName2=list[j];if(axName2!==axName&&!(layoutIn[axName2]||{}).overlaying){out.push(name2id(axName2))}}return out}var counterAxes={x:getCounterAxes("x"),y:getCounterAxes("y")};var allAxisIds=counterAxes.x.concat(counterAxes.y);var missingMatchedAxisIdsLookup={};var missingMatchedAxisIds=[];function addMissingMatchedAxis(){var matchesIn=axLayoutIn.matches;if(AX_ID_PATTERN.test(matchesIn)&&allAxisIds.indexOf(matchesIn)===-1){missingMatchedAxisIdsLookup[matchesIn]=axLayoutIn.type;missingMatchedAxisIds=Object.keys(missingMatchedAxisIdsLookup)}}var hovermode=handleHoverModeDefaults(layoutIn,layoutOut);var unifiedHover=isUnifiedHover(hovermode);for(i=0;i<axNames.length;i++){axName=axNames[i];axId=name2id(axName);axLetter=axName.charAt(0);if(!Lib.isPlainObject(layoutIn[axName])){layoutIn[axName]={}}axLayoutIn=layoutIn[axName];axLayoutOut=Template.newContainer(layoutOut,axName,axLetter+"axis");newAxLayoutOut();var visibleDflt=axLetter==="x"&&!xaMustDisplay[axName]&&xaMayHide[axName]||axLetter==="y"&&!yaMustDisplay[axName]&&yaMayHide[axName];var reverseDflt=axLetter==="y"&&(!yaMustNotReverse[axName]&&yaMayReverse[axName]||axHasImage[axName]);var defaultOptions={letter:axLetter,font:layoutOut.font,outerTicks:outerTicks[axName],showGrid:!noGrids[axName],data:ax2traces[axName]||[],bgColor:bgColor,calendar:layoutOut.calendar,automargin:true,visibleDflt:visibleDflt,reverseDflt:reverseDflt,autotypenumbersDflt:autotypenumbersDflt,splomStash:((layoutOut._splomAxes||{})[axLetter]||{})[axId]};coerce("uirevision",layoutOut.uirevision);handleTypeDefaults(axLayoutIn,axLayoutOut,coerce,defaultOptions);handleAxisDefaults(axLayoutIn,axLayoutOut,coerce,defaultOptions,layoutOut);var unifiedSpike=unifiedHover&&axLetter===hovermode.charAt(0);var spikecolor=coerce2("spikecolor",unifiedHover?axLayoutOut.color:undefined);var spikethickness=coerce2("spikethickness",unifiedHover?1.5:undefined);var spikedash=coerce2("spikedash",unifiedHover?"dot":undefined);var spikemode=coerce2("spikemode",unifiedHover?"across":undefined);var spikesnap=coerce2("spikesnap");var showSpikes=coerce("showspikes",!!unifiedSpike||!!spikecolor||!!spikethickness||!!spikedash||!!spikemode||!!spikesnap);if(!showSpikes){delete axLayoutOut.spikecolor;delete axLayoutOut.spikethickness;delete axLayoutOut.spikedash;delete axLayoutOut.spikemode;delete axLayoutOut.spikesnap}handlePositionDefaults(axLayoutIn,axLayoutOut,coerce,{letter:axLetter,counterAxes:counterAxes[axLetter],overlayableAxes:getOverlayableAxes(axLetter,axName),grid:layoutOut.grid});coerce("title.standoff");addMissingMatchedAxis();axLayoutOut._input=axLayoutIn}i=0;while(i<missingMatchedAxisIds.length){axId=missingMatchedAxisIds[i++];axName=id2name(axId);axLetter=axName.charAt(0);if(!Lib.isPlainObject(layoutIn[axName])){layoutIn[axName]={}}axLayoutIn=layoutIn[axName];axLayoutOut=Template.newContainer(layoutOut,axName,axLetter+"axis");newAxLayoutOut();var defaultOptions2={letter:axLetter,font:layoutOut.font,outerTicks:outerTicks[axName],showGrid:!noGrids[axName],data:[],bgColor:bgColor,calendar:layoutOut.calendar,automargin:true,visibleDflt:false,reverseDflt:false,autotypenumbersDflt:autotypenumbersDflt,splomStash:((layoutOut._splomAxes||{})[axLetter]||{})[axId]};coerce("uirevision",layoutOut.uirevision);axLayoutOut.type=missingMatchedAxisIdsLookup[axId]||"linear";handleAxisDefaults(axLayoutIn,axLayoutOut,coerce,defaultOptions2,layoutOut);handlePositionDefaults(axLayoutIn,axLayoutOut,coerce,{letter:axLetter,counterAxes:counterAxes[axLetter],overlayableAxes:getOverlayableAxes(axLetter,axName),grid:layoutOut.grid});coerce("fixedrange");addMissingMatchedAxis();axLayoutOut._input=axLayoutIn}var rangeSliderDefaults=getComponentMethod("rangeslider","handleDefaults");var rangeSelectorDefaults=getComponentMethod("rangeselector","handleDefaults");for(i=0;i<xNames.length;i++){axName=xNames[i];axLayoutIn=layoutIn[axName];axLayoutOut=layoutOut[axName];rangeSliderDefaults(layoutIn,layoutOut,axName);if(axLayoutOut.type==="date"){rangeSelectorDefaults(axLayoutIn,axLayoutOut,layoutOut,yNames,axLayoutOut.calendar)}coerce("fixedrange")}for(i=0;i<yNames.length;i++){axName=yNames[i];axLayoutIn=layoutIn[axName];axLayoutOut=layoutOut[axName];var anchoredAxis=layoutOut[id2name(axLayoutOut.anchor)];var fixedRangeDflt=getComponentMethod("rangeslider","isVisible")(anchoredAxis);coerce("fixedrange",fixedRangeDflt)}constraints.handleDefaults(layoutIn,layoutOut,{axIds:allAxisIds.concat(missingMatchedAxisIds).sort(axisIds.idSort),axHasImage:axHasImage})}},{"../../components/color":666,"../../components/fx/helpers":702,"../../components/fx/hovermode_defaults":705,"../../lib":803,"../../plot_api/plot_template":843,"../../registry":931,"../layout_attributes":908,"./axis_defaults":856,"./axis_ids":858,"./constants":861,"./constraints":862,"./layout_attributes":869,"./position_defaults":872,"./type_defaults":880}],871:[function(_dereq_,module,exports){"use strict";var colorMix=_dereq_("tinycolor2").mix;var lightFraction=_dereq_("../../components/color/attributes").lightFraction;var Lib=_dereq_("../../lib");module.exports=function handleLineGridDefaults(containerIn,containerOut,coerce,opts){opts=opts||{};var dfltColor=opts.dfltColor;function coerce2(attr,dflt){return Lib.coerce2(containerIn,containerOut,opts.attributes,attr,dflt)}var lineColor=coerce2("linecolor",dfltColor);var lineWidth=coerce2("linewidth");var showLine=coerce("showline",opts.showLine||!!lineColor||!!lineWidth);if(!showLine){delete containerOut.linecolor;delete containerOut.linewidth}var gridColorDflt=colorMix(dfltColor,opts.bgColor,opts.blend||lightFraction).toRgbString();var gridColor=coerce2("gridcolor",gridColorDflt);var gridWidth=coerce2("gridwidth");var showGridLines=coerce("showgrid",opts.showGrid||!!gridColor||!!gridWidth);if(!showGridLines){delete containerOut.gridcolor;delete containerOut.gridwidth}if(!opts.noZeroLine){var zeroLineColor=coerce2("zerolinecolor",dfltColor);var zeroLineWidth=coerce2("zerolinewidth");var showZeroLine=coerce("zeroline",opts.showGrid||!!zeroLineColor||!!zeroLineWidth);if(!showZeroLine){delete containerOut.zerolinecolor;delete containerOut.zerolinewidth}}}},{"../../components/color/attributes":665,"../../lib":803,tinycolor2:598}],872:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");module.exports=function handlePositionDefaults(containerIn,containerOut,coerce,options){var counterAxes=options.counterAxes||[];var overlayableAxes=options.overlayableAxes||[];var letter=options.letter;var grid=options.grid;var dfltAnchor,dfltDomain,dfltSide,dfltPosition;if(grid){dfltDomain=grid._domains[letter][grid._axisMap[containerOut._id]];dfltAnchor=grid._anchors[containerOut._id];if(dfltDomain){dfltSide=grid[letter+"side"].split(" ")[0];dfltPosition=grid.domain[letter][dfltSide==="right"||dfltSide==="top"?1:0]}}dfltDomain=dfltDomain||[0,1];dfltAnchor=dfltAnchor||(isNumeric(containerIn.position)?"free":counterAxes[0]||"free");dfltSide=dfltSide||(letter==="x"?"bottom":"left");dfltPosition=dfltPosition||0;var anchor=Lib.coerce(containerIn,containerOut,{anchor:{valType:"enumerated",values:["free"].concat(counterAxes),dflt:dfltAnchor}},"anchor");if(anchor==="free")coerce("position",dfltPosition);Lib.coerce(containerIn,containerOut,{side:{valType:"enumerated",values:letter==="x"?["bottom","top"]:["left","right"],dflt:dfltSide}},"side");var overlaying=false;if(overlayableAxes.length){overlaying=Lib.coerce(containerIn,containerOut,{overlaying:{valType:"enumerated",values:[false].concat(overlayableAxes),dflt:false}},"overlaying")}if(!overlaying){var domain=coerce("domain",dfltDomain);if(domain[0]>domain[1]-1/4096)containerOut.domain=dfltDomain;Lib.noneOrAll(containerIn.domain,containerOut.domain,dfltDomain)}coerce("layer");return containerOut}},{"../../lib":803,"fast-isnumeric":249}],873:[function(_dereq_,module,exports){"use strict";var FROM_BL=_dereq_("../../constants/alignment").FROM_BL;module.exports=function scaleZoom(ax,factor,centerFraction){if(centerFraction===undefined){centerFraction=FROM_BL[ax.constraintoward||"center"]}var rangeLinear=[ax.r2l(ax.range[0]),ax.r2l(ax.range[1])];var center=rangeLinear[0]+(rangeLinear[1]-rangeLinear[0])*centerFraction;ax.range=ax._input.range=[ax.l2r(center+(rangeLinear[0]-center)*factor),ax.l2r(center+(rangeLinear[1]-center)*factor)];ax.setScale()}},{"../../constants/alignment":771}],874:[function(_dereq_,module,exports){"use strict";var polybool=_dereq_("polybooljs");var Registry=_dereq_("../../registry");var dashStyle=_dereq_("../../components/drawing").dashStyle;var Color=_dereq_("../../components/color");var Fx=_dereq_("../../components/fx");var makeEventData=_dereq_("../../components/fx/helpers").makeEventData;var dragHelpers=_dereq_("../../components/dragelement/helpers");var freeMode=dragHelpers.freeMode;var rectMode=dragHelpers.rectMode;var drawMode=dragHelpers.drawMode;var openMode=dragHelpers.openMode;var selectMode=dragHelpers.selectMode;var displayOutlines=_dereq_("../../components/shapes/draw_newshape/display_outlines");var handleEllipse=_dereq_("../../components/shapes/draw_newshape/helpers").handleEllipse;var newShapes=_dereq_("../../components/shapes/draw_newshape/newshapes");var Lib=_dereq_("../../lib");var polygon=_dereq_("../../lib/polygon");var throttle=_dereq_("../../lib/throttle");var getFromId=_dereq_("./axis_ids").getFromId;var clearGlCanvases=_dereq_("../../lib/clear_gl_canvases");var redrawReglTraces=_dereq_("../../plot_api/subroutines").redrawReglTraces;var constants=_dereq_("./constants");var MINSELECT=constants.MINSELECT;var filteredPolygon=polygon.filter;var polygonTester=polygon.tester;var clearSelect=_dereq_("./handle_outline").clearSelect;var helpers=_dereq_("./helpers");var p2r=helpers.p2r;var axValue=helpers.axValue;var getTransform=helpers.getTransform;function prepSelect(e,startX,startY,dragOptions,mode){var isFreeMode=freeMode(mode);var isRectMode=rectMode(mode);var isOpenMode=openMode(mode);var isDrawMode=drawMode(mode);var isSelectMode=selectMode(mode);var isLine=mode==="drawline";var isEllipse=mode==="drawcircle";var isLineOrEllipse=isLine||isEllipse;var gd=dragOptions.gd;var fullLayout=gd._fullLayout;var zoomLayer=fullLayout._zoomlayer;var dragBBox=dragOptions.element.getBoundingClientRect();var plotinfo=dragOptions.plotinfo;var transform=getTransform(plotinfo);var x0=startX-dragBBox.left;var y0=startY-dragBBox.top;fullLayout._calcInverseTransform(gd);var transformedCoords=Lib.apply3DTransform(fullLayout._invTransform)(x0,y0);x0=transformedCoords[0];y0=transformedCoords[1];var scaleX=fullLayout._invScaleX;var scaleY=fullLayout._invScaleY;var x1=x0;var y1=y0;var path0="M"+x0+","+y0;var pw=dragOptions.xaxes[0]._length;var ph=dragOptions.yaxes[0]._length;var allAxes=dragOptions.xaxes.concat(dragOptions.yaxes);var subtract=e.altKey&&!(drawMode(mode)&&isOpenMode);var filterPoly,selectionTester,mergedPolygons,currentPolygon;var i,searchInfo,eventData;coerceSelectionsCache(e,gd,dragOptions);if(isFreeMode){filterPoly=filteredPolygon([[x0,y0]],constants.BENDPX)}var outlines=zoomLayer.selectAll("path.select-outline-"+plotinfo.id).data(isDrawMode?[0]:[1,2]);var drwStyle=fullLayout.newshape;outlines.enter().append("path").attr("class",(function(d){return"select-outline select-outline-"+d+" select-outline-"+plotinfo.id})).style(isDrawMode?{opacity:drwStyle.opacity/2,fill:isOpenMode?undefined:drwStyle.fillcolor,stroke:drwStyle.line.color,"stroke-dasharray":dashStyle(drwStyle.line.dash,drwStyle.line.width),"stroke-width":drwStyle.line.width+"px"}:{}).attr("fill-rule",drwStyle.fillrule).classed("cursor-move",isDrawMode?true:false).attr("transform",transform).attr("d",path0+"Z");var corners=zoomLayer.append("path").attr("class","zoombox-corners").style({fill:Color.background,stroke:Color.defaultLine,"stroke-width":1}).attr("transform",transform).attr("d","M0,0Z");var throttleID=fullLayout._uid+constants.SELECTID;var selection=[];var searchTraces=determineSearchTraces(gd,dragOptions.xaxes,dragOptions.yaxes,dragOptions.subplot);function ascending(a,b){return a-b}var fillRangeItems;if(plotinfo.fillRangeItems){fillRangeItems=plotinfo.fillRangeItems}else{if(isRectMode){fillRangeItems=function(eventData,poly){var ranges=eventData.range={};for(i=0;i<allAxes.length;i++){var ax=allAxes[i];var axLetter=ax._id.charAt(0);ranges[ax._id]=[p2r(ax,poly[axLetter+"min"]),p2r(ax,poly[axLetter+"max"])].sort(ascending)}}}else{fillRangeItems=function(eventData,poly,filterPoly){var dataPts=eventData.lassoPoints={};for(i=0;i<allAxes.length;i++){var ax=allAxes[i];dataPts[ax._id]=filterPoly.filtered.map(axValue(ax))}}}}dragOptions.moveFn=function(dx0,dy0){x1=Math.max(0,Math.min(pw,scaleX*dx0+x0));y1=Math.max(0,Math.min(ph,scaleY*dy0+y0));var dx=Math.abs(x1-x0);var dy=Math.abs(y1-y0);if(isRectMode){var direction;var start,end;if(isSelectMode){var q=fullLayout.selectdirection;if(q==="any"){if(dy<Math.min(dx*.6,MINSELECT)){direction="h"}else if(dx<Math.min(dy*.6,MINSELECT)){direction="v"}else{direction="d"}}else{direction=q}switch(direction){case"h":start=isEllipse?ph/2:0;end=ph;break;case"v":start=isEllipse?pw/2:0;end=pw;break}}if(isDrawMode){switch(fullLayout.newshape.drawdirection){case"vertical":direction="h";start=isEllipse?ph/2:0;end=ph;break;case"horizontal":direction="v";start=isEllipse?pw/2:0;end=pw;break;case"ortho":if(dx<dy){direction="h";start=y0;end=y1}else{direction="v";start=x0;end=x1}break;default:direction="d"}}if(direction==="h"){currentPolygon=isLineOrEllipse?handleEllipse(isEllipse,[x1,start],[x1,end]):[[x0,start],[x0,end],[x1,end],[x1,start]];currentPolygon.xmin=isLineOrEllipse?x1:Math.min(x0,x1);currentPolygon.xmax=isLineOrEllipse?x1:Math.max(x0,x1);currentPolygon.ymin=Math.min(start,end);currentPolygon.ymax=Math.max(start,end);corners.attr("d","M"+currentPolygon.xmin+","+(y0-MINSELECT)+"h-4v"+2*MINSELECT+"h4Z"+"M"+(currentPolygon.xmax-1)+","+(y0-MINSELECT)+"h4v"+2*MINSELECT+"h-4Z")}else if(direction==="v"){currentPolygon=isLineOrEllipse?handleEllipse(isEllipse,[start,y1],[end,y1]):[[start,y0],[start,y1],[end,y1],[end,y0]];currentPolygon.xmin=Math.min(start,end);currentPolygon.xmax=Math.max(start,end);currentPolygon.ymin=isLineOrEllipse?y1:Math.min(y0,y1);currentPolygon.ymax=isLineOrEllipse?y1:Math.max(y0,y1);corners.attr("d","M"+(x0-MINSELECT)+","+currentPolygon.ymin+"v-4h"+2*MINSELECT+"v4Z"+"M"+(x0-MINSELECT)+","+(currentPolygon.ymax-1)+"v4h"+2*MINSELECT+"v-4Z")}else if(direction==="d"){currentPolygon=isLineOrEllipse?handleEllipse(isEllipse,[x0,y0],[x1,y1]):[[x0,y0],[x0,y1],[x1,y1],[x1,y0]];currentPolygon.xmin=Math.min(x0,x1);currentPolygon.xmax=Math.max(x0,x1);currentPolygon.ymin=Math.min(y0,y1);currentPolygon.ymax=Math.max(y0,y1);corners.attr("d","M0,0Z")}}else if(isFreeMode){filterPoly.addPt([x1,y1]);currentPolygon=filterPoly.filtered}if(dragOptions.selectionDefs&&dragOptions.selectionDefs.length){mergedPolygons=mergePolygons(dragOptions.mergedPolygons,currentPolygon,subtract);currentPolygon.subtract=subtract;selectionTester=multiTester(dragOptions.selectionDefs.concat([currentPolygon]))}else{mergedPolygons=[currentPolygon];selectionTester=polygonTester(currentPolygon)}displayOutlines(convertPoly(mergedPolygons,isOpenMode),outlines,dragOptions);if(isSelectMode){throttle.throttle(throttleID,constants.SELECTDELAY,(function(){selection=[];var thisSelection;var traceSelections=[];var traceSelection;for(i=0;i<searchTraces.length;i++){searchInfo=searchTraces[i];traceSelection=searchInfo._module.selectPoints(searchInfo,selectionTester);traceSelections.push(traceSelection);thisSelection=fillSelectionItem(traceSelection,searchInfo);if(selection.length){for(var j=0;j<thisSelection.length;j++){selection.push(thisSelection[j])}}else selection=thisSelection}eventData={points:selection};updateSelectedState(gd,searchTraces,eventData);fillRangeItems(eventData,currentPolygon,filterPoly);dragOptions.gd.emit("plotly_selecting",eventData)}))}};dragOptions.clickFn=function(numClicks,evt){corners.remove();if(gd._fullLayout._activeShapeIndex>=0){gd._fullLayout._deactivateShape(gd);return}if(isDrawMode)return;var clickmode=fullLayout.clickmode;throttle.done(throttleID).then((function(){throttle.clear(throttleID);if(numClicks===2){outlines.remove();for(i=0;i<searchTraces.length;i++){searchInfo=searchTraces[i];searchInfo._module.selectPoints(searchInfo,false)}updateSelectedState(gd,searchTraces);clearSelectionsCache(dragOptions);gd.emit("plotly_deselect",null)}else{if(clickmode.indexOf("select")>-1){selectOnClick(evt,gd,dragOptions.xaxes,dragOptions.yaxes,dragOptions.subplot,dragOptions,outlines)}if(clickmode==="event"){gd.emit("plotly_selected",undefined)}}Fx.click(gd,evt)})).catch(Lib.error)};dragOptions.doneFn=function(){corners.remove();throttle.done(throttleID).then((function(){throttle.clear(throttleID);dragOptions.gd.emit("plotly_selected",eventData);if(currentPolygon&&dragOptions.selectionDefs){currentPolygon.subtract=subtract;dragOptions.selectionDefs.push(currentPolygon);dragOptions.mergedPolygons.length=0;[].push.apply(dragOptions.mergedPolygons,mergedPolygons)}if(dragOptions.doneFnCompleted){dragOptions.doneFnCompleted(selection)}})).catch(Lib.error);if(isDrawMode){clearSelectionsCache(dragOptions)}}}function selectOnClick(evt,gd,xAxes,yAxes,subplot,dragOptions,polygonOutlines){var hoverData=gd._hoverdata;var fullLayout=gd._fullLayout;var clickmode=fullLayout.clickmode;var sendEvents=clickmode.indexOf("event")>-1;var selection=[];var searchTraces,searchInfo,currentSelectionDef,selectionTester,traceSelection;var thisTracesSelection,pointOrBinSelected,subtract,eventData,i;if(isHoverDataSet(hoverData)){coerceSelectionsCache(evt,gd,dragOptions);searchTraces=determineSearchTraces(gd,xAxes,yAxes,subplot);var clickedPtInfo=extractClickedPtInfo(hoverData,searchTraces);var isBinnedTrace=clickedPtInfo.pointNumbers.length>0;if(isBinnedTrace?isOnlyThisBinSelected(searchTraces,clickedPtInfo):isOnlyOnePointSelected(searchTraces)&&(pointOrBinSelected=isPointOrBinSelected(clickedPtInfo))){if(polygonOutlines)polygonOutlines.remove();for(i=0;i<searchTraces.length;i++){searchInfo=searchTraces[i];searchInfo._module.selectPoints(searchInfo,false)}updateSelectedState(gd,searchTraces);clearSelectionsCache(dragOptions);if(sendEvents){gd.emit("plotly_deselect",null)}}else{subtract=evt.shiftKey&&(pointOrBinSelected!==undefined?pointOrBinSelected:isPointOrBinSelected(clickedPtInfo));currentSelectionDef=newPointSelectionDef(clickedPtInfo.pointNumber,clickedPtInfo.searchInfo,subtract);var allSelectionDefs=dragOptions.selectionDefs.concat([currentSelectionDef]);selectionTester=multiTester(allSelectionDefs);for(i=0;i<searchTraces.length;i++){traceSelection=searchTraces[i]._module.selectPoints(searchTraces[i],selectionTester);thisTracesSelection=fillSelectionItem(traceSelection,searchTraces[i]);if(selection.length){for(var j=0;j<thisTracesSelection.length;j++){selection.push(thisTracesSelection[j])}}else selection=thisTracesSelection}eventData={points:selection};updateSelectedState(gd,searchTraces,eventData);if(currentSelectionDef&&dragOptions){dragOptions.selectionDefs.push(currentSelectionDef)}if(polygonOutlines){var polygons=dragOptions.mergedPolygons;var isOpenMode=openMode(dragOptions.dragmode);displayOutlines(convertPoly(polygons,isOpenMode),polygonOutlines,dragOptions)}if(sendEvents){gd.emit("plotly_selected",eventData)}}}}function newPointSelectionDef(pointNumber,searchInfo,subtract){return{pointNumber:pointNumber,searchInfo:searchInfo,subtract:subtract}}function isPointSelectionDef(o){return"pointNumber"in o&&"searchInfo"in o}function newPointNumTester(pointSelectionDef){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(pt,omitFirstEdge,pointNumber,searchInfo){var idxWantedTrace=pointSelectionDef.searchInfo.cd[0].trace._expandedIndex;var idxActualTrace=searchInfo.cd[0].trace._expandedIndex;return idxActualTrace===idxWantedTrace&&pointNumber===pointSelectionDef.pointNumber},isRect:false,degenerate:false,subtract:pointSelectionDef.subtract}}function multiTester(list){var testers=[];var xmin=isPointSelectionDef(list[0])?0:list[0][0][0];var xmax=xmin;var ymin=isPointSelectionDef(list[0])?0:list[0][0][1];var ymax=ymin;for(var i=0;i<list.length;i++){if(isPointSelectionDef(list[i])){testers.push(newPointNumTester(list[i]))}else{var tester=polygon.tester(list[i]);tester.subtract=list[i].subtract;testers.push(tester);xmin=Math.min(xmin,tester.xmin);xmax=Math.max(xmax,tester.xmax);ymin=Math.min(ymin,tester.ymin);ymax=Math.max(ymax,tester.ymax)}}function contains(pt,arg,pointNumber,searchInfo){var contained=false;for(var i=0;i<testers.length;i++){if(testers[i].contains(pt,arg,pointNumber,searchInfo)){contained=testers[i].subtract===false}}return contained}return{xmin:xmin,xmax:xmax,ymin:ymin,ymax:ymax,pts:[],contains:contains,isRect:false,degenerate:false}}function coerceSelectionsCache(evt,gd,dragOptions){gd._fullLayout._drawing=false;var fullLayout=gd._fullLayout;var plotinfo=dragOptions.plotinfo;var dragmode=dragOptions.dragmode;var selectingOnSameSubplot=fullLayout._lastSelectedSubplot&&fullLayout._lastSelectedSubplot===plotinfo.id;var hasModifierKey=(evt.shiftKey||evt.altKey)&&!(drawMode(dragmode)&&openMode(dragmode));if(selectingOnSameSubplot&&hasModifierKey&&(plotinfo.selection&&plotinfo.selection.selectionDefs)&&!dragOptions.selectionDefs){dragOptions.selectionDefs=plotinfo.selection.selectionDefs;dragOptions.mergedPolygons=plotinfo.selection.mergedPolygons}else if(!hasModifierKey||!plotinfo.selection){clearSelectionsCache(dragOptions)}if(!selectingOnSameSubplot){clearSelect(gd);fullLayout._lastSelectedSubplot=plotinfo.id}}function clearSelectionsCache(dragOptions){var dragmode=dragOptions.dragmode;var plotinfo=dragOptions.plotinfo;var gd=dragOptions.gd;if(gd._fullLayout._activeShapeIndex>=0){gd._fullLayout._deactivateShape(gd)}if(drawMode(dragmode)){var fullLayout=gd._fullLayout;var zoomLayer=fullLayout._zoomlayer;var outlines=zoomLayer.selectAll(".select-outline-"+plotinfo.id);if(outlines&&gd._fullLayout._drawing){var shapes=newShapes(outlines,dragOptions);if(shapes){Registry.call("_guiRelayout",gd,{shapes:shapes})}gd._fullLayout._drawing=false}}plotinfo.selection={};plotinfo.selection.selectionDefs=dragOptions.selectionDefs=[];plotinfo.selection.mergedPolygons=dragOptions.mergedPolygons=[]}function determineSearchTraces(gd,xAxes,yAxes,subplot){var searchTraces=[];var xAxisIds=xAxes.map((function(ax){return ax._id}));var yAxisIds=yAxes.map((function(ax){return ax._id}));var cd,trace,i;for(i=0;i<gd.calcdata.length;i++){cd=gd.calcdata[i];trace=cd[0].trace;if(trace.visible!==true||!trace._module||!trace._module.selectPoints)continue;if(subplot&&(trace.subplot===subplot||trace.geo===subplot)){searchTraces.push(createSearchInfo(trace._module,cd,xAxes[0],yAxes[0]))}else if(trace.type==="splom"&&trace._xaxes[xAxisIds[0]]&&trace._yaxes[yAxisIds[0]]){var info=createSearchInfo(trace._module,cd,xAxes[0],yAxes[0]);info.scene=gd._fullLayout._splomScenes[trace.uid];searchTraces.push(info)}else if(trace.type==="sankey"){var sankeyInfo=createSearchInfo(trace._module,cd,xAxes[0],yAxes[0]);searchTraces.push(sankeyInfo)}else{if(xAxisIds.indexOf(trace.xaxis)===-1)continue;if(yAxisIds.indexOf(trace.yaxis)===-1)continue;searchTraces.push(createSearchInfo(trace._module,cd,getFromId(gd,trace.xaxis),getFromId(gd,trace.yaxis)))}}return searchTraces;function createSearchInfo(module,calcData,xaxis,yaxis){return{_module:module,cd:calcData,xaxis:xaxis,yaxis:yaxis}}}function isHoverDataSet(hoverData){return hoverData&&Array.isArray(hoverData)&&hoverData[0].hoverOnBox!==true}function extractClickedPtInfo(hoverData,searchTraces){var hoverDatum=hoverData[0];var pointNumber=-1;var pointNumbers=[];var searchInfo,i;for(i=0;i<searchTraces.length;i++){searchInfo=searchTraces[i];if(hoverDatum.fullData._expandedIndex===searchInfo.cd[0].trace._expandedIndex){if(hoverDatum.hoverOnBox===true){break}if(hoverDatum.pointNumber!==undefined){pointNumber=hoverDatum.pointNumber}else if(hoverDatum.binNumber!==undefined){pointNumber=hoverDatum.binNumber;pointNumbers=hoverDatum.pointNumbers}break}}return{pointNumber:pointNumber,pointNumbers:pointNumbers,searchInfo:searchInfo}}function isPointOrBinSelected(clickedPtInfo){var trace=clickedPtInfo.searchInfo.cd[0].trace;var ptNum=clickedPtInfo.pointNumber;var ptNums=clickedPtInfo.pointNumbers;var ptNumsSet=ptNums.length>0;var ptNumToTest=ptNumsSet?ptNums[0]:ptNum;return trace.selectedpoints?trace.selectedpoints.indexOf(ptNumToTest)>-1:false}function isOnlyThisBinSelected(searchTraces,clickedPtInfo){var tracesWithSelectedPts=[];var searchInfo,trace,isSameTrace,i;for(i=0;i<searchTraces.length;i++){searchInfo=searchTraces[i];if(searchInfo.cd[0].trace.selectedpoints&&searchInfo.cd[0].trace.selectedpoints.length>0){tracesWithSelectedPts.push(searchInfo)}}if(tracesWithSelectedPts.length===1){isSameTrace=tracesWithSelectedPts[0]===clickedPtInfo.searchInfo;if(isSameTrace){trace=clickedPtInfo.searchInfo.cd[0].trace;if(trace.selectedpoints.length===clickedPtInfo.pointNumbers.length){for(i=0;i<clickedPtInfo.pointNumbers.length;i++){if(trace.selectedpoints.indexOf(clickedPtInfo.pointNumbers[i])<0){return false}}return true}}}return false}function isOnlyOnePointSelected(searchTraces){var len=0;var searchInfo,trace,i;for(i=0;i<searchTraces.length;i++){searchInfo=searchTraces[i];trace=searchInfo.cd[0].trace;if(trace.selectedpoints){if(trace.selectedpoints.length>1)return false;len+=trace.selectedpoints.length;if(len>1)return false}}return len===1}function updateSelectedState(gd,searchTraces,eventData){var i,searchInfo,cd,trace;for(i=0;i<searchTraces.length;i++){var fullInputTrace=searchTraces[i].cd[0].trace._fullInput;var tracePreGUI=gd._fullLayout._tracePreGUI[fullInputTrace.uid]||{};if(tracePreGUI.selectedpoints===undefined){tracePreGUI.selectedpoints=fullInputTrace._input.selectedpoints||null}}if(eventData){var pts=eventData.points||[];for(i=0;i<searchTraces.length;i++){trace=searchTraces[i].cd[0].trace;trace._input.selectedpoints=trace._fullInput.selectedpoints=[];if(trace._fullInput!==trace)trace.selectedpoints=[]}for(i=0;i<pts.length;i++){var pt=pts[i];var data=pt.data;var fullData=pt.fullData;if(pt.pointIndices){[].push.apply(data.selectedpoints,pt.pointIndices);if(trace._fullInput!==trace){[].push.apply(fullData.selectedpoints,pt.pointIndices)}}else{data.selectedpoints.push(pt.pointIndex);if(trace._fullInput!==trace){fullData.selectedpoints.push(pt.pointIndex)}}}}else{for(i=0;i<searchTraces.length;i++){trace=searchTraces[i].cd[0].trace;delete trace.selectedpoints;delete trace._input.selectedpoints;if(trace._fullInput!==trace){delete trace._fullInput.selectedpoints}}}var hasRegl=false;for(i=0;i<searchTraces.length;i++){searchInfo=searchTraces[i];cd=searchInfo.cd;trace=cd[0].trace;if(Registry.traceIs(trace,"regl")){hasRegl=true}var _module=searchInfo._module;var fn=_module.styleOnSelect||_module.style;if(fn){fn(gd,cd,cd[0].node3);if(cd[0].nodeRangePlot3)fn(gd,cd,cd[0].nodeRangePlot3)}}if(hasRegl){clearGlCanvases(gd);redrawReglTraces(gd)}}function mergePolygons(list,poly,subtract){var res;if(subtract){res=polybool.difference({regions:list,inverted:false},{regions:[poly],inverted:false});return res.regions}res=polybool.union({regions:list,inverted:false},{regions:[poly],inverted:false});return res.regions}function fillSelectionItem(selection,searchInfo){if(Array.isArray(selection)){var cd=searchInfo.cd;var trace=searchInfo.cd[0].trace;for(var i=0;i<selection.length;i++){selection[i]=makeEventData(selection[i],trace,cd)}}return selection}function convertPoly(polygonsIn,isOpenMode){var polygonsOut=[];for(var i=0;i<polygonsIn.length;i++){polygonsOut[i]=[];for(var j=0;j<polygonsIn[i].length;j++){polygonsOut[i][j]=[];polygonsOut[i][j][0]=j?"L":"M";for(var k=0;k<polygonsIn[i][j].length;k++){polygonsOut[i][j].push(polygonsIn[i][j][k])}}if(!isOpenMode){polygonsOut[i].push(["Z",polygonsOut[i][0][1],polygonsOut[i][0][2]])}}return polygonsOut}module.exports={prepSelect:prepSelect,clearSelect:clearSelect,clearSelectionsCache:clearSelectionsCache,selectOnClick:selectOnClick}},{"../../components/color":666,"../../components/dragelement/helpers":684,"../../components/drawing":688,"../../components/fx":706,"../../components/fx/helpers":702,"../../components/shapes/draw_newshape/display_outlines":754,"../../components/shapes/draw_newshape/helpers":755,"../../components/shapes/draw_newshape/newshapes":756,"../../lib":803,"../../lib/clear_gl_canvases":787,"../../lib/polygon":815,"../../lib/throttle":830,"../../plot_api/subroutines":844,"../../registry":931,"./axis_ids":858,"./constants":861,"./handle_outline":865,"./helpers":866,polybooljs:504}],875:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var utcFormat=_dereq_("d3-time-format").utcFormat;var Lib=_dereq_("../../lib");var numberFormat=Lib.numberFormat;var isNumeric=_dereq_("fast-isnumeric");var cleanNumber=Lib.cleanNumber;var ms2DateTime=Lib.ms2DateTime;var dateTime2ms=Lib.dateTime2ms;var ensureNumber=Lib.ensureNumber;var isArrayOrTypedArray=Lib.isArrayOrTypedArray;var numConstants=_dereq_("../../constants/numerical");var FP_SAFE=numConstants.FP_SAFE;var BADNUM=numConstants.BADNUM;var LOG_CLIP=numConstants.LOG_CLIP;var ONEWEEK=numConstants.ONEWEEK;var ONEDAY=numConstants.ONEDAY;var ONEHOUR=numConstants.ONEHOUR;var ONEMIN=numConstants.ONEMIN;var ONESEC=numConstants.ONESEC;var axisIds=_dereq_("./axis_ids");var constants=_dereq_("./constants");var HOUR_PATTERN=constants.HOUR_PATTERN;var WEEKDAY_PATTERN=constants.WEEKDAY_PATTERN;function fromLog(v){return Math.pow(10,v)}function isValidCategory(v){return v!==null&&v!==undefined}module.exports=function setConvert(ax,fullLayout){fullLayout=fullLayout||{};var axId=ax._id||"x";var axLetter=axId.charAt(0);function toLog(v,clip){if(v>0)return Math.log(v)/Math.LN10;else if(v<=0&&clip&&ax.range&&ax.range.length===2){var r0=ax.range[0];var r1=ax.range[1];return.5*(r0+r1-2*LOG_CLIP*Math.abs(r0-r1))}else return BADNUM}function dt2ms(v,_,calendar,opts){if((opts||{}).msUTC&&isNumeric(v)){return+v}var ms=dateTime2ms(v,calendar||ax.calendar);if(ms===BADNUM){if(isNumeric(v)){v=+v;var msecTenths=Math.floor(Lib.mod(v+.05,1)*10);var msRounded=Math.round(v-msecTenths/10);ms=dateTime2ms(new Date(msRounded))+msecTenths/10}else return BADNUM}return ms}function ms2dt(v,r,calendar){return ms2DateTime(v,r,calendar||ax.calendar)}function getCategoryName(v){return ax._categories[Math.round(v)]}function setCategoryIndex(v){if(isValidCategory(v)){if(ax._categoriesMap===undefined){ax._categoriesMap={}}if(ax._categoriesMap[v]!==undefined){return ax._categoriesMap[v]}else{ax._categories.push(typeof v==="number"?String(v):v);var curLength=ax._categories.length-1;ax._categoriesMap[v]=curLength;return curLength}}return BADNUM}function setMultiCategoryIndex(arrayIn,len){var arrayOut=new Array(len);for(var i=0;i<len;i++){var v0=(arrayIn[0]||[])[i];var v1=(arrayIn[1]||[])[i];arrayOut[i]=getCategoryIndex([v0,v1])}return arrayOut}function getCategoryIndex(v){if(ax._categoriesMap){return ax._categoriesMap[v]}}function getCategoryPosition(v){var index=getCategoryIndex(v);if(index!==undefined)return index;if(isNumeric(v))return+v}function getRangePosition(v){return isNumeric(v)?+v:getCategoryIndex(v)}function _l2p(v,m,b){return d3.round(b+m*v,2)}function _p2l(px,m,b){return(px-b)/m}var l2p=function l2p(v){if(!isNumeric(v))return BADNUM;return _l2p(v,ax._m,ax._b)};var p2l=function(px){return _p2l(px,ax._m,ax._b)};if(ax.rangebreaks){var isY=axLetter==="y";l2p=function(v){if(!isNumeric(v))return BADNUM;var len=ax._rangebreaks.length;if(!len)return _l2p(v,ax._m,ax._b);var flip=isY;if(ax.range[0]>ax.range[1])flip=!flip;var signAx=flip?-1:1;var pos=signAx*v;var q=0;for(var i=0;i<len;i++){var min=signAx*ax._rangebreaks[i].min;var max=signAx*ax._rangebreaks[i].max;if(pos<min)break;if(pos>max)q=i+1;else{q=pos<(min+max)/2?i:i+1;break}}var b2=ax._B[q]||0;if(!isFinite(b2))return 0;return _l2p(v,ax._m2,b2)};p2l=function(px){var len=ax._rangebreaks.length;if(!len)return _p2l(px,ax._m,ax._b);var q=0;for(var i=0;i<len;i++){if(px<ax._rangebreaks[i].pmin)break;if(px>ax._rangebreaks[i].pmax)q=i+1}return _p2l(px,ax._m2,ax._B[q])}}ax.c2l=ax.type==="log"?toLog:ensureNumber;ax.l2c=ax.type==="log"?fromLog:ensureNumber;ax.l2p=l2p;ax.p2l=p2l;ax.c2p=ax.type==="log"?function(v,clip){return l2p(toLog(v,clip))}:l2p;ax.p2c=ax.type==="log"?function(px){return fromLog(p2l(px))}:p2l;if(["linear","-"].indexOf(ax.type)!==-1){ax.d2r=ax.r2d=ax.d2c=ax.r2c=ax.d2l=ax.r2l=cleanNumber;ax.c2d=ax.c2r=ax.l2d=ax.l2r=ensureNumber;ax.d2p=ax.r2p=function(v){return ax.l2p(cleanNumber(v))};ax.p2d=ax.p2r=p2l;ax.cleanPos=ensureNumber}else if(ax.type==="log"){ax.d2r=ax.d2l=function(v,clip){return toLog(cleanNumber(v),clip)};ax.r2d=ax.r2c=function(v){return fromLog(cleanNumber(v))};ax.d2c=ax.r2l=cleanNumber;ax.c2d=ax.l2r=ensureNumber;ax.c2r=toLog;ax.l2d=fromLog;ax.d2p=function(v,clip){return ax.l2p(ax.d2r(v,clip))};ax.p2d=function(px){return fromLog(p2l(px))};ax.r2p=function(v){return ax.l2p(cleanNumber(v))};ax.p2r=p2l;ax.cleanPos=ensureNumber}else if(ax.type==="date"){ax.d2r=ax.r2d=Lib.identity;ax.d2c=ax.r2c=ax.d2l=ax.r2l=dt2ms;ax.c2d=ax.c2r=ax.l2d=ax.l2r=ms2dt;ax.d2p=ax.r2p=function(v,_,calendar){return ax.l2p(dt2ms(v,0,calendar))};ax.p2d=ax.p2r=function(px,r,calendar){return ms2dt(p2l(px),r,calendar)};ax.cleanPos=function(v){return Lib.cleanDate(v,BADNUM,ax.calendar)}}else if(ax.type==="category"){ax.d2c=ax.d2l=setCategoryIndex;ax.r2d=ax.c2d=ax.l2d=getCategoryName;ax.d2r=ax.d2l_noadd=getCategoryPosition;ax.r2c=function(v){var index=getRangePosition(v);return index!==undefined?index:ax.fraction2r(.5)};ax.l2r=ax.c2r=ensureNumber;ax.r2l=getRangePosition;ax.d2p=function(v){return ax.l2p(ax.r2c(v))};ax.p2d=function(px){return getCategoryName(p2l(px))};ax.r2p=ax.d2p;ax.p2r=p2l;ax.cleanPos=function(v){if(typeof v==="string"&&v!=="")return v;return ensureNumber(v)}}else if(ax.type==="multicategory"){ax.r2d=ax.c2d=ax.l2d=getCategoryName;ax.d2r=ax.d2l_noadd=getCategoryPosition;ax.r2c=function(v){var index=getCategoryPosition(v);return index!==undefined?index:ax.fraction2r(.5)};ax.r2c_just_indices=getCategoryIndex;ax.l2r=ax.c2r=ensureNumber;ax.r2l=getCategoryPosition;ax.d2p=function(v){return ax.l2p(ax.r2c(v))};ax.p2d=function(px){return getCategoryName(p2l(px))};ax.r2p=ax.d2p;ax.p2r=p2l;ax.cleanPos=function(v){if(Array.isArray(v)||typeof v==="string"&&v!=="")return v;return ensureNumber(v)};ax.setupMultiCategory=function(fullData){var traceIndices=ax._traceIndices;var i,j;var group=ax._matchGroup;if(group&&ax._categories.length===0){for(var axId2 in group){if(axId2!==axId){var ax2=fullLayout[axisIds.id2name(axId2)];traceIndices=traceIndices.concat(ax2._traceIndices)}}}var seen=[[0,{}],[0,{}]];var list=[];for(i=0;i<traceIndices.length;i++){var trace=fullData[traceIndices[i]];if(axLetter in trace){var arrayIn=trace[axLetter];var len=trace._length||Lib.minRowLength(arrayIn);if(isArrayOrTypedArray(arrayIn[0])&&isArrayOrTypedArray(arrayIn[1])){for(j=0;j<len;j++){var v0=arrayIn[0][j];var v1=arrayIn[1][j];if(isValidCategory(v0)&&isValidCategory(v1)){list.push([v0,v1]);if(!(v0 in seen[0][1])){seen[0][1][v0]=seen[0][0]++}if(!(v1 in seen[1][1])){seen[1][1][v1]=seen[1][0]++}}}}}}list.sort((function(a,b){var ind0=seen[0][1];var d=ind0[a[0]]-ind0[b[0]];if(d)return d;var ind1=seen[1][1];return ind1[a[1]]-ind1[b[1]]}));for(i=0;i<list.length;i++){setCategoryIndex(list[i])}}}ax.fraction2r=function(v){var rl0=ax.r2l(ax.range[0]);var rl1=ax.r2l(ax.range[1]);return ax.l2r(rl0+v*(rl1-rl0))};ax.r2fraction=function(v){var rl0=ax.r2l(ax.range[0]);var rl1=ax.r2l(ax.range[1]);return(ax.r2l(v)-rl0)/(rl1-rl0)};ax.cleanRange=function(rangeAttr,opts){if(!opts)opts={};if(!rangeAttr)rangeAttr="range";var range=Lib.nestedProperty(ax,rangeAttr).get();var i,dflt;if(ax.type==="date")dflt=Lib.dfltRange(ax.calendar);else if(axLetter==="y")dflt=constants.DFLTRANGEY;else dflt=opts.dfltRange||constants.DFLTRANGEX;dflt=dflt.slice();if(ax.rangemode==="tozero"||ax.rangemode==="nonnegative"){dflt[0]=0}if(!range||range.length!==2){Lib.nestedProperty(ax,rangeAttr).set(dflt);return}if(ax.type==="date"&&!ax.autorange){range[0]=Lib.cleanDate(range[0],BADNUM,ax.calendar);range[1]=Lib.cleanDate(range[1],BADNUM,ax.calendar)}for(i=0;i<2;i++){if(ax.type==="date"){if(!Lib.isDateTime(range[i],ax.calendar)){ax[rangeAttr]=dflt;break}if(ax.r2l(range[0])===ax.r2l(range[1])){var linCenter=Lib.constrain(ax.r2l(range[0]),Lib.MIN_MS+1e3,Lib.MAX_MS-1e3);range[0]=ax.l2r(linCenter-1e3);range[1]=ax.l2r(linCenter+1e3);break}}else{if(!isNumeric(range[i])){if(isNumeric(range[1-i])){range[i]=range[1-i]*(i?10:.1)}else{ax[rangeAttr]=dflt;break}}if(range[i]<-FP_SAFE)range[i]=-FP_SAFE;else if(range[i]>FP_SAFE)range[i]=FP_SAFE;if(range[0]===range[1]){var inc=Math.max(1,Math.abs(range[0]*1e-6));range[0]-=inc;range[1]+=inc}}}};ax.setScale=function(usePrivateRange){var gs=fullLayout._size;if(ax.overlaying){var ax2=axisIds.getFromId({_fullLayout:fullLayout},ax.overlaying);ax.domain=ax2.domain}var rangeAttr=usePrivateRange&&ax._r?"_r":"range";var calendar=ax.calendar;ax.cleanRange(rangeAttr);var rl0=ax.r2l(ax[rangeAttr][0],calendar);var rl1=ax.r2l(ax[rangeAttr][1],calendar);var isY=axLetter==="y";if(isY){ax._offset=gs.t+(1-ax.domain[1])*gs.h;ax._length=gs.h*(ax.domain[1]-ax.domain[0]);ax._m=ax._length/(rl0-rl1);ax._b=-ax._m*rl1}else{ax._offset=gs.l+ax.domain[0]*gs.w;ax._length=gs.w*(ax.domain[1]-ax.domain[0]);ax._m=ax._length/(rl1-rl0);ax._b=-ax._m*rl0}ax._rangebreaks=[];ax._lBreaks=0;ax._m2=0;ax._B=[];if(ax.rangebreaks){var i,brk;ax._rangebreaks=ax.locateBreaks(Math.min(rl0,rl1),Math.max(rl0,rl1));if(ax._rangebreaks.length){for(i=0;i<ax._rangebreaks.length;i++){brk=ax._rangebreaks[i];ax._lBreaks+=Math.abs(brk.max-brk.min)}var flip=isY;if(rl0>rl1)flip=!flip;if(flip)ax._rangebreaks.reverse();var sign=flip?-1:1;ax._m2=sign*ax._length/(Math.abs(rl1-rl0)-ax._lBreaks);ax._B.push(-ax._m2*(isY?rl1:rl0));for(i=0;i<ax._rangebreaks.length;i++){brk=ax._rangebreaks[i];ax._B.push(ax._B[ax._B.length-1]-sign*ax._m2*(brk.max-brk.min))}for(i=0;i<ax._rangebreaks.length;i++){brk=ax._rangebreaks[i];brk.pmin=l2p(brk.min);brk.pmax=l2p(brk.max)}}}if(!isFinite(ax._m)||!isFinite(ax._b)||ax._length<0){fullLayout._replotting=false;throw new Error("Something went wrong with axis scaling")}};ax.maskBreaks=function(v){var rangebreaksIn=ax.rangebreaks||[];var bnds,b0,b1,vb,vDate;if(!rangebreaksIn._cachedPatterns){rangebreaksIn._cachedPatterns=rangebreaksIn.map((function(brk){return brk.enabled&&brk.bounds?Lib.simpleMap(brk.bounds,brk.pattern?cleanNumber:ax.d2c):null}))}if(!rangebreaksIn._cachedValues){rangebreaksIn._cachedValues=rangebreaksIn.map((function(brk){return brk.enabled&&brk.values?Lib.simpleMap(brk.values,ax.d2c).sort(Lib.sorterAsc):null}))}for(var i=0;i<rangebreaksIn.length;i++){var brk=rangebreaksIn[i];if(brk.enabled){if(brk.bounds){var pattern=brk.pattern;bnds=rangebreaksIn._cachedPatterns[i];b0=bnds[0];b1=bnds[1];switch(pattern){case WEEKDAY_PATTERN:vDate=new Date(v);vb=vDate.getUTCDay();if(b0>b1){b1+=7;if(vb<b0)vb+=7}break;case HOUR_PATTERN:vDate=new Date(v);var hours=vDate.getUTCHours();var minutes=vDate.getUTCMinutes();var seconds=vDate.getUTCSeconds();var milliseconds=vDate.getUTCMilliseconds();vb=hours+(minutes/60+seconds/3600+milliseconds/36e5);if(b0>b1){b1+=24;if(vb<b0)vb+=24}break;case"":vb=v;break}if(vb>=b0&&vb<b1)return BADNUM}else{var vals=rangebreaksIn._cachedValues[i];for(var j=0;j<vals.length;j++){b0=vals[j];b1=b0+brk.dvalue;if(v>=b0&&v<b1)return BADNUM}}}}return v};ax.locateBreaks=function(r0,r1){var i,bnds,b0,b1;var rangebreaksOut=[];if(!ax.rangebreaks)return rangebreaksOut;var rangebreaksIn=ax.rangebreaks.slice().sort((function(a,b){if(a.pattern===WEEKDAY_PATTERN&&b.pattern===HOUR_PATTERN)return-1;if(b.pattern===WEEKDAY_PATTERN&&a.pattern===HOUR_PATTERN)return 1;return 0}));var addBreak=function(min,max){min=Lib.constrain(min,r0,r1);max=Lib.constrain(max,r0,r1);if(min===max)return;var isNewBreak=true;for(var j=0;j<rangebreaksOut.length;j++){var brkj=rangebreaksOut[j];if(min<brkj.max&&max>=brkj.min){if(min<brkj.min){brkj.min=min}if(max>brkj.max){brkj.max=max}isNewBreak=false}}if(isNewBreak){rangebreaksOut.push({min:min,max:max})}};for(i=0;i<rangebreaksIn.length;i++){var brk=rangebreaksIn[i];if(brk.enabled){if(brk.bounds){var t0=r0;var t1=r1;if(brk.pattern){t0=Math.floor(t0)}bnds=Lib.simpleMap(brk.bounds,brk.pattern?cleanNumber:ax.r2l);b0=bnds[0];b1=bnds[1];var t0Date=new Date(t0);var bndDelta;var step;switch(brk.pattern){case WEEKDAY_PATTERN:step=ONEWEEK;bndDelta=((b1<b0?7:0)+(b1-b0))*ONEDAY;t0+=b0*ONEDAY-(t0Date.getUTCDay()*ONEDAY+t0Date.getUTCHours()*ONEHOUR+t0Date.getUTCMinutes()*ONEMIN+t0Date.getUTCSeconds()*ONESEC+t0Date.getUTCMilliseconds());break;case HOUR_PATTERN:step=ONEDAY;bndDelta=((b1<b0?24:0)+(b1-b0))*ONEHOUR;t0+=b0*ONEHOUR-(t0Date.getUTCHours()*ONEHOUR+t0Date.getUTCMinutes()*ONEMIN+t0Date.getUTCSeconds()*ONESEC+t0Date.getUTCMilliseconds());break;default:t0=Math.min(bnds[0],bnds[1]);t1=Math.max(bnds[0],bnds[1]);step=t1-t0;bndDelta=step}for(var t=t0;t<t1;t+=step){addBreak(t,t+bndDelta)}}else{var vals=Lib.simpleMap(brk.values,ax.d2c);for(var j=0;j<vals.length;j++){b0=vals[j];b1=b0+brk.dvalue;addBreak(b0,b1)}}}}rangebreaksOut.sort((function(a,b){return a.min-b.min}));return rangebreaksOut};ax.makeCalcdata=function(trace,axLetter,opts){var arrayIn,arrayOut,i,len;var axType=ax.type;var cal=axType==="date"&&trace[axLetter+"calendar"];if(axLetter in trace){arrayIn=trace[axLetter];len=trace._length||Lib.minRowLength(arrayIn);if(Lib.isTypedArray(arrayIn)&&(axType==="linear"||axType==="log")){if(len===arrayIn.length){return arrayIn}else if(arrayIn.subarray){return arrayIn.subarray(0,len)}}if(axType==="multicategory"){return setMultiCategoryIndex(arrayIn,len)}arrayOut=new Array(len);for(i=0;i<len;i++){arrayOut[i]=ax.d2c(arrayIn[i],0,cal,opts)}}else{var v0=axLetter+"0"in trace?ax.d2c(trace[axLetter+"0"],0,cal):0;var dv=trace["d"+axLetter]?Number(trace["d"+axLetter]):1;arrayIn=trace[{x:"y",y:"x"}[axLetter]];len=trace._length||arrayIn.length;arrayOut=new Array(len);for(i=0;i<len;i++){arrayOut[i]=v0+i*dv}}if(ax.rangebreaks){for(i=0;i<len;i++){arrayOut[i]=ax.maskBreaks(arrayOut[i])}}return arrayOut};ax.isValidRange=function(range){return Array.isArray(range)&&range.length===2&&isNumeric(ax.r2l(range[0]))&&isNumeric(ax.r2l(range[1]))};ax.isPtWithinRange=function(d,calendar){var coord=ax.c2l(d[axLetter],null,calendar);var r0=ax.r2l(ax.range[0]);var r1=ax.r2l(ax.range[1]);if(r0<r1){return r0<=coord&&coord<=r1}else{return r1<=coord&&coord<=r0}};ax._emptyCategories=function(){ax._categories=[];ax._categoriesMap={}};ax.clearCalc=function(){var group=ax._matchGroup;if(group){var categories=null;var categoriesMap=null;for(var axId2 in group){var ax2=fullLayout[axisIds.id2name(axId2)];if(ax2._categories){categories=ax2._categories;categoriesMap=ax2._categoriesMap;break}}if(categories&&categoriesMap){ax._categories=categories;ax._categoriesMap=categoriesMap}else{ax._emptyCategories()}}else{ax._emptyCategories()}if(ax._initialCategories){for(var j=0;j<ax._initialCategories.length;j++){setCategoryIndex(ax._initialCategories[j])}}};ax.sortByInitialCategories=function(){var affectedTraces=[];ax._emptyCategories();if(ax._initialCategories){for(var j=0;j<ax._initialCategories.length;j++){setCategoryIndex(ax._initialCategories[j])}}affectedTraces=affectedTraces.concat(ax._traceIndices);var group=ax._matchGroup;for(var axId2 in group){if(axId===axId2)continue;var ax2=fullLayout[axisIds.id2name(axId2)];ax2._categories=ax._categories;ax2._categoriesMap=ax._categoriesMap;affectedTraces=affectedTraces.concat(ax2._traceIndices)}return affectedTraces};var locale=fullLayout._d3locale;if(ax.type==="date"){ax._dateFormat=locale?locale.timeFormat:utcFormat;ax._extraFormat=fullLayout._extraFormat}ax._separators=fullLayout.separators;ax._numFormat=locale?locale.numberFormat:numberFormat;delete ax._minDtick;delete ax._forceTick0}},{"../../constants/numerical":779,"../../lib":803,"./axis_ids":858,"./constants":861,"@plotly/d3":58,"d3-time-format":175,"fast-isnumeric":249}],876:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var contrast=_dereq_("../../components/color").contrast;var layoutAttributes=_dereq_("./layout_attributes");var handleArrayContainerDefaults=_dereq_("../array_container_defaults");module.exports=function handleTickLabelDefaults(containerIn,containerOut,coerce,axType,options,config){if(!config||config.pass===1){handlePrefixSuffix(containerIn,containerOut,coerce,axType,options)}if(!config||config.pass===2){handleOtherDefaults(containerIn,containerOut,coerce,axType,options)}};function handlePrefixSuffix(containerIn,containerOut,coerce,axType,options){var showAttrDflt=getShowAttrDflt(containerIn);var tickPrefix=coerce("tickprefix");if(tickPrefix)coerce("showtickprefix",showAttrDflt);var tickSuffix=coerce("ticksuffix",options.tickSuffixDflt);if(tickSuffix)coerce("showticksuffix",showAttrDflt)}function handleOtherDefaults(containerIn,containerOut,coerce,axType,options){var showAttrDflt=getShowAttrDflt(containerIn);var tickPrefix=coerce("tickprefix");if(tickPrefix)coerce("showtickprefix",showAttrDflt);var tickSuffix=coerce("ticksuffix",options.tickSuffixDflt);if(tickSuffix)coerce("showticksuffix",showAttrDflt);var showTickLabels=coerce("showticklabels");if(showTickLabels){var font=options.font||{};var contColor=containerOut.color;var position=containerOut.ticklabelposition||"";var dfltFontColor=position.indexOf("inside")!==-1?contrast(options.bgColor):contColor&&contColor!==layoutAttributes.color.dflt?contColor:font.color;Lib.coerceFont(coerce,"tickfont",{family:font.family,size:font.size,color:dfltFontColor});coerce("tickangle");if(axType!=="category"){var tickFormat=coerce("tickformat");handleArrayContainerDefaults(containerIn,containerOut,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:tickformatstopDefaults});if(!containerOut.tickformatstops.length){delete containerOut.tickformatstops}if(!tickFormat&&axType!=="date"){coerce("showexponent",showAttrDflt);coerce("exponentformat");coerce("minexponent");coerce("separatethousands")}}}}function getShowAttrDflt(containerIn){var showAttrsAll=["showexponent","showtickprefix","showticksuffix"];var showAttrs=showAttrsAll.filter((function(a){return containerIn[a]!==undefined}));var sameVal=function(a){return containerIn[a]===containerIn[showAttrs[0]]};if(showAttrs.every(sameVal)||showAttrs.length===1){return containerIn[showAttrs[0]]}}function tickformatstopDefaults(valueIn,valueOut){function coerce(attr,dflt){return Lib.coerce(valueIn,valueOut,layoutAttributes.tickformatstops,attr,dflt)}var enabled=coerce("enabled");if(enabled){coerce("dtickrange");coerce("value")}}},{"../../components/color":666,"../../lib":803,"../array_container_defaults":849,"./layout_attributes":869}],877:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function handleTickDefaults(containerIn,containerOut,coerce,options){var tickLen=Lib.coerce2(containerIn,containerOut,layoutAttributes,"ticklen");var tickWidth=Lib.coerce2(containerIn,containerOut,layoutAttributes,"tickwidth");var tickColor=Lib.coerce2(containerIn,containerOut,layoutAttributes,"tickcolor",containerOut.color);var showTicks=coerce("ticks",options.outerTicks||tickLen||tickWidth||tickColor?"outside":"");if(!showTicks){delete containerOut.ticklen;delete containerOut.tickwidth;delete containerOut.tickcolor}}},{"../../lib":803,"./layout_attributes":869}],878:[function(_dereq_,module,exports){"use strict";var cleanTicks=_dereq_("./clean_ticks");var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;module.exports=function handleTickValueDefaults(containerIn,containerOut,coerce,axType){function readInput(attr){var v=containerIn[attr];return v!==undefined?v:(containerOut._template||{})[attr]}var _tick0=readInput("tick0");var _dtick=readInput("dtick");var _tickvals=readInput("tickvals");var tickmodeDefault=isArrayOrTypedArray(_tickvals)?"array":_dtick?"linear":"auto";var tickmode=coerce("tickmode",tickmodeDefault);if(tickmode==="auto")coerce("nticks");else if(tickmode==="linear"){var dtick=containerOut.dtick=cleanTicks.dtick(_dtick,axType);containerOut.tick0=cleanTicks.tick0(_tick0,axType,containerOut.calendar,dtick)}else if(axType!=="multicategory"){var tickvals=coerce("tickvals");if(tickvals===undefined)containerOut.tickmode="auto";else coerce("ticktext")}}},{"../../lib":803,"./clean_ticks":860}],879:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var Axes=_dereq_("./axes");module.exports=function transitionAxes(gd,edits,transitionOpts,makeOnCompleteCallback){var fullLayout=gd._fullLayout;if(edits.length===0){Axes.redrawComponents(gd);return}function unsetSubplotTransform(subplot){var xa=subplot.xaxis;var ya=subplot.yaxis;fullLayout._defs.select("#"+subplot.clipId+"> rect").call(Drawing.setTranslate,0,0).call(Drawing.setScale,1,1);subplot.plot.call(Drawing.setTranslate,xa._offset,ya._offset).call(Drawing.setScale,1,1);var traceGroups=subplot.plot.selectAll(".scatterlayer .trace");traceGroups.selectAll(".point").call(Drawing.setPointGroupScale,1,1);traceGroups.selectAll(".textpoint").call(Drawing.setTextPointsScale,1,1);traceGroups.call(Drawing.hideOutsideRangePoints,subplot)}function updateSubplot(edit,progress){var plotinfo=edit.plotinfo;var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var xlen=xa._length;var ylen=ya._length;var editX=!!edit.xr1;var editY=!!edit.yr1;var viewBox=[];if(editX){var xr0=Lib.simpleMap(edit.xr0,xa.r2l);var xr1=Lib.simpleMap(edit.xr1,xa.r2l);var dx0=xr0[1]-xr0[0];var dx1=xr1[1]-xr1[0];viewBox[0]=(xr0[0]*(1-progress)+progress*xr1[0]-xr0[0])/(xr0[1]-xr0[0])*xlen;viewBox[2]=xlen*(1-progress+progress*dx1/dx0);xa.range[0]=xa.l2r(xr0[0]*(1-progress)+progress*xr1[0]);xa.range[1]=xa.l2r(xr0[1]*(1-progress)+progress*xr1[1])}else{viewBox[0]=0;viewBox[2]=xlen}if(editY){var yr0=Lib.simpleMap(edit.yr0,ya.r2l);var yr1=Lib.simpleMap(edit.yr1,ya.r2l);var dy0=yr0[1]-yr0[0];var dy1=yr1[1]-yr1[0];viewBox[1]=(yr0[1]*(1-progress)+progress*yr1[1]-yr0[1])/(yr0[0]-yr0[1])*ylen;viewBox[3]=ylen*(1-progress+progress*dy1/dy0);ya.range[0]=xa.l2r(yr0[0]*(1-progress)+progress*yr1[0]);ya.range[1]=ya.l2r(yr0[1]*(1-progress)+progress*yr1[1])}else{viewBox[1]=0;viewBox[3]=ylen}Axes.drawOne(gd,xa,{skipTitle:true});Axes.drawOne(gd,ya,{skipTitle:true});Axes.redrawComponents(gd,[xa._id,ya._id]);var xScaleFactor=editX?xlen/viewBox[2]:1;var yScaleFactor=editY?ylen/viewBox[3]:1;var clipDx=editX?viewBox[0]:0;var clipDy=editY?viewBox[1]:0;var fracDx=editX?viewBox[0]/viewBox[2]*xlen:0;var fracDy=editY?viewBox[1]/viewBox[3]*ylen:0;var plotDx=xa._offset-fracDx;var plotDy=ya._offset-fracDy;plotinfo.clipRect.call(Drawing.setTranslate,clipDx,clipDy).call(Drawing.setScale,1/xScaleFactor,1/yScaleFactor);plotinfo.plot.call(Drawing.setTranslate,plotDx,plotDy).call(Drawing.setScale,xScaleFactor,yScaleFactor);Drawing.setPointGroupScale(plotinfo.zoomScalePts,1/xScaleFactor,1/yScaleFactor);Drawing.setTextPointsScale(plotinfo.zoomScaleTxt,1/xScaleFactor,1/yScaleFactor)}var onComplete;if(makeOnCompleteCallback){onComplete=makeOnCompleteCallback()}function transitionComplete(){var aobj={};for(var i=0;i<edits.length;i++){var edit=edits[i];var xa=edit.plotinfo.xaxis;var ya=edit.plotinfo.yaxis;if(edit.xr1)aobj[xa._name+".range"]=edit.xr1.slice();if(edit.yr1)aobj[ya._name+".range"]=edit.yr1.slice()}onComplete&&onComplete();return Registry.call("relayout",gd,aobj).then((function(){for(var i=0;i<edits.length;i++){unsetSubplotTransform(edits[i].plotinfo)}}))}function transitionInterrupt(){var aobj={};for(var i=0;i<edits.length;i++){var edit=edits[i];var xa=edit.plotinfo.xaxis;var ya=edit.plotinfo.yaxis;if(edit.xr0)aobj[xa._name+".range"]=edit.xr0.slice();if(edit.yr0)aobj[ya._name+".range"]=edit.yr0.slice()}return Registry.call("relayout",gd,aobj).then((function(){for(var i=0;i<edits.length;i++){unsetSubplotTransform(edits[i].plotinfo)}}))}var t1,t2,raf;var easeFn=d3.ease(transitionOpts.easing);gd._transitionData._interruptCallbacks.push((function(){window.cancelAnimationFrame(raf);raf=null;return transitionInterrupt()}));function doFrame(){t2=Date.now();var tInterp=Math.min(1,(t2-t1)/transitionOpts.duration);var progress=easeFn(tInterp);for(var i=0;i<edits.length;i++){updateSubplot(edits[i],progress)}if(t2-t1>transitionOpts.duration){transitionComplete();raf=window.cancelAnimationFrame(doFrame)}else{raf=window.requestAnimationFrame(doFrame)}}t1=Date.now();raf=window.requestAnimationFrame(doFrame);return Promise.resolve()}},{"../../components/drawing":688,"../../lib":803,"../../registry":931,"./axes":854,"@plotly/d3":58}],880:[function(_dereq_,module,exports){"use strict";var traceIs=_dereq_("../../registry").traceIs;var autoType=_dereq_("./axis_autotype");module.exports=function handleTypeDefaults(containerIn,containerOut,coerce,options){coerce("autotypenumbers",options.autotypenumbersDflt);var axType=coerce("type",(options.splomStash||{}).type);if(axType==="-"){setAutoType(containerOut,options.data);if(containerOut.type==="-"){containerOut.type="linear"}else{containerIn.type=containerOut.type}}};function setAutoType(ax,data){if(ax.type!=="-")return;var id=ax._id;var axLetter=id.charAt(0);var i;if(id.indexOf("scene")!==-1)id=axLetter;var d0=getFirstNonEmptyTrace(data,id,axLetter);if(!d0)return;if(d0.type==="histogram"&&axLetter==={v:"y",h:"x"}[d0.orientation||"v"]){ax.type="linear";return}var calAttr=axLetter+"calendar";var calendar=d0[calAttr];var opts={noMultiCategory:!traceIs(d0,"cartesian")||traceIs(d0,"noMultiCategory")};if(d0.type==="box"&&d0._hasPreCompStats&&axLetter==={h:"x",v:"y"}[d0.orientation||"v"]){opts.noMultiCategory=true}opts.autotypenumbers=ax.autotypenumbers;if(isBoxWithoutPositionCoords(d0,axLetter)){var posLetter=getBoxPosLetter(d0);var boxPositions=[];for(i=0;i<data.length;i++){var trace=data[i];if(!traceIs(trace,"box-violin")||(trace[axLetter+"axis"]||axLetter)!==id)continue;if(trace[posLetter]!==undefined)boxPositions.push(trace[posLetter][0]);else if(trace.name!==undefined)boxPositions.push(trace.name);else boxPositions.push("text");if(trace[calAttr]!==calendar)calendar=undefined}ax.type=autoType(boxPositions,calendar,opts)}else if(d0.type==="splom"){var dimensions=d0.dimensions;var dim=dimensions[d0._axesDim[id]];if(dim.visible)ax.type=autoType(dim.values,calendar,opts)}else{ax.type=autoType(d0[axLetter]||[d0[axLetter+"0"]],calendar,opts)}}function getFirstNonEmptyTrace(data,id,axLetter){for(var i=0;i<data.length;i++){var trace=data[i];if(trace.type==="splom"&&trace._length>0&&(trace["_"+axLetter+"axes"]||{})[id]){return trace}if((trace[axLetter+"axis"]||axLetter)===id){if(isBoxWithoutPositionCoords(trace,axLetter)){return trace}else if((trace[axLetter]||[]).length||trace[axLetter+"0"]){return trace}}}}function getBoxPosLetter(trace){return{v:"x",h:"y"}[trace.orientation||"v"]}function isBoxWithoutPositionCoords(trace,axLetter){var posLetter=getBoxPosLetter(trace);var isBox=traceIs(trace,"box-violin");var isCandlestick=traceIs(trace._fullInput||{},"candlestick");return isBox&&!isCandlestick&&axLetter===posLetter&&trace[posLetter]===undefined&&trace[posLetter+"0"]===undefined}},{"../../registry":931,"./axis_autotype":855}],881:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../registry");var Lib=_dereq_("../lib");exports.manageCommandObserver=function(gd,container,commandList,onchange){var ret={};var enabled=true;if(container&&container._commandObserver){ret=container._commandObserver}if(!ret.cache){ret.cache={}}ret.lookupTable={};var binding=exports.hasSimpleAPICommandBindings(gd,commandList,ret.lookupTable);if(container&&container._commandObserver){if(!binding){if(container._commandObserver.remove){container._commandObserver.remove();container._commandObserver=null;return ret}}else{return ret}}if(binding){bindingValueHasChanged(gd,binding,ret.cache);ret.check=function check(){if(!enabled)return;var update=bindingValueHasChanged(gd,binding,ret.cache);if(update.changed&&onchange){if(ret.lookupTable[update.value]!==undefined){ret.disable();Promise.resolve(onchange({value:update.value,type:binding.type,prop:binding.prop,traces:binding.traces,index:ret.lookupTable[update.value]})).then(ret.enable,ret.enable)}}return update.changed};var checkEvents=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"];for(var i=0;i<checkEvents.length;i++){gd._internalOn(checkEvents[i],ret.check)}ret.remove=function(){for(var i=0;i<checkEvents.length;i++){gd._removeInternalListener(checkEvents[i],ret.check)}}}else{Lib.log("Unable to automatically bind plot updates to API command");ret.lookupTable={};ret.remove=function(){}}ret.disable=function disable(){enabled=false};ret.enable=function enable(){enabled=true};if(container){container._commandObserver=ret}return ret};exports.hasSimpleAPICommandBindings=function(gd,commandList,bindingsByValue){var i;var n=commandList.length;var refBinding;for(i=0;i<n;i++){var binding;var command=commandList[i];var method=command.method;var args=command.args;if(!Array.isArray(args))args=[];if(!method){return false}var bindings=exports.computeAPICommandBindings(gd,method,args);if(bindings.length!==1){return false}if(!refBinding){refBinding=bindings[0];if(Array.isArray(refBinding.traces)){refBinding.traces.sort()}}else{binding=bindings[0];if(binding.type!==refBinding.type){return false}if(binding.prop!==refBinding.prop){return false}if(Array.isArray(refBinding.traces)){if(Array.isArray(binding.traces)){binding.traces.sort();for(var j=0;j<refBinding.traces.length;j++){if(refBinding.traces[j]!==binding.traces[j]){return false}}}else{return false}}else{if(binding.prop!==refBinding.prop){return false}}}binding=bindings[0];var value=binding.value;if(Array.isArray(value)){if(value.length===1){value=value[0]}else{return false}}if(bindingsByValue){bindingsByValue[value]=i}}return refBinding};function bindingValueHasChanged(gd,binding,cache){var container,value,obj;var changed=false;if(binding.type==="data"){container=gd._fullData[binding.traces!==null?binding.traces[0]:0]}else if(binding.type==="layout"){container=gd._fullLayout}else{return false}value=Lib.nestedProperty(container,binding.prop).get();obj=cache[binding.type]=cache[binding.type]||{};if(obj.hasOwnProperty(binding.prop)){if(obj[binding.prop]!==value){changed=true}}obj[binding.prop]=value;return{changed:changed,value:value}}exports.executeAPICommand=function(gd,method,args){if(method==="skip")return Promise.resolve();var _method=Registry.apiMethodRegistry[method];var allArgs=[gd];if(!Array.isArray(args))args=[];for(var i=0;i<args.length;i++){allArgs.push(args[i])}return _method.apply(null,allArgs).catch((function(err){Lib.warn("API call to Plotly."+method+" rejected.",err);return Promise.reject(err)}))};exports.computeAPICommandBindings=function(gd,method,args){var bindings;if(!Array.isArray(args))args=[];switch(method){case"restyle":bindings=computeDataBindings(gd,args);break;case"relayout":bindings=computeLayoutBindings(gd,args);break;case"update":bindings=computeDataBindings(gd,[args[0],args[2]]).concat(computeLayoutBindings(gd,[args[1]]));break;case"animate":bindings=computeAnimateBindings(gd,args);break;default:bindings=[]}return bindings};function computeAnimateBindings(gd,args){if(Array.isArray(args[0])&&args[0].length===1&&["string","number"].indexOf(typeof args[0][0])!==-1){return[{type:"layout",prop:"_currentFrame",value:args[0][0].toString()}]}else{return[]}}function computeLayoutBindings(gd,args){var bindings=[];var astr=args[0];var aobj={};if(typeof astr==="string"){aobj[astr]=args[1]}else if(Lib.isPlainObject(astr)){aobj=astr}else{return bindings}crawl(aobj,(function(path,attrName,attr){bindings.push({type:"layout",prop:path,value:attr})}),"",0);return bindings}function computeDataBindings(gd,args){var traces,astr,val,aobj;var bindings=[];astr=args[0];val=args[1];traces=args[2];aobj={};if(typeof astr==="string"){aobj[astr]=val}else if(Lib.isPlainObject(astr)){aobj=astr;if(traces===undefined){traces=val}}else{return bindings}if(traces===undefined){traces=null}crawl(aobj,(function(path,attrName,_attr){var thisTraces;var attr;if(Array.isArray(_attr)){attr=_attr.slice();var nAttr=Math.min(attr.length,gd.data.length);if(traces){nAttr=Math.min(nAttr,traces.length)}thisTraces=[];for(var j=0;j<nAttr;j++){thisTraces[j]=traces?traces[j]:j}}else{attr=_attr;thisTraces=traces?traces.slice():null}if(thisTraces===null){if(Array.isArray(attr)){attr=attr[0]}}else if(Array.isArray(thisTraces)){if(!Array.isArray(attr)){var tmp=attr;attr=[];for(var i=0;i<thisTraces.length;i++){attr[i]=tmp}}attr.length=Math.min(thisTraces.length,attr.length)}bindings.push({type:"data",prop:path,traces:thisTraces,value:attr})}),"",0);return bindings}function crawl(attrs,callback,path,depth){Object.keys(attrs).forEach((function(attrName){var attr=attrs[attrName];if(attrName[0]==="_")return;var thisPath=path+(depth>0?".":"")+attrName;if(Lib.isPlainObject(attr)){crawl(attr,callback,thisPath,depth+1)}else{callback(thisPath,attrName,attr)}}))}},{"../lib":803,"../registry":931}],882:[function(_dereq_,module,exports){"use strict";var extendFlat=_dereq_("../lib/extend").extendFlat;exports.attributes=function(opts,extra){opts=opts||{};extra=extra||{};var base={valType:"info_array",editType:opts.editType,items:[{valType:"number",min:0,max:1,editType:opts.editType},{valType:"number",min:0,max:1,editType:opts.editType}],dflt:[0,1]};var namePart=opts.name?opts.name+" ":"";var contPart=opts.trace?"trace ":"subplot ";var descPart=extra.description?" "+extra.description:"";var out={x:extendFlat({},base,{}),y:extendFlat({},base,{}),editType:opts.editType};if(!opts.noGridCell){out.row={valType:"integer",min:0,dflt:0,editType:opts.editType};out.column={valType:"integer",min:0,dflt:0,editType:opts.editType}}return out};exports.defaults=function(containerOut,layout,coerce,dfltDomains){var dfltX=dfltDomains&&dfltDomains.x||[0,1];var dfltY=dfltDomains&&dfltDomains.y||[0,1];var grid=layout.grid;if(grid){var column=coerce("domain.column");if(column!==undefined){if(column<grid.columns)dfltX=grid._domains.x[column];else delete containerOut.domain.column}var row=coerce("domain.row");if(row!==undefined){if(row<grid.rows)dfltY=grid._domains.y[row];else delete containerOut.domain.row}}var x=coerce("domain.x",dfltX);var y=coerce("domain.y",dfltY);if(!(x[0]<x[1]))containerOut.domain.x=dfltX.slice();if(!(y[0]<y[1]))containerOut.domain.y=dfltY.slice()}},{"../lib/extend":793}],883:[function(_dereq_,module,exports){"use strict";module.exports=function(opts){var editType=opts.editType;var colorEditType=opts.colorEditType;if(colorEditType===undefined)colorEditType=editType;var attrs={family:{valType:"string",noBlank:true,strict:true,editType:editType},size:{valType:"number",min:1,editType:editType},color:{valType:"color",editType:colorEditType},editType:editType};if(opts.arrayOk){attrs.family.arrayOk=true;attrs.size.arrayOk=true;attrs.color.arrayOk=true}return attrs}},{}],884:[function(_dereq_,module,exports){"use strict";module.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}},{}],885:[function(_dereq_,module,exports){"use strict";exports.projNames={airy:"airy",aitoff:"aitoff","albers usa":"albersUsa",albers:"albers",august:"august","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant",baker:"baker",bertin1953:"bertin1953",boggs:"boggs",bonne:"bonne",bottomley:"bottomley",bromley:"bromley",collignon:"collignon","conic conformal":"conicConformal","conic equal area":"conicEqualArea","conic equidistant":"conicEquidistant",craig:"craig",craster:"craster","cylindrical equal area":"cylindricalEqualArea","cylindrical stereographic":"cylindricalStereographic",eckert1:"eckert1",eckert2:"eckert2",eckert3:"eckert3",eckert4:"eckert4",eckert5:"eckert5",eckert6:"eckert6",eisenlohr:"eisenlohr",equirectangular:"equirectangular",fahey:"fahey","foucaut sinusoidal":"foucautSinusoidal",foucaut:"foucaut",ginzburg4:"ginzburg4",ginzburg5:"ginzburg5",ginzburg6:"ginzburg6",ginzburg8:"ginzburg8",ginzburg9:"ginzburg9",gnomonic:"gnomonic","gringorten quincuncial":"gringortenQuincuncial",gringorten:"gringorten",guyou:"guyou",hammer:"hammer",hill:"hill",homolosine:"homolosine",hufnagel:"hufnagel",hyperelliptical:"hyperelliptical",kavrayskiy7:"kavrayskiy7",lagrange:"lagrange",larrivee:"larrivee",laskowski:"laskowski",loximuthal:"loximuthal",mercator:"mercator",miller:"miller",mollweide:"mollweide","mt flat polar parabolic":"mtFlatPolarParabolic","mt flat polar quartic":"mtFlatPolarQuartic","mt flat polar sinusoidal":"mtFlatPolarSinusoidal","natural earth":"naturalEarth","natural earth1":"naturalEarth1","natural earth2":"naturalEarth2","nell hammer":"nellHammer",nicolosi:"nicolosi",orthographic:"orthographic",patterson:"patterson","peirce quincuncial":"peirceQuincuncial",polyconic:"polyconic","rectangular polyconic":"rectangularPolyconic",robinson:"robinson",satellite:"satellite","sinu mollweide":"sinuMollweide",sinusoidal:"sinusoidal",stereographic:"stereographic",times:"times","transverse mercator":"transverseMercator","van der grinten":"vanDerGrinten","van der grinten2":"vanDerGrinten2","van der grinten3":"vanDerGrinten3","van der grinten4":"vanDerGrinten4",wagner4:"wagner4",wagner6:"wagner6",wiechel:"wiechel","winkel tripel":"winkel3",winkel3:"winkel3"};exports.axesNames=["lonaxis","lataxis"];exports.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360};exports.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180};exports.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}};exports.clipPad=.001;exports.precision=.1;exports.landColor="#F0DC82";exports.waterColor="#3399FF";exports.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"};exports.sphereSVG={type:"Sphere"};exports.fillLayers={ocean:1,land:1,lakes:1};exports.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};exports.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"];exports.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"];exports.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},{}],886:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var geo=_dereq_("d3-geo");var geoPath=geo.geoPath;var geoDistance=geo.geoDistance;var geoProjection=_dereq_("d3-geo-projection");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var Fx=_dereq_("../../components/fx");var Plots=_dereq_("../plots");var Axes=_dereq_("../cartesian/axes");var getAutoRange=_dereq_("../cartesian/autorange").getAutoRange;var dragElement=_dereq_("../../components/dragelement");var prepSelect=_dereq_("../cartesian/select").prepSelect;var clearSelect=_dereq_("../cartesian/select").clearSelect;var selectOnClick=_dereq_("../cartesian/select").selectOnClick;var createGeoZoom=_dereq_("./zoom");var constants=_dereq_("./constants");var geoUtils=_dereq_("../../lib/geo_location_utils");var topojsonUtils=_dereq_("../../lib/topojson_utils");var topojsonFeature=_dereq_("topojson-client").feature;function Geo(opts){this.id=opts.id;this.graphDiv=opts.graphDiv;this.container=opts.container;this.topojsonURL=opts.topojsonURL;this.isStatic=opts.staticPlot;this.topojsonName=null;this.topojson=null;this.projection=null;this.scope=null;this.viewInitial=null;this.fitScale=null;this.bounds=null;this.midPt=null;this.hasChoropleth=false;this.traceHash={};this.layers={};this.basePaths={};this.dataPaths={};this.dataPoints={};this.clipDef=null;this.clipRect=null;this.bgRect=null;this.makeFramework()}var proto=Geo.prototype;module.exports=function createGeo(opts){return new Geo(opts)};proto.plot=function(geoCalcData,fullLayout,promises){var _this=this;var geoLayout=fullLayout[this.id];var geoPromises=[];var needsTopojson=false;for(var k in constants.layerNameToAdjective){if(k!=="frame"&&geoLayout["show"+k]){needsTopojson=true;break}}for(var i=0;i<geoCalcData.length;i++){if(geoCalcData[0][0].trace.locationmode){needsTopojson=true;break}}if(needsTopojson){var topojsonNameNew=topojsonUtils.getTopojsonName(geoLayout);if(_this.topojson===null||topojsonNameNew!==_this.topojsonName){_this.topojsonName=topojsonNameNew;if(PlotlyGeoAssets.topojson[_this.topojsonName]===undefined){geoPromises.push(_this.fetchTopojson())}}}geoPromises=geoPromises.concat(geoUtils.fetchTraceGeoData(geoCalcData));promises.push(new Promise((function(resolve,reject){Promise.all(geoPromises).then((function(){_this.topojson=PlotlyGeoAssets.topojson[_this.topojsonName];_this.update(geoCalcData,fullLayout);resolve()})).catch(reject)})))};proto.fetchTopojson=function(){var _this=this;var topojsonPath=topojsonUtils.getTopojsonPath(_this.topojsonURL,_this.topojsonName);return new Promise((function(resolve,reject){d3.json(topojsonPath,(function(err,topojson){if(err){if(err.status===404){return reject(new Error(["plotly.js could not find topojson file at",topojsonPath,".","Make sure the *topojsonURL* plot config option","is set properly."].join(" ")))}else{return reject(new Error(["unexpected error while fetching topojson file at",topojsonPath].join(" ")))}}PlotlyGeoAssets.topojson[_this.topojsonName]=topojson;resolve()}))}))};proto.update=function(geoCalcData,fullLayout){var geoLayout=fullLayout[this.id];this.hasChoropleth=false;for(var i=0;i<geoCalcData.length;i++){var calcTrace=geoCalcData[i];var trace=calcTrace[0].trace;if(trace.type==="choropleth"){this.hasChoropleth=true}if(trace.visible===true&&trace._length>0){trace._module.calcGeoJSON(calcTrace,fullLayout)}}var hasInvalidBounds=this.updateProjection(geoCalcData,fullLayout);if(hasInvalidBounds)return;if(!this.viewInitial||this.scope!==geoLayout.scope){this.saveViewInitial(geoLayout)}this.scope=geoLayout.scope;this.updateBaseLayers(fullLayout,geoLayout);this.updateDims(fullLayout,geoLayout);this.updateFx(fullLayout,geoLayout);Plots.generalUpdatePerTraceModule(this.graphDiv,this,geoCalcData,geoLayout);var scatterLayer=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=scatterLayer.selectAll(".point");this.dataPoints.text=scatterLayer.selectAll("text");this.dataPaths.line=scatterLayer.selectAll(".js-line");var choroplethLayer=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=choroplethLayer.selectAll("path");this.render()};proto.updateProjection=function(geoCalcData,fullLayout){var gd=this.graphDiv;var geoLayout=fullLayout[this.id];var gs=fullLayout._size;var domain=geoLayout.domain;var projLayout=geoLayout.projection;var lonaxis=geoLayout.lonaxis;var lataxis=geoLayout.lataxis;var axLon=lonaxis._ax;var axLat=lataxis._ax;var projection=this.projection=getProjection(geoLayout);var extent=[[gs.l+gs.w*domain.x[0],gs.t+gs.h*(1-domain.y[1])],[gs.l+gs.w*domain.x[1],gs.t+gs.h*(1-domain.y[0])]];var center=geoLayout.center||{};var rotation=projLayout.rotation||{};var lonaxisRange=lonaxis.range||[];var lataxisRange=lataxis.range||[];if(geoLayout.fitbounds){axLon._length=extent[1][0]-extent[0][0];axLat._length=extent[1][1]-extent[0][1];axLon.range=getAutoRange(gd,axLon);axLat.range=getAutoRange(gd,axLat);var midLon=(axLon.range[0]+axLon.range[1])/2;var midLat=(axLat.range[0]+axLat.range[1])/2;if(geoLayout._isScoped){center={lon:midLon,lat:midLat}}else if(geoLayout._isClipped){center={lon:midLon,lat:midLat};rotation={lon:midLon,lat:midLat,roll:rotation.roll};var projType=projLayout.type;var lonHalfSpan=constants.lonaxisSpan[projType]/2||180;var latHalfSpan=constants.lataxisSpan[projType]/2||90;lonaxisRange=[midLon-lonHalfSpan,midLon+lonHalfSpan];lataxisRange=[midLat-latHalfSpan,midLat+latHalfSpan]}else{center={lon:midLon,lat:midLat};rotation={lon:midLon,lat:rotation.lat,roll:rotation.roll}}}projection.center([center.lon-rotation.lon,center.lat-rotation.lat]).rotate([-rotation.lon,-rotation.lat,rotation.roll]).parallels(projLayout.parallels);var rangeBox=makeRangeBox(lonaxisRange,lataxisRange);projection.fitExtent(extent,rangeBox);var b=this.bounds=projection.getBounds(rangeBox);var s=this.fitScale=projection.scale();var t=projection.translate();if(geoLayout.fitbounds){var b2=projection.getBounds(makeRangeBox(axLon.range,axLat.range));var k2=Math.min((b[1][0]-b[0][0])/(b2[1][0]-b2[0][0]),(b[1][1]-b[0][1])/(b2[1][1]-b2[0][1]));if(isFinite(k2)){projection.scale(k2*s)}else{Lib.warn("Something went wrong during"+this.id+"fitbounds computations.")}}else{projection.scale(projLayout.scale*s)}var midPt=this.midPt=[(b[0][0]+b[1][0])/2,(b[0][1]+b[1][1])/2];projection.translate([t[0]+(midPt[0]-t[0]),t[1]+(midPt[1]-t[1])]).clipExtent(b);if(geoLayout._isAlbersUsa){var centerPx=projection([center.lon,center.lat]);var tt=projection.translate();projection.translate([tt[0]-(centerPx[0]-tt[0]),tt[1]-(centerPx[1]-tt[1])])}};proto.updateBaseLayers=function(fullLayout,geoLayout){var _this=this;var topojson=_this.topojson;var layers=_this.layers;var basePaths=_this.basePaths;function isAxisLayer(d){return d==="lonaxis"||d==="lataxis"}function isLineLayer(d){return Boolean(constants.lineLayers[d])}function isFillLayer(d){return Boolean(constants.fillLayers[d])}var allLayers=this.hasChoropleth?constants.layersForChoropleth:constants.layers;var layerData=allLayers.filter((function(d){return isLineLayer(d)||isFillLayer(d)?geoLayout["show"+d]:isAxisLayer(d)?geoLayout[d].showgrid:true}));var join=_this.framework.selectAll(".layer").data(layerData,String);join.exit().each((function(d){delete layers[d];delete basePaths[d];d3.select(this).remove()}));join.enter().append("g").attr("class",(function(d){return"layer "+d})).each((function(d){var layer=layers[d]=d3.select(this);if(d==="bg"){_this.bgRect=layer.append("rect").style("pointer-events","all")}else if(isAxisLayer(d)){basePaths[d]=layer.append("path").style("fill","none")}else if(d==="backplot"){layer.append("g").classed("choroplethlayer",true)}else if(d==="frontplot"){layer.append("g").classed("scatterlayer",true)}else if(isLineLayer(d)){basePaths[d]=layer.append("path").style("fill","none").style("stroke-miterlimit",2)}else if(isFillLayer(d)){basePaths[d]=layer.append("path").style("stroke","none")}}));join.order();join.each((function(d){var path=basePaths[d];var adj=constants.layerNameToAdjective[d];if(d==="frame"){path.datum(constants.sphereSVG)}else if(isLineLayer(d)||isFillLayer(d)){path.datum(topojsonFeature(topojson,topojson.objects[d]))}else if(isAxisLayer(d)){path.datum(makeGraticule(d,geoLayout,fullLayout)).call(Color.stroke,geoLayout[d].gridcolor).call(Drawing.dashLine,"",geoLayout[d].gridwidth)}if(isLineLayer(d)){path.call(Color.stroke,geoLayout[adj+"color"]).call(Drawing.dashLine,"",geoLayout[adj+"width"])}else if(isFillLayer(d)){path.call(Color.fill,geoLayout[adj+"color"])}}))};proto.updateDims=function(fullLayout,geoLayout){var b=this.bounds;var hFrameWidth=(geoLayout.framewidth||0)/2;var l=b[0][0]-hFrameWidth;var t=b[0][1]-hFrameWidth;var w=b[1][0]-l+hFrameWidth;var h=b[1][1]-t+hFrameWidth;Drawing.setRect(this.clipRect,l,t,w,h);this.bgRect.call(Drawing.setRect,l,t,w,h).call(Color.fill,geoLayout.bgcolor);this.xaxis._offset=l;this.xaxis._length=w;this.yaxis._offset=t;this.yaxis._length=h};proto.updateFx=function(fullLayout,geoLayout){var _this=this;var gd=_this.graphDiv;var bgRect=_this.bgRect;var dragMode=fullLayout.dragmode;var clickMode=fullLayout.clickmode;if(_this.isStatic)return;function zoomReset(){var viewInitial=_this.viewInitial;var updateObj={};for(var k in viewInitial){updateObj[_this.id+"."+k]=viewInitial[k]}Registry.call("_guiRelayout",gd,updateObj);gd.emit("plotly_doubleclick",null)}function invert(lonlat){return _this.projection.invert([lonlat[0]+_this.xaxis._offset,lonlat[1]+_this.yaxis._offset])}var fillRangeItems;if(dragMode==="select"){fillRangeItems=function(eventData,poly){var ranges=eventData.range={};ranges[_this.id]=[invert([poly.xmin,poly.ymin]),invert([poly.xmax,poly.ymax])]}}else if(dragMode==="lasso"){fillRangeItems=function(eventData,poly,pts){var dataPts=eventData.lassoPoints={};dataPts[_this.id]=pts.filtered.map(invert)}}var dragOptions={element:_this.bgRect.node(),gd:gd,plotinfo:{id:_this.id,xaxis:_this.xaxis,yaxis:_this.yaxis,fillRangeItems:fillRangeItems},xaxes:[_this.xaxis],yaxes:[_this.yaxis],subplot:_this.id,clickFn:function(numClicks){if(numClicks===2){clearSelect(gd)}}};if(dragMode==="pan"){bgRect.node().onmousedown=null;bgRect.call(createGeoZoom(_this,geoLayout));bgRect.on("dblclick.zoom",zoomReset);if(!gd._context._scrollZoom.geo){bgRect.on("wheel.zoom",null)}}else if(dragMode==="select"||dragMode==="lasso"){bgRect.on(".zoom",null);dragOptions.prepFn=function(e,startX,startY){prepSelect(e,startX,startY,dragOptions,dragMode)};dragElement.init(dragOptions)}bgRect.on("mousemove",(function(){var lonlat=_this.projection.invert(Lib.getPositionFromD3Event());if(!lonlat){return dragElement.unhover(gd,d3.event)}_this.xaxis.p2c=function(){return lonlat[0]};_this.yaxis.p2c=function(){return lonlat[1]};Fx.hover(gd,d3.event,_this.id)}));bgRect.on("mouseout",(function(){if(gd._dragging)return;dragElement.unhover(gd,d3.event)}));bgRect.on("click",(function(){if(dragMode!=="select"&&dragMode!=="lasso"){if(clickMode.indexOf("select")>-1){selectOnClick(d3.event,gd,[_this.xaxis],[_this.yaxis],_this.id,dragOptions)}if(clickMode.indexOf("event")>-1){Fx.click(gd,d3.event)}}}))};proto.makeFramework=function(){var _this=this;var gd=_this.graphDiv;var fullLayout=gd._fullLayout;var clipId="clip"+fullLayout._uid+_this.id;_this.clipDef=fullLayout._clips.append("clipPath").attr("id",clipId);_this.clipRect=_this.clipDef.append("rect");_this.framework=d3.select(_this.container).append("g").attr("class","geo "+_this.id).call(Drawing.setClipUrl,clipId,gd);_this.project=function(v){var px=_this.projection(v);return px?[px[0]-_this.xaxis._offset,px[1]-_this.yaxis._offset]:[null,null]};_this.xaxis={_id:"x",c2p:function(v){return _this.project(v)[0]}};_this.yaxis={_id:"y",c2p:function(v){return _this.project(v)[1]}};_this.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"};Axes.setConvert(_this.mockAxis,fullLayout)};proto.saveViewInitial=function(geoLayout){var center=geoLayout.center||{};var projLayout=geoLayout.projection;var rotation=projLayout.rotation||{};this.viewInitial={fitbounds:geoLayout.fitbounds,"projection.scale":projLayout.scale};var extra;if(geoLayout._isScoped){extra={"center.lon":center.lon,"center.lat":center.lat}}else if(geoLayout._isClipped){extra={"projection.rotation.lon":rotation.lon,"projection.rotation.lat":rotation.lat}}else{extra={"center.lon":center.lon,"center.lat":center.lat,"projection.rotation.lon":rotation.lon}}Lib.extendFlat(this.viewInitial,extra)};proto.render=function(){var projection=this.projection;var pathFn=projection.getPath();var k;function translatePoints(d){var lonlatPx=projection(d.lonlat);return lonlatPx?strTranslate(lonlatPx[0],lonlatPx[1]):null}function hideShowPoints(d){return projection.isLonLatOverEdges(d.lonlat)?"none":null}for(k in this.basePaths){this.basePaths[k].attr("d",pathFn)}for(k in this.dataPaths){this.dataPaths[k].attr("d",(function(d){return pathFn(d.geojson)}))}for(k in this.dataPoints){this.dataPoints[k].attr("display",hideShowPoints).attr("transform",translatePoints)}};function getProjection(geoLayout){var projLayout=geoLayout.projection;var projType=projLayout.type;var projName=constants.projNames[projType];projName="geo"+Lib.titleCase(projName);var projFn=geo[projName]||geoProjection[projName];var projection=projFn();var clipAngle=geoLayout._isSatellite?Math.acos(1/projLayout.distance)*180/Math.PI:geoLayout._isClipped?constants.lonaxisSpan[projType]/2:null;var methods=["center","rotate","parallels","clipExtent"];var dummyFn=function(_){return _?projection:[]};for(var i=0;i<methods.length;i++){var m=methods[i];if(typeof projection[m]!=="function"){projection[m]=dummyFn}}projection.isLonLatOverEdges=function(lonlat){if(projection(lonlat)===null){return true}if(clipAngle){var r=projection.rotate();var angle=geoDistance(lonlat,[-r[0],-r[1]]);var maxAngle=clipAngle*Math.PI/180;return angle>maxAngle}else{return false}};projection.getPath=function(){return geoPath().projection(projection)};projection.getBounds=function(object){return projection.getPath().bounds(object)};projection.precision(constants.precision);if(geoLayout._isSatellite){projection.tilt(projLayout.tilt).distance(projLayout.distance)}if(clipAngle){projection.clipAngle(clipAngle-constants.clipPad)}return projection}function makeGraticule(axisName,geoLayout,fullLayout){var epsilon=1e-6;var precision=2.5;var axLayout=geoLayout[axisName];var scopeDefaults=constants.scopeDefaults[geoLayout.scope];var rng;var oppRng;var coordFn;if(axisName==="lonaxis"){rng=scopeDefaults.lonaxisRange;oppRng=scopeDefaults.lataxisRange;coordFn=function(v,l){return[v,l]}}else if(axisName==="lataxis"){rng=scopeDefaults.lataxisRange;oppRng=scopeDefaults.lonaxisRange;coordFn=function(v,l){return[l,v]}}var dummyAx={type:"linear",range:[rng[0],rng[1]-epsilon],tick0:axLayout.tick0,dtick:axLayout.dtick};Axes.setConvert(dummyAx,fullLayout);var vals=Axes.calcTicks(dummyAx);if(!geoLayout.isScoped&&axisName==="lonaxis"){vals.pop()}var len=vals.length;var coords=new Array(len);for(var i=0;i<len;i++){var v=vals[i].x;var line=coords[i]=[];for(var l=oppRng[0];l<oppRng[1]+precision;l+=precision){line.push(coordFn(v,l))}}return{type:"MultiLineString",coordinates:coords}}function makeRangeBox(lon,lat){var clipPad=constants.clipPad;var lon0=lon[0]+clipPad;var lon1=lon[1]-clipPad;var lat0=lat[0]+clipPad;var lat1=lat[1]-clipPad;if(lon0>0&&lon1<0)lon1+=360;var dlon4=(lon1-lon0)/4;return{type:"Polygon",coordinates:[[[lon0,lat0],[lon0,lat1],[lon0+dlon4,lat1],[lon0+2*dlon4,lat1],[lon0+3*dlon4,lat1],[lon1,lat1],[lon1,lat0],[lon1-dlon4,lat0],[lon1-2*dlon4,lat0],[lon1-3*dlon4,lat0],[lon0,lat0]]]}}},{"../../components/color":666,"../../components/dragelement":685,"../../components/drawing":688,"../../components/fx":706,"../../lib":803,"../../lib/geo_location_utils":796,"../../lib/topojson_utils":832,"../../registry":931,"../cartesian/autorange":853,"../cartesian/axes":854,"../cartesian/select":874,"../plots":917,"./constants":885,"./zoom":890,"@plotly/d3":58,"d3-geo":169,"d3-geo-projection":168,"topojson-client":601}],887:[function(_dereq_,module,exports){"use strict";var getSubplotCalcData=_dereq_("../../plots/get_data").getSubplotCalcData;var counterRegex=_dereq_("../../lib").counterRegex;var createGeo=_dereq_("./geo");var GEO="geo";var counter=counterRegex(GEO);var attributes={};attributes[GEO]={valType:"subplotid",dflt:GEO,editType:"calc"};function plotGeo(gd){var fullLayout=gd._fullLayout;var calcData=gd.calcdata;var geoIds=fullLayout._subplots[GEO];for(var i=0;i<geoIds.length;i++){var geoId=geoIds[i];var geoCalcData=getSubplotCalcData(calcData,GEO,geoId);var geoLayout=fullLayout[geoId];var geo=geoLayout._subplot;if(!geo){geo=createGeo({id:geoId,graphDiv:gd,container:fullLayout._geolayer.node(),topojsonURL:gd._context.topojsonURL,staticPlot:gd._context.staticPlot});fullLayout[geoId]._subplot=geo}geo.plot(geoCalcData,fullLayout,gd._promises)}}function clean(newFullData,newFullLayout,oldFullData,oldFullLayout){var oldGeoKeys=oldFullLayout._subplots[GEO]||[];for(var i=0;i<oldGeoKeys.length;i++){var oldGeoKey=oldGeoKeys[i];var oldGeo=oldFullLayout[oldGeoKey]._subplot;if(!newFullLayout[oldGeoKey]&&!!oldGeo){oldGeo.framework.remove();oldGeo.clipDef.remove()}}}function updateFx(gd){var fullLayout=gd._fullLayout;var subplotIds=fullLayout._subplots[GEO];for(var i=0;i<subplotIds.length;i++){var subplotLayout=fullLayout[subplotIds[i]];var subplotObj=subplotLayout._subplot;subplotObj.updateFx(fullLayout,subplotLayout)}}module.exports={attr:GEO,name:GEO,idRoot:GEO,idRegex:counter,attrRegex:counter,attributes:attributes,layoutAttributes:_dereq_("./layout_attributes"),supplyLayoutDefaults:_dereq_("./layout_defaults"),plot:plotGeo,updateFx:updateFx,clean:clean}},{"../../lib":803,"../../plots/get_data":891,"./geo":886,"./layout_attributes":888,"./layout_defaults":889}],888:[function(_dereq_,module,exports){"use strict";var colorAttrs=_dereq_("../../components/color/attributes");var domainAttrs=_dereq_("../domain").attributes;var constants=_dereq_("./constants");var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var sortObjectKeys=_dereq_("../../lib/sort_object_keys");var geoAxesAttrs={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:false},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:colorAttrs.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};var attrs=module.exports=overrideAll({domain:domainAttrs({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[false,"locations","geojson"],dflt:false,editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:true},scope:{valType:"enumerated",values:sortObjectKeys(constants.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:sortObjectKeys(constants.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},tilt:{valType:"number",dflt:0},distance:{valType:"number",min:1.001,dflt:2},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:true},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:colorAttrs.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:false},landcolor:{valType:"color",dflt:constants.landColor},showocean:{valType:"boolean",dflt:false},oceancolor:{valType:"color",dflt:constants.waterColor},showlakes:{valType:"boolean",dflt:false},lakecolor:{valType:"color",dflt:constants.waterColor},showrivers:{valType:"boolean",dflt:false},rivercolor:{valType:"color",dflt:constants.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:colorAttrs.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:colorAttrs.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:colorAttrs.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:colorAttrs.background},lonaxis:geoAxesAttrs,lataxis:geoAxesAttrs},"plot","from-root");attrs.uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":665,"../../lib/sort_object_keys":826,"../../plot_api/edit_types":836,"../domain":882,"./constants":885}],889:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleSubplotDefaults=_dereq_("../subplot_defaults");var getSubplotData=_dereq_("../get_data").getSubplotData;var constants=_dereq_("./constants");var layoutAttributes=_dereq_("./layout_attributes");var axesNames=constants.axesNames;module.exports=function supplyLayoutDefaults(layoutIn,layoutOut,fullData){handleSubplotDefaults(layoutIn,layoutOut,fullData,{type:"geo",attributes:layoutAttributes,handleDefaults:handleGeoDefaults,fullData:fullData,partition:"y"})};function handleGeoDefaults(geoLayoutIn,geoLayoutOut,coerce,opts){var subplotData=getSubplotData(opts.fullData,"geo",opts.id);var traceIndices=subplotData.map((function(t){return t._expandedIndex}));var resolution=coerce("resolution");var scope=coerce("scope");var scopeParams=constants.scopeDefaults[scope];var projType=coerce("projection.type",scopeParams.projType);var isAlbersUsa=geoLayoutOut._isAlbersUsa=projType==="albers usa";if(isAlbersUsa)scope=geoLayoutOut.scope="usa";var isScoped=geoLayoutOut._isScoped=scope!=="world";var isSatellite=geoLayoutOut._isSatellite=projType==="satellite";var isConic=geoLayoutOut._isConic=projType.indexOf("conic")!==-1||projType==="albers";var isClipped=geoLayoutOut._isClipped=!!constants.lonaxisSpan[projType];if(geoLayoutIn.visible===false){var newTemplate=Lib.extendDeep({},geoLayoutOut._template);newTemplate.showcoastlines=false;newTemplate.showcountries=false;newTemplate.showframe=false;newTemplate.showlakes=false;newTemplate.showland=false;newTemplate.showocean=false;newTemplate.showrivers=false;newTemplate.showsubunits=false;if(newTemplate.lonaxis)newTemplate.lonaxis.showgrid=false;if(newTemplate.lataxis)newTemplate.lataxis.showgrid=false;geoLayoutOut._template=newTemplate}var visible=coerce("visible");var show;for(var i=0;i<axesNames.length;i++){var axisName=axesNames[i];var dtickDflt=[30,10][i];var rangeDflt;if(isScoped){rangeDflt=scopeParams[axisName+"Range"]}else{var dfltSpans=constants[axisName+"Span"];var hSpan=(dfltSpans[projType]||dfltSpans["*"])/2;var rot=coerce("projection.rotation."+axisName.substr(0,3),scopeParams.projRotate[i]);rangeDflt=[rot-hSpan,rot+hSpan]}var range=coerce(axisName+".range",rangeDflt);coerce(axisName+".tick0");coerce(axisName+".dtick",dtickDflt);show=coerce(axisName+".showgrid",!visible?false:undefined);if(show){coerce(axisName+".gridcolor");coerce(axisName+".gridwidth")}geoLayoutOut[axisName]._ax={type:"linear",_id:axisName.slice(0,3),_traceIndices:traceIndices,setScale:Lib.identity,c2l:Lib.identity,r2l:Lib.identity,autorange:true,range:range.slice(),_m:1,_input:{}}}var lonRange=geoLayoutOut.lonaxis.range;var latRange=geoLayoutOut.lataxis.range;var lon0=lonRange[0];var lon1=lonRange[1];if(lon0>0&&lon1<0)lon1+=360;var centerLon=(lon0+lon1)/2;var projLon;if(!isAlbersUsa){var dfltProjRotate=isScoped?scopeParams.projRotate:[centerLon,0,0];projLon=coerce("projection.rotation.lon",dfltProjRotate[0]);coerce("projection.rotation.lat",dfltProjRotate[1]);coerce("projection.rotation.roll",dfltProjRotate[2]);show=coerce("showcoastlines",!isScoped&&visible);if(show){coerce("coastlinecolor");coerce("coastlinewidth")}show=coerce("showocean",!visible?false:undefined);if(show)coerce("oceancolor")}var centerLonDflt;var centerLatDflt;if(isAlbersUsa){centerLonDflt=-96.6;centerLatDflt=38.7}else{centerLonDflt=isScoped?centerLon:projLon;centerLatDflt=(latRange[0]+latRange[1])/2}coerce("center.lon",centerLonDflt);coerce("center.lat",centerLatDflt);if(isSatellite){coerce("projection.tilt");coerce("projection.distance")}if(isConic){var dfltProjParallels=scopeParams.projParallels||[0,60];coerce("projection.parallels",dfltProjParallels)}coerce("projection.scale");show=coerce("showland",!visible?false:undefined);if(show)coerce("landcolor");show=coerce("showlakes",!visible?false:undefined);if(show)coerce("lakecolor");show=coerce("showrivers",!visible?false:undefined);if(show){coerce("rivercolor");coerce("riverwidth")}show=coerce("showcountries",isScoped&&scope!=="usa"&&visible);if(show){coerce("countrycolor");coerce("countrywidth")}if(scope==="usa"||scope==="north america"&&resolution===50){coerce("showsubunits",visible);coerce("subunitcolor");coerce("subunitwidth")}if(!isScoped){show=coerce("showframe",visible);if(show){coerce("framecolor");coerce("framewidth")}}coerce("bgcolor");var fitBounds=coerce("fitbounds");if(fitBounds){delete geoLayoutOut.projection.scale;if(isScoped){delete geoLayoutOut.center.lon;delete geoLayoutOut.center.lat}else if(isClipped){delete geoLayoutOut.center.lon;delete geoLayoutOut.center.lat;delete geoLayoutOut.projection.rotation.lon;delete geoLayoutOut.projection.rotation.lat;delete geoLayoutOut.lonaxis.range;delete geoLayoutOut.lataxis.range}else{delete geoLayoutOut.center.lon;delete geoLayoutOut.center.lat;delete geoLayoutOut.projection.rotation.lon}}}},{"../../lib":803,"../get_data":891,"../subplot_defaults":925,"./constants":885,"./layout_attributes":888}],890:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var radians=Math.PI/180;var degrees=180/Math.PI;var zoomstartStyle={cursor:"pointer"};var zoomendStyle={cursor:"auto"};function createGeoZoom(geo,geoLayout){var projection=geo.projection;var zoomConstructor;if(geoLayout._isScoped){zoomConstructor=zoomScoped}else if(geoLayout._isClipped){zoomConstructor=zoomClipped}else{zoomConstructor=zoomNonClipped}return zoomConstructor(geo,projection)}module.exports=createGeoZoom;function initZoom(geo,projection){return d3.behavior.zoom().translate(projection.translate()).scale(projection.scale())}function sync(geo,projection,cb){var id=geo.id;var gd=geo.graphDiv;var layout=gd.layout;var userOpts=layout[id];var fullLayout=gd._fullLayout;var fullOpts=fullLayout[id];var preGUI={};var eventData={};function set(propStr,val){preGUI[id+"."+propStr]=Lib.nestedProperty(userOpts,propStr).get();Registry.call("_storeDirectGUIEdit",layout,fullLayout._preGUI,preGUI);var fullNp=Lib.nestedProperty(fullOpts,propStr);if(fullNp.get()!==val){fullNp.set(val);Lib.nestedProperty(userOpts,propStr).set(val);eventData[id+"."+propStr]=val}}cb(set);set("projection.scale",projection.scale()/geo.fitScale);set("fitbounds",false);gd.emit("plotly_relayout",eventData)}function zoomScoped(geo,projection){var zoom=initZoom(geo,projection);function handleZoomstart(){d3.select(this).style(zoomstartStyle)}function handleZoom(){projection.scale(d3.event.scale).translate(d3.event.translate);geo.render();var center=projection.invert(geo.midPt);geo.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":projection.scale()/geo.fitScale,"geo.center.lon":center[0],"geo.center.lat":center[1]})}function syncCb(set){var center=projection.invert(geo.midPt);set("center.lon",center[0]);set("center.lat",center[1])}function handleZoomend(){d3.select(this).style(zoomendStyle);sync(geo,projection,syncCb)}zoom.on("zoomstart",handleZoomstart).on("zoom",handleZoom).on("zoomend",handleZoomend);return zoom}function zoomNonClipped(geo,projection){var zoom=initZoom(geo,projection);var INSIDETOLORANCEPXS=2;var mouse0,rotate0,translate0,lastRotate,zoomPoint,mouse1,rotate1,point1,didZoom;function position(x){return projection.invert(x)}function outside(x){var pos=position(x);if(!pos)return true;var pt=projection(pos);return Math.abs(pt[0]-x[0])>INSIDETOLORANCEPXS||Math.abs(pt[1]-x[1])>INSIDETOLORANCEPXS}function handleZoomstart(){d3.select(this).style(zoomstartStyle);mouse0=d3.mouse(this);rotate0=projection.rotate();translate0=projection.translate();lastRotate=rotate0;zoomPoint=position(mouse0)}function handleZoom(){mouse1=d3.mouse(this);if(outside(mouse0)){zoom.scale(projection.scale());zoom.translate(projection.translate());return}projection.scale(d3.event.scale);projection.translate([translate0[0],d3.event.translate[1]]);if(!zoomPoint){mouse0=mouse1;zoomPoint=position(mouse0)}else if(position(mouse1)){point1=position(mouse1);rotate1=[lastRotate[0]+(point1[0]-zoomPoint[0]),rotate0[1],rotate0[2]];projection.rotate(rotate1);lastRotate=rotate1}didZoom=true;geo.render();var rotate=projection.rotate();var center=projection.invert(geo.midPt);geo.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":projection.scale()/geo.fitScale,"geo.center.lon":center[0],"geo.center.lat":center[1],"geo.projection.rotation.lon":-rotate[0]})}function handleZoomend(){d3.select(this).style(zoomendStyle);if(didZoom)sync(geo,projection,syncCb)}function syncCb(set){var rotate=projection.rotate();var center=projection.invert(geo.midPt);set("projection.rotation.lon",-rotate[0]);set("center.lon",center[0]);set("center.lat",center[1])}zoom.on("zoomstart",handleZoomstart).on("zoom",handleZoom).on("zoomend",handleZoomend);return zoom}function zoomClipped(geo,projection){var view={r:projection.rotate(),k:projection.scale()};var zoom=initZoom(geo,projection);var event=d3eventDispatch(zoom,"zoomstart","zoom","zoomend");var zooming=0;var zoomOn=zoom.on;var zoomPoint;zoom.on("zoomstart",(function(){d3.select(this).style(zoomstartStyle);var mouse0=d3.mouse(this);var rotate0=projection.rotate();var lastRotate=rotate0;var translate0=projection.translate();var q=quaternionFromEuler(rotate0);zoomPoint=position(projection,mouse0);zoomOn.call(zoom,"zoom",(function(){var mouse1=d3.mouse(this);projection.scale(view.k=d3.event.scale);if(!zoomPoint){mouse0=mouse1;zoomPoint=position(projection,mouse0)}else if(position(projection,mouse1)){projection.rotate(rotate0).translate(translate0);var point1=position(projection,mouse1);var between=rotateBetween(zoomPoint,point1);var newEuler=eulerFromQuaternion(multiply(q,between));var rotateAngles=view.r=unRoll(newEuler,zoomPoint,lastRotate);if(!isFinite(rotateAngles[0])||!isFinite(rotateAngles[1])||!isFinite(rotateAngles[2])){rotateAngles=lastRotate}projection.rotate(rotateAngles);lastRotate=rotateAngles}zoomed(event.of(this,arguments))}));zoomstarted(event.of(this,arguments))})).on("zoomend",(function(){d3.select(this).style(zoomendStyle);zoomOn.call(zoom,"zoom",null);zoomended(event.of(this,arguments));sync(geo,projection,syncCb)})).on("zoom.redraw",(function(){geo.render();var _rotate=projection.rotate();geo.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":projection.scale()/geo.fitScale,"geo.projection.rotation.lon":-_rotate[0],"geo.projection.rotation.lat":-_rotate[1]})}));function zoomstarted(dispatch){if(!zooming++)dispatch({type:"zoomstart"})}function zoomed(dispatch){dispatch({type:"zoom"})}function zoomended(dispatch){if(!--zooming)dispatch({type:"zoomend"})}function syncCb(set){var _rotate=projection.rotate();set("projection.rotation.lon",-_rotate[0]);set("projection.rotation.lat",-_rotate[1])}return d3.rebind(zoom,event,"on")}function position(projection,point){var spherical=projection.invert(point);return spherical&&isFinite(spherical[0])&&isFinite(spherical[1])&&cartesian(spherical)}function quaternionFromEuler(euler){var lambda=.5*euler[0]*radians;var phi=.5*euler[1]*radians;var gamma=.5*euler[2]*radians;var sinLambda=Math.sin(lambda);var cosLambda=Math.cos(lambda);var sinPhi=Math.sin(phi);var cosPhi=Math.cos(phi);var sinGamma=Math.sin(gamma);var cosGamma=Math.cos(gamma);return[cosLambda*cosPhi*cosGamma+sinLambda*sinPhi*sinGamma,sinLambda*cosPhi*cosGamma-cosLambda*sinPhi*sinGamma,cosLambda*sinPhi*cosGamma+sinLambda*cosPhi*sinGamma,cosLambda*cosPhi*sinGamma-sinLambda*sinPhi*cosGamma]}function multiply(a,b){var a0=a[0];var a1=a[1];var a2=a[2];var a3=a[3];var b0=b[0];var b1=b[1];var b2=b[2];var b3=b[3];return[a0*b0-a1*b1-a2*b2-a3*b3,a0*b1+a1*b0+a2*b3-a3*b2,a0*b2-a1*b3+a2*b0+a3*b1,a0*b3+a1*b2-a2*b1+a3*b0]}function rotateBetween(a,b){if(!a||!b)return;var axis=cross(a,b);var norm=Math.sqrt(dot(axis,axis));var halfgamma=.5*Math.acos(Math.max(-1,Math.min(1,dot(a,b))));var k=Math.sin(halfgamma)/norm;return norm&&[Math.cos(halfgamma),axis[2]*k,-axis[1]*k,axis[0]*k]}function unRoll(rotateAngles,pt,lastRotate){var ptRotated=rotateCartesian(pt,2,rotateAngles[0]);ptRotated=rotateCartesian(ptRotated,1,rotateAngles[1]);ptRotated=rotateCartesian(ptRotated,0,rotateAngles[2]-lastRotate[2]);var x=pt[0];var y=pt[1];var z=pt[2];var f=ptRotated[0];var g=ptRotated[1];var h=ptRotated[2];var theta=Math.atan2(y,x)*degrees;var a=Math.sqrt(x*x+y*y);var b;var newYaw1;if(Math.abs(g)>a){newYaw1=(g>0?90:-90)-theta;b=0}else{newYaw1=Math.asin(g/a)*degrees-theta;b=Math.sqrt(a*a-g*g)}var newYaw2=180-newYaw1-2*theta;var newPitch1=(Math.atan2(h,f)-Math.atan2(z,b))*degrees;var newPitch2=(Math.atan2(h,f)-Math.atan2(z,-b))*degrees;var dist1=angleDistance(lastRotate[0],lastRotate[1],newYaw1,newPitch1);var dist2=angleDistance(lastRotate[0],lastRotate[1],newYaw2,newPitch2);if(dist1<=dist2)return[newYaw1,newPitch1,lastRotate[2]];else return[newYaw2,newPitch2,lastRotate[2]]}function angleDistance(yaw0,pitch0,yaw1,pitch1){var dYaw=angleMod(yaw1-yaw0);var dPitch=angleMod(pitch1-pitch0);return Math.sqrt(dYaw*dYaw+dPitch*dPitch)}function angleMod(angle){return(angle%360+540)%360-180}function rotateCartesian(vector,axis,angle){var angleRads=angle*radians;var vectorOut=vector.slice();var ax1=axis===0?1:0;var ax2=axis===2?1:2;var cosa=Math.cos(angleRads);var sina=Math.sin(angleRads);vectorOut[ax1]=vector[ax1]*cosa-vector[ax2]*sina;vectorOut[ax2]=vector[ax2]*cosa+vector[ax1]*sina;return vectorOut}function eulerFromQuaternion(q){return[Math.atan2(2*(q[0]*q[1]+q[2]*q[3]),1-2*(q[1]*q[1]+q[2]*q[2]))*degrees,Math.asin(Math.max(-1,Math.min(1,2*(q[0]*q[2]-q[3]*q[1]))))*degrees,Math.atan2(2*(q[0]*q[3]+q[1]*q[2]),1-2*(q[2]*q[2]+q[3]*q[3]))*degrees]}function cartesian(spherical){var lambda=spherical[0]*radians;var phi=spherical[1]*radians;var cosPhi=Math.cos(phi);return[cosPhi*Math.cos(lambda),cosPhi*Math.sin(lambda),Math.sin(phi)]}function dot(a,b){var s=0;for(var i=0,n=a.length;i<n;++i)s+=a[i]*b[i];return s}function cross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function d3eventDispatch(target){var i=0;var n=arguments.length;var argumentz=[];while(++i<n)argumentz.push(arguments[i]);var dispatch=d3.dispatch.apply(null,argumentz);dispatch.of=function(thiz,argumentz){return function(e1){var e0;try{e0=e1.sourceEvent=d3.event;e1.target=target;d3.event=e1;dispatch[e1.type].apply(thiz,argumentz)}finally{d3.event=e0}}};return dispatch}},{"../../lib":803,"../../registry":931,"@plotly/d3":58}],891:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../registry");var SUBPLOT_PATTERN=_dereq_("./cartesian/constants").SUBPLOT_PATTERN;exports.getSubplotCalcData=function(calcData,type,subplotId){var basePlotModule=Registry.subplotsRegistry[type];if(!basePlotModule)return[];var attr=basePlotModule.attr;var subplotCalcData=[];for(var i=0;i<calcData.length;i++){var calcTrace=calcData[i];var trace=calcTrace[0].trace;if(trace[attr]===subplotId)subplotCalcData.push(calcTrace)}return subplotCalcData};exports.getModuleCalcData=function(calcdata,arg1){var moduleCalcData=[];var remainingCalcData=[];var plotMethod;if(typeof arg1==="string"){plotMethod=Registry.getModule(arg1).plot}else if(typeof arg1==="function"){plotMethod=arg1}else{plotMethod=arg1.plot}if(!plotMethod){return[moduleCalcData,calcdata]}for(var i=0;i<calcdata.length;i++){var cd=calcdata[i];var trace=cd[0].trace;if(trace.visible!==true||trace._length===0)continue;if(trace._module.plot===plotMethod){moduleCalcData.push(cd)}else{remainingCalcData.push(cd)}}return[moduleCalcData,remainingCalcData]};exports.getSubplotData=function getSubplotData(data,type,subplotId){if(!Registry.subplotsRegistry[type])return[];var attr=Registry.subplotsRegistry[type].attr;var subplotData=[];var trace,subplotX,subplotY;if(type==="gl2d"){var spmatch=subplotId.match(SUBPLOT_PATTERN);subplotX="x"+spmatch[1];subplotY="y"+spmatch[2]}for(var i=0;i<data.length;i++){trace=data[i];if(type==="gl2d"&&Registry.traceIs(trace,"gl2d")){if(trace[attr[0]]===subplotX&&trace[attr[1]]===subplotY){subplotData.push(trace)}}else{if(trace[attr]===subplotId)subplotData.push(trace)}}return subplotData}},{"../registry":931,"./cartesian/constants":861}],892:[function(_dereq_,module,exports){"use strict";var mouseChange=_dereq_("mouse-change");var mouseWheel=_dereq_("mouse-wheel");var mouseOffset=_dereq_("mouse-event-offset");var cartesianConstants=_dereq_("../cartesian/constants");var hasPassive=_dereq_("has-passive-events");module.exports=createCamera;function Camera2D(element,plot){this.element=element;this.plot=plot;this.mouseListener=null;this.wheelListener=null;this.lastInputTime=Date.now();this.lastPos=[0,0];this.boxEnabled=false;this.boxInited=false;this.boxStart=[0,0];this.boxEnd=[0,0];this.dragStart=[0,0]}function createCamera(scene){var element=scene.mouseContainer;var plot=scene.glplot;var result=new Camera2D(element,plot);function unSetAutoRange(){scene.xaxis.autorange=false;scene.yaxis.autorange=false}function getSubplotConstraint(){var constraints=scene.graphDiv._fullLayout._axisConstraintGroups;var xaId=scene.xaxis._id;var yaId=scene.yaxis._id;for(var i=0;i<constraints.length;i++){if(constraints[i][xaId]!==-1){if(constraints[i][yaId]!==-1)return true;break}}return false}result.mouseListener=mouseChange(element,handleInteraction);element.addEventListener("touchstart",(function(ev){var xy=mouseOffset(ev.changedTouches[0],element);handleInteraction(0,xy[0],xy[1]);handleInteraction(1,xy[0],xy[1]);ev.preventDefault()}),hasPassive?{passive:false}:false);element.addEventListener("touchmove",(function(ev){ev.preventDefault();var xy=mouseOffset(ev.changedTouches[0],element);handleInteraction(1,xy[0],xy[1]);ev.preventDefault()}),hasPassive?{passive:false}:false);element.addEventListener("touchend",(function(ev){handleInteraction(0,result.lastPos[0],result.lastPos[1]);ev.preventDefault()}),hasPassive?{passive:false}:false);function handleInteraction(buttons,x,y){var dataBox=scene.calcDataBox();var viewBox=plot.viewBox;var lastX=result.lastPos[0];var lastY=result.lastPos[1];var MINDRAG=cartesianConstants.MINDRAG*plot.pixelRatio;var MINZOOM=cartesianConstants.MINZOOM*plot.pixelRatio;var dx,dy;x*=plot.pixelRatio;y*=plot.pixelRatio;y=viewBox[3]-viewBox[1]-y;function updateRange(i0,start,end){var range0=Math.min(start,end);var range1=Math.max(start,end);if(range0!==range1){dataBox[i0]=range0;dataBox[i0+2]=range1;result.dataBox=dataBox;scene.setRanges(dataBox)}else{scene.selectBox.selectBox=[0,0,1,1];scene.glplot.setDirty()}}switch(scene.fullLayout.dragmode){case"zoom":if(buttons){var dataX=x/(viewBox[2]-viewBox[0])*(dataBox[2]-dataBox[0])+dataBox[0];var dataY=y/(viewBox[3]-viewBox[1])*(dataBox[3]-dataBox[1])+dataBox[1];if(!result.boxInited){result.boxStart[0]=dataX;result.boxStart[1]=dataY;result.dragStart[0]=x;result.dragStart[1]=y}result.boxEnd[0]=dataX;result.boxEnd[1]=dataY;result.boxInited=true;if(!result.boxEnabled&&(result.boxStart[0]!==result.boxEnd[0]||result.boxStart[1]!==result.boxEnd[1])){result.boxEnabled=true}var smallDx=Math.abs(result.dragStart[0]-x)<MINZOOM;var smallDy=Math.abs(result.dragStart[1]-y)<MINZOOM;if(getSubplotConstraint()&&!(smallDx&&smallDy)){dx=result.boxEnd[0]-result.boxStart[0];dy=result.boxEnd[1]-result.boxStart[1];var dydx=(dataBox[3]-dataBox[1])/(dataBox[2]-dataBox[0]);if(Math.abs(dx*dydx)>Math.abs(dy)){result.boxEnd[1]=result.boxStart[1]+Math.abs(dx)*dydx*(dy>=0?1:-1);if(result.boxEnd[1]<dataBox[1]){result.boxEnd[1]=dataBox[1];result.boxEnd[0]=result.boxStart[0]+(dataBox[1]-result.boxStart[1])/Math.abs(dydx)}else if(result.boxEnd[1]>dataBox[3]){result.boxEnd[1]=dataBox[3];result.boxEnd[0]=result.boxStart[0]+(dataBox[3]-result.boxStart[1])/Math.abs(dydx)}}else{result.boxEnd[0]=result.boxStart[0]+Math.abs(dy)/dydx*(dx>=0?1:-1);if(result.boxEnd[0]<dataBox[0]){result.boxEnd[0]=dataBox[0];result.boxEnd[1]=result.boxStart[1]+(dataBox[0]-result.boxStart[0])*Math.abs(dydx)}else if(result.boxEnd[0]>dataBox[2]){result.boxEnd[0]=dataBox[2];result.boxEnd[1]=result.boxStart[1]+(dataBox[2]-result.boxStart[0])*Math.abs(dydx)}}}else{if(smallDx)result.boxEnd[0]=result.boxStart[0];if(smallDy)result.boxEnd[1]=result.boxStart[1]}}else if(result.boxEnabled){dx=result.boxStart[0]!==result.boxEnd[0];dy=result.boxStart[1]!==result.boxEnd[1];if(dx||dy){if(dx){updateRange(0,result.boxStart[0],result.boxEnd[0]);scene.xaxis.autorange=false}if(dy){updateRange(1,result.boxStart[1],result.boxEnd[1]);scene.yaxis.autorange=false}scene.relayoutCallback()}else{scene.glplot.setDirty()}result.boxEnabled=false;result.boxInited=false}else if(result.boxInited){result.boxInited=false}break;case"pan":result.boxEnabled=false;result.boxInited=false;if(buttons){if(!result.panning){result.dragStart[0]=x;result.dragStart[1]=y}if(Math.abs(result.dragStart[0]-x)<MINDRAG)x=result.dragStart[0];if(Math.abs(result.dragStart[1]-y)<MINDRAG)y=result.dragStart[1];dx=(lastX-x)*(dataBox[2]-dataBox[0])/(plot.viewBox[2]-plot.viewBox[0]);dy=(lastY-y)*(dataBox[3]-dataBox[1])/(plot.viewBox[3]-plot.viewBox[1]);dataBox[0]+=dx;dataBox[2]+=dx;dataBox[1]+=dy;dataBox[3]+=dy;scene.setRanges(dataBox);result.panning=true;result.lastInputTime=Date.now();unSetAutoRange();scene.cameraChanged();scene.handleAnnotations()}else if(result.panning){result.panning=false;scene.relayoutCallback()}break}result.lastPos[0]=x;result.lastPos[1]=y}result.wheelListener=mouseWheel(element,(function(dx,dy){if(!scene.scrollZoom)return false;var dataBox=scene.calcDataBox();var viewBox=plot.viewBox;var lastX=result.lastPos[0];var lastY=result.lastPos[1];var scale=Math.exp(5*dy/(viewBox[3]-viewBox[1]));var cx=lastX/(viewBox[2]-viewBox[0])*(dataBox[2]-dataBox[0])+dataBox[0];var cy=lastY/(viewBox[3]-viewBox[1])*(dataBox[3]-dataBox[1])+dataBox[1];dataBox[0]=(dataBox[0]-cx)*scale+cx;dataBox[2]=(dataBox[2]-cx)*scale+cx;dataBox[1]=(dataBox[1]-cy)*scale+cy;dataBox[3]=(dataBox[3]-cy)*scale+cy;scene.setRanges(dataBox);result.lastInputTime=Date.now();unSetAutoRange();scene.cameraChanged();scene.handleAnnotations();scene.relayoutCallback();return true}),true);return result}},{"../cartesian/constants":861,"has-passive-events":444,"mouse-change":470,"mouse-event-offset":471,"mouse-wheel":473}],893:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../cartesian/axes");var str2RGBArray=_dereq_("../../lib/str2rgbarray");function Axes2DOptions(scene){this.scene=scene;this.gl=scene.gl;this.pixelRatio=scene.pixelRatio;this.screenBox=[0,0,1,1];this.viewBox=[0,0,1,1];this.dataBox=[-1,-1,1,1];this.borderLineEnable=[false,false,false,false];this.borderLineWidth=[1,1,1,1];this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.ticks=[[],[]];this.tickEnable=[true,true,false,false];this.tickPad=[15,15,15,15];this.tickAngle=[0,0,0,0];this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.tickMarkLength=[0,0,0,0];this.tickMarkWidth=[0,0,0,0];this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.labels=["x","y"];this.labelEnable=[true,true,false,false];this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2];this.labelPad=[15,15,15,15];this.labelSize=[12,12];this.labelFont=["sans-serif","sans-serif"];this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.title="";this.titleEnable=true;this.titleCenter=[0,0,0,0];this.titleAngle=0;this.titleColor=[0,0,0,1];this.titleFont="sans-serif";this.titleSize=18;this.gridLineEnable=[true,true];this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]];this.gridLineWidth=[1,1];this.zeroLineEnable=[true,true];this.zeroLineWidth=[1,1];this.zeroLineColor=[[0,0,0,1],[0,0,0,1]];this.borderColor=[0,0,0,0];this.backgroundColor=[0,0,0,0];this.static=this.scene.staticPlot}var proto=Axes2DOptions.prototype;var AXES=["xaxis","yaxis"];proto.merge=function(options){this.titleEnable=false;this.backgroundColor=str2RGBArray(options.plot_bgcolor);var axisName,ax,axTitle,axMirror;var hasAxisInDfltPos,hasAxisInAltrPos,hasSharedAxis,mirrorLines,mirrorTicks;var i,j;for(i=0;i<2;++i){axisName=AXES[i];var axisLetter=axisName.charAt(0);ax=options[this.scene[axisName]._name];axTitle=ax.title.text===this.scene.fullLayout._dfltTitle[axisLetter]?"":ax.title.text;for(j=0;j<=2;j+=2){this.labelEnable[i+j]=false;this.labels[i+j]=axTitle;this.labelColor[i+j]=str2RGBArray(ax.title.font.color);this.labelFont[i+j]=ax.title.font.family;this.labelSize[i+j]=ax.title.font.size;this.labelPad[i+j]=this.getLabelPad(axisName,ax);this.tickEnable[i+j]=false;this.tickColor[i+j]=str2RGBArray((ax.tickfont||{}).color);this.tickAngle[i+j]=ax.tickangle==="auto"?0:Math.PI*-ax.tickangle/180;this.tickPad[i+j]=this.getTickPad(ax);this.tickMarkLength[i+j]=0;this.tickMarkWidth[i+j]=ax.tickwidth||0;this.tickMarkColor[i+j]=str2RGBArray(ax.tickcolor);this.borderLineEnable[i+j]=false;this.borderLineColor[i+j]=str2RGBArray(ax.linecolor);this.borderLineWidth[i+j]=ax.linewidth||0}hasSharedAxis=this.hasSharedAxis(ax);hasAxisInDfltPos=this.hasAxisInDfltPos(axisName,ax)&&!hasSharedAxis;hasAxisInAltrPos=this.hasAxisInAltrPos(axisName,ax)&&!hasSharedAxis;axMirror=ax.mirror||false;mirrorLines=hasSharedAxis?String(axMirror).indexOf("all")!==-1:!!axMirror;mirrorTicks=hasSharedAxis?axMirror==="allticks":String(axMirror).indexOf("ticks")!==-1;if(hasAxisInDfltPos)this.labelEnable[i]=true;else if(hasAxisInAltrPos)this.labelEnable[i+2]=true;if(hasAxisInDfltPos)this.tickEnable[i]=ax.showticklabels;else if(hasAxisInAltrPos)this.tickEnable[i+2]=ax.showticklabels;if(hasAxisInDfltPos||mirrorLines)this.borderLineEnable[i]=ax.showline;if(hasAxisInAltrPos||mirrorLines)this.borderLineEnable[i+2]=ax.showline;if(hasAxisInDfltPos||mirrorTicks)this.tickMarkLength[i]=this.getTickMarkLength(ax);if(hasAxisInAltrPos||mirrorTicks)this.tickMarkLength[i+2]=this.getTickMarkLength(ax);this.gridLineEnable[i]=ax.showgrid;this.gridLineColor[i]=str2RGBArray(ax.gridcolor);this.gridLineWidth[i]=ax.gridwidth;this.zeroLineEnable[i]=ax.zeroline;this.zeroLineColor[i]=str2RGBArray(ax.zerolinecolor);this.zeroLineWidth[i]=ax.zerolinewidth}};proto.hasSharedAxis=function(ax){var scene=this.scene;var subplotIds=scene.fullLayout._subplots.gl2d;var list=Axes.findSubplotsWithAxis(subplotIds,ax);return list.indexOf(scene.id)!==0};proto.hasAxisInDfltPos=function(axisName,ax){var axSide=ax.side;if(axisName==="xaxis")return axSide==="bottom";else if(axisName==="yaxis")return axSide==="left"};proto.hasAxisInAltrPos=function(axisName,ax){var axSide=ax.side;if(axisName==="xaxis")return axSide==="top";else if(axisName==="yaxis")return axSide==="right"};proto.getLabelPad=function(axisName,ax){var offsetBase=1.5;var fontSize=ax.title.font.size;var showticklabels=ax.showticklabels;if(axisName==="xaxis"){return ax.side==="top"?-10+fontSize*(offsetBase+(showticklabels?1:0)):-10+fontSize*(offsetBase+(showticklabels?.5:0))}else if(axisName==="yaxis"){return ax.side==="right"?10+fontSize*(offsetBase+(showticklabels?1:.5)):10+fontSize*(offsetBase+(showticklabels?.5:0))}};proto.getTickPad=function(ax){return ax.ticks==="outside"?10+ax.ticklen:15};proto.getTickMarkLength=function(ax){if(!ax.ticks)return 0;var ticklen=ax.ticklen;return ax.ticks==="inside"?-ticklen:ticklen};function createAxes2D(scene){return new Axes2DOptions(scene)}module.exports=createAxes2D},{"../../lib/str2rgbarray":828,"../cartesian/axes":854}],894:[function(_dereq_,module,exports){"use strict";var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var Scene2D=_dereq_("./scene2d");var layoutGlobalAttrs=_dereq_("../layout_attributes");var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");var constants=_dereq_("../cartesian/constants");var Cartesian=_dereq_("../cartesian");var fxAttrs=_dereq_("../../components/fx/layout_attributes");var getSubplotData=_dereq_("../get_data").getSubplotData;exports.name="gl2d";exports.attr=["xaxis","yaxis"];exports.idRoot=["x","y"];exports.idRegex=constants.idRegex;exports.attrRegex=constants.attrRegex;exports.attributes=_dereq_("../cartesian/attributes");exports.supplyLayoutDefaults=function(layoutIn,layoutOut,fullData){if(!layoutOut._has("cartesian")){Cartesian.supplyLayoutDefaults(layoutIn,layoutOut,fullData)}};exports.layoutAttrOverrides=overrideAll(Cartesian.layoutAttributes,"plot","from-root");exports.baseLayoutAttrOverrides=overrideAll({plot_bgcolor:layoutGlobalAttrs.plot_bgcolor,hoverlabel:fxAttrs.hoverlabel},"plot","nested");exports.plot=function plot(gd){var fullLayout=gd._fullLayout;var fullData=gd._fullData;var subplotIds=fullLayout._subplots.gl2d;for(var i=0;i<subplotIds.length;i++){var subplotId=subplotIds[i];var subplotObj=fullLayout._plots[subplotId];var fullSubplotData=getSubplotData(fullData,"gl2d",subplotId);var scene=subplotObj._scene2d;if(scene===undefined){scene=new Scene2D({id:subplotId,graphDiv:gd,container:gd.querySelector(".gl-container"),staticPlot:gd._context.staticPlot,plotGlPixelRatio:gd._context.plotGlPixelRatio},fullLayout);subplotObj._scene2d=scene}scene.plot(fullSubplotData,gd.calcdata,fullLayout,gd.layout)}};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var oldSceneKeys=oldFullLayout._subplots.gl2d||[];for(var i=0;i<oldSceneKeys.length;i++){var id=oldSceneKeys[i];var oldSubplot=oldFullLayout._plots[id];if(!oldSubplot._scene2d)continue;var subplotData=getSubplotData(newFullData,"gl2d",id);if(subplotData.length===0){oldSubplot._scene2d.destroy();delete oldFullLayout._plots[id]}}Cartesian.clean.apply(this,arguments)};exports.drawFramework=function(gd){if(!gd._context.staticPlot){Cartesian.drawFramework(gd)}};exports.toSVG=function(gd){var fullLayout=gd._fullLayout;var subplotIds=fullLayout._subplots.gl2d;for(var i=0;i<subplotIds.length;i++){var subplot=fullLayout._plots[subplotIds[i]];var scene=subplot._scene2d;var imageData=scene.toImage("png");var image=fullLayout._glimages.append("svg:image");image.attr({xmlns:xmlnsNamespaces.svg,"xlink:href":imageData,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"});scene.destroy()}};exports.updateFx=function(gd){var fullLayout=gd._fullLayout;var subplotIds=fullLayout._subplots.gl2d;for(var i=0;i<subplotIds.length;i++){var subplotObj=fullLayout._plots[subplotIds[i]]._scene2d;subplotObj.updateFx(fullLayout.dragmode)}}},{"../../components/fx/layout_attributes":707,"../../constants/xmlns_namespaces":780,"../../plot_api/edit_types":836,"../cartesian":868,"../cartesian/attributes":852,"../cartesian/constants":861,"../get_data":891,"../layout_attributes":908,"./scene2d":895}],895:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Axes=_dereq_("../../plots/cartesian/axes");var Fx=_dereq_("../../components/fx");var createPlot2D=_dereq_("gl-plot2d");var createSpikes=_dereq_("gl-spikes2d");var createSelectBox=_dereq_("gl-select-box");var getContext=_dereq_("webgl-context");var createOptions=_dereq_("./convert");var createCamera=_dereq_("./camera");var showNoWebGlMsg=_dereq_("../../lib/show_no_webgl_msg");var axisConstraints=_dereq_("../cartesian/constraints");var enforceAxisConstraints=axisConstraints.enforce;var cleanAxisConstraints=axisConstraints.clean;var doAutoRange=_dereq_("../cartesian/autorange").doAutoRange;var dragHelpers=_dereq_("../../components/dragelement/helpers");var drawMode=dragHelpers.drawMode;var selectMode=dragHelpers.selectMode;var AXES=["xaxis","yaxis"];var STATIC_CANVAS,STATIC_CONTEXT;var SUBPLOT_PATTERN=_dereq_("../cartesian/constants").SUBPLOT_PATTERN;function Scene2D(options,fullLayout){this.container=options.container;this.graphDiv=options.graphDiv;this.pixelRatio=options.plotGlPixelRatio||window.devicePixelRatio;this.id=options.id;this.staticPlot=!!options.staticPlot;this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian;this.fullData=null;this.updateRefs(fullLayout);this.makeFramework();if(this.stopped)return;this.glplotOptions=createOptions(this);this.glplotOptions.merge(fullLayout);this.glplot=createPlot2D(this.glplotOptions);this.camera=createCamera(this);this.traces={};this.spikes=createSpikes(this.glplot);this.selectBox=createSelectBox(this.glplot,{innerFill:false,outerFill:true});this.lastButtonState=0;this.pickResult=null;this.isMouseOver=true;this.stopped=false;this.redraw=this.draw.bind(this);this.redraw()}module.exports=Scene2D;var proto=Scene2D.prototype;proto.makeFramework=function(){if(this.staticPlot){if(!STATIC_CONTEXT){STATIC_CANVAS=document.createElement("canvas");STATIC_CONTEXT=getContext({canvas:STATIC_CANVAS,preserveDrawingBuffer:false,premultipliedAlpha:true,antialias:true});if(!STATIC_CONTEXT){throw new Error("Error creating static canvas/context for image server")}}this.canvas=STATIC_CANVAS;this.gl=STATIC_CONTEXT}else{var liveCanvas=this.container.querySelector(".gl-canvas-focus");var gl=getContext({canvas:liveCanvas,preserveDrawingBuffer:true,premultipliedAlpha:true});if(!gl){showNoWebGlMsg(this);this.stopped=true;return}this.canvas=liveCanvas;this.gl=gl}var canvas=this.canvas;canvas.style.width="100%";canvas.style.height="100%";canvas.style.position="absolute";canvas.style.top="0px";canvas.style.left="0px";canvas.style["pointer-events"]="none";this.updateSize(canvas);var svgContainer=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");svgContainer.style.position="absolute";svgContainer.style.top=svgContainer.style.left="0px";svgContainer.style.width=svgContainer.style.height="100%";svgContainer.style["z-index"]=20;svgContainer.style["pointer-events"]="none";var mouseContainer=this.mouseContainer=document.createElement("div");mouseContainer.style.position="absolute";mouseContainer.style["pointer-events"]="auto";this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var container=this.container;container.appendChild(svgContainer);container.appendChild(mouseContainer);var self=this;mouseContainer.addEventListener("mouseout",(function(){self.isMouseOver=false;self.unhover()}));mouseContainer.addEventListener("mouseover",(function(){self.isMouseOver=true}))};proto.toImage=function(format){if(!format)format="png";this.stopped=true;if(this.staticPlot)this.container.appendChild(STATIC_CANVAS);this.updateSize(this.canvas);var gl=this.glplot.gl;var w=gl.drawingBufferWidth;var h=gl.drawingBufferHeight;gl.clearColor(1,1,1,0);gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT);this.glplot.setDirty();this.glplot.draw();gl.bindFramebuffer(gl.FRAMEBUFFER,null);var pixels=new Uint8Array(w*h*4);gl.readPixels(0,0,w,h,gl.RGBA,gl.UNSIGNED_BYTE,pixels);for(var j=0,k=h-1;j<k;++j,--k){for(var i=0;i<w;++i){for(var l=0;l<4;++l){var tmp=pixels[4*(w*j+i)+l];pixels[4*(w*j+i)+l]=pixels[4*(w*k+i)+l];pixels[4*(w*k+i)+l]=tmp}}}var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var context=canvas.getContext("2d");var imageData=context.createImageData(w,h);imageData.data.set(pixels);context.putImageData(imageData,0,0);var dataURL;switch(format){case"jpeg":dataURL=canvas.toDataURL("image/jpeg");break;case"webp":dataURL=canvas.toDataURL("image/webp");break;default:dataURL=canvas.toDataURL("image/png")}if(this.staticPlot)this.container.removeChild(STATIC_CANVAS);return dataURL};proto.updateSize=function(canvas){if(!canvas)canvas=this.canvas;var pixelRatio=this.pixelRatio;var fullLayout=this.fullLayout;var width=fullLayout.width;var height=fullLayout.height;var pixelWidth=Math.ceil(pixelRatio*width)|0;var pixelHeight=Math.ceil(pixelRatio*height)|0;if(canvas.width!==pixelWidth||canvas.height!==pixelHeight){canvas.width=pixelWidth;canvas.height=pixelHeight}return canvas};proto.computeTickMarks=function(){this.xaxis.setScale();this.yaxis.setScale();var nextTicks=[Axes.calcTicks(this.xaxis),Axes.calcTicks(this.yaxis)];for(var j=0;j<2;++j){for(var i=0;i<nextTicks[j].length;++i){nextTicks[j][i].text=nextTicks[j][i].text+""}}return nextTicks};function compareTicks(a,b){for(var i=0;i<2;++i){var aticks=a[i];var bticks=b[i];if(aticks.length!==bticks.length)return true;for(var j=0;j<aticks.length;++j){if(aticks[j].x!==bticks[j].x)return true}}return false}proto.updateRefs=function(newFullLayout){this.fullLayout=newFullLayout;var spmatch=this.id.match(SUBPLOT_PATTERN);var xaxisName="xaxis"+spmatch[1];var yaxisName="yaxis"+spmatch[2];this.xaxis=this.fullLayout[xaxisName];this.yaxis=this.fullLayout[yaxisName]};proto.relayoutCallback=function(){var graphDiv=this.graphDiv;var xaxis=this.xaxis;var yaxis=this.yaxis;var layout=graphDiv.layout;var update={};var xrange=update[xaxis._name+".range"]=xaxis.range.slice();var yrange=update[yaxis._name+".range"]=yaxis.range.slice();update[xaxis._name+".autorange"]=xaxis.autorange;update[yaxis._name+".autorange"]=yaxis.autorange;Registry.call("_storeDirectGUIEdit",graphDiv.layout,graphDiv._fullLayout._preGUI,update);var xaIn=layout[xaxis._name];xaIn.range=xrange;xaIn.autorange=xaxis.autorange;var yaIn=layout[yaxis._name];yaIn.range=yrange;yaIn.autorange=yaxis.autorange;update.lastInputTime=this.camera.lastInputTime;graphDiv.emit("plotly_relayout",update)};proto.cameraChanged=function(){var camera=this.camera;this.glplot.setDataBox(this.calcDataBox());var nextTicks=this.computeTickMarks();var curTicks=this.glplotOptions.ticks;if(compareTicks(nextTicks,curTicks)){this.glplotOptions.ticks=nextTicks;this.glplotOptions.dataBox=camera.dataBox;this.glplot.update(this.glplotOptions);this.handleAnnotations()}};proto.handleAnnotations=function(){var gd=this.graphDiv;var annotations=this.fullLayout.annotations;for(var i=0;i<annotations.length;i++){var ann=annotations[i];if(ann.xref===this.xaxis._id&&ann.yref===this.yaxis._id){Registry.getComponentMethod("annotations","drawOne")(gd,i)}}};proto.destroy=function(){if(!this.glplot)return;var traces=this.traces;if(traces){Object.keys(traces).map((function(key){traces[key].dispose();delete traces[key]}))}this.glplot.dispose();this.container.removeChild(this.svgContainer);this.container.removeChild(this.mouseContainer);this.fullData=null;this.glplot=null;this.stopped=true;this.camera.mouseListener.enabled=false;this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener);this.camera=null};proto.plot=function(fullData,calcData,fullLayout){var glplot=this.glplot;this.updateRefs(fullLayout);this.xaxis.clearCalc();this.yaxis.clearCalc();this.updateTraces(fullData,calcData);this.updateFx(fullLayout.dragmode);var width=fullLayout.width;var height=fullLayout.height;this.updateSize(this.canvas);var options=this.glplotOptions;options.merge(fullLayout);options.screenBox=[0,0,width,height];var mockGraphDiv={_fullLayout:{_axisConstraintGroups:fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis,_size:fullLayout._size}};cleanAxisConstraints(mockGraphDiv,this.xaxis);cleanAxisConstraints(mockGraphDiv,this.yaxis);var size=fullLayout._size;var domainX=this.xaxis.domain;var domainY=this.yaxis.domain;options.viewBox=[size.l+domainX[0]*size.w,size.b+domainY[0]*size.h,width-size.r-(1-domainX[1])*size.w,height-size.t-(1-domainY[1])*size.h];this.mouseContainer.style.width=size.w*(domainX[1]-domainX[0])+"px";this.mouseContainer.style.height=size.h*(domainY[1]-domainY[0])+"px";this.mouseContainer.height=size.h*(domainY[1]-domainY[0]);this.mouseContainer.style.left=size.l+domainX[0]*size.w+"px";this.mouseContainer.style.top=size.t+(1-domainY[1])*size.h+"px";var ax,i;for(i=0;i<2;++i){ax=this[AXES[i]];ax._length=options.viewBox[i+2]-options.viewBox[i];doAutoRange(this.graphDiv,ax);ax.setScale()}enforceAxisConstraints(mockGraphDiv);options.ticks=this.computeTickMarks();options.dataBox=this.calcDataBox();options.merge(fullLayout);glplot.update(options);this.glplot.draw()};proto.calcDataBox=function(){var xaxis=this.xaxis;var yaxis=this.yaxis;var xrange=xaxis.range;var yrange=yaxis.range;var xr2l=xaxis.r2l;var yr2l=yaxis.r2l;return[xr2l(xrange[0]),yr2l(yrange[0]),xr2l(xrange[1]),yr2l(yrange[1])]};proto.setRanges=function(dataBox){var xaxis=this.xaxis;var yaxis=this.yaxis;var xl2r=xaxis.l2r;var yl2r=yaxis.l2r;xaxis.range=[xl2r(dataBox[0]),xl2r(dataBox[2])];yaxis.range=[yl2r(dataBox[1]),yl2r(dataBox[3])]};proto.updateTraces=function(fullData,calcData){var traceIds=Object.keys(this.traces);var i,j,fullTrace;this.fullData=fullData;traceIdLoop:for(i=0;i<traceIds.length;i++){var oldUid=traceIds[i];var oldTrace=this.traces[oldUid];for(j=0;j<fullData.length;j++){fullTrace=fullData[j];if(fullTrace.uid===oldUid&&fullTrace.type===oldTrace.type){continue traceIdLoop}}oldTrace.dispose();delete this.traces[oldUid]}for(i=0;i<fullData.length;i++){fullTrace=fullData[i];var calcTrace=calcData[i];var traceObj=this.traces[fullTrace.uid];if(traceObj)traceObj.update(fullTrace,calcTrace);else{traceObj=fullTrace._module.plot(this,fullTrace,calcTrace);this.traces[fullTrace.uid]=traceObj}}this.glplot.objects.sort((function(a,b){return a._trace.index-b._trace.index}))};proto.updateFx=function(dragmode){if(selectMode(dragmode)||drawMode(dragmode)){this.pickCanvas.style["pointer-events"]="none";this.mouseContainer.style["pointer-events"]="none"}else{this.pickCanvas.style["pointer-events"]="auto";this.mouseContainer.style["pointer-events"]="auto"}if(dragmode==="pan"){this.mouseContainer.style.cursor="move"}else if(dragmode==="zoom"){this.mouseContainer.style.cursor="crosshair"}else{this.mouseContainer.style.cursor=null}};proto.emitPointAction=function(nextSelection,eventType){var uid=nextSelection.trace.uid;var ptNumber=nextSelection.pointIndex;var trace;for(var i=0;i<this.fullData.length;i++){if(this.fullData[i].uid===uid){trace=this.fullData[i]}}var pointData={x:nextSelection.traceCoord[0],y:nextSelection.traceCoord[1],curveNumber:trace.index,pointNumber:ptNumber,data:trace._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};Fx.appendArrayPointValue(pointData,trace,ptNumber);this.graphDiv.emit(eventType,{points:[pointData]})};proto.draw=function(){if(this.stopped)return;requestAnimationFrame(this.redraw);var glplot=this.glplot;var camera=this.camera;var mouseListener=camera.mouseListener;var mouseUp=this.lastButtonState===1&&mouseListener.buttons===0;var fullLayout=this.fullLayout;this.lastButtonState=mouseListener.buttons;this.cameraChanged();var x=mouseListener.x*glplot.pixelRatio;var y=this.canvas.height-glplot.pixelRatio*mouseListener.y;var result;if(camera.boxEnabled&&fullLayout.dragmode==="zoom"){this.selectBox.enabled=true;var selectBox=this.selectBox.selectBox=[Math.min(camera.boxStart[0],camera.boxEnd[0]),Math.min(camera.boxStart[1],camera.boxEnd[1]),Math.max(camera.boxStart[0],camera.boxEnd[0]),Math.max(camera.boxStart[1],camera.boxEnd[1])];for(var i=0;i<2;i++){if(camera.boxStart[i]===camera.boxEnd[i]){selectBox[i]=glplot.dataBox[i];selectBox[i+2]=glplot.dataBox[i+2]}}glplot.setDirty()}else if(!camera.panning&&this.isMouseOver){this.selectBox.enabled=false;var size=fullLayout._size;var domainX=this.xaxis.domain;var domainY=this.yaxis.domain;result=glplot.pick(x/glplot.pixelRatio+size.l+domainX[0]*size.w,y/glplot.pixelRatio-(size.t+(1-domainY[1])*size.h));var nextSelection=result&&result.object._trace.handlePick(result);if(nextSelection&&mouseUp){this.emitPointAction(nextSelection,"plotly_click")}if(result&&result.object._trace.hoverinfo!=="skip"&&fullLayout.hovermode){if(nextSelection&&(!this.lastPickResult||this.lastPickResult.traceUid!==nextSelection.trace.uid||this.lastPickResult.dataCoord[0]!==nextSelection.dataCoord[0]||this.lastPickResult.dataCoord[1]!==nextSelection.dataCoord[1])){var selection=nextSelection;this.lastPickResult={traceUid:nextSelection.trace?nextSelection.trace.uid:null,dataCoord:nextSelection.dataCoord.slice()};this.spikes.update({center:result.dataCoord});selection.screenCoord=[((glplot.viewBox[2]-glplot.viewBox[0])*(result.dataCoord[0]-glplot.dataBox[0])/(glplot.dataBox[2]-glplot.dataBox[0])+glplot.viewBox[0])/glplot.pixelRatio,(this.canvas.height-(glplot.viewBox[3]-glplot.viewBox[1])*(result.dataCoord[1]-glplot.dataBox[1])/(glplot.dataBox[3]-glplot.dataBox[1])-glplot.viewBox[1])/glplot.pixelRatio];this.emitPointAction(nextSelection,"plotly_hover");var trace=this.fullData[selection.trace.index]||{};var ptNumber=selection.pointIndex;var hoverinfo=Fx.castHoverinfo(trace,fullLayout,ptNumber);if(hoverinfo&&hoverinfo!=="all"){var parts=hoverinfo.split("+");if(parts.indexOf("x")===-1)selection.traceCoord[0]=undefined;if(parts.indexOf("y")===-1)selection.traceCoord[1]=undefined;if(parts.indexOf("z")===-1)selection.traceCoord[2]=undefined;if(parts.indexOf("text")===-1)selection.textLabel=undefined;if(parts.indexOf("name")===-1)selection.name=undefined}Fx.loneHover({x:selection.screenCoord[0],y:selection.screenCoord[1],xLabel:this.hoverFormatter("xaxis",selection.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",selection.traceCoord[1]),zLabel:selection.traceCoord[2],text:selection.textLabel,name:selection.name,color:Fx.castHoverOption(trace,ptNumber,"bgcolor")||selection.color,borderColor:Fx.castHoverOption(trace,ptNumber,"bordercolor"),fontFamily:Fx.castHoverOption(trace,ptNumber,"font.family"),fontSize:Fx.castHoverOption(trace,ptNumber,"font.size"),fontColor:Fx.castHoverOption(trace,ptNumber,"font.color"),nameLength:Fx.castHoverOption(trace,ptNumber,"namelength"),textAlign:Fx.castHoverOption(trace,ptNumber,"align")},{container:this.svgContainer,gd:this.graphDiv})}}}if(!result){this.unhover()}glplot.draw()};proto.unhover=function(){if(this.lastPickResult){this.spikes.update({});this.lastPickResult=null;this.graphDiv.emit("plotly_unhover");Fx.loneUnhover(this.svgContainer)}};proto.hoverFormatter=function(axisName,val){if(val===undefined)return undefined;var axis=this[axisName];return Axes.tickText(axis,axis.c2l(val),"hover").text}},{"../../components/dragelement/helpers":684,"../../components/fx":706,"../../lib/show_no_webgl_msg":825,"../../plots/cartesian/axes":854,"../../registry":931,"../cartesian/autorange":853,"../cartesian/constants":861,"../cartesian/constraints":862,"./camera":892,"./convert":893,"gl-plot2d":322,"gl-select-box":337,"gl-spikes2d":346,"webgl-context":629}],896:[function(_dereq_,module,exports){"use strict";var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var fxAttrs=_dereq_("../../components/fx/layout_attributes");var Scene=_dereq_("./scene");var getSubplotData=_dereq_("../get_data").getSubplotData;var Lib=_dereq_("../../lib");var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");var GL3D="gl3d";var SCENE="scene";exports.name=GL3D;exports.attr=SCENE;exports.idRoot=SCENE;exports.idRegex=exports.attrRegex=Lib.counterRegex("scene");exports.attributes=_dereq_("./layout/attributes");exports.layoutAttributes=_dereq_("./layout/layout_attributes");exports.baseLayoutAttrOverrides=overrideAll({hoverlabel:fxAttrs.hoverlabel},"plot","nested");exports.supplyLayoutDefaults=_dereq_("./layout/defaults");exports.plot=function plot(gd){var fullLayout=gd._fullLayout;var fullData=gd._fullData;var sceneIds=fullLayout._subplots[GL3D];for(var i=0;i<sceneIds.length;i++){var sceneId=sceneIds[i];var fullSceneData=getSubplotData(fullData,GL3D,sceneId);var sceneLayout=fullLayout[sceneId];var camera=sceneLayout.camera;var scene=sceneLayout._scene;if(!scene){scene=new Scene({id:sceneId,graphDiv:gd,container:gd.querySelector(".gl-container"),staticPlot:gd._context.staticPlot,plotGlPixelRatio:gd._context.plotGlPixelRatio,camera:camera},fullLayout);sceneLayout._scene=scene}if(!scene.viewInitial){scene.viewInitial={up:{x:camera.up.x,y:camera.up.y,z:camera.up.z},eye:{x:camera.eye.x,y:camera.eye.y,z:camera.eye.z},center:{x:camera.center.x,y:camera.center.y,z:camera.center.z}}}scene.plot(fullSceneData,fullLayout,gd.layout)}};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var oldSceneKeys=oldFullLayout._subplots[GL3D]||[];for(var i=0;i<oldSceneKeys.length;i++){var oldSceneKey=oldSceneKeys[i];if(!newFullLayout[oldSceneKey]&&!!oldFullLayout[oldSceneKey]._scene){oldFullLayout[oldSceneKey]._scene.destroy();if(oldFullLayout._infolayer){oldFullLayout._infolayer.selectAll(".annotation-"+oldSceneKey).remove()}}}};exports.toSVG=function(gd){var fullLayout=gd._fullLayout;var sceneIds=fullLayout._subplots[GL3D];var size=fullLayout._size;for(var i=0;i<sceneIds.length;i++){var sceneLayout=fullLayout[sceneIds[i]];var domain=sceneLayout.domain;var scene=sceneLayout._scene;var imageData=scene.toImage("png");var image=fullLayout._glimages.append("svg:image");image.attr({xmlns:xmlnsNamespaces.svg,"xlink:href":imageData,x:size.l+size.w*domain.x[0],y:size.t+size.h*(1-domain.y[1]),width:size.w*(domain.x[1]-domain.x[0]),height:size.h*(domain.y[1]-domain.y[0]),preserveAspectRatio:"none"});scene.destroy()}};exports.cleanId=function cleanId(id){if(!id.match(/^scene[0-9]*$/))return;var sceneNum=id.substr(5);if(sceneNum==="1")sceneNum="";return SCENE+sceneNum};exports.updateFx=function(gd){var fullLayout=gd._fullLayout;var subplotIds=fullLayout._subplots[GL3D];for(var i=0;i<subplotIds.length;i++){var subplotObj=fullLayout[subplotIds[i]]._scene;subplotObj.updateFx(fullLayout.dragmode,fullLayout.hovermode)}}},{"../../components/fx/layout_attributes":707,"../../constants/xmlns_namespaces":780,"../../lib":803,"../../plot_api/edit_types":836,"../get_data":891,"./layout/attributes":897,"./layout/defaults":901,"./layout/layout_attributes":902,"./scene":906}],897:[function(_dereq_,module,exports){"use strict";module.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}},{}],898:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../../components/color");var axesAttrs=_dereq_("../../cartesian/layout_attributes");var extendFlat=_dereq_("../../../lib/extend").extendFlat;var overrideAll=_dereq_("../../../plot_api/edit_types").overrideAll;module.exports=overrideAll({visible:axesAttrs.visible,showspikes:{valType:"boolean",dflt:true},spikesides:{valType:"boolean",dflt:true},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:Color.defaultLine},showbackground:{valType:"boolean",dflt:false},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:true},color:axesAttrs.color,categoryorder:axesAttrs.categoryorder,categoryarray:axesAttrs.categoryarray,title:{text:axesAttrs.title.text,font:axesAttrs.title.font},type:extendFlat({},axesAttrs.type,{values:["-","linear","log","date","category"]}),autotypenumbers:axesAttrs.autotypenumbers,autorange:axesAttrs.autorange,rangemode:axesAttrs.rangemode,range:extendFlat({},axesAttrs.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":false}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":false}}],anim:false}),tickmode:axesAttrs.tickmode,nticks:axesAttrs.nticks,tick0:axesAttrs.tick0,dtick:axesAttrs.dtick,tickvals:axesAttrs.tickvals,ticktext:axesAttrs.ticktext,ticks:axesAttrs.ticks,mirror:axesAttrs.mirror,ticklen:axesAttrs.ticklen,tickwidth:axesAttrs.tickwidth,tickcolor:axesAttrs.tickcolor,showticklabels:axesAttrs.showticklabels,tickfont:axesAttrs.tickfont,tickangle:axesAttrs.tickangle,tickprefix:axesAttrs.tickprefix,showtickprefix:axesAttrs.showtickprefix,ticksuffix:axesAttrs.ticksuffix,showticksuffix:axesAttrs.showticksuffix,showexponent:axesAttrs.showexponent,exponentformat:axesAttrs.exponentformat,minexponent:axesAttrs.minexponent,separatethousands:axesAttrs.separatethousands,tickformat:axesAttrs.tickformat,tickformatstops:axesAttrs.tickformatstops,hoverformat:axesAttrs.hoverformat,showline:axesAttrs.showline,linecolor:axesAttrs.linecolor,linewidth:axesAttrs.linewidth,showgrid:axesAttrs.showgrid,gridcolor:extendFlat({},axesAttrs.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:axesAttrs.gridwidth,zeroline:axesAttrs.zeroline,zerolinecolor:axesAttrs.zerolinecolor,zerolinewidth:axesAttrs.zerolinewidth,_deprecated:{title:axesAttrs._deprecated.title,titlefont:axesAttrs._deprecated.titlefont}},"plot","from-root")},{"../../../components/color":666,"../../../lib/extend":793,"../../../plot_api/edit_types":836,"../../cartesian/layout_attributes":869}],899:[function(_dereq_,module,exports){"use strict";var colorMix=_dereq_("tinycolor2").mix;var Lib=_dereq_("../../../lib");var Template=_dereq_("../../../plot_api/plot_template");var layoutAttributes=_dereq_("./axis_attributes");var handleTypeDefaults=_dereq_("../../cartesian/type_defaults");var handleAxisDefaults=_dereq_("../../cartesian/axis_defaults");var axesNames=["xaxis","yaxis","zaxis"];var gridLightness=100*(204-68)/(255-68);module.exports=function supplyLayoutDefaults(layoutIn,layoutOut,options){var containerIn,containerOut;function coerce(attr,dflt){return Lib.coerce(containerIn,containerOut,layoutAttributes,attr,dflt)}for(var j=0;j<axesNames.length;j++){var axName=axesNames[j];containerIn=layoutIn[axName]||{};containerOut=Template.newContainer(layoutOut,axName);containerOut._id=axName[0]+options.scene;containerOut._name=axName;handleTypeDefaults(containerIn,containerOut,coerce,options);handleAxisDefaults(containerIn,containerOut,coerce,{font:options.font,letter:axName[0],data:options.data,showGrid:true,noTickson:true,noTicklabelmode:true,noTicklabelposition:true,noTicklabeloverflow:true,bgColor:options.bgColor,calendar:options.calendar},options.fullLayout);coerce("gridcolor",colorMix(containerOut.color,options.bgColor,gridLightness).toRgbString());coerce("title.text",axName[0]);containerOut.setScale=Lib.noop;if(coerce("showspikes")){coerce("spikesides");coerce("spikethickness");coerce("spikecolor",containerOut.color)}coerce("showaxeslabels");if(coerce("showbackground"))coerce("backgroundcolor")}}},{"../../../lib":803,"../../../plot_api/plot_template":843,"../../cartesian/axis_defaults":856,"../../cartesian/type_defaults":880,"./axis_attributes":898,tinycolor2:598}],900:[function(_dereq_,module,exports){"use strict";var str2RgbaArray=_dereq_("../../../lib/str2rgbarray");var Lib=_dereq_("../../../lib");var AXES_NAMES=["xaxis","yaxis","zaxis"];function AxesOptions(){this.bounds=[[-10,-10,-10],[10,10,10]];this.ticks=[[],[],[]];this.tickEnable=[true,true,true];this.tickFont=["sans-serif","sans-serif","sans-serif"];this.tickSize=[12,12,12];this.tickAngle=[0,0,0];this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.tickPad=[18,18,18];this.labels=["x","y","z"];this.labelEnable=[true,true,true];this.labelFont=["Open Sans","Open Sans","Open Sans"];this.labelSize=[20,20,20];this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.labelPad=[30,30,30];this.lineEnable=[true,true,true];this.lineMirror=[false,false,false];this.lineWidth=[1,1,1];this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.lineTickEnable=[true,true,true];this.lineTickMirror=[false,false,false];this.lineTickLength=[10,10,10];this.lineTickWidth=[1,1,1];this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.gridEnable=[true,true,true];this.gridWidth=[1,1,1];this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.zeroEnable=[true,true,true];this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.zeroLineWidth=[2,2,2];this.backgroundEnable=[true,true,true];this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]];this._defaultTickPad=this.tickPad.slice();this._defaultLabelPad=this.labelPad.slice();this._defaultLineTickLength=this.lineTickLength.slice()}var proto=AxesOptions.prototype;proto.merge=function(fullLayout,sceneLayout){var opts=this;for(var i=0;i<3;++i){var axes=sceneLayout[AXES_NAMES[i]];if(!axes.visible){opts.tickEnable[i]=false;opts.labelEnable[i]=false;opts.lineEnable[i]=false;opts.lineTickEnable[i]=false;opts.gridEnable[i]=false;opts.zeroEnable[i]=false;opts.backgroundEnable[i]=false;continue}opts.labels[i]=fullLayout._meta?Lib.templateString(axes.title.text,fullLayout._meta):axes.title.text;if("font"in axes.title){if(axes.title.font.color)opts.labelColor[i]=str2RgbaArray(axes.title.font.color);if(axes.title.font.family)opts.labelFont[i]=axes.title.font.family;if(axes.title.font.size)opts.labelSize[i]=axes.title.font.size}if("showline"in axes)opts.lineEnable[i]=axes.showline;if("linecolor"in axes)opts.lineColor[i]=str2RgbaArray(axes.linecolor);if("linewidth"in axes)opts.lineWidth[i]=axes.linewidth;if("showgrid"in axes)opts.gridEnable[i]=axes.showgrid;if("gridcolor"in axes)opts.gridColor[i]=str2RgbaArray(axes.gridcolor);if("gridwidth"in axes)opts.gridWidth[i]=axes.gridwidth;if(axes.type==="log")opts.zeroEnable[i]=false;else if("zeroline"in axes)opts.zeroEnable[i]=axes.zeroline;if("zerolinecolor"in axes)opts.zeroLineColor[i]=str2RgbaArray(axes.zerolinecolor);if("zerolinewidth"in axes)opts.zeroLineWidth[i]=axes.zerolinewidth;if("ticks"in axes&&!!axes.ticks)opts.lineTickEnable[i]=true;else opts.lineTickEnable[i]=false;if("ticklen"in axes){opts.lineTickLength[i]=opts._defaultLineTickLength[i]=axes.ticklen}if("tickcolor"in axes)opts.lineTickColor[i]=str2RgbaArray(axes.tickcolor);if("tickwidth"in axes)opts.lineTickWidth[i]=axes.tickwidth;if("tickangle"in axes){opts.tickAngle[i]=axes.tickangle==="auto"?-3600:Math.PI*-axes.tickangle/180}if("showticklabels"in axes)opts.tickEnable[i]=axes.showticklabels;if("tickfont"in axes){if(axes.tickfont.color)opts.tickColor[i]=str2RgbaArray(axes.tickfont.color);if(axes.tickfont.family)opts.tickFont[i]=axes.tickfont.family;if(axes.tickfont.size)opts.tickSize[i]=axes.tickfont.size}if("mirror"in axes){if(["ticks","all","allticks"].indexOf(axes.mirror)!==-1){opts.lineTickMirror[i]=true;opts.lineMirror[i]=true}else if(axes.mirror===true){opts.lineTickMirror[i]=false;opts.lineMirror[i]=true}else{opts.lineTickMirror[i]=false;opts.lineMirror[i]=false}}else opts.lineMirror[i]=false;if("showbackground"in axes&&axes.showbackground!==false){opts.backgroundEnable[i]=true;opts.backgroundColor[i]=str2RgbaArray(axes.backgroundcolor)}else opts.backgroundEnable[i]=false}};function createAxesOptions(fullLayout,sceneLayout){var result=new AxesOptions;result.merge(fullLayout,sceneLayout);return result}module.exports=createAxesOptions},{"../../../lib":803,"../../../lib/str2rgbarray":828}],901:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../../lib");var Color=_dereq_("../../../components/color");var Registry=_dereq_("../../../registry");var handleSubplotDefaults=_dereq_("../../subplot_defaults");var supplyGl3dAxisLayoutDefaults=_dereq_("./axis_defaults");var layoutAttributes=_dereq_("./layout_attributes");var getSubplotData=_dereq_("../../get_data").getSubplotData;var GL3D="gl3d";module.exports=function supplyLayoutDefaults(layoutIn,layoutOut,fullData){var hasNon3D=layoutOut._basePlotModules.length>1;function getDfltFromLayout(attr){if(hasNon3D)return;var isValid=Lib.validate(layoutIn[attr],layoutAttributes[attr]);if(isValid)return layoutIn[attr]}handleSubplotDefaults(layoutIn,layoutOut,fullData,{type:GL3D,attributes:layoutAttributes,handleDefaults:handleGl3dDefaults,fullLayout:layoutOut,font:layoutOut.font,fullData:fullData,getDfltFromLayout:getDfltFromLayout,autotypenumbersDflt:layoutOut.autotypenumbers,paper_bgcolor:layoutOut.paper_bgcolor,calendar:layoutOut.calendar})};function handleGl3dDefaults(sceneLayoutIn,sceneLayoutOut,coerce,opts){var bgcolor=coerce("bgcolor");var bgColorCombined=Color.combine(bgcolor,opts.paper_bgcolor);var cameraKeys=["up","center","eye"];for(var j=0;j<cameraKeys.length;j++){coerce("camera."+cameraKeys[j]+".x");coerce("camera."+cameraKeys[j]+".y");coerce("camera."+cameraKeys[j]+".z")}coerce("camera.projection.type");var hasAspect=!!coerce("aspectratio.x")&&!!coerce("aspectratio.y")&&!!coerce("aspectratio.z");var defaultAspectMode=hasAspect?"manual":"auto";var aspectMode=coerce("aspectmode",defaultAspectMode);if(!hasAspect){sceneLayoutIn.aspectratio=sceneLayoutOut.aspectratio={x:1,y:1,z:1};if(aspectMode==="manual")sceneLayoutOut.aspectmode="auto";sceneLayoutIn.aspectmode=sceneLayoutOut.aspectmode}var fullGl3dData=getSubplotData(opts.fullData,GL3D,opts.id);supplyGl3dAxisLayoutDefaults(sceneLayoutIn,sceneLayoutOut,{font:opts.font,scene:opts.id,data:fullGl3dData,bgColor:bgColorCombined,calendar:opts.calendar,autotypenumbersDflt:opts.autotypenumbersDflt,fullLayout:opts.fullLayout});Registry.getComponentMethod("annotations3d","handleDefaults")(sceneLayoutIn,sceneLayoutOut,opts);var dragmode=opts.getDfltFromLayout("dragmode");if(dragmode!==false){if(!dragmode){dragmode="orbit";if(sceneLayoutIn.camera&&sceneLayoutIn.camera.up){var x=sceneLayoutIn.camera.up.x;var y=sceneLayoutIn.camera.up.y;var z=sceneLayoutIn.camera.up.z;if(z!==0){if(!x||!y||!z){dragmode="turntable"}else if(z/Math.sqrt(x*x+y*y+z*z)>.999){dragmode="turntable"}}}else{dragmode="turntable"}}}coerce("dragmode",dragmode);coerce("hovermode",opts.getDfltFromLayout("hovermode"))}},{"../../../components/color":666,"../../../lib":803,"../../../registry":931,"../../get_data":891,"../../subplot_defaults":925,"./axis_defaults":899,"./layout_attributes":902}],902:[function(_dereq_,module,exports){"use strict";var gl3dAxisAttrs=_dereq_("./axis_attributes");var domainAttrs=_dereq_("../../domain").attributes;var extendFlat=_dereq_("../../../lib/extend").extendFlat;var counterRegex=_dereq_("../../../lib").counterRegex;function makeCameraVector(x,y,z){return{x:{valType:"number",dflt:x,editType:"camera"},y:{valType:"number",dflt:y,editType:"camera"},z:{valType:"number",dflt:z,editType:"camera"},editType:"camera"}}module.exports={_arrayAttrRegexps:[counterRegex("scene",".annotations",true)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:extendFlat(makeCameraVector(0,0,1),{}),center:extendFlat(makeCameraVector(0,0,0),{}),eye:extendFlat(makeCameraVector(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:domainAttrs({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":undefined,"aspectratio.y":undefined,"aspectratio.z":undefined}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:gl3dAxisAttrs,yaxis:gl3dAxisAttrs,zaxis:gl3dAxisAttrs,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",false],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",false],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":803,"../../../lib/extend":793,"../../domain":882,"./axis_attributes":898}],903:[function(_dereq_,module,exports){"use strict";var str2RGBArray=_dereq_("../../../lib/str2rgbarray");var AXES_NAMES=["xaxis","yaxis","zaxis"];function SpikeOptions(){this.enabled=[true,true,true];this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]];this.drawSides=[true,true,true];this.lineWidth=[1,1,1]}var proto=SpikeOptions.prototype;proto.merge=function(sceneLayout){for(var i=0;i<3;++i){var axes=sceneLayout[AXES_NAMES[i]];if(!axes.visible){this.enabled[i]=false;this.drawSides[i]=false;continue}this.enabled[i]=axes.showspikes;this.colors[i]=str2RGBArray(axes.spikecolor);this.drawSides[i]=axes.spikesides;this.lineWidth[i]=axes.spikethickness}};function createSpikeOptions(layout){var result=new SpikeOptions;result.merge(layout);return result}module.exports=createSpikeOptions},{"../../../lib/str2rgbarray":828}],904:[function(_dereq_,module,exports){"use strict";module.exports=computeTickMarks;var Axes=_dereq_("../../cartesian/axes");var Lib=_dereq_("../../../lib");var AXES_NAMES=["xaxis","yaxis","zaxis"];var centerPoint=[0,0,0];function contourLevelsFromTicks(ticks){var result=new Array(3);for(var i=0;i<3;++i){var tlevel=ticks[i];var clevel=new Array(tlevel.length);for(var j=0;j<tlevel.length;++j){clevel[j]=tlevel[j].x}result[i]=clevel}return result}function computeTickMarks(scene){var axesOptions=scene.axesOptions;var glRange=scene.glplot.axesPixels;var sceneLayout=scene.fullSceneLayout;var ticks=[[],[],[]];for(var i=0;i<3;++i){var axes=sceneLayout[AXES_NAMES[i]];axes._length=(glRange[i].hi-glRange[i].lo)*glRange[i].pixelsPerDataUnit/scene.dataScale[i];if(Math.abs(axes._length)===Infinity||isNaN(axes._length)){ticks[i]=[]}else{axes._input_range=axes.range.slice();axes.range[0]=glRange[i].lo/scene.dataScale[i];axes.range[1]=glRange[i].hi/scene.dataScale[i];axes._m=1/(scene.dataScale[i]*glRange[i].pixelsPerDataUnit);if(axes.range[0]===axes.range[1]){axes.range[0]-=1;axes.range[1]+=1}var tickModeCached=axes.tickmode;if(axes.tickmode==="auto"){axes.tickmode="linear";var nticks=axes.nticks||Lib.constrain(axes._length/40,4,9);Axes.autoTicks(axes,Math.abs(axes.range[1]-axes.range[0])/nticks)}var dataTicks=Axes.calcTicks(axes,{msUTC:true});for(var j=0;j<dataTicks.length;++j){dataTicks[j].x=dataTicks[j].x*scene.dataScale[i];if(axes.type==="date"){dataTicks[j].text=dataTicks[j].text.replace(/\<br\>/g," ")}}ticks[i]=dataTicks;axes.tickmode=tickModeCached}}axesOptions.ticks=ticks;for(var i=0;i<3;++i){centerPoint[i]=.5*(scene.glplot.bounds[0][i]+scene.glplot.bounds[1][i]);for(var j=0;j<2;++j){axesOptions.bounds[j][i]=scene.glplot.bounds[j][i]}}scene.contourLevels=contourLevelsFromTicks(ticks)}},{"../../../lib":803,"../../cartesian/axes":854}],905:[function(_dereq_,module,exports){"use strict";function xformMatrix(m,v){var out=[0,0,0,0];var i,j;for(i=0;i<4;++i){for(j=0;j<4;++j){out[j]+=m[4*i+j]*v[i]}}return out}function project(camera,v){var p=xformMatrix(camera.projection,xformMatrix(camera.view,xformMatrix(camera.model,[v[0],v[1],v[2],1])));return p}module.exports=project},{}],906:[function(_dereq_,module,exports){"use strict";var glPlot3d=_dereq_("gl-plot3d");var createCamera=glPlot3d.createCamera;var createPlot=glPlot3d.createScene;var getContext=_dereq_("webgl-context");var passiveSupported=_dereq_("has-passive-events");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var preserveDrawingBuffer=Lib.preserveDrawingBuffer();var Axes=_dereq_("../../plots/cartesian/axes");var Fx=_dereq_("../../components/fx");var str2RGBAarray=_dereq_("../../lib/str2rgbarray");var showNoWebGlMsg=_dereq_("../../lib/show_no_webgl_msg");var project=_dereq_("./project");var createAxesOptions=_dereq_("./layout/convert");var createSpikeOptions=_dereq_("./layout/spikes");var computeTickMarks=_dereq_("./layout/tick_marks");var STATIC_CANVAS,STATIC_CONTEXT;function Scene(options,fullLayout){var sceneContainer=document.createElement("div");var plotContainer=options.container;this.graphDiv=options.graphDiv;var svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");svgContainer.style.position="absolute";svgContainer.style.top=svgContainer.style.left="0px";svgContainer.style.width=svgContainer.style.height="100%";svgContainer.style["z-index"]=20;svgContainer.style["pointer-events"]="none";sceneContainer.appendChild(svgContainer);this.svgContainer=svgContainer;sceneContainer.id=options.id;sceneContainer.style.position="absolute";sceneContainer.style.top=sceneContainer.style.left="0px";sceneContainer.style.width=sceneContainer.style.height="100%";plotContainer.appendChild(sceneContainer);this.fullLayout=fullLayout;this.id=options.id||"scene";this.fullSceneLayout=fullLayout[this.id];this.plotArgs=[[],{},{}];this.axesOptions=createAxesOptions(fullLayout,fullLayout[this.id]);this.spikeOptions=createSpikeOptions(fullLayout[this.id]);this.container=sceneContainer;this.staticMode=!!options.staticPlot;this.pixelRatio=this.pixelRatio||options.plotGlPixelRatio||2;this.dataScale=[1,1,1];this.contourLevels=[[],[],[]];this.convertAnnotations=Registry.getComponentMethod("annotations3d","convert");this.drawAnnotations=Registry.getComponentMethod("annotations3d","draw");this.initializeGLPlot()}var proto=Scene.prototype;proto.prepareOptions=function(){var scene=this;var opts={canvas:scene.canvas,gl:scene.gl,glOptions:{preserveDrawingBuffer:preserveDrawingBuffer,premultipliedAlpha:true,antialias:true},container:scene.container,axes:scene.axesOptions,spikes:scene.spikeOptions,pickRadius:10,snapToData:true,autoScale:true,autoBounds:false,cameraObject:scene.camera,pixelRatio:scene.pixelRatio};if(scene.staticMode){if(!STATIC_CONTEXT){STATIC_CANVAS=document.createElement("canvas");STATIC_CONTEXT=getContext({canvas:STATIC_CANVAS,preserveDrawingBuffer:true,premultipliedAlpha:true,antialias:true});if(!STATIC_CONTEXT){throw new Error("error creating static canvas/context for image server")}}opts.gl=STATIC_CONTEXT;opts.canvas=STATIC_CANVAS}return opts};var firstInit=true;proto.tryCreatePlot=function(){var scene=this;var opts=scene.prepareOptions();var success=true;try{scene.glplot=createPlot(opts)}catch(e){if(scene.staticMode||!firstInit||preserveDrawingBuffer){success=false}else{Lib.warn(["webgl setup failed possibly due to","false preserveDrawingBuffer config.","The mobile/tablet device may not be detected by is-mobile module.","Enabling preserveDrawingBuffer in second attempt to create webgl scene..."].join(" "));try{preserveDrawingBuffer=opts.glOptions.preserveDrawingBuffer=true;scene.glplot=createPlot(opts)}catch(e){preserveDrawingBuffer=opts.glOptions.preserveDrawingBuffer=false;success=false}}}firstInit=false;return success};proto.initializeGLCamera=function(){var scene=this;var cameraData=scene.fullSceneLayout.camera;var isOrtho=cameraData.projection.type==="orthographic";scene.camera=createCamera(scene.container,{center:[cameraData.center.x,cameraData.center.y,cameraData.center.z],eye:[cameraData.eye.x,cameraData.eye.y,cameraData.eye.z],up:[cameraData.up.x,cameraData.up.y,cameraData.up.z],_ortho:isOrtho,zoomMin:.01,zoomMax:100,mode:"orbit"})};proto.initializeGLPlot=function(){var scene=this;scene.initializeGLCamera();var success=scene.tryCreatePlot();if(!success)return showNoWebGlMsg(scene);scene.traces={};scene.make4thDimension();var gd=scene.graphDiv;var layout=gd.layout;var makeUpdate=function(){var update={};if(scene.isCameraChanged(layout)){update[scene.id+".camera"]=scene.getCamera()}if(scene.isAspectChanged(layout)){update[scene.id+".aspectratio"]=scene.glplot.getAspectratio();if(layout[scene.id].aspectmode!=="manual"){scene.fullSceneLayout.aspectmode=layout[scene.id].aspectmode=update[scene.id+".aspectmode"]="manual"}}return update};var relayoutCallback=function(scene){if(scene.fullSceneLayout.dragmode===false)return;var update=makeUpdate();scene.saveLayout(layout);scene.graphDiv.emit("plotly_relayout",update)};if(scene.glplot.canvas){scene.glplot.canvas.addEventListener("mouseup",(function(){relayoutCallback(scene)}));scene.glplot.canvas.addEventListener("wheel",(function(e){if(gd._context._scrollZoom.gl3d){if(scene.camera._ortho){var s=e.deltaX>e.deltaY?1.1:1/1.1;var o=scene.glplot.getAspectratio();scene.glplot.setAspectratio({x:s*o.x,y:s*o.y,z:s*o.z})}relayoutCallback(scene)}}),passiveSupported?{passive:false}:false);scene.glplot.canvas.addEventListener("mousemove",(function(){if(scene.fullSceneLayout.dragmode===false)return;if(scene.camera.mouseListener.buttons===0)return;var update=makeUpdate();scene.graphDiv.emit("plotly_relayouting",update)}));if(!scene.staticMode){scene.glplot.canvas.addEventListener("webglcontextlost",(function(event){if(gd&&gd.emit){gd.emit("plotly_webglcontextlost",{event:event,layer:scene.id})}}),false)}}scene.glplot.oncontextloss=function(){scene.recoverContext()};scene.glplot.onrender=function(){scene.render()};return true};proto.render=function(){var scene=this;var gd=scene.graphDiv;var trace;var svgContainer=scene.svgContainer;var clientRect=scene.container.getBoundingClientRect();gd._fullLayout._calcInverseTransform(gd);var scaleX=gd._fullLayout._invScaleX;var scaleY=gd._fullLayout._invScaleY;var width=clientRect.width*scaleX;var height=clientRect.height*scaleY;svgContainer.setAttributeNS(null,"viewBox","0 0 "+width+" "+height);svgContainer.setAttributeNS(null,"width",width);svgContainer.setAttributeNS(null,"height",height);computeTickMarks(scene);scene.glplot.axes.update(scene.axesOptions);var keys=Object.keys(scene.traces);var lastPicked=null;var selection=scene.glplot.selection;for(var i=0;i<keys.length;++i){trace=scene.traces[keys[i]];if(trace.data.hoverinfo!=="skip"&&trace.handlePick(selection)){lastPicked=trace}if(trace.setContourLevels)trace.setContourLevels()}function formatter(axLetter,val,hoverformat){var ax=scene.fullSceneLayout[axLetter+"axis"];if(ax.type!=="log"){val=ax.d2l(val)}return Axes.hoverLabelText(ax,val,hoverformat)}var oldEventData;if(lastPicked!==null){var pdata=project(scene.glplot.cameraParams,selection.dataCoordinate);trace=lastPicked.data;var traceNow=gd._fullData[trace.index];var ptNumber=selection.index;var labels={xLabel:formatter("x",selection.traceCoordinate[0],trace.xhoverformat),yLabel:formatter("y",selection.traceCoordinate[1],trace.yhoverformat),zLabel:formatter("z",selection.traceCoordinate[2],trace.zhoverformat)};var hoverinfo=Fx.castHoverinfo(traceNow,scene.fullLayout,ptNumber);var hoverinfoParts=(hoverinfo||"").split("+");var isHoverinfoAll=hoverinfo&&hoverinfo==="all";if(!traceNow.hovertemplate&&!isHoverinfoAll){if(hoverinfoParts.indexOf("x")===-1)labels.xLabel=undefined;if(hoverinfoParts.indexOf("y")===-1)labels.yLabel=undefined;if(hoverinfoParts.indexOf("z")===-1)labels.zLabel=undefined;if(hoverinfoParts.indexOf("text")===-1)selection.textLabel=undefined;if(hoverinfoParts.indexOf("name")===-1)lastPicked.name=undefined}var tx;var vectorTx=[];if(trace.type==="cone"||trace.type==="streamtube"){labels.uLabel=formatter("x",selection.traceCoordinate[3],trace.uhoverformat);if(isHoverinfoAll||hoverinfoParts.indexOf("u")!==-1){vectorTx.push("u: "+labels.uLabel)}labels.vLabel=formatter("y",selection.traceCoordinate[4],trace.vhoverformat);if(isHoverinfoAll||hoverinfoParts.indexOf("v")!==-1){vectorTx.push("v: "+labels.vLabel)}labels.wLabel=formatter("z",selection.traceCoordinate[5],trace.whoverformat);if(isHoverinfoAll||hoverinfoParts.indexOf("w")!==-1){vectorTx.push("w: "+labels.wLabel)}labels.normLabel=selection.traceCoordinate[6].toPrecision(3);if(isHoverinfoAll||hoverinfoParts.indexOf("norm")!==-1){vectorTx.push("norm: "+labels.normLabel)}if(trace.type==="streamtube"){labels.divergenceLabel=selection.traceCoordinate[7].toPrecision(3);if(isHoverinfoAll||hoverinfoParts.indexOf("divergence")!==-1){vectorTx.push("divergence: "+labels.divergenceLabel)}}if(selection.textLabel){vectorTx.push(selection.textLabel)}tx=vectorTx.join("<br>")}else if(trace.type==="isosurface"||trace.type==="volume"){labels.valueLabel=Axes.hoverLabelText(scene._mockAxis,scene._mockAxis.d2l(selection.traceCoordinate[3]),trace.valuehoverformat);vectorTx.push("value: "+labels.valueLabel);if(selection.textLabel){vectorTx.push(selection.textLabel)}tx=vectorTx.join("<br>")}else{tx=selection.textLabel}var pointData={x:selection.traceCoordinate[0],y:selection.traceCoordinate[1],z:selection.traceCoordinate[2],data:traceNow._input,fullData:traceNow,curveNumber:traceNow.index,pointNumber:ptNumber};Fx.appendArrayPointValue(pointData,traceNow,ptNumber);if(trace._module.eventData){pointData=traceNow._module.eventData(pointData,selection,traceNow,{},ptNumber)}var eventData={points:[pointData]};if(scene.fullSceneLayout.hovermode){var bbox=[];Fx.loneHover({trace:traceNow,x:(.5+.5*pdata[0]/pdata[3])*width,y:(.5-.5*pdata[1]/pdata[3])*height,xLabel:labels.xLabel,yLabel:labels.yLabel,zLabel:labels.zLabel,text:tx,name:lastPicked.name,color:Fx.castHoverOption(traceNow,ptNumber,"bgcolor")||lastPicked.color,borderColor:Fx.castHoverOption(traceNow,ptNumber,"bordercolor"),fontFamily:Fx.castHoverOption(traceNow,ptNumber,"font.family"),fontSize:Fx.castHoverOption(traceNow,ptNumber,"font.size"),fontColor:Fx.castHoverOption(traceNow,ptNumber,"font.color"),nameLength:Fx.castHoverOption(traceNow,ptNumber,"namelength"),textAlign:Fx.castHoverOption(traceNow,ptNumber,"align"),hovertemplate:Lib.castOption(traceNow,ptNumber,"hovertemplate"),hovertemplateLabels:Lib.extendFlat({},pointData,labels),eventData:[pointData]},{container:svgContainer,gd:gd,inOut_bbox:bbox});pointData.bbox=bbox[0]}if(selection.buttons&&selection.distance<5){gd.emit("plotly_click",eventData)}else{gd.emit("plotly_hover",eventData)}oldEventData=eventData}else{Fx.loneUnhover(svgContainer);gd.emit("plotly_unhover",oldEventData)}scene.drawAnnotations(scene)};proto.recoverContext=function(){var scene=this;scene.glplot.dispose();var tryRecover=function(){if(scene.glplot.gl.isContextLost()){requestAnimationFrame(tryRecover);return}if(!scene.initializeGLPlot()){Lib.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}scene.plot.apply(scene,scene.plotArgs)};requestAnimationFrame(tryRecover)};var axisProperties=["xaxis","yaxis","zaxis"];function computeTraceBounds(scene,trace,bounds){var fullSceneLayout=scene.fullSceneLayout;for(var d=0;d<3;d++){var axisName=axisProperties[d];var axLetter=axisName.charAt(0);var ax=fullSceneLayout[axisName];var coords=trace[axLetter];var calendar=trace[axLetter+"calendar"];var len=trace["_"+axLetter+"length"];if(!Lib.isArrayOrTypedArray(coords)){bounds[0][d]=Math.min(bounds[0][d],0);bounds[1][d]=Math.max(bounds[1][d],len-1)}else{var v;for(var i=0;i<(len||coords.length);i++){if(Lib.isArrayOrTypedArray(coords[i])){for(var j=0;j<coords[i].length;++j){v=ax.d2l(coords[i][j],0,calendar);if(!isNaN(v)&&isFinite(v)){bounds[0][d]=Math.min(bounds[0][d],v);bounds[1][d]=Math.max(bounds[1][d],v)}}}else{v=ax.d2l(coords[i],0,calendar);if(!isNaN(v)&&isFinite(v)){bounds[0][d]=Math.min(bounds[0][d],v);bounds[1][d]=Math.max(bounds[1][d],v)}}}}}}function computeAnnotationBounds(scene,bounds){var fullSceneLayout=scene.fullSceneLayout;var annotations=fullSceneLayout.annotations||[];for(var d=0;d<3;d++){var axisName=axisProperties[d];var axLetter=axisName.charAt(0);var ax=fullSceneLayout[axisName];for(var j=0;j<annotations.length;j++){var ann=annotations[j];if(ann.visible){var pos=ax.r2l(ann[axLetter]);if(!isNaN(pos)&&isFinite(pos)){bounds[0][d]=Math.min(bounds[0][d],pos);bounds[1][d]=Math.max(bounds[1][d],pos)}}}}}proto.plot=function(sceneData,fullLayout,layout){var scene=this;scene.plotArgs=[sceneData,fullLayout,layout];if(scene.glplot.contextLost)return;var data,trace;var i,j,axis,axisType;var fullSceneLayout=fullLayout[scene.id];var sceneLayout=layout[scene.id];scene.fullLayout=fullLayout;scene.fullSceneLayout=fullSceneLayout;scene.axesOptions.merge(fullLayout,fullSceneLayout);scene.spikeOptions.merge(fullSceneLayout);scene.setViewport(fullSceneLayout);scene.updateFx(fullSceneLayout.dragmode,fullSceneLayout.hovermode);scene.camera.enableWheel=scene.graphDiv._context._scrollZoom.gl3d;scene.glplot.setClearColor(str2RGBAarray(fullSceneLayout.bgcolor));scene.setConvert(axis);if(!sceneData)sceneData=[];else if(!Array.isArray(sceneData))sceneData=[sceneData];var dataBounds=[[Infinity,Infinity,Infinity],[-Infinity,-Infinity,-Infinity]];for(i=0;i<sceneData.length;++i){data=sceneData[i];if(data.visible!==true||data._length===0)continue;computeTraceBounds(this,data,dataBounds)}computeAnnotationBounds(this,dataBounds);var dataScale=[1,1,1];for(j=0;j<3;++j){if(dataBounds[1][j]===dataBounds[0][j]){dataScale[j]=1}else{dataScale[j]=1/(dataBounds[1][j]-dataBounds[0][j])}}scene.dataScale=dataScale;scene.convertAnnotations(this);for(i=0;i<sceneData.length;++i){data=sceneData[i];if(data.visible!==true||data._length===0){continue}trace=scene.traces[data.uid];if(trace){if(trace.data.type===data.type){trace.update(data)}else{trace.dispose();trace=data._module.plot(this,data);scene.traces[data.uid]=trace}}else{trace=data._module.plot(this,data);scene.traces[data.uid]=trace}trace.name=data.name}var traceIds=Object.keys(scene.traces);traceIdLoop:for(i=0;i<traceIds.length;++i){for(j=0;j<sceneData.length;++j){if(sceneData[j].uid===traceIds[i]&&(sceneData[j].visible===true&&sceneData[j]._length!==0)){continue traceIdLoop}}trace=scene.traces[traceIds[i]];trace.dispose();delete scene.traces[traceIds[i]]}scene.glplot.objects.sort((function(a,b){return a._trace.data.index-b._trace.data.index}));var sceneBounds=[[0,0,0],[0,0,0]];var axisDataRange=[];var axisTypeRatios={};for(i=0;i<3;++i){axis=fullSceneLayout[axisProperties[i]];axisType=axis.type;if(axisType in axisTypeRatios){axisTypeRatios[axisType].acc*=dataScale[i];axisTypeRatios[axisType].count+=1}else{axisTypeRatios[axisType]={acc:dataScale[i],count:1}}if(axis.autorange){sceneBounds[0][i]=Infinity;sceneBounds[1][i]=-Infinity;var objects=scene.glplot.objects;var annotations=scene.fullSceneLayout.annotations||[];var axLetter=axis._name.charAt(0);for(j=0;j<objects.length;j++){var obj=objects[j];var objBounds=obj.bounds;var pad=obj._trace.data._pad||0;if(obj.constructor.name==="ErrorBars"&&axis._lowerLogErrorBound){sceneBounds[0][i]=Math.min(sceneBounds[0][i],axis._lowerLogErrorBound)}else{sceneBounds[0][i]=Math.min(sceneBounds[0][i],objBounds[0][i]/dataScale[i]-pad)}sceneBounds[1][i]=Math.max(sceneBounds[1][i],objBounds[1][i]/dataScale[i]+pad)}for(j=0;j<annotations.length;j++){var ann=annotations[j];if(ann.visible){var pos=axis.r2l(ann[axLetter]);sceneBounds[0][i]=Math.min(sceneBounds[0][i],pos);sceneBounds[1][i]=Math.max(sceneBounds[1][i],pos)}}if("rangemode"in axis&&axis.rangemode==="tozero"){sceneBounds[0][i]=Math.min(sceneBounds[0][i],0);sceneBounds[1][i]=Math.max(sceneBounds[1][i],0)}if(sceneBounds[0][i]>sceneBounds[1][i]){sceneBounds[0][i]=-1;sceneBounds[1][i]=1}else{var d=sceneBounds[1][i]-sceneBounds[0][i];sceneBounds[0][i]-=d/32;sceneBounds[1][i]+=d/32}if(axis.autorange==="reversed"){var tmp=sceneBounds[0][i];sceneBounds[0][i]=sceneBounds[1][i];sceneBounds[1][i]=tmp}}else{var range=axis.range;sceneBounds[0][i]=axis.r2l(range[0]);sceneBounds[1][i]=axis.r2l(range[1])}if(sceneBounds[0][i]===sceneBounds[1][i]){sceneBounds[0][i]-=1;sceneBounds[1][i]+=1}axisDataRange[i]=sceneBounds[1][i]-sceneBounds[0][i];scene.glplot.setBounds(i,{min:sceneBounds[0][i]*dataScale[i],max:sceneBounds[1][i]*dataScale[i]})}var aspectRatio;var aspectmode=fullSceneLayout.aspectmode;if(aspectmode==="cube"){aspectRatio=[1,1,1]}else if(aspectmode==="manual"){var userRatio=fullSceneLayout.aspectratio;aspectRatio=[userRatio.x,userRatio.y,userRatio.z]}else if(aspectmode==="auto"||aspectmode==="data"){var axesScaleRatio=[1,1,1];for(i=0;i<3;++i){axis=fullSceneLayout[axisProperties[i]];axisType=axis.type;var axisRatio=axisTypeRatios[axisType];axesScaleRatio[i]=Math.pow(axisRatio.acc,1/axisRatio.count)/dataScale[i]}if(aspectmode==="data"){aspectRatio=axesScaleRatio}else{if(Math.max.apply(null,axesScaleRatio)/Math.min.apply(null,axesScaleRatio)<=4){aspectRatio=axesScaleRatio}else{aspectRatio=[1,1,1]}}}else{throw new Error("scene.js aspectRatio was not one of the enumerated types")}fullSceneLayout.aspectratio.x=sceneLayout.aspectratio.x=aspectRatio[0];fullSceneLayout.aspectratio.y=sceneLayout.aspectratio.y=aspectRatio[1];fullSceneLayout.aspectratio.z=sceneLayout.aspectratio.z=aspectRatio[2];scene.glplot.setAspectratio(fullSceneLayout.aspectratio);if(!scene.viewInitial.aspectratio){scene.viewInitial.aspectratio={x:fullSceneLayout.aspectratio.x,y:fullSceneLayout.aspectratio.y,z:fullSceneLayout.aspectratio.z}}if(!scene.viewInitial.aspectmode){scene.viewInitial.aspectmode=fullSceneLayout.aspectmode}var domain=fullSceneLayout.domain||null;var size=fullLayout._size||null;if(domain&&size){var containerStyle=scene.container.style;containerStyle.position="absolute";containerStyle.left=size.l+domain.x[0]*size.w+"px";containerStyle.top=size.t+(1-domain.y[1])*size.h+"px";containerStyle.width=size.w*(domain.x[1]-domain.x[0])+"px";containerStyle.height=size.h*(domain.y[1]-domain.y[0])+"px"}scene.glplot.redraw()};proto.destroy=function(){var scene=this;if(!scene.glplot)return;scene.camera.mouseListener.enabled=false;scene.container.removeEventListener("wheel",scene.camera.wheelListener);scene.camera=null;scene.glplot.dispose();scene.container.parentNode.removeChild(scene.container);scene.glplot=null};function getCameraArrays(camera){return[[camera.eye.x,camera.eye.y,camera.eye.z],[camera.center.x,camera.center.y,camera.center.z],[camera.up.x,camera.up.y,camera.up.z]]}function getLayoutCamera(camera){return{up:{x:camera.up[0],y:camera.up[1],z:camera.up[2]},center:{x:camera.center[0],y:camera.center[1],z:camera.center[2]},eye:{x:camera.eye[0],y:camera.eye[1],z:camera.eye[2]},projection:{type:camera._ortho===true?"orthographic":"perspective"}}}proto.getCamera=function(){var scene=this;scene.camera.view.recalcMatrix(scene.camera.view.lastT());return getLayoutCamera(scene.camera)};proto.setViewport=function(sceneLayout){var scene=this;var cameraData=sceneLayout.camera;scene.camera.lookAt.apply(this,getCameraArrays(cameraData));scene.glplot.setAspectratio(sceneLayout.aspectratio);var newOrtho=cameraData.projection.type==="orthographic";var oldOrtho=scene.camera._ortho;if(newOrtho!==oldOrtho){scene.glplot.redraw();scene.glplot.clearRGBA();scene.glplot.dispose();scene.initializeGLPlot()}};proto.isCameraChanged=function(layout){var scene=this;var cameraData=scene.getCamera();var cameraNestedProp=Lib.nestedProperty(layout,scene.id+".camera");var cameraDataLastSave=cameraNestedProp.get();function same(x,y,i,j){var vectors=["up","center","eye"];var components=["x","y","z"];return y[vectors[i]]&&x[vectors[i]][components[j]]===y[vectors[i]][components[j]]}var changed=false;if(cameraDataLastSave===undefined){changed=true}else{for(var i=0;i<3;i++){for(var j=0;j<3;j++){if(!same(cameraData,cameraDataLastSave,i,j)){changed=true;break}}}if(!cameraDataLastSave.projection||cameraData.projection&&cameraData.projection.type!==cameraDataLastSave.projection.type){changed=true}}return changed};proto.isAspectChanged=function(layout){var scene=this;var aspectData=scene.glplot.getAspectratio();var aspectNestedProp=Lib.nestedProperty(layout,scene.id+".aspectratio");var aspectDataLastSave=aspectNestedProp.get();return aspectDataLastSave===undefined||(aspectDataLastSave.x!==aspectData.x||aspectDataLastSave.y!==aspectData.y||aspectDataLastSave.z!==aspectData.z)};proto.saveLayout=function(layout){var scene=this;var fullLayout=scene.fullLayout;var cameraData;var cameraNestedProp;var cameraDataLastSave;var aspectData;var aspectNestedProp;var aspectDataLastSave;var cameraChanged=scene.isCameraChanged(layout);var aspectChanged=scene.isAspectChanged(layout);var hasChanged=cameraChanged||aspectChanged;if(hasChanged){var preGUI={};if(cameraChanged){cameraData=scene.getCamera();cameraNestedProp=Lib.nestedProperty(layout,scene.id+".camera");cameraDataLastSave=cameraNestedProp.get();preGUI[scene.id+".camera"]=cameraDataLastSave}if(aspectChanged){aspectData=scene.glplot.getAspectratio();aspectNestedProp=Lib.nestedProperty(layout,scene.id+".aspectratio");aspectDataLastSave=aspectNestedProp.get();preGUI[scene.id+".aspectratio"]=aspectDataLastSave}Registry.call("_storeDirectGUIEdit",layout,fullLayout._preGUI,preGUI);if(cameraChanged){cameraNestedProp.set(cameraData);var cameraFullNP=Lib.nestedProperty(fullLayout,scene.id+".camera");cameraFullNP.set(cameraData)}if(aspectChanged){aspectNestedProp.set(aspectData);var aspectFullNP=Lib.nestedProperty(fullLayout,scene.id+".aspectratio");aspectFullNP.set(aspectData);scene.glplot.redraw()}}return hasChanged};proto.updateFx=function(dragmode,hovermode){var scene=this;var camera=scene.camera;if(camera){if(dragmode==="orbit"){camera.mode="orbit";camera.keyBindingMode="rotate"}else if(dragmode==="turntable"){camera.up=[0,0,1];camera.mode="turntable";camera.keyBindingMode="rotate";var gd=scene.graphDiv;var fullLayout=gd._fullLayout;var fullCamera=scene.fullSceneLayout.camera;var x=fullCamera.up.x;var y=fullCamera.up.y;var z=fullCamera.up.z;if(z/Math.sqrt(x*x+y*y+z*z)<.999){var attr=scene.id+".camera.up";var zUp={x:0,y:0,z:1};var edits={};edits[attr]=zUp;var layout=gd.layout;Registry.call("_storeDirectGUIEdit",layout,fullLayout._preGUI,edits);fullCamera.up=zUp;Lib.nestedProperty(layout,attr).set(zUp)}}else{camera.keyBindingMode=dragmode}}scene.fullSceneLayout.hovermode=hovermode};function flipPixels(pixels,w,h){for(var i=0,q=h-1;i<q;++i,--q){for(var j=0;j<w;++j){for(var k=0;k<4;++k){var a=4*(w*i+j)+k;var b=4*(w*q+j)+k;var tmp=pixels[a];pixels[a]=pixels[b];pixels[b]=tmp}}}}function correctRGB(pixels,w,h){for(var i=0;i<h;++i){for(var j=0;j<w;++j){var k=4*(w*i+j);var a=pixels[k+3];if(a>0){var q=255/a;for(var l=0;l<3;++l){pixels[k+l]=Math.min(q*pixels[k+l],255)}}}}}proto.toImage=function(format){var scene=this;if(!format)format="png";if(scene.staticMode)scene.container.appendChild(STATIC_CANVAS);scene.glplot.redraw();var gl=scene.glplot.gl;var w=gl.drawingBufferWidth;var h=gl.drawingBufferHeight;gl.bindFramebuffer(gl.FRAMEBUFFER,null);var pixels=new Uint8Array(w*h*4);gl.readPixels(0,0,w,h,gl.RGBA,gl.UNSIGNED_BYTE,pixels);flipPixels(pixels,w,h);correctRGB(pixels,w,h);var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var context=canvas.getContext("2d");var imageData=context.createImageData(w,h);imageData.data.set(pixels);context.putImageData(imageData,0,0);var dataURL;switch(format){case"jpeg":dataURL=canvas.toDataURL("image/jpeg");break;case"webp":dataURL=canvas.toDataURL("image/webp");break;default:dataURL=canvas.toDataURL("image/png")}if(scene.staticMode)scene.container.removeChild(STATIC_CANVAS);return dataURL};proto.setConvert=function(){var scene=this;for(var i=0;i<3;i++){var ax=scene.fullSceneLayout[axisProperties[i]];Axes.setConvert(ax,scene.fullLayout);ax.setScale=Lib.noop}};proto.make4thDimension=function(){var scene=this;var gd=scene.graphDiv;var fullLayout=gd._fullLayout;scene._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"};Axes.setConvert(scene._mockAxis,fullLayout)};module.exports=Scene},{"../../components/fx":706,"../../lib":803,"../../lib/show_no_webgl_msg":825,"../../lib/str2rgbarray":828,"../../plots/cartesian/axes":854,"../../registry":931,"./layout/convert":900,"./layout/spikes":903,"./layout/tick_marks":904,"./project":905,"gl-plot3d":326,"has-passive-events":444,"webgl-context":629}],907:[function(_dereq_,module,exports){"use strict";module.exports=function zip3(x,y,z,len){len=len||x.length;var result=new Array(len);for(var i=0;i<len;i++){result[i]=[x[i],y[i],z[i]]}return result}},{}],908:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("./font_attributes");var animationAttrs=_dereq_("./animation_attributes");var colorAttrs=_dereq_("../components/color/attributes");var drawNewShapeAttrs=_dereq_("../components/shapes/draw_newshape/attributes");var padAttrs=_dereq_("./pad_attributes");var extendFlat=_dereq_("../lib/extend").extendFlat;var globalFont=fontAttrs({editType:"calc"});globalFont.family.dflt='"Open Sans", verdana, arial, sans-serif';globalFont.size.dflt=12;globalFont.color.dflt=colorAttrs.defaultLine;module.exports={font:globalFont,title:{text:{valType:"string",editType:"layoutstyle"},font:fontAttrs({editType:"layoutstyle"}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:extendFlat(padAttrs({editType:"layoutstyle"}),{}),editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[false,"hide","show"],dflt:false,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:false,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:true,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:colorAttrs.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:colorAttrs.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:false,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:colorAttrs.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:drawNewShapeAttrs.newshape,activeshape:drawNewShapeAttrs.activeshape,meta:{valType:"any",arrayOk:true,editType:"plot"},transition:extendFlat({},animationAttrs.transition,{editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle"},titlefont:fontAttrs({editType:"layoutstyle"})}}},{"../components/color/attributes":665,"../components/shapes/draw_newshape/attributes":751,"../lib/extend":793,"./animation_attributes":848,"./font_attributes":883,"./pad_attributes":916}],909:[function(_dereq_,module,exports){"use strict";var sortObjectKeys=_dereq_("../../lib/sort_object_keys");var requiredVersion="1.10.1";var OSM='© <a target="_blank" href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors';var carto=['© <a target="_blank" href="https://carto.com/">Carto</a>',OSM].join(" ");var stamenTerrainOrToner=['Map tiles by <a target="_blank" href="https://stamen.com">Stamen Design</a>','under <a target="_blank" href="https://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>',"|",'Data by <a target="_blank" href="https://openstreetmap.org">OpenStreetMap</a> contributors','under <a target="_blank" href="https://www.openstreetmap.org/copyright">ODbL</a>'].join(" ");var stamenWaterColor=['Map tiles by <a target="_blank" href="https://stamen.com">Stamen Design</a>','under <a target="_blank" href="https://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>',"|",'Data by <a target="_blank" href="https://openstreetmap.org">OpenStreetMap</a> contributors','under <a target="_blank" href="https://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>'].join(" ");var stylesNonMapbox={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:OSM,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:carto,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:carto,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:stamenTerrainOrToner,tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:stamenTerrainOrToner,tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:stamenWaterColor,tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}};var styleValuesNonMapbox=sortObjectKeys(stylesNonMapbox);module.exports={requiredVersion:requiredVersion,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:stylesNonMapbox,styleValuesNonMapbox:styleValuesNonMapbox,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@"+requiredVersion+"."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:","  Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",styleValuesNonMapbox.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multiple"+"access tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},{"../../lib/sort_object_keys":826}],910:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function convertTextOpts(textposition,iconSize){var parts=textposition.split(" ");var vPos=parts[0];var hPos=parts[1];var factor=Lib.isArrayOrTypedArray(iconSize)?Lib.mean(iconSize):iconSize;var xInc=.5+factor/100;var yInc=1.5+factor/100;var anchorVals=["",""];var offset=[0,0];switch(vPos){case"top":anchorVals[0]="top";offset[1]=-yInc;break;case"bottom":anchorVals[0]="bottom";offset[1]=yInc;break}switch(hPos){case"left":anchorVals[1]="right";offset[0]=-xInc;break;case"right":anchorVals[1]="left";offset[0]=xInc;break}var anchor;if(anchorVals[0]&&anchorVals[1])anchor=anchorVals.join("-");else if(anchorVals[0])anchor=anchorVals[0];else if(anchorVals[1])anchor=anchorVals[1];else anchor="center";return{anchor:anchor,offset:offset}}},{"../../lib":803}],911:[function(_dereq_,module,exports){"use strict";var mapboxgl=_dereq_("mapbox-gl/dist/mapbox-gl-unminified");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var strScale=Lib.strScale;var getSubplotCalcData=_dereq_("../../plots/get_data").getSubplotCalcData;var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Mapbox=_dereq_("./mapbox");var MAPBOX="mapbox";var constants=exports.constants=_dereq_("./constants");exports.name=MAPBOX;exports.attr="subplot";exports.idRoot=MAPBOX;exports.idRegex=exports.attrRegex=Lib.counterRegex(MAPBOX);exports.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}};exports.layoutAttributes=_dereq_("./layout_attributes");exports.supplyLayoutDefaults=_dereq_("./layout_defaults");exports.plot=function plot(gd){var fullLayout=gd._fullLayout;var calcData=gd.calcdata;var mapboxIds=fullLayout._subplots[MAPBOX];if(mapboxgl.version!==constants.requiredVersion){throw new Error(constants.wrongVersionErrorMsg)}var accessToken=findAccessToken(gd,mapboxIds);mapboxgl.accessToken=accessToken;for(var i=0;i<mapboxIds.length;i++){var id=mapboxIds[i];var subplotCalcData=getSubplotCalcData(calcData,MAPBOX,id);var opts=fullLayout[id];var mapbox=opts._subplot;if(!mapbox){mapbox=new Mapbox(gd,id);fullLayout[id]._subplot=mapbox}if(!mapbox.viewInitial){mapbox.viewInitial={center:Lib.extendFlat({},opts.center),zoom:opts.zoom,bearing:opts.bearing,pitch:opts.pitch}}mapbox.plot(subplotCalcData,fullLayout,gd._promises)}};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var oldMapboxKeys=oldFullLayout._subplots[MAPBOX]||[];for(var i=0;i<oldMapboxKeys.length;i++){var oldMapboxKey=oldMapboxKeys[i];if(!newFullLayout[oldMapboxKey]&&!!oldFullLayout[oldMapboxKey]._subplot){oldFullLayout[oldMapboxKey]._subplot.destroy()}}};exports.toSVG=function(gd){var fullLayout=gd._fullLayout;var subplotIds=fullLayout._subplots[MAPBOX];var size=fullLayout._size;for(var i=0;i<subplotIds.length;i++){var opts=fullLayout[subplotIds[i]];var domain=opts.domain;var mapbox=opts._subplot;var imageData=mapbox.toImage("png");var image=fullLayout._glimages.append("svg:image");image.attr({xmlns:xmlnsNamespaces.svg,"xlink:href":imageData,x:size.l+size.w*domain.x[0],y:size.t+size.h*(1-domain.y[1]),width:size.w*(domain.x[1]-domain.x[0]),height:size.h*(domain.y[1]-domain.y[0]),preserveAspectRatio:"none"});var subplotDiv=d3.select(opts._subplot.div);var hidden=subplotDiv.select(".mapboxgl-ctrl-logo").node().offsetParent===null;if(!hidden){var logo=fullLayout._glimages.append("g");logo.attr("transform",strTranslate(size.l+size.w*domain.x[0]+10,size.t+size.h*(1-domain.y[0])-31));logo.append("path").attr("d",constants.mapboxLogo.path0).style({opacity:.9,fill:"#ffffff","enable-background":"new"});logo.append("path").attr("d",constants.mapboxLogo.path1).style("opacity",.35).style("enable-background","new");logo.append("path").attr("d",constants.mapboxLogo.path2).style("opacity",.35).style("enable-background","new");logo.append("polygon").attr("points",constants.mapboxLogo.polygon).style({opacity:.9,fill:"#ffffff","enable-background":"new"})}var attributions=subplotDiv.select(".mapboxgl-ctrl-attrib").text().replace("Improve this map","");var attributionGroup=fullLayout._glimages.append("g");var attributionText=attributionGroup.append("text");attributionText.text(attributions).classed("static-attribution",true).attr({"font-size":12,"font-family":"Arial",color:"rgba(0, 0, 0, 0.75)","text-anchor":"end","data-unformatted":attributions});var bBox=Drawing.bBox(attributionText.node());var maxWidth=size.w*(domain.x[1]-domain.x[0]);if(bBox.width>maxWidth/2){var multilineAttributions=attributions.split("|").join("<br>");attributionText.text(multilineAttributions).attr("data-unformatted",multilineAttributions).call(svgTextUtils.convertToTspans,gd);bBox=Drawing.bBox(attributionText.node())}attributionText.attr("transform",strTranslate(-3,-bBox.height+8));attributionGroup.insert("rect",".static-attribution").attr({x:-bBox.width-6,y:-bBox.height-3,width:bBox.width+6,height:bBox.height+3,fill:"rgba(255, 255, 255, 0.75)"});var scaleRatio=1;if(bBox.width+6>maxWidth)scaleRatio=maxWidth/(bBox.width+6);var offset=[size.l+size.w*domain.x[1],size.t+size.h*(1-domain.y[0])];attributionGroup.attr("transform",strTranslate(offset[0],offset[1])+strScale(scaleRatio))}};function findAccessToken(gd,mapboxIds){var fullLayout=gd._fullLayout;var context=gd._context;if(context.mapboxAccessToken==="")return"";var tokensUseful=[];var tokensListed=[];var hasOneSetMapboxStyle=false;var wontWork=false;for(var i=0;i<mapboxIds.length;i++){var opts=fullLayout[mapboxIds[i]];var token=opts.accesstoken;if(isMapboxStyle(opts.style)){if(token){Lib.pushUnique(tokensUseful,token)}else{if(isMapboxStyle(opts._input.style)){Lib.error("Uses Mapbox map style, but did not set an access token.");hasOneSetMapboxStyle=true}wontWork=true}}if(token){Lib.pushUnique(tokensListed,token)}}if(wontWork){var msg=hasOneSetMapboxStyle?constants.noAccessTokenErrorMsg:constants.missingStyleErrorMsg;Lib.error(msg);throw new Error(msg)}if(tokensUseful.length){if(tokensUseful.length>1){Lib.warn(constants.multipleTokensErrorMsg)}return tokensUseful[0]}else{if(tokensListed.length){Lib.log(["Listed mapbox access token(s)",tokensListed.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" "))}return""}}function isMapboxStyle(s){return typeof s==="string"&&(constants.styleValuesMapbox.indexOf(s)!==-1||s.indexOf("mapbox://")===0)}exports.updateFx=function(gd){var fullLayout=gd._fullLayout;var subplotIds=fullLayout._subplots[MAPBOX];for(var i=0;i<subplotIds.length;i++){var subplotObj=fullLayout[subplotIds[i]]._subplot;subplotObj.updateFx(fullLayout)}}},{"../../components/drawing":688,"../../constants/xmlns_namespaces":780,"../../lib":803,"../../lib/svg_text_utils":829,"../../plots/get_data":891,"./constants":909,"./layout_attributes":913,"./layout_defaults":914,"./mapbox":915,"@plotly/d3":58,"mapbox-gl/dist/mapbox-gl-unminified":461}],912:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var sanitizeHTML=_dereq_("../../lib/svg_text_utils").sanitizeHTML;var convertTextOpts=_dereq_("./convert_text_opts");var constants=_dereq_("./constants");function MapboxLayer(subplot,index){this.subplot=subplot;this.uid=subplot.uid+"-"+index;this.index=index;this.idSource="source-"+this.uid;this.idLayer=constants.layoutLayerPrefix+this.uid;this.sourceType=null;this.source=null;this.layerType=null;this.below=null;this.visible=false}var proto=MapboxLayer.prototype;proto.update=function update(opts){if(!this.visible){this.updateSource(opts);this.updateLayer(opts)}else if(this.needsNewImage(opts)){this.updateImage(opts)}else if(this.needsNewSource(opts)){this.removeLayer();this.updateSource(opts);this.updateLayer(opts)}else if(this.needsNewLayer(opts)){this.updateLayer(opts)}else{this.updateStyle(opts)}this.visible=isVisible(opts)};proto.needsNewImage=function(opts){var map=this.subplot.map;return map.getSource(this.idSource)&&this.sourceType==="image"&&opts.sourcetype==="image"&&(this.source!==opts.source||JSON.stringify(this.coordinates)!==JSON.stringify(opts.coordinates))};proto.needsNewSource=function(opts){return this.sourceType!==opts.sourcetype||JSON.stringify(this.source)!==JSON.stringify(opts.source)||this.layerType!==opts.type};proto.needsNewLayer=function(opts){return this.layerType!==opts.type||this.below!==this.subplot.belowLookup["layout-"+this.index]};proto.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]};proto.updateImage=function(opts){var map=this.subplot.map;map.getSource(this.idSource).updateImage({url:opts.source,coordinates:opts.coordinates});var _below=this.findFollowingMapboxLayerId(this.lookupBelow());if(_below!==null){this.subplot.map.moveLayer(this.idLayer,_below)}};proto.updateSource=function(opts){var map=this.subplot.map;if(map.getSource(this.idSource))map.removeSource(this.idSource);this.sourceType=opts.sourcetype;this.source=opts.source;if(!isVisible(opts))return;var sourceOpts=convertSourceOpts(opts);map.addSource(this.idSource,sourceOpts)};proto.findFollowingMapboxLayerId=function(below){if(below==="traces"){var mapLayers=this.subplot.getMapLayers();for(var i=0;i<mapLayers.length;i++){var layerId=mapLayers[i].id;if(typeof layerId==="string"&&layerId.indexOf(constants.traceLayerPrefix)===0){below=layerId;break}}}return below};proto.updateLayer=function(opts){var subplot=this.subplot;var convertedOpts=convertOpts(opts);var below=this.lookupBelow();var _below=this.findFollowingMapboxLayerId(below);this.removeLayer();if(isVisible(opts)){subplot.addLayer({id:this.idLayer,source:this.idSource,"source-layer":opts.sourcelayer||"",type:opts.type,minzoom:opts.minzoom,maxzoom:opts.maxzoom,layout:convertedOpts.layout,paint:convertedOpts.paint},_below)}this.layerType=opts.type;this.below=below};proto.updateStyle=function(opts){if(isVisible(opts)){var convertedOpts=convertOpts(opts);this.subplot.setOptions(this.idLayer,"setLayoutProperty",convertedOpts.layout);this.subplot.setOptions(this.idLayer,"setPaintProperty",convertedOpts.paint)}};proto.removeLayer=function(){var map=this.subplot.map;if(map.getLayer(this.idLayer)){map.removeLayer(this.idLayer)}};proto.dispose=function(){var map=this.subplot.map;if(map.getLayer(this.idLayer))map.removeLayer(this.idLayer);if(map.getSource(this.idSource))map.removeSource(this.idSource)};function isVisible(opts){if(!opts.visible)return false;var source=opts.source;if(Array.isArray(source)&&source.length>0){for(var i=0;i<source.length;i++){if(typeof source[i]!=="string"||source[i].length===0){return false}}return true}return Lib.isPlainObject(source)||typeof source==="string"&&source.length>0}function convertOpts(opts){var layout={};var paint={};switch(opts.type){case"circle":Lib.extendFlat(paint,{"circle-radius":opts.circle.radius,"circle-color":opts.color,"circle-opacity":opts.opacity});break;case"line":Lib.extendFlat(paint,{"line-width":opts.line.width,"line-color":opts.color,"line-opacity":opts.opacity,"line-dasharray":opts.line.dash});break;case"fill":Lib.extendFlat(paint,{"fill-color":opts.color,"fill-outline-color":opts.fill.outlinecolor,"fill-opacity":opts.opacity});break;case"symbol":var symbol=opts.symbol;var textOpts=convertTextOpts(symbol.textposition,symbol.iconsize);Lib.extendFlat(layout,{"icon-image":symbol.icon+"-15","icon-size":symbol.iconsize/10,"text-field":symbol.text,"text-size":symbol.textfont.size,"text-anchor":textOpts.anchor,"text-offset":textOpts.offset,"symbol-placement":symbol.placement});Lib.extendFlat(paint,{"icon-color":opts.color,"text-color":symbol.textfont.color,"text-opacity":opts.opacity});break;case"raster":Lib.extendFlat(paint,{"raster-fade-duration":0,"raster-opacity":opts.opacity});break}return{layout:layout,paint:paint}}function convertSourceOpts(opts){var sourceType=opts.sourcetype;var source=opts.source;var sourceOpts={type:sourceType};var field;if(sourceType==="geojson"){field="data"}else if(sourceType==="vector"){field=typeof source==="string"?"url":"tiles"}else if(sourceType==="raster"){field="tiles";sourceOpts.tileSize=256}else if(sourceType==="image"){field="url";sourceOpts.coordinates=opts.coordinates}sourceOpts[field]=source;if(opts.sourceattribution){sourceOpts.attribution=sanitizeHTML(opts.sourceattribution)}return sourceOpts}module.exports=function createMapboxLayer(subplot,index,opts){var mapboxLayer=new MapboxLayer(subplot,index);mapboxLayer.update(opts);return mapboxLayer}},{"../../lib":803,"../../lib/svg_text_utils":829,"./constants":909,"./convert_text_opts":910}],913:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var defaultLine=_dereq_("../../components/color").defaultLine;var domainAttrs=_dereq_("../domain").attributes;var fontAttrs=_dereq_("../font_attributes");var textposition=_dereq_("../../traces/scatter/attributes").textposition;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var constants=_dereq_("./constants");var fontAttr=fontAttrs({});fontAttr.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var attrs=module.exports=overrideAll({_arrayAttrRegexps:[Lib.counterRegex("mapbox",".layers",true)],domain:domainAttrs({name:"mapbox"}),accesstoken:{valType:"string",noBlank:true,strict:true},style:{valType:"any",values:constants.styleValuesMapbox.concat(constants.styleValuesNonMapbox),dflt:constants.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:templatedArray("layer",{visible:{valType:"boolean",dflt:true},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:defaultLine},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:defaultLine}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:fontAttr,textposition:Lib.extendFlat({},textposition,{arrayOk:false})}})},"plot","from-root");attrs.uirevision={valType:"any",editType:"none"}},{"../../components/color":666,"../../lib":803,"../../plot_api/edit_types":836,"../../plot_api/plot_template":843,"../../traces/scatter/attributes":1218,"../domain":882,"../font_attributes":883,"./constants":909}],914:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleSubplotDefaults=_dereq_("../subplot_defaults");var handleArrayContainerDefaults=_dereq_("../array_container_defaults");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut,fullData){handleSubplotDefaults(layoutIn,layoutOut,fullData,{type:"mapbox",attributes:layoutAttributes,handleDefaults:handleDefaults,partition:"y",accessToken:layoutOut._mapboxAccessToken})};function handleDefaults(containerIn,containerOut,coerce,opts){coerce("accesstoken",opts.accessToken);coerce("style");coerce("center.lon");coerce("center.lat");coerce("zoom");coerce("bearing");coerce("pitch");handleArrayContainerDefaults(containerIn,containerOut,{name:"layers",handleItemDefaults:handleLayerDefaults});containerOut._input=containerIn}function handleLayerDefaults(layerIn,layerOut){function coerce(attr,dflt){return Lib.coerce(layerIn,layerOut,layoutAttributes.layers,attr,dflt)}var visible=coerce("visible");if(visible){var sourceType=coerce("sourcetype");var mustBeRasterLayer=sourceType==="raster"||sourceType==="image";coerce("source");coerce("sourceattribution");if(sourceType==="vector"){coerce("sourcelayer")}if(sourceType==="image"){coerce("coordinates")}var typeDflt;if(mustBeRasterLayer)typeDflt="raster";var type=coerce("type",typeDflt);if(mustBeRasterLayer&&type!=="raster"){type=layerOut.type="raster";Lib.log("Source types *raster* and *image* must drawn *raster* layer type.")}coerce("below");coerce("color");coerce("opacity");coerce("minzoom");coerce("maxzoom");if(type==="circle"){coerce("circle.radius")}if(type==="line"){coerce("line.width");coerce("line.dash")}if(type==="fill"){coerce("fill.outlinecolor")}if(type==="symbol"){coerce("symbol.icon");coerce("symbol.iconsize");coerce("symbol.text");Lib.coerceFont(coerce,"symbol.textfont");coerce("symbol.textposition");coerce("symbol.placement")}}}},{"../../lib":803,"../array_container_defaults":849,"../subplot_defaults":925,"./layout_attributes":913}],915:[function(_dereq_,module,exports){"use strict";var mapboxgl=_dereq_("mapbox-gl/dist/mapbox-gl-unminified");var Lib=_dereq_("../../lib");var geoUtils=_dereq_("../../lib/geo_location_utils");var Registry=_dereq_("../../registry");var Axes=_dereq_("../cartesian/axes");var dragElement=_dereq_("../../components/dragelement");var Fx=_dereq_("../../components/fx");var dragHelpers=_dereq_("../../components/dragelement/helpers");var rectMode=dragHelpers.rectMode;var drawMode=dragHelpers.drawMode;var selectMode=dragHelpers.selectMode;var prepSelect=_dereq_("../cartesian/select").prepSelect;var clearSelect=_dereq_("../cartesian/select").clearSelect;var clearSelectionsCache=_dereq_("../cartesian/select").clearSelectionsCache;var selectOnClick=_dereq_("../cartesian/select").selectOnClick;var constants=_dereq_("./constants");var createMapboxLayer=_dereq_("./layers");function Mapbox(gd,id){this.id=id;this.gd=gd;var fullLayout=gd._fullLayout;var context=gd._context;this.container=fullLayout._glcontainer.node();this.isStatic=context.staticPlot;this.uid=fullLayout._uid+"-"+this.id;this.div=null;this.xaxis=null;this.yaxis=null;this.createFramework(fullLayout);this.map=null;this.accessToken=null;this.styleObj=null;this.traceHash={};this.layerList=[];this.belowLookup={};this.dragging=false;this.wheeling=false}var proto=Mapbox.prototype;proto.plot=function(calcData,fullLayout,promises){var self=this;var opts=fullLayout[self.id];if(self.map&&opts.accesstoken!==self.accessToken){self.map.remove();self.map=null;self.styleObj=null;self.traceHash={};self.layerList=[]}var promise;if(!self.map){promise=new Promise((function(resolve,reject){self.createMap(calcData,fullLayout,resolve,reject)}))}else{promise=new Promise((function(resolve,reject){self.updateMap(calcData,fullLayout,resolve,reject)}))}promises.push(promise)};proto.createMap=function(calcData,fullLayout,resolve,reject){var self=this;var opts=fullLayout[self.id];var styleObj=self.styleObj=getStyleObj(opts.style);self.accessToken=opts.accesstoken;var map=self.map=new mapboxgl.Map({container:self.div,style:styleObj.style,center:convertCenter(opts.center),zoom:opts.zoom,bearing:opts.bearing,pitch:opts.pitch,interactive:!self.isStatic,preserveDrawingBuffer:self.isStatic,doubleClickZoom:false,boxZoom:false,attributionControl:false}).addControl(new mapboxgl.AttributionControl({compact:true}));map._canvas.style.left="0px";map._canvas.style.top="0px";self.rejectOnError(reject);if(!self.isStatic){self.initFx(calcData,fullLayout)}var promises=[];promises.push(new Promise((function(resolve){map.once("load",resolve)})));promises=promises.concat(geoUtils.fetchTraceGeoData(calcData));Promise.all(promises).then((function(){self.fillBelowLookup(calcData,fullLayout);self.updateData(calcData);self.updateLayout(fullLayout);self.resolveOnRender(resolve)})).catch(reject)};proto.updateMap=function(calcData,fullLayout,resolve,reject){var self=this;var map=self.map;var opts=fullLayout[this.id];self.rejectOnError(reject);var promises=[];var styleObj=getStyleObj(opts.style);if(JSON.stringify(self.styleObj)!==JSON.stringify(styleObj)){self.styleObj=styleObj;map.setStyle(styleObj.style);self.traceHash={};promises.push(new Promise((function(resolve){map.once("styledata",resolve)})))}promises=promises.concat(geoUtils.fetchTraceGeoData(calcData));Promise.all(promises).then((function(){self.fillBelowLookup(calcData,fullLayout);self.updateData(calcData);self.updateLayout(fullLayout);self.resolveOnRender(resolve)})).catch(reject)};proto.fillBelowLookup=function(calcData,fullLayout){var opts=fullLayout[this.id];var layers=opts.layers;var i,val;var belowLookup=this.belowLookup={};var hasTraceAtTop=false;for(i=0;i<calcData.length;i++){var trace=calcData[i][0].trace;var _module=trace._module;if(typeof trace.below==="string"){val=trace.below}else if(_module.getBelow){val=_module.getBelow(trace,this)}if(val===""){hasTraceAtTop=true}belowLookup["trace-"+trace.uid]=val||""}for(i=0;i<layers.length;i++){var item=layers[i];if(typeof item.below==="string"){val=item.below}else if(hasTraceAtTop){val="traces"}else{val=""}belowLookup["layout-"+i]=val}var val2list={};var k,id;for(k in belowLookup){val=belowLookup[k];if(val2list[val]){val2list[val].push(k)}else{val2list[val]=[k]}}for(val in val2list){var list=val2list[val];if(list.length>1){for(i=0;i<list.length;i++){k=list[i];if(k.indexOf("trace-")===0){id=k.split("trace-")[1];if(this.traceHash[id]){this.traceHash[id].below=null}}else if(k.indexOf("layout-")===0){id=k.split("layout-")[1];if(this.layerList[id]){this.layerList[id].below=null}}}}}};var traceType2orderIndex={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};proto.updateData=function(calcData){var traceHash=this.traceHash;var traceObj,trace,i,j;var calcDataSorted=calcData.slice().sort((function(a,b){return traceType2orderIndex[a[0].trace.type]-traceType2orderIndex[b[0].trace.type]}));for(i=0;i<calcDataSorted.length;i++){var calcTrace=calcDataSorted[i];trace=calcTrace[0].trace;traceObj=traceHash[trace.uid];var didUpdate=false;if(traceObj){if(traceObj.type===trace.type){traceObj.update(calcTrace);didUpdate=true}else{traceObj.dispose()}}if(!didUpdate&&trace._module){traceHash[trace.uid]=trace._module.plot(this,calcTrace)}}var ids=Object.keys(traceHash);idLoop:for(i=0;i<ids.length;i++){var id=ids[i];for(j=0;j<calcData.length;j++){trace=calcData[j][0].trace;if(id===trace.uid)continue idLoop}traceObj=traceHash[id];traceObj.dispose();delete traceHash[id]}};proto.updateLayout=function(fullLayout){var map=this.map;var opts=fullLayout[this.id];if(!this.dragging&&!this.wheeling){map.setCenter(convertCenter(opts.center));map.setZoom(opts.zoom);map.setBearing(opts.bearing);map.setPitch(opts.pitch)}this.updateLayers(fullLayout);this.updateFramework(fullLayout);this.updateFx(fullLayout);this.map.resize();if(this.gd._context._scrollZoom.mapbox){map.scrollZoom.enable()}else{map.scrollZoom.disable()}};proto.resolveOnRender=function(resolve){var map=this.map;map.on("render",(function onRender(){if(map.loaded()){map.off("render",onRender);setTimeout(resolve,10)}}))};proto.rejectOnError=function(reject){var map=this.map;function handler(){reject(new Error(constants.mapOnErrorMsg))}map.once("error",handler);map.once("style.error",handler);map.once("source.error",handler);map.once("tile.error",handler);map.once("layer.error",handler)};proto.createFramework=function(fullLayout){var self=this;var div=self.div=document.createElement("div");div.id=self.uid;div.style.position="absolute";self.container.appendChild(div);self.xaxis={_id:"x",c2p:function(v){return self.project(v).x}};self.yaxis={_id:"y",c2p:function(v){return self.project(v).y}};self.updateFramework(fullLayout);self.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"};Axes.setConvert(self.mockAxis,fullLayout)};proto.initFx=function(calcData,fullLayout){var self=this;var gd=self.gd;var map=self.map;map.on("moveend",(function(evt){if(!self.map)return;var fullLayoutNow=gd._fullLayout;if(evt.originalEvent||self.wheeling){var optsNow=fullLayoutNow[self.id];Registry.call("_storeDirectGUIEdit",gd.layout,fullLayoutNow._preGUI,self.getViewEdits(optsNow));var viewNow=self.getView();optsNow._input.center=optsNow.center=viewNow.center;optsNow._input.zoom=optsNow.zoom=viewNow.zoom;optsNow._input.bearing=optsNow.bearing=viewNow.bearing;optsNow._input.pitch=optsNow.pitch=viewNow.pitch;gd.emit("plotly_relayout",self.getViewEditsWithDerived(viewNow))}if(evt.originalEvent&&evt.originalEvent.type==="mouseup"){self.dragging=false}else if(self.wheeling){self.wheeling=false}if(fullLayoutNow._rehover){fullLayoutNow._rehover()}}));map.on("wheel",(function(){self.wheeling=true}));map.on("mousemove",(function(evt){var bb=self.div.getBoundingClientRect();var xy=[evt.originalEvent.offsetX,evt.originalEvent.offsetY];evt.target.getBoundingClientRect=function(){return bb};self.xaxis.p2c=function(){return map.unproject(xy).lng};self.yaxis.p2c=function(){return map.unproject(xy).lat};gd._fullLayout._rehover=function(){if(gd._fullLayout._hoversubplot===self.id&&gd._fullLayout[self.id]){Fx.hover(gd,evt,self.id)}};Fx.hover(gd,evt,self.id);gd._fullLayout._hoversubplot=self.id}));function unhover(){Fx.loneUnhover(fullLayout._hoverlayer)}map.on("dragstart",(function(){self.dragging=true;unhover()}));map.on("zoomstart",unhover);map.on("mouseout",(function(){gd._fullLayout._hoversubplot=null}));function emitUpdate(){var viewNow=self.getView();gd.emit("plotly_relayouting",self.getViewEditsWithDerived(viewNow))}map.on("drag",emitUpdate);map.on("zoom",emitUpdate);map.on("dblclick",(function(){var optsNow=gd._fullLayout[self.id];Registry.call("_storeDirectGUIEdit",gd.layout,gd._fullLayout._preGUI,self.getViewEdits(optsNow));var viewInitial=self.viewInitial;map.setCenter(convertCenter(viewInitial.center));map.setZoom(viewInitial.zoom);map.setBearing(viewInitial.bearing);map.setPitch(viewInitial.pitch);var viewNow=self.getView();optsNow._input.center=optsNow.center=viewNow.center;optsNow._input.zoom=optsNow.zoom=viewNow.zoom;optsNow._input.bearing=optsNow.bearing=viewNow.bearing;optsNow._input.pitch=optsNow.pitch=viewNow.pitch;gd.emit("plotly_doubleclick",null);gd.emit("plotly_relayout",self.getViewEditsWithDerived(viewNow))}));self.clearSelect=function(){clearSelectionsCache(self.dragOptions);clearSelect(self.dragOptions.gd)};self.onClickInPanFn=function(dragOptions){return function(evt){var clickMode=gd._fullLayout.clickmode;if(clickMode.indexOf("select")>-1){selectOnClick(evt.originalEvent,gd,[self.xaxis],[self.yaxis],self.id,dragOptions)}if(clickMode.indexOf("event")>-1){Fx.click(gd,evt.originalEvent)}}}};proto.updateFx=function(fullLayout){var self=this;var map=self.map;var gd=self.gd;if(self.isStatic)return;function invert(pxpy){var obj=self.map.unproject(pxpy);return[obj.lng,obj.lat]}var dragMode=fullLayout.dragmode;var fillRangeItems;if(rectMode(dragMode)){fillRangeItems=function(eventData,poly){var ranges=eventData.range={};ranges[self.id]=[invert([poly.xmin,poly.ymin]),invert([poly.xmax,poly.ymax])]}}else{fillRangeItems=function(eventData,poly,pts){var dataPts=eventData.lassoPoints={};dataPts[self.id]=pts.filtered.map(invert)}}var oldDragOptions=self.dragOptions;self.dragOptions=Lib.extendDeep(oldDragOptions||{},{dragmode:fullLayout.dragmode,element:self.div,gd:gd,plotinfo:{id:self.id,domain:fullLayout[self.id].domain,xaxis:self.xaxis,yaxis:self.yaxis,fillRangeItems:fillRangeItems},xaxes:[self.xaxis],yaxes:[self.yaxis],subplot:self.id});map.off("click",self.onClickInPanHandler);if(selectMode(dragMode)||drawMode(dragMode)){map.dragPan.disable();map.on("zoomstart",self.clearSelect);self.dragOptions.prepFn=function(e,startX,startY){prepSelect(e,startX,startY,self.dragOptions,dragMode)};dragElement.init(self.dragOptions)}else{map.dragPan.enable();map.off("zoomstart",self.clearSelect);self.div.onmousedown=null;self.onClickInPanHandler=self.onClickInPanFn(self.dragOptions);map.on("click",self.onClickInPanHandler)}};proto.updateFramework=function(fullLayout){var domain=fullLayout[this.id].domain;var size=fullLayout._size;var style=this.div.style;style.width=size.w*(domain.x[1]-domain.x[0])+"px";style.height=size.h*(domain.y[1]-domain.y[0])+"px";style.left=size.l+domain.x[0]*size.w+"px";style.top=size.t+(1-domain.y[1])*size.h+"px";this.xaxis._offset=size.l+domain.x[0]*size.w;this.xaxis._length=size.w*(domain.x[1]-domain.x[0]);this.yaxis._offset=size.t+(1-domain.y[1])*size.h;this.yaxis._length=size.h*(domain.y[1]-domain.y[0])};proto.updateLayers=function(fullLayout){var opts=fullLayout[this.id];var layers=opts.layers;var layerList=this.layerList;var i;if(layers.length!==layerList.length){for(i=0;i<layerList.length;i++){layerList[i].dispose()}layerList=this.layerList=[];for(i=0;i<layers.length;i++){layerList.push(createMapboxLayer(this,i,layers[i]))}}else{for(i=0;i<layers.length;i++){layerList[i].update(layers[i])}}};proto.destroy=function(){if(this.map){this.map.remove();this.map=null;this.container.removeChild(this.div)}};proto.toImage=function(){this.map.stop();return this.map.getCanvas().toDataURL()};proto.setOptions=function(id,methodName,opts){for(var k in opts){this.map[methodName](id,k,opts[k])}};proto.getMapLayers=function(){return this.map.getStyle().layers};proto.addLayer=function(opts,below){var map=this.map;if(typeof below==="string"){if(below===""){map.addLayer(opts,below);return}var mapLayers=this.getMapLayers();for(var i=0;i<mapLayers.length;i++){if(below===mapLayers[i].id){map.addLayer(opts,below);return}}Lib.warn(["Trying to add layer with *below* value",below,"referencing a layer that does not exist","or that does not yet exist."].join(" "))}map.addLayer(opts)};proto.project=function(v){return this.map.project(new mapboxgl.LngLat(v[0],v[1]))};proto.getView=function(){var map=this.map;var mapCenter=map.getCenter();var center={lon:mapCenter.lng,lat:mapCenter.lat};var canvas=map.getCanvas();var w=canvas.width;var h=canvas.height;return{center:center,zoom:map.getZoom(),bearing:map.getBearing(),pitch:map.getPitch(),_derived:{coordinates:[map.unproject([0,0]).toArray(),map.unproject([w,0]).toArray(),map.unproject([w,h]).toArray(),map.unproject([0,h]).toArray()]}}};proto.getViewEdits=function(cont){var id=this.id;var keys=["center","zoom","bearing","pitch"];var obj={};for(var i=0;i<keys.length;i++){var k=keys[i];obj[id+"."+k]=cont[k]}return obj};proto.getViewEditsWithDerived=function(cont){var id=this.id;var obj=this.getViewEdits(cont);obj[id+"._derived"]=cont._derived;return obj};function getStyleObj(val){var styleObj={};if(Lib.isPlainObject(val)){styleObj.id=val.id;styleObj.style=val}else if(typeof val==="string"){styleObj.id=val;if(constants.styleValuesMapbox.indexOf(val)!==-1){styleObj.style=convertStyleVal(val)}else if(constants.stylesNonMapbox[val]){styleObj.style=constants.stylesNonMapbox[val]}else{styleObj.style=val}}else{styleObj.id=constants.styleValueDflt;styleObj.style=convertStyleVal(constants.styleValueDflt)}styleObj.transition={duration:0,delay:0};return styleObj}function convertStyleVal(val){return constants.styleUrlPrefix+val+"-"+constants.styleUrlSuffix}function convertCenter(center){return[center.lon,center.lat]}module.exports=Mapbox},{"../../components/dragelement":685,"../../components/dragelement/helpers":684,"../../components/fx":706,"../../lib":803,"../../lib/geo_location_utils":796,"../../registry":931,"../cartesian/axes":854,"../cartesian/select":874,"./constants":909,"./layers":912,"mapbox-gl/dist/mapbox-gl-unminified":461}],916:[function(_dereq_,module,exports){"use strict";module.exports=function(opts){var editType=opts.editType;return{t:{valType:"number",dflt:0,editType:editType},r:{valType:"number",dflt:0,editType:editType},b:{valType:"number",dflt:0,editType:editType},l:{valType:"number",dflt:0,editType:editType},editType:editType}}},{}],917:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var timeFormatLocale=_dereq_("d3-time-format").timeFormatLocale;var formatLocale=_dereq_("d3-format").formatLocale;var isNumeric=_dereq_("fast-isnumeric");var Registry=_dereq_("../registry");var PlotSchema=_dereq_("../plot_api/plot_schema");var Template=_dereq_("../plot_api/plot_template");var Lib=_dereq_("../lib");var Color=_dereq_("../components/color");var BADNUM=_dereq_("../constants/numerical").BADNUM;var axisIDs=_dereq_("./cartesian/axis_ids");var clearSelect=_dereq_("./cartesian/handle_outline").clearSelect;var animationAttrs=_dereq_("./animation_attributes");var frameAttrs=_dereq_("./frame_attributes");var getModuleCalcData=_dereq_("../plots/get_data").getModuleCalcData;var relinkPrivateKeys=Lib.relinkPrivateKeys;var _=Lib._;var plots=module.exports={};Lib.extendFlat(plots,Registry);plots.attributes=_dereq_("./attributes");plots.attributes.type.values=plots.allTypes;plots.fontAttrs=_dereq_("./font_attributes");plots.layoutAttributes=_dereq_("./layout_attributes");plots.fontWeight="normal";var transformsRegistry=plots.transformsRegistry;var commandModule=_dereq_("./command");plots.executeAPICommand=commandModule.executeAPICommand;plots.computeAPICommandBindings=commandModule.computeAPICommandBindings;plots.manageCommandObserver=commandModule.manageCommandObserver;plots.hasSimpleAPICommandBindings=commandModule.hasSimpleAPICommandBindings;plots.redrawText=function(gd){gd=Lib.getGraphDiv(gd);return new Promise((function(resolve){setTimeout((function(){if(!gd._fullLayout)return;Registry.getComponentMethod("annotations","draw")(gd);Registry.getComponentMethod("legend","draw")(gd);Registry.getComponentMethod("colorbar","draw")(gd);resolve(plots.previousPromises(gd))}),300)}))};plots.resize=function(gd){gd=Lib.getGraphDiv(gd);var resolveLastResize;var p=new Promise((function(resolve,reject){if(!gd||Lib.isHidden(gd)){reject(new Error("Resize must be passed a displayed plot div element."))}if(gd._redrawTimer)clearTimeout(gd._redrawTimer);if(gd._resolveResize)resolveLastResize=gd._resolveResize;gd._resolveResize=resolve;gd._redrawTimer=setTimeout((function(){if(!gd.layout||gd.layout.width&&gd.layout.height||Lib.isHidden(gd)){resolve(gd);return}delete gd.layout.width;delete gd.layout.height;var oldchanged=gd.changed;gd.autoplay=true;Registry.call("relayout",gd,{autosize:true}).then((function(){gd.changed=oldchanged;if(gd._resolveResize===resolve){delete gd._resolveResize;resolve(gd)}}))}),100)}));if(resolveLastResize)resolveLastResize(p);return p};plots.previousPromises=function(gd){if((gd._promises||[]).length){return Promise.all(gd._promises).then((function(){gd._promises=[]}))}};plots.addLinks=function(gd){if(!gd._context.showLink&&!gd._context.showSources)return;var fullLayout=gd._fullLayout;var linkContainer=Lib.ensureSingle(fullLayout._paper,"text","js-plot-link-container",(function(s){s.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:Color.defaultLine,"pointer-events":"all"}).each((function(){var links=d3.select(this);links.append("tspan").classed("js-link-to-tool",true);links.append("tspan").classed("js-link-spacer",true);links.append("tspan").classed("js-sourcelinks",true)}))}));var text=linkContainer.node();var attrs={y:fullLayout._paper.attr("height")-9};if(document.body.contains(text)&&text.getComputedTextLength()>=fullLayout.width-20){attrs["text-anchor"]="start";attrs.x=5}else{attrs["text-anchor"]="end";attrs.x=fullLayout._paper.attr("width")-7}linkContainer.attr(attrs);var toolspan=linkContainer.select(".js-link-to-tool");var spacespan=linkContainer.select(".js-link-spacer");var sourcespan=linkContainer.select(".js-sourcelinks");if(gd._context.showSources)gd._context.showSources(gd);if(gd._context.showLink)positionPlayWithData(gd,toolspan);spacespan.text(toolspan.text()&&sourcespan.text()?" - ":"")};function positionPlayWithData(gd,container){container.text("");var link=container.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(gd._context.linkText+" "+String.fromCharCode(187));if(gd._context.sendData){link.on("click",(function(){plots.sendDataToCloud(gd)}))}else{var path=window.location.pathname.split("/");var query=window.location.search;link.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+path[2].split(".")[0]+"/"+path[1]+query})}}plots.sendDataToCloud=function(gd){var baseUrl=(window.PLOTLYENV||{}).BASE_URL||gd._context.plotlyServerURL;if(!baseUrl)return;gd.emit("plotly_beforeexport");var hiddenformDiv=d3.select(gd).append("div").attr("id","hiddenform").style("display","none");var hiddenform=hiddenformDiv.append("form").attr({action:baseUrl+"/external",method:"post",target:"_blank"});var hiddenformInput=hiddenform.append("input").attr({type:"text",name:"data"});hiddenformInput.node().value=plots.graphJson(gd,false,"keepdata");hiddenform.node().submit();hiddenformDiv.remove();gd.emit("plotly_afterexport");return false};var d3FormatKeys=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"];var extraFormatKeys=["year","month","dayMonth","dayMonthYear"];plots.supplyDefaults=function(gd,opts){var skipUpdateCalc=opts&&opts.skipUpdateCalc;var oldFullLayout=gd._fullLayout||{};if(oldFullLayout._skipDefaults){delete oldFullLayout._skipDefaults;return}var newFullLayout=gd._fullLayout={};var newLayout=gd.layout||{};var oldFullData=gd._fullData||[];var newFullData=gd._fullData=[];var newData=gd.data||[];var oldCalcdata=gd.calcdata||[];var context=gd._context||{};var i;if(!gd._transitionData)plots.createTransitionData(gd);newFullLayout._dfltTitle={plot:_(gd,"Click to enter Plot title"),x:_(gd,"Click to enter X axis title"),y:_(gd,"Click to enter Y axis title"),colorbar:_(gd,"Click to enter Colorscale title"),annotation:_(gd,"new text")};newFullLayout._traceWord=_(gd,"trace");var formatObj=getFormatObj(gd,d3FormatKeys);newFullLayout._mapboxAccessToken=context.mapboxAccessToken;if(oldFullLayout._initialAutoSizeIsDone){var oldWidth=oldFullLayout.width;var oldHeight=oldFullLayout.height;plots.supplyLayoutGlobalDefaults(newLayout,newFullLayout,formatObj);if(!newLayout.width)newFullLayout.width=oldWidth;if(!newLayout.height)newFullLayout.height=oldHeight;plots.sanitizeMargins(newFullLayout)}else{plots.supplyLayoutGlobalDefaults(newLayout,newFullLayout,formatObj);var missingWidthOrHeight=!newLayout.width||!newLayout.height;var autosize=newFullLayout.autosize;var autosizable=context.autosizable;var initialAutoSize=missingWidthOrHeight&&(autosize||autosizable);if(initialAutoSize)plots.plotAutoSize(gd,newLayout,newFullLayout);else if(missingWidthOrHeight)plots.sanitizeMargins(newFullLayout);if(!autosize&&missingWidthOrHeight){newLayout.width=newFullLayout.width;newLayout.height=newFullLayout.height}}newFullLayout._d3locale=getFormatter(formatObj,newFullLayout.separators);newFullLayout._extraFormat=getFormatObj(gd,extraFormatKeys);newFullLayout._initialAutoSizeIsDone=true;newFullLayout._dataLength=newData.length;newFullLayout._modules=[];newFullLayout._visibleModules=[];newFullLayout._basePlotModules=[];var subplots=newFullLayout._subplots=emptySubplotLists();var splomAxes=newFullLayout._splomAxes={x:{},y:{}};var splomSubplots=newFullLayout._splomSubplots={};newFullLayout._splomGridDflt={};newFullLayout._scatterStackOpts={};newFullLayout._firstScatter={};newFullLayout._alignmentOpts={};newFullLayout._colorAxes={};newFullLayout._requestRangeslider={};newFullLayout._traceUids=getTraceUids(oldFullData,newData);newFullLayout._globalTransforms=(gd._context||{}).globalTransforms;plots.supplyDataDefaults(newData,newFullData,newLayout,newFullLayout);var splomXa=Object.keys(splomAxes.x);var splomYa=Object.keys(splomAxes.y);if(splomXa.length>1&&splomYa.length>1){Registry.getComponentMethod("grid","sizeDefaults")(newLayout,newFullLayout);for(i=0;i<splomXa.length;i++){Lib.pushUnique(subplots.xaxis,splomXa[i])}for(i=0;i<splomYa.length;i++){Lib.pushUnique(subplots.yaxis,splomYa[i])}for(var k in splomSubplots){Lib.pushUnique(subplots.cartesian,k)}}newFullLayout._has=plots._hasPlotType.bind(newFullLayout);if(oldFullData.length===newFullData.length){for(i=0;i<newFullData.length;i++){relinkPrivateKeys(newFullData[i],oldFullData[i])}}plots.supplyLayoutModuleDefaults(newLayout,newFullLayout,newFullData,gd._transitionData);var _modules=newFullLayout._visibleModules;var crossTraceDefaultsFuncs=[];for(i=0;i<_modules.length;i++){var funci=_modules[i].crossTraceDefaults;if(funci)Lib.pushUnique(crossTraceDefaultsFuncs,funci)}for(i=0;i<crossTraceDefaultsFuncs.length;i++){crossTraceDefaultsFuncs[i](newFullData,newFullLayout)}newFullLayout._hasOnlyLargeSploms=newFullLayout._basePlotModules.length===1&&newFullLayout._basePlotModules[0].name==="splom"&&splomXa.length>15&&splomYa.length>15&&newFullLayout.shapes.length===0&&newFullLayout.images.length===0;plots.linkSubplots(newFullData,newFullLayout,oldFullData,oldFullLayout);plots.cleanPlot(newFullData,newFullLayout,oldFullData,oldFullLayout);var hadGL2D=!!(oldFullLayout._has&&oldFullLayout._has("gl2d"));var hasGL2D=!!(newFullLayout._has&&newFullLayout._has("gl2d"));var hadCartesian=!!(oldFullLayout._has&&oldFullLayout._has("cartesian"));var hasCartesian=!!(newFullLayout._has&&newFullLayout._has("cartesian"));var hadBgLayer=hadCartesian||hadGL2D;var hasBgLayer=hasCartesian||hasGL2D;if(hadBgLayer&&!hasBgLayer){oldFullLayout._bgLayer.remove()}else if(hasBgLayer&&!hadBgLayer){newFullLayout._shouldCreateBgLayer=true}if(oldFullLayout._zoomlayer&&!gd._dragging){clearSelect({_fullLayout:oldFullLayout})}fillMetaTextHelpers(newFullData,newFullLayout);relinkPrivateKeys(newFullLayout,oldFullLayout);Registry.getComponentMethod("colorscale","crossTraceDefaults")(newFullData,newFullLayout);if(!newFullLayout._preGUI)newFullLayout._preGUI={};if(!newFullLayout._tracePreGUI)newFullLayout._tracePreGUI={};var tracePreGUI=newFullLayout._tracePreGUI;var uids={};var uid;for(uid in tracePreGUI)uids[uid]="old";for(i=0;i<newFullData.length;i++){uid=newFullData[i]._fullInput.uid;if(!uids[uid])tracePreGUI[uid]={};uids[uid]="new"}for(uid in uids){if(uids[uid]==="old")delete tracePreGUI[uid]}initMargins(newFullLayout);Registry.getComponentMethod("rangeslider","makeData")(newFullLayout);if(!skipUpdateCalc&&oldCalcdata.length===newFullData.length){plots.supplyDefaultsUpdateCalc(oldCalcdata,newFullData)}};plots.supplyDefaultsUpdateCalc=function(oldCalcdata,newFullData){for(var i=0;i<newFullData.length;i++){var newTrace=newFullData[i];var cd0=(oldCalcdata[i]||[])[0];if(cd0&&cd0.trace){var oldTrace=cd0.trace;if(oldTrace._hasCalcTransform){var arrayAttrs=oldTrace._arrayAttrs;var j,astr,oldArrayVal;for(j=0;j<arrayAttrs.length;j++){astr=arrayAttrs[j];oldArrayVal=Lib.nestedProperty(oldTrace,astr).get().slice();Lib.nestedProperty(newTrace,astr).set(oldArrayVal)}}cd0.trace=newTrace}}};function getTraceUids(oldFullData,newData){var len=newData.length;var oldFullInput=[];var i,prevFullInput;for(i=0;i<oldFullData.length;i++){var thisFullInput=oldFullData[i]._fullInput;if(thisFullInput!==prevFullInput)oldFullInput.push(thisFullInput);prevFullInput=thisFullInput}var oldLen=oldFullInput.length;var out=new Array(len);var seenUids={};function setUid(uid,i){out[i]=uid;seenUids[uid]=1}function tryUid(uid,i){if(uid&&typeof uid==="string"&&!seenUids[uid]){setUid(uid,i);return true}}for(i=0;i<len;i++){var newUid=newData[i].uid;if(typeof newUid==="number")newUid=String(newUid);if(tryUid(newUid,i))continue;if(i<oldLen&&tryUid(oldFullInput[i].uid,i))continue;setUid(Lib.randstr(seenUids),i)}return out}function emptySubplotLists(){var collectableSubplotTypes=Registry.collectableSubplotTypes;var out={};var i,j;if(!collectableSubplotTypes){collectableSubplotTypes=[];var subplotsRegistry=Registry.subplotsRegistry;for(var subplotType in subplotsRegistry){var subplotModule=subplotsRegistry[subplotType];var subplotAttr=subplotModule.attr;if(subplotAttr){collectableSubplotTypes.push(subplotType);if(Array.isArray(subplotAttr)){for(j=0;j<subplotAttr.length;j++){Lib.pushUnique(collectableSubplotTypes,subplotAttr[j])}}}}}for(i=0;i<collectableSubplotTypes.length;i++){out[collectableSubplotTypes[i]]=[]}return out}function getFormatObj(gd,formatKeys){var locale=gd._context.locale;if(!locale)locale="en-US";var formatDone=false;var formatObj={};function includeFormat(newFormat){var formatFinished=true;for(var i=0;i<formatKeys.length;i++){var formatKey=formatKeys[i];if(!formatObj[formatKey]){if(newFormat[formatKey]){formatObj[formatKey]=newFormat[formatKey]}else formatFinished=false}}if(formatFinished)formatDone=true}for(var i=0;i<2;i++){var locales=gd._context.locales;for(var j=0;j<2;j++){var formatj=(locales[locale]||{}).format;if(formatj){includeFormat(formatj);if(formatDone)break}locales=Registry.localeRegistry}var baseLocale=locale.split("-")[0];if(formatDone||baseLocale===locale)break;locale=baseLocale}if(!formatDone)includeFormat(Registry.localeRegistry.en.format);return formatObj}function getFormatter(formatObj,separators){formatObj.decimal=separators.charAt(0);formatObj.thousands=separators.charAt(1);return{numberFormat:function(formatStr){try{formatStr=formatLocale(formatObj).format(Lib.adjustFormat(formatStr))}catch(e){Lib.warnBadFormat(formatStr);return Lib.noFormat}return formatStr},timeFormat:timeFormatLocale(formatObj).utcFormat}}function fillMetaTextHelpers(newFullData,newFullLayout){var _meta;var meta4data=[];if(newFullLayout.meta){_meta=newFullLayout._meta={meta:newFullLayout.meta,layout:{meta:newFullLayout.meta}}}for(var i=0;i<newFullData.length;i++){var trace=newFullData[i];if(trace.meta){meta4data[trace.index]=trace._meta={meta:trace.meta}}else if(newFullLayout.meta){trace._meta={meta:newFullLayout.meta}}if(newFullLayout.meta){trace._meta.layout={meta:newFullLayout.meta}}}if(meta4data.length){if(!_meta){_meta=newFullLayout._meta={}}_meta.data=meta4data}}plots.createTransitionData=function(gd){if(!gd._transitionData){gd._transitionData={}}if(!gd._transitionData._frames){gd._transitionData._frames=[]}if(!gd._transitionData._frameHash){gd._transitionData._frameHash={}}if(!gd._transitionData._counter){gd._transitionData._counter=0}if(!gd._transitionData._interruptCallbacks){gd._transitionData._interruptCallbacks=[]}};plots._hasPlotType=function(category){var i;var basePlotModules=this._basePlotModules||[];for(i=0;i<basePlotModules.length;i++){if(basePlotModules[i].name===category)return true}var modules=this._modules||[];for(i=0;i<modules.length;i++){var name=modules[i].name;if(name===category)return true;var _module=Registry.modules[name];if(_module&&_module.categories[category])return true}return false};plots.cleanPlot=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var i,j;var basePlotModules=oldFullLayout._basePlotModules||[];for(i=0;i<basePlotModules.length;i++){var _module=basePlotModules[i];if(_module.clean){_module.clean(newFullData,newFullLayout,oldFullData,oldFullLayout)}}var hadGl=oldFullLayout._has&&oldFullLayout._has("gl");var hasGl=newFullLayout._has&&newFullLayout._has("gl");if(hadGl&&!hasGl){if(oldFullLayout._glcontainer!==undefined){oldFullLayout._glcontainer.selectAll(".gl-canvas").remove();oldFullLayout._glcontainer.selectAll(".no-webgl").remove();oldFullLayout._glcanvas=null}}var hasInfoLayer=!!oldFullLayout._infolayer;oldLoop:for(i=0;i<oldFullData.length;i++){var oldTrace=oldFullData[i];var oldUid=oldTrace.uid;for(j=0;j<newFullData.length;j++){var newTrace=newFullData[j];if(oldUid===newTrace.uid)continue oldLoop}if(hasInfoLayer){oldFullLayout._infolayer.select(".cb"+oldUid).remove()}}};plots.linkSubplots=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var i,j;var oldSubplots=oldFullLayout._plots||{};var newSubplots=newFullLayout._plots={};var newSubplotList=newFullLayout._subplots;var mockGd={_fullData:newFullData,_fullLayout:newFullLayout};var ids=newSubplotList.cartesian.concat(newSubplotList.gl2d||[]);for(i=0;i<ids.length;i++){var id=ids[i];var oldSubplot=oldSubplots[id];var xaxis=axisIDs.getFromId(mockGd,id,"x");var yaxis=axisIDs.getFromId(mockGd,id,"y");var plotinfo;if(oldSubplot){plotinfo=newSubplots[id]=oldSubplot}else{plotinfo=newSubplots[id]={};plotinfo.id=id}xaxis._counterAxes.push(yaxis._id);yaxis._counterAxes.push(xaxis._id);xaxis._subplotsWith.push(id);yaxis._subplotsWith.push(id);plotinfo.xaxis=xaxis;plotinfo.yaxis=yaxis;plotinfo._hasClipOnAxisFalse=false;for(j=0;j<newFullData.length;j++){var trace=newFullData[j];if(trace.xaxis===plotinfo.xaxis._id&&trace.yaxis===plotinfo.yaxis._id&&trace.cliponaxis===false){plotinfo._hasClipOnAxisFalse=true;break}}}var axList=axisIDs.list(mockGd,null,true);var ax;for(i=0;i<axList.length;i++){ax=axList[i];var mainAx=null;if(ax.overlaying){mainAx=axisIDs.getFromId(mockGd,ax.overlaying);if(mainAx&&mainAx.overlaying){ax.overlaying=false;mainAx=null}}ax._mainAxis=mainAx||ax;if(mainAx)ax.domain=mainAx.domain.slice();ax._anchorAxis=ax.anchor==="free"?null:axisIDs.getFromId(mockGd,ax.anchor)}for(i=0;i<axList.length;i++){ax=axList[i];ax._counterAxes.sort(axisIDs.idSort);ax._subplotsWith.sort(Lib.subplotSort);ax._mainSubplot=findMainSubplot(ax,newFullLayout);if(ax._counterAxes.length&&(ax.spikemode&&ax.spikemode.indexOf("across")!==-1||ax.automargin&&ax.mirror&&ax.anchor!=="free"||Registry.getComponentMethod("rangeslider","isVisible")(ax))){var min=1;var max=0;for(j=0;j<ax._counterAxes.length;j++){var ax2=axisIDs.getFromId(mockGd,ax._counterAxes[j]);min=Math.min(min,ax2.domain[0]);max=Math.max(max,ax2.domain[1])}if(min<max){ax._counterDomainMin=min;ax._counterDomainMax=max}}}};function findMainSubplot(ax,fullLayout){var mockGd={_fullLayout:fullLayout};var isX=ax._id.charAt(0)==="x";var anchorAx=ax._mainAxis._anchorAxis;var mainSubplotID="";var nextBestMainSubplotID="";var anchorID="";if(anchorAx){anchorID=anchorAx._mainAxis._id;mainSubplotID=isX?ax._id+anchorID:anchorID+ax._id}if(!mainSubplotID||!fullLayout._plots[mainSubplotID]){mainSubplotID="";var counterIDs=ax._counterAxes;for(var j=0;j<counterIDs.length;j++){var counterPart=counterIDs[j];var id=isX?ax._id+counterPart:counterPart+ax._id;if(!nextBestMainSubplotID)nextBestMainSubplotID=id;var counterAx=axisIDs.getFromId(mockGd,counterPart);if(anchorID&&counterAx.overlaying===anchorID){mainSubplotID=id;break}}}return mainSubplotID||nextBestMainSubplotID}plots.clearExpandedTraceDefaultColors=function(trace){var colorAttrs,path,i;function locateColorAttrs(attr,attrName,attrs,level){path[level]=attrName;path.length=level+1;if(attr.valType==="color"&&attr.dflt===undefined){colorAttrs.push(path.join("."))}}path=[];colorAttrs=trace._module._colorAttrs;if(!colorAttrs){trace._module._colorAttrs=colorAttrs=[];PlotSchema.crawl(trace._module.attributes,locateColorAttrs)}for(i=0;i<colorAttrs.length;i++){var origprop=Lib.nestedProperty(trace,"_input."+colorAttrs[i]);if(!origprop.get()){Lib.nestedProperty(trace,colorAttrs[i]).set(null)}}};plots.supplyDataDefaults=function(dataIn,dataOut,layout,fullLayout){var modules=fullLayout._modules;var visibleModules=fullLayout._visibleModules;var basePlotModules=fullLayout._basePlotModules;var cnt=0;var colorCnt=0;var i,fullTrace,trace;fullLayout._transformModules=[];function pushModule(fullTrace){dataOut.push(fullTrace);var _module=fullTrace._module;if(!_module)return;Lib.pushUnique(modules,_module);if(fullTrace.visible===true)Lib.pushUnique(visibleModules,_module);Lib.pushUnique(basePlotModules,fullTrace._module.basePlotModule);cnt++;if(fullTrace._input.visible!==false)colorCnt++}var carpetIndex={};var carpetDependents=[];var dataTemplate=(layout.template||{}).data||{};var templater=Template.traceTemplater(dataTemplate);for(i=0;i<dataIn.length;i++){trace=dataIn[i];fullTrace=templater.newTrace(trace);fullTrace.uid=fullLayout._traceUids[i];plots.supplyTraceDefaults(trace,fullTrace,colorCnt,fullLayout,i);fullTrace.index=i;fullTrace._input=trace;fullTrace._expandedIndex=cnt;if(fullTrace.transforms&&fullTrace.transforms.length){var sdInvisible=trace.visible!==false&&fullTrace.visible===false;var expandedTraces=applyTransforms(fullTrace,dataOut,layout,fullLayout);for(var j=0;j<expandedTraces.length;j++){var expandedTrace=expandedTraces[j];var fullExpandedTrace={_template:fullTrace._template,type:fullTrace.type,uid:fullTrace.uid+j};if(sdInvisible&&expandedTrace.visible===false){delete expandedTrace.visible}plots.supplyTraceDefaults(expandedTrace,fullExpandedTrace,cnt,fullLayout,i);relinkPrivateKeys(fullExpandedTrace,expandedTrace);fullExpandedTrace.index=i;fullExpandedTrace._input=trace;fullExpandedTrace._fullInput=fullTrace;fullExpandedTrace._expandedIndex=cnt;fullExpandedTrace._expandedInput=expandedTrace;pushModule(fullExpandedTrace)}}else{fullTrace._fullInput=fullTrace;fullTrace._expandedInput=fullTrace;pushModule(fullTrace)}if(Registry.traceIs(fullTrace,"carpetAxis")){carpetIndex[fullTrace.carpet]=fullTrace}if(Registry.traceIs(fullTrace,"carpetDependent")){carpetDependents.push(i)}}for(i=0;i<carpetDependents.length;i++){fullTrace=dataOut[carpetDependents[i]];if(!fullTrace.visible)continue;var carpetAxis=carpetIndex[fullTrace.carpet];fullTrace._carpet=carpetAxis;if(!carpetAxis||!carpetAxis.visible){fullTrace.visible=false;continue}fullTrace.xaxis=carpetAxis.xaxis;fullTrace.yaxis=carpetAxis.yaxis}};plots.supplyAnimationDefaults=function(opts){opts=opts||{};var i;var optsOut={};function coerce(attr,dflt){return Lib.coerce(opts||{},optsOut,animationAttrs,attr,dflt)}coerce("mode");coerce("direction");coerce("fromcurrent");if(Array.isArray(opts.frame)){optsOut.frame=[];for(i=0;i<opts.frame.length;i++){optsOut.frame[i]=plots.supplyAnimationFrameDefaults(opts.frame[i]||{})}}else{optsOut.frame=plots.supplyAnimationFrameDefaults(opts.frame||{})}if(Array.isArray(opts.transition)){optsOut.transition=[];for(i=0;i<opts.transition.length;i++){optsOut.transition[i]=plots.supplyAnimationTransitionDefaults(opts.transition[i]||{})}}else{optsOut.transition=plots.supplyAnimationTransitionDefaults(opts.transition||{})}return optsOut};plots.supplyAnimationFrameDefaults=function(opts){var optsOut={};function coerce(attr,dflt){return Lib.coerce(opts||{},optsOut,animationAttrs.frame,attr,dflt)}coerce("duration");coerce("redraw");return optsOut};plots.supplyAnimationTransitionDefaults=function(opts){var optsOut={};function coerce(attr,dflt){return Lib.coerce(opts||{},optsOut,animationAttrs.transition,attr,dflt)}coerce("duration");coerce("easing");return optsOut};plots.supplyFrameDefaults=function(frameIn){var frameOut={};function coerce(attr,dflt){return Lib.coerce(frameIn,frameOut,frameAttrs,attr,dflt)}coerce("group");coerce("name");coerce("traces");coerce("baseframe");coerce("data");coerce("layout");return frameOut};plots.supplyTraceDefaults=function(traceIn,traceOut,colorIndex,layout,traceInIndex){var colorway=layout.colorway||Color.defaults;var defaultColor=colorway[colorIndex%colorway.length];var i;function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,plots.attributes,attr,dflt)}var visible=coerce("visible");coerce("type");coerce("name",layout._traceWord+" "+traceInIndex);coerce("uirevision",layout.uirevision);var _module=plots.getModule(traceOut);traceOut._module=_module;if(_module){var basePlotModule=_module.basePlotModule;var subplotAttr=basePlotModule.attr;var subplotAttrs=basePlotModule.attributes;if(subplotAttr&&subplotAttrs){var subplots=layout._subplots;var subplotId="";if(visible||basePlotModule.name!=="gl2d"){if(Array.isArray(subplotAttr)){for(i=0;i<subplotAttr.length;i++){var attri=subplotAttr[i];var vali=Lib.coerce(traceIn,traceOut,subplotAttrs,attri);if(subplots[attri])Lib.pushUnique(subplots[attri],vali);subplotId+=vali}}else{subplotId=Lib.coerce(traceIn,traceOut,subplotAttrs,subplotAttr)}if(subplots[basePlotModule.name]){Lib.pushUnique(subplots[basePlotModule.name],subplotId)}}}}if(visible){coerce("customdata");coerce("ids");coerce("meta");if(Registry.traceIs(traceOut,"showLegend")){Lib.coerce(traceIn,traceOut,_module.attributes.showlegend?_module.attributes:plots.attributes,"showlegend");coerce("legendgroup");var titleText=coerce("legendgrouptitle.text");if(titleText){Lib.coerceFont(coerce,"legendgrouptitle.font",Lib.extendFlat({},layout.font,{size:Math.round(layout.font.size*1.1)}))}coerce("legendrank");traceOut._dfltShowLegend=true}else{traceOut._dfltShowLegend=false}if(_module){_module.supplyDefaults(traceIn,traceOut,defaultColor,layout)}if(!Registry.traceIs(traceOut,"noOpacity")){coerce("opacity")}if(Registry.traceIs(traceOut,"notLegendIsolatable")){traceOut.visible=!!traceOut.visible}if(!Registry.traceIs(traceOut,"noHover")){if(!traceOut.hovertemplate)Lib.coerceHoverinfo(traceIn,traceOut,layout);if(traceOut.type!=="parcats"){Registry.getComponentMethod("fx","supplyDefaults")(traceIn,traceOut,defaultColor,layout)}}if(_module&&_module.selectPoints){coerce("selectedpoints")}plots.supplyTransformDefaults(traceIn,traceOut,layout)}return traceOut};function hasMakesDataTransform(trace){var transforms=trace.transforms;if(Array.isArray(transforms)&&transforms.length){for(var i=0;i<transforms.length;i++){var ti=transforms[i];var _module=ti._module||transformsRegistry[ti.type];if(_module&&_module.makesData)return true}}return false}plots.hasMakesDataTransform=hasMakesDataTransform;plots.supplyTransformDefaults=function(traceIn,traceOut,layout){if(!(traceOut._length||hasMakesDataTransform(traceIn)))return;var globalTransforms=layout._globalTransforms||[];var transformModules=layout._transformModules||[];if(!Array.isArray(traceIn.transforms)&&globalTransforms.length===0)return;var containerIn=traceIn.transforms||[];var transformList=globalTransforms.concat(containerIn);var containerOut=traceOut.transforms=[];for(var i=0;i<transformList.length;i++){var transformIn=transformList[i];var type=transformIn.type;var _module=transformsRegistry[type];var transformOut;var isFirstStage=!(transformIn._module&&transformIn._module===_module);var doLaterStages=_module&&typeof _module.transform==="function";if(!_module)Lib.warn("Unrecognized transform type "+type+".");if(_module&&_module.supplyDefaults&&(isFirstStage||doLaterStages)){transformOut=_module.supplyDefaults(transformIn,traceOut,layout,traceIn);transformOut.type=type;transformOut._module=_module;Lib.pushUnique(transformModules,_module)}else{transformOut=Lib.extendFlat({},transformIn)}containerOut.push(transformOut)}};function applyTransforms(fullTrace,fullData,layout,fullLayout){var container=fullTrace.transforms;var dataOut=[fullTrace];for(var i=0;i<container.length;i++){var transform=container[i];var _module=transformsRegistry[transform.type];if(_module&&_module.transform){dataOut=_module.transform(dataOut,{transform:transform,fullTrace:fullTrace,fullData:fullData,layout:layout,fullLayout:fullLayout,transformIndex:i})}}return dataOut}plots.supplyLayoutGlobalDefaults=function(layoutIn,layoutOut,formatObj){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,plots.layoutAttributes,attr,dflt)}var template=layoutIn.template;if(Lib.isPlainObject(template)){layoutOut.template=template;layoutOut._template=template.layout;layoutOut._dataTemplate=template.data}coerce("autotypenumbers");var globalFont=Lib.coerceFont(coerce,"font");coerce("title.text",layoutOut._dfltTitle.plot);Lib.coerceFont(coerce,"title.font",{family:globalFont.family,size:Math.round(globalFont.size*1.4),color:globalFont.color});coerce("title.xref");coerce("title.yref");coerce("title.x");coerce("title.y");coerce("title.xanchor");coerce("title.yanchor");coerce("title.pad.t");coerce("title.pad.r");coerce("title.pad.b");coerce("title.pad.l");var uniformtextMode=coerce("uniformtext.mode");if(uniformtextMode){coerce("uniformtext.minsize")}coerce("autosize",!(layoutIn.width&&layoutIn.height));coerce("width");coerce("height");coerce("margin.l");coerce("margin.r");coerce("margin.t");coerce("margin.b");coerce("margin.pad");coerce("margin.autoexpand");if(layoutIn.width&&layoutIn.height)plots.sanitizeMargins(layoutOut);Registry.getComponentMethod("grid","sizeDefaults")(layoutIn,layoutOut);coerce("paper_bgcolor");coerce("separators",formatObj.decimal+formatObj.thousands);coerce("hidesources");coerce("colorway");coerce("datarevision");var uirevision=coerce("uirevision");coerce("editrevision",uirevision);coerce("selectionrevision",uirevision);Registry.getComponentMethod("modebar","supplyLayoutDefaults")(layoutIn,layoutOut);Registry.getComponentMethod("shapes","supplyDrawNewShapeDefaults")(layoutIn,layoutOut,coerce);coerce("meta");if(Lib.isPlainObject(layoutIn.transition)){coerce("transition.duration");coerce("transition.easing");coerce("transition.ordering")}Registry.getComponentMethod("calendars","handleDefaults")(layoutIn,layoutOut,"calendar");Registry.getComponentMethod("fx","supplyLayoutGlobalDefaults")(layoutIn,layoutOut,coerce)};function getComputedSize(attr){return typeof attr==="string"&&attr.substr(attr.length-2)==="px"&&parseFloat(attr)}plots.plotAutoSize=function plotAutoSize(gd,layout,fullLayout){var context=gd._context||{};var frameMargins=context.frameMargins;var newWidth;var newHeight;var isPlotDiv=Lib.isPlotDiv(gd);if(isPlotDiv)gd.emit("plotly_autosize");if(context.fillFrame){newWidth=window.innerWidth;newHeight=window.innerHeight;document.body.style.overflow="hidden"}else{var computedStyle=isPlotDiv?window.getComputedStyle(gd):{};newWidth=getComputedSize(computedStyle.width)||getComputedSize(computedStyle.maxWidth)||fullLayout.width;newHeight=getComputedSize(computedStyle.height)||getComputedSize(computedStyle.maxHeight)||fullLayout.height;if(isNumeric(frameMargins)&&frameMargins>0){var factor=1-2*frameMargins;newWidth=Math.round(factor*newWidth);newHeight=Math.round(factor*newHeight)}}var minWidth=plots.layoutAttributes.width.min;var minHeight=plots.layoutAttributes.height.min;if(newWidth<minWidth)newWidth=minWidth;if(newHeight<minHeight)newHeight=minHeight;var widthHasChanged=!layout.width&&Math.abs(fullLayout.width-newWidth)>1;var heightHasChanged=!layout.height&&Math.abs(fullLayout.height-newHeight)>1;if(heightHasChanged||widthHasChanged){if(widthHasChanged)fullLayout.width=newWidth;if(heightHasChanged)fullLayout.height=newHeight}if(!gd._initialAutoSize){gd._initialAutoSize={width:newWidth,height:newHeight}}plots.sanitizeMargins(fullLayout)};plots.supplyLayoutModuleDefaults=function(layoutIn,layoutOut,fullData,transitionData){var componentsRegistry=Registry.componentsRegistry;var basePlotModules=layoutOut._basePlotModules;var component,i,_module;var Cartesian=Registry.subplotsRegistry.cartesian;for(component in componentsRegistry){_module=componentsRegistry[component];if(_module.includeBasePlot){_module.includeBasePlot(layoutIn,layoutOut)}}if(!basePlotModules.length){basePlotModules.push(Cartesian)}if(layoutOut._has("cartesian")){Registry.getComponentMethod("grid","contentDefaults")(layoutIn,layoutOut);Cartesian.finalizeSubplots(layoutIn,layoutOut)}for(var subplotType in layoutOut._subplots){layoutOut._subplots[subplotType].sort(Lib.subplotSort)}for(i=0;i<basePlotModules.length;i++){_module=basePlotModules[i];if(_module.supplyLayoutDefaults){_module.supplyLayoutDefaults(layoutIn,layoutOut,fullData)}}var modules=layoutOut._modules;for(i=0;i<modules.length;i++){_module=modules[i];if(_module.supplyLayoutDefaults){_module.supplyLayoutDefaults(layoutIn,layoutOut,fullData)}}var transformModules=layoutOut._transformModules;for(i=0;i<transformModules.length;i++){_module=transformModules[i];if(_module.supplyLayoutDefaults){_module.supplyLayoutDefaults(layoutIn,layoutOut,fullData,transitionData)}}for(component in componentsRegistry){_module=componentsRegistry[component];if(_module.supplyLayoutDefaults){_module.supplyLayoutDefaults(layoutIn,layoutOut,fullData)}}};plots.purge=function(gd){var fullLayout=gd._fullLayout||{};if(fullLayout._glcontainer!==undefined){fullLayout._glcontainer.selectAll(".gl-canvas").remove();fullLayout._glcontainer.remove();fullLayout._glcanvas=null}if(fullLayout._modeBar)fullLayout._modeBar.destroy();if(gd._transitionData){if(gd._transitionData._interruptCallbacks){gd._transitionData._interruptCallbacks.length=0}if(gd._transitionData._animationRaf){window.cancelAnimationFrame(gd._transitionData._animationRaf)}}Lib.clearThrottle();Lib.clearResponsive(gd);delete gd.data;delete gd.layout;delete gd._fullData;delete gd._fullLayout;delete gd.calcdata;delete gd.empty;delete gd.fid;delete gd.undoqueue;delete gd.undonum;delete gd.autoplay;delete gd.changed;delete gd._promises;delete gd._redrawTimer;delete gd._hmlumcount;delete gd._hmpixcount;delete gd._transitionData;delete gd._transitioning;delete gd._initialAutoSize;delete gd._transitioningWithDuration;delete gd._dragging;delete gd._dragged;delete gd._dragdata;delete gd._hoverdata;delete gd._snapshotInProgress;delete gd._editing;delete gd._mouseDownTime;delete gd._legendMouseDownTime;if(gd.removeAllListeners)gd.removeAllListeners()};plots.style=function(gd){var _modules=gd._fullLayout._visibleModules;var styleModules=[];var i;for(i=0;i<_modules.length;i++){var _module=_modules[i];if(_module.style){Lib.pushUnique(styleModules,_module.style)}}for(i=0;i<styleModules.length;i++){styleModules[i](gd)}};plots.sanitizeMargins=function(fullLayout){if(!fullLayout||!fullLayout.margin)return;var width=fullLayout.width;var height=fullLayout.height;var margin=fullLayout.margin;var plotWidth=width-(margin.l+margin.r);var plotHeight=height-(margin.t+margin.b);var correction;if(plotWidth<0){correction=(width-1)/(margin.l+margin.r);margin.l=Math.floor(correction*margin.l);margin.r=Math.floor(correction*margin.r)}if(plotHeight<0){correction=(height-1)/(margin.t+margin.b);margin.t=Math.floor(correction*margin.t);margin.b=Math.floor(correction*margin.b)}};plots.clearAutoMarginIds=function(gd){gd._fullLayout._pushmarginIds={}};plots.allowAutoMargin=function(gd,id){gd._fullLayout._pushmarginIds[id]=1};function initMargins(fullLayout){var margin=fullLayout.margin;if(!fullLayout._size){var gs=fullLayout._size={l:Math.round(margin.l),r:Math.round(margin.r),t:Math.round(margin.t),b:Math.round(margin.b),p:Math.round(margin.pad)};gs.w=Math.round(fullLayout.width)-gs.l-gs.r;gs.h=Math.round(fullLayout.height)-gs.t-gs.b}if(!fullLayout._pushmargin)fullLayout._pushmargin={};if(!fullLayout._pushmarginIds)fullLayout._pushmarginIds={}}var MIN_SPECIFIED_WIDTH=2;var MIN_SPECIFIED_HEIGHT=2;var MIN_REDUCED_WIDTH=64;var MIN_REDUCED_HEIGHT=64;plots.autoMargin=function(gd,id,o){var fullLayout=gd._fullLayout;var width=fullLayout.width;var height=fullLayout.height;var margin=fullLayout.margin;var minFinalWidth=Lib.constrain(width-margin.l-margin.r,MIN_SPECIFIED_WIDTH,MIN_REDUCED_WIDTH);var minFinalHeight=Lib.constrain(height-margin.t-margin.b,MIN_SPECIFIED_HEIGHT,MIN_REDUCED_HEIGHT);var maxSpaceW=Math.max(0,width-minFinalWidth);var maxSpaceH=Math.max(0,height-minFinalHeight);var pushMargin=fullLayout._pushmargin;var pushMarginIds=fullLayout._pushmarginIds;if(margin.autoexpand!==false){if(!o){delete pushMargin[id];delete pushMarginIds[id]}else{var pad=o.pad;if(pad===undefined){pad=Math.min(12,margin.l,margin.r,margin.t,margin.b)}if(maxSpaceW){var rW=(o.l+o.r)/maxSpaceW;if(rW>1){o.l/=rW;o.r/=rW}}if(maxSpaceH){var rH=(o.t+o.b)/maxSpaceH;if(rH>1){o.t/=rH;o.b/=rH}}var xl=o.xl!==undefined?o.xl:o.x;var xr=o.xr!==undefined?o.xr:o.x;var yt=o.yt!==undefined?o.yt:o.y;var yb=o.yb!==undefined?o.yb:o.y;pushMargin[id]={l:{val:xl,size:o.l+pad},r:{val:xr,size:o.r+pad},b:{val:yb,size:o.b+pad},t:{val:yt,size:o.t+pad}};pushMarginIds[id]=1}if(!fullLayout._replotting){return plots.doAutoMargin(gd)}}};plots.doAutoMargin=function(gd){var fullLayout=gd._fullLayout;var width=fullLayout.width;var height=fullLayout.height;if(!fullLayout._size)fullLayout._size={};initMargins(fullLayout);var gs=fullLayout._size;var margin=fullLayout.margin;var oldMargins=Lib.extendFlat({},gs);var ml=margin.l;var mr=margin.r;var mt=margin.t;var mb=margin.b;var pushMargin=fullLayout._pushmargin;var pushMarginIds=fullLayout._pushmarginIds;if(fullLayout.margin.autoexpand!==false){for(var k in pushMargin){if(!pushMarginIds[k])delete pushMargin[k]}pushMargin.base={l:{val:0,size:ml},r:{val:1,size:mr},t:{val:1,size:mt},b:{val:0,size:mb}};for(var k1 in pushMargin){var pushleft=pushMargin[k1].l||{};var pushbottom=pushMargin[k1].b||{};var fl=pushleft.val;var pl=pushleft.size;var fb=pushbottom.val;var pb=pushbottom.size;for(var k2 in pushMargin){if(isNumeric(pl)&&pushMargin[k2].r){var fr=pushMargin[k2].r.val;var pr=pushMargin[k2].r.size;if(fr>fl){var newL=(pl*fr+(pr-width)*fl)/(fr-fl);var newR=(pr*(1-fl)+(pl-width)*(1-fr))/(fr-fl);if(newL+newR>ml+mr){ml=newL;mr=newR}}}if(isNumeric(pb)&&pushMargin[k2].t){var ft=pushMargin[k2].t.val;var pt=pushMargin[k2].t.size;if(ft>fb){var newB=(pb*ft+(pt-height)*fb)/(ft-fb);var newT=(pt*(1-fb)+(pb-height)*(1-ft))/(ft-fb);if(newB+newT>mb+mt){mb=newB;mt=newT}}}}}}var minFinalWidth=Lib.constrain(width-margin.l-margin.r,MIN_SPECIFIED_WIDTH,MIN_REDUCED_WIDTH);var minFinalHeight=Lib.constrain(height-margin.t-margin.b,MIN_SPECIFIED_HEIGHT,MIN_REDUCED_HEIGHT);var maxSpaceW=Math.max(0,width-minFinalWidth);var maxSpaceH=Math.max(0,height-minFinalHeight);if(maxSpaceW){var rW=(ml+mr)/maxSpaceW;if(rW>1){ml/=rW;mr/=rW}}if(maxSpaceH){var rH=(mb+mt)/maxSpaceH;if(rH>1){mb/=rH;mt/=rH}}gs.l=Math.round(ml);gs.r=Math.round(mr);gs.t=Math.round(mt);gs.b=Math.round(mb);gs.p=Math.round(margin.pad);gs.w=Math.round(width)-gs.l-gs.r;gs.h=Math.round(height)-gs.t-gs.b;if(!fullLayout._replotting&&plots.didMarginChange(oldMargins,gs)){if("_redrawFromAutoMarginCount"in fullLayout){fullLayout._redrawFromAutoMarginCount++}else{fullLayout._redrawFromAutoMarginCount=1}var maxNumberOfRedraws=3*(1+Object.keys(pushMarginIds).length);if(fullLayout._redrawFromAutoMarginCount<maxNumberOfRedraws){return Registry.call("_doPlot",gd)}else{fullLayout._size=oldMargins;Lib.warn("Too many auto-margin redraws.")}}refineTicks(gd)};function refineTicks(gd){var axList=axisIDs.list(gd,"",true);["_adjustTickLabelsOverflow","_hideCounterAxisInsideTickLabels"].forEach((function(k){for(var i=0;i<axList.length;i++){var hideFn=axList[i][k];if(hideFn)hideFn()}}))}var marginKeys=["l","r","t","b","p","w","h"];plots.didMarginChange=function(margin0,margin1){for(var i=0;i<marginKeys.length;i++){var k=marginKeys[i];var m0=margin0[k];var m1=margin1[k];if(!isNumeric(m0)||Math.abs(m1-m0)>1){return true}}return false};plots.graphJson=function(gd,dataonly,mode,output,useDefaults,includeConfig){if(useDefaults&&dataonly&&!gd._fullData||useDefaults&&!dataonly&&!gd._fullLayout){plots.supplyDefaults(gd)}var data=useDefaults?gd._fullData:gd.data;var layout=useDefaults?gd._fullLayout:gd.layout;var frames=(gd._transitionData||{})._frames;function stripObj(d,keepFunction){if(typeof d==="function"){return keepFunction?"_function_":null}if(Lib.isPlainObject(d)){var o={};var src;Object.keys(d).sort().forEach((function(v){if(["_","["].indexOf(v.charAt(0))!==-1)return;if(typeof d[v]==="function"){if(keepFunction)o[v]="_function";return}if(mode==="keepdata"){if(v.substr(v.length-3)==="src"){return}}else if(mode==="keepstream"){src=d[v+"src"];if(typeof src==="string"&&src.indexOf(":")>0){if(!Lib.isPlainObject(d.stream)){return}}}else if(mode!=="keepall"){src=d[v+"src"];if(typeof src==="string"&&src.indexOf(":")>0){return}}o[v]=stripObj(d[v],keepFunction)}));return o}if(Array.isArray(d)){return d.map((function(x){return stripObj(x,keepFunction)}))}if(Lib.isTypedArray(d)){return Lib.simpleMap(d,Lib.identity)}if(Lib.isJSDate(d))return Lib.ms2DateTimeLocal(+d);return d}var obj={data:(data||[]).map((function(v){var d=stripObj(v);if(dataonly){delete d.fit}return d}))};if(!dataonly){obj.layout=stripObj(layout);if(useDefaults){var gs=layout._size;obj.layout.computed={margin:{b:gs.b,l:gs.l,r:gs.r,t:gs.t}}}}if(frames)obj.frames=stripObj(frames);if(includeConfig)obj.config=stripObj(gd._context,true);return output==="object"?obj:JSON.stringify(obj)};plots.modifyFrames=function(gd,operations){var i,op,frame;var _frames=gd._transitionData._frames;var _frameHash=gd._transitionData._frameHash;for(i=0;i<operations.length;i++){op=operations[i];switch(op.type){case"replace":frame=op.value;var oldName=(_frames[op.index]||{}).name;var newName=frame.name;_frames[op.index]=_frameHash[newName]=frame;if(newName!==oldName){delete _frameHash[oldName];_frameHash[newName]=frame}break;case"insert":frame=op.value;_frameHash[frame.name]=frame;_frames.splice(op.index,0,frame);break;case"delete":frame=_frames[op.index];delete _frameHash[frame.name];_frames.splice(op.index,1);break}}return Promise.resolve()};plots.computeFrame=function(gd,frameName){var frameLookup=gd._transitionData._frameHash;var i,traceIndices,traceIndex,destIndex;if(!frameName){throw new Error("computeFrame must be given a string frame name")}var framePtr=frameLookup[frameName.toString()];if(!framePtr){return false}var frameStack=[framePtr];var frameNameStack=[framePtr.name];while(framePtr.baseframe&&(framePtr=frameLookup[framePtr.baseframe.toString()])){if(frameNameStack.indexOf(framePtr.name)!==-1)break;frameStack.push(framePtr);frameNameStack.push(framePtr.name)}var result={};while(framePtr=frameStack.pop()){if(framePtr.layout){result.layout=plots.extendLayout(result.layout,framePtr.layout)}if(framePtr.data){if(!result.data){result.data=[]}traceIndices=framePtr.traces;if(!traceIndices){traceIndices=[];for(i=0;i<framePtr.data.length;i++){traceIndices[i]=i}}if(!result.traces){result.traces=[]}for(i=0;i<framePtr.data.length;i++){traceIndex=traceIndices[i];if(traceIndex===undefined||traceIndex===null){continue}destIndex=result.traces.indexOf(traceIndex);if(destIndex===-1){destIndex=result.data.length;result.traces[destIndex]=traceIndex}result.data[destIndex]=plots.extendTrace(result.data[destIndex],framePtr.data[i])}}}return result};plots.recomputeFrameHash=function(gd){var hash=gd._transitionData._frameHash={};var frames=gd._transitionData._frames;for(var i=0;i<frames.length;i++){var frame=frames[i];if(frame&&frame.name){hash[frame.name]=frame}}};plots.extendObjectWithContainers=function(dest,src,containerPaths){var containerProp,containerVal,i,j,srcProp,destProp,srcContainer,destContainer;var copy=Lib.extendDeepNoArrays({},src||{});var expandedObj=Lib.expandObjectPaths(copy);var containerObj={};if(containerPaths&&containerPaths.length){for(i=0;i<containerPaths.length;i++){containerProp=Lib.nestedProperty(expandedObj,containerPaths[i]);containerVal=containerProp.get();if(containerVal===undefined){Lib.nestedProperty(containerObj,containerPaths[i]).set(null)}else{containerProp.set(null);Lib.nestedProperty(containerObj,containerPaths[i]).set(containerVal)}}}dest=Lib.extendDeepNoArrays(dest||{},expandedObj);if(containerPaths&&containerPaths.length){for(i=0;i<containerPaths.length;i++){srcProp=Lib.nestedProperty(containerObj,containerPaths[i]);srcContainer=srcProp.get();if(!srcContainer)continue;destProp=Lib.nestedProperty(dest,containerPaths[i]);destContainer=destProp.get();if(!Array.isArray(destContainer)){destContainer=[];destProp.set(destContainer)}for(j=0;j<srcContainer.length;j++){var srcObj=srcContainer[j];if(srcObj===null)destContainer[j]=null;else{destContainer[j]=plots.extendObjectWithContainers(destContainer[j],srcObj)}}destProp.set(destContainer)}}return dest};plots.dataArrayContainers=["transforms","dimensions"];plots.layoutArrayContainers=Registry.layoutArrayContainers;plots.extendTrace=function(destTrace,srcTrace){return plots.extendObjectWithContainers(destTrace,srcTrace,plots.dataArrayContainers)};plots.extendLayout=function(destLayout,srcLayout){return plots.extendObjectWithContainers(destLayout,srcLayout,plots.layoutArrayContainers)};plots.transition=function(gd,data,layout,traces,frameOpts,transitionOpts){var opts={redraw:frameOpts.redraw};var transitionedTraces={};var axEdits=[];opts.prepareFn=function(){var dataLength=Array.isArray(data)?data.length:0;var traceIndices=traces.slice(0,dataLength);for(var i=0;i<traceIndices.length;i++){var traceIdx=traceIndices[i];var trace=gd._fullData[traceIdx];var _module=trace._module;if(!_module)continue;if(_module.animatable){var n=_module.basePlotModule.name;if(!transitionedTraces[n])transitionedTraces[n]=[];transitionedTraces[n].push(traceIdx)}gd.data[traceIndices[i]]=plots.extendTrace(gd.data[traceIndices[i]],data[i])}var layoutUpdate=Lib.expandObjectPaths(Lib.extendDeepNoArrays({},layout));var axisAttrRe=/^[xy]axis[0-9]*$/;for(var attr in layoutUpdate){if(!axisAttrRe.test(attr))continue;delete layoutUpdate[attr].range}plots.extendLayout(gd.layout,layoutUpdate);delete gd.calcdata;plots.supplyDefaults(gd);plots.doCalcdata(gd);var newLayout=Lib.expandObjectPaths(layout);if(newLayout){var subplots=gd._fullLayout._plots;for(var k in subplots){var plotinfo=subplots[k];var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var xr0=xa.range.slice();var yr0=ya.range.slice();var xr1=null;var yr1=null;var editX=null;var editY=null;if(Array.isArray(newLayout[xa._name+".range"])){xr1=newLayout[xa._name+".range"].slice()}else if(Array.isArray((newLayout[xa._name]||{}).range)){xr1=newLayout[xa._name].range.slice()}if(Array.isArray(newLayout[ya._name+".range"])){yr1=newLayout[ya._name+".range"].slice()}else if(Array.isArray((newLayout[ya._name]||{}).range)){yr1=newLayout[ya._name].range.slice()}if(xr0&&xr1&&(xa.r2l(xr0[0])!==xa.r2l(xr1[0])||xa.r2l(xr0[1])!==xa.r2l(xr1[1]))){editX={xr0:xr0,xr1:xr1}}if(yr0&&yr1&&(ya.r2l(yr0[0])!==ya.r2l(yr1[0])||ya.r2l(yr0[1])!==ya.r2l(yr1[1]))){editY={yr0:yr0,yr1:yr1}}if(editX||editY){axEdits.push(Lib.extendFlat({plotinfo:plotinfo},editX,editY))}}}return Promise.resolve()};opts.runFn=function(makeCallback){var traceTransitionOpts;var basePlotModules=gd._fullLayout._basePlotModules;var hasAxisTransition=axEdits.length;var i;if(layout){for(i=0;i<basePlotModules.length;i++){if(basePlotModules[i].transitionAxes){basePlotModules[i].transitionAxes(gd,axEdits,transitionOpts,makeCallback)}}}if(hasAxisTransition){traceTransitionOpts=Lib.extendFlat({},transitionOpts);traceTransitionOpts.duration=0;delete transitionedTraces.cartesian}else{traceTransitionOpts=transitionOpts}for(var n in transitionedTraces){var traceIndices=transitionedTraces[n];var _module=gd._fullData[traceIndices[0]]._module;_module.basePlotModule.plot(gd,traceIndices,traceTransitionOpts,makeCallback)}};return _transition(gd,transitionOpts,opts)};plots.transitionFromReact=function(gd,restyleFlags,relayoutFlags,oldFullLayout){var fullLayout=gd._fullLayout;var transitionOpts=fullLayout.transition;var opts={};var axEdits=[];opts.prepareFn=function(){var subplots=fullLayout._plots;opts.redraw=false;if(restyleFlags.anim==="some")opts.redraw=true;if(relayoutFlags.anim==="some")opts.redraw=true;for(var k in subplots){var plotinfo=subplots[k];var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var xr0=oldFullLayout[xa._name].range.slice();var yr0=oldFullLayout[ya._name].range.slice();var xr1=xa.range.slice();var yr1=ya.range.slice();xa.setScale();ya.setScale();var editX=null;var editY=null;if(xa.r2l(xr0[0])!==xa.r2l(xr1[0])||xa.r2l(xr0[1])!==xa.r2l(xr1[1])){editX={xr0:xr0,xr1:xr1}}if(ya.r2l(yr0[0])!==ya.r2l(yr1[0])||ya.r2l(yr0[1])!==ya.r2l(yr1[1])){editY={yr0:yr0,yr1:yr1}}if(editX||editY){axEdits.push(Lib.extendFlat({plotinfo:plotinfo},editX,editY))}}return Promise.resolve()};opts.runFn=function(makeCallback){var fullData=gd._fullData;var fullLayout=gd._fullLayout;var basePlotModules=fullLayout._basePlotModules;var axisTransitionOpts;var traceTransitionOpts;var transitionedTraces;var allTraceIndices=[];for(var i=0;i<fullData.length;i++){allTraceIndices.push(i)}function transitionAxes(){if(!gd._fullLayout)return;for(var j=0;j<basePlotModules.length;j++){if(basePlotModules[j].transitionAxes){basePlotModules[j].transitionAxes(gd,axEdits,axisTransitionOpts,makeCallback)}}}function transitionTraces(){if(!gd._fullLayout)return;for(var j=0;j<basePlotModules.length;j++){basePlotModules[j].plot(gd,transitionedTraces,traceTransitionOpts,makeCallback)}}if(axEdits.length&&restyleFlags.anim){if(transitionOpts.ordering==="traces first"){axisTransitionOpts=Lib.extendFlat({},transitionOpts,{duration:0});transitionedTraces=allTraceIndices;traceTransitionOpts=transitionOpts;setTimeout(transitionAxes,transitionOpts.duration);transitionTraces()}else{axisTransitionOpts=transitionOpts;transitionedTraces=null;traceTransitionOpts=Lib.extendFlat({},transitionOpts,{duration:0});setTimeout(transitionTraces,axisTransitionOpts.duration);transitionAxes()}}else if(axEdits.length){axisTransitionOpts=transitionOpts;transitionAxes()}else if(restyleFlags.anim){transitionedTraces=allTraceIndices;traceTransitionOpts=transitionOpts;transitionTraces()}};return _transition(gd,transitionOpts,opts)};function _transition(gd,transitionOpts,opts){var aborted=false;function executeCallbacks(list){var p=Promise.resolve();if(!list)return p;while(list.length){p=p.then(list.shift())}return p}function flushCallbacks(list){if(!list)return;while(list.length){list.shift()}}function executeTransitions(){gd.emit("plotly_transitioning",[]);return new Promise((function(resolve){gd._transitioning=true;if(transitionOpts.duration>0){gd._transitioningWithDuration=true}gd._transitionData._interruptCallbacks.push((function(){aborted=true}));if(opts.redraw){gd._transitionData._interruptCallbacks.push((function(){return Registry.call("redraw",gd)}))}gd._transitionData._interruptCallbacks.push((function(){gd.emit("plotly_transitioninterrupted",[])}));var numCallbacks=0;var numCompleted=0;function makeCallback(){numCallbacks++;return function(){numCompleted++;if(!aborted&&numCompleted===numCallbacks){completeTransition(resolve)}}}opts.runFn(makeCallback);setTimeout(makeCallback())}))}function completeTransition(callback){if(!gd._transitionData)return;flushCallbacks(gd._transitionData._interruptCallbacks);return Promise.resolve().then((function(){if(opts.redraw){return Registry.call("redraw",gd)}})).then((function(){gd._transitioning=false;gd._transitioningWithDuration=false;gd.emit("plotly_transitioned",[])})).then(callback)}function interruptPreviousTransitions(){if(!gd._transitionData)return;gd._transitioning=false;return executeCallbacks(gd._transitionData._interruptCallbacks)}var seq=[plots.previousPromises,interruptPreviousTransitions,opts.prepareFn,plots.rehover,executeTransitions];var transitionStarting=Lib.syncOrAsync(seq,gd);if(!transitionStarting||!transitionStarting.then){transitionStarting=Promise.resolve()}return transitionStarting.then((function(){return gd}))}plots.doCalcdata=function(gd,traces){var axList=axisIDs.list(gd);var fullData=gd._fullData;var fullLayout=gd._fullLayout;var trace,_module,i,j;var calcdata=new Array(fullData.length);var oldCalcdata=(gd.calcdata||[]).slice();gd.calcdata=calcdata;fullLayout._numBoxes=0;fullLayout._numViolins=0;fullLayout._violinScaleGroupStats={};gd._hmpixcount=0;gd._hmlumcount=0;fullLayout._piecolormap={};fullLayout._sunburstcolormap={};fullLayout._treemapcolormap={};fullLayout._iciclecolormap={};fullLayout._funnelareacolormap={};for(i=0;i<fullData.length;i++){if(Array.isArray(traces)&&traces.indexOf(i)===-1){calcdata[i]=oldCalcdata[i];continue}}for(i=0;i<fullData.length;i++){trace=fullData[i];trace._arrayAttrs=PlotSchema.findArrayAttributes(trace);trace._extremes={}}var polarIds=fullLayout._subplots.polar||[];for(i=0;i<polarIds.length;i++){axList.push(fullLayout[polarIds[i]].radialaxis,fullLayout[polarIds[i]].angularaxis)}for(var k in fullLayout._colorAxes){var cOpts=fullLayout[k];if(cOpts.cauto!==false){delete cOpts.cmin;delete cOpts.cmax}}var hasCalcTransform=false;function transformCalci(i){trace=fullData[i];_module=trace._module;if(trace.visible===true&&trace.transforms){if(_module&&_module.calc){var cdi=_module.calc(gd,trace);if(cdi[0]&&cdi[0].t&&cdi[0].t._scene){delete cdi[0].t._scene.dirty}}for(j=0;j<trace.transforms.length;j++){var transform=trace.transforms[j];_module=transformsRegistry[transform.type];if(_module&&_module.calcTransform){trace._hasCalcTransform=true;hasCalcTransform=true;_module.calcTransform(gd,trace,transform)}}}}function calci(i,isContainer){trace=fullData[i];_module=trace._module;if(!!_module.isContainer!==isContainer)return;var cd=[];if(trace.visible===true&&trace._length!==0){delete trace._indexToPoints;var transforms=trace.transforms||[];for(j=transforms.length-1;j>=0;j--){if(transforms[j].enabled){trace._indexToPoints=transforms[j]._indexToPoints;break}}if(_module&&_module.calc){cd=_module.calc(gd,trace)}}if(!Array.isArray(cd)||!cd[0]){cd=[{x:BADNUM,y:BADNUM}]}if(!cd[0].t)cd[0].t={};cd[0].trace=trace;calcdata[i]=cd}setupAxisCategories(axList,fullData,fullLayout);for(i=0;i<fullData.length;i++)calci(i,true);for(i=0;i<fullData.length;i++)transformCalci(i);if(hasCalcTransform)setupAxisCategories(axList,fullData,fullLayout);for(i=0;i<fullData.length;i++)calci(i,true);for(i=0;i<fullData.length;i++)calci(i,false);doCrossTraceCalc(gd);var sorted=sortAxisCategoriesByValue(axList,gd);if(sorted.length){fullLayout._numBoxes=0;fullLayout._numViolins=0;for(i=0;i<sorted.length;i++)calci(sorted[i],true);for(i=0;i<sorted.length;i++)calci(sorted[i],false);doCrossTraceCalc(gd)}Registry.getComponentMethod("fx","calc")(gd);Registry.getComponentMethod("errorbars","calc")(gd)};var sortAxisCategoriesByValueRegex=/(total|sum|min|max|mean|median) (ascending|descending)/;function sortAxisCategoriesByValue(axList,gd){var affectedTraces=[];var i,j,k,l,o;function zMapCategory(type,ax,value){var axLetter=ax._id.charAt(0);if(type==="histogram2dcontour"){var counterAxLetter=ax._counterAxes[0];var counterAx=axisIDs.getFromId(gd,counterAxLetter);var xCategorical=axLetter==="x"||counterAxLetter==="x"&&counterAx.type==="category";var yCategorical=axLetter==="y"||counterAxLetter==="y"&&counterAx.type==="category";return function(o,l){if(o===0||l===0)return-1;if(xCategorical&&o===value[l].length-1)return-1;if(yCategorical&&l===value.length-1)return-1;return(axLetter==="y"?l:o)-1}}else{return function(o,l){return axLetter==="y"?l:o}}}var aggFn={min:function(values){return Lib.aggNums(Math.min,null,values)},max:function(values){return Lib.aggNums(Math.max,null,values)},sum:function(values){return Lib.aggNums((function(a,b){return a+b}),null,values)},total:function(values){return Lib.aggNums((function(a,b){return a+b}),null,values)},mean:function(values){return Lib.mean(values)},median:function(values){return Lib.median(values)}};for(i=0;i<axList.length;i++){var ax=axList[i];if(ax.type!=="category")continue;var match=ax.categoryorder.match(sortAxisCategoriesByValueRegex);if(match){var aggregator=match[1];var order=match[2];var axLetter=ax._id.charAt(0);var isX=axLetter==="x";var categoriesValue=[];for(j=0;j<ax._categories.length;j++){categoriesValue.push([ax._categories[j],[]])}for(j=0;j<ax._traceIndices.length;j++){var traceIndex=ax._traceIndices[j];var fullTrace=gd._fullData[traceIndex];if(fullTrace.visible!==true)continue;var type=fullTrace.type;if(Registry.traceIs(fullTrace,"histogram")){delete fullTrace._xautoBinFinished;delete fullTrace._yautoBinFinished}var isSplom=type==="splom";var isScattergl=type==="scattergl";var cd=gd.calcdata[traceIndex];for(k=0;k<cd.length;k++){var cdi=cd[k];var catIndex,value;if(isSplom){var currentDimensionIndex=fullTrace._axesDim[ax._id];if(!isX){var associatedXAxisID=fullTrace._diag[currentDimensionIndex][0];if(associatedXAxisID)ax=gd._fullLayout[axisIDs.id2name(associatedXAxisID)]}var categories=cdi.trace.dimensions[currentDimensionIndex].values;for(l=0;l<categories.length;l++){catIndex=ax._categoriesMap[categories[l]];for(o=0;o<cdi.trace.dimensions.length;o++){if(o===currentDimensionIndex)continue;var dimension=cdi.trace.dimensions[o];categoriesValue[catIndex][1].push(dimension.values[l])}}}else if(isScattergl){for(l=0;l<cdi.t.x.length;l++){if(isX){catIndex=cdi.t.x[l];value=cdi.t.y[l]}else{catIndex=cdi.t.y[l];value=cdi.t.x[l]}categoriesValue[catIndex][1].push(value)}if(cdi.t&&cdi.t._scene){delete cdi.t._scene.dirty}}else if(cdi.hasOwnProperty("z")){value=cdi.z;var mapping=zMapCategory(fullTrace.type,ax,value);for(l=0;l<value.length;l++){for(o=0;o<value[l].length;o++){catIndex=mapping(o,l);if(catIndex+1)categoriesValue[catIndex][1].push(value[l][o])}}}else{catIndex=cdi.p;if(catIndex===undefined)catIndex=cdi[axLetter];value=cdi.s;if(value===undefined)value=cdi.v;if(value===undefined)value=isX?cdi.y:cdi.x;if(!Array.isArray(value)){if(value===undefined)value=[];else value=[value]}for(l=0;l<value.length;l++){categoriesValue[catIndex][1].push(value[l])}}}}ax._categoriesValue=categoriesValue;var categoriesAggregatedValue=[];for(j=0;j<categoriesValue.length;j++){categoriesAggregatedValue.push([categoriesValue[j][0],aggFn[aggregator](categoriesValue[j][1])])}categoriesAggregatedValue.sort((function(a,b){return a[1]-b[1]}));ax._categoriesAggregatedValue=categoriesAggregatedValue;ax._initialCategories=categoriesAggregatedValue.map((function(c){return c[0]}));if(order==="descending"){ax._initialCategories.reverse()}affectedTraces=affectedTraces.concat(ax.sortByInitialCategories())}}return affectedTraces}function setupAxisCategories(axList,fullData,fullLayout){var axLookup={};function setupOne(ax){ax.clearCalc();if(ax.type==="multicategory"){ax.setupMultiCategory(fullData)}axLookup[ax._id]=1}Lib.simpleMap(axList,setupOne);var matchGroups=fullLayout._axisMatchGroups||[];for(var i=0;i<matchGroups.length;i++){for(var axId in matchGroups[i]){if(!axLookup[axId]){setupOne(fullLayout[axisIDs.id2name(axId)])}}}}function doCrossTraceCalc(gd){var fullLayout=gd._fullLayout;var modules=fullLayout._visibleModules;var hash={};var i,j,k;for(j=0;j<modules.length;j++){var _module=modules[j];var fn=_module.crossTraceCalc;if(fn){var spType=_module.basePlotModule.name;if(hash[spType]){Lib.pushUnique(hash[spType],fn)}else{hash[spType]=[fn]}}}for(k in hash){var methods=hash[k];var subplots=fullLayout._subplots[k];if(Array.isArray(subplots)){for(i=0;i<subplots.length;i++){var sp=subplots[i];var spInfo=k==="cartesian"?fullLayout._plots[sp]:fullLayout[sp];for(j=0;j<methods.length;j++){methods[j](gd,spInfo,sp)}}}else{for(j=0;j<methods.length;j++){methods[j](gd)}}}}plots.rehover=function(gd){if(gd._fullLayout._rehover){gd._fullLayout._rehover()}};plots.redrag=function(gd){if(gd._fullLayout._redrag){gd._fullLayout._redrag()}};plots.generalUpdatePerTraceModule=function(gd,subplot,subplotCalcData,subplotLayout){var traceHashOld=subplot.traceHash;var traceHash={};var i;for(i=0;i<subplotCalcData.length;i++){var calcTraces=subplotCalcData[i];var trace=calcTraces[0].trace;if(trace.visible){traceHash[trace.type]=traceHash[trace.type]||[];traceHash[trace.type].push(calcTraces)}}for(var moduleNameOld in traceHashOld){if(!traceHash[moduleNameOld]){var fakeCalcTrace=traceHashOld[moduleNameOld][0];var fakeTrace=fakeCalcTrace[0].trace;fakeTrace.visible=false;traceHash[moduleNameOld]=[fakeCalcTrace]}}for(var moduleName in traceHash){var moduleCalcData=traceHash[moduleName];var _module=moduleCalcData[0][0].trace._module;_module.plot(gd,subplot,Lib.filterVisible(moduleCalcData),subplotLayout)}subplot.traceHash=traceHash};plots.plotBasePlot=function(desiredType,gd,traces,transitionOpts,makeOnCompleteCallback){var _module=Registry.getModule(desiredType);var cdmodule=getModuleCalcData(gd.calcdata,_module)[0];_module.plot(gd,cdmodule,transitionOpts,makeOnCompleteCallback)};plots.cleanBasePlot=function(desiredType,newFullData,newFullLayout,oldFullData,oldFullLayout){var had=oldFullLayout._has&&oldFullLayout._has(desiredType);var has=newFullLayout._has&&newFullLayout._has(desiredType);if(had&&!has){oldFullLayout["_"+desiredType+"layer"].selectAll("g.trace").remove()}}},{"../components/color":666,"../constants/numerical":779,"../lib":803,"../plot_api/plot_schema":842,"../plot_api/plot_template":843,"../plots/get_data":891,"../registry":931,"./animation_attributes":848,"./attributes":850,"./cartesian/axis_ids":858,"./cartesian/handle_outline":865,"./command":881,"./font_attributes":883,"./frame_attributes":884,"./layout_attributes":908,"@plotly/d3":58,"d3-format":167,"d3-time-format":175,"fast-isnumeric":249}],918:[function(_dereq_,module,exports){"use strict";module.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],919:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var polygonTester=_dereq_("../../lib/polygon").tester;var findIndexOfMin=Lib.findIndexOfMin;var isAngleInsideSector=Lib.isAngleInsideSector;var angleDelta=Lib.angleDelta;var angleDist=Lib.angleDist;function isPtInsidePolygon(r,a,rBnds,aBnds,vangles){if(!isAngleInsideSector(a,aBnds))return false;var r0,r1;if(rBnds[0]<rBnds[1]){r0=rBnds[0];r1=rBnds[1]}else{r0=rBnds[1];r1=rBnds[0]}var polygonIn=polygonTester(makePolygon(r0,aBnds[0],aBnds[1],vangles));var polygonOut=polygonTester(makePolygon(r1,aBnds[0],aBnds[1],vangles));var xy=[r*Math.cos(a),r*Math.sin(a)];return polygonOut.contains(xy)&&!polygonIn.contains(xy)}function findIntersectionXY(v0,v1,a,xpyp){var xstar,ystar;var xp=xpyp[0];var yp=xpyp[1];var dsin=clampTiny(Math.sin(v1)-Math.sin(v0));var dcos=clampTiny(Math.cos(v1)-Math.cos(v0));var tanA=Math.tan(a);var cotanA=clampTiny(1/tanA);var m=dsin/dcos;var b=yp-m*xp;if(cotanA){if(dsin&&dcos){xstar=b/(tanA-m);ystar=tanA*xstar}else if(dcos){xstar=yp*cotanA;ystar=yp}else{xstar=xp;ystar=xp*tanA}}else{if(dsin&&dcos){xstar=0;ystar=b}else if(dcos){xstar=0;ystar=yp}else{xstar=ystar=NaN}}return[xstar,ystar]}function findXYatLength(l,m,xp,yp){var t=-m*xp;var a=m*m+1;var b=2*(m*t-xp);var c=t*t+xp*xp-l*l;var del=Math.sqrt(b*b-4*a*c);var x0=(-b+del)/(2*a);var x1=(-b-del)/(2*a);return[[x0,m*x0+t+yp],[x1,m*x1+t+yp]]}function makeRegularPolygon(r,vangles){var len=vangles.length;var vertices=new Array(len+1);var i;for(i=0;i<len;i++){var va=vangles[i];vertices[i]=[r*Math.cos(va),r*Math.sin(va)]}vertices[i]=vertices[0].slice();return vertices}function makeClippedPolygon(r,a0,a1,vangles){var len=vangles.length;var vertices=[];var i,j;function a2xy(a){return[r*Math.cos(a),r*Math.sin(a)]}function findXY(va0,va1,s){return findIntersectionXY(va0,va1,s,a2xy(va0))}function cycleIndex(ind){return Lib.mod(ind,len)}function isInside(v){return isAngleInsideSector(v,[a0,a1])}var i0=findIndexOfMin(vangles,(function(v){return isInside(v)?angleDist(v,a0):Infinity}));var xy0=findXY(vangles[i0],vangles[cycleIndex(i0-1)],a0);vertices.push(xy0);for(i=i0,j=0;j<len;i++,j++){var va=vangles[cycleIndex(i)];if(!isInside(va))break;vertices.push(a2xy(va))}var iN=findIndexOfMin(vangles,(function(v){return isInside(v)?angleDist(v,a1):Infinity}));var xyN=findXY(vangles[iN],vangles[cycleIndex(iN+1)],a1);vertices.push(xyN);vertices.push([0,0]);vertices.push(vertices[0].slice());return vertices}function makePolygon(r,a0,a1,vangles){return Lib.isFullCircle([a0,a1])?makeRegularPolygon(r,vangles):makeClippedPolygon(r,a0,a1,vangles)}function findPolygonOffset(r,a0,a1,vangles){var minX=Infinity;var minY=Infinity;var vertices=makePolygon(r,a0,a1,vangles);for(var i=0;i<vertices.length;i++){var v=vertices[i];minX=Math.min(minX,v[0]);minY=Math.min(minY,-v[1])}return[minX,minY]}function findEnclosingVertexAngles(a,vangles){var minFn=function(v){var adelta=angleDelta(v,a);return adelta>0?adelta:Infinity};var i0=findIndexOfMin(vangles,minFn);var i1=Lib.mod(i0+1,vangles.length);return[vangles[i0],vangles[i1]]}function clampTiny(v){return Math.abs(v)>1e-10?v:0}function transformForSVG(pts0,cx,cy){cx=cx||0;cy=cy||0;var len=pts0.length;var pts1=new Array(len);for(var i=0;i<len;i++){var pt=pts0[i];pts1[i]=[cx+pt[0],cy-pt[1]]}return pts1}function pathPolygon(r,a0,a1,vangles,cx,cy){var poly=makePolygon(r,a0,a1,vangles);return"M"+transformForSVG(poly,cx,cy).join("L")}function pathPolygonAnnulus(r0,r1,a0,a1,vangles,cx,cy){var rStart,rEnd;if(r0<r1){rStart=r0;rEnd=r1}else{rStart=r1;rEnd=r0}var inner=transformForSVG(makePolygon(rStart,a0,a1,vangles),cx,cy);var outer=transformForSVG(makePolygon(rEnd,a0,a1,vangles),cx,cy);return"M"+outer.reverse().join("L")+"M"+inner.join("L")}module.exports={isPtInsidePolygon:isPtInsidePolygon,findPolygonOffset:findPolygonOffset,findEnclosingVertexAngles:findEnclosingVertexAngles,findIntersectionXY:findIntersectionXY,findXYatLength:findXYatLength,clampTiny:clampTiny,pathPolygon:pathPolygon,pathPolygonAnnulus:pathPolygonAnnulus}},{"../../lib":803,"../../lib/polygon":815}],920:[function(_dereq_,module,exports){"use strict";var getSubplotCalcData=_dereq_("../get_data").getSubplotCalcData;var counterRegex=_dereq_("../../lib").counterRegex;var createPolar=_dereq_("./polar");var constants=_dereq_("./constants");var attr=constants.attr;var name=constants.name;var counter=counterRegex(name);var attributes={};attributes[attr]={valType:"subplotid",dflt:name,editType:"calc"};function plot(gd){var fullLayout=gd._fullLayout;var calcData=gd.calcdata;var subplotIds=fullLayout._subplots[name];for(var i=0;i<subplotIds.length;i++){var id=subplotIds[i];var subplotCalcData=getSubplotCalcData(calcData,name,id);var subplot=fullLayout[id]._subplot;if(!subplot){subplot=createPolar(gd,id);fullLayout[id]._subplot=subplot}subplot.plot(subplotCalcData,fullLayout,gd._promises)}}function clean(newFullData,newFullLayout,oldFullData,oldFullLayout){var oldIds=oldFullLayout._subplots[name]||[];var hadGl=oldFullLayout._has&&oldFullLayout._has("gl");var hasGl=newFullLayout._has&&newFullLayout._has("gl");var mustCleanScene=hadGl&&!hasGl;for(var i=0;i<oldIds.length;i++){var id=oldIds[i];var oldSubplot=oldFullLayout[id]._subplot;if(!newFullLayout[id]&&!!oldSubplot){oldSubplot.framework.remove();oldSubplot.layers["radial-axis-title"].remove();for(var k in oldSubplot.clipPaths){oldSubplot.clipPaths[k].remove()}}if(mustCleanScene&&oldSubplot._scene){oldSubplot._scene.destroy();oldSubplot._scene=null}}}module.exports={attr:attr,name:name,idRoot:name,idRegex:counter,attrRegex:counter,attributes:attributes,layoutAttributes:_dereq_("./layout_attributes"),supplyLayoutDefaults:_dereq_("./layout_defaults"),plot:plot,clean:clean,toSVG:_dereq_("../cartesian").toSVG}},{"../../lib":803,"../cartesian":868,"../get_data":891,"./constants":918,"./layout_attributes":921,"./layout_defaults":922,"./polar":923}],921:[function(_dereq_,module,exports){"use strict";var colorAttrs=_dereq_("../../components/color/attributes");var axesAttrs=_dereq_("../cartesian/layout_attributes");var domainAttrs=_dereq_("../domain").attributes;var extendFlat=_dereq_("../../lib").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var axisLineGridAttr=overrideAll({color:axesAttrs.color,showline:extendFlat({},axesAttrs.showline,{dflt:true}),linecolor:axesAttrs.linecolor,linewidth:axesAttrs.linewidth,showgrid:extendFlat({},axesAttrs.showgrid,{dflt:true}),gridcolor:axesAttrs.gridcolor,gridwidth:axesAttrs.gridwidth},"plot","from-root");var axisTickAttrs=overrideAll({tickmode:axesAttrs.tickmode,nticks:axesAttrs.nticks,tick0:axesAttrs.tick0,dtick:axesAttrs.dtick,tickvals:axesAttrs.tickvals,ticktext:axesAttrs.ticktext,ticks:axesAttrs.ticks,ticklen:axesAttrs.ticklen,tickwidth:axesAttrs.tickwidth,tickcolor:axesAttrs.tickcolor,showticklabels:axesAttrs.showticklabels,showtickprefix:axesAttrs.showtickprefix,tickprefix:axesAttrs.tickprefix,showticksuffix:axesAttrs.showticksuffix,ticksuffix:axesAttrs.ticksuffix,showexponent:axesAttrs.showexponent,exponentformat:axesAttrs.exponentformat,minexponent:axesAttrs.minexponent,separatethousands:axesAttrs.separatethousands,tickfont:axesAttrs.tickfont,tickangle:axesAttrs.tickangle,tickformat:axesAttrs.tickformat,tickformatstops:axesAttrs.tickformatstops,layer:axesAttrs.layer},"plot","from-root");var radialAxisAttrs={visible:extendFlat({},axesAttrs.visible,{dflt:true}),type:extendFlat({},axesAttrs.type,{values:["-","linear","log","date","category"]}),autotypenumbers:axesAttrs.autotypenumbers,autorange:extendFlat({},axesAttrs.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},range:extendFlat({},axesAttrs.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":false}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":false}}],editType:"plot"}),categoryorder:axesAttrs.categoryorder,categoryarray:axesAttrs.categoryarray,angle:{valType:"angle",editType:"plot"},side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:extendFlat({},axesAttrs.title.text,{editType:"plot",dflt:""}),font:extendFlat({},axesAttrs.title.font,{editType:"plot"}),editType:"plot"},hoverformat:axesAttrs.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{title:axesAttrs._deprecated.title,titlefont:axesAttrs._deprecated.titlefont}};extendFlat(radialAxisAttrs,axisLineGridAttr,axisTickAttrs);var angularAxisAttrs={visible:extendFlat({},axesAttrs.visible,{dflt:true}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:true},autotypenumbers:axesAttrs.autotypenumbers,categoryorder:axesAttrs.categoryorder,categoryarray:axesAttrs.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:axesAttrs.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};extendFlat(angularAxisAttrs,axisLineGridAttr,axisTickAttrs);module.exports={domain:domainAttrs({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:colorAttrs.background},radialaxis:radialAxisAttrs,angularaxis:angularAxisAttrs,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}},{"../../components/color/attributes":665,"../../lib":803,"../../plot_api/edit_types":836,"../cartesian/layout_attributes":869,"../domain":882}],922:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var Template=_dereq_("../../plot_api/plot_template");var handleSubplotDefaults=_dereq_("../subplot_defaults");var getSubplotData=_dereq_("../get_data").getSubplotData;var handleTickValueDefaults=_dereq_("../cartesian/tick_value_defaults");var handleTickMarkDefaults=_dereq_("../cartesian/tick_mark_defaults");var handleTickLabelDefaults=_dereq_("../cartesian/tick_label_defaults");var handleCategoryOrderDefaults=_dereq_("../cartesian/category_order_defaults");var handleLineGridDefaults=_dereq_("../cartesian/line_grid_defaults");var autoType=_dereq_("../cartesian/axis_autotype");var layoutAttributes=_dereq_("./layout_attributes");var setConvert=_dereq_("./set_convert");var constants=_dereq_("./constants");var axisNames=constants.axisNames;function handleDefaults(contIn,contOut,coerce,opts){var bgColor=coerce("bgcolor");opts.bgColor=Color.combine(bgColor,opts.paper_bgcolor);var sector=coerce("sector");coerce("hole");var subplotData=getSubplotData(opts.fullData,constants.name,opts.id);var layoutOut=opts.layoutOut;var axName;function coerceAxis(attr,dflt){return coerce(axName+"."+attr,dflt)}for(var i=0;i<axisNames.length;i++){axName=axisNames[i];if(!Lib.isPlainObject(contIn[axName])){contIn[axName]={}}var axIn=contIn[axName];var axOut=Template.newContainer(contOut,axName);axOut._id=axOut._name=axName;axOut._attr=opts.id+"."+axName;axOut._traceIndices=subplotData.map((function(t){return t._expandedIndex}));var dataAttr=constants.axisName2dataArray[axName];var axType=handleAxisTypeDefaults(axIn,axOut,coerceAxis,subplotData,dataAttr,opts);handleCategoryOrderDefaults(axIn,axOut,coerceAxis,{axData:subplotData,dataAttr:dataAttr});var visible=coerceAxis("visible");setConvert(axOut,contOut,layoutOut);coerceAxis("uirevision",contOut.uirevision);var dfltColor;var dfltFontColor;if(visible){dfltColor=coerceAxis("color");dfltFontColor=dfltColor===axIn.color?dfltColor:opts.font.color}axOut._m=1;switch(axName){case"radialaxis":var autoRange=coerceAxis("autorange",!axOut.isValidRange(axIn.range));axIn.autorange=autoRange;if(autoRange&&(axType==="linear"||axType==="-"))coerceAxis("rangemode");if(autoRange==="reversed")axOut._m=-1;coerceAxis("range");axOut.cleanRange("range",{dfltRange:[0,1]});if(visible){coerceAxis("side");coerceAxis("angle",sector[0]);coerceAxis("title.text");Lib.coerceFont(coerceAxis,"title.font",{family:opts.font.family,size:Lib.bigFont(opts.font.size),color:dfltFontColor})}break;case"angularaxis":if(axType==="date"){Lib.log("Polar plots do not support date angular axes yet.");for(var j=0;j<subplotData.length;j++){subplotData[j].visible=false}axType=axIn.type=axOut.type="linear"}if(axType==="linear"){coerceAxis("thetaunit")}else{coerceAxis("period")}var direction=coerceAxis("direction");coerceAxis("rotation",{counterclockwise:0,clockwise:90}[direction]);break}if(visible){handleTickValueDefaults(axIn,axOut,coerceAxis,axOut.type);handleTickLabelDefaults(axIn,axOut,coerceAxis,axOut.type,{tickSuffixDflt:axOut.thetaunit==="degrees"?"°":undefined});handleTickMarkDefaults(axIn,axOut,coerceAxis,{outerTicks:true});var showTickLabels=coerceAxis("showticklabels");if(showTickLabels){Lib.coerceFont(coerceAxis,"tickfont",{family:opts.font.family,size:opts.font.size,color:dfltFontColor});coerceAxis("tickangle");coerceAxis("tickformat")}handleLineGridDefaults(axIn,axOut,coerceAxis,{dfltColor:dfltColor,bgColor:opts.bgColor,blend:60,showLine:true,showGrid:true,noZeroLine:true,attributes:layoutAttributes[axName]});coerceAxis("layer")}if(axType!=="category")coerceAxis("hoverformat");axOut._input=axIn}if(contOut.angularaxis.type==="category"){coerce("gridshape")}}function handleAxisTypeDefaults(axIn,axOut,coerce,subplotData,dataAttr,options){var autotypenumbers=coerce("autotypenumbers",options.autotypenumbersDflt);var axType=coerce("type");if(axType==="-"){var trace;for(var i=0;i<subplotData.length;i++){if(subplotData[i].visible){trace=subplotData[i];break}}if(trace&&trace[dataAttr]){axOut.type=autoType(trace[dataAttr],"gregorian",{noMultiCategory:true,autotypenumbers:autotypenumbers})}if(axOut.type==="-"){axOut.type="linear"}else{axIn.type=axOut.type}}return axOut.type}module.exports=function supplyLayoutDefaults(layoutIn,layoutOut,fullData){handleSubplotDefaults(layoutIn,layoutOut,fullData,{type:constants.name,attributes:layoutAttributes,handleDefaults:handleDefaults,font:layoutOut.font,autotypenumbersDflt:layoutOut.autotypenumbers,paper_bgcolor:layoutOut.paper_bgcolor,fullData:fullData,layoutOut:layoutOut})}},{"../../components/color":666,"../../lib":803,"../../plot_api/plot_template":843,"../cartesian/axis_autotype":855,"../cartesian/category_order_defaults":859,"../cartesian/line_grid_defaults":871,"../cartesian/tick_label_defaults":876,"../cartesian/tick_mark_defaults":877,"../cartesian/tick_value_defaults":878,"../get_data":891,"../subplot_defaults":925,"./constants":918,"./layout_attributes":921,"./set_convert":924}],923:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var tinycolor=_dereq_("tinycolor2");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var strRotate=Lib.strRotate;var strTranslate=Lib.strTranslate;var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var Plots=_dereq_("../plots");var Axes=_dereq_("../../plots/cartesian/axes");var setConvertCartesian=_dereq_("../cartesian/set_convert");var setConvertPolar=_dereq_("./set_convert");var doAutoRange=_dereq_("../cartesian/autorange").doAutoRange;var dragBox=_dereq_("../cartesian/dragbox");var dragElement=_dereq_("../../components/dragelement");var Fx=_dereq_("../../components/fx");var Titles=_dereq_("../../components/titles");var prepSelect=_dereq_("../cartesian/select").prepSelect;var selectOnClick=_dereq_("../cartesian/select").selectOnClick;var clearSelect=_dereq_("../cartesian/select").clearSelect;var setCursor=_dereq_("../../lib/setcursor");var clearGlCanvases=_dereq_("../../lib/clear_gl_canvases");var redrawReglTraces=_dereq_("../../plot_api/subroutines").redrawReglTraces;var MID_SHIFT=_dereq_("../../constants/alignment").MID_SHIFT;var constants=_dereq_("./constants");var helpers=_dereq_("./helpers");var _=Lib._;var mod=Lib.mod;var deg2rad=Lib.deg2rad;var rad2deg=Lib.rad2deg;function Polar(gd,id){this.id=id;this.gd=gd;this._hasClipOnAxisFalse=null;this.vangles=null;this.radialAxisAngle=null;this.traceHash={};this.layers={};this.clipPaths={};this.clipIds={};this.viewInitial={};var fullLayout=gd._fullLayout;var clipIdBase="clip"+fullLayout._uid+id;this.clipIds.forTraces=clipIdBase+"-for-traces";this.clipPaths.forTraces=fullLayout._clips.append("clipPath").attr("id",this.clipIds.forTraces);this.clipPaths.forTraces.append("path");this.framework=fullLayout._polarlayer.append("g").attr("class",id);this.radialTickLayout=null;this.angularTickLayout=null}var proto=Polar.prototype;module.exports=function createPolar(gd,id){return new Polar(gd,id)};proto.plot=function(polarCalcData,fullLayout){var _this=this;var polarLayout=fullLayout[_this.id];_this._hasClipOnAxisFalse=false;for(var i=0;i<polarCalcData.length;i++){var trace=polarCalcData[i][0].trace;if(trace.cliponaxis===false){_this._hasClipOnAxisFalse=true;break}}_this.updateLayers(fullLayout,polarLayout);_this.updateLayout(fullLayout,polarLayout);Plots.generalUpdatePerTraceModule(_this.gd,_this,polarCalcData,polarLayout);_this.updateFx(fullLayout,polarLayout)};proto.updateLayers=function(fullLayout,polarLayout){var _this=this;var layers=_this.layers;var radialLayout=polarLayout.radialaxis;var angularLayout=polarLayout.angularaxis;var layerNames=constants.layerNames;var frontPlotIndex=layerNames.indexOf("frontplot");var layerData=layerNames.slice(0,frontPlotIndex);var isAngularAxisBelowTraces=angularLayout.layer==="below traces";var isRadialAxisBelowTraces=radialLayout.layer==="below traces";if(isAngularAxisBelowTraces)layerData.push("angular-line");if(isRadialAxisBelowTraces)layerData.push("radial-line");if(isAngularAxisBelowTraces)layerData.push("angular-axis");if(isRadialAxisBelowTraces)layerData.push("radial-axis");layerData.push("frontplot");if(!isAngularAxisBelowTraces)layerData.push("angular-line");if(!isRadialAxisBelowTraces)layerData.push("radial-line");if(!isAngularAxisBelowTraces)layerData.push("angular-axis");if(!isRadialAxisBelowTraces)layerData.push("radial-axis");var join=_this.framework.selectAll(".polarsublayer").data(layerData,String);join.enter().append("g").attr("class",(function(d){return"polarsublayer "+d})).each((function(d){var sel=layers[d]=d3.select(this);switch(d){case"frontplot":sel.append("g").classed("barlayer",true);sel.append("g").classed("scatterlayer",true);break;case"backplot":sel.append("g").classed("maplayer",true);break;case"plotbg":layers.bg=sel.append("path");break;case"radial-grid":sel.style("fill","none");break;case"angular-grid":sel.style("fill","none");break;case"radial-line":sel.append("line").style("fill","none");break;case"angular-line":sel.append("path").style("fill","none");break}}));join.order()};proto.updateLayout=function(fullLayout,polarLayout){var _this=this;var layers=_this.layers;var gs=fullLayout._size;var radialLayout=polarLayout.radialaxis;var angularLayout=polarLayout.angularaxis;var xDomain=polarLayout.domain.x;var yDomain=polarLayout.domain.y;_this.xOffset=gs.l+gs.w*xDomain[0];_this.yOffset=gs.t+gs.h*(1-yDomain[1]);var xLength=_this.xLength=gs.w*(xDomain[1]-xDomain[0]);var yLength=_this.yLength=gs.h*(yDomain[1]-yDomain[0]);var sector=polarLayout.sector;_this.sectorInRad=sector.map(deg2rad);var sectorBBox=_this.sectorBBox=computeSectorBBox(sector);var dxSectorBBox=sectorBBox[2]-sectorBBox[0];var dySectorBBox=sectorBBox[3]-sectorBBox[1];var arDomain=yLength/xLength;var arSector=Math.abs(dySectorBBox/dxSectorBBox);var xLength2,yLength2;var xDomain2,yDomain2;var gap;if(arDomain>arSector){xLength2=xLength;yLength2=xLength*arSector;gap=(yLength-yLength2)/gs.h/2;xDomain2=[xDomain[0],xDomain[1]];yDomain2=[yDomain[0]+gap,yDomain[1]-gap]}else{xLength2=yLength/arSector;yLength2=yLength;gap=(xLength-xLength2)/gs.w/2;xDomain2=[xDomain[0]+gap,xDomain[1]-gap];yDomain2=[yDomain[0],yDomain[1]]}_this.xLength2=xLength2;_this.yLength2=yLength2;_this.xDomain2=xDomain2;_this.yDomain2=yDomain2;var xOffset2=_this.xOffset2=gs.l+gs.w*xDomain2[0];var yOffset2=_this.yOffset2=gs.t+gs.h*(1-yDomain2[1]);var radius=_this.radius=xLength2/dxSectorBBox;var innerRadius=_this.innerRadius=polarLayout.hole*radius;var cx=_this.cx=xOffset2-radius*sectorBBox[0];var cy=_this.cy=yOffset2+radius*sectorBBox[3];var cxx=_this.cxx=cx-xOffset2;var cyy=_this.cyy=cy-yOffset2;_this.radialAxis=_this.mockAxis(fullLayout,polarLayout,radialLayout,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[radialLayout.side],_realSide:radialLayout.side,domain:[innerRadius/gs.w,radius/gs.w]});_this.angularAxis=_this.mockAxis(fullLayout,polarLayout,angularLayout,{side:"right",domain:[0,Math.PI],autorange:false});_this.doAutoRange(fullLayout,polarLayout);_this.updateAngularAxis(fullLayout,polarLayout);_this.updateRadialAxis(fullLayout,polarLayout);_this.updateRadialAxisTitle(fullLayout,polarLayout);_this.xaxis=_this.mockCartesianAxis(fullLayout,polarLayout,{_id:"x",domain:xDomain2});_this.yaxis=_this.mockCartesianAxis(fullLayout,polarLayout,{_id:"y",domain:yDomain2});var dPath=_this.pathSubplot();_this.clipPaths.forTraces.select("path").attr("d",dPath).attr("transform",strTranslate(cxx,cyy));layers.frontplot.attr("transform",strTranslate(xOffset2,yOffset2)).call(Drawing.setClipUrl,_this._hasClipOnAxisFalse?null:_this.clipIds.forTraces,_this.gd);layers.bg.attr("d",dPath).attr("transform",strTranslate(cx,cy)).call(Color.fill,polarLayout.bgcolor)};proto.mockAxis=function(fullLayout,polarLayout,axLayout,opts){var ax=Lib.extendFlat({},axLayout,opts);setConvertPolar(ax,polarLayout,fullLayout);return ax};proto.mockCartesianAxis=function(fullLayout,polarLayout,opts){var _this=this;var axId=opts._id;var ax=Lib.extendFlat({type:"linear"},opts);setConvertCartesian(ax,fullLayout);var bboxIndices={x:[0,2],y:[1,3]};ax.setRange=function(){var sectorBBox=_this.sectorBBox;var ind=bboxIndices[axId];var rl=_this.radialAxis._rl;var drl=(rl[1]-rl[0])/(1-polarLayout.hole);ax.range=[sectorBBox[ind[0]]*drl,sectorBBox[ind[1]]*drl]};ax.isPtWithinRange=axId==="x"?function(d){return _this.isPtInside(d)}:function(){return true};ax.setRange();ax.setScale();return ax};proto.doAutoRange=function(fullLayout,polarLayout){var gd=this.gd;var radialAxis=this.radialAxis;var radialLayout=polarLayout.radialaxis;radialAxis.setScale();doAutoRange(gd,radialAxis);var rng=radialAxis.range;radialLayout.range=rng.slice();radialLayout._input.range=rng.slice();radialAxis._rl=[radialAxis.r2l(rng[0],null,"gregorian"),radialAxis.r2l(rng[1],null,"gregorian")]};proto.updateRadialAxis=function(fullLayout,polarLayout){var _this=this;var gd=_this.gd;var layers=_this.layers;var radius=_this.radius;var innerRadius=_this.innerRadius;var cx=_this.cx;var cy=_this.cy;var radialLayout=polarLayout.radialaxis;var a0=mod(polarLayout.sector[0],360);var ax=_this.radialAxis;var hasRoomForIt=innerRadius<radius;_this.fillViewInitialKey("radialaxis.angle",radialLayout.angle);_this.fillViewInitialKey("radialaxis.range",ax.range.slice());ax.setGeometry();if(ax.tickangle==="auto"&&(a0>90&&a0<=270)){ax.tickangle=180}var transFn=function(d){return strTranslate(ax.l2p(d.x)+innerRadius,0)};var gridPathFn=function(d){return _this.pathArc(ax.r2p(d.x)+innerRadius)};var newTickLayout=strTickLayout(radialLayout);if(_this.radialTickLayout!==newTickLayout){layers["radial-axis"].selectAll(".xtick").remove();_this.radialTickLayout=newTickLayout}if(hasRoomForIt){ax.setScale();var vals=Axes.calcTicks(ax);var valsClipped=Axes.clipEnds(ax,vals);var tickSign=Axes.getTickSigns(ax)[2];Axes.drawTicks(gd,ax,{vals:vals,layer:layers["radial-axis"],path:Axes.makeTickPath(ax,0,tickSign),transFn:transFn,crisp:false});Axes.drawGrid(gd,ax,{vals:valsClipped,layer:layers["radial-grid"],path:gridPathFn,transFn:Lib.noop,crisp:false});Axes.drawLabels(gd,ax,{vals:vals,layer:layers["radial-axis"],transFn:transFn,labelFns:Axes.makeLabelFns(ax,0)})}var angle=_this.radialAxisAngle=_this.vangles?rad2deg(snapToVertexAngle(deg2rad(radialLayout.angle),_this.vangles)):radialLayout.angle;var tLayer=strTranslate(cx,cy);var tLayer2=tLayer+strRotate(-angle);updateElement(layers["radial-axis"],hasRoomForIt&&(radialLayout.showticklabels||radialLayout.ticks),{transform:tLayer2});updateElement(layers["radial-grid"],hasRoomForIt&&radialLayout.showgrid,{transform:tLayer});updateElement(layers["radial-line"].select("line"),hasRoomForIt&&radialLayout.showline,{x1:innerRadius,y1:0,x2:radius,y2:0,transform:tLayer2}).attr("stroke-width",radialLayout.linewidth).call(Color.stroke,radialLayout.linecolor)};proto.updateRadialAxisTitle=function(fullLayout,polarLayout,_angle){var _this=this;var gd=_this.gd;var radius=_this.radius;var cx=_this.cx;var cy=_this.cy;var radialLayout=polarLayout.radialaxis;var titleClass=_this.id+"title";var angle=_angle!==undefined?_angle:_this.radialAxisAngle;var angleRad=deg2rad(angle);var cosa=Math.cos(angleRad);var sina=Math.sin(angleRad);var pad=0;if(radialLayout.title){var h=Drawing.bBox(_this.layers["radial-axis"].node()).height;var ts=radialLayout.title.font.size;pad=radialLayout.side==="counterclockwise"?-h-ts*.4:h+ts*.8}_this.layers["radial-axis-title"]=Titles.draw(gd,titleClass,{propContainer:radialLayout,propName:_this.id+".radialaxis.title",placeholder:_(gd,"Click to enter radial axis title"),attributes:{x:cx+radius/2*cosa+pad*sina,y:cy-radius/2*sina+pad*cosa,"text-anchor":"middle"},transform:{rotate:-angle}})};proto.updateAngularAxis=function(fullLayout,polarLayout){var _this=this;var gd=_this.gd;var layers=_this.layers;var radius=_this.radius;var innerRadius=_this.innerRadius;var cx=_this.cx;var cy=_this.cy;var angularLayout=polarLayout.angularaxis;var ax=_this.angularAxis;_this.fillViewInitialKey("angularaxis.rotation",angularLayout.rotation);ax.setGeometry();ax.setScale();var t2g=function(d){return ax.t2g(d.x)};if(ax.type==="linear"&&ax.thetaunit==="radians"){ax.tick0=rad2deg(ax.tick0);ax.dtick=rad2deg(ax.dtick)}var _transFn=function(rad){return strTranslate(cx+radius*Math.cos(rad),cy-radius*Math.sin(rad))};var transFn=function(d){return _transFn(t2g(d))};var transFn2=function(d){var rad=t2g(d);return _transFn(rad)+strRotate(-rad2deg(rad))};var gridPathFn=function(d){var rad=t2g(d);var cosRad=Math.cos(rad);var sinRad=Math.sin(rad);return"M"+[cx+innerRadius*cosRad,cy-innerRadius*sinRad]+"L"+[cx+radius*cosRad,cy-radius*sinRad]};var out=Axes.makeLabelFns(ax,0);var labelStandoff=out.labelStandoff;var labelFns={};labelFns.xFn=function(d){var rad=t2g(d);return Math.cos(rad)*labelStandoff};labelFns.yFn=function(d){var rad=t2g(d);var ff=Math.sin(rad)>0?.2:1;return-Math.sin(rad)*(labelStandoff+d.fontSize*ff)+Math.abs(Math.cos(rad))*(d.fontSize*MID_SHIFT)};labelFns.anchorFn=function(d){var rad=t2g(d);var cos=Math.cos(rad);return Math.abs(cos)<.1?"middle":cos>0?"start":"end"};labelFns.heightFn=function(d,a,h){var rad=t2g(d);return-.5*(1+Math.sin(rad))*h};var newTickLayout=strTickLayout(angularLayout);if(_this.angularTickLayout!==newTickLayout){layers["angular-axis"].selectAll("."+ax._id+"tick").remove();_this.angularTickLayout=newTickLayout}var vals=Axes.calcTicks(ax);var vangles;if(polarLayout.gridshape==="linear"){vangles=vals.map(t2g);if(Lib.angleDelta(vangles[0],vangles[1])<0){vangles=vangles.slice().reverse()}}else{vangles=null}_this.vangles=vangles;if(ax.type==="category"){vals=vals.filter((function(d){return Lib.isAngleInsideSector(t2g(d),_this.sectorInRad)}))}if(ax.visible){var tickSign=ax.ticks==="inside"?-1:1;var pad=(ax.linewidth||1)/2;Axes.drawTicks(gd,ax,{vals:vals,layer:layers["angular-axis"],path:"M"+tickSign*pad+",0h"+tickSign*ax.ticklen,transFn:transFn2,crisp:false});Axes.drawGrid(gd,ax,{vals:vals,layer:layers["angular-grid"],path:gridPathFn,transFn:Lib.noop,crisp:false});Axes.drawLabels(gd,ax,{vals:vals,layer:layers["angular-axis"],repositionOnUpdate:true,transFn:transFn,labelFns:labelFns})}updateElement(layers["angular-line"].select("path"),angularLayout.showline,{d:_this.pathSubplot(),transform:strTranslate(cx,cy)}).attr("stroke-width",angularLayout.linewidth).call(Color.stroke,angularLayout.linecolor)};proto.updateFx=function(fullLayout,polarLayout){if(!this.gd._context.staticPlot){this.updateAngularDrag(fullLayout);this.updateRadialDrag(fullLayout,polarLayout,0);this.updateRadialDrag(fullLayout,polarLayout,1);this.updateMainDrag(fullLayout)}};proto.updateMainDrag=function(fullLayout){var _this=this;var gd=_this.gd;var layers=_this.layers;var zoomlayer=fullLayout._zoomlayer;var MINZOOM=constants.MINZOOM;var OFFEDGE=constants.OFFEDGE;var radius=_this.radius;var innerRadius=_this.innerRadius;var cx=_this.cx;var cy=_this.cy;var cxx=_this.cxx;var cyy=_this.cyy;var sectorInRad=_this.sectorInRad;var vangles=_this.vangles;var radialAxis=_this.radialAxis;var clampTiny=helpers.clampTiny;var findXYatLength=helpers.findXYatLength;var findEnclosingVertexAngles=helpers.findEnclosingVertexAngles;var chw=constants.cornerHalfWidth;var chl=constants.cornerLen/2;var scaleX;var scaleY;var mainDrag=dragBox.makeDragger(layers,"path","maindrag","crosshair");d3.select(mainDrag).attr("d",_this.pathSubplot()).attr("transform",strTranslate(cx,cy));var dragOpts={element:mainDrag,gd:gd,subplot:_this.id,plotinfo:{id:_this.id,xaxis:_this.xaxis,yaxis:_this.yaxis},xaxes:[_this.xaxis],yaxes:[_this.yaxis]};var x0,y0;var r0,r1;var path0,dimmed,lum;var zb,corners;function norm(x,y){return Math.sqrt(x*x+y*y)}function xy2r(x,y){return norm(x-cxx,y-cyy)}function xy2a(x,y){return Math.atan2(cyy-y,x-cxx)}function ra2xy(r,a){return[r*Math.cos(a),r*Math.sin(-a)]}function pathCorner(r,a){if(r===0)return _this.pathSector(2*chw);var da=chl/r;var am=a-da;var ap=a+da;var rb=Math.max(0,Math.min(r,radius));var rm=rb-chw;var rp=rb+chw;return"M"+ra2xy(rm,am)+"A"+[rm,rm]+" 0,0,0 "+ra2xy(rm,ap)+"L"+ra2xy(rp,ap)+"A"+[rp,rp]+" 0,0,1 "+ra2xy(rp,am)+"Z"}function pathCornerForPolygons(r,va0,va1){if(r===0)return _this.pathSector(2*chw);var xy0=ra2xy(r,va0);var xy1=ra2xy(r,va1);var x=clampTiny((xy0[0]+xy1[0])/2);var y=clampTiny((xy0[1]+xy1[1])/2);var innerPts,outerPts;if(x&&y){var m=y/x;var mperp=-1/m;var midPts=findXYatLength(chw,m,x,y);innerPts=findXYatLength(chl,mperp,midPts[0][0],midPts[0][1]);outerPts=findXYatLength(chl,mperp,midPts[1][0],midPts[1][1])}else{var dx,dy;if(y){dx=chl;dy=chw}else{dx=chw;dy=chl}innerPts=[[x-dx,y-dy],[x+dx,y-dy]];outerPts=[[x-dx,y+dy],[x+dx,y+dy]]}return"M"+innerPts.join("L")+"L"+outerPts.reverse().join("L")+"Z"}function zoomPrep(){r0=null;r1=null;path0=_this.pathSubplot();dimmed=false;var polarLayoutNow=gd._fullLayout[_this.id];lum=tinycolor(polarLayoutNow.bgcolor).getLuminance();zb=dragBox.makeZoombox(zoomlayer,lum,cx,cy,path0);zb.attr("fill-rule","evenodd");corners=dragBox.makeCorners(zoomlayer,cx,cy);clearSelect(gd)}function clampAndSetR0R1(rr0,rr1){rr1=Math.max(Math.min(rr1,radius),innerRadius);if(rr0<OFFEDGE)rr0=0;else if(radius-rr0<OFFEDGE)rr0=radius;else if(rr1<OFFEDGE)rr1=0;else if(radius-rr1<OFFEDGE)rr1=radius;if(Math.abs(rr1-rr0)>MINZOOM){if(rr0<rr1){r0=rr0;r1=rr1}else{r0=rr1;r1=rr0}return true}else{r0=null;r1=null;return false}}function applyZoomMove(path1,cpath){path1=path1||path0;cpath=cpath||"M0,0Z";zb.attr("d",path1);corners.attr("d",cpath);dragBox.transitionZoombox(zb,corners,dimmed,lum);dimmed=true;var updateObj={};computeZoomUpdates(updateObj);gd.emit("plotly_relayouting",updateObj)}function zoomMove(dx,dy){dx=dx*scaleX;dy=dy*scaleY;var x1=x0+dx;var y1=y0+dy;var rr0=xy2r(x0,y0);var rr1=Math.min(xy2r(x1,y1),radius);var a0=xy2a(x0,y0);var path1;var cpath;if(clampAndSetR0R1(rr0,rr1)){path1=path0+_this.pathSector(r1);if(r0)path1+=_this.pathSector(r0);cpath=pathCorner(r0,a0)+pathCorner(r1,a0)}applyZoomMove(path1,cpath)}function findPolygonRadius(x,y,va0,va1){var xy=helpers.findIntersectionXY(va0,va1,va0,[x-cxx,cyy-y]);return norm(xy[0],xy[1])}function zoomMoveForPolygons(dx,dy){var x1=x0+dx;var y1=y0+dy;var a0=xy2a(x0,y0);var a1=xy2a(x1,y1);var vangles0=findEnclosingVertexAngles(a0,vangles);var vangles1=findEnclosingVertexAngles(a1,vangles);var rr0=findPolygonRadius(x0,y0,vangles0[0],vangles0[1]);var rr1=Math.min(findPolygonRadius(x1,y1,vangles1[0],vangles1[1]),radius);var path1;var cpath;if(clampAndSetR0R1(rr0,rr1)){path1=path0+_this.pathSector(r1);if(r0)path1+=_this.pathSector(r0);cpath=[pathCornerForPolygons(r0,vangles0[0],vangles0[1]),pathCornerForPolygons(r1,vangles0[0],vangles0[1])].join(" ")}applyZoomMove(path1,cpath)}function zoomDone(){dragBox.removeZoombox(gd);if(r0===null||r1===null)return;var updateObj={};computeZoomUpdates(updateObj);dragBox.showDoubleClickNotifier(gd);Registry.call("_guiRelayout",gd,updateObj)}function computeZoomUpdates(update){var rl=radialAxis._rl;var m=(rl[1]-rl[0])/(1-innerRadius/radius)/radius;var newRng=[rl[0]+(r0-innerRadius)*m,rl[0]+(r1-innerRadius)*m];update[_this.id+".radialaxis.range"]=newRng}function zoomClick(numClicks,evt){var clickMode=gd._fullLayout.clickmode;dragBox.removeZoombox(gd);if(numClicks===2){var updateObj={};for(var k in _this.viewInitial){updateObj[_this.id+"."+k]=_this.viewInitial[k]}gd.emit("plotly_doubleclick",null);Registry.call("_guiRelayout",gd,updateObj)}if(clickMode.indexOf("select")>-1&&numClicks===1){selectOnClick(evt,gd,[_this.xaxis],[_this.yaxis],_this.id,dragOpts)}if(clickMode.indexOf("event")>-1){Fx.click(gd,evt,_this.id)}}dragOpts.prepFn=function(evt,startX,startY){var dragModeNow=gd._fullLayout.dragmode;var bbox=mainDrag.getBoundingClientRect();gd._fullLayout._calcInverseTransform(gd);var inverse=gd._fullLayout._invTransform;scaleX=gd._fullLayout._invScaleX;scaleY=gd._fullLayout._invScaleY;var transformedCoords=Lib.apply3DTransform(inverse)(startX-bbox.left,startY-bbox.top);x0=transformedCoords[0];y0=transformedCoords[1];if(vangles){var offset=helpers.findPolygonOffset(radius,sectorInRad[0],sectorInRad[1],vangles);x0+=cxx+offset[0];y0+=cyy+offset[1]}switch(dragModeNow){case"zoom":if(vangles){dragOpts.moveFn=zoomMoveForPolygons}else{dragOpts.moveFn=zoomMove}dragOpts.clickFn=zoomClick;dragOpts.doneFn=zoomDone;zoomPrep(evt,startX,startY);break;case"select":case"lasso":prepSelect(evt,startX,startY,dragOpts,dragModeNow);break}};mainDrag.onmousemove=function(evt){Fx.hover(gd,evt,_this.id);gd._fullLayout._lasthover=mainDrag;gd._fullLayout._hoversubplot=_this.id};mainDrag.onmouseout=function(evt){if(gd._dragging)return;dragElement.unhover(gd,evt)};dragElement.init(dragOpts)};proto.updateRadialDrag=function(fullLayout,polarLayout,rngIndex){var _this=this;var gd=_this.gd;var layers=_this.layers;var radius=_this.radius;var innerRadius=_this.innerRadius;var cx=_this.cx;var cy=_this.cy;var radialAxis=_this.radialAxis;var bl=constants.radialDragBoxSize;var bl2=bl/2;if(!radialAxis.visible)return;var angle0=deg2rad(_this.radialAxisAngle);var rl=radialAxis._rl;var rl0=rl[0];var rl1=rl[1];var rbase=rl[rngIndex];var m=.75*(rl[1]-rl[0])/(1-polarLayout.hole)/radius;var tx,ty,className;if(rngIndex){tx=cx+(radius+bl2)*Math.cos(angle0);ty=cy-(radius+bl2)*Math.sin(angle0);className="radialdrag"}else{tx=cx+(innerRadius-bl2)*Math.cos(angle0);ty=cy-(innerRadius-bl2)*Math.sin(angle0);className="radialdrag-inner"}var radialDrag=dragBox.makeRectDragger(layers,className,"crosshair",-bl2,-bl2,bl,bl);var dragOpts={element:radialDrag,gd:gd};updateElement(d3.select(radialDrag),radialAxis.visible&&innerRadius<radius,{transform:strTranslate(tx,ty)});var moveFn2;var angle1;var rprime;function moveFn(dx,dy){if(moveFn2){moveFn2(dx,dy)}else{var dvec=[dx,-dy];var rvec=[Math.cos(angle0),Math.sin(angle0)];var comp=Math.abs(Lib.dot(dvec,rvec)/Math.sqrt(Lib.dot(dvec,dvec)));if(!isNaN(comp)){moveFn2=comp<.5?rotateMove:rerangeMove}}var update={};computeRadialAxisUpdates(update);gd.emit("plotly_relayouting",update)}function computeRadialAxisUpdates(update){if(angle1!==null){update[_this.id+".radialaxis.angle"]=angle1}else if(rprime!==null){update[_this.id+".radialaxis.range["+rngIndex+"]"]=rprime}}function doneFn(){if(angle1!==null){Registry.call("_guiRelayout",gd,_this.id+".radialaxis.angle",angle1)}else if(rprime!==null){Registry.call("_guiRelayout",gd,_this.id+".radialaxis.range["+rngIndex+"]",rprime)}}function rotateMove(dx,dy){if(rngIndex===0)return;var x1=tx+dx;var y1=ty+dy;angle1=Math.atan2(cy-y1,x1-cx);if(_this.vangles)angle1=snapToVertexAngle(angle1,_this.vangles);angle1=rad2deg(angle1);var transform=strTranslate(cx,cy)+strRotate(-angle1);layers["radial-axis"].attr("transform",transform);layers["radial-line"].select("line").attr("transform",transform);var fullLayoutNow=_this.gd._fullLayout;var polarLayoutNow=fullLayoutNow[_this.id];_this.updateRadialAxisTitle(fullLayoutNow,polarLayoutNow,angle1)}function rerangeMove(dx,dy){var dr=Lib.dot([dx,-dy],[Math.cos(angle0),Math.sin(angle0)]);rprime=rbase-m*dr;if(m>0!==(rngIndex?rprime>rl0:rprime<rl1)){rprime=null;return}var fullLayoutNow=gd._fullLayout;var polarLayoutNow=fullLayoutNow[_this.id];radialAxis.range[rngIndex]=rprime;radialAxis._rl[rngIndex]=rprime;_this.updateRadialAxis(fullLayoutNow,polarLayoutNow);_this.xaxis.setRange();_this.xaxis.setScale();_this.yaxis.setRange();_this.yaxis.setScale();var hasRegl=false;for(var traceType in _this.traceHash){var moduleCalcData=_this.traceHash[traceType];var moduleCalcDataVisible=Lib.filterVisible(moduleCalcData);var _module=moduleCalcData[0][0].trace._module;_module.plot(gd,_this,moduleCalcDataVisible,polarLayoutNow);if(Registry.traceIs(traceType,"gl")&&moduleCalcDataVisible.length)hasRegl=true}if(hasRegl){clearGlCanvases(gd);redrawReglTraces(gd)}}dragOpts.prepFn=function(){moveFn2=null;angle1=null;rprime=null;dragOpts.moveFn=moveFn;dragOpts.doneFn=doneFn;clearSelect(gd)};dragOpts.clampFn=function(dx,dy){if(Math.sqrt(dx*dx+dy*dy)<constants.MINDRAG){dx=0;dy=0}return[dx,dy]};dragElement.init(dragOpts)};proto.updateAngularDrag=function(fullLayout){var _this=this;var gd=_this.gd;var layers=_this.layers;var radius=_this.radius;var angularAxis=_this.angularAxis;var cx=_this.cx;var cy=_this.cy;var cxx=_this.cxx;var cyy=_this.cyy;var dbs=constants.angularDragBoxSize;var angularDrag=dragBox.makeDragger(layers,"path","angulardrag","move");var dragOpts={element:angularDrag,gd:gd};d3.select(angularDrag).attr("d",_this.pathAnnulus(radius,radius+dbs)).attr("transform",strTranslate(cx,cy)).call(setCursor,"move");function xy2a(x,y){return Math.atan2(cyy+dbs-y,x-cxx-dbs)}var scatterTraces=layers.frontplot.select(".scatterlayer").selectAll(".trace");var scatterPoints=scatterTraces.selectAll(".point");var scatterTextPoints=scatterTraces.selectAll(".textpoint");var x0,y0;var rot0,rot1;var rrot1;var a0;function moveFn(dx,dy){var fullLayoutNow=_this.gd._fullLayout;var polarLayoutNow=fullLayoutNow[_this.id];var x1=x0+dx*fullLayout._invScaleX;var y1=y0+dy*fullLayout._invScaleY;var a1=xy2a(x1,y1);var da=rad2deg(a1-a0);rot1=rot0+da;layers.frontplot.attr("transform",strTranslate(_this.xOffset2,_this.yOffset2)+strRotate([-da,cxx,cyy]));if(_this.vangles){rrot1=_this.radialAxisAngle+da;var trans=strTranslate(cx,cy)+strRotate(-da);var trans2=strTranslate(cx,cy)+strRotate(-rrot1);layers.bg.attr("transform",trans);layers["radial-grid"].attr("transform",trans);layers["radial-axis"].attr("transform",trans2);layers["radial-line"].select("line").attr("transform",trans2);_this.updateRadialAxisTitle(fullLayoutNow,polarLayoutNow,rrot1)}else{_this.clipPaths.forTraces.select("path").attr("transform",strTranslate(cxx,cyy)+strRotate(da))}scatterPoints.each((function(){var sel=d3.select(this);var xy=Drawing.getTranslate(sel);sel.attr("transform",strTranslate(xy.x,xy.y)+strRotate([da]))}));scatterTextPoints.each((function(){var sel=d3.select(this);var tx=sel.select("text");var xy=Drawing.getTranslate(sel);sel.attr("transform",strRotate([da,tx.attr("x"),tx.attr("y")])+strTranslate(xy.x,xy.y))}));angularAxis.rotation=Lib.modHalf(rot1,360);_this.updateAngularAxis(fullLayoutNow,polarLayoutNow);if(_this._hasClipOnAxisFalse&&!Lib.isFullCircle(_this.sectorInRad)){scatterTraces.call(Drawing.hideOutsideRangePoints,_this)}var hasRegl=false;for(var traceType in _this.traceHash){if(Registry.traceIs(traceType,"gl")){var moduleCalcData=_this.traceHash[traceType];var moduleCalcDataVisible=Lib.filterVisible(moduleCalcData);var _module=moduleCalcData[0][0].trace._module;_module.plot(gd,_this,moduleCalcDataVisible,polarLayoutNow);if(moduleCalcDataVisible.length)hasRegl=true}}if(hasRegl){clearGlCanvases(gd);redrawReglTraces(gd)}var update={};computeRotationUpdates(update);gd.emit("plotly_relayouting",update)}function computeRotationUpdates(updateObj){updateObj[_this.id+".angularaxis.rotation"]=rot1;if(_this.vangles){updateObj[_this.id+".radialaxis.angle"]=rrot1}}function doneFn(){scatterTextPoints.select("text").attr("transform",null);var updateObj={};computeRotationUpdates(updateObj);Registry.call("_guiRelayout",gd,updateObj)}dragOpts.prepFn=function(evt,startX,startY){var polarLayoutNow=fullLayout[_this.id];rot0=polarLayoutNow.angularaxis.rotation;var bbox=angularDrag.getBoundingClientRect();x0=startX-bbox.left;y0=startY-bbox.top;gd._fullLayout._calcInverseTransform(gd);var transformedCoords=Lib.apply3DTransform(fullLayout._invTransform)(x0,y0);x0=transformedCoords[0];y0=transformedCoords[1];a0=xy2a(x0,y0);dragOpts.moveFn=moveFn;dragOpts.doneFn=doneFn;clearSelect(gd)};if(_this.vangles&&!Lib.isFullCircle(_this.sectorInRad)){dragOpts.prepFn=Lib.noop;setCursor(d3.select(angularDrag),null)}dragElement.init(dragOpts)};proto.isPtInside=function(d){var sectorInRad=this.sectorInRad;var vangles=this.vangles;var thetag=this.angularAxis.c2g(d.theta);var radialAxis=this.radialAxis;var r=radialAxis.c2l(d.r);var rl=radialAxis._rl;var fn=vangles?helpers.isPtInsidePolygon:Lib.isPtInsideSector;return fn(r,thetag,rl,sectorInRad,vangles)};proto.pathArc=function(r){var sectorInRad=this.sectorInRad;var vangles=this.vangles;var fn=vangles?helpers.pathPolygon:Lib.pathArc;return fn(r,sectorInRad[0],sectorInRad[1],vangles)};proto.pathSector=function(r){var sectorInRad=this.sectorInRad;var vangles=this.vangles;var fn=vangles?helpers.pathPolygon:Lib.pathSector;return fn(r,sectorInRad[0],sectorInRad[1],vangles)};proto.pathAnnulus=function(r0,r1){var sectorInRad=this.sectorInRad;var vangles=this.vangles;var fn=vangles?helpers.pathPolygonAnnulus:Lib.pathAnnulus;return fn(r0,r1,sectorInRad[0],sectorInRad[1],vangles)};proto.pathSubplot=function(){var r0=this.innerRadius;var r1=this.radius;return r0?this.pathAnnulus(r0,r1):this.pathSector(r1)};proto.fillViewInitialKey=function(key,val){if(!(key in this.viewInitial)){this.viewInitial[key]=val}};function strTickLayout(axLayout){var out=axLayout.ticks+String(axLayout.ticklen)+String(axLayout.showticklabels);if("side"in axLayout)out+=axLayout.side;return out}function computeSectorBBox(sector){var s0=sector[0];var s1=sector[1];var arc=s1-s0;var a0=mod(s0,360);var a1=a0+arc;var ax0=Math.cos(deg2rad(a0));var ay0=Math.sin(deg2rad(a0));var ax1=Math.cos(deg2rad(a1));var ay1=Math.sin(deg2rad(a1));var x0,y0,x1,y1;if(a0<=90&&a1>=90||a0>90&&a1>=450){y1=1}else if(ay0<=0&&ay1<=0){y1=0}else{y1=Math.max(ay0,ay1)}if(a0<=180&&a1>=180||a0>180&&a1>=540){x0=-1}else if(ax0>=0&&ax1>=0){x0=0}else{x0=Math.min(ax0,ax1)}if(a0<=270&&a1>=270||a0>270&&a1>=630){y0=-1}else if(ay0>=0&&ay1>=0){y0=0}else{y0=Math.min(ay0,ay1)}if(a1>=360){x1=1}else if(ax0<=0&&ax1<=0){x1=0}else{x1=Math.max(ax0,ax1)}return[x0,y0,x1,y1]}function snapToVertexAngle(a,vangles){var fn=function(v){return Lib.angleDist(a,v)};var ind=Lib.findIndexOfMin(vangles,fn);return vangles[ind]}function updateElement(sel,showAttr,attrs){if(showAttr){sel.attr("display",null);sel.attr(attrs)}else if(sel){sel.attr("display","none")}return sel}},{"../../components/color":666,"../../components/dragelement":685,"../../components/drawing":688,"../../components/fx":706,"../../components/titles":764,"../../constants/alignment":771,"../../lib":803,"../../lib/clear_gl_canvases":787,"../../lib/setcursor":824,"../../plot_api/subroutines":844,"../../plots/cartesian/axes":854,"../../registry":931,"../cartesian/autorange":853,"../cartesian/dragbox":863,"../cartesian/select":874,"../cartesian/set_convert":875,"../plots":917,"./constants":918,"./helpers":919,"./set_convert":924,"@plotly/d3":58,tinycolor2:598}],924:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var setConvertCartesian=_dereq_("../cartesian/set_convert");var deg2rad=Lib.deg2rad;var rad2deg=Lib.rad2deg;module.exports=function setConvert(ax,polarLayout,fullLayout){setConvertCartesian(ax,fullLayout);switch(ax._id){case"x":case"radialaxis":setConvertRadial(ax,polarLayout);break;case"angularaxis":setConvertAngular(ax,polarLayout);break}};function setConvertRadial(ax,polarLayout){var subplot=polarLayout._subplot;ax.setGeometry=function(){var rl0=ax._rl[0];var rl1=ax._rl[1];var b=subplot.innerRadius;var m=(subplot.radius-b)/(rl1-rl0);var b2=b/m;var rFilter=rl0>rl1?function(v){return v<=0}:function(v){return v>=0};ax.c2g=function(v){var r=ax.c2l(v)-rl0;return(rFilter(r)?r:0)+b2};ax.g2c=function(v){return ax.l2c(v+rl0-b2)};ax.g2p=function(v){return v*m};ax.c2p=function(v){return ax.g2p(ax.c2g(v))}}}function toRadians(v,unit){return unit==="degrees"?deg2rad(v):v}function fromRadians(v,unit){return unit==="degrees"?rad2deg(v):v}function setConvertAngular(ax,polarLayout){var axType=ax.type;if(axType==="linear"){var _d2c=ax.d2c;var _c2d=ax.c2d;ax.d2c=function(v,unit){return toRadians(_d2c(v),unit)};ax.c2d=function(v,unit){return _c2d(fromRadians(v,unit))}}ax.makeCalcdata=function(trace,coord){var arrayIn=trace[coord];var len=trace._length;var arrayOut,i;var _d2c=function(v){return ax.d2c(v,trace.thetaunit)};if(arrayIn){if(Lib.isTypedArray(arrayIn)&&axType==="linear"){if(len===arrayIn.length){return arrayIn}else if(arrayIn.subarray){return arrayIn.subarray(0,len)}}arrayOut=new Array(len);for(i=0;i<len;i++){arrayOut[i]=_d2c(arrayIn[i])}}else{var coord0=coord+"0";var dcoord="d"+coord;var v0=coord0 in trace?_d2c(trace[coord0]):0;var dv=trace[dcoord]?_d2c(trace[dcoord]):(ax.period||2*Math.PI)/len;arrayOut=new Array(len);for(i=0;i<len;i++){arrayOut[i]=v0+i*dv}}return arrayOut};ax.setGeometry=function(){var sector=polarLayout.sector;var sectorInRad=sector.map(deg2rad);var dir={clockwise:-1,counterclockwise:1}[ax.direction];var rot=deg2rad(ax.rotation);var rad2g=function(v){return dir*v+rot};var g2rad=function(v){return(v-rot)/dir};var rad2c,c2rad;var rad2t,t2rad;switch(axType){case"linear":c2rad=rad2c=Lib.identity;t2rad=deg2rad;rad2t=rad2deg;ax.range=Lib.isFullCircle(sectorInRad)?[sector[0],sector[0]+360]:sectorInRad.map(g2rad).map(rad2deg);break;case"category":var catLen=ax._categories.length;var _period=ax.period?Math.max(ax.period,catLen):catLen;if(_period===0)_period=1;c2rad=t2rad=function(v){return v*2*Math.PI/_period};rad2c=rad2t=function(v){return v*_period/Math.PI/2};ax.range=[0,_period];break}ax.c2g=function(v){return rad2g(c2rad(v))};ax.g2c=function(v){return rad2c(g2rad(v))};ax.t2g=function(v){return rad2g(t2rad(v))};ax.g2t=function(v){return rad2t(g2rad(v))}}}},{"../../lib":803,"../cartesian/set_convert":875}],925:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var Template=_dereq_("../plot_api/plot_template");var handleDomainDefaults=_dereq_("./domain").defaults;module.exports=function handleSubplotDefaults(layoutIn,layoutOut,fullData,opts){var subplotType=opts.type;var subplotAttributes=opts.attributes;var handleDefaults=opts.handleDefaults;var partition=opts.partition||"x";var ids=layoutOut._subplots[subplotType];var idsLength=ids.length;var baseId=idsLength&&ids[0].replace(/\d+$/,"");var subplotLayoutIn,subplotLayoutOut;function coerce(attr,dflt){return Lib.coerce(subplotLayoutIn,subplotLayoutOut,subplotAttributes,attr,dflt)}for(var i=0;i<idsLength;i++){var id=ids[i];if(layoutIn[id])subplotLayoutIn=layoutIn[id];else subplotLayoutIn=layoutIn[id]={};subplotLayoutOut=Template.newContainer(layoutOut,id,baseId);coerce("uirevision",layoutOut.uirevision);var dfltDomains={};dfltDomains[partition]=[i/idsLength,(i+1)/idsLength];handleDomainDefaults(subplotLayoutOut,layoutOut,coerce,dfltDomains);opts.id=id;handleDefaults(subplotLayoutIn,subplotLayoutOut,coerce,opts)}}},{"../lib":803,"../plot_api/plot_template":843,"./domain":882}],926:[function(_dereq_,module,exports){"use strict";var docs=_dereq_("../constants/docs");var FORMAT_LINK=docs.FORMAT_LINK;var DATE_FORMAT_LINK=docs.DATE_FORMAT_LINK;function templateFormatStringDescription(opts){var supportOther=opts&&opts.supportOther;return["Variables are inserted using %{variable},",'for example "y: %{y}"'+(supportOther?" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown.":"."),'Numbers are formatted using d3-format\'s syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".',FORMAT_LINK,"for details on the formatting syntax.",'Dates are formatted using d3-time-format\'s syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".',DATE_FORMAT_LINK,"for details on the date formatting syntax."].join(" ")}function describeVariables(extra){var descPart=extra.description?" "+extra.description:"";var keys=extra.keys||[];if(keys.length>0){var quotedKeys=[];for(var i=0;i<keys.length;i++){quotedKeys[i]="`"+keys[i]+"`"}descPart=descPart+"Finally, the template string has access to ";if(keys.length===1){descPart="variable "+quotedKeys[0]}else{descPart="variables "+quotedKeys.slice(0,-1).join(", ")+" and "+quotedKeys.slice(-1)+"."}}return descPart}exports.hovertemplateAttrs=function(opts,extra){opts=opts||{};extra=extra||{};var descPart=describeVariables(extra);var hovertemplate={valType:"string",dflt:"",editType:opts.editType||"none"};if(opts.arrayOk!==false){hovertemplate.arrayOk=true}return hovertemplate};exports.texttemplateAttrs=function(opts,extra){opts=opts||{};extra=extra||{};var descPart=describeVariables(extra);var texttemplate={valType:"string",dflt:"",editType:opts.editType||"calc"};if(opts.arrayOk!==false){texttemplate.arrayOk=true}return texttemplate}},{"../constants/docs":774}],927:[function(_dereq_,module,exports){"use strict";var Ternary=_dereq_("./ternary");var getSubplotCalcData=_dereq_("../../plots/get_data").getSubplotCalcData;var counterRegex=_dereq_("../../lib").counterRegex;var TERNARY="ternary";exports.name=TERNARY;var attr=exports.attr="subplot";exports.idRoot=TERNARY;exports.idRegex=exports.attrRegex=counterRegex(TERNARY);var attributes=exports.attributes={};attributes[attr]={valType:"subplotid",dflt:"ternary",editType:"calc"};exports.layoutAttributes=_dereq_("./layout_attributes");exports.supplyLayoutDefaults=_dereq_("./layout_defaults");exports.plot=function plot(gd){var fullLayout=gd._fullLayout;var calcData=gd.calcdata;var ternaryIds=fullLayout._subplots[TERNARY];for(var i=0;i<ternaryIds.length;i++){var ternaryId=ternaryIds[i];var ternaryCalcData=getSubplotCalcData(calcData,TERNARY,ternaryId);var ternary=fullLayout[ternaryId]._subplot;if(!ternary){ternary=new Ternary({id:ternaryId,graphDiv:gd,container:fullLayout._ternarylayer.node()},fullLayout);fullLayout[ternaryId]._subplot=ternary}ternary.plot(ternaryCalcData,fullLayout,gd._promises)}};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var oldTernaryKeys=oldFullLayout._subplots[TERNARY]||[];for(var i=0;i<oldTernaryKeys.length;i++){var oldTernaryKey=oldTernaryKeys[i];var oldTernary=oldFullLayout[oldTernaryKey]._subplot;if(!newFullLayout[oldTernaryKey]&&!!oldTernary){oldTernary.plotContainer.remove();oldTernary.clipDef.remove();oldTernary.clipDefRelative.remove();oldTernary.layers["a-title"].remove();oldTernary.layers["b-title"].remove();oldTernary.layers["c-title"].remove()}}}},{"../../lib":803,"../../plots/get_data":891,"./layout_attributes":928,"./layout_defaults":929,"./ternary":930}],928:[function(_dereq_,module,exports){"use strict";var colorAttrs=_dereq_("../../components/color/attributes");var domainAttrs=_dereq_("../domain").attributes;var axesAttrs=_dereq_("../cartesian/layout_attributes");var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var extendFlat=_dereq_("../../lib/extend").extendFlat;var ternaryAxesAttrs={title:{text:axesAttrs.title.text,font:axesAttrs.title.font},color:axesAttrs.color,tickmode:axesAttrs.tickmode,nticks:extendFlat({},axesAttrs.nticks,{dflt:6,min:1}),tick0:axesAttrs.tick0,dtick:axesAttrs.dtick,tickvals:axesAttrs.tickvals,ticktext:axesAttrs.ticktext,ticks:axesAttrs.ticks,ticklen:axesAttrs.ticklen,tickwidth:axesAttrs.tickwidth,tickcolor:axesAttrs.tickcolor,showticklabels:axesAttrs.showticklabels,showtickprefix:axesAttrs.showtickprefix,tickprefix:axesAttrs.tickprefix,showticksuffix:axesAttrs.showticksuffix,ticksuffix:axesAttrs.ticksuffix,showexponent:axesAttrs.showexponent,exponentformat:axesAttrs.exponentformat,minexponent:axesAttrs.minexponent,separatethousands:axesAttrs.separatethousands,tickfont:axesAttrs.tickfont,tickangle:axesAttrs.tickangle,tickformat:axesAttrs.tickformat,tickformatstops:axesAttrs.tickformatstops,hoverformat:axesAttrs.hoverformat,showline:extendFlat({},axesAttrs.showline,{dflt:true}),linecolor:axesAttrs.linecolor,linewidth:axesAttrs.linewidth,showgrid:extendFlat({},axesAttrs.showgrid,{dflt:true}),gridcolor:axesAttrs.gridcolor,gridwidth:axesAttrs.gridwidth,layer:axesAttrs.layer,min:{valType:"number",dflt:0,min:0},_deprecated:{title:axesAttrs._deprecated.title,titlefont:axesAttrs._deprecated.titlefont}};var attrs=module.exports=overrideAll({domain:domainAttrs({name:"ternary"}),bgcolor:{valType:"color",dflt:colorAttrs.background},sum:{valType:"number",dflt:1,min:0},aaxis:ternaryAxesAttrs,baxis:ternaryAxesAttrs,caxis:ternaryAxesAttrs},"plot","from-root");attrs.uirevision={valType:"any",editType:"none"};attrs.aaxis.uirevision=attrs.baxis.uirevision=attrs.caxis.uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":665,"../../lib/extend":793,"../../plot_api/edit_types":836,"../cartesian/layout_attributes":869,"../domain":882}],929:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../components/color");var Template=_dereq_("../../plot_api/plot_template");var Lib=_dereq_("../../lib");var handleSubplotDefaults=_dereq_("../subplot_defaults");var handleTickLabelDefaults=_dereq_("../cartesian/tick_label_defaults");var handleTickMarkDefaults=_dereq_("../cartesian/tick_mark_defaults");var handleTickValueDefaults=_dereq_("../cartesian/tick_value_defaults");var handleLineGridDefaults=_dereq_("../cartesian/line_grid_defaults");var layoutAttributes=_dereq_("./layout_attributes");var axesNames=["aaxis","baxis","caxis"];module.exports=function supplyLayoutDefaults(layoutIn,layoutOut,fullData){handleSubplotDefaults(layoutIn,layoutOut,fullData,{type:"ternary",attributes:layoutAttributes,handleDefaults:handleTernaryDefaults,font:layoutOut.font,paper_bgcolor:layoutOut.paper_bgcolor})};function handleTernaryDefaults(ternaryLayoutIn,ternaryLayoutOut,coerce,options){var bgColor=coerce("bgcolor");var sum=coerce("sum");options.bgColor=Color.combine(bgColor,options.paper_bgcolor);var axName,containerIn,containerOut;for(var j=0;j<axesNames.length;j++){axName=axesNames[j];containerIn=ternaryLayoutIn[axName]||{};containerOut=Template.newContainer(ternaryLayoutOut,axName);containerOut._name=axName;handleAxisDefaults(containerIn,containerOut,options,ternaryLayoutOut)}var aaxis=ternaryLayoutOut.aaxis;var baxis=ternaryLayoutOut.baxis;var caxis=ternaryLayoutOut.caxis;if(aaxis.min+baxis.min+caxis.min>=sum){aaxis.min=0;baxis.min=0;caxis.min=0;if(ternaryLayoutIn.aaxis)delete ternaryLayoutIn.aaxis.min;if(ternaryLayoutIn.baxis)delete ternaryLayoutIn.baxis.min;if(ternaryLayoutIn.caxis)delete ternaryLayoutIn.caxis.min}}function handleAxisDefaults(containerIn,containerOut,options,ternaryLayoutOut){var axAttrs=layoutAttributes[containerOut._name];function coerce(attr,dflt){return Lib.coerce(containerIn,containerOut,axAttrs,attr,dflt)}coerce("uirevision",ternaryLayoutOut.uirevision);containerOut.type="linear";var dfltColor=coerce("color");var dfltFontColor=dfltColor!==axAttrs.color.dflt?dfltColor:options.font.color;var axName=containerOut._name;var letterUpper=axName.charAt(0).toUpperCase();var dfltTitle="Component "+letterUpper;var title=coerce("title.text",dfltTitle);containerOut._hovertitle=title===dfltTitle?title:letterUpper;Lib.coerceFont(coerce,"title.font",{family:options.font.family,size:Lib.bigFont(options.font.size),color:dfltFontColor});coerce("min");handleTickValueDefaults(containerIn,containerOut,coerce,"linear");handleTickLabelDefaults(containerIn,containerOut,coerce,"linear",{});handleTickMarkDefaults(containerIn,containerOut,coerce,{outerTicks:true});var showTickLabels=coerce("showticklabels");if(showTickLabels){Lib.coerceFont(coerce,"tickfont",{family:options.font.family,size:options.font.size,color:dfltFontColor});coerce("tickangle");coerce("tickformat")}handleLineGridDefaults(containerIn,containerOut,coerce,{dfltColor:dfltColor,bgColor:options.bgColor,blend:60,showLine:true,showGrid:true,noZeroLine:true,attributes:axAttrs});coerce("hoverformat");coerce("layer")}},{"../../components/color":666,"../../lib":803,"../../plot_api/plot_template":843,"../cartesian/line_grid_defaults":871,"../cartesian/tick_label_defaults":876,"../cartesian/tick_mark_defaults":877,"../cartesian/tick_value_defaults":878,"../subplot_defaults":925,"./layout_attributes":928}],930:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var tinycolor=_dereq_("tinycolor2");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var _=Lib._;var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var setConvert=_dereq_("../cartesian/set_convert");var extendFlat=_dereq_("../../lib/extend").extendFlat;var Plots=_dereq_("../plots");var Axes=_dereq_("../cartesian/axes");var dragElement=_dereq_("../../components/dragelement");var Fx=_dereq_("../../components/fx");var dragHelpers=_dereq_("../../components/dragelement/helpers");var freeMode=dragHelpers.freeMode;var rectMode=dragHelpers.rectMode;var Titles=_dereq_("../../components/titles");var prepSelect=_dereq_("../cartesian/select").prepSelect;var selectOnClick=_dereq_("../cartesian/select").selectOnClick;var clearSelect=_dereq_("../cartesian/select").clearSelect;var clearSelectionsCache=_dereq_("../cartesian/select").clearSelectionsCache;var constants=_dereq_("../cartesian/constants");function Ternary(options,fullLayout){this.id=options.id;this.graphDiv=options.graphDiv;this.init(fullLayout);this.makeFramework(fullLayout);this.aTickLayout=null;this.bTickLayout=null;this.cTickLayout=null}module.exports=Ternary;var proto=Ternary.prototype;proto.init=function(fullLayout){this.container=fullLayout._ternarylayer;this.defs=fullLayout._defs;this.layoutId=fullLayout._uid;this.traceHash={};this.layers={}};proto.plot=function(ternaryCalcData,fullLayout){var _this=this;var ternaryLayout=fullLayout[_this.id];var graphSize=fullLayout._size;_this._hasClipOnAxisFalse=false;for(var i=0;i<ternaryCalcData.length;i++){var trace=ternaryCalcData[i][0].trace;if(trace.cliponaxis===false){_this._hasClipOnAxisFalse=true;break}}_this.updateLayers(ternaryLayout);_this.adjustLayout(ternaryLayout,graphSize);Plots.generalUpdatePerTraceModule(_this.graphDiv,_this,ternaryCalcData,ternaryLayout);_this.layers.plotbg.select("path").call(Color.fill,ternaryLayout.bgcolor)};proto.makeFramework=function(fullLayout){var _this=this;var gd=_this.graphDiv;var ternaryLayout=fullLayout[_this.id];var clipId=_this.clipId="clip"+_this.layoutId+_this.id;var clipIdRelative=_this.clipIdRelative="clip-relative"+_this.layoutId+_this.id;_this.clipDef=Lib.ensureSingleById(fullLayout._clips,"clipPath",clipId,(function(s){s.append("path").attr("d","M0,0Z")}));_this.clipDefRelative=Lib.ensureSingleById(fullLayout._clips,"clipPath",clipIdRelative,(function(s){s.append("path").attr("d","M0,0Z")}));_this.plotContainer=Lib.ensureSingle(_this.container,"g",_this.id);_this.updateLayers(ternaryLayout);Drawing.setClipUrl(_this.layers.backplot,clipId,gd);Drawing.setClipUrl(_this.layers.grids,clipId,gd)};proto.updateLayers=function(ternaryLayout){var _this=this;var layers=_this.layers;var plotLayers=["draglayer","plotbg","backplot","grids"];if(ternaryLayout.aaxis.layer==="below traces"){plotLayers.push("aaxis","aline")}if(ternaryLayout.baxis.layer==="below traces"){plotLayers.push("baxis","bline")}if(ternaryLayout.caxis.layer==="below traces"){plotLayers.push("caxis","cline")}plotLayers.push("frontplot");if(ternaryLayout.aaxis.layer==="above traces"){plotLayers.push("aaxis","aline")}if(ternaryLayout.baxis.layer==="above traces"){plotLayers.push("baxis","bline")}if(ternaryLayout.caxis.layer==="above traces"){plotLayers.push("caxis","cline")}var toplevel=_this.plotContainer.selectAll("g.toplevel").data(plotLayers,String);var grids=["agrid","bgrid","cgrid"];toplevel.enter().append("g").attr("class",(function(d){return"toplevel "+d})).each((function(d){var s=d3.select(this);layers[d]=s;if(d==="frontplot"){s.append("g").classed("scatterlayer",true)}else if(d==="backplot"){s.append("g").classed("maplayer",true)}else if(d==="plotbg"){s.append("path").attr("d","M0,0Z")}else if(d==="aline"||d==="bline"||d==="cline"){s.append("path")}else if(d==="grids"){grids.forEach((function(d){layers[d]=s.append("g").classed("grid "+d,true)}))}}));toplevel.order()};var whRatio=Math.sqrt(4/3);proto.adjustLayout=function(ternaryLayout,graphSize){var _this=this;var domain=ternaryLayout.domain;var xDomainCenter=(domain.x[0]+domain.x[1])/2;var yDomainCenter=(domain.y[0]+domain.y[1])/2;var xDomain=domain.x[1]-domain.x[0];var yDomain=domain.y[1]-domain.y[0];var wmax=xDomain*graphSize.w;var hmax=yDomain*graphSize.h;var sum=ternaryLayout.sum;var amin=ternaryLayout.aaxis.min;var bmin=ternaryLayout.baxis.min;var cmin=ternaryLayout.caxis.min;var x0,y0,w,h,xDomainFinal,yDomainFinal;if(wmax>whRatio*hmax){h=hmax;w=h*whRatio}else{w=wmax;h=w/whRatio}xDomainFinal=xDomain*w/wmax;yDomainFinal=yDomain*h/hmax;x0=graphSize.l+graphSize.w*xDomainCenter-w/2;y0=graphSize.t+graphSize.h*(1-yDomainCenter)-h/2;_this.x0=x0;_this.y0=y0;_this.w=w;_this.h=h;_this.sum=sum;_this.xaxis={type:"linear",range:[amin+2*cmin-sum,sum-amin-2*bmin],domain:[xDomainCenter-xDomainFinal/2,xDomainCenter+xDomainFinal/2],_id:"x"};setConvert(_this.xaxis,_this.graphDiv._fullLayout);_this.xaxis.setScale();_this.xaxis.isPtWithinRange=function(d){return d.a>=_this.aaxis.range[0]&&d.a<=_this.aaxis.range[1]&&d.b>=_this.baxis.range[1]&&d.b<=_this.baxis.range[0]&&d.c>=_this.caxis.range[1]&&d.c<=_this.caxis.range[0]};_this.yaxis={type:"linear",range:[amin,sum-bmin-cmin],domain:[yDomainCenter-yDomainFinal/2,yDomainCenter+yDomainFinal/2],_id:"y"};setConvert(_this.yaxis,_this.graphDiv._fullLayout);_this.yaxis.setScale();_this.yaxis.isPtWithinRange=function(){return true};var yDomain0=_this.yaxis.domain[0];var aaxis=_this.aaxis=extendFlat({},ternaryLayout.aaxis,{range:[amin,sum-bmin-cmin],side:"left",tickangle:(+ternaryLayout.aaxis.tickangle||0)-30,domain:[yDomain0,yDomain0+yDomainFinal*whRatio],anchor:"free",position:0,_id:"y",_length:w});setConvert(aaxis,_this.graphDiv._fullLayout);aaxis.setScale();var baxis=_this.baxis=extendFlat({},ternaryLayout.baxis,{range:[sum-amin-cmin,bmin],side:"bottom",domain:_this.xaxis.domain,anchor:"free",position:0,_id:"x",_length:w});setConvert(baxis,_this.graphDiv._fullLayout);baxis.setScale();var caxis=_this.caxis=extendFlat({},ternaryLayout.caxis,{range:[sum-amin-bmin,cmin],side:"right",tickangle:(+ternaryLayout.caxis.tickangle||0)+30,domain:[yDomain0,yDomain0+yDomainFinal*whRatio],anchor:"free",position:0,_id:"y",_length:w});setConvert(caxis,_this.graphDiv._fullLayout);caxis.setScale();var triangleClip="M"+x0+","+(y0+h)+"h"+w+"l-"+w/2+",-"+h+"Z";_this.clipDef.select("path").attr("d",triangleClip);_this.layers.plotbg.select("path").attr("d",triangleClip);var triangleClipRelative="M0,"+h+"h"+w+"l-"+w/2+",-"+h+"Z";_this.clipDefRelative.select("path").attr("d",triangleClipRelative);var plotTransform=strTranslate(x0,y0);_this.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",plotTransform);_this.clipDefRelative.select("path").attr("transform",null);var bTransform=strTranslate(x0-baxis._offset,y0+h);_this.layers.baxis.attr("transform",bTransform);_this.layers.bgrid.attr("transform",bTransform);var aTransform=strTranslate(x0+w/2,y0)+"rotate(30)"+strTranslate(0,-aaxis._offset);_this.layers.aaxis.attr("transform",aTransform);_this.layers.agrid.attr("transform",aTransform);var cTransform=strTranslate(x0+w/2,y0)+"rotate(-30)"+strTranslate(0,-caxis._offset);_this.layers.caxis.attr("transform",cTransform);_this.layers.cgrid.attr("transform",cTransform);_this.drawAxes(true);_this.layers.aline.select("path").attr("d",aaxis.showline?"M"+x0+","+(y0+h)+"l"+w/2+",-"+h:"M0,0").call(Color.stroke,aaxis.linecolor||"#000").style("stroke-width",(aaxis.linewidth||0)+"px");_this.layers.bline.select("path").attr("d",baxis.showline?"M"+x0+","+(y0+h)+"h"+w:"M0,0").call(Color.stroke,baxis.linecolor||"#000").style("stroke-width",(baxis.linewidth||0)+"px");_this.layers.cline.select("path").attr("d",caxis.showline?"M"+(x0+w/2)+","+y0+"l"+w/2+","+h:"M0,0").call(Color.stroke,caxis.linecolor||"#000").style("stroke-width",(caxis.linewidth||0)+"px");if(!_this.graphDiv._context.staticPlot){_this.initInteractions()}Drawing.setClipUrl(_this.layers.frontplot,_this._hasClipOnAxisFalse?null:_this.clipId,_this.graphDiv)};proto.drawAxes=function(doTitles){var _this=this;var gd=_this.graphDiv;var titlesuffix=_this.id.substr(7)+"title";var layers=_this.layers;var aaxis=_this.aaxis;var baxis=_this.baxis;var caxis=_this.caxis;_this.drawAx(aaxis);_this.drawAx(baxis);_this.drawAx(caxis);if(doTitles){var apad=Math.max(aaxis.showticklabels?aaxis.tickfont.size/2:0,(caxis.showticklabels?caxis.tickfont.size*.75:0)+(caxis.ticks==="outside"?caxis.ticklen*.87:0));var bpad=(baxis.showticklabels?baxis.tickfont.size:0)+(baxis.ticks==="outside"?baxis.ticklen:0)+3;layers["a-title"]=Titles.draw(gd,"a"+titlesuffix,{propContainer:aaxis,propName:_this.id+".aaxis.title",placeholder:_(gd,"Click to enter Component A title"),attributes:{x:_this.x0+_this.w/2,y:_this.y0-aaxis.title.font.size/3-apad,"text-anchor":"middle"}});layers["b-title"]=Titles.draw(gd,"b"+titlesuffix,{propContainer:baxis,propName:_this.id+".baxis.title",placeholder:_(gd,"Click to enter Component B title"),attributes:{x:_this.x0-bpad,y:_this.y0+_this.h+baxis.title.font.size*.83+bpad,"text-anchor":"middle"}});layers["c-title"]=Titles.draw(gd,"c"+titlesuffix,{propContainer:caxis,propName:_this.id+".caxis.title",placeholder:_(gd,"Click to enter Component C title"),attributes:{x:_this.x0+_this.w+bpad,y:_this.y0+_this.h+caxis.title.font.size*.83+bpad,"text-anchor":"middle"}})}};proto.drawAx=function(ax){var _this=this;var gd=_this.graphDiv;var axName=ax._name;var axLetter=axName.charAt(0);var axId=ax._id;var axLayer=_this.layers[axName];var counterAngle=30;var stashKey=axLetter+"tickLayout";var newTickLayout=strTickLayout(ax);if(_this[stashKey]!==newTickLayout){axLayer.selectAll("."+axId+"tick").remove();_this[stashKey]=newTickLayout}ax.setScale();var vals=Axes.calcTicks(ax);var valsClipped=Axes.clipEnds(ax,vals);var transFn=Axes.makeTransTickFn(ax);var tickSign=Axes.getTickSigns(ax)[2];var caRad=Lib.deg2rad(counterAngle);var pad=tickSign*(ax.linewidth||1)/2;var len=tickSign*ax.ticklen;var w=_this.w;var h=_this.h;var tickPath=axLetter==="b"?"M0,"+pad+"l"+Math.sin(caRad)*len+","+Math.cos(caRad)*len:"M"+pad+",0l"+Math.cos(caRad)*len+","+-Math.sin(caRad)*len;var gridPath={a:"M0,0l"+h+",-"+w/2,b:"M0,0l-"+w/2+",-"+h,c:"M0,0l-"+h+","+w/2}[axLetter];Axes.drawTicks(gd,ax,{vals:ax.ticks==="inside"?valsClipped:vals,layer:axLayer,path:tickPath,transFn:transFn,crisp:false});Axes.drawGrid(gd,ax,{vals:valsClipped,layer:_this.layers[axLetter+"grid"],path:gridPath,transFn:transFn,crisp:false});Axes.drawLabels(gd,ax,{vals:vals,layer:axLayer,transFn:transFn,labelFns:Axes.makeLabelFns(ax,0,counterAngle)})};function strTickLayout(axLayout){return axLayout.ticks+String(axLayout.ticklen)+String(axLayout.showticklabels)}var CLEN=constants.MINZOOM/2+.87;var BLPATH="m-0.87,.5h"+CLEN+"v3h-"+(CLEN+5.2)+"l"+(CLEN/2+2.6)+",-"+(CLEN*.87+4.5)+"l2.6,1.5l-"+CLEN/2+","+CLEN*.87+"Z";var BRPATH="m0.87,.5h-"+CLEN+"v3h"+(CLEN+5.2)+"l-"+(CLEN/2+2.6)+",-"+(CLEN*.87+4.5)+"l-2.6,1.5l"+CLEN/2+","+CLEN*.87+"Z";var TOPPATH="m0,1l"+CLEN/2+","+CLEN*.87+"l2.6,-1.5l-"+(CLEN/2+2.6)+",-"+(CLEN*.87+4.5)+"l-"+(CLEN/2+2.6)+","+(CLEN*.87+4.5)+"l2.6,1.5l"+CLEN/2+",-"+CLEN*.87+"Z";var STARTMARKER="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z";var SHOWZOOMOUTTIP=true;proto.clearSelect=function(){clearSelectionsCache(this.dragOptions);clearSelect(this.dragOptions.gd)};proto.initInteractions=function(){var _this=this;var dragger=_this.layers.plotbg.select("path").node();var gd=_this.graphDiv;var zoomLayer=gd._fullLayout._zoomlayer;var scaleX;var scaleY;this.dragOptions={element:dragger,gd:gd,plotinfo:{id:_this.id,domain:gd._fullLayout[_this.id].domain,xaxis:_this.xaxis,yaxis:_this.yaxis},subplot:_this.id,prepFn:function(e,startX,startY){_this.dragOptions.xaxes=[_this.xaxis];_this.dragOptions.yaxes=[_this.yaxis];scaleX=gd._fullLayout._invScaleX;scaleY=gd._fullLayout._invScaleY;var dragModeNow=_this.dragOptions.dragmode=gd._fullLayout.dragmode;if(freeMode(dragModeNow))_this.dragOptions.minDrag=1;else _this.dragOptions.minDrag=undefined;if(dragModeNow==="zoom"){_this.dragOptions.moveFn=zoomMove;_this.dragOptions.clickFn=clickZoomPan;_this.dragOptions.doneFn=zoomDone;zoomPrep(e,startX,startY)}else if(dragModeNow==="pan"){_this.dragOptions.moveFn=plotDrag;_this.dragOptions.clickFn=clickZoomPan;_this.dragOptions.doneFn=dragDone;panPrep();_this.clearSelect(gd)}else if(rectMode(dragModeNow)||freeMode(dragModeNow)){prepSelect(e,startX,startY,_this.dragOptions,dragModeNow)}}};var x0,y0,mins0,span0,mins,lum,path0,dimmed,zb,corners;function makeUpdate(_mins){var attrs={};attrs[_this.id+".aaxis.min"]=_mins.a;attrs[_this.id+".baxis.min"]=_mins.b;attrs[_this.id+".caxis.min"]=_mins.c;return attrs}function clickZoomPan(numClicks,evt){var clickMode=gd._fullLayout.clickmode;removeZoombox(gd);if(numClicks===2){gd.emit("plotly_doubleclick",null);Registry.call("_guiRelayout",gd,makeUpdate({a:0,b:0,c:0}))}if(clickMode.indexOf("select")>-1&&numClicks===1){selectOnClick(evt,gd,[_this.xaxis],[_this.yaxis],_this.id,_this.dragOptions)}if(clickMode.indexOf("event")>-1){Fx.click(gd,evt,_this.id)}}function zoomPrep(e,startX,startY){var dragBBox=dragger.getBoundingClientRect();x0=startX-dragBBox.left;y0=startY-dragBBox.top;gd._fullLayout._calcInverseTransform(gd);var inverse=gd._fullLayout._invTransform;var transformedCoords=Lib.apply3DTransform(inverse)(x0,y0);x0=transformedCoords[0];y0=transformedCoords[1];mins0={a:_this.aaxis.range[0],b:_this.baxis.range[1],c:_this.caxis.range[1]};mins=mins0;span0=_this.aaxis.range[1]-mins0.a;lum=tinycolor(_this.graphDiv._fullLayout[_this.id].bgcolor).getLuminance();path0="M0,"+_this.h+"L"+_this.w/2+", 0L"+_this.w+","+_this.h+"Z";dimmed=false;zb=zoomLayer.append("path").attr("class","zoombox").attr("transform",strTranslate(_this.x0,_this.y0)).style({fill:lum>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",path0);corners=zoomLayer.append("path").attr("class","zoombox-corners").attr("transform",strTranslate(_this.x0,_this.y0)).style({fill:Color.background,stroke:Color.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z");_this.clearSelect(gd)}function getAFrac(x,y){return 1-y/_this.h}function getBFrac(x,y){return 1-(x+(_this.h-y)/Math.sqrt(3))/_this.w}function getCFrac(x,y){return(x-(_this.h-y)/Math.sqrt(3))/_this.w}function zoomMove(dx0,dy0){var x1=x0+dx0*scaleX;var y1=y0+dy0*scaleY;var afrac=Math.max(0,Math.min(1,getAFrac(x0,y0),getAFrac(x1,y1)));var bfrac=Math.max(0,Math.min(1,getBFrac(x0,y0),getBFrac(x1,y1)));var cfrac=Math.max(0,Math.min(1,getCFrac(x0,y0),getCFrac(x1,y1)));var xLeft=(afrac/2+cfrac)*_this.w;var xRight=(1-afrac/2-bfrac)*_this.w;var xCenter=(xLeft+xRight)/2;var xSpan=xRight-xLeft;var yBottom=(1-afrac)*_this.h;var yTop=yBottom-xSpan/whRatio;if(xSpan<constants.MINZOOM){mins=mins0;zb.attr("d",path0);corners.attr("d","M0,0Z")}else{mins={a:mins0.a+afrac*span0,b:mins0.b+bfrac*span0,c:mins0.c+cfrac*span0};zb.attr("d",path0+"M"+xLeft+","+yBottom+"H"+xRight+"L"+xCenter+","+yTop+"L"+xLeft+","+yBottom+"Z");corners.attr("d","M"+x0+","+y0+STARTMARKER+"M"+xLeft+","+yBottom+BLPATH+"M"+xRight+","+yBottom+BRPATH+"M"+xCenter+","+yTop+TOPPATH)}if(!dimmed){zb.transition().style("fill",lum>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200);corners.transition().style("opacity",1).duration(200);dimmed=true}gd.emit("plotly_relayouting",makeUpdate(mins))}function zoomDone(){removeZoombox(gd);if(mins===mins0)return;Registry.call("_guiRelayout",gd,makeUpdate(mins));if(SHOWZOOMOUTTIP&&gd.data&&gd._context.showTips){Lib.notifier(_(gd,"Double-click to zoom back out"),"long");SHOWZOOMOUTTIP=false}}function panPrep(){mins0={a:_this.aaxis.range[0],b:_this.baxis.range[1],c:_this.caxis.range[1]};mins=mins0}function plotDrag(dx,dy){var dxScaled=dx/_this.xaxis._m;var dyScaled=dy/_this.yaxis._m;mins={a:mins0.a-dyScaled,b:mins0.b+(dxScaled+dyScaled)/2,c:mins0.c-(dxScaled-dyScaled)/2};var minsorted=[mins.a,mins.b,mins.c].sort(Lib.sorterAsc);var minindices={a:minsorted.indexOf(mins.a),b:minsorted.indexOf(mins.b),c:minsorted.indexOf(mins.c)};if(minsorted[0]<0){if(minsorted[1]+minsorted[0]/2<0){minsorted[2]+=minsorted[0]+minsorted[1];minsorted[0]=minsorted[1]=0}else{minsorted[2]+=minsorted[0]/2;minsorted[1]+=minsorted[0]/2;minsorted[0]=0}mins={a:minsorted[minindices.a],b:minsorted[minindices.b],c:minsorted[minindices.c]};dy=(mins0.a-mins.a)*_this.yaxis._m;dx=(mins0.c-mins.c-mins0.b+mins.b)*_this.xaxis._m}var plotTransform=strTranslate(_this.x0+dx,_this.y0+dy);_this.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",plotTransform);var plotTransform2=strTranslate(-dx,-dy);_this.clipDefRelative.select("path").attr("transform",plotTransform2);_this.aaxis.range=[mins.a,_this.sum-mins.b-mins.c];_this.baxis.range=[_this.sum-mins.a-mins.c,mins.b];_this.caxis.range=[_this.sum-mins.a-mins.b,mins.c];_this.drawAxes(false);if(_this._hasClipOnAxisFalse){_this.plotContainer.select(".scatterlayer").selectAll(".trace").call(Drawing.hideOutsideRangePoints,_this)}gd.emit("plotly_relayouting",makeUpdate(mins))}function dragDone(){Registry.call("_guiRelayout",gd,makeUpdate(mins))}dragger.onmousemove=function(evt){Fx.hover(gd,evt,_this.id);gd._fullLayout._lasthover=dragger;gd._fullLayout._hoversubplot=_this.id};dragger.onmouseout=function(evt){if(gd._dragging)return;dragElement.unhover(gd,evt)};dragElement.init(this.dragOptions)};function removeZoombox(gd){d3.select(gd).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}},{"../../components/color":666,"../../components/dragelement":685,"../../components/dragelement/helpers":684,"../../components/drawing":688,"../../components/fx":706,"../../components/titles":764,"../../lib":803,"../../lib/extend":793,"../../registry":931,"../cartesian/axes":854,"../cartesian/constants":861,"../cartesian/select":874,"../cartesian/set_convert":875,"../plots":917,"@plotly/d3":58,tinycolor2:598}],931:[function(_dereq_,module,exports){"use strict";var Loggers=_dereq_("./lib/loggers");var noop=_dereq_("./lib/noop");var pushUnique=_dereq_("./lib/push_unique");var isPlainObject=_dereq_("./lib/is_plain_object");var addStyleRule=_dereq_("./lib/dom").addStyleRule;var ExtendModule=_dereq_("./lib/extend");var basePlotAttributes=_dereq_("./plots/attributes");var baseLayoutAttributes=_dereq_("./plots/layout_attributes");var extendFlat=ExtendModule.extendFlat;var extendDeepAll=ExtendModule.extendDeepAll;exports.modules={};exports.allCategories={};exports.allTypes=[];exports.subplotsRegistry={};exports.transformsRegistry={};exports.componentsRegistry={};exports.layoutArrayContainers=[];exports.layoutArrayRegexes=[];exports.traceLayoutAttributes={};exports.localeRegistry={};exports.apiMethodRegistry={};exports.collectableSubplotTypes=null;exports.register=function register(_modules){exports.collectableSubplotTypes=null;if(!_modules){throw new Error("No argument passed to Plotly.register.")}else if(_modules&&!Array.isArray(_modules)){_modules=[_modules]}for(var i=0;i<_modules.length;i++){var newModule=_modules[i];if(!newModule){throw new Error("Invalid module was attempted to be registered!")}switch(newModule.moduleType){case"trace":registerTraceModule(newModule);break;case"transform":registerTransformModule(newModule);break;case"component":registerComponentModule(newModule);break;case"locale":registerLocale(newModule);break;case"apiMethod":var name=newModule.name;exports.apiMethodRegistry[name]=newModule.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}};exports.getModule=function(trace){var _module=exports.modules[getTraceType(trace)];if(!_module)return false;return _module._module};exports.traceIs=function(traceType,category){traceType=getTraceType(traceType);if(traceType==="various")return false;var _module=exports.modules[traceType];if(!_module){if(traceType){Loggers.log("Unrecognized trace type "+traceType+".")}_module=exports.modules[basePlotAttributes.type.dflt]}return!!_module.categories[category]};exports.getTransformIndices=function(data,type){var indices=[];var transforms=data.transforms||[];for(var i=0;i<transforms.length;i++){if(transforms[i].type===type){indices.push(i)}}return indices};exports.hasTransform=function(data,type){var transforms=data.transforms||[];for(var i=0;i<transforms.length;i++){if(transforms[i].type===type){return true}}return false};exports.getComponentMethod=function(name,method){var _module=exports.componentsRegistry[name];if(!_module)return noop;return _module[method]||noop};exports.call=function(){var name=arguments[0];var args=[].slice.call(arguments,1);return exports.apiMethodRegistry[name].apply(null,args)};function registerTraceModule(_module){var thisType=_module.name;var categoriesIn=_module.categories;var meta=_module.meta;if(exports.modules[thisType]){Loggers.log("Type "+thisType+" already registered");return}if(!exports.subplotsRegistry[_module.basePlotModule.name]){registerSubplot(_module.basePlotModule)}var categoryObj={};for(var i=0;i<categoriesIn.length;i++){categoryObj[categoriesIn[i]]=true;exports.allCategories[categoriesIn[i]]=true}exports.modules[thisType]={_module:_module,categories:categoryObj};if(meta&&Object.keys(meta).length){exports.modules[thisType].meta=meta}exports.allTypes.push(thisType);for(var componentName in exports.componentsRegistry){mergeComponentAttrsToTrace(componentName,thisType)}if(_module.layoutAttributes){extendFlat(exports.traceLayoutAttributes,_module.layoutAttributes)}var basePlotModule=_module.basePlotModule;var bpmName=basePlotModule.name;if(bpmName==="mapbox"){var styleRules=basePlotModule.constants.styleRules;for(var k in styleRules){addStyleRule(".js-plotly-plot .plotly .mapboxgl-"+k,styleRules[k])}}if((bpmName==="geo"||bpmName==="mapbox")&&(typeof window!==undefined&&window.PlotlyGeoAssets===undefined)){window.PlotlyGeoAssets={topojson:{}}}}function registerSubplot(_module){var plotType=_module.name;if(exports.subplotsRegistry[plotType]){Loggers.log("Plot type "+plotType+" already registered.");return}findArrayRegexps(_module);exports.subplotsRegistry[plotType]=_module;for(var componentName in exports.componentsRegistry){mergeComponentAttrsToSubplot(componentName,_module.name)}}function registerComponentModule(_module){if(typeof _module.name!=="string"){throw new Error("Component module *name* must be a string.")}var name=_module.name;exports.componentsRegistry[name]=_module;if(_module.layoutAttributes){if(_module.layoutAttributes._isLinkedToArray){pushUnique(exports.layoutArrayContainers,name)}findArrayRegexps(_module)}for(var traceType in exports.modules){mergeComponentAttrsToTrace(name,traceType)}for(var subplotName in exports.subplotsRegistry){mergeComponentAttrsToSubplot(name,subplotName)}for(var transformType in exports.transformsRegistry){mergeComponentAttrsToTransform(name,transformType)}if(_module.schema&&_module.schema.layout){extendDeepAll(baseLayoutAttributes,_module.schema.layout)}}function registerTransformModule(_module){if(typeof _module.name!=="string"){throw new Error("Transform module *name* must be a string.")}var prefix="Transform module "+_module.name;var hasTransform=typeof _module.transform==="function";var hasCalcTransform=typeof _module.calcTransform==="function";if(!hasTransform&&!hasCalcTransform){throw new Error(prefix+" is missing a *transform* or *calcTransform* method.")}if(hasTransform&&hasCalcTransform){Loggers.log([prefix+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" "))}if(!isPlainObject(_module.attributes)){Loggers.log(prefix+" registered without an *attributes* object.")}if(typeof _module.supplyDefaults!=="function"){Loggers.log(prefix+" registered without a *supplyDefaults* method.")}exports.transformsRegistry[_module.name]=_module;for(var componentName in exports.componentsRegistry){mergeComponentAttrsToTransform(componentName,_module.name)}}function registerLocale(_module){var locale=_module.name;var baseLocale=locale.split("-")[0];var newDict=_module.dictionary;var newFormat=_module.format;var hasDict=newDict&&Object.keys(newDict).length;var hasFormat=newFormat&&Object.keys(newFormat).length;var locales=exports.localeRegistry;var localeObj=locales[locale];if(!localeObj)locales[locale]=localeObj={};if(baseLocale!==locale){var baseLocaleObj=locales[baseLocale];if(!baseLocaleObj)locales[baseLocale]=baseLocaleObj={};if(hasDict&&baseLocaleObj.dictionary===localeObj.dictionary){baseLocaleObj.dictionary=newDict}if(hasFormat&&baseLocaleObj.format===localeObj.format){baseLocaleObj.format=newFormat}}if(hasDict)localeObj.dictionary=newDict;if(hasFormat)localeObj.format=newFormat}function findArrayRegexps(_module){if(_module.layoutAttributes){var arrayAttrRegexps=_module.layoutAttributes._arrayAttrRegexps;if(arrayAttrRegexps){for(var i=0;i<arrayAttrRegexps.length;i++){pushUnique(exports.layoutArrayRegexes,arrayAttrRegexps[i])}}}}function mergeComponentAttrsToTrace(componentName,traceType){var componentSchema=exports.componentsRegistry[componentName].schema;if(!componentSchema||!componentSchema.traces)return;var traceAttrs=componentSchema.traces[traceType];if(traceAttrs){extendDeepAll(exports.modules[traceType]._module.attributes,traceAttrs)}}function mergeComponentAttrsToTransform(componentName,transformType){var componentSchema=exports.componentsRegistry[componentName].schema;if(!componentSchema||!componentSchema.transforms)return;var transformAttrs=componentSchema.transforms[transformType];if(transformAttrs){extendDeepAll(exports.transformsRegistry[transformType].attributes,transformAttrs)}}function mergeComponentAttrsToSubplot(componentName,subplotName){var componentSchema=exports.componentsRegistry[componentName].schema;if(!componentSchema||!componentSchema.subplots)return;var subplotModule=exports.subplotsRegistry[subplotName];var subplotAttrs=subplotModule.layoutAttributes;var subplotAttr=subplotModule.attr==="subplot"?subplotModule.name:subplotModule.attr;if(Array.isArray(subplotAttr))subplotAttr=subplotAttr[0];var componentLayoutAttrs=componentSchema.subplots[subplotAttr];if(subplotAttrs&&componentLayoutAttrs){extendDeepAll(subplotAttrs,componentLayoutAttrs)}}function getTraceType(traceType){if(typeof traceType==="object")traceType=traceType.type;return traceType}},{"./lib/dom":791,"./lib/extend":793,"./lib/is_plain_object":804,"./lib/loggers":807,"./lib/noop":812,"./lib/push_unique":818,"./plots/attributes":850,"./plots/layout_attributes":908}],932:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../registry");var Lib=_dereq_("../lib");var extendFlat=Lib.extendFlat;var extendDeep=Lib.extendDeep;function cloneLayoutOverride(tileClass){var override;switch(tileClass){case"themes__thumb":override={autosize:true,width:150,height:150,title:{text:""},showlegend:false,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":override={title:{text:""},hidesources:true,showlegend:false,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:override={}}return override}function keyIsAxis(keyName){var types=["xaxis","yaxis","zaxis"];return types.indexOf(keyName.slice(0,5))>-1}module.exports=function clonePlot(graphObj,options){var i;var oldData=graphObj.data;var oldLayout=graphObj.layout;var newData=extendDeep([],oldData);var newLayout=extendDeep({},oldLayout,cloneLayoutOverride(options.tileClass));var context=graphObj._context||{};if(options.width)newLayout.width=options.width;if(options.height)newLayout.height=options.height;if(options.tileClass==="thumbnail"||options.tileClass==="themes__thumb"){newLayout.annotations=[];var keys=Object.keys(newLayout);for(i=0;i<keys.length;i++){if(keyIsAxis(keys[i])){newLayout[keys[i]].title={text:""}}}for(i=0;i<newData.length;i++){var trace=newData[i];trace.showscale=false;if(trace.marker)trace.marker.showscale=false;if(Registry.traceIs(trace,"pie-like"))trace.textposition="none"}}if(Array.isArray(options.annotations)){for(i=0;i<options.annotations.length;i++){newLayout.annotations.push(options.annotations[i])}}var sceneIds=Object.keys(newLayout).filter((function(key){return key.match(/^scene\d*$/)}));if(sceneIds.length){var axesImageOverride={};if(options.tileClass==="thumbnail"){axesImageOverride={title:{text:""},showaxeslabels:false,showticklabels:false,linetickenable:false}}for(i=0;i<sceneIds.length;i++){var scene=newLayout[sceneIds[i]];if(!scene.xaxis){scene.xaxis={}}if(!scene.yaxis){scene.yaxis={}}if(!scene.zaxis){scene.zaxis={}}extendFlat(scene.xaxis,axesImageOverride);extendFlat(scene.yaxis,axesImageOverride);extendFlat(scene.zaxis,axesImageOverride);scene._scene=null}}var gd=document.createElement("div");if(options.tileClass)gd.className=options.tileClass;var plotTile={gd:gd,td:gd,layout:newLayout,data:newData,config:{staticPlot:options.staticPlot===undefined?true:options.staticPlot,plotGlPixelRatio:options.plotGlPixelRatio===undefined?2:options.plotGlPixelRatio,displaylogo:options.displaylogo||false,showLink:options.showLink||false,showTips:options.showTips||false,mapboxAccessToken:context.mapboxAccessToken}};if(options.setBackground!=="transparent"){plotTile.config.setBackground=options.setBackground||"opaque"}plotTile.gd.defaultLayout=cloneLayoutOverride(options.tileClass);return plotTile}},{"../lib":803,"../registry":931}],933:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var toImage=_dereq_("../plot_api/to_image");var fileSaver=_dereq_("./filesaver");var helpers=_dereq_("./helpers");function downloadImage(gd,opts){var _gd;if(!Lib.isPlainObject(gd))_gd=Lib.getGraphDiv(gd);opts=opts||{};opts.format=opts.format||"png";opts.width=opts.width||null;opts.height=opts.height||null;opts.imageDataOnly=true;return new Promise((function(resolve,reject){if(_gd&&_gd._snapshotInProgress){reject(new Error("Snapshotting already in progress."))}if(Lib.isIE()&&opts.format!=="svg"){reject(new Error(helpers.MSG_IE_BAD_FORMAT))}if(_gd)_gd._snapshotInProgress=true;var promise=toImage(gd,opts);var filename=opts.filename||gd.fn||"newplot";filename+="."+opts.format.replace("-",".");promise.then((function(result){if(_gd)_gd._snapshotInProgress=false;return fileSaver(result,filename,opts.format)})).then((function(name){resolve(name)})).catch((function(err){if(_gd)_gd._snapshotInProgress=false;reject(err)}))}))}module.exports=downloadImage},{"../lib":803,"../plot_api/to_image":846,"./filesaver":934,"./helpers":935}],934:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var helpers=_dereq_("./helpers");function fileSaver(url,name,format){var saveLink=document.createElement("a");var canUseSaveLink="download"in saveLink;var promise=new Promise((function(resolve,reject){var blob;var objectUrl;if(Lib.isIE()){blob=helpers.createBlob(url,"svg");window.navigator.msSaveBlob(blob,name);blob=null;return resolve(name)}if(canUseSaveLink){blob=helpers.createBlob(url,format);objectUrl=helpers.createObjectURL(blob);saveLink.href=objectUrl;saveLink.download=name;document.body.appendChild(saveLink);saveLink.click();document.body.removeChild(saveLink);helpers.revokeObjectURL(objectUrl);blob=null;return resolve(name)}if(Lib.isSafari()){var prefix=format==="svg"?",":";base64,";helpers.octetStream(prefix+encodeURIComponent(url));return resolve(name)}reject(new Error("download error"))}));return promise}module.exports=fileSaver},{"../lib":803,"./helpers":935}],935:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../registry");exports.getDelay=function(fullLayout){if(!fullLayout._has)return 0;return fullLayout._has("gl3d")||fullLayout._has("gl2d")||fullLayout._has("mapbox")?500:0};exports.getRedrawFunc=function(gd){return function(){Registry.getComponentMethod("colorbar","draw")(gd)}};exports.encodeSVG=function(svg){return"data:image/svg+xml,"+encodeURIComponent(svg)};exports.encodeJSON=function(json){return"data:application/json,"+encodeURIComponent(json)};var DOM_URL=window.URL||window.webkitURL;exports.createObjectURL=function(blob){return DOM_URL.createObjectURL(blob)};exports.revokeObjectURL=function(url){return DOM_URL.revokeObjectURL(url)};exports.createBlob=function(url,format){if(format==="svg"){return new window.Blob([url],{type:"image/svg+xml;charset=utf-8"})}else if(format==="full-json"){return new window.Blob([url],{type:"application/json;charset=utf-8"})}else{var binary=fixBinary(window.atob(url));return new window.Blob([binary],{type:"image/"+format})}};exports.octetStream=function(s){document.location.href="data:application/octet-stream"+s};function fixBinary(b){var len=b.length;var buf=new ArrayBuffer(len);var arr=new Uint8Array(buf);for(var i=0;i<len;i++){arr[i]=b.charCodeAt(i)}return buf}exports.IMAGE_URL_PREFIX=/^data:image\/\w+;base64,/;exports.MSG_IE_BAD_FORMAT="Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."},{"../registry":931}],936:[function(_dereq_,module,exports){"use strict";var helpers=_dereq_("./helpers");var Snapshot={getDelay:helpers.getDelay,getRedrawFunc:helpers.getRedrawFunc,clone:_dereq_("./cloneplot"),toSVG:_dereq_("./tosvg"),svgToImg:_dereq_("./svgtoimg"),toImage:_dereq_("./toimage"),downloadImage:_dereq_("./download")};module.exports=Snapshot},{"./cloneplot":932,"./download":933,"./helpers":935,"./svgtoimg":937,"./toimage":938,"./tosvg":939}],937:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var EventEmitter=_dereq_("events").EventEmitter;var helpers=_dereq_("./helpers");function svgToImg(opts){var ev=opts.emitter||new EventEmitter;var promise=new Promise((function(resolve,reject){var Image=window.Image;var svg=opts.svg;var format=opts.format||"png";if(Lib.isIE()&&format!=="svg"){var ieSvgError=new Error(helpers.MSG_IE_BAD_FORMAT);reject(ieSvgError);if(!opts.promise){return ev.emit("error",ieSvgError)}else{return promise}}var canvas=opts.canvas;var scale=opts.scale||1;var w0=opts.width||300;var h0=opts.height||150;var w1=scale*w0;var h1=scale*h0;var ctx=canvas.getContext("2d");var img=new Image;var svgBlob,url;if(format==="svg"||Lib.isSafari()){url=helpers.encodeSVG(svg)}else{svgBlob=helpers.createBlob(svg,"svg");url=helpers.createObjectURL(svgBlob)}canvas.width=w1;canvas.height=h1;img.onload=function(){var imgData;svgBlob=null;helpers.revokeObjectURL(url);if(format!=="svg"){ctx.drawImage(img,0,0,w1,h1)}switch(format){case"jpeg":imgData=canvas.toDataURL("image/jpeg");break;case"png":imgData=canvas.toDataURL("image/png");break;case"webp":imgData=canvas.toDataURL("image/webp");break;case"svg":imgData=url;break;default:var errorMsg="Image format is not jpeg, png, svg or webp.";reject(new Error(errorMsg));if(!opts.promise){return ev.emit("error",errorMsg)}}resolve(imgData);if(!opts.promise){ev.emit("success",imgData)}};img.onerror=function(err){svgBlob=null;helpers.revokeObjectURL(url);reject(err);if(!opts.promise){return ev.emit("error",err)}};img.src=url}));if(opts.promise){return promise}return ev}module.exports=svgToImg},{"../lib":803,"./helpers":935,events:116}],938:[function(_dereq_,module,exports){"use strict";var EventEmitter=_dereq_("events").EventEmitter;var Registry=_dereq_("../registry");var Lib=_dereq_("../lib");var helpers=_dereq_("./helpers");var clonePlot=_dereq_("./cloneplot");var toSVG=_dereq_("./tosvg");var svgToImg=_dereq_("./svgtoimg");function toImage(gd,opts){var ev=new EventEmitter;var clone=clonePlot(gd,{format:"png"});var clonedGd=clone.gd;clonedGd.style.position="absolute";clonedGd.style.left="-5000px";document.body.appendChild(clonedGd);function wait(){var delay=helpers.getDelay(clonedGd._fullLayout);setTimeout((function(){var svg=toSVG(clonedGd);var canvas=document.createElement("canvas");canvas.id=Lib.randstr();ev=svgToImg({format:opts.format,width:clonedGd._fullLayout.width,height:clonedGd._fullLayout.height,canvas:canvas,emitter:ev,svg:svg});ev.clean=function(){if(clonedGd)document.body.removeChild(clonedGd)}}),delay)}var redrawFunc=helpers.getRedrawFunc(clonedGd);Registry.call("_doPlot",clonedGd,clone.data,clone.layout,clone.config).then(redrawFunc).then(wait).catch((function(err){ev.emit("error",err)}));return ev}module.exports=toImage},{"../lib":803,"../registry":931,"./cloneplot":932,"./helpers":935,"./svgtoimg":937,"./tosvg":939,events:116}],939:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../lib");var Drawing=_dereq_("../components/drawing");var Color=_dereq_("../components/color");var xmlnsNamespaces=_dereq_("../constants/xmlns_namespaces");var DOUBLEQUOTE_REGEX=/"/g;var DUMMY_SUB="TOBESTRIPPED";var DUMMY_REGEX=new RegExp('("'+DUMMY_SUB+")|("+DUMMY_SUB+'")',"g");function htmlEntityDecode(s){var hiddenDiv=d3.select("body").append("div").style({display:"none"}).html("");var replaced=s.replace(/(&[^;]*;)/gi,(function(d){if(d==="&lt;"){return"&#60;"}if(d==="&rt;"){return"&#62;"}if(d.indexOf("<")!==-1||d.indexOf(">")!==-1){return""}return hiddenDiv.html(d).text()}));hiddenDiv.remove();return replaced}function xmlEntityEncode(str){return str.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&amp;")}module.exports=function toSVG(gd,format,scale){var fullLayout=gd._fullLayout;var svg=fullLayout._paper;var toppaper=fullLayout._toppaper;var width=fullLayout.width;var height=fullLayout.height;var i,k;svg.insert("rect",":first-child").call(Drawing.setRect,0,0,width,height).call(Color.fill,fullLayout.paper_bgcolor);var basePlotModules=fullLayout._basePlotModules||[];for(i=0;i<basePlotModules.length;i++){var _module=basePlotModules[i];if(_module.toSVG)_module.toSVG(gd)}if(toppaper){var nodes=toppaper.node().childNodes;var topGroups=Array.prototype.slice.call(nodes);for(i=0;i<topGroups.length;i++){var topGroup=topGroups[i];if(topGroup.childNodes.length)svg.node().appendChild(topGroup)}}if(fullLayout._draggers){fullLayout._draggers.remove()}svg.node().style.background="";svg.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each((function(){var txt=d3.select(this);if(this.style.visibility==="hidden"||this.style.display==="none"){txt.remove();return}else{txt.style({visibility:null,display:null})}var ff=this.style.fontFamily;if(ff&&ff.indexOf('"')!==-1){txt.style("font-family",ff.replace(DOUBLEQUOTE_REGEX,DUMMY_SUB))}}));var queryParts=[];if(fullLayout._gradientUrlQueryParts){for(k in fullLayout._gradientUrlQueryParts)queryParts.push(k)}if(fullLayout._patternUrlQueryParts){for(k in fullLayout._patternUrlQueryParts)queryParts.push(k)}if(queryParts.length){svg.selectAll(queryParts.join(",")).each((function(){var pt=d3.select(this);var fill=this.style.fill;if(fill&&fill.indexOf("url(")!==-1){pt.style("fill",fill.replace(DOUBLEQUOTE_REGEX,DUMMY_SUB))}var stroke=this.style.stroke;if(stroke&&stroke.indexOf("url(")!==-1){pt.style("stroke",stroke.replace(DOUBLEQUOTE_REGEX,DUMMY_SUB))}}))}if(format==="pdf"||format==="eps"){svg.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0)}svg.node().setAttributeNS(xmlnsNamespaces.xmlns,"xmlns",xmlnsNamespaces.svg);svg.node().setAttributeNS(xmlnsNamespaces.xmlns,"xmlns:xlink",xmlnsNamespaces.xlink);if(format==="svg"&&scale){svg.attr("width",scale*width);svg.attr("height",scale*height);svg.attr("viewBox","0 0 "+width+" "+height)}var s=(new window.XMLSerializer).serializeToString(svg.node());s=htmlEntityDecode(s);s=xmlEntityEncode(s);s=s.replace(DUMMY_REGEX,"'");if(Lib.isIE()){s=s.replace(/"/gi,"'");s=s.replace(/(\('#)([^']*)('\))/gi,'("#$2")');s=s.replace(/(\\')/gi,'"')}return s}},{"../components/color":666,"../components/drawing":688,"../constants/xmlns_namespaces":780,"../lib":803,"@plotly/d3":58}],940:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function arraysToCalcdata(cd,trace){for(var i=0;i<cd.length;i++)cd[i].i=i;Lib.mergeArray(trace.text,cd,"tx");Lib.mergeArray(trace.hovertext,cd,"htx");var marker=trace.marker;if(marker){Lib.mergeArray(marker.opacity,cd,"mo",true);Lib.mergeArray(marker.color,cd,"mc");var markerLine=marker.line;if(markerLine){Lib.mergeArray(markerLine.color,cd,"mlc");Lib.mergeArrayCastPositive(markerLine.width,cd,"mlw")}}}},{"../../lib":803}],941:[function(_dereq_,module,exports){"use strict";var scatterAttrs=_dereq_("../scatter/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var fontAttrs=_dereq_("../../plots/font_attributes");var constants=_dereq_("./constants");var pattern=_dereq_("../../components/drawing/attributes").pattern;var extendFlat=_dereq_("../../lib/extend").extendFlat;var textFontAttrs=fontAttrs({editType:"calc",arrayOk:true,colorEditType:"style"});var scatterMarkerAttrs=scatterAttrs.marker;var scatterMarkerLineAttrs=scatterMarkerAttrs.line;var markerLineWidth=extendFlat({},scatterMarkerLineAttrs.width,{dflt:0});var markerLine=extendFlat({width:markerLineWidth,editType:"calc"},colorScaleAttrs("marker.line"));var marker=extendFlat({line:markerLine,editType:"calc"},colorScaleAttrs("marker"),{opacity:{valType:"number",arrayOk:true,dflt:1,min:0,max:1,editType:"style"},pattern:pattern});module.exports={x:scatterAttrs.x,x0:scatterAttrs.x0,dx:scatterAttrs.dx,y:scatterAttrs.y,y0:scatterAttrs.y0,dy:scatterAttrs.dy,xperiod:scatterAttrs.xperiod,yperiod:scatterAttrs.yperiod,xperiod0:scatterAttrs.xperiod0,yperiod0:scatterAttrs.yperiod0,xperiodalignment:scatterAttrs.xperiodalignment,yperiodalignment:scatterAttrs.yperiodalignment,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),text:scatterAttrs.text,texttemplate:texttemplateAttrs({editType:"plot"},{keys:constants.eventDataKeys}),hovertext:scatterAttrs.hovertext,hovertemplate:hovertemplateAttrs({},{keys:constants.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:true,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:extendFlat({},textFontAttrs,{}),insidetextfont:extendFlat({},textFontAttrs,{}),outsidetextfont:extendFlat({},textFontAttrs,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:extendFlat({},scatterAttrs.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:true,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:true,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:true,editType:"calc"},marker:marker,offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},selected:{marker:{opacity:scatterAttrs.selected.marker.opacity,color:scatterAttrs.selected.marker.color,editType:"style"},textfont:scatterAttrs.selected.textfont,editType:"style"},unselected:{marker:{opacity:scatterAttrs.unselected.marker.opacity,color:scatterAttrs.unselected.marker.color,editType:"style"},textfont:scatterAttrs.unselected.textfont,editType:"style"},_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"]}}}},{"../../components/colorscale/attributes":673,"../../components/drawing/attributes":687,"../../lib/extend":793,"../../plots/cartesian/axis_format_attributes":857,"../../plots/font_attributes":883,"../../plots/template_attributes":926,"../scatter/attributes":1218,"./constants":943}],942:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var alignPeriod=_dereq_("../../plots/cartesian/align_period");var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var colorscaleCalc=_dereq_("../../components/colorscale/calc");var arraysToCalcdata=_dereq_("./arrays_to_calcdata");var calcSelection=_dereq_("../scatter/calc_selection");module.exports=function calc(gd,trace){var xa=Axes.getFromId(gd,trace.xaxis||"x");var ya=Axes.getFromId(gd,trace.yaxis||"y");var size,pos,origPos,pObj,hasPeriod,pLetter;var sizeOpts={msUTC:!!(trace.base||trace.base===0)};if(trace.orientation==="h"){size=xa.makeCalcdata(trace,"x",sizeOpts);origPos=ya.makeCalcdata(trace,"y");pObj=alignPeriod(trace,ya,"y",origPos);hasPeriod=!!trace.yperiodalignment;pLetter="y"}else{size=ya.makeCalcdata(trace,"y",sizeOpts);origPos=xa.makeCalcdata(trace,"x");pObj=alignPeriod(trace,xa,"x",origPos);hasPeriod=!!trace.xperiodalignment;pLetter="x"}pos=pObj.vals;var serieslen=Math.min(pos.length,size.length);var cd=new Array(serieslen);for(var i=0;i<serieslen;i++){cd[i]={p:pos[i],s:size[i]};if(hasPeriod){cd[i].orig_p=origPos[i];cd[i][pLetter+"End"]=pObj.ends[i];cd[i][pLetter+"Start"]=pObj.starts[i]}if(trace.ids){cd[i].id=String(trace.ids[i])}}if(hasColorscale(trace,"marker")){colorscaleCalc(gd,trace,{vals:trace.marker.color,containerStr:"marker",cLetter:"c"})}if(hasColorscale(trace,"marker.line")){colorscaleCalc(gd,trace,{vals:trace.marker.line.color,containerStr:"marker.line",cLetter:"c"})}arraysToCalcdata(cd,trace);calcSelection(cd,trace);return cd}},{"../../components/colorscale/calc":674,"../../components/colorscale/helpers":677,"../../plots/cartesian/align_period":851,"../../plots/cartesian/axes":854,"../scatter/calc_selection":1220,"./arrays_to_calcdata":940}],943:[function(_dereq_,module,exports){"use strict";module.exports={TEXTPAD:3,eventDataKeys:["value","label"]}},{}],944:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;var BADNUM=_dereq_("../../constants/numerical").BADNUM;var Registry=_dereq_("../../registry");var Axes=_dereq_("../../plots/cartesian/axes");var getAxisGroup=_dereq_("../../plots/cartesian/constraints").getAxisGroup;var Sieve=_dereq_("./sieve.js");function crossTraceCalc(gd,plotinfo){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var fullLayout=gd._fullLayout;var fullTraces=gd._fullData;var calcTraces=gd.calcdata;var calcTracesHorz=[];var calcTracesVert=[];for(var i=0;i<fullTraces.length;i++){var fullTrace=fullTraces[i];if(fullTrace.visible===true&&Registry.traceIs(fullTrace,"bar")&&fullTrace.xaxis===xa._id&&fullTrace.yaxis===ya._id){if(fullTrace.orientation==="h"){calcTracesHorz.push(calcTraces[i])}else{calcTracesVert.push(calcTraces[i])}if(fullTrace._computePh){var cd=gd.calcdata[i];for(var j=0;j<cd.length;j++){if(typeof cd[j].ph0==="function")cd[j].ph0=cd[j].ph0();if(typeof cd[j].ph1==="function")cd[j].ph1=cd[j].ph1()}}}}var opts={xCat:xa.type==="category"||xa.type==="multicategory",yCat:ya.type==="category"||ya.type==="multicategory",mode:fullLayout.barmode,norm:fullLayout.barnorm,gap:fullLayout.bargap,groupgap:fullLayout.bargroupgap};setGroupPositions(gd,xa,ya,calcTracesVert,opts);setGroupPositions(gd,ya,xa,calcTracesHorz,opts)}function setGroupPositions(gd,pa,sa,calcTraces,opts){if(!calcTraces.length)return;var excluded;var included;var i,calcTrace,fullTrace;initBase(sa,calcTraces);switch(opts.mode){case"overlay":setGroupPositionsInOverlayMode(pa,sa,calcTraces,opts);break;case"group":excluded=[];included=[];for(i=0;i<calcTraces.length;i++){calcTrace=calcTraces[i];fullTrace=calcTrace[0].trace;if(fullTrace.offset===undefined)included.push(calcTrace);else excluded.push(calcTrace)}if(included.length){setGroupPositionsInGroupMode(gd,pa,sa,included,opts)}if(excluded.length){setGroupPositionsInOverlayMode(pa,sa,excluded,opts)}break;case"stack":case"relative":excluded=[];included=[];for(i=0;i<calcTraces.length;i++){calcTrace=calcTraces[i];fullTrace=calcTrace[0].trace;if(fullTrace.base===undefined)included.push(calcTrace);else excluded.push(calcTrace)}if(included.length){setGroupPositionsInStackOrRelativeMode(gd,pa,sa,included,opts)}if(excluded.length){setGroupPositionsInOverlayMode(pa,sa,excluded,opts)}break}collectExtents(calcTraces,pa)}function initBase(sa,calcTraces){var i,j;for(i=0;i<calcTraces.length;i++){var cd=calcTraces[i];var trace=cd[0].trace;var base=trace.type==="funnel"?trace._base:trace.base;var b;var scalendar=trace.orientation==="h"?trace.xcalendar:trace.ycalendar;var d2c=sa.type==="category"||sa.type==="multicategory"?function(){return null}:sa.d2c;if(isArrayOrTypedArray(base)){for(j=0;j<Math.min(base.length,cd.length);j++){b=d2c(base[j],0,scalendar);if(isNumeric(b)){cd[j].b=+b;cd[j].hasB=1}else cd[j].b=0}for(;j<cd.length;j++){cd[j].b=0}}else{b=d2c(base,0,scalendar);var hasBase=isNumeric(b);b=hasBase?b:0;for(j=0;j<cd.length;j++){cd[j].b=b;if(hasBase)cd[j].hasB=1}}}}function setGroupPositionsInOverlayMode(pa,sa,calcTraces,opts){for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];var sieve=new Sieve([calcTrace],{posAxis:pa,sepNegVal:false,overlapNoMerge:!opts.norm});setOffsetAndWidth(pa,sieve,opts);if(opts.norm){sieveBars(sieve);normalizeBars(sa,sieve,opts)}else{setBaseAndTop(sa,sieve)}}}function setGroupPositionsInGroupMode(gd,pa,sa,calcTraces,opts){var sieve=new Sieve(calcTraces,{posAxis:pa,sepNegVal:false,overlapNoMerge:!opts.norm});setOffsetAndWidthInGroupMode(gd,pa,sieve,opts);unhideBarsWithinTrace(sieve,pa);if(opts.norm){sieveBars(sieve);normalizeBars(sa,sieve,opts)}else{setBaseAndTop(sa,sieve)}}function setGroupPositionsInStackOrRelativeMode(gd,pa,sa,calcTraces,opts){var sieve=new Sieve(calcTraces,{posAxis:pa,sepNegVal:opts.mode==="relative",overlapNoMerge:!(opts.norm||opts.mode==="stack"||opts.mode==="relative")});setOffsetAndWidth(pa,sieve,opts);stackBars(sa,sieve,opts);for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];for(var j=0;j<calcTrace.length;j++){var bar=calcTrace[j];if(bar.s!==BADNUM){var isOutmostBar=bar.b+bar.s===sieve.get(bar.p,bar.s);if(isOutmostBar)bar._outmost=true}}}if(opts.norm)normalizeBars(sa,sieve,opts)}function setOffsetAndWidth(pa,sieve,opts){var minDiff=sieve.minDiff;var calcTraces=sieve.traces;var barGroupWidth=minDiff*(1-opts.gap);var barWidthPlusGap=barGroupWidth;var barWidth=barWidthPlusGap*(1-(opts.groupgap||0));var offsetFromCenter=-barWidth/2;for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];var t=calcTrace[0].t;t.barwidth=barWidth;t.poffset=offsetFromCenter;t.bargroupwidth=barGroupWidth;t.bardelta=minDiff}sieve.binWidth=calcTraces[0][0].t.barwidth/100;applyAttributes(sieve);setBarCenterAndWidth(pa,sieve);updatePositionAxis(pa,sieve)}function setOffsetAndWidthInGroupMode(gd,pa,sieve,opts){var fullLayout=gd._fullLayout;var positions=sieve.positions;var distinctPositions=sieve.distinctPositions;var minDiff=sieve.minDiff;var calcTraces=sieve.traces;var nTraces=calcTraces.length;var overlap=positions.length!==distinctPositions.length;var barGroupWidth=minDiff*(1-opts.gap);var groupId=getAxisGroup(fullLayout,pa._id)+calcTraces[0][0].trace.orientation;var alignmentGroups=fullLayout._alignmentOpts[groupId]||{};for(var i=0;i<nTraces;i++){var calcTrace=calcTraces[i];var trace=calcTrace[0].trace;var alignmentGroupOpts=alignmentGroups[trace.alignmentgroup]||{};var nOffsetGroups=Object.keys(alignmentGroupOpts.offsetGroups||{}).length;var barWidthPlusGap;if(nOffsetGroups){barWidthPlusGap=barGroupWidth/nOffsetGroups}else{barWidthPlusGap=overlap?barGroupWidth/nTraces:barGroupWidth}var barWidth=barWidthPlusGap*(1-(opts.groupgap||0));var offsetFromCenter;if(nOffsetGroups){offsetFromCenter=((2*trace._offsetIndex+1-nOffsetGroups)*barWidthPlusGap-barWidth)/2}else{offsetFromCenter=overlap?((2*i+1-nTraces)*barWidthPlusGap-barWidth)/2:-barWidth/2}var t=calcTrace[0].t;t.barwidth=barWidth;t.poffset=offsetFromCenter;t.bargroupwidth=barGroupWidth;t.bardelta=minDiff}sieve.binWidth=calcTraces[0][0].t.barwidth/100;applyAttributes(sieve);setBarCenterAndWidth(pa,sieve);updatePositionAxis(pa,sieve,overlap)}function applyAttributes(sieve){var calcTraces=sieve.traces;var i,j;for(i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];var calcTrace0=calcTrace[0];var fullTrace=calcTrace0.trace;var t=calcTrace0.t;var offset=fullTrace._offset||fullTrace.offset;var initialPoffset=t.poffset;var newPoffset;if(isArrayOrTypedArray(offset)){newPoffset=Array.prototype.slice.call(offset,0,calcTrace.length);for(j=0;j<newPoffset.length;j++){if(!isNumeric(newPoffset[j])){newPoffset[j]=initialPoffset}}for(j=newPoffset.length;j<calcTrace.length;j++){newPoffset.push(initialPoffset)}t.poffset=newPoffset}else if(offset!==undefined){t.poffset=offset}var width=fullTrace._width||fullTrace.width;var initialBarwidth=t.barwidth;if(isArrayOrTypedArray(width)){var newBarwidth=Array.prototype.slice.call(width,0,calcTrace.length);for(j=0;j<newBarwidth.length;j++){if(!isNumeric(newBarwidth[j]))newBarwidth[j]=initialBarwidth}for(j=newBarwidth.length;j<calcTrace.length;j++){newBarwidth.push(initialBarwidth)}t.barwidth=newBarwidth;if(offset===undefined){newPoffset=[];for(j=0;j<calcTrace.length;j++){newPoffset.push(initialPoffset+(initialBarwidth-newBarwidth[j])/2)}t.poffset=newPoffset}}else if(width!==undefined){t.barwidth=width;if(offset===undefined){t.poffset=initialPoffset+(initialBarwidth-width)/2}}}}function setBarCenterAndWidth(pa,sieve){var calcTraces=sieve.traces;var pLetter=getAxisLetter(pa);for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];var t=calcTrace[0].t;var poffset=t.poffset;var poffsetIsArray=Array.isArray(poffset);var barwidth=t.barwidth;var barwidthIsArray=Array.isArray(barwidth);for(var j=0;j<calcTrace.length;j++){var calcBar=calcTrace[j];var width=calcBar.w=barwidthIsArray?barwidth[j]:barwidth;calcBar[pLetter]=calcBar.p+(poffsetIsArray?poffset[j]:poffset)+width/2}}}function updatePositionAxis(pa,sieve,allowMinDtick){var calcTraces=sieve.traces;var minDiff=sieve.minDiff;var vpad=minDiff/2;Axes.minDtick(pa,sieve.minDiff,sieve.distinctPositions[0],allowMinDtick);for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];var calcTrace0=calcTrace[0];var fullTrace=calcTrace0.trace;var pts=[];var bar,l,r,j;for(j=0;j<calcTrace.length;j++){bar=calcTrace[j];l=bar.p-vpad;r=bar.p+vpad;pts.push(l,r)}if(fullTrace.width||fullTrace.offset){var t=calcTrace0.t;var poffset=t.poffset;var barwidth=t.barwidth;var poffsetIsArray=Array.isArray(poffset);var barwidthIsArray=Array.isArray(barwidth);for(j=0;j<calcTrace.length;j++){bar=calcTrace[j];var calcBarOffset=poffsetIsArray?poffset[j]:poffset;var calcBarWidth=barwidthIsArray?barwidth[j]:barwidth;l=bar.p+calcBarOffset;r=l+calcBarWidth;pts.push(l,r)}}fullTrace._extremes[pa._id]=Axes.findExtremes(pa,pts,{padded:false})}}function setBaseAndTop(sa,sieve){var calcTraces=sieve.traces;var sLetter=getAxisLetter(sa);for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];var fullTrace=calcTrace[0].trace;var pts=[];var tozero=false;for(var j=0;j<calcTrace.length;j++){var bar=calcTrace[j];var base=bar.b;var top=base+bar.s;bar[sLetter]=top;pts.push(top);if(bar.hasB)pts.push(base);if(!bar.hasB||!bar.b){tozero=true}}fullTrace._extremes[sa._id]=Axes.findExtremes(sa,pts,{tozero:tozero,padded:true})}}function stackBars(sa,sieve,opts){var sLetter=getAxisLetter(sa);var calcTraces=sieve.traces;var calcTrace;var fullTrace;var isFunnel;var i,j;var bar;for(i=0;i<calcTraces.length;i++){calcTrace=calcTraces[i];fullTrace=calcTrace[0].trace;if(fullTrace.type==="funnel"){for(j=0;j<calcTrace.length;j++){bar=calcTrace[j];if(bar.s!==BADNUM){sieve.put(bar.p,-.5*bar.s)}}}}for(i=0;i<calcTraces.length;i++){calcTrace=calcTraces[i];fullTrace=calcTrace[0].trace;isFunnel=fullTrace.type==="funnel";var pts=[];for(j=0;j<calcTrace.length;j++){bar=calcTrace[j];if(bar.s!==BADNUM){var value;if(isFunnel){value=bar.s}else{value=bar.s+bar.b}var base=sieve.put(bar.p,value);var top=base+value;bar.b=base;bar[sLetter]=top;if(!opts.norm){pts.push(top);if(bar.hasB){pts.push(base)}}}}if(!opts.norm){fullTrace._extremes[sa._id]=Axes.findExtremes(sa,pts,{tozero:true,padded:true})}}}function sieveBars(sieve){var calcTraces=sieve.traces;for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];for(var j=0;j<calcTrace.length;j++){var bar=calcTrace[j];if(bar.s!==BADNUM){sieve.put(bar.p,bar.b+bar.s)}}}}function unhideBarsWithinTrace(sieve,pa){var calcTraces=sieve.traces;for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];var fullTrace=calcTrace[0].trace;if(fullTrace.base===undefined){var inTraceSieve=new Sieve([calcTrace],{posAxis:pa,sepNegVal:true,overlapNoMerge:true});for(var j=0;j<calcTrace.length;j++){var bar=calcTrace[j];if(bar.p!==BADNUM){var base=inTraceSieve.put(bar.p,bar.b+bar.s);if(base)bar.b=base}}}}}function normalizeBars(sa,sieve,opts){var calcTraces=sieve.traces;var sLetter=getAxisLetter(sa);var sTop=opts.norm==="fraction"?1:100;var sTiny=sTop/1e9;var sMin=sa.l2c(sa.c2l(0));var sMax=opts.mode==="stack"?sTop:sMin;function needsPadding(v){return isNumeric(sa.c2l(v))&&(v<sMin-sTiny||v>sMax+sTiny||!isNumeric(sMin))}for(var i=0;i<calcTraces.length;i++){var calcTrace=calcTraces[i];var fullTrace=calcTrace[0].trace;var pts=[];var tozero=false;var padded=false;for(var j=0;j<calcTrace.length;j++){var bar=calcTrace[j];if(bar.s!==BADNUM){var scale=Math.abs(sTop/sieve.get(bar.p,bar.s));bar.b*=scale;bar.s*=scale;var base=bar.b;var top=base+bar.s;bar[sLetter]=top;pts.push(top);padded=padded||needsPadding(top);if(bar.hasB){pts.push(base);padded=padded||needsPadding(base)}if(!bar.hasB||!bar.b){tozero=true}}}fullTrace._extremes[sa._id]=Axes.findExtremes(sa,pts,{tozero:tozero,padded:padded})}}function collectExtents(calcTraces,pa){var pLetter=getAxisLetter(pa);var extents={};var i,j,cd;var pMin=Infinity;var pMax=-Infinity;for(i=0;i<calcTraces.length;i++){cd=calcTraces[i];for(j=0;j<cd.length;j++){var p=cd[j].p;if(isNumeric(p)){pMin=Math.min(pMin,p);pMax=Math.max(pMax,p)}}}var roundFactor=1e4/(pMax-pMin);var round=extents.round=function(p){return String(Math.round(roundFactor*(p-pMin)))};for(i=0;i<calcTraces.length;i++){cd=calcTraces[i];cd[0].t.extents=extents;var poffset=cd[0].t.poffset;var poffsetIsArray=Array.isArray(poffset);for(j=0;j<cd.length;j++){var di=cd[j];var p0=di[pLetter]-di.w/2;if(isNumeric(p0)){var p1=di[pLetter]+di.w/2;var pVal=round(di.p);if(extents[pVal]){extents[pVal]=[Math.min(p0,extents[pVal][0]),Math.max(p1,extents[pVal][1])]}else{extents[pVal]=[p0,p1]}}di.p0=di.p+(poffsetIsArray?poffset[j]:poffset);di.p1=di.p0+di.w;di.s0=di.b;di.s1=di.s0+di.s}}}function getAxisLetter(ax){return ax._id.charAt(0)}module.exports={crossTraceCalc:crossTraceCalc,setGroupPositions:setGroupPositions}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/axes":854,"../../plots/cartesian/constraints":862,"../../registry":931,"./sieve.js":954,"fast-isnumeric":249}],945:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var Registry=_dereq_("../../registry");var handleXYDefaults=_dereq_("../scatter/xy_defaults");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var handleStyleDefaults=_dereq_("./style_defaults");var getAxisGroup=_dereq_("../../plots/cartesian/constraints").getAxisGroup;var attributes=_dereq_("./attributes");var coerceFont=Lib.coerceFont;function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleXYDefaults(traceIn,traceOut,layout,coerce);if(!len){traceOut.visible=false;return}handlePeriodDefaults(traceIn,traceOut,layout,coerce);coerce("xhoverformat");coerce("yhoverformat");coerce("orientation",traceOut.x&&!traceOut.y?"h":"v");coerce("base");coerce("offset");coerce("width");coerce("text");coerce("hovertext");coerce("hovertemplate");var textposition=coerce("textposition");handleText(traceIn,traceOut,layout,coerce,textposition,{moduleHasSelected:true,moduleHasUnselected:true,moduleHasConstrain:true,moduleHasCliponaxis:true,moduleHasTextangle:true,moduleHasInsideanchor:true});handleStyleDefaults(traceIn,traceOut,coerce,defaultColor,layout);var lineColor=(traceOut.marker.line||{}).color;var errorBarsSupplyDefaults=Registry.getComponentMethod("errorbars","supplyDefaults");errorBarsSupplyDefaults(traceIn,traceOut,lineColor||Color.defaultLine,{axis:"y"});errorBarsSupplyDefaults(traceIn,traceOut,lineColor||Color.defaultLine,{axis:"x",inherit:"y"});Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}function handleGroupingDefaults(traceIn,traceOut,fullLayout,coerce){var orientation=traceOut.orientation;var posAxId=traceOut[{v:"x",h:"y"}[orientation]+"axis"];var groupId=getAxisGroup(fullLayout,posAxId)+orientation;var alignmentOpts=fullLayout._alignmentOpts||{};var alignmentgroup=coerce("alignmentgroup");var alignmentGroups=alignmentOpts[groupId];if(!alignmentGroups)alignmentGroups=alignmentOpts[groupId]={};var alignmentGroupOpts=alignmentGroups[alignmentgroup];if(alignmentGroupOpts){alignmentGroupOpts.traces.push(traceOut)}else{alignmentGroupOpts=alignmentGroups[alignmentgroup]={traces:[traceOut],alignmentIndex:Object.keys(alignmentGroups).length,offsetGroups:{}}}var offsetgroup=coerce("offsetgroup");var offsetGroups=alignmentGroupOpts.offsetGroups;var offsetGroupOpts=offsetGroups[offsetgroup];if(offsetgroup){if(!offsetGroupOpts){offsetGroupOpts=offsetGroups[offsetgroup]={offsetIndex:Object.keys(offsetGroups).length}}traceOut._offsetIndex=offsetGroupOpts.offsetIndex}}function crossTraceDefaults(fullData,fullLayout){var traceIn,traceOut;function coerce(attr){return Lib.coerce(traceOut._input,traceOut,attributes,attr)}if(fullLayout.barmode==="group"){for(var i=0;i<fullData.length;i++){traceOut=fullData[i];if(traceOut.type==="bar"){traceIn=traceOut._input;handleGroupingDefaults(traceIn,traceOut,fullLayout,coerce)}}}}function handleText(traceIn,traceOut,layout,coerce,textposition,opts){opts=opts||{};var moduleHasSelected=!(opts.moduleHasSelected===false);var moduleHasUnselected=!(opts.moduleHasUnselected===false);var moduleHasConstrain=!(opts.moduleHasConstrain===false);var moduleHasCliponaxis=!(opts.moduleHasCliponaxis===false);var moduleHasTextangle=!(opts.moduleHasTextangle===false);var moduleHasInsideanchor=!(opts.moduleHasInsideanchor===false);var hasPathbar=!!opts.hasPathbar;var hasBoth=Array.isArray(textposition)||textposition==="auto";var hasInside=hasBoth||textposition==="inside";var hasOutside=hasBoth||textposition==="outside";if(hasInside||hasOutside){var dfltFont=coerceFont(coerce,"textfont",layout.font);var insideTextFontDefault=Lib.extendFlat({},dfltFont);var isTraceTextfontColorSet=traceIn.textfont&&traceIn.textfont.color;var isColorInheritedFromLayoutFont=!isTraceTextfontColorSet;if(isColorInheritedFromLayoutFont){delete insideTextFontDefault.color}coerceFont(coerce,"insidetextfont",insideTextFontDefault);if(hasPathbar){var pathbarTextFontDefault=Lib.extendFlat({},dfltFont);if(isColorInheritedFromLayoutFont){delete pathbarTextFontDefault.color}coerceFont(coerce,"pathbar.textfont",pathbarTextFontDefault)}if(hasOutside)coerceFont(coerce,"outsidetextfont",dfltFont);if(moduleHasSelected)coerce("selected.textfont.color");if(moduleHasUnselected)coerce("unselected.textfont.color");if(moduleHasConstrain)coerce("constraintext");if(moduleHasCliponaxis)coerce("cliponaxis");if(moduleHasTextangle)coerce("textangle");coerce("texttemplate")}if(hasInside){if(moduleHasInsideanchor)coerce("insidetextanchor")}}module.exports={supplyDefaults:supplyDefaults,crossTraceDefaults:crossTraceDefaults,handleGroupingDefaults:handleGroupingDefaults,handleText:handleText}},{"../../components/color":666,"../../lib":803,"../../plots/cartesian/constraints":862,"../../registry":931,"../scatter/period_defaults":1238,"../scatter/xy_defaults":1245,"./attributes":941,"./style_defaults":956}],946:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt,trace){out.x="xVal"in pt?pt.xVal:pt.x;out.y="yVal"in pt?pt.yVal:pt.y;if(pt.xa)out.xaxis=pt.xa;if(pt.ya)out.yaxis=pt.ya;if(trace.orientation==="h"){out.label=out.y;out.value=out.x}else{out.label=out.x;out.value=out.y}return out}},{}],947:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var tinycolor=_dereq_("tinycolor2");var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;exports.coerceString=function(attributeDefinition,value,defaultValue){if(typeof value==="string"){if(value||!attributeDefinition.noBlank)return value}else if(typeof value==="number"||value===true){if(!attributeDefinition.strict)return String(value)}return defaultValue!==undefined?defaultValue:attributeDefinition.dflt};exports.coerceNumber=function(attributeDefinition,value,defaultValue){if(isNumeric(value)){value=+value;var min=attributeDefinition.min;var max=attributeDefinition.max;var isOutOfBounds=min!==undefined&&value<min||max!==undefined&&value>max;if(!isOutOfBounds)return value}return defaultValue!==undefined?defaultValue:attributeDefinition.dflt};exports.coerceColor=function(attributeDefinition,value,defaultValue){if(tinycolor(value).isValid())return value;return defaultValue!==undefined?defaultValue:attributeDefinition.dflt};exports.coerceEnumerated=function(attributeDefinition,value,defaultValue){if(attributeDefinition.coerceNumber)value=+value;if(attributeDefinition.values.indexOf(value)!==-1)return value;return defaultValue!==undefined?defaultValue:attributeDefinition.dflt};exports.getValue=function(arrayOrScalar,index){var value;if(!Array.isArray(arrayOrScalar))value=arrayOrScalar;else if(index<arrayOrScalar.length)value=arrayOrScalar[index];return value};exports.getLineWidth=function(trace,di){var w=0<di.mlw?di.mlw:!isArrayOrTypedArray(trace.marker.line.width)?trace.marker.line.width:0;return w}},{"../../lib":803,"fast-isnumeric":249,tinycolor2:598}],948:[function(_dereq_,module,exports){"use strict";var Fx=_dereq_("../../components/fx");var Registry=_dereq_("../../registry");var Color=_dereq_("../../components/color");var fillText=_dereq_("../../lib").fillText;var getLineWidth=_dereq_("./helpers").getLineWidth;var hoverLabelText=_dereq_("../../plots/cartesian/axes").hoverLabelText;var BADNUM=_dereq_("../../constants/numerical").BADNUM;function hoverPoints(pointData,xval,yval,hovermode,opts){var barPointData=hoverOnBars(pointData,xval,yval,hovermode,opts);if(barPointData){var cd=barPointData.cd;var trace=cd[0].trace;var di=cd[barPointData.index];barPointData.color=getTraceColor(trace,di);Registry.getComponentMethod("errorbars","hoverInfo")(di,trace,barPointData);return[barPointData]}}function hoverOnBars(pointData,xval,yval,hovermode,opts){var cd=pointData.cd;var trace=cd[0].trace;var t=cd[0].t;var isClosest=hovermode==="closest";var isWaterfall=trace.type==="waterfall";var maxHoverDistance=pointData.maxHoverDistance;var maxSpikeDistance=pointData.maxSpikeDistance;var posVal,sizeVal,posLetter,sizeLetter,dx,dy,pRangeCalc;if(trace.orientation==="h"){posVal=yval;sizeVal=xval;posLetter="y";sizeLetter="x";dx=sizeFn;dy=positionFn}else{posVal=xval;sizeVal=yval;posLetter="x";sizeLetter="y";dy=sizeFn;dx=positionFn}var period=trace[posLetter+"period"];var isClosestOrPeriod=isClosest||period;function thisBarMinPos(di){return thisBarExtPos(di,-1)}function thisBarMaxPos(di){return thisBarExtPos(di,1)}function thisBarExtPos(di,sgn){var w=di.w;return di[posLetter]+sgn*w/2}function periodLength(di){return di[posLetter+"End"]-di[posLetter+"Start"]}var minPos=isClosest?thisBarMinPos:period?function(di){return di.p-periodLength(di)/2}:function(di){return Math.min(thisBarMinPos(di),di.p-t.bardelta/2)};var maxPos=isClosest?thisBarMaxPos:period?function(di){return di.p+periodLength(di)/2}:function(di){return Math.max(thisBarMaxPos(di),di.p+t.bardelta/2)};function inbox(_minPos,_maxPos,maxDistance){if(opts.finiteRange)maxDistance=0;return Fx.inbox(_minPos-posVal,_maxPos-posVal,maxDistance+Math.min(1,Math.abs(_maxPos-_minPos)/pRangeCalc)-1)}function positionFn(di){return inbox(minPos(di),maxPos(di),maxHoverDistance)}function thisBarPositionFn(di){return inbox(thisBarMinPos(di),thisBarMaxPos(di),maxSpikeDistance)}function getSize(di){var s=di[sizeLetter];if(isWaterfall){var rawS=Math.abs(di.rawS)||0;if(sizeVal>0){s+=rawS}else if(sizeVal<0){s-=rawS}}return s}function sizeFn(di){var v=sizeVal;var b=di.b;var s=getSize(di);return Fx.inbox(b-v,s-v,maxHoverDistance+(s-v)/(s-b)-1)}function thisBarSizeFn(di){var v=sizeVal;var b=di.b;var s=getSize(di);return Fx.inbox(b-v,s-v,maxSpikeDistance+(s-v)/(s-b)-1)}var pa=pointData[posLetter+"a"];var sa=pointData[sizeLetter+"a"];pRangeCalc=Math.abs(pa.r2c(pa.range[1])-pa.r2c(pa.range[0]));function dxy(di){return(dx(di)+dy(di))/2}var distfn=Fx.getDistanceFunction(hovermode,dx,dy,dxy);Fx.getClosest(cd,distfn,pointData);if(pointData.index===false)return;if(cd[pointData.index].p===BADNUM)return;if(!isClosestOrPeriod){minPos=function(di){return Math.min(thisBarMinPos(di),di.p-t.bargroupwidth/2)};maxPos=function(di){return Math.max(thisBarMaxPos(di),di.p+t.bargroupwidth/2)}}var index=pointData.index;var di=cd[index];var size=trace.base?di.b+di.s:di.s;pointData[sizeLetter+"0"]=pointData[sizeLetter+"1"]=sa.c2p(di[sizeLetter],true);pointData[sizeLetter+"LabelVal"]=size;var extent=t.extents[t.extents.round(di.p)];pointData[posLetter+"0"]=pa.c2p(isClosest?minPos(di):extent[0],true);pointData[posLetter+"1"]=pa.c2p(isClosest?maxPos(di):extent[1],true);var hasPeriod=di.orig_p!==undefined;pointData[posLetter+"LabelVal"]=hasPeriod?di.orig_p:di.p;pointData.labelLabel=hoverLabelText(pa,pointData[posLetter+"LabelVal"],trace[posLetter+"hoverformat"]);pointData.valueLabel=hoverLabelText(sa,pointData[sizeLetter+"LabelVal"],trace[sizeLetter+"hoverformat"]);pointData.baseLabel=hoverLabelText(sa,di.b,trace[sizeLetter+"hoverformat"]);pointData.spikeDistance=(thisBarSizeFn(di)+thisBarPositionFn(di))/2;pointData[posLetter+"Spike"]=pa.c2p(di.p,true);fillText(di,trace,pointData);pointData.hovertemplate=trace.hovertemplate;return pointData}function getTraceColor(trace,di){var mc=di.mcc||trace.marker.color;var mlc=di.mlcc||trace.marker.line.color;var mlw=getLineWidth(trace,di);if(Color.opacity(mc))return mc;else if(Color.opacity(mlc)&&mlw)return mlc}module.exports={hoverPoints:hoverPoints,hoverOnBars:hoverOnBars,getTraceColor:getTraceColor}},{"../../components/color":666,"../../components/fx":706,"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/axes":854,"../../registry":931,"./helpers":947}],949:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,crossTraceDefaults:_dereq_("./defaults").crossTraceDefaults,supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc"),crossTraceCalc:_dereq_("./cross_trace_calc").crossTraceCalc,colorbar:_dereq_("../scatter/marker_colorbar"),arraysToCalcdata:_dereq_("./arrays_to_calcdata"),plot:_dereq_("./plot").plot,style:_dereq_("./style").style,styleOnSelect:_dereq_("./style").styleOnSelect,hoverPoints:_dereq_("./hover").hoverPoints,eventData:_dereq_("./event_data"),selectPoints:_dereq_("./select"),moduleType:"trace",name:"bar",basePlotModule:_dereq_("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:true,meta:{}}},{"../../plots/cartesian":868,"../scatter/marker_colorbar":1236,"./arrays_to_calcdata":940,"./attributes":941,"./calc":942,"./cross_trace_calc":944,"./defaults":945,"./event_data":946,"./hover":948,"./layout_attributes":950,"./layout_defaults":951,"./plot":952,"./select":953,"./style":955}],950:[function(_dereq_,module,exports){"use strict";module.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],951:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Axes=_dereq_("../../plots/cartesian/axes");var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function(layoutIn,layoutOut,fullData){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}var hasBars=false;var shouldBeGapless=false;var gappedAnyway=false;var usedSubplots={};var mode=coerce("barmode");for(var i=0;i<fullData.length;i++){var trace=fullData[i];if(Registry.traceIs(trace,"bar")&&trace.visible)hasBars=true;else continue;if(mode==="group"){var subploti=trace.xaxis+trace.yaxis;if(usedSubplots[subploti])gappedAnyway=true;usedSubplots[subploti]=true}if(trace.visible&&trace.type==="histogram"){var pa=Axes.getFromId({_fullLayout:layoutOut},trace[trace.orientation==="v"?"xaxis":"yaxis"]);if(pa.type!=="category")shouldBeGapless=true}}if(!hasBars){delete layoutOut.barmode;return}if(mode!=="overlay")coerce("barnorm");coerce("bargap",shouldBeGapless&&!gappedAnyway?0:.2);coerce("bargroupgap")}},{"../../lib":803,"../../plots/cartesian/axes":854,"../../registry":931,"./layout_attributes":950}],952:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var Registry=_dereq_("../../registry");var tickText=_dereq_("../../plots/cartesian/axes").tickText;var uniformText=_dereq_("./uniform_text");var recordMinTextSize=uniformText.recordMinTextSize;var clearMinTextSize=uniformText.clearMinTextSize;var style=_dereq_("./style");var helpers=_dereq_("./helpers");var constants=_dereq_("./constants");var attributes=_dereq_("./attributes");var attributeText=attributes.text;var attributeTextPosition=attributes.textposition;var appendArrayPointValue=_dereq_("../../components/fx/helpers").appendArrayPointValue;var TEXTPAD=constants.TEXTPAD;function keyFunc(d){return d.id}function getKeyFunc(trace){if(trace.ids){return keyFunc}}function dirSign(a,b){return a<b?1:-1}function getXY(di,xa,ya,isHorizontal){var s=[];var p=[];var sAxis=isHorizontal?xa:ya;var pAxis=isHorizontal?ya:xa;s[0]=sAxis.c2p(di.s0,true);p[0]=pAxis.c2p(di.p0,true);s[1]=sAxis.c2p(di.s1,true);p[1]=pAxis.c2p(di.p1,true);return isHorizontal?[s,p]:[p,s]}function transition(selection,fullLayout,opts,makeOnCompleteCallback){if(!fullLayout.uniformtext.mode&&hasTransition(opts)){var onComplete;if(makeOnCompleteCallback){onComplete=makeOnCompleteCallback()}return selection.transition().duration(opts.duration).ease(opts.easing).each("end",(function(){onComplete&&onComplete()})).each("interrupt",(function(){onComplete&&onComplete()}))}else{return selection}}function hasTransition(transitionOpts){return transitionOpts&&transitionOpts.duration>0}function plot(gd,plotinfo,cdModule,traceLayer,opts,makeOnCompleteCallback){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var fullLayout=gd._fullLayout;if(!opts){opts={mode:fullLayout.barmode,norm:fullLayout.barmode,gap:fullLayout.bargap,groupgap:fullLayout.bargroupgap};clearMinTextSize("bar",fullLayout)}var bartraces=Lib.makeTraceGroups(traceLayer,cdModule,"trace bars").each((function(cd){var plotGroup=d3.select(this);var trace=cd[0].trace;var isWaterfall=trace.type==="waterfall";var isFunnel=trace.type==="funnel";var isBar=trace.type==="bar";var shouldDisplayZeros=isBar||isFunnel;var adjustPixel=0;if(isWaterfall&&trace.connector.visible&&trace.connector.mode==="between"){adjustPixel=trace.connector.line.width/2}var isHorizontal=trace.orientation==="h";var withTransition=hasTransition(opts);var pointGroup=Lib.ensureSingle(plotGroup,"g","points");var keyFunc=getKeyFunc(trace);var bars=pointGroup.selectAll("g.point").data(Lib.identity,keyFunc);bars.enter().append("g").classed("point",true);bars.exit().remove();bars.each((function(di,i){var bar=d3.select(this);var xy=getXY(di,xa,ya,isHorizontal);var x0=xy[0][0];var x1=xy[0][1];var y0=xy[1][0];var y1=xy[1][1];var isBlank=(isHorizontal?x1-x0:y1-y0)===0;if(isBlank&&shouldDisplayZeros&&helpers.getLineWidth(trace,di)){isBlank=false}if(!isBlank){isBlank=!isNumeric(x0)||!isNumeric(x1)||!isNumeric(y0)||!isNumeric(y1)}di.isBlank=isBlank;if(isBlank){if(isHorizontal){x1=x0}else{y1=y0}}if(adjustPixel&&!isBlank){if(isHorizontal){x0-=dirSign(x0,x1)*adjustPixel;x1+=dirSign(x0,x1)*adjustPixel}else{y0-=dirSign(y0,y1)*adjustPixel;y1+=dirSign(y0,y1)*adjustPixel}}var lw;var mc;if(trace.type==="waterfall"){if(!isBlank){var cont=trace[di.dir].marker;lw=cont.line.width;mc=cont.color}}else{lw=helpers.getLineWidth(trace,di);mc=di.mc||trace.marker.color}function roundWithLine(v){var offset=d3.round(lw/2%1,2);return opts.gap===0&&opts.groupgap===0?d3.round(Math.round(v)-offset,2):v}function expandToVisible(v,vc,hideZeroSpan){if(hideZeroSpan&&v===vc){return v}return Math.abs(v-vc)>=2?roundWithLine(v):v>vc?Math.ceil(v):Math.floor(v)}if(!gd._context.staticPlot){var op=Color.opacity(mc);var fixpx=op<1||lw>.01?roundWithLine:expandToVisible;x0=fixpx(x0,x1,isHorizontal);x1=fixpx(x1,x0,isHorizontal);y0=fixpx(y0,y1,!isHorizontal);y1=fixpx(y1,y0,!isHorizontal)}var sel=transition(Lib.ensureSingle(bar,"path"),fullLayout,opts,makeOnCompleteCallback);sel.style("vector-effect","non-scaling-stroke").attr("d",isNaN((x1-x0)*(y1-y0))||isBlank&&gd._context.staticPlot?"M0,0Z":"M"+x0+","+y0+"V"+y1+"H"+x1+"V"+y0+"Z").call(Drawing.setClipUrl,plotinfo.layerClipId,gd);if(!fullLayout.uniformtext.mode&&withTransition){var styleFns=Drawing.makePointStyleFns(trace);Drawing.singlePointStyle(di,sel,trace,styleFns,gd)}appendBarText(gd,plotinfo,bar,cd,i,x0,x1,y0,y1,opts,makeOnCompleteCallback);if(plotinfo.layerClipId){Drawing.hideOutsideRangePoint(di,bar.select("text"),xa,ya,trace.xcalendar,trace.ycalendar)}}));var hasClipOnAxisFalse=trace.cliponaxis===false;Drawing.setClipUrl(plotGroup,hasClipOnAxisFalse?null:plotinfo.layerClipId,gd)}));Registry.getComponentMethod("errorbars","plot")(gd,bartraces,plotinfo,opts)}function appendBarText(gd,plotinfo,bar,cd,i,x0,x1,y0,y1,opts,makeOnCompleteCallback){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var fullLayout=gd._fullLayout;var textPosition;function appendTextNode(bar,text,font){var textSelection=Lib.ensureSingle(bar,"text").text(text).attr({class:"bartext bartext-"+textPosition,"text-anchor":"middle","data-notex":1}).call(Drawing.font,font).call(svgTextUtils.convertToTspans,gd);return textSelection}var trace=cd[0].trace;var isHorizontal=trace.orientation==="h";var text=getText(fullLayout,cd,i,xa,ya);textPosition=getTextPosition(trace,i);var inStackOrRelativeMode=opts.mode==="stack"||opts.mode==="relative";var calcBar=cd[i];var isOutmostBar=!inStackOrRelativeMode||calcBar._outmost;if(!text||textPosition==="none"||(calcBar.isBlank||x0===x1||y0===y1)&&(textPosition==="auto"||textPosition==="inside")){bar.select("text").remove();return}var layoutFont=fullLayout.font;var barColor=style.getBarColor(cd[i],trace);var insideTextFont=style.getInsideTextFont(trace,i,layoutFont,barColor);var outsideTextFont=style.getOutsideTextFont(trace,i,layoutFont);var di=bar.datum();if(isHorizontal){if(xa.type==="log"&&di.s0<=0){if(xa.range[0]<xa.range[1]){x0=0}else{x0=xa._length}}}else{if(ya.type==="log"&&di.s0<=0){if(ya.range[0]<ya.range[1]){y0=ya._length}else{y0=0}}}var barWidth=Math.abs(x1-x0)-2*TEXTPAD;var barHeight=Math.abs(y1-y0)-2*TEXTPAD;var textSelection;var textBB;var textWidth;var textHeight;var font;if(textPosition==="outside"){if(!isOutmostBar&&!calcBar.hasB)textPosition="inside"}if(textPosition==="auto"){if(isOutmostBar){textPosition="inside";font=Lib.ensureUniformFontSize(gd,insideTextFont);textSelection=appendTextNode(bar,text,font);textBB=Drawing.bBox(textSelection.node()),textWidth=textBB.width,textHeight=textBB.height;var textHasSize=textWidth>0&&textHeight>0;var fitsInside=textWidth<=barWidth&&textHeight<=barHeight;var fitsInsideIfRotated=textWidth<=barHeight&&textHeight<=barWidth;var fitsInsideIfShrunk=isHorizontal?barWidth>=textWidth*(barHeight/textHeight):barHeight>=textHeight*(barWidth/textWidth);if(textHasSize&&(fitsInside||fitsInsideIfRotated||fitsInsideIfShrunk)){textPosition="inside"}else{textPosition="outside";textSelection.remove();textSelection=null}}else{textPosition="inside"}}if(!textSelection){font=Lib.ensureUniformFontSize(gd,textPosition==="outside"?outsideTextFont:insideTextFont);textSelection=appendTextNode(bar,text,font);var currentTransform=textSelection.attr("transform");textSelection.attr("transform","");textBB=Drawing.bBox(textSelection.node()),textWidth=textBB.width,textHeight=textBB.height;textSelection.attr("transform",currentTransform);if(textWidth<=0||textHeight<=0){textSelection.remove();return}}var angle=trace.textangle;var transform,constrained;if(textPosition==="outside"){constrained=trace.constraintext==="both"||trace.constraintext==="outside";transform=toMoveOutsideBar(x0,x1,y0,y1,textBB,{isHorizontal:isHorizontal,constrained:constrained,angle:angle})}else{constrained=trace.constraintext==="both"||trace.constraintext==="inside";transform=toMoveInsideBar(x0,x1,y0,y1,textBB,{isHorizontal:isHorizontal,constrained:constrained,angle:angle,anchor:trace.insidetextanchor})}transform.fontSize=font.size;recordMinTextSize(trace.type,transform,fullLayout);calcBar.transform=transform;transition(textSelection,fullLayout,opts,makeOnCompleteCallback).attr("transform",Lib.getTextTransform(transform))}function getRotateFromAngle(angle){return angle==="auto"?0:angle}function getRotatedTextSize(textBB,rotate){var a=Math.PI/180*rotate;var absSin=Math.abs(Math.sin(a));var absCos=Math.abs(Math.cos(a));return{x:textBB.width*absCos+textBB.height*absSin,y:textBB.width*absSin+textBB.height*absCos}}function toMoveInsideBar(x0,x1,y0,y1,textBB,opts){var isHorizontal=!!opts.isHorizontal;var constrained=!!opts.constrained;var angle=opts.angle||0;var anchor=opts.anchor||"end";var isEnd=anchor==="end";var isStart=anchor==="start";var leftToRight=opts.leftToRight||0;var toRight=(leftToRight+1)/2;var toLeft=1-toRight;var textWidth=textBB.width;var textHeight=textBB.height;var lx=Math.abs(x1-x0);var ly=Math.abs(y1-y0);var textpad=lx>2*TEXTPAD&&ly>2*TEXTPAD?TEXTPAD:0;lx-=2*textpad;ly-=2*textpad;var rotate=getRotateFromAngle(angle);if(angle==="auto"&&!(textWidth<=lx&&textHeight<=ly)&&(textWidth>lx||textHeight>ly)&&(!(textWidth>ly||textHeight>lx)||textWidth<textHeight!==lx<ly)){rotate+=90}var t=getRotatedTextSize(textBB,rotate);var scale=1;if(constrained){scale=Math.min(1,lx/t.x,ly/t.y)}var textX=textBB.left*toLeft+textBB.right*toRight;var textY=(textBB.top+textBB.bottom)/2;var targetX=(x0+TEXTPAD)*toLeft+(x1-TEXTPAD)*toRight;var targetY=(y0+y1)/2;var anchorX=0;var anchorY=0;if(isStart||isEnd){var extrapad=(isHorizontal?t.x:t.y)/2;var dir=isHorizontal?dirSign(x0,x1):dirSign(y0,y1);if(isHorizontal){if(isStart){targetX=x0+dir*textpad;anchorX=-dir*extrapad}else{targetX=x1-dir*textpad;anchorX=dir*extrapad}}else{if(isStart){targetY=y0+dir*textpad;anchorY=-dir*extrapad}else{targetY=y1-dir*textpad;anchorY=dir*extrapad}}}return{textX:textX,textY:textY,targetX:targetX,targetY:targetY,anchorX:anchorX,anchorY:anchorY,scale:scale,rotate:rotate}}function toMoveOutsideBar(x0,x1,y0,y1,textBB,opts){var isHorizontal=!!opts.isHorizontal;var constrained=!!opts.constrained;var angle=opts.angle||0;var textWidth=textBB.width;var textHeight=textBB.height;var lx=Math.abs(x1-x0);var ly=Math.abs(y1-y0);var textpad;if(isHorizontal){textpad=ly>2*TEXTPAD?TEXTPAD:0}else{textpad=lx>2*TEXTPAD?TEXTPAD:0}var scale=1;if(constrained){scale=isHorizontal?Math.min(1,ly/textHeight):Math.min(1,lx/textWidth)}var rotate=getRotateFromAngle(angle);var t=getRotatedTextSize(textBB,rotate);var extrapad=(isHorizontal?t.x:t.y)/2;var textX=(textBB.left+textBB.right)/2;var textY=(textBB.top+textBB.bottom)/2;var targetX=(x0+x1)/2;var targetY=(y0+y1)/2;var anchorX=0;var anchorY=0;var dir=isHorizontal?dirSign(x1,x0):dirSign(y0,y1);if(isHorizontal){targetX=x1-dir*textpad;anchorX=dir*extrapad}else{targetY=y1+dir*textpad;anchorY=-dir*extrapad}return{textX:textX,textY:textY,targetX:targetX,targetY:targetY,anchorX:anchorX,anchorY:anchorY,scale:scale,rotate:rotate}}function getText(fullLayout,cd,index,xa,ya){var trace=cd[0].trace;var texttemplate=trace.texttemplate;var value;if(texttemplate){value=calcTexttemplate(fullLayout,cd,index,xa,ya)}else if(trace.textinfo){value=calcTextinfo(cd,index,xa,ya)}else{value=helpers.getValue(trace.text,index)}return helpers.coerceString(attributeText,value)}function getTextPosition(trace,index){var value=helpers.getValue(trace.textposition,index);return helpers.coerceEnumerated(attributeTextPosition,value)}function calcTexttemplate(fullLayout,cd,index,xa,ya){var trace=cd[0].trace;var texttemplate=Lib.castOption(trace,index,"texttemplate");if(!texttemplate)return"";var isWaterfall=trace.type==="waterfall";var isFunnel=trace.type==="funnel";var pLetter,pAxis;var vLetter,vAxis;if(trace.orientation==="h"){pLetter="y";pAxis=ya;vLetter="x";vAxis=xa}else{pLetter="x";pAxis=xa;vLetter="y";vAxis=ya}function formatLabel(u){return tickText(pAxis,pAxis.c2l(u),true).text}function formatNumber(v){return tickText(vAxis,vAxis.c2l(v),true).text}var cdi=cd[index];var obj={};obj.label=cdi.p;obj.labelLabel=obj[pLetter+"Label"]=formatLabel(cdi.p);var tx=Lib.castOption(trace,cdi.i,"text");if(tx===0||tx)obj.text=tx;obj.value=cdi.s;obj.valueLabel=obj[vLetter+"Label"]=formatNumber(cdi.s);var pt={};appendArrayPointValue(pt,trace,cdi.i);if(isWaterfall){obj.delta=+cdi.rawS||cdi.s;obj.deltaLabel=formatNumber(obj.delta);obj.final=cdi.v;obj.finalLabel=formatNumber(obj.final);obj.initial=obj.final-obj.delta;obj.initialLabel=formatNumber(obj.initial)}if(isFunnel){obj.value=cdi.s;obj.valueLabel=formatNumber(obj.value);obj.percentInitial=cdi.begR;obj.percentInitialLabel=Lib.formatPercent(cdi.begR);obj.percentPrevious=cdi.difR;obj.percentPreviousLabel=Lib.formatPercent(cdi.difR);obj.percentTotal=cdi.sumR;obj.percenTotalLabel=Lib.formatPercent(cdi.sumR)}var customdata=Lib.castOption(trace,cdi.i,"customdata");if(customdata)obj.customdata=customdata;return Lib.texttemplateString(texttemplate,obj,fullLayout._d3locale,pt,obj,trace._meta||{})}function calcTextinfo(cd,index,xa,ya){var trace=cd[0].trace;var isHorizontal=trace.orientation==="h";var isWaterfall=trace.type==="waterfall";var isFunnel=trace.type==="funnel";function formatLabel(u){var pAxis=isHorizontal?ya:xa;return tickText(pAxis,u,true).text}function formatNumber(v){var sAxis=isHorizontal?xa:ya;return tickText(sAxis,+v,true).text}var textinfo=trace.textinfo;var cdi=cd[index];var parts=textinfo.split("+");var text=[];var tx;var hasFlag=function(flag){return parts.indexOf(flag)!==-1};if(hasFlag("label")){text.push(formatLabel(cd[index].p))}if(hasFlag("text")){tx=Lib.castOption(trace,cdi.i,"text");if(tx===0||tx)text.push(tx)}if(isWaterfall){var delta=+cdi.rawS||cdi.s;var final=cdi.v;var initial=final-delta;if(hasFlag("initial"))text.push(formatNumber(initial));if(hasFlag("delta"))text.push(formatNumber(delta));if(hasFlag("final"))text.push(formatNumber(final))}if(isFunnel){if(hasFlag("value"))text.push(formatNumber(cdi.s));var nPercent=0;if(hasFlag("percent initial"))nPercent++;if(hasFlag("percent previous"))nPercent++;if(hasFlag("percent total"))nPercent++;var hasMultiplePercents=nPercent>1;if(hasFlag("percent initial")){tx=Lib.formatPercent(cdi.begR);if(hasMultiplePercents)tx+=" of initial";text.push(tx)}if(hasFlag("percent previous")){tx=Lib.formatPercent(cdi.difR);if(hasMultiplePercents)tx+=" of previous";text.push(tx)}if(hasFlag("percent total")){tx=Lib.formatPercent(cdi.sumR);if(hasMultiplePercents)tx+=" of total";text.push(tx)}}return text.join("<br>")}module.exports={plot:plot,toMoveInsideBar:toMoveInsideBar}},{"../../components/color":666,"../../components/drawing":688,"../../components/fx/helpers":702,"../../lib":803,"../../lib/svg_text_utils":829,"../../plots/cartesian/axes":854,"../../registry":931,"./attributes":941,"./constants":943,"./helpers":947,"./style":955,"./uniform_text":957,"@plotly/d3":58,"fast-isnumeric":249}],953:[function(_dereq_,module,exports){"use strict";module.exports=function selectPoints(searchInfo,selectionTester){var cd=searchInfo.cd;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var trace=cd[0].trace;var isFunnel=trace.type==="funnel";var isHorizontal=trace.orientation==="h";var selection=[];var i;if(selectionTester===false){for(i=0;i<cd.length;i++){cd[i].selected=0}}else{for(i=0;i<cd.length;i++){var di=cd[i];var ct="ct"in di?di.ct:getCentroid(di,xa,ya,isHorizontal,isFunnel);if(selectionTester.contains(ct,false,i,searchInfo)){selection.push({pointNumber:i,x:xa.c2d(di.x),y:ya.c2d(di.y)});di.selected=1}else{di.selected=0}}}return selection};function getCentroid(d,xa,ya,isHorizontal,isFunnel){var x0=xa.c2p(isHorizontal?d.s0:d.p0,true);var x1=xa.c2p(isHorizontal?d.s1:d.p1,true);var y0=ya.c2p(isHorizontal?d.p0:d.s0,true);var y1=ya.c2p(isHorizontal?d.p1:d.s1,true);if(isFunnel){return[(x0+x1)/2,(y0+y1)/2]}else{if(isHorizontal){return[x1,(y0+y1)/2]}else{return[(x0+x1)/2,y1]}}}},{}],954:[function(_dereq_,module,exports){"use strict";module.exports=Sieve;var distinctVals=_dereq_("../../lib").distinctVals;var BADNUM=_dereq_("../../constants/numerical").BADNUM;function Sieve(traces,opts){this.traces=traces;this.sepNegVal=opts.sepNegVal;this.overlapNoMerge=opts.overlapNoMerge;var width1=Infinity;var positions=[];for(var i=0;i<traces.length;i++){var trace=traces[i];for(var j=0;j<trace.length;j++){var bar=trace[j];if(bar.p!==BADNUM)positions.push(bar.p)}if(trace[0]&&trace[0].width1){width1=Math.min(trace[0].width1,width1)}}this.positions=positions;var dv=distinctVals(positions);this.distinctPositions=dv.vals;if(dv.vals.length===1&&width1!==Infinity)this.minDiff=width1;else this.minDiff=Math.min(dv.minDiff,width1);var type=(opts.posAxis||{}).type;if(type==="category"||type==="multicategory"){this.minDiff=1}this.binWidth=this.minDiff;this.bins={}}Sieve.prototype.put=function put(position,value){var label=this.getLabel(position,value);var oldValue=this.bins[label]||0;this.bins[label]=oldValue+value;return oldValue};Sieve.prototype.get=function get(position,value){var label=this.getLabel(position,value);return this.bins[label]||0};Sieve.prototype.getLabel=function getLabel(position,value){var prefix=value<0&&this.sepNegVal?"v":"^";var label=this.overlapNoMerge?position:Math.round(position/this.binWidth);return prefix+label}},{"../../constants/numerical":779,"../../lib":803}],955:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var resizeText=_dereq_("./uniform_text").resizeText;var attributes=_dereq_("./attributes");var attributeTextFont=attributes.textfont;var attributeInsideTextFont=attributes.insidetextfont;var attributeOutsideTextFont=attributes.outsidetextfont;var helpers=_dereq_("./helpers");function style(gd){var s=d3.select(gd).selectAll("g.barlayer").selectAll("g.trace");resizeText(gd,s,"bar");var barcount=s.size();var fullLayout=gd._fullLayout;s.style("opacity",(function(d){return d[0].trace.opacity})).each((function(d){if(fullLayout.barmode==="stack"&&barcount>1||fullLayout.bargap===0&&fullLayout.bargroupgap===0&&!d[0].trace.marker.line.width){d3.select(this).attr("shape-rendering","crispEdges")}}));s.selectAll("g.points").each((function(d){var sel=d3.select(this);var trace=d[0].trace;stylePoints(sel,trace,gd)}));Registry.getComponentMethod("errorbars","style")(s)}function stylePoints(sel,trace,gd){Drawing.pointStyle(sel.selectAll("path"),trace,gd);styleTextPoints(sel,trace,gd)}function styleTextPoints(sel,trace,gd){sel.selectAll("text").each((function(d){var tx=d3.select(this);var font=Lib.ensureUniformFontSize(gd,determineFont(tx,d,trace,gd));Drawing.font(tx,font)}))}function styleOnSelect(gd,cd,sel){var trace=cd[0].trace;if(trace.selectedpoints){stylePointsInSelectionMode(sel,trace,gd)}else{stylePoints(sel,trace,gd);Registry.getComponentMethod("errorbars","style")(sel)}}function stylePointsInSelectionMode(s,trace,gd){Drawing.selectedPointStyle(s.selectAll("path"),trace);styleTextInSelectionMode(s.selectAll("text"),trace,gd)}function styleTextInSelectionMode(txs,trace,gd){txs.each((function(d){var tx=d3.select(this);var font;if(d.selected){font=Lib.ensureUniformFontSize(gd,determineFont(tx,d,trace,gd));var selectedFontColor=trace.selected.textfont&&trace.selected.textfont.color;if(selectedFontColor){font.color=selectedFontColor}Drawing.font(tx,font)}else{Drawing.selectedTextStyle(tx,trace)}}))}function determineFont(tx,d,trace,gd){var layoutFont=gd._fullLayout.font;var textFont=trace.textfont;if(tx.classed("bartext-inside")){var barColor=getBarColor(d,trace);textFont=getInsideTextFont(trace,d.i,layoutFont,barColor)}else if(tx.classed("bartext-outside")){textFont=getOutsideTextFont(trace,d.i,layoutFont)}return textFont}function getTextFont(trace,index,defaultValue){return getFontValue(attributeTextFont,trace.textfont,index,defaultValue)}function getInsideTextFont(trace,index,layoutFont,barColor){var defaultFont=getTextFont(trace,index,layoutFont);var wouldFallBackToLayoutFont=trace._input.textfont===undefined||trace._input.textfont.color===undefined||Array.isArray(trace.textfont.color)&&trace.textfont.color[index]===undefined;if(wouldFallBackToLayoutFont){defaultFont={color:Color.contrast(barColor),family:defaultFont.family,size:defaultFont.size}}return getFontValue(attributeInsideTextFont,trace.insidetextfont,index,defaultFont)}function getOutsideTextFont(trace,index,layoutFont){var defaultFont=getTextFont(trace,index,layoutFont);return getFontValue(attributeOutsideTextFont,trace.outsidetextfont,index,defaultFont)}function getFontValue(attributeDefinition,attributeValue,index,defaultValue){attributeValue=attributeValue||{};var familyValue=helpers.getValue(attributeValue.family,index);var sizeValue=helpers.getValue(attributeValue.size,index);var colorValue=helpers.getValue(attributeValue.color,index);return{family:helpers.coerceString(attributeDefinition.family,familyValue,defaultValue.family),size:helpers.coerceNumber(attributeDefinition.size,sizeValue,defaultValue.size),color:helpers.coerceColor(attributeDefinition.color,colorValue,defaultValue.color)}}function getBarColor(cd,trace){if(trace.type==="waterfall"){return trace[cd.dir].marker.color}return cd.mcc||cd.mc||trace.marker.color}module.exports={style:style,styleTextPoints:styleTextPoints,styleOnSelect:styleOnSelect,getInsideTextFont:getInsideTextFont,getOutsideTextFont:getOutsideTextFont,getBarColor:getBarColor,resizeText:resizeText}},{"../../components/color":666,"../../components/drawing":688,"../../lib":803,"../../registry":931,"./attributes":941,"./helpers":947,"./uniform_text":957,"@plotly/d3":58}],956:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../components/color");var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var coercePattern=_dereq_("../../lib").coercePattern;module.exports=function handleStyleDefaults(traceIn,traceOut,coerce,defaultColor,layout){var markerColor=coerce("marker.color",defaultColor);var hasMarkerColorscale=hasColorscale(traceIn,"marker");if(hasMarkerColorscale){colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"marker.",cLetter:"c"})}coerce("marker.line.color",Color.defaultLine);if(hasColorscale(traceIn,"marker.line")){colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"marker.line.",cLetter:"c"})}coerce("marker.line.width");coerce("marker.opacity");coercePattern(coerce,"marker.pattern",markerColor,hasMarkerColorscale);coerce("selected.marker.color");coerce("unselected.marker.color")}},{"../../components/color":666,"../../components/colorscale/defaults":676,"../../components/colorscale/helpers":677,"../../lib":803}],957:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");function resizeText(gd,gTrace,traceType){var fullLayout=gd._fullLayout;var minSize=fullLayout["_"+traceType+"Text_minsize"];if(minSize){var shouldHide=fullLayout.uniformtext.mode==="hide";var selector;switch(traceType){case"funnelarea":case"pie":case"sunburst":selector="g.slice";break;case"treemap":case"icicle":selector="g.slice, g.pathbar";break;default:selector="g.points > g.point"}gTrace.selectAll(selector).each((function(d){var transform=d.transform;if(transform){transform.scale=shouldHide&&transform.hide?0:minSize/transform.fontSize;var el=d3.select(this).select("text");el.attr("transform",Lib.getTextTransform(transform))}}))}}function recordMinTextSize(traceType,transform,fullLayout){if(fullLayout.uniformtext.mode){var minKey=getMinKey(traceType);var minSize=fullLayout.uniformtext.minsize;var size=transform.scale*transform.fontSize;transform.hide=size<minSize;fullLayout[minKey]=fullLayout[minKey]||Infinity;if(!transform.hide){fullLayout[minKey]=Math.min(fullLayout[minKey],Math.max(size,minSize))}}}function clearMinTextSize(traceType,fullLayout){var minKey=getMinKey(traceType);fullLayout[minKey]=undefined}function getMinKey(traceType){return"_"+traceType+"Text_minsize"}module.exports={recordMinTextSize:recordMinTextSize,clearMinTextSize:clearMinTextSize,resizeText:resizeText}},{"../../lib":803,"@plotly/d3":58}],958:[function(_dereq_,module,exports){"use strict";var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var extendFlat=_dereq_("../../lib/extend").extendFlat;var scatterPolarAttrs=_dereq_("../scatterpolar/attributes");var barAttrs=_dereq_("../bar/attributes");module.exports={r:scatterPolarAttrs.r,theta:scatterPolarAttrs.theta,r0:scatterPolarAttrs.r0,dr:scatterPolarAttrs.dr,theta0:scatterPolarAttrs.theta0,dtheta:scatterPolarAttrs.dtheta,thetaunit:scatterPolarAttrs.thetaunit,base:extendFlat({},barAttrs.base,{}),offset:extendFlat({},barAttrs.offset,{}),width:extendFlat({},barAttrs.width,{}),text:extendFlat({},barAttrs.text,{}),hovertext:extendFlat({},barAttrs.hovertext,{}),marker:barAttrs.marker,hoverinfo:scatterPolarAttrs.hoverinfo,hovertemplate:hovertemplateAttrs(),selected:barAttrs.selected,unselected:barAttrs.unselected}},{"../../lib/extend":793,"../../plots/template_attributes":926,"../bar/attributes":941,"../scatterpolar/attributes":1292}],959:[function(_dereq_,module,exports){"use strict";var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var colorscaleCalc=_dereq_("../../components/colorscale/calc");var arraysToCalcdata=_dereq_("../bar/arrays_to_calcdata");var setGroupPositions=_dereq_("../bar/cross_trace_calc").setGroupPositions;var calcSelection=_dereq_("../scatter/calc_selection");var traceIs=_dereq_("../../registry").traceIs;var extendFlat=_dereq_("../../lib").extendFlat;function calc(gd,trace){var fullLayout=gd._fullLayout;var subplotId=trace.subplot;var radialAxis=fullLayout[subplotId].radialaxis;var angularAxis=fullLayout[subplotId].angularaxis;var rArray=radialAxis.makeCalcdata(trace,"r");var thetaArray=angularAxis.makeCalcdata(trace,"theta");var len=trace._length;var cd=new Array(len);var sArray=rArray;var pArray=thetaArray;for(var i=0;i<len;i++){cd[i]={p:pArray[i],s:sArray[i]}}function d2c(attr){var val=trace[attr];if(val!==undefined){trace["_"+attr]=Array.isArray(val)?angularAxis.makeCalcdata(trace,attr):angularAxis.d2c(val,trace.thetaunit)}}if(angularAxis.type==="linear"){d2c("width");d2c("offset")}if(hasColorscale(trace,"marker")){colorscaleCalc(gd,trace,{vals:trace.marker.color,containerStr:"marker",cLetter:"c"})}if(hasColorscale(trace,"marker.line")){colorscaleCalc(gd,trace,{vals:trace.marker.line.color,containerStr:"marker.line",cLetter:"c"})}arraysToCalcdata(cd,trace);calcSelection(cd,trace);return cd}function crossTraceCalc(gd,polarLayout,subplotId){var calcdata=gd.calcdata;var barPolarCd=[];for(var i=0;i<calcdata.length;i++){var cdi=calcdata[i];var trace=cdi[0].trace;if(trace.visible===true&&traceIs(trace,"bar")&&trace.subplot===subplotId){barPolarCd.push(cdi)}}var rAxis=extendFlat({},polarLayout.radialaxis,{_id:"x"});var aAxis=polarLayout.angularaxis;setGroupPositions(gd,aAxis,rAxis,barPolarCd,{mode:polarLayout.barmode,norm:polarLayout.barnorm,gap:polarLayout.bargap,groupgap:polarLayout.bargroupgap})}module.exports={calc:calc,crossTraceCalc:crossTraceCalc}},{"../../components/colorscale/calc":674,"../../components/colorscale/helpers":677,"../../lib":803,"../../registry":931,"../bar/arrays_to_calcdata":940,"../bar/cross_trace_calc":944,"../scatter/calc_selection":1220}],960:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleRThetaDefaults=_dereq_("../scatterpolar/defaults").handleRThetaDefaults;var handleStyleDefaults=_dereq_("../bar/style_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleRThetaDefaults(traceIn,traceOut,layout,coerce);if(!len){traceOut.visible=false;return}coerce("thetaunit");coerce("base");coerce("offset");coerce("width");coerce("text");coerce("hovertext");coerce("hovertemplate");handleStyleDefaults(traceIn,traceOut,coerce,defaultColor,layout);Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../lib":803,"../bar/style_defaults":956,"../scatterpolar/defaults":1294,"./attributes":958}],961:[function(_dereq_,module,exports){"use strict";var Fx=_dereq_("../../components/fx");var Lib=_dereq_("../../lib");var getTraceColor=_dereq_("../bar/hover").getTraceColor;var fillText=Lib.fillText;var makeHoverPointText=_dereq_("../scatterpolar/hover").makeHoverPointText;var isPtInsidePolygon=_dereq_("../../plots/polar/helpers").isPtInsidePolygon;module.exports=function hoverPoints(pointData,xval,yval){var cd=pointData.cd;var trace=cd[0].trace;var subplot=pointData.subplot;var radialAxis=subplot.radialAxis;var angularAxis=subplot.angularAxis;var vangles=subplot.vangles;var inboxFn=vangles?isPtInsidePolygon:Lib.isPtInsideSector;var maxHoverDistance=pointData.maxHoverDistance;var period=angularAxis._period||2*Math.PI;var rVal=Math.abs(radialAxis.g2p(Math.sqrt(xval*xval+yval*yval)));var thetaVal=Math.atan2(yval,xval);if(radialAxis.range[0]>radialAxis.range[1]){thetaVal+=Math.PI}var distFn=function(di){if(inboxFn(rVal,thetaVal,[di.rp0,di.rp1],[di.thetag0,di.thetag1],vangles)){return maxHoverDistance+Math.min(1,Math.abs(di.thetag1-di.thetag0)/period)-1+(di.rp1-rVal)/(di.rp1-di.rp0)-1}else{return Infinity}};Fx.getClosest(cd,distFn,pointData);if(pointData.index===false)return;var index=pointData.index;var cdi=cd[index];pointData.x0=pointData.x1=cdi.ct[0];pointData.y0=pointData.y1=cdi.ct[1];var _cdi=Lib.extendFlat({},cdi,{r:cdi.s,theta:cdi.p});fillText(cdi,trace,pointData);makeHoverPointText(_cdi,trace,subplot,pointData);pointData.hovertemplate=trace.hovertemplate;pointData.color=getTraceColor(trace,cdi);pointData.xLabelVal=pointData.yLabelVal=undefined;if(cdi.s<0){pointData.idealAlign="left"}return[pointData]}},{"../../components/fx":706,"../../lib":803,"../../plots/polar/helpers":919,"../bar/hover":948,"../scatterpolar/hover":1296}],962:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"barpolar",basePlotModule:_dereq_("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults"),supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc").calc,crossTraceCalc:_dereq_("./calc").crossTraceCalc,plot:_dereq_("./plot"),colorbar:_dereq_("../scatter/marker_colorbar"),formatLabels:_dereq_("../scatterpolar/format_labels"),style:_dereq_("../bar/style").style,styleOnSelect:_dereq_("../bar/style").styleOnSelect,hoverPoints:_dereq_("./hover"),selectPoints:_dereq_("../bar/select"),meta:{}}},{"../../plots/polar":920,"../bar/select":953,"../bar/style":955,"../scatter/marker_colorbar":1236,"../scatterpolar/format_labels":1295,"./attributes":958,"./calc":959,"./defaults":960,"./hover":961,"./layout_attributes":963,"./layout_defaults":964,"./plot":965}],963:[function(_dereq_,module,exports){"use strict";module.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],964:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attrs=_dereq_("./layout_attributes");module.exports=function(layoutIn,layoutOut,fullData){var subplotsDone={};var sp;function coerce(attr,dflt){return Lib.coerce(layoutIn[sp]||{},layoutOut[sp],attrs,attr,dflt)}for(var i=0;i<fullData.length;i++){var trace=fullData[i];if(trace.type==="barpolar"&&trace.visible===true){sp=trace.subplot;if(!subplotsDone[sp]){coerce("barmode");coerce("bargap");subplotsDone[sp]=1}}}}},{"../../lib":803,"./layout_attributes":963}],965:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var helpers=_dereq_("../../plots/polar/helpers");module.exports=function plot(gd,subplot,cdbar){var xa=subplot.xaxis;var ya=subplot.yaxis;var radialAxis=subplot.radialAxis;var angularAxis=subplot.angularAxis;var pathFn=makePathFn(subplot);var barLayer=subplot.layers.frontplot.select("g.barlayer");Lib.makeTraceGroups(barLayer,cdbar,"trace bars").each((function(){var plotGroup=d3.select(this);var pointGroup=Lib.ensureSingle(plotGroup,"g","points");var bars=pointGroup.selectAll("g.point").data(Lib.identity);bars.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",true);bars.exit().remove();bars.each((function(di){var bar=d3.select(this);var rp0=di.rp0=radialAxis.c2p(di.s0);var rp1=di.rp1=radialAxis.c2p(di.s1);var thetag0=di.thetag0=angularAxis.c2g(di.p0);var thetag1=di.thetag1=angularAxis.c2g(di.p1);var dPath;if(!isNumeric(rp0)||!isNumeric(rp1)||!isNumeric(thetag0)||!isNumeric(thetag1)||rp0===rp1||thetag0===thetag1){dPath="M0,0Z"}else{var rg1=radialAxis.c2g(di.s1);var thetagMid=(thetag0+thetag1)/2;di.ct=[xa.c2p(rg1*Math.cos(thetagMid)),ya.c2p(rg1*Math.sin(thetagMid))];dPath=pathFn(rp0,rp1,thetag0,thetag1)}Lib.ensureSingle(bar,"path").attr("d",dPath)}));Drawing.setClipUrl(plotGroup,subplot._hasClipOnAxisFalse?subplot.clipIds.forTraces:null,gd)}))};function makePathFn(subplot){var cxx=subplot.cxx;var cyy=subplot.cyy;if(subplot.vangles){return function(r0,r1,_a0,_a1){var a0,a1;if(Lib.angleDelta(_a0,_a1)>0){a0=_a0;a1=_a1}else{a0=_a1;a1=_a0}var va0=helpers.findEnclosingVertexAngles(a0,subplot.vangles)[0];var va1=helpers.findEnclosingVertexAngles(a1,subplot.vangles)[1];var vaBar=[va0,(a0+a1)/2,va1];return helpers.pathPolygonAnnulus(r0,r1,a0,a1,vaBar,cxx,cyy)}}return function(r0,r1,a0,a1){return Lib.pathAnnulus(r0,r1,a0,a1,cxx,cyy)}}},{"../../components/drawing":688,"../../lib":803,"../../plots/polar/helpers":919,"@plotly/d3":58,"fast-isnumeric":249}],966:[function(_dereq_,module,exports){"use strict";var scatterAttrs=_dereq_("../scatter/attributes");var barAttrs=_dereq_("../bar/attributes");var colorAttrs=_dereq_("../../components/color/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var extendFlat=_dereq_("../../lib/extend").extendFlat;var scatterMarkerAttrs=scatterAttrs.marker;var scatterMarkerLineAttrs=scatterMarkerAttrs.line;module.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:scatterAttrs.xperiod,yperiod:scatterAttrs.yperiod,xperiod0:scatterAttrs.xperiod0,yperiod0:scatterAttrs.yperiod0,xperiodalignment:scatterAttrs.xperiodalignment,yperiodalignment:scatterAttrs.yperiodalignment,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",false],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},boxmean:{valType:"enumerated",values:[true,"sd",false],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:extendFlat({},scatterMarkerAttrs.symbol,{arrayOk:false,editType:"plot"}),opacity:extendFlat({},scatterMarkerAttrs.opacity,{arrayOk:false,dflt:1,editType:"style"}),size:extendFlat({},scatterMarkerAttrs.size,{arrayOk:false,editType:"calc"}),color:extendFlat({},scatterMarkerAttrs.color,{arrayOk:false,editType:"style"}),line:{color:extendFlat({},scatterMarkerLineAttrs.color,{arrayOk:false,dflt:colorAttrs.defaultLine,editType:"style"}),width:extendFlat({},scatterMarkerLineAttrs.width,{arrayOk:false,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:scatterAttrs.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},offsetgroup:barAttrs.offsetgroup,alignmentgroup:barAttrs.alignmentgroup,selected:{marker:scatterAttrs.selected.marker,editType:"style"},unselected:{marker:scatterAttrs.unselected.marker,editType:"style"},text:extendFlat({},scatterAttrs.text,{}),hovertext:extendFlat({},scatterAttrs.hovertext,{}),hovertemplate:hovertemplateAttrs({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":665,"../../lib/extend":793,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../bar/attributes":941,"../scatter/attributes":1218}],967:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Axes=_dereq_("../../plots/cartesian/axes");var alignPeriod=_dereq_("../../plots/cartesian/align_period");var Lib=_dereq_("../../lib");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var _=Lib._;module.exports=function calc(gd,trace){var fullLayout=gd._fullLayout;var xa=Axes.getFromId(gd,trace.xaxis||"x");var ya=Axes.getFromId(gd,trace.yaxis||"y");var cd=[];var numKey=trace.type==="violin"?"_numViolins":"_numBoxes";var i,j;var valAxis,valLetter;var posAxis,posLetter;var hasPeriod;if(trace.orientation==="h"){valAxis=xa;valLetter="x";posAxis=ya;posLetter="y";hasPeriod=!!trace.yperiodalignment}else{valAxis=ya;valLetter="y";posAxis=xa;posLetter="x";hasPeriod=!!trace.xperiodalignment}var allPosArrays=getPosArrays(trace,posLetter,posAxis,fullLayout[numKey]);var posArray=allPosArrays[0];var origPos=allPosArrays[1];var dv=Lib.distinctVals(posArray,posAxis);var posDistinct=dv.vals;var dPos=dv.minDiff/2;var cdi;var pts;var boxVals;var N;var pt;var v;var ptFilterFn=(trace.boxpoints||trace.points)==="all"?Lib.identity:function(pt){return pt.v<cdi.lf||pt.v>cdi.uf};if(trace._hasPreCompStats){var valArrayRaw=trace[valLetter];var d2c=function(k){return valAxis.d2c((trace[k]||[])[i])};var minVal=Infinity;var maxVal=-Infinity;for(i=0;i<trace._length;i++){var posi=posArray[i];if(!isNumeric(posi))continue;cdi={};cdi.pos=cdi[posLetter]=posi;if(hasPeriod&&origPos){cdi.orig_p=origPos[i]}cdi.q1=d2c("q1");cdi.med=d2c("median");cdi.q3=d2c("q3");pts=[];if(valArrayRaw&&Lib.isArrayOrTypedArray(valArrayRaw[i])){for(j=0;j<valArrayRaw[i].length;j++){v=valAxis.d2c(valArrayRaw[i][j]);if(v!==BADNUM){pt={v:v,i:[i,j]};arraysToCalcdata(pt,trace,[i,j]);pts.push(pt)}}}cdi.pts=pts.sort(sortByVal);boxVals=cdi[valLetter]=pts.map(extractVal);N=boxVals.length;if(cdi.med!==BADNUM&&cdi.q1!==BADNUM&&cdi.q3!==BADNUM&&cdi.med>=cdi.q1&&cdi.q3>=cdi.med){var lf=d2c("lowerfence");cdi.lf=lf!==BADNUM&&lf<=cdi.q1?lf:computeLowerFence(cdi,boxVals,N);var uf=d2c("upperfence");cdi.uf=uf!==BADNUM&&uf>=cdi.q3?uf:computeUpperFence(cdi,boxVals,N);var mean=d2c("mean");cdi.mean=mean!==BADNUM?mean:N?Lib.mean(boxVals,N):(cdi.q1+cdi.q3)/2;var sd=d2c("sd");cdi.sd=mean!==BADNUM&&sd>=0?sd:N?Lib.stdev(boxVals,N,cdi.mean):cdi.q3-cdi.q1;cdi.lo=computeLowerOutlierBound(cdi);cdi.uo=computeUpperOutlierBound(cdi);var ns=d2c("notchspan");ns=ns!==BADNUM&&ns>0?ns:computeNotchSpan(cdi,N);cdi.ln=cdi.med-ns;cdi.un=cdi.med+ns;var imin=cdi.lf;var imax=cdi.uf;if(trace.boxpoints&&boxVals.length){imin=Math.min(imin,boxVals[0]);imax=Math.max(imax,boxVals[N-1])}if(trace.notched){imin=Math.min(imin,cdi.ln);imax=Math.max(imax,cdi.un)}cdi.min=imin;cdi.max=imax}else{Lib.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+cdi.q1,"median = "+cdi.med,"q3 = "+cdi.q3].join("\n"));var v0;if(cdi.med!==BADNUM){v0=cdi.med}else if(cdi.q1!==BADNUM){if(cdi.q3!==BADNUM)v0=(cdi.q1+cdi.q3)/2;else v0=cdi.q1}else if(cdi.q3!==BADNUM){v0=cdi.q3}else{v0=0}cdi.med=v0;cdi.q1=cdi.q3=v0;cdi.lf=cdi.uf=v0;cdi.mean=cdi.sd=v0;cdi.ln=cdi.un=v0;cdi.min=cdi.max=v0}minVal=Math.min(minVal,cdi.min);maxVal=Math.max(maxVal,cdi.max);cdi.pts2=pts.filter(ptFilterFn);cd.push(cdi)}trace._extremes[valAxis._id]=Axes.findExtremes(valAxis,[minVal,maxVal],{padded:true})}else{var valArray=valAxis.makeCalcdata(trace,valLetter);var posBins=makeBins(posDistinct,dPos);var pLen=posDistinct.length;var ptsPerBin=initNestedArray(pLen);for(i=0;i<trace._length;i++){v=valArray[i];if(!isNumeric(v))continue;var n=Lib.findBin(posArray[i],posBins);if(n>=0&&n<pLen){pt={v:v,i:i};arraysToCalcdata(pt,trace,i);ptsPerBin[n].push(pt)}}var minLowerNotch=Infinity;var maxUpperNotch=-Infinity;var quartilemethod=trace.quartilemethod;var usesExclusive=quartilemethod==="exclusive";var usesInclusive=quartilemethod==="inclusive";for(i=0;i<pLen;i++){if(ptsPerBin[i].length>0){cdi={};cdi.pos=cdi[posLetter]=posDistinct[i];pts=cdi.pts=ptsPerBin[i].sort(sortByVal);boxVals=cdi[valLetter]=pts.map(extractVal);N=boxVals.length;cdi.min=boxVals[0];cdi.max=boxVals[N-1];cdi.mean=Lib.mean(boxVals,N);cdi.sd=Lib.stdev(boxVals,N,cdi.mean);cdi.med=Lib.interp(boxVals,.5);if(N%2&&(usesExclusive||usesInclusive)){var lower;var upper;if(usesExclusive){lower=boxVals.slice(0,N/2);upper=boxVals.slice(N/2+1)}else if(usesInclusive){lower=boxVals.slice(0,N/2+1);upper=boxVals.slice(N/2)}cdi.q1=Lib.interp(lower,.5);cdi.q3=Lib.interp(upper,.5)}else{cdi.q1=Lib.interp(boxVals,.25);cdi.q3=Lib.interp(boxVals,.75)}cdi.lf=computeLowerFence(cdi,boxVals,N);cdi.uf=computeUpperFence(cdi,boxVals,N);cdi.lo=computeLowerOutlierBound(cdi);cdi.uo=computeUpperOutlierBound(cdi);var mci=computeNotchSpan(cdi,N);cdi.ln=cdi.med-mci;cdi.un=cdi.med+mci;minLowerNotch=Math.min(minLowerNotch,cdi.ln);maxUpperNotch=Math.max(maxUpperNotch,cdi.un);cdi.pts2=pts.filter(ptFilterFn);cd.push(cdi)}}trace._extremes[valAxis._id]=Axes.findExtremes(valAxis,trace.notched?valArray.concat([minLowerNotch,maxUpperNotch]):valArray,{padded:true})}calcSelection(cd,trace);if(cd.length>0){cd[0].t={num:fullLayout[numKey],dPos:dPos,posLetter:posLetter,valLetter:valLetter,labels:{med:_(gd,"median:"),min:_(gd,"min:"),q1:_(gd,"q1:"),q3:_(gd,"q3:"),max:_(gd,"max:"),mean:trace.boxmean==="sd"?_(gd,"mean ± σ:"):_(gd,"mean:"),lf:_(gd,"lower fence:"),uf:_(gd,"upper fence:")}};fullLayout[numKey]++;return cd}else{return[{t:{empty:true}}]}};function getPosArrays(trace,posLetter,posAxis,num){var hasPosArray=posLetter in trace;var hasPos0=posLetter+"0"in trace;var hasPosStep="d"+posLetter in trace;if(hasPosArray||hasPos0&&hasPosStep){var origPos=posAxis.makeCalcdata(trace,posLetter);var pos=alignPeriod(trace,posAxis,posLetter,origPos).vals;return[pos,origPos]}var pos0;if(hasPos0){pos0=trace[posLetter+"0"]}else if("name"in trace&&(posAxis.type==="category"||isNumeric(trace.name)&&["linear","log"].indexOf(posAxis.type)!==-1||Lib.isDateTime(trace.name)&&posAxis.type==="date")){pos0=trace.name}else{pos0=num}var pos0c=posAxis.type==="multicategory"?posAxis.r2c_just_indices(pos0):posAxis.d2c(pos0,0,trace[posLetter+"calendar"]);var len=trace._length;var out=new Array(len);for(var i=0;i<len;i++)out[i]=pos0c;return[out]}function makeBins(x,dx){var len=x.length;var bins=new Array(len+1);for(var i=0;i<len;i++){bins[i]=x[i]-dx}bins[len]=x[len-1]+dx;return bins}function initNestedArray(len){var arr=new Array(len);for(var i=0;i<len;i++){arr[i]=[]}return arr}var TRACE_TO_CALC={text:"tx",hovertext:"htx"};function arraysToCalcdata(pt,trace,ptNumber){for(var k in TRACE_TO_CALC){if(Lib.isArrayOrTypedArray(trace[k])){if(Array.isArray(ptNumber)){if(Lib.isArrayOrTypedArray(trace[k][ptNumber[0]])){pt[TRACE_TO_CALC[k]]=trace[k][ptNumber[0]][ptNumber[1]]}}else{pt[TRACE_TO_CALC[k]]=trace[k][ptNumber]}}}}function calcSelection(cd,trace){if(Lib.isArrayOrTypedArray(trace.selectedpoints)){for(var i=0;i<cd.length;i++){var pts=cd[i].pts||[];var ptNumber2cdIndex={};for(var j=0;j<pts.length;j++){ptNumber2cdIndex[pts[j].i]=j}Lib.tagSelected(pts,trace,ptNumber2cdIndex)}}}function sortByVal(a,b){return a.v-b.v}function extractVal(o){return o.v}function computeLowerFence(cdi,boxVals,N){if(N===0)return cdi.q1;return Math.min(cdi.q1,boxVals[Math.min(Lib.findBin(2.5*cdi.q1-1.5*cdi.q3,boxVals,true)+1,N-1)])}function computeUpperFence(cdi,boxVals,N){if(N===0)return cdi.q3;return Math.max(cdi.q3,boxVals[Math.max(Lib.findBin(2.5*cdi.q3-1.5*cdi.q1,boxVals),0)])}function computeLowerOutlierBound(cdi){return 4*cdi.q1-3*cdi.q3}function computeUpperOutlierBound(cdi){return 4*cdi.q3-3*cdi.q1}function computeNotchSpan(cdi,N){if(N===0)return 0;return 1.57*(cdi.q3-cdi.q1)/Math.sqrt(N)}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/align_period":851,"../../plots/cartesian/axes":854,"fast-isnumeric":249}],968:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var Lib=_dereq_("../../lib");var getAxisGroup=_dereq_("../../plots/cartesian/constraints").getAxisGroup;var orientations=["v","h"];function crossTraceCalc(gd,plotinfo){var calcdata=gd.calcdata;var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;for(var i=0;i<orientations.length;i++){var orientation=orientations[i];var posAxis=orientation==="h"?ya:xa;var boxList=[];for(var j=0;j<calcdata.length;j++){var cd=calcdata[j];var t=cd[0].t;var trace=cd[0].trace;if(trace.visible===true&&(trace.type==="box"||trace.type==="candlestick")&&!t.empty&&(trace.orientation||"v")===orientation&&trace.xaxis===xa._id&&trace.yaxis===ya._id){boxList.push(j)}}setPositionOffset("box",gd,boxList,posAxis)}}function setPositionOffset(traceType,gd,boxList,posAxis){var calcdata=gd.calcdata;var fullLayout=gd._fullLayout;var axId=posAxis._id;var axLetter=axId.charAt(0);var i,j,calcTrace;var pointList=[];var shownPts=0;for(i=0;i<boxList.length;i++){calcTrace=calcdata[boxList[i]];for(j=0;j<calcTrace.length;j++){pointList.push(posAxis.c2l(calcTrace[j].pos,true));shownPts+=(calcTrace[j].pts2||[]).length}}if(!pointList.length)return;var boxdv=Lib.distinctVals(pointList);if(posAxis.type==="category"||posAxis.type==="multicategory"){boxdv.minDiff=1}var dPos0=boxdv.minDiff/2;Axes.minDtick(posAxis,boxdv.minDiff,boxdv.vals[0],true);var numKey=traceType==="violin"?"_numViolins":"_numBoxes";var numTotal=fullLayout[numKey];var group=fullLayout[traceType+"mode"]==="group"&&numTotal>1;var groupFraction=1-fullLayout[traceType+"gap"];var groupGapFraction=1-fullLayout[traceType+"groupgap"];for(i=0;i<boxList.length;i++){calcTrace=calcdata[boxList[i]];var trace=calcTrace[0].trace;var t=calcTrace[0].t;var width=trace.width;var side=trace.side;var dPos;var bdPos;var bPos;var wHover;if(width){dPos=bdPos=wHover=width/2;bPos=0}else{dPos=dPos0;if(group){var groupId=getAxisGroup(fullLayout,posAxis._id)+trace.orientation;var alignmentGroups=fullLayout._alignmentOpts[groupId]||{};var alignmentGroupOpts=alignmentGroups[trace.alignmentgroup]||{};var nOffsetGroups=Object.keys(alignmentGroupOpts.offsetGroups||{}).length;var num=nOffsetGroups||numTotal;var shift=nOffsetGroups?trace._offsetIndex:t.num;bdPos=dPos*groupFraction*groupGapFraction/num;bPos=2*dPos*(-.5+(shift+.5)/num)*groupFraction;wHover=dPos*groupFraction/num}else{bdPos=dPos*groupFraction*groupGapFraction;bPos=0;wHover=dPos}}t.dPos=dPos;t.bPos=bPos;t.bdPos=bdPos;t.wHover=wHover;var pushplus;var pushminus;var edge=bPos+bdPos;var edgeplus;var edgeminus;var vpadplus;var vpadminus;var ppadplus;var ppadminus;var padded=Boolean(width);var hasPts=(trace.boxpoints||trace.points)&&shownPts>0;if(side==="positive"){pushplus=dPos*(width?1:.5);edgeplus=edge;pushminus=edgeplus=bPos}else if(side==="negative"){pushplus=edgeplus=bPos;pushminus=dPos*(width?1:.5);edgeminus=edge}else{pushplus=pushminus=dPos;edgeplus=edgeminus=edge}if(hasPts){var pointpos=trace.pointpos;var jitter=trace.jitter;var ms=trace.marker.size/2;var pp=0;if(pointpos+jitter>=0){pp=edge*(pointpos+jitter);if(pp>pushplus){padded=true;ppadplus=ms;vpadplus=pp}else if(pp>edgeplus){ppadplus=ms;vpadplus=pushplus}}if(pp<=pushplus){vpadplus=pushplus}var pm=0;if(pointpos-jitter<=0){pm=-edge*(pointpos-jitter);if(pm>pushminus){padded=true;ppadminus=ms;vpadminus=pm}else if(pm>edgeminus){ppadminus=ms;vpadminus=pushminus}}if(pm<=pushminus){vpadminus=pushminus}}else{vpadplus=pushplus;vpadminus=pushminus}var pos=new Array(calcTrace.length);for(j=0;j<calcTrace.length;j++){pos[j]=calcTrace[j].pos}trace._extremes[axId]=Axes.findExtremes(posAxis,pos,{padded:padded,vpadminus:vpadminus,vpadplus:vpadplus,vpadLinearized:true,ppadminus:{x:ppadminus,y:ppadplus}[axLetter],ppadplus:{x:ppadplus,y:ppadminus}[axLetter]})}}module.exports={crossTraceCalc:crossTraceCalc,setPositionOffset:setPositionOffset}},{"../../lib":803,"../../plots/cartesian/axes":854,"../../plots/cartesian/constraints":862}],969:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var Color=_dereq_("../../components/color");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var handleGroupingDefaults=_dereq_("../bar/defaults").handleGroupingDefaults;var autoType=_dereq_("../../plots/cartesian/axis_autotype");var attributes=_dereq_("./attributes");function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}handleSampleDefaults(traceIn,traceOut,coerce,layout);if(traceOut.visible===false)return;handlePeriodDefaults(traceIn,traceOut,layout,coerce);coerce("xhoverformat");coerce("yhoverformat");var hasPreCompStats=traceOut._hasPreCompStats;if(hasPreCompStats){coerce("lowerfence");coerce("upperfence")}coerce("line.color",(traceIn.marker||{}).color||defaultColor);coerce("line.width");coerce("fillcolor",Color.addOpacity(traceOut.line.color,.5));var boxmeanDflt=false;if(hasPreCompStats){var mean=coerce("mean");var sd=coerce("sd");if(mean&&mean.length){boxmeanDflt=true;if(sd&&sd.length)boxmeanDflt="sd"}}coerce("boxmean",boxmeanDflt);coerce("whiskerwidth");coerce("width");coerce("quartilemethod");var notchedDflt=false;if(hasPreCompStats){var notchspan=coerce("notchspan");if(notchspan&&notchspan.length){notchedDflt=true}}else if(Lib.validate(traceIn.notchwidth,attributes.notchwidth)){notchedDflt=true}var notched=coerce("notched",notchedDflt);if(notched)coerce("notchwidth");handlePointsDefaults(traceIn,traceOut,coerce,{prefix:"box"})}function handleSampleDefaults(traceIn,traceOut,coerce,layout){function getDims(arr){var dims=0;if(arr&&arr.length){dims+=1;if(Lib.isArrayOrTypedArray(arr[0])&&arr[0].length){dims+=1}}return dims}function valid(astr){return Lib.validate(traceIn[astr],attributes[astr])}var y=coerce("y");var x=coerce("x");var sLen;if(traceOut.type==="box"){var q1=coerce("q1");var median=coerce("median");var q3=coerce("q3");traceOut._hasPreCompStats=q1&&q1.length&&median&&median.length&&q3&&q3.length;sLen=Math.min(Lib.minRowLength(q1),Lib.minRowLength(median),Lib.minRowLength(q3))}var yDims=getDims(y);var xDims=getDims(x);var yLen=yDims&&Lib.minRowLength(y);var xLen=xDims&&Lib.minRowLength(x);var calendar=layout.calendar;var opts={autotypenumbers:layout.autotypenumbers};var defaultOrientation,len;if(traceOut._hasPreCompStats){switch(String(xDims)+String(yDims)){case"00":var setInX=valid("x0")||valid("dx");var setInY=valid("y0")||valid("dy");if(setInY&&!setInX){defaultOrientation="h"}else{defaultOrientation="v"}len=sLen;break;case"10":defaultOrientation="v";len=Math.min(sLen,xLen);break;case"20":defaultOrientation="h";len=Math.min(sLen,x.length);break;case"01":defaultOrientation="h";len=Math.min(sLen,yLen);break;case"02":defaultOrientation="v";len=Math.min(sLen,y.length);break;case"12":defaultOrientation="v";len=Math.min(sLen,xLen,y.length);break;case"21":defaultOrientation="h";len=Math.min(sLen,x.length,yLen);break;case"11":len=0;break;case"22":var hasCategories=false;var i;for(i=0;i<x.length;i++){if(autoType(x[i],calendar,opts)==="category"){hasCategories=true;break}}if(hasCategories){defaultOrientation="v";len=Math.min(sLen,xLen,y.length)}else{for(i=0;i<y.length;i++){if(autoType(y[i],calendar,opts)==="category"){hasCategories=true;break}}if(hasCategories){defaultOrientation="h";len=Math.min(sLen,x.length,yLen)}else{defaultOrientation="v";len=Math.min(sLen,xLen,y.length)}}break}}else if(yDims>0){defaultOrientation="v";if(xDims>0){len=Math.min(xLen,yLen)}else{len=Math.min(yLen)}}else if(xDims>0){defaultOrientation="h";len=Math.min(xLen)}else{len=0}if(!len){traceOut.visible=false;return}traceOut._length=len;var orientation=coerce("orientation",defaultOrientation);if(traceOut._hasPreCompStats){if(orientation==="v"&&xDims===0){coerce("x0",0);coerce("dx",1)}else if(orientation==="h"&&yDims===0){coerce("y0",0);coerce("dy",1)}}else{if(orientation==="v"&&xDims===0){coerce("x0")}else if(orientation==="h"&&yDims===0){coerce("y0")}}var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x","y"],layout)}function handlePointsDefaults(traceIn,traceOut,coerce,opts){var prefix=opts.prefix;var outlierColorDflt=Lib.coerce2(traceIn,traceOut,attributes,"marker.outliercolor");var lineoutliercolor=coerce("marker.line.outliercolor");var modeDflt="outliers";if(traceOut._hasPreCompStats){modeDflt="all"}else if(outlierColorDflt||lineoutliercolor){modeDflt="suspectedoutliers"}var mode=coerce(prefix+"points",modeDflt);if(mode){coerce("jitter",mode==="all"?.3:0);coerce("pointpos",mode==="all"?-1.5:0);coerce("marker.symbol");coerce("marker.opacity");coerce("marker.size");coerce("marker.color",traceOut.line.color);coerce("marker.line.color");coerce("marker.line.width");if(mode==="suspectedoutliers"){coerce("marker.line.outliercolor",traceOut.marker.color);coerce("marker.line.outlierwidth")}coerce("selected.marker.color");coerce("unselected.marker.color");coerce("selected.marker.size");coerce("unselected.marker.size");coerce("text");coerce("hovertext")}else{delete traceOut.marker}var hoveron=coerce("hoveron");if(hoveron==="all"||hoveron.indexOf("points")!==-1){coerce("hovertemplate")}Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}function crossTraceDefaults(fullData,fullLayout){var traceIn,traceOut;function coerce(attr){return Lib.coerce(traceOut._input,traceOut,attributes,attr)}for(var i=0;i<fullData.length;i++){traceOut=fullData[i];var traceType=traceOut.type;if(traceType==="box"||traceType==="violin"){traceIn=traceOut._input;if(fullLayout[traceType+"mode"]==="group"){handleGroupingDefaults(traceIn,traceOut,fullLayout,coerce)}}}}module.exports={supplyDefaults:supplyDefaults,crossTraceDefaults:crossTraceDefaults,handleSampleDefaults:handleSampleDefaults,handlePointsDefaults:handlePointsDefaults}},{"../../components/color":666,"../../lib":803,"../../plots/cartesian/axis_autotype":855,"../../registry":931,"../bar/defaults":945,"../scatter/period_defaults":1238,"./attributes":966}],970:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt){if(pt.hoverOnBox)out.hoverOnBox=pt.hoverOnBox;if("xVal"in pt)out.x=pt.xVal;if("yVal"in pt)out.y=pt.yVal;if(pt.xa)out.xaxis=pt.xa;if(pt.ya)out.yaxis=pt.ya;return out}},{}],971:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var Lib=_dereq_("../../lib");var Fx=_dereq_("../../components/fx");var Color=_dereq_("../../components/color");var fillText=Lib.fillText;function hoverPoints(pointData,xval,yval,hovermode){var cd=pointData.cd;var trace=cd[0].trace;var hoveron=trace.hoveron;var closeBoxData=[];var closePtData;if(hoveron.indexOf("boxes")!==-1){closeBoxData=closeBoxData.concat(hoverOnBoxes(pointData,xval,yval,hovermode))}if(hoveron.indexOf("points")!==-1){closePtData=hoverOnPoints(pointData,xval,yval)}if(hovermode==="closest"){if(closePtData)return[closePtData];return closeBoxData}if(closePtData){closeBoxData.push(closePtData);return closeBoxData}return closeBoxData}function hoverOnBoxes(pointData,xval,yval,hovermode){var cd=pointData.cd;var xa=pointData.xa;var ya=pointData.ya;var trace=cd[0].trace;var t=cd[0].t;var isViolin=trace.type==="violin";var closeBoxData=[];var pLetter,vLetter,pAxis,vAxis,vVal,pVal,dx,dy,dPos,hoverPseudoDistance,spikePseudoDistance;var boxDelta=t.bdPos;var boxDeltaPos,boxDeltaNeg;var posAcceptance=t.wHover;var shiftPos=function(di){return pAxis.c2l(di.pos)+t.bPos-pAxis.c2l(pVal)};if(isViolin&&trace.side!=="both"){if(trace.side==="positive"){dPos=function(di){var pos=shiftPos(di);return Fx.inbox(pos,pos+posAcceptance,hoverPseudoDistance)};boxDeltaPos=boxDelta;boxDeltaNeg=0}if(trace.side==="negative"){dPos=function(di){var pos=shiftPos(di);return Fx.inbox(pos-posAcceptance,pos,hoverPseudoDistance)};boxDeltaPos=0;boxDeltaNeg=boxDelta}}else{dPos=function(di){var pos=shiftPos(di);return Fx.inbox(pos-posAcceptance,pos+posAcceptance,hoverPseudoDistance)};boxDeltaPos=boxDeltaNeg=boxDelta}var dVal;if(isViolin){dVal=function(di){return Fx.inbox(di.span[0]-vVal,di.span[1]-vVal,hoverPseudoDistance)}}else{dVal=function(di){return Fx.inbox(di.min-vVal,di.max-vVal,hoverPseudoDistance)}}if(trace.orientation==="h"){vVal=xval;pVal=yval;dx=dVal;dy=dPos;pLetter="y";pAxis=ya;vLetter="x";vAxis=xa}else{vVal=yval;pVal=xval;dx=dPos;dy=dVal;pLetter="x";pAxis=xa;vLetter="y";vAxis=ya}var pseudoDistance=Math.min(1,boxDelta/Math.abs(pAxis.r2c(pAxis.range[1])-pAxis.r2c(pAxis.range[0])));hoverPseudoDistance=pointData.maxHoverDistance-pseudoDistance;spikePseudoDistance=pointData.maxSpikeDistance-pseudoDistance;function dxy(di){return(dx(di)+dy(di))/2}var distfn=Fx.getDistanceFunction(hovermode,dx,dy,dxy);Fx.getClosest(cd,distfn,pointData);if(pointData.index===false)return[];var di=cd[pointData.index];var lc=trace.line.color;var mc=(trace.marker||{}).color;if(Color.opacity(lc)&&trace.line.width)pointData.color=lc;else if(Color.opacity(mc)&&trace.boxpoints)pointData.color=mc;else pointData.color=trace.fillcolor;pointData[pLetter+"0"]=pAxis.c2p(di.pos+t.bPos-boxDeltaNeg,true);pointData[pLetter+"1"]=pAxis.c2p(di.pos+t.bPos+boxDeltaPos,true);pointData[pLetter+"LabelVal"]=di.orig_p!==undefined?di.orig_p:di.pos;var spikePosAttr=pLetter+"Spike";pointData.spikeDistance=dxy(di)*spikePseudoDistance/hoverPseudoDistance;pointData[spikePosAttr]=pAxis.c2p(di.pos,true);var usedVals={};var attrs=["med","q1","q3","min","max"];if(trace.boxmean||(trace.meanline||{}).visible){attrs.push("mean")}if(trace.boxpoints||trace.points){attrs.push("lf","uf")}for(var i=0;i<attrs.length;i++){var attr=attrs[i];if(!(attr in di)||di[attr]in usedVals)continue;usedVals[di[attr]]=true;var val=di[attr];var valPx=vAxis.c2p(val,true);var pointData2=Lib.extendFlat({},pointData);pointData2.attr=attr;pointData2[vLetter+"0"]=pointData2[vLetter+"1"]=valPx;pointData2[vLetter+"LabelVal"]=val;pointData2[vLetter+"Label"]=(t.labels?t.labels[attr]+" ":"")+Axes.hoverLabelText(vAxis,val,trace[vLetter+"hoverformat"]);pointData2.hoverOnBox=true;if(attr==="mean"&&"sd"in di&&trace.boxmean==="sd"){pointData2[vLetter+"err"]=di.sd}pointData.name="";pointData.spikeDistance=undefined;pointData[spikePosAttr]=undefined;pointData2.hovertemplate=false;closeBoxData.push(pointData2)}return closeBoxData}function hoverOnPoints(pointData,xval,yval){var cd=pointData.cd;var xa=pointData.xa;var ya=pointData.ya;var trace=cd[0].trace;var xPx=xa.c2p(xval);var yPx=ya.c2p(yval);var closePtData;var dx=function(di){var rad=Math.max(3,di.mrc||0);return Math.max(Math.abs(xa.c2p(di.x)-xPx)-rad,1-3/rad)};var dy=function(di){var rad=Math.max(3,di.mrc||0);return Math.max(Math.abs(ya.c2p(di.y)-yPx)-rad,1-3/rad)};var distfn=Fx.quadrature(dx,dy);var ijClosest=false;var di,pt;for(var i=0;i<cd.length;i++){di=cd[i];for(var j=0;j<(di.pts||[]).length;j++){pt=di.pts[j];var newDistance=distfn(pt);if(newDistance<=pointData.distance){pointData.distance=newDistance;ijClosest=[i,j]}}}if(!ijClosest)return false;di=cd[ijClosest[0]];pt=di.pts[ijClosest[1]];var xc=xa.c2p(pt.x,true);var yc=ya.c2p(pt.y,true);var rad=pt.mrc||1;closePtData=Lib.extendFlat({},pointData,{index:pt.i,color:(trace.marker||{}).color,name:trace.name,x0:xc-rad,x1:xc+rad,y0:yc-rad,y1:yc+rad,spikeDistance:pointData.distance,hovertemplate:trace.hovertemplate});var origPos=di.orig_p;var pos=origPos!==undefined?origPos:di.pos;var pa;if(trace.orientation==="h"){pa=ya;closePtData.xLabelVal=pt.x;closePtData.yLabelVal=pos}else{pa=xa;closePtData.xLabelVal=pos;closePtData.yLabelVal=pt.y}var pLetter=pa._id.charAt(0);closePtData[pLetter+"Spike"]=pa.c2p(di.pos,true);fillText(pt,trace,closePtData);return closePtData}module.exports={hoverPoints:hoverPoints,hoverOnBoxes:hoverOnBoxes,hoverOnPoints:hoverOnPoints}},{"../../components/color":666,"../../components/fx":706,"../../lib":803,"../../plots/cartesian/axes":854}],972:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,crossTraceDefaults:_dereq_("./defaults").crossTraceDefaults,supplyLayoutDefaults:_dereq_("./layout_defaults").supplyLayoutDefaults,calc:_dereq_("./calc"),crossTraceCalc:_dereq_("./cross_trace_calc").crossTraceCalc,plot:_dereq_("./plot").plot,style:_dereq_("./style").style,styleOnSelect:_dereq_("./style").styleOnSelect,hoverPoints:_dereq_("./hover").hoverPoints,eventData:_dereq_("./event_data"),selectPoints:_dereq_("./select"),moduleType:"trace",name:"box",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":868,"./attributes":966,"./calc":967,"./cross_trace_calc":968,"./defaults":969,"./event_data":970,"./hover":971,"./layout_attributes":973,"./layout_defaults":974,"./plot":975,"./select":976,"./style":977}],973:[function(_dereq_,module,exports){"use strict";module.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}},{}],974:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");function _supply(layoutIn,layoutOut,fullData,coerce,traceType){var category=traceType+"Layout";var hasTraceType=false;for(var i=0;i<fullData.length;i++){var trace=fullData[i];if(Registry.traceIs(trace,category)){hasTraceType=true;break}}if(!hasTraceType)return;coerce(traceType+"mode");coerce(traceType+"gap");coerce(traceType+"groupgap")}function supplyLayoutDefaults(layoutIn,layoutOut,fullData){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}_supply(layoutIn,layoutOut,fullData,coerce,"box")}module.exports={supplyLayoutDefaults:supplyLayoutDefaults,_supply:_supply}},{"../../lib":803,"../../registry":931,"./layout_attributes":973}],975:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var JITTERCOUNT=5;var JITTERSPREAD=.01;function plot(gd,plotinfo,cdbox,boxLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;Lib.makeTraceGroups(boxLayer,cdbox,"trace boxes").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var t=cd0.t;var trace=cd0.trace;t.wdPos=t.bdPos*trace.whiskerwidth;if(trace.visible!==true||t.empty){plotGroup.remove();return}var posAxis,valAxis;if(trace.orientation==="h"){posAxis=ya;valAxis=xa}else{posAxis=xa;valAxis=ya}plotBoxAndWhiskers(plotGroup,{pos:posAxis,val:valAxis},trace,t);plotPoints(plotGroup,{x:xa,y:ya},trace,t);plotBoxMean(plotGroup,{pos:posAxis,val:valAxis},trace,t)}))}function plotBoxAndWhiskers(sel,axes,trace,t){var isHorizontal=trace.orientation==="h";var valAxis=axes.val;var posAxis=axes.pos;var posHasRangeBreaks=!!posAxis.rangebreaks;var bPos=t.bPos;var wdPos=t.wdPos||0;var bPosPxOffset=t.bPosPxOffset||0;var whiskerWidth=trace.whiskerwidth||0;var notched=trace.notched||false;var nw=notched?1-2*trace.notchwidth:1;var bdPos0;var bdPos1;if(Array.isArray(t.bdPos)){bdPos0=t.bdPos[0];bdPos1=t.bdPos[1]}else{bdPos0=t.bdPos;bdPos1=t.bdPos}var paths=sel.selectAll("path.box").data(trace.type!=="violin"||trace.box.visible?Lib.identity:[]);paths.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box");paths.exit().remove();paths.each((function(d){if(d.empty)return"M0,0Z";var lcenter=posAxis.c2l(d.pos+bPos,true);var pos0=posAxis.l2p(lcenter-bdPos0)+bPosPxOffset;var pos1=posAxis.l2p(lcenter+bdPos1)+bPosPxOffset;var posc=posHasRangeBreaks?(pos0+pos1)/2:posAxis.l2p(lcenter)+bPosPxOffset;var r=trace.whiskerwidth;var posw0=posHasRangeBreaks?pos0*r+(1-r)*posc:posAxis.l2p(lcenter-wdPos)+bPosPxOffset;var posw1=posHasRangeBreaks?pos1*r+(1-r)*posc:posAxis.l2p(lcenter+wdPos)+bPosPxOffset;var posm0=posAxis.l2p(lcenter-bdPos0*nw)+bPosPxOffset;var posm1=posAxis.l2p(lcenter+bdPos1*nw)+bPosPxOffset;var q1=valAxis.c2p(d.q1,true);var q3=valAxis.c2p(d.q3,true);var m=Lib.constrain(valAxis.c2p(d.med,true),Math.min(q1,q3)+1,Math.max(q1,q3)-1);var useExtremes=d.lf===undefined||trace.boxpoints===false;var lf=valAxis.c2p(useExtremes?d.min:d.lf,true);var uf=valAxis.c2p(useExtremes?d.max:d.uf,true);var ln=valAxis.c2p(d.ln,true);var un=valAxis.c2p(d.un,true);if(isHorizontal){d3.select(this).attr("d","M"+m+","+posm0+"V"+posm1+"M"+q1+","+pos0+"V"+pos1+(notched?"H"+ln+"L"+m+","+posm1+"L"+un+","+pos1:"")+"H"+q3+"V"+pos0+(notched?"H"+un+"L"+m+","+posm0+"L"+ln+","+pos0:"")+"Z"+"M"+q1+","+posc+"H"+lf+"M"+q3+","+posc+"H"+uf+(whiskerWidth===0?"":"M"+lf+","+posw0+"V"+posw1+"M"+uf+","+posw0+"V"+posw1))}else{d3.select(this).attr("d","M"+posm0+","+m+"H"+posm1+"M"+pos0+","+q1+"H"+pos1+(notched?"V"+ln+"L"+posm1+","+m+"L"+pos1+","+un:"")+"V"+q3+"H"+pos0+(notched?"V"+un+"L"+posm0+","+m+"L"+pos0+","+ln:"")+"Z"+"M"+posc+","+q1+"V"+lf+"M"+posc+","+q3+"V"+uf+(whiskerWidth===0?"":"M"+posw0+","+lf+"H"+posw1+"M"+posw0+","+uf+"H"+posw1))}}))}function plotPoints(sel,axes,trace,t){var xa=axes.x;var ya=axes.y;var bdPos=t.bdPos;var bPos=t.bPos;var mode=trace.boxpoints||trace.points;Lib.seedPseudoRandom();var fn=function(d){d.forEach((function(v){v.t=t;v.trace=trace}));return d};var gPoints=sel.selectAll("g.points").data(mode?fn:[]);gPoints.enter().append("g").attr("class","points");gPoints.exit().remove();var paths=gPoints.selectAll("path").data((function(d){var i;var pts=d.pts2;var typicalSpread=Math.max((d.max-d.min)/10,d.q3-d.q1);var minSpread=typicalSpread*1e-9;var spreadLimit=typicalSpread*JITTERSPREAD;var jitterFactors=[];var maxJitterFactor=0;var newJitter;if(trace.jitter){if(typicalSpread===0){maxJitterFactor=1;jitterFactors=new Array(pts.length);for(i=0;i<pts.length;i++){jitterFactors[i]=1}}else{for(i=0;i<pts.length;i++){var i0=Math.max(0,i-JITTERCOUNT);var pmin=pts[i0].v;var i1=Math.min(pts.length-1,i+JITTERCOUNT);var pmax=pts[i1].v;if(mode!=="all"){if(pts[i].v<d.lf)pmax=Math.min(pmax,d.lf);else pmin=Math.max(pmin,d.uf)}var jitterFactor=Math.sqrt(spreadLimit*(i1-i0)/(pmax-pmin+minSpread))||0;jitterFactor=Lib.constrain(Math.abs(jitterFactor),0,1);jitterFactors.push(jitterFactor);maxJitterFactor=Math.max(jitterFactor,maxJitterFactor)}}newJitter=trace.jitter*2/(maxJitterFactor||1)}for(i=0;i<pts.length;i++){var pt=pts[i];var v=pt.v;var jitterOffset=trace.jitter?newJitter*jitterFactors[i]*(Lib.pseudoRandom()-.5):0;var posPx=d.pos+bPos+bdPos*(trace.pointpos+jitterOffset);if(trace.orientation==="h"){pt.y=posPx;pt.x=v}else{pt.x=posPx;pt.y=v}if(mode==="suspectedoutliers"&&v<d.uo&&v>d.lo){pt.so=true}}return pts}));paths.enter().append("path").classed("point",true);paths.exit().remove();paths.call(Drawing.translatePoints,xa,ya)}function plotBoxMean(sel,axes,trace,t){var valAxis=axes.val;var posAxis=axes.pos;var posHasRangeBreaks=!!posAxis.rangebreaks;var bPos=t.bPos;var bPosPxOffset=t.bPosPxOffset||0;var mode=trace.boxmean||(trace.meanline||{}).visible;var bdPos0;var bdPos1;if(Array.isArray(t.bdPos)){bdPos0=t.bdPos[0];bdPos1=t.bdPos[1]}else{bdPos0=t.bdPos;bdPos1=t.bdPos}var paths=sel.selectAll("path.mean").data(trace.type==="box"&&trace.boxmean||trace.type==="violin"&&trace.box.visible&&trace.meanline.visible?Lib.identity:[]);paths.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"});paths.exit().remove();paths.each((function(d){var lcenter=posAxis.c2l(d.pos+bPos,true);var pos0=posAxis.l2p(lcenter-bdPos0)+bPosPxOffset;var pos1=posAxis.l2p(lcenter+bdPos1)+bPosPxOffset;var posc=posHasRangeBreaks?(pos0+pos1)/2:posAxis.l2p(lcenter)+bPosPxOffset;var m=valAxis.c2p(d.mean,true);var sl=valAxis.c2p(d.mean-d.sd,true);var sh=valAxis.c2p(d.mean+d.sd,true);if(trace.orientation==="h"){d3.select(this).attr("d","M"+m+","+pos0+"V"+pos1+(mode==="sd"?"m0,0L"+sl+","+posc+"L"+m+","+pos0+"L"+sh+","+posc+"Z":""))}else{d3.select(this).attr("d","M"+pos0+","+m+"H"+pos1+(mode==="sd"?"m0,0L"+posc+","+sl+"L"+pos0+","+m+"L"+posc+","+sh+"Z":""))}}))}module.exports={plot:plot,plotBoxAndWhiskers:plotBoxAndWhiskers,plotPoints:plotPoints,plotBoxMean:plotBoxMean}},{"../../components/drawing":688,"../../lib":803,"@plotly/d3":58}],976:[function(_dereq_,module,exports){"use strict";module.exports=function selectPoints(searchInfo,selectionTester){var cd=searchInfo.cd;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var selection=[];var i,j;if(selectionTester===false){for(i=0;i<cd.length;i++){for(j=0;j<(cd[i].pts||[]).length;j++){cd[i].pts[j].selected=0}}}else{for(i=0;i<cd.length;i++){for(j=0;j<(cd[i].pts||[]).length;j++){var pt=cd[i].pts[j];var x=xa.c2p(pt.x);var y=ya.c2p(pt.y);if(selectionTester.contains([x,y],null,pt.i,searchInfo)){selection.push({pointNumber:pt.i,x:xa.c2d(pt.x),y:ya.c2d(pt.y)});pt.selected=1}else{pt.selected=0}}}}return selection}},{}],977:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");function style(gd,cd,sel){var s=sel?sel:d3.select(gd).selectAll("g.trace.boxes");s.style("opacity",(function(d){return d[0].trace.opacity}));s.each((function(d){var el=d3.select(this);var trace=d[0].trace;var lineWidth=trace.line.width;function styleBox(boxSel,lineWidth,lineColor,fillColor){boxSel.style("stroke-width",lineWidth+"px").call(Color.stroke,lineColor).call(Color.fill,fillColor)}var allBoxes=el.selectAll("path.box");if(trace.type==="candlestick"){allBoxes.each((function(boxData){if(boxData.empty)return;var thisBox=d3.select(this);var container=trace[boxData.dir];styleBox(thisBox,container.line.width,container.line.color,container.fillcolor);thisBox.style("opacity",trace.selectedpoints&&!boxData.selected?.3:1)}))}else{styleBox(allBoxes,lineWidth,trace.line.color,trace.fillcolor);el.selectAll("path.mean").style({"stroke-width":lineWidth,"stroke-dasharray":2*lineWidth+"px,"+lineWidth+"px"}).call(Color.stroke,trace.line.color);var pts=el.selectAll("path.point");Drawing.pointStyle(pts,trace,gd)}}))}function styleOnSelect(gd,cd,sel){var trace=cd[0].trace;var pts=sel.selectAll("path.point");if(trace.selectedpoints){Drawing.selectedPointStyle(pts,trace)}else{Drawing.pointStyle(pts,trace,gd)}}module.exports={style:style,styleOnSelect:styleOnSelect}},{"../../components/color":666,"../../components/drawing":688,"@plotly/d3":58}],978:[function(_dereq_,module,exports){"use strict";var extendFlat=_dereq_("../../lib").extendFlat;var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var OHLCattrs=_dereq_("../ohlc/attributes");var boxAttrs=_dereq_("../box/attributes");function directionAttrs(lineColorDefault){return{line:{color:extendFlat({},boxAttrs.line.color,{dflt:lineColorDefault}),width:boxAttrs.line.width,editType:"style"},fillcolor:boxAttrs.fillcolor,editType:"style"}}module.exports={xperiod:OHLCattrs.xperiod,xperiod0:OHLCattrs.xperiod0,xperiodalignment:OHLCattrs.xperiodalignment,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),x:OHLCattrs.x,open:OHLCattrs.open,high:OHLCattrs.high,low:OHLCattrs.low,close:OHLCattrs.close,line:{width:extendFlat({},boxAttrs.line.width,{}),editType:"style"},increasing:directionAttrs(OHLCattrs.increasing.line.color.dflt),decreasing:directionAttrs(OHLCattrs.decreasing.line.color.dflt),text:OHLCattrs.text,hovertext:OHLCattrs.hovertext,whiskerwidth:extendFlat({},boxAttrs.whiskerwidth,{dflt:0}),hoverlabel:OHLCattrs.hoverlabel}},{"../../lib":803,"../../plots/cartesian/axis_format_attributes":857,"../box/attributes":966,"../ohlc/attributes":1164}],979:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var alignPeriod=_dereq_("../../plots/cartesian/align_period");var calcCommon=_dereq_("../ohlc/calc").calcCommon;module.exports=function(gd,trace){var fullLayout=gd._fullLayout;var xa=Axes.getFromId(gd,trace.xaxis);var ya=Axes.getFromId(gd,trace.yaxis);var origX=xa.makeCalcdata(trace,"x");var x=alignPeriod(trace,xa,"x",origX).vals;var cd=calcCommon(gd,trace,origX,x,ya,ptFunc);if(cd.length){Lib.extendFlat(cd[0].t,{num:fullLayout._numBoxes,dPos:Lib.distinctVals(x).minDiff/2,posLetter:"x",valLetter:"y"});fullLayout._numBoxes++;return cd}else{return[{t:{empty:true}}]}};function ptFunc(o,h,l,c){return{min:l,q1:Math.min(o,c),med:c,q3:Math.max(o,c),max:h}}},{"../../lib":803,"../../plots/cartesian/align_period":851,"../../plots/cartesian/axes":854,"../ohlc/calc":1165}],980:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var handleOHLC=_dereq_("../ohlc/ohlc_defaults");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleOHLC(traceIn,traceOut,coerce,layout);if(!len){traceOut.visible=false;return}handlePeriodDefaults(traceIn,traceOut,layout,coerce,{x:true});coerce("xhoverformat");coerce("yhoverformat");coerce("line.width");handleDirection(traceIn,traceOut,coerce,"increasing");handleDirection(traceIn,traceOut,coerce,"decreasing");coerce("text");coerce("hovertext");coerce("whiskerwidth");layout._requestRangeslider[traceOut.xaxis]=true};function handleDirection(traceIn,traceOut,coerce,direction){var lineColor=coerce(direction+".line.color");coerce(direction+".line.width",traceOut.line.width);coerce(direction+".fillcolor",Color.addOpacity(lineColor,.5))}},{"../../components/color":666,"../../lib":803,"../ohlc/ohlc_defaults":1169,"../scatter/period_defaults":1238,"./attributes":978}],981:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"candlestick",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("../box/layout_attributes"),supplyLayoutDefaults:_dereq_("../box/layout_defaults").supplyLayoutDefaults,crossTraceCalc:_dereq_("../box/cross_trace_calc").crossTraceCalc,supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),plot:_dereq_("../box/plot").plot,layerName:"boxlayer",style:_dereq_("../box/style").style,hoverPoints:_dereq_("../ohlc/hover").hoverPoints,selectPoints:_dereq_("../ohlc/select")}},{"../../plots/cartesian":868,"../box/cross_trace_calc":968,"../box/layout_attributes":973,"../box/layout_defaults":974,"../box/plot":975,"../box/style":977,"../ohlc/hover":1167,"../ohlc/select":1171,"./attributes":978,"./calc":979,"./defaults":980}],982:[function(_dereq_,module,exports){"use strict";var handleAxisDefaults=_dereq_("./axis_defaults");var Template=_dereq_("../../plot_api/plot_template");module.exports=function handleABDefaults(traceIn,traceOut,fullLayout,coerce,dfltColor){var a=coerce("a");if(!a){coerce("da");coerce("a0")}var b=coerce("b");if(!b){coerce("db");coerce("b0")}mimickAxisDefaults(traceIn,traceOut,fullLayout,dfltColor)};function mimickAxisDefaults(traceIn,traceOut,fullLayout,dfltColor){var axesList=["aaxis","baxis"];axesList.forEach((function(axName){var axLetter=axName.charAt(0);var axIn=traceIn[axName]||{};var axOut=Template.newContainer(traceOut,axName);var defaultOptions={tickfont:"x",id:axLetter+"axis",letter:axLetter,font:traceOut.font,name:axName,data:traceIn[axLetter],calendar:traceOut.calendar,dfltColor:dfltColor,bgColor:fullLayout.paper_bgcolor,autotypenumbersDflt:fullLayout.autotypenumbers,fullLayout:fullLayout};handleAxisDefaults(axIn,axOut,defaultOptions);axOut._categories=axOut._categories||[];if(!traceIn[axName]&&axIn.type!=="-"){traceIn[axName]={type:axIn.type}}}))}},{"../../plot_api/plot_template":843,"./axis_defaults":987}],983:[function(_dereq_,module,exports){"use strict";var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;module.exports=function(a){return minMax(a,0)};function minMax(a,depth){if(!isArrayOrTypedArray(a)||depth>=10){return null}var min=Infinity;var max=-Infinity;var n=a.length;for(var i=0;i<n;i++){var datum=a[i];if(isArrayOrTypedArray(datum)){var result=minMax(datum,depth+1);if(result){min=Math.min(result[0],min);max=Math.max(result[1],max)}}else{min=Math.min(datum,min);max=Math.max(datum,max)}}return[min,max]}},{"../../lib":803}],984:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../../plots/font_attributes");var axisAttrs=_dereq_("./axis_attributes");var colorAttrs=_dereq_("../../components/color/attributes");var carpetFont=fontAttrs({editType:"calc"});carpetFont.family.dflt='"Open Sans", verdana, arial, sans-serif';carpetFont.size.dflt=12;carpetFont.color.dflt=colorAttrs.defaultLine;module.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:axisAttrs,baxis:axisAttrs,font:carpetFont,color:{valType:"color",dflt:colorAttrs.defaultLine,editType:"plot"},transforms:undefined}},{"../../components/color/attributes":665,"../../plots/font_attributes":883,"./axis_attributes":986}],985:[function(_dereq_,module,exports){"use strict";var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;module.exports=function(carpet,carpetcd,a,b){var idx,tangent,tanIsoIdx,tanIsoPar,segment,refidx;var p0,p1,v0,v1,start,end,range;var axis=isArrayOrTypedArray(a)?"a":"b";var ax=axis==="a"?carpet.aaxis:carpet.baxis;var smoothing=ax.smoothing;var toIdx=axis==="a"?carpet.a2i:carpet.b2j;var pt=axis==="a"?a:b;var iso=axis==="a"?b:a;var n=axis==="a"?carpetcd.a.length:carpetcd.b.length;var m=axis==="a"?carpetcd.b.length:carpetcd.a.length;var isoIdx=Math.floor(axis==="a"?carpet.b2j(iso):carpet.a2i(iso));var xy=axis==="a"?function(value){return carpet.evalxy([],value,isoIdx)}:function(value){return carpet.evalxy([],isoIdx,value)};if(smoothing){tanIsoIdx=Math.max(0,Math.min(m-2,isoIdx));tanIsoPar=isoIdx-tanIsoIdx;tangent=axis==="a"?function(i,ti){return carpet.dxydi([],i,tanIsoIdx,ti,tanIsoPar)}:function(j,tj){return carpet.dxydj([],tanIsoIdx,j,tanIsoPar,tj)}}var vstart=toIdx(pt[0]);var vend=toIdx(pt[1]);var dir=vstart<vend?1:-1;var tol=(vend-vstart)*1e-8;var dirfloor=dir>0?Math.floor:Math.ceil;var dirceil=dir>0?Math.ceil:Math.floor;var dirmin=dir>0?Math.min:Math.max;var dirmax=dir>0?Math.max:Math.min;var idx0=dirfloor(vstart+tol);var idx1=dirceil(vend-tol);p0=xy(vstart);var segments=[[p0]];for(idx=idx0;idx*dir<idx1*dir;idx+=dir){segment=[];start=dirmax(vstart,idx);end=dirmin(vend,idx+dir);range=end-start;refidx=Math.max(0,Math.min(n-2,Math.floor(.5*(start+end))));p1=xy(end);if(smoothing){v0=tangent(refidx,start-refidx);v1=tangent(refidx,end-refidx);segment.push([p0[0]+v0[0]/3*range,p0[1]+v0[1]/3*range]);segment.push([p1[0]-v1[0]/3*range,p1[1]-v1[1]/3*range])}segment.push(p1);segments.push(segment);p0=p1}return segments}},{"../../lib":803}],986:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../../plots/font_attributes");var colorAttrs=_dereq_("../../components/color/attributes");var axesAttrs=_dereq_("../../plots/cartesian/layout_attributes");var descriptionWithDates=_dereq_("../../plots/cartesian/axis_format_attributes").descriptionWithDates;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;module.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:fontAttrs({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autotypenumbers:axesAttrs.autotypenumbers,autorange:{valType:"enumerated",values:[true,false,"reversed"],dflt:true,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:false,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},tickfont:fontAttrs({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},minexponent:{valType:"number",dflt:3,min:0,editType:"calc"},separatethousands:{valType:"boolean",dflt:false,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc",description:descriptionWithDates("tick label")},tickformatstops:overrideAll(axesAttrs.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:false,editType:"calc"},linecolor:{valType:"color",dflt:colorAttrs.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},showgrid:{valType:"boolean",dflt:true,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgridcolor:{valType:"color",dflt:colorAttrs.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},_deprecated:{title:{valType:"string",editType:"calc"},titlefont:fontAttrs({editType:"calc"}),titleoffset:{valType:"number",dflt:10,editType:"calc"}},editType:"calc"}},{"../../components/color/attributes":665,"../../plot_api/edit_types":836,"../../plots/cartesian/axis_format_attributes":857,"../../plots/cartesian/layout_attributes":869,"../../plots/font_attributes":883}],987:[function(_dereq_,module,exports){"use strict";var carpetAttrs=_dereq_("./attributes");var addOpacity=_dereq_("../../components/color").addOpacity;var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var handleTickValueDefaults=_dereq_("../../plots/cartesian/tick_value_defaults");var handleTickLabelDefaults=_dereq_("../../plots/cartesian/tick_label_defaults");var handleCategoryOrderDefaults=_dereq_("../../plots/cartesian/category_order_defaults");var setConvert=_dereq_("../../plots/cartesian/set_convert");var autoType=_dereq_("../../plots/cartesian/axis_autotype");module.exports=function handleAxisDefaults(containerIn,containerOut,options){var letter=options.letter;var font=options.font||{};var attributes=carpetAttrs[letter+"axis"];function coerce(attr,dflt){return Lib.coerce(containerIn,containerOut,attributes,attr,dflt)}function coerce2(attr,dflt){return Lib.coerce2(containerIn,containerOut,attributes,attr,dflt)}if(options.name){containerOut._name=options.name;containerOut._id=options.name}coerce("autotypenumbers",options.autotypenumbersDflt);var axType=coerce("type");if(axType==="-"){if(options.data)setAutoType(containerOut,options.data);if(containerOut.type==="-"){containerOut.type="linear"}else{axType=containerIn.type=containerOut.type}}coerce("smoothing");coerce("cheatertype");coerce("showticklabels");coerce("labelprefix",letter+" = ");coerce("labelsuffix");coerce("showtickprefix");coerce("showticksuffix");coerce("separatethousands");coerce("tickformat");coerce("exponentformat");coerce("minexponent");coerce("showexponent");coerce("categoryorder");coerce("tickmode");coerce("tickvals");coerce("ticktext");coerce("tick0");coerce("dtick");if(containerOut.tickmode==="array"){coerce("arraytick0");coerce("arraydtick")}coerce("labelpadding");containerOut._hovertitle=letter;if(axType==="date"){var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleDefaults");handleCalendarDefaults(containerIn,containerOut,"calendar",options.calendar)}setConvert(containerOut,options.fullLayout);containerOut.c2p=Lib.identity;var dfltColor=coerce("color",options.dfltColor);var dfltFontColor=dfltColor===containerIn.color?dfltColor:font.color;var title=coerce("title.text");if(title){Lib.coerceFont(coerce,"title.font",{family:font.family,size:Lib.bigFont(font.size),color:dfltFontColor});coerce("title.offset")}coerce("tickangle");var autoRange=coerce("autorange",!containerOut.isValidRange(containerIn.range));if(autoRange)coerce("rangemode");coerce("range");containerOut.cleanRange();coerce("fixedrange");handleTickValueDefaults(containerIn,containerOut,coerce,axType);handleTickLabelDefaults(containerIn,containerOut,coerce,axType,options);handleCategoryOrderDefaults(containerIn,containerOut,coerce,{data:options.data,dataAttr:letter});var gridColor=coerce2("gridcolor",addOpacity(dfltColor,.3));var gridWidth=coerce2("gridwidth");var showGrid=coerce("showgrid");if(!showGrid){delete containerOut.gridcolor;delete containerOut.gridwidth}var startLineColor=coerce2("startlinecolor",dfltColor);var startLineWidth=coerce2("startlinewidth",gridWidth);var showStartLine=coerce("startline",containerOut.showgrid||!!startLineColor||!!startLineWidth);if(!showStartLine){delete containerOut.startlinecolor;delete containerOut.startlinewidth}var endLineColor=coerce2("endlinecolor",dfltColor);var endLineWidth=coerce2("endlinewidth",gridWidth);var showEndLine=coerce("endline",containerOut.showgrid||!!endLineColor||!!endLineWidth);if(!showEndLine){delete containerOut.endlinecolor;delete containerOut.endlinewidth}if(!showGrid){delete containerOut.gridcolor;delete containerOut.gridWidth}else{coerce("minorgridcount");coerce("minorgridwidth",gridWidth);coerce("minorgridcolor",addOpacity(gridColor,.06));if(!containerOut.minorgridcount){delete containerOut.minorgridwidth;delete containerOut.minorgridcolor}}if(containerOut.showticklabels==="none"){delete containerOut.tickfont;delete containerOut.tickangle;delete containerOut.showexponent;delete containerOut.exponentformat;delete containerOut.minexponent;delete containerOut.tickformat;delete containerOut.showticksuffix;delete containerOut.showtickprefix}if(!containerOut.showticksuffix){delete containerOut.ticksuffix}if(!containerOut.showtickprefix){delete containerOut.tickprefix}coerce("tickmode");return containerOut};function setAutoType(ax,data){if(ax.type!=="-")return;var id=ax._id;var axLetter=id.charAt(0);var calAttr=axLetter+"calendar";var calendar=ax[calAttr];ax.type=autoType(data,calendar,{autotypenumbers:ax.autotypenumbers})}},{"../../components/color":666,"../../lib":803,"../../plots/cartesian/axis_autotype":855,"../../plots/cartesian/category_order_defaults":859,"../../plots/cartesian/set_convert":875,"../../plots/cartesian/tick_label_defaults":876,"../../plots/cartesian/tick_value_defaults":878,"../../registry":931,"./attributes":984}],988:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var isArray1D=_dereq_("../../lib").isArray1D;var cheaterBasis=_dereq_("./cheater_basis");var arrayMinmax=_dereq_("./array_minmax");var calcGridlines=_dereq_("./calc_gridlines");var calcLabels=_dereq_("./calc_labels");var calcClipPath=_dereq_("./calc_clippath");var clean2dArray=_dereq_("../heatmap/clean_2d_array");var smoothFill2dArray=_dereq_("./smooth_fill_2d_array");var convertColumnData=_dereq_("../heatmap/convert_column_xyz");var setConvert=_dereq_("./set_convert");module.exports=function calc(gd,trace){var xa=Axes.getFromId(gd,trace.xaxis);var ya=Axes.getFromId(gd,trace.yaxis);var aax=trace.aaxis;var bax=trace.baxis;var x=trace.x;var y=trace.y;var cols=[];if(x&&isArray1D(x))cols.push("x");if(y&&isArray1D(y))cols.push("y");if(cols.length){convertColumnData(trace,aax,bax,"a","b",cols)}var a=trace._a=trace._a||trace.a;var b=trace._b=trace._b||trace.b;x=trace._x||trace.x;y=trace._y||trace.y;var t={};if(trace._cheater){var avals=aax.cheatertype==="index"?a.length:a;var bvals=bax.cheatertype==="index"?b.length:b;x=cheaterBasis(avals,bvals,trace.cheaterslope)}trace._x=x=clean2dArray(x);trace._y=y=clean2dArray(y);smoothFill2dArray(x,a,b);smoothFill2dArray(y,a,b);setConvert(trace);trace.setScale();var xrange=arrayMinmax(x);var yrange=arrayMinmax(y);var dx=.5*(xrange[1]-xrange[0]);var xc=.5*(xrange[1]+xrange[0]);var dy=.5*(yrange[1]-yrange[0]);var yc=.5*(yrange[1]+yrange[0]);var grow=1.3;xrange=[xc-dx*grow,xc+dx*grow];yrange=[yc-dy*grow,yc+dy*grow];trace._extremes[xa._id]=Axes.findExtremes(xa,xrange,{padded:true});trace._extremes[ya._id]=Axes.findExtremes(ya,yrange,{padded:true});calcGridlines(trace,"a","b");calcGridlines(trace,"b","a");calcLabels(trace,aax);calcLabels(trace,bax);t.clipsegments=calcClipPath(trace._xctrl,trace._yctrl,aax,bax);t.x=x;t.y=y;t.a=a;t.b=b;return[t]}},{"../../lib":803,"../../plots/cartesian/axes":854,"../heatmap/clean_2d_array":1087,"../heatmap/convert_column_xyz":1089,"./array_minmax":983,"./calc_clippath":989,"./calc_gridlines":990,"./calc_labels":991,"./cheater_basis":993,"./set_convert":1006,"./smooth_fill_2d_array":1007}],989:[function(_dereq_,module,exports){"use strict";module.exports=function makeClipPath(xctrl,yctrl,aax,bax){var i,x,y;var segments=[];var asmoothing=!!aax.smoothing;var bsmoothing=!!bax.smoothing;var nea1=xctrl[0].length-1;var neb1=xctrl.length-1;for(i=0,x=[],y=[];i<=nea1;i++){x[i]=xctrl[0][i];y[i]=yctrl[0][i]}segments.push({x:x,y:y,bicubic:asmoothing});for(i=0,x=[],y=[];i<=neb1;i++){x[i]=xctrl[i][nea1];y[i]=yctrl[i][nea1]}segments.push({x:x,y:y,bicubic:bsmoothing});for(i=nea1,x=[],y=[];i>=0;i--){x[nea1-i]=xctrl[neb1][i];y[nea1-i]=yctrl[neb1][i]}segments.push({x:x,y:y,bicubic:asmoothing});for(i=neb1,x=[],y=[];i>=0;i--){x[neb1-i]=xctrl[i][0];y[neb1-i]=yctrl[i][0]}segments.push({x:x,y:y,bicubic:bsmoothing});return segments}},{}],990:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports=function calcGridlines(trace,axisLetter,crossAxisLetter){var i,j,j0;var eps,bounds,n1,n2,n,value,v;var j1,v0,v1,d;var data=trace["_"+axisLetter];var axis=trace[axisLetter+"axis"];var gridlines=axis._gridlines=[];var minorgridlines=axis._minorgridlines=[];var boundarylines=axis._boundarylines=[];var crossData=trace["_"+crossAxisLetter];var crossAxis=trace[crossAxisLetter+"axis"];if(axis.tickmode==="array"){axis.tickvals=data.slice()}var xcp=trace._xctrl;var ycp=trace._yctrl;var nea=xcp[0].length;var neb=xcp.length;var na=trace._a.length;var nb=trace._b.length;Axes.prepTicks(axis);if(axis.tickmode==="array")delete axis.tickvals;var stride=axis.smoothing?3:1;function constructValueGridline(value){var i,j,j0,tj,pxy,i0,ti,xy,dxydi0,dxydi1,dxydj0,dxydj1;var xpoints=[];var ypoints=[];var ret={};if(axisLetter==="b"){j=trace.b2j(value);j0=Math.floor(Math.max(0,Math.min(nb-2,j)));tj=j-j0;ret.length=nb;ret.crossLength=na;ret.xy=function(i){return trace.evalxy([],i,j)};ret.dxy=function(i0,ti){return trace.dxydi([],i0,j0,ti,tj)};for(i=0;i<na;i++){i0=Math.min(na-2,i);ti=i-i0;xy=trace.evalxy([],i,j);if(crossAxis.smoothing&&i>0){dxydi0=trace.dxydi([],i-1,j0,0,tj);xpoints.push(pxy[0]+dxydi0[0]/3);ypoints.push(pxy[1]+dxydi0[1]/3);dxydi1=trace.dxydi([],i-1,j0,1,tj);xpoints.push(xy[0]-dxydi1[0]/3);ypoints.push(xy[1]-dxydi1[1]/3)}xpoints.push(xy[0]);ypoints.push(xy[1]);pxy=xy}}else{i=trace.a2i(value);i0=Math.floor(Math.max(0,Math.min(na-2,i)));ti=i-i0;ret.length=na;ret.crossLength=nb;ret.xy=function(j){return trace.evalxy([],i,j)};ret.dxy=function(j0,tj){return trace.dxydj([],i0,j0,ti,tj)};for(j=0;j<nb;j++){j0=Math.min(nb-2,j);tj=j-j0;xy=trace.evalxy([],i,j);if(crossAxis.smoothing&&j>0){dxydj0=trace.dxydj([],i0,j-1,ti,0);xpoints.push(pxy[0]+dxydj0[0]/3);ypoints.push(pxy[1]+dxydj0[1]/3);dxydj1=trace.dxydj([],i0,j-1,ti,1);xpoints.push(xy[0]-dxydj1[0]/3);ypoints.push(xy[1]-dxydj1[1]/3)}xpoints.push(xy[0]);ypoints.push(xy[1]);pxy=xy}}ret.axisLetter=axisLetter;ret.axis=axis;ret.crossAxis=crossAxis;ret.value=value;ret.constvar=crossAxisLetter;ret.index=n;ret.x=xpoints;ret.y=ypoints;ret.smoothing=crossAxis.smoothing;return ret}function constructArrayGridline(idx){var j,i0,j0,ti,tj;var xpoints=[];var ypoints=[];var ret={};ret.length=data.length;ret.crossLength=crossData.length;if(axisLetter==="b"){j0=Math.max(0,Math.min(nb-2,idx));tj=Math.min(1,Math.max(0,idx-j0));ret.xy=function(i){return trace.evalxy([],i,idx)};ret.dxy=function(i0,ti){return trace.dxydi([],i0,j0,ti,tj)};for(j=0;j<nea;j++){xpoints[j]=xcp[idx*stride][j];ypoints[j]=ycp[idx*stride][j]}}else{i0=Math.max(0,Math.min(na-2,idx));ti=Math.min(1,Math.max(0,idx-i0));ret.xy=function(j){return trace.evalxy([],idx,j)};ret.dxy=function(j0,tj){return trace.dxydj([],i0,j0,ti,tj)};for(j=0;j<neb;j++){xpoints[j]=xcp[j][idx*stride];ypoints[j]=ycp[j][idx*stride]}}ret.axisLetter=axisLetter;ret.axis=axis;ret.crossAxis=crossAxis;ret.value=data[idx];ret.constvar=crossAxisLetter;ret.index=idx;ret.x=xpoints;ret.y=ypoints;ret.smoothing=crossAxis.smoothing;return ret}if(axis.tickmode==="array"){eps=5e-15;bounds=[Math.floor((data.length-1-axis.arraytick0)/axis.arraydtick*(1+eps)),Math.ceil(-axis.arraytick0/axis.arraydtick/(1+eps))].sort((function(a,b){return a-b}));n1=bounds[0]-1;n2=bounds[1]+1;for(n=n1;n<n2;n++){j=axis.arraytick0+axis.arraydtick*n;if(j<0||j>data.length-1)continue;gridlines.push(extendFlat(constructArrayGridline(j),{color:axis.gridcolor,width:axis.gridwidth}))}for(n=n1;n<n2;n++){j0=axis.arraytick0+axis.arraydtick*n;j1=Math.min(j0+axis.arraydtick,data.length-1);if(j0<0||j0>data.length-1)continue;if(j1<0||j1>data.length-1)continue;v0=data[j0];v1=data[j1];for(i=0;i<axis.minorgridcount;i++){d=j1-j0;if(d<=0)continue;v=v0+(v1-v0)*(i+1)/(axis.minorgridcount+1)*(axis.arraydtick/d);if(v<data[0]||v>data[data.length-1])continue;minorgridlines.push(extendFlat(constructValueGridline(v),{color:axis.minorgridcolor,width:axis.minorgridwidth}))}}if(axis.startline){boundarylines.push(extendFlat(constructArrayGridline(0),{color:axis.startlinecolor,width:axis.startlinewidth}))}if(axis.endline){boundarylines.push(extendFlat(constructArrayGridline(data.length-1),{color:axis.endlinecolor,width:axis.endlinewidth}))}}else{eps=5e-15;bounds=[Math.floor((data[data.length-1]-axis.tick0)/axis.dtick*(1+eps)),Math.ceil((data[0]-axis.tick0)/axis.dtick/(1+eps))].sort((function(a,b){return a-b}));n1=bounds[0];n2=bounds[1];for(n=n1;n<=n2;n++){value=axis.tick0+axis.dtick*n;gridlines.push(extendFlat(constructValueGridline(value),{color:axis.gridcolor,width:axis.gridwidth}))}for(n=n1-1;n<n2+1;n++){value=axis.tick0+axis.dtick*n;for(i=0;i<axis.minorgridcount;i++){v=value+axis.dtick*(i+1)/(axis.minorgridcount+1);if(v<data[0]||v>data[data.length-1])continue;minorgridlines.push(extendFlat(constructValueGridline(v),{color:axis.minorgridcolor,width:axis.minorgridwidth}))}}if(axis.startline){boundarylines.push(extendFlat(constructValueGridline(data[0]),{color:axis.startlinecolor,width:axis.startlinewidth}))}if(axis.endline){boundarylines.push(extendFlat(constructValueGridline(data[data.length-1]),{color:axis.endlinecolor,width:axis.endlinewidth}))}}}},{"../../lib/extend":793,"../../plots/cartesian/axes":854}],991:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports=function calcLabels(trace,axis){var i,tobj,prefix,suffix,gridline;var labels=axis._labels=[];var gridlines=axis._gridlines;for(i=0;i<gridlines.length;i++){gridline=gridlines[i];if(["start","both"].indexOf(axis.showticklabels)!==-1){tobj=Axes.tickText(axis,gridline.value);extendFlat(tobj,{prefix:prefix,suffix:suffix,endAnchor:true,xy:gridline.xy(0),dxy:gridline.dxy(0,0),axis:gridline.axis,length:gridline.crossAxis.length,font:gridline.axis.tickfont,isFirst:i===0,isLast:i===gridlines.length-1});labels.push(tobj)}if(["end","both"].indexOf(axis.showticklabels)!==-1){tobj=Axes.tickText(axis,gridline.value);extendFlat(tobj,{endAnchor:false,xy:gridline.xy(gridline.crossLength-1),dxy:gridline.dxy(gridline.crossLength-2,1),axis:gridline.axis,length:gridline.crossAxis.length,font:gridline.axis.tickfont,isFirst:i===0,isLast:i===gridlines.length-1});labels.push(tobj)}}}},{"../../lib/extend":793,"../../plots/cartesian/axes":854}],992:[function(_dereq_,module,exports){"use strict";var CatmullRomExp=.5;module.exports=function makeControlPoints(p0,p1,p2,smoothness){var d1x=p0[0]-p1[0];var d1y=p0[1]-p1[1];var d2x=p2[0]-p1[0];var d2y=p2[1]-p1[1];var d1a=Math.pow(d1x*d1x+d1y*d1y,CatmullRomExp/2);var d2a=Math.pow(d2x*d2x+d2y*d2y,CatmullRomExp/2);var numx=(d2a*d2a*d1x-d1a*d1a*d2x)*smoothness;var numy=(d2a*d2a*d1y-d1a*d1a*d2y)*smoothness;var denom1=d2a*(d1a+d2a)*3;var denom2=d1a*(d1a+d2a)*3;return[[p1[0]+(denom1&&numx/denom1),p1[1]+(denom1&&numy/denom1)],[p1[0]-(denom2&&numx/denom2),p1[1]-(denom2&&numy/denom2)]]}},{}],993:[function(_dereq_,module,exports){"use strict";var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;module.exports=function(a,b,cheaterslope){var i,j,ascal,bscal,aval,bval;var data=[];var na=isArrayOrTypedArray(a)?a.length:a;var nb=isArrayOrTypedArray(b)?b.length:b;var adata=isArrayOrTypedArray(a)?a:null;var bdata=isArrayOrTypedArray(b)?b:null;if(adata){ascal=(adata.length-1)/(adata[adata.length-1]-adata[0])/(na-1)}if(bdata){bscal=(bdata.length-1)/(bdata[bdata.length-1]-bdata[0])/(nb-1)}var xval;var xmin=Infinity;var xmax=-Infinity;for(j=0;j<nb;j++){data[j]=[];bval=bdata?(bdata[j]-bdata[0])*bscal:j/(nb-1);for(i=0;i<na;i++){aval=adata?(adata[i]-adata[0])*ascal:i/(na-1);xval=aval-bval*cheaterslope;xmin=Math.min(xval,xmin);xmax=Math.max(xval,xmax);data[j][i]=xval}}var slope=1/(xmax-xmin);var offset=-xmin*slope;for(j=0;j<nb;j++){for(i=0;i<na;i++){data[j][i]=slope*data[j][i]+offset}}return data}},{"../../lib":803}],994:[function(_dereq_,module,exports){"use strict";var makeControlPoints=_dereq_("./catmull_rom");var ensureArray=_dereq_("../../lib").ensureArray;function inferCubicControlPoint(p0,p2,p3){var p2e0=-.5*p3[0]+1.5*p2[0];var p2e1=-.5*p3[1]+1.5*p2[1];return[(2*p2e0+p0[0])/3,(2*p2e1+p0[1])/3]}module.exports=function computeControlPoints(xe,ye,x,y,asmoothing,bsmoothing){var i,j,ie,je,xej,yej,xj,yj,cp,p1;var na=x[0].length;var nb=x.length;var nea=asmoothing?3*na-2:na;var neb=bsmoothing?3*nb-2:nb;xe=ensureArray(xe,neb);ye=ensureArray(ye,neb);for(ie=0;ie<neb;ie++){xe[ie]=ensureArray(xe[ie],nea);ye[ie]=ensureArray(ye[ie],nea)}for(j=0,je=0;j<nb;j++,je+=bsmoothing?3:1){xej=xe[je];yej=ye[je];xj=x[j];yj=y[j];for(i=0,ie=0;i<na;i++,ie+=asmoothing?3:1){xej[ie]=xj[i];yej[ie]=yj[i]}}if(asmoothing){for(j=0,je=0;j<nb;j++,je+=bsmoothing?3:1){for(i=1,ie=3;i<na-1;i++,ie+=3){cp=makeControlPoints([x[j][i-1],y[j][i-1]],[x[j][i],y[j][i]],[x[j][i+1],y[j][i+1]],asmoothing);xe[je][ie-1]=cp[0][0];ye[je][ie-1]=cp[0][1];xe[je][ie+1]=cp[1][0];ye[je][ie+1]=cp[1][1]}p1=inferCubicControlPoint([xe[je][0],ye[je][0]],[xe[je][2],ye[je][2]],[xe[je][3],ye[je][3]]);xe[je][1]=p1[0];ye[je][1]=p1[1];p1=inferCubicControlPoint([xe[je][nea-1],ye[je][nea-1]],[xe[je][nea-3],ye[je][nea-3]],[xe[je][nea-4],ye[je][nea-4]]);xe[je][nea-2]=p1[0];ye[je][nea-2]=p1[1]}}if(bsmoothing){for(ie=0;ie<nea;ie++){for(je=3;je<neb-3;je+=3){cp=makeControlPoints([xe[je-3][ie],ye[je-3][ie]],[xe[je][ie],ye[je][ie]],[xe[je+3][ie],ye[je+3][ie]],bsmoothing);xe[je-1][ie]=cp[0][0];ye[je-1][ie]=cp[0][1];xe[je+1][ie]=cp[1][0];ye[je+1][ie]=cp[1][1]}p1=inferCubicControlPoint([xe[0][ie],ye[0][ie]],[xe[2][ie],ye[2][ie]],[xe[3][ie],ye[3][ie]]);xe[1][ie]=p1[0];ye[1][ie]=p1[1];p1=inferCubicControlPoint([xe[neb-1][ie],ye[neb-1][ie]],[xe[neb-3][ie],ye[neb-3][ie]],[xe[neb-4][ie],ye[neb-4][ie]]);xe[neb-2][ie]=p1[0];ye[neb-2][ie]=p1[1]}}if(asmoothing&&bsmoothing){for(je=1;je<neb;je+=(je+1)%3===0?2:1){for(ie=3;ie<nea-3;ie+=3){cp=makeControlPoints([xe[je][ie-3],ye[je][ie-3]],[xe[je][ie],ye[je][ie]],[xe[je][ie+3],ye[je][ie+3]],asmoothing);xe[je][ie-1]=.5*(xe[je][ie-1]+cp[0][0]);ye[je][ie-1]=.5*(ye[je][ie-1]+cp[0][1]);xe[je][ie+1]=.5*(xe[je][ie+1]+cp[1][0]);ye[je][ie+1]=.5*(ye[je][ie+1]+cp[1][1])}p1=inferCubicControlPoint([xe[je][0],ye[je][0]],[xe[je][2],ye[je][2]],[xe[je][3],ye[je][3]]);xe[je][1]=.5*(xe[je][1]+p1[0]);ye[je][1]=.5*(ye[je][1]+p1[1]);p1=inferCubicControlPoint([xe[je][nea-1],ye[je][nea-1]],[xe[je][nea-3],ye[je][nea-3]],[xe[je][nea-4],ye[je][nea-4]]);xe[je][nea-2]=.5*(xe[je][nea-2]+p1[0]);ye[je][nea-2]=.5*(ye[je][nea-2]+p1[1])}}return[xe,ye]}},{"../../lib":803,"./catmull_rom":992}],995:[function(_dereq_,module,exports){"use strict";module.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],996:[function(_dereq_,module,exports){"use strict";module.exports=function(arrays,asmoothing,bsmoothing){if(asmoothing&&bsmoothing){return function(out,i0,j0,u,v){if(!out)out=[];var f0,f1,f2,f3,ak,k;i0*=3;j0*=3;var u2=u*u;var ou=1-u;var ou2=ou*ou;var ouu2=ou*u*2;var a=-3*ou2;var b=3*(ou2-ouu2);var c=3*(ouu2-u2);var d=3*u2;var v2=v*v;var v3=v2*v;var ov=1-v;var ov2=ov*ov;var ov3=ov2*ov;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=a*ak[j0][i0]+b*ak[j0][i0+1]+c*ak[j0][i0+2]+d*ak[j0][i0+3];f1=a*ak[j0+1][i0]+b*ak[j0+1][i0+1]+c*ak[j0+1][i0+2]+d*ak[j0+1][i0+3];f2=a*ak[j0+2][i0]+b*ak[j0+2][i0+1]+c*ak[j0+2][i0+2]+d*ak[j0+2][i0+3];f3=a*ak[j0+3][i0]+b*ak[j0+3][i0+1]+c*ak[j0+3][i0+2]+d*ak[j0+3][i0+3];out[k]=ov3*f0+3*(ov2*v*f1+ov*v2*f2)+v3*f3}return out}}else if(asmoothing){return function(out,i0,j0,u,v){if(!out)out=[];var f0,f1,k,ak;i0*=3;var u2=u*u;var ou=1-u;var ou2=ou*ou;var ouu2=ou*u*2;var a=-3*ou2;var b=3*(ou2-ouu2);var c=3*(ouu2-u2);var d=3*u2;var ov=1-v;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=a*ak[j0][i0]+b*ak[j0][i0+1]+c*ak[j0][i0+2]+d*ak[j0][i0+3];f1=a*ak[j0+1][i0]+b*ak[j0+1][i0+1]+c*ak[j0+1][i0+2]+d*ak[j0+1][i0+3];out[k]=ov*f0+v*f1}return out}}else if(bsmoothing){return function(out,i0,j0,u,v){if(!out)out=[];var f0,f1,f2,f3,k,ak;j0*=3;var v2=v*v;var v3=v2*v;var ov=1-v;var ov2=ov*ov;var ov3=ov2*ov;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=ak[j0][i0+1]-ak[j0][i0];f1=ak[j0+1][i0+1]-ak[j0+1][i0];f2=ak[j0+2][i0+1]-ak[j0+2][i0];f3=ak[j0+3][i0+1]-ak[j0+3][i0];out[k]=ov3*f0+3*(ov2*v*f1+ov*v2*f2)+v3*f3}return out}}else{return function(out,i0,j0,u,v){if(!out)out=[];var f0,f1,k,ak;var ov=1-v;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=ak[j0][i0+1]-ak[j0][i0];f1=ak[j0+1][i0+1]-ak[j0+1][i0];out[k]=ov*f0+v*f1}return out}}}},{}],997:[function(_dereq_,module,exports){"use strict";module.exports=function(arrays,asmoothing,bsmoothing){if(asmoothing&&bsmoothing){return function(out,i0,j0,u,v){if(!out)out=[];var f0,f1,f2,f3,ak,k;i0*=3;j0*=3;var u2=u*u;var u3=u2*u;var ou=1-u;var ou2=ou*ou;var ou3=ou2*ou;var v2=v*v;var ov=1-v;var ov2=ov*ov;var ovv2=ov*v*2;var a=-3*ov2;var b=3*(ov2-ovv2);var c=3*(ovv2-v2);var d=3*v2;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=a*ak[j0][i0]+b*ak[j0+1][i0]+c*ak[j0+2][i0]+d*ak[j0+3][i0];f1=a*ak[j0][i0+1]+b*ak[j0+1][i0+1]+c*ak[j0+2][i0+1]+d*ak[j0+3][i0+1];f2=a*ak[j0][i0+2]+b*ak[j0+1][i0+2]+c*ak[j0+2][i0+2]+d*ak[j0+3][i0+2];f3=a*ak[j0][i0+3]+b*ak[j0+1][i0+3]+c*ak[j0+2][i0+3]+d*ak[j0+3][i0+3];out[k]=ou3*f0+3*(ou2*u*f1+ou*u2*f2)+u3*f3}return out}}else if(asmoothing){return function(out,i0,j0,v,u){if(!out)out=[];var f0,f1,f2,f3,k,ak;i0*=3;var u2=u*u;var u3=u2*u;var ou=1-u;var ou2=ou*ou;var ou3=ou2*ou;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=ak[j0+1][i0]-ak[j0][i0];f1=ak[j0+1][i0+1]-ak[j0][i0+1];f2=ak[j0+1][i0+2]-ak[j0][i0+2];f3=ak[j0+1][i0+3]-ak[j0][i0+3];out[k]=ou3*f0+3*(ou2*u*f1+ou*u2*f2)+u3*f3}return out}}else if(bsmoothing){return function(out,i0,j0,u,v){if(!out)out=[];var f0,f1,k,ak;j0*=3;var ou=1-u;var v2=v*v;var ov=1-v;var ov2=ov*ov;var ovv2=ov*v*2;var a=-3*ov2;var b=3*(ov2-ovv2);var c=3*(ovv2-v2);var d=3*v2;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=a*ak[j0][i0]+b*ak[j0+1][i0]+c*ak[j0+2][i0]+d*ak[j0+3][i0];f1=a*ak[j0][i0+1]+b*ak[j0+1][i0+1]+c*ak[j0+2][i0+1]+d*ak[j0+3][i0+1];out[k]=ou*f0+u*f1}return out}}else{return function(out,i0,j0,v,u){if(!out)out=[];var f0,f1,k,ak;var ov=1-v;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=ak[j0+1][i0]-ak[j0][i0];f1=ak[j0+1][i0+1]-ak[j0][i0+1];out[k]=ov*f0+v*f1}return out}}}},{}],998:[function(_dereq_,module,exports){"use strict";module.exports=function(arrays,na,nb,asmoothing,bsmoothing){var imax=na-2;var jmax=nb-2;if(asmoothing&&bsmoothing){return function(out,i,j){if(!out)out=[];var f0,f1,f2,f3,ak,k;var i0=Math.max(0,Math.min(Math.floor(i),imax));var j0=Math.max(0,Math.min(Math.floor(j),jmax));var u=Math.max(0,Math.min(1,i-i0));var v=Math.max(0,Math.min(1,j-j0));i0*=3;j0*=3;var u2=u*u;var u3=u2*u;var ou=1-u;var ou2=ou*ou;var ou3=ou2*ou;var v2=v*v;var v3=v2*v;var ov=1-v;var ov2=ov*ov;var ov3=ov2*ov;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=ou3*ak[j0][i0]+3*(ou2*u*ak[j0][i0+1]+ou*u2*ak[j0][i0+2])+u3*ak[j0][i0+3];f1=ou3*ak[j0+1][i0]+3*(ou2*u*ak[j0+1][i0+1]+ou*u2*ak[j0+1][i0+2])+u3*ak[j0+1][i0+3];f2=ou3*ak[j0+2][i0]+3*(ou2*u*ak[j0+2][i0+1]+ou*u2*ak[j0+2][i0+2])+u3*ak[j0+2][i0+3];f3=ou3*ak[j0+3][i0]+3*(ou2*u*ak[j0+3][i0+1]+ou*u2*ak[j0+3][i0+2])+u3*ak[j0+3][i0+3];out[k]=ov3*f0+3*(ov2*v*f1+ov*v2*f2)+v3*f3}return out}}else if(asmoothing){return function(out,i,j){if(!out)out=[];var i0=Math.max(0,Math.min(Math.floor(i),imax));var j0=Math.max(0,Math.min(Math.floor(j),jmax));var u=Math.max(0,Math.min(1,i-i0));var v=Math.max(0,Math.min(1,j-j0));var f0,f1,f2,f3,k,ak;i0*=3;var u2=u*u;var u3=u2*u;var ou=1-u;var ou2=ou*ou;var ou3=ou2*ou;var ov=1-v;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=ov*ak[j0][i0]+v*ak[j0+1][i0];f1=ov*ak[j0][i0+1]+v*ak[j0+1][i0+1];f2=ov*ak[j0][i0+2]+v*ak[j0+1][i0+1];f3=ov*ak[j0][i0+3]+v*ak[j0+1][i0+1];out[k]=ou3*f0+3*(ou2*u*f1+ou*u2*f2)+u3*f3}return out}}else if(bsmoothing){return function(out,i,j){if(!out)out=[];var i0=Math.max(0,Math.min(Math.floor(i),imax));var j0=Math.max(0,Math.min(Math.floor(j),jmax));var u=Math.max(0,Math.min(1,i-i0));var v=Math.max(0,Math.min(1,j-j0));var f0,f1,f2,f3,k,ak;j0*=3;var v2=v*v;var v3=v2*v;var ov=1-v;var ov2=ov*ov;var ov3=ov2*ov;var ou=1-u;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=ou*ak[j0][i0]+u*ak[j0][i0+1];f1=ou*ak[j0+1][i0]+u*ak[j0+1][i0+1];f2=ou*ak[j0+2][i0]+u*ak[j0+2][i0+1];f3=ou*ak[j0+3][i0]+u*ak[j0+3][i0+1];out[k]=ov3*f0+3*(ov2*v*f1+ov*v2*f2)+v3*f3}return out}}else{return function(out,i,j){if(!out)out=[];var i0=Math.max(0,Math.min(Math.floor(i),imax));var j0=Math.max(0,Math.min(Math.floor(j),jmax));var u=Math.max(0,Math.min(1,i-i0));var v=Math.max(0,Math.min(1,j-j0));var f0,f1,k,ak;var ov=1-v;var ou=1-u;for(k=0;k<arrays.length;k++){ak=arrays[k];f0=ou*ak[j0][i0]+u*ak[j0][i0+1];f1=ou*ak[j0+1][i0]+u*ak[j0+1][i0+1];out[k]=ov*f0+v*f1}return out}}}},{}],999:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleXYDefaults=_dereq_("./xy_defaults");var handleABDefaults=_dereq_("./ab_defaults");var attributes=_dereq_("./attributes");var colorAttrs=_dereq_("../../components/color/attributes");module.exports=function supplyDefaults(traceIn,traceOut,dfltColor,fullLayout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}traceOut._clipPathId="clip"+traceOut.uid+"carpet";var defaultColor=coerce("color",colorAttrs.defaultLine);Lib.coerceFont(coerce,"font");coerce("carpet");handleABDefaults(traceIn,traceOut,fullLayout,coerce,defaultColor);if(!traceOut.a||!traceOut.b){traceOut.visible=false;return}if(traceOut.a.length<3){traceOut.aaxis.smoothing=0}if(traceOut.b.length<3){traceOut.baxis.smoothing=0}var validData=handleXYDefaults(traceIn,traceOut,coerce);if(!validData){traceOut.visible=false}if(traceOut._cheater){coerce("cheaterslope")}}},{"../../components/color/attributes":665,"../../lib":803,"./ab_defaults":982,"./attributes":984,"./xy_defaults":1008}],1e3:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),plot:_dereq_("./plot"),calc:_dereq_("./calc"),animatable:true,isContainer:true,moduleType:"trace",name:"carpet",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":868,"./attributes":984,"./calc":988,"./defaults":999,"./plot":1005}],1001:[function(_dereq_,module,exports){"use strict";module.exports=function(gd,trace){var n=gd._fullData.length;var firstAxis;for(var i=0;i<n;i++){var maybeCarpet=gd._fullData[i];if(maybeCarpet.index===trace.index)continue;if(maybeCarpet.type==="carpet"){if(!firstAxis){firstAxis=maybeCarpet}if(maybeCarpet.carpet===trace.carpet){return maybeCarpet}}}return firstAxis}},{}],1002:[function(_dereq_,module,exports){"use strict";module.exports=function makePath(xp,yp,isBicubic){if(xp.length===0)return"";var i;var path=[];var stride=isBicubic?3:1;for(i=0;i<xp.length;i+=stride){path.push(xp[i]+","+yp[i]);if(isBicubic&&i<xp.length-stride){path.push("C");path.push([xp[i+1]+","+yp[i+1],xp[i+2]+","+yp[i+2]+" "].join(" "))}}return path.join(isBicubic?"":"L")}},{}],1003:[function(_dereq_,module,exports){"use strict";var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;module.exports=function mapArray(out,data,func){var i;if(!isArrayOrTypedArray(out)){out=[]}else if(out.length>data.length){out=out.slice(0,data.length)}for(i=0;i<data.length;i++){out[i]=func(data[i])}return out}},{"../../lib":803}],1004:[function(_dereq_,module,exports){"use strict";module.exports=function orientText(trace,xaxis,yaxis,xy,dxy,refDxy){var dx=dxy[0]*trace.dpdx(xaxis);var dy=dxy[1]*trace.dpdy(yaxis);var flip=1;var offsetMultiplier=1;if(refDxy){var l1=Math.sqrt(dxy[0]*dxy[0]+dxy[1]*dxy[1]);var l2=Math.sqrt(refDxy[0]*refDxy[0]+refDxy[1]*refDxy[1]);var dot=(dxy[0]*refDxy[0]+dxy[1]*refDxy[1])/l1/l2;offsetMultiplier=Math.max(0,dot)}var angle=Math.atan2(dy,dx)*180/Math.PI;if(angle<-90){angle+=180;flip=-flip}else if(angle>90){angle-=180;flip=-flip}return{angle:angle,flip:flip,p:trace.c2p(xy,xaxis,yaxis),offsetMultplier:offsetMultiplier}}},{}],1005:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var map1dArray=_dereq_("./map_1d_array");var makepath=_dereq_("./makepath");var orientText=_dereq_("./orient_text");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Lib=_dereq_("../../lib");var strRotate=Lib.strRotate;var strTranslate=Lib.strTranslate;var alignmentConstants=_dereq_("../../constants/alignment");module.exports=function plot(gd,plotinfo,cdcarpet,carpetLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var fullLayout=gd._fullLayout;var clipLayer=fullLayout._clips;Lib.makeTraceGroups(carpetLayer,cdcarpet,"trace").each((function(cd){var axisLayer=d3.select(this);var cd0=cd[0];var trace=cd0.trace;var aax=trace.aaxis;var bax=trace.baxis;var minorLayer=Lib.ensureSingle(axisLayer,"g","minorlayer");var majorLayer=Lib.ensureSingle(axisLayer,"g","majorlayer");var boundaryLayer=Lib.ensureSingle(axisLayer,"g","boundarylayer");var labelLayer=Lib.ensureSingle(axisLayer,"g","labellayer");axisLayer.style("opacity",trace.opacity);drawGridLines(xa,ya,majorLayer,aax,"a",aax._gridlines,true);drawGridLines(xa,ya,majorLayer,bax,"b",bax._gridlines,true);drawGridLines(xa,ya,minorLayer,aax,"a",aax._minorgridlines,true);drawGridLines(xa,ya,minorLayer,bax,"b",bax._minorgridlines,true);drawGridLines(xa,ya,boundaryLayer,aax,"a-boundary",aax._boundarylines);drawGridLines(xa,ya,boundaryLayer,bax,"b-boundary",bax._boundarylines);var labelOrientationA=drawAxisLabels(gd,xa,ya,trace,cd0,labelLayer,aax._labels,"a-label");var labelOrientationB=drawAxisLabels(gd,xa,ya,trace,cd0,labelLayer,bax._labels,"b-label");drawAxisTitles(gd,labelLayer,trace,cd0,xa,ya,labelOrientationA,labelOrientationB);drawClipPath(trace,cd0,clipLayer,xa,ya)}))};function drawClipPath(trace,t,layer,xaxis,yaxis){var seg,xp,yp,i;var clip=layer.select("#"+trace._clipPathId);if(!clip.size()){clip=layer.append("clipPath").classed("carpetclip",true)}var path=Lib.ensureSingle(clip,"path","carpetboundary");var segments=t.clipsegments;var segs=[];for(i=0;i<segments.length;i++){seg=segments[i];xp=map1dArray([],seg.x,xaxis.c2p);yp=map1dArray([],seg.y,yaxis.c2p);segs.push(makepath(xp,yp,seg.bicubic))}var clipPathData="M"+segs.join("L")+"Z";clip.attr("id",trace._clipPathId);path.attr("d",clipPathData)}function drawGridLines(xaxis,yaxis,layer,axis,axisLetter,gridlines){var lineClass="const-"+axisLetter+"-lines";var gridJoin=layer.selectAll("."+lineClass).data(gridlines);gridJoin.enter().append("path").classed(lineClass,true).style("vector-effect","non-scaling-stroke");gridJoin.each((function(d){var gridline=d;var x=gridline.x;var y=gridline.y;var xp=map1dArray([],x,xaxis.c2p);var yp=map1dArray([],y,yaxis.c2p);var path="M"+makepath(xp,yp,gridline.smoothing);var el=d3.select(this);el.attr("d",path).style("stroke-width",gridline.width).style("stroke",gridline.color).style("fill","none")}));gridJoin.exit().remove()}function drawAxisLabels(gd,xaxis,yaxis,trace,t,layer,labels,labelClass){var labelJoin=layer.selectAll("text."+labelClass).data(labels);labelJoin.enter().append("text").classed(labelClass,true);var maxExtent=0;var labelOrientation={};labelJoin.each((function(label,i){var orientation;if(label.axis.tickangle==="auto"){orientation=orientText(trace,xaxis,yaxis,label.xy,label.dxy)}else{var angle=(label.axis.tickangle+180)*Math.PI/180;orientation=orientText(trace,xaxis,yaxis,label.xy,[Math.cos(angle),Math.sin(angle)])}if(!i){labelOrientation={angle:orientation.angle,flip:orientation.flip}}var direction=(label.endAnchor?-1:1)*orientation.flip;var labelEl=d3.select(this).attr({"text-anchor":direction>0?"start":"end","data-notex":1}).call(Drawing.font,label.font).text(label.text).call(svgTextUtils.convertToTspans,gd);var bbox=Drawing.bBox(this);labelEl.attr("transform",strTranslate(orientation.p[0],orientation.p[1])+strRotate(orientation.angle)+strTranslate(label.axis.labelpadding*direction,bbox.height*.3));maxExtent=Math.max(maxExtent,bbox.width+label.axis.labelpadding)}));labelJoin.exit().remove();labelOrientation.maxExtent=maxExtent;return labelOrientation}function drawAxisTitles(gd,layer,trace,t,xa,ya,labelOrientationA,labelOrientationB){var a,b,xy,dxy;var aMin=Lib.aggNums(Math.min,null,trace.a);var aMax=Lib.aggNums(Math.max,null,trace.a);var bMin=Lib.aggNums(Math.min,null,trace.b);var bMax=Lib.aggNums(Math.max,null,trace.b);a=.5*(aMin+aMax);b=bMin;xy=trace.ab2xy(a,b,true);dxy=trace.dxyda_rough(a,b);if(labelOrientationA.angle===undefined){Lib.extendFlat(labelOrientationA,orientText(trace,xa,ya,xy,trace.dxydb_rough(a,b)))}drawAxisTitle(gd,layer,trace,t,xy,dxy,trace.aaxis,xa,ya,labelOrientationA,"a-title");a=aMin;b=.5*(bMin+bMax);xy=trace.ab2xy(a,b,true);dxy=trace.dxydb_rough(a,b);if(labelOrientationB.angle===undefined){Lib.extendFlat(labelOrientationB,orientText(trace,xa,ya,xy,trace.dxyda_rough(a,b)))}drawAxisTitle(gd,layer,trace,t,xy,dxy,trace.baxis,xa,ya,labelOrientationB,"b-title")}var lineSpacing=alignmentConstants.LINE_SPACING;var midShift=(1-alignmentConstants.MID_SHIFT)/lineSpacing+1;function drawAxisTitle(gd,layer,trace,t,xy,dxy,axis,xa,ya,labelOrientation,labelClass){var data=[];if(axis.title.text)data.push(axis.title.text);var titleJoin=layer.selectAll("text."+labelClass).data(data);var offset=labelOrientation.maxExtent;titleJoin.enter().append("text").classed(labelClass,true);titleJoin.each((function(){var orientation=orientText(trace,xa,ya,xy,dxy);if(["start","both"].indexOf(axis.showticklabels)===-1){offset=0}var titleSize=axis.title.font.size;offset+=titleSize+axis.title.offset;var labelNorm=labelOrientation.angle+(labelOrientation.flip<0?180:0);var angleDiff=(labelNorm-orientation.angle+450)%360;var reverseTitle=angleDiff>90&&angleDiff<270;var el=d3.select(this);el.text(axis.title.text).call(svgTextUtils.convertToTspans,gd);if(reverseTitle){offset=(-svgTextUtils.lineCount(el)+midShift)*lineSpacing*titleSize-offset}el.attr("transform",strTranslate(orientation.p[0],orientation.p[1])+strRotate(orientation.angle)+strTranslate(0,offset)).attr("text-anchor","middle").call(Drawing.font,axis.title.font)}));titleJoin.exit().remove()}},{"../../components/drawing":688,"../../constants/alignment":771,"../../lib":803,"../../lib/svg_text_utils":829,"./makepath":1002,"./map_1d_array":1003,"./orient_text":1004,"@plotly/d3":58}],1006:[function(_dereq_,module,exports){"use strict";var constants=_dereq_("./constants");var search=_dereq_("../../lib/search").findBin;var computeControlPoints=_dereq_("./compute_control_points");var createSplineEvaluator=_dereq_("./create_spline_evaluator");var createIDerivativeEvaluator=_dereq_("./create_i_derivative_evaluator");var createJDerivativeEvaluator=_dereq_("./create_j_derivative_evaluator");module.exports=function setConvert(trace){var a=trace._a;var b=trace._b;var na=a.length;var nb=b.length;var aax=trace.aaxis;var bax=trace.baxis;var amin=a[0];var amax=a[na-1];var bmin=b[0];var bmax=b[nb-1];var arange=a[a.length-1]-a[0];var brange=b[b.length-1]-b[0];var atol=arange*constants.RELATIVE_CULL_TOLERANCE;var btol=brange*constants.RELATIVE_CULL_TOLERANCE;amin-=atol;amax+=atol;bmin-=btol;bmax+=btol;trace.isVisible=function(a,b){return a>amin&&a<amax&&b>bmin&&b<bmax};trace.isOccluded=function(a,b){return a<amin||a>amax||b<bmin||b>bmax};trace.setScale=function(){var x=trace._x;var y=trace._y;var result=computeControlPoints(trace._xctrl,trace._yctrl,x,y,aax.smoothing,bax.smoothing);trace._xctrl=result[0];trace._yctrl=result[1];trace.evalxy=createSplineEvaluator([trace._xctrl,trace._yctrl],na,nb,aax.smoothing,bax.smoothing);trace.dxydi=createIDerivativeEvaluator([trace._xctrl,trace._yctrl],aax.smoothing,bax.smoothing);trace.dxydj=createJDerivativeEvaluator([trace._xctrl,trace._yctrl],aax.smoothing,bax.smoothing)};trace.i2a=function(i){var i0=Math.max(0,Math.floor(i[0]),na-2);var ti=i[0]-i0;return(1-ti)*a[i0]+ti*a[i0+1]};trace.j2b=function(j){var j0=Math.max(0,Math.floor(j[1]),na-2);var tj=j[1]-j0;return(1-tj)*b[j0]+tj*b[j0+1]};trace.ij2ab=function(ij){return[trace.i2a(ij[0]),trace.j2b(ij[1])]};trace.a2i=function(aval){var i0=Math.max(0,Math.min(search(aval,a),na-2));var a0=a[i0];var a1=a[i0+1];return Math.max(0,Math.min(na-1,i0+(aval-a0)/(a1-a0)))};trace.b2j=function(bval){var j0=Math.max(0,Math.min(search(bval,b),nb-2));var b0=b[j0];var b1=b[j0+1];return Math.max(0,Math.min(nb-1,j0+(bval-b0)/(b1-b0)))};trace.ab2ij=function(ab){return[trace.a2i(ab[0]),trace.b2j(ab[1])]};trace.i2c=function(i,j){return trace.evalxy([],i,j)};trace.ab2xy=function(aval,bval,extrapolate){if(!extrapolate&&(aval<a[0]||aval>a[na-1]|bval<b[0]||bval>b[nb-1])){return[false,false]}var i=trace.a2i(aval);var j=trace.b2j(bval);var pt=trace.evalxy([],i,j);if(extrapolate){var iex=0;var jex=0;var der=[];var i0,ti,j0,tj;if(aval<a[0]){i0=0;ti=0;iex=(aval-a[0])/(a[1]-a[0])}else if(aval>a[na-1]){i0=na-2;ti=1;iex=(aval-a[na-1])/(a[na-1]-a[na-2])}else{i0=Math.max(0,Math.min(na-2,Math.floor(i)));ti=i-i0}if(bval<b[0]){j0=0;tj=0;jex=(bval-b[0])/(b[1]-b[0])}else if(bval>b[nb-1]){j0=nb-2;tj=1;jex=(bval-b[nb-1])/(b[nb-1]-b[nb-2])}else{j0=Math.max(0,Math.min(nb-2,Math.floor(j)));tj=j-j0}if(iex){trace.dxydi(der,i0,j0,ti,tj);pt[0]+=der[0]*iex;pt[1]+=der[1]*iex}if(jex){trace.dxydj(der,i0,j0,ti,tj);pt[0]+=der[0]*jex;pt[1]+=der[1]*jex}}return pt};trace.c2p=function(xy,xa,ya){return[xa.c2p(xy[0]),ya.c2p(xy[1])]};trace.p2x=function(p,xa,ya){return[xa.p2c(p[0]),ya.p2c(p[1])]};trace.dadi=function(i){var i0=Math.max(0,Math.min(a.length-2,i));return a[i0+1]-a[i0]};trace.dbdj=function(j){var j0=Math.max(0,Math.min(b.length-2,j));return b[j0+1]-b[j0]};trace.dxyda=function(i0,j0,u,v){var dxydi=trace.dxydi(null,i0,j0,u,v);var dadi=trace.dadi(i0,u);return[dxydi[0]/dadi,dxydi[1]/dadi]};trace.dxydb=function(i0,j0,u,v){var dxydj=trace.dxydj(null,i0,j0,u,v);var dbdj=trace.dbdj(j0,v);return[dxydj[0]/dbdj,dxydj[1]/dbdj]};trace.dxyda_rough=function(a,b,reldiff){var h=arange*(reldiff||.1);var plus=trace.ab2xy(a+h,b,true);var minus=trace.ab2xy(a-h,b,true);return[(plus[0]-minus[0])*.5/h,(plus[1]-minus[1])*.5/h]};trace.dxydb_rough=function(a,b,reldiff){var h=brange*(reldiff||.1);var plus=trace.ab2xy(a,b+h,true);var minus=trace.ab2xy(a,b-h,true);return[(plus[0]-minus[0])*.5/h,(plus[1]-minus[1])*.5/h]};trace.dpdx=function(xa){return xa._m};trace.dpdy=function(ya){return ya._m}}},{"../../lib/search":823,"./compute_control_points":994,"./constants":995,"./create_i_derivative_evaluator":996,"./create_j_derivative_evaluator":997,"./create_spline_evaluator":998}],1007:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function smoothFill2dArray(data,a,b){var i,j,k;var ip=[];var jp=[];var ni=data[0].length;var nj=data.length;function avgSurrounding(i,j){var sum=0;var val;var cnt=0;if(i>0&&(val=data[j][i-1])!==undefined){cnt++;sum+=val}if(i<ni-1&&(val=data[j][i+1])!==undefined){cnt++;sum+=val}if(j>0&&(val=data[j-1][i])!==undefined){cnt++;sum+=val}if(j<nj-1&&(val=data[j+1][i])!==undefined){cnt++;sum+=val}return sum/Math.max(1,cnt)}var dmax=0;for(i=0;i<ni;i++){for(j=0;j<nj;j++){if(data[j][i]===undefined){ip.push(i);jp.push(j);data[j][i]=avgSurrounding(i,j)}dmax=Math.max(dmax,Math.abs(data[j][i]))}}if(!ip.length)return data;var dxp,dxm,dap,dam,dbp,dbm,c,d,diff,reldiff,overrelaxation;var tol=1e-5;var resid=0;var itermax=100;var iter=0;var n=ip.length;do{resid=0;for(k=0;k<n;k++){i=ip[k];j=jp[k];var boundaryCnt=0;var newVal=0;var d0,d1,x0,x1,i0,j0;if(i===0){i0=Math.min(ni-1,2);x0=a[i0];x1=a[1];d0=data[j][i0];d1=data[j][1];newVal+=d1+(d1-d0)*(a[0]-x1)/(x1-x0);boundaryCnt++}else if(i===ni-1){i0=Math.max(0,ni-3);x0=a[i0];x1=a[ni-2];d0=data[j][i0];d1=data[j][ni-2];newVal+=d1+(d1-d0)*(a[ni-1]-x1)/(x1-x0);boundaryCnt++}if((i===0||i===ni-1)&&(j>0&&j<nj-1)){dxp=b[j+1]-b[j];dxm=b[j]-b[j-1];newVal+=(dxm*data[j+1][i]+dxp*data[j-1][i])/(dxm+dxp);boundaryCnt++}if(j===0){j0=Math.min(nj-1,2);x0=b[j0];x1=b[1];d0=data[j0][i];d1=data[1][i];newVal+=d1+(d1-d0)*(b[0]-x1)/(x1-x0);boundaryCnt++}else if(j===nj-1){j0=Math.max(0,nj-3);x0=b[j0];x1=b[nj-2];d0=data[j0][i];d1=data[nj-2][i];newVal+=d1+(d1-d0)*(b[nj-1]-x1)/(x1-x0);boundaryCnt++}if((j===0||j===nj-1)&&(i>0&&i<ni-1)){dxp=a[i+1]-a[i];dxm=a[i]-a[i-1];newVal+=(dxm*data[j][i+1]+dxp*data[j][i-1])/(dxm+dxp);boundaryCnt++}if(!boundaryCnt){dap=a[i+1]-a[i];dam=a[i]-a[i-1];dbp=b[j+1]-b[j];dbm=b[j]-b[j-1];c=dap*dam*(dap+dam);d=dbp*dbm*(dbp+dbm);newVal=(c*(dbm*data[j+1][i]+dbp*data[j-1][i])+d*(dam*data[j][i+1]+dap*data[j][i-1]))/(d*(dam+dap)+c*(dbm+dbp))}else{newVal/=boundaryCnt}diff=newVal-data[j][i];reldiff=diff/dmax;resid+=reldiff*reldiff;overrelaxation=boundaryCnt?0:.85;data[j][i]+=diff*(1+overrelaxation)}resid=Math.sqrt(resid)}while(iter++<itermax&&resid>tol);Lib.log("Smoother converged to",resid,"after",iter,"iterations");return data}},{"../../lib":803}],1008:[function(_dereq_,module,exports){"use strict";var isArray1D=_dereq_("../../lib").isArray1D;module.exports=function handleXYDefaults(traceIn,traceOut,coerce){var x=coerce("x");var hasX=x&&x.length;var y=coerce("y");var hasY=y&&y.length;if(!hasX&&!hasY)return false;traceOut._cheater=!x;if((!hasX||isArray1D(x))&&(!hasY||isArray1D(y))){var len=hasX?x.length:Infinity;if(hasY)len=Math.min(len,y.length);if(traceOut.a&&traceOut.a.length)len=Math.min(len,traceOut.a.length);if(traceOut.b&&traceOut.b.length)len=Math.min(len,traceOut.b.length);traceOut._length=len}else traceOut._length=null;return true}},{"../../lib":803}],1009:[function(_dereq_,module,exports){"use strict";var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var scatterGeoAttrs=_dereq_("../scattergeo/attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var baseAttrs=_dereq_("../../plots/attributes");var defaultLine=_dereq_("../../components/color/attributes").defaultLine;var extendFlat=_dereq_("../../lib/extend").extendFlat;var scatterGeoMarkerLineAttrs=scatterGeoAttrs.marker.line;module.exports=extendFlat({locations:{valType:"data_array",editType:"calc"},locationmode:scatterGeoAttrs.locationmode,z:{valType:"data_array",editType:"calc"},geojson:extendFlat({},scatterGeoAttrs.geojson,{}),featureidkey:scatterGeoAttrs.featureidkey,text:extendFlat({},scatterGeoAttrs.text,{}),hovertext:extendFlat({},scatterGeoAttrs.hovertext,{}),marker:{line:{color:extendFlat({},scatterGeoMarkerLineAttrs.color,{dflt:defaultLine}),width:extendFlat({},scatterGeoMarkerLineAttrs.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:true,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:scatterGeoAttrs.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:scatterGeoAttrs.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:extendFlat({},baseAttrs.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:hovertemplateAttrs(),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})},colorScaleAttrs("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/color/attributes":665,"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/template_attributes":926,"../scattergeo/attributes":1260}],1010:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var colorscaleCalc=_dereq_("../../components/colorscale/calc");var arraysToCalcdata=_dereq_("../scatter/arrays_to_calcdata");var calcSelection=_dereq_("../scatter/calc_selection");function isNonBlankString(v){return v&&typeof v==="string"}module.exports=function calc(gd,trace){var len=trace._length;var calcTrace=new Array(len);var isValidLoc;if(trace.geojson){isValidLoc=function(v){return isNonBlankString(v)||isNumeric(v)}}else{isValidLoc=isNonBlankString}for(var i=0;i<len;i++){var calcPt=calcTrace[i]={};var loc=trace.locations[i];var z=trace.z[i];if(isValidLoc(loc)&&isNumeric(z)){calcPt.loc=loc;calcPt.z=z}else{calcPt.loc=null;calcPt.z=BADNUM}calcPt.index=i}arraysToCalcdata(calcTrace,trace);colorscaleCalc(gd,trace,{vals:trace.z,containerStr:"",cLetter:"z"});calcSelection(calcTrace,trace);return calcTrace}},{"../../components/colorscale/calc":674,"../../constants/numerical":779,"../scatter/arrays_to_calcdata":1217,"../scatter/calc_selection":1220,"fast-isnumeric":249}],1011:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var locations=coerce("locations");var z=coerce("z");if(!(locations&&locations.length&&Lib.isArrayOrTypedArray(z)&&z.length)){traceOut.visible=false;return}traceOut._length=Math.min(locations.length,z.length);var geojson=coerce("geojson");var locationmodeDflt;if(typeof geojson==="string"&&geojson!==""||Lib.isPlainObject(geojson)){locationmodeDflt="geojson-id"}var locationMode=coerce("locationmode",locationmodeDflt);if(locationMode==="geojson-id"){coerce("featureidkey")}coerce("text");coerce("hovertext");coerce("hovertemplate");var mlw=coerce("marker.line.width");if(mlw)coerce("marker.line.color");coerce("marker.opacity");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"z"});Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../components/colorscale/defaults":676,"../../lib":803,"./attributes":1009}],1012:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt,trace,cd,pointNumber){out.location=pt.location;out.z=pt.z;var cdi=cd[pointNumber];if(cdi.fIn&&cdi.fIn.properties){out.properties=cdi.fIn.properties}out.ct=cdi.ct;return out}},{}],1013:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var attributes=_dereq_("./attributes");var fillText=_dereq_("../../lib").fillText;module.exports=function hoverPoints(pointData,xval,yval){var cd=pointData.cd;var trace=cd[0].trace;var geo=pointData.subplot;var pt,i,j,isInside;var xy=[xval,yval];var altXy=[xval+360,yval];for(i=0;i<cd.length;i++){pt=cd[i];isInside=false;if(pt._polygons){for(j=0;j<pt._polygons.length;j++){if(pt._polygons[j].contains(xy)){isInside=!isInside}if(pt._polygons[j].contains(altXy)){isInside=!isInside}}if(isInside)break}}if(!isInside||!pt)return;pointData.x0=pointData.x1=pointData.xa.c2p(pt.ct);pointData.y0=pointData.y1=pointData.ya.c2p(pt.ct);pointData.index=pt.index;pointData.location=pt.loc;pointData.z=pt.z;pointData.zLabel=Axes.tickText(geo.mockAxis,geo.mockAxis.c2l(pt.z),"hover").text;pointData.hovertemplate=pt.hovertemplate;makeHoverInfo(pointData,trace,pt);return[pointData]};function makeHoverInfo(pointData,trace,pt){if(trace.hovertemplate)return;var hoverinfo=pt.hi||trace.hoverinfo;var loc=String(pt.loc);var parts=hoverinfo==="all"?attributes.hoverinfo.flags:hoverinfo.split("+");var hasName=parts.indexOf("name")!==-1;var hasLocation=parts.indexOf("location")!==-1;var hasZ=parts.indexOf("z")!==-1;var hasText=parts.indexOf("text")!==-1;var hasIdAsNameLabel=!hasName&&hasLocation;var text=[];if(hasIdAsNameLabel){pointData.nameOverride=loc}else{if(hasName)pointData.nameOverride=trace.name;if(hasLocation)text.push(loc)}if(hasZ){text.push(pointData.zLabel)}if(hasText){fillText(pt,trace,text)}pointData.extraText=text.join("<br>")}},{"../../lib":803,"../../plots/cartesian/axes":854,"./attributes":1009}],1014:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../heatmap/colorbar"),calc:_dereq_("./calc"),calcGeoJSON:_dereq_("./plot").calcGeoJSON,plot:_dereq_("./plot").plot,style:_dereq_("./style").style,styleOnSelect:_dereq_("./style").styleOnSelect,hoverPoints:_dereq_("./hover"),eventData:_dereq_("./event_data"),selectPoints:_dereq_("./select"),moduleType:"trace",name:"choropleth",basePlotModule:_dereq_("../../plots/geo"),categories:["geo","noOpacity","showLegend"],meta:{}}},{"../../plots/geo":887,"../heatmap/colorbar":1088,"./attributes":1009,"./calc":1010,"./defaults":1011,"./event_data":1012,"./hover":1013,"./plot":1015,"./select":1016,"./style":1017}],1015:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var geoUtils=_dereq_("../../lib/geo_location_utils");var getTopojsonFeatures=_dereq_("../../lib/topojson_utils").getTopojsonFeatures;var findExtremes=_dereq_("../../plots/cartesian/autorange").findExtremes;var style=_dereq_("./style").style;function plot(gd,geo,calcData){var choroplethLayer=geo.layers.backplot.select(".choroplethlayer");Lib.makeTraceGroups(choroplethLayer,calcData,"trace choropleth").each((function(calcTrace){var sel=d3.select(this);var paths=sel.selectAll("path.choroplethlocation").data(Lib.identity);paths.enter().append("path").classed("choroplethlocation",true);paths.exit().remove();style(gd,calcTrace)}))}function calcGeoJSON(calcTrace,fullLayout){var trace=calcTrace[0].trace;var geoLayout=fullLayout[trace.geo];var geo=geoLayout._subplot;var locationmode=trace.locationmode;var len=trace._length;var features=locationmode==="geojson-id"?geoUtils.extractTraceFeature(calcTrace):getTopojsonFeatures(trace,geo.topojson);var lonArray=[];var latArray=[];for(var i=0;i<len;i++){var calcPt=calcTrace[i];var feature=locationmode==="geojson-id"?calcPt.fOut:geoUtils.locationToFeature(locationmode,calcPt.loc,features);if(feature){calcPt.geojson=feature;calcPt.ct=feature.properties.ct;calcPt._polygons=geoUtils.feature2polygons(feature);var bboxFeature=geoUtils.computeBbox(feature);lonArray.push(bboxFeature[0],bboxFeature[2]);latArray.push(bboxFeature[1],bboxFeature[3])}else{calcPt.geojson=null}}if(geoLayout.fitbounds==="geojson"&&locationmode==="geojson-id"){var bboxGeojson=geoUtils.computeBbox(geoUtils.getTraceGeojson(trace));lonArray=[bboxGeojson[0],bboxGeojson[2]];latArray=[bboxGeojson[1],bboxGeojson[3]]}var opts={padded:true};trace._extremes.lon=findExtremes(geoLayout.lonaxis._ax,lonArray,opts);trace._extremes.lat=findExtremes(geoLayout.lataxis._ax,latArray,opts)}module.exports={calcGeoJSON:calcGeoJSON,plot:plot}},{"../../lib":803,"../../lib/geo_location_utils":796,"../../lib/topojson_utils":832,"../../plots/cartesian/autorange":853,"./style":1017,"@plotly/d3":58}],1016:[function(_dereq_,module,exports){"use strict";module.exports=function selectPoints(searchInfo,selectionTester){var cd=searchInfo.cd;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var selection=[];var i,di,ct,x,y;if(selectionTester===false){for(i=0;i<cd.length;i++){cd[i].selected=0}}else{for(i=0;i<cd.length;i++){di=cd[i];ct=di.ct;if(!ct)continue;x=xa.c2p(ct);y=ya.c2p(ct);if(selectionTester.contains([x,y],null,i,searchInfo)){selection.push({pointNumber:i,lon:ct[0],lat:ct[1]});di.selected=1}else{di.selected=0}}}return selection}},{}],1017:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var Colorscale=_dereq_("../../components/colorscale");function style(gd,calcTrace){if(calcTrace)styleTrace(gd,calcTrace)}function styleTrace(gd,calcTrace){var trace=calcTrace[0].trace;var s=calcTrace[0].node3;var locs=s.selectAll(".choroplethlocation");var marker=trace.marker||{};var markerLine=marker.line||{};var sclFunc=Colorscale.makeColorScaleFuncFromTrace(trace);locs.each((function(d){d3.select(this).attr("fill",sclFunc(d.z)).call(Color.stroke,d.mlc||markerLine.color).call(Drawing.dashLine,"",d.mlw||markerLine.width||0).style("opacity",marker.opacity)}));Drawing.selectedPointStyle(locs,trace,gd)}function styleOnSelect(gd,calcTrace){var s=calcTrace[0].node3;var trace=calcTrace[0].trace;if(trace.selectedpoints){Drawing.selectedPointStyle(s.selectAll(".choroplethlocation"),trace,gd)}else{styleTrace(gd,calcTrace)}}module.exports={style:style,styleOnSelect:styleOnSelect}},{"../../components/color":666,"../../components/colorscale":678,"../../components/drawing":688,"@plotly/d3":58}],1018:[function(_dereq_,module,exports){"use strict";var choroplethAttrs=_dereq_("../choropleth/attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var baseAttrs=_dereq_("../../plots/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports=extendFlat({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:extendFlat({},choroplethAttrs.featureidkey,{}),below:{valType:"string",editType:"plot"},text:choroplethAttrs.text,hovertext:choroplethAttrs.hovertext,marker:{line:{color:extendFlat({},choroplethAttrs.marker.line.color,{editType:"plot"}),width:extendFlat({},choroplethAttrs.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:extendFlat({},choroplethAttrs.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:extendFlat({},choroplethAttrs.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:extendFlat({},choroplethAttrs.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:choroplethAttrs.hoverinfo,hovertemplate:hovertemplateAttrs({},{keys:["properties"]}),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})},colorScaleAttrs("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/template_attributes":926,"../choropleth/attributes":1009}],1019:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var Colorscale=_dereq_("../../components/colorscale");var Drawing=_dereq_("../../components/drawing");var makeBlank=_dereq_("../../lib/geojson_utils").makeBlank;var geoUtils=_dereq_("../../lib/geo_location_utils");function convert(calcTrace){var trace=calcTrace[0].trace;var isVisible=trace.visible===true&&trace._length!==0;var fill={layout:{visibility:"none"},paint:{}};var line={layout:{visibility:"none"},paint:{}};var opts=trace._opts={fill:fill,line:line,geojson:makeBlank()};if(!isVisible)return opts;var features=geoUtils.extractTraceFeature(calcTrace);if(!features)return opts;var sclFunc=Colorscale.makeColorScaleFuncFromTrace(trace);var marker=trace.marker;var markerLine=marker.line||{};var opacityFn;if(Lib.isArrayOrTypedArray(marker.opacity)){opacityFn=function(d){var mo=d.mo;return isNumeric(mo)?+Lib.constrain(mo,0,1):0}}var lineColorFn;if(Lib.isArrayOrTypedArray(markerLine.color)){lineColorFn=function(d){return d.mlc}}var lineWidthFn;if(Lib.isArrayOrTypedArray(markerLine.width)){lineWidthFn=function(d){return d.mlw}}for(var i=0;i<calcTrace.length;i++){var cdi=calcTrace[i];var fOut=cdi.fOut;if(fOut){var props=fOut.properties;props.fc=sclFunc(cdi.z);if(opacityFn)props.mo=opacityFn(cdi);if(lineColorFn)props.mlc=lineColorFn(cdi);if(lineWidthFn)props.mlw=lineWidthFn(cdi);cdi.ct=props.ct;cdi._polygons=geoUtils.feature2polygons(fOut)}}var opacitySetting=opacityFn?{type:"identity",property:"mo"}:marker.opacity;Lib.extendFlat(fill.paint,{"fill-color":{type:"identity",property:"fc"},"fill-opacity":opacitySetting});Lib.extendFlat(line.paint,{"line-color":lineColorFn?{type:"identity",property:"mlc"}:markerLine.color,"line-width":lineWidthFn?{type:"identity",property:"mlw"}:markerLine.width,"line-opacity":opacitySetting});fill.layout.visibility="visible";line.layout.visibility="visible";opts.geojson={type:"FeatureCollection",features:features};convertOnSelect(calcTrace);return opts}function convertOnSelect(calcTrace){var trace=calcTrace[0].trace;var opts=trace._opts;var opacitySetting;if(trace.selectedpoints){var fns=Drawing.makeSelectedPointStyleFns(trace);for(var i=0;i<calcTrace.length;i++){var cdi=calcTrace[i];if(cdi.fOut){cdi.fOut.properties.mo2=fns.selectedOpacityFn(cdi)}}opacitySetting={type:"identity",property:"mo2"}}else{opacitySetting=Lib.isArrayOrTypedArray(trace.marker.opacity)?{type:"identity",property:"mo"}:trace.marker.opacity}Lib.extendFlat(opts.fill.paint,{"fill-opacity":opacitySetting});Lib.extendFlat(opts.line.paint,{"line-opacity":opacitySetting});return opts}module.exports={convert:convert,convertOnSelect:convertOnSelect}},{"../../components/colorscale":678,"../../components/drawing":688,"../../lib":803,"../../lib/geo_location_utils":796,"../../lib/geojson_utils":797,"fast-isnumeric":249}],1020:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var locations=coerce("locations");var z=coerce("z");var geojson=coerce("geojson");if(!Lib.isArrayOrTypedArray(locations)||!locations.length||!Lib.isArrayOrTypedArray(z)||!z.length||!(typeof geojson==="string"&&geojson!==""||Lib.isPlainObject(geojson))){traceOut.visible=false;return}coerce("featureidkey");traceOut._length=Math.min(locations.length,z.length);coerce("below");coerce("text");coerce("hovertext");coerce("hovertemplate");var mlw=coerce("marker.line.width");if(mlw)coerce("marker.line.color");coerce("marker.opacity");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"z"});Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../components/colorscale/defaults":676,"../../lib":803,"./attributes":1018}],1021:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../heatmap/colorbar"),calc:_dereq_("../choropleth/calc"),plot:_dereq_("./plot"),hoverPoints:_dereq_("../choropleth/hover"),eventData:_dereq_("../choropleth/event_data"),selectPoints:_dereq_("../choropleth/select"),styleOnSelect:function(_,cd){if(cd){var trace=cd[0].trace;trace._glTrace.updateOnSelect(cd)}},getBelow:function(trace,subplot){var mapLayers=subplot.getMapLayers();for(var i=mapLayers.length-2;i>=0;i--){var layerId=mapLayers[i].id;if(typeof layerId==="string"&&layerId.indexOf("water")===0){for(var j=i+1;j<mapLayers.length;j++){layerId=mapLayers[j].id;if(typeof layerId==="string"&&layerId.indexOf("plotly-")===-1){return layerId}}}}},moduleType:"trace",name:"choroplethmapbox",basePlotModule:_dereq_("../../plots/mapbox"),categories:["mapbox","gl","noOpacity","showLegend"],meta:{hr_name:"choropleth_mapbox"}}},{"../../plots/mapbox":911,"../choropleth/calc":1010,"../choropleth/event_data":1012,"../choropleth/hover":1013,"../choropleth/select":1016,"../heatmap/colorbar":1088,"./attributes":1018,"./defaults":1020,"./plot":1022}],1022:[function(_dereq_,module,exports){"use strict";var convert=_dereq_("./convert").convert;var convertOnSelect=_dereq_("./convert").convertOnSelect;var LAYER_PREFIX=_dereq_("../../plots/mapbox/constants").traceLayerPrefix;function ChoroplethMapbox(subplot,uid){this.type="choroplethmapbox";this.subplot=subplot;this.uid=uid;this.sourceId="source-"+uid;this.layerList=[["fill",LAYER_PREFIX+uid+"-fill"],["line",LAYER_PREFIX+uid+"-line"]];this.below=null}var proto=ChoroplethMapbox.prototype;proto.update=function(calcTrace){this._update(convert(calcTrace))};proto.updateOnSelect=function(calcTrace){this._update(convertOnSelect(calcTrace))};proto._update=function(optsAll){var subplot=this.subplot;var layerList=this.layerList;var below=subplot.belowLookup["trace-"+this.uid];subplot.map.getSource(this.sourceId).setData(optsAll.geojson);if(below!==this.below){this._removeLayers();this._addLayers(optsAll,below);this.below=below}for(var i=0;i<layerList.length;i++){var item=layerList[i];var k=item[0];var id=item[1];var opts=optsAll[k];subplot.setOptions(id,"setLayoutProperty",opts.layout);if(opts.layout.visibility==="visible"){subplot.setOptions(id,"setPaintProperty",opts.paint)}}};proto._addLayers=function(optsAll,below){var subplot=this.subplot;var layerList=this.layerList;var sourceId=this.sourceId;for(var i=0;i<layerList.length;i++){var item=layerList[i];var k=item[0];var opts=optsAll[k];subplot.addLayer({type:k,id:item[1],source:sourceId,layout:opts.layout,paint:opts.paint},below)}};proto._removeLayers=function(){var map=this.subplot.map;var layerList=this.layerList;for(var i=layerList.length-1;i>=0;i--){map.removeLayer(layerList[i][1])}};proto.dispose=function(){var map=this.subplot.map;this._removeLayers();map.removeSource(this.sourceId)};module.exports=function createChoroplethMapbox(subplot,calcTrace){var trace=calcTrace[0].trace;var choroplethMapbox=new ChoroplethMapbox(subplot,trace.uid);var sourceId=choroplethMapbox.sourceId;var optsAll=convert(calcTrace);var below=choroplethMapbox.below=subplot.belowLookup["trace-"+trace.uid];subplot.map.addSource(sourceId,{type:"geojson",data:optsAll.geojson});choroplethMapbox._addLayers(optsAll,below);calcTrace[0].trace._glTrace=choroplethMapbox;return choroplethMapbox}},{"../../plots/mapbox/constants":909,"./convert":1019}],1023:[function(_dereq_,module,exports){"use strict";var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var mesh3dAttrs=_dereq_("../mesh3d/attributes");var baseAttrs=_dereq_("../../plots/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var attrs={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:true,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:true,editType:"calc"},hovertemplate:hovertemplateAttrs({editType:"calc"},{keys:["norm"]}),uhoverformat:axisHoverFormat("u",1),vhoverformat:axisHoverFormat("v",1),whoverformat:axisHoverFormat("w",1),xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z"),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})};extendFlat(attrs,colorScaleAttrs("",{colorAttr:"u/v/w norm",showScaleDflt:true,editTypeOverride:"calc"}));var fromMesh3d=["opacity","lightposition","lighting"];fromMesh3d.forEach((function(k){attrs[k]=mesh3dAttrs[k]}));attrs.hoverinfo=extendFlat({},baseAttrs.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"});attrs.transforms=undefined;module.exports=attrs},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../mesh3d/attributes":1159}],1024:[function(_dereq_,module,exports){"use strict";var colorscaleCalc=_dereq_("../../components/colorscale/calc");module.exports=function calc(gd,trace){var u=trace.u;var v=trace.v;var w=trace.w;var len=Math.min(trace.x.length,trace.y.length,trace.z.length,u.length,v.length,w.length);var normMax=-Infinity;var normMin=Infinity;for(var i=0;i<len;i++){var uu=u[i];var vv=v[i];var ww=w[i];var norm=Math.sqrt(uu*uu+vv*vv+ww*ww);normMax=Math.max(normMax,norm);normMin=Math.min(normMin,norm)}trace._len=len;trace._normMax=normMax;colorscaleCalc(gd,trace,{vals:[normMin,normMax],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":674}],1025:[function(_dereq_,module,exports){"use strict";var conePlot=_dereq_("gl-cone3d");var createConeMesh=_dereq_("gl-cone3d").createConeMesh;var simpleMap=_dereq_("../../lib").simpleMap;var parseColorScale=_dereq_("../../lib/gl_format_color").parseColorScale;var extractOpts=_dereq_("../../components/colorscale").extractOpts;var zip3=_dereq_("../../plots/gl3d/zip3");function Cone(scene,uid){this.scene=scene;this.uid=uid;this.mesh=null;this.data=null}var proto=Cone.prototype;proto.handlePick=function(selection){if(selection.object===this.mesh){var selectIndex=selection.index=selection.data.index;var xx=this.data.x[selectIndex];var yy=this.data.y[selectIndex];var zz=this.data.z[selectIndex];var uu=this.data.u[selectIndex];var vv=this.data.v[selectIndex];var ww=this.data.w[selectIndex];selection.traceCoordinate=[xx,yy,zz,uu,vv,ww,Math.sqrt(uu*uu+vv*vv+ww*ww)];var text=this.data.hovertext||this.data.text;if(Array.isArray(text)&&text[selectIndex]!==undefined){selection.textLabel=text[selectIndex]}else if(text){selection.textLabel=text}return true}};var axisName2scaleIndex={xaxis:0,yaxis:1,zaxis:2};var anchor2coneOffset={tip:1,tail:0,cm:.25,center:.5};var anchor2coneSpan={tip:1,tail:1,cm:.75,center:.5};function convert(scene,trace){var sceneLayout=scene.fullSceneLayout;var dataScale=scene.dataScale;var coneOpts={};function toDataCoords(arr,axisName){var ax=sceneLayout[axisName];var scale=dataScale[axisName2scaleIndex[axisName]];return simpleMap(arr,(function(v){return ax.d2l(v)*scale}))}coneOpts.vectors=zip3(toDataCoords(trace.u,"xaxis"),toDataCoords(trace.v,"yaxis"),toDataCoords(trace.w,"zaxis"),trace._len);coneOpts.positions=zip3(toDataCoords(trace.x,"xaxis"),toDataCoords(trace.y,"yaxis"),toDataCoords(trace.z,"zaxis"),trace._len);var cOpts=extractOpts(trace);coneOpts.colormap=parseColorScale(trace);coneOpts.vertexIntensityBounds=[cOpts.min/trace._normMax,cOpts.max/trace._normMax];coneOpts.coneOffset=anchor2coneOffset[trace.anchor];if(trace.sizemode==="scaled"){coneOpts.coneSize=trace.sizeref||.5}else{coneOpts.coneSize=trace.sizeref&&trace._normMax?trace.sizeref/trace._normMax:.5}var meshData=conePlot(coneOpts);var lp=trace.lightposition;meshData.lightPosition=[lp.x,lp.y,lp.z];meshData.ambient=trace.lighting.ambient;meshData.diffuse=trace.lighting.diffuse;meshData.specular=trace.lighting.specular;meshData.roughness=trace.lighting.roughness;meshData.fresnel=trace.lighting.fresnel;meshData.opacity=trace.opacity;trace._pad=anchor2coneSpan[trace.anchor]*meshData.vectorScale*meshData.coneScale*trace._normMax;return meshData}proto.update=function(data){this.data=data;var meshData=convert(this.scene,data);this.mesh.update(meshData)};proto.dispose=function(){this.scene.glplot.remove(this.mesh);this.mesh.dispose()};function createConeTrace(scene,data){var gl=scene.glplot.gl;var meshData=convert(scene,data);var mesh=createConeMesh(gl,meshData);var cone=new Cone(scene,data.uid);cone.mesh=mesh;cone.data=data;mesh._trace=cone;scene.glplot.add(mesh);return cone}module.exports=createConeTrace},{"../../components/colorscale":678,"../../lib":803,"../../lib/gl_format_color":799,"../../plots/gl3d/zip3":907,"gl-cone3d":268}],1026:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var u=coerce("u");var v=coerce("v");var w=coerce("w");var x=coerce("x");var y=coerce("y");var z=coerce("z");if(!u||!u.length||!v||!v.length||!w||!w.length||!x||!x.length||!y||!y.length||!z||!z.length){traceOut.visible=false;return}coerce("sizeref");coerce("sizemode");coerce("anchor");coerce("lighting.ambient");coerce("lighting.diffuse");coerce("lighting.specular");coerce("lighting.roughness");coerce("lighting.fresnel");coerce("lightposition.x");coerce("lightposition.y");coerce("lightposition.z");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"c"});coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("uhoverformat");coerce("vhoverformat");coerce("whoverformat");coerce("xhoverformat");coerce("yhoverformat");coerce("zhoverformat");traceOut._length=null}},{"../../components/colorscale/defaults":676,"../../lib":803,"./attributes":1023}],1027:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"cone",basePlotModule:_dereq_("../../plots/gl3d"),categories:["gl3d","showLegend"],attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:_dereq_("./calc"),plot:_dereq_("./convert"),eventData:function(out,pt){out.norm=pt.traceCoordinate[6];return out},meta:{}}},{"../../plots/gl3d":896,"./attributes":1023,"./calc":1024,"./convert":1025,"./defaults":1026}],1028:[function(_dereq_,module,exports){"use strict";var heatmapAttrs=_dereq_("../heatmap/attributes");var scatterAttrs=_dereq_("../scatter/attributes");var axisFormat=_dereq_("../../plots/cartesian/axis_format_attributes");var axisHoverFormat=axisFormat.axisHoverFormat;var descriptionOnlyNumbers=axisFormat.descriptionOnlyNumbers;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var dash=_dereq_("../../components/drawing/attributes").dash;var fontAttrs=_dereq_("../../plots/font_attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var filterOps=_dereq_("../../constants/filter_ops");var COMPARISON_OPS2=filterOps.COMPARISON_OPS2;var INTERVAL_OPS=filterOps.INTERVAL_OPS;var scatterLineAttrs=scatterAttrs.line;module.exports=extendFlat({z:heatmapAttrs.z,x:heatmapAttrs.x,x0:heatmapAttrs.x0,dx:heatmapAttrs.dx,y:heatmapAttrs.y,y0:heatmapAttrs.y0,dy:heatmapAttrs.dy,xperiod:heatmapAttrs.xperiod,yperiod:heatmapAttrs.yperiod,xperiod0:scatterAttrs.xperiod0,yperiod0:scatterAttrs.yperiod0,xperiodalignment:heatmapAttrs.xperiodalignment,yperiodalignment:heatmapAttrs.yperiodalignment,text:heatmapAttrs.text,hovertext:heatmapAttrs.hovertext,transpose:heatmapAttrs.transpose,xtype:heatmapAttrs.xtype,ytype:heatmapAttrs.ytype,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z",1),hovertemplate:heatmapAttrs.hovertemplate,hoverongaps:heatmapAttrs.hoverongaps,connectgaps:extendFlat({},heatmapAttrs.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:true,editType:"calc",impliedEdits:{"contours.start":undefined,"contours.end":undefined,"contours.size":undefined}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":false}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":false}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":false}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:true,editType:"plot"},showlabels:{valType:"boolean",dflt:false,editType:"plot"},labelfont:fontAttrs({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:descriptionOnlyNumbers("contour label")},operation:{valType:"enumerated",values:[].concat(COMPARISON_OPS2).concat(INTERVAL_OPS),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:false}},line:{color:extendFlat({},scatterLineAttrs.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:dash,smoothing:extendFlat({},scatterLineAttrs.smoothing,{}),editType:"plot"}},colorScaleAttrs("",{cLetter:"z",autoColorDflt:false,editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":673,"../../components/drawing/attributes":687,"../../constants/filter_ops":775,"../../lib/extend":793,"../../plots/cartesian/axis_format_attributes":857,"../../plots/font_attributes":883,"../heatmap/attributes":1085,"../scatter/attributes":1218}],1029:[function(_dereq_,module,exports){"use strict";var Colorscale=_dereq_("../../components/colorscale");var heatmapCalc=_dereq_("../heatmap/calc");var setContours=_dereq_("./set_contours");var endPlus=_dereq_("./end_plus");module.exports=function calc(gd,trace){var cd=heatmapCalc(gd,trace);var zOut=cd[0].z;setContours(trace,zOut);var contours=trace.contours;var cOpts=Colorscale.extractOpts(trace);var cVals;if(contours.coloring==="heatmap"&&cOpts.auto&&trace.autocontour===false){var start=contours.start;var end=endPlus(contours);var cs=contours.size||1;var nc=Math.floor((end-start)/cs)+1;if(!isFinite(cs)){cs=1;nc=1}var min0=start-cs/2;var max0=min0+nc*cs;cVals=[min0,max0]}else{cVals=zOut}Colorscale.calc(gd,trace,{vals:cVals,cLetter:"z"});return cd}},{"../../components/colorscale":678,"../heatmap/calc":1086,"./end_plus":1039,"./set_contours":1047}],1030:[function(_dereq_,module,exports){"use strict";module.exports=function(pathinfo,contours){var pi0=pathinfo[0];var z=pi0.z;var i;switch(contours.type){case"levels":var edgeVal2=Math.min(z[0][0],z[0][1]);for(i=0;i<pathinfo.length;i++){var pi=pathinfo[i];pi.prefixBoundary=!pi.edgepaths.length&&(edgeVal2>pi.level||pi.starts.length&&edgeVal2===pi.level)}break;case"constraint":pi0.prefixBoundary=false;if(pi0.edgepaths.length)return;var na=pi0.x.length;var nb=pi0.y.length;var boundaryMax=-Infinity;var boundaryMin=Infinity;for(i=0;i<nb;i++){boundaryMin=Math.min(boundaryMin,z[i][0]);boundaryMin=Math.min(boundaryMin,z[i][na-1]);boundaryMax=Math.max(boundaryMax,z[i][0]);boundaryMax=Math.max(boundaryMax,z[i][na-1])}for(i=1;i<na-1;i++){boundaryMin=Math.min(boundaryMin,z[0][i]);boundaryMin=Math.min(boundaryMin,z[nb-1][i]);boundaryMax=Math.max(boundaryMax,z[0][i]);boundaryMax=Math.max(boundaryMax,z[nb-1][i])}var contoursValue=contours.value;var v1,v2;switch(contours._operation){case">":if(contoursValue>boundaryMax){pi0.prefixBoundary=true}break;case"<":if(contoursValue<boundaryMin||pi0.starts.length&&contoursValue===boundaryMin){pi0.prefixBoundary=true}break;case"[]":v1=Math.min(contoursValue[0],contoursValue[1]);v2=Math.max(contoursValue[0],contoursValue[1]);if(v2<boundaryMin||v1>boundaryMax||pi0.starts.length&&v2===boundaryMin){pi0.prefixBoundary=true}break;case"][":v1=Math.min(contoursValue[0],contoursValue[1]);v2=Math.max(contoursValue[0],contoursValue[1]);if(v1<boundaryMin&&v2>boundaryMax){pi0.prefixBoundary=true}break}break}}},{}],1031:[function(_dereq_,module,exports){"use strict";var Colorscale=_dereq_("../../components/colorscale");var makeColorMap=_dereq_("./make_color_map");var endPlus=_dereq_("./end_plus");function calc(gd,trace,opts){var contours=trace.contours;var line=trace.line;var cs=contours.size||1;var coloring=contours.coloring;var colorMap=makeColorMap(trace,{isColorbar:true});if(coloring==="heatmap"){var cOpts=Colorscale.extractOpts(trace);opts._fillgradient=cOpts.reversescale?Colorscale.flipScale(cOpts.colorscale):cOpts.colorscale;opts._zrange=[cOpts.min,cOpts.max]}else if(coloring==="fill"){opts._fillcolor=colorMap}opts._line={color:coloring==="lines"?colorMap:line.color,width:contours.showlines!==false?line.width:0,dash:line.dash};opts._levels={start:contours.start,end:endPlus(contours),size:cs}}module.exports={min:"zmin",max:"zmax",calc:calc}},{"../../components/colorscale":678,"./end_plus":1039,"./make_color_map":1044}],1032:[function(_dereq_,module,exports){"use strict";module.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],1033:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var handleLabelDefaults=_dereq_("./label_defaults");var Color=_dereq_("../../components/color");var addOpacity=Color.addOpacity;var opacity=Color.opacity;var filterOps=_dereq_("../../constants/filter_ops");var CONSTRAINT_REDUCTION=filterOps.CONSTRAINT_REDUCTION;var COMPARISON_OPS2=filterOps.COMPARISON_OPS2;module.exports=function handleConstraintDefaults(traceIn,traceOut,coerce,layout,defaultColor,opts){var contours=traceOut.contours;var showLines,lineColor,fillColor;var operation=coerce("contours.operation");contours._operation=CONSTRAINT_REDUCTION[operation];handleConstraintValueDefaults(coerce,contours);if(operation==="="){showLines=contours.showlines=true}else{showLines=coerce("contours.showlines");fillColor=coerce("fillcolor",addOpacity((traceIn.line||{}).color||defaultColor,.5))}if(showLines){var lineDfltColor=fillColor&&opacity(fillColor)?addOpacity(traceOut.fillcolor,1):defaultColor;lineColor=coerce("line.color",lineDfltColor);coerce("line.width",2);coerce("line.dash")}coerce("line.smoothing");handleLabelDefaults(coerce,layout,lineColor,opts)};function handleConstraintValueDefaults(coerce,contours){var zvalue;if(COMPARISON_OPS2.indexOf(contours.operation)===-1){coerce("contours.value",[0,1]);if(!Array.isArray(contours.value)){if(isNumeric(contours.value)){zvalue=parseFloat(contours.value);contours.value=[zvalue,zvalue+1]}}else if(contours.value.length>2){contours.value=contours.value.slice(2)}else if(contours.length===0){contours.value=[0,1]}else if(contours.length<2){zvalue=parseFloat(contours.value[0]);contours.value=[zvalue,zvalue+1]}else{contours.value=[parseFloat(contours.value[0]),parseFloat(contours.value[1])]}}else{coerce("contours.value",0);if(!isNumeric(contours.value)){if(Array.isArray(contours.value)){contours.value=parseFloat(contours.value[0])}else{contours.value=0}}}}},{"../../components/color":666,"../../constants/filter_ops":775,"./label_defaults":1043,"fast-isnumeric":249}],1034:[function(_dereq_,module,exports){"use strict";var filterOps=_dereq_("../../constants/filter_ops");var isNumeric=_dereq_("fast-isnumeric");module.exports={"[]":makeRangeSettings("[]"),"][":makeRangeSettings("]["),">":makeInequalitySettings(">"),"<":makeInequalitySettings("<"),"=":makeInequalitySettings("=")};function coerceValue(operation,value){var hasArrayValue=Array.isArray(value);var coercedValue;function coerce(value){return isNumeric(value)?+value:null}if(filterOps.COMPARISON_OPS2.indexOf(operation)!==-1){coercedValue=hasArrayValue?coerce(value[0]):coerce(value)}else if(filterOps.INTERVAL_OPS.indexOf(operation)!==-1){coercedValue=hasArrayValue?[coerce(value[0]),coerce(value[1])]:[coerce(value),coerce(value)]}else if(filterOps.SET_OPS.indexOf(operation)!==-1){coercedValue=hasArrayValue?value.map(coerce):[coerce(value)]}return coercedValue}function makeRangeSettings(operation){return function(value){value=coerceValue(operation,value);var min=Math.min(value[0],value[1]);var max=Math.max(value[0],value[1]);return{start:min,end:max,size:max-min}}}function makeInequalitySettings(operation){return function(value){value=coerceValue(operation,value);return{start:value,end:Infinity,size:Infinity}}}},{"../../constants/filter_ops":775,"fast-isnumeric":249}],1035:[function(_dereq_,module,exports){"use strict";module.exports=function handleContourDefaults(traceIn,traceOut,coerce,coerce2){var contourStart=coerce2("contours.start");var contourEnd=coerce2("contours.end");var missingEnd=contourStart===false||contourEnd===false;var contourSize=coerce("contours.size");var autoContour;if(missingEnd)autoContour=traceOut.autocontour=true;else autoContour=coerce("autocontour",false);if(autoContour||!contourSize)coerce("ncontours")}},{}],1036:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function(pathinfo,operation){var i,pi0,pi1;var op0=function(arr){return arr.reverse()};var op1=function(arr){return arr};switch(operation){case"=":case"<":return pathinfo;case">":if(pathinfo.length!==1){Lib.warn("Contour data invalid for the specified inequality operation.")}pi0=pathinfo[0];for(i=0;i<pi0.edgepaths.length;i++){pi0.edgepaths[i]=op0(pi0.edgepaths[i])}for(i=0;i<pi0.paths.length;i++){pi0.paths[i]=op0(pi0.paths[i])}for(i=0;i<pi0.starts.length;i++){pi0.starts[i]=op0(pi0.starts[i])}return pathinfo;case"][":var tmp=op0;op0=op1;op1=tmp;case"[]":if(pathinfo.length!==2){Lib.warn("Contour data invalid for the specified inequality range operation.")}pi0=copyPathinfo(pathinfo[0]);pi1=copyPathinfo(pathinfo[1]);for(i=0;i<pi0.edgepaths.length;i++){pi0.edgepaths[i]=op0(pi0.edgepaths[i])}for(i=0;i<pi0.paths.length;i++){pi0.paths[i]=op0(pi0.paths[i])}for(i=0;i<pi0.starts.length;i++){pi0.starts[i]=op0(pi0.starts[i])}while(pi1.edgepaths.length){pi0.edgepaths.push(op1(pi1.edgepaths.shift()))}while(pi1.paths.length){pi0.paths.push(op1(pi1.paths.shift()))}while(pi1.starts.length){pi0.starts.push(op1(pi1.starts.shift()))}return[pi0]}};function copyPathinfo(pi){return Lib.extendFlat({},pi,{edgepaths:Lib.extendDeep([],pi.edgepaths),paths:Lib.extendDeep([],pi.paths),starts:Lib.extendDeep([],pi.starts)})}},{"../../lib":803}],1037:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleXYZDefaults=_dereq_("../heatmap/xyz_defaults");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var handleConstraintDefaults=_dereq_("./constraint_defaults");var handleContoursDefaults=_dereq_("./contours_defaults");var handleStyleDefaults=_dereq_("./style_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}function coerce2(attr){return Lib.coerce2(traceIn,traceOut,attributes,attr)}var len=handleXYZDefaults(traceIn,traceOut,coerce,layout);if(!len){traceOut.visible=false;return}handlePeriodDefaults(traceIn,traceOut,layout,coerce);coerce("xhoverformat");coerce("yhoverformat");coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("hoverongaps");var isConstraint=coerce("contours.type")==="constraint";coerce("connectgaps",Lib.isArray1D(traceOut.z));if(isConstraint){handleConstraintDefaults(traceIn,traceOut,coerce,layout,defaultColor)}else{handleContoursDefaults(traceIn,traceOut,coerce,coerce2);handleStyleDefaults(traceIn,traceOut,coerce,layout)}}},{"../../lib":803,"../heatmap/xyz_defaults":1099,"../scatter/period_defaults":1238,"./attributes":1028,"./constraint_defaults":1033,"./contours_defaults":1035,"./style_defaults":1049}],1038:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var constraintMapping=_dereq_("./constraint_mapping");var endPlus=_dereq_("./end_plus");module.exports=function emptyPathinfo(contours,plotinfo,cd0){var contoursFinal=contours.type==="constraint"?constraintMapping[contours._operation](contours.value):contours;var cs=contoursFinal.size;var pathinfo=[];var end=endPlus(contoursFinal);var carpet=cd0.trace._carpetTrace;var basePathinfo=carpet?{xaxis:carpet.aaxis,yaxis:carpet.baxis,x:cd0.a,y:cd0.b}:{xaxis:plotinfo.xaxis,yaxis:plotinfo.yaxis,x:cd0.x,y:cd0.y};for(var ci=contoursFinal.start;ci<end;ci+=cs){pathinfo.push(Lib.extendFlat({level:ci,crossings:{},starts:[],edgepaths:[],paths:[],z:cd0.z,smoothing:cd0.trace.line.smoothing},basePathinfo));if(pathinfo.length>1e3){Lib.warn("Too many contours, clipping at 1000",contours);break}}return pathinfo}},{"../../lib":803,"./constraint_mapping":1034,"./end_plus":1039}],1039:[function(_dereq_,module,exports){"use strict";module.exports=function endPlus(contours){return contours.end+contours.size/1e6}},{}],1040:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var constants=_dereq_("./constants");module.exports=function findAllPaths(pathinfo,xtol,ytol){var cnt,startLoc,i,pi,j;xtol=xtol||.01;ytol=ytol||.01;for(i=0;i<pathinfo.length;i++){pi=pathinfo[i];for(j=0;j<pi.starts.length;j++){startLoc=pi.starts[j];makePath(pi,startLoc,"edge",xtol,ytol)}cnt=0;while(Object.keys(pi.crossings).length&&cnt<1e4){cnt++;startLoc=Object.keys(pi.crossings)[0].split(",").map(Number);makePath(pi,startLoc,undefined,xtol,ytol)}if(cnt===1e4)Lib.log("Infinite loop in contour?")}};function equalPts(pt1,pt2,xtol,ytol){return Math.abs(pt1[0]-pt2[0])<xtol&&Math.abs(pt1[1]-pt2[1])<ytol}function ptDist(pt1,pt2){var dx=pt1[2]-pt2[2];var dy=pt1[3]-pt2[3];return Math.sqrt(dx*dx+dy*dy)}function makePath(pi,loc,edgeflag,xtol,ytol){var locStr=loc.join(",");var mi=pi.crossings[locStr];var marchStep=getStartStep(mi,edgeflag,loc);var pts=[getInterpPx(pi,loc,[-marchStep[0],-marchStep[1]])];var m=pi.z.length;var n=pi.z[0].length;var startLoc=loc.slice();var startStep=marchStep.slice();var cnt;for(cnt=0;cnt<1e4;cnt++){if(mi>20){mi=constants.CHOOSESADDLE[mi][(marchStep[0]||marchStep[1])<0?0:1];pi.crossings[locStr]=constants.SADDLEREMAINDER[mi]}else{delete pi.crossings[locStr]}marchStep=constants.NEWDELTA[mi];if(!marchStep){Lib.log("Found bad marching index:",mi,loc,pi.level);break}pts.push(getInterpPx(pi,loc,marchStep));loc[0]+=marchStep[0];loc[1]+=marchStep[1];locStr=loc.join(",");if(equalPts(pts[pts.length-1],pts[pts.length-2],xtol,ytol))pts.pop();var atEdge=marchStep[0]&&(loc[0]<0||loc[0]>n-2)||marchStep[1]&&(loc[1]<0||loc[1]>m-2);var closedLoop=loc[0]===startLoc[0]&&loc[1]===startLoc[1]&&marchStep[0]===startStep[0]&&marchStep[1]===startStep[1];if(closedLoop||edgeflag&&atEdge)break;mi=pi.crossings[locStr]}if(cnt===1e4){Lib.log("Infinite loop in contour?")}var closedpath=equalPts(pts[0],pts[pts.length-1],xtol,ytol);var totaldist=0;var distThresholdFactor=.2*pi.smoothing;var alldists=[];var cropstart=0;var distgroup,cnt2,cnt3,newpt,ptcnt,ptavg,thisdist,i,j,edgepathi,edgepathj;for(cnt=1;cnt<pts.length;cnt++){thisdist=ptDist(pts[cnt],pts[cnt-1]);totaldist+=thisdist;alldists.push(thisdist)}var distThreshold=totaldist/alldists.length*distThresholdFactor;function getpt(i){return pts[i%pts.length]}for(cnt=pts.length-2;cnt>=cropstart;cnt--){distgroup=alldists[cnt];if(distgroup<distThreshold){cnt3=0;for(cnt2=cnt-1;cnt2>=cropstart;cnt2--){if(distgroup+alldists[cnt2]<distThreshold){distgroup+=alldists[cnt2]}else break}if(closedpath&&cnt===pts.length-2){for(cnt3=0;cnt3<cnt2;cnt3++){if(distgroup+alldists[cnt3]<distThreshold){distgroup+=alldists[cnt3]}else break}}ptcnt=cnt-cnt2+cnt3+1;ptavg=Math.floor((cnt+cnt2+cnt3+2)/2);if(!closedpath&&cnt===pts.length-2)newpt=pts[pts.length-1];else if(!closedpath&&cnt2===-1)newpt=pts[0];else if(ptcnt%2)newpt=getpt(ptavg);else{newpt=[(getpt(ptavg)[0]+getpt(ptavg+1)[0])/2,(getpt(ptavg)[1]+getpt(ptavg+1)[1])/2]}pts.splice(cnt2+1,cnt-cnt2+1,newpt);cnt=cnt2+1;if(cnt3)cropstart=cnt3;if(closedpath){if(cnt===pts.length-2)pts[cnt3]=pts[pts.length-1];else if(cnt===0)pts[pts.length-1]=pts[0]}}}pts.splice(0,cropstart);for(cnt=0;cnt<pts.length;cnt++)pts[cnt].length=2;if(pts.length<2)return;else if(closedpath){pts.pop();pi.paths.push(pts)}else{if(!edgeflag){Lib.log("Unclosed interior contour?",pi.level,startLoc.join(","),pts.join("L"))}var merged=false;for(i=0;i<pi.edgepaths.length;i++){edgepathi=pi.edgepaths[i];if(!merged&&equalPts(edgepathi[0],pts[pts.length-1],xtol,ytol)){pts.pop();merged=true;var doublemerged=false;for(j=0;j<pi.edgepaths.length;j++){edgepathj=pi.edgepaths[j];if(equalPts(edgepathj[edgepathj.length-1],pts[0],xtol,ytol)){doublemerged=true;pts.shift();pi.edgepaths.splice(i,1);if(j===i){pi.paths.push(pts.concat(edgepathj))}else{if(j>i)j--;pi.edgepaths[j]=edgepathj.concat(pts,edgepathi)}break}}if(!doublemerged){pi.edgepaths[i]=pts.concat(edgepathi)}}}for(i=0;i<pi.edgepaths.length;i++){if(merged)break;edgepathi=pi.edgepaths[i];if(equalPts(edgepathi[edgepathi.length-1],pts[0],xtol,ytol)){pts.shift();pi.edgepaths[i]=edgepathi.concat(pts);merged=true}}if(!merged)pi.edgepaths.push(pts)}}function getStartStep(mi,edgeflag,loc){var dx=0;var dy=0;if(mi>20&&edgeflag){if(mi===208||mi===1114){dx=loc[0]===0?1:-1}else{dy=loc[1]===0?1:-1}}else if(constants.BOTTOMSTART.indexOf(mi)!==-1)dy=1;else if(constants.LEFTSTART.indexOf(mi)!==-1)dx=1;else if(constants.TOPSTART.indexOf(mi)!==-1)dy=-1;else dx=-1;return[dx,dy]}function getInterpPx(pi,loc,step){var locx=loc[0]+Math.max(step[0],0);var locy=loc[1]+Math.max(step[1],0);var zxy=pi.z[locy][locx];var xa=pi.xaxis;var ya=pi.yaxis;if(step[1]){var dx=(pi.level-zxy)/(pi.z[locy][locx+1]-zxy);return[xa.c2p((1-dx)*pi.x[locx]+dx*pi.x[locx+1],true),ya.c2p(pi.y[locy],true),locx+dx,locy]}else{var dy=(pi.level-zxy)/(pi.z[locy+1][locx]-zxy);return[xa.c2p(pi.x[locx],true),ya.c2p((1-dy)*pi.y[locy]+dy*pi.y[locy+1],true),locx,locy+dy]}}},{"../../lib":803,"./constants":1032}],1041:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../components/color");var heatmapHoverPoints=_dereq_("../heatmap/hover");module.exports=function hoverPoints(pointData,xval,yval,hovermode,opts){if(!opts)opts={};opts.isContour=true;var hoverData=heatmapHoverPoints(pointData,xval,yval,hovermode,opts);if(hoverData){hoverData.forEach((function(hoverPt){var trace=hoverPt.trace;if(trace.contours.type==="constraint"){if(trace.fillcolor&&Color.opacity(trace.fillcolor)){hoverPt.color=Color.addOpacity(trace.fillcolor,1)}else if(trace.contours.showlines&&Color.opacity(trace.line.color)){hoverPt.color=Color.addOpacity(trace.line.color,1)}}}))}return hoverData}},{"../../components/color":666,"../heatmap/hover":1092}],1042:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),plot:_dereq_("./plot").plot,style:_dereq_("./style"),colorbar:_dereq_("./colorbar"),hoverPoints:_dereq_("./hover"),moduleType:"trace",name:"contour",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}},{"../../plots/cartesian":868,"./attributes":1028,"./calc":1029,"./colorbar":1031,"./defaults":1037,"./hover":1041,"./plot":1046,"./style":1048}],1043:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function handleLabelDefaults(coerce,layout,lineColor,opts){if(!opts)opts={};var showLabels=coerce("contours.showlabels");if(showLabels){var globalFont=layout.font;Lib.coerceFont(coerce,"contours.labelfont",{family:globalFont.family,size:globalFont.size,color:lineColor});coerce("contours.labelformat")}if(opts.hasHover!==false)coerce("zhoverformat")}},{"../../lib":803}],1044:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Colorscale=_dereq_("../../components/colorscale");var endPlus=_dereq_("./end_plus");module.exports=function makeColorMap(trace){var contours=trace.contours;var start=contours.start;var end=endPlus(contours);var cs=contours.size||1;var nc=Math.floor((end-start)/cs)+1;var extra=contours.coloring==="lines"?0:1;var cOpts=Colorscale.extractOpts(trace);if(!isFinite(cs)){cs=1;nc=1}var scl=cOpts.reversescale?Colorscale.flipScale(cOpts.colorscale):cOpts.colorscale;var len=scl.length;var domain=new Array(len);var range=new Array(len);var si,i;if(contours.coloring==="heatmap"){var zmin0=cOpts.min;var zmax0=cOpts.max;for(i=0;i<len;i++){si=scl[i];domain[i]=si[0]*(zmax0-zmin0)+zmin0;range[i]=si[1]}var zRange=d3.extent([zmin0,zmax0,contours.start,contours.start+cs*(nc-1)]);var zmin=zRange[zmin0<zmax0?0:1];var zmax=zRange[zmin0<zmax0?1:0];if(zmin!==zmin0){domain.splice(0,0,zmin);range.splice(0,0,range[0])}if(zmax!==zmax0){domain.push(zmax);range.push(range[range.length-1])}}else{for(i=0;i<len;i++){si=scl[i];domain[i]=(si[0]*(nc+extra-1)-extra/2)*cs+start;range[i]=si[1]}}return Colorscale.makeColorScaleFunc({domain:domain,range:range},{noNumericCheck:true})}},{"../../components/colorscale":678,"./end_plus":1039,"@plotly/d3":58}],1045:[function(_dereq_,module,exports){"use strict";var constants=_dereq_("./constants");module.exports=function makeCrossings(pathinfo){var z=pathinfo[0].z;var m=z.length;var n=z[0].length;var twoWide=m===2||n===2;var xi;var yi;var startIndices;var ystartIndices;var label;var corners;var mi;var pi;var i;for(yi=0;yi<m-1;yi++){ystartIndices=[];if(yi===0)ystartIndices=ystartIndices.concat(constants.BOTTOMSTART);if(yi===m-2)ystartIndices=ystartIndices.concat(constants.TOPSTART);for(xi=0;xi<n-1;xi++){startIndices=ystartIndices.slice();if(xi===0)startIndices=startIndices.concat(constants.LEFTSTART);if(xi===n-2)startIndices=startIndices.concat(constants.RIGHTSTART);label=xi+","+yi;corners=[[z[yi][xi],z[yi][xi+1]],[z[yi+1][xi],z[yi+1][xi+1]]];for(i=0;i<pathinfo.length;i++){pi=pathinfo[i];mi=getMarchingIndex(pi.level,corners);if(!mi)continue;pi.crossings[label]=mi;if(startIndices.indexOf(mi)!==-1){pi.starts.push([xi,yi]);if(twoWide&&startIndices.indexOf(mi,startIndices.indexOf(mi)+1)!==-1){pi.starts.push([xi,yi])}}}}}};function getMarchingIndex(val,corners){var mi=(corners[0][0]>val?0:1)+(corners[0][1]>val?0:2)+(corners[1][1]>val?0:4)+(corners[1][0]>val?0:8);if(mi===5||mi===10){var avg=(corners[0][0]+corners[0][1]+corners[1][0]+corners[1][1])/4;if(val>avg)return mi===5?713:1114;return mi===5?104:208}return mi===15?0:mi}},{"./constants":1032}],1046:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var Colorscale=_dereq_("../../components/colorscale");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Axes=_dereq_("../../plots/cartesian/axes");var setConvert=_dereq_("../../plots/cartesian/set_convert");var heatmapPlot=_dereq_("../heatmap/plot");var makeCrossings=_dereq_("./make_crossings");var findAllPaths=_dereq_("./find_all_paths");var emptyPathinfo=_dereq_("./empty_pathinfo");var convertToConstraints=_dereq_("./convert_to_constraints");var closeBoundaries=_dereq_("./close_boundaries");var constants=_dereq_("./constants");var costConstants=constants.LABELOPTIMIZER;exports.plot=function plot(gd,plotinfo,cdcontours,contourLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;Lib.makeTraceGroups(contourLayer,cdcontours,"contour").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var trace=cd0.trace;var x=cd0.x;var y=cd0.y;var contours=trace.contours;var pathinfo=emptyPathinfo(contours,plotinfo,cd0);var heatmapColoringLayer=Lib.ensureSingle(plotGroup,"g","heatmapcoloring");var cdheatmaps=[];if(contours.coloring==="heatmap"){cdheatmaps=[cd]}heatmapPlot(gd,plotinfo,cdheatmaps,heatmapColoringLayer);makeCrossings(pathinfo);findAllPaths(pathinfo);var leftedge=xa.c2p(x[0],true);var rightedge=xa.c2p(x[x.length-1],true);var bottomedge=ya.c2p(y[0],true);var topedge=ya.c2p(y[y.length-1],true);var perimeter=[[leftedge,topedge],[rightedge,topedge],[rightedge,bottomedge],[leftedge,bottomedge]];var fillPathinfo=pathinfo;if(contours.type==="constraint"){fillPathinfo=convertToConstraints(pathinfo,contours._operation)}makeBackground(plotGroup,perimeter,contours);makeFills(plotGroup,fillPathinfo,perimeter,contours);makeLinesAndLabels(plotGroup,pathinfo,gd,cd0,contours);clipGaps(plotGroup,plotinfo,gd,cd0,perimeter)}))};function makeBackground(plotgroup,perimeter,contours){var bggroup=Lib.ensureSingle(plotgroup,"g","contourbg");var bgfill=bggroup.selectAll("path").data(contours.coloring==="fill"?[0]:[]);bgfill.enter().append("path");bgfill.exit().remove();bgfill.attr("d","M"+perimeter.join("L")+"Z").style("stroke","none")}function makeFills(plotgroup,pathinfo,perimeter,contours){var hasFills=contours.coloring==="fill"||contours.type==="constraint"&&contours._operation!=="=";var boundaryPath="M"+perimeter.join("L")+"Z";if(hasFills){closeBoundaries(pathinfo,contours)}var fillgroup=Lib.ensureSingle(plotgroup,"g","contourfill");var fillitems=fillgroup.selectAll("path").data(hasFills?pathinfo:[]);fillitems.enter().append("path");fillitems.exit().remove();fillitems.each((function(pi){var fullpath=(pi.prefixBoundary?boundaryPath:"")+joinAllPaths(pi,perimeter);if(!fullpath){d3.select(this).remove()}else{d3.select(this).attr("d",fullpath).style("stroke","none")}}))}function joinAllPaths(pi,perimeter){var fullpath="";var i=0;var startsleft=pi.edgepaths.map((function(v,i){return i}));var newloop=true;var endpt;var newendpt;var cnt;var nexti;var possiblei;var addpath;function istop(pt){return Math.abs(pt[1]-perimeter[0][1])<.01}function isbottom(pt){return Math.abs(pt[1]-perimeter[2][1])<.01}function isleft(pt){return Math.abs(pt[0]-perimeter[0][0])<.01}function isright(pt){return Math.abs(pt[0]-perimeter[2][0])<.01}while(startsleft.length){addpath=Drawing.smoothopen(pi.edgepaths[i],pi.smoothing);fullpath+=newloop?addpath:addpath.replace(/^M/,"L");startsleft.splice(startsleft.indexOf(i),1);endpt=pi.edgepaths[i][pi.edgepaths[i].length-1];nexti=-1;for(cnt=0;cnt<4;cnt++){if(!endpt){Lib.log("Missing end?",i,pi);break}if(istop(endpt)&&!isright(endpt))newendpt=perimeter[1];else if(isleft(endpt))newendpt=perimeter[0];else if(isbottom(endpt))newendpt=perimeter[3];else if(isright(endpt))newendpt=perimeter[2];for(possiblei=0;possiblei<pi.edgepaths.length;possiblei++){var ptNew=pi.edgepaths[possiblei][0];if(Math.abs(endpt[0]-newendpt[0])<.01){if(Math.abs(endpt[0]-ptNew[0])<.01&&(ptNew[1]-endpt[1])*(newendpt[1]-ptNew[1])>=0){newendpt=ptNew;nexti=possiblei}}else if(Math.abs(endpt[1]-newendpt[1])<.01){if(Math.abs(endpt[1]-ptNew[1])<.01&&(ptNew[0]-endpt[0])*(newendpt[0]-ptNew[0])>=0){newendpt=ptNew;nexti=possiblei}}else{Lib.log("endpt to newendpt is not vert. or horz.",endpt,newendpt,ptNew)}}endpt=newendpt;if(nexti>=0)break;fullpath+="L"+newendpt}if(nexti===pi.edgepaths.length){Lib.log("unclosed perimeter path");break}i=nexti;newloop=startsleft.indexOf(i)===-1;if(newloop){i=startsleft[0];fullpath+="Z"}}for(i=0;i<pi.paths.length;i++){fullpath+=Drawing.smoothclosed(pi.paths[i],pi.smoothing)}return fullpath}function makeLinesAndLabels(plotgroup,pathinfo,gd,cd0,contours){var lineContainer=Lib.ensureSingle(plotgroup,"g","contourlines");var showLines=contours.showlines!==false;var showLabels=contours.showlabels;var clipLinesForLabels=showLines&&showLabels;var linegroup=exports.createLines(lineContainer,showLines||showLabels,pathinfo);var lineClip=exports.createLineClip(lineContainer,clipLinesForLabels,gd,cd0.trace.uid);var labelGroup=plotgroup.selectAll("g.contourlabels").data(showLabels?[0]:[]);labelGroup.exit().remove();labelGroup.enter().append("g").classed("contourlabels",true);if(showLabels){var labelClipPathData=[];var labelData=[];Lib.clearLocationCache();var contourFormat=exports.labelFormatter(gd,cd0);var dummyText=Drawing.tester.append("text").attr("data-notex",1).call(Drawing.font,contours.labelfont);var xa=pathinfo[0].xaxis;var ya=pathinfo[0].yaxis;var xLen=xa._length;var yLen=ya._length;var xRng=xa.range;var yRng=ya.range;var xMin=Lib.aggNums(Math.min,null,cd0.x);var xMax=Lib.aggNums(Math.max,null,cd0.x);var yMin=Lib.aggNums(Math.min,null,cd0.y);var yMax=Lib.aggNums(Math.max,null,cd0.y);var x0=Math.max(xa.c2p(xMin,true),0);var x1=Math.min(xa.c2p(xMax,true),xLen);var y0=Math.max(ya.c2p(yMax,true),0);var y1=Math.min(ya.c2p(yMin,true),yLen);var bounds={};if(xRng[0]<xRng[1]){bounds.left=x0;bounds.right=x1}else{bounds.left=x1;bounds.right=x0}if(yRng[0]<yRng[1]){bounds.top=y0;bounds.bottom=y1}else{bounds.top=y1;bounds.bottom=y0}bounds.middle=(bounds.top+bounds.bottom)/2;bounds.center=(bounds.left+bounds.right)/2;labelClipPathData.push([[bounds.left,bounds.top],[bounds.right,bounds.top],[bounds.right,bounds.bottom],[bounds.left,bounds.bottom]]);var plotDiagonal=Math.sqrt(xLen*xLen+yLen*yLen);var normLength=constants.LABELDISTANCE*plotDiagonal/Math.max(1,pathinfo.length/constants.LABELINCREASE);linegroup.each((function(d){var textOpts=exports.calcTextOpts(d.level,contourFormat,dummyText,gd);d3.select(this).selectAll("path").each((function(){var path=this;var pathBounds=Lib.getVisibleSegment(path,bounds,textOpts.height/2);if(!pathBounds)return;if(pathBounds.len<(textOpts.width+textOpts.height)*constants.LABELMIN)return;var maxLabels=Math.min(Math.ceil(pathBounds.len/normLength),constants.LABELMAX);for(var i=0;i<maxLabels;i++){var loc=exports.findBestTextLocation(path,pathBounds,textOpts,labelData,bounds);if(!loc)break;exports.addLabelData(loc,textOpts,labelData,labelClipPathData)}}))}));dummyText.remove();exports.drawLabels(labelGroup,labelData,gd,lineClip,clipLinesForLabels?labelClipPathData:null)}if(showLabels&&!showLines)linegroup.remove()}exports.createLines=function(lineContainer,makeLines,pathinfo){var smoothing=pathinfo[0].smoothing;var linegroup=lineContainer.selectAll("g.contourlevel").data(makeLines?pathinfo:[]);linegroup.exit().remove();linegroup.enter().append("g").classed("contourlevel",true);if(makeLines){var opencontourlines=linegroup.selectAll("path.openline").data((function(d){return d.pedgepaths||d.edgepaths}));opencontourlines.exit().remove();opencontourlines.enter().append("path").classed("openline",true);opencontourlines.attr("d",(function(d){return Drawing.smoothopen(d,smoothing)})).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke");var closedcontourlines=linegroup.selectAll("path.closedline").data((function(d){return d.ppaths||d.paths}));closedcontourlines.exit().remove();closedcontourlines.enter().append("path").classed("closedline",true);closedcontourlines.attr("d",(function(d){return Drawing.smoothclosed(d,smoothing)})).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke")}return linegroup};exports.createLineClip=function(lineContainer,clipLinesForLabels,gd,uid){var clips=gd._fullLayout._clips;var clipId=clipLinesForLabels?"clipline"+uid:null;var lineClip=clips.selectAll("#"+clipId).data(clipLinesForLabels?[0]:[]);lineClip.exit().remove();lineClip.enter().append("clipPath").classed("contourlineclip",true).attr("id",clipId);Drawing.setClipUrl(lineContainer,clipId,gd);return lineClip};exports.labelFormatter=function(gd,cd0){var fullLayout=gd._fullLayout;var trace=cd0.trace;var contours=trace.contours;var formatAxis={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"};if(contours.labelformat){formatAxis.tickformat=contours.labelformat;setConvert(formatAxis,fullLayout)}else{var cOpts=Colorscale.extractOpts(trace);if(cOpts&&cOpts.colorbar&&cOpts.colorbar._axis){formatAxis=cOpts.colorbar._axis}else{if(contours.type==="constraint"){var value=contours.value;if(Array.isArray(value)){formatAxis.range=[value[0],value[value.length-1]]}else formatAxis.range=[value,value]}else{formatAxis.range=[contours.start,contours.end];formatAxis.nticks=(contours.end-contours.start)/contours.size}if(formatAxis.range[0]===formatAxis.range[1]){formatAxis.range[1]+=formatAxis.range[0]||1}if(!formatAxis.nticks)formatAxis.nticks=1e3;setConvert(formatAxis,fullLayout);Axes.prepTicks(formatAxis);formatAxis._tmin=null;formatAxis._tmax=null}}return function(v){return Axes.tickText(formatAxis,v).text}};exports.calcTextOpts=function(level,contourFormat,dummyText,gd){var text=contourFormat(level);dummyText.text(text).call(svgTextUtils.convertToTspans,gd);var el=dummyText.node();var bBox=Drawing.bBox(el,true);return{text:text,width:bBox.width,height:bBox.height,fontSize:+el.style["font-size"].replace("px",""),level:level,dy:(bBox.top+bBox.bottom)/2}};exports.findBestTextLocation=function(path,pathBounds,textOpts,labelData,plotBounds){var textWidth=textOpts.width;var p0,dp,pMax,pMin,loc;if(pathBounds.isClosed){dp=pathBounds.len/costConstants.INITIALSEARCHPOINTS;p0=pathBounds.min+dp/2;pMax=pathBounds.max}else{dp=(pathBounds.len-textWidth)/(costConstants.INITIALSEARCHPOINTS+1);p0=pathBounds.min+dp+textWidth/2;pMax=pathBounds.max-(dp+textWidth)/2}var cost=Infinity;for(var j=0;j<costConstants.ITERATIONS;j++){for(var p=p0;p<pMax;p+=dp){var newLocation=Lib.getTextLocation(path,pathBounds.total,p,textWidth);var newCost=locationCost(newLocation,textOpts,labelData,plotBounds);if(newCost<cost){cost=newCost;loc=newLocation;pMin=p}}if(cost>costConstants.MAXCOST*2)break;if(j)dp/=2;p0=pMin-dp/2;pMax=p0+dp*1.5}if(cost<=costConstants.MAXCOST)return loc};function locationCost(loc,textOpts,labelData,bounds){var halfWidth=textOpts.width/2;var halfHeight=textOpts.height/2;var x=loc.x;var y=loc.y;var theta=loc.theta;var dx=Math.cos(theta)*halfWidth;var dy=Math.sin(theta)*halfWidth;var normX=(x>bounds.center?bounds.right-x:x-bounds.left)/(dx+Math.abs(Math.sin(theta)*halfHeight));var normY=(y>bounds.middle?bounds.bottom-y:y-bounds.top)/(Math.abs(dy)+Math.cos(theta)*halfHeight);if(normX<1||normY<1)return Infinity;var cost=costConstants.EDGECOST*(1/(normX-1)+1/(normY-1));cost+=costConstants.ANGLECOST*theta*theta;var x1=x-dx;var y1=y-dy;var x2=x+dx;var y2=y+dy;for(var i=0;i<labelData.length;i++){var labeli=labelData[i];var dxd=Math.cos(labeli.theta)*labeli.width/2;var dyd=Math.sin(labeli.theta)*labeli.width/2;var dist=Lib.segmentDistance(x1,y1,x2,y2,labeli.x-dxd,labeli.y-dyd,labeli.x+dxd,labeli.y+dyd)*2/(textOpts.height+labeli.height);var sameLevel=labeli.level===textOpts.level;var distOffset=sameLevel?costConstants.SAMELEVELDISTANCE:1;if(dist<=distOffset)return Infinity;var distFactor=costConstants.NEIGHBORCOST*(sameLevel?costConstants.SAMELEVELFACTOR:1);cost+=distFactor/(dist-distOffset)}return cost}exports.addLabelData=function(loc,textOpts,labelData,labelClipPathData){var fontSize=textOpts.fontSize;var w=textOpts.width+fontSize/3;var h=Math.max(0,textOpts.height-fontSize/3);var x=loc.x;var y=loc.y;var theta=loc.theta;var sin=Math.sin(theta);var cos=Math.cos(theta);var rotateXY=function(dx,dy){return[x+dx*cos-dy*sin,y+dx*sin+dy*cos]};var bBoxPts=[rotateXY(-w/2,-h/2),rotateXY(-w/2,h/2),rotateXY(w/2,h/2),rotateXY(w/2,-h/2)];labelData.push({text:textOpts.text,x:x,y:y,dy:textOpts.dy,theta:theta,level:textOpts.level,width:w,height:h});labelClipPathData.push(bBoxPts)};exports.drawLabels=function(labelGroup,labelData,gd,lineClip,labelClipPathData){var labels=labelGroup.selectAll("text").data(labelData,(function(d){return d.text+","+d.x+","+d.y+","+d.theta}));labels.exit().remove();labels.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(d){var x=d.x+Math.sin(d.theta)*d.dy;var y=d.y-Math.cos(d.theta)*d.dy;d3.select(this).text(d.text).attr({x:x,y:y,transform:"rotate("+180*d.theta/Math.PI+" "+x+" "+y+")"}).call(svgTextUtils.convertToTspans,gd)}));if(labelClipPathData){var clipPath="";for(var i=0;i<labelClipPathData.length;i++){clipPath+="M"+labelClipPathData[i].join("L")+"Z"}var lineClipPath=Lib.ensureSingle(lineClip,"path","");lineClipPath.attr("d",clipPath)}};function clipGaps(plotGroup,plotinfo,gd,cd0,perimeter){var trace=cd0.trace;var clips=gd._fullLayout._clips;var clipId="clip"+trace.uid;var clipPath=clips.selectAll("#"+clipId).data(trace.connectgaps?[]:[0]);clipPath.enter().append("clipPath").classed("contourclip",true).attr("id",clipId);clipPath.exit().remove();if(trace.connectgaps===false){var clipPathInfo={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:plotinfo.xaxis,yaxis:plotinfo.yaxis,x:cd0.x,y:cd0.y,z:makeClipMask(cd0),smoothing:0};makeCrossings([clipPathInfo]);findAllPaths([clipPathInfo]);closeBoundaries([clipPathInfo],{type:"levels"});var path=Lib.ensureSingle(clipPath,"path","");path.attr("d",(clipPathInfo.prefixBoundary?"M"+perimeter.join("L")+"Z":"")+joinAllPaths(clipPathInfo,perimeter))}else clipId=null;Drawing.setClipUrl(plotGroup,clipId,gd)}function makeClipMask(cd0){var empties=cd0.trace._emptypoints;var z=[];var m=cd0.z.length;var n=cd0.z[0].length;var i;var row=[];var emptyPoint;for(i=0;i<n;i++)row.push(1);for(i=0;i<m;i++)z.push(row.slice());for(i=0;i<empties.length;i++){emptyPoint=empties[i];z[emptyPoint[0]][emptyPoint[1]]=0}cd0.zmask=z;return z}},{"../../components/colorscale":678,"../../components/drawing":688,"../../lib":803,"../../lib/svg_text_utils":829,"../../plots/cartesian/axes":854,"../../plots/cartesian/set_convert":875,"../heatmap/plot":1096,"./close_boundaries":1030,"./constants":1032,"./convert_to_constraints":1036,"./empty_pathinfo":1038,"./find_all_paths":1040,"./make_crossings":1045,"@plotly/d3":58}],1047:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var Lib=_dereq_("../../lib");module.exports=function setContours(trace,vals){var contours=trace.contours;if(trace.autocontour){var zmin=trace.zmin;var zmax=trace.zmax;if(trace.zauto||zmin===undefined){zmin=Lib.aggNums(Math.min,null,vals)}if(trace.zauto||zmax===undefined){zmax=Lib.aggNums(Math.max,null,vals)}var dummyAx=autoContours(zmin,zmax,trace.ncontours);contours.size=dummyAx.dtick;contours.start=Axes.tickFirst(dummyAx);dummyAx.range.reverse();contours.end=Axes.tickFirst(dummyAx);if(contours.start===zmin)contours.start+=contours.size;if(contours.end===zmax)contours.end-=contours.size;if(contours.start>contours.end){contours.start=contours.end=(contours.start+contours.end)/2}if(!trace._input.contours)trace._input.contours={};Lib.extendFlat(trace._input.contours,{start:contours.start,end:contours.end,size:contours.size});trace._input.autocontour=true}else if(contours.type!=="constraint"){var start=contours.start;var end=contours.end;var inputContours=trace._input.contours;if(start>end){contours.start=inputContours.start=end;end=contours.end=inputContours.end=start;start=contours.start}if(!(contours.size>0)){var sizeOut;if(start===end)sizeOut=1;else sizeOut=autoContours(start,end,trace.ncontours).dtick;inputContours.size=contours.size=sizeOut}}};function autoContours(start,end,ncontours){var dummyAx={type:"linear",range:[start,end]};Axes.autoTicks(dummyAx,(end-start)/(ncontours||15));return dummyAx}},{"../../lib":803,"../../plots/cartesian/axes":854}],1048:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var heatmapStyle=_dereq_("../heatmap/style");var makeColorMap=_dereq_("./make_color_map");module.exports=function style(gd){var contours=d3.select(gd).selectAll("g.contour");contours.style("opacity",(function(d){return d[0].trace.opacity}));contours.each((function(d){var c=d3.select(this);var trace=d[0].trace;var contours=trace.contours;var line=trace.line;var cs=contours.size||1;var start=contours.start;var isConstraintType=contours.type==="constraint";var colorLines=!isConstraintType&&contours.coloring==="lines";var colorFills=!isConstraintType&&contours.coloring==="fill";var colorMap=colorLines||colorFills?makeColorMap(trace):null;c.selectAll("g.contourlevel").each((function(d){d3.select(this).selectAll("path").call(Drawing.lineGroupStyle,line.width,colorLines?colorMap(d.level):line.color,line.dash)}));var labelFont=contours.labelfont;c.selectAll("g.contourlabels text").each((function(d){Drawing.font(d3.select(this),{family:labelFont.family,size:labelFont.size,color:labelFont.color||(colorLines?colorMap(d.level):line.color)})}));if(isConstraintType){c.selectAll("g.contourfill path").style("fill",trace.fillcolor)}else if(colorFills){var firstFill;c.selectAll("g.contourfill path").style("fill",(function(d){if(firstFill===undefined)firstFill=d.level;return colorMap(d.level+.5*cs)}));if(firstFill===undefined)firstFill=start;c.selectAll("g.contourbg path").style("fill",colorMap(firstFill-.5*cs))}}));heatmapStyle(gd)}},{"../../components/drawing":688,"../heatmap/style":1097,"./make_color_map":1044,"@plotly/d3":58}],1049:[function(_dereq_,module,exports){"use strict";var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var handleLabelDefaults=_dereq_("./label_defaults");module.exports=function handleStyleDefaults(traceIn,traceOut,coerce,layout,opts){var coloring=coerce("contours.coloring");var showLines;var lineColor="";if(coloring==="fill")showLines=coerce("contours.showlines");if(showLines!==false){if(coloring!=="lines")lineColor=coerce("line.color","#000");coerce("line.width",.5);coerce("line.dash")}if(coloring!=="none"){if(traceIn.showlegend!==true)traceOut.showlegend=false;traceOut._dfltShowLegend=false;colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"z"})}coerce("line.smoothing");handleLabelDefaults(coerce,layout,lineColor,opts)}},{"../../components/colorscale/defaults":676,"./label_defaults":1043}],1050:[function(_dereq_,module,exports){"use strict";var heatmapAttrs=_dereq_("../heatmap/attributes");var contourAttrs=_dereq_("../contour/attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var contourContourAttrs=contourAttrs.contours;module.exports=extendFlat({carpet:{valType:"string",editType:"calc"},z:heatmapAttrs.z,a:heatmapAttrs.x,a0:heatmapAttrs.x0,da:heatmapAttrs.dx,b:heatmapAttrs.y,b0:heatmapAttrs.y0,db:heatmapAttrs.dy,text:heatmapAttrs.text,hovertext:heatmapAttrs.hovertext,transpose:heatmapAttrs.transpose,atype:heatmapAttrs.xtype,btype:heatmapAttrs.ytype,fillcolor:contourAttrs.fillcolor,autocontour:contourAttrs.autocontour,ncontours:contourAttrs.ncontours,contours:{type:contourContourAttrs.type,start:contourContourAttrs.start,end:contourContourAttrs.end,size:contourContourAttrs.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:contourContourAttrs.showlines,showlabels:contourContourAttrs.showlabels,labelfont:contourContourAttrs.labelfont,labelformat:contourContourAttrs.labelformat,operation:contourContourAttrs.operation,value:contourContourAttrs.value,editType:"calc",impliedEdits:{autocontour:false}},line:{color:contourAttrs.line.color,width:contourAttrs.line.width,dash:contourAttrs.line.dash,smoothing:contourAttrs.line.smoothing,editType:"plot"},transforms:undefined},colorScaleAttrs("",{cLetter:"z",autoColorDflt:false}))},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../contour/attributes":1028,"../heatmap/attributes":1085}],1051:[function(_dereq_,module,exports){"use strict";var colorscaleCalc=_dereq_("../../components/colorscale/calc");var Lib=_dereq_("../../lib");var convertColumnData=_dereq_("../heatmap/convert_column_xyz");var clean2dArray=_dereq_("../heatmap/clean_2d_array");var interp2d=_dereq_("../heatmap/interp2d");var findEmpties=_dereq_("../heatmap/find_empties");var makeBoundArray=_dereq_("../heatmap/make_bound_array");var supplyDefaults=_dereq_("./defaults");var lookupCarpet=_dereq_("../carpet/lookup_carpetid");var setContours=_dereq_("../contour/set_contours");module.exports=function calc(gd,trace){var carpet=trace._carpetTrace=lookupCarpet(gd,trace);if(!carpet||!carpet.visible||carpet.visible==="legendonly")return;if(!trace.a||!trace.b){var carpetdata=gd.data[carpet.index];var tracedata=gd.data[trace.index];if(!tracedata.a)tracedata.a=carpetdata.a;if(!tracedata.b)tracedata.b=carpetdata.b;supplyDefaults(tracedata,trace,trace._defaultColor,gd._fullLayout)}var cd=heatmappishCalc(gd,trace);setContours(trace,trace._z);return cd};function heatmappishCalc(gd,trace){var carpet=trace._carpetTrace;var aax=carpet.aaxis;var bax=carpet.baxis;var a,a0,da,b,b0,db,z;aax._minDtick=0;bax._minDtick=0;if(Lib.isArray1D(trace.z))convertColumnData(trace,aax,bax,"a","b",["z"]);a=trace._a=trace._a||trace.a;b=trace._b=trace._b||trace.b;a=a?aax.makeCalcdata(trace,"_a"):[];b=b?bax.makeCalcdata(trace,"_b"):[];a0=trace.a0||0;da=trace.da||1;b0=trace.b0||0;db=trace.db||1;z=trace._z=clean2dArray(trace._z||trace.z,trace.transpose);trace._emptypoints=findEmpties(z);interp2d(z,trace._emptypoints);var xlen=Lib.maxRowLength(z);var xIn=trace.xtype==="scaled"?"":a;var xArray=makeBoundArray(trace,xIn,a0,da,xlen,aax);var yIn=trace.ytype==="scaled"?"":b;var yArray=makeBoundArray(trace,yIn,b0,db,z.length,bax);var cd0={a:xArray,b:yArray,z:z};if(trace.contours.type==="levels"&&trace.contours.coloring!=="none"){colorscaleCalc(gd,trace,{vals:z,containerStr:"",cLetter:"z"})}return[cd0]}},{"../../components/colorscale/calc":674,"../../lib":803,"../carpet/lookup_carpetid":1001,"../contour/set_contours":1047,"../heatmap/clean_2d_array":1087,"../heatmap/convert_column_xyz":1089,"../heatmap/find_empties":1091,"../heatmap/interp2d":1094,"../heatmap/make_bound_array":1095,"./defaults":1052}],1052:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleXYZDefaults=_dereq_("../heatmap/xyz_defaults");var attributes=_dereq_("./attributes");var handleConstraintDefaults=_dereq_("../contour/constraint_defaults");var handleContoursDefaults=_dereq_("../contour/contours_defaults");var handleStyleDefaults=_dereq_("../contour/style_defaults");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}function coerce2(attr){return Lib.coerce2(traceIn,traceOut,attributes,attr)}coerce("carpet");if(traceIn.a&&traceIn.b){var len=handleXYZDefaults(traceIn,traceOut,coerce,layout,"a","b");if(!len){traceOut.visible=false;return}coerce("text");var isConstraint=coerce("contours.type")==="constraint";if(isConstraint){handleConstraintDefaults(traceIn,traceOut,coerce,layout,defaultColor,{hasHover:false})}else{handleContoursDefaults(traceIn,traceOut,coerce,coerce2);handleStyleDefaults(traceIn,traceOut,coerce,layout,{hasHover:false})}}else{traceOut._defaultColor=defaultColor;traceOut._length=null}}},{"../../lib":803,"../contour/constraint_defaults":1033,"../contour/contours_defaults":1035,"../contour/style_defaults":1049,"../heatmap/xyz_defaults":1099,"./attributes":1050}],1053:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../contour/colorbar"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),style:_dereq_("../contour/style"),moduleType:"trace",name:"contourcarpet",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":868,"../contour/colorbar":1031,"../contour/style":1048,"./attributes":1050,"./calc":1051,"./defaults":1052,"./plot":1054}],1054:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var map1dArray=_dereq_("../carpet/map_1d_array");var makepath=_dereq_("../carpet/makepath");var Drawing=_dereq_("../../components/drawing");var Lib=_dereq_("../../lib");var makeCrossings=_dereq_("../contour/make_crossings");var findAllPaths=_dereq_("../contour/find_all_paths");var contourPlot=_dereq_("../contour/plot");var constants=_dereq_("../contour/constants");var convertToConstraints=_dereq_("../contour/convert_to_constraints");var emptyPathinfo=_dereq_("../contour/empty_pathinfo");var closeBoundaries=_dereq_("../contour/close_boundaries");var lookupCarpet=_dereq_("../carpet/lookup_carpetid");var axisAlignedLine=_dereq_("../carpet/axis_aligned_line");module.exports=function plot(gd,plotinfo,cdcontours,contourcarpetLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;Lib.makeTraceGroups(contourcarpetLayer,cdcontours,"contour").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var trace=cd0.trace;var carpet=trace._carpetTrace=lookupCarpet(gd,trace);var carpetcd=gd.calcdata[carpet.index][0];if(!carpet.visible||carpet.visible==="legendonly")return;var a=cd0.a;var b=cd0.b;var contours=trace.contours;var pathinfo=emptyPathinfo(contours,plotinfo,cd0);var isConstraint=contours.type==="constraint";var operation=contours._operation;var coloring=isConstraint?operation==="="?"lines":"fill":contours.coloring;function ab2p(ab){var pt=carpet.ab2xy(ab[0],ab[1],true);return[xa.c2p(pt[0]),ya.c2p(pt[1])]}var perimeter=[[a[0],b[b.length-1]],[a[a.length-1],b[b.length-1]],[a[a.length-1],b[0]],[a[0],b[0]]];makeCrossings(pathinfo);var atol=(a[a.length-1]-a[0])*1e-8;var btol=(b[b.length-1]-b[0])*1e-8;findAllPaths(pathinfo,atol,btol);var fillPathinfo=pathinfo;if(contours.type==="constraint"){fillPathinfo=convertToConstraints(pathinfo,operation)}mapPathinfo(pathinfo,ab2p);var seg,xp,yp,i;var segs=[];for(i=carpetcd.clipsegments.length-1;i>=0;i--){seg=carpetcd.clipsegments[i];xp=map1dArray([],seg.x,xa.c2p);yp=map1dArray([],seg.y,ya.c2p);xp.reverse();yp.reverse();segs.push(makepath(xp,yp,seg.bicubic))}var boundaryPath="M"+segs.join("L")+"Z";makeBackground(plotGroup,carpetcd.clipsegments,xa,ya,isConstraint,coloring);makeFills(trace,plotGroup,xa,ya,fillPathinfo,perimeter,ab2p,carpet,carpetcd,coloring,boundaryPath);makeLinesAndLabels(plotGroup,pathinfo,gd,cd0,contours,plotinfo,carpet);Drawing.setClipUrl(plotGroup,carpet._clipPathId,gd)}))};function mapPathinfo(pathinfo,map){var i,j,k,pi,pedgepaths,ppaths,pedgepath,ppath,path;for(i=0;i<pathinfo.length;i++){pi=pathinfo[i];pedgepaths=pi.pedgepaths=[];ppaths=pi.ppaths=[];for(j=0;j<pi.edgepaths.length;j++){path=pi.edgepaths[j];pedgepath=[];for(k=0;k<path.length;k++){pedgepath[k]=map(path[k])}pedgepaths.push(pedgepath)}for(j=0;j<pi.paths.length;j++){path=pi.paths[j];ppath=[];for(k=0;k<path.length;k++){ppath[k]=map(path[k])}ppaths.push(ppath)}}}function makeLinesAndLabels(plotgroup,pathinfo,gd,cd0,contours,plotinfo,carpet){var lineContainer=Lib.ensureSingle(plotgroup,"g","contourlines");var showLines=contours.showlines!==false;var showLabels=contours.showlabels;var clipLinesForLabels=showLines&&showLabels;var linegroup=contourPlot.createLines(lineContainer,showLines||showLabels,pathinfo);var lineClip=contourPlot.createLineClip(lineContainer,clipLinesForLabels,gd,cd0.trace.uid);var labelGroup=plotgroup.selectAll("g.contourlabels").data(showLabels?[0]:[]);labelGroup.exit().remove();labelGroup.enter().append("g").classed("contourlabels",true);if(showLabels){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var xLen=xa._length;var yLen=ya._length;var labelClipPathData=[[[0,0],[xLen,0],[xLen,yLen],[0,yLen]]];var labelData=[];Lib.clearLocationCache();var contourFormat=contourPlot.labelFormatter(gd,cd0);var dummyText=Drawing.tester.append("text").attr("data-notex",1).call(Drawing.font,contours.labelfont);var bounds={left:0,right:xLen,center:xLen/2,top:0,bottom:yLen,middle:yLen/2};var plotDiagonal=Math.sqrt(xLen*xLen+yLen*yLen);var normLength=constants.LABELDISTANCE*plotDiagonal/Math.max(1,pathinfo.length/constants.LABELINCREASE);linegroup.each((function(d){var textOpts=contourPlot.calcTextOpts(d.level,contourFormat,dummyText,gd);d3.select(this).selectAll("path").each((function(pathData){var path=this;var pathBounds=Lib.getVisibleSegment(path,bounds,textOpts.height/2);if(!pathBounds)return;constrainToCarpet(path,pathData,d,pathBounds,carpet,textOpts.height);if(pathBounds.len<(textOpts.width+textOpts.height)*constants.LABELMIN)return;var maxLabels=Math.min(Math.ceil(pathBounds.len/normLength),constants.LABELMAX);for(var i=0;i<maxLabels;i++){var loc=contourPlot.findBestTextLocation(path,pathBounds,textOpts,labelData,bounds);if(!loc)break;contourPlot.addLabelData(loc,textOpts,labelData,labelClipPathData)}}))}));dummyText.remove();contourPlot.drawLabels(labelGroup,labelData,gd,lineClip,clipLinesForLabels?labelClipPathData:null)}if(showLabels&&!showLines)linegroup.remove()}function constrainToCarpet(path,pathData,levelData,pathBounds,carpet,textHeight){var pathABData;for(var i=0;i<levelData.pedgepaths.length;i++){if(pathData===levelData.pedgepaths[i]){pathABData=levelData.edgepaths[i]}}if(!pathABData)return;var aMin=carpet.a[0];var aMax=carpet.a[carpet.a.length-1];var bMin=carpet.b[0];var bMax=carpet.b[carpet.b.length-1];function getOffset(abPt,pathVector){var offset=0;var edgeVector;var dAB=.1;if(Math.abs(abPt[0]-aMin)<dAB||Math.abs(abPt[0]-aMax)<dAB){edgeVector=normalizeVector(carpet.dxydb_rough(abPt[0],abPt[1],dAB));offset=Math.max(offset,textHeight*vectorTan(pathVector,edgeVector)/2)}if(Math.abs(abPt[1]-bMin)<dAB||Math.abs(abPt[1]-bMax)<dAB){edgeVector=normalizeVector(carpet.dxyda_rough(abPt[0],abPt[1],dAB));offset=Math.max(offset,textHeight*vectorTan(pathVector,edgeVector)/2)}return offset}var startVector=getUnitVector(path,0,1);var endVector=getUnitVector(path,pathBounds.total,pathBounds.total-1);var minStart=getOffset(pathABData[0],startVector);var maxEnd=pathBounds.total-getOffset(pathABData[pathABData.length-1],endVector);if(pathBounds.min<minStart)pathBounds.min=minStart;if(pathBounds.max>maxEnd)pathBounds.max=maxEnd;pathBounds.len=pathBounds.max-pathBounds.min}function getUnitVector(path,p0,p1){var pt0=path.getPointAtLength(p0);var pt1=path.getPointAtLength(p1);var dx=pt1.x-pt0.x;var dy=pt1.y-pt0.y;var len=Math.sqrt(dx*dx+dy*dy);return[dx/len,dy/len]}function normalizeVector(v){var len=Math.sqrt(v[0]*v[0]+v[1]*v[1]);return[v[0]/len,v[1]/len]}function vectorTan(v0,v1){var cos=Math.abs(v0[0]*v1[0]+v0[1]*v1[1]);var sin=Math.sqrt(1-cos*cos);return sin/cos}function makeBackground(plotgroup,clipsegments,xaxis,yaxis,isConstraint,coloring){var seg,xp,yp,i;var bggroup=Lib.ensureSingle(plotgroup,"g","contourbg");var bgfill=bggroup.selectAll("path").data(coloring==="fill"&&!isConstraint?[0]:[]);bgfill.enter().append("path");bgfill.exit().remove();var segs=[];for(i=0;i<clipsegments.length;i++){seg=clipsegments[i];xp=map1dArray([],seg.x,xaxis.c2p);yp=map1dArray([],seg.y,yaxis.c2p);segs.push(makepath(xp,yp,seg.bicubic))}bgfill.attr("d","M"+segs.join("L")+"Z").style("stroke","none")}function makeFills(trace,plotgroup,xa,ya,pathinfo,perimeter,ab2p,carpet,carpetcd,coloring,boundaryPath){var hasFills=coloring==="fill";if(hasFills){closeBoundaries(pathinfo,trace.contours)}var fillgroup=Lib.ensureSingle(plotgroup,"g","contourfill");var fillitems=fillgroup.selectAll("path").data(hasFills?pathinfo:[]);fillitems.enter().append("path");fillitems.exit().remove();fillitems.each((function(pi){var fullpath=(pi.prefixBoundary?boundaryPath:"")+joinAllPaths(trace,pi,perimeter,ab2p,carpet,carpetcd,xa,ya);if(!fullpath){d3.select(this).remove()}else{d3.select(this).attr("d",fullpath).style("stroke","none")}}))}function joinAllPaths(trace,pi,perimeter,ab2p,carpet,carpetcd,xa,ya){var i;var fullpath="";var startsleft=pi.edgepaths.map((function(v,i){return i}));var newloop=true;var endpt,newendpt,cnt,nexti,possiblei,addpath;var atol=Math.abs(perimeter[0][0]-perimeter[2][0])*1e-4;var btol=Math.abs(perimeter[0][1]-perimeter[2][1])*1e-4;function istop(pt){return Math.abs(pt[1]-perimeter[0][1])<btol}function isbottom(pt){return Math.abs(pt[1]-perimeter[2][1])<btol}function isleft(pt){return Math.abs(pt[0]-perimeter[0][0])<atol}function isright(pt){return Math.abs(pt[0]-perimeter[2][0])<atol}function pathto(pt0,pt1){var i,j,segments,axis;var path="";if(istop(pt0)&&!isright(pt0)||isbottom(pt0)&&!isleft(pt0)){axis=carpet.aaxis;segments=axisAlignedLine(carpet,carpetcd,[pt0[0],pt1[0]],.5*(pt0[1]+pt1[1]))}else{axis=carpet.baxis;segments=axisAlignedLine(carpet,carpetcd,.5*(pt0[0]+pt1[0]),[pt0[1],pt1[1]])}for(i=1;i<segments.length;i++){path+=axis.smoothing?"C":"L";for(j=0;j<segments[i].length;j++){var pt=segments[i][j];path+=[xa.c2p(pt[0]),ya.c2p(pt[1])]+" "}}return path}i=0;endpt=null;while(startsleft.length){var startpt=pi.edgepaths[i][0];if(endpt){fullpath+=pathto(endpt,startpt)}addpath=Drawing.smoothopen(pi.edgepaths[i].map(ab2p),pi.smoothing);fullpath+=newloop?addpath:addpath.replace(/^M/,"L");startsleft.splice(startsleft.indexOf(i),1);endpt=pi.edgepaths[i][pi.edgepaths[i].length-1];nexti=-1;for(cnt=0;cnt<4;cnt++){if(!endpt){Lib.log("Missing end?",i,pi);break}if(istop(endpt)&&!isright(endpt)){newendpt=perimeter[1]}else if(isleft(endpt)){newendpt=perimeter[0]}else if(isbottom(endpt)){newendpt=perimeter[3]}else if(isright(endpt)){newendpt=perimeter[2]}for(possiblei=0;possiblei<pi.edgepaths.length;possiblei++){var ptNew=pi.edgepaths[possiblei][0];if(Math.abs(endpt[0]-newendpt[0])<atol){if(Math.abs(endpt[0]-ptNew[0])<atol&&(ptNew[1]-endpt[1])*(newendpt[1]-ptNew[1])>=0){newendpt=ptNew;nexti=possiblei}}else if(Math.abs(endpt[1]-newendpt[1])<btol){if(Math.abs(endpt[1]-ptNew[1])<btol&&(ptNew[0]-endpt[0])*(newendpt[0]-ptNew[0])>=0){newendpt=ptNew;nexti=possiblei}}else{Lib.log("endpt to newendpt is not vert. or horz.",endpt,newendpt,ptNew)}}if(nexti>=0)break;fullpath+=pathto(endpt,newendpt);endpt=newendpt}if(nexti===pi.edgepaths.length){Lib.log("unclosed perimeter path");break}i=nexti;newloop=startsleft.indexOf(i)===-1;if(newloop){i=startsleft[0];fullpath+=pathto(endpt,newendpt)+"Z";endpt=null}}for(i=0;i<pi.paths.length;i++){fullpath+=Drawing.smoothclosed(pi.paths[i].map(ab2p),pi.smoothing)}return fullpath}},{"../../components/drawing":688,"../../lib":803,"../carpet/axis_aligned_line":985,"../carpet/lookup_carpetid":1001,"../carpet/makepath":1002,"../carpet/map_1d_array":1003,"../contour/close_boundaries":1030,"../contour/constants":1032,"../contour/convert_to_constraints":1036,"../contour/empty_pathinfo":1038,"../contour/find_all_paths":1040,"../contour/make_crossings":1045,"../contour/plot":1046,"@plotly/d3":58}],1055:[function(_dereq_,module,exports){"use strict";var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var baseAttrs=_dereq_("../../plots/attributes");var scatterMapboxAttrs=_dereq_("../scattermapbox/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports=extendFlat({lon:scatterMapboxAttrs.lon,lat:scatterMapboxAttrs.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:true,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:scatterMapboxAttrs.text,hovertext:scatterMapboxAttrs.hovertext,hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:hovertemplateAttrs(),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})},colorScaleAttrs("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/template_attributes":926,"../scattermapbox/attributes":1283}],1056:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;var BADNUM=_dereq_("../../constants/numerical").BADNUM;var colorscaleCalc=_dereq_("../../components/colorscale/calc");var _=_dereq_("../../lib")._;module.exports=function calc(gd,trace){var len=trace._length;var calcTrace=new Array(len);var z=trace.z;var hasZ=isArrayOrTypedArray(z)&&z.length;for(var i=0;i<len;i++){var cdi=calcTrace[i]={};var lon=trace.lon[i];var lat=trace.lat[i];cdi.lonlat=isNumeric(lon)&&isNumeric(lat)?[+lon,+lat]:[BADNUM,BADNUM];if(hasZ){var zi=z[i];cdi.z=isNumeric(zi)?zi:BADNUM}}colorscaleCalc(gd,trace,{vals:hasZ?z:[0,1],containerStr:"",cLetter:"z"});if(len){calcTrace[0].t={labels:{lat:_(gd,"lat:")+" ",lon:_(gd,"lon:")+" "}}}return calcTrace}},{"../../components/colorscale/calc":674,"../../constants/numerical":779,"../../lib":803,"fast-isnumeric":249}],1057:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var Colorscale=_dereq_("../../components/colorscale");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var makeBlank=_dereq_("../../lib/geojson_utils").makeBlank;module.exports=function convert(calcTrace){var trace=calcTrace[0].trace;var isVisible=trace.visible===true&&trace._length!==0;var heatmap={layout:{visibility:"none"},paint:{}};var opts=trace._opts={heatmap:heatmap,geojson:makeBlank()};if(!isVisible)return opts;var features=[];var i;var z=trace.z;var radius=trace.radius;var hasZ=Lib.isArrayOrTypedArray(z)&&z.length;var hasArrayRadius=Lib.isArrayOrTypedArray(radius);for(i=0;i<calcTrace.length;i++){var cdi=calcTrace[i];var lonlat=cdi.lonlat;if(lonlat[0]!==BADNUM){var props={};if(hasZ){var zi=cdi.z;props.z=zi!==BADNUM?zi:0}if(hasArrayRadius){props.r=isNumeric(radius[i])&&radius[i]>0?+radius[i]:0}features.push({type:"Feature",geometry:{type:"Point",coordinates:lonlat},properties:props})}}var cOpts=Colorscale.extractOpts(trace);var scl=cOpts.reversescale?Colorscale.flipScale(cOpts.colorscale):cOpts.colorscale;var scl01=scl[0][1];var color0=Color.opacity(scl01)<1?scl01:Color.addOpacity(scl01,0);var heatmapColor=["interpolate",["linear"],["heatmap-density"],0,color0];for(i=1;i<scl.length;i++){heatmapColor.push(scl[i][0],scl[i][1])}var zExp=["interpolate",["linear"],["get","z"],cOpts.min,0,cOpts.max,1];Lib.extendFlat(opts.heatmap.paint,{"heatmap-weight":hasZ?zExp:1/(cOpts.max-cOpts.min),"heatmap-color":heatmapColor,"heatmap-radius":hasArrayRadius?{type:"identity",property:"r"}:trace.radius,"heatmap-opacity":trace.opacity});opts.geojson={type:"FeatureCollection",features:features};opts.heatmap.layout.visibility="visible";return opts}},{"../../components/color":666,"../../components/colorscale":678,"../../constants/numerical":779,"../../lib":803,"../../lib/geojson_utils":797,"fast-isnumeric":249}],1058:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var lon=coerce("lon")||[];var lat=coerce("lat")||[];var len=Math.min(lon.length,lat.length);if(!len){traceOut.visible=false;return}traceOut._length=len;coerce("z");coerce("radius");coerce("below");coerce("text");coerce("hovertext");coerce("hovertemplate");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"z"})}},{"../../components/colorscale/defaults":676,"../../lib":803,"./attributes":1055}],1059:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt){out.lon=pt.lon;out.lat=pt.lat;out.z=pt.z;return out}},{}],1060:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var scatterMapboxHoverPoints=_dereq_("../scattermapbox/hover").hoverPoints;var getExtraText=_dereq_("../scattermapbox/hover").getExtraText;module.exports=function hoverPoints(pointData,xval,yval){var pts=scatterMapboxHoverPoints(pointData,xval,yval);if(!pts)return;var newPointData=pts[0];var cd=newPointData.cd;var trace=cd[0].trace;var di=cd[newPointData.index];delete newPointData.color;if("z"in di){var ax=newPointData.subplot.mockAxis;newPointData.z=di.z;newPointData.zLabel=Axes.tickText(ax,ax.c2l(di.z),"hover").text}newPointData.extraText=getExtraText(trace,di,cd[0].t.labels);return[newPointData]}},{"../../plots/cartesian/axes":854,"../scattermapbox/hover":1288}],1061:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../heatmap/colorbar"),formatLabels:_dereq_("../scattermapbox/format_labels"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),hoverPoints:_dereq_("./hover"),eventData:_dereq_("./event_data"),getBelow:function(trace,subplot){var mapLayers=subplot.getMapLayers();for(var i=0;i<mapLayers.length;i++){var layer=mapLayers[i];var layerId=layer.id;if(layer.type==="symbol"&&typeof layerId==="string"&&layerId.indexOf("plotly-")===-1){return layerId}}},moduleType:"trace",name:"densitymapbox",basePlotModule:_dereq_("../../plots/mapbox"),categories:["mapbox","gl","showLegend"],meta:{hr_name:"density_mapbox"}}},{"../../plots/mapbox":911,"../heatmap/colorbar":1088,"../scattermapbox/format_labels":1287,"./attributes":1055,"./calc":1056,"./defaults":1058,"./event_data":1059,"./hover":1060,"./plot":1062}],1062:[function(_dereq_,module,exports){"use strict";var convert=_dereq_("./convert");var LAYER_PREFIX=_dereq_("../../plots/mapbox/constants").traceLayerPrefix;function DensityMapbox(subplot,uid){this.type="densitymapbox";this.subplot=subplot;this.uid=uid;this.sourceId="source-"+uid;this.layerList=[["heatmap",LAYER_PREFIX+uid+"-heatmap"]];this.below=null}var proto=DensityMapbox.prototype;proto.update=function(calcTrace){var subplot=this.subplot;var layerList=this.layerList;var optsAll=convert(calcTrace);var below=subplot.belowLookup["trace-"+this.uid];subplot.map.getSource(this.sourceId).setData(optsAll.geojson);if(below!==this.below){this._removeLayers();this._addLayers(optsAll,below);this.below=below}for(var i=0;i<layerList.length;i++){var item=layerList[i];var k=item[0];var id=item[1];var opts=optsAll[k];subplot.setOptions(id,"setLayoutProperty",opts.layout);if(opts.layout.visibility==="visible"){subplot.setOptions(id,"setPaintProperty",opts.paint)}}};proto._addLayers=function(optsAll,below){var subplot=this.subplot;var layerList=this.layerList;var sourceId=this.sourceId;for(var i=0;i<layerList.length;i++){var item=layerList[i];var k=item[0];var opts=optsAll[k];subplot.addLayer({type:k,id:item[1],source:sourceId,layout:opts.layout,paint:opts.paint},below)}};proto._removeLayers=function(){var map=this.subplot.map;var layerList=this.layerList;for(var i=layerList.length-1;i>=0;i--){map.removeLayer(layerList[i][1])}};proto.dispose=function(){var map=this.subplot.map;this._removeLayers();map.removeSource(this.sourceId)};module.exports=function createDensityMapbox(subplot,calcTrace){var trace=calcTrace[0].trace;var densityMapbox=new DensityMapbox(subplot,trace.uid);var sourceId=densityMapbox.sourceId;var optsAll=convert(calcTrace);var below=densityMapbox.below=subplot.belowLookup["trace-"+trace.uid];subplot.map.addSource(sourceId,{type:"geojson",data:optsAll.geojson});densityMapbox._addLayers(optsAll,below);return densityMapbox}},{"../../plots/mapbox/constants":909,"./convert":1057}],1063:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function arraysToCalcdata(cd,trace){for(var i=0;i<cd.length;i++)cd[i].i=i;Lib.mergeArray(trace.text,cd,"tx");Lib.mergeArray(trace.hovertext,cd,"htx");var marker=trace.marker;if(marker){Lib.mergeArray(marker.opacity,cd,"mo");Lib.mergeArray(marker.color,cd,"mc");var markerLine=marker.line;if(markerLine){Lib.mergeArray(markerLine.color,cd,"mlc");Lib.mergeArrayCastPositive(markerLine.width,cd,"mlw")}}}},{"../../lib":803}],1064:[function(_dereq_,module,exports){"use strict";var barAttrs=_dereq_("../bar/attributes");var lineAttrs=_dereq_("../scatter/attributes").line;var baseAttrs=_dereq_("../../plots/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var constants=_dereq_("./constants");var extendFlat=_dereq_("../../lib/extend").extendFlat;var Color=_dereq_("../../components/color");module.exports={x:barAttrs.x,x0:barAttrs.x0,dx:barAttrs.dx,y:barAttrs.y,y0:barAttrs.y0,dy:barAttrs.dy,xperiod:barAttrs.xperiod,yperiod:barAttrs.yperiod,xperiod0:barAttrs.xperiod0,yperiod0:barAttrs.yperiod0,xperiodalignment:barAttrs.xperiodalignment,yperiodalignment:barAttrs.yperiodalignment,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),hovertext:barAttrs.hovertext,hovertemplate:hovertemplateAttrs({},{keys:constants.eventDataKeys}),hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:false},texttemplate:texttemplateAttrs({editType:"plot"},{keys:constants.eventDataKeys.concat(["label","value"])}),text:barAttrs.text,textposition:barAttrs.textposition,insidetextanchor:extendFlat({},barAttrs.insidetextanchor,{dflt:"middle"}),textangle:extendFlat({},barAttrs.textangle,{dflt:0}),textfont:barAttrs.textfont,insidetextfont:barAttrs.insidetextfont,outsidetextfont:barAttrs.outsidetextfont,constraintext:barAttrs.constraintext,cliponaxis:barAttrs.cliponaxis,orientation:extendFlat({},barAttrs.orientation,{}),offset:extendFlat({},barAttrs.offset,{arrayOk:false}),width:extendFlat({},barAttrs.width,{arrayOk:false}),marker:funnelMarker(),connector:{fillcolor:{valType:"color",editType:"style"},line:{color:extendFlat({},lineAttrs.color,{dflt:Color.defaultLine}),width:extendFlat({},lineAttrs.width,{dflt:0,editType:"plot"}),dash:lineAttrs.dash,editType:"style"},visible:{valType:"boolean",dflt:true,editType:"plot"},editType:"plot"},offsetgroup:barAttrs.offsetgroup,alignmentgroup:barAttrs.alignmentgroup};function funnelMarker(){var marker=extendFlat({},barAttrs.marker);delete marker.pattern;return marker}},{"../../components/color":666,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../bar/attributes":941,"../scatter/attributes":1218,"./constants":1066}],1065:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var alignPeriod=_dereq_("../../plots/cartesian/align_period");var arraysToCalcdata=_dereq_("./arrays_to_calcdata");var calcSelection=_dereq_("../scatter/calc_selection");var BADNUM=_dereq_("../../constants/numerical").BADNUM;module.exports=function calc(gd,trace){var xa=Axes.getFromId(gd,trace.xaxis||"x");var ya=Axes.getFromId(gd,trace.yaxis||"y");var size,pos,origPos,pObj,hasPeriod,pLetter,i,cdi;if(trace.orientation==="h"){size=xa.makeCalcdata(trace,"x");origPos=ya.makeCalcdata(trace,"y");pObj=alignPeriod(trace,ya,"y",origPos);hasPeriod=!!trace.yperiodalignment;pLetter="y"}else{size=ya.makeCalcdata(trace,"y");origPos=xa.makeCalcdata(trace,"x");pObj=alignPeriod(trace,xa,"x",origPos);hasPeriod=!!trace.xperiodalignment;pLetter="x"}pos=pObj.vals;var serieslen=Math.min(pos.length,size.length);var cd=new Array(serieslen);trace._base=[];for(i=0;i<serieslen;i++){if(size[i]<0)size[i]=BADNUM;var connectToNext=false;if(size[i]!==BADNUM){if(i+1<serieslen&&size[i+1]!==BADNUM){connectToNext=true}}cdi=cd[i]={p:pos[i],s:size[i],cNext:connectToNext};trace._base[i]=-.5*cdi.s;if(hasPeriod){cd[i].orig_p=origPos[i];cd[i][pLetter+"End"]=pObj.ends[i];cd[i][pLetter+"Start"]=pObj.starts[i]}if(trace.ids){cdi.id=String(trace.ids[i])}if(i===0)cd[0].vTotal=0;cd[0].vTotal+=fixNum(cdi.s);cdi.begR=fixNum(cdi.s)/fixNum(cd[0].s)}var prevGoodNum;for(i=0;i<serieslen;i++){cdi=cd[i];if(cdi.s===BADNUM)continue;cdi.sumR=cdi.s/cd[0].vTotal;cdi.difR=prevGoodNum!==undefined?cdi.s/prevGoodNum:1;prevGoodNum=cdi.s}arraysToCalcdata(cd,trace);calcSelection(cd,trace);return cd};function fixNum(a){return a===BADNUM?0:a}},{"../../constants/numerical":779,"../../plots/cartesian/align_period":851,"../../plots/cartesian/axes":854,"../scatter/calc_selection":1220,"./arrays_to_calcdata":1063}],1066:[function(_dereq_,module,exports){"use strict";module.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}},{}],1067:[function(_dereq_,module,exports){"use strict";var setGroupPositions=_dereq_("../bar/cross_trace_calc").setGroupPositions;module.exports=function crossTraceCalc(gd,plotinfo){var fullLayout=gd._fullLayout;var fullData=gd._fullData;var calcdata=gd.calcdata;var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var funnels=[];var funnelsVert=[];var funnelsHorz=[];var cd,i;for(i=0;i<fullData.length;i++){var fullTrace=fullData[i];var isHorizontal=fullTrace.orientation==="h";if(fullTrace.visible===true&&fullTrace.xaxis===xa._id&&fullTrace.yaxis===ya._id&&fullTrace.type==="funnel"){cd=calcdata[i];if(isHorizontal){funnelsHorz.push(cd)}else{funnelsVert.push(cd)}funnels.push(cd)}}var opts={mode:fullLayout.funnelmode,norm:fullLayout.funnelnorm,gap:fullLayout.funnelgap,groupgap:fullLayout.funnelgroupgap};setGroupPositions(gd,xa,ya,funnelsVert,opts);setGroupPositions(gd,ya,xa,funnelsHorz,opts);for(i=0;i<funnels.length;i++){cd=funnels[i];for(var j=0;j<cd.length;j++){if(j+1<cd.length){cd[j].nextP0=cd[j+1].p0;cd[j].nextS0=cd[j+1].s0;cd[j].nextP1=cd[j+1].p1;cd[j].nextS1=cd[j+1].s1}}}}},{"../bar/cross_trace_calc":944}],1068:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleGroupingDefaults=_dereq_("../bar/defaults").handleGroupingDefaults;var handleText=_dereq_("../bar/defaults").handleText;var handleXYDefaults=_dereq_("../scatter/xy_defaults");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var attributes=_dereq_("./attributes");var Color=_dereq_("../../components/color");function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleXYDefaults(traceIn,traceOut,layout,coerce);if(!len){traceOut.visible=false;return}handlePeriodDefaults(traceIn,traceOut,layout,coerce);coerce("xhoverformat");coerce("yhoverformat");coerce("orientation",traceOut.y&&!traceOut.x?"v":"h");coerce("offset");coerce("width");var text=coerce("text");coerce("hovertext");coerce("hovertemplate");var textposition=coerce("textposition");handleText(traceIn,traceOut,layout,coerce,textposition,{moduleHasSelected:false,moduleHasUnselected:false,moduleHasConstrain:true,moduleHasCliponaxis:true,moduleHasTextangle:true,moduleHasInsideanchor:true});if(traceOut.textposition!=="none"&&!traceOut.texttemplate){coerce("textinfo",Array.isArray(text)?"text+value":"value")}var markerColor=coerce("marker.color",defaultColor);coerce("marker.line.color",Color.defaultLine);coerce("marker.line.width");var connectorVisible=coerce("connector.visible");if(connectorVisible){coerce("connector.fillcolor",defaultFillColor(markerColor));var connectorLineWidth=coerce("connector.line.width");if(connectorLineWidth){coerce("connector.line.color");coerce("connector.line.dash")}}}function defaultFillColor(markerColor){var cBase=Lib.isArrayOrTypedArray(markerColor)?"#000":markerColor;return Color.addOpacity(cBase,.5*Color.opacity(cBase))}function crossTraceDefaults(fullData,fullLayout){var traceIn,traceOut;function coerce(attr){return Lib.coerce(traceOut._input,traceOut,attributes,attr)}if(fullLayout.funnelmode==="group"){for(var i=0;i<fullData.length;i++){traceOut=fullData[i];traceIn=traceOut._input;handleGroupingDefaults(traceIn,traceOut,fullLayout,coerce)}}}module.exports={supplyDefaults:supplyDefaults,crossTraceDefaults:crossTraceDefaults}},{"../../components/color":666,"../../lib":803,"../bar/defaults":945,"../scatter/period_defaults":1238,"../scatter/xy_defaults":1245,"./attributes":1064}],1069:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt){out.x="xVal"in pt?pt.xVal:pt.x;out.y="yVal"in pt?pt.yVal:pt.y;if("percentInitial"in pt)out.percentInitial=pt.percentInitial;if("percentPrevious"in pt)out.percentPrevious=pt.percentPrevious;if("percentTotal"in pt)out.percentTotal=pt.percentTotal;if(pt.xa)out.xaxis=pt.xa;if(pt.ya)out.yaxis=pt.ya;return out}},{}],1070:[function(_dereq_,module,exports){"use strict";var opacity=_dereq_("../../components/color").opacity;var hoverOnBars=_dereq_("../bar/hover").hoverOnBars;var formatPercent=_dereq_("../../lib").formatPercent;module.exports=function hoverPoints(pointData,xval,yval,hovermode,opts){var point=hoverOnBars(pointData,xval,yval,hovermode,opts);if(!point)return;var cd=point.cd;var trace=cd[0].trace;var isHorizontal=trace.orientation==="h";var index=point.index;var di=cd[index];var sizeLetter=isHorizontal?"x":"y";point[sizeLetter+"LabelVal"]=di.s;point.percentInitial=di.begR;point.percentInitialLabel=formatPercent(di.begR,1);point.percentPrevious=di.difR;point.percentPreviousLabel=formatPercent(di.difR,1);point.percentTotal=di.sumR;point.percentTotalLabel=formatPercent(di.sumR,1);var hoverinfo=di.hi||trace.hoverinfo;var text=[];if(hoverinfo&&hoverinfo!=="none"&&hoverinfo!=="skip"){var isAll=hoverinfo==="all";var parts=hoverinfo.split("+");var hasFlag=function(flag){return isAll||parts.indexOf(flag)!==-1};if(hasFlag("percent initial")){text.push(point.percentInitialLabel+" of initial")}if(hasFlag("percent previous")){text.push(point.percentPreviousLabel+" of previous")}if(hasFlag("percent total")){text.push(point.percentTotalLabel+" of total")}}point.extraText=text.join("<br>");point.color=getTraceColor(trace,di);return[point]};function getTraceColor(trace,di){var cont=trace.marker;var mc=di.mc||cont.color;var mlc=di.mlc||cont.line.color;var mlw=di.mlw||cont.line.width;if(opacity(mc))return mc;else if(opacity(mlc)&&mlw)return mlc}},{"../../components/color":666,"../../lib":803,"../bar/hover":948}],1071:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,crossTraceDefaults:_dereq_("./defaults").crossTraceDefaults,supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc"),crossTraceCalc:_dereq_("./cross_trace_calc"),plot:_dereq_("./plot"),style:_dereq_("./style").style,hoverPoints:_dereq_("./hover"),eventData:_dereq_("./event_data"),selectPoints:_dereq_("../bar/select"),moduleType:"trace",name:"funnel",basePlotModule:_dereq_("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":868,"../bar/select":953,"./attributes":1064,"./calc":1065,"./cross_trace_calc":1067,"./defaults":1068,"./event_data":1069,"./hover":1070,"./layout_attributes":1072,"./layout_defaults":1073,"./plot":1074,"./style":1075}],1072:[function(_dereq_,module,exports){"use strict";module.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1073:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function(layoutIn,layoutOut,fullData){var hasTraceType=false;function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}for(var i=0;i<fullData.length;i++){var trace=fullData[i];if(trace.visible&&trace.type==="funnel"){hasTraceType=true;break}}if(hasTraceType){coerce("funnelmode");coerce("funnelgap",.2);coerce("funnelgroupgap")}}},{"../../lib":803,"./layout_attributes":1072}],1074:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var barPlot=_dereq_("../bar/plot");var clearMinTextSize=_dereq_("../bar/uniform_text").clearMinTextSize;module.exports=function plot(gd,plotinfo,cdModule,traceLayer){var fullLayout=gd._fullLayout;clearMinTextSize("funnel",fullLayout);plotConnectorRegions(gd,plotinfo,cdModule,traceLayer);plotConnectorLines(gd,plotinfo,cdModule,traceLayer);barPlot.plot(gd,plotinfo,cdModule,traceLayer,{mode:fullLayout.funnelmode,norm:fullLayout.funnelmode,gap:fullLayout.funnelgap,groupgap:fullLayout.funnelgroupgap})};function plotConnectorRegions(gd,plotinfo,cdModule,traceLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;Lib.makeTraceGroups(traceLayer,cdModule,"trace bars").each((function(cd){var plotGroup=d3.select(this);var trace=cd[0].trace;var group=Lib.ensureSingle(plotGroup,"g","regions");if(!trace.connector||!trace.connector.visible){group.remove();return}var isHorizontal=trace.orientation==="h";var connectors=group.selectAll("g.region").data(Lib.identity);connectors.enter().append("g").classed("region",true);connectors.exit().remove();var len=connectors.size();connectors.each((function(di,i){if(i!==len-1&&!di.cNext)return;var xy=getXY(di,xa,ya,isHorizontal);var x=xy[0];var y=xy[1];var shape="";if(x[0]!==BADNUM&&y[0]!==BADNUM&&x[1]!==BADNUM&&y[1]!==BADNUM&&x[2]!==BADNUM&&y[2]!==BADNUM&&x[3]!==BADNUM&&y[3]!==BADNUM){if(isHorizontal){shape+="M"+x[0]+","+y[1]+"L"+x[2]+","+y[2]+"H"+x[3]+"L"+x[1]+","+y[1]+"Z"}else{shape+="M"+x[1]+","+y[1]+"L"+x[2]+","+y[3]+"V"+y[2]+"L"+x[1]+","+y[0]+"Z"}}if(shape==="")shape="M0,0Z";Lib.ensureSingle(d3.select(this),"path").attr("d",shape).call(Drawing.setClipUrl,plotinfo.layerClipId,gd)}))}))}function plotConnectorLines(gd,plotinfo,cdModule,traceLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;Lib.makeTraceGroups(traceLayer,cdModule,"trace bars").each((function(cd){var plotGroup=d3.select(this);var trace=cd[0].trace;var group=Lib.ensureSingle(plotGroup,"g","lines");if(!trace.connector||!trace.connector.visible||!trace.connector.line.width){group.remove();return}var isHorizontal=trace.orientation==="h";var connectors=group.selectAll("g.line").data(Lib.identity);connectors.enter().append("g").classed("line",true);connectors.exit().remove();var len=connectors.size();connectors.each((function(di,i){if(i!==len-1&&!di.cNext)return;var xy=getXY(di,xa,ya,isHorizontal);var x=xy[0];var y=xy[1];var shape="";if(x[3]!==undefined&&y[3]!==undefined){if(isHorizontal){shape+="M"+x[0]+","+y[1]+"L"+x[2]+","+y[2];shape+="M"+x[1]+","+y[1]+"L"+x[3]+","+y[2]}else{shape+="M"+x[1]+","+y[1]+"L"+x[2]+","+y[3];shape+="M"+x[1]+","+y[0]+"L"+x[2]+","+y[2]}}if(shape==="")shape="M0,0Z";Lib.ensureSingle(d3.select(this),"path").attr("d",shape).call(Drawing.setClipUrl,plotinfo.layerClipId,gd)}))}))}function getXY(di,xa,ya,isHorizontal){var s=[];var p=[];var sAxis=isHorizontal?xa:ya;var pAxis=isHorizontal?ya:xa;s[0]=sAxis.c2p(di.s0,true);p[0]=pAxis.c2p(di.p0,true);s[1]=sAxis.c2p(di.s1,true);p[1]=pAxis.c2p(di.p1,true);s[2]=sAxis.c2p(di.nextS0,true);p[2]=pAxis.c2p(di.nextP0,true);s[3]=sAxis.c2p(di.nextS1,true);p[3]=pAxis.c2p(di.nextP1,true);return isHorizontal?[s,p]:[p,s]}},{"../../components/drawing":688,"../../constants/numerical":779,"../../lib":803,"../bar/plot":952,"../bar/uniform_text":957,"@plotly/d3":58}],1075:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var Color=_dereq_("../../components/color");var DESELECTDIM=_dereq_("../../constants/interactions").DESELECTDIM;var barStyle=_dereq_("../bar/style");var resizeText=_dereq_("../bar/uniform_text").resizeText;var styleTextPoints=barStyle.styleTextPoints;function style(gd,cd,sel){var s=sel?sel:d3.select(gd).selectAll("g.funnellayer").selectAll("g.trace");resizeText(gd,s,"funnel");s.style("opacity",(function(d){return d[0].trace.opacity}));s.each((function(d){var gTrace=d3.select(this);var trace=d[0].trace;gTrace.selectAll(".point > path").each((function(di){if(!di.isBlank){var cont=trace.marker;d3.select(this).call(Color.fill,di.mc||cont.color).call(Color.stroke,di.mlc||cont.line.color).call(Drawing.dashLine,cont.line.dash,di.mlw||cont.line.width).style("opacity",trace.selectedpoints&&!di.selected?DESELECTDIM:1)}}));styleTextPoints(gTrace,trace,gd);gTrace.selectAll(".regions").each((function(){d3.select(this).selectAll("path").style("stroke-width",0).call(Color.fill,trace.connector.fillcolor)}));gTrace.selectAll(".lines").each((function(){var cont=trace.connector.line;Drawing.lineGroupStyle(d3.select(this).selectAll("path"),cont.width,cont.color,cont.dash)}))}))}module.exports={style:style}},{"../../components/color":666,"../../components/drawing":688,"../../constants/interactions":778,"../bar/style":955,"../bar/uniform_text":957,"@plotly/d3":58}],1076:[function(_dereq_,module,exports){"use strict";var pieAttrs=_dereq_("../pie/attributes");var baseAttrs=_dereq_("../../plots/attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports={labels:pieAttrs.labels,label0:pieAttrs.label0,dlabel:pieAttrs.dlabel,values:pieAttrs.values,marker:{colors:pieAttrs.marker.colors,line:{color:extendFlat({},pieAttrs.marker.line.color,{dflt:null}),width:extendFlat({},pieAttrs.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:pieAttrs.text,hovertext:pieAttrs.hovertext,scalegroup:extendFlat({},pieAttrs.scalegroup,{}),textinfo:extendFlat({},pieAttrs.textinfo,{flags:["label","text","value","percent"]}),texttemplate:texttemplateAttrs({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:hovertemplateAttrs({},{keys:["label","color","value","text","percent"]}),textposition:extendFlat({},pieAttrs.textposition,{values:["inside","none"],dflt:"inside"}),textfont:pieAttrs.textfont,insidetextfont:pieAttrs.insidetextfont,title:{text:pieAttrs.title.text,font:pieAttrs.title.font,position:extendFlat({},pieAttrs.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:domainAttrs({name:"funnelarea",trace:true,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},{"../../lib/extend":793,"../../plots/attributes":850,"../../plots/domain":882,"../../plots/template_attributes":926,"../pie/attributes":1192}],1077:[function(_dereq_,module,exports){"use strict";var plots=_dereq_("../../plots/plots");exports.name="funnelarea";exports.plot=function(gd,traces,transitionOpts,makeOnCompleteCallback){plots.plotBasePlot(exports.name,gd,traces,transitionOpts,makeOnCompleteCallback)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){plots.cleanBasePlot(exports.name,newFullData,newFullLayout,oldFullData,oldFullLayout)}},{"../../plots/plots":917}],1078:[function(_dereq_,module,exports){"use strict";var pieCalc=_dereq_("../pie/calc");function calc(gd,trace){return pieCalc.calc(gd,trace)}function crossTraceCalc(gd){pieCalc.crossTraceCalc(gd,{type:"funnelarea"})}module.exports={calc:calc,crossTraceCalc:crossTraceCalc}},{"../pie/calc":1194}],1079:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var handleText=_dereq_("../bar/defaults").handleText;var handleLabelsAndValues=_dereq_("../pie/defaults").handleLabelsAndValues;module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var labels=coerce("labels");var values=coerce("values");var res=handleLabelsAndValues(labels,values);var len=res.len;traceOut._hasLabels=res.hasLabels;traceOut._hasValues=res.hasValues;if(!traceOut._hasLabels&&traceOut._hasValues){coerce("label0");coerce("dlabel")}if(!len){traceOut.visible=false;return}traceOut._length=len;var lineWidth=coerce("marker.line.width");if(lineWidth)coerce("marker.line.color",layout.paper_bgcolor);coerce("marker.colors");coerce("scalegroup");var textData=coerce("text");var textTemplate=coerce("texttemplate");var textInfo;if(!textTemplate)textInfo=coerce("textinfo",Array.isArray(textData)?"text+percent":"percent");coerce("hovertext");coerce("hovertemplate");if(textTemplate||textInfo&&textInfo!=="none"){var textposition=coerce("textposition");handleText(traceIn,traceOut,layout,coerce,textposition,{moduleHasSelected:false,moduleHasUnselected:false,moduleHasConstrain:false,moduleHasCliponaxis:false,moduleHasTextangle:false,moduleHasInsideanchor:false})}handleDomainDefaults(traceOut,layout,coerce);var title=coerce("title.text");if(title){coerce("title.position");Lib.coerceFont(coerce,"title.font",layout.font)}coerce("aspectratio");coerce("baseratio")}},{"../../lib":803,"../../plots/domain":882,"../bar/defaults":945,"../pie/defaults":1195,"./attributes":1076}],1080:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"funnelarea",basePlotModule:_dereq_("./base_plot"),categories:["pie-like","funnelarea","showLegend"],attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults"),supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc").calc,crossTraceCalc:_dereq_("./calc").crossTraceCalc,plot:_dereq_("./plot"),style:_dereq_("./style"),styleOne:_dereq_("../pie/style_one"),meta:{}}},{"../pie/style_one":1203,"./attributes":1076,"./base_plot":1077,"./calc":1078,"./defaults":1079,"./layout_attributes":1081,"./layout_defaults":1082,"./plot":1083,"./style":1084}],1081:[function(_dereq_,module,exports){"use strict";var hiddenlabels=_dereq_("../pie/layout_attributes").hiddenlabels;module.exports={hiddenlabels:hiddenlabels,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:true,editType:"calc"}}},{"../pie/layout_attributes":1199}],1082:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}coerce("hiddenlabels");coerce("funnelareacolorway",layoutOut.colorway);coerce("extendfunnelareacolors")}},{"../../lib":803,"./layout_attributes":1081}],1083:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var Lib=_dereq_("../../lib");var strScale=Lib.strScale;var strTranslate=Lib.strTranslate;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var barPlot=_dereq_("../bar/plot");var toMoveInsideBar=barPlot.toMoveInsideBar;var uniformText=_dereq_("../bar/uniform_text");var recordMinTextSize=uniformText.recordMinTextSize;var clearMinTextSize=uniformText.clearMinTextSize;var pieHelpers=_dereq_("../pie/helpers");var piePlot=_dereq_("../pie/plot");var attachFxHandlers=piePlot.attachFxHandlers;var determineInsideTextFont=piePlot.determineInsideTextFont;var layoutAreas=piePlot.layoutAreas;var prerenderTitles=piePlot.prerenderTitles;var positionTitleOutside=piePlot.positionTitleOutside;var formatSliceLabel=piePlot.formatSliceLabel;module.exports=function plot(gd,cdModule){var fullLayout=gd._fullLayout;clearMinTextSize("funnelarea",fullLayout);prerenderTitles(cdModule,gd);layoutAreas(cdModule,fullLayout._size);Lib.makeTraceGroups(fullLayout._funnelarealayer,cdModule,"trace").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var trace=cd0.trace;setCoords(cd);plotGroup.each((function(){var slices=d3.select(this).selectAll("g.slice").data(cd);slices.enter().append("g").classed("slice",true);slices.exit().remove();slices.each((function(pt,i){if(pt.hidden){d3.select(this).selectAll("path,g").remove();return}pt.pointNumber=pt.i;pt.curveNumber=trace.index;var cx=cd0.cx;var cy=cd0.cy;var sliceTop=d3.select(this);var slicePath=sliceTop.selectAll("path.surface").data([pt]);slicePath.enter().append("path").classed("surface",true).style({"pointer-events":"all"});sliceTop.call(attachFxHandlers,gd,cd);var shape="M"+(cx+pt.TR[0])+","+(cy+pt.TR[1])+line(pt.TR,pt.BR)+line(pt.BR,pt.BL)+line(pt.BL,pt.TL)+"Z";slicePath.attr("d",shape);formatSliceLabel(gd,pt,cd0);var textPosition=pieHelpers.castOption(trace.textposition,pt.pts);var sliceTextGroup=sliceTop.selectAll("g.slicetext").data(pt.text&&textPosition!=="none"?[0]:[]);sliceTextGroup.enter().append("g").classed("slicetext",true);sliceTextGroup.exit().remove();sliceTextGroup.each((function(){var sliceText=Lib.ensureSingle(d3.select(this),"text","",(function(s){s.attr("data-notex",1)}));var font=Lib.ensureUniformFontSize(gd,determineInsideTextFont(trace,pt,fullLayout.font));sliceText.text(pt.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(Drawing.font,font).call(svgTextUtils.convertToTspans,gd);var textBB=Drawing.bBox(sliceText.node());var transform;var x0,x1;var y0=Math.min(pt.BL[1],pt.BR[1])+cy;var y1=Math.max(pt.TL[1],pt.TR[1])+cy;x0=Math.max(pt.TL[0],pt.BL[0])+cx;x1=Math.min(pt.TR[0],pt.BR[0])+cx;transform=toMoveInsideBar(x0,x1,y0,y1,textBB,{isHorizontal:true,constrained:true,angle:0,anchor:"middle"});transform.fontSize=font.size;recordMinTextSize(trace.type,transform,fullLayout);cd[i].transform=transform;sliceText.attr("transform",Lib.getTextTransform(transform))}))}));var titleTextGroup=d3.select(this).selectAll("g.titletext").data(trace.title.text?[0]:[]);titleTextGroup.enter().append("g").classed("titletext",true);titleTextGroup.exit().remove();titleTextGroup.each((function(){var titleText=Lib.ensureSingle(d3.select(this),"text","",(function(s){s.attr("data-notex",1)}));var txt=trace.title.text;if(trace._meta){txt=Lib.templateString(txt,trace._meta)}titleText.text(txt).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(Drawing.font,trace.title.font).call(svgTextUtils.convertToTspans,gd);var transform=positionTitleOutside(cd0,fullLayout._size);titleText.attr("transform",strTranslate(transform.x,transform.y)+strScale(Math.min(1,transform.scale))+strTranslate(transform.tx,transform.ty))}))}))}))};function line(a,b){var dx=b[0]-a[0];var dy=b[1]-a[1];return"l"+dx+","+dy}function getBetween(a,b){return[.5*(a[0]+b[0]),.5*(a[1]+b[1])]}function setCoords(cd){if(!cd.length)return;var cd0=cd[0];var trace=cd0.trace;var aspectratio=trace.aspectratio;var h=trace.baseratio;if(h>.999)h=.999;var h2=Math.pow(h,2);var v1=cd0.vTotal;var v0=v1*h2/(1-h2);var totalValues=v1;var sumSteps=v0/v1;function calcPos(){var q=Math.sqrt(sumSteps);return{x:q,y:-q}}function getPoint(){var pos=calcPos();return[pos.x,pos.y]}var p;var allPoints=[];allPoints.push(getPoint());var i,cdi;for(i=cd.length-1;i>-1;i--){cdi=cd[i];if(cdi.hidden)continue;var step=cdi.v/totalValues;sumSteps+=step;allPoints.push(getPoint())}var minY=Infinity;var maxY=-Infinity;for(i=0;i<allPoints.length;i++){p=allPoints[i];minY=Math.min(minY,p[1]);maxY=Math.max(maxY,p[1])}for(i=0;i<allPoints.length;i++){allPoints[i][1]-=(maxY+minY)/2}var lastX=allPoints[allPoints.length-1][0];var r=cd0.r;var rY=(maxY-minY)/2;var scaleX=r/lastX;var scaleY=r/rY*aspectratio;cd0.r=scaleY*rY;for(i=0;i<allPoints.length;i++){allPoints[i][0]*=scaleX;allPoints[i][1]*=scaleY}p=allPoints[0];var prevLeft=[-p[0],p[1]];var prevRight=[p[0],p[1]];var n=0;for(i=cd.length-1;i>-1;i--){cdi=cd[i];if(cdi.hidden)continue;n+=1;var x=allPoints[n][0];var y=allPoints[n][1];cdi.TL=[-x,y];cdi.TR=[x,y];cdi.BL=prevLeft;cdi.BR=prevRight;cdi.pxmid=getBetween(cdi.TR,cdi.BR);prevLeft=cdi.TL;prevRight=cdi.TR}}},{"../../components/drawing":688,"../../lib":803,"../../lib/svg_text_utils":829,"../bar/plot":952,"../bar/uniform_text":957,"../pie/helpers":1197,"../pie/plot":1201,"@plotly/d3":58}],1084:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var styleOne=_dereq_("../pie/style_one");var resizeText=_dereq_("../bar/uniform_text").resizeText;module.exports=function style(gd){var s=gd._fullLayout._funnelarealayer.selectAll(".trace");resizeText(gd,s,"funnelarea");s.each((function(cd){var cd0=cd[0];var trace=cd0.trace;var traceSelection=d3.select(this);traceSelection.style({opacity:trace.opacity});traceSelection.selectAll("path.surface").each((function(pt){d3.select(this).call(styleOne,pt,trace)}))}))}},{"../bar/uniform_text":957,"../pie/style_one":1203,"@plotly/d3":58}],1085:[function(_dereq_,module,exports){"use strict";var scatterAttrs=_dereq_("../scatter/attributes");var baseAttrs=_dereq_("../../plots/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports=extendFlat({z:{valType:"data_array",editType:"calc"},x:extendFlat({},scatterAttrs.x,{impliedEdits:{xtype:"array"}}),x0:extendFlat({},scatterAttrs.x0,{impliedEdits:{xtype:"scaled"}}),dx:extendFlat({},scatterAttrs.dx,{impliedEdits:{xtype:"scaled"}}),y:extendFlat({},scatterAttrs.y,{impliedEdits:{ytype:"array"}}),y0:extendFlat({},scatterAttrs.y0,{impliedEdits:{ytype:"scaled"}}),dy:extendFlat({},scatterAttrs.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:extendFlat({},scatterAttrs.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:extendFlat({},scatterAttrs.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:extendFlat({},scatterAttrs.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:extendFlat({},scatterAttrs.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:extendFlat({},scatterAttrs.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:extendFlat({},scatterAttrs.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:false,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",false],dflt:false,editType:"calc"},hoverongaps:{valType:"boolean",dflt:true,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z",1),hovertemplate:hovertemplateAttrs(),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})},{transforms:undefined},colorScaleAttrs("",{cLetter:"z",autoColorDflt:false}))},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../scatter/attributes":1218}],1086:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var alignPeriod=_dereq_("../../plots/cartesian/align_period");var histogram2dCalc=_dereq_("../histogram2d/calc");var colorscaleCalc=_dereq_("../../components/colorscale/calc");var convertColumnData=_dereq_("./convert_column_xyz");var clean2dArray=_dereq_("./clean_2d_array");var interp2d=_dereq_("./interp2d");var findEmpties=_dereq_("./find_empties");var makeBoundArray=_dereq_("./make_bound_array");var BADNUM=_dereq_("../../constants/numerical").BADNUM;module.exports=function calc(gd,trace){var xa=Axes.getFromId(gd,trace.xaxis||"x");var ya=Axes.getFromId(gd,trace.yaxis||"y");var isContour=Registry.traceIs(trace,"contour");var isHist=Registry.traceIs(trace,"histogram");var isGL2D=Registry.traceIs(trace,"gl2d");var zsmooth=isContour?"best":trace.zsmooth;var x,x0,dx,origX;var y,y0,dy,origY;var z,i,binned;xa._minDtick=0;ya._minDtick=0;if(isHist){binned=histogram2dCalc(gd,trace);origX=binned.orig_x;x=binned.x;x0=binned.x0;dx=binned.dx;origY=binned.orig_y;y=binned.y;y0=binned.y0;dy=binned.dy;z=binned.z}else{var zIn=trace.z;if(Lib.isArray1D(zIn)){convertColumnData(trace,xa,ya,"x","y",["z"]);x=trace._x;y=trace._y;zIn=trace._z}else{origX=trace.x?xa.makeCalcdata(trace,"x"):[];origY=trace.y?ya.makeCalcdata(trace,"y"):[];x=alignPeriod(trace,xa,"x",origX).vals;y=alignPeriod(trace,ya,"y",origY).vals;trace._x=x;trace._y=y}x0=trace.x0;dx=trace.dx;y0=trace.y0;dy=trace.dy;z=clean2dArray(zIn,trace,xa,ya)}if(xa.rangebreaks||ya.rangebreaks){z=dropZonBreaks(x,y,z);if(!isHist){x=skipBreaks(x);y=skipBreaks(y);trace._x=x;trace._y=y}}if(!isHist&&(isContour||trace.connectgaps)){trace._emptypoints=findEmpties(z);interp2d(z,trace._emptypoints)}function noZsmooth(msg){zsmooth=trace._input.zsmooth=trace.zsmooth=false;Lib.warn('cannot use zsmooth: "fast": '+msg)}if(zsmooth==="fast"){if(xa.type==="log"||ya.type==="log"){noZsmooth("log axis found")}else if(!isHist){if(x.length){var avgdx=(x[x.length-1]-x[0])/(x.length-1);var maxErrX=Math.abs(avgdx/100);for(i=0;i<x.length-1;i++){if(Math.abs(x[i+1]-x[i]-avgdx)>maxErrX){noZsmooth("x scale is not linear");break}}}if(y.length&&zsmooth==="fast"){var avgdy=(y[y.length-1]-y[0])/(y.length-1);var maxErrY=Math.abs(avgdy/100);for(i=0;i<y.length-1;i++){if(Math.abs(y[i+1]-y[i]-avgdy)>maxErrY){noZsmooth("y scale is not linear");break}}}}}var xlen=Lib.maxRowLength(z);var xIn=trace.xtype==="scaled"?"":x;var xArray=makeBoundArray(trace,xIn,x0,dx,xlen,xa);var yIn=trace.ytype==="scaled"?"":y;var yArray=makeBoundArray(trace,yIn,y0,dy,z.length,ya);if(!isGL2D){trace._extremes[xa._id]=Axes.findExtremes(xa,xArray);trace._extremes[ya._id]=Axes.findExtremes(ya,yArray)}var cd0={x:xArray,y:yArray,z:z,text:trace._text||trace.text,hovertext:trace._hovertext||trace.hovertext};if(trace.xperiodalignment&&origX){cd0.orig_x=origX}if(trace.yperiodalignment&&origY){cd0.orig_y=origY}if(xIn&&xIn.length===xArray.length-1)cd0.xCenter=xIn;if(yIn&&yIn.length===yArray.length-1)cd0.yCenter=yIn;if(isHist){cd0.xRanges=binned.xRanges;cd0.yRanges=binned.yRanges;cd0.pts=binned.pts}if(!isContour){colorscaleCalc(gd,trace,{vals:z,cLetter:"z"})}if(isContour&&trace.contours&&trace.contours.coloring==="heatmap"){var dummyTrace={type:trace.type==="contour"?"heatmap":"histogram2d",xcalendar:trace.xcalendar,ycalendar:trace.ycalendar};cd0.xfill=makeBoundArray(dummyTrace,xIn,x0,dx,xlen,xa);cd0.yfill=makeBoundArray(dummyTrace,yIn,y0,dy,z.length,ya)}return[cd0]};function skipBreaks(a){var b=[];var len=a.length;for(var i=0;i<len;i++){var v=a[i];if(v!==BADNUM)b.push(v)}return b}function dropZonBreaks(x,y,z){var newZ=[];var k=-1;for(var i=0;i<z.length;i++){if(y[i]===BADNUM)continue;k++;newZ[k]=[];for(var j=0;j<z[i].length;j++){if(x[j]===BADNUM)continue;newZ[k].push(z[i][j])}}return newZ}},{"../../components/colorscale/calc":674,"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/align_period":851,"../../plots/cartesian/axes":854,"../../registry":931,"../histogram2d/calc":1118,"./clean_2d_array":1087,"./convert_column_xyz":1089,"./find_empties":1091,"./interp2d":1094,"./make_bound_array":1095}],1087:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var BADNUM=_dereq_("../../constants/numerical").BADNUM;module.exports=function clean2dArray(zOld,trace,xa,ya){var rowlen,collen,getCollen,old2new,i,j;function cleanZvalue(v){if(!isNumeric(v))return undefined;return+v}if(trace&&trace.transpose){rowlen=0;for(i=0;i<zOld.length;i++)rowlen=Math.max(rowlen,zOld[i].length);if(rowlen===0)return false;getCollen=function(zOld){return zOld.length};old2new=function(zOld,i,j){return(zOld[j]||[])[i]}}else{rowlen=zOld.length;getCollen=function(zOld,i){return zOld[i].length};old2new=function(zOld,i,j){return(zOld[i]||[])[j]}}var padOld2new=function(zOld,i,j){if(i===BADNUM||j===BADNUM)return BADNUM;return old2new(zOld,i,j)};function axisMapping(ax){if(trace&&trace.type!=="carpet"&&trace.type!=="contourcarpet"&&ax&&ax.type==="category"&&trace["_"+ax._id.charAt(0)].length){var axLetter=ax._id.charAt(0);var axMapping={};var traceCategories=trace["_"+axLetter+"CategoryMap"]||trace[axLetter];for(i=0;i<traceCategories.length;i++){axMapping[traceCategories[i]]=i}return function(i){var ind=axMapping[ax._categories[i]];return ind+1?ind:BADNUM}}else{return Lib.identity}}var xMap=axisMapping(xa);var yMap=axisMapping(ya);if(ya&&ya.type==="category")rowlen=ya._categories.length;var zNew=new Array(rowlen);for(i=0;i<rowlen;i++){if(xa&&xa.type==="category"){collen=xa._categories.length}else{collen=getCollen(zOld,i)}zNew[i]=new Array(collen);for(j=0;j<collen;j++)zNew[i][j]=cleanZvalue(padOld2new(zOld,yMap(i),xMap(j)))}return zNew}},{"../../constants/numerical":779,"../../lib":803,"fast-isnumeric":249}],1088:[function(_dereq_,module,exports){"use strict";module.exports={min:"zmin",max:"zmax"}},{}],1089:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var alignPeriod=_dereq_("../../plots/cartesian/align_period");module.exports=function convertColumnData(trace,ax1,ax2,var1Name,var2Name,arrayVarNames){var colLen=trace._length;var col1=ax1.makeCalcdata(trace,var1Name);var col2=ax2.makeCalcdata(trace,var2Name);col1=alignPeriod(trace,ax1,var1Name,col1).vals;col2=alignPeriod(trace,ax2,var2Name,col2).vals;var textCol=trace.text;var hasColumnText=textCol!==undefined&&Lib.isArray1D(textCol);var hoverTextCol=trace.hovertext;var hasColumnHoverText=hoverTextCol!==undefined&&Lib.isArray1D(hoverTextCol);var i,j;var col1dv=Lib.distinctVals(col1);var col1vals=col1dv.vals;var col2dv=Lib.distinctVals(col2);var col2vals=col2dv.vals;var newArrays=[];var text;var hovertext;var nI=col2vals.length;var nJ=col1vals.length;for(i=0;i<arrayVarNames.length;i++){newArrays[i]=Lib.init2dArray(nI,nJ)}if(hasColumnText){text=Lib.init2dArray(nI,nJ)}if(hasColumnHoverText){hovertext=Lib.init2dArray(nI,nJ)}var after2before=Lib.init2dArray(nI,nJ);for(i=0;i<colLen;i++){if(col1[i]!==BADNUM&&col2[i]!==BADNUM){var i1=Lib.findBin(col1[i]+col1dv.minDiff/2,col1vals);var i2=Lib.findBin(col2[i]+col2dv.minDiff/2,col2vals);for(j=0;j<arrayVarNames.length;j++){var arrayVarName=arrayVarNames[j];var arrayVar=trace[arrayVarName];var newArray=newArrays[j];newArray[i2][i1]=arrayVar[i];after2before[i2][i1]=i}if(hasColumnText)text[i2][i1]=textCol[i];if(hasColumnHoverText)hovertext[i2][i1]=hoverTextCol[i]}}trace["_"+var1Name]=col1vals;trace["_"+var2Name]=col2vals;for(j=0;j<arrayVarNames.length;j++){trace["_"+arrayVarNames[j]]=newArrays[j]}if(hasColumnText)trace._text=text;if(hasColumnHoverText)trace._hovertext=hovertext;if(ax1&&ax1.type==="category"){trace["_"+var1Name+"CategoryMap"]=col1vals.map((function(v){return ax1._categories[v]}))}if(ax2&&ax2.type==="category"){trace["_"+var2Name+"CategoryMap"]=col2vals.map((function(v){return ax2._categories[v]}))}trace._after2before=after2before}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/align_period":851}],1090:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleXYZDefaults=_dereq_("./xyz_defaults");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var handleStyleDefaults=_dereq_("./style_defaults");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var validData=handleXYZDefaults(traceIn,traceOut,coerce,layout);if(!validData){traceOut.visible=false;return}handlePeriodDefaults(traceIn,traceOut,layout,coerce);coerce("xhoverformat");coerce("yhoverformat");coerce("text");coerce("hovertext");coerce("hovertemplate");handleStyleDefaults(traceIn,traceOut,coerce,layout);coerce("hoverongaps");coerce("connectgaps",Lib.isArray1D(traceOut.z)&&traceOut.zsmooth!==false);colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"z"})}},{"../../components/colorscale/defaults":676,"../../lib":803,"../scatter/period_defaults":1238,"./attributes":1085,"./style_defaults":1098,"./xyz_defaults":1099}],1091:[function(_dereq_,module,exports){"use strict";var maxRowLength=_dereq_("../../lib").maxRowLength;module.exports=function findEmpties(z){var empties=[];var neighborHash={};var noNeighborList=[];var nextRow=z[0];var row=[];var blank=[0,0,0];var rowLength=maxRowLength(z);var prevRow;var i;var j;var thisPt;var p;var neighborCount;var newNeighborHash;var foundNewNeighbors;for(i=0;i<z.length;i++){prevRow=row;row=nextRow;nextRow=z[i+1]||[];for(j=0;j<rowLength;j++){if(row[j]===undefined){neighborCount=(row[j-1]!==undefined?1:0)+(row[j+1]!==undefined?1:0)+(prevRow[j]!==undefined?1:0)+(nextRow[j]!==undefined?1:0);if(neighborCount){if(i===0)neighborCount++;if(j===0)neighborCount++;if(i===z.length-1)neighborCount++;if(j===row.length-1)neighborCount++;if(neighborCount<4){neighborHash[[i,j]]=[i,j,neighborCount]}empties.push([i,j,neighborCount])}else noNeighborList.push([i,j])}}}while(noNeighborList.length){newNeighborHash={};foundNewNeighbors=false;for(p=noNeighborList.length-1;p>=0;p--){thisPt=noNeighborList[p];i=thisPt[0];j=thisPt[1];neighborCount=((neighborHash[[i-1,j]]||blank)[2]+(neighborHash[[i+1,j]]||blank)[2]+(neighborHash[[i,j-1]]||blank)[2]+(neighborHash[[i,j+1]]||blank)[2])/20;if(neighborCount){newNeighborHash[thisPt]=[i,j,neighborCount];noNeighborList.splice(p,1);foundNewNeighbors=true}}if(!foundNewNeighbors){throw"findEmpties iterated with no new neighbors"}for(thisPt in newNeighborHash){neighborHash[thisPt]=newNeighborHash[thisPt];empties.push(newNeighborHash[thisPt])}}return empties.sort((function(a,b){return b[2]-a[2]}))}},{"../../lib":803}],1092:[function(_dereq_,module,exports){"use strict";var Fx=_dereq_("../../components/fx");var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var extractOpts=_dereq_("../../components/colorscale").extractOpts;module.exports=function hoverPoints(pointData,xval,yval,hovermode,opts){if(!opts)opts={};var isContour=opts.isContour;var cd0=pointData.cd[0];var trace=cd0.trace;var xa=pointData.xa;var ya=pointData.ya;var x=cd0.x;var y=cd0.y;var z=cd0.z;var xc=cd0.xCenter;var yc=cd0.yCenter;var zmask=cd0.zmask;var zhoverformat=trace.zhoverformat;var x2=x;var y2=y;var xl,yl,nx,ny;if(pointData.index!==false){try{nx=Math.round(pointData.index[1]);ny=Math.round(pointData.index[0])}catch(e){Lib.error("Error hovering on heatmap, "+"pointNumber must be [row,col], found:",pointData.index);return}if(nx<0||nx>=z[0].length||ny<0||ny>z.length){return}}else if(Fx.inbox(xval-x[0],xval-x[x.length-1],0)>0||Fx.inbox(yval-y[0],yval-y[y.length-1],0)>0){return}else{if(isContour){var i2;x2=[2*x[0]-x[1]];for(i2=1;i2<x.length;i2++){x2.push((x[i2]+x[i2-1])/2)}x2.push([2*x[x.length-1]-x[x.length-2]]);y2=[2*y[0]-y[1]];for(i2=1;i2<y.length;i2++){y2.push((y[i2]+y[i2-1])/2)}y2.push([2*y[y.length-1]-y[y.length-2]])}nx=Math.max(0,Math.min(x2.length-2,Lib.findBin(xval,x2)));ny=Math.max(0,Math.min(y2.length-2,Lib.findBin(yval,y2)))}var x0=xa.c2p(x[nx]);var x1=xa.c2p(x[nx+1]);var y0=ya.c2p(y[ny]);var y1=ya.c2p(y[ny+1]);var _x,_y;if(isContour){_x=cd0.orig_x||x;_y=cd0.orig_y||y;x1=x0;xl=_x[nx];y1=y0;yl=_y[ny]}else{_x=cd0.orig_x||xc||x;_y=cd0.orig_y||yc||y;xl=xc?_x[nx]:(_x[nx]+_x[nx+1])/2;yl=yc?_y[ny]:(_y[ny]+_y[ny+1])/2;if(xa&&xa.type==="category")xl=x[nx];if(ya&&ya.type==="category")yl=y[ny];if(trace.zsmooth){x0=x1=xa.c2p(xl);y0=y1=ya.c2p(yl)}}var zVal=z[ny][nx];if(zmask&&!zmask[ny][nx])zVal=undefined;if(zVal===undefined&&!trace.hoverongaps)return;var text;if(Array.isArray(cd0.hovertext)&&Array.isArray(cd0.hovertext[ny])){text=cd0.hovertext[ny][nx]}else if(Array.isArray(cd0.text)&&Array.isArray(cd0.text[ny])){text=cd0.text[ny][nx]}var cOpts=extractOpts(trace);var dummyAx={type:"linear",range:[cOpts.min,cOpts.max],hoverformat:zhoverformat,_separators:xa._separators,_numFormat:xa._numFormat};var zLabel=Axes.tickText(dummyAx,zVal,"hover").text;return[Lib.extendFlat(pointData,{index:trace._after2before?trace._after2before[ny][nx]:[ny,nx],distance:pointData.maxHoverDistance,spikeDistance:pointData.maxSpikeDistance,x0:x0,x1:x1,y0:y0,y1:y1,xLabelVal:xl,yLabelVal:yl,zLabelVal:zVal,zLabel:zLabel,text:text})]}},{"../../components/colorscale":678,"../../components/fx":706,"../../lib":803,"../../plots/cartesian/axes":854}],1093:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),colorbar:_dereq_("./colorbar"),style:_dereq_("./style"),hoverPoints:_dereq_("./hover"),moduleType:"trace",name:"heatmap",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","2dMap","showLegend"],meta:{}}},{"../../plots/cartesian":868,"./attributes":1085,"./calc":1086,"./colorbar":1088,"./defaults":1090,"./hover":1092,"./plot":1096,"./style":1097}],1094:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var INTERPTHRESHOLD=.01;var NEIGHBORSHIFTS=[[-1,0],[1,0],[0,-1],[0,1]];function correctionOvershoot(maxFractionalChange){return.5-.25*Math.min(1,maxFractionalChange*.5)}module.exports=function interp2d(z,emptyPoints){var maxFractionalChange=1;var i;iterateInterp2d(z,emptyPoints);for(i=0;i<emptyPoints.length;i++){if(emptyPoints[i][2]<4)break}emptyPoints=emptyPoints.slice(i);for(i=0;i<100&&maxFractionalChange>INTERPTHRESHOLD;i++){maxFractionalChange=iterateInterp2d(z,emptyPoints,correctionOvershoot(maxFractionalChange))}if(maxFractionalChange>INTERPTHRESHOLD){Lib.log("interp2d didn't converge quickly",maxFractionalChange)}return z};function iterateInterp2d(z,emptyPoints,overshoot){var maxFractionalChange=0;var thisPt;var i;var j;var p;var q;var neighborShift;var neighborRow;var neighborVal;var neighborCount;var neighborSum;var initialVal;var minNeighbor;var maxNeighbor;for(p=0;p<emptyPoints.length;p++){thisPt=emptyPoints[p];i=thisPt[0];j=thisPt[1];initialVal=z[i][j];neighborSum=0;neighborCount=0;for(q=0;q<4;q++){neighborShift=NEIGHBORSHIFTS[q];neighborRow=z[i+neighborShift[0]];if(!neighborRow)continue;neighborVal=neighborRow[j+neighborShift[1]];if(neighborVal!==undefined){if(neighborSum===0){minNeighbor=maxNeighbor=neighborVal}else{minNeighbor=Math.min(minNeighbor,neighborVal);maxNeighbor=Math.max(maxNeighbor,neighborVal)}neighborCount++;neighborSum+=neighborVal}}if(neighborCount===0){throw"iterateInterp2d order is wrong: no defined neighbors"}z[i][j]=neighborSum/neighborCount;if(initialVal===undefined){if(neighborCount<4)maxFractionalChange=1}else{z[i][j]=(1+overshoot)*z[i][j]-overshoot*initialVal;if(maxNeighbor>minNeighbor){maxFractionalChange=Math.max(maxFractionalChange,Math.abs(z[i][j]-initialVal)/(maxNeighbor-minNeighbor))}}}return maxFractionalChange}},{"../../lib":803}],1095:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;module.exports=function makeBoundArray(trace,arrayIn,v0In,dvIn,numbricks,ax){var arrayOut=[];var isContour=Registry.traceIs(trace,"contour");var isHist=Registry.traceIs(trace,"histogram");var isGL2D=Registry.traceIs(trace,"gl2d");var v0;var dv;var i;var isArrayOfTwoItemsOrMore=isArrayOrTypedArray(arrayIn)&&arrayIn.length>1;if(isArrayOfTwoItemsOrMore&&!isHist&&ax.type!=="category"){var len=arrayIn.length;if(len<=numbricks){if(isContour||isGL2D)arrayOut=arrayIn.slice(0,numbricks);else if(numbricks===1){arrayOut=[arrayIn[0]-.5,arrayIn[0]+.5]}else{arrayOut=[1.5*arrayIn[0]-.5*arrayIn[1]];for(i=1;i<len;i++){arrayOut.push((arrayIn[i-1]+arrayIn[i])*.5)}arrayOut.push(1.5*arrayIn[len-1]-.5*arrayIn[len-2])}if(len<numbricks){var lastPt=arrayOut[arrayOut.length-1];var delta=lastPt-arrayOut[arrayOut.length-2];for(i=len;i<numbricks;i++){lastPt+=delta;arrayOut.push(lastPt)}}}else{return isContour?arrayIn.slice(0,numbricks):arrayIn.slice(0,numbricks+1)}}else{var calendar=trace[ax._id.charAt(0)+"calendar"];if(isHist){v0=ax.r2c(v0In,0,calendar)}else{if(isArrayOrTypedArray(arrayIn)&&arrayIn.length===1){v0=arrayIn[0]}else if(v0In===undefined){v0=0}else{var fn=ax.type==="log"?ax.d2c:ax.r2c;v0=fn(v0In,0,calendar)}}dv=dvIn||1;for(i=isContour||isGL2D?0:-.5;i<numbricks;i++){arrayOut.push(v0+dv*i)}}return arrayOut}},{"../../lib":803,"../../registry":931}],1096:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var tinycolor=_dereq_("tinycolor2");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var makeColorScaleFuncFromTrace=_dereq_("../../components/colorscale").makeColorScaleFuncFromTrace;var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");module.exports=function(gd,plotinfo,cdheatmaps,heatmapLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;Lib.makeTraceGroups(heatmapLayer,cdheatmaps,"hm").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var trace=cd0.trace;var z=cd0.z;var x=cd0.x;var y=cd0.y;var xc=cd0.xCenter;var yc=cd0.yCenter;var isContour=Registry.traceIs(trace,"contour");var zsmooth=isContour?"best":trace.zsmooth;var m=z.length;var n=Lib.maxRowLength(z);var xrev=false;var yrev=false;var left,right,temp,top,bottom,i;i=0;while(left===undefined&&i<x.length-1){left=xa.c2p(x[i]);i++}i=x.length-1;while(right===undefined&&i>0){right=xa.c2p(x[i]);i--}if(right<left){temp=right;right=left;left=temp;xrev=true}i=0;while(top===undefined&&i<y.length-1){top=ya.c2p(y[i]);i++}i=y.length-1;while(bottom===undefined&&i>0){bottom=ya.c2p(y[i]);i--}if(bottom<top){temp=top;top=bottom;bottom=temp;yrev=true}if(isContour){xc=x;yc=y;x=cd0.xfill;y=cd0.yfill}if(zsmooth!=="fast"){var extra=zsmooth==="best"?0:.5;left=Math.max(-extra*xa._length,left);right=Math.min((1+extra)*xa._length,right);top=Math.max(-extra*ya._length,top);bottom=Math.min((1+extra)*ya._length,bottom)}var imageWidth=Math.round(right-left);var imageHeight=Math.round(bottom-top);var isOffScreen=imageWidth<=0||imageHeight<=0;if(isOffScreen){var noImage=plotGroup.selectAll("image").data([]);noImage.exit().remove();return}var canvasW,canvasH;if(zsmooth==="fast"){canvasW=n;canvasH=m}else{canvasW=imageWidth;canvasH=imageHeight}var canvas=document.createElement("canvas");canvas.width=canvasW;canvas.height=canvasH;var context=canvas.getContext("2d");var sclFunc=makeColorScaleFuncFromTrace(trace,{noNumericCheck:true,returnArray:true});var xpx,ypx;if(zsmooth==="fast"){xpx=xrev?function(index){return n-1-index}:Lib.identity;ypx=yrev?function(index){return m-1-index}:Lib.identity}else{xpx=function(index){return Lib.constrain(Math.round(xa.c2p(x[index])-left),0,imageWidth)};ypx=function(index){return Lib.constrain(Math.round(ya.c2p(y[index])-top),0,imageHeight)}}var yi=ypx(0);var yb=[yi,yi];var xbi=xrev?0:1;var ybi=yrev?0:1;var pixcount=0;var rcount=0;var gcount=0;var bcount=0;var xb,j,xi,v,row,c;function setColor(v,pixsize){if(v!==undefined){var c=sclFunc(v);c[0]=Math.round(c[0]);c[1]=Math.round(c[1]);c[2]=Math.round(c[2]);pixcount+=pixsize;rcount+=c[0]*pixsize;gcount+=c[1]*pixsize;bcount+=c[2]*pixsize;return c}return[0,0,0,0]}function interpColor(r0,r1,xinterp,yinterp){var z00=r0[xinterp.bin0];if(z00===undefined)return setColor(undefined,1);var z01=r0[xinterp.bin1];var z10=r1[xinterp.bin0];var z11=r1[xinterp.bin1];var dx=z01-z00||0;var dy=z10-z00||0;var dxy;if(z01===undefined){if(z11===undefined)dxy=0;else if(z10===undefined)dxy=2*(z11-z00);else dxy=(2*z11-z10-z00)*2/3}else if(z11===undefined){if(z10===undefined)dxy=0;else dxy=(2*z00-z01-z10)*2/3}else if(z10===undefined)dxy=(2*z11-z01-z00)*2/3;else dxy=z11+z00-z01-z10;return setColor(z00+xinterp.frac*dx+yinterp.frac*(dy+xinterp.frac*dxy))}if(zsmooth){var pxIndex=0;var pixels;try{pixels=new Uint8Array(imageWidth*imageHeight*4)}catch(e){pixels=new Array(imageWidth*imageHeight*4)}if(zsmooth==="best"){var xForPx=xc||x;var yForPx=yc||y;var xPixArray=new Array(xForPx.length);var yPixArray=new Array(yForPx.length);var xinterpArray=new Array(imageWidth);var findInterpX=xc?findInterpFromCenters:findInterp;var findInterpY=yc?findInterpFromCenters:findInterp;var yinterp,r0,r1;for(i=0;i<xForPx.length;i++)xPixArray[i]=Math.round(xa.c2p(xForPx[i])-left);for(i=0;i<yForPx.length;i++)yPixArray[i]=Math.round(ya.c2p(yForPx[i])-top);for(i=0;i<imageWidth;i++)xinterpArray[i]=findInterpX(i,xPixArray);for(j=0;j<imageHeight;j++){yinterp=findInterpY(j,yPixArray);r0=z[yinterp.bin0];r1=z[yinterp.bin1];for(i=0;i<imageWidth;i++,pxIndex+=4){c=interpColor(r0,r1,xinterpArray[i],yinterp);putColor(pixels,pxIndex,c)}}}else{for(j=0;j<m;j++){row=z[j];yb=ypx(j);for(i=0;i<imageWidth;i++){c=setColor(row[i],1);pxIndex=(yb*imageWidth+xpx(i))*4;putColor(pixels,pxIndex,c)}}}var imageData=context.createImageData(imageWidth,imageHeight);try{imageData.data.set(pixels)}catch(e){var pxArray=imageData.data;var dlen=pxArray.length;for(j=0;j<dlen;j++){pxArray[j]=pixels[j]}}context.putImageData(imageData,0,0)}else{var xGap=trace.xgap;var yGap=trace.ygap;var xGapLeft=Math.floor(xGap/2);var yGapTop=Math.floor(yGap/2);for(j=0;j<m;j++){row=z[j];yb.reverse();yb[ybi]=ypx(j+1);if(yb[0]===yb[1]||yb[0]===undefined||yb[1]===undefined){continue}xi=xpx(0);xb=[xi,xi];for(i=0;i<n;i++){xb.reverse();xb[xbi]=xpx(i+1);if(xb[0]===xb[1]||xb[0]===undefined||xb[1]===undefined){continue}v=row[i];c=setColor(v,(xb[1]-xb[0])*(yb[1]-yb[0]));context.fillStyle="rgba("+c.join(",")+")";context.fillRect(xb[0]+xGapLeft,yb[0]+yGapTop,xb[1]-xb[0]-xGap,yb[1]-yb[0]-yGap)}}}rcount=Math.round(rcount/pixcount);gcount=Math.round(gcount/pixcount);bcount=Math.round(bcount/pixcount);var avgColor=tinycolor("rgb("+rcount+","+gcount+","+bcount+")");gd._hmpixcount=(gd._hmpixcount||0)+pixcount;gd._hmlumcount=(gd._hmlumcount||0)+pixcount*avgColor.getLuminance();var image3=plotGroup.selectAll("image").data(cd);image3.enter().append("svg:image").attr({xmlns:xmlnsNamespaces.svg,preserveAspectRatio:"none"});image3.attr({height:imageHeight,width:imageWidth,x:left,y:top,"xlink:href":canvas.toDataURL("image/png")})}))};function findInterp(pixel,pixArray){var maxBin=pixArray.length-2;var bin=Lib.constrain(Lib.findBin(pixel,pixArray),0,maxBin);var pix0=pixArray[bin];var pix1=pixArray[bin+1];var interp=Lib.constrain(bin+(pixel-pix0)/(pix1-pix0)-.5,0,maxBin);var bin0=Math.round(interp);var frac=Math.abs(interp-bin0);if(!interp||interp===maxBin||!frac){return{bin0:bin0,bin1:bin0,frac:0}}return{bin0:bin0,frac:frac,bin1:Math.round(bin0+frac/(interp-bin0))}}function findInterpFromCenters(pixel,centerPixArray){var maxBin=centerPixArray.length-1;var bin=Lib.constrain(Lib.findBin(pixel,centerPixArray),0,maxBin);var pix0=centerPixArray[bin];var pix1=centerPixArray[bin+1];var frac=(pixel-pix0)/(pix1-pix0)||0;if(frac<=0){return{bin0:bin,bin1:bin,frac:0}}if(frac<.5){return{bin0:bin,bin1:bin+1,frac:frac}}return{bin0:bin+1,bin1:bin,frac:1-frac}}function putColor(pixels,pxIndex,c){pixels[pxIndex]=c[0];pixels[pxIndex+1]=c[1];pixels[pxIndex+2]=c[2];pixels[pxIndex+3]=Math.round(c[3]*255)}},{"../../components/colorscale":678,"../../constants/xmlns_namespaces":780,"../../lib":803,"../../registry":931,"@plotly/d3":58,tinycolor2:598}],1097:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");module.exports=function style(gd){d3.select(gd).selectAll(".hm image").style("opacity",(function(d){return d.trace.opacity}))}},{"@plotly/d3":58}],1098:[function(_dereq_,module,exports){"use strict";module.exports=function handleStyleDefaults(traceIn,traceOut,coerce){var zsmooth=coerce("zsmooth");if(zsmooth===false){coerce("xgap");coerce("ygap")}coerce("zhoverformat")}},{}],1099:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");module.exports=function handleXYZDefaults(traceIn,traceOut,coerce,layout,xName,yName){var z=coerce("z");xName=xName||"x";yName=yName||"y";var x,y;if(z===undefined||!z.length)return 0;if(Lib.isArray1D(traceIn.z)){x=coerce(xName);y=coerce(yName);var xlen=Lib.minRowLength(x);var ylen=Lib.minRowLength(y);if(xlen===0||ylen===0)return 0;traceOut._length=Math.min(xlen,ylen,z.length)}else{x=coordDefaults(xName,coerce);y=coordDefaults(yName,coerce);if(!isValidZ(z))return 0;coerce("transpose");traceOut._length=null}if(traceIn.type==="heatmapgl")return true;var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,[xName,yName],layout);return true};function coordDefaults(coordStr,coerce){var coord=coerce(coordStr);var coordType=coord?coerce(coordStr+"type","array"):"scaled";if(coordType==="scaled"){coerce(coordStr+"0");coerce("d"+coordStr)}return coord}function isValidZ(z){var allRowsAreArrays=true;var oneRowIsFilled=false;var hasOneNumber=false;var zi;for(var i=0;i<z.length;i++){zi=z[i];if(!Lib.isArrayOrTypedArray(zi)){allRowsAreArrays=false;break}if(zi.length>0)oneRowIsFilled=true;for(var j=0;j<zi.length;j++){if(isNumeric(zi[j])){hasOneNumber=true;break}}}return allRowsAreArrays&&oneRowIsFilled&&hasOneNumber}},{"../../lib":803,"../../registry":931,"fast-isnumeric":249}],1100:[function(_dereq_,module,exports){"use strict";var heatmapAttrs=_dereq_("../heatmap/attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var commonList=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"];var attrs={};for(var i=0;i<commonList.length;i++){var k=commonList[i];attrs[k]=heatmapAttrs[k]}attrs.zsmooth={valType:"enumerated",values:["fast",false],dflt:"fast",editType:"calc"};extendFlat(attrs,colorScaleAttrs("",{cLetter:"z",autoColorDflt:false}));module.exports=overrideAll(attrs,"calc","nested")},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plot_api/edit_types":836,"../heatmap/attributes":1085}],1101:[function(_dereq_,module,exports){"use strict";var createHeatmap2D=_dereq_("gl-heatmap2d");var Axes=_dereq_("../../plots/cartesian/axes");var str2RGBArray=_dereq_("../../lib/str2rgbarray");function Heatmap(scene,uid){this.scene=scene;this.uid=uid;this.type="heatmapgl";this.name="";this.hoverinfo="all";this.xData=[];this.yData=[];this.zData=[];this.textLabels=[];this.idToIndex=[];this.bounds=[0,0,0,0];this.options={zsmooth:"fast",z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]};this.heatmap=createHeatmap2D(scene.glplot,this.options);this.heatmap._trace=this}var proto=Heatmap.prototype;proto.handlePick=function(pickResult){var options=this.options;var shape=options.shape;var index=pickResult.pointId;var xIndex=index%shape[0];var yIndex=Math.floor(index/shape[0]);var zIndex=index;return{trace:this,dataCoord:pickResult.dataCoord,traceCoord:[options.x[xIndex],options.y[yIndex],options.z[zIndex]],textLabel:this.textLabels[index],name:this.name,pointIndex:[yIndex,xIndex],hoverinfo:this.hoverinfo}};proto.update=function(fullTrace,calcTrace){var calcPt=calcTrace[0];this.index=fullTrace.index;this.name=fullTrace.name;this.hoverinfo=fullTrace.hoverinfo;var z=calcPt.z;this.options.z=[].concat.apply([],z);var rowLen=z[0].length;var colLen=z.length;this.options.shape=[rowLen,colLen];this.options.x=calcPt.x;this.options.y=calcPt.y;this.options.zsmooth=fullTrace.zsmooth;var colorOptions=convertColorscale(fullTrace);this.options.colorLevels=colorOptions.colorLevels;this.options.colorValues=colorOptions.colorValues;this.textLabels=[].concat.apply([],fullTrace.text);this.heatmap.update(this.options);var xa=this.scene.xaxis;var ya=this.scene.yaxis;var xOpts,yOpts;if(fullTrace.zsmooth===false){xOpts={ppad:calcPt.x[1]-calcPt.x[0]};yOpts={ppad:calcPt.y[1]-calcPt.y[0]}}fullTrace._extremes[xa._id]=Axes.findExtremes(xa,calcPt.x,xOpts);fullTrace._extremes[ya._id]=Axes.findExtremes(ya,calcPt.y,yOpts)};proto.dispose=function(){this.heatmap.dispose()};function convertColorscale(fullTrace){var scl=fullTrace.colorscale;var zmin=fullTrace.zmin;var zmax=fullTrace.zmax;var N=scl.length;var domain=new Array(N);var range=new Array(4*N);for(var i=0;i<N;i++){var si=scl[i];var color=str2RGBArray(si[1]);domain[i]=zmin+si[0]*(zmax-zmin);for(var j=0;j<4;j++){range[4*i+j]=color[j]}}return{colorLevels:domain,colorValues:range}}function createHeatmap(scene,fullTrace,calcTrace){var plot=new Heatmap(scene,fullTrace.uid);plot.update(fullTrace,calcTrace);return plot}module.exports=createHeatmap},{"../../lib/str2rgbarray":828,"../../plots/cartesian/axes":854,"gl-heatmap2d":278}],1102:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleXYZDefaults=_dereq_("../heatmap/xyz_defaults");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var validData=handleXYZDefaults(traceIn,traceOut,coerce,layout);if(!validData){traceOut.visible=false;return}coerce("text");coerce("zsmooth");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"z"})}},{"../../components/colorscale/defaults":676,"../../lib":803,"../heatmap/xyz_defaults":1099,"./attributes":1100}],1103:[function(_dereq_,module,exports){"use strict";var deprecationWarning=["*heatmapgl* trace is deprecated!","Please consider switching to the *heatmap* or *image* trace types.","Alternatively you could contribute/sponsor rewriting this trace type","based on cartesian features and using regl framework."].join(" ");module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../heatmap/colorbar"),calc:_dereq_("../heatmap/calc"),plot:_dereq_("./convert"),moduleType:"trace",name:"heatmapgl",basePlotModule:_dereq_("../../plots/gl2d"),categories:["gl","gl2d","2dMap"],meta:{}}},{"../../plots/gl2d":894,"../heatmap/calc":1086,"../heatmap/colorbar":1088,"./attributes":1100,"./convert":1101,"./defaults":1102}],1104:[function(_dereq_,module,exports){"use strict";var barAttrs=_dereq_("../bar/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var makeBinAttrs=_dereq_("./bin_attributes");var constants=_dereq_("./constants");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),text:extendFlat({},barAttrs.text,{}),hovertext:extendFlat({},barAttrs.hovertext,{}),orientation:barAttrs.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:false,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:makeBinAttrs("x",true),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:makeBinAttrs("y",true),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:hovertemplateAttrs({},{keys:constants.eventDataKeys}),marker:barAttrs.marker,offsetgroup:barAttrs.offsetgroup,alignmentgroup:barAttrs.alignmentgroup,selected:barAttrs.selected,unselected:barAttrs.unselected,_deprecated:{bardir:barAttrs._deprecated.bardir}}},{"../../lib/extend":793,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../bar/attributes":941,"./bin_attributes":1106,"./constants":1110}],1105:[function(_dereq_,module,exports){"use strict";module.exports=function doAvg(size,counts){var nMax=size.length;var total=0;for(var i=0;i<nMax;i++){if(counts[i]){size[i]/=counts[i];total+=size[i]}else size[i]=null}return total}},{}],1106:[function(_dereq_,module,exports){"use strict";module.exports=function makeBinAttrs(axLetter,match){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}},{}],1107:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");module.exports={count:function(n,i,size){size[n]++;return 1},sum:function(n,i,size,counterData){var v=counterData[i];if(isNumeric(v)){v=Number(v);size[n]+=v;return v}return 0},avg:function(n,i,size,counterData,counts){var v=counterData[i];if(isNumeric(v)){v=Number(v);size[n]+=v;counts[n]++}return 0},min:function(n,i,size,counterData){var v=counterData[i];if(isNumeric(v)){v=Number(v);if(!isNumeric(size[n])){size[n]=v;return v}else if(size[n]>v){var delta=v-size[n];size[n]=v;return delta}}return 0},max:function(n,i,size,counterData){var v=counterData[i];if(isNumeric(v)){v=Number(v);if(!isNumeric(size[n])){size[n]=v;return v}else if(size[n]<v){var delta=v-size[n];size[n]=v;return delta}}return 0}}},{"fast-isnumeric":249}],1108:[function(_dereq_,module,exports){"use strict";var numConstants=_dereq_("../../constants/numerical");var oneYear=numConstants.ONEAVGYEAR;var oneMonth=numConstants.ONEAVGMONTH;var oneDay=numConstants.ONEDAY;var oneHour=numConstants.ONEHOUR;var oneMin=numConstants.ONEMIN;var oneSec=numConstants.ONESEC;var tickIncrement=_dereq_("../../plots/cartesian/axes").tickIncrement;module.exports=function getBinSpanLabelRound(leftGap,rightGap,binEdges,pa,calendar){var dv0=-1.1*rightGap;var dv1=-.1*rightGap;var dv2=leftGap-dv1;var edge0=binEdges[0];var edge1=binEdges[1];var leftDigit=Math.min(biggestDigitChanged(edge0+dv1,edge0+dv2,pa,calendar),biggestDigitChanged(edge1+dv1,edge1+dv2,pa,calendar));var rightDigit=Math.min(biggestDigitChanged(edge0+dv0,edge0+dv1,pa,calendar),biggestDigitChanged(edge1+dv0,edge1+dv1,pa,calendar));var digit,disambiguateEdges;if(leftDigit>rightDigit&&rightDigit<Math.abs(edge1-edge0)/4e3){digit=leftDigit;disambiguateEdges=false}else{digit=Math.min(leftDigit,rightDigit);disambiguateEdges=true}if(pa.type==="date"&&digit>oneDay){var dashExclude=digit===oneYear?1:6;var increment=digit===oneYear?"M12":"M1";return function(v,isRightEdge){var dateStr=pa.c2d(v,oneYear,calendar);var dashPos=dateStr.indexOf("-",dashExclude);if(dashPos>0)dateStr=dateStr.substr(0,dashPos);var roundedV=pa.d2c(dateStr,0,calendar);if(roundedV<v){var nextV=tickIncrement(roundedV,increment,false,calendar);if((roundedV+nextV)/2<v+leftGap)roundedV=nextV}if(isRightEdge&&disambiguateEdges){return tickIncrement(roundedV,increment,true,calendar)}return roundedV}}return function(v,isRightEdge){var roundedV=digit*Math.round(v/digit);if(roundedV+digit/10<v&&roundedV+digit*.9<v+leftGap){roundedV+=digit}if(isRightEdge&&disambiguateEdges){roundedV-=digit}return roundedV}};function biggestDigitChanged(v1,v2,pa,calendar){if(v1*v2<=0)return Infinity;var dv=Math.abs(v2-v1);var isDate=pa.type==="date";var digit=biggestGuaranteedDigitChanged(dv,isDate);for(var i=0;i<10;i++){var nextDigit=biggestGuaranteedDigitChanged(digit*80,isDate);if(digit===nextDigit)break;if(didDigitChange(nextDigit,v1,v2,isDate,pa,calendar))digit=nextDigit;else break}return digit}function biggestGuaranteedDigitChanged(dv,isDate){if(isDate&&dv>oneSec){if(dv>oneDay){if(dv>oneYear*1.1)return oneYear;if(dv>oneMonth*1.1)return oneMonth;return oneDay}if(dv>oneHour)return oneHour;if(dv>oneMin)return oneMin;return oneSec}return Math.pow(10,Math.floor(Math.log(dv)/Math.LN10))}function didDigitChange(digit,v1,v2,isDate,pa,calendar){if(isDate&&digit>oneDay){var dateParts1=dateParts(v1,pa,calendar);var dateParts2=dateParts(v2,pa,calendar);var parti=digit===oneYear?0:1;return dateParts1[parti]!==dateParts2[parti]}return Math.floor(v2/digit)-Math.floor(v1/digit)>.1}function dateParts(v,pa,calendar){var parts=pa.c2d(v,oneYear,calendar).split("-");if(parts[0]===""){parts.unshift();parts[0]="-"+parts[0]}return parts}},{"../../constants/numerical":779,"../../plots/cartesian/axes":854}],1109:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var Axes=_dereq_("../../plots/cartesian/axes");var arraysToCalcdata=_dereq_("../bar/arrays_to_calcdata");var binFunctions=_dereq_("./bin_functions");var normFunctions=_dereq_("./norm_functions");var doAvg=_dereq_("./average");var getBinSpanLabelRound=_dereq_("./bin_label_vals");function calc(gd,trace){var pos=[];var size=[];var pa=Axes.getFromId(gd,trace.orientation==="h"?trace.yaxis:trace.xaxis);var mainData=trace.orientation==="h"?"y":"x";var counterData={x:"y",y:"x"}[mainData];var calendar=trace[mainData+"calendar"];var cumulativeSpec=trace.cumulative;var i;var binsAndPos=calcAllAutoBins(gd,trace,pa,mainData);var binSpec=binsAndPos[0];var pos0=binsAndPos[1];var nonuniformBins=typeof binSpec.size==="string";var binEdges=[];var bins=nonuniformBins?binEdges:binSpec;var inc=[];var counts=[];var inputPoints=[];var total=0;var norm=trace.histnorm;var func=trace.histfunc;var densityNorm=norm.indexOf("density")!==-1;var i2,binEnd,n;if(cumulativeSpec.enabled&&densityNorm){norm=norm.replace(/ ?density$/,"");densityNorm=false}var extremeFunc=func==="max"||func==="min";var sizeInit=extremeFunc?null:0;var binFunc=binFunctions.count;var normFunc=normFunctions[norm];var isAvg=false;var pr2c=function(v){return pa.r2c(v,0,calendar)};var rawCounterData;if(Lib.isArrayOrTypedArray(trace[counterData])&&func!=="count"){rawCounterData=trace[counterData];isAvg=func==="avg";binFunc=binFunctions[func]}i=pr2c(binSpec.start);binEnd=pr2c(binSpec.end)+(i-Axes.tickIncrement(i,binSpec.size,false,calendar))/1e6;while(i<binEnd&&pos.length<1e6){i2=Axes.tickIncrement(i,binSpec.size,false,calendar);pos.push((i+i2)/2);size.push(sizeInit);inputPoints.push([]);binEdges.push(i);if(densityNorm)inc.push(1/(i2-i));if(isAvg)counts.push(0);if(i2<=i)break;i=i2}binEdges.push(i);if(!nonuniformBins&&pa.type==="date"){bins={start:pr2c(bins.start),end:pr2c(bins.end),size:bins.size}}if(!gd._fullLayout._roundFnOpts)gd._fullLayout._roundFnOpts={};var groupName=trace["_"+mainData+"bingroup"];var roundFnOpts={leftGap:Infinity,rightGap:Infinity};if(groupName){if(!gd._fullLayout._roundFnOpts[groupName])gd._fullLayout._roundFnOpts[groupName]=roundFnOpts;roundFnOpts=gd._fullLayout._roundFnOpts[groupName]}var nMax=size.length;var uniqueValsPerBin=true;var leftGap=roundFnOpts.leftGap;var rightGap=roundFnOpts.rightGap;var ptNumber2cdIndex={};for(i=0;i<pos0.length;i++){var posi=pos0[i];n=Lib.findBin(posi,bins);if(n>=0&&n<nMax){total+=binFunc(n,i,size,rawCounterData,counts);if(uniqueValsPerBin&&inputPoints[n].length&&posi!==pos0[inputPoints[n][0]]){uniqueValsPerBin=false}inputPoints[n].push(i);ptNumber2cdIndex[i]=n;leftGap=Math.min(leftGap,posi-binEdges[n]);rightGap=Math.min(rightGap,binEdges[n+1]-posi)}}roundFnOpts.leftGap=leftGap;roundFnOpts.rightGap=rightGap;var roundFn;if(!uniqueValsPerBin){roundFn=function(v,isRightEdge){return function(){var roundFnOpts=gd._fullLayout._roundFnOpts[groupName];return getBinSpanLabelRound(roundFnOpts.leftGap,roundFnOpts.rightGap,binEdges,pa,calendar)(v,isRightEdge)}}}if(isAvg)total=doAvg(size,counts);if(normFunc)normFunc(size,total,inc);if(cumulativeSpec.enabled)cdf(size,cumulativeSpec.direction,cumulativeSpec.currentbin);var seriesLen=Math.min(pos.length,size.length);var cd=[];var firstNonzero=0;var lastNonzero=seriesLen-1;for(i=0;i<seriesLen;i++){if(size[i]){firstNonzero=i;break}}for(i=seriesLen-1;i>=firstNonzero;i--){if(size[i]){lastNonzero=i;break}}for(i=firstNonzero;i<=lastNonzero;i++){if(isNumeric(pos[i])&&isNumeric(size[i])){var cdi={p:pos[i],s:size[i],b:0};if(!cumulativeSpec.enabled){cdi.pts=inputPoints[i];if(uniqueValsPerBin){cdi.ph0=cdi.ph1=inputPoints[i].length?pos0[inputPoints[i][0]]:pos[i]}else{trace._computePh=true;cdi.ph0=roundFn(binEdges[i]);cdi.ph1=roundFn(binEdges[i+1],true)}}cd.push(cdi)}}if(cd.length===1){cd[0].width1=Axes.tickIncrement(cd[0].p,binSpec.size,false,calendar)-cd[0].p}arraysToCalcdata(cd,trace);if(Lib.isArrayOrTypedArray(trace.selectedpoints)){Lib.tagSelected(cd,trace,ptNumber2cdIndex)}return cd}function calcAllAutoBins(gd,trace,pa,mainData,_overlayEdgeCase){var binAttr=mainData+"bins";var fullLayout=gd._fullLayout;var groupName=trace["_"+mainData+"bingroup"];var binOpts=fullLayout._histogramBinOpts[groupName];var isOverlay=fullLayout.barmode==="overlay";var i,traces,tracei,calendar,pos0,autoVals,cumulativeSpec;var r2c=function(v){return pa.r2c(v,0,calendar)};var c2r=function(v){return pa.c2r(v,0,calendar)};var cleanBound=pa.type==="date"?function(v){return v||v===0?Lib.cleanDate(v,null,calendar):null}:function(v){return isNumeric(v)?Number(v):null};function setBound(attr,bins,newBins){if(bins[attr+"Found"]){bins[attr]=cleanBound(bins[attr]);if(bins[attr]===null)bins[attr]=newBins[attr]}else{autoVals[attr]=bins[attr]=newBins[attr];Lib.nestedProperty(traces[0],binAttr+"."+attr).set(newBins[attr])}}if(trace["_"+mainData+"autoBinFinished"]){delete trace["_"+mainData+"autoBinFinished"]}else{traces=binOpts.traces;var allPos=[];var isFirstVisible=true;var has2dMap=false;var hasHist2dContour=false;for(i=0;i<traces.length;i++){tracei=traces[i];if(tracei.visible){var mainDatai=binOpts.dirs[i];pos0=tracei["_"+mainDatai+"pos0"]=pa.makeCalcdata(tracei,mainDatai);allPos=Lib.concat(allPos,pos0);delete tracei["_"+mainData+"autoBinFinished"];if(trace.visible===true){if(isFirstVisible){isFirstVisible=false}else{delete tracei._autoBin;tracei["_"+mainData+"autoBinFinished"]=1}if(Registry.traceIs(tracei,"2dMap")){has2dMap=true}if(tracei.type==="histogram2dcontour"){hasHist2dContour=true}}}}calendar=traces[0][mainData+"calendar"];var newBinSpec=Axes.autoBin(allPos,pa,binOpts.nbins,has2dMap,calendar,binOpts.sizeFound&&binOpts.size);var autoBin=traces[0]._autoBin={};autoVals=autoBin[binOpts.dirs[0]]={};if(hasHist2dContour){if(!binOpts.size){newBinSpec.start=c2r(Axes.tickIncrement(r2c(newBinSpec.start),newBinSpec.size,true,calendar))}if(binOpts.end===undefined){newBinSpec.end=c2r(Axes.tickIncrement(r2c(newBinSpec.end),newBinSpec.size,false,calendar))}}if(isOverlay&&!Registry.traceIs(trace,"2dMap")&&newBinSpec._dataSpan===0&&pa.type!=="category"&&pa.type!=="multicategory"){if(_overlayEdgeCase)return[newBinSpec,pos0,true];newBinSpec=handleSingleValueOverlays(gd,trace,pa,mainData,binAttr)}cumulativeSpec=tracei.cumulative||{};if(cumulativeSpec.enabled&&cumulativeSpec.currentbin!=="include"){if(cumulativeSpec.direction==="decreasing"){newBinSpec.start=c2r(Axes.tickIncrement(r2c(newBinSpec.start),newBinSpec.size,true,calendar))}else{newBinSpec.end=c2r(Axes.tickIncrement(r2c(newBinSpec.end),newBinSpec.size,false,calendar))}}binOpts.size=newBinSpec.size;if(!binOpts.sizeFound){autoVals.size=newBinSpec.size;Lib.nestedProperty(traces[0],binAttr+".size").set(newBinSpec.size)}setBound("start",binOpts,newBinSpec);setBound("end",binOpts,newBinSpec)}pos0=trace["_"+mainData+"pos0"];delete trace["_"+mainData+"pos0"];var traceInputBins=trace._input[binAttr]||{};var traceBinOptsCalc=Lib.extendFlat({},binOpts);var mainStart=binOpts.start;var startIn=pa.r2l(traceInputBins.start);var hasStart=startIn!==undefined;if((binOpts.startFound||hasStart)&&startIn!==pa.r2l(mainStart)){var traceStart=hasStart?startIn:Lib.aggNums(Math.min,null,pos0);var dummyAx={type:pa.type==="category"||pa.type==="multicategory"?"linear":pa.type,r2l:pa.r2l,dtick:binOpts.size,tick0:mainStart,calendar:calendar,range:[traceStart,Axes.tickIncrement(traceStart,binOpts.size,false,calendar)].map(pa.l2r)};var newStart=Axes.tickFirst(dummyAx);if(newStart>pa.r2l(traceStart)){newStart=Axes.tickIncrement(newStart,binOpts.size,true,calendar)}traceBinOptsCalc.start=pa.l2r(newStart);if(!hasStart)Lib.nestedProperty(trace,binAttr+".start").set(traceBinOptsCalc.start)}var mainEnd=binOpts.end;var endIn=pa.r2l(traceInputBins.end);var hasEnd=endIn!==undefined;if((binOpts.endFound||hasEnd)&&endIn!==pa.r2l(mainEnd)){var traceEnd=hasEnd?endIn:Lib.aggNums(Math.max,null,pos0);traceBinOptsCalc.end=pa.l2r(traceEnd);if(!hasEnd)Lib.nestedProperty(trace,binAttr+".start").set(traceBinOptsCalc.end)}var autoBinAttr="autobin"+mainData;if(trace._input[autoBinAttr]===false){trace._input[binAttr]=Lib.extendFlat({},trace[binAttr]||{});delete trace._input[autoBinAttr];delete trace[autoBinAttr]}return[traceBinOptsCalc,pos0]}function handleSingleValueOverlays(gd,trace,pa,mainData,binAttr){var fullLayout=gd._fullLayout;var overlaidTraceGroup=getConnectedHistograms(gd,trace);var pastThisTrace=false;var minSize=Infinity;var singleValuedTraces=[trace];var i,tracei,binOpts;for(i=0;i<overlaidTraceGroup.length;i++){tracei=overlaidTraceGroup[i];if(tracei===trace){pastThisTrace=true}else if(!pastThisTrace){binOpts=fullLayout._histogramBinOpts[tracei["_"+mainData+"bingroup"]];minSize=Math.min(minSize,binOpts.size||tracei[binAttr].size)}else{var resulti=calcAllAutoBins(gd,tracei,pa,mainData,true);var binSpeci=resulti[0];var isSingleValued=resulti[2];tracei["_"+mainData+"autoBinFinished"]=1;tracei["_"+mainData+"pos0"]=resulti[1];if(isSingleValued){singleValuedTraces.push(tracei)}else{minSize=Math.min(minSize,binSpeci.size)}}}var dataVals=new Array(singleValuedTraces.length);for(i=0;i<singleValuedTraces.length;i++){var pos0=singleValuedTraces[i]["_"+mainData+"pos0"];for(var j=0;j<pos0.length;j++){if(pos0[j]!==undefined){dataVals[i]=pos0[j];break}}}if(!isFinite(minSize)){minSize=Lib.distinctVals(dataVals).minDiff}for(i=0;i<singleValuedTraces.length;i++){tracei=singleValuedTraces[i];var calendar=tracei[mainData+"calendar"];var newBins={start:pa.c2r(dataVals[i]-minSize/2,0,calendar),end:pa.c2r(dataVals[i]+minSize/2,0,calendar),size:minSize};tracei._input[binAttr]=tracei[binAttr]=newBins;binOpts=fullLayout._histogramBinOpts[tracei["_"+mainData+"bingroup"]];if(binOpts)Lib.extendFlat(binOpts,newBins)}return trace[binAttr]}function getConnectedHistograms(gd,trace){var xid=trace.xaxis;var yid=trace.yaxis;var orientation=trace.orientation;var out=[];var fullData=gd._fullData;for(var i=0;i<fullData.length;i++){var tracei=fullData[i];if(tracei.type==="histogram"&&tracei.visible===true&&tracei.orientation===orientation&&tracei.xaxis===xid&&tracei.yaxis===yid){out.push(tracei)}}return out}function cdf(size,direction,currentBin){var i,vi,prevSum;function firstHalfPoint(i){prevSum=size[i];size[i]/=2}function nextHalfPoint(i){vi=size[i];size[i]=prevSum+vi/2;prevSum+=vi}if(currentBin==="half"){if(direction==="increasing"){firstHalfPoint(0);for(i=1;i<size.length;i++){nextHalfPoint(i)}}else{firstHalfPoint(size.length-1);for(i=size.length-2;i>=0;i--){nextHalfPoint(i)}}}else if(direction==="increasing"){for(i=1;i<size.length;i++){size[i]+=size[i-1]}if(currentBin==="exclude"){size.unshift(0);size.pop()}}else{for(i=size.length-2;i>=0;i--){size[i]+=size[i+1]}if(currentBin==="exclude"){size.push(0);size.shift()}}}module.exports={calc:calc,calcAllAutoBins:calcAllAutoBins}},{"../../lib":803,"../../plots/cartesian/axes":854,"../../registry":931,"../bar/arrays_to_calcdata":940,"./average":1105,"./bin_functions":1107,"./bin_label_vals":1108,"./norm_functions":1116,"fast-isnumeric":249}],1110:[function(_dereq_,module,exports){"use strict";module.exports={eventDataKeys:["binNumber"]}},{}],1111:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var axisIds=_dereq_("../../plots/cartesian/axis_ids");var traceIs=_dereq_("../../registry").traceIs;var handleGroupingDefaults=_dereq_("../bar/defaults").handleGroupingDefaults;var nestedProperty=Lib.nestedProperty;var getAxisGroup=_dereq_("../../plots/cartesian/constraints").getAxisGroup;var BINATTRS=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}];var BINDIRECTIONS=["x","y"];module.exports=function crossTraceDefaults(fullData,fullLayout){var allBinOpts=fullLayout._histogramBinOpts={};var histTraces=[];var mustMatchTracesLookup={};var otherTracesList=[];var traceOut,traces,groupName,binDir;var i,j,k;function coerce(attr,dflt){return Lib.coerce(traceOut._input,traceOut,traceOut._module.attributes,attr,dflt)}function orientation2binDir(traceOut){return traceOut.orientation==="v"?"x":"y"}function getAxisType(traceOut,binDir){var ax=axisIds.getFromTrace({_fullLayout:fullLayout},traceOut,binDir);return ax.type}function fillBinOpts(traceOut,groupName,binDir){var fallbackGroupName=traceOut.uid+"__"+binDir;if(!groupName)groupName=fallbackGroupName;var axType=getAxisType(traceOut,binDir);var calendar=traceOut[binDir+"calendar"]||"";var binOpts=allBinOpts[groupName];var needsNewItem=true;if(binOpts){if(axType===binOpts.axType&&calendar===binOpts.calendar){needsNewItem=false;binOpts.traces.push(traceOut);binOpts.dirs.push(binDir)}else{groupName=fallbackGroupName;if(axType!==binOpts.axType){Lib.warn(["Attempted to group the bins of trace",traceOut.index,"set on a","type:"+axType,"axis","with bins on","type:"+binOpts.axType,"axis."].join(" "))}if(calendar!==binOpts.calendar){Lib.warn(["Attempted to group the bins of trace",traceOut.index,"set with a",calendar,"calendar","with bins",binOpts.calendar?"on a "+binOpts.calendar+" calendar":"w/o a set calendar"].join(" "))}}}if(needsNewItem){allBinOpts[groupName]={traces:[traceOut],dirs:[binDir],axType:axType,calendar:traceOut[binDir+"calendar"]||""}}traceOut["_"+binDir+"bingroup"]=groupName}for(i=0;i<fullData.length;i++){traceOut=fullData[i];if(traceIs(traceOut,"histogram")){histTraces.push(traceOut);delete traceOut._xautoBinFinished;delete traceOut._yautoBinFinished;if(!traceIs(traceOut,"2dMap")){handleGroupingDefaults(traceOut._input,traceOut,fullLayout,coerce)}}}var alignmentOpts=fullLayout._alignmentOpts||{};for(i=0;i<histTraces.length;i++){traceOut=histTraces[i];groupName="";if(!traceIs(traceOut,"2dMap")){binDir=orientation2binDir(traceOut);if(fullLayout.barmode==="group"&&traceOut.alignmentgroup){var pa=traceOut[binDir+"axis"];var aGroupId=getAxisGroup(fullLayout,pa)+traceOut.orientation;if((alignmentOpts[aGroupId]||{})[traceOut.alignmentgroup]){groupName=aGroupId}}if(!groupName&&fullLayout.barmode!=="overlay"){groupName=getAxisGroup(fullLayout,traceOut.xaxis)+getAxisGroup(fullLayout,traceOut.yaxis)+orientation2binDir(traceOut)}}if(groupName){if(!mustMatchTracesLookup[groupName]){mustMatchTracesLookup[groupName]=[]}mustMatchTracesLookup[groupName].push(traceOut)}else{otherTracesList.push(traceOut)}}for(groupName in mustMatchTracesLookup){traces=mustMatchTracesLookup[groupName];if(traces.length===1){otherTracesList.push(traces[0]);continue}var binGroupFound=false;if(traces.length){traceOut=traces[0];binGroupFound=coerce("bingroup")}groupName=binGroupFound||groupName;for(i=0;i<traces.length;i++){traceOut=traces[i];var bingroupIn=traceOut._input.bingroup;if(bingroupIn&&bingroupIn!==groupName){Lib.warn(["Trace",traceOut.index,"must match","within bingroup",groupName+".","Ignoring its bingroup:",bingroupIn,"setting."].join(" "))}traceOut.bingroup=groupName;fillBinOpts(traceOut,groupName,orientation2binDir(traceOut))}}for(i=0;i<otherTracesList.length;i++){traceOut=otherTracesList[i];var binGroup=coerce("bingroup");if(traceIs(traceOut,"2dMap")){for(k=0;k<2;k++){binDir=BINDIRECTIONS[k];var binGroupInDir=coerce(binDir+"bingroup",binGroup?binGroup+"__"+binDir:null);fillBinOpts(traceOut,binGroupInDir,binDir)}}else{fillBinOpts(traceOut,binGroup,orientation2binDir(traceOut))}}for(groupName in allBinOpts){var binOpts=allBinOpts[groupName];traces=binOpts.traces;for(j=0;j<BINATTRS.length;j++){var attrSpec=BINATTRS[j];var attr=attrSpec.name;var aStr;var autoVals;if(attr==="nbins"&&binOpts.sizeFound)continue;for(i=0;i<traces.length;i++){traceOut=traces[i];binDir=binOpts.dirs[i];aStr=attrSpec.aStr[binDir];if(nestedProperty(traceOut._input,aStr).get()!==undefined){binOpts[attr]=coerce(aStr);binOpts[attr+"Found"]=true;break}autoVals=(traceOut._autoBin||{})[binDir]||{};if(autoVals[attr]){nestedProperty(traceOut,aStr).set(autoVals[attr])}}if(attr==="start"||attr==="end"){for(;i<traces.length;i++){traceOut=traces[i];if(traceOut["_"+binDir+"bingroup"]){autoVals=(traceOut._autoBin||{})[binDir]||{};coerce(aStr,autoVals[attr])}}}if(attr==="nbins"&&!binOpts.sizeFound&&!binOpts.nbinsFound){traceOut=traces[0];binOpts[attr]=coerce(aStr)}}}}},{"../../lib":803,"../../plots/cartesian/axis_ids":858,"../../plots/cartesian/constraints":862,"../../registry":931,"../bar/defaults":945}],1112:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var handleStyleDefaults=_dereq_("../bar/style_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var x=coerce("x");var y=coerce("y");var cumulative=coerce("cumulative.enabled");if(cumulative){coerce("cumulative.direction");coerce("cumulative.currentbin")}coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("xhoverformat");coerce("yhoverformat");var orientation=coerce("orientation",y&&!x?"h":"v");var sampleLetter=orientation==="v"?"x":"y";var aggLetter=orientation==="v"?"y":"x";var len=x&&y?Math.min(Lib.minRowLength(x)&&Lib.minRowLength(y)):Lib.minRowLength(traceOut[sampleLetter]||[]);if(!len){traceOut.visible=false;return}traceOut._length=len;var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x","y"],layout);var hasAggregationData=traceOut[aggLetter];if(hasAggregationData)coerce("histfunc");coerce("histnorm");coerce("autobin"+sampleLetter);handleStyleDefaults(traceIn,traceOut,coerce,defaultColor,layout);Lib.coerceSelectionMarkerOpacity(traceOut,coerce);var lineColor=(traceOut.marker.line||{}).color;var errorBarsSupplyDefaults=Registry.getComponentMethod("errorbars","supplyDefaults");errorBarsSupplyDefaults(traceIn,traceOut,lineColor||Color.defaultLine,{axis:"y"});errorBarsSupplyDefaults(traceIn,traceOut,lineColor||Color.defaultLine,{axis:"x",inherit:"y"})}},{"../../components/color":666,"../../lib":803,"../../registry":931,"../bar/style_defaults":956,"./attributes":1104}],1113:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt,trace,cd,pointNumber){out.x="xVal"in pt?pt.xVal:pt.x;out.y="yVal"in pt?pt.yVal:pt.y;if("zLabelVal"in pt)out.z=pt.zLabelVal;if(pt.xa)out.xaxis=pt.xa;if(pt.ya)out.yaxis=pt.ya;if(!(trace.cumulative||{}).enabled){var pts=Array.isArray(pointNumber)?cd[0].pts[pointNumber[0]][pointNumber[1]]:cd[pointNumber].pts;out.pointNumbers=pts;out.binNumber=out.pointNumber;delete out.pointNumber;delete out.pointIndex;var pointIndices;if(trace._indexToPoints){pointIndices=[];for(var i=0;i<pts.length;i++){pointIndices=pointIndices.concat(trace._indexToPoints[pts[i]])}}else{pointIndices=pts}out.pointIndices=pointIndices}return out}},{}],1114:[function(_dereq_,module,exports){"use strict";var barHover=_dereq_("../bar/hover").hoverPoints;var hoverLabelText=_dereq_("../../plots/cartesian/axes").hoverLabelText;module.exports=function hoverPoints(pointData,xval,yval,hovermode,opts){var pts=barHover(pointData,xval,yval,hovermode,opts);if(!pts)return;pointData=pts[0];var di=pointData.cd[pointData.index];var trace=pointData.cd[0].trace;if(!trace.cumulative.enabled){var posLetter=trace.orientation==="h"?"y":"x";pointData[posLetter+"Label"]=hoverLabelText(pointData[posLetter+"a"],[di.ph0,di.ph1],trace[posLetter+"hoverformat"])}return pts}},{"../../plots/cartesian/axes":854,"../bar/hover":948}],1115:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("../bar/layout_attributes"),supplyDefaults:_dereq_("./defaults"),crossTraceDefaults:_dereq_("./cross_trace_defaults"),supplyLayoutDefaults:_dereq_("../bar/layout_defaults"),calc:_dereq_("./calc").calc,crossTraceCalc:_dereq_("../bar/cross_trace_calc").crossTraceCalc,plot:_dereq_("../bar/plot").plot,layerName:"barlayer",style:_dereq_("../bar/style").style,styleOnSelect:_dereq_("../bar/style").styleOnSelect,colorbar:_dereq_("../scatter/marker_colorbar"),hoverPoints:_dereq_("./hover"),selectPoints:_dereq_("../bar/select"),eventData:_dereq_("./event_data"),moduleType:"trace",name:"histogram",basePlotModule:_dereq_("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}},{"../../plots/cartesian":868,"../bar/cross_trace_calc":944,"../bar/layout_attributes":950,"../bar/layout_defaults":951,"../bar/plot":952,"../bar/select":953,"../bar/style":955,"../scatter/marker_colorbar":1236,"./attributes":1104,"./calc":1109,"./cross_trace_defaults":1111,"./defaults":1112,"./event_data":1113,"./hover":1114}],1116:[function(_dereq_,module,exports){"use strict";module.exports={percent:function(size,total){var nMax=size.length;var norm=100/total;for(var n=0;n<nMax;n++)size[n]*=norm},probability:function(size,total){var nMax=size.length;for(var n=0;n<nMax;n++)size[n]/=total},density:function(size,total,inc,yinc){var nMax=size.length;yinc=yinc||1;for(var n=0;n<nMax;n++)size[n]*=inc[n]*yinc},"probability density":function(size,total,inc,yinc){var nMax=size.length;if(yinc)total/=yinc;for(var n=0;n<nMax;n++)size[n]*=inc[n]/total}}},{}],1117:[function(_dereq_,module,exports){"use strict";var histogramAttrs=_dereq_("../histogram/attributes");var makeBinAttrs=_dereq_("../histogram/bin_attributes");var heatmapAttrs=_dereq_("../heatmap/attributes");var baseAttrs=_dereq_("../../plots/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports=extendFlat({x:histogramAttrs.x,y:histogramAttrs.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:histogramAttrs.histnorm,histfunc:histogramAttrs.histfunc,nbinsx:histogramAttrs.nbinsx,xbins:makeBinAttrs("x"),nbinsy:histogramAttrs.nbinsy,ybins:makeBinAttrs("y"),autobinx:histogramAttrs.autobinx,autobiny:histogramAttrs.autobiny,bingroup:extendFlat({},histogramAttrs.bingroup,{}),xbingroup:extendFlat({},histogramAttrs.bingroup,{}),ybingroup:extendFlat({},histogramAttrs.bingroup,{}),xgap:heatmapAttrs.xgap,ygap:heatmapAttrs.ygap,zsmooth:heatmapAttrs.zsmooth,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z",1),hovertemplate:hovertemplateAttrs({},{keys:"z"}),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})},colorScaleAttrs("",{cLetter:"z",autoColorDflt:false}))},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../heatmap/attributes":1085,"../histogram/attributes":1104,"../histogram/bin_attributes":1106}],1118:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var binFunctions=_dereq_("../histogram/bin_functions");var normFunctions=_dereq_("../histogram/norm_functions");var doAvg=_dereq_("../histogram/average");var getBinSpanLabelRound=_dereq_("../histogram/bin_label_vals");var calcAllAutoBins=_dereq_("../histogram/calc").calcAllAutoBins;module.exports=function calc(gd,trace){var xa=Axes.getFromId(gd,trace.xaxis);var ya=Axes.getFromId(gd,trace.yaxis);var xcalendar=trace.xcalendar;var ycalendar=trace.ycalendar;var xr2c=function(v){return xa.r2c(v,0,xcalendar)};var yr2c=function(v){return ya.r2c(v,0,ycalendar)};var xc2r=function(v){return xa.c2r(v,0,xcalendar)};var yc2r=function(v){return ya.c2r(v,0,ycalendar)};var i,j,n,m;var xBinsAndPos=calcAllAutoBins(gd,trace,xa,"x");var xBinSpec=xBinsAndPos[0];var xPos0=xBinsAndPos[1];var yBinsAndPos=calcAllAutoBins(gd,trace,ya,"y");var yBinSpec=yBinsAndPos[0];var yPos0=yBinsAndPos[1];var serieslen=trace._length;if(xPos0.length>serieslen)xPos0.splice(serieslen,xPos0.length-serieslen);if(yPos0.length>serieslen)yPos0.splice(serieslen,yPos0.length-serieslen);var z=[];var onecol=[];var zerocol=[];var nonuniformBinsX=typeof xBinSpec.size==="string";var nonuniformBinsY=typeof yBinSpec.size==="string";var xEdges=[];var yEdges=[];var xbins=nonuniformBinsX?xEdges:xBinSpec;var ybins=nonuniformBinsY?yEdges:yBinSpec;var total=0;var counts=[];var inputPoints=[];var norm=trace.histnorm;var func=trace.histfunc;var densitynorm=norm.indexOf("density")!==-1;var extremefunc=func==="max"||func==="min";var sizeinit=extremefunc?null:0;var binfunc=binFunctions.count;var normfunc=normFunctions[norm];var doavg=false;var xinc=[];var yinc=[];var rawCounterData="z"in trace?trace.z:"marker"in trace&&Array.isArray(trace.marker.color)?trace.marker.color:"";if(rawCounterData&&func!=="count"){doavg=func==="avg";binfunc=binFunctions[func]}var xBinSize=xBinSpec.size;var xBinStart=xr2c(xBinSpec.start);var xBinEnd=xr2c(xBinSpec.end)+(xBinStart-Axes.tickIncrement(xBinStart,xBinSize,false,xcalendar))/1e6;for(i=xBinStart;i<xBinEnd;i=Axes.tickIncrement(i,xBinSize,false,xcalendar)){onecol.push(sizeinit);xEdges.push(i);if(doavg)zerocol.push(0)}xEdges.push(i);var nx=onecol.length;var dx=(i-xBinStart)/nx;var x0=xc2r(xBinStart+dx/2);var yBinSize=yBinSpec.size;var yBinStart=yr2c(yBinSpec.start);var yBinEnd=yr2c(yBinSpec.end)+(yBinStart-Axes.tickIncrement(yBinStart,yBinSize,false,ycalendar))/1e6;for(i=yBinStart;i<yBinEnd;i=Axes.tickIncrement(i,yBinSize,false,ycalendar)){z.push(onecol.slice());yEdges.push(i);var ipCol=new Array(nx);for(j=0;j<nx;j++)ipCol[j]=[];inputPoints.push(ipCol);if(doavg)counts.push(zerocol.slice())}yEdges.push(i);var ny=z.length;var dy=(i-yBinStart)/ny;var y0=yc2r(yBinStart+dy/2);if(densitynorm){xinc=makeIncrements(onecol.length,xbins,dx,nonuniformBinsX);yinc=makeIncrements(z.length,ybins,dy,nonuniformBinsY)}if(!nonuniformBinsX&&xa.type==="date")xbins=binsToCalc(xr2c,xbins);if(!nonuniformBinsY&&ya.type==="date")ybins=binsToCalc(yr2c,ybins);var uniqueValsPerX=true;var uniqueValsPerY=true;var xVals=new Array(nx);var yVals=new Array(ny);var xGapLow=Infinity;var xGapHigh=Infinity;var yGapLow=Infinity;var yGapHigh=Infinity;for(i=0;i<serieslen;i++){var xi=xPos0[i];var yi=yPos0[i];n=Lib.findBin(xi,xbins);m=Lib.findBin(yi,ybins);if(n>=0&&n<nx&&m>=0&&m<ny){total+=binfunc(n,i,z[m],rawCounterData,counts[m]);inputPoints[m][n].push(i);if(uniqueValsPerX){if(xVals[n]===undefined)xVals[n]=xi;else if(xVals[n]!==xi)uniqueValsPerX=false}if(uniqueValsPerY){if(yVals[m]===undefined)yVals[m]=yi;else if(yVals[m]!==yi)uniqueValsPerY=false}xGapLow=Math.min(xGapLow,xi-xEdges[n]);xGapHigh=Math.min(xGapHigh,xEdges[n+1]-xi);yGapLow=Math.min(yGapLow,yi-yEdges[m]);yGapHigh=Math.min(yGapHigh,yEdges[m+1]-yi)}}if(doavg){for(m=0;m<ny;m++)total+=doAvg(z[m],counts[m])}if(normfunc){for(m=0;m<ny;m++)normfunc(z[m],total,xinc,yinc[m])}return{x:xPos0,xRanges:getRanges(xEdges,uniqueValsPerX&&xVals,xGapLow,xGapHigh,xa,xcalendar),x0:x0,dx:dx,y:yPos0,yRanges:getRanges(yEdges,uniqueValsPerY&&yVals,yGapLow,yGapHigh,ya,ycalendar),y0:y0,dy:dy,z:z,pts:inputPoints}};function makeIncrements(len,bins,dv,nonuniform){var out=new Array(len);var i;if(nonuniform){for(i=0;i<len;i++)out[i]=1/(bins[i+1]-bins[i])}else{var inc=1/dv;for(i=0;i<len;i++)out[i]=inc}return out}function binsToCalc(r2c,bins){return{start:r2c(bins.start),end:r2c(bins.end),size:bins.size}}function getRanges(edges,uniqueVals,gapLow,gapHigh,ax,calendar){var i;var len=edges.length-1;var out=new Array(len);var roundFn=getBinSpanLabelRound(gapLow,gapHigh,edges,ax,calendar);for(i=0;i<len;i++){var v=(uniqueVals||[])[i];out[i]=v===undefined?[roundFn(edges[i]),roundFn(edges[i+1],true)]:[v,v]}return out}},{"../../lib":803,"../../plots/cartesian/axes":854,"../histogram/average":1105,"../histogram/bin_functions":1107,"../histogram/bin_label_vals":1108,"../histogram/calc":1109,"../histogram/norm_functions":1116}],1119:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleSampleDefaults=_dereq_("./sample_defaults");var handleStyleDefaults=_dereq_("../heatmap/style_defaults");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}handleSampleDefaults(traceIn,traceOut,coerce,layout);if(traceOut.visible===false)return;handleStyleDefaults(traceIn,traceOut,coerce,layout);colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"z"});coerce("hovertemplate");coerce("xhoverformat");coerce("yhoverformat")}},{"../../components/colorscale/defaults":676,"../../lib":803,"../heatmap/style_defaults":1098,"./attributes":1117,"./sample_defaults":1122}],1120:[function(_dereq_,module,exports){"use strict";var heatmapHover=_dereq_("../heatmap/hover");var hoverLabelText=_dereq_("../../plots/cartesian/axes").hoverLabelText;module.exports=function hoverPoints(pointData,xval,yval,hovermode,opts){var pts=heatmapHover(pointData,xval,yval,hovermode,opts);if(!pts)return;pointData=pts[0];var indices=pointData.index;var ny=indices[0];var nx=indices[1];var cd0=pointData.cd[0];var trace=cd0.trace;var xRange=cd0.xRanges[nx];var yRange=cd0.yRanges[ny];pointData.xLabel=hoverLabelText(pointData.xa,[xRange[0],xRange[1]],trace.xhoverformat);pointData.yLabel=hoverLabelText(pointData.ya,[yRange[0],yRange[1]],trace.yhoverformat);return pts}},{"../../plots/cartesian/axes":854,"../heatmap/hover":1092}],1121:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),crossTraceDefaults:_dereq_("../histogram/cross_trace_defaults"),calc:_dereq_("../heatmap/calc"),plot:_dereq_("../heatmap/plot"),layerName:"heatmaplayer",colorbar:_dereq_("../heatmap/colorbar"),style:_dereq_("../heatmap/style"),hoverPoints:_dereq_("./hover"),eventData:_dereq_("../histogram/event_data"),moduleType:"trace",name:"histogram2d",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":868,"../heatmap/calc":1086,"../heatmap/colorbar":1088,"../heatmap/plot":1096,"../heatmap/style":1097,"../histogram/cross_trace_defaults":1111,"../histogram/event_data":1113,"./attributes":1117,"./defaults":1119,"./hover":1120}],1122:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");module.exports=function handleSampleDefaults(traceIn,traceOut,coerce,layout){var x=coerce("x");var y=coerce("y");var xlen=Lib.minRowLength(x);var ylen=Lib.minRowLength(y);if(!xlen||!ylen){traceOut.visible=false;return}traceOut._length=Math.min(xlen,ylen);var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x","y"],layout);var hasAggregationData=coerce("z")||coerce("marker.color");if(hasAggregationData)coerce("histfunc");coerce("histnorm");coerce("autobinx");coerce("autobiny")}},{"../../lib":803,"../../registry":931}],1123:[function(_dereq_,module,exports){"use strict";var histogram2dAttrs=_dereq_("../histogram2d/attributes");var contourAttrs=_dereq_("../contour/attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports=extendFlat({x:histogram2dAttrs.x,y:histogram2dAttrs.y,z:histogram2dAttrs.z,marker:histogram2dAttrs.marker,histnorm:histogram2dAttrs.histnorm,histfunc:histogram2dAttrs.histfunc,nbinsx:histogram2dAttrs.nbinsx,xbins:histogram2dAttrs.xbins,nbinsy:histogram2dAttrs.nbinsy,ybins:histogram2dAttrs.ybins,autobinx:histogram2dAttrs.autobinx,autobiny:histogram2dAttrs.autobiny,bingroup:histogram2dAttrs.bingroup,xbingroup:histogram2dAttrs.xbingroup,ybingroup:histogram2dAttrs.ybingroup,autocontour:contourAttrs.autocontour,ncontours:contourAttrs.ncontours,contours:contourAttrs.contours,line:{color:contourAttrs.line.color,width:extendFlat({},contourAttrs.line.width,{dflt:.5}),dash:contourAttrs.line.dash,smoothing:contourAttrs.line.smoothing,editType:"plot"},xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z",1),hovertemplate:histogram2dAttrs.hovertemplate},colorScaleAttrs("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/cartesian/axis_format_attributes":857,"../contour/attributes":1028,"../histogram2d/attributes":1117}],1124:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleSampleDefaults=_dereq_("../histogram2d/sample_defaults");var handleContoursDefaults=_dereq_("../contour/contours_defaults");var handleStyleDefaults=_dereq_("../contour/style_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}function coerce2(attr){return Lib.coerce2(traceIn,traceOut,attributes,attr)}handleSampleDefaults(traceIn,traceOut,coerce,layout);if(traceOut.visible===false)return;handleContoursDefaults(traceIn,traceOut,coerce,coerce2);handleStyleDefaults(traceIn,traceOut,coerce,layout);coerce("hovertemplate");coerce("xhoverformat");coerce("yhoverformat")}},{"../../lib":803,"../contour/contours_defaults":1035,"../contour/style_defaults":1049,"../histogram2d/sample_defaults":1122,"./attributes":1123}],1125:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),crossTraceDefaults:_dereq_("../histogram/cross_trace_defaults"),calc:_dereq_("../contour/calc"),plot:_dereq_("../contour/plot").plot,layerName:"contourlayer",style:_dereq_("../contour/style"),colorbar:_dereq_("../contour/colorbar"),hoverPoints:_dereq_("../contour/hover"),moduleType:"trace",name:"histogram2dcontour",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":868,"../contour/calc":1029,"../contour/colorbar":1031,"../contour/hover":1041,"../contour/plot":1046,"../contour/style":1048,"../histogram/cross_trace_defaults":1111,"./attributes":1123,"./defaults":1124}],1126:[function(_dereq_,module,exports){"use strict";var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var pieAttrs=_dereq_("../pie/attributes");var sunburstAttrs=_dereq_("../sunburst/attributes");var treemapAttrs=_dereq_("../treemap/attributes");var constants=_dereq_("../treemap/constants");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports={labels:sunburstAttrs.labels,parents:sunburstAttrs.parents,values:sunburstAttrs.values,branchvalues:sunburstAttrs.branchvalues,count:sunburstAttrs.count,level:sunburstAttrs.level,maxdepth:sunburstAttrs.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:treemapAttrs.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:extendFlat({colors:sunburstAttrs.marker.colors,line:sunburstAttrs.marker.line,editType:"calc"},colorScaleAttrs("marker",{colorAttr:"colors",anim:false})),leaf:sunburstAttrs.leaf,pathbar:treemapAttrs.pathbar,text:pieAttrs.text,textinfo:sunburstAttrs.textinfo,texttemplate:texttemplateAttrs({editType:"plot"},{keys:constants.eventDataKeys.concat(["label","value"])}),hovertext:pieAttrs.hovertext,hoverinfo:sunburstAttrs.hoverinfo,hovertemplate:hovertemplateAttrs({},{keys:constants.eventDataKeys}),textfont:pieAttrs.textfont,insidetextfont:pieAttrs.insidetextfont,outsidetextfont:treemapAttrs.outsidetextfont,textposition:treemapAttrs.textposition,sort:pieAttrs.sort,root:sunburstAttrs.root,domain:domainAttrs({name:"icicle",trace:true,editType:"calc"})}},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/domain":882,"../../plots/template_attributes":926,"../pie/attributes":1192,"../sunburst/attributes":1330,"../treemap/attributes":1356,"../treemap/constants":1359}],1127:[function(_dereq_,module,exports){"use strict";var plots=_dereq_("../../plots/plots");exports.name="icicle";exports.plot=function(gd,traces,transitionOpts,makeOnCompleteCallback){plots.plotBasePlot(exports.name,gd,traces,transitionOpts,makeOnCompleteCallback)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){plots.cleanBasePlot(exports.name,newFullData,newFullLayout,oldFullData,oldFullLayout)}},{"../../plots/plots":917}],1128:[function(_dereq_,module,exports){"use strict";var calc=_dereq_("../sunburst/calc");exports.calc=function(gd,trace){return calc.calc(gd,trace)};exports.crossTraceCalc=function(gd){return calc._runCrossTraceCalc("icicle",gd)}},{"../sunburst/calc":1332}],1129:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var Color=_dereq_("../../components/color");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var handleText=_dereq_("../bar/defaults").handleText;var TEXTPAD=_dereq_("../bar/constants").TEXTPAD;var Colorscale=_dereq_("../../components/colorscale");var hasColorscale=Colorscale.hasColorscale;var colorscaleDefaults=Colorscale.handleDefaults;module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var labels=coerce("labels");var parents=coerce("parents");if(!labels||!labels.length||!parents||!parents.length){traceOut.visible=false;return}var vals=coerce("values");if(vals&&vals.length){coerce("branchvalues")}else{coerce("count")}coerce("level");coerce("maxdepth");coerce("tiling.orientation");coerce("tiling.flip");coerce("tiling.pad");var text=coerce("text");coerce("texttemplate");if(!traceOut.texttemplate)coerce("textinfo",Array.isArray(text)?"text+label":"label");coerce("hovertext");coerce("hovertemplate");var hasPathbar=coerce("pathbar.visible");var textposition="auto";handleText(traceIn,traceOut,layout,coerce,textposition,{hasPathbar:hasPathbar,moduleHasSelected:false,moduleHasUnselected:false,moduleHasConstrain:false,moduleHasCliponaxis:false,moduleHasTextangle:false,moduleHasInsideanchor:false});coerce("textposition");var lineWidth=coerce("marker.line.width");if(lineWidth)coerce("marker.line.color",layout.paper_bgcolor);coerce("marker.colors");var withColorscale=traceOut._hasColorscale=hasColorscale(traceIn,"marker","colors")||(traceIn.marker||{}).coloraxis;if(withColorscale){colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"marker.",cLetter:"c"})}coerce("leaf.opacity",withColorscale?1:.7);traceOut._hovered={marker:{line:{width:2,color:Color.contrast(layout.paper_bgcolor)}}};if(hasPathbar){coerce("pathbar.thickness",traceOut.pathbar.textfont.size+2*TEXTPAD);coerce("pathbar.side");coerce("pathbar.edgeshape")}coerce("sort");coerce("root.color");handleDomainDefaults(traceOut,layout,coerce);traceOut._length=null}},{"../../components/color":666,"../../components/colorscale":678,"../../lib":803,"../../plots/domain":882,"../bar/constants":943,"../bar/defaults":945,"./attributes":1126}],1130:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var partition=_dereq_("./partition");var styleOne=_dereq_("./style").styleOne;var constants=_dereq_("../treemap/constants");var helpers=_dereq_("../sunburst/helpers");var attachFxHandlers=_dereq_("../sunburst/fx");var formatSliceLabel=_dereq_("../sunburst/plot").formatSliceLabel;var onPathbar=false;module.exports=function drawDescendants(gd,cd,entry,slices,opts){var width=opts.width;var height=opts.height;var viewX=opts.viewX;var viewY=opts.viewY;var pathSlice=opts.pathSlice;var toMoveInsideSlice=opts.toMoveInsideSlice;var strTransform=opts.strTransform;var hasTransition=opts.hasTransition;var handleSlicesExit=opts.handleSlicesExit;var makeUpdateSliceInterpolator=opts.makeUpdateSliceInterpolator;var makeUpdateTextInterpolator=opts.makeUpdateTextInterpolator;var prevEntry=opts.prevEntry;var refRect={};var fullLayout=gd._fullLayout;var cd0=cd[0];var trace=cd0.trace;var hasLeft=trace.textposition.indexOf("left")!==-1;var hasRight=trace.textposition.indexOf("right")!==-1;var hasBottom=trace.textposition.indexOf("bottom")!==-1;var allData=partition(entry,[width,height],{flipX:trace.tiling.flip.indexOf("x")>-1,flipY:trace.tiling.flip.indexOf("y")>-1,orientation:trace.tiling.orientation,pad:{inner:trace.tiling.pad},maxDepth:trace._maxDepth});var sliceData=allData.descendants();var minVisibleDepth=Infinity;var maxVisibleDepth=-Infinity;sliceData.forEach((function(pt){var depth=pt.depth;if(depth>=trace._maxDepth){pt.x0=pt.x1=(pt.x0+pt.x1)/2;pt.y0=pt.y1=(pt.y0+pt.y1)/2}else{minVisibleDepth=Math.min(minVisibleDepth,depth);maxVisibleDepth=Math.max(maxVisibleDepth,depth)}}));slices=slices.data(sliceData,helpers.getPtId);trace._maxVisibleLayers=isFinite(maxVisibleDepth)?maxVisibleDepth-minVisibleDepth+1:0;slices.enter().append("g").classed("slice",true);handleSlicesExit(slices,onPathbar,refRect,[width,height],pathSlice);slices.order();var nextOfPrevEntry=null;if(hasTransition&&prevEntry){var prevEntryId=helpers.getPtId(prevEntry);slices.each((function(pt){if(nextOfPrevEntry===null&&helpers.getPtId(pt)===prevEntryId){nextOfPrevEntry={x0:pt.x0,x1:pt.x1,y0:pt.y0,y1:pt.y1}}}))}var getRefRect=function(){return nextOfPrevEntry||{x0:0,x1:width,y0:0,y1:height}};var updateSlices=slices;if(hasTransition){updateSlices=updateSlices.transition().each("end",(function(){var sliceTop=d3.select(this);helpers.setSliceCursor(sliceTop,gd,{hideOnRoot:true,hideOnLeaves:false,isTransitioning:false})}))}updateSlices.each((function(pt){pt._x0=viewX(pt.x0);pt._x1=viewX(pt.x1);pt._y0=viewY(pt.y0);pt._y1=viewY(pt.y1);pt._hoverX=viewX(pt.x1-trace.tiling.pad),pt._hoverY=hasBottom?viewY(pt.y1-trace.tiling.pad/2):viewY(pt.y0+trace.tiling.pad/2);var sliceTop=d3.select(this);var slicePath=Lib.ensureSingle(sliceTop,"path","surface",(function(s){s.style("pointer-events","all")}));if(hasTransition){slicePath.transition().attrTween("d",(function(pt2){var interp=makeUpdateSliceInterpolator(pt2,onPathbar,getRefRect(),[width,height],{orientation:trace.tiling.orientation,flipX:trace.tiling.flip.indexOf("x")>-1,flipY:trace.tiling.flip.indexOf("y")>-1});return function(t){return pathSlice(interp(t))}}))}else{slicePath.attr("d",pathSlice)}sliceTop.call(attachFxHandlers,entry,gd,cd,{styleOne:styleOne,eventDataKeys:constants.eventDataKeys,transitionTime:constants.CLICK_TRANSITION_TIME,transitionEasing:constants.CLICK_TRANSITION_EASING}).call(helpers.setSliceCursor,gd,{isTransitioning:gd._transitioning});slicePath.call(styleOne,pt,trace,{hovered:false});if(pt.x0===pt.x1||pt.y0===pt.y1){pt._text=""}else{pt._text=formatSliceLabel(pt,entry,trace,cd,fullLayout)||""}var sliceTextGroup=Lib.ensureSingle(sliceTop,"g","slicetext");var sliceText=Lib.ensureSingle(sliceTextGroup,"text","",(function(s){s.attr("data-notex",1)}));var font=Lib.ensureUniformFontSize(gd,helpers.determineTextFont(trace,pt,fullLayout.font));sliceText.text(pt._text||" ").classed("slicetext",true).attr("text-anchor",hasRight?"end":hasLeft?"start":"middle").call(Drawing.font,font).call(svgTextUtils.convertToTspans,gd);pt.textBB=Drawing.bBox(sliceText.node());pt.transform=toMoveInsideSlice(pt,{fontSize:font.size});pt.transform.fontSize=font.size;if(hasTransition){sliceText.transition().attrTween("transform",(function(pt2){var interp=makeUpdateTextInterpolator(pt2,onPathbar,getRefRect(),[width,height]);return function(t){return strTransform(interp(t))}}))}else{sliceText.attr("transform",strTransform(pt))}}));return nextOfPrevEntry}},{"../../components/drawing":688,"../../lib":803,"../../lib/svg_text_utils":829,"../sunburst/fx":1335,"../sunburst/helpers":1336,"../sunburst/plot":1340,"../treemap/constants":1359,"./partition":1134,"./style":1136,"@plotly/d3":58}],1131:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"icicle",basePlotModule:_dereq_("./base_plot"),categories:[],animatable:true,attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults"),supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc").calc,crossTraceCalc:_dereq_("./calc").crossTraceCalc,plot:_dereq_("./plot"),style:_dereq_("./style").style,colorbar:_dereq_("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1236,"./attributes":1126,"./base_plot":1127,"./calc":1128,"./defaults":1129,"./layout_attributes":1132,"./layout_defaults":1133,"./plot":1135,"./style":1136}],1132:[function(_dereq_,module,exports){"use strict";module.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:true,editType:"calc"}}},{}],1133:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}coerce("iciclecolorway",layoutOut.colorway);coerce("extendiciclecolors")}},{"../../lib":803,"./layout_attributes":1132}],1134:[function(_dereq_,module,exports){"use strict";var d3Hierarchy=_dereq_("d3-hierarchy");var flipTree=_dereq_("../treemap/flip_tree");module.exports=function partition(entry,size,opts){var flipX=opts.flipX;var flipY=opts.flipY;var swapXY=opts.orientation==="h";var maxDepth=opts.maxDepth;var newWidth=size[0];var newHeight=size[1];if(maxDepth){newWidth=(entry.height+1)*size[0]/Math.min(entry.height+1,maxDepth);newHeight=(entry.height+1)*size[1]/Math.min(entry.height+1,maxDepth)}var result=d3Hierarchy.partition().padding(opts.pad.inner).size(swapXY?[size[1],newWidth]:[size[0],newHeight])(entry);if(swapXY||flipX||flipY){flipTree(result,size,{swapXY:swapXY,flipX:flipX,flipY:flipY})}return result}},{"../treemap/flip_tree":1364,"d3-hierarchy":170}],1135:[function(_dereq_,module,exports){"use strict";var draw=_dereq_("../treemap/draw");var drawDescendants=_dereq_("./draw_descendants");module.exports=function _plot(gd,cdmodule,transitionOpts,makeOnCompleteCallback){return draw(gd,cdmodule,transitionOpts,makeOnCompleteCallback,{type:"icicle",drawDescendants:drawDescendants})}},{"../treemap/draw":1361,"./draw_descendants":1130}],1136:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../../components/color");var Lib=_dereq_("../../lib");var resizeText=_dereq_("../bar/uniform_text").resizeText;function style(gd){var s=gd._fullLayout._iciclelayer.selectAll(".trace");resizeText(gd,s,"icicle");s.each((function(cd){var gTrace=d3.select(this);var cd0=cd[0];var trace=cd0.trace;gTrace.style("opacity",trace.opacity);gTrace.selectAll("path.surface").each((function(pt){d3.select(this).call(styleOne,pt,trace)}))}))}function styleOne(s,pt,trace){var cdi=pt.data.data;var isLeaf=!pt.children;var ptNumber=cdi.i;var lineColor=Lib.castOption(trace,ptNumber,"marker.line.color")||Color.defaultLine;var lineWidth=Lib.castOption(trace,ptNumber,"marker.line.width")||0;s.style("stroke-width",lineWidth).call(Color.fill,cdi.color).call(Color.stroke,lineColor).style("opacity",isLeaf?trace.leaf.opacity:null)}module.exports={style:style,styleOne:styleOne}},{"../../components/color":666,"../../lib":803,"../bar/uniform_text":957,"@plotly/d3":58}],1137:[function(_dereq_,module,exports){"use strict";var baseAttrs=_dereq_("../../plots/attributes");var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var extendFlat=_dereq_("../../lib/extend").extendFlat;var colormodel=_dereq_("./constants").colormodel;var cm=["rgb","rgba","rgba256","hsl","hsla"];var zminDesc=[];var zmaxDesc=[];for(var i=0;i<cm.length;i++){var cr=colormodel[cm[i]];zminDesc.push("For the `"+cm[i]+"` colormodel, it is ["+(cr.zminDflt||cr.min).join(", ")+"].");zmaxDesc.push("For the `"+cm[i]+"` colormodel, it is ["+(cr.zmaxDflt||cr.max).join(", ")+"].")}module.exports=extendFlat({source:{valType:"string",editType:"calc"},z:{valType:"data_array",editType:"calc"},colormodel:{valType:"enumerated",values:cm,editType:"calc"},zsmooth:{valType:"enumerated",values:["fast",false],dflt:false,editType:"plot"},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dx:{valType:"number",dflt:1,editType:"calc"},dy:{valType:"number",dflt:1,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"data_array",editType:"plot"},hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:hovertemplateAttrs({},{keys:["z","color","colormodel"]}),transforms:undefined})},{"../../lib/extend":793,"../../plots/attributes":850,"../../plots/template_attributes":926,"./constants":1139}],1138:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var constants=_dereq_("./constants");var isNumeric=_dereq_("fast-isnumeric");var Axes=_dereq_("../../plots/cartesian/axes");var maxRowLength=_dereq_("../../lib").maxRowLength;var getImageSize=_dereq_("./helpers").getImageSize;module.exports=function calc(gd,trace){var h;var w;if(trace._hasZ){h=trace.z.length;w=maxRowLength(trace.z)}else if(trace._hasSource){var size=getImageSize(trace.source);h=size.height;w=size.width}var xa=Axes.getFromId(gd,trace.xaxis||"x");var ya=Axes.getFromId(gd,trace.yaxis||"y");var x0=xa.d2c(trace.x0)-trace.dx/2;var y0=ya.d2c(trace.y0)-trace.dy/2;var i;var xrange=[x0,x0+w*trace.dx];var yrange=[y0,y0+h*trace.dy];if(xa&&xa.type==="log")for(i=0;i<w;i++)xrange.push(x0+i*trace.dx);if(ya&&ya.type==="log")for(i=0;i<h;i++)yrange.push(y0+i*trace.dy);trace._extremes[xa._id]=Axes.findExtremes(xa,xrange);trace._extremes[ya._id]=Axes.findExtremes(ya,yrange);trace._scaler=makeScaler(trace);var cd0={x0:x0,y0:y0,z:trace.z,w:w,h:h};return[cd0]};function scale(zero,ratio,min,max){return function(c){return Lib.constrain((c-zero)*ratio,min,max)}}function constrain(min,max){return function(c){return Lib.constrain(c,min,max)}}function makeScaler(trace){var cr=constants.colormodel[trace.colormodel];var colormodel=cr.colormodel||trace.colormodel;var n=colormodel.length;trace._sArray=[];for(var k=0;k<n;k++){if(cr.min[k]!==trace.zmin[k]||cr.max[k]!==trace.zmax[k]){trace._sArray.push(scale(trace.zmin[k],(cr.max[k]-cr.min[k])/(trace.zmax[k]-trace.zmin[k]),cr.min[k],cr.max[k]))}else{trace._sArray.push(constrain(cr.min[k],cr.max[k]))}}return function(pixel){var c=pixel.slice(0,n);for(var k=0;k<n;k++){var ck=c[k];if(!isNumeric(ck))return false;c[k]=trace._sArray[k](ck)}return c}}},{"../../lib":803,"../../plots/cartesian/axes":854,"./constants":1139,"./helpers":1142,"fast-isnumeric":249}],1139:[function(_dereq_,module,exports){"use strict";module.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(c){return c.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(c){return c.slice(0,4)},suffix:["","","",""]},rgba256:{colormodel:"rgba",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(c){return c.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(c){var p=c.slice(0,3);p[1]=p[1]+"%";p[2]=p[2]+"%";return p},suffix:["°","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(c){var p=c.slice(0,4);p[1]=p[1]+"%";p[2]=p[2]+"%";return p},suffix:["°","%","%",""]}},pixelatedStyle:["image-rendering: optimizeSpeed","image-rendering: -moz-crisp-edges","image-rendering: -o-crisp-edges","image-rendering: -webkit-optimize-contrast","image-rendering: optimize-contrast","image-rendering: crisp-edges","image-rendering: pixelated",""].join("; ")}},{}],1140:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var constants=_dereq_("./constants");var dataUri=_dereq_("../../snapshot/helpers").IMAGE_URL_PREFIX;module.exports=function supplyDefaults(traceIn,traceOut){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}coerce("source");if(traceOut.source&&!traceOut.source.match(dataUri))delete traceOut.source;traceOut._hasSource=!!traceOut.source;var z=coerce("z");traceOut._hasZ=!(z===undefined||!z.length||!z[0]||!z[0].length);if(!traceOut._hasZ&&!traceOut._hasSource){traceOut.visible=false;return}coerce("x0");coerce("y0");coerce("dx");coerce("dy");var cm;if(traceOut._hasZ){coerce("colormodel","rgb");cm=constants.colormodel[traceOut.colormodel];coerce("zmin",cm.zminDflt||cm.min);coerce("zmax",cm.zmaxDflt||cm.max)}else if(traceOut._hasSource){traceOut.colormodel="rgba256";cm=constants.colormodel[traceOut.colormodel];traceOut.zmin=cm.zminDflt;traceOut.zmax=cm.zmaxDflt}coerce("zsmooth");coerce("text");coerce("hovertext");coerce("hovertemplate");traceOut._length=null}},{"../../lib":803,"../../snapshot/helpers":935,"./attributes":1137,"./constants":1139}],1141:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt){if("xVal"in pt)out.x=pt.xVal;if("yVal"in pt)out.y=pt.yVal;if(pt.xa)out.xaxis=pt.xa;if(pt.ya)out.yaxis=pt.ya;out.color=pt.color;out.colormodel=pt.trace.colormodel;if(!out.z)out.z=pt.color;return out}},{}],1142:[function(_dereq_,module,exports){"use strict";var probeSync=_dereq_("probe-image-size/sync");var dataUri=_dereq_("../../snapshot/helpers").IMAGE_URL_PREFIX;var Buffer=_dereq_("buffer/").Buffer;exports.getImageSize=function(src){var data=src.replace(dataUri,"");var buff=new Buffer(data,"base64");return probeSync(buff)}},{"../../snapshot/helpers":935,"buffer/":117,"probe-image-size/sync":527}],1143:[function(_dereq_,module,exports){"use strict";var Fx=_dereq_("../../components/fx");var Lib=_dereq_("../../lib");var constants=_dereq_("./constants");module.exports=function hoverPoints(pointData,xval,yval){var cd0=pointData.cd[0];var trace=cd0.trace;var xa=pointData.xa;var ya=pointData.ya;if(Fx.inbox(xval-cd0.x0,xval-(cd0.x0+cd0.w*trace.dx),0)>0||Fx.inbox(yval-cd0.y0,yval-(cd0.y0+cd0.h*trace.dy),0)>0){return}var nx=Math.floor((xval-cd0.x0)/trace.dx);var ny=Math.floor(Math.abs(yval-cd0.y0)/trace.dy);var pixel;if(trace._hasZ){pixel=cd0.z[ny][nx]}else if(trace._hasSource){pixel=trace._canvas.el.getContext("2d").getImageData(nx,ny,1,1).data}if(!pixel)return;var hoverinfo=cd0.hi||trace.hoverinfo;var fmtColor;if(hoverinfo){var parts=hoverinfo.split("+");if(parts.indexOf("all")!==-1)parts=["color"];if(parts.indexOf("color")!==-1)fmtColor=true}var cr=constants.colormodel[trace.colormodel];var colormodel=cr.colormodel||trace.colormodel;var dims=colormodel.length;var c=trace._scaler(pixel);var s=cr.suffix;var colorstring=[];if(trace.hovertemplate||fmtColor){colorstring.push("["+[c[0]+s[0],c[1]+s[1],c[2]+s[2]].join(", "));if(dims===4)colorstring.push(", "+c[3]+s[3]);colorstring.push("]");colorstring=colorstring.join("");pointData.extraText=colormodel.toUpperCase()+": "+colorstring}var text;if(Array.isArray(trace.hovertext)&&Array.isArray(trace.hovertext[ny])){text=trace.hovertext[ny][nx]}else if(Array.isArray(trace.text)&&Array.isArray(trace.text[ny])){text=trace.text[ny][nx]}var py=ya.c2p(cd0.y0+(ny+.5)*trace.dy);var xVal=cd0.x0+(nx+.5)*trace.dx;var yVal=cd0.y0+(ny+.5)*trace.dy;var zLabel="["+pixel.slice(0,trace.colormodel.length).join(", ")+"]";return[Lib.extendFlat(pointData,{index:[ny,nx],x0:xa.c2p(cd0.x0+nx*trace.dx),x1:xa.c2p(cd0.x0+(nx+1)*trace.dx),y0:py,y1:py,color:c,xVal:xVal,xLabelVal:xVal,yVal:yVal,yLabelVal:yVal,zLabelVal:zLabel,text:text,hovertemplateLabels:{zLabel:zLabel,colorLabel:colorstring,"color[0]Label":c[0]+s[0],"color[1]Label":c[1]+s[1],"color[2]Label":c[2]+s[2],"color[3]Label":c[3]+s[3]}})]}},{"../../components/fx":706,"../../lib":803,"./constants":1139}],1144:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),style:_dereq_("./style"),hoverPoints:_dereq_("./hover"),eventData:_dereq_("./event_data"),moduleType:"trace",name:"image",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:false,meta:{}}},{"../../plots/cartesian":868,"./attributes":1137,"./calc":1138,"./defaults":1140,"./event_data":1141,"./hover":1143,"./plot":1145,"./style":1146}],1145:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");var constants=_dereq_("./constants");var unsupportedBrowsers=Lib.isIOS()||Lib.isSafari()||Lib.isIE();module.exports=function plot(gd,plotinfo,cdimage,imageLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var supportsPixelatedImage=!(unsupportedBrowsers||gd._context._exportedPlot);Lib.makeTraceGroups(imageLayer,cdimage,"im").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var trace=cd0.trace;var realImage=(trace.zsmooth==="fast"||trace.zsmooth===false&&supportsPixelatedImage)&&!trace._hasZ&&trace._hasSource&&xa.type==="linear"&&ya.type==="linear";trace._realImage=realImage;var z=cd0.z;var x0=cd0.x0;var y0=cd0.y0;var w=cd0.w;var h=cd0.h;var dx=trace.dx;var dy=trace.dy;var left,right,temp,top,bottom,i;i=0;while(left===undefined&&i<w){left=xa.c2p(x0+i*dx);i++}i=w;while(right===undefined&&i>0){right=xa.c2p(x0+i*dx);i--}i=0;while(top===undefined&&i<h){top=ya.c2p(y0+i*dy);i++}i=h;while(bottom===undefined&&i>0){bottom=ya.c2p(y0+i*dy);i--}if(right<left){temp=right;right=left;left=temp}if(bottom<top){temp=top;top=bottom;bottom=temp}if(!realImage){var extra=.5;left=Math.max(-extra*xa._length,left);right=Math.min((1+extra)*xa._length,right);top=Math.max(-extra*ya._length,top);bottom=Math.min((1+extra)*ya._length,bottom)}var imageWidth=Math.round(right-left);var imageHeight=Math.round(bottom-top);var isOffScreen=imageWidth<=0||imageHeight<=0;if(isOffScreen){var noImage=plotGroup.selectAll("image").data([]);noImage.exit().remove();return}function drawMagnifiedPixelsOnCanvas(readPixel){var canvas=document.createElement("canvas");canvas.width=imageWidth;canvas.height=imageHeight;var context=canvas.getContext("2d");var ipx=function(i){return Lib.constrain(Math.round(xa.c2p(x0+i*dx)-left),0,imageWidth)};var jpx=function(j){return Lib.constrain(Math.round(ya.c2p(y0+j*dy)-top),0,imageHeight)};var cr=constants.colormodel[trace.colormodel];var colormodel=cr.colormodel||trace.colormodel;var fmt=cr.fmt;var c;for(i=0;i<cd0.w;i++){var ipx0=ipx(i);var ipx1=ipx(i+1);if(ipx1===ipx0||isNaN(ipx1)||isNaN(ipx0))continue;for(var j=0;j<cd0.h;j++){var jpx0=jpx(j);var jpx1=jpx(j+1);if(jpx1===jpx0||isNaN(jpx1)||isNaN(jpx0)||!readPixel(i,j))continue;c=trace._scaler(readPixel(i,j));if(c){context.fillStyle=colormodel+"("+fmt(c).join(",")+")"}else{context.fillStyle="rgba(0,0,0,0)"}context.fillRect(ipx0,jpx0,ipx1-ipx0,jpx1-jpx0)}}return canvas}var image3=plotGroup.selectAll("image").data([cd]);image3.enter().append("svg:image").attr({xmlns:xmlnsNamespaces.svg,preserveAspectRatio:"none"});image3.exit().remove();var style=trace.zsmooth===false?constants.pixelatedStyle:"";if(realImage){var xRange=Lib.simpleMap(xa.range,xa.r2l);var yRange=Lib.simpleMap(ya.range,ya.r2l);var flipX=xRange[1]<xRange[0];var flipY=yRange[1]>yRange[0];if(flipX||flipY){var tx=left+imageWidth/2;var ty=top+imageHeight/2;style+="transform:"+strTranslate(tx+"px",ty+"px")+"scale("+(flipX?-1:1)+","+(flipY?-1:1)+")"+strTranslate(-tx+"px",-ty+"px")+";"}}image3.attr("style",style);var p=new Promise((function(resolve){if(trace._hasZ){resolve()}else if(trace._hasSource){if(trace._canvas&&trace._canvas.el.width===w&&trace._canvas.el.height===h&&trace._canvas.source===trace.source){resolve()}else{var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var context=canvas.getContext("2d");trace._image=trace._image||new Image;var image=trace._image;image.onload=function(){context.drawImage(image,0,0);trace._canvas={el:canvas,source:trace.source};resolve()};image.setAttribute("src",trace.source)}}})).then((function(){var href,canvas;if(trace._hasZ){canvas=drawMagnifiedPixelsOnCanvas((function(i,j){return z[j][i]}));href=canvas.toDataURL("image/png")}else if(trace._hasSource){if(realImage){href=trace.source}else{var context=trace._canvas.el.getContext("2d");var data=context.getImageData(0,0,w,h).data;canvas=drawMagnifiedPixelsOnCanvas((function(i,j){var index=4*(j*w+i);return[data[index],data[index+1],data[index+2],data[index+3]]}));href=canvas.toDataURL("image/png")}}image3.attr({"xlink:href":href,height:imageHeight,width:imageWidth,x:left,y:top})}));gd._promises.push(p)}))}},{"../../constants/xmlns_namespaces":780,"../../lib":803,"./constants":1139,"@plotly/d3":58}],1146:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");module.exports=function style(gd){d3.select(gd).selectAll(".im image").style("opacity",(function(d){return d[0].trace.opacity}))}},{"@plotly/d3":58}],1147:[function(_dereq_,module,exports){"use strict";var extendFlat=_dereq_("../../lib/extend").extendFlat;var extendDeep=_dereq_("../../lib/extend").extendDeep;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var fontAttrs=_dereq_("../../plots/font_attributes");var colorAttrs=_dereq_("../../components/color/attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var axesAttrs=_dereq_("../../plots/cartesian/layout_attributes");var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var delta=_dereq_("../../constants/delta.js");var descriptionOnlyNumbers=_dereq_("../../plots/cartesian/axis_format_attributes").descriptionOnlyNumbers;var textFontAttrs=fontAttrs({editType:"plot",colorEditType:"plot"});var gaugeBarAttrs={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:colorAttrs.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"};var rangeAttr={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"};var stepsAttrs=templatedArray("step",extendDeep({},gaugeBarAttrs,{range:rangeAttr}));module.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:true},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:domainAttrs({name:"indicator",trace:true,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:extendFlat({},textFontAttrs,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:descriptionOnlyNumbers("value")},font:extendFlat({},textFontAttrs,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:false},valueformat:{valType:"string",editType:"plot",description:descriptionOnlyNumbers("value")},increasing:{symbol:{valType:"string",dflt:delta.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:delta.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:delta.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:delta.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:extendFlat({},textFontAttrs,{}),editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:extendDeep({},gaugeBarAttrs,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:colorAttrs.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:overrideAll({range:rangeAttr,visible:extendFlat({},axesAttrs.visible,{dflt:true}),tickmode:axesAttrs.tickmode,nticks:axesAttrs.nticks,tick0:axesAttrs.tick0,dtick:axesAttrs.dtick,tickvals:axesAttrs.tickvals,ticktext:axesAttrs.ticktext,ticks:extendFlat({},axesAttrs.ticks,{dflt:"outside"}),ticklen:axesAttrs.ticklen,tickwidth:axesAttrs.tickwidth,tickcolor:axesAttrs.tickcolor,showticklabels:axesAttrs.showticklabels,tickfont:fontAttrs({}),tickangle:axesAttrs.tickangle,tickformat:axesAttrs.tickformat,tickformatstops:axesAttrs.tickformatstops,tickprefix:axesAttrs.tickprefix,showtickprefix:axesAttrs.showtickprefix,ticksuffix:axesAttrs.ticksuffix,showticksuffix:axesAttrs.showticksuffix,separatethousands:axesAttrs.separatethousands,exponentformat:axesAttrs.exponentformat,minexponent:axesAttrs.minexponent,showexponent:axesAttrs.showexponent,editType:"plot"},"plot"),steps:stepsAttrs,threshold:{line:{color:extendFlat({},gaugeBarAttrs.line.color,{}),width:extendFlat({},gaugeBarAttrs.line.width,{dflt:1}),editType:"plot"},thickness:extendFlat({},gaugeBarAttrs.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:false},editType:"plot"},editType:"plot"}}},{"../../components/color/attributes":665,"../../constants/delta.js":773,"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plot_api/plot_template":843,"../../plots/cartesian/axis_format_attributes":857,"../../plots/cartesian/layout_attributes":869,"../../plots/domain":882,"../../plots/font_attributes":883}],1148:[function(_dereq_,module,exports){"use strict";var plots=_dereq_("../../plots/plots");exports.name="indicator";exports.plot=function(gd,traces,transitionOpts,makeOnCompleteCallback){plots.plotBasePlot(exports.name,gd,traces,transitionOpts,makeOnCompleteCallback)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){plots.cleanBasePlot(exports.name,newFullData,newFullLayout,oldFullData,oldFullLayout)}},{"../../plots/plots":917}],1149:[function(_dereq_,module,exports){"use strict";function calc(gd,trace){var cd=[];var lastReading=trace.value;if(!(typeof trace._lastValue==="number"))trace._lastValue=trace.value;var secondLastReading=trace._lastValue;var deltaRef=secondLastReading;if(trace._hasDelta&&typeof trace.delta.reference==="number"){deltaRef=trace.delta.reference}cd[0]={y:lastReading,lastY:secondLastReading,delta:lastReading-deltaRef,relativeDelta:(lastReading-deltaRef)/deltaRef};return cd}module.exports={calc:calc}},{}],1150:[function(_dereq_,module,exports){"use strict";module.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},{}],1151:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var Template=_dereq_("../../plot_api/plot_template");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var cn=_dereq_("./constants.js");var handleTickValueDefaults=_dereq_("../../plots/cartesian/tick_value_defaults");var handleTickMarkDefaults=_dereq_("../../plots/cartesian/tick_mark_defaults");var handleTickLabelDefaults=_dereq_("../../plots/cartesian/tick_label_defaults");function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}handleDomainDefaults(traceOut,layout,coerce);coerce("mode");traceOut._hasNumber=traceOut.mode.indexOf("number")!==-1;traceOut._hasDelta=traceOut.mode.indexOf("delta")!==-1;traceOut._hasGauge=traceOut.mode.indexOf("gauge")!==-1;var value=coerce("value");traceOut._range=[0,typeof value==="number"?1.5*value:1];var auto=new Array(2);var bignumberFontSize;if(traceOut._hasNumber){coerce("number.valueformat");coerce("number.font.color",layout.font.color);coerce("number.font.family",layout.font.family);coerce("number.font.size");if(traceOut.number.font.size===undefined){traceOut.number.font.size=cn.defaultNumberFontSize;auto[0]=true}coerce("number.prefix");coerce("number.suffix");bignumberFontSize=traceOut.number.font.size}var deltaFontSize;if(traceOut._hasDelta){coerce("delta.font.color",layout.font.color);coerce("delta.font.family",layout.font.family);coerce("delta.font.size");if(traceOut.delta.font.size===undefined){traceOut.delta.font.size=(traceOut._hasNumber?.5:1)*(bignumberFontSize||cn.defaultNumberFontSize);auto[1]=true}coerce("delta.reference",traceOut.value);coerce("delta.relative");coerce("delta.valueformat",traceOut.delta.relative?"2%":"");coerce("delta.increasing.symbol");coerce("delta.increasing.color");coerce("delta.decreasing.symbol");coerce("delta.decreasing.color");coerce("delta.position");deltaFontSize=traceOut.delta.font.size}traceOut._scaleNumbers=(!traceOut._hasNumber||auto[0])&&(!traceOut._hasDelta||auto[1])||false;coerce("title.font.color",layout.font.color);coerce("title.font.family",layout.font.family);coerce("title.font.size",.25*(bignumberFontSize||deltaFontSize||cn.defaultNumberFontSize));coerce("title.text");var gaugeIn,gaugeOut,axisIn,axisOut;function coerceGauge(attr,dflt){return Lib.coerce(gaugeIn,gaugeOut,attributes.gauge,attr,dflt)}function coerceGaugeAxis(attr,dflt){return Lib.coerce(axisIn,axisOut,attributes.gauge.axis,attr,dflt)}if(traceOut._hasGauge){gaugeIn=traceIn.gauge;if(!gaugeIn)gaugeIn={};gaugeOut=Template.newContainer(traceOut,"gauge");coerceGauge("shape");var isBullet=traceOut._isBullet=traceOut.gauge.shape==="bullet";if(!isBullet){coerce("title.align","center")}var isAngular=traceOut._isAngular=traceOut.gauge.shape==="angular";if(!isAngular){coerce("align","center")}coerceGauge("bgcolor",layout.paper_bgcolor);coerceGauge("borderwidth");coerceGauge("bordercolor");coerceGauge("bar.color");coerceGauge("bar.line.color");coerceGauge("bar.line.width");var defaultBarThickness=cn.valueThickness*(traceOut.gauge.shape==="bullet"?.5:1);coerceGauge("bar.thickness",defaultBarThickness);handleArrayContainerDefaults(gaugeIn,gaugeOut,{name:"steps",handleItemDefaults:stepDefaults});coerceGauge("threshold.value");coerceGauge("threshold.thickness");coerceGauge("threshold.line.width");coerceGauge("threshold.line.color");axisIn={};if(gaugeIn)axisIn=gaugeIn.axis||{};axisOut=Template.newContainer(gaugeOut,"axis");coerceGaugeAxis("visible");traceOut._range=coerceGaugeAxis("range",traceOut._range);var opts={outerTicks:true};handleTickValueDefaults(axisIn,axisOut,coerceGaugeAxis,"linear");handleTickLabelDefaults(axisIn,axisOut,coerceGaugeAxis,"linear",opts);handleTickMarkDefaults(axisIn,axisOut,coerceGaugeAxis,opts)}else{coerce("title.align","center");coerce("align","center");traceOut._isAngular=traceOut._isBullet=false}traceOut._length=null}function stepDefaults(stepIn,stepOut){function coerce(attr,dflt){return Lib.coerce(stepIn,stepOut,attributes.gauge.steps,attr,dflt)}coerce("color");coerce("line.color");coerce("line.width");coerce("range");coerce("thickness")}module.exports={supplyDefaults:supplyDefaults}},{"../../lib":803,"../../plot_api/plot_template":843,"../../plots/array_container_defaults":849,"../../plots/cartesian/tick_label_defaults":876,"../../plots/cartesian/tick_mark_defaults":877,"../../plots/cartesian/tick_value_defaults":878,"../../plots/domain":882,"./attributes":1147,"./constants.js":1150}],1152:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"indicator",basePlotModule:_dereq_("./base_plot"),categories:["svg","noOpacity","noHover"],animatable:true,attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,calc:_dereq_("./calc").calc,plot:_dereq_("./plot"),meta:{}}},{"./attributes":1147,"./base_plot":1148,"./calc":1149,"./defaults":1151,"./plot":1153}],1153:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var interpolate=_dereq_("d3-interpolate").interpolate;var interpolateNumber=_dereq_("d3-interpolate").interpolateNumber;var Lib=_dereq_("../../lib");var strScale=Lib.strScale;var strTranslate=Lib.strTranslate;var rad2deg=Lib.rad2deg;var MID_SHIFT=_dereq_("../../constants/alignment").MID_SHIFT;var Drawing=_dereq_("../../components/drawing");var cn=_dereq_("./constants");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Axes=_dereq_("../../plots/cartesian/axes");var handleAxisDefaults=_dereq_("../../plots/cartesian/axis_defaults");var handleAxisPositionDefaults=_dereq_("../../plots/cartesian/position_defaults");var axisLayoutAttrs=_dereq_("../../plots/cartesian/layout_attributes");var Color=_dereq_("../../components/color");var anchor={left:"start",center:"middle",right:"end"};var position={left:0,center:.5,right:1};var SI_PREFIX=/[yzafpnµmkMGTPEZY]/;function hasTransition(transitionOpts){return transitionOpts&&transitionOpts.duration>0}module.exports=function plot(gd,cdModule,transitionOpts,makeOnCompleteCallback){var fullLayout=gd._fullLayout;var onComplete;if(hasTransition(transitionOpts)){if(makeOnCompleteCallback){onComplete=makeOnCompleteCallback()}}Lib.makeTraceGroups(fullLayout._indicatorlayer,cdModule,"trace").each((function(cd){var cd0=cd[0];var trace=cd0.trace;var plotGroup=d3.select(this);var hasGauge=trace._hasGauge;var isAngular=trace._isAngular;var isBullet=trace._isBullet;var domain=trace.domain;var size={w:fullLayout._size.w*(domain.x[1]-domain.x[0]),h:fullLayout._size.h*(domain.y[1]-domain.y[0]),l:fullLayout._size.l+fullLayout._size.w*domain.x[0],r:fullLayout._size.r+fullLayout._size.w*(1-domain.x[1]),t:fullLayout._size.t+fullLayout._size.h*(1-domain.y[1]),b:fullLayout._size.b+fullLayout._size.h*domain.y[0]};var centerX=size.l+size.w/2;var centerY=size.t+size.h/2;var radius=Math.min(size.w/2,size.h);var innerRadius=cn.innerRadius*radius;var numbersX,numbersY,numbersScaler;var numbersAlign=trace.align||"center";numbersY=centerY;if(!hasGauge){numbersX=size.l+position[numbersAlign]*size.w;numbersScaler=function(el){return fitTextInsideBox(el,size.w,size.h)}}else{if(isAngular){numbersX=centerX;numbersY=centerY+radius/2;numbersScaler=function(el){return fitTextInsideCircle(el,.9*innerRadius)}}if(isBullet){var padding=cn.bulletPadding;var p=1-cn.bulletNumberDomainSize+padding;numbersX=size.l+(p+(1-p)*position[numbersAlign])*size.w;numbersScaler=function(el){return fitTextInsideBox(el,(cn.bulletNumberDomainSize-padding)*size.w,size.h)}}}drawNumbers(gd,plotGroup,cd,{numbersX:numbersX,numbersY:numbersY,numbersScaler:numbersScaler,transitionOpts:transitionOpts,onComplete:onComplete});var gaugeBg,gaugeOutline;if(hasGauge){gaugeBg={range:trace.gauge.axis.range,color:trace.gauge.bgcolor,line:{color:trace.gauge.bordercolor,width:0},thickness:1};gaugeOutline={range:trace.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:trace.gauge.bordercolor,width:trace.gauge.borderwidth},thickness:1}}var angularGauge=plotGroup.selectAll("g.angular").data(isAngular?cd:[]);angularGauge.exit().remove();var angularaxisLayer=plotGroup.selectAll("g.angularaxis").data(isAngular?cd:[]);angularaxisLayer.exit().remove();if(isAngular){drawAngularGauge(gd,plotGroup,cd,{radius:radius,innerRadius:innerRadius,gauge:angularGauge,layer:angularaxisLayer,size:size,gaugeBg:gaugeBg,gaugeOutline:gaugeOutline,transitionOpts:transitionOpts,onComplete:onComplete})}var bulletGauge=plotGroup.selectAll("g.bullet").data(isBullet?cd:[]);bulletGauge.exit().remove();var bulletaxisLayer=plotGroup.selectAll("g.bulletaxis").data(isBullet?cd:[]);bulletaxisLayer.exit().remove();if(isBullet){drawBulletGauge(gd,plotGroup,cd,{gauge:bulletGauge,layer:bulletaxisLayer,size:size,gaugeBg:gaugeBg,gaugeOutline:gaugeOutline,transitionOpts:transitionOpts,onComplete:onComplete})}var title=plotGroup.selectAll("text.title").data(cd);title.exit().remove();title.enter().append("text").classed("title",true);title.attr("text-anchor",(function(){return isBullet?anchor.right:anchor[trace.title.align]})).text(trace.title.text).call(Drawing.font,trace.title.font).call(svgTextUtils.convertToTspans,gd);title.attr("transform",(function(){var titleX=size.l+size.w*position[trace.title.align];var titleY;var titlePadding=cn.titlePadding;var titlebBox=Drawing.bBox(title.node());if(hasGauge){if(isAngular){if(trace.gauge.axis.visible){var bBox=Drawing.bBox(angularaxisLayer.node());titleY=bBox.top-titlePadding-titlebBox.bottom}else{titleY=size.t+size.h/2-radius/2-titlebBox.bottom-titlePadding}}if(isBullet){titleY=numbersY-(titlebBox.top+titlebBox.bottom)/2;titleX=size.l-cn.bulletPadding*size.w}}else{titleY=trace._numbersTop-titlePadding-titlebBox.bottom}return strTranslate(titleX,titleY)}))}))};function drawBulletGauge(gd,plotGroup,cd,opts){var trace=cd[0].trace;var bullet=opts.gauge;var axisLayer=opts.layer;var gaugeBg=opts.gaugeBg;var gaugeOutline=opts.gaugeOutline;var size=opts.size;var domain=trace.domain;var transitionOpts=opts.transitionOpts;var onComplete=opts.onComplete;var ax,vals,transFn,tickSign,shift;bullet.enter().append("g").classed("bullet",true);bullet.attr("transform",strTranslate(size.l,size.t));axisLayer.enter().append("g").classed("bulletaxis",true).classed("crisp",true);axisLayer.selectAll("g."+"xbulletaxis"+"tick,path,text").remove();var bulletHeight=size.h;var innerBulletHeight=trace.gauge.bar.thickness*bulletHeight;var bulletLeft=domain.x[0];var bulletRight=domain.x[0]+(domain.x[1]-domain.x[0])*(trace._hasNumber||trace._hasDelta?1-cn.bulletNumberDomainSize:1);ax=mockAxis(gd,trace.gauge.axis);ax._id="xbulletaxis";ax.domain=[bulletLeft,bulletRight];ax.setScale();vals=Axes.calcTicks(ax);transFn=Axes.makeTransTickFn(ax);tickSign=Axes.getTickSigns(ax)[2];shift=size.t+size.h;if(ax.visible){Axes.drawTicks(gd,ax,{vals:ax.ticks==="inside"?Axes.clipEnds(ax,vals):vals,layer:axisLayer,path:Axes.makeTickPath(ax,shift,tickSign),transFn:transFn});Axes.drawLabels(gd,ax,{vals:vals,layer:axisLayer,transFn:transFn,labelFns:Axes.makeLabelFns(ax,shift)})}function drawRect(s){s.attr("width",(function(d){return Math.max(0,ax.c2p(d.range[1])-ax.c2p(d.range[0]))})).attr("x",(function(d){return ax.c2p(d.range[0])})).attr("y",(function(d){return.5*(1-d.thickness)*bulletHeight})).attr("height",(function(d){return d.thickness*bulletHeight}))}var boxes=[gaugeBg].concat(trace.gauge.steps);var bgBullet=bullet.selectAll("g.bg-bullet").data(boxes);bgBullet.enter().append("g").classed("bg-bullet",true).append("rect");bgBullet.select("rect").call(drawRect).call(styleShape);bgBullet.exit().remove();var fgBullet=bullet.selectAll("g.value-bullet").data([trace.gauge.bar]);fgBullet.enter().append("g").classed("value-bullet",true).append("rect");fgBullet.select("rect").attr("height",innerBulletHeight).attr("y",(bulletHeight-innerBulletHeight)/2).call(styleShape);if(hasTransition(transitionOpts)){fgBullet.select("rect").transition().duration(transitionOpts.duration).ease(transitionOpts.easing).each("end",(function(){onComplete&&onComplete()})).each("interrupt",(function(){onComplete&&onComplete()})).attr("width",Math.max(0,ax.c2p(Math.min(trace.gauge.axis.range[1],cd[0].y))))}else{fgBullet.select("rect").attr("width",typeof cd[0].y==="number"?Math.max(0,ax.c2p(Math.min(trace.gauge.axis.range[1],cd[0].y))):0)}fgBullet.exit().remove();var data=cd.filter((function(){return trace.gauge.threshold.value||trace.gauge.threshold.value===0}));var threshold=bullet.selectAll("g.threshold-bullet").data(data);threshold.enter().append("g").classed("threshold-bullet",true).append("line");threshold.select("line").attr("x1",ax.c2p(trace.gauge.threshold.value)).attr("x2",ax.c2p(trace.gauge.threshold.value)).attr("y1",(1-trace.gauge.threshold.thickness)/2*bulletHeight).attr("y2",(1-(1-trace.gauge.threshold.thickness)/2)*bulletHeight).call(Color.stroke,trace.gauge.threshold.line.color).style("stroke-width",trace.gauge.threshold.line.width);threshold.exit().remove();var bulletOutline=bullet.selectAll("g.gauge-outline").data([gaugeOutline]);bulletOutline.enter().append("g").classed("gauge-outline",true).append("rect");bulletOutline.select("rect").call(drawRect).call(styleShape);bulletOutline.exit().remove()}function drawAngularGauge(gd,plotGroup,cd,opts){var trace=cd[0].trace;var size=opts.size;var radius=opts.radius;var innerRadius=opts.innerRadius;var gaugeBg=opts.gaugeBg;var gaugeOutline=opts.gaugeOutline;var gaugePosition=[size.l+size.w/2,size.t+size.h/2+radius/2];var gauge=opts.gauge;var axisLayer=opts.layer;var transitionOpts=opts.transitionOpts;var onComplete=opts.onComplete;var theta=Math.PI/2;function valueToAngle(v){var min=trace.gauge.axis.range[0];var max=trace.gauge.axis.range[1];var angle=(v-min)/(max-min)*Math.PI-theta;if(angle<-theta)return-theta;if(angle>theta)return theta;return angle}function arcPathGenerator(size){return d3.svg.arc().innerRadius((innerRadius+radius)/2-size/2*(radius-innerRadius)).outerRadius((innerRadius+radius)/2+size/2*(radius-innerRadius)).startAngle(-theta)}function drawArc(p){p.attr("d",(function(d){return arcPathGenerator(d.thickness).startAngle(valueToAngle(d.range[0])).endAngle(valueToAngle(d.range[1]))()}))}var ax,vals,transFn,tickSign;gauge.enter().append("g").classed("angular",true);gauge.attr("transform",strTranslate(gaugePosition[0],gaugePosition[1]));axisLayer.enter().append("g").classed("angularaxis",true).classed("crisp",true);axisLayer.selectAll("g."+"xangularaxis"+"tick,path,text").remove();ax=mockAxis(gd,trace.gauge.axis);ax.type="linear";ax.range=trace.gauge.axis.range;ax._id="xangularaxis";ax.ticklabeloverflow="allow";ax.setScale();var t2g=function(d){return(ax.range[0]-d.x)/(ax.range[1]-ax.range[0])*Math.PI+Math.PI};var labelFns={};var out=Axes.makeLabelFns(ax,0);var labelStandoff=out.labelStandoff;labelFns.xFn=function(d){var rad=t2g(d);return Math.cos(rad)*labelStandoff};labelFns.yFn=function(d){var rad=t2g(d);var ff=Math.sin(rad)>0?.2:1;return-Math.sin(rad)*(labelStandoff+d.fontSize*ff)+Math.abs(Math.cos(rad))*(d.fontSize*MID_SHIFT)};labelFns.anchorFn=function(d){var rad=t2g(d);var cos=Math.cos(rad);return Math.abs(cos)<.1?"middle":cos>0?"start":"end"};labelFns.heightFn=function(d,a,h){var rad=t2g(d);return-.5*(1+Math.sin(rad))*h};var _transFn=function(rad){return strTranslate(gaugePosition[0]+radius*Math.cos(rad),gaugePosition[1]-radius*Math.sin(rad))};transFn=function(d){return _transFn(t2g(d))};var transFn2=function(d){var rad=t2g(d);return _transFn(rad)+"rotate("+-rad2deg(rad)+")"};vals=Axes.calcTicks(ax);tickSign=Axes.getTickSigns(ax)[2];if(ax.visible){tickSign=ax.ticks==="inside"?-1:1;var pad=(ax.linewidth||1)/2;Axes.drawTicks(gd,ax,{vals:vals,layer:axisLayer,path:"M"+tickSign*pad+",0h"+tickSign*ax.ticklen,transFn:transFn2});Axes.drawLabels(gd,ax,{vals:vals,layer:axisLayer,transFn:transFn,labelFns:labelFns})}var arcs=[gaugeBg].concat(trace.gauge.steps);var bgArc=gauge.selectAll("g.bg-arc").data(arcs);bgArc.enter().append("g").classed("bg-arc",true).append("path");bgArc.select("path").call(drawArc).call(styleShape);bgArc.exit().remove();var valueArcPathGenerator=arcPathGenerator(trace.gauge.bar.thickness);var valueArc=gauge.selectAll("g.value-arc").data([trace.gauge.bar]);valueArc.enter().append("g").classed("value-arc",true).append("path");var valueArcPath=valueArc.select("path");if(hasTransition(transitionOpts)){valueArcPath.transition().duration(transitionOpts.duration).ease(transitionOpts.easing).each("end",(function(){onComplete&&onComplete()})).each("interrupt",(function(){onComplete&&onComplete()})).attrTween("d",arcTween(valueArcPathGenerator,valueToAngle(cd[0].lastY),valueToAngle(cd[0].y)));trace._lastValue=cd[0].y}else{valueArcPath.attr("d",typeof cd[0].y==="number"?valueArcPathGenerator.endAngle(valueToAngle(cd[0].y)):"M0,0Z")}valueArcPath.call(styleShape);valueArc.exit().remove();arcs=[];var v=trace.gauge.threshold.value;if(v||v===0){arcs.push({range:[v,v],color:trace.gauge.threshold.color,line:{color:trace.gauge.threshold.line.color,width:trace.gauge.threshold.line.width},thickness:trace.gauge.threshold.thickness})}var thresholdArc=gauge.selectAll("g.threshold-arc").data(arcs);thresholdArc.enter().append("g").classed("threshold-arc",true).append("path");thresholdArc.select("path").call(drawArc).call(styleShape);thresholdArc.exit().remove();var gaugeBorder=gauge.selectAll("g.gauge-outline").data([gaugeOutline]);gaugeBorder.enter().append("g").classed("gauge-outline",true).append("path");gaugeBorder.select("path").call(drawArc).call(styleShape);gaugeBorder.exit().remove()}function drawNumbers(gd,plotGroup,cd,opts){var trace=cd[0].trace;var numbersX=opts.numbersX;var numbersY=opts.numbersY;var numbersAlign=trace.align||"center";var numbersAnchor=anchor[numbersAlign];var transitionOpts=opts.transitionOpts;var onComplete=opts.onComplete;var numbers=Lib.ensureSingle(plotGroup,"g","numbers");var bignumberbBox,deltabBox;var numbersbBox;var data=[];if(trace._hasNumber)data.push("number");if(trace._hasDelta){data.push("delta");if(trace.delta.position==="left")data.reverse()}var sel=numbers.selectAll("text").data(data);sel.enter().append("text");sel.attr("text-anchor",(function(){return numbersAnchor})).attr("class",(function(d){return d})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null);sel.exit().remove();function transitionFormat(valueformat,fmt,from,to){if(valueformat.match("s")&&from>=0!==to>=0&&(!fmt(from).slice(-1).match(SI_PREFIX)&&!fmt(to).slice(-1).match(SI_PREFIX))){var transitionValueFormat=valueformat.slice().replace("s","f").replace(/\d+/,(function(m){return parseInt(m)-1}));var transitionAx=mockAxis(gd,{tickformat:transitionValueFormat});return function(v){if(Math.abs(v)<1)return Axes.tickText(transitionAx,v).text;return fmt(v)}}else{return fmt}}function drawBignumber(){var bignumberAx=mockAxis(gd,{tickformat:trace.number.valueformat},trace._range);bignumberAx.setScale();Axes.prepTicks(bignumberAx);var fmt=function(v){return Axes.tickText(bignumberAx,v).text};var bignumberSuffix=trace.number.suffix;var bignumberPrefix=trace.number.prefix;var number=numbers.select("text.number");function writeNumber(){var txt=typeof cd[0].y==="number"?bignumberPrefix+fmt(cd[0].y)+bignumberSuffix:"-";number.text(txt).call(Drawing.font,trace.number.font).call(svgTextUtils.convertToTspans,gd)}if(hasTransition(transitionOpts)){number.transition().duration(transitionOpts.duration).ease(transitionOpts.easing).each("end",(function(){writeNumber();onComplete&&onComplete()})).each("interrupt",(function(){writeNumber();onComplete&&onComplete()})).attrTween("text",(function(){var that=d3.select(this);var interpolator=interpolateNumber(cd[0].lastY,cd[0].y);trace._lastValue=cd[0].y;var transitionFmt=transitionFormat(trace.number.valueformat,fmt,cd[0].lastY,cd[0].y);return function(t){that.text(bignumberPrefix+transitionFmt(interpolator(t))+bignumberSuffix)}}))}else{writeNumber()}bignumberbBox=measureText(bignumberPrefix+fmt(cd[0].y)+bignumberSuffix,trace.number.font,numbersAnchor,gd);return number}function drawDelta(){var deltaAx=mockAxis(gd,{tickformat:trace.delta.valueformat},trace._range);deltaAx.setScale();Axes.prepTicks(deltaAx);var deltaFmt=function(v){return Axes.tickText(deltaAx,v).text};var deltaValue=function(d){var value=trace.delta.relative?d.relativeDelta:d.delta;return value};var deltaFormatText=function(value,numberFmt){if(value===0||typeof value!=="number"||isNaN(value))return"-";return(value>0?trace.delta.increasing.symbol:trace.delta.decreasing.symbol)+numberFmt(value)};var deltaFill=function(d){return d.delta>=0?trace.delta.increasing.color:trace.delta.decreasing.color};if(trace._deltaLastValue===undefined){trace._deltaLastValue=deltaValue(cd[0])}var delta=numbers.select("text.delta");delta.call(Drawing.font,trace.delta.font).call(Color.fill,deltaFill({delta:trace._deltaLastValue}));function writeDelta(){delta.text(deltaFormatText(deltaValue(cd[0]),deltaFmt)).call(Color.fill,deltaFill(cd[0])).call(svgTextUtils.convertToTspans,gd)}if(hasTransition(transitionOpts)){delta.transition().duration(transitionOpts.duration).ease(transitionOpts.easing).tween("text",(function(){var that=d3.select(this);var to=deltaValue(cd[0]);var from=trace._deltaLastValue;var transitionFmt=transitionFormat(trace.delta.valueformat,deltaFmt,from,to);var interpolator=interpolateNumber(from,to);trace._deltaLastValue=to;return function(t){that.text(deltaFormatText(interpolator(t),transitionFmt));that.call(Color.fill,deltaFill({delta:interpolator(t)}))}})).each("end",(function(){writeDelta();onComplete&&onComplete()})).each("interrupt",(function(){writeDelta();onComplete&&onComplete()}))}else{writeDelta()}deltabBox=measureText(deltaFormatText(deltaValue(cd[0]),deltaFmt),trace.delta.font,numbersAnchor,gd);return delta}var key=trace.mode+trace.align;var delta;if(trace._hasDelta){delta=drawDelta();key+=trace.delta.position+trace.delta.font.size+trace.delta.font.family+trace.delta.valueformat;key+=trace.delta.increasing.symbol+trace.delta.decreasing.symbol;numbersbBox=deltabBox}if(trace._hasNumber){drawBignumber();key+=trace.number.font.size+trace.number.font.family+trace.number.valueformat+trace.number.suffix+trace.number.prefix;numbersbBox=bignumberbBox}if(trace._hasDelta&&trace._hasNumber){var bignumberCenter=[(bignumberbBox.left+bignumberbBox.right)/2,(bignumberbBox.top+bignumberbBox.bottom)/2];var deltaCenter=[(deltabBox.left+deltabBox.right)/2,(deltabBox.top+deltabBox.bottom)/2];var dx,dy;var padding=.75*trace.delta.font.size;if(trace.delta.position==="left"){dx=cache(trace,"deltaPos",0,-1*(bignumberbBox.width*position[trace.align]+deltabBox.width*(1-position[trace.align])+padding),key,Math.min);dy=bignumberCenter[1]-deltaCenter[1];numbersbBox={width:bignumberbBox.width+deltabBox.width+padding,height:Math.max(bignumberbBox.height,deltabBox.height),left:deltabBox.left+dx,right:bignumberbBox.right,top:Math.min(bignumberbBox.top,deltabBox.top+dy),bottom:Math.max(bignumberbBox.bottom,deltabBox.bottom+dy)}}if(trace.delta.position==="right"){dx=cache(trace,"deltaPos",0,bignumberbBox.width*(1-position[trace.align])+deltabBox.width*position[trace.align]+padding,key,Math.max);dy=bignumberCenter[1]-deltaCenter[1];numbersbBox={width:bignumberbBox.width+deltabBox.width+padding,height:Math.max(bignumberbBox.height,deltabBox.height),left:bignumberbBox.left,right:deltabBox.right+dx,top:Math.min(bignumberbBox.top,deltabBox.top+dy),bottom:Math.max(bignumberbBox.bottom,deltabBox.bottom+dy)}}if(trace.delta.position==="bottom"){dx=null;dy=deltabBox.height;numbersbBox={width:Math.max(bignumberbBox.width,deltabBox.width),height:bignumberbBox.height+deltabBox.height,left:Math.min(bignumberbBox.left,deltabBox.left),right:Math.max(bignumberbBox.right,deltabBox.right),top:bignumberbBox.bottom-bignumberbBox.height,bottom:bignumberbBox.bottom+deltabBox.height}}if(trace.delta.position==="top"){dx=null;dy=bignumberbBox.top;numbersbBox={width:Math.max(bignumberbBox.width,deltabBox.width),height:bignumberbBox.height+deltabBox.height,left:Math.min(bignumberbBox.left,deltabBox.left),right:Math.max(bignumberbBox.right,deltabBox.right),top:bignumberbBox.bottom-bignumberbBox.height-deltabBox.height,bottom:bignumberbBox.bottom}}delta.attr({dx:dx,dy:dy})}if(trace._hasNumber||trace._hasDelta){numbers.attr("transform",(function(){var m=opts.numbersScaler(numbersbBox);key+=m[2];var scaleRatio=cache(trace,"numbersScale",1,m[0],key,Math.min);var translateY;if(!trace._scaleNumbers)scaleRatio=1;if(trace._isAngular){translateY=numbersY-scaleRatio*numbersbBox.bottom}else{translateY=numbersY-scaleRatio*(numbersbBox.top+numbersbBox.bottom)/2}trace._numbersTop=scaleRatio*numbersbBox.top+translateY;var ref=numbersbBox[numbersAlign];if(numbersAlign==="center")ref=(numbersbBox.left+numbersbBox.right)/2;var translateX=numbersX-scaleRatio*ref;translateX=cache(trace,"numbersTranslate",0,translateX,key,Math.max);return strTranslate(translateX,translateY)+strScale(scaleRatio)}))}}function styleShape(p){p.each((function(d){Color.stroke(d3.select(this),d.line.color)})).each((function(d){Color.fill(d3.select(this),d.color)})).style("stroke-width",(function(d){return d.line.width}))}function arcTween(arc,endAngle,newAngle){return function(){var interp=interpolate(endAngle,newAngle);return function(t){return arc.endAngle(interp(t))()}}}function mockAxis(gd,opts,zrange){var fullLayout=gd._fullLayout;var axisIn=Lib.extendFlat({type:"linear",ticks:"outside",range:zrange,showline:true},opts);var axisOut={type:"linear",_id:"x"+opts._id};var axisOptions={letter:"x",font:fullLayout.font,noHover:true,noTickson:true};function coerce(attr,dflt){return Lib.coerce(axisIn,axisOut,axisLayoutAttrs,attr,dflt)}handleAxisDefaults(axisIn,axisOut,coerce,axisOptions,fullLayout);handleAxisPositionDefaults(axisIn,axisOut,coerce,axisOptions);return axisOut}function fitTextInsideBox(textBB,width,height){var ratio=Math.min(width/textBB.width,height/textBB.height);return[ratio,textBB,width+"x"+height]}function fitTextInsideCircle(textBB,radius){var elRadius=Math.sqrt(textBB.width/2*(textBB.width/2)+textBB.height*textBB.height);var ratio=radius/elRadius;return[ratio,textBB,radius]}function measureText(txt,font,textAnchor,gd){var element=document.createElementNS("http://www.w3.org/2000/svg","text");var sel=d3.select(element);sel.text(txt).attr("x",0).attr("y",0).attr("text-anchor",textAnchor).attr("data-unformatted",txt).call(svgTextUtils.convertToTspans,gd).call(Drawing.font,font);return Drawing.bBox(sel.node())}function cache(trace,name,initialValue,value,key,fn){var objName="_cache"+name;if(!(trace[objName]&&trace[objName].key===key)){trace[objName]={key:key,value:initialValue}}var v=Lib.aggNums(fn,null,[trace[objName].value,value],2);trace[objName].value=v;return v}},{"../../components/color":666,"../../components/drawing":688,"../../constants/alignment":771,"../../lib":803,"../../lib/svg_text_utils":829,"../../plots/cartesian/axes":854,"../../plots/cartesian/axis_defaults":856,"../../plots/cartesian/layout_attributes":869,"../../plots/cartesian/position_defaults":872,"./constants":1150,"@plotly/d3":58,"d3-interpolate":171}],1154:[function(_dereq_,module,exports){"use strict";var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var meshAttrs=_dereq_("../mesh3d/attributes");var baseAttrs=_dereq_("../../plots/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;function makeSliceAttr(axLetter){return{show:{valType:"boolean",dflt:false},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}}function makeCapAttr(axLetter){return{show:{valType:"boolean",dflt:true},fill:{valType:"number",min:0,max:1,dflt:1}}}var attrs=module.exports=overrideAll(extendFlat({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:true},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:false},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:makeSliceAttr("x"),y:makeSliceAttr("y"),z:makeSliceAttr("z")},caps:{x:makeCapAttr("x"),y:makeCapAttr("y"),z:makeCapAttr("z")},text:{valType:"string",dflt:"",arrayOk:true},hovertext:{valType:"string",dflt:"",arrayOk:true},hovertemplate:hovertemplateAttrs(),xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z"),valuehoverformat:axisHoverFormat("value",1),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})},colorScaleAttrs("",{colorAttr:"`value`",showScaleDflt:true,editTypeOverride:"calc"}),{opacity:meshAttrs.opacity,lightposition:meshAttrs.lightposition,lighting:meshAttrs.lighting,flatshading:meshAttrs.flatshading,contour:meshAttrs.contour,hoverinfo:extendFlat({},baseAttrs.hoverinfo)}),"calc","nested");attrs.flatshading.dflt=true;attrs.lighting.facenormalsepsilon.dflt=0;attrs.x.editType=attrs.y.editType=attrs.z.editType=attrs.value.editType="calc+clearAxisTypes";attrs.transforms=undefined},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../mesh3d/attributes":1159}],1155:[function(_dereq_,module,exports){"use strict";var colorscaleCalc=_dereq_("../../components/colorscale/calc");var processGrid=_dereq_("../streamtube/calc").processGrid;var filter=_dereq_("../streamtube/calc").filter;module.exports=function calc(gd,trace){trace._len=Math.min(trace.x.length,trace.y.length,trace.z.length,trace.value.length);trace._x=filter(trace.x,trace._len);trace._y=filter(trace.y,trace._len);trace._z=filter(trace.z,trace._len);trace._value=filter(trace.value,trace._len);var grid=processGrid(trace);trace._gridFill=grid.fill;trace._Xs=grid.Xs;trace._Ys=grid.Ys;trace._Zs=grid.Zs;trace._len=grid.len;var min=Infinity;var max=-Infinity;for(var i=0;i<trace._len;i++){var v=trace._value[i];min=Math.min(min,v);max=Math.max(max,v)}trace._minValues=min;trace._maxValues=max;trace._vMin=trace.isomin===undefined||trace.isomin===null?min:trace.isomin;trace._vMax=trace.isomax===undefined||trace.isomin===null?max:trace.isomax;colorscaleCalc(gd,trace,{vals:[trace._vMin,trace._vMax],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":674,"../streamtube/calc":1326}],1156:[function(_dereq_,module,exports){"use strict";var createMesh=_dereq_("gl-mesh3d");var parseColorScale=_dereq_("../../lib/gl_format_color").parseColorScale;var str2RgbaArray=_dereq_("../../lib/str2rgbarray");var extractOpts=_dereq_("../../components/colorscale").extractOpts;var zip3=_dereq_("../../plots/gl3d/zip3");var findNearestOnAxis=function(w,arr){for(var q=arr.length-1;q>0;q--){var min=Math.min(arr[q],arr[q-1]);var max=Math.max(arr[q],arr[q-1]);if(max>min&&min<w&&w<=max){return{id:q,distRatio:(max-w)/(max-min)}}}return{id:0,distRatio:0}};function IsosurfaceTrace(scene,mesh,uid){this.scene=scene;this.uid=uid;this.mesh=mesh;this.name="";this.data=null;this.showContour=false}var proto=IsosurfaceTrace.prototype;proto.handlePick=function(selection){if(selection.object===this.mesh){var rawId=selection.data.index;var x=this.data._meshX[rawId];var y=this.data._meshY[rawId];var z=this.data._meshZ[rawId];var height=this.data._Ys.length;var depth=this.data._Zs.length;var i=findNearestOnAxis(x,this.data._Xs).id;var j=findNearestOnAxis(y,this.data._Ys).id;var k=findNearestOnAxis(z,this.data._Zs).id;var selectIndex=selection.index=k+depth*j+depth*height*i;selection.traceCoordinate=[this.data._meshX[selectIndex],this.data._meshY[selectIndex],this.data._meshZ[selectIndex],this.data._value[selectIndex]];var text=this.data.hovertext||this.data.text;if(Array.isArray(text)&&text[selectIndex]!==undefined){selection.textLabel=text[selectIndex]}else if(text){selection.textLabel=text}return true}};proto.update=function(data){var scene=this.scene;var layout=scene.fullSceneLayout;this.data=generateIsoMeshes(data);function toDataCoords(axis,coord,scale,calendar){return coord.map((function(x){return axis.d2l(x,0,calendar)*scale}))}var positions=zip3(toDataCoords(layout.xaxis,data._meshX,scene.dataScale[0],data.xcalendar),toDataCoords(layout.yaxis,data._meshY,scene.dataScale[1],data.ycalendar),toDataCoords(layout.zaxis,data._meshZ,scene.dataScale[2],data.zcalendar));var cells=zip3(data._meshI,data._meshJ,data._meshK);var config={positions:positions,cells:cells,lightPosition:[data.lightposition.x,data.lightposition.y,data.lightposition.z],ambient:data.lighting.ambient,diffuse:data.lighting.diffuse,specular:data.lighting.specular,roughness:data.lighting.roughness,fresnel:data.lighting.fresnel,vertexNormalsEpsilon:data.lighting.vertexnormalsepsilon,faceNormalsEpsilon:data.lighting.facenormalsepsilon,opacity:data.opacity,contourEnable:data.contour.show,contourColor:str2RgbaArray(data.contour.color).slice(0,3),contourWidth:data.contour.width,useFacetNormals:data.flatshading};var cOpts=extractOpts(data);config.vertexIntensity=data._meshIntensity;config.vertexIntensityBounds=[cOpts.min,cOpts.max];config.colormap=parseColorScale(data);this.mesh.update(config)};proto.dispose=function(){this.scene.glplot.remove(this.mesh);this.mesh.dispose()};var GRID_TYPES=["xyz","xzy","yxz","yzx","zxy","zyx"];function generateIsoMeshes(data){data._meshI=[];data._meshJ=[];data._meshK=[];var showSurface=data.surface.show;var showSpaceframe=data.spaceframe.show;var surfaceFill=data.surface.fill;var spaceframeFill=data.spaceframe.fill;var drawingSurface=false;var drawingSpaceframe=false;var numFaces=0;var numVertices;var beginVertextLength;var Xs=data._Xs;var Ys=data._Ys;var Zs=data._Zs;var width=Xs.length;var height=Ys.length;var depth=Zs.length;var filled=GRID_TYPES.indexOf(data._gridFill.replace(/-/g,"").replace(/\+/g,""));var getIndex=function(i,j,k){switch(filled){case 5:return k+depth*j+depth*height*i;case 4:return k+depth*i+depth*width*j;case 3:return j+height*k+height*depth*i;case 2:return j+height*i+height*width*k;case 1:return i+width*k+width*depth*j;default:return i+width*j+width*height*k}};var minValues=data._minValues;var maxValues=data._maxValues;var vMin=data._vMin;var vMax=data._vMax;var allXs;var allYs;var allZs;var allVs;function findVertexId(x,y,z){var len=allVs.length;for(var f=beginVertextLength;f<len;f++){if(x===allXs[f]&&y===allYs[f]&&z===allZs[f]){return f}}return-1}function beginGroup(){beginVertextLength=numVertices}function emptyVertices(){allXs=[];allYs=[];allZs=[];allVs=[];numVertices=0;beginGroup()}function addVertex(x,y,z,v){allXs.push(x);allYs.push(y);allZs.push(z);allVs.push(v);numVertices++;return numVertices-1}function addFace(a,b,c){data._meshI.push(a);data._meshJ.push(b);data._meshK.push(c);numFaces++;return numFaces-1}function getCenter(A,B,C){var M=[];for(var i=0;i<A.length;i++){M[i]=(A[i]+B[i]+C[i])/3}return M}function getBetween(A,B,r){var M=[];for(var i=0;i<A.length;i++){M[i]=A[i]*(1-r)+r*B[i]}return M}var activeFill;function setFill(fill){activeFill=fill}function createOpenTri(xyzv,abc){var A=xyzv[0];var B=xyzv[1];var C=xyzv[2];var G=getCenter(A,B,C);var r=Math.sqrt(1-activeFill);var p1=getBetween(G,A,r);var p2=getBetween(G,B,r);var p3=getBetween(G,C,r);var a=abc[0];var b=abc[1];var c=abc[2];return{xyzv:[[A,B,p2],[p2,p1,A],[B,C,p3],[p3,p2,B],[C,A,p1],[p1,p3,C]],abc:[[a,b,-1],[-1,-1,a],[b,c,-1],[-1,-1,b],[c,a,-1],[-1,-1,c]]}}function styleIncludes(style,char){if(style==="all"||style===null)return true;return style.indexOf(char)>-1}function mapValue(style,value){if(style===null)return value;return style}function drawTri(style,xyzv,abc){beginGroup();var allXYZVs=[xyzv];var allABCs=[abc];if(activeFill>=1){allXYZVs=[xyzv];allABCs=[abc]}else if(activeFill>0){var openTri=createOpenTri(xyzv,abc);allXYZVs=openTri.xyzv;allABCs=openTri.abc}for(var f=0;f<allXYZVs.length;f++){xyzv=allXYZVs[f];abc=allABCs[f];var pnts=[];for(var i=0;i<3;i++){var x=xyzv[i][0];var y=xyzv[i][1];var z=xyzv[i][2];var v=xyzv[i][3];var id=abc[i]>-1?abc[i]:findVertexId(x,y,z);if(id>-1){pnts[i]=id}else{pnts[i]=addVertex(x,y,z,mapValue(style,v))}}addFace(pnts[0],pnts[1],pnts[2])}}function drawQuad(style,xyzv,abcd){var makeTri=function(i,j,k){drawTri(style,[xyzv[i],xyzv[j],xyzv[k]],[abcd[i],abcd[j],abcd[k]])};makeTri(0,1,2);makeTri(2,3,0)}function drawTetra(style,xyzv,abcd){var makeTri=function(i,j,k){drawTri(style,[xyzv[i],xyzv[j],xyzv[k]],[abcd[i],abcd[j],abcd[k]])};makeTri(0,1,2);makeTri(3,0,1);makeTri(2,3,0);makeTri(1,2,3)}function calcIntersection(pointOut,pointIn,min,max){var value=pointOut[3];if(value<min)value=min;if(value>max)value=max;var ratio=(pointOut[3]-value)/(pointOut[3]-pointIn[3]+1e-9);var result=[];for(var s=0;s<4;s++){result[s]=(1-ratio)*pointOut[s]+ratio*pointIn[s]}return result}function inRange(value,min,max){return value>=min&&value<=max}function almostInFinalRange(value){var vErr=.001*(vMax-vMin);return value>=vMin-vErr&&value<=vMax+vErr}function getXYZV(indecies){var xyzv=[];for(var q=0;q<4;q++){var index=indecies[q];xyzv.push([data._x[index],data._y[index],data._z[index],data._value[index]])}return xyzv}var MAX_PASS=3;function tryCreateTri(style,xyzv,abc,min,max,nPass){if(!nPass)nPass=1;abc=[-1,-1,-1];var result=false;var ok=[inRange(xyzv[0][3],min,max),inRange(xyzv[1][3],min,max),inRange(xyzv[2][3],min,max)];if(!ok[0]&&!ok[1]&&!ok[2]){return false}var tryDrawTri=function(style,xyzv,abc){if(almostInFinalRange(xyzv[0][3])&&almostInFinalRange(xyzv[1][3])&&almostInFinalRange(xyzv[2][3])){drawTri(style,xyzv,abc);return true}else if(nPass<MAX_PASS){return tryCreateTri(style,xyzv,abc,vMin,vMax,++nPass)}return false};if(ok[0]&&ok[1]&&ok[2]){return tryDrawTri(style,xyzv,abc)||result}var interpolated=false;[[0,1,2],[2,0,1],[1,2,0]].forEach((function(e){if(ok[e[0]]&&ok[e[1]]&&!ok[e[2]]){var A=xyzv[e[0]];var B=xyzv[e[1]];var C=xyzv[e[2]];var p1=calcIntersection(C,A,min,max);var p2=calcIntersection(C,B,min,max);result=tryDrawTri(style,[p2,p1,A],[-1,-1,abc[e[0]]])||result;result=tryDrawTri(style,[A,B,p2],[abc[e[0]],abc[e[1]],-1])||result;interpolated=true}}));if(interpolated)return result;[[0,1,2],[1,2,0],[2,0,1]].forEach((function(e){if(ok[e[0]]&&!ok[e[1]]&&!ok[e[2]]){var A=xyzv[e[0]];var B=xyzv[e[1]];var C=xyzv[e[2]];var p1=calcIntersection(B,A,min,max);var p2=calcIntersection(C,A,min,max);result=tryDrawTri(style,[p2,p1,A],[-1,-1,abc[e[0]]])||result;interpolated=true}}));return result}function tryCreateTetra(style,abcd,min,max){var result=false;var xyzv=getXYZV(abcd);var ok=[inRange(xyzv[0][3],min,max),inRange(xyzv[1][3],min,max),inRange(xyzv[2][3],min,max),inRange(xyzv[3][3],min,max)];if(!ok[0]&&!ok[1]&&!ok[2]&&!ok[3]){return result}if(ok[0]&&ok[1]&&ok[2]&&ok[3]){if(drawingSpaceframe){result=drawTetra(style,xyzv,abcd)||result}return result}var interpolated=false;[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(e){if(ok[e[0]]&&ok[e[1]]&&ok[e[2]]&&!ok[e[3]]){var A=xyzv[e[0]];var B=xyzv[e[1]];var C=xyzv[e[2]];var D=xyzv[e[3]];if(drawingSpaceframe){result=drawTri(style,[A,B,C],[abcd[e[0]],abcd[e[1]],abcd[e[2]]])||result}else{var p1=calcIntersection(D,A,min,max);var p2=calcIntersection(D,B,min,max);var p3=calcIntersection(D,C,min,max);result=drawTri(null,[p1,p2,p3],[-1,-1,-1])||result}interpolated=true}}));if(interpolated)return result;[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(e){if(ok[e[0]]&&ok[e[1]]&&!ok[e[2]]&&!ok[e[3]]){var A=xyzv[e[0]];var B=xyzv[e[1]];var C=xyzv[e[2]];var D=xyzv[e[3]];var p1=calcIntersection(C,A,min,max);var p2=calcIntersection(C,B,min,max);var p3=calcIntersection(D,B,min,max);var p4=calcIntersection(D,A,min,max);if(drawingSpaceframe){result=drawTri(style,[A,p4,p1],[abcd[e[0]],-1,-1])||result;result=drawTri(style,[B,p2,p3],[abcd[e[1]],-1,-1])||result}else{result=drawQuad(null,[p1,p2,p3,p4],[-1,-1,-1,-1])||result}interpolated=true}}));if(interpolated)return result;[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(e){if(ok[e[0]]&&!ok[e[1]]&&!ok[e[2]]&&!ok[e[3]]){var A=xyzv[e[0]];var B=xyzv[e[1]];var C=xyzv[e[2]];var D=xyzv[e[3]];var p1=calcIntersection(B,A,min,max);var p2=calcIntersection(C,A,min,max);var p3=calcIntersection(D,A,min,max);if(drawingSpaceframe){result=drawTri(style,[A,p1,p2],[abcd[e[0]],-1,-1])||result;result=drawTri(style,[A,p2,p3],[abcd[e[0]],-1,-1])||result;result=drawTri(style,[A,p3,p1],[abcd[e[0]],-1,-1])||result}else{result=drawTri(null,[p1,p2,p3],[-1,-1,-1])||result}interpolated=true}}));return result}function addCube(style,p000,p001,p010,p011,p100,p101,p110,p111,min,max){var result=false;if(drawingSurface){if(styleIncludes(style,"A")){result=tryCreateTetra(null,[p000,p001,p010,p100],min,max)||result}if(styleIncludes(style,"B")){result=tryCreateTetra(null,[p001,p010,p011,p111],min,max)||result}if(styleIncludes(style,"C")){result=tryCreateTetra(null,[p001,p100,p101,p111],min,max)||result}if(styleIncludes(style,"D")){result=tryCreateTetra(null,[p010,p100,p110,p111],min,max)||result}if(styleIncludes(style,"E")){result=tryCreateTetra(null,[p001,p010,p100,p111],min,max)||result}}if(drawingSpaceframe){result=tryCreateTetra(style,[p001,p010,p100,p111],min,max)||result}return result}function addRect(style,a,b,c,d,min,max,previousResult){return[previousResult[0]===true?true:tryCreateTri(style,getXYZV([a,b,c]),[a,b,c],min,max),previousResult[1]===true?true:tryCreateTri(style,getXYZV([c,d,a]),[c,d,a],min,max)]}function begin2dCell(style,p00,p01,p10,p11,min,max,isEven,previousResult){if(isEven){return addRect(style,p00,p01,p11,p10,min,max,previousResult)}else{return addRect(style,p01,p11,p10,p00,min,max,previousResult)}}function beginSection(style,i,j,k,min,max,distRatios){var result=false;var A,B,C,D;var makeSection=function(){result=tryCreateTri(style,[A,B,C],[-1,-1,-1],min,max)||result;result=tryCreateTri(style,[C,D,A],[-1,-1,-1],min,max)||result};var rX=distRatios[0];var rY=distRatios[1];var rZ=distRatios[2];if(rX){A=getBetween(getXYZV([getIndex(i,j-0,k-0)])[0],getXYZV([getIndex(i-1,j-0,k-0)])[0],rX);B=getBetween(getXYZV([getIndex(i,j-0,k-1)])[0],getXYZV([getIndex(i-1,j-0,k-1)])[0],rX);C=getBetween(getXYZV([getIndex(i,j-1,k-1)])[0],getXYZV([getIndex(i-1,j-1,k-1)])[0],rX);D=getBetween(getXYZV([getIndex(i,j-1,k-0)])[0],getXYZV([getIndex(i-1,j-1,k-0)])[0],rX);makeSection()}if(rY){A=getBetween(getXYZV([getIndex(i-0,j,k-0)])[0],getXYZV([getIndex(i-0,j-1,k-0)])[0],rY);B=getBetween(getXYZV([getIndex(i-0,j,k-1)])[0],getXYZV([getIndex(i-0,j-1,k-1)])[0],rY);C=getBetween(getXYZV([getIndex(i-1,j,k-1)])[0],getXYZV([getIndex(i-1,j-1,k-1)])[0],rY);D=getBetween(getXYZV([getIndex(i-1,j,k-0)])[0],getXYZV([getIndex(i-1,j-1,k-0)])[0],rY);makeSection()}if(rZ){A=getBetween(getXYZV([getIndex(i-0,j-0,k)])[0],getXYZV([getIndex(i-0,j-0,k-1)])[0],rZ);B=getBetween(getXYZV([getIndex(i-0,j-1,k)])[0],getXYZV([getIndex(i-0,j-1,k-1)])[0],rZ);C=getBetween(getXYZV([getIndex(i-1,j-1,k)])[0],getXYZV([getIndex(i-1,j-1,k-1)])[0],rZ);D=getBetween(getXYZV([getIndex(i-1,j-0,k)])[0],getXYZV([getIndex(i-1,j-0,k-1)])[0],rZ);makeSection()}return result}function begin3dCell(style,p000,p001,p010,p011,p100,p101,p110,p111,min,max,isEven){var cellStyle=style;if(isEven){if(drawingSurface&&style==="even")cellStyle=null;return addCube(cellStyle,p000,p001,p010,p011,p100,p101,p110,p111,min,max)}else{if(drawingSurface&&style==="odd")cellStyle=null;return addCube(cellStyle,p111,p110,p101,p100,p011,p010,p001,p000,min,max)}}function draw2dX(style,items,min,max,previousResult){var result=[];var n=0;for(var q=0;q<items.length;q++){var i=items[q];for(var k=1;k<depth;k++){for(var j=1;j<height;j++){result.push(begin2dCell(style,getIndex(i,j-1,k-1),getIndex(i,j-1,k),getIndex(i,j,k-1),getIndex(i,j,k),min,max,(i+j+k)%2,previousResult&&previousResult[n]?previousResult[n]:[]));n++}}}return result}function draw2dY(style,items,min,max,previousResult){var result=[];var n=0;for(var q=0;q<items.length;q++){var j=items[q];for(var i=1;i<width;i++){for(var k=1;k<depth;k++){result.push(begin2dCell(style,getIndex(i-1,j,k-1),getIndex(i,j,k-1),getIndex(i-1,j,k),getIndex(i,j,k),min,max,(i+j+k)%2,previousResult&&previousResult[n]?previousResult[n]:[]));n++}}}return result}function draw2dZ(style,items,min,max,previousResult){var result=[];var n=0;for(var q=0;q<items.length;q++){var k=items[q];for(var j=1;j<height;j++){for(var i=1;i<width;i++){result.push(begin2dCell(style,getIndex(i-1,j-1,k),getIndex(i-1,j,k),getIndex(i,j-1,k),getIndex(i,j,k),min,max,(i+j+k)%2,previousResult&&previousResult[n]?previousResult[n]:[]));n++}}}return result}function draw3d(style,min,max){for(var k=1;k<depth;k++){for(var j=1;j<height;j++){for(var i=1;i<width;i++){begin3dCell(style,getIndex(i-1,j-1,k-1),getIndex(i-1,j-1,k),getIndex(i-1,j,k-1),getIndex(i-1,j,k),getIndex(i,j-1,k-1),getIndex(i,j-1,k),getIndex(i,j,k-1),getIndex(i,j,k),min,max,(i+j+k)%2)}}}}function drawSpaceframe(style,min,max){drawingSpaceframe=true;draw3d(style,min,max);drawingSpaceframe=false}function drawSurface(style,min,max){drawingSurface=true;draw3d(style,min,max);drawingSurface=false}function drawSectionX(style,items,min,max,distRatios,previousResult){var result=[];var n=0;for(var q=0;q<items.length;q++){var i=items[q];for(var k=1;k<depth;k++){for(var j=1;j<height;j++){result.push(beginSection(style,i,j,k,min,max,distRatios[q],previousResult&&previousResult[n]?previousResult[n]:[]));n++}}}return result}function drawSectionY(style,items,min,max,distRatios,previousResult){var result=[];var n=0;for(var q=0;q<items.length;q++){var j=items[q];for(var i=1;i<width;i++){for(var k=1;k<depth;k++){result.push(beginSection(style,i,j,k,min,max,distRatios[q],previousResult&&previousResult[n]?previousResult[n]:[]));n++}}}return result}function drawSectionZ(style,items,min,max,distRatios,previousResult){var result=[];var n=0;for(var q=0;q<items.length;q++){var k=items[q];for(var j=1;j<height;j++){for(var i=1;i<width;i++){result.push(beginSection(style,i,j,k,min,max,distRatios[q],previousResult&&previousResult[n]?previousResult[n]:[]));n++}}}return result}function createRange(a,b){var range=[];for(var q=a;q<b;q++){range.push(q)}return range}function insertGridPoints(){for(var i=0;i<width;i++){for(var j=0;j<height;j++){for(var k=0;k<depth;k++){var index=getIndex(i,j,k);addVertex(data._x[index],data._y[index],data._z[index],data._value[index])}}}}function drawAll(){emptyVertices();insertGridPoints();var activeStyle=null;if(showSpaceframe&&spaceframeFill){setFill(spaceframeFill);drawSpaceframe(activeStyle,vMin,vMax)}if(showSurface&&surfaceFill){setFill(surfaceFill);var surfacePattern=data.surface.pattern;var surfaceCount=data.surface.count;for(var q=0;q<surfaceCount;q++){var ratio=surfaceCount===1?.5:q/(surfaceCount-1);var level=(1-ratio)*vMin+ratio*vMax;var d1=Math.abs(level-minValues);var d2=Math.abs(level-maxValues);var ranges=d1>d2?[minValues,level]:[level,maxValues];drawSurface(surfacePattern,ranges[0],ranges[1])}}var setupMinMax=[[Math.min(vMin,maxValues),Math.max(vMin,maxValues)],[Math.min(minValues,vMax),Math.max(minValues,vMax)]];["x","y","z"].forEach((function(e){var preRes=[];for(var s=0;s<setupMinMax.length;s++){var count=0;var activeMin=setupMinMax[s][0];var activeMax=setupMinMax[s][1];var slice=data.slices[e];if(slice.show&&slice.fill){setFill(slice.fill);var exactIndices=[];var ceilIndices=[];var distRatios=[];if(slice.locations.length){for(var q=0;q<slice.locations.length;q++){var near=findNearestOnAxis(slice.locations[q],e==="x"?Xs:e==="y"?Ys:Zs);if(near.distRatio===0){exactIndices.push(near.id)}else if(near.id>0){ceilIndices.push(near.id);if(e==="x"){distRatios.push([near.distRatio,0,0])}else if(e==="y"){distRatios.push([0,near.distRatio,0])}else{distRatios.push([0,0,near.distRatio])}}}}else{if(e==="x"){exactIndices=createRange(1,width-1)}else if(e==="y"){exactIndices=createRange(1,height-1)}else{exactIndices=createRange(1,depth-1)}}if(ceilIndices.length>0){if(e==="x"){preRes[count]=drawSectionX(activeStyle,ceilIndices,activeMin,activeMax,distRatios,preRes[count])}else if(e==="y"){preRes[count]=drawSectionY(activeStyle,ceilIndices,activeMin,activeMax,distRatios,preRes[count])}else{preRes[count]=drawSectionZ(activeStyle,ceilIndices,activeMin,activeMax,distRatios,preRes[count])}count++}if(exactIndices.length>0){if(e==="x"){preRes[count]=draw2dX(activeStyle,exactIndices,activeMin,activeMax,preRes[count])}else if(e==="y"){preRes[count]=draw2dY(activeStyle,exactIndices,activeMin,activeMax,preRes[count])}else{preRes[count]=draw2dZ(activeStyle,exactIndices,activeMin,activeMax,preRes[count])}count++}}var cap=data.caps[e];if(cap.show&&cap.fill){setFill(cap.fill);if(e==="x"){preRes[count]=draw2dX(activeStyle,[0,width-1],activeMin,activeMax,preRes[count])}else if(e==="y"){preRes[count]=draw2dY(activeStyle,[0,height-1],activeMin,activeMax,preRes[count])}else{preRes[count]=draw2dZ(activeStyle,[0,depth-1],activeMin,activeMax,preRes[count])}count++}}}));if(numFaces===0){emptyVertices()}data._meshX=allXs;data._meshY=allYs;data._meshZ=allZs;data._meshIntensity=allVs;data._Xs=Xs;data._Ys=Ys;data._Zs=Zs}drawAll();return data}function createIsosurfaceTrace(scene,data){var gl=scene.glplot.gl;var mesh=createMesh({gl:gl});var result=new IsosurfaceTrace(scene,mesh,data.uid);mesh._trace=result;result.update(data);scene.glplot.add(mesh);return result}module.exports={findNearestOnAxis:findNearestOnAxis,generateIsoMeshes:generateIsoMeshes,createIsosurfaceTrace:createIsosurfaceTrace}},{"../../components/colorscale":678,"../../lib/gl_format_color":799,"../../lib/str2rgbarray":828,"../../plots/gl3d/zip3":907,"gl-mesh3d":315}],1157:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var attributes=_dereq_("./attributes");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}supplyIsoDefaults(traceIn,traceOut,defaultColor,layout,coerce)}function supplyIsoDefaults(traceIn,traceOut,defaultColor,layout,coerce){var isomin=coerce("isomin");var isomax=coerce("isomax");if(isomax!==undefined&&isomax!==null&&isomin!==undefined&&isomin!==null&&isomin>isomax){traceOut.isomin=null;traceOut.isomax=null}var x=coerce("x");var y=coerce("y");var z=coerce("z");var value=coerce("value");if(!x||!x.length||!y||!y.length||!z||!z.length||!value||!value.length){traceOut.visible=false;return}var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x","y","z"],layout);coerce("valuehoverformat");["x","y","z"].forEach((function(dim){coerce(dim+"hoverformat");var capDim="caps."+dim;var showCap=coerce(capDim+".show");if(showCap){coerce(capDim+".fill")}var sliceDim="slices."+dim;var showSlice=coerce(sliceDim+".show");if(showSlice){coerce(sliceDim+".fill");coerce(sliceDim+".locations")}}));var showSpaceframe=coerce("spaceframe.show");if(showSpaceframe){coerce("spaceframe.fill")}var showSurface=coerce("surface.show");if(showSurface){coerce("surface.count");coerce("surface.fill");coerce("surface.pattern")}var showContour=coerce("contour.show");if(showContour){coerce("contour.color");coerce("contour.width")}["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(x){coerce(x)}));colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"c"});traceOut._length=null}module.exports={supplyDefaults:supplyDefaults,supplyIsoDefaults:supplyIsoDefaults}},{"../../components/colorscale/defaults":676,"../../lib":803,"../../registry":931,"./attributes":1154}],1158:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,calc:_dereq_("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:_dereq_("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:_dereq_("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":896,"./attributes":1154,"./calc":1155,"./convert":1156,"./defaults":1157}],1159:[function(_dereq_,module,exports){"use strict";var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var surfaceAttrs=_dereq_("../surface/attributes");var baseAttrs=_dereq_("../../plots/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports=extendFlat({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:true,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:true,editType:"calc"},hovertemplate:hovertemplateAttrs({editType:"calc"}),xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:undefined},colorScaleAttrs("",{colorAttr:"`intensity`",showScaleDflt:true,editTypeOverride:"calc"}),{opacity:surfaceAttrs.opacity,flatshading:{valType:"boolean",dflt:false,editType:"calc"},contour:{show:extendFlat({},surfaceAttrs.contours.x.show,{}),color:surfaceAttrs.contours.x.color,width:surfaceAttrs.contours.x.width,editType:"calc"},lightposition:{x:extendFlat({},surfaceAttrs.lightposition.x,{dflt:1e5}),y:extendFlat({},surfaceAttrs.lightposition.y,{dflt:1e5}),z:extendFlat({},surfaceAttrs.lightposition.z,{dflt:0}),editType:"calc"},lighting:extendFlat({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},surfaceAttrs.lighting),hoverinfo:extendFlat({},baseAttrs.hoverinfo,{editType:"calc"}),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})})},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../surface/attributes":1342}],1160:[function(_dereq_,module,exports){"use strict";var colorscaleCalc=_dereq_("../../components/colorscale/calc");module.exports=function calc(gd,trace){if(trace.intensity){colorscaleCalc(gd,trace,{vals:trace.intensity,containerStr:"",cLetter:"c"})}}},{"../../components/colorscale/calc":674}],1161:[function(_dereq_,module,exports){"use strict";var createMesh=_dereq_("gl-mesh3d");var triangulate=_dereq_("delaunay-triangulate");var alphaShape=_dereq_("alpha-shape");var convexHull=_dereq_("convex-hull");var parseColorScale=_dereq_("../../lib/gl_format_color").parseColorScale;var str2RgbaArray=_dereq_("../../lib/str2rgbarray");var extractOpts=_dereq_("../../components/colorscale").extractOpts;var zip3=_dereq_("../../plots/gl3d/zip3");function Mesh3DTrace(scene,mesh,uid){this.scene=scene;this.uid=uid;this.mesh=mesh;this.name="";this.color="#fff";this.data=null;this.showContour=false}var proto=Mesh3DTrace.prototype;proto.handlePick=function(selection){if(selection.object===this.mesh){var selectIndex=selection.index=selection.data.index;if(selection.data._cellCenter){selection.traceCoordinate=selection.data.dataCoordinate}else{selection.traceCoordinate=[this.data.x[selectIndex],this.data.y[selectIndex],this.data.z[selectIndex]]}var text=this.data.hovertext||this.data.text;if(Array.isArray(text)&&text[selectIndex]!==undefined){selection.textLabel=text[selectIndex]}else if(text){selection.textLabel=text}return true}};function parseColorArray(colors){var b=[];var len=colors.length;for(var i=0;i<len;i++){b[i]=str2RgbaArray(colors[i])}return b}function toDataCoords(axis,coord,scale,calendar){var b=[];var len=coord.length;for(var i=0;i<len;i++){b[i]=axis.d2l(coord[i],0,calendar)*scale}return b}function toRoundIndex(a){var b=[];var len=a.length;for(var i=0;i<len;i++){b[i]=Math.round(a[i])}return b}function delaunayCells(delaunayaxis,positions){var d=["x","y","z"].indexOf(delaunayaxis);var b=[];var len=positions.length;for(var i=0;i<len;i++){b[i]=[positions[i][(d+1)%3],positions[i][(d+2)%3]]}return triangulate(b)}function hasValidIndices(list,numVertices){var len=list.length;for(var i=0;i<len;i++){if(list[i]<=-.5||list[i]>=numVertices-.5){return false}}return true}proto.update=function(data){var scene=this.scene;var layout=scene.fullSceneLayout;this.data=data;var numVertices=data.x.length;var positions=zip3(toDataCoords(layout.xaxis,data.x,scene.dataScale[0],data.xcalendar),toDataCoords(layout.yaxis,data.y,scene.dataScale[1],data.ycalendar),toDataCoords(layout.zaxis,data.z,scene.dataScale[2],data.zcalendar));var cells;if(data.i&&data.j&&data.k){if(data.i.length!==data.j.length||data.j.length!==data.k.length||!hasValidIndices(data.i,numVertices)||!hasValidIndices(data.j,numVertices)||!hasValidIndices(data.k,numVertices)){return}cells=zip3(toRoundIndex(data.i),toRoundIndex(data.j),toRoundIndex(data.k))}else if(data.alphahull===0){cells=convexHull(positions)}else if(data.alphahull>0){cells=alphaShape(data.alphahull,positions)}else{cells=delaunayCells(data.delaunayaxis,positions)}var config={positions:positions,cells:cells,lightPosition:[data.lightposition.x,data.lightposition.y,data.lightposition.z],ambient:data.lighting.ambient,diffuse:data.lighting.diffuse,specular:data.lighting.specular,roughness:data.lighting.roughness,fresnel:data.lighting.fresnel,vertexNormalsEpsilon:data.lighting.vertexnormalsepsilon,faceNormalsEpsilon:data.lighting.facenormalsepsilon,opacity:data.opacity,contourEnable:data.contour.show,contourColor:str2RgbaArray(data.contour.color).slice(0,3),contourWidth:data.contour.width,useFacetNormals:data.flatshading};if(data.intensity){var cOpts=extractOpts(data);this.color="#fff";var mode=data.intensitymode;config[mode+"Intensity"]=data.intensity;config[mode+"IntensityBounds"]=[cOpts.min,cOpts.max];config.colormap=parseColorScale(data)}else if(data.vertexcolor){this.color=data.vertexcolor[0];config.vertexColors=parseColorArray(data.vertexcolor)}else if(data.facecolor){this.color=data.facecolor[0];config.cellColors=parseColorArray(data.facecolor)}else{this.color=data.color;config.meshColor=str2RgbaArray(data.color)}this.mesh.update(config)};proto.dispose=function(){this.scene.glplot.remove(this.mesh);this.mesh.dispose()};function createMesh3DTrace(scene,data){var gl=scene.glplot.gl;var mesh=createMesh({gl:gl});var result=new Mesh3DTrace(scene,mesh,data.uid);mesh._trace=result;result.update(data);scene.glplot.add(mesh);return result}module.exports=createMesh3DTrace},{"../../components/colorscale":678,"../../lib/gl_format_color":799,"../../lib/str2rgbarray":828,"../../plots/gl3d/zip3":907,"alpha-shape":75,"convex-hull":141,"delaunay-triangulate":180,"gl-mesh3d":315}],1162:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}function readComponents(array){var ret=array.map((function(attr){var result=coerce(attr);if(result&&Lib.isArrayOrTypedArray(result))return result;return null}));return ret.every((function(x){return x&&x.length===ret[0].length}))&&ret}var coords=readComponents(["x","y","z"]);if(!coords){traceOut.visible=false;return}readComponents(["i","j","k"]);if(traceOut.i&&(!traceOut.j||!traceOut.k)||traceOut.j&&(!traceOut.k||!traceOut.i)||traceOut.k&&(!traceOut.i||!traceOut.j)){traceOut.visible=false;return}var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x","y","z"],layout);["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach((function(x){coerce(x)}));var showContour=coerce("contour.show");if(showContour){coerce("contour.color");coerce("contour.width")}if("intensity"in traceIn){coerce("intensity");coerce("intensitymode");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"c"})}else{traceOut.showscale=false;if("facecolor"in traceIn)coerce("facecolor");else if("vertexcolor"in traceIn)coerce("vertexcolor");else coerce("color",defaultColor)}coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("xhoverformat");coerce("yhoverformat");coerce("zhoverformat");traceOut._length=null}},{"../../components/colorscale/defaults":676,"../../lib":803,"../../registry":931,"./attributes":1159}],1163:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:_dereq_("./convert"),moduleType:"trace",name:"mesh3d",basePlotModule:_dereq_("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":896,"./attributes":1159,"./calc":1160,"./convert":1161,"./defaults":1162}],1164:[function(_dereq_,module,exports){"use strict";var extendFlat=_dereq_("../../lib").extendFlat;var scatterAttrs=_dereq_("../scatter/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var dash=_dereq_("../../components/drawing/attributes").dash;var fxAttrs=_dereq_("../../components/fx/attributes");var delta=_dereq_("../../constants/delta.js");var INCREASING_COLOR=delta.INCREASING.COLOR;var DECREASING_COLOR=delta.DECREASING.COLOR;var lineAttrs=scatterAttrs.line;function directionAttrs(lineColorDefault){return{line:{color:extendFlat({},lineAttrs.color,{dflt:lineColorDefault}),width:lineAttrs.width,dash:dash,editType:"style"},editType:"style"}}module.exports={xperiod:scatterAttrs.xperiod,xperiod0:scatterAttrs.xperiod0,xperiodalignment:scatterAttrs.xperiodalignment,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:extendFlat({},lineAttrs.width,{}),dash:extendFlat({},dash,{}),editType:"style"},increasing:directionAttrs(INCREASING_COLOR),decreasing:directionAttrs(DECREASING_COLOR),text:{valType:"string",dflt:"",arrayOk:true,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:true,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:extendFlat({},fxAttrs.hoverlabel,{split:{valType:"boolean",dflt:false,editType:"style"}})}},{"../../components/drawing/attributes":687,"../../components/fx/attributes":697,"../../constants/delta.js":773,"../../lib":803,"../../plots/cartesian/axis_format_attributes":857,"../scatter/attributes":1218}],1165:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var _=Lib._;var Axes=_dereq_("../../plots/cartesian/axes");var alignPeriod=_dereq_("../../plots/cartesian/align_period");var BADNUM=_dereq_("../../constants/numerical").BADNUM;function calc(gd,trace){var xa=Axes.getFromId(gd,trace.xaxis);var ya=Axes.getFromId(gd,trace.yaxis);var tickLen=convertTickWidth(gd,xa,trace);var minDiff=trace._minDiff;trace._minDiff=null;var origX=trace._origX;trace._origX=null;var x=trace._xcalc;trace._xcalc=null;var cd=calcCommon(gd,trace,origX,x,ya,ptFunc);trace._extremes[xa._id]=Axes.findExtremes(xa,x,{vpad:minDiff/2});if(cd.length){Lib.extendFlat(cd[0].t,{wHover:minDiff/2,tickLen:tickLen});return cd}else{return[{t:{empty:true}}]}}function ptFunc(o,h,l,c){return{o:o,h:h,l:l,c:c}}function calcCommon(gd,trace,origX,x,ya,ptFunc){var o=ya.makeCalcdata(trace,"open");var h=ya.makeCalcdata(trace,"high");var l=ya.makeCalcdata(trace,"low");var c=ya.makeCalcdata(trace,"close");var hasTextArray=Array.isArray(trace.text);var hasHovertextArray=Array.isArray(trace.hovertext);var increasing=true;var cPrev=null;var hasPeriod=!!trace.xperiodalignment;var cd=[];for(var i=0;i<x.length;i++){var xi=x[i];var oi=o[i];var hi=h[i];var li=l[i];var ci=c[i];if(xi!==BADNUM&&oi!==BADNUM&&hi!==BADNUM&&li!==BADNUM&&ci!==BADNUM){if(ci===oi){if(cPrev!==null&&ci!==cPrev)increasing=ci>cPrev}else increasing=ci>oi;cPrev=ci;var pt=ptFunc(oi,hi,li,ci);pt.pos=xi;pt.yc=(oi+ci)/2;pt.i=i;pt.dir=increasing?"increasing":"decreasing";pt.x=pt.pos;pt.y=[li,hi];if(hasPeriod)pt.orig_p=origX[i];if(hasTextArray)pt.tx=trace.text[i];if(hasHovertextArray)pt.htx=trace.hovertext[i];cd.push(pt)}else{cd.push({pos:xi,empty:true})}}trace._extremes[ya._id]=Axes.findExtremes(ya,Lib.concat(l,h),{padded:true});if(cd.length){cd[0].t={labels:{open:_(gd,"open:")+" ",high:_(gd,"high:")+" ",low:_(gd,"low:")+" ",close:_(gd,"close:")+" "}}}return cd}function convertTickWidth(gd,xa,trace){var minDiff=trace._minDiff;if(!minDiff){var fullData=gd._fullData;var ohlcTracesOnThisXaxis=[];minDiff=Infinity;var i;for(i=0;i<fullData.length;i++){var tracei=fullData[i];if(tracei.type==="ohlc"&&tracei.visible===true&&tracei.xaxis===xa._id){ohlcTracesOnThisXaxis.push(tracei);var origX=xa.makeCalcdata(tracei,"x");tracei._origX=origX;var xcalc=alignPeriod(trace,xa,"x",origX).vals;tracei._xcalc=xcalc;var _minDiff=Lib.distinctVals(xcalc).minDiff;if(_minDiff&&isFinite(_minDiff)){minDiff=Math.min(minDiff,_minDiff)}}}if(minDiff===Infinity)minDiff=1;for(i=0;i<ohlcTracesOnThisXaxis.length;i++){ohlcTracesOnThisXaxis[i]._minDiff=minDiff}}return minDiff*trace.tickwidth}module.exports={calc:calc,calcCommon:calcCommon}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/align_period":851,"../../plots/cartesian/axes":854}],1166:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleOHLC=_dereq_("./ohlc_defaults");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleOHLC(traceIn,traceOut,coerce,layout);if(!len){traceOut.visible=false;return}handlePeriodDefaults(traceIn,traceOut,layout,coerce,{x:true});coerce("xhoverformat");coerce("yhoverformat");coerce("line.width");coerce("line.dash");handleDirection(traceIn,traceOut,coerce,"increasing");handleDirection(traceIn,traceOut,coerce,"decreasing");coerce("text");coerce("hovertext");coerce("tickwidth");layout._requestRangeslider[traceOut.xaxis]=true};function handleDirection(traceIn,traceOut,coerce,direction){coerce(direction+".line.color");coerce(direction+".line.width",traceOut.line.width);coerce(direction+".line.dash",traceOut.line.dash)}},{"../../lib":803,"../scatter/period_defaults":1238,"./attributes":1164,"./ohlc_defaults":1169}],1167:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var Lib=_dereq_("../../lib");var Fx=_dereq_("../../components/fx");var Color=_dereq_("../../components/color");var fillText=_dereq_("../../lib").fillText;var delta=_dereq_("../../constants/delta.js");var DIRSYMBOL={increasing:delta.INCREASING.SYMBOL,decreasing:delta.DECREASING.SYMBOL};function hoverPoints(pointData,xval,yval,hovermode){var cd=pointData.cd;var trace=cd[0].trace;if(trace.hoverlabel.split){return hoverSplit(pointData,xval,yval,hovermode)}return hoverOnPoints(pointData,xval,yval,hovermode)}function _getClosestPoint(pointData,xval,yval,hovermode){var cd=pointData.cd;var xa=pointData.xa;var trace=cd[0].trace;var t=cd[0].t;var type=trace.type;var minAttr=type==="ohlc"?"l":"min";var maxAttr=type==="ohlc"?"h":"max";var hoverPseudoDistance,spikePseudoDistance;var centerShift=t.bPos||0;var shiftPos=function(di){return di.pos+centerShift-xval};var displayHalfWidth=t.bdPos||t.tickLen;var hoverHalfWidth=t.wHover;var pseudoDistance=Math.min(1,displayHalfWidth/Math.abs(xa.r2c(xa.range[1])-xa.r2c(xa.range[0])));hoverPseudoDistance=pointData.maxHoverDistance-pseudoDistance;spikePseudoDistance=pointData.maxSpikeDistance-pseudoDistance;function dx(di){var pos=shiftPos(di);return Fx.inbox(pos-hoverHalfWidth,pos+hoverHalfWidth,hoverPseudoDistance)}function dy(di){var min=di[minAttr];var max=di[maxAttr];return min===max||Fx.inbox(min-yval,max-yval,hoverPseudoDistance)}function dxy(di){return(dx(di)+dy(di))/2}var distfn=Fx.getDistanceFunction(hovermode,dx,dy,dxy);Fx.getClosest(cd,distfn,pointData);if(pointData.index===false)return null;var di=cd[pointData.index];if(di.empty)return null;var dir=di.dir;var container=trace[dir];var lc=container.line.color;if(Color.opacity(lc)&&container.line.width)pointData.color=lc;else pointData.color=container.fillcolor;pointData.x0=xa.c2p(di.pos+centerShift-displayHalfWidth,true);pointData.x1=xa.c2p(di.pos+centerShift+displayHalfWidth,true);pointData.xLabelVal=di.orig_p!==undefined?di.orig_p:di.pos;pointData.spikeDistance=dxy(di)*spikePseudoDistance/hoverPseudoDistance;pointData.xSpike=xa.c2p(di.pos,true);return pointData}function hoverSplit(pointData,xval,yval,hovermode){var cd=pointData.cd;var ya=pointData.ya;var trace=cd[0].trace;var t=cd[0].t;var closeBoxData=[];var closestPoint=_getClosestPoint(pointData,xval,yval,hovermode);if(!closestPoint)return[];var cdIndex=closestPoint.index;var di=cd[cdIndex];var hoverinfo=di.hi||trace.hoverinfo;var hoverParts=hoverinfo.split("+");var isAll=hoverinfo==="all";var hasY=isAll||hoverParts.indexOf("y")!==-1;if(!hasY)return[];var attrs=["high","open","close","low"];var usedVals={};for(var i=0;i<attrs.length;i++){var attr=attrs[i];var val=trace[attr][closestPoint.index];var valPx=ya.c2p(val,true);var pointData2;if(val in usedVals){pointData2=usedVals[val];pointData2.yLabel+="<br>"+t.labels[attr]+Axes.hoverLabelText(ya,val,trace.yhoverformat)}else{pointData2=Lib.extendFlat({},closestPoint);pointData2.y0=pointData2.y1=valPx;pointData2.yLabelVal=val;pointData2.yLabel=t.labels[attr]+Axes.hoverLabelText(ya,val,trace.yhoverformat);pointData2.name="";closeBoxData.push(pointData2);usedVals[val]=pointData2}}return closeBoxData}function hoverOnPoints(pointData,xval,yval,hovermode){var cd=pointData.cd;var ya=pointData.ya;var trace=cd[0].trace;var t=cd[0].t;var closestPoint=_getClosestPoint(pointData,xval,yval,hovermode);if(!closestPoint)return[];var cdIndex=closestPoint.index;var di=cd[cdIndex];var i=closestPoint.index=di.i;var dir=di.dir;function getLabelLine(attr){return t.labels[attr]+Axes.hoverLabelText(ya,trace[attr][i],trace.yhoverformat)}var hoverinfo=di.hi||trace.hoverinfo;var hoverParts=hoverinfo.split("+");var isAll=hoverinfo==="all";var hasY=isAll||hoverParts.indexOf("y")!==-1;var hasText=isAll||hoverParts.indexOf("text")!==-1;var textParts=hasY?[getLabelLine("open"),getLabelLine("high"),getLabelLine("low"),getLabelLine("close")+"  "+DIRSYMBOL[dir]]:[];if(hasText)fillText(di,trace,textParts);closestPoint.extraText=textParts.join("<br>");closestPoint.y0=closestPoint.y1=ya.c2p(di.yc,true);return[closestPoint]}module.exports={hoverPoints:hoverPoints,hoverSplit:hoverSplit,hoverOnPoints:hoverOnPoints}},{"../../components/color":666,"../../components/fx":706,"../../constants/delta.js":773,"../../lib":803,"../../plots/cartesian/axes":854}],1168:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"ohlc",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc").calc,plot:_dereq_("./plot"),style:_dereq_("./style"),hoverPoints:_dereq_("./hover").hoverPoints,selectPoints:_dereq_("./select")}},{"../../plots/cartesian":868,"./attributes":1164,"./calc":1165,"./defaults":1166,"./hover":1167,"./plot":1170,"./select":1171,"./style":1172}],1169:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");module.exports=function handleOHLC(traceIn,traceOut,coerce,layout){var x=coerce("x");var open=coerce("open");var high=coerce("high");var low=coerce("low");var close=coerce("close");coerce("hoverlabel.split");var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x"],layout);if(!(open&&high&&low&&close))return;var len=Math.min(open.length,high.length,low.length,close.length);if(x)len=Math.min(len,Lib.minRowLength(x));traceOut._length=len;return len}},{"../../lib":803,"../../registry":931}],1170:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");module.exports=function plot(gd,plotinfo,cdOHLC,ohlcLayer){var ya=plotinfo.yaxis;var xa=plotinfo.xaxis;var posHasRangeBreaks=!!xa.rangebreaks;Lib.makeTraceGroups(ohlcLayer,cdOHLC,"trace ohlc").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var t=cd0.t;var trace=cd0.trace;if(trace.visible!==true||t.empty){plotGroup.remove();return}var tickLen=t.tickLen;var paths=plotGroup.selectAll("path").data(Lib.identity);paths.enter().append("path");paths.exit().remove();paths.attr("d",(function(d){if(d.empty)return"M0,0Z";var xo=xa.c2p(d.pos-tickLen,true);var xc=xa.c2p(d.pos+tickLen,true);var x=posHasRangeBreaks?(xo+xc)/2:xa.c2p(d.pos,true);var yo=ya.c2p(d.o,true);var yh=ya.c2p(d.h,true);var yl=ya.c2p(d.l,true);var yc=ya.c2p(d.c,true);return"M"+xo+","+yo+"H"+x+"M"+x+","+yh+"V"+yl+"M"+xc+","+yc+"H"+x}))}))}},{"../../lib":803,"@plotly/d3":58}],1171:[function(_dereq_,module,exports){"use strict";module.exports=function selectPoints(searchInfo,selectionTester){var cd=searchInfo.cd;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var selection=[];var i;var posOffset=cd[0].t.bPos||0;if(selectionTester===false){for(i=0;i<cd.length;i++){cd[i].selected=0}}else{for(i=0;i<cd.length;i++){var di=cd[i];if(selectionTester.contains([xa.c2p(di.pos+posOffset),ya.c2p(di.yc)],null,di.i,searchInfo)){selection.push({pointNumber:di.i,x:xa.c2d(di.pos),y:ya.c2d(di.yc)});di.selected=1}else{di.selected=0}}}return selection}},{}],1172:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var Color=_dereq_("../../components/color");module.exports=function style(gd,cd,sel){var s=sel?sel:d3.select(gd).selectAll("g.ohlclayer").selectAll("g.trace");s.style("opacity",(function(d){return d[0].trace.opacity}));s.each((function(d){var trace=d[0].trace;d3.select(this).selectAll("path").each((function(di){if(di.empty)return;var dirLine=trace[di.dir].line;d3.select(this).style("fill","none").call(Color.stroke,dirLine.color).call(Drawing.dashLine,dirLine.dash,dirLine.width).style("opacity",trace.selectedpoints&&!di.selected?.3:1)}))}))}},{"../../components/color":666,"../../components/drawing":688,"@plotly/d3":58}],1173:[function(_dereq_,module,exports){"use strict";var extendFlat=_dereq_("../../lib/extend").extendFlat;var baseAttrs=_dereq_("../../plots/attributes");var fontAttrs=_dereq_("../../plots/font_attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var domainAttrs=_dereq_("../../plots/domain").attributes;var line=extendFlat({editType:"calc"},colorScaleAttrs("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:hovertemplateAttrs({editType:"plot",arrayOk:false},{keys:["count","probability"]})});module.exports={domain:domainAttrs({name:"parcats",trace:true,editType:"calc"}),hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:false}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:hovertemplateAttrs({editType:"plot",arrayOk:false},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:true,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:fontAttrs({editType:"calc"}),tickfont:fontAttrs({editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:true,editType:"calc"}},line:line,counts:{valType:"number",min:0,dflt:1,arrayOk:true,editType:"calc"},customdata:undefined,hoverlabel:undefined,ids:undefined,legendgroup:undefined,legendrank:undefined,opacity:undefined,selectedpoints:undefined,showlegend:undefined}},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/domain":882,"../../plots/font_attributes":883,"../../plots/template_attributes":926}],1174:[function(_dereq_,module,exports){"use strict";var getModuleCalcData=_dereq_("../../plots/get_data").getModuleCalcData;var parcatsPlot=_dereq_("./plot");var PARCATS="parcats";exports.name=PARCATS;exports.plot=function(gd,traces,transitionOpts,makeOnCompleteCallback){var cdModuleAndOthers=getModuleCalcData(gd.calcdata,PARCATS);if(cdModuleAndOthers.length){var calcData=cdModuleAndOthers[0];parcatsPlot(gd,calcData,transitionOpts,makeOnCompleteCallback)}};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var hadTable=oldFullLayout._has&&oldFullLayout._has("parcats");var hasTable=newFullLayout._has&&newFullLayout._has("parcats");if(hadTable&&!hasTable){oldFullLayout._paperdiv.selectAll(".parcats").remove()}}},{"../../plots/get_data":891,"./plot":1179}],1175:[function(_dereq_,module,exports){"use strict";var wrap=_dereq_("../../lib/gup").wrap;var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var colorscaleCalc=_dereq_("../../components/colorscale/calc");var filterUnique=_dereq_("../../lib/filter_unique.js");var Drawing=_dereq_("../../components/drawing");var Lib=_dereq_("../../lib");var isNumeric=_dereq_("fast-isnumeric");module.exports=function calc(gd,trace){var visibleDims=Lib.filterVisible(trace.dimensions);if(visibleDims.length===0)return[];var uniqueInfoDims=visibleDims.map((function(dim){var categoryValues;if(dim.categoryorder==="trace"){categoryValues=null}else if(dim.categoryorder==="array"){categoryValues=dim.categoryarray}else{categoryValues=filterUnique(dim.values);var allNumeric=true;for(var i=0;i<categoryValues.length;i++){if(!isNumeric(categoryValues[i])){allNumeric=false;break}}categoryValues.sort(allNumeric?Lib.sorterAsc:undefined);if(dim.categoryorder==="category descending"){categoryValues=categoryValues.reverse()}}return getUniqueInfo(dim.values,categoryValues)}));var counts,count,totalCount;if(Lib.isArrayOrTypedArray(trace.counts)){counts=trace.counts}else{counts=[trace.counts]}validateDimensionDisplayInds(visibleDims);visibleDims.forEach((function(dim,dimInd){validateCategoryProperties(dim,uniqueInfoDims[dimInd])}));var line=trace.line;var markerColorscale;if(line){if(hasColorscale(trace,"line")){colorscaleCalc(gd,trace,{vals:trace.line.color,containerStr:"line",cLetter:"c"})}markerColorscale=Drawing.tryColorscale(line)}else{markerColorscale=Lib.identity}function getMarkerColorInfo(index){var value,rawColor;if(Lib.isArrayOrTypedArray(line.color)){value=line.color[index%line.color.length];rawColor=value}else{value=line.color}return{color:markerColorscale(value),rawColor:rawColor}}var numValues=visibleDims[0].values.length;var pathModels={};var categoryIndsDims=uniqueInfoDims.map((function(di){return di.inds}));totalCount=0;var valueInd;var d;for(valueInd=0;valueInd<numValues;valueInd++){var categoryIndsPath=[];for(d=0;d<categoryIndsDims.length;d++){categoryIndsPath.push(categoryIndsDims[d][valueInd])}count=counts[valueInd%counts.length];totalCount+=count;var pathColorInfo=getMarkerColorInfo(valueInd);var pathKey=categoryIndsPath+"-"+pathColorInfo.rawColor;if(pathModels[pathKey]===undefined){pathModels[pathKey]=createPathModel(categoryIndsPath,pathColorInfo.color,pathColorInfo.rawColor)}updatePathModel(pathModels[pathKey],valueInd,count)}var dimensionModels=visibleDims.map((function(di,i){return createDimensionModel(i,di._index,di._displayindex,di.label,totalCount)}));for(valueInd=0;valueInd<numValues;valueInd++){count=counts[valueInd%counts.length];for(d=0;d<dimensionModels.length;d++){var containerInd=dimensionModels[d].containerInd;var catInd=uniqueInfoDims[d].inds[valueInd];var cats=dimensionModels[d].categories;if(cats[catInd]===undefined){var catValue=trace.dimensions[containerInd]._categoryarray[catInd];var catLabel=trace.dimensions[containerInd]._ticktext[catInd];cats[catInd]=createCategoryModel(d,catInd,catValue,catLabel)}updateCategoryModel(cats[catInd],valueInd,count)}}return wrap(createParcatsModel(dimensionModels,pathModels,totalCount))};function createParcatsModel(dimensions,paths,count){var maxCats=dimensions.map((function(d){return d.categories.length})).reduce((function(v1,v2){return Math.max(v1,v2)}));return{dimensions:dimensions,paths:paths,trace:undefined,maxCats:maxCats,count:count}}function createDimensionModel(dimensionInd,containerInd,displayInd,dimensionLabel,count){return{dimensionInd:dimensionInd,containerInd:containerInd,displayInd:displayInd,dimensionLabel:dimensionLabel,count:count,categories:[],dragX:null}}function createCategoryModel(dimensionInd,categoryInd,categoryValue,categoryLabel){return{dimensionInd:dimensionInd,categoryInd:categoryInd,categoryValue:categoryValue,displayInd:categoryInd,categoryLabel:categoryLabel,valueInds:[],count:0,dragY:null}}function updateCategoryModel(categoryModel,valueInd,count){categoryModel.valueInds.push(valueInd);categoryModel.count+=count}function createPathModel(categoryInds,color,rawColor){return{categoryInds:categoryInds,color:color,rawColor:rawColor,valueInds:[],count:0}}function updatePathModel(pathModel,valueInd,count){pathModel.valueInds.push(valueInd);pathModel.count+=count}function getUniqueInfo(values,uniqueValues){if(uniqueValues===undefined||uniqueValues===null){uniqueValues=[]}else{uniqueValues=uniqueValues.map((function(e){return e}))}var uniqueValueCounts={};var uniqueValueInds={};var inds=[];uniqueValues.forEach((function(uniqueVal,valInd){uniqueValueCounts[uniqueVal]=0;uniqueValueInds[uniqueVal]=valInd}));for(var i=0;i<values.length;i++){var item=values[i];var itemInd;if(uniqueValueCounts[item]===undefined){uniqueValueCounts[item]=1;itemInd=uniqueValues.push(item)-1;uniqueValueInds[item]=itemInd}else{uniqueValueCounts[item]++;itemInd=uniqueValueInds[item]}inds.push(itemInd)}var uniqueCounts=uniqueValues.map((function(v){return uniqueValueCounts[v]}));return{uniqueValues:uniqueValues,uniqueCounts:uniqueCounts,inds:inds}}function validateDimensionDisplayInds(visibleDims){var displayInds=visibleDims.map((function(d){return d.displayindex}));var i;if(isRangePermutation(displayInds)){for(i=0;i<visibleDims.length;i++){visibleDims[i]._displayindex=visibleDims[i].displayindex}}else{for(i=0;i<visibleDims.length;i++){visibleDims[i]._displayindex=i}}}function validateCategoryProperties(dim,uniqueInfoDim){dim._categoryarray=uniqueInfoDim.uniqueValues;if(dim.ticktext===null||dim.ticktext===undefined){dim._ticktext=[]}else{dim._ticktext=dim.ticktext.slice()}for(var i=dim._ticktext.length;i<uniqueInfoDim.uniqueValues.length;i++){dim._ticktext.push(uniqueInfoDim.uniqueValues[i])}}function isRangePermutation(inds){var indsSpecified=new Array(inds.length);for(var i=0;i<inds.length;i++){if(inds[i]<0||inds[i]>=inds.length){return false}if(indsSpecified[inds[i]]!==undefined){return false}indsSpecified[inds[i]]=true}return true}},{"../../components/colorscale/calc":674,"../../components/colorscale/helpers":677,"../../components/drawing":688,"../../lib":803,"../../lib/filter_unique.js":794,"../../lib/gup":800,"fast-isnumeric":249}],1176:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var attributes=_dereq_("./attributes");var mergeLength=_dereq_("../parcoords/merge_length");function handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce){coerce("line.shape");coerce("line.hovertemplate");var lineColor=coerce("line.color",layout.colorway[0]);if(hasColorscale(traceIn,"line")&&Lib.isArrayOrTypedArray(lineColor)){if(lineColor.length){coerce("line.colorscale");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"line.",cLetter:"c"});return lineColor.length}else{traceOut.line.color=defaultColor}}return Infinity}function dimensionDefaults(dimensionIn,dimensionOut){function coerce(attr,dflt){return Lib.coerce(dimensionIn,dimensionOut,attributes.dimensions,attr,dflt)}var values=coerce("values");var visible=coerce("visible");if(!(values&&values.length)){visible=dimensionOut.visible=false}if(visible){coerce("label");coerce("displayindex",dimensionOut._index);var arrayIn=dimensionIn.categoryarray;var isValidArray=Array.isArray(arrayIn)&&arrayIn.length>0;var orderDefault;if(isValidArray)orderDefault="array";var order=coerce("categoryorder",orderDefault);if(order==="array"){coerce("categoryarray");coerce("ticktext")}else{delete dimensionIn.categoryarray;delete dimensionIn.ticktext}if(!isValidArray&&order==="array"){dimensionOut.categoryorder="trace"}}}module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var dimensions=handleArrayContainerDefaults(traceIn,traceOut,{name:"dimensions",handleItemDefaults:dimensionDefaults});var len=handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);handleDomainDefaults(traceOut,layout,coerce);if(!Array.isArray(dimensions)||!dimensions.length){traceOut.visible=false}mergeLength(traceOut,dimensions,"values",len);coerce("hoveron");coerce("hovertemplate");coerce("arrangement");coerce("bundlecolors");coerce("sortpaths");coerce("counts");var labelfontDflt={family:layout.font.family,size:Math.round(layout.font.size),color:layout.font.color};Lib.coerceFont(coerce,"labelfont",labelfontDflt);var categoryfontDefault={family:layout.font.family,size:Math.round(layout.font.size/1.2),color:layout.font.color};Lib.coerceFont(coerce,"tickfont",categoryfontDefault)}},{"../../components/colorscale/defaults":676,"../../components/colorscale/helpers":677,"../../lib":803,"../../plots/array_container_defaults":849,"../../plots/domain":882,"../parcoords/merge_length":1189,"./attributes":1173}],1177:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:_dereq_("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1173,"./base_plot":1174,"./calc":1175,"./defaults":1176,"./plot":1179}],1178:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var interpolateNumber=_dereq_("d3-interpolate").interpolateNumber;var Plotly=_dereq_("../../plot_api/plot_api");var Fx=_dereq_("../../components/fx");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var Drawing=_dereq_("../../components/drawing");var tinycolor=_dereq_("tinycolor2");var svgTextUtils=_dereq_("../../lib/svg_text_utils");function performPlot(parcatsModels,graphDiv,layout,svg){var viewModels=parcatsModels.map(createParcatsViewModel.bind(0,graphDiv,layout));var layerSelection=svg.selectAll("g.parcatslayer").data([null]);layerSelection.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var traceSelection=layerSelection.selectAll("g.trace.parcats").data(viewModels,key);var traceEnter=traceSelection.enter().append("g").attr("class","trace parcats");traceSelection.attr("transform",(function(d){return strTranslate(d.x,d.y)}));traceEnter.append("g").attr("class","paths");var pathsSelection=traceSelection.select("g.paths");var pathSelection=pathsSelection.selectAll("path.path").data((function(d){return d.paths}),key);pathSelection.attr("fill",(function(d){return d.model.color}));var pathSelectionEnter=pathSelection.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(d){return d.model.color})).attr("fill-opacity",0);stylePathsNoHover(pathSelectionEnter);pathSelection.attr("d",(function(d){return d.svgD}));if(!pathSelectionEnter.empty()){pathSelection.sort(compareRawColor)}pathSelection.exit().remove();pathSelection.on("mouseover",mouseoverPath).on("mouseout",mouseoutPath).on("click",clickPath);traceEnter.append("g").attr("class","dimensions");var dimensionsSelection=traceSelection.select("g.dimensions");var dimensionSelection=dimensionsSelection.selectAll("g.dimension").data((function(d){return d.dimensions}),key);dimensionSelection.enter().append("g").attr("class","dimension");dimensionSelection.attr("transform",(function(d){return strTranslate(d.x,0)}));dimensionSelection.exit().remove();var categorySelection=dimensionSelection.selectAll("g.category").data((function(d){return d.categories}),key);var categoryGroupEnterSelection=categorySelection.enter().append("g").attr("class","category");categorySelection.attr("transform",(function(d){return strTranslate(0,d.y)}));categoryGroupEnterSelection.append("rect").attr("class","catrect").attr("pointer-events","none");categorySelection.select("rect.catrect").attr("fill","none").attr("width",(function(d){return d.width})).attr("height",(function(d){return d.height}));styleCategoriesNoHover(categoryGroupEnterSelection);var bandSelection=categorySelection.selectAll("rect.bandrect").data((function(catViewModel){return catViewModel.bands}),key);bandSelection.each((function(){Lib.raiseToTop(this)}));bandSelection.attr("fill",(function(d){return d.color}));var bandsSelectionEnter=bandSelection.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(d){return d.color})).attr("fill-opacity",0);bandSelection.attr("fill",(function(d){return d.color})).attr("width",(function(d){return d.width})).attr("height",(function(d){return d.height})).attr("y",(function(d){return d.y})).attr("cursor",(function(bandModel){if(bandModel.parcatsViewModel.arrangement==="fixed"){return"default"}else if(bandModel.parcatsViewModel.arrangement==="perpendicular"){return"ns-resize"}else{return"move"}}));styleBandsNoHover(bandsSelectionEnter);bandSelection.exit().remove();categoryGroupEnterSelection.append("text").attr("class","catlabel").attr("pointer-events","none");var paperColor=graphDiv._fullLayout.paper_bgcolor;categorySelection.select("text.catlabel").attr("text-anchor",(function(d){if(catInRightDim(d)){return"start"}else{return"end"}})).attr("alignment-baseline","middle").style("text-shadow",svgTextUtils.makeTextShadow(paperColor)).style("fill","rgb(0, 0, 0)").attr("x",(function(d){if(catInRightDim(d)){return d.width+5}else{return-5}})).attr("y",(function(d){return d.height/2})).text((function(d){return d.model.categoryLabel})).each((function(catModel){Drawing.font(d3.select(this),catModel.parcatsViewModel.categorylabelfont);svgTextUtils.convertToTspans(d3.select(this),graphDiv)}));categoryGroupEnterSelection.append("text").attr("class","dimlabel");categorySelection.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(catModel){if(catModel.parcatsViewModel.arrangement==="fixed"){return"default"}else{return"ew-resize"}})).attr("x",(function(d){return d.width/2})).attr("y",-5).text((function(d,i){if(i===0){return d.parcatsViewModel.model.dimensions[d.model.dimensionInd].dimensionLabel}else{return null}})).each((function(catModel){Drawing.font(d3.select(this),catModel.parcatsViewModel.labelfont)}));categorySelection.selectAll("rect.bandrect").on("mouseover",mouseoverCategoryBand).on("mouseout",mouseoutCategory);categorySelection.exit().remove();dimensionSelection.call(d3.behavior.drag().origin((function(d){return{x:d.x,y:0}})).on("dragstart",dragDimensionStart).on("drag",dragDimension).on("dragend",dragDimensionEnd));traceSelection.each((function(d){d.traceSelection=d3.select(this);d.pathSelection=d3.select(this).selectAll("g.paths").selectAll("path.path");d.dimensionSelection=d3.select(this).selectAll("g.dimensions").selectAll("g.dimension")}));traceSelection.exit().remove()}module.exports=function(graphDiv,svg,parcatsModels,layout){performPlot(parcatsModels,graphDiv,layout,svg)};function key(d){return d.key}function catInRightDim(d){var numDims=d.parcatsViewModel.dimensions.length;var leftDimInd=d.parcatsViewModel.dimensions[numDims-1].model.dimensionInd;return d.model.dimensionInd===leftDimInd}function compareRawColor(a,b){if(a.model.rawColor>b.model.rawColor){return 1}else if(a.model.rawColor<b.model.rawColor){return-1}else{return 0}}function mouseoverPath(d){if(!d.parcatsViewModel.dragDimension){if(d.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){Lib.raiseToTop(this);stylePathsHover(d3.select(this));var points=buildPointsArrayForPath(d);var constraints=buildConstraintsForPath(d);d.parcatsViewModel.graphDiv.emit("plotly_hover",{points:points,event:d3.event,constraints:constraints});if(d.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var hoverX=d3.mouse(this)[0];var gd=d.parcatsViewModel.graphDiv;var trace=d.parcatsViewModel.trace;var fullLayout=gd._fullLayout;var rootBBox=fullLayout._paperdiv.node().getBoundingClientRect();var graphDivBBox=d.parcatsViewModel.graphDiv.getBoundingClientRect();var pathCenterX,pathCenterY,dimInd;for(dimInd=0;dimInd<d.leftXs.length-1;dimInd++){if(d.leftXs[dimInd]+d.dimWidths[dimInd]-2<=hoverX&&hoverX<=d.leftXs[dimInd+1]+2){var leftDim=d.parcatsViewModel.dimensions[dimInd];var rightDim=d.parcatsViewModel.dimensions[dimInd+1];pathCenterX=(leftDim.x+leftDim.width+rightDim.x)/2;pathCenterY=(d.topYs[dimInd]+d.topYs[dimInd+1]+d.height)/2;break}}var hoverCenterX=d.parcatsViewModel.x+pathCenterX;var hoverCenterY=d.parcatsViewModel.y+pathCenterY;var textColor=tinycolor.mostReadable(d.model.color,["black","white"]);var count=d.model.count;var prob=count/d.parcatsViewModel.model.count;var labels={countLabel:count,probabilityLabel:prob.toFixed(3)};var hovertextParts=[];if(d.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1){hovertextParts.push(["Count:",labels.countLabel].join(" "))}if(d.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1){hovertextParts.push(["P:",labels.probabilityLabel].join(" "))}var hovertext=hovertextParts.join("<br>");var mouseX=d3.mouse(gd)[0];Fx.loneHover({trace:trace,x:hoverCenterX-rootBBox.left+graphDivBBox.left,y:hoverCenterY-rootBBox.top+graphDivBBox.top,text:hovertext,color:d.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:textColor,idealAlign:mouseX<hoverCenterX?"right":"left",hovertemplate:(trace.line||{}).hovertemplate,hovertemplateLabels:labels,eventData:[{data:trace._input,fullData:trace,count:count,probability:prob}]},{container:fullLayout._hoverlayer.node(),outerContainer:fullLayout._paper.node(),gd:gd})}}}}function mouseoutPath(d){if(!d.parcatsViewModel.dragDimension){stylePathsNoHover(d3.select(this));Fx.loneUnhover(d.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node());d.parcatsViewModel.pathSelection.sort(compareRawColor);if(d.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var points=buildPointsArrayForPath(d);var constraints=buildConstraintsForPath(d);d.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:points,event:d3.event,constraints:constraints})}}}function buildPointsArrayForPath(d){var points=[];var curveNumber=getTraceIndex(d.parcatsViewModel);for(var i=0;i<d.model.valueInds.length;i++){var pointNumber=d.model.valueInds[i];points.push({curveNumber:curveNumber,pointNumber:pointNumber})}return points}function buildConstraintsForPath(d){var constraints={};var dimensions=d.parcatsViewModel.model.dimensions;for(var i=0;i<dimensions.length;i++){var dimension=dimensions[i];var category=dimension.categories[d.model.categoryInds[i]];constraints[dimension.containerInd]=category.categoryValue}if(d.model.rawColor!==undefined){constraints.color=d.model.rawColor}return constraints}function clickPath(d){if(d.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var points=buildPointsArrayForPath(d);var constraints=buildConstraintsForPath(d);d.parcatsViewModel.graphDiv.emit("plotly_click",{points:points,event:d3.event,constraints:constraints})}}function stylePathsNoHover(pathSelection){pathSelection.attr("fill",(function(d){return d.model.color})).attr("fill-opacity",.6).attr("stroke","lightgray").attr("stroke-width",.2).attr("stroke-opacity",1)}function stylePathsHover(pathSelection){pathSelection.attr("fill-opacity",.8).attr("stroke",(function(d){return tinycolor.mostReadable(d.model.color,["black","white"])})).attr("stroke-width",.3)}function styleCategoryHover(categorySelection){categorySelection.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}function styleCategoriesNoHover(categorySelection){categorySelection.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function styleBandsHover(bandsSelection){bandsSelection.attr("stroke","black").attr("stroke-width",1.5)}function styleBandsNoHover(bandsSelection){bandsSelection.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function selectPathsThroughCategoryBandColor(catBandViewModel){var allPaths=catBandViewModel.parcatsViewModel.pathSelection;var dimInd=catBandViewModel.categoryViewModel.model.dimensionInd;var catInd=catBandViewModel.categoryViewModel.model.categoryInd;return allPaths.filter((function(pathViewModel){return pathViewModel.model.categoryInds[dimInd]===catInd&&pathViewModel.model.color===catBandViewModel.color}))}function styleForCategoryHovermode(bandElement){var bandSel=d3.select(bandElement.parentNode).selectAll("rect.bandrect");bandSel.each((function(bvm){var paths=selectPathsThroughCategoryBandColor(bvm);stylePathsHover(paths);paths.each((function(){Lib.raiseToTop(this)}))}));styleCategoryHover(d3.select(bandElement.parentNode))}function styleForColorHovermode(bandElement){var bandViewModel=d3.select(bandElement).datum();var catPaths=selectPathsThroughCategoryBandColor(bandViewModel);stylePathsHover(catPaths);catPaths.each((function(){Lib.raiseToTop(this)}));d3.select(bandElement.parentNode).selectAll("rect.bandrect").filter((function(b){return b.color===bandViewModel.color})).each((function(){Lib.raiseToTop(this);styleBandsHover(d3.select(this))}))}function emitPointsEventCategoryHovermode(bandElement,eventName,event){var bandViewModel=d3.select(bandElement).datum();var categoryModel=bandViewModel.categoryViewModel.model;var gd=bandViewModel.parcatsViewModel.graphDiv;var bandSel=d3.select(bandElement.parentNode).selectAll("rect.bandrect");var points=[];bandSel.each((function(bvm){var paths=selectPathsThroughCategoryBandColor(bvm);paths.each((function(pathViewModel){Array.prototype.push.apply(points,buildPointsArrayForPath(pathViewModel))}))}));var constraints={};constraints[categoryModel.dimensionInd]=categoryModel.categoryValue;gd.emit(eventName,{points:points,event:event,constraints:constraints})}function emitPointsEventColorHovermode(bandElement,eventName,event){var bandViewModel=d3.select(bandElement).datum();var categoryModel=bandViewModel.categoryViewModel.model;var gd=bandViewModel.parcatsViewModel.graphDiv;var paths=selectPathsThroughCategoryBandColor(bandViewModel);var points=[];paths.each((function(pathViewModel){Array.prototype.push.apply(points,buildPointsArrayForPath(pathViewModel))}));var constraints={};constraints[categoryModel.dimensionInd]=categoryModel.categoryValue;if(bandViewModel.rawColor!==undefined){constraints.color=bandViewModel.rawColor}gd.emit(eventName,{points:points,event:event,constraints:constraints})}function createHoverLabelForCategoryHovermode(gd,rootBBox,bandElement){gd._fullLayout._calcInverseTransform(gd);var scaleX=gd._fullLayout._invScaleX;var scaleY=gd._fullLayout._invScaleY;var rectSelection=d3.select(bandElement.parentNode).select("rect.catrect");var rectBoundingBox=rectSelection.node().getBoundingClientRect();var catViewModel=rectSelection.datum();var parcatsViewModel=catViewModel.parcatsViewModel;var dimensionModel=parcatsViewModel.model.dimensions[catViewModel.model.dimensionInd];var trace=parcatsViewModel.trace;var hoverCenterY=rectBoundingBox.top+rectBoundingBox.height/2;var hoverCenterX,hoverLabelIdealAlign;if(parcatsViewModel.dimensions.length>1&&dimensionModel.displayInd===parcatsViewModel.dimensions.length-1){hoverCenterX=rectBoundingBox.left;hoverLabelIdealAlign="left"}else{hoverCenterX=rectBoundingBox.left+rectBoundingBox.width;hoverLabelIdealAlign="right"}var count=catViewModel.model.count;var catLabel=catViewModel.model.categoryLabel;var prob=count/catViewModel.parcatsViewModel.model.count;var labels={countLabel:count,categoryLabel:catLabel,probabilityLabel:prob.toFixed(3)};var hoverinfoParts=[];if(catViewModel.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1){hoverinfoParts.push(["Count:",labels.countLabel].join(" "))}if(catViewModel.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1){hoverinfoParts.push(["P("+labels.categoryLabel+"):",labels.probabilityLabel].join(" "))}var hovertext=hoverinfoParts.join("<br>");return{trace:trace,x:scaleX*(hoverCenterX-rootBBox.left),y:scaleY*(hoverCenterY-rootBBox.top),text:hovertext,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:hoverLabelIdealAlign,hovertemplate:trace.hovertemplate,hovertemplateLabels:labels,eventData:[{data:trace._input,fullData:trace,count:count,category:catLabel,probability:prob}]}}function createHoverLabelForDimensionHovermode(gd,rootBBox,bandElement){var allHoverlabels=[];d3.select(bandElement.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){var bandNode=this;allHoverlabels.push(createHoverLabelForCategoryHovermode(gd,rootBBox,bandNode))}));return allHoverlabels}function createHoverLabelForColorHovermode(gd,rootBBox,bandElement){gd._fullLayout._calcInverseTransform(gd);var scaleX=gd._fullLayout._invScaleX;var scaleY=gd._fullLayout._invScaleY;var bandBoundingBox=bandElement.getBoundingClientRect();var bandViewModel=d3.select(bandElement).datum();var catViewModel=bandViewModel.categoryViewModel;var parcatsViewModel=catViewModel.parcatsViewModel;var dimensionModel=parcatsViewModel.model.dimensions[catViewModel.model.dimensionInd];var trace=parcatsViewModel.trace;var hoverCenterY=bandBoundingBox.y+bandBoundingBox.height/2;var hoverCenterX,hoverLabelIdealAlign;if(parcatsViewModel.dimensions.length>1&&dimensionModel.displayInd===parcatsViewModel.dimensions.length-1){hoverCenterX=bandBoundingBox.left;hoverLabelIdealAlign="left"}else{hoverCenterX=bandBoundingBox.left+bandBoundingBox.width;hoverLabelIdealAlign="right"}var catLabel=catViewModel.model.categoryLabel;var totalCount=bandViewModel.parcatsViewModel.model.count;var bandColorCount=0;bandViewModel.categoryViewModel.bands.forEach((function(b){if(b.color===bandViewModel.color){bandColorCount+=b.count}}));var catCount=catViewModel.model.count;var colorCount=0;parcatsViewModel.pathSelection.each((function(pathViewModel){if(pathViewModel.model.color===bandViewModel.color){colorCount+=pathViewModel.model.count}}));var pColorAndCat=bandColorCount/totalCount;var pCatGivenColor=bandColorCount/colorCount;var pColorGivenCat=bandColorCount/catCount;var labels={countLabel:totalCount,categoryLabel:catLabel,probabilityLabel:pColorAndCat.toFixed(3)};var hoverinfoParts=[];if(catViewModel.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1){hoverinfoParts.push(["Count:",labels.countLabel].join(" "))}if(catViewModel.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1){hoverinfoParts.push("P(color ∩ "+catLabel+"): "+labels.probabilityLabel);hoverinfoParts.push("P("+catLabel+" | color): "+pCatGivenColor.toFixed(3));hoverinfoParts.push("P(color | "+catLabel+"): "+pColorGivenCat.toFixed(3))}var hovertext=hoverinfoParts.join("<br>");var textColor=tinycolor.mostReadable(bandViewModel.color,["black","white"]);return{trace:trace,x:scaleX*(hoverCenterX-rootBBox.left),y:scaleY*(hoverCenterY-rootBBox.top),text:hovertext,color:bandViewModel.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:textColor,fontSize:10,idealAlign:hoverLabelIdealAlign,hovertemplate:trace.hovertemplate,hovertemplateLabels:labels,eventData:[{data:trace._input,fullData:trace,category:catLabel,count:totalCount,probability:pColorAndCat,categorycount:catCount,colorcount:colorCount,bandcolorcount:bandColorCount}]}}function mouseoverCategoryBand(bandViewModel){if(!bandViewModel.parcatsViewModel.dragDimension){if(bandViewModel.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var mouseY=d3.mouse(this)[1];if(mouseY<-1){return}var gd=bandViewModel.parcatsViewModel.graphDiv;var fullLayout=gd._fullLayout;var rootBBox=fullLayout._paperdiv.node().getBoundingClientRect();var hoveron=bandViewModel.parcatsViewModel.hoveron;var bandElement=this;if(hoveron==="color"){styleForColorHovermode(bandElement);emitPointsEventColorHovermode(bandElement,"plotly_hover",d3.event)}else{styleForCategoryHovermode(bandElement);emitPointsEventCategoryHovermode(bandElement,"plotly_hover",d3.event)}if(bandViewModel.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var hoverItems;if(hoveron==="category"){hoverItems=createHoverLabelForCategoryHovermode(gd,rootBBox,bandElement)}else if(hoveron==="color"){hoverItems=createHoverLabelForColorHovermode(gd,rootBBox,bandElement)}else if(hoveron==="dimension"){hoverItems=createHoverLabelForDimensionHovermode(gd,rootBBox,bandElement)}if(hoverItems){Fx.loneHover(hoverItems,{container:fullLayout._hoverlayer.node(),outerContainer:fullLayout._paper.node(),gd:gd})}}}}}function mouseoutCategory(bandViewModel){var parcatsViewModel=bandViewModel.parcatsViewModel;if(!parcatsViewModel.dragDimension){stylePathsNoHover(parcatsViewModel.pathSelection);styleCategoriesNoHover(parcatsViewModel.dimensionSelection.selectAll("g.category"));styleBandsNoHover(parcatsViewModel.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect"));Fx.loneUnhover(parcatsViewModel.graphDiv._fullLayout._hoverlayer.node());parcatsViewModel.pathSelection.sort(compareRawColor);if(parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var hoveron=bandViewModel.parcatsViewModel.hoveron;var bandElement=this;if(hoveron==="color"){emitPointsEventColorHovermode(bandElement,"plotly_unhover",d3.event)}else{emitPointsEventCategoryHovermode(bandElement,"plotly_unhover",d3.event)}}}}function dragDimensionStart(d){if(d.parcatsViewModel.arrangement==="fixed"){return}d.dragDimensionDisplayInd=d.model.displayInd;d.initialDragDimensionDisplayInds=d.parcatsViewModel.model.dimensions.map((function(d){return d.displayInd}));d.dragHasMoved=false;d.dragCategoryDisplayInd=null;d3.select(this).selectAll("g.category").select("rect.catrect").each((function(catViewModel){var catMouseX=d3.mouse(this)[0];var catMouseY=d3.mouse(this)[1];if(-2<=catMouseX&&catMouseX<=catViewModel.width+2&&-2<=catMouseY&&catMouseY<=catViewModel.height+2){d.dragCategoryDisplayInd=catViewModel.model.displayInd;d.initialDragCategoryDisplayInds=d.model.categories.map((function(c){return c.displayInd}));catViewModel.model.dragY=catViewModel.y;Lib.raiseToTop(this.parentNode);d3.select(this.parentNode).selectAll("rect.bandrect").each((function(bandViewModel){if(bandViewModel.y<catMouseY&&catMouseY<=bandViewModel.y+bandViewModel.height){d.potentialClickBand=this}}))}}));d.parcatsViewModel.dragDimension=d;Fx.loneUnhover(d.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node())}function dragDimension(d){if(d.parcatsViewModel.arrangement==="fixed"){return}d.dragHasMoved=true;if(d.dragDimensionDisplayInd===null){return}var dragDimInd=d.dragDimensionDisplayInd;var prevDimInd=dragDimInd-1;var nextDimInd=dragDimInd+1;var dragDimension=d.parcatsViewModel.dimensions[dragDimInd];if(d.dragCategoryDisplayInd!==null){var dragCategory=dragDimension.categories[d.dragCategoryDisplayInd];dragCategory.model.dragY+=d3.event.dy;var categoryY=dragCategory.model.dragY;var catDisplayInd=dragCategory.model.displayInd;var dimCategoryViews=dragDimension.categories;var catAbove=dimCategoryViews[catDisplayInd-1];var catBelow=dimCategoryViews[catDisplayInd+1];if(catAbove!==undefined){if(categoryY<catAbove.y+catAbove.height/2){dragCategory.model.displayInd=catAbove.model.displayInd;catAbove.model.displayInd=catDisplayInd}}if(catBelow!==undefined){if(categoryY+dragCategory.height>catBelow.y+catBelow.height/2){dragCategory.model.displayInd=catBelow.model.displayInd;catBelow.model.displayInd=catDisplayInd}}d.dragCategoryDisplayInd=dragCategory.model.displayInd}if(d.dragCategoryDisplayInd===null||d.parcatsViewModel.arrangement==="freeform"){dragDimension.model.dragX=d3.event.x;var prevDimension=d.parcatsViewModel.dimensions[prevDimInd];var nextDimension=d.parcatsViewModel.dimensions[nextDimInd];if(prevDimension!==undefined){if(dragDimension.model.dragX<prevDimension.x+prevDimension.width){dragDimension.model.displayInd=prevDimension.model.displayInd;prevDimension.model.displayInd=dragDimInd}}if(nextDimension!==undefined){if(dragDimension.model.dragX+dragDimension.width>nextDimension.x){dragDimension.model.displayInd=nextDimension.model.displayInd;nextDimension.model.displayInd=d.dragDimensionDisplayInd}}d.dragDimensionDisplayInd=dragDimension.model.displayInd}updateDimensionViewModels(d.parcatsViewModel);updatePathViewModels(d.parcatsViewModel);updateSvgCategories(d.parcatsViewModel);updateSvgPaths(d.parcatsViewModel)}function dragDimensionEnd(d){if(d.parcatsViewModel.arrangement==="fixed"){return}if(d.dragDimensionDisplayInd===null){return}d3.select(this).selectAll("text").attr("font-weight","normal");var restyleData={};var traceInd=getTraceIndex(d.parcatsViewModel);var finalDragDimensionDisplayInds=d.parcatsViewModel.model.dimensions.map((function(d){return d.displayInd}));var anyDimsReordered=d.initialDragDimensionDisplayInds.some((function(initDimDisplay,dimInd){return initDimDisplay!==finalDragDimensionDisplayInds[dimInd]}));if(anyDimsReordered){finalDragDimensionDisplayInds.forEach((function(finalDimDisplay,dimInd){var containerInd=d.parcatsViewModel.model.dimensions[dimInd].containerInd;restyleData["dimensions["+containerInd+"].displayindex"]=finalDimDisplay}))}var anyCatsReordered=false;if(d.dragCategoryDisplayInd!==null){var finalDragCategoryDisplayInds=d.model.categories.map((function(c){return c.displayInd}));anyCatsReordered=d.initialDragCategoryDisplayInds.some((function(initCatDisplay,catInd){return initCatDisplay!==finalDragCategoryDisplayInds[catInd]}));if(anyCatsReordered){var sortedCategoryModels=d.model.categories.slice().sort((function(a,b){return a.displayInd-b.displayInd}));var newCategoryArray=sortedCategoryModels.map((function(v){return v.categoryValue}));var newCategoryLabels=sortedCategoryModels.map((function(v){return v.categoryLabel}));restyleData["dimensions["+d.model.containerInd+"].categoryarray"]=[newCategoryArray];restyleData["dimensions["+d.model.containerInd+"].ticktext"]=[newCategoryLabels];restyleData["dimensions["+d.model.containerInd+"].categoryorder"]="array"}}if(d.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){if(!d.dragHasMoved&&d.potentialClickBand){if(d.parcatsViewModel.hoveron==="color"){emitPointsEventColorHovermode(d.potentialClickBand,"plotly_click",d3.event.sourceEvent)}else{emitPointsEventCategoryHovermode(d.potentialClickBand,"plotly_click",d3.event.sourceEvent)}}}d.model.dragX=null;if(d.dragCategoryDisplayInd!==null){var dragCategory=d.parcatsViewModel.dimensions[d.dragDimensionDisplayInd].categories[d.dragCategoryDisplayInd];dragCategory.model.dragY=null;d.dragCategoryDisplayInd=null}d.dragDimensionDisplayInd=null;d.parcatsViewModel.dragDimension=null;d.dragHasMoved=null;d.potentialClickBand=null;updateDimensionViewModels(d.parcatsViewModel);updatePathViewModels(d.parcatsViewModel);var transition=d3.transition().duration(300).ease("cubic-in-out");transition.each((function(){updateSvgCategories(d.parcatsViewModel,true);updateSvgPaths(d.parcatsViewModel,true)})).each("end",(function(){if(anyDimsReordered||anyCatsReordered){Plotly.restyle(d.parcatsViewModel.graphDiv,restyleData,[traceInd])}}))}function getTraceIndex(parcatsViewModel){var traceInd;var allTraces=parcatsViewModel.graphDiv._fullData;for(var i=0;i<allTraces.length;i++){if(parcatsViewModel.key===allTraces[i].uid){traceInd=i;break}}return traceInd}function updateSvgPaths(parcatsViewModel,hasTransition){if(hasTransition===undefined){hasTransition=false}function transition(selection){return hasTransition?selection.transition():selection}parcatsViewModel.pathSelection.data((function(d){return d.paths}),key);transition(parcatsViewModel.pathSelection).attr("d",(function(d){return d.svgD}))}function updateSvgCategories(parcatsViewModel,hasTransition){if(hasTransition===undefined){hasTransition=false}function transition(selection){return hasTransition?selection.transition():selection}parcatsViewModel.dimensionSelection.data((function(d){return d.dimensions}),key);var categorySelection=parcatsViewModel.dimensionSelection.selectAll("g.category").data((function(d){return d.categories}),key);transition(parcatsViewModel.dimensionSelection).attr("transform",(function(d){return strTranslate(d.x,0)}));transition(categorySelection).attr("transform",(function(d){return strTranslate(0,d.y)}));var dimLabelSelection=categorySelection.select(".dimlabel");dimLabelSelection.text((function(d,i){if(i===0){return d.parcatsViewModel.model.dimensions[d.model.dimensionInd].dimensionLabel}else{return null}}));var catLabelSelection=categorySelection.select(".catlabel");catLabelSelection.attr("text-anchor",(function(d){if(catInRightDim(d)){return"start"}else{return"end"}})).attr("x",(function(d){if(catInRightDim(d)){return d.width+5}else{return-5}})).each((function(d){var newX;var newAnchor;if(catInRightDim(d)){newX=d.width+5;newAnchor="start"}else{newX=-5;newAnchor="end"}d3.select(this).selectAll("tspan").attr("x",newX).attr("text-anchor",newAnchor)}));var bandSelection=categorySelection.selectAll("rect.bandrect").data((function(catViewModel){return catViewModel.bands}),key);var bandsSelectionEnter=bandSelection.enter().append("rect").attr("class","bandrect").attr("cursor","move").attr("stroke-opacity",0).attr("fill",(function(d){return d.color})).attr("fill-opacity",0);bandSelection.attr("fill",(function(d){return d.color})).attr("width",(function(d){return d.width})).attr("height",(function(d){return d.height})).attr("y",(function(d){return d.y}));styleBandsNoHover(bandsSelectionEnter);bandSelection.each((function(){Lib.raiseToTop(this)}));bandSelection.exit().remove()}function createParcatsViewModel(graphDiv,layout,wrappedParcatsModel){var parcatsModel=wrappedParcatsModel[0];var margin=layout.margin||{l:80,r:80,t:100,b:80};var trace=parcatsModel.trace;var domain=trace.domain;var figureWidth=layout.width;var figureHeight=layout.height;var traceWidth=Math.floor(figureWidth*(domain.x[1]-domain.x[0]));var traceHeight=Math.floor(figureHeight*(domain.y[1]-domain.y[0]));var traceX=domain.x[0]*figureWidth+margin.l;var traceY=layout.height-domain.y[1]*layout.height+margin.t;var pathShape=trace.line.shape;var hoverinfoItems;if(trace.hoverinfo==="all"){hoverinfoItems=["count","probability"]}else{hoverinfoItems=(trace.hoverinfo||"").split("+")}var parcatsViewModel={trace:trace,key:trace.uid,model:parcatsModel,x:traceX,y:traceY,width:traceWidth,height:traceHeight,hoveron:trace.hoveron,hoverinfoItems:hoverinfoItems,arrangement:trace.arrangement,bundlecolors:trace.bundlecolors,sortpaths:trace.sortpaths,labelfont:trace.labelfont,categorylabelfont:trace.tickfont,pathShape:pathShape,dragDimension:null,margin:margin,paths:[],dimensions:[],graphDiv:graphDiv,traceSelection:null,pathSelection:null,dimensionSelection:null};if(parcatsModel.dimensions){updateDimensionViewModels(parcatsViewModel);updatePathViewModels(parcatsViewModel)}return parcatsViewModel}function buildSvgPath(leftXPositions,pathYs,dimWidths,pathHeight,curvature){var xRefPoints1=[];var xRefPoints2=[];var refInterpolator;var d;for(d=0;d<dimWidths.length-1;d++){refInterpolator=interpolateNumber(dimWidths[d]+leftXPositions[d],leftXPositions[d+1]);xRefPoints1.push(refInterpolator(curvature));xRefPoints2.push(refInterpolator(1-curvature))}var svgD="M "+leftXPositions[0]+","+pathYs[0];svgD+="l"+dimWidths[0]+",0 ";for(d=1;d<dimWidths.length;d++){svgD+="C"+xRefPoints1[d-1]+","+pathYs[d-1]+" "+xRefPoints2[d-1]+","+pathYs[d]+" "+leftXPositions[d]+","+pathYs[d];svgD+="l"+dimWidths[d]+",0 "}svgD+="l"+"0,"+pathHeight+" ";svgD+="l -"+dimWidths[dimWidths.length-1]+",0 ";for(d=dimWidths.length-2;d>=0;d--){svgD+="C"+xRefPoints2[d]+","+(pathYs[d+1]+pathHeight)+" "+xRefPoints1[d]+","+(pathYs[d]+pathHeight)+" "+(leftXPositions[d]+dimWidths[d])+","+(pathYs[d]+pathHeight);svgD+="l-"+dimWidths[d]+",0 "}svgD+="Z";return svgD}function updatePathViewModels(parcatsViewModel){var dimensionViewModels=parcatsViewModel.dimensions;var parcatsModel=parcatsViewModel.model;var nextYPositions=dimensionViewModels.map((function(d){return d.categories.map((function(c){return c.y}))}));var catToDisplayIndPerDim=parcatsViewModel.model.dimensions.map((function(d){return d.categories.map((function(c){return c.displayInd}))}));var dimToDisplayInd=parcatsViewModel.model.dimensions.map((function(d){return d.displayInd}));var displayToDimInd=parcatsViewModel.dimensions.map((function(d){return d.model.dimensionInd}));var leftXPositions=dimensionViewModels.map((function(d){return d.x}));var dimWidths=dimensionViewModels.map((function(d){return d.width}));var pathModels=[];for(var p in parcatsModel.paths){if(parcatsModel.paths.hasOwnProperty(p)){pathModels.push(parcatsModel.paths[p])}}function pathDisplayCategoryInds(pathModel){var dimensionInds=pathModel.categoryInds.map((function(catInd,dimInd){return catToDisplayIndPerDim[dimInd][catInd]}));var displayInds=displayToDimInd.map((function(dimInd){return dimensionInds[dimInd]}));return displayInds}pathModels.sort((function(v1,v2){var sortArray1=pathDisplayCategoryInds(v1);var sortArray2=pathDisplayCategoryInds(v2);if(parcatsViewModel.sortpaths==="backward"){sortArray1.reverse();sortArray2.reverse()}sortArray1.push(v1.valueInds[0]);sortArray2.push(v2.valueInds[0]);if(parcatsViewModel.bundlecolors){sortArray1.unshift(v1.rawColor);sortArray2.unshift(v2.rawColor)}if(sortArray1<sortArray2){return-1}if(sortArray1>sortArray2){return 1}return 0}));var pathViewModels=new Array(pathModels.length);var totalCount=dimensionViewModels[0].model.count;var totalHeight=dimensionViewModels[0].categories.map((function(c){return c.height})).reduce((function(v1,v2){return v1+v2}));for(var pathNumber=0;pathNumber<pathModels.length;pathNumber++){var pathModel=pathModels[pathNumber];var pathHeight;if(totalCount>0){pathHeight=totalHeight*(pathModel.count/totalCount)}else{pathHeight=0}var pathYs=new Array(nextYPositions.length);for(var d=0;d<pathModel.categoryInds.length;d++){var catInd=pathModel.categoryInds[d];var catDisplayInd=catToDisplayIndPerDim[d][catInd];var dimDisplayInd=dimToDisplayInd[d];pathYs[dimDisplayInd]=nextYPositions[dimDisplayInd][catDisplayInd];nextYPositions[dimDisplayInd][catDisplayInd]+=pathHeight;var catViewModle=parcatsViewModel.dimensions[dimDisplayInd].categories[catDisplayInd];var numBands=catViewModle.bands.length;var lastCatBand=catViewModle.bands[numBands-1];if(lastCatBand===undefined||pathModel.rawColor!==lastCatBand.rawColor){var bandY=lastCatBand===undefined?0:lastCatBand.y+lastCatBand.height;catViewModle.bands.push({key:bandY,color:pathModel.color,rawColor:pathModel.rawColor,height:pathHeight,width:catViewModle.width,count:pathModel.count,y:bandY,categoryViewModel:catViewModle,parcatsViewModel:parcatsViewModel})}else{var currentBand=catViewModle.bands[numBands-1];currentBand.height+=pathHeight;currentBand.count+=pathModel.count}}var svgD;if(parcatsViewModel.pathShape==="hspline"){svgD=buildSvgPath(leftXPositions,pathYs,dimWidths,pathHeight,.5)}else{svgD=buildSvgPath(leftXPositions,pathYs,dimWidths,pathHeight,0)}pathViewModels[pathNumber]={key:pathModel.valueInds[0],model:pathModel,height:pathHeight,leftXs:leftXPositions,topYs:pathYs,dimWidths:dimWidths,svgD:svgD,parcatsViewModel:parcatsViewModel}}parcatsViewModel.paths=pathViewModels}function updateDimensionViewModels(parcatsViewModel){var dimensionsIndInfo=parcatsViewModel.model.dimensions.map((function(d){return{displayInd:d.displayInd,dimensionInd:d.dimensionInd}}));dimensionsIndInfo.sort((function(a,b){return a.displayInd-b.displayInd}));var dimensions=[];for(var displayInd in dimensionsIndInfo){var dimensionInd=dimensionsIndInfo[displayInd].dimensionInd;var dimModel=parcatsViewModel.model.dimensions[dimensionInd];dimensions.push(createDimensionViewModel(parcatsViewModel,dimModel))}parcatsViewModel.dimensions=dimensions}function createDimensionViewModel(parcatsViewModel,dimensionModel){var categoryLabelPad=40;var dimWidth=16;var numDimensions=parcatsViewModel.model.dimensions.length;var displayInd=dimensionModel.displayInd;var dimDx;var dimX0;var dimX;if(numDimensions>1){dimDx=(parcatsViewModel.width-2*categoryLabelPad-dimWidth)/(numDimensions-1)}else{dimDx=0}dimX0=categoryLabelPad;dimX=dimX0+dimDx*displayInd;var categories=[];var maxCats=parcatsViewModel.model.maxCats;var numCats=dimensionModel.categories.length;var catSpacing=8;var totalCount=dimensionModel.count;var totalHeight=parcatsViewModel.height-catSpacing*(maxCats-1);var nextCatHeight;var nextCatModel;var nextCat;var catInd;var catDisplayInd;var nextCatY=(maxCats-numCats)*catSpacing/2;var categoryIndInfo=dimensionModel.categories.map((function(c){return{displayInd:c.displayInd,categoryInd:c.categoryInd}}));categoryIndInfo.sort((function(a,b){return a.displayInd-b.displayInd}));for(catDisplayInd=0;catDisplayInd<numCats;catDisplayInd++){catInd=categoryIndInfo[catDisplayInd].categoryInd;nextCatModel=dimensionModel.categories[catInd];if(totalCount>0){nextCatHeight=nextCatModel.count/totalCount*totalHeight}else{nextCatHeight=0}nextCat={key:nextCatModel.valueInds[0],model:nextCatModel,width:dimWidth,height:nextCatHeight,y:nextCatModel.dragY!==null?nextCatModel.dragY:nextCatY,bands:[],parcatsViewModel:parcatsViewModel};nextCatY=nextCatY+nextCatHeight+catSpacing;categories.push(nextCat)}return{key:dimensionModel.dimensionInd,x:dimensionModel.dragX!==null?dimensionModel.dragX:dimX,y:0,width:dimWidth,model:dimensionModel,categories:categories,parcatsViewModel:parcatsViewModel,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}},{"../../components/drawing":688,"../../components/fx":706,"../../lib":803,"../../lib/svg_text_utils":829,"../../plot_api/plot_api":840,"@plotly/d3":58,"d3-interpolate":171,tinycolor2:598}],1179:[function(_dereq_,module,exports){"use strict";var parcats=_dereq_("./parcats");module.exports=function plot(graphDiv,parcatsModels,transitionOpts,makeOnCompleteCallback){var fullLayout=graphDiv._fullLayout;var svg=fullLayout._paper;var size=fullLayout._size;parcats(graphDiv,svg,parcatsModels,{width:size.w,height:size.h,margin:{t:size.t,r:size.r,b:size.b,l:size.l}},transitionOpts,makeOnCompleteCallback)}},{"./parcats":1178}],1180:[function(_dereq_,module,exports){"use strict";var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var axesAttrs=_dereq_("../../plots/cartesian/layout_attributes");var fontAttrs=_dereq_("../../plots/font_attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var extendFlat=_dereq_("../../lib/extend").extendFlat;var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;module.exports={domain:domainAttrs({name:"parcoords",trace:true,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:fontAttrs({editType:"plot"}),tickfont:fontAttrs({editType:"plot"}),rangefont:fontAttrs({editType:"plot"}),dimensions:templatedArray("dimension",{label:{valType:"string",editType:"plot"},tickvals:extendFlat({},axesAttrs.tickvals,{editType:"plot"}),ticktext:extendFlat({},axesAttrs.ticktext,{editType:"plot"}),tickformat:extendFlat({},axesAttrs.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:true,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:true,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:true,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:extendFlat({editType:"calc"},colorScaleAttrs("line",{colorscaleDflt:"Viridis",autoColorDflt:false,editTypeOverride:"calc"}))}},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plot_api/plot_template":843,"../../plots/cartesian/layout_attributes":869,"../../plots/domain":882,"../../plots/font_attributes":883}],1181:[function(_dereq_,module,exports){"use strict";var c=_dereq_("./constants");var d3=_dereq_("@plotly/d3");var keyFun=_dereq_("../../lib/gup").keyFun;var repeat=_dereq_("../../lib/gup").repeat;var sortAsc=_dereq_("../../lib").sorterAsc;var strTranslate=_dereq_("../../lib").strTranslate;var snapRatio=c.bar.snapRatio;function snapOvershoot(v,vAdjacent){return v*(1-snapRatio)+vAdjacent*snapRatio}var snapClose=c.bar.snapClose;function closeToCovering(v,vAdjacent){return v*(1-snapClose)+vAdjacent*snapClose}function ordinalScaleSnap(isHigh,a,v,existingRanges){if(overlappingExisting(v,existingRanges))return v;var dir=isHigh?-1:1;var first=0;var last=a.length-1;if(dir<0){var tmp=first;first=last;last=tmp}var aHere=a[first];var aPrev=aHere;for(var i=first;dir*i<dir*last;i+=dir){var nextI=i+dir;var aNext=a[nextI];if(dir*v<dir*closeToCovering(aHere,aNext))return snapOvershoot(aHere,aPrev);if(dir*v<dir*aNext||nextI===last)return snapOvershoot(aNext,aHere);aPrev=aHere;aHere=aNext}}function overlappingExisting(v,existingRanges){for(var i=0;i<existingRanges.length;i++){if(v>=existingRanges[i][0]&&v<=existingRanges[i][1])return true}return false}function barHorizontalSetup(selection){selection.attr("x",-c.bar.captureWidth/2).attr("width",c.bar.captureWidth)}function backgroundBarHorizontalSetup(selection){selection.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function setHighlight(d){if(!d.brush.filterSpecified){return"0,"+d.height}var pixelRanges=unitToPx(d.brush.filter.getConsolidated(),d.height);var dashArray=[0];var p,sectionHeight,iNext;var currentGap=pixelRanges.length?pixelRanges[0][0]:null;for(var i=0;i<pixelRanges.length;i++){p=pixelRanges[i];sectionHeight=p[1]-p[0];dashArray.push(currentGap);dashArray.push(sectionHeight);iNext=i+1;if(iNext<pixelRanges.length){currentGap=pixelRanges[iNext][0]-p[1]}}dashArray.push(d.height);return dashArray}function unitToPx(unitRanges,height){return unitRanges.map((function(pr){return pr.map((function(v){return Math.max(0,v*height)})).sort(sortAsc)}))}function getRegion(fPix,y){var pad=c.bar.handleHeight;if(y>fPix[1]+pad||y<fPix[0]-pad)return;if(y>=.9*fPix[1]+.1*fPix[0])return"n";if(y<=.9*fPix[0]+.1*fPix[1])return"s";return"ns"}function clearCursor(){d3.select(document.body).style("cursor",null)}function styleHighlight(selection){selection.attr("stroke-dasharray",setHighlight)}function renderHighlight(root,tweenCallback){var bar=d3.select(root).selectAll(".highlight, .highlight-shadow");var barToStyle=tweenCallback?bar.transition().duration(c.bar.snapDuration).each("end",tweenCallback):bar;styleHighlight(barToStyle)}function getInterval(d,y){var b=d.brush;var active=b.filterSpecified;var closestInterval=NaN;var out={};var i;if(active){var height=d.height;var intervals=b.filter.getConsolidated();var pixIntervals=unitToPx(intervals,height);var hoveredInterval=NaN;var previousInterval=NaN;var nextInterval=NaN;for(i=0;i<=pixIntervals.length;i++){var p=pixIntervals[i];if(p&&p[0]<=y&&y<=p[1]){hoveredInterval=i;break}else{previousInterval=i?i-1:NaN;if(p&&p[0]>y){nextInterval=i;break}}}closestInterval=hoveredInterval;if(isNaN(closestInterval)){if(isNaN(previousInterval)||isNaN(nextInterval)){closestInterval=isNaN(previousInterval)?nextInterval:previousInterval}else{closestInterval=y-pixIntervals[previousInterval][1]<pixIntervals[nextInterval][0]-y?previousInterval:nextInterval}}if(!isNaN(closestInterval)){var fPix=pixIntervals[closestInterval];var region=getRegion(fPix,y);if(region){out.interval=intervals[closestInterval];out.intervalPix=fPix;out.region=region}}}if(d.ordinal&&!out.region){var a=d.unitTickvals;var unitLocation=d.unitToPaddedPx.invert(y);for(i=0;i<a.length;i++){var rangei=[a[Math.max(i-1,0)]*.25+a[i]*.75,a[Math.min(i+1,a.length-1)]*.25+a[i]*.75];if(unitLocation>=rangei[0]&&unitLocation<=rangei[1]){out.clickableOrdinalRange=rangei;break}}}return out}function dragstart(lThis,d){d3.event.sourceEvent.stopPropagation();var y=d.height-d3.mouse(lThis)[1]-2*c.verticalPadding;var unitLocation=d.unitToPaddedPx.invert(y);var b=d.brush;var interval=getInterval(d,y);var unitRange=interval.interval;var s=b.svgBrush;s.wasDragged=false;s.grabbingBar=interval.region==="ns";if(s.grabbingBar){var pixelRange=unitRange.map(d.unitToPaddedPx);s.grabPoint=y-pixelRange[0]-c.verticalPadding;s.barLength=pixelRange[1]-pixelRange[0]}s.clickableOrdinalRange=interval.clickableOrdinalRange;s.stayingIntervals=d.multiselect&&b.filterSpecified?b.filter.getConsolidated():[];if(unitRange){s.stayingIntervals=s.stayingIntervals.filter((function(int2){return int2[0]!==unitRange[0]&&int2[1]!==unitRange[1]}))}s.startExtent=interval.region?unitRange[interval.region==="s"?1:0]:unitLocation;d.parent.inBrushDrag=true;s.brushStartCallback()}function drag(lThis,d){d3.event.sourceEvent.stopPropagation();var y=d.height-d3.mouse(lThis)[1]-2*c.verticalPadding;var s=d.brush.svgBrush;s.wasDragged=true;s._dragging=true;if(s.grabbingBar){s.newExtent=[y-s.grabPoint,y+s.barLength-s.grabPoint].map(d.unitToPaddedPx.invert)}else{s.newExtent=[s.startExtent,d.unitToPaddedPx.invert(y)].sort(sortAsc)}d.brush.filterSpecified=true;s.extent=s.stayingIntervals.concat([s.newExtent]);s.brushCallback(d);renderHighlight(lThis.parentNode)}function dragend(lThis,d){var brush=d.brush;var filter=brush.filter;var s=brush.svgBrush;if(!s._dragging){mousemove(lThis,d);drag(lThis,d);d.brush.svgBrush.wasDragged=false}s._dragging=false;var e=d3.event;e.sourceEvent.stopPropagation();var grabbingBar=s.grabbingBar;s.grabbingBar=false;s.grabLocation=undefined;d.parent.inBrushDrag=false;clearCursor();if(!s.wasDragged){s.wasDragged=undefined;if(s.clickableOrdinalRange){if(brush.filterSpecified&&d.multiselect){s.extent.push(s.clickableOrdinalRange)}else{s.extent=[s.clickableOrdinalRange];brush.filterSpecified=true}}else if(grabbingBar){s.extent=s.stayingIntervals;if(s.extent.length===0){brushClear(brush)}}else{brushClear(brush)}s.brushCallback(d);renderHighlight(lThis.parentNode);s.brushEndCallback(brush.filterSpecified?filter.getConsolidated():[]);return}var mergeIntervals=function(){filter.set(filter.getConsolidated())};if(d.ordinal){var a=d.unitTickvals;if(a[a.length-1]<a[0])a.reverse();s.newExtent=[ordinalScaleSnap(0,a,s.newExtent[0],s.stayingIntervals),ordinalScaleSnap(1,a,s.newExtent[1],s.stayingIntervals)];var hasNewExtent=s.newExtent[1]>s.newExtent[0];s.extent=s.stayingIntervals.concat(hasNewExtent?[s.newExtent]:[]);if(!s.extent.length){brushClear(brush)}s.brushCallback(d);if(hasNewExtent){renderHighlight(lThis.parentNode,mergeIntervals)}else{mergeIntervals();renderHighlight(lThis.parentNode)}}else{mergeIntervals()}s.brushEndCallback(brush.filterSpecified?filter.getConsolidated():[])}function mousemove(lThis,d){var y=d.height-d3.mouse(lThis)[1]-2*c.verticalPadding;var interval=getInterval(d,y);var cursor="crosshair";if(interval.clickableOrdinalRange)cursor="pointer";else if(interval.region)cursor=interval.region+"-resize";d3.select(document.body).style("cursor",cursor)}function attachDragBehavior(selection){selection.on("mousemove",(function(d){d3.event.preventDefault();if(!d.parent.inBrushDrag)mousemove(this,d)})).on("mouseleave",(function(d){if(!d.parent.inBrushDrag)clearCursor()})).call(d3.behavior.drag().on("dragstart",(function(d){dragstart(this,d)})).on("drag",(function(d){drag(this,d)})).on("dragend",(function(d){dragend(this,d)})))}function startAsc(a,b){return a[0]-b[0]}function renderAxisBrush(axisBrush,paperColor){var background=axisBrush.selectAll(".background").data(repeat);background.enter().append("rect").classed("background",true).call(barHorizontalSetup).call(backgroundBarHorizontalSetup).style("pointer-events","auto").attr("transform",strTranslate(0,c.verticalPadding));background.call(attachDragBehavior).attr("height",(function(d){return d.height-c.verticalPadding}));var highlightShadow=axisBrush.selectAll(".highlight-shadow").data(repeat);highlightShadow.enter().append("line").classed("highlight-shadow",true).attr("x",-c.bar.width/2).attr("stroke-width",c.bar.width+c.bar.strokeWidth).attr("stroke",paperColor).attr("opacity",c.bar.strokeOpacity).attr("stroke-linecap","butt");highlightShadow.attr("y1",(function(d){return d.height})).call(styleHighlight);var highlight=axisBrush.selectAll(".highlight").data(repeat);highlight.enter().append("line").classed("highlight",true).attr("x",-c.bar.width/2).attr("stroke-width",c.bar.width-c.bar.strokeWidth).attr("stroke",c.bar.fillColor).attr("opacity",c.bar.fillOpacity).attr("stroke-linecap","butt");highlight.attr("y1",(function(d){return d.height})).call(styleHighlight)}function ensureAxisBrush(axisOverlays,paperColor){var axisBrush=axisOverlays.selectAll("."+c.cn.axisBrush).data(repeat,keyFun);axisBrush.enter().append("g").classed(c.cn.axisBrush,true);renderAxisBrush(axisBrush,paperColor)}function getBrushExtent(brush){return brush.svgBrush.extent.map((function(e){return e.slice()}))}function brushClear(brush){brush.filterSpecified=false;brush.svgBrush.extent=[[-Infinity,Infinity]]}function axisBrushMoved(callback){return function axisBrushMoved(dimension){var brush=dimension.brush;var extent=getBrushExtent(brush);var newExtent=extent.slice();brush.filter.set(newExtent);callback()}}function dedupeRealRanges(intervals){var queue=intervals.slice();var result=[];var currentInterval;var current=queue.shift();while(current){currentInterval=current.slice();while((current=queue.shift())&&current[0]<=currentInterval[1]){currentInterval[1]=Math.max(currentInterval[1],current[1])}result.push(currentInterval)}if(result.length===1&&result[0][0]>result[0][1]){result=[]}return result}function makeFilter(){var filter=[];var consolidated;var bounds;return{set:function(a){filter=a.map((function(d){return d.slice().sort(sortAsc)})).sort(startAsc);if(filter.length===1&&filter[0][0]===-Infinity&&filter[0][1]===Infinity){filter=[[0,-1]]}consolidated=dedupeRealRanges(filter);bounds=filter.reduce((function(p,n){return[Math.min(p[0],n[0]),Math.max(p[1],n[1])]}),[Infinity,-Infinity])},get:function(){return filter.slice()},getConsolidated:function(){return consolidated},getBounds:function(){return bounds}}}function makeBrush(state,rangeSpecified,initialRange,brushStartCallback,brushCallback,brushEndCallback){var filter=makeFilter();filter.set(initialRange);return{filter:filter,filterSpecified:rangeSpecified,svgBrush:{extent:[],brushStartCallback:brushStartCallback,brushCallback:axisBrushMoved(brushCallback),brushEndCallback:brushEndCallback}}}function cleanRanges(ranges,dimension){if(Array.isArray(ranges[0])){ranges=ranges.map((function(ri){return ri.sort(sortAsc)}));if(!dimension.multiselect)ranges=[ranges[0]];else ranges=dedupeRealRanges(ranges.sort(startAsc))}else ranges=[ranges.sort(sortAsc)];if(dimension.tickvals){var sortedTickVals=dimension.tickvals.slice().sort(sortAsc);ranges=ranges.map((function(ri){var rSnapped=[ordinalScaleSnap(0,sortedTickVals,ri[0],[]),ordinalScaleSnap(1,sortedTickVals,ri[1],[])];if(rSnapped[1]>rSnapped[0])return rSnapped})).filter((function(ri){return ri}));if(!ranges.length)return}return ranges.length>1?ranges:ranges[0]}module.exports={makeBrush:makeBrush,ensureAxisBrush:ensureAxisBrush,cleanRanges:cleanRanges}},{"../../lib":803,"../../lib/gup":800,"./constants":1184,"@plotly/d3":58}],1182:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var getModuleCalcData=_dereq_("../../plots/get_data").getModuleCalcData;var parcoordsPlot=_dereq_("./plot");var xmlnsNamespaces=_dereq_("../../constants/xmlns_namespaces");exports.name="parcoords";exports.plot=function(gd){var calcData=getModuleCalcData(gd.calcdata,"parcoords")[0];if(calcData.length)parcoordsPlot(gd,calcData)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var hadParcoords=oldFullLayout._has&&oldFullLayout._has("parcoords");var hasParcoords=newFullLayout._has&&newFullLayout._has("parcoords");if(hadParcoords&&!hasParcoords){oldFullLayout._paperdiv.selectAll(".parcoords").remove();oldFullLayout._glimages.selectAll("*").remove()}};exports.toSVG=function(gd){var imageRoot=gd._fullLayout._glimages;var root=d3.select(gd).selectAll(".svg-container");var canvases=root.filter((function(d,i){return i===root.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus");function canvasToImage(){var canvas=this;var imageData=canvas.toDataURL("image/png");var image=imageRoot.append("svg:image");image.attr({xmlns:xmlnsNamespaces.svg,"xlink:href":imageData,preserveAspectRatio:"none",x:0,y:0,width:canvas.style.width,height:canvas.style.height})}canvases.each(canvasToImage);window.setTimeout((function(){d3.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},{"../../constants/xmlns_namespaces":780,"../../plots/get_data":891,"./plot":1191,"@plotly/d3":58}],1183:[function(_dereq_,module,exports){"use strict";var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;var Colorscale=_dereq_("../../components/colorscale");var wrap=_dereq_("../../lib/gup").wrap;module.exports=function calc(gd,trace){var lineColor;var cscale;if(Colorscale.hasColorscale(trace,"line")&&isArrayOrTypedArray(trace.line.color)){lineColor=trace.line.color;cscale=Colorscale.extractOpts(trace.line).colorscale;Colorscale.calc(gd,trace,{vals:lineColor,containerStr:"line",cLetter:"c"})}else{lineColor=constHalf(trace._length);cscale=[[0,trace.line.color],[1,trace.line.color]]}return wrap({lineColor:lineColor,cscale:cscale})};function constHalf(len){var out=new Array(len);for(var i=0;i<len;i++){out[i]=.5}return out}},{"../../components/colorscale":678,"../../lib":803,"../../lib/gup":800}],1184:[function(_dereq_,module,exports){"use strict";module.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,deselectedLineColor:"#777",bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}},{}],1185:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var Axes=_dereq_("../../plots/cartesian/axes");var attributes=_dereq_("./attributes");var axisBrush=_dereq_("./axisbrush");var maxDimensionCount=_dereq_("./constants").maxDimensionCount;var mergeLength=_dereq_("./merge_length");function handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce){var lineColor=coerce("line.color",defaultColor);if(hasColorscale(traceIn,"line")&&Lib.isArrayOrTypedArray(lineColor)){if(lineColor.length){coerce("line.colorscale");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"line.",cLetter:"c"});return lineColor.length}else{traceOut.line.color=defaultColor}}return Infinity}function dimensionDefaults(dimensionIn,dimensionOut,parentOut,opts){function coerce(attr,dflt){return Lib.coerce(dimensionIn,dimensionOut,attributes.dimensions,attr,dflt)}var values=coerce("values");var visible=coerce("visible");if(!(values&&values.length)){visible=dimensionOut.visible=false}if(visible){coerce("label");coerce("tickvals");coerce("ticktext");coerce("tickformat");var range=coerce("range");dimensionOut._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:range};Axes.setConvert(dimensionOut._ax,opts.layout);coerce("multiselect");var constraintRange=coerce("constraintrange");if(constraintRange){dimensionOut.constraintrange=axisBrush.cleanRanges(constraintRange,dimensionOut)}}}module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var dimensionsIn=traceIn.dimensions;if(Array.isArray(dimensionsIn)&&dimensionsIn.length>maxDimensionCount){Lib.log("parcoords traces support up to "+maxDimensionCount+" dimensions at the moment");dimensionsIn.splice(maxDimensionCount)}var dimensions=handleArrayContainerDefaults(traceIn,traceOut,{name:"dimensions",layout:layout,handleItemDefaults:dimensionDefaults});var len=handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);handleDomainDefaults(traceOut,layout,coerce);if(!Array.isArray(dimensions)||!dimensions.length){traceOut.visible=false}mergeLength(traceOut,dimensions,"values",len);var fontDflt={family:layout.font.family,size:Math.round(layout.font.size/1.2),color:layout.font.color};Lib.coerceFont(coerce,"labelfont",fontDflt);Lib.coerceFont(coerce,"tickfont",fontDflt);Lib.coerceFont(coerce,"rangefont",fontDflt);coerce("labelangle");coerce("labelside")}},{"../../components/colorscale/defaults":676,"../../components/colorscale/helpers":677,"../../lib":803,"../../plots/array_container_defaults":849,"../../plots/cartesian/axes":854,"../../plots/domain":882,"./attributes":1180,"./axisbrush":1181,"./constants":1184,"./merge_length":1189}],1186:[function(_dereq_,module,exports){"use strict";var isTypedArray=_dereq_("../../lib").isTypedArray;exports.convertTypedArray=function(a){return isTypedArray(a)?Array.prototype.slice.call(a):a};exports.isOrdinal=function(dimension){return!!dimension.tickvals};exports.isVisible=function(dimension){return dimension.visible||!("visible"in dimension)}},{"../../lib":803}],1187:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:_dereq_("./base_plot"),categories:["gl","regl","noOpacity","noHover"],meta:{}}},{"./attributes":1180,"./base_plot":1182,"./calc":1183,"./defaults":1185,"./plot":1191}],1188:[function(_dereq_,module,exports){"use strict";var glslify=_dereq_("glslify");var vertexShaderSource=glslify(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n               p17_20, p21_24, p25_28, p29_32,\n               p33_36, p37_40, p41_44, p45_48,\n               p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\nuniform sampler2D maskTexture, palette;\n\nbool isPick    = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n    float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n    float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n    return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n    return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n    return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n    return (\n        fOutside(p[0], lo[0], hi[0]) ||\n        fOutside(p[1], lo[1], hi[1]) ||\n        fOutside(p[2], lo[2], hi[2]) ||\n        fOutside(p[3], lo[3], hi[3])\n    );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n    return (\n        vOutside(p[0], lo[0], hi[0]) ||\n        vOutside(p[1], lo[1], hi[1]) ||\n        vOutside(p[2], lo[2], hi[2]) ||\n        vOutside(p[3], lo[3], hi[3])\n    );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n    return mOutside(A, loA, hiA) ||\n           mOutside(B, loB, hiB) ||\n           mOutside(C, loC, hiC) ||\n           mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n    mat4 pnts[4];\n    pnts[0] = A;\n    pnts[1] = B;\n    pnts[2] = C;\n    pnts[3] = D;\n\n    for(int i = 0; i < 4; ++i) {\n        for(int j = 0; j < 4; ++j) {\n            for(int k = 0; k < 4; ++k) {\n                if(0 == iMod(\n                    int(255.0 * texture2D(maskTexture,\n                        vec2(\n                            (float(i * 2 + j / 2) + 0.5) / 8.0,\n                            (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n                        ))[3]\n                    ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n                    2\n                )) return true;\n            }\n        }\n    }\n    return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n    float x = 0.5 * sign(v) + 0.5;\n    float y = axisY(x, A, B, C, D);\n    float z = 1.0 - abs(v);\n\n    z += isContext ? 0.0 : 2.0 * float(\n        outsideBoundingBox(A, B, C, D) ||\n        outsideRasterMask(A, B, C, D)\n    );\n\n    return vec4(\n        2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n        z,\n        1.0\n    );\n}\n\nvoid main() {\n    mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n    mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n    mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n    mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n    float v = colors[3];\n\n    gl_Position = position(isContext, v, A, B, C, D);\n\n    fragColor =\n        isContext ? vec4(contextColor) :\n        isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]);var fragmentShaderSource=glslify(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n    gl_FragColor = fragColor;\n}\n"]);var maxDim=_dereq_("./constants").maxDimensionCount;var Lib=_dereq_("../../lib");var depthLimitEpsilon=1e-6;var maskHeight=2048;var dummyPixel=new Uint8Array(4);var dataPixel=new Uint8Array(4);var paletteTextureConfig={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function ensureDraw(regl){regl.read({x:0,y:0,width:1,height:1,data:dummyPixel})}function clear(regl,x,y,width,height){var gl=regl._gl;gl.enable(gl.SCISSOR_TEST);gl.scissor(x,y,width,height);regl.clear({color:[0,0,0,0],depth:1})}function renderBlock(regl,glAes,renderState,blockLineCount,sampleCount,item){var rafKey=item.key;function render(blockNumber){var count=Math.min(blockLineCount,sampleCount-blockNumber*blockLineCount);if(blockNumber===0){window.cancelAnimationFrame(renderState.currentRafs[rafKey]);delete renderState.currentRafs[rafKey];clear(regl,item.scissorX,item.scissorY,item.scissorWidth,item.viewBoxSize[1])}if(renderState.clearOnly){return}item.count=2*count;item.offset=2*blockNumber*blockLineCount;glAes(item);if(blockNumber*blockLineCount+count<sampleCount){renderState.currentRafs[rafKey]=window.requestAnimationFrame((function(){render(blockNumber+1)}))}renderState.drawCompleted=false}if(!renderState.drawCompleted){ensureDraw(regl);renderState.drawCompleted=true}render(0)}function adjustDepth(d){return Math.max(depthLimitEpsilon,Math.min(1-depthLimitEpsilon,d))}function palette(unitToColor,opacity){var result=new Array(256);for(var i=0;i<256;i++){result[i]=unitToColor(i/255).concat(opacity)}return result}function calcPickColor(i,rgbIndex){return(i>>>8*rgbIndex)%256/255}function makePoints(sampleCount,dims,color){var points=new Array(sampleCount*(maxDim+4));var n=0;for(var i=0;i<sampleCount;i++){for(var k=0;k<maxDim;k++){points[n++]=k<dims.length?dims[k].paddedUnitValues[i]:.5}points[n++]=calcPickColor(i,2);points[n++]=calcPickColor(i,1);points[n++]=calcPickColor(i,0);points[n++]=adjustDepth(color[i])}return points}function makeVecAttr(vecIndex,sampleCount,points){var pointPairs=new Array(sampleCount*8);var n=0;for(var i=0;i<sampleCount;i++){for(var j=0;j<2;j++){for(var k=0;k<4;k++){var q=vecIndex*4+k;var v=points[i*64+q];if(q===63&&j===0){v*=-1}pointPairs[n++]=v}}}return pointPairs}function pad2(num){var s="0"+num;return s.substr(s.length-2)}function getAttrName(i){return i<maxDim?"p"+pad2(i+1)+"_"+pad2(i+4):"colors"}function setAttributes(attributes,sampleCount,points){for(var i=0;i<=maxDim;i+=4){attributes[getAttrName(i)](makeVecAttr(i/4,sampleCount,points))}}function emptyAttributes(regl){var attributes={};for(var i=0;i<=maxDim;i+=4){attributes[getAttrName(i)]=regl.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)})}return attributes}function makeItem(model,leftmost,rightmost,itemNumber,i0,i1,x,y,panelSizeX,panelSizeY,crossfilterDimensionIndex,drwLayer,constraints,plotGlPixelRatio){var dims=[[],[]];for(var k=0;k<64;k++){dims[0][k]=k===i0?1:0;dims[1][k]=k===i1?1:0}x*=plotGlPixelRatio;y*=plotGlPixelRatio;panelSizeX*=plotGlPixelRatio;panelSizeY*=plotGlPixelRatio;var overdrag=model.lines.canvasOverdrag*plotGlPixelRatio;var domain=model.domain;var canvasWidth=model.canvasWidth*plotGlPixelRatio;var canvasHeight=model.canvasHeight*plotGlPixelRatio;var padL=model.pad.l*plotGlPixelRatio;var padB=model.pad.b*plotGlPixelRatio;var layoutHeight=model.layoutHeight*plotGlPixelRatio;var layoutWidth=model.layoutWidth*plotGlPixelRatio;var deselectedLinesColor=model.deselectedLines.color;var itemModel=Lib.extendFlat({key:crossfilterDimensionIndex,resolution:[canvasWidth,canvasHeight],viewBoxPos:[x+overdrag,y],viewBoxSize:[panelSizeX,panelSizeY],i0:i0,i1:i1,dim0A:dims[0].slice(0,16),dim0B:dims[0].slice(16,32),dim0C:dims[0].slice(32,48),dim0D:dims[0].slice(48,64),dim1A:dims[1].slice(0,16),dim1B:dims[1].slice(16,32),dim1C:dims[1].slice(32,48),dim1D:dims[1].slice(48,64),drwLayer:drwLayer,contextColor:[deselectedLinesColor[0]/255,deselectedLinesColor[1]/255,deselectedLinesColor[2]/255,deselectedLinesColor[3]<1?deselectedLinesColor[3]:Math.max(1/255,Math.pow(1/model.lines.color.length,1/3))],scissorX:(itemNumber===leftmost?0:x+overdrag)+(padL-overdrag)+layoutWidth*domain.x[0],scissorWidth:(itemNumber===rightmost?canvasWidth-x+overdrag:panelSizeX+.5)+(itemNumber===leftmost?x+overdrag:0),scissorY:y+padB+layoutHeight*domain.y[0],scissorHeight:panelSizeY,viewportX:padL-overdrag+layoutWidth*domain.x[0],viewportY:padB+layoutHeight*domain.y[0],viewportWidth:canvasWidth,viewportHeight:canvasHeight},constraints);return itemModel}function expandedPixelRange(bounds){var dh=maskHeight-1;var a=Math.max(0,Math.floor(bounds[0]*dh),0);var b=Math.min(dh,Math.ceil(bounds[1]*dh),dh);return[Math.min(a,b),Math.max(a,b)]}module.exports=function(canvasGL,d){var isContext=d.context;var isPick=d.pick;var regl=d.regl;var gl=regl._gl;var supportedLineWidth=gl.getParameter(gl.ALIASED_LINE_WIDTH_RANGE);var plotGlPixelRatio=Math.max(supportedLineWidth[0],Math.min(supportedLineWidth[1],d.viewModel.plotGlPixelRatio));var renderState={currentRafs:{},drawCompleted:true,clearOnly:false};var model;var vm;var initialDims;var sampleCount;var attributes=emptyAttributes(regl);var maskTexture;var paletteTexture=regl.texture(paletteTextureConfig);var prevAxisOrder=[];update(d);var glAes=regl({profile:false,blend:{enable:isContext,func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},depth:{enable:!isContext,mask:true,func:"less",range:[0,1]},cull:{enable:true,face:"back"},scissor:{enable:true,box:{x:regl.prop("scissorX"),y:regl.prop("scissorY"),width:regl.prop("scissorWidth"),height:regl.prop("scissorHeight")}},viewport:{x:regl.prop("viewportX"),y:regl.prop("viewportY"),width:regl.prop("viewportWidth"),height:regl.prop("viewportHeight")},dither:false,vert:vertexShaderSource,frag:fragmentShaderSource,primitive:"lines",lineWidth:plotGlPixelRatio,attributes:attributes,uniforms:{resolution:regl.prop("resolution"),viewBoxPos:regl.prop("viewBoxPos"),viewBoxSize:regl.prop("viewBoxSize"),dim0A:regl.prop("dim0A"),dim1A:regl.prop("dim1A"),dim0B:regl.prop("dim0B"),dim1B:regl.prop("dim1B"),dim0C:regl.prop("dim0C"),dim1C:regl.prop("dim1C"),dim0D:regl.prop("dim0D"),dim1D:regl.prop("dim1D"),loA:regl.prop("loA"),hiA:regl.prop("hiA"),loB:regl.prop("loB"),hiB:regl.prop("hiB"),loC:regl.prop("loC"),hiC:regl.prop("hiC"),loD:regl.prop("loD"),hiD:regl.prop("hiD"),palette:paletteTexture,contextColor:regl.prop("contextColor"),maskTexture:regl.prop("maskTexture"),drwLayer:regl.prop("drwLayer"),maskHeight:regl.prop("maskHeight")},offset:regl.prop("offset"),count:regl.prop("count")});function update(dNew){model=dNew.model;vm=dNew.viewModel;initialDims=vm.dimensions.slice();sampleCount=initialDims[0]?initialDims[0].values.length:0;var lines=model.lines;var color=isPick?lines.color.map((function(_,i){return i/lines.color.length})):lines.color;var points=makePoints(sampleCount,initialDims,color);setAttributes(attributes,sampleCount,points);if(!isContext&&!isPick){paletteTexture=regl.texture(Lib.extendFlat({data:palette(model.unitToColor,255)},paletteTextureConfig))}}function makeConstraints(isContext){var i,j,k;var limits=[[],[]];for(k=0;k<64;k++){var p=!isContext&&k<initialDims.length?initialDims[k].brush.filter.getBounds():[-Infinity,Infinity];limits[0][k]=p[0];limits[1][k]=p[1]}var len=maskHeight*8;var mask=new Array(len);for(i=0;i<len;i++){mask[i]=255}if(!isContext){for(i=0;i<initialDims.length;i++){var u=i%8;var v=(i-u)/8;var bitMask=Math.pow(2,u);var dim=initialDims[i];var ranges=dim.brush.filter.get();if(ranges.length<2)continue;var prevEnd=expandedPixelRange(ranges[0])[1];for(j=1;j<ranges.length;j++){var nextRange=expandedPixelRange(ranges[j]);for(k=prevEnd+1;k<nextRange[0];k++){mask[k*8+v]&=~bitMask}prevEnd=Math.max(prevEnd,nextRange[1])}}}var textureData={shape:[8,maskHeight],format:"alpha",type:"uint8",mag:"nearest",min:"nearest",data:mask};if(maskTexture)maskTexture(textureData);else maskTexture=regl.texture(textureData);return{maskTexture:maskTexture,maskHeight:maskHeight,loA:limits[0].slice(0,16),loB:limits[0].slice(16,32),loC:limits[0].slice(32,48),loD:limits[0].slice(48,64),hiA:limits[1].slice(0,16),hiB:limits[1].slice(16,32),hiC:limits[1].slice(32,48),hiD:limits[1].slice(48,64)}}function renderGLParcoords(panels,setChanged,clearOnly){var panelCount=panels.length;var i;var leftmost;var rightmost;var lowestX=Infinity;var highestX=-Infinity;for(i=0;i<panelCount;i++){if(panels[i].dim0.canvasX<lowestX){lowestX=panels[i].dim0.canvasX;leftmost=i}if(panels[i].dim1.canvasX>highestX){highestX=panels[i].dim1.canvasX;rightmost=i}}if(panelCount===0){clear(regl,0,0,model.canvasWidth,model.canvasHeight)}var constraints=makeConstraints(isContext);for(i=0;i<panelCount;i++){var p=panels[i];var i0=p.dim0.crossfilterDimensionIndex;var i1=p.dim1.crossfilterDimensionIndex;var x=p.canvasX;var y=p.canvasY;var nextX=x+p.panelSizeX;var plotGlPixelRatio=p.plotGlPixelRatio;if(setChanged||!prevAxisOrder[i0]||prevAxisOrder[i0][0]!==x||prevAxisOrder[i0][1]!==nextX){prevAxisOrder[i0]=[x,nextX];var item=makeItem(model,leftmost,rightmost,i,i0,i1,x,y,p.panelSizeX,p.panelSizeY,p.dim0.crossfilterDimensionIndex,isContext?0:isPick?2:1,constraints,plotGlPixelRatio);renderState.clearOnly=clearOnly;var blockLineCount=setChanged?model.lines.blockLineCount:sampleCount;renderBlock(regl,glAes,renderState,blockLineCount,sampleCount,item)}}}function readPixel(canvasX,canvasY){regl.read({x:canvasX,y:canvasY,width:1,height:1,data:dataPixel});return dataPixel}function readPixels(canvasX,canvasY,width,height){var pixelArray=new Uint8Array(4*width*height);regl.read({x:canvasX,y:canvasY,width:width,height:height,data:pixelArray});return pixelArray}function destroy(){canvasGL.style["pointer-events"]="none";paletteTexture.destroy();if(maskTexture)maskTexture.destroy();for(var k in attributes)attributes[k].destroy()}return{render:renderGLParcoords,readPixel:readPixel,readPixels:readPixels,destroy:destroy,update:update}}},{"../../lib":803,"./constants":1184,glslify:442}],1189:[function(_dereq_,module,exports){"use strict";module.exports=function(traceOut,dimensions,dataAttr,len){if(!len)len=Infinity;var i,dimi;for(i=0;i<dimensions.length;i++){dimi=dimensions[i];if(dimi.visible)len=Math.min(len,dimi[dataAttr].length)}if(len===Infinity)len=0;traceOut._length=len;for(i=0;i<dimensions.length;i++){dimi=dimensions[i];if(dimi.visible)dimi._length=len}return len}},{}],1190:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var numberFormat=Lib.numberFormat;var rgba=_dereq_("color-rgba");var Axes=_dereq_("../../plots/cartesian/axes");var strRotate=Lib.strRotate;var strTranslate=Lib.strTranslate;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Drawing=_dereq_("../../components/drawing");var Colorscale=_dereq_("../../components/colorscale");var gup=_dereq_("../../lib/gup");var keyFun=gup.keyFun;var repeat=gup.repeat;var unwrap=gup.unwrap;var helpers=_dereq_("./helpers");var c=_dereq_("./constants");var brush=_dereq_("./axisbrush");var lineLayerMaker=_dereq_("./lines");function findExtreme(fn,values,len){return Lib.aggNums(fn,null,values,len)}function findExtremes(values,len){return fixExtremes(findExtreme(Math.min,values,len),findExtreme(Math.max,values,len))}function dimensionExtent(dimension){var range=dimension.range;return range?fixExtremes(range[0],range[1]):findExtremes(dimension.values,dimension._length)}function fixExtremes(lo,hi){if(isNaN(lo)||!isFinite(lo)){lo=0}if(isNaN(hi)||!isFinite(hi)){hi=0}if(lo===hi){if(lo===0){lo-=1;hi+=1}else{lo*=.9;hi*=1.1}}return[lo,hi]}function toText(formatter,texts){if(texts){return function(v,i){var text=texts[i];if(text===null||text===undefined)return formatter(v);return text}}return formatter}function domainScale(height,padding,dimension,tickvals,ticktext){var extent=dimensionExtent(dimension);if(tickvals){return d3.scale.ordinal().domain(tickvals.map(toText(numberFormat(dimension.tickformat),ticktext))).range(tickvals.map((function(d){var unitVal=(d-extent[0])/(extent[1]-extent[0]);return height-padding+unitVal*(2*padding-height)})))}return d3.scale.linear().domain(extent).range([height-padding,padding])}function unitToPaddedPx(height,padding){return d3.scale.linear().range([padding,height-padding])}function domainToPaddedUnitScale(dimension,padFraction){return d3.scale.linear().domain(dimensionExtent(dimension)).range([padFraction,1-padFraction])}function ordinalScale(dimension){if(!dimension.tickvals)return;var extent=dimensionExtent(dimension);return d3.scale.ordinal().domain(dimension.tickvals).range(dimension.tickvals.map((function(d){return(d-extent[0])/(extent[1]-extent[0])})))}function unitToColorScale(cscale){var colorStops=cscale.map((function(d){return d[0]}));var colorTuples=cscale.map((function(d){var RGBA=rgba(d[1]);return d3.rgb("rgb("+RGBA[0]+","+RGBA[1]+","+RGBA[2]+")")}));var prop=function(n){return function(o){return o[n]}};var polylinearUnitScales="rgb".split("").map((function(key){return d3.scale.linear().clamp(true).domain(colorStops).range(colorTuples.map(prop(key)))}));return function(d){return polylinearUnitScales.map((function(s){return s(d)}))}}function someFiltersActive(view){return view.dimensions.some((function(p){return p.brush.filterSpecified}))}function model(layout,d,i){var cd0=unwrap(d);var trace=cd0.trace;var lineColor=helpers.convertTypedArray(cd0.lineColor);var line=trace.line;var deselectedLines={color:rgba(c.deselectedLineColor)};var cOpts=Colorscale.extractOpts(line);var cscale=cOpts.reversescale?Colorscale.flipScale(cd0.cscale):cd0.cscale;var domain=trace.domain;var dimensions=trace.dimensions;var width=layout.width;var labelAngle=trace.labelangle;var labelSide=trace.labelside;var labelFont=trace.labelfont;var tickFont=trace.tickfont;var rangeFont=trace.rangefont;var lines=Lib.extendDeepNoArrays({},line,{color:lineColor.map(d3.scale.linear().domain(dimensionExtent({values:lineColor,range:[cOpts.min,cOpts.max],_length:trace._length}))),blockLineCount:c.blockLineCount,canvasOverdrag:c.overdrag*c.canvasPixelRatio});var groupWidth=Math.floor(width*(domain.x[1]-domain.x[0]));var groupHeight=Math.floor(layout.height*(domain.y[1]-domain.y[0]));var pad=layout.margin||{l:80,r:80,t:100,b:80};var rowContentWidth=groupWidth;var rowHeight=groupHeight;return{key:i,colCount:dimensions.filter(helpers.isVisible).length,dimensions:dimensions,tickDistance:c.tickDistance,unitToColor:unitToColorScale(cscale),lines:lines,deselectedLines:deselectedLines,labelAngle:labelAngle,labelSide:labelSide,labelFont:labelFont,tickFont:tickFont,rangeFont:rangeFont,layoutWidth:width,layoutHeight:layout.height,domain:domain,translateX:domain.x[0]*width,translateY:layout.height-domain.y[1]*layout.height,pad:pad,canvasWidth:rowContentWidth*c.canvasPixelRatio+2*lines.canvasOverdrag,canvasHeight:rowHeight*c.canvasPixelRatio,width:rowContentWidth,height:rowHeight,canvasPixelRatio:c.canvasPixelRatio}}function viewModel(state,callbacks,model){var width=model.width;var height=model.height;var dimensions=model.dimensions;var canvasPixelRatio=model.canvasPixelRatio;var xScale=function(d){return width*d/Math.max(1,model.colCount-1)};var unitPad=c.verticalPadding/height;var _unitToPaddedPx=unitToPaddedPx(height,c.verticalPadding);var vm={key:model.key,xScale:xScale,model:model,inBrushDrag:false};var uniqueKeys={};vm.dimensions=dimensions.filter(helpers.isVisible).map((function(dimension,i){var domainToPaddedUnit=domainToPaddedUnitScale(dimension,unitPad);var foundKey=uniqueKeys[dimension.label];uniqueKeys[dimension.label]=(foundKey||0)+1;var key=dimension.label+(foundKey?"__"+foundKey:"");var specifiedConstraint=dimension.constraintrange;var filterRangeSpecified=specifiedConstraint&&specifiedConstraint.length;if(filterRangeSpecified&&!Array.isArray(specifiedConstraint[0])){specifiedConstraint=[specifiedConstraint]}var filterRange=filterRangeSpecified?specifiedConstraint.map((function(d){return d.map(domainToPaddedUnit)})):[[-Infinity,Infinity]];var brushMove=function(){var p=vm;p.focusLayer&&p.focusLayer.render(p.panels,true);var filtersActive=someFiltersActive(p);if(!state.contextShown()&&filtersActive){p.contextLayer&&p.contextLayer.render(p.panels,true);state.contextShown(true)}else if(state.contextShown()&&!filtersActive){p.contextLayer&&p.contextLayer.render(p.panels,true,true);state.contextShown(false)}};var truncatedValues=dimension.values;if(truncatedValues.length>dimension._length){truncatedValues=truncatedValues.slice(0,dimension._length)}var tickvals=dimension.tickvals;var ticktext;function makeTickItem(v,i){return{val:v,text:ticktext[i]}}function sortTickItem(a,b){return a.val-b.val}if(Array.isArray(tickvals)&&tickvals.length){ticktext=dimension.ticktext;if(!Array.isArray(ticktext)||!ticktext.length){ticktext=tickvals.map(numberFormat(dimension.tickformat))}else if(ticktext.length>tickvals.length){ticktext=ticktext.slice(0,tickvals.length)}else if(tickvals.length>ticktext.length){tickvals=tickvals.slice(0,ticktext.length)}for(var j=1;j<tickvals.length;j++){if(tickvals[j]<tickvals[j-1]){var tickItems=tickvals.map(makeTickItem).sort(sortTickItem);for(var k=0;k<tickvals.length;k++){tickvals[k]=tickItems[k].val;ticktext[k]=tickItems[k].text}break}}}else tickvals=undefined;truncatedValues=helpers.convertTypedArray(truncatedValues);return{key:key,label:dimension.label,tickFormat:dimension.tickformat,tickvals:tickvals,ticktext:ticktext,ordinal:helpers.isOrdinal(dimension),multiselect:dimension.multiselect,xIndex:i,crossfilterDimensionIndex:i,visibleIndex:dimension._index,height:height,values:truncatedValues,paddedUnitValues:truncatedValues.map(domainToPaddedUnit),unitTickvals:tickvals&&tickvals.map(domainToPaddedUnit),xScale:xScale,x:xScale(i),canvasX:xScale(i)*canvasPixelRatio,unitToPaddedPx:_unitToPaddedPx,domainScale:domainScale(height,c.verticalPadding,dimension,tickvals,ticktext),ordinalScale:ordinalScale(dimension),parent:vm,model:model,brush:brush.makeBrush(state,filterRangeSpecified,filterRange,(function(){state.linePickActive(false)}),brushMove,(function(f){vm.focusLayer.render(vm.panels,true);vm.pickLayer&&vm.pickLayer.render(vm.panels,true);state.linePickActive(true);if(callbacks&&callbacks.filterChanged){var invScale=domainToPaddedUnit.invert;var newRanges=f.map((function(r){return r.map(invScale).sort(Lib.sorterAsc)})).sort((function(a,b){return a[0]-b[0]}));callbacks.filterChanged(vm.key,dimension._index,newRanges)}}))}}));return vm}function styleExtentTexts(selection){selection.classed(c.cn.axisExtentText,true).attr("text-anchor","middle").style("cursor","default")}function parcoordsInteractionState(){var linePickActive=true;var contextShown=false;return{linePickActive:function(val){return arguments.length?linePickActive=!!val:linePickActive},contextShown:function(val){return arguments.length?contextShown=!!val:contextShown}}}function calcTilt(angle,position){var dir=position==="top"?1:-1;var radians=angle*Math.PI/180;var dx=Math.sin(radians);var dy=Math.cos(radians);return{dir:dir,dx:dx,dy:dy,degrees:angle}}function updatePanelLayout(yAxis,vm,plotGlPixelRatio){var panels=vm.panels||(vm.panels=[]);var data=yAxis.data();for(var i=0;i<data.length-1;i++){var p=panels[i]||(panels[i]={});var dim0=data[i];var dim1=data[i+1];p.dim0=dim0;p.dim1=dim1;p.canvasX=dim0.canvasX;p.panelSizeX=dim1.canvasX-dim0.canvasX;p.panelSizeY=vm.model.canvasHeight;p.y=0;p.canvasY=0;p.plotGlPixelRatio=plotGlPixelRatio}}function calcAllTicks(cd){for(var i=0;i<cd.length;i++){for(var j=0;j<cd[i].length;j++){var trace=cd[i][j].trace;var dimensions=trace.dimensions;for(var k=0;k<dimensions.length;k++){var values=dimensions[k].values;var dim=dimensions[k]._ax;if(dim){if(!dim.range){dim.range=findExtremes(values,trace._length)}else{dim.range=fixExtremes(dim.range[0],dim.range[1])}if(!dim.dtick){dim.dtick=.01*(Math.abs(dim.range[1]-dim.range[0])||1)}dim.tickformat=dimensions[k].tickformat;Axes.calcTicks(dim);dim.cleanRange()}}}}}function linearFormat(dim,v){return Axes.tickText(dim._ax,v,false).text}function extremeText(d,isTop){if(d.ordinal)return"";var domain=d.domainScale.domain();var v=domain[isTop?domain.length-1:0];return linearFormat(d.model.dimensions[d.visibleIndex],v)}module.exports=function parcoords(gd,cdModule,layout,callbacks){var fullLayout=gd._fullLayout;var svg=fullLayout._toppaper;var glContainer=fullLayout._glcontainer;var plotGlPixelRatio=gd._context.plotGlPixelRatio;var paperColor=gd._fullLayout.paper_bgcolor;calcAllTicks(cdModule);var state=parcoordsInteractionState();var vm=cdModule.filter((function(d){return unwrap(d).trace.visible})).map(model.bind(0,layout)).map(viewModel.bind(0,state,callbacks));glContainer.each((function(d,i){return Lib.extendFlat(d,vm[i])}));var glLayers=glContainer.selectAll(".gl-canvas").each((function(d){d.viewModel=vm[0];d.viewModel.plotGlPixelRatio=plotGlPixelRatio;d.viewModel.paperColor=paperColor;d.model=d.viewModel?d.viewModel.model:null}));var lastHovered=null;var pickLayer=glLayers.filter((function(d){return d.pick}));pickLayer.style("pointer-events","auto").on("mousemove",(function(d){if(state.linePickActive()&&d.lineLayer&&callbacks&&callbacks.hover){var event=d3.event;var cw=this.width;var ch=this.height;var pointer=d3.mouse(this);var x=pointer[0];var y=pointer[1];if(x<0||y<0||x>=cw||y>=ch){return}var pixel=d.lineLayer.readPixel(x,ch-1-y);var found=pixel[3]!==0;var curveNumber=found?pixel[2]+256*(pixel[1]+256*pixel[0]):null;var eventData={x:x,y:y,clientX:event.clientX,clientY:event.clientY,dataIndex:d.model.key,curveNumber:curveNumber};if(curveNumber!==lastHovered){if(found){callbacks.hover(eventData)}else if(callbacks.unhover){callbacks.unhover(eventData)}lastHovered=curveNumber}}}));glLayers.style("opacity",(function(d){return d.pick?0:1}));svg.style("background","rgba(255, 255, 255, 0)");var controlOverlay=svg.selectAll("."+c.cn.parcoords).data(vm,keyFun);controlOverlay.exit().remove();controlOverlay.enter().append("g").classed(c.cn.parcoords,true).style("shape-rendering","crispEdges").style("pointer-events","none");controlOverlay.attr("transform",(function(d){return strTranslate(d.model.translateX,d.model.translateY)}));var parcoordsControlView=controlOverlay.selectAll("."+c.cn.parcoordsControlView).data(repeat,keyFun);parcoordsControlView.enter().append("g").classed(c.cn.parcoordsControlView,true);parcoordsControlView.attr("transform",(function(d){return strTranslate(d.model.pad.l,d.model.pad.t)}));var yAxis=parcoordsControlView.selectAll("."+c.cn.yAxis).data((function(p){return p.dimensions}),keyFun);yAxis.enter().append("g").classed(c.cn.yAxis,true);parcoordsControlView.each((function(p){updatePanelLayout(yAxis,p,plotGlPixelRatio)}));glLayers.each((function(d){if(d.viewModel){if(!d.lineLayer||callbacks){d.lineLayer=lineLayerMaker(this,d)}else d.lineLayer.update(d);if(d.key||d.key===0)d.viewModel[d.key]=d.lineLayer;var setChanged=!d.context||callbacks;d.lineLayer.render(d.viewModel.panels,setChanged)}}));yAxis.attr("transform",(function(d){return strTranslate(d.xScale(d.xIndex),0)}));yAxis.call(d3.behavior.drag().origin((function(d){return d})).on("drag",(function(d){var p=d.parent;state.linePickActive(false);d.x=Math.max(-c.overdrag,Math.min(d.model.width+c.overdrag,d3.event.x));d.canvasX=d.x*d.model.canvasPixelRatio;yAxis.sort((function(a,b){return a.x-b.x})).each((function(e,i){e.xIndex=i;e.x=d===e?e.x:e.xScale(e.xIndex);e.canvasX=e.x*e.model.canvasPixelRatio}));updatePanelLayout(yAxis,p,plotGlPixelRatio);yAxis.filter((function(e){return Math.abs(d.xIndex-e.xIndex)!==0})).attr("transform",(function(d){return strTranslate(d.xScale(d.xIndex),0)}));d3.select(this).attr("transform",strTranslate(d.x,0));yAxis.each((function(e,i0,i1){if(i1===d.parent.key)p.dimensions[i0]=e}));p.contextLayer&&p.contextLayer.render(p.panels,false,!someFiltersActive(p));p.focusLayer.render&&p.focusLayer.render(p.panels)})).on("dragend",(function(d){var p=d.parent;d.x=d.xScale(d.xIndex);d.canvasX=d.x*d.model.canvasPixelRatio;updatePanelLayout(yAxis,p,plotGlPixelRatio);d3.select(this).attr("transform",(function(d){return strTranslate(d.x,0)}));p.contextLayer&&p.contextLayer.render(p.panels,false,!someFiltersActive(p));p.focusLayer&&p.focusLayer.render(p.panels);p.pickLayer&&p.pickLayer.render(p.panels,true);state.linePickActive(true);if(callbacks&&callbacks.axesMoved){callbacks.axesMoved(p.key,p.dimensions.map((function(e){return e.crossfilterDimensionIndex})))}})));yAxis.exit().remove();var axisOverlays=yAxis.selectAll("."+c.cn.axisOverlays).data(repeat,keyFun);axisOverlays.enter().append("g").classed(c.cn.axisOverlays,true);axisOverlays.selectAll("."+c.cn.axis).remove();var axis=axisOverlays.selectAll("."+c.cn.axis).data(repeat,keyFun);axis.enter().append("g").classed(c.cn.axis,true);axis.each((function(d){var wantedTickCount=d.model.height/d.model.tickDistance;var scale=d.domainScale;var sdom=scale.domain();d3.select(this).call(d3.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(wantedTickCount,d.tickFormat).tickValues(d.ordinal?sdom:null).tickFormat((function(v){return helpers.isOrdinal(d)?v:linearFormat(d.model.dimensions[d.visibleIndex],v)})).scale(scale));Drawing.font(axis.selectAll("text"),d.model.tickFont)}));axis.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px");axis.selectAll("text").style("text-shadow",svgTextUtils.makeTextShadow(paperColor)).style("cursor","default");var axisHeading=axisOverlays.selectAll("."+c.cn.axisHeading).data(repeat,keyFun);axisHeading.enter().append("g").classed(c.cn.axisHeading,true);var axisTitle=axisHeading.selectAll("."+c.cn.axisTitle).data(repeat,keyFun);axisTitle.enter().append("text").classed(c.cn.axisTitle,true).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events","auto");axisTitle.text((function(d){return d.label})).each((function(d){var e=d3.select(this);Drawing.font(e,d.model.labelFont);svgTextUtils.convertToTspans(e,gd)})).attr("transform",(function(d){var tilt=calcTilt(d.model.labelAngle,d.model.labelSide);var r=c.axisTitleOffset;return(tilt.dir>0?"":strTranslate(0,2*r+d.model.height))+strRotate(tilt.degrees)+strTranslate(-r*tilt.dx,-r*tilt.dy)})).attr("text-anchor",(function(d){var tilt=calcTilt(d.model.labelAngle,d.model.labelSide);var adx=Math.abs(tilt.dx);var ady=Math.abs(tilt.dy);if(2*adx>ady){return tilt.dir*tilt.dx<0?"start":"end"}else{return"middle"}}));var axisExtent=axisOverlays.selectAll("."+c.cn.axisExtent).data(repeat,keyFun);axisExtent.enter().append("g").classed(c.cn.axisExtent,true);var axisExtentTop=axisExtent.selectAll("."+c.cn.axisExtentTop).data(repeat,keyFun);axisExtentTop.enter().append("g").classed(c.cn.axisExtentTop,true);axisExtentTop.attr("transform",strTranslate(0,-c.axisExtentOffset));var axisExtentTopText=axisExtentTop.selectAll("."+c.cn.axisExtentTopText).data(repeat,keyFun);axisExtentTopText.enter().append("text").classed(c.cn.axisExtentTopText,true).call(styleExtentTexts);axisExtentTopText.text((function(d){return extremeText(d,true)})).each((function(d){Drawing.font(d3.select(this),d.model.rangeFont)}));var axisExtentBottom=axisExtent.selectAll("."+c.cn.axisExtentBottom).data(repeat,keyFun);axisExtentBottom.enter().append("g").classed(c.cn.axisExtentBottom,true);axisExtentBottom.attr("transform",(function(d){return strTranslate(0,d.model.height+c.axisExtentOffset)}));var axisExtentBottomText=axisExtentBottom.selectAll("."+c.cn.axisExtentBottomText).data(repeat,keyFun);axisExtentBottomText.enter().append("text").classed(c.cn.axisExtentBottomText,true).attr("dy","0.75em").call(styleExtentTexts);axisExtentBottomText.text((function(d){return extremeText(d,false)})).each((function(d){Drawing.font(d3.select(this),d.model.rangeFont)}));brush.ensureAxisBrush(axisOverlays,paperColor)}},{"../../components/colorscale":678,"../../components/drawing":688,"../../lib":803,"../../lib/gup":800,"../../lib/svg_text_utils":829,"../../plots/cartesian/axes":854,"./axisbrush":1181,"./constants":1184,"./helpers":1186,"./lines":1188,"@plotly/d3":58,"color-rgba":133}],1191:[function(_dereq_,module,exports){"use strict";var parcoords=_dereq_("./parcoords");var prepareRegl=_dereq_("../../lib/prepare_regl");var isVisible=_dereq_("./helpers").isVisible;function newIndex(visibleIndices,orig,dim){var origIndex=orig.indexOf(dim);var currentIndex=visibleIndices.indexOf(origIndex);if(currentIndex===-1){currentIndex+=orig.length}return currentIndex}function sorter(visibleIndices,orig){return function sorter(d1,d2){return newIndex(visibleIndices,orig,d1)-newIndex(visibleIndices,orig,d2)}}module.exports=function plot(gd,cdModule){var fullLayout=gd._fullLayout;var success=prepareRegl(gd);if(!success)return;var currentDims={};var initialDims={};var fullIndices={};var inputIndices={};var size=fullLayout._size;cdModule.forEach((function(d,i){var trace=d[0].trace;fullIndices[i]=trace.index;var iIn=inputIndices[i]=trace._fullInput.index;currentDims[i]=gd.data[iIn].dimensions;initialDims[i]=gd.data[iIn].dimensions.slice()}));var filterChanged=function(i,initialDimIndex,newRanges){var dim=initialDims[i][initialDimIndex];var newConstraints=newRanges.map((function(r){return r.slice()}));var aStr="dimensions["+initialDimIndex+"].constraintrange";var preGUI=fullLayout._tracePreGUI[gd._fullData[fullIndices[i]]._fullInput.uid];if(preGUI[aStr]===undefined){var initialVal=dim.constraintrange;preGUI[aStr]=initialVal||null}var fullDimension=gd._fullData[fullIndices[i]].dimensions[initialDimIndex];if(!newConstraints.length){delete dim.constraintrange;delete fullDimension.constraintrange;newConstraints=null}else{if(newConstraints.length===1)newConstraints=newConstraints[0];dim.constraintrange=newConstraints;fullDimension.constraintrange=newConstraints.slice();newConstraints=[newConstraints]}var restyleData={};restyleData[aStr]=newConstraints;gd.emit("plotly_restyle",[restyleData,[inputIndices[i]]])};var hover=function(eventData){gd.emit("plotly_hover",eventData)};var unhover=function(eventData){gd.emit("plotly_unhover",eventData)};var axesMoved=function(i,visibleIndices){var orig=sorter(visibleIndices,initialDims[i].filter(isVisible));currentDims[i].sort(orig);initialDims[i].filter((function(d){return!isVisible(d)})).sort((function(d){return initialDims[i].indexOf(d)})).forEach((function(d){currentDims[i].splice(currentDims[i].indexOf(d),1);currentDims[i].splice(initialDims[i].indexOf(d),0,d)}));gd.emit("plotly_restyle",[{dimensions:[currentDims[i]]},[inputIndices[i]]])};parcoords(gd,cdModule,{width:size.w,height:size.h,margin:{t:size.t,r:size.r,b:size.b,l:size.l}},{filterChanged:filterChanged,hover:hover,unhover:unhover,axesMoved:axesMoved})}},{"../../lib/prepare_regl":816,"./helpers":1186,"./parcoords":1190}],1192:[function(_dereq_,module,exports){"use strict";var baseAttrs=_dereq_("../../plots/attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var fontAttrs=_dereq_("../../plots/font_attributes");var colorAttrs=_dereq_("../../components/color/attributes");var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var extendFlat=_dereq_("../../lib/extend").extendFlat;var textFontAttrs=fontAttrs({editType:"plot",arrayOk:true,colorEditType:"plot"});module.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:colorAttrs.defaultLine,arrayOk:true,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:true,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:true,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:hovertemplateAttrs({},{keys:["label","color","value","percent","text"]}),texttemplate:texttemplateAttrs({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:true,editType:"plot"},textfont:extendFlat({},textFontAttrs,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:extendFlat({},textFontAttrs,{}),outsidetextfont:extendFlat({},textFontAttrs,{}),automargin:{valType:"boolean",dflt:false,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:extendFlat({},textFontAttrs,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:domainAttrs({name:"pie",trace:true,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:true,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:true,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:extendFlat({},textFontAttrs,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":665,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/domain":882,"../../plots/font_attributes":883,"../../plots/template_attributes":926}],1193:[function(_dereq_,module,exports){"use strict";var plots=_dereq_("../../plots/plots");exports.name="pie";exports.plot=function(gd,traces,transitionOpts,makeOnCompleteCallback){plots.plotBasePlot(exports.name,gd,traces,transitionOpts,makeOnCompleteCallback)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){plots.cleanBasePlot(exports.name,newFullData,newFullLayout,oldFullData,oldFullLayout)}},{"../../plots/plots":917}],1194:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var tinycolor=_dereq_("tinycolor2");var Color=_dereq_("../../components/color");var extendedColorWayList={};function calc(gd,trace){var cd=[];var fullLayout=gd._fullLayout;var hiddenLabels=fullLayout.hiddenlabels||[];var labels=trace.labels;var colors=trace.marker.colors||[];var vals=trace.values;var len=trace._length;var hasValues=trace._hasValues&&len;var i,pt;if(trace.dlabel){labels=new Array(len);for(i=0;i<len;i++){labels[i]=String(trace.label0+i*trace.dlabel)}}var allThisTraceLabels={};var pullColor=makePullColorFn(fullLayout["_"+trace.type+"colormap"]);var vTotal=0;var isAggregated=false;for(i=0;i<len;i++){var v,label,hidden;if(hasValues){v=vals[i];if(!isNumeric(v))continue;v=+v;if(v<0)continue}else v=1;label=labels[i];if(label===undefined||label==="")label=i;label=String(label);var thisLabelIndex=allThisTraceLabels[label];if(thisLabelIndex===undefined){allThisTraceLabels[label]=cd.length;hidden=hiddenLabels.indexOf(label)!==-1;if(!hidden)vTotal+=v;cd.push({v:v,label:label,color:pullColor(colors[i],label),i:i,pts:[i],hidden:hidden})}else{isAggregated=true;pt=cd[thisLabelIndex];pt.v+=v;pt.pts.push(i);if(!pt.hidden)vTotal+=v;if(pt.color===false&&colors[i]){pt.color=pullColor(colors[i],label)}}}var shouldSort=trace.type==="funnelarea"?isAggregated:trace.sort;if(shouldSort)cd.sort((function(a,b){return b.v-a.v}));if(cd[0])cd[0].vTotal=vTotal;return cd}function makePullColorFn(colorMap){return function pullColor(color,id){if(!color)return false;color=tinycolor(color);if(!color.isValid())return false;color=Color.addOpacity(color,color.getAlpha());if(!colorMap[id])colorMap[id]=color;return color}}function crossTraceCalc(gd,plotinfo){var desiredType=(plotinfo||{}).type;if(!desiredType)desiredType="pie";var fullLayout=gd._fullLayout;var calcdata=gd.calcdata;var colorWay=fullLayout[desiredType+"colorway"];var colorMap=fullLayout["_"+desiredType+"colormap"];if(fullLayout["extend"+desiredType+"colors"]){colorWay=generateExtendedColors(colorWay,extendedColorWayList)}var dfltColorCount=0;for(var i=0;i<calcdata.length;i++){var cd=calcdata[i];var traceType=cd[0].trace.type;if(traceType!==desiredType)continue;for(var j=0;j<cd.length;j++){var pt=cd[j];if(pt.color===false){if(colorMap[pt.label]){pt.color=colorMap[pt.label]}else{colorMap[pt.label]=pt.color=colorWay[dfltColorCount%colorWay.length];dfltColorCount++}}}}}function generateExtendedColors(colorList,extendedColorWays){var i;var colorString=JSON.stringify(colorList);var colors=extendedColorWays[colorString];if(!colors){colors=colorList.slice();for(i=0;i<colorList.length;i++){colors.push(tinycolor(colorList[i]).lighten(20).toHexString())}for(i=0;i<colorList.length;i++){colors.push(tinycolor(colorList[i]).darken(20).toHexString())}extendedColorWays[colorString]=colors}return colors}module.exports={calc:calc,crossTraceCalc:crossTraceCalc,makePullColorFn:makePullColorFn,generateExtendedColors:generateExtendedColors}},{"../../components/color":666,"fast-isnumeric":249,tinycolor2:598}],1195:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var handleText=_dereq_("../bar/defaults").handleText;function handleLabelsAndValues(labels,values){var hasLabels=Array.isArray(labels);var hasValues=Lib.isArrayOrTypedArray(values);var len=Math.min(hasLabels?labels.length:Infinity,hasValues?values.length:Infinity);if(!isFinite(len))len=0;if(len&&hasValues){var hasPositive;for(var i=0;i<len;i++){var v=values[i];if(isNumeric(v)&&v>0){hasPositive=true;break}}if(!hasPositive)len=0}return{hasLabels:hasLabels,hasValues:hasValues,len:len}}function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var labels=coerce("labels");var values=coerce("values");var res=handleLabelsAndValues(labels,values);var len=res.len;traceOut._hasLabels=res.hasLabels;traceOut._hasValues=res.hasValues;if(!traceOut._hasLabels&&traceOut._hasValues){coerce("label0");coerce("dlabel")}if(!len){traceOut.visible=false;return}traceOut._length=len;var lineWidth=coerce("marker.line.width");if(lineWidth)coerce("marker.line.color");coerce("marker.colors");coerce("scalegroup");var textData=coerce("text");var textTemplate=coerce("texttemplate");var textInfo;if(!textTemplate)textInfo=coerce("textinfo",Array.isArray(textData)?"text+percent":"percent");coerce("hovertext");coerce("hovertemplate");if(textTemplate||textInfo&&textInfo!=="none"){var textposition=coerce("textposition");handleText(traceIn,traceOut,layout,coerce,textposition,{moduleHasSelected:false,moduleHasUnselected:false,moduleHasConstrain:false,moduleHasCliponaxis:false,moduleHasTextangle:false,moduleHasInsideanchor:false});var hasBoth=Array.isArray(textposition)||textposition==="auto";var hasOutside=hasBoth||textposition==="outside";if(hasOutside){coerce("automargin")}if(textposition==="inside"||textposition==="auto"||Array.isArray(textposition)){coerce("insidetextorientation")}}handleDomainDefaults(traceOut,layout,coerce);var hole=coerce("hole");var title=coerce("title.text");if(title){var titlePosition=coerce("title.position",hole?"middle center":"top center");if(!hole&&titlePosition==="middle center")traceOut.title.position="top center";Lib.coerceFont(coerce,"title.font",layout.font)}coerce("sort");coerce("direction");coerce("rotation");coerce("pull")}module.exports={handleLabelsAndValues:handleLabelsAndValues,supplyDefaults:supplyDefaults}},{"../../lib":803,"../../plots/domain":882,"../bar/defaults":945,"./attributes":1192,"fast-isnumeric":249}],1196:[function(_dereq_,module,exports){"use strict";var appendArrayMultiPointValues=_dereq_("../../components/fx/helpers").appendArrayMultiPointValues;module.exports=function eventData(pt,trace){var out={curveNumber:trace.index,pointNumbers:pt.pts,data:trace._input,fullData:trace,label:pt.label,color:pt.color,value:pt.v,percent:pt.percent,text:pt.text,bbox:pt.bbox,v:pt.v};if(pt.pts.length===1)out.pointNumber=out.i=pt.pts[0];appendArrayMultiPointValues(out,trace,pt.pts);if(trace.type==="funnelarea"){delete out.v;delete out.i}return out}},{"../../components/fx/helpers":702}],1197:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");function format(vRounded){return vRounded.indexOf("e")!==-1?vRounded.replace(/[.]?0+e/,"e"):vRounded.indexOf(".")!==-1?vRounded.replace(/[.]?0+$/,""):vRounded}exports.formatPiePercent=function formatPiePercent(v,separators){var vRounded=format((v*100).toPrecision(3));return Lib.numSeparate(vRounded,separators)+"%"};exports.formatPieValue=function formatPieValue(v,separators){var vRounded=format(v.toPrecision(10));return Lib.numSeparate(vRounded,separators)};exports.getFirstFilled=function getFirstFilled(array,indices){if(!Array.isArray(array))return;for(var i=0;i<indices.length;i++){var v=array[indices[i]];if(v||v===0||v==="")return v}};exports.castOption=function castOption(item,indices){if(Array.isArray(item))return exports.getFirstFilled(item,indices);else if(item)return item};exports.getRotationAngle=function(rotation){return(rotation==="auto"?0:rotation)*Math.PI/180}},{"../../lib":803}],1198:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,supplyLayoutDefaults:_dereq_("./layout_defaults"),layoutAttributes:_dereq_("./layout_attributes"),calc:_dereq_("./calc").calc,crossTraceCalc:_dereq_("./calc").crossTraceCalc,plot:_dereq_("./plot").plot,style:_dereq_("./style"),styleOne:_dereq_("./style_one"),moduleType:"trace",name:"pie",basePlotModule:_dereq_("./base_plot"),categories:["pie-like","pie","showLegend"],meta:{}}},{"./attributes":1192,"./base_plot":1193,"./calc":1194,"./defaults":1195,"./layout_attributes":1199,"./layout_defaults":1200,"./plot":1201,"./style":1202,"./style_one":1203}],1199:[function(_dereq_,module,exports){"use strict";module.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:true,editType:"calc"}}},{}],1200:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}coerce("hiddenlabels");coerce("piecolorway",layoutOut.colorway);coerce("extendpiecolors")}},{"../../lib":803,"./layout_attributes":1199}],1201:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Plots=_dereq_("../../plots/plots");var Fx=_dereq_("../../components/fx");var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var Lib=_dereq_("../../lib");var strScale=Lib.strScale;var strTranslate=Lib.strTranslate;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var uniformText=_dereq_("../bar/uniform_text");var recordMinTextSize=uniformText.recordMinTextSize;var clearMinTextSize=uniformText.clearMinTextSize;var TEXTPAD=_dereq_("../bar/constants").TEXTPAD;var helpers=_dereq_("./helpers");var eventData=_dereq_("./event_data");var isValidTextValue=_dereq_("../../lib").isValidTextValue;function plot(gd,cdModule){var fullLayout=gd._fullLayout;var gs=fullLayout._size;clearMinTextSize("pie",fullLayout);prerenderTitles(cdModule,gd);layoutAreas(cdModule,gs);var plotGroups=Lib.makeTraceGroups(fullLayout._pielayer,cdModule,"trace").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var trace=cd0.trace;setCoords(cd);plotGroup.attr("stroke-linejoin","round");plotGroup.each((function(){var slices=d3.select(this).selectAll("g.slice").data(cd);slices.enter().append("g").classed("slice",true);slices.exit().remove();var quadrants=[[[],[]],[[],[]]];var hasOutsideText=false;slices.each((function(pt,i){if(pt.hidden){d3.select(this).selectAll("path,g").remove();return}pt.pointNumber=pt.i;pt.curveNumber=trace.index;quadrants[pt.pxmid[1]<0?0:1][pt.pxmid[0]<0?0:1].push(pt);var cx=cd0.cx;var cy=cd0.cy;var sliceTop=d3.select(this);var slicePath=sliceTop.selectAll("path.surface").data([pt]);slicePath.enter().append("path").classed("surface",true).style({"pointer-events":"all"});sliceTop.call(attachFxHandlers,gd,cd);if(trace.pull){var pull=+helpers.castOption(trace.pull,pt.pts)||0;if(pull>0){cx+=pull*pt.pxmid[0];cy+=pull*pt.pxmid[1]}}pt.cxFinal=cx;pt.cyFinal=cy;function arc(start,finish,cw,scale){var dx=scale*(finish[0]-start[0]);var dy=scale*(finish[1]-start[1]);return"a"+scale*cd0.r+","+scale*cd0.r+" 0 "+pt.largeArc+(cw?" 1 ":" 0 ")+dx+","+dy}var hole=trace.hole;if(pt.v===cd0.vTotal){var outerCircle="M"+(cx+pt.px0[0])+","+(cy+pt.px0[1])+arc(pt.px0,pt.pxmid,true,1)+arc(pt.pxmid,pt.px0,true,1)+"Z";if(hole){slicePath.attr("d","M"+(cx+hole*pt.px0[0])+","+(cy+hole*pt.px0[1])+arc(pt.px0,pt.pxmid,false,hole)+arc(pt.pxmid,pt.px0,false,hole)+"Z"+outerCircle)}else slicePath.attr("d",outerCircle)}else{var outerArc=arc(pt.px0,pt.px1,true,1);if(hole){var rim=1-hole;slicePath.attr("d","M"+(cx+hole*pt.px1[0])+","+(cy+hole*pt.px1[1])+arc(pt.px1,pt.px0,false,hole)+"l"+rim*pt.px0[0]+","+rim*pt.px0[1]+outerArc+"Z")}else{slicePath.attr("d","M"+cx+","+cy+"l"+pt.px0[0]+","+pt.px0[1]+outerArc+"Z")}}formatSliceLabel(gd,pt,cd0);var textPosition=helpers.castOption(trace.textposition,pt.pts);var sliceTextGroup=sliceTop.selectAll("g.slicetext").data(pt.text&&textPosition!=="none"?[0]:[]);sliceTextGroup.enter().append("g").classed("slicetext",true);sliceTextGroup.exit().remove();sliceTextGroup.each((function(){var sliceText=Lib.ensureSingle(d3.select(this),"text","",(function(s){s.attr("data-notex",1)}));var font=Lib.ensureUniformFontSize(gd,textPosition==="outside"?determineOutsideTextFont(trace,pt,fullLayout.font):determineInsideTextFont(trace,pt,fullLayout.font));sliceText.text(pt.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(Drawing.font,font).call(svgTextUtils.convertToTspans,gd);var textBB=Drawing.bBox(sliceText.node());var transform;if(textPosition==="outside"){transform=transformOutsideText(textBB,pt)}else{transform=transformInsideText(textBB,pt,cd0);if(textPosition==="auto"&&transform.scale<1){var newFont=Lib.ensureUniformFontSize(gd,trace.outsidetextfont);sliceText.call(Drawing.font,newFont);textBB=Drawing.bBox(sliceText.node());transform=transformOutsideText(textBB,pt)}}var textPosAngle=transform.textPosAngle;var textXY=textPosAngle===undefined?pt.pxmid:getCoords(cd0.r,textPosAngle);transform.targetX=cx+textXY[0]*transform.rCenter+(transform.x||0);transform.targetY=cy+textXY[1]*transform.rCenter+(transform.y||0);computeTransform(transform,textBB);if(transform.outside){var targetY=transform.targetY;pt.yLabelMin=targetY-textBB.height/2;pt.yLabelMid=targetY;pt.yLabelMax=targetY+textBB.height/2;pt.labelExtraX=0;pt.labelExtraY=0;hasOutsideText=true}transform.fontSize=font.size;recordMinTextSize(trace.type,transform,fullLayout);cd[i].transform=transform;sliceText.attr("transform",Lib.getTextTransform(transform))}))}));var titleTextGroup=d3.select(this).selectAll("g.titletext").data(trace.title.text?[0]:[]);titleTextGroup.enter().append("g").classed("titletext",true);titleTextGroup.exit().remove();titleTextGroup.each((function(){var titleText=Lib.ensureSingle(d3.select(this),"text","",(function(s){s.attr("data-notex",1)}));var txt=trace.title.text;if(trace._meta){txt=Lib.templateString(txt,trace._meta)}titleText.text(txt).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(Drawing.font,trace.title.font).call(svgTextUtils.convertToTspans,gd);var transform;if(trace.title.position==="middle center"){transform=positionTitleInside(cd0)}else{transform=positionTitleOutside(cd0,gs)}titleText.attr("transform",strTranslate(transform.x,transform.y)+strScale(Math.min(1,transform.scale))+strTranslate(transform.tx,transform.ty))}));if(hasOutsideText)scootLabels(quadrants,trace);plotTextLines(slices,trace);if(hasOutsideText&&trace.automargin){var traceBbox=Drawing.bBox(plotGroup.node());var domain=trace.domain;var vpw=gs.w*(domain.x[1]-domain.x[0]);var vph=gs.h*(domain.y[1]-domain.y[0]);var xgap=(.5*vpw-cd0.r)/gs.w;var ygap=(.5*vph-cd0.r)/gs.h;Plots.autoMargin(gd,"pie."+trace.uid+".automargin",{xl:domain.x[0]-xgap,xr:domain.x[1]+xgap,yb:domain.y[0]-ygap,yt:domain.y[1]+ygap,l:Math.max(cd0.cx-cd0.r-traceBbox.left,0),r:Math.max(traceBbox.right-(cd0.cx+cd0.r),0),b:Math.max(traceBbox.bottom-(cd0.cy+cd0.r),0),t:Math.max(cd0.cy-cd0.r-traceBbox.top,0),pad:5})}}))}));setTimeout((function(){plotGroups.selectAll("tspan").each((function(){var s=d3.select(this);if(s.attr("dy"))s.attr("dy",s.attr("dy"))}))}),0)}function plotTextLines(slices,trace){slices.each((function(pt){var sliceTop=d3.select(this);if(!pt.labelExtraX&&!pt.labelExtraY){sliceTop.select("path.textline").remove();return}var sliceText=sliceTop.select("g.slicetext text");pt.transform.targetX+=pt.labelExtraX;pt.transform.targetY+=pt.labelExtraY;sliceText.attr("transform",Lib.getTextTransform(pt.transform));var lineStartX=pt.cxFinal+pt.pxmid[0];var lineStartY=pt.cyFinal+pt.pxmid[1];var textLinePath="M"+lineStartX+","+lineStartY;var finalX=(pt.yLabelMax-pt.yLabelMin)*(pt.pxmid[0]<0?-1:1)/4;if(pt.labelExtraX){var yFromX=pt.labelExtraX*pt.pxmid[1]/pt.pxmid[0];var yNet=pt.yLabelMid+pt.labelExtraY-(pt.cyFinal+pt.pxmid[1]);if(Math.abs(yFromX)>Math.abs(yNet)){textLinePath+="l"+yNet*pt.pxmid[0]/pt.pxmid[1]+","+yNet+"H"+(lineStartX+pt.labelExtraX+finalX)}else{textLinePath+="l"+pt.labelExtraX+","+yFromX+"v"+(yNet-yFromX)+"h"+finalX}}else{textLinePath+="V"+(pt.yLabelMid+pt.labelExtraY)+"h"+finalX}Lib.ensureSingle(sliceTop,"path","textline").call(Color.stroke,trace.outsidetextfont.color).attr({"stroke-width":Math.min(2,trace.outsidetextfont.size/8),d:textLinePath,fill:"none"})}))}function attachFxHandlers(sliceTop,gd,cd){var cd0=cd[0];var cx=cd0.cx;var cy=cd0.cy;var trace=cd0.trace;var isFunnelArea=trace.type==="funnelarea";if(!("_hasHoverLabel"in trace))trace._hasHoverLabel=false;if(!("_hasHoverEvent"in trace))trace._hasHoverEvent=false;sliceTop.on("mouseover",(function(pt){var fullLayout2=gd._fullLayout;var trace2=gd._fullData[trace.index];if(gd._dragging||fullLayout2.hovermode===false)return;var hoverinfo=trace2.hoverinfo;if(Array.isArray(hoverinfo)){hoverinfo=Fx.castHoverinfo({hoverinfo:[helpers.castOption(hoverinfo,pt.pts)],_module:trace._module},fullLayout2,0)}if(hoverinfo==="all")hoverinfo="label+text+value+percent+name";if(trace2.hovertemplate||hoverinfo!=="none"&&hoverinfo!=="skip"&&hoverinfo){var rInscribed=pt.rInscribed||0;var hoverCenterX=cx+pt.pxmid[0]*(1-rInscribed);var hoverCenterY=cy+pt.pxmid[1]*(1-rInscribed);var separators=fullLayout2.separators;var text=[];if(hoverinfo&&hoverinfo.indexOf("label")!==-1)text.push(pt.label);pt.text=helpers.castOption(trace2.hovertext||trace2.text,pt.pts);if(hoverinfo&&hoverinfo.indexOf("text")!==-1){var tx=pt.text;if(Lib.isValidTextValue(tx))text.push(tx)}pt.value=pt.v;pt.valueLabel=helpers.formatPieValue(pt.v,separators);if(hoverinfo&&hoverinfo.indexOf("value")!==-1)text.push(pt.valueLabel);pt.percent=pt.v/cd0.vTotal;pt.percentLabel=helpers.formatPiePercent(pt.percent,separators);if(hoverinfo&&hoverinfo.indexOf("percent")!==-1)text.push(pt.percentLabel);var hoverLabel=trace2.hoverlabel;var hoverFont=hoverLabel.font;var bbox=[];Fx.loneHover({trace:trace,x0:hoverCenterX-rInscribed*cd0.r,x1:hoverCenterX+rInscribed*cd0.r,y:hoverCenterY,_x0:isFunnelArea?cx+pt.TL[0]:hoverCenterX-rInscribed*cd0.r,_x1:isFunnelArea?cx+pt.TR[0]:hoverCenterX+rInscribed*cd0.r,_y0:isFunnelArea?cy+pt.TL[1]:hoverCenterY-rInscribed*cd0.r,_y1:isFunnelArea?cy+pt.BL[1]:hoverCenterY+rInscribed*cd0.r,text:text.join("<br>"),name:trace2.hovertemplate||hoverinfo.indexOf("name")!==-1?trace2.name:undefined,idealAlign:pt.pxmid[0]<0?"left":"right",color:helpers.castOption(hoverLabel.bgcolor,pt.pts)||pt.color,borderColor:helpers.castOption(hoverLabel.bordercolor,pt.pts),fontFamily:helpers.castOption(hoverFont.family,pt.pts),fontSize:helpers.castOption(hoverFont.size,pt.pts),fontColor:helpers.castOption(hoverFont.color,pt.pts),nameLength:helpers.castOption(hoverLabel.namelength,pt.pts),textAlign:helpers.castOption(hoverLabel.align,pt.pts),hovertemplate:helpers.castOption(trace2.hovertemplate,pt.pts),hovertemplateLabels:pt,eventData:[eventData(pt,trace2)]},{container:fullLayout2._hoverlayer.node(),outerContainer:fullLayout2._paper.node(),gd:gd,inOut_bbox:bbox});pt.bbox=bbox[0];trace._hasHoverLabel=true}trace._hasHoverEvent=true;gd.emit("plotly_hover",{points:[eventData(pt,trace2)],event:d3.event})}));sliceTop.on("mouseout",(function(evt){var fullLayout2=gd._fullLayout;var trace2=gd._fullData[trace.index];var pt=d3.select(this).datum();if(trace._hasHoverEvent){evt.originalEvent=d3.event;gd.emit("plotly_unhover",{points:[eventData(pt,trace2)],event:d3.event});trace._hasHoverEvent=false}if(trace._hasHoverLabel){Fx.loneUnhover(fullLayout2._hoverlayer.node());trace._hasHoverLabel=false}}));sliceTop.on("click",(function(pt){var fullLayout2=gd._fullLayout;var trace2=gd._fullData[trace.index];if(gd._dragging||fullLayout2.hovermode===false)return;gd._hoverdata=[eventData(pt,trace2)];Fx.click(gd,d3.event)}))}function determineOutsideTextFont(trace,pt,layoutFont){var color=helpers.castOption(trace.outsidetextfont.color,pt.pts)||helpers.castOption(trace.textfont.color,pt.pts)||layoutFont.color;var family=helpers.castOption(trace.outsidetextfont.family,pt.pts)||helpers.castOption(trace.textfont.family,pt.pts)||layoutFont.family;var size=helpers.castOption(trace.outsidetextfont.size,pt.pts)||helpers.castOption(trace.textfont.size,pt.pts)||layoutFont.size;return{color:color,family:family,size:size}}function determineInsideTextFont(trace,pt,layoutFont){var customColor=helpers.castOption(trace.insidetextfont.color,pt.pts);if(!customColor&&trace._input.textfont){customColor=helpers.castOption(trace._input.textfont.color,pt.pts)}var family=helpers.castOption(trace.insidetextfont.family,pt.pts)||helpers.castOption(trace.textfont.family,pt.pts)||layoutFont.family;var size=helpers.castOption(trace.insidetextfont.size,pt.pts)||helpers.castOption(trace.textfont.size,pt.pts)||layoutFont.size;return{color:customColor||Color.contrast(pt.color),family:family,size:size}}function prerenderTitles(cdModule,gd){var cd0,trace;for(var i=0;i<cdModule.length;i++){cd0=cdModule[i][0];trace=cd0.trace;if(trace.title.text){var txt=trace.title.text;if(trace._meta){txt=Lib.templateString(txt,trace._meta)}var dummyTitle=Drawing.tester.append("text").attr("data-notex",1).text(txt).call(Drawing.font,trace.title.font).call(svgTextUtils.convertToTspans,gd);var bBox=Drawing.bBox(dummyTitle.node(),true);cd0.titleBox={width:bBox.width,height:bBox.height};dummyTitle.remove()}}}function transformInsideText(textBB,pt,cd0){var r=cd0.r||pt.rpx1;var rInscribed=pt.rInscribed;var isEmpty=pt.startangle===pt.stopangle;if(isEmpty){return{rCenter:1-rInscribed,scale:0,rotate:0,textPosAngle:0}}var ring=pt.ring;var isCircle=ring===1&&Math.abs(pt.startangle-pt.stopangle)===Math.PI*2;var halfAngle=pt.halfangle;var midAngle=pt.midangle;var orientation=cd0.trace.insidetextorientation;var isHorizontal=orientation==="horizontal";var isTangential=orientation==="tangential";var isRadial=orientation==="radial";var isAuto=orientation==="auto";var allTransforms=[];var newT;if(!isAuto){var considerCrossing=function(angle,key){if(isCrossing(pt,angle)){var dStart=Math.abs(angle-pt.startangle);var dStop=Math.abs(angle-pt.stopangle);var closestEdge=dStart<dStop?dStart:dStop;if(key==="tan"){newT=calcTanTransform(textBB,r,ring,closestEdge,0)}else{newT=calcRadTransform(textBB,r,ring,closestEdge,Math.PI/2)}newT.textPosAngle=angle;allTransforms.push(newT)}};var i;if(isHorizontal||isTangential){for(i=4;i>=-4;i-=2)considerCrossing(Math.PI*i,"tan");for(i=4;i>=-4;i-=2)considerCrossing(Math.PI*(i+1),"tan")}if(isHorizontal||isRadial){for(i=4;i>=-4;i-=2)considerCrossing(Math.PI*(i+1.5),"rad");for(i=4;i>=-4;i-=2)considerCrossing(Math.PI*(i+.5),"rad")}}if(isCircle||isAuto||isHorizontal){var textDiameter=Math.sqrt(textBB.width*textBB.width+textBB.height*textBB.height);newT={scale:rInscribed*r*2/textDiameter,rCenter:1-rInscribed,rotate:0};newT.textPosAngle=(pt.startangle+pt.stopangle)/2;if(newT.scale>=1)return newT;allTransforms.push(newT)}if(isAuto||isRadial){newT=calcRadTransform(textBB,r,ring,halfAngle,midAngle);newT.textPosAngle=(pt.startangle+pt.stopangle)/2;allTransforms.push(newT)}if(isAuto||isTangential){newT=calcTanTransform(textBB,r,ring,halfAngle,midAngle);newT.textPosAngle=(pt.startangle+pt.stopangle)/2;allTransforms.push(newT)}var id=0;var maxScale=0;for(var k=0;k<allTransforms.length;k++){var s=allTransforms[k].scale;if(maxScale<s){maxScale=s;id=k}if(!isAuto&&maxScale>=1){break}}return allTransforms[id]}function isCrossing(pt,angle){var start=pt.startangle;var stop=pt.stopangle;return start>angle&&angle>stop||start<angle&&angle<stop}function calcRadTransform(textBB,r,ring,halfAngle,midAngle){r=Math.max(0,r-2*TEXTPAD);var a=textBB.width/textBB.height;var s=calcMaxHalfSize(a,halfAngle,r,ring);return{scale:s*2/textBB.height,rCenter:calcRCenter(a,s/r),rotate:calcRotate(midAngle)}}function calcTanTransform(textBB,r,ring,halfAngle,midAngle){r=Math.max(0,r-2*TEXTPAD);var a=textBB.height/textBB.width;var s=calcMaxHalfSize(a,halfAngle,r,ring);return{scale:s*2/textBB.width,rCenter:calcRCenter(a,s/r),rotate:calcRotate(midAngle+Math.PI/2)}}function calcRCenter(a,b){return Math.cos(b)-a*b}function calcRotate(t){return(180/Math.PI*t+720)%180-90}function calcMaxHalfSize(a,halfAngle,r,ring){var q=a+1/(2*Math.tan(halfAngle));return r*Math.min(1/(Math.sqrt(q*q+.5)+q),ring/(Math.sqrt(a*a+ring/2)+a))}function getInscribedRadiusFraction(pt,cd0){if(pt.v===cd0.vTotal&&!cd0.trace.hole)return 1;return Math.min(1/(1+1/Math.sin(pt.halfangle)),pt.ring/2)}function transformOutsideText(textBB,pt){var x=pt.pxmid[0];var y=pt.pxmid[1];var dx=textBB.width/2;var dy=textBB.height/2;if(x<0)dx*=-1;if(y<0)dy*=-1;return{scale:1,rCenter:1,rotate:0,x:dx+Math.abs(dy)*(dx>0?1:-1)/2,y:dy/(1+x*x/(y*y)),outside:true}}function positionTitleInside(cd0){var textDiameter=Math.sqrt(cd0.titleBox.width*cd0.titleBox.width+cd0.titleBox.height*cd0.titleBox.height);return{x:cd0.cx,y:cd0.cy,scale:cd0.trace.hole*cd0.r*2/textDiameter,tx:0,ty:-cd0.titleBox.height/2+cd0.trace.title.font.size}}function positionTitleOutside(cd0,plotSize){var scaleX=1;var scaleY=1;var maxPull;var trace=cd0.trace;var topMiddle={x:cd0.cx,y:cd0.cy};var translate={tx:0,ty:0};translate.ty+=trace.title.font.size;maxPull=getMaxPull(trace);if(trace.title.position.indexOf("top")!==-1){topMiddle.y-=(1+maxPull)*cd0.r;translate.ty-=cd0.titleBox.height}else if(trace.title.position.indexOf("bottom")!==-1){topMiddle.y+=(1+maxPull)*cd0.r}var rx=applyAspectRatio(cd0.r,cd0.trace.aspectratio);var maxWidth=plotSize.w*(trace.domain.x[1]-trace.domain.x[0])/2;if(trace.title.position.indexOf("left")!==-1){maxWidth=maxWidth+rx;topMiddle.x-=(1+maxPull)*rx;translate.tx+=cd0.titleBox.width/2}else if(trace.title.position.indexOf("center")!==-1){maxWidth*=2}else if(trace.title.position.indexOf("right")!==-1){maxWidth=maxWidth+rx;topMiddle.x+=(1+maxPull)*rx;translate.tx-=cd0.titleBox.width/2}scaleX=maxWidth/cd0.titleBox.width;scaleY=getTitleSpace(cd0,plotSize)/cd0.titleBox.height;return{x:topMiddle.x,y:topMiddle.y,scale:Math.min(scaleX,scaleY),tx:translate.tx,ty:translate.ty}}function applyAspectRatio(x,aspectratio){return x/(aspectratio===undefined?1:aspectratio)}function getTitleSpace(cd0,plotSize){var trace=cd0.trace;var pieBoxHeight=plotSize.h*(trace.domain.y[1]-trace.domain.y[0]);return Math.min(cd0.titleBox.height,pieBoxHeight/2)}function getMaxPull(trace){var maxPull=trace.pull;if(!maxPull)return 0;var j;if(Array.isArray(maxPull)){maxPull=0;for(j=0;j<trace.pull.length;j++){if(trace.pull[j]>maxPull)maxPull=trace.pull[j]}}return maxPull}function scootLabels(quadrants,trace){var xHalf,yHalf,equatorFirst,farthestX,farthestY,xDiffSign,yDiffSign,thisQuad,oppositeQuad,wholeSide,i,thisQuadOutside,firstOppositeOutsidePt;function topFirst(a,b){return a.pxmid[1]-b.pxmid[1]}function bottomFirst(a,b){return b.pxmid[1]-a.pxmid[1]}function scootOneLabel(thisPt,prevPt){if(!prevPt)prevPt={};var prevOuterY=prevPt.labelExtraY+(yHalf?prevPt.yLabelMax:prevPt.yLabelMin);var thisInnerY=yHalf?thisPt.yLabelMin:thisPt.yLabelMax;var thisOuterY=yHalf?thisPt.yLabelMax:thisPt.yLabelMin;var thisSliceOuterY=thisPt.cyFinal+farthestY(thisPt.px0[1],thisPt.px1[1]);var newExtraY=prevOuterY-thisInnerY;var xBuffer,i,otherPt,otherOuterY,otherOuterX,newExtraX;if(newExtraY*yDiffSign>0)thisPt.labelExtraY=newExtraY;if(!Array.isArray(trace.pull))return;for(i=0;i<wholeSide.length;i++){otherPt=wholeSide[i];if(otherPt===thisPt||(helpers.castOption(trace.pull,thisPt.pts)||0)>=(helpers.castOption(trace.pull,otherPt.pts)||0)){continue}if((thisPt.pxmid[1]-otherPt.pxmid[1])*yDiffSign>0){otherOuterY=otherPt.cyFinal+farthestY(otherPt.px0[1],otherPt.px1[1]);newExtraY=otherOuterY-thisInnerY-thisPt.labelExtraY;if(newExtraY*yDiffSign>0)thisPt.labelExtraY+=newExtraY}else if((thisOuterY+thisPt.labelExtraY-thisSliceOuterY)*yDiffSign>0){xBuffer=3*xDiffSign*Math.abs(i-wholeSide.indexOf(thisPt));otherOuterX=otherPt.cxFinal+farthestX(otherPt.px0[0],otherPt.px1[0]);newExtraX=otherOuterX+xBuffer-(thisPt.cxFinal+thisPt.pxmid[0])-thisPt.labelExtraX;if(newExtraX*xDiffSign>0)thisPt.labelExtraX+=newExtraX}}}for(yHalf=0;yHalf<2;yHalf++){equatorFirst=yHalf?topFirst:bottomFirst;farthestY=yHalf?Math.max:Math.min;yDiffSign=yHalf?1:-1;for(xHalf=0;xHalf<2;xHalf++){farthestX=xHalf?Math.max:Math.min;xDiffSign=xHalf?1:-1;thisQuad=quadrants[yHalf][xHalf];thisQuad.sort(equatorFirst);oppositeQuad=quadrants[1-yHalf][xHalf];wholeSide=oppositeQuad.concat(thisQuad);thisQuadOutside=[];for(i=0;i<thisQuad.length;i++){if(thisQuad[i].yLabelMid!==undefined)thisQuadOutside.push(thisQuad[i])}firstOppositeOutsidePt=false;for(i=0;yHalf&&i<oppositeQuad.length;i++){if(oppositeQuad[i].yLabelMid!==undefined){firstOppositeOutsidePt=oppositeQuad[i];break}}for(i=0;i<thisQuadOutside.length;i++){var prevPt=i&&thisQuadOutside[i-1];if(firstOppositeOutsidePt&&!i)prevPt=firstOppositeOutsidePt;scootOneLabel(thisQuadOutside[i],prevPt)}}}}function layoutAreas(cdModule,plotSize){var scaleGroups=[];for(var i=0;i<cdModule.length;i++){var cd0=cdModule[i][0];var trace=cd0.trace;var domain=trace.domain;var width=plotSize.w*(domain.x[1]-domain.x[0]);var height=plotSize.h*(domain.y[1]-domain.y[0]);if(trace.title.text&&trace.title.position!=="middle center"){height-=getTitleSpace(cd0,plotSize)}var rx=width/2;var ry=height/2;if(trace.type==="funnelarea"&&!trace.scalegroup){ry/=trace.aspectratio}cd0.r=Math.min(rx,ry)/(1+getMaxPull(trace));cd0.cx=plotSize.l+plotSize.w*(trace.domain.x[1]+trace.domain.x[0])/2;cd0.cy=plotSize.t+plotSize.h*(1-trace.domain.y[0])-height/2;if(trace.title.text&&trace.title.position.indexOf("bottom")!==-1){cd0.cy-=getTitleSpace(cd0,plotSize)}if(trace.scalegroup&&scaleGroups.indexOf(trace.scalegroup)===-1){scaleGroups.push(trace.scalegroup)}}groupScale(cdModule,scaleGroups)}function groupScale(cdModule,scaleGroups){var cd0,i,trace;for(var k=0;k<scaleGroups.length;k++){var min=Infinity;var g=scaleGroups[k];for(i=0;i<cdModule.length;i++){cd0=cdModule[i][0];trace=cd0.trace;if(trace.scalegroup===g){var area;if(trace.type==="pie"){area=cd0.r*cd0.r}else if(trace.type==="funnelarea"){var rx,ry;if(trace.aspectratio>1){rx=cd0.r;ry=rx/trace.aspectratio}else{ry=cd0.r;rx=ry*trace.aspectratio}rx*=(1+trace.baseratio)/2;area=rx*ry}min=Math.min(min,area/cd0.vTotal)}}for(i=0;i<cdModule.length;i++){cd0=cdModule[i][0];trace=cd0.trace;if(trace.scalegroup===g){var v=min*cd0.vTotal;if(trace.type==="funnelarea"){v/=(1+trace.baseratio)/2;v/=trace.aspectratio}cd0.r=Math.sqrt(v)}}}}function setCoords(cd){var cd0=cd[0];var r=cd0.r;var trace=cd0.trace;var currentAngle=helpers.getRotationAngle(trace.rotation);var angleFactor=2*Math.PI/cd0.vTotal;var firstPt="px0";var lastPt="px1";var i,cdi,currentCoords;if(trace.direction==="counterclockwise"){for(i=0;i<cd.length;i++){if(!cd[i].hidden)break}if(i===cd.length)return;currentAngle+=angleFactor*cd[i].v;angleFactor*=-1;firstPt="px1";lastPt="px0"}currentCoords=getCoords(r,currentAngle);for(i=0;i<cd.length;i++){cdi=cd[i];if(cdi.hidden)continue;cdi[firstPt]=currentCoords;cdi.startangle=currentAngle;currentAngle+=angleFactor*cdi.v/2;cdi.pxmid=getCoords(r,currentAngle);cdi.midangle=currentAngle;currentAngle+=angleFactor*cdi.v/2;currentCoords=getCoords(r,currentAngle);cdi.stopangle=currentAngle;cdi[lastPt]=currentCoords;cdi.largeArc=cdi.v>cd0.vTotal/2?1:0;cdi.halfangle=Math.PI*Math.min(cdi.v/cd0.vTotal,.5);cdi.ring=1-trace.hole;cdi.rInscribed=getInscribedRadiusFraction(cdi,cd0)}}function getCoords(r,angle){return[r*Math.sin(angle),-r*Math.cos(angle)]}function formatSliceLabel(gd,pt,cd0){var fullLayout=gd._fullLayout;var trace=cd0.trace;var texttemplate=trace.texttemplate;var textinfo=trace.textinfo;if(!texttemplate&&textinfo&&textinfo!=="none"){var parts=textinfo.split("+");var hasFlag=function(flag){return parts.indexOf(flag)!==-1};var hasLabel=hasFlag("label");var hasText=hasFlag("text");var hasValue=hasFlag("value");var hasPercent=hasFlag("percent");var separators=fullLayout.separators;var text;text=hasLabel?[pt.label]:[];if(hasText){var tx=helpers.getFirstFilled(trace.text,pt.pts);if(isValidTextValue(tx))text.push(tx)}if(hasValue)text.push(helpers.formatPieValue(pt.v,separators));if(hasPercent)text.push(helpers.formatPiePercent(pt.v/cd0.vTotal,separators));pt.text=text.join("<br>")}function makeTemplateVariables(pt){return{label:pt.label,value:pt.v,valueLabel:helpers.formatPieValue(pt.v,fullLayout.separators),percent:pt.v/cd0.vTotal,percentLabel:helpers.formatPiePercent(pt.v/cd0.vTotal,fullLayout.separators),color:pt.color,text:pt.text,customdata:Lib.castOption(trace,pt.i,"customdata")}}if(texttemplate){var txt=Lib.castOption(trace,pt.i,"texttemplate");if(!txt){pt.text=""}else{var obj=makeTemplateVariables(pt);var ptTx=helpers.getFirstFilled(trace.text,pt.pts);if(isValidTextValue(ptTx)||ptTx==="")obj.text=ptTx;pt.text=Lib.texttemplateString(txt,obj,gd._fullLayout._d3locale,obj,trace._meta||{})}}}function computeTransform(transform,textBB){var a=transform.rotate*Math.PI/180;var cosA=Math.cos(a);var sinA=Math.sin(a);var midX=(textBB.left+textBB.right)/2;var midY=(textBB.top+textBB.bottom)/2;transform.textX=midX*cosA-midY*sinA;transform.textY=midX*sinA+midY*cosA;transform.noCenter=true}module.exports={plot:plot,formatSliceLabel:formatSliceLabel,transformInsideText:transformInsideText,determineInsideTextFont:determineInsideTextFont,positionTitleOutside:positionTitleOutside,prerenderTitles:prerenderTitles,layoutAreas:layoutAreas,attachFxHandlers:attachFxHandlers,computeTransform:computeTransform}},{"../../components/color":666,"../../components/drawing":688,"../../components/fx":706,"../../lib":803,"../../lib/svg_text_utils":829,"../../plots/plots":917,"../bar/constants":943,"../bar/uniform_text":957,"./event_data":1196,"./helpers":1197,"@plotly/d3":58}],1202:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var styleOne=_dereq_("./style_one");var resizeText=_dereq_("../bar/uniform_text").resizeText;module.exports=function style(gd){var s=gd._fullLayout._pielayer.selectAll(".trace");resizeText(gd,s,"pie");s.each((function(cd){var cd0=cd[0];var trace=cd0.trace;var traceSelection=d3.select(this);traceSelection.style({opacity:trace.opacity});traceSelection.selectAll("path.surface").each((function(pt){d3.select(this).call(styleOne,pt,trace)}))}))}},{"../bar/uniform_text":957,"./style_one":1203,"@plotly/d3":58}],1203:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../components/color");var castOption=_dereq_("./helpers").castOption;module.exports=function styleOne(s,pt,trace){var line=trace.marker.line;var lineColor=castOption(line.color,pt.pts)||Color.defaultLine;var lineWidth=castOption(line.width,pt.pts)||0;s.style("stroke-width",lineWidth).call(Color.fill,pt.color).call(Color.stroke,lineColor)}},{"../../components/color":666,"./helpers":1197}],1204:[function(_dereq_,module,exports){"use strict";var scatterglAttrs=_dereq_("../scatter/attributes");module.exports={x:scatterglAttrs.x,y:scatterglAttrs.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:scatterglAttrs.text,marker:{color:{valType:"color",arrayOk:false,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:false,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:false,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:undefined}},{"../scatter/attributes":1218}],1205:[function(_dereq_,module,exports){"use strict";var createPointCloudRenderer=_dereq_("gl-pointcloud2d");var str2RGBArray=_dereq_("../../lib/str2rgbarray");var findExtremes=_dereq_("../../plots/cartesian/autorange").findExtremes;var getTraceColor=_dereq_("../scatter/get_trace_color");function Pointcloud(scene,uid){this.scene=scene;this.uid=uid;this.type="pointcloud";this.pickXData=[];this.pickYData=[];this.xData=[];this.yData=[];this.textLabels=[];this.color="rgb(0, 0, 0)";this.name="";this.hoverinfo="all";this.idToIndex=new Int32Array(0);this.bounds=[0,0,0,0];this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]};this.pointcloud=createPointCloudRenderer(scene.glplot,this.pointcloudOptions);this.pointcloud._trace=this}var proto=Pointcloud.prototype;proto.handlePick=function(pickResult){var index=this.idToIndex[pickResult.pointId];return{trace:this,dataCoord:pickResult.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[index*2],this.pickXYData[index*2+1]]:[this.pickXData[index],this.pickYData[index]],textLabel:Array.isArray(this.textLabels)?this.textLabels[index]:this.textLabels,color:this.color,name:this.name,pointIndex:index,hoverinfo:this.hoverinfo}};proto.update=function(options){this.index=options.index;this.textLabels=options.text;this.name=options.name;this.hoverinfo=options.hoverinfo;this.bounds=[Infinity,Infinity,-Infinity,-Infinity];this.updateFast(options);this.color=getTraceColor(options,{})};proto.updateFast=function(options){var x=this.xData=this.pickXData=options.x;var y=this.yData=this.pickYData=options.y;var xy=this.pickXYData=options.xy;var userBounds=options.xbounds&&options.ybounds;var index=options.indices;var len;var idToIndex;var positions;var bounds=this.bounds;var xx,yy,i;if(xy){positions=xy;len=xy.length>>>1;if(userBounds){bounds[0]=options.xbounds[0];bounds[2]=options.xbounds[1];bounds[1]=options.ybounds[0];bounds[3]=options.ybounds[1]}else{for(i=0;i<len;i++){xx=positions[i*2];yy=positions[i*2+1];if(xx<bounds[0])bounds[0]=xx;if(xx>bounds[2])bounds[2]=xx;if(yy<bounds[1])bounds[1]=yy;if(yy>bounds[3])bounds[3]=yy}}if(index){idToIndex=index}else{idToIndex=new Int32Array(len);for(i=0;i<len;i++){idToIndex[i]=i}}}else{len=x.length;positions=new Float32Array(2*len);idToIndex=new Int32Array(len);for(i=0;i<len;i++){xx=x[i];yy=y[i];idToIndex[i]=i;positions[i*2]=xx;positions[i*2+1]=yy;if(xx<bounds[0])bounds[0]=xx;if(xx>bounds[2])bounds[2]=xx;if(yy<bounds[1])bounds[1]=yy;if(yy>bounds[3])bounds[3]=yy}}this.idToIndex=idToIndex;this.pointcloudOptions.idToIndex=idToIndex;this.pointcloudOptions.positions=positions;var markerColor=str2RGBArray(options.marker.color);var borderColor=str2RGBArray(options.marker.border.color);var opacity=options.opacity*options.marker.opacity;markerColor[3]*=opacity;this.pointcloudOptions.color=markerColor;var blend=options.marker.blend;if(blend===null){var maxPoints=100;blend=x.length<maxPoints||y.length<maxPoints}this.pointcloudOptions.blend=blend;borderColor[3]*=opacity;this.pointcloudOptions.borderColor=borderColor;var markerSizeMin=options.marker.sizemin;var markerSizeMax=Math.max(options.marker.sizemax,options.marker.sizemin);this.pointcloudOptions.sizeMin=markerSizeMin;this.pointcloudOptions.sizeMax=markerSizeMax;this.pointcloudOptions.areaRatio=options.marker.border.arearatio;this.pointcloud.update(this.pointcloudOptions);var xa=this.scene.xaxis;var ya=this.scene.yaxis;var pad=markerSizeMax/2||.5;options._extremes[xa._id]=findExtremes(xa,[bounds[0],bounds[2]],{ppad:pad});options._extremes[ya._id]=findExtremes(ya,[bounds[1],bounds[3]],{ppad:pad})};proto.dispose=function(){this.pointcloud.dispose()};function createPointcloud(scene,data){var plot=new Pointcloud(scene,data.uid);plot.update(data);return plot}module.exports=createPointcloud},{"../../lib/str2rgbarray":828,"../../plots/cartesian/autorange":853,"../scatter/get_trace_color":1228,"gl-pointcloud2d":328}],1206:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}coerce("x");coerce("y");coerce("xbounds");coerce("ybounds");if(traceIn.xy&&traceIn.xy instanceof Float32Array){traceOut.xy=traceIn.xy}if(traceIn.indices&&traceIn.indices instanceof Int32Array){traceOut.indices=traceIn.indices}coerce("text");coerce("marker.color",defaultColor);coerce("marker.opacity");coerce("marker.blend");coerce("marker.sizemin");coerce("marker.sizemax");coerce("marker.border.color",defaultColor);coerce("marker.border.arearatio");traceOut._length=null}},{"../../lib":803,"./attributes":1204}],1207:[function(_dereq_,module,exports){"use strict";var deprecationWarning=["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" ");module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("../scatter3d/calc"),plot:_dereq_("./convert"),moduleType:"trace",name:"pointcloud",basePlotModule:_dereq_("../../plots/gl2d"),categories:["gl","gl2d","showLegend"],meta:{}}},{"../../plots/gl2d":894,"../scatter3d/calc":1247,"./attributes":1204,"./convert":1205,"./defaults":1206}],1208:[function(_dereq_,module,exports){"use strict";var fontAttrs=_dereq_("../../plots/font_attributes");var baseAttrs=_dereq_("../../plots/attributes");var colorAttrs=_dereq_("../../components/color/attributes");var fxAttrs=_dereq_("../../components/fx/attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var colorAttributes=_dereq_("../../components/colorscale/attributes");var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var descriptionOnlyNumbers=_dereq_("../../plots/cartesian/axis_format_attributes").descriptionOnlyNumbers;var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var attrs=module.exports=overrideAll({hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:[],arrayOk:false}),hoverlabel:fxAttrs.hoverlabel,domain:domainAttrs({name:"sankey",trace:true}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:descriptionOnlyNumbers("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:fontAttrs({}),customdata:undefined,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:true,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:true},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:colorAttrs.defaultLine,arrayOk:true},width:{valType:"number",min:0,dflt:.5,arrayOk:true}},pad:{valType:"number",arrayOk:false,min:0,dflt:20},thickness:{valType:"number",arrayOk:false,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:fxAttrs.hoverlabel,hovertemplate:hovertemplateAttrs({},{keys:["value","label"]})},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:true},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:colorAttrs.defaultLine,arrayOk:true},width:{valType:"number",min:0,dflt:0,arrayOk:true}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:fxAttrs.hoverlabel,hovertemplate:hovertemplateAttrs({},{keys:["value","label"]}),colorscales:templatedArray("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:extendFlat(colorAttributes().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested");attrs.transforms=undefined},{"../../components/color/attributes":665,"../../components/colorscale/attributes":673,"../../components/fx/attributes":697,"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plot_api/plot_template":843,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/domain":882,"../../plots/font_attributes":883,"../../plots/template_attributes":926}],1209:[function(_dereq_,module,exports){"use strict";var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var getModuleCalcData=_dereq_("../../plots/get_data").getModuleCalcData;var plot=_dereq_("./plot");var fxAttrs=_dereq_("../../components/fx/layout_attributes");var setCursor=_dereq_("../../lib/setcursor");var dragElement=_dereq_("../../components/dragelement");var prepSelect=_dereq_("../../plots/cartesian/select").prepSelect;var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var SANKEY="sankey";exports.name=SANKEY;exports.baseLayoutAttrOverrides=overrideAll({hoverlabel:fxAttrs.hoverlabel},"plot","nested");exports.plot=function(gd){var calcData=getModuleCalcData(gd.calcdata,SANKEY)[0];plot(gd,calcData);exports.updateFx(gd)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var hadPlot=oldFullLayout._has&&oldFullLayout._has(SANKEY);var hasPlot=newFullLayout._has&&newFullLayout._has(SANKEY);if(hadPlot&&!hasPlot){oldFullLayout._paperdiv.selectAll(".sankey").remove();oldFullLayout._paperdiv.selectAll(".bgsankey").remove()}};exports.updateFx=function(gd){for(var i=0;i<gd._fullData.length;i++){subplotUpdateFx(gd,i)}};function subplotUpdateFx(gd,index){var trace=gd._fullData[index];var fullLayout=gd._fullLayout;var dragMode=fullLayout.dragmode;var cursor=fullLayout.dragmode==="pan"?"move":"crosshair";var bgRect=trace._bgRect;if(dragMode==="pan"||dragMode==="zoom")return;setCursor(bgRect,cursor);var xaxis={_id:"x",c2p:Lib.identity,_offset:trace._sankey.translateX,_length:trace._sankey.width};var yaxis={_id:"y",c2p:Lib.identity,_offset:trace._sankey.translateY,_length:trace._sankey.height};var dragOptions={gd:gd,element:bgRect.node(),plotinfo:{id:index,xaxis:xaxis,yaxis:yaxis,fillRangeItems:Lib.noop},subplot:index,xaxes:[xaxis],yaxes:[yaxis],doneFnCompleted:function(selection){var traceNow=gd._fullData[index];var newGroups;var oldGroups=traceNow.node.groups.slice();var newGroup=[];function findNode(pt){var nodes=traceNow._sankey.graph.nodes;for(var i=0;i<nodes.length;i++){if(nodes[i].pointNumber===pt)return nodes[i]}}for(var j=0;j<selection.length;j++){var node=findNode(selection[j].pointNumber);if(!node)continue;if(node.group){for(var k=0;k<node.childrenNodes.length;k++){newGroup.push(node.childrenNodes[k].pointNumber)}oldGroups[node.pointNumber-traceNow.node._count]=false}else{newGroup.push(node.pointNumber)}}newGroups=oldGroups.filter(Boolean).concat([newGroup]);Registry.call("_guiRestyle",gd,{"node.groups":[newGroups]},index)}};dragOptions.prepFn=function(e,startX,startY){prepSelect(e,startX,startY,dragOptions,dragMode)};dragElement.init(dragOptions)}},{"../../components/dragelement":685,"../../components/fx/layout_attributes":707,"../../lib":803,"../../lib/setcursor":824,"../../plot_api/edit_types":836,"../../plots/cartesian/select":874,"../../plots/get_data":891,"../../registry":931,"./plot":1214}],1210:[function(_dereq_,module,exports){"use strict";var tarjan=_dereq_("strongly-connected-components");var Lib=_dereq_("../../lib");var wrap=_dereq_("../../lib/gup").wrap;var isArrayOrTypedArray=Lib.isArrayOrTypedArray;var isIndex=Lib.isIndex;var Colorscale=_dereq_("../../components/colorscale");function convertToD3Sankey(trace){var nodeSpec=trace.node;var linkSpec=trace.link;var links=[];var hasLinkColorArray=isArrayOrTypedArray(linkSpec.color);var hasLinkCustomdataArray=isArrayOrTypedArray(linkSpec.customdata);var linkedNodes={};var components={};var componentCount=linkSpec.colorscales.length;var i;for(i=0;i<componentCount;i++){var cscale=linkSpec.colorscales[i];var specs=Colorscale.extractScale(cscale,{cLetter:"c"});var scale=Colorscale.makeColorScaleFunc(specs);components[cscale.label]=scale}var maxNodeId=0;for(i=0;i<linkSpec.value.length;i++){if(linkSpec.source[i]>maxNodeId)maxNodeId=linkSpec.source[i];if(linkSpec.target[i]>maxNodeId)maxNodeId=linkSpec.target[i]}var nodeCount=maxNodeId+1;trace.node._count=nodeCount;var j;var groups=trace.node.groups;var groupLookup={};for(i=0;i<groups.length;i++){var group=groups[i];for(j=0;j<group.length;j++){var nodeIndex=group[j];var groupIndex=nodeCount+i;if(groupLookup.hasOwnProperty(nodeIndex)){Lib.warn("Node "+nodeIndex+" is already part of a group.")}else{groupLookup[nodeIndex]=groupIndex}}}var groupedLinks={source:[],target:[]};for(i=0;i<linkSpec.value.length;i++){var val=linkSpec.value[i];var source=linkSpec.source[i];var target=linkSpec.target[i];if(!(val>0&&isIndex(source,nodeCount)&&isIndex(target,nodeCount))){continue}if(groupLookup.hasOwnProperty(source)&&groupLookup.hasOwnProperty(target)&&groupLookup[source]===groupLookup[target]){continue}if(groupLookup.hasOwnProperty(target)){target=groupLookup[target]}if(groupLookup.hasOwnProperty(source)){source=groupLookup[source]}source=+source;target=+target;linkedNodes[source]=linkedNodes[target]=true;var label="";if(linkSpec.label&&linkSpec.label[i])label=linkSpec.label[i];var concentrationscale=null;if(label&&components.hasOwnProperty(label))concentrationscale=components[label];links.push({pointNumber:i,label:label,color:hasLinkColorArray?linkSpec.color[i]:linkSpec.color,customdata:hasLinkCustomdataArray?linkSpec.customdata[i]:linkSpec.customdata,concentrationscale:concentrationscale,source:source,target:target,value:+val});groupedLinks.source.push(source);groupedLinks.target.push(target)}var totalCount=nodeCount+groups.length;var hasNodeColorArray=isArrayOrTypedArray(nodeSpec.color);var hasNodeCustomdataArray=isArrayOrTypedArray(nodeSpec.customdata);var nodes=[];for(i=0;i<totalCount;i++){if(!linkedNodes[i])continue;var l=nodeSpec.label[i];nodes.push({group:i>nodeCount-1,childrenNodes:[],pointNumber:i,label:l,color:hasNodeColorArray?nodeSpec.color[i]:nodeSpec.color,customdata:hasNodeCustomdataArray?nodeSpec.customdata[i]:nodeSpec.customdata})}var circular=false;if(circularityPresent(totalCount,groupedLinks.source,groupedLinks.target)){circular=true}return{circular:circular,links:links,nodes:nodes,groups:groups,groupLookup:groupLookup}}function circularityPresent(nodeLen,sources,targets){var nodes=Lib.init2dArray(nodeLen,0);for(var i=0;i<Math.min(sources.length,targets.length);i++){if(Lib.isIndex(sources[i],nodeLen)&&Lib.isIndex(targets[i],nodeLen)){if(sources[i]===targets[i]){return true}nodes[sources[i]].push(targets[i])}}var scc=tarjan(nodes);return scc.components.some((function(c){return c.length>1}))}module.exports=function calc(gd,trace){var result=convertToD3Sankey(trace);return wrap({circular:result.circular,_nodes:result.nodes,_links:result.links,_groups:result.groups,_groupLookup:result.groupLookup})}},{"../../components/colorscale":678,"../../lib":803,"../../lib/gup":800,"strongly-connected-components":590}],1211:[function(_dereq_,module,exports){"use strict";module.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},{}],1212:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var Color=_dereq_("../../components/color");var tinycolor=_dereq_("tinycolor2");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var handleHoverLabelDefaults=_dereq_("../../components/fx/hoverlabel_defaults");var Template=_dereq_("../../plot_api/plot_template");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var hoverlabelDefault=Lib.extendDeep(layout.hoverlabel,traceIn.hoverlabel);var nodeIn=traceIn.node;var nodeOut=Template.newContainer(traceOut,"node");function coerceNode(attr,dflt){return Lib.coerce(nodeIn,nodeOut,attributes.node,attr,dflt)}coerceNode("label");coerceNode("groups");coerceNode("x");coerceNode("y");coerceNode("pad");coerceNode("thickness");coerceNode("line.color");coerceNode("line.width");coerceNode("hoverinfo",traceIn.hoverinfo);handleHoverLabelDefaults(nodeIn,nodeOut,coerceNode,hoverlabelDefault);coerceNode("hovertemplate");var colors=layout.colorway;var defaultNodePalette=function(i){return colors[i%colors.length]};coerceNode("color",nodeOut.label.map((function(d,i){return Color.addOpacity(defaultNodePalette(i),.8)})));coerceNode("customdata");var linkIn=traceIn.link||{};var linkOut=Template.newContainer(traceOut,"link");function coerceLink(attr,dflt){return Lib.coerce(linkIn,linkOut,attributes.link,attr,dflt)}coerceLink("label");coerceLink("source");coerceLink("target");coerceLink("value");coerceLink("line.color");coerceLink("line.width");coerceLink("hoverinfo",traceIn.hoverinfo);handleHoverLabelDefaults(linkIn,linkOut,coerceLink,hoverlabelDefault);coerceLink("hovertemplate");var defaultLinkColor=tinycolor(layout.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";coerceLink("color",Lib.repeat(defaultLinkColor,linkOut.value.length));coerceLink("customdata");handleArrayContainerDefaults(linkIn,linkOut,{name:"colorscales",handleItemDefaults:concentrationscalesDefaults});handleDomainDefaults(traceOut,layout,coerce);coerce("orientation");coerce("valueformat");coerce("valuesuffix");var dfltArrangement;if(nodeOut.x.length&&nodeOut.y.length){dfltArrangement="freeform"}coerce("arrangement",dfltArrangement);Lib.coerceFont(coerce,"textfont",Lib.extendFlat({},layout.font));traceOut._length=null};function concentrationscalesDefaults(In,Out){function coerce(attr,dflt){return Lib.coerce(In,Out,attributes.link.colorscales,attr,dflt)}coerce("label");coerce("cmin");coerce("cmax");coerce("colorscale")}},{"../../components/color":666,"../../components/fx/hoverlabel_defaults":704,"../../lib":803,"../../plot_api/plot_template":843,"../../plots/array_container_defaults":849,"../../plots/domain":882,"./attributes":1208,tinycolor2:598}],1213:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),moduleType:"trace",name:"sankey",basePlotModule:_dereq_("./base_plot"),selectPoints:_dereq_("./select.js"),categories:["noOpacity"],meta:{}}},{"./attributes":1208,"./base_plot":1209,"./calc":1210,"./defaults":1212,"./plot":1214,"./select.js":1216}],1214:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var numberFormat=Lib.numberFormat;var render=_dereq_("./render");var Fx=_dereq_("../../components/fx");var Color=_dereq_("../../components/color");var cn=_dereq_("./constants").cn;var _=Lib._;function renderableValuePresent(d){return d!==""}function ownTrace(selection,d){return selection.filter((function(s){return s.key===d.traceId}))}function makeTranslucent(element,alpha){d3.select(element).select("path").style("fill-opacity",alpha);d3.select(element).select("rect").style("fill-opacity",alpha)}function makeTextContrasty(element){d3.select(element).select("text.name").style("fill","black")}function relatedLinks(d){return function(l){return d.node.sourceLinks.indexOf(l.link)!==-1||d.node.targetLinks.indexOf(l.link)!==-1}}function relatedNodes(l){return function(d){return d.node.sourceLinks.indexOf(l.link)!==-1||d.node.targetLinks.indexOf(l.link)!==-1}}function nodeHoveredStyle(sankeyNode,d,sankey){if(d&&sankey){ownTrace(sankey,d).selectAll("."+cn.sankeyLink).filter(relatedLinks(d)).call(linkHoveredStyle.bind(0,d,sankey,false))}}function nodeNonHoveredStyle(sankeyNode,d,sankey){if(d&&sankey){ownTrace(sankey,d).selectAll("."+cn.sankeyLink).filter(relatedLinks(d)).call(linkNonHoveredStyle.bind(0,d,sankey,false))}}function linkHoveredStyle(d,sankey,visitNodes,sankeyLink){var label=sankeyLink.datum().link.label;sankeyLink.style("fill-opacity",(function(l){if(!l.link.concentrationscale){return.4}}));if(label){ownTrace(sankey,d).selectAll("."+cn.sankeyLink).filter((function(l){return l.link.label===label})).style("fill-opacity",(function(l){if(!l.link.concentrationscale){return.4}}))}if(visitNodes){ownTrace(sankey,d).selectAll("."+cn.sankeyNode).filter(relatedNodes(d)).call(nodeHoveredStyle)}}function linkNonHoveredStyle(d,sankey,visitNodes,sankeyLink){var label=sankeyLink.datum().link.label;sankeyLink.style("fill-opacity",(function(d){return d.tinyColorAlpha}));if(label){ownTrace(sankey,d).selectAll("."+cn.sankeyLink).filter((function(l){return l.link.label===label})).style("fill-opacity",(function(d){return d.tinyColorAlpha}))}if(visitNodes){ownTrace(sankey,d).selectAll(cn.sankeyNode).filter(relatedNodes(d)).call(nodeNonHoveredStyle)}}function castHoverOption(trace,attr){var labelOpts=trace.hoverlabel||{};var val=Lib.nestedProperty(labelOpts,attr).get();return Array.isArray(val)?false:val}module.exports=function plot(gd,calcData){var fullLayout=gd._fullLayout;var svg=fullLayout._paper;var size=fullLayout._size;for(var i=0;i<gd._fullData.length;i++){if(!gd._fullData[i].visible)continue;if(gd._fullData[i].type!==cn.sankey)continue;if(!gd._fullData[i]._viewInitial){var node=gd._fullData[i].node;gd._fullData[i]._viewInitial={node:{groups:node.groups.slice(),x:node.x.slice(),y:node.y.slice()}}}}var linkSelect=function(element,d){var evt=d.link;evt.originalEvent=d3.event;gd._hoverdata=[evt];Fx.click(gd,{target:true})};var linkHover=function(element,d,sankey){if(gd._fullLayout.hovermode===false)return;d3.select(element).call(linkHoveredStyle.bind(0,d,sankey,true));if(d.link.trace.link.hoverinfo!=="skip"){d.link.fullData=d.link.trace;gd.emit("plotly_hover",{event:d3.event,points:[d.link]})}};var sourceLabel=_(gd,"source:")+" ";var targetLabel=_(gd,"target:")+" ";var concentrationLabel=_(gd,"concentration:")+" ";var incomingLabel=_(gd,"incoming flow count:")+" ";var outgoingLabel=_(gd,"outgoing flow count:")+" ";var linkHoverFollow=function(element,d){if(gd._fullLayout.hovermode===false)return;var obj=d.link.trace.link;if(obj.hoverinfo==="none"||obj.hoverinfo==="skip")return;var hoverItems=[];function hoverCenterPosition(link){var hoverCenterX,hoverCenterY;if(link.circular){hoverCenterX=(link.circularPathData.leftInnerExtent+link.circularPathData.rightInnerExtent)/2;hoverCenterY=link.circularPathData.verticalFullExtent}else{hoverCenterX=(link.source.x1+link.target.x0)/2;hoverCenterY=(link.y0+link.y1)/2}var center=[hoverCenterX,hoverCenterY];if(link.trace.orientation==="v")center.reverse();center[0]+=d.parent.translateX;center[1]+=d.parent.translateY;return center}var anchorIndex=0;for(var i=0;i<d.flow.links.length;i++){var link=d.flow.links[i];if(gd._fullLayout.hovermode==="closest"&&d.link.pointNumber!==link.pointNumber)continue;if(d.link.pointNumber===link.pointNumber)anchorIndex=i;link.fullData=link.trace;obj=d.link.trace.link;var hoverCenter=hoverCenterPosition(link);var hovertemplateLabels={valueLabel:numberFormat(d.valueFormat)(link.value)+d.valueSuffix};hoverItems.push({x:hoverCenter[0],y:hoverCenter[1],name:hovertemplateLabels.valueLabel,text:[link.label||"",sourceLabel+link.source.label,targetLabel+link.target.label,link.concentrationscale?concentrationLabel+numberFormat("%0.2f")(link.flow.labelConcentration):""].filter(renderableValuePresent).join("<br>"),color:castHoverOption(obj,"bgcolor")||Color.addOpacity(link.color,1),borderColor:castHoverOption(obj,"bordercolor"),fontFamily:castHoverOption(obj,"font.family"),fontSize:castHoverOption(obj,"font.size"),fontColor:castHoverOption(obj,"font.color"),nameLength:castHoverOption(obj,"namelength"),textAlign:castHoverOption(obj,"align"),idealAlign:d3.event.x<hoverCenter[0]?"right":"left",hovertemplate:obj.hovertemplate,hovertemplateLabels:hovertemplateLabels,eventData:[link]})}var tooltips=Fx.loneHover(hoverItems,{container:fullLayout._hoverlayer.node(),outerContainer:fullLayout._paper.node(),gd:gd,anchorIndex:anchorIndex});tooltips.each((function(){var tooltip=this;if(!d.link.concentrationscale){makeTranslucent(tooltip,.65)}makeTextContrasty(tooltip)}))};var linkUnhover=function(element,d,sankey){if(gd._fullLayout.hovermode===false)return;d3.select(element).call(linkNonHoveredStyle.bind(0,d,sankey,true));if(d.link.trace.link.hoverinfo!=="skip"){d.link.fullData=d.link.trace;gd.emit("plotly_unhover",{event:d3.event,points:[d.link]})}Fx.loneUnhover(fullLayout._hoverlayer.node())};var nodeSelect=function(element,d,sankey){var evt=d.node;evt.originalEvent=d3.event;gd._hoverdata=[evt];d3.select(element).call(nodeNonHoveredStyle,d,sankey);Fx.click(gd,{target:true})};var nodeHover=function(element,d,sankey){if(gd._fullLayout.hovermode===false)return;d3.select(element).call(nodeHoveredStyle,d,sankey);if(d.node.trace.node.hoverinfo!=="skip"){d.node.fullData=d.node.trace;gd.emit("plotly_hover",{event:d3.event,points:[d.node]})}};var nodeHoverFollow=function(element,d){if(gd._fullLayout.hovermode===false)return;var obj=d.node.trace.node;if(obj.hoverinfo==="none"||obj.hoverinfo==="skip")return;var nodeRect=d3.select(element).select("."+cn.nodeRect);var rootBBox=gd._fullLayout._paperdiv.node().getBoundingClientRect();var boundingBox=nodeRect.node().getBoundingClientRect();var hoverCenterX0=boundingBox.left-2-rootBBox.left;var hoverCenterX1=boundingBox.right+2-rootBBox.left;var hoverCenterY=boundingBox.top+boundingBox.height/4-rootBBox.top;var hovertemplateLabels={valueLabel:numberFormat(d.valueFormat)(d.node.value)+d.valueSuffix};d.node.fullData=d.node.trace;gd._fullLayout._calcInverseTransform(gd);var scaleX=gd._fullLayout._invScaleX;var scaleY=gd._fullLayout._invScaleY;var tooltip=Fx.loneHover({x0:scaleX*hoverCenterX0,x1:scaleX*hoverCenterX1,y:scaleY*hoverCenterY,name:numberFormat(d.valueFormat)(d.node.value)+d.valueSuffix,text:[d.node.label,incomingLabel+d.node.targetLinks.length,outgoingLabel+d.node.sourceLinks.length].filter(renderableValuePresent).join("<br>"),color:castHoverOption(obj,"bgcolor")||d.tinyColorHue,borderColor:castHoverOption(obj,"bordercolor"),fontFamily:castHoverOption(obj,"font.family"),fontSize:castHoverOption(obj,"font.size"),fontColor:castHoverOption(obj,"font.color"),nameLength:castHoverOption(obj,"namelength"),textAlign:castHoverOption(obj,"align"),idealAlign:"left",hovertemplate:obj.hovertemplate,hovertemplateLabels:hovertemplateLabels,eventData:[d.node]},{container:fullLayout._hoverlayer.node(),outerContainer:fullLayout._paper.node(),gd:gd});makeTranslucent(tooltip,.85);makeTextContrasty(tooltip)};var nodeUnhover=function(element,d,sankey){if(gd._fullLayout.hovermode===false)return;d3.select(element).call(nodeNonHoveredStyle,d,sankey);if(d.node.trace.node.hoverinfo!=="skip"){d.node.fullData=d.node.trace;gd.emit("plotly_unhover",{event:d3.event,points:[d.node]})}Fx.loneUnhover(fullLayout._hoverlayer.node())};render(gd,svg,calcData,{width:size.w,height:size.h,margin:{t:size.t,r:size.r,b:size.b,l:size.l}},{linkEvents:{hover:linkHover,follow:linkHoverFollow,unhover:linkUnhover,select:linkSelect},nodeEvents:{hover:nodeHover,follow:nodeHoverFollow,unhover:nodeUnhover,select:nodeSelect}})}},{"../../components/color":666,"../../components/fx":706,"../../lib":803,"./constants":1211,"./render":1215,"@plotly/d3":58}],1215:[function(_dereq_,module,exports){"use strict";var d3Force=_dereq_("d3-force");var interpolateNumber=_dereq_("d3-interpolate").interpolateNumber;var d3=_dereq_("@plotly/d3");var d3Sankey=_dereq_("@plotly/d3-sankey");var d3SankeyCircular=_dereq_("@plotly/d3-sankey-circular");var c=_dereq_("./constants");var tinycolor=_dereq_("tinycolor2");var Color=_dereq_("../../components/color");var Drawing=_dereq_("../../components/drawing");var Lib=_dereq_("../../lib");var strTranslate=Lib.strTranslate;var strRotate=Lib.strRotate;var gup=_dereq_("../../lib/gup");var keyFun=gup.keyFun;var repeat=gup.repeat;var unwrap=gup.unwrap;var svgTextUtils=_dereq_("../../lib/svg_text_utils");var Registry=_dereq_("../../registry");var alignmentConstants=_dereq_("../../constants/alignment");var CAP_SHIFT=alignmentConstants.CAP_SHIFT;var LINE_SPACING=alignmentConstants.LINE_SPACING;var TEXTPAD=3;function sankeyModel(layout,d,traceIndex){var calcData=unwrap(d);var trace=calcData.trace;var domain=trace.domain;var horizontal=trace.orientation==="h";var nodePad=trace.node.pad;var nodeThickness=trace.node.thickness;var width=layout.width*(domain.x[1]-domain.x[0]);var height=layout.height*(domain.y[1]-domain.y[0]);var nodes=calcData._nodes;var links=calcData._links;var circular=calcData.circular;var sankey;if(circular){sankey=d3SankeyCircular.sankeyCircular().circularLinkGap(0)}else{sankey=d3Sankey.sankey()}sankey.iterations(c.sankeyIterations).size(horizontal?[width,height]:[height,width]).nodeWidth(nodeThickness).nodePadding(nodePad).nodeId((function(d){return d.pointNumber})).nodes(nodes).links(links);var graph=sankey();if(sankey.nodePadding()<nodePad){Lib.warn("node.pad was reduced to ",sankey.nodePadding()," to fit within the figure.")}var i,j,k;for(var nodePointNumber in calcData._groupLookup){var groupIndex=parseInt(calcData._groupLookup[nodePointNumber]);var groupingNode;for(i=0;i<graph.nodes.length;i++){if(graph.nodes[i].pointNumber===groupIndex){groupingNode=graph.nodes[i];break}}if(!groupingNode)continue;var child={pointNumber:parseInt(nodePointNumber),x0:groupingNode.x0,x1:groupingNode.x1,y0:groupingNode.y0,y1:groupingNode.y1,partOfGroup:true,sourceLinks:[],targetLinks:[]};graph.nodes.unshift(child);groupingNode.childrenNodes.unshift(child)}function computeLinkConcentrations(){for(i=0;i<graph.nodes.length;i++){var node=graph.nodes[i];var flows={};var flowKey;var link;for(j=0;j<node.targetLinks.length;j++){link=node.targetLinks[j];flowKey=link.source.pointNumber+":"+link.target.pointNumber;if(!flows.hasOwnProperty(flowKey))flows[flowKey]=[];flows[flowKey].push(link)}var keys=Object.keys(flows);for(j=0;j<keys.length;j++){flowKey=keys[j];var flowLinks=flows[flowKey];var total=0;var totalPerLabel={};for(k=0;k<flowLinks.length;k++){link=flowLinks[k];if(!totalPerLabel[link.label])totalPerLabel[link.label]=0;totalPerLabel[link.label]+=link.value;total+=link.value}for(k=0;k<flowLinks.length;k++){link=flowLinks[k];link.flow={value:total,labelConcentration:totalPerLabel[link.label]/total,concentration:link.value/total,links:flowLinks};if(link.concentrationscale){link.color=tinycolor(link.concentrationscale(link.flow.labelConcentration))}}}var totalOutflow=0;for(j=0;j<node.sourceLinks.length;j++){totalOutflow+=node.sourceLinks[j].value}for(j=0;j<node.sourceLinks.length;j++){link=node.sourceLinks[j];link.concentrationOut=link.value/totalOutflow}var totalInflow=0;for(j=0;j<node.targetLinks.length;j++){totalInflow+=node.targetLinks[j].value}for(j=0;j<node.targetLinks.length;j++){link=node.targetLinks[j];link.concenrationIn=link.value/totalInflow}}}computeLinkConcentrations();function resolveCollisionsTopToBottom(columns){columns.forEach((function(nodes){var node;var dy;var y=0;var n=nodes.length;var i;nodes.sort((function(a,b){return a.y0-b.y0}));for(i=0;i<n;++i){node=nodes[i];if(node.y0>=y){}else{dy=y-node.y0;if(dy>1e-6)node.y0+=dy,node.y1+=dy}y=node.y1+nodePad}}))}function snapToColumns(nodes){var orderedNodes=nodes.map((function(n,i){return{x0:n.x0,index:i}})).sort((function(a,b){return a.x0-b.x0}));var columns=[];var colNumber=-1;var colX;var lastX=-Infinity;var dx;for(i=0;i<orderedNodes.length;i++){var node=nodes[orderedNodes[i].index];if(node.x0>lastX+nodeThickness){colNumber+=1;colX=node.x0}lastX=node.x0;if(!columns[colNumber])columns[colNumber]=[];columns[colNumber].push(node);dx=colX-node.x0;node.x0+=dx,node.x1+=dx}return columns}if(trace.node.x.length&&trace.node.y.length){for(i=0;i<Math.min(trace.node.x.length,trace.node.y.length,graph.nodes.length);i++){if(trace.node.x[i]&&trace.node.y[i]){var pos=[trace.node.x[i]*width,trace.node.y[i]*height];graph.nodes[i].x0=pos[0]-nodeThickness/2;graph.nodes[i].x1=pos[0]+nodeThickness/2;var nodeHeight=graph.nodes[i].y1-graph.nodes[i].y0;graph.nodes[i].y0=pos[1]-nodeHeight/2;graph.nodes[i].y1=pos[1]+nodeHeight/2}}if(trace.arrangement==="snap"){nodes=graph.nodes;var columns=snapToColumns(nodes);resolveCollisionsTopToBottom(columns)}sankey.update(graph)}return{circular:circular,key:traceIndex,trace:trace,guid:Lib.randstr(),horizontal:horizontal,width:width,height:height,nodePad:trace.node.pad,nodeLineColor:trace.node.line.color,nodeLineWidth:trace.node.line.width,linkLineColor:trace.link.line.color,linkLineWidth:trace.link.line.width,valueFormat:trace.valueformat,valueSuffix:trace.valuesuffix,textFont:trace.textfont,translateX:domain.x[0]*layout.width+layout.margin.l,translateY:layout.height-domain.y[1]*layout.height+layout.margin.t,dragParallel:horizontal?height:width,dragPerpendicular:horizontal?width:height,arrangement:trace.arrangement,sankey:sankey,graph:graph,forceLayouts:{},interactionState:{dragInProgress:false,hovered:false}}}function linkModel(d,l,i){var tc=tinycolor(l.color);var basicKey=l.source.label+"|"+l.target.label;var key=basicKey+"__"+i;l.trace=d.trace;l.curveNumber=d.trace.index;return{circular:d.circular,key:key,traceId:d.key,pointNumber:l.pointNumber,link:l,tinyColorHue:Color.tinyRGB(tc),tinyColorAlpha:tc.getAlpha(),linkPath:linkPath,linkLineColor:d.linkLineColor,linkLineWidth:d.linkLineWidth,valueFormat:d.valueFormat,valueSuffix:d.valueSuffix,sankey:d.sankey,parent:d,interactionState:d.interactionState,flow:l.flow}}function createCircularClosedPathString(link){var pathString="";var offset=link.width/2;var coords=link.circularPathData;if(link.circularLinkType==="top"){pathString="M "+coords.targetX+" "+(coords.targetY+offset)+" "+"L"+coords.rightInnerExtent+" "+(coords.targetY+offset)+"A"+(coords.rightLargeArcRadius+offset)+" "+(coords.rightSmallArcRadius+offset)+" 0 0 1 "+(coords.rightFullExtent-offset)+" "+(coords.targetY-coords.rightSmallArcRadius)+"L"+(coords.rightFullExtent-offset)+" "+coords.verticalRightInnerExtent+"A"+(coords.rightLargeArcRadius+offset)+" "+(coords.rightLargeArcRadius+offset)+" 0 0 1 "+coords.rightInnerExtent+" "+(coords.verticalFullExtent-offset)+"L"+coords.leftInnerExtent+" "+(coords.verticalFullExtent-offset)+"A"+(coords.leftLargeArcRadius+offset)+" "+(coords.leftLargeArcRadius+offset)+" 0 0 1 "+(coords.leftFullExtent+offset)+" "+coords.verticalLeftInnerExtent+"L"+(coords.leftFullExtent+offset)+" "+(coords.sourceY-coords.leftSmallArcRadius)+"A"+(coords.leftLargeArcRadius+offset)+" "+(coords.leftSmallArcRadius+offset)+" 0 0 1 "+coords.leftInnerExtent+" "+(coords.sourceY+offset)+"L"+coords.sourceX+" "+(coords.sourceY+offset)+"L"+coords.sourceX+" "+(coords.sourceY-offset)+"L"+coords.leftInnerExtent+" "+(coords.sourceY-offset)+"A"+(coords.leftLargeArcRadius-offset)+" "+(coords.leftSmallArcRadius-offset)+" 0 0 0 "+(coords.leftFullExtent-offset)+" "+(coords.sourceY-coords.leftSmallArcRadius)+"L"+(coords.leftFullExtent-offset)+" "+coords.verticalLeftInnerExtent+"A"+(coords.leftLargeArcRadius-offset)+" "+(coords.leftLargeArcRadius-offset)+" 0 0 0 "+coords.leftInnerExtent+" "+(coords.verticalFullExtent+offset)+"L"+coords.rightInnerExtent+" "+(coords.verticalFullExtent+offset)+"A"+(coords.rightLargeArcRadius-offset)+" "+(coords.rightLargeArcRadius-offset)+" 0 0 0 "+(coords.rightFullExtent+offset)+" "+coords.verticalRightInnerExtent+"L"+(coords.rightFullExtent+offset)+" "+(coords.targetY-coords.rightSmallArcRadius)+"A"+(coords.rightLargeArcRadius-offset)+" "+(coords.rightSmallArcRadius-offset)+" 0 0 0 "+coords.rightInnerExtent+" "+(coords.targetY-offset)+"L"+coords.targetX+" "+(coords.targetY-offset)+"Z"}else{pathString="M "+coords.targetX+" "+(coords.targetY-offset)+" "+"L"+coords.rightInnerExtent+" "+(coords.targetY-offset)+"A"+(coords.rightLargeArcRadius+offset)+" "+(coords.rightSmallArcRadius+offset)+" 0 0 0 "+(coords.rightFullExtent-offset)+" "+(coords.targetY+coords.rightSmallArcRadius)+"L"+(coords.rightFullExtent-offset)+" "+coords.verticalRightInnerExtent+"A"+(coords.rightLargeArcRadius+offset)+" "+(coords.rightLargeArcRadius+offset)+" 0 0 0 "+coords.rightInnerExtent+" "+(coords.verticalFullExtent+offset)+"L"+coords.leftInnerExtent+" "+(coords.verticalFullExtent+offset)+"A"+(coords.leftLargeArcRadius+offset)+" "+(coords.leftLargeArcRadius+offset)+" 0 0 0 "+(coords.leftFullExtent+offset)+" "+coords.verticalLeftInnerExtent+"L"+(coords.leftFullExtent+offset)+" "+(coords.sourceY+coords.leftSmallArcRadius)+"A"+(coords.leftLargeArcRadius+offset)+" "+(coords.leftSmallArcRadius+offset)+" 0 0 0 "+coords.leftInnerExtent+" "+(coords.sourceY-offset)+"L"+coords.sourceX+" "+(coords.sourceY-offset)+"L"+coords.sourceX+" "+(coords.sourceY+offset)+"L"+coords.leftInnerExtent+" "+(coords.sourceY+offset)+"A"+(coords.leftLargeArcRadius-offset)+" "+(coords.leftSmallArcRadius-offset)+" 0 0 1 "+(coords.leftFullExtent-offset)+" "+(coords.sourceY+coords.leftSmallArcRadius)+"L"+(coords.leftFullExtent-offset)+" "+coords.verticalLeftInnerExtent+"A"+(coords.leftLargeArcRadius-offset)+" "+(coords.leftLargeArcRadius-offset)+" 0 0 1 "+coords.leftInnerExtent+" "+(coords.verticalFullExtent-offset)+"L"+coords.rightInnerExtent+" "+(coords.verticalFullExtent-offset)+"A"+(coords.rightLargeArcRadius-offset)+" "+(coords.rightLargeArcRadius-offset)+" 0 0 1 "+(coords.rightFullExtent+offset)+" "+coords.verticalRightInnerExtent+"L"+(coords.rightFullExtent+offset)+" "+(coords.targetY+coords.rightSmallArcRadius)+"A"+(coords.rightLargeArcRadius-offset)+" "+(coords.rightSmallArcRadius-offset)+" 0 0 1 "+coords.rightInnerExtent+" "+(coords.targetY+offset)+"L"+coords.targetX+" "+(coords.targetY+offset)+"Z"}return pathString}function linkPath(){var curvature=.5;function path(d){if(d.link.circular){return createCircularClosedPathString(d.link)}else{var x0=d.link.source.x1;var x1=d.link.target.x0;var xi=interpolateNumber(x0,x1);var x2=xi(curvature);var x3=xi(1-curvature);var y0a=d.link.y0-d.link.width/2;var y0b=d.link.y0+d.link.width/2;var y1a=d.link.y1-d.link.width/2;var y1b=d.link.y1+d.link.width/2;return"M"+x0+","+y0a+"C"+x2+","+y0a+" "+x3+","+y1a+" "+x1+","+y1a+"L"+x1+","+y1b+"C"+x3+","+y1b+" "+x2+","+y0b+" "+x0+","+y0b+"Z"}}return path}function nodeModel(d,n){var tc=tinycolor(n.color);var zoneThicknessPad=c.nodePadAcross;var zoneLengthPad=d.nodePad/2;n.dx=n.x1-n.x0;n.dy=n.y1-n.y0;var visibleThickness=n.dx;var visibleLength=Math.max(.5,n.dy);var key="node_"+n.pointNumber;if(n.group){key=Lib.randstr()}n.trace=d.trace;n.curveNumber=d.trace.index;return{index:n.pointNumber,key:key,partOfGroup:n.partOfGroup||false,group:n.group,traceId:d.key,trace:d.trace,node:n,nodePad:d.nodePad,nodeLineColor:d.nodeLineColor,nodeLineWidth:d.nodeLineWidth,textFont:d.textFont,size:d.horizontal?d.height:d.width,visibleWidth:Math.ceil(visibleThickness),visibleHeight:visibleLength,zoneX:-zoneThicknessPad,zoneY:-zoneLengthPad,zoneWidth:visibleThickness+2*zoneThicknessPad,zoneHeight:visibleLength+2*zoneLengthPad,labelY:d.horizontal?n.dy/2+1:n.dx/2+1,left:n.originalLayer===1,sizeAcross:d.width,forceLayouts:d.forceLayouts,horizontal:d.horizontal,darkBackground:tc.getBrightness()<=128,tinyColorHue:Color.tinyRGB(tc),tinyColorAlpha:tc.getAlpha(),valueFormat:d.valueFormat,valueSuffix:d.valueSuffix,sankey:d.sankey,graph:d.graph,arrangement:d.arrangement,uniqueNodeLabelPathId:[d.guid,d.key,key].join("_"),interactionState:d.interactionState,figure:d}}function updateNodePositions(sankeyNode){sankeyNode.attr("transform",(function(d){return strTranslate(d.node.x0.toFixed(3),d.node.y0.toFixed(3))}))}function updateNodeShapes(sankeyNode){sankeyNode.call(updateNodePositions)}function updateShapes(sankeyNode,sankeyLink){sankeyNode.call(updateNodeShapes);sankeyLink.attr("d",linkPath())}function sizeNode(rect){rect.attr("width",(function(d){return d.node.x1-d.node.x0})).attr("height",(function(d){return d.visibleHeight}))}function salientEnough(d){return d.link.width>1||d.linkLineWidth>0}function sankeyTransform(d){var offset=strTranslate(d.translateX,d.translateY);return offset+(d.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function attachPointerEvents(selection,sankey,eventSet){selection.on(".basic",null).on("mouseover.basic",(function(d){if(!d.interactionState.dragInProgress&&!d.partOfGroup){eventSet.hover(this,d,sankey);d.interactionState.hovered=[this,d]}})).on("mousemove.basic",(function(d){if(!d.interactionState.dragInProgress&&!d.partOfGroup){eventSet.follow(this,d);d.interactionState.hovered=[this,d]}})).on("mouseout.basic",(function(d){if(!d.interactionState.dragInProgress&&!d.partOfGroup){eventSet.unhover(this,d,sankey);d.interactionState.hovered=false}})).on("click.basic",(function(d){if(d.interactionState.hovered){eventSet.unhover(this,d,sankey);d.interactionState.hovered=false}if(!d.interactionState.dragInProgress&&!d.partOfGroup){eventSet.select(this,d,sankey)}}))}function attachDragHandler(sankeyNode,sankeyLink,callbacks,gd){var dragBehavior=d3.behavior.drag().origin((function(d){return{x:d.node.x0+d.visibleWidth/2,y:d.node.y0+d.visibleHeight/2}})).on("dragstart",(function(d){if(d.arrangement==="fixed")return;Lib.ensureSingle(gd._fullLayout._infolayer,"g","dragcover",(function(s){gd._fullLayout._dragCover=s}));Lib.raiseToTop(this);d.interactionState.dragInProgress=d.node;saveCurrentDragPosition(d.node);if(d.interactionState.hovered){callbacks.nodeEvents.unhover.apply(0,d.interactionState.hovered);d.interactionState.hovered=false}if(d.arrangement==="snap"){var forceKey=d.traceId+"|"+d.key;if(d.forceLayouts[forceKey]){d.forceLayouts[forceKey].alpha(1)}else{attachForce(sankeyNode,forceKey,d,gd)}startForce(sankeyNode,sankeyLink,d,forceKey,gd)}})).on("drag",(function(d){if(d.arrangement==="fixed")return;var x=d3.event.x;var y=d3.event.y;if(d.arrangement==="snap"){d.node.x0=x-d.visibleWidth/2;d.node.x1=x+d.visibleWidth/2;d.node.y0=y-d.visibleHeight/2;d.node.y1=y+d.visibleHeight/2}else{if(d.arrangement==="freeform"){d.node.x0=x-d.visibleWidth/2;d.node.x1=x+d.visibleWidth/2}y=Math.max(0,Math.min(d.size-d.visibleHeight/2,y));d.node.y0=y-d.visibleHeight/2;d.node.y1=y+d.visibleHeight/2}saveCurrentDragPosition(d.node);if(d.arrangement!=="snap"){d.sankey.update(d.graph);updateShapes(sankeyNode.filter(sameLayer(d)),sankeyLink)}})).on("dragend",(function(d){if(d.arrangement==="fixed")return;d.interactionState.dragInProgress=false;for(var i=0;i<d.node.childrenNodes.length;i++){d.node.childrenNodes[i].x=d.node.x;d.node.childrenNodes[i].y=d.node.y}if(d.arrangement!=="snap")persistFinalNodePositions(d,gd)}));sankeyNode.on(".drag",null).call(dragBehavior)}function attachForce(sankeyNode,forceKey,d,gd){switchToForceFormat(d.graph.nodes);var nodes=d.graph.nodes.filter((function(n){return n.originalX===d.node.originalX})).filter((function(n){return!n.partOfGroup}));d.forceLayouts[forceKey]=d3Force.forceSimulation(nodes).alphaDecay(0).force("collide",d3Force.forceCollide().radius((function(n){return n.dy/2+d.nodePad/2})).strength(1).iterations(c.forceIterations)).force("constrain",snappingForce(sankeyNode,forceKey,nodes,d,gd)).stop()}function startForce(sankeyNode,sankeyLink,d,forceKey,gd){window.requestAnimationFrame((function faster(){var i;for(i=0;i<c.forceTicksPerFrame;i++){d.forceLayouts[forceKey].tick()}var nodes=d.graph.nodes;switchToSankeyFormat(nodes);d.sankey.update(d.graph);updateShapes(sankeyNode.filter(sameLayer(d)),sankeyLink);if(d.forceLayouts[forceKey].alpha()>0){window.requestAnimationFrame(faster)}else{var x=d.node.originalX;d.node.x0=x-d.visibleWidth/2;d.node.x1=x+d.visibleWidth/2;persistFinalNodePositions(d,gd)}}))}function snappingForce(sankeyNode,forceKey,nodes,d){return function _snappingForce(){var maxVelocity=0;for(var i=0;i<nodes.length;i++){var n=nodes[i];if(n===d.interactionState.dragInProgress){n.x=n.lastDraggedX;n.y=n.lastDraggedY}else{n.vx=(n.originalX-n.x)/c.forceTicksPerFrame;n.y=Math.min(d.size-n.dy/2,Math.max(n.dy/2,n.y))}maxVelocity=Math.max(maxVelocity,Math.abs(n.vx),Math.abs(n.vy))}if(!d.interactionState.dragInProgress&&maxVelocity<.1&&d.forceLayouts[forceKey].alpha()>0){d.forceLayouts[forceKey].alpha(0)}}}function persistFinalNodePositions(d,gd){var x=[];var y=[];for(var i=0;i<d.graph.nodes.length;i++){var nodeX=(d.graph.nodes[i].x0+d.graph.nodes[i].x1)/2;var nodeY=(d.graph.nodes[i].y0+d.graph.nodes[i].y1)/2;x.push(nodeX/d.figure.width);y.push(nodeY/d.figure.height)}Registry.call("_guiRestyle",gd,{"node.x":[x],"node.y":[y]},d.trace.index).then((function(){if(gd._fullLayout._dragCover)gd._fullLayout._dragCover.remove()}))}function persistOriginalPlace(nodes){var distinctLayerPositions=[];var i;for(i=0;i<nodes.length;i++){nodes[i].originalX=(nodes[i].x0+nodes[i].x1)/2;nodes[i].originalY=(nodes[i].y0+nodes[i].y1)/2;if(distinctLayerPositions.indexOf(nodes[i].originalX)===-1){distinctLayerPositions.push(nodes[i].originalX)}}distinctLayerPositions.sort((function(a,b){return a-b}));for(i=0;i<nodes.length;i++){nodes[i].originalLayerIndex=distinctLayerPositions.indexOf(nodes[i].originalX);nodes[i].originalLayer=nodes[i].originalLayerIndex/(distinctLayerPositions.length-1)}}function saveCurrentDragPosition(d){d.lastDraggedX=d.x0+d.dx/2;d.lastDraggedY=d.y0+d.dy/2}function sameLayer(d){return function(n){return n.node.originalX===d.node.originalX}}function switchToForceFormat(nodes){for(var i=0;i<nodes.length;i++){nodes[i].y=(nodes[i].y0+nodes[i].y1)/2;nodes[i].x=(nodes[i].x0+nodes[i].x1)/2}}function switchToSankeyFormat(nodes){for(var i=0;i<nodes.length;i++){nodes[i].y0=nodes[i].y-nodes[i].dy/2;nodes[i].y1=nodes[i].y0+nodes[i].dy;nodes[i].x0=nodes[i].x-nodes[i].dx/2;nodes[i].x1=nodes[i].x0+nodes[i].dx}}module.exports=function(gd,svg,calcData,layout,callbacks){var firstRender=false;Lib.ensureSingle(gd._fullLayout._infolayer,"g","first-render",(function(){firstRender=true}));var dragcover=gd._fullLayout._dragCover;var styledData=calcData.filter((function(d){return unwrap(d).trace.visible})).map(sankeyModel.bind(null,layout));var sankey=svg.selectAll("."+c.cn.sankey).data(styledData,keyFun);sankey.exit().remove();sankey.enter().append("g").classed(c.cn.sankey,true).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",sankeyTransform);sankey.each((function(d,i){gd._fullData[i]._sankey=d;var dragboxClassName="bgsankey-"+d.trace.uid+"-"+i;Lib.ensureSingle(gd._fullLayout._draggers,"rect",dragboxClassName);gd._fullData[i]._bgRect=d3.select("."+dragboxClassName);gd._fullData[i]._bgRect.style("pointer-events","all").attr("width",d.width).attr("height",d.height).attr("x",d.translateX).attr("y",d.translateY).classed("bgsankey",true).style({fill:"transparent","stroke-width":0})}));sankey.transition().ease(c.ease).duration(c.duration).attr("transform",sankeyTransform);var sankeyLinks=sankey.selectAll("."+c.cn.sankeyLinks).data(repeat,keyFun);sankeyLinks.enter().append("g").classed(c.cn.sankeyLinks,true).style("fill","none");var sankeyLink=sankeyLinks.selectAll("."+c.cn.sankeyLink).data((function(d){var links=d.graph.links;return links.filter((function(l){return l.value})).map(linkModel.bind(null,d))}),keyFun);sankeyLink.enter().append("path").classed(c.cn.sankeyLink,true).call(attachPointerEvents,sankey,callbacks.linkEvents);sankeyLink.style("stroke",(function(d){return salientEnough(d)?Color.tinyRGB(tinycolor(d.linkLineColor)):d.tinyColorHue})).style("stroke-opacity",(function(d){return salientEnough(d)?Color.opacity(d.linkLineColor):d.tinyColorAlpha})).style("fill",(function(d){return d.tinyColorHue})).style("fill-opacity",(function(d){return d.tinyColorAlpha})).style("stroke-width",(function(d){return salientEnough(d)?d.linkLineWidth:1})).attr("d",linkPath());sankeyLink.style("opacity",(function(){return gd._context.staticPlot||firstRender||dragcover?1:0})).transition().ease(c.ease).duration(c.duration).style("opacity",1);sankeyLink.exit().transition().ease(c.ease).duration(c.duration).style("opacity",0).remove();var sankeyNodeSet=sankey.selectAll("."+c.cn.sankeyNodeSet).data(repeat,keyFun);sankeyNodeSet.enter().append("g").classed(c.cn.sankeyNodeSet,true);sankeyNodeSet.style("cursor",(function(d){switch(d.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}}));var sankeyNode=sankeyNodeSet.selectAll("."+c.cn.sankeyNode).data((function(d){var nodes=d.graph.nodes;persistOriginalPlace(nodes);return nodes.map(nodeModel.bind(null,d))}),keyFun);sankeyNode.enter().append("g").classed(c.cn.sankeyNode,true).call(updateNodePositions).style("opacity",(function(n){return(gd._context.staticPlot||firstRender)&&!n.partOfGroup?1:0}));sankeyNode.call(attachPointerEvents,sankey,callbacks.nodeEvents).call(attachDragHandler,sankeyLink,callbacks,gd);sankeyNode.transition().ease(c.ease).duration(c.duration).call(updateNodePositions).style("opacity",(function(n){return n.partOfGroup?0:1}));sankeyNode.exit().transition().ease(c.ease).duration(c.duration).style("opacity",0).remove();var nodeRect=sankeyNode.selectAll("."+c.cn.nodeRect).data(repeat);nodeRect.enter().append("rect").classed(c.cn.nodeRect,true).call(sizeNode);nodeRect.style("stroke-width",(function(d){return d.nodeLineWidth})).style("stroke",(function(d){return Color.tinyRGB(tinycolor(d.nodeLineColor))})).style("stroke-opacity",(function(d){return Color.opacity(d.nodeLineColor)})).style("fill",(function(d){return d.tinyColorHue})).style("fill-opacity",(function(d){return d.tinyColorAlpha}));nodeRect.transition().ease(c.ease).duration(c.duration).call(sizeNode);var nodeLabel=sankeyNode.selectAll("."+c.cn.nodeLabel).data(repeat);nodeLabel.enter().append("text").classed(c.cn.nodeLabel,true).style("cursor","default");nodeLabel.attr("data-notex",1).text((function(d){return d.node.label})).each((function(d){var e=d3.select(this);Drawing.font(e,d.textFont);svgTextUtils.convertToTspans(e,gd)})).style("text-shadow",svgTextUtils.makeTextShadow(gd._fullLayout.paper_bgcolor)).attr("text-anchor",(function(d){return d.horizontal&&d.left?"end":"start"})).attr("transform",(function(d){var e=d3.select(this);var nLines=svgTextUtils.lineCount(e);var blockHeight=d.textFont.size*((nLines-1)*LINE_SPACING-CAP_SHIFT);var posX=d.nodeLineWidth/2+TEXTPAD;var posY=((d.horizontal?d.visibleHeight:d.visibleWidth)-blockHeight)/2;if(d.horizontal){if(d.left){posX=-posX}else{posX+=d.visibleWidth}}var flipText=d.horizontal?"":"scale(-1,1)"+strRotate(90);return strTranslate(d.horizontal?posX:posY,d.horizontal?posY:posX)+flipText}));nodeLabel.transition().ease(c.ease).duration(c.duration)}},{"../../components/color":666,"../../components/drawing":688,"../../constants/alignment":771,"../../lib":803,"../../lib/gup":800,"../../lib/svg_text_utils":829,"../../registry":931,"./constants":1211,"@plotly/d3":58,"@plotly/d3-sankey":57,"@plotly/d3-sankey-circular":56,"d3-force":166,"d3-interpolate":171,tinycolor2:598}],1216:[function(_dereq_,module,exports){"use strict";module.exports=function selectPoints(searchInfo,selectionTester){var cd=searchInfo.cd;var selection=[];var fullData=cd[0].trace;var nodes=fullData._sankey.graph.nodes;for(var i=0;i<nodes.length;i++){var node=nodes[i];if(node.partOfGroup)continue;var pos=[(node.x0+node.x1)/2,(node.y0+node.y1)/2];if(fullData.orientation==="v")pos.reverse();if(selectionTester&&selectionTester.contains(pos,false,i,searchInfo)){selection.push({pointNumber:node.pointNumber})}}return selection}},{}],1217:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function arraysToCalcdata(cd,trace){for(var i=0;i<cd.length;i++)cd[i].i=i;Lib.mergeArray(trace.text,cd,"tx");Lib.mergeArray(trace.texttemplate,cd,"txt");Lib.mergeArray(trace.hovertext,cd,"htx");Lib.mergeArray(trace.customdata,cd,"data");Lib.mergeArray(trace.textposition,cd,"tp");if(trace.textfont){Lib.mergeArrayCastPositive(trace.textfont.size,cd,"ts");Lib.mergeArray(trace.textfont.color,cd,"tc");Lib.mergeArray(trace.textfont.family,cd,"tf")}var marker=trace.marker;if(marker){Lib.mergeArrayCastPositive(marker.size,cd,"ms");Lib.mergeArrayCastPositive(marker.opacity,cd,"mo");Lib.mergeArray(marker.symbol,cd,"mx");Lib.mergeArray(marker.color,cd,"mc");var markerLine=marker.line;if(marker.line){Lib.mergeArray(markerLine.color,cd,"mlc");Lib.mergeArrayCastPositive(markerLine.width,cd,"mlw")}var markerGradient=marker.gradient;if(markerGradient&&markerGradient.type!=="none"){Lib.mergeArray(markerGradient.type,cd,"mgt");Lib.mergeArray(markerGradient.color,cd,"mgc")}}}},{"../../lib":803}],1218:[function(_dereq_,module,exports){"use strict";var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var fontAttrs=_dereq_("../../plots/font_attributes");var dash=_dereq_("../../components/drawing/attributes").dash;var Drawing=_dereq_("../../components/drawing");var constants=_dereq_("./constants");var extendFlat=_dereq_("../../lib/extend").extendFlat;function axisPeriod(axis){return{valType:"any",dflt:0,editType:"calc"}}function axisPeriod0(axis){return{valType:"any",editType:"calc"}}function axisPeriodAlignment(axis){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"}}module.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:true},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:true},dx:{valType:"number",dflt:1,editType:"calc",anim:true},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:true},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:true},dy:{valType:"number",dflt:1,editType:"calc",anim:true},xperiod:axisPeriod("x"),yperiod:axisPeriod("y"),xperiod0:axisPeriod0("x0"),yperiod0:axisPeriod0("y0"),xperiodalignment:axisPeriodAlignment("x"),yperiodalignment:axisPeriodAlignment("y"),xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:true,editType:"calc"},texttemplate:texttemplateAttrs({},{}),hovertext:{valType:"string",dflt:"",arrayOk:true,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:hovertemplateAttrs({},{keys:constants.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:true},width:{valType:"number",min:0,dflt:2,editType:"style",anim:true},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:extendFlat({},dash,{editType:"style"}),simplify:{valType:"boolean",dflt:true,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:false,editType:"calc"},cliponaxis:{valType:"boolean",dflt:true,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:{valType:"color",editType:"style",anim:true},marker:extendFlat({symbol:{valType:"enumerated",values:Drawing.symbolList,dflt:"circle",arrayOk:true,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:true,editType:"style",anim:true},size:{valType:"number",min:0,dflt:6,arrayOk:true,editType:"calc",anim:true},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:extendFlat({width:{valType:"number",min:0,arrayOk:true,editType:"style",anim:true},editType:"calc"},colorScaleAttrs("marker.line",{anim:true})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:true,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:true,editType:"calc"},editType:"calc"},editType:"calc"},colorScaleAttrs("marker",{anim:true})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:true,editType:"calc"},textfont:fontAttrs({editType:"calc",colorEditType:"style",arrayOk:true})}},{"../../components/colorscale/attributes":673,"../../components/drawing":688,"../../components/drawing/attributes":687,"../../lib/extend":793,"../../plots/cartesian/axis_format_attributes":857,"../../plots/font_attributes":883,"../../plots/template_attributes":926,"./constants":1222}],1219:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var alignPeriod=_dereq_("../../plots/cartesian/align_period");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var subTypes=_dereq_("./subtypes");var calcColorscale=_dereq_("./colorscale_calc");var arraysToCalcdata=_dereq_("./arrays_to_calcdata");var calcSelection=_dereq_("./calc_selection");function calc(gd,trace){var fullLayout=gd._fullLayout;var xa=Axes.getFromId(gd,trace.xaxis||"x");var ya=Axes.getFromId(gd,trace.yaxis||"y");var origX=xa.makeCalcdata(trace,"x");var origY=ya.makeCalcdata(trace,"y");var xObj=alignPeriod(trace,xa,"x",origX);var yObj=alignPeriod(trace,ya,"y",origY);var x=xObj.vals;var y=yObj.vals;var serieslen=trace._length;var cd=new Array(serieslen);var ids=trace.ids;var stackGroupOpts=getStackOpts(trace,fullLayout,xa,ya);var interpolateGaps=false;var isV,i,j,k,interpolate,vali;setFirstScatter(fullLayout,trace);var xAttr="x";var yAttr="y";var posAttr;if(stackGroupOpts){Lib.pushUnique(stackGroupOpts.traceIndices,trace._expandedIndex);isV=stackGroupOpts.orientation==="v";if(isV){yAttr="s";posAttr="x"}else{xAttr="s";posAttr="y"}interpolate=stackGroupOpts.stackgaps==="interpolate"}else{var ppad=calcMarkerSize(trace,serieslen);calcAxisExpansion(gd,trace,xa,ya,x,y,ppad)}var hasPeriodX=!!trace.xperiodalignment;var hasPeriodY=!!trace.yperiodalignment;for(i=0;i<serieslen;i++){var cdi=cd[i]={};var xValid=isNumeric(x[i]);var yValid=isNumeric(y[i]);if(xValid&&yValid){cdi[xAttr]=x[i];cdi[yAttr]=y[i];if(hasPeriodX){cdi.orig_x=origX[i];cdi.xEnd=xObj.ends[i];cdi.xStart=xObj.starts[i]}if(hasPeriodY){cdi.orig_y=origY[i];cdi.yEnd=yObj.ends[i];cdi.yStart=yObj.starts[i]}}else if(stackGroupOpts&&(isV?xValid:yValid)){cdi[posAttr]=isV?x[i]:y[i];cdi.gap=true;if(interpolate){cdi.s=BADNUM;interpolateGaps=true}else{cdi.s=0}}else{cdi[xAttr]=cdi[yAttr]=BADNUM}if(ids){cdi.id=String(ids[i])}}arraysToCalcdata(cd,trace);calcColorscale(gd,trace);calcSelection(cd,trace);if(stackGroupOpts){i=0;while(i<cd.length){if(cd[i][posAttr]===BADNUM){cd.splice(i,1)}else i++}Lib.sort(cd,(function(a,b){return a[posAttr]-b[posAttr]||a.i-b.i}));if(interpolateGaps){i=0;while(i<cd.length-1&&cd[i].gap){i++}vali=cd[i].s;if(!vali)vali=cd[i].s=0;for(j=0;j<i;j++){cd[j].s=vali}k=cd.length-1;while(k>i&&cd[k].gap){k--}vali=cd[k].s;for(j=cd.length-1;j>k;j--){cd[j].s=vali}while(i<k){i++;if(cd[i].gap){j=i+1;while(cd[j].gap){j++}var pos0=cd[i-1][posAttr];var size0=cd[i-1].s;var m=(cd[j].s-size0)/(cd[j][posAttr]-pos0);while(i<j){cd[i].s=size0+(cd[i][posAttr]-pos0)*m;i++}}}}}return cd}function calcAxisExpansion(gd,trace,xa,ya,x,y,ppad){var serieslen=trace._length;var fullLayout=gd._fullLayout;var xId=xa._id;var yId=ya._id;var firstScatter=fullLayout._firstScatter[firstScatterGroup(trace)]===trace.uid;var stackOrientation=(getStackOpts(trace,fullLayout,xa,ya)||{}).orientation;var fill=trace.fill;xa._minDtick=0;ya._minDtick=0;var xOptions={padded:true};var yOptions={padded:true};if(ppad){xOptions.ppad=yOptions.ppad=ppad}var openEnded=serieslen<2||x[0]!==x[serieslen-1]||y[0]!==y[serieslen-1];if(openEnded&&(fill==="tozerox"||fill==="tonextx"&&(firstScatter||stackOrientation==="h"))){xOptions.tozero=true}else if(!(trace.error_y||{}).visible&&(fill==="tonexty"||fill==="tozeroy"||!subTypes.hasMarkers(trace)&&!subTypes.hasText(trace))){xOptions.padded=false;xOptions.ppad=0}if(openEnded&&(fill==="tozeroy"||fill==="tonexty"&&(firstScatter||stackOrientation==="v"))){yOptions.tozero=true}else if(fill==="tonextx"||fill==="tozerox"){yOptions.padded=false}if(xId)trace._extremes[xId]=Axes.findExtremes(xa,x,xOptions);if(yId)trace._extremes[yId]=Axes.findExtremes(ya,y,yOptions)}function calcMarkerSize(trace,serieslen){if(!subTypes.hasMarkers(trace))return;var marker=trace.marker;var sizeref=1.6*(trace.marker.sizeref||1);var markerTrans;if(trace.marker.sizemode==="area"){markerTrans=function(v){return Math.max(Math.sqrt((v||0)/sizeref),3)}}else{markerTrans=function(v){return Math.max((v||0)/sizeref,3)}}if(Lib.isArrayOrTypedArray(marker.size)){var ax={type:"linear"};Axes.setConvert(ax);var s=ax.makeCalcdata(trace.marker,"size");var sizeOut=new Array(serieslen);for(var i=0;i<serieslen;i++){sizeOut[i]=markerTrans(s[i])}return sizeOut}else{return markerTrans(marker.size)}}function setFirstScatter(fullLayout,trace){var group=firstScatterGroup(trace);var firstScatter=fullLayout._firstScatter;if(!firstScatter[group])firstScatter[group]=trace.uid}function firstScatterGroup(trace){var stackGroup=trace.stackgroup;return trace.xaxis+trace.yaxis+trace.type+(stackGroup?"-"+stackGroup:"")}function getStackOpts(trace,fullLayout,xa,ya){var stackGroup=trace.stackgroup;if(!stackGroup)return;var stackOpts=fullLayout._scatterStackOpts[xa._id+ya._id][stackGroup];var stackAx=stackOpts.orientation==="v"?ya:xa;if(stackAx.type==="linear"||stackAx.type==="log")return stackOpts}module.exports={calc:calc,calcMarkerSize:calcMarkerSize,calcAxisExpansion:calcAxisExpansion,setFirstScatter:setFirstScatter,getStackOpts:getStackOpts}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/align_period":851,"../../plots/cartesian/axes":854,"./arrays_to_calcdata":1217,"./calc_selection":1220,"./colorscale_calc":1221,"./subtypes":1243,"fast-isnumeric":249}],1220:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function calcSelection(cd,trace){if(Lib.isArrayOrTypedArray(trace.selectedpoints)){Lib.tagSelected(cd,trace)}}},{"../../lib":803}],1221:[function(_dereq_,module,exports){"use strict";var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var calcColorscale=_dereq_("../../components/colorscale/calc");var subTypes=_dereq_("./subtypes");module.exports=function calcMarkerColorscale(gd,trace){if(subTypes.hasLines(trace)&&hasColorscale(trace,"line")){calcColorscale(gd,trace,{vals:trace.line.color,containerStr:"line",cLetter:"c"})}if(subTypes.hasMarkers(trace)){if(hasColorscale(trace,"marker")){calcColorscale(gd,trace,{vals:trace.marker.color,containerStr:"marker",cLetter:"c"})}if(hasColorscale(trace,"marker.line")){calcColorscale(gd,trace,{vals:trace.marker.line.color,containerStr:"marker.line",cLetter:"c"})}}}},{"../../components/colorscale/calc":674,"../../components/colorscale/helpers":677,"./subtypes":1243}],1222:[function(_dereq_,module,exports){"use strict";module.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},{}],1223:[function(_dereq_,module,exports){"use strict";var calc=_dereq_("./calc");module.exports=function crossTraceCalc(gd,plotinfo){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var subplot=xa._id+ya._id;var subplotStackOpts=gd._fullLayout._scatterStackOpts[subplot];if(!subplotStackOpts)return;var calcTraces=gd.calcdata;var i,j,k,i2,cd,cd0,posj,sumj,norm;var groupOpts,interpolate,groupnorm,posAttr,valAttr;var hasAnyBlanks;for(var stackGroup in subplotStackOpts){groupOpts=subplotStackOpts[stackGroup];var indices=groupOpts.traceIndices;if(!indices.length)continue;interpolate=groupOpts.stackgaps==="interpolate";groupnorm=groupOpts.groupnorm;if(groupOpts.orientation==="v"){posAttr="x";valAttr="y"}else{posAttr="y";valAttr="x"}hasAnyBlanks=new Array(indices.length);for(i=0;i<hasAnyBlanks.length;i++){hasAnyBlanks[i]=false}cd0=calcTraces[indices[0]];var allPositions=new Array(cd0.length);for(i=0;i<cd0.length;i++){allPositions[i]=cd0[i][posAttr]}for(i=1;i<indices.length;i++){cd=calcTraces[indices[i]];for(j=k=0;j<cd.length;j++){posj=cd[j][posAttr];for(;posj>allPositions[k]&&k<allPositions.length;k++){insertBlank(cd,j,allPositions[k],i,hasAnyBlanks,interpolate,posAttr);j++}if(posj!==allPositions[k]){for(i2=0;i2<i;i2++){insertBlank(calcTraces[indices[i2]],k,posj,i2,hasAnyBlanks,interpolate,posAttr)}allPositions.splice(k,0,posj)}k++}for(;k<allPositions.length;k++){insertBlank(cd,j,allPositions[k],i,hasAnyBlanks,interpolate,posAttr);j++}}var serieslen=allPositions.length;for(j=0;j<cd0.length;j++){sumj=cd0[j][valAttr]=cd0[j].s;for(i=1;i<indices.length;i++){cd=calcTraces[indices[i]];cd[0].trace._rawLength=cd[0].trace._length;cd[0].trace._length=serieslen;sumj+=cd[j].s;cd[j][valAttr]=sumj}if(groupnorm){norm=(groupnorm==="fraction"?sumj:sumj/100)||1;for(i=0;i<indices.length;i++){var cdj=calcTraces[indices[i]][j];cdj[valAttr]/=norm;cdj.sNorm=cdj.s/norm}}}for(i=0;i<indices.length;i++){cd=calcTraces[indices[i]];var trace=cd[0].trace;var ppad=calc.calcMarkerSize(trace,trace._rawLength);var arrayPad=Array.isArray(ppad);if(ppad&&hasAnyBlanks[i]||arrayPad){var ppadRaw=ppad;ppad=new Array(serieslen);for(j=0;j<serieslen;j++){ppad[j]=cd[j].gap?0:arrayPad?ppadRaw[cd[j].i]:ppadRaw}}var x=new Array(serieslen);var y=new Array(serieslen);for(j=0;j<serieslen;j++){x[j]=cd[j].x;y[j]=cd[j].y}calc.calcAxisExpansion(gd,trace,xa,ya,x,y,ppad);cd[0].t.orientation=groupOpts.orientation}}};function insertBlank(calcTrace,index,position,traceIndex,hasAnyBlanks,interpolate,posAttr){hasAnyBlanks[traceIndex]=true;var newEntry={i:null,gap:true,s:0};newEntry[posAttr]=position;calcTrace.splice(index,0,newEntry);if(index&&position===calcTrace[index-1][posAttr]){var prevEntry=calcTrace[index-1];newEntry.s=prevEntry.s;newEntry.i=prevEntry.i;newEntry.gap=prevEntry.gap}else if(interpolate){newEntry.s=getInterp(calcTrace,index,position,posAttr)}if(!index){calcTrace[0].t=calcTrace[1].t;calcTrace[0].trace=calcTrace[1].trace;delete calcTrace[1].t;delete calcTrace[1].trace}}function getInterp(calcTrace,index,position,posAttr){var pt0=calcTrace[index-1];var pt1=calcTrace[index+1];if(!pt1)return pt0.s;if(!pt0)return pt1.s;return pt0.s+(pt1.s-pt0.s)*(position-pt0[posAttr])/(pt1[posAttr]-pt0[posAttr])}},{"./calc":1219}],1224:[function(_dereq_,module,exports){"use strict";module.exports=function crossTraceDefaults(fullData){for(var i=0;i<fullData.length;i++){var tracei=fullData[i];if(tracei.type!=="scatter")continue;var filli=tracei.fill;if(filli==="none"||filli==="toself")continue;tracei.opacity=undefined;if(filli==="tonexty"||filli==="tonextx"){for(var j=i-1;j>=0;j--){var tracej=fullData[j];if(tracej.type==="scatter"&&tracej.xaxis===tracei.xaxis&&tracej.yaxis===tracei.yaxis){tracej.opacity=undefined;break}}}}}},{}],1225:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var attributes=_dereq_("./attributes");var constants=_dereq_("./constants");var subTypes=_dereq_("./subtypes");var handleXYDefaults=_dereq_("./xy_defaults");var handlePeriodDefaults=_dereq_("./period_defaults");var handleStackDefaults=_dereq_("./stack_defaults");var handleMarkerDefaults=_dereq_("./marker_defaults");var handleLineDefaults=_dereq_("./line_defaults");var handleLineShapeDefaults=_dereq_("./line_shape_defaults");var handleTextDefaults=_dereq_("./text_defaults");var handleFillColorDefaults=_dereq_("./fillcolor_defaults");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleXYDefaults(traceIn,traceOut,layout,coerce);if(!len)traceOut.visible=false;if(!traceOut.visible)return;handlePeriodDefaults(traceIn,traceOut,layout,coerce);coerce("xhoverformat");coerce("yhoverformat");var stackGroupOpts=handleStackDefaults(traceIn,traceOut,layout,coerce);var defaultMode=!stackGroupOpts&&len<constants.PTS_LINESONLY?"lines+markers":"lines";coerce("text");coerce("hovertext");coerce("mode",defaultMode);if(subTypes.hasLines(traceOut)){handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);handleLineShapeDefaults(traceIn,traceOut,coerce);coerce("connectgaps");coerce("line.simplify")}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce,{gradient:true})}if(subTypes.hasText(traceOut)){coerce("texttemplate");handleTextDefaults(traceIn,traceOut,layout,coerce)}var dfltHoverOn=[];if(subTypes.hasMarkers(traceOut)||subTypes.hasText(traceOut)){coerce("cliponaxis");coerce("marker.maxdisplayed");dfltHoverOn.push("points")}coerce("fill",stackGroupOpts?stackGroupOpts.fillDflt:"none");if(traceOut.fill!=="none"){handleFillColorDefaults(traceIn,traceOut,defaultColor,coerce);if(!subTypes.hasLines(traceOut))handleLineShapeDefaults(traceIn,traceOut,coerce)}var lineColor=(traceOut.line||{}).color;var markerColor=(traceOut.marker||{}).color;if(traceOut.fill==="tonext"||traceOut.fill==="toself"){dfltHoverOn.push("fills")}coerce("hoveron",dfltHoverOn.join("+")||"points");if(traceOut.hoveron!=="fills")coerce("hovertemplate");var errorBarsSupplyDefaults=Registry.getComponentMethod("errorbars","supplyDefaults");errorBarsSupplyDefaults(traceIn,traceOut,lineColor||markerColor||defaultColor,{axis:"y"});errorBarsSupplyDefaults(traceIn,traceOut,lineColor||markerColor||defaultColor,{axis:"x",inherit:"y"});Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../lib":803,"../../registry":931,"./attributes":1218,"./constants":1222,"./fillcolor_defaults":1226,"./line_defaults":1231,"./line_shape_defaults":1233,"./marker_defaults":1237,"./period_defaults":1238,"./stack_defaults":1241,"./subtypes":1243,"./text_defaults":1244,"./xy_defaults":1245}],1226:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../components/color");var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;module.exports=function fillColorDefaults(traceIn,traceOut,defaultColor,coerce){var inheritColorFromMarker=false;if(traceOut.marker){var markerColor=traceOut.marker.color;var markerLineColor=(traceOut.marker.line||{}).color;if(markerColor&&!isArrayOrTypedArray(markerColor)){inheritColorFromMarker=markerColor}else if(markerLineColor&&!isArrayOrTypedArray(markerLineColor)){inheritColorFromMarker=markerLineColor}}coerce("fillcolor",Color.addOpacity((traceOut.line||{}).color||inheritColorFromMarker||defaultColor,.5))}},{"../../components/color":666,"../../lib":803}],1227:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");module.exports=function formatLabels(cdi,trace,fullLayout){var labels={};var mockGd={_fullLayout:fullLayout};var xa=Axes.getFromTrace(mockGd,trace,"x");var ya=Axes.getFromTrace(mockGd,trace,"y");labels.xLabel=Axes.tickText(xa,xa.c2l(cdi.x),true).text;labels.yLabel=Axes.tickText(ya,ya.c2l(cdi.y),true).text;return labels}},{"../../plots/cartesian/axes":854}],1228:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../components/color");var subtypes=_dereq_("./subtypes");module.exports=function getTraceColor(trace,di){var lc,tc;if(trace.mode==="lines"){lc=trace.line.color;return lc&&Color.opacity(lc)?lc:trace.fillcolor}else if(trace.mode==="none"){return trace.fill?trace.fillcolor:""}else{var mc=di.mcc||(trace.marker||{}).color;var mlc=di.mlcc||((trace.marker||{}).line||{}).color;tc=mc&&Color.opacity(mc)?mc:mlc&&Color.opacity(mlc)&&(di.mlw||((trace.marker||{}).line||{}).width)?mlc:"";if(tc){if(Color.opacity(tc)<.3){return Color.addOpacity(tc,.3)}else return tc}else{lc=(trace.line||{}).color;return lc&&Color.opacity(lc)&&subtypes.hasLines(trace)&&trace.line.width?lc:trace.fillcolor}}}},{"../../components/color":666,"./subtypes":1243}],1229:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Fx=_dereq_("../../components/fx");var Registry=_dereq_("../../registry");var getTraceColor=_dereq_("./get_trace_color");var Color=_dereq_("../../components/color");var fillText=Lib.fillText;module.exports=function hoverPoints(pointData,xval,yval,hovermode){var cd=pointData.cd;var trace=cd[0].trace;var xa=pointData.xa;var ya=pointData.ya;var xpx=xa.c2p(xval);var ypx=ya.c2p(yval);var pt=[xpx,ypx];var hoveron=trace.hoveron||"";var minRad=trace.mode.indexOf("markers")!==-1?3:.5;var xPeriod=!!trace.xperiodalignment;var yPeriod=!!trace.yperiodalignment;if(hoveron.indexOf("points")!==-1){var dx=function(di){if(xPeriod){var x0=xa.c2p(di.xStart);var x1=xa.c2p(di.xEnd);return xpx>=Math.min(x0,x1)&&xpx<=Math.max(x0,x1)?0:Infinity}var rad=Math.max(3,di.mrc||0);var kink=1-1/rad;var dxRaw=Math.abs(xa.c2p(di.x)-xpx);return dxRaw<rad?kink*dxRaw/rad:dxRaw-rad+kink};var dy=function(di){if(yPeriod){var y0=ya.c2p(di.yStart);var y1=ya.c2p(di.yEnd);return ypx>=Math.min(y0,y1)&&ypx<=Math.max(y0,y1)?0:Infinity}var rad=Math.max(3,di.mrc||0);var kink=1-1/rad;var dyRaw=Math.abs(ya.c2p(di.y)-ypx);return dyRaw<rad?kink*dyRaw/rad:dyRaw-rad+kink};var dxy=function(di){var rad=Math.max(minRad,di.mrc||0);var dx=xa.c2p(di.x)-xpx;var dy=ya.c2p(di.y)-ypx;return Math.max(Math.sqrt(dx*dx+dy*dy)-rad,1-minRad/rad)};var distfn=Fx.getDistanceFunction(hovermode,dx,dy,dxy);Fx.getClosest(cd,distfn,pointData);if(pointData.index!==false){var di=cd[pointData.index];var xc=xa.c2p(di.x,true);var yc=ya.c2p(di.y,true);var rad=di.mrc||1;pointData.index=di.i;var orientation=cd[0].t.orientation;var sizeVal=orientation&&(di.sNorm||di.s);var xLabelVal=orientation==="h"?sizeVal:di.orig_x!==undefined?di.orig_x:di.x;var yLabelVal=orientation==="v"?sizeVal:di.orig_y!==undefined?di.orig_y:di.y;Lib.extendFlat(pointData,{color:getTraceColor(trace,di),x0:xc-rad,x1:xc+rad,xLabelVal:xLabelVal,y0:yc-rad,y1:yc+rad,yLabelVal:yLabelVal,spikeDistance:dxy(di),hovertemplate:trace.hovertemplate});fillText(di,trace,pointData);Registry.getComponentMethod("errorbars","hoverInfo")(di,trace,pointData);return[pointData]}}if(hoveron.indexOf("fills")!==-1&&trace._polygons){var polygons=trace._polygons;var polygonsIn=[];var inside=false;var xmin=Infinity;var xmax=-Infinity;var ymin=Infinity;var ymax=-Infinity;var i,j,polygon,pts,xCross,x0,x1,y0,y1;for(i=0;i<polygons.length;i++){polygon=polygons[i];if(polygon.contains(pt)){inside=!inside;polygonsIn.push(polygon);ymin=Math.min(ymin,polygon.ymin);ymax=Math.max(ymax,polygon.ymax)}}if(inside){ymin=Math.max(ymin,0);ymax=Math.min(ymax,ya._length);var yAvg=(ymin+ymax)/2;for(i=0;i<polygonsIn.length;i++){pts=polygonsIn[i].pts;for(j=1;j<pts.length;j++){y0=pts[j-1][1];y1=pts[j][1];if(y0>yAvg!==y1>=yAvg){x0=pts[j-1][0];x1=pts[j][0];if(y1-y0){xCross=x0+(x1-x0)*(yAvg-y0)/(y1-y0);xmin=Math.min(xmin,xCross);xmax=Math.max(xmax,xCross)}}}}xmin=Math.max(xmin,0);xmax=Math.min(xmax,xa._length);var color=Color.defaultLine;if(Color.opacity(trace.fillcolor))color=trace.fillcolor;else if(Color.opacity((trace.line||{}).color)){color=trace.line.color}Lib.extendFlat(pointData,{distance:pointData.maxHoverDistance,x0:xmin,x1:xmax,y0:yAvg,y1:yAvg,color:color,hovertemplate:false});delete pointData.index;if(trace.text&&!Array.isArray(trace.text)){pointData.text=String(trace.text)}else pointData.text=trace.name;return[pointData]}}}},{"../../components/color":666,"../../components/fx":706,"../../lib":803,"../../registry":931,"./get_trace_color":1228}],1230:[function(_dereq_,module,exports){"use strict";var subtypes=_dereq_("./subtypes");module.exports={hasLines:subtypes.hasLines,hasMarkers:subtypes.hasMarkers,hasText:subtypes.hasText,isBubble:subtypes.isBubble,attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),crossTraceDefaults:_dereq_("./cross_trace_defaults"),calc:_dereq_("./calc").calc,crossTraceCalc:_dereq_("./cross_trace_calc"),arraysToCalcdata:_dereq_("./arrays_to_calcdata"),plot:_dereq_("./plot"),colorbar:_dereq_("./marker_colorbar"),formatLabels:_dereq_("./format_labels"),style:_dereq_("./style").style,styleOnSelect:_dereq_("./style").styleOnSelect,hoverPoints:_dereq_("./hover"),selectPoints:_dereq_("./select"),animatable:true,moduleType:"trace",name:"scatter",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":868,"./arrays_to_calcdata":1217,"./attributes":1218,"./calc":1219,"./cross_trace_calc":1223,"./cross_trace_defaults":1224,"./defaults":1225,"./format_labels":1227,"./hover":1229,"./marker_colorbar":1236,"./plot":1239,"./select":1240,"./style":1242,"./subtypes":1243}],1231:[function(_dereq_,module,exports){"use strict";var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");module.exports=function lineDefaults(traceIn,traceOut,defaultColor,layout,coerce,opts){var markerColor=(traceIn.marker||{}).color;coerce("line.color",defaultColor);if(hasColorscale(traceIn,"line")){colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"line.",cLetter:"c"})}else{var lineColorDflt=(isArrayOrTypedArray(markerColor)?false:markerColor)||defaultColor;coerce("line.color",lineColorDflt)}coerce("line.width");if(!(opts||{}).noDash)coerce("line.dash")}},{"../../components/colorscale/defaults":676,"../../components/colorscale/helpers":677,"../../lib":803}],1232:[function(_dereq_,module,exports){"use strict";var numConstants=_dereq_("../../constants/numerical");var BADNUM=numConstants.BADNUM;var LOG_CLIP=numConstants.LOG_CLIP;var LOG_CLIP_PLUS=LOG_CLIP+.5;var LOG_CLIP_MINUS=LOG_CLIP-.5;var Lib=_dereq_("../../lib");var segmentsIntersect=Lib.segmentsIntersect;var constrain=Lib.constrain;var constants=_dereq_("./constants");module.exports=function linePoints(d,opts){var xa=opts.xaxis;var ya=opts.yaxis;var xLog=xa.type==="log";var yLog=ya.type==="log";var xLen=xa._length;var yLen=ya._length;var connectGaps=opts.connectGaps;var baseTolerance=opts.baseTolerance;var shape=opts.shape;var linear=shape==="linear";var fill=opts.fill&&opts.fill!=="none";var segments=[];var minTolerance=constants.minTolerance;var len=d.length;var pts=new Array(len);var pti=0;var i;var clusterStartPt,clusterEndPt,clusterHighPt,clusterLowPt;var thisPt;var clusterHighFirst;var clusterUnitVector;var thisVector;var clusterRefDist,clusterHighVal,clusterLowVal,thisVal;var clusterMinDeviation,clusterMaxDeviation,thisDeviation;function getPt(index){var di=d[index];if(!di)return false;var x=opts.linearized?xa.l2p(di.x):xa.c2p(di.x);var y=opts.linearized?ya.l2p(di.y):ya.c2p(di.y);if(x===BADNUM){if(xLog)x=xa.c2p(di.x,true);if(x===BADNUM)return false;if(yLog&&y===BADNUM){x*=Math.abs(xa._m*yLen*(xa._m>0?LOG_CLIP_PLUS:LOG_CLIP_MINUS)/(ya._m*xLen*(ya._m>0?LOG_CLIP_PLUS:LOG_CLIP_MINUS)))}x*=1e3}if(y===BADNUM){if(yLog)y=ya.c2p(di.y,true);if(y===BADNUM)return false;y*=1e3}return[x,y]}function crossesViewport(xFrac0,yFrac0,xFrac1,yFrac1){var dx=xFrac1-xFrac0;var dy=yFrac1-yFrac0;var dx0=.5-xFrac0;var dy0=.5-yFrac0;var norm2=dx*dx+dy*dy;var dot=dx*dx0+dy*dy0;if(dot>0&&dot<norm2){var cross=dx0*dy-dy0*dx;if(cross*cross<norm2)return true}}var latestXFrac,latestYFrac;function getTolerance(pt,nextPt){var xFrac=pt[0]/xLen;var yFrac=pt[1]/yLen;var offScreenFraction=Math.max(0,-xFrac,xFrac-1,-yFrac,yFrac-1);if(offScreenFraction&&latestXFrac!==undefined&&crossesViewport(xFrac,yFrac,latestXFrac,latestYFrac)){offScreenFraction=0}if(offScreenFraction&&nextPt&&crossesViewport(xFrac,yFrac,nextPt[0]/xLen,nextPt[1]/yLen)){offScreenFraction=0}return(1+constants.toleranceGrowth*offScreenFraction)*baseTolerance}function ptDist(pt1,pt2){var dx=pt1[0]-pt2[0];var dy=pt1[1]-pt2[1];return Math.sqrt(dx*dx+dy*dy)}var maxScreensAway=constants.maxScreensAway;var xEdge0=-xLen*maxScreensAway;var xEdge1=xLen*(1+maxScreensAway);var yEdge0=-yLen*maxScreensAway;var yEdge1=yLen*(1+maxScreensAway);var edges=[[xEdge0,yEdge0,xEdge1,yEdge0],[xEdge1,yEdge0,xEdge1,yEdge1],[xEdge1,yEdge1,xEdge0,yEdge1],[xEdge0,yEdge1,xEdge0,yEdge0]];var xEdge,yEdge,lastXEdge,lastYEdge,lastFarPt,edgePt;function getLinearEdgeIntersections(pt1,pt2){var out=[];var ptCount=0;for(var i=0;i<4;i++){var edge=edges[i];var ptInt=segmentsIntersect(pt1[0],pt1[1],pt2[0],pt2[1],edge[0],edge[1],edge[2],edge[3]);if(ptInt&&(!ptCount||Math.abs(ptInt.x-out[0][0])>1||Math.abs(ptInt.y-out[0][1])>1)){ptInt=[ptInt.x,ptInt.y];if(ptCount&&ptDist(ptInt,pt1)<ptDist(out[0],pt1))out.unshift(ptInt);else out.push(ptInt);ptCount++}}return out}function onlyConstrainedPoint(pt){if(pt[0]<xEdge0||pt[0]>xEdge1||pt[1]<yEdge0||pt[1]>yEdge1){return[constrain(pt[0],xEdge0,xEdge1),constrain(pt[1],yEdge0,yEdge1)]}}function sameEdge(pt1,pt2){if(pt1[0]===pt2[0]&&(pt1[0]===xEdge0||pt1[0]===xEdge1))return true;if(pt1[1]===pt2[1]&&(pt1[1]===yEdge0||pt1[1]===yEdge1))return true}function getHVEdgeIntersections(pt1,pt2){var out=[];var ptInt1=onlyConstrainedPoint(pt1);var ptInt2=onlyConstrainedPoint(pt2);if(ptInt1&&ptInt2&&sameEdge(ptInt1,ptInt2))return out;if(ptInt1)out.push(ptInt1);if(ptInt2)out.push(ptInt2);return out}function getABAEdgeIntersections(dim,limit0,limit1){return function(pt1,pt2){var ptInt1=onlyConstrainedPoint(pt1);var ptInt2=onlyConstrainedPoint(pt2);var out=[];if(ptInt1&&ptInt2&&sameEdge(ptInt1,ptInt2))return out;if(ptInt1)out.push(ptInt1);if(ptInt2)out.push(ptInt2);var midShift=2*Lib.constrain((pt1[dim]+pt2[dim])/2,limit0,limit1)-((ptInt1||pt1)[dim]+(ptInt2||pt2)[dim]);if(midShift){var ptToAlter;if(ptInt1&&ptInt2){ptToAlter=midShift>0===ptInt1[dim]>ptInt2[dim]?ptInt1:ptInt2}else ptToAlter=ptInt1||ptInt2;ptToAlter[dim]+=midShift}return out}}var getEdgeIntersections;if(shape==="linear"||shape==="spline"){getEdgeIntersections=getLinearEdgeIntersections}else if(shape==="hv"||shape==="vh"){getEdgeIntersections=getHVEdgeIntersections}else if(shape==="hvh")getEdgeIntersections=getABAEdgeIntersections(0,xEdge0,xEdge1);else if(shape==="vhv")getEdgeIntersections=getABAEdgeIntersections(1,yEdge0,yEdge1);function getClosestCorner(pt1,pt2){var dx=pt2[0]-pt1[0];var m=(pt2[1]-pt1[1])/dx;var b=(pt1[1]*pt2[0]-pt2[1]*pt1[0])/dx;if(b>0)return[m>0?xEdge0:xEdge1,yEdge1];else return[m>0?xEdge1:xEdge0,yEdge0]}function updateEdge(pt){var x=pt[0];var y=pt[1];var xSame=x===pts[pti-1][0];var ySame=y===pts[pti-1][1];if(xSame&&ySame)return;if(pti>1){var xSame2=x===pts[pti-2][0];var ySame2=y===pts[pti-2][1];if(xSame&&(x===xEdge0||x===xEdge1)&&xSame2){if(ySame2)pti--;else pts[pti-1]=pt}else if(ySame&&(y===yEdge0||y===yEdge1)&&ySame2){if(xSame2)pti--;else pts[pti-1]=pt}else pts[pti++]=pt}else pts[pti++]=pt}function updateEdgesForReentry(pt){if(pts[pti-1][0]!==pt[0]&&pts[pti-1][1]!==pt[1]){updateEdge([lastXEdge,lastYEdge])}updateEdge(pt);lastFarPt=null;lastXEdge=lastYEdge=0}function addPt(pt){latestXFrac=pt[0]/xLen;latestYFrac=pt[1]/yLen;xEdge=pt[0]<xEdge0?xEdge0:pt[0]>xEdge1?xEdge1:0;yEdge=pt[1]<yEdge0?yEdge0:pt[1]>yEdge1?yEdge1:0;if(xEdge||yEdge){if(!pti){pts[pti++]=[xEdge||pt[0],yEdge||pt[1]]}else if(lastFarPt){var intersections=getEdgeIntersections(lastFarPt,pt);if(intersections.length>1){updateEdgesForReentry(intersections[0]);pts[pti++]=intersections[1]}}else{edgePt=getEdgeIntersections(pts[pti-1],pt)[0];pts[pti++]=edgePt}var lastPt=pts[pti-1];if(xEdge&&yEdge&&(lastPt[0]!==xEdge||lastPt[1]!==yEdge)){if(lastFarPt){if(lastXEdge!==xEdge&&lastYEdge!==yEdge){if(lastXEdge&&lastYEdge){updateEdge(getClosestCorner(lastFarPt,pt))}else{updateEdge([lastXEdge||xEdge,lastYEdge||yEdge])}}else if(lastXEdge&&lastYEdge){updateEdge([lastXEdge,lastYEdge])}}updateEdge([xEdge,yEdge])}else if(lastXEdge-xEdge&&lastYEdge-yEdge){updateEdge([xEdge||lastXEdge,yEdge||lastYEdge])}lastFarPt=pt;lastXEdge=xEdge;lastYEdge=yEdge}else{if(lastFarPt){updateEdgesForReentry(getEdgeIntersections(lastFarPt,pt)[0])}pts[pti++]=pt}}for(i=0;i<len;i++){clusterStartPt=getPt(i);if(!clusterStartPt)continue;pti=0;lastFarPt=null;addPt(clusterStartPt);for(i++;i<len;i++){clusterHighPt=getPt(i);if(!clusterHighPt){if(connectGaps)continue;else break}if(!linear||!opts.simplify){addPt(clusterHighPt);continue}var nextPt=getPt(i+1);clusterRefDist=ptDist(clusterHighPt,clusterStartPt);if(!(fill&&(pti===0||pti===len-1))&&clusterRefDist<getTolerance(clusterHighPt,nextPt)*minTolerance)continue;clusterUnitVector=[(clusterHighPt[0]-clusterStartPt[0])/clusterRefDist,(clusterHighPt[1]-clusterStartPt[1])/clusterRefDist];clusterLowPt=clusterStartPt;clusterHighVal=clusterRefDist;clusterLowVal=clusterMinDeviation=clusterMaxDeviation=0;clusterHighFirst=false;clusterEndPt=clusterHighPt;for(i++;i<d.length;i++){thisPt=nextPt;nextPt=getPt(i+1);if(!thisPt){if(connectGaps)continue;else break}thisVector=[thisPt[0]-clusterStartPt[0],thisPt[1]-clusterStartPt[1]];thisDeviation=thisVector[0]*clusterUnitVector[1]-thisVector[1]*clusterUnitVector[0];clusterMinDeviation=Math.min(clusterMinDeviation,thisDeviation);clusterMaxDeviation=Math.max(clusterMaxDeviation,thisDeviation);if(clusterMaxDeviation-clusterMinDeviation>getTolerance(thisPt,nextPt))break;clusterEndPt=thisPt;thisVal=thisVector[0]*clusterUnitVector[0]+thisVector[1]*clusterUnitVector[1];if(thisVal>clusterHighVal){clusterHighVal=thisVal;clusterHighPt=thisPt;clusterHighFirst=false}else if(thisVal<clusterLowVal){clusterLowVal=thisVal;clusterLowPt=thisPt;clusterHighFirst=true}}if(clusterHighFirst){addPt(clusterHighPt);if(clusterEndPt!==clusterLowPt)addPt(clusterLowPt)}else{if(clusterLowPt!==clusterStartPt)addPt(clusterLowPt);if(clusterEndPt!==clusterHighPt)addPt(clusterHighPt)}addPt(clusterEndPt);if(i>=d.length||!thisPt)break;addPt(thisPt);clusterStartPt=thisPt}if(lastFarPt)updateEdge([lastXEdge||lastFarPt[0],lastYEdge||lastFarPt[1]]);segments.push(pts.slice(0,pti))}return segments}},{"../../constants/numerical":779,"../../lib":803,"./constants":1222}],1233:[function(_dereq_,module,exports){"use strict";module.exports=function handleLineShapeDefaults(traceIn,traceOut,coerce){var shape=coerce("line.shape");if(shape==="spline")coerce("line.smoothing")}},{}],1234:[function(_dereq_,module,exports){"use strict";var LINKEDFILLS={tonextx:1,tonexty:1,tonext:1};module.exports=function linkTraces(gd,plotinfo,cdscatter){var trace,i,group,prevtrace,groupIndex;var groupIndices={};var needsSort=false;var prevGroupIndex=-1;var nextGroupIndex=0;var prevUnstackedGroupIndex=-1;for(i=0;i<cdscatter.length;i++){trace=cdscatter[i][0].trace;group=trace.stackgroup||"";if(group){if(group in groupIndices){groupIndex=groupIndices[group]}else{groupIndex=groupIndices[group]=nextGroupIndex;nextGroupIndex++}}else if(trace.fill in LINKEDFILLS&&prevUnstackedGroupIndex>=0){groupIndex=prevUnstackedGroupIndex}else{groupIndex=prevUnstackedGroupIndex=nextGroupIndex;nextGroupIndex++}if(groupIndex<prevGroupIndex)needsSort=true;trace._groupIndex=prevGroupIndex=groupIndex}var cdscatterSorted=cdscatter.slice();if(needsSort){cdscatterSorted.sort((function(a,b){var traceA=a[0].trace;var traceB=b[0].trace;return traceA._groupIndex-traceB._groupIndex||traceA.index-traceB.index}))}var prevtraces={};for(i=0;i<cdscatterSorted.length;i++){trace=cdscatterSorted[i][0].trace;group=trace.stackgroup||"";if(trace.visible===true){trace._nexttrace=null;if(trace.fill in LINKEDFILLS){prevtrace=prevtraces[group];trace._prevtrace=prevtrace||null;if(prevtrace){prevtrace._nexttrace=trace}}trace._ownfill=trace.fill&&(trace.fill.substr(0,6)==="tozero"||trace.fill==="toself"||trace.fill.substr(0,2)==="to"&&!trace._prevtrace);prevtraces[group]=trace}else{trace._prevtrace=trace._nexttrace=trace._ownfill=null}}return cdscatterSorted}},{}],1235:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");module.exports=function makeBubbleSizeFn(trace,factor){if(!factor){factor=2}var marker=trace.marker;var sizeRef=marker.sizeref||1;var sizeMin=marker.sizemin||0;var baseFn=marker.sizemode==="area"?function(v){return Math.sqrt(v/sizeRef)}:function(v){return v/sizeRef};return function(v){var baseSize=baseFn(v/factor);return isNumeric(baseSize)&&baseSize>0?Math.max(baseSize,sizeMin):0}}},{"fast-isnumeric":249}],1236:[function(_dereq_,module,exports){"use strict";module.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1237:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../components/color");var hasColorscale=_dereq_("../../components/colorscale/helpers").hasColorscale;var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var subTypes=_dereq_("./subtypes");module.exports=function markerDefaults(traceIn,traceOut,defaultColor,layout,coerce,opts){var isBubble=subTypes.isBubble(traceIn);var lineColor=(traceIn.line||{}).color;var defaultMLC;opts=opts||{};if(lineColor)defaultColor=lineColor;coerce("marker.symbol");coerce("marker.opacity",isBubble?.7:1);coerce("marker.size");coerce("marker.color",defaultColor);if(hasColorscale(traceIn,"marker")){colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"marker.",cLetter:"c"})}if(!opts.noSelect){coerce("selected.marker.color");coerce("unselected.marker.color");coerce("selected.marker.size");coerce("unselected.marker.size")}if(!opts.noLine){if(lineColor&&!Array.isArray(lineColor)&&traceOut.marker.color!==lineColor){defaultMLC=lineColor}else if(isBubble)defaultMLC=Color.background;else defaultMLC=Color.defaultLine;coerce("marker.line.color",defaultMLC);if(hasColorscale(traceIn,"marker.line")){colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"marker.line.",cLetter:"c"})}coerce("marker.line.width",isBubble?1:0)}if(isBubble){coerce("marker.sizeref");coerce("marker.sizemin");coerce("marker.sizemode")}if(opts.gradient){var gradientType=coerce("marker.gradient.type");if(gradientType!=="none"){coerce("marker.gradient.color")}}}},{"../../components/color":666,"../../components/colorscale/defaults":676,"../../components/colorscale/helpers":677,"./subtypes":1243}],1238:[function(_dereq_,module,exports){"use strict";var dateTick0=_dereq_("../../lib").dateTick0;var numConstants=_dereq_("../../constants/numerical");var ONEWEEK=numConstants.ONEWEEK;function getPeriod0Dflt(period,calendar){if(period%ONEWEEK===0){return dateTick0(calendar,1)}return dateTick0(calendar,0)}module.exports=function handlePeriodDefaults(traceIn,traceOut,layout,coerce,opts){if(!opts){opts={x:true,y:true}}if(opts.x){var xperiod=coerce("xperiod");if(xperiod){coerce("xperiod0",getPeriod0Dflt(xperiod,traceOut.xcalendar));coerce("xperiodalignment")}}if(opts.y){var yperiod=coerce("yperiod");if(yperiod){coerce("yperiod0",getPeriod0Dflt(yperiod,traceOut.ycalendar));coerce("yperiodalignment")}}}},{"../../constants/numerical":779,"../../lib":803}],1239:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var ensureSingle=Lib.ensureSingle;var identity=Lib.identity;var Drawing=_dereq_("../../components/drawing");var subTypes=_dereq_("./subtypes");var linePoints=_dereq_("./line_points");var linkTraces=_dereq_("./link_traces");var polygonTester=_dereq_("../../lib/polygon").tester;module.exports=function plot(gd,plotinfo,cdscatter,scatterLayer,transitionOpts,makeOnCompleteCallback){var join,onComplete;var isFullReplot=!transitionOpts;var hasTransition=!!transitionOpts&&transitionOpts.duration>0;var cdscatterSorted=linkTraces(gd,plotinfo,cdscatter);join=scatterLayer.selectAll("g.trace").data(cdscatterSorted,(function(d){return d[0].trace.uid}));join.enter().append("g").attr("class",(function(d){return"trace scatter trace"+d[0].trace.uid})).style("stroke-miterlimit",2);join.order();createFills(gd,join,plotinfo);if(hasTransition){if(makeOnCompleteCallback){onComplete=makeOnCompleteCallback()}var transition=d3.transition().duration(transitionOpts.duration).ease(transitionOpts.easing).each("end",(function(){onComplete&&onComplete()})).each("interrupt",(function(){onComplete&&onComplete()}));transition.each((function(){scatterLayer.selectAll("g.trace").each((function(d,i){plotOne(gd,i,plotinfo,d,cdscatterSorted,this,transitionOpts)}))}))}else{join.each((function(d,i){plotOne(gd,i,plotinfo,d,cdscatterSorted,this,transitionOpts)}))}if(isFullReplot){join.exit().remove()}scatterLayer.selectAll("path:not([d])").remove()};function createFills(gd,traceJoin,plotinfo){traceJoin.each((function(d){var fills=ensureSingle(d3.select(this),"g","fills");Drawing.setClipUrl(fills,plotinfo.layerClipId,gd);var trace=d[0].trace;var fillData=[];if(trace._ownfill)fillData.push("_ownFill");if(trace._nexttrace)fillData.push("_nextFill");var fillJoin=fills.selectAll("g").data(fillData,identity);fillJoin.enter().append("g");fillJoin.exit().each((function(d){trace[d]=null})).remove();fillJoin.order().each((function(d){trace[d]=ensureSingle(d3.select(this),"path","js-fill")}))}))}function plotOne(gd,idx,plotinfo,cdscatter,cdscatterAll,element,transitionOpts){var i;selectMarkers(gd,idx,plotinfo,cdscatter,cdscatterAll);var hasTransition=!!transitionOpts&&transitionOpts.duration>0;function transition(selection){return hasTransition?selection.transition():selection}var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var trace=cdscatter[0].trace;var line=trace.line;var tr=d3.select(element);var errorBarGroup=ensureSingle(tr,"g","errorbars");var lines=ensureSingle(tr,"g","lines");var points=ensureSingle(tr,"g","points");var text=ensureSingle(tr,"g","text");Registry.getComponentMethod("errorbars","plot")(gd,errorBarGroup,plotinfo,transitionOpts);if(trace.visible!==true)return;transition(tr).style("opacity",trace.opacity);var ownFillEl3,tonext;var ownFillDir=trace.fill.charAt(trace.fill.length-1);if(ownFillDir!=="x"&&ownFillDir!=="y")ownFillDir="";cdscatter[0][plotinfo.isRangePlot?"nodeRangePlot3":"node3"]=tr;var prevRevpath="";var prevPolygons=[];var prevtrace=trace._prevtrace;if(prevtrace){prevRevpath=prevtrace._prevRevpath||"";tonext=prevtrace._nextFill;prevPolygons=prevtrace._polygons}var thispath;var thisrevpath;var fullpath="";var revpath="";var pathfn,revpathbase,revpathfn;var pt0,lastSegment,pt1,thisPolygons;var segments=[];var makeUpdate=Lib.noop;ownFillEl3=trace._ownFill;if(subTypes.hasLines(trace)||trace.fill!=="none"){if(tonext){tonext.datum(cdscatter)}if(["hv","vh","hvh","vhv"].indexOf(line.shape)!==-1){pathfn=Drawing.steps(line.shape);revpathbase=Drawing.steps(line.shape.split("").reverse().join(""))}else if(line.shape==="spline"){pathfn=revpathbase=function(pts){var pLast=pts[pts.length-1];if(pts.length>1&&pts[0][0]===pLast[0]&&pts[0][1]===pLast[1]){return Drawing.smoothclosed(pts.slice(1),line.smoothing)}else{return Drawing.smoothopen(pts,line.smoothing)}}}else{pathfn=revpathbase=function(pts){return"M"+pts.join("L")}}revpathfn=function(pts){return revpathbase(pts.reverse())};segments=linePoints(cdscatter,{xaxis:xa,yaxis:ya,connectGaps:trace.connectgaps,baseTolerance:Math.max(line.width||1,3)/4,shape:line.shape,simplify:line.simplify,fill:trace.fill});thisPolygons=trace._polygons=new Array(segments.length);for(i=0;i<segments.length;i++){trace._polygons[i]=polygonTester(segments[i])}if(segments.length){pt0=segments[0][0];lastSegment=segments[segments.length-1];pt1=lastSegment[lastSegment.length-1]}makeUpdate=function(isEnter){return function(pts){thispath=pathfn(pts);thisrevpath=revpathfn(pts);if(!fullpath){fullpath=thispath;revpath=thisrevpath}else if(ownFillDir){fullpath+="L"+thispath.substr(1);revpath=thisrevpath+("L"+revpath.substr(1))}else{fullpath+="Z"+thispath;revpath=thisrevpath+"Z"+revpath}if(subTypes.hasLines(trace)&&pts.length>1){var el=d3.select(this);el.datum(cdscatter);if(isEnter){transition(el.style("opacity",0).attr("d",thispath).call(Drawing.lineGroupStyle)).style("opacity",1)}else{var sel=transition(el);sel.attr("d",thispath);Drawing.singleLineStyle(cdscatter,sel)}}}}}var lineJoin=lines.selectAll(".js-line").data(segments);transition(lineJoin.exit()).style("opacity",0).remove();lineJoin.each(makeUpdate(false));lineJoin.enter().append("path").classed("js-line",true).style("vector-effect","non-scaling-stroke").call(Drawing.lineGroupStyle).each(makeUpdate(true));Drawing.setClipUrl(lineJoin,plotinfo.layerClipId,gd);function clearFill(selection){transition(selection).attr("d","M0,0Z")}if(segments.length){if(ownFillEl3){ownFillEl3.datum(cdscatter);if(pt0&&pt1){if(ownFillDir){if(ownFillDir==="y"){pt0[1]=pt1[1]=ya.c2p(0,true)}else if(ownFillDir==="x"){pt0[0]=pt1[0]=xa.c2p(0,true)}transition(ownFillEl3).attr("d","M"+pt1+"L"+pt0+"L"+fullpath.substr(1)).call(Drawing.singleFillStyle)}else{transition(ownFillEl3).attr("d",fullpath+"Z").call(Drawing.singleFillStyle)}}}else if(tonext){if(trace.fill.substr(0,6)==="tonext"&&fullpath&&prevRevpath){if(trace.fill==="tonext"){transition(tonext).attr("d",fullpath+"Z"+prevRevpath+"Z").call(Drawing.singleFillStyle)}else{transition(tonext).attr("d",fullpath+"L"+prevRevpath.substr(1)+"Z").call(Drawing.singleFillStyle)}trace._polygons=trace._polygons.concat(prevPolygons)}else{clearFill(tonext);trace._polygons=null}}trace._prevRevpath=revpath;trace._prevPolygons=thisPolygons}else{if(ownFillEl3)clearFill(ownFillEl3);else if(tonext)clearFill(tonext);trace._polygons=trace._prevRevpath=trace._prevPolygons=null}function visFilter(d){return d.filter((function(v){return!v.gap&&v.vis}))}function visFilterWithGaps(d){return d.filter((function(v){return v.vis}))}function gapFilter(d){return d.filter((function(v){return!v.gap}))}function keyFunc(d){return d.id}function getKeyFunc(trace){if(trace.ids){return keyFunc}}function hideFilter(){return false}function makePoints(points,text,cdscatter){var join,selection,hasNode;var trace=cdscatter[0].trace;var showMarkers=subTypes.hasMarkers(trace);var showText=subTypes.hasText(trace);var keyFunc=getKeyFunc(trace);var markerFilter=hideFilter;var textFilter=hideFilter;if(showMarkers||showText){var showFilter=identity;var stackGroup=trace.stackgroup;var isInferZero=stackGroup&&gd._fullLayout._scatterStackOpts[xa._id+ya._id][stackGroup].stackgaps==="infer zero";if(trace.marker.maxdisplayed||trace._needsCull){showFilter=isInferZero?visFilterWithGaps:visFilter}else if(stackGroup&&!isInferZero){showFilter=gapFilter}if(showMarkers)markerFilter=showFilter;if(showText)textFilter=showFilter}selection=points.selectAll("path.point");join=selection.data(markerFilter,keyFunc);var enter=join.enter().append("path").classed("point",true);if(hasTransition){enter.call(Drawing.pointStyle,trace,gd).call(Drawing.translatePoints,xa,ya).style("opacity",0).transition().style("opacity",1)}join.order();var styleFns;if(showMarkers){styleFns=Drawing.makePointStyleFns(trace)}join.each((function(d){var el=d3.select(this);var sel=transition(el);hasNode=Drawing.translatePoint(d,sel,xa,ya);if(hasNode){Drawing.singlePointStyle(d,sel,trace,styleFns,gd);if(plotinfo.layerClipId){Drawing.hideOutsideRangePoint(d,sel,xa,ya,trace.xcalendar,trace.ycalendar)}if(trace.customdata){el.classed("plotly-customdata",d.data!==null&&d.data!==undefined)}}else{sel.remove()}}));if(hasTransition){join.exit().transition().style("opacity",0).remove()}else{join.exit().remove()}selection=text.selectAll("g");join=selection.data(textFilter,keyFunc);join.enter().append("g").classed("textpoint",true).append("text");join.order();join.each((function(d){var g=d3.select(this);var sel=transition(g.select("text"));hasNode=Drawing.translatePoint(d,sel,xa,ya);if(hasNode){if(plotinfo.layerClipId){Drawing.hideOutsideRangePoint(d,g,xa,ya,trace.xcalendar,trace.ycalendar)}}else{g.remove()}}));join.selectAll("text").call(Drawing.textPointStyle,trace,gd).each((function(d){var x=xa.c2p(d.x);var y=ya.c2p(d.y);d3.select(this).selectAll("tspan.line").each((function(){transition(d3.select(this)).attr({x:x,y:y})}))}));join.exit().remove()}points.datum(cdscatter);text.datum(cdscatter);makePoints(points,text,cdscatter);var hasClipOnAxisFalse=trace.cliponaxis===false;var clipUrl=hasClipOnAxisFalse?null:plotinfo.layerClipId;Drawing.setClipUrl(points,clipUrl,gd);Drawing.setClipUrl(text,clipUrl,gd)}function selectMarkers(gd,idx,plotinfo,cdscatter,cdscatterAll){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var xr=d3.extent(Lib.simpleMap(xa.range,xa.r2c));var yr=d3.extent(Lib.simpleMap(ya.range,ya.r2c));var trace=cdscatter[0].trace;if(!subTypes.hasMarkers(trace))return;var mnum=trace.marker.maxdisplayed;if(mnum===0)return;var cd=cdscatter.filter((function(v){return v.x>=xr[0]&&v.x<=xr[1]&&v.y>=yr[0]&&v.y<=yr[1]}));var inc=Math.ceil(cd.length/mnum);var tnum=0;cdscatterAll.forEach((function(cdj,j){var tracei=cdj[0].trace;if(subTypes.hasMarkers(tracei)&&tracei.marker.maxdisplayed>0&&j<idx){tnum++}}));var i0=Math.round(tnum*inc/3+Math.floor(tnum/3)*inc/7.1);cdscatter.forEach((function(v){delete v.vis}));cd.forEach((function(v,i){if(Math.round((i+i0)%inc)===0)v.vis=true}))}},{"../../components/drawing":688,"../../lib":803,"../../lib/polygon":815,"../../registry":931,"./line_points":1232,"./link_traces":1234,"./subtypes":1243,"@plotly/d3":58}],1240:[function(_dereq_,module,exports){"use strict";var subtypes=_dereq_("./subtypes");module.exports=function selectPoints(searchInfo,selectionTester){var cd=searchInfo.cd;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var selection=[];var trace=cd[0].trace;var i;var di;var x;var y;var hasOnlyLines=!subtypes.hasMarkers(trace)&&!subtypes.hasText(trace);if(hasOnlyLines)return[];if(selectionTester===false){for(i=0;i<cd.length;i++){cd[i].selected=0}}else{for(i=0;i<cd.length;i++){di=cd[i];x=xa.c2p(di.x);y=ya.c2p(di.y);if(di.i!==null&&selectionTester.contains([x,y],false,i,searchInfo)){selection.push({pointNumber:di.i,x:xa.c2d(di.x),y:ya.c2d(di.y)});di.selected=1}else{di.selected=0}}}return selection}},{"./subtypes":1243}],1241:[function(_dereq_,module,exports){"use strict";var perStackAttrs=["orientation","groupnorm","stackgaps"];module.exports=function handleStackDefaults(traceIn,traceOut,layout,coerce){var stackOpts=layout._scatterStackOpts;var stackGroup=coerce("stackgroup");if(stackGroup){var subplot=traceOut.xaxis+traceOut.yaxis;var subplotStackOpts=stackOpts[subplot];if(!subplotStackOpts)subplotStackOpts=stackOpts[subplot]={};var groupOpts=subplotStackOpts[stackGroup];var firstTrace=false;if(groupOpts){groupOpts.traces.push(traceOut)}else{groupOpts=subplotStackOpts[stackGroup]={traceIndices:[],traces:[traceOut]};firstTrace=true}var dflts={orientation:traceOut.x&&!traceOut.y?"h":"v"};for(var i=0;i<perStackAttrs.length;i++){var attr=perStackAttrs[i];var attrFound=attr+"Found";if(!groupOpts[attrFound]){var traceHasAttr=traceIn[attr]!==undefined;var isOrientation=attr==="orientation";if(traceHasAttr||firstTrace){groupOpts[attr]=coerce(attr,dflts[attr]);if(isOrientation){groupOpts.fillDflt=groupOpts[attr]==="h"?"tonextx":"tonexty"}if(traceHasAttr){groupOpts[attrFound]=true;if(!firstTrace){delete groupOpts.traces[0][attr];if(isOrientation){for(var j=0;j<groupOpts.traces.length-1;j++){var trace2=groupOpts.traces[j];if(trace2._input.fill!==trace2.fill){trace2.fill=groupOpts.fillDflt}}}}}}}}return groupOpts}}},{}],1242:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var Registry=_dereq_("../../registry");function style(gd){var s=d3.select(gd).selectAll("g.trace.scatter");s.style("opacity",(function(d){return d[0].trace.opacity}));s.selectAll("g.points").each((function(d){var sel=d3.select(this);var trace=d.trace||d[0].trace;stylePoints(sel,trace,gd)}));s.selectAll("g.text").each((function(d){var sel=d3.select(this);var trace=d.trace||d[0].trace;styleText(sel,trace,gd)}));s.selectAll("g.trace path.js-line").call(Drawing.lineGroupStyle);s.selectAll("g.trace path.js-fill").call(Drawing.fillGroupStyle);Registry.getComponentMethod("errorbars","style")(s)}function stylePoints(sel,trace,gd){Drawing.pointStyle(sel.selectAll("path.point"),trace,gd)}function styleText(sel,trace,gd){Drawing.textPointStyle(sel.selectAll("text"),trace,gd)}function styleOnSelect(gd,cd,sel){var trace=cd[0].trace;if(trace.selectedpoints){Drawing.selectedPointStyle(sel.selectAll("path.point"),trace);Drawing.selectedTextStyle(sel.selectAll("text"),trace)}else{stylePoints(sel,trace,gd);styleText(sel,trace,gd)}}module.exports={style:style,stylePoints:stylePoints,styleText:styleText,styleOnSelect:styleOnSelect}},{"../../components/drawing":688,"../../registry":931,"@plotly/d3":58}],1243:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports={hasLines:function(trace){return trace.visible&&trace.mode&&trace.mode.indexOf("lines")!==-1},hasMarkers:function(trace){return trace.visible&&(trace.mode&&trace.mode.indexOf("markers")!==-1||trace.type==="splom")},hasText:function(trace){return trace.visible&&trace.mode&&trace.mode.indexOf("text")!==-1},isBubble:function(trace){return Lib.isPlainObject(trace.marker)&&Lib.isArrayOrTypedArray(trace.marker.size)}}},{"../../lib":803}],1244:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function(traceIn,traceOut,layout,coerce,opts){opts=opts||{};coerce("textposition");Lib.coerceFont(coerce,"textfont",layout.font);if(!opts.noSelect){coerce("selected.textfont.color");coerce("unselected.textfont.color")}}},{"../../lib":803}],1245:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");module.exports=function handleXYDefaults(traceIn,traceOut,layout,coerce){var x=coerce("x");var y=coerce("y");var len;var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x","y"],layout);if(x){var xlen=Lib.minRowLength(x);if(y){len=Math.min(xlen,Lib.minRowLength(y))}else{len=xlen;coerce("y0");coerce("dy")}}else{if(!y)return 0;len=Lib.minRowLength(y);coerce("x0");coerce("dx")}traceOut._length=len;return len}},{"../../lib":803,"../../registry":931}],1246:[function(_dereq_,module,exports){"use strict";var scatterAttrs=_dereq_("../scatter/attributes");var colorAttributes=_dereq_("../../components/colorscale/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var baseAttrs=_dereq_("../../plots/attributes");var DASHES=_dereq_("../../constants/gl3d_dashes");var MARKER_SYMBOLS=_dereq_("../../constants/gl3d_markers");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var sortObjectKeys=_dereq_("../../lib/sort_object_keys");var scatterLineAttrs=scatterAttrs.line;var scatterMarkerAttrs=scatterAttrs.marker;var scatterMarkerLineAttrs=scatterMarkerAttrs.line;var lineAttrs=extendFlat({width:scatterLineAttrs.width,dash:{valType:"enumerated",values:sortObjectKeys(DASHES),dflt:"solid"}},colorAttributes("line"));function makeProjectionAttr(axLetter){return{show:{valType:"boolean",dflt:false},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}}var attrs=module.exports=overrideAll({x:scatterAttrs.x,y:scatterAttrs.y,z:{valType:"data_array"},text:extendFlat({},scatterAttrs.text,{}),texttemplate:texttemplateAttrs({},{}),hovertext:extendFlat({},scatterAttrs.hovertext,{}),hovertemplate:hovertemplateAttrs(),xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z"),mode:extendFlat({},scatterAttrs.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:makeProjectionAttr("x"),y:makeProjectionAttr("y"),z:makeProjectionAttr("z")},connectgaps:scatterAttrs.connectgaps,line:lineAttrs,marker:extendFlat({symbol:{valType:"enumerated",values:sortObjectKeys(MARKER_SYMBOLS),dflt:"circle",arrayOk:true},size:extendFlat({},scatterMarkerAttrs.size,{dflt:8}),sizeref:scatterMarkerAttrs.sizeref,sizemin:scatterMarkerAttrs.sizemin,sizemode:scatterMarkerAttrs.sizemode,opacity:extendFlat({},scatterMarkerAttrs.opacity,{arrayOk:false}),colorbar:scatterMarkerAttrs.colorbar,line:extendFlat({width:extendFlat({},scatterMarkerLineAttrs.width,{arrayOk:false})},colorAttributes("marker.line"))},colorAttributes("marker")),textposition:extendFlat({},scatterAttrs.textposition,{dflt:"top center"}),textfont:{color:scatterAttrs.textfont.color,size:scatterAttrs.textfont.size,family:extendFlat({},scatterAttrs.textfont.family,{arrayOk:false})},hoverinfo:extendFlat({},baseAttrs.hoverinfo)},"calc","nested");attrs.x.editType=attrs.y.editType=attrs.z.editType="calc+clearAxisTypes"},{"../../components/colorscale/attributes":673,"../../constants/gl3d_dashes":776,"../../constants/gl3d_markers":777,"../../lib/extend":793,"../../lib/sort_object_keys":826,"../../plot_api/edit_types":836,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../scatter/attributes":1218}],1247:[function(_dereq_,module,exports){"use strict";var arraysToCalcdata=_dereq_("../scatter/arrays_to_calcdata");var calcColorscale=_dereq_("../scatter/colorscale_calc");module.exports=function calc(gd,trace){var cd=[{x:false,y:false,trace:trace,t:{}}];arraysToCalcdata(cd,trace);calcColorscale(gd,trace);return cd}},{"../scatter/arrays_to_calcdata":1217,"../scatter/colorscale_calc":1221}],1248:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");function calculateAxisErrors(data,params,scaleFactor,axis){if(!params||!params.visible)return null;var computeError=Registry.getComponentMethod("errorbars","makeComputeError")(params);var result=new Array(data.length);for(var i=0;i<data.length;i++){var errors=computeError(+data[i],i);if(axis.type==="log"){var point=axis.c2l(data[i]);var min=data[i]-errors[0];var max=data[i]+errors[1];result[i]=[(axis.c2l(min,true)-point)*scaleFactor,(axis.c2l(max,true)-point)*scaleFactor];if(min>0){var lower=axis.c2l(min);if(!axis._lowerLogErrorBound)axis._lowerLogErrorBound=lower;axis._lowerErrorBound=Math.min(axis._lowerLogErrorBound,lower)}}else{result[i]=[-errors[0]*scaleFactor,errors[1]*scaleFactor]}}return result}function dataLength(array){for(var i=0;i<array.length;i++){if(array[i])return array[i].length}return 0}function calculateErrors(data,scaleFactor,sceneLayout){var errors=[calculateAxisErrors(data.x,data.error_x,scaleFactor[0],sceneLayout.xaxis),calculateAxisErrors(data.y,data.error_y,scaleFactor[1],sceneLayout.yaxis),calculateAxisErrors(data.z,data.error_z,scaleFactor[2],sceneLayout.zaxis)];var n=dataLength(errors);if(n===0)return null;var errorBounds=new Array(n);for(var i=0;i<n;i++){var bound=[[0,0,0],[0,0,0]];for(var j=0;j<3;j++){if(errors[j]){for(var k=0;k<2;k++){bound[k][j]=errors[j][i][k]}}}errorBounds[i]=bound}return errorBounds}module.exports=calculateErrors},{"../../registry":931}],1249:[function(_dereq_,module,exports){"use strict";var createLinePlot=_dereq_("gl-line3d");var createScatterPlot=_dereq_("gl-scatter3d");var createErrorBars=_dereq_("gl-error3d");var createMesh=_dereq_("gl-mesh3d");var triangulate=_dereq_("delaunay-triangulate");var Lib=_dereq_("../../lib");var str2RgbaArray=_dereq_("../../lib/str2rgbarray");var formatColor=_dereq_("../../lib/gl_format_color").formatColor;var makeBubbleSizeFn=_dereq_("../scatter/make_bubble_size_func");var DASH_PATTERNS=_dereq_("../../constants/gl3d_dashes");var MARKER_SYMBOLS=_dereq_("../../constants/gl3d_markers");var Axes=_dereq_("../../plots/cartesian/axes");var appendArrayPointValue=_dereq_("../../components/fx/helpers").appendArrayPointValue;var calculateError=_dereq_("./calc_errors");function LineWithMarkers(scene,uid){this.scene=scene;this.uid=uid;this.linePlot=null;this.scatterPlot=null;this.errorBars=null;this.textMarkers=null;this.delaunayMesh=null;this.color=null;this.mode="";this.dataPoints=[];this.axesBounds=[[-Infinity,-Infinity,-Infinity],[Infinity,Infinity,Infinity]];this.textLabels=null;this.data=null}var proto=LineWithMarkers.prototype;proto.handlePick=function(selection){if(selection.object&&(selection.object===this.linePlot||selection.object===this.delaunayMesh||selection.object===this.textMarkers||selection.object===this.scatterPlot)){var ind=selection.index=selection.data.index;if(selection.object.highlight){selection.object.highlight(null)}if(this.scatterPlot){selection.object=this.scatterPlot;this.scatterPlot.highlight(selection.data)}selection.textLabel="";if(this.textLabels){if(Array.isArray(this.textLabels)){if(this.textLabels[ind]||this.textLabels[ind]===0){selection.textLabel=this.textLabels[ind]}}else{selection.textLabel=this.textLabels}}selection.traceCoordinate=[this.data.x[ind],this.data.y[ind],this.data.z[ind]];return true}};function constructDelaunay(points,color,axis){var u=(axis+1)%3;var v=(axis+2)%3;var filteredPoints=[];var filteredIds=[];var i;for(i=0;i<points.length;++i){var p=points[i];if(isNaN(p[u])||!isFinite(p[u])||isNaN(p[v])||!isFinite(p[v])){continue}filteredPoints.push([p[u],p[v]]);filteredIds.push(i)}var cells=triangulate(filteredPoints);for(i=0;i<cells.length;++i){var c=cells[i];for(var j=0;j<c.length;++j){c[j]=filteredIds[c[j]]}}return{positions:points,cells:cells,meshColor:color}}function calculateErrorParams(errors){var capSize=[0,0,0];var color=[[0,0,0],[0,0,0],[0,0,0]];var lineWidth=[1,1,1];for(var i=0;i<3;i++){var e=errors[i];if(e&&e.copy_zstyle!==false&&errors[2].visible!==false)e=errors[2];if(!e||!e.visible)continue;capSize[i]=e.width/2;color[i]=str2RgbaArray(e.color);lineWidth[i]=e.thickness}return{capSize:capSize,color:color,lineWidth:lineWidth}}function parseAlignmentX(a){if(a===null||a===undefined)return 0;return a.indexOf("left")>-1?-1:a.indexOf("right")>-1?1:0}function parseAlignmentY(a){if(a===null||a===undefined)return 0;return a.indexOf("top")>-1?-1:a.indexOf("bottom")>-1?1:0}function calculateTextOffset(tp){var defaultAlignmentX=0;var defaultAlignmentY=0;var textOffset=[defaultAlignmentX,defaultAlignmentY];if(Array.isArray(tp)){for(var i=0;i<tp.length;i++){textOffset[i]=[defaultAlignmentX,defaultAlignmentY];if(tp[i]){textOffset[i][0]=parseAlignmentX(tp[i]);textOffset[i][1]=parseAlignmentY(tp[i])}}}else{textOffset[0]=parseAlignmentX(tp);textOffset[1]=parseAlignmentY(tp)}return textOffset}function calculateSize(sizeIn,sizeFn){return sizeFn(sizeIn*4)}function calculateSymbol(symbolIn){return MARKER_SYMBOLS[symbolIn]}function formatParam(paramIn,len,calculate,dflt,extraFn){var paramOut=null;if(Lib.isArrayOrTypedArray(paramIn)){paramOut=[];for(var i=0;i<len;i++){if(paramIn[i]===undefined)paramOut[i]=dflt;else paramOut[i]=calculate(paramIn[i],extraFn)}}else paramOut=calculate(paramIn,Lib.identity);return paramOut}function convertPlotlyOptions(scene,data){var points=[];var sceneLayout=scene.fullSceneLayout;var scaleFactor=scene.dataScale;var xaxis=sceneLayout.xaxis;var yaxis=sceneLayout.yaxis;var zaxis=sceneLayout.zaxis;var marker=data.marker;var line=data.line;var x=data.x||[];var y=data.y||[];var z=data.z||[];var len=x.length;var xcalendar=data.xcalendar;var ycalendar=data.ycalendar;var zcalendar=data.zcalendar;var xc,yc,zc;var params,i;var text;for(i=0;i<len;i++){xc=xaxis.d2l(x[i],0,xcalendar)*scaleFactor[0];yc=yaxis.d2l(y[i],0,ycalendar)*scaleFactor[1];zc=zaxis.d2l(z[i],0,zcalendar)*scaleFactor[2];points[i]=[xc,yc,zc]}if(Array.isArray(data.text))text=data.text;else if(data.text!==undefined){text=new Array(len);for(i=0;i<len;i++)text[i]=data.text}function formatter(axName,val){var ax=sceneLayout[axName];return Axes.tickText(ax,ax.d2l(val),true).text}var texttemplate=data.texttemplate;if(texttemplate){var fullLayout=scene.fullLayout;var d3locale=fullLayout._d3locale;var isArray=Array.isArray(texttemplate);var N=isArray?Math.min(texttemplate.length,len):len;var txt=isArray?function(i){return texttemplate[i]}:function(){return texttemplate};text=new Array(N);for(i=0;i<N;i++){var d={x:x[i],y:y[i],z:z[i]};var labels={xLabel:formatter("xaxis",x[i]),yLabel:formatter("yaxis",y[i]),zLabel:formatter("zaxis",z[i])};var pointValues={};appendArrayPointValue(pointValues,data,i);var meta=data._meta||{};text[i]=Lib.texttemplateString(txt(i),labels,d3locale,pointValues,d,meta)}}params={position:points,mode:data.mode,text:text};if("line"in data){params.lineColor=formatColor(line,1,len);params.lineWidth=line.width;params.lineDashes=line.dash}if("marker"in data){var sizeFn=makeBubbleSizeFn(data);params.scatterColor=formatColor(marker,1,len);params.scatterSize=formatParam(marker.size,len,calculateSize,20,sizeFn);params.scatterMarker=formatParam(marker.symbol,len,calculateSymbol,"●");params.scatterLineWidth=marker.line.width;params.scatterLineColor=formatColor(marker.line,1,len);params.scatterAngle=0}if("textposition"in data){params.textOffset=calculateTextOffset(data.textposition);params.textColor=formatColor(data.textfont,1,len);params.textSize=formatParam(data.textfont.size,len,Lib.identity,12);params.textFont=data.textfont.family;params.textAngle=0}var dims=["x","y","z"];params.project=[false,false,false];params.projectScale=[1,1,1];params.projectOpacity=[1,1,1];for(i=0;i<3;++i){var projection=data.projection[dims[i]];if(params.project[i]=projection.show){params.projectOpacity[i]=projection.opacity;params.projectScale[i]=projection.scale}}params.errorBounds=calculateError(data,scaleFactor,sceneLayout);var errorParams=calculateErrorParams([data.error_x,data.error_y,data.error_z]);params.errorColor=errorParams.color;params.errorLineWidth=errorParams.lineWidth;params.errorCapSize=errorParams.capSize;params.delaunayAxis=data.surfaceaxis;params.delaunayColor=str2RgbaArray(data.surfacecolor);return params}function _arrayToColor(color){if(Lib.isArrayOrTypedArray(color)){var c=color[0];if(Lib.isArrayOrTypedArray(c))color=c;return"rgb("+color.slice(0,3).map((function(x){return Math.round(x*255)}))+")"}return null}function arrayToColor(colors){if(!Lib.isArrayOrTypedArray(colors)){return null}if(colors.length===4&&typeof colors[0]==="number"){return _arrayToColor(colors)}return colors.map(_arrayToColor)}proto.update=function(data){var gl=this.scene.glplot.gl;var lineOptions;var scatterOptions;var errorOptions;var textOptions;var dashPattern=DASH_PATTERNS.solid;this.data=data;var options=convertPlotlyOptions(this.scene,data);if("mode"in options){this.mode=options.mode}if("lineDashes"in options){if(options.lineDashes in DASH_PATTERNS){dashPattern=DASH_PATTERNS[options.lineDashes]}}this.color=arrayToColor(options.scatterColor)||arrayToColor(options.lineColor);this.dataPoints=options.position;lineOptions={gl:this.scene.glplot.gl,position:options.position,color:options.lineColor,lineWidth:options.lineWidth||1,dashes:dashPattern[0],dashScale:dashPattern[1],opacity:data.opacity,connectGaps:data.connectgaps};if(this.mode.indexOf("lines")!==-1){if(this.linePlot)this.linePlot.update(lineOptions);else{this.linePlot=createLinePlot(lineOptions);this.linePlot._trace=this;this.scene.glplot.add(this.linePlot)}}else if(this.linePlot){this.scene.glplot.remove(this.linePlot);this.linePlot.dispose();this.linePlot=null}var scatterOpacity=data.opacity;if(data.marker&&data.marker.opacity)scatterOpacity*=data.marker.opacity;scatterOptions={gl:this.scene.glplot.gl,position:options.position,color:options.scatterColor,size:options.scatterSize,glyph:options.scatterMarker,opacity:scatterOpacity,orthographic:true,lineWidth:options.scatterLineWidth,lineColor:options.scatterLineColor,project:options.project,projectScale:options.projectScale,projectOpacity:options.projectOpacity};if(this.mode.indexOf("markers")!==-1){if(this.scatterPlot)this.scatterPlot.update(scatterOptions);else{this.scatterPlot=createScatterPlot(scatterOptions);this.scatterPlot._trace=this;this.scatterPlot.highlightScale=1;this.scene.glplot.add(this.scatterPlot)}}else if(this.scatterPlot){this.scene.glplot.remove(this.scatterPlot);this.scatterPlot.dispose();this.scatterPlot=null}textOptions={gl:this.scene.glplot.gl,position:options.position,glyph:options.text,color:options.textColor,size:options.textSize,angle:options.textAngle,alignment:options.textOffset,font:options.textFont,orthographic:true,lineWidth:0,project:false,opacity:data.opacity};this.textLabels=data.hovertext||data.text;if(this.mode.indexOf("text")!==-1){if(this.textMarkers)this.textMarkers.update(textOptions);else{this.textMarkers=createScatterPlot(textOptions);this.textMarkers._trace=this;this.textMarkers.highlightScale=1;this.scene.glplot.add(this.textMarkers)}}else if(this.textMarkers){this.scene.glplot.remove(this.textMarkers);this.textMarkers.dispose();this.textMarkers=null}errorOptions={gl:this.scene.glplot.gl,position:options.position,color:options.errorColor,error:options.errorBounds,lineWidth:options.errorLineWidth,capSize:options.errorCapSize,opacity:data.opacity};if(this.errorBars){if(options.errorBounds){this.errorBars.update(errorOptions)}else{this.scene.glplot.remove(this.errorBars);this.errorBars.dispose();this.errorBars=null}}else if(options.errorBounds){this.errorBars=createErrorBars(errorOptions);this.errorBars._trace=this;this.scene.glplot.add(this.errorBars)}if(options.delaunayAxis>=0){var delaunayOptions=constructDelaunay(options.position,options.delaunayColor,options.delaunayAxis);delaunayOptions.opacity=data.opacity;if(this.delaunayMesh){this.delaunayMesh.update(delaunayOptions)}else{delaunayOptions.gl=gl;this.delaunayMesh=createMesh(delaunayOptions);this.delaunayMesh._trace=this;this.scene.glplot.add(this.delaunayMesh)}}else if(this.delaunayMesh){this.scene.glplot.remove(this.delaunayMesh);this.delaunayMesh.dispose();this.delaunayMesh=null}};proto.dispose=function(){if(this.linePlot){this.scene.glplot.remove(this.linePlot);this.linePlot.dispose()}if(this.scatterPlot){this.scene.glplot.remove(this.scatterPlot);this.scatterPlot.dispose()}if(this.errorBars){this.scene.glplot.remove(this.errorBars);this.errorBars.dispose()}if(this.textMarkers){this.scene.glplot.remove(this.textMarkers);this.textMarkers.dispose()}if(this.delaunayMesh){this.scene.glplot.remove(this.delaunayMesh);this.delaunayMesh.dispose()}};function createLineWithMarkers(scene,data){var plot=new LineWithMarkers(scene,data.uid);plot.update(data);return plot}module.exports=createLineWithMarkers},{"../../components/fx/helpers":702,"../../constants/gl3d_dashes":776,"../../constants/gl3d_markers":777,"../../lib":803,"../../lib/gl_format_color":799,"../../lib/str2rgbarray":828,"../../plots/cartesian/axes":854,"../scatter/make_bubble_size_func":1235,"./calc_errors":1248,"delaunay-triangulate":180,"gl-error3d":273,"gl-line3d":281,"gl-mesh3d":315,"gl-scatter3d":334}],1250:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var subTypes=_dereq_("../scatter/subtypes");var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var handleLineDefaults=_dereq_("../scatter/line_defaults");var handleTextDefaults=_dereq_("../scatter/text_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleXYZDefaults(traceIn,traceOut,coerce,layout);if(!len){traceOut.visible=false;return}coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("xhoverformat");coerce("yhoverformat");coerce("zhoverformat");coerce("mode");if(subTypes.hasLines(traceOut)){coerce("connectgaps");handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce)}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce,{noSelect:true})}if(subTypes.hasText(traceOut)){coerce("texttemplate");handleTextDefaults(traceIn,traceOut,layout,coerce,{noSelect:true})}var lineColor=(traceOut.line||{}).color;var markerColor=(traceOut.marker||{}).color;if(coerce("surfaceaxis")>=0)coerce("surfacecolor",lineColor||markerColor);var dims=["x","y","z"];for(var i=0;i<3;++i){var projection="projection."+dims[i];if(coerce(projection+".show")){coerce(projection+".opacity");coerce(projection+".scale")}}var errorBarsSupplyDefaults=Registry.getComponentMethod("errorbars","supplyDefaults");errorBarsSupplyDefaults(traceIn,traceOut,lineColor||markerColor||defaultColor,{axis:"z"});errorBarsSupplyDefaults(traceIn,traceOut,lineColor||markerColor||defaultColor,{axis:"y",inherit:"z"});errorBarsSupplyDefaults(traceIn,traceOut,lineColor||markerColor||defaultColor,{axis:"x",inherit:"z"})};function handleXYZDefaults(traceIn,traceOut,coerce,layout){var len=0;var x=coerce("x");var y=coerce("y");var z=coerce("z");var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x","y","z"],layout);if(x&&y&&z){len=Math.min(x.length,y.length,z.length);traceOut._length=traceOut._xlength=traceOut._ylength=traceOut._zlength=len}return len}},{"../../lib":803,"../../registry":931,"../scatter/line_defaults":1231,"../scatter/marker_defaults":1237,"../scatter/subtypes":1243,"../scatter/text_defaults":1244,"./attributes":1246}],1251:[function(_dereq_,module,exports){"use strict";module.exports={plot:_dereq_("./convert"),attributes:_dereq_("./attributes"),markerSymbols:_dereq_("../../constants/gl3d_markers"),supplyDefaults:_dereq_("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:_dereq_("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:_dereq_("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":777,"../../plots/gl3d":896,"./attributes":1246,"./calc":1247,"./convert":1249,"./defaults":1250}],1252:[function(_dereq_,module,exports){"use strict";var scatterAttrs=_dereq_("../scatter/attributes");var baseAttrs=_dereq_("../../plots/attributes");var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var scatterMarkerAttrs=scatterAttrs.marker;var scatterLineAttrs=scatterAttrs.line;var scatterMarkerLineAttrs=scatterMarkerAttrs.line;module.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:extendFlat({},scatterAttrs.mode,{dflt:"markers"}),text:extendFlat({},scatterAttrs.text,{}),texttemplate:texttemplateAttrs({editType:"plot"},{keys:["a","b","text"]}),hovertext:extendFlat({},scatterAttrs.hovertext,{}),line:{color:scatterLineAttrs.color,width:scatterLineAttrs.width,dash:scatterLineAttrs.dash,shape:extendFlat({},scatterLineAttrs.shape,{values:["linear","spline"]}),smoothing:scatterLineAttrs.smoothing,editType:"calc"},connectgaps:scatterAttrs.connectgaps,fill:extendFlat({},scatterAttrs.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:scatterAttrs.fillcolor,marker:extendFlat({symbol:scatterMarkerAttrs.symbol,opacity:scatterMarkerAttrs.opacity,maxdisplayed:scatterMarkerAttrs.maxdisplayed,size:scatterMarkerAttrs.size,sizeref:scatterMarkerAttrs.sizeref,sizemin:scatterMarkerAttrs.sizemin,sizemode:scatterMarkerAttrs.sizemode,line:extendFlat({width:scatterMarkerLineAttrs.width,editType:"calc"},colorScaleAttrs("marker.line")),gradient:scatterMarkerAttrs.gradient,editType:"calc"},colorScaleAttrs("marker")),textfont:scatterAttrs.textfont,textposition:scatterAttrs.textposition,selected:scatterAttrs.selected,unselected:scatterAttrs.unselected,hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["a","b","text","name"]}),hoveron:scatterAttrs.hoveron,hovertemplate:hovertemplateAttrs()}},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/template_attributes":926,"../scatter/attributes":1218}],1253:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var calcColorscale=_dereq_("../scatter/colorscale_calc");var arraysToCalcdata=_dereq_("../scatter/arrays_to_calcdata");var calcSelection=_dereq_("../scatter/calc_selection");var calcMarkerSize=_dereq_("../scatter/calc").calcMarkerSize;var lookupCarpet=_dereq_("../carpet/lookup_carpetid");module.exports=function calc(gd,trace){var carpet=trace._carpetTrace=lookupCarpet(gd,trace);if(!carpet||!carpet.visible||carpet.visible==="legendonly")return;var i;trace.xaxis=carpet.xaxis;trace.yaxis=carpet.yaxis;var serieslen=trace._length;var cd=new Array(serieslen);var a,b;var needsCull=false;for(i=0;i<serieslen;i++){a=trace.a[i];b=trace.b[i];if(isNumeric(a)&&isNumeric(b)){var xy=carpet.ab2xy(+a,+b,true);var visible=carpet.isVisible(+a,+b);if(!visible)needsCull=true;cd[i]={x:xy[0],y:xy[1],a:a,b:b,vis:visible}}else cd[i]={x:false,y:false}}trace._needsCull=needsCull;cd[0].carpet=carpet;cd[0].trace=trace;calcMarkerSize(trace,serieslen);calcColorscale(gd,trace);arraysToCalcdata(cd,trace);calcSelection(cd,trace);return cd}},{"../carpet/lookup_carpetid":1001,"../scatter/arrays_to_calcdata":1217,"../scatter/calc":1219,"../scatter/calc_selection":1220,"../scatter/colorscale_calc":1221,"fast-isnumeric":249}],1254:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var constants=_dereq_("../scatter/constants");var subTypes=_dereq_("../scatter/subtypes");var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var handleLineDefaults=_dereq_("../scatter/line_defaults");var handleLineShapeDefaults=_dereq_("../scatter/line_shape_defaults");var handleTextDefaults=_dereq_("../scatter/text_defaults");var handleFillColorDefaults=_dereq_("../scatter/fillcolor_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}coerce("carpet");traceOut.xaxis="x";traceOut.yaxis="y";var a=coerce("a");var b=coerce("b");var len=Math.min(a.length,b.length);if(!len){traceOut.visible=false;return}traceOut._length=len;coerce("text");coerce("texttemplate");coerce("hovertext");var defaultMode=len<constants.PTS_LINESONLY?"lines+markers":"lines";coerce("mode",defaultMode);if(subTypes.hasLines(traceOut)){handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);handleLineShapeDefaults(traceIn,traceOut,coerce);coerce("connectgaps")}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce,{gradient:true})}if(subTypes.hasText(traceOut)){handleTextDefaults(traceIn,traceOut,layout,coerce)}var dfltHoverOn=[];if(subTypes.hasMarkers(traceOut)||subTypes.hasText(traceOut)){coerce("marker.maxdisplayed");dfltHoverOn.push("points")}coerce("fill");if(traceOut.fill!=="none"){handleFillColorDefaults(traceIn,traceOut,defaultColor,coerce);if(!subTypes.hasLines(traceOut))handleLineShapeDefaults(traceIn,traceOut,coerce)}if(traceOut.fill==="tonext"||traceOut.fill==="toself"){dfltHoverOn.push("fills")}var hoverOn=coerce("hoveron",dfltHoverOn.join("+")||"points");if(hoverOn!=="fills")coerce("hovertemplate");Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../lib":803,"../scatter/constants":1222,"../scatter/fillcolor_defaults":1226,"../scatter/line_defaults":1231,"../scatter/line_shape_defaults":1233,"../scatter/marker_defaults":1237,"../scatter/subtypes":1243,"../scatter/text_defaults":1244,"./attributes":1252}],1255:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt,trace,cd,pointNumber){var cdi=cd[pointNumber];out.a=cdi.a;out.b=cdi.b;out.y=cdi.y;return out}},{}],1256:[function(_dereq_,module,exports){"use strict";module.exports=function formatLabels(cdi,trace){var labels={};var carpet=trace._carpet;var ij=carpet.ab2ij([cdi.a,cdi.b]);var i0=Math.floor(ij[0]);var ti=ij[0]-i0;var j0=Math.floor(ij[1]);var tj=ij[1]-j0;var xy=carpet.evalxy([],i0,j0,ti,tj);labels.yLabel=xy[1].toFixed(3);return labels}},{}],1257:[function(_dereq_,module,exports){"use strict";var scatterHover=_dereq_("../scatter/hover");var fillText=_dereq_("../../lib").fillText;module.exports=function hoverPoints(pointData,xval,yval,hovermode){var scatterPointData=scatterHover(pointData,xval,yval,hovermode);if(!scatterPointData||scatterPointData[0].index===false)return;var newPointData=scatterPointData[0];if(newPointData.index===undefined){var yFracUp=1-newPointData.y0/pointData.ya._length;var xLen=pointData.xa._length;var xMin=xLen*yFracUp/2;var xMax=xLen-xMin;newPointData.x0=Math.max(Math.min(newPointData.x0,xMax),xMin);newPointData.x1=Math.max(Math.min(newPointData.x1,xMax),xMin);return scatterPointData}var cdi=newPointData.cd[newPointData.index];newPointData.a=cdi.a;newPointData.b=cdi.b;newPointData.xLabelVal=undefined;newPointData.yLabelVal=undefined;var trace=newPointData.trace;var carpet=trace._carpet;var labels=trace._module.formatLabels(cdi,trace);newPointData.yLabel=labels.yLabel;delete newPointData.text;var text=[];function textPart(ax,val){var prefix;if(ax.labelprefix&&ax.labelprefix.length>0){prefix=ax.labelprefix.replace(/ = $/,"")}else{prefix=ax._hovertitle}text.push(prefix+": "+val.toFixed(3)+ax.labelsuffix)}if(!trace.hovertemplate){var hoverinfo=cdi.hi||trace.hoverinfo;var parts=hoverinfo.split("+");if(parts.indexOf("all")!==-1)parts=["a","b","text"];if(parts.indexOf("a")!==-1)textPart(carpet.aaxis,cdi.a);if(parts.indexOf("b")!==-1)textPart(carpet.baxis,cdi.b);text.push("y: "+newPointData.yLabel);if(parts.indexOf("text")!==-1){fillText(cdi,trace,text)}newPointData.extraText=text.join("<br>")}return scatterPointData}},{"../../lib":803,"../scatter/hover":1229}],1258:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../scatter/marker_colorbar"),formatLabels:_dereq_("./format_labels"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),style:_dereq_("../scatter/style").style,styleOnSelect:_dereq_("../scatter/style").styleOnSelect,hoverPoints:_dereq_("./hover"),selectPoints:_dereq_("../scatter/select"),eventData:_dereq_("./event_data"),moduleType:"trace",name:"scattercarpet",basePlotModule:_dereq_("../../plots/cartesian"),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},{"../../plots/cartesian":868,"../scatter/marker_colorbar":1236,"../scatter/select":1240,"../scatter/style":1242,"./attributes":1252,"./calc":1253,"./defaults":1254,"./event_data":1255,"./format_labels":1256,"./hover":1257,"./plot":1259}],1259:[function(_dereq_,module,exports){"use strict";var scatterPlot=_dereq_("../scatter/plot");var Axes=_dereq_("../../plots/cartesian/axes");var Drawing=_dereq_("../../components/drawing");module.exports=function plot(gd,plotinfoproxy,data,layer){var i,trace,node;var carpet=data[0][0].carpet;var plotinfo={xaxis:Axes.getFromId(gd,carpet.xaxis||"x"),yaxis:Axes.getFromId(gd,carpet.yaxis||"y"),plot:plotinfoproxy.plot};scatterPlot(gd,plotinfo,data,layer);for(i=0;i<data.length;i++){trace=data[i][0].trace;node=layer.selectAll("g.trace"+trace.uid+" .js-line");Drawing.setClipUrl(node,data[i][0].carpet._clipPathId,gd)}}},{"../../components/drawing":688,"../../plots/cartesian/axes":854,"../scatter/plot":1239}],1260:[function(_dereq_,module,exports){"use strict";var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var scatterAttrs=_dereq_("../scatter/attributes");var baseAttrs=_dereq_("../../plots/attributes");var colorAttributes=_dereq_("../../components/colorscale/attributes");var dash=_dereq_("../../components/drawing/attributes").dash;var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var scatterMarkerAttrs=scatterAttrs.marker;var scatterLineAttrs=scatterAttrs.line;var scatterMarkerLineAttrs=scatterMarkerAttrs.line;module.exports=overrideAll({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3"},geojson:{valType:"any",editType:"calc"},featureidkey:{valType:"string",editType:"calc",dflt:"id"},mode:extendFlat({},scatterAttrs.mode,{dflt:"markers"}),text:extendFlat({},scatterAttrs.text,{}),texttemplate:texttemplateAttrs({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:extendFlat({},scatterAttrs.hovertext,{}),textfont:scatterAttrs.textfont,textposition:scatterAttrs.textposition,line:{color:scatterLineAttrs.color,width:scatterLineAttrs.width,dash:dash},connectgaps:scatterAttrs.connectgaps,marker:extendFlat({symbol:scatterMarkerAttrs.symbol,opacity:scatterMarkerAttrs.opacity,size:scatterMarkerAttrs.size,sizeref:scatterMarkerAttrs.sizeref,sizemin:scatterMarkerAttrs.sizemin,sizemode:scatterMarkerAttrs.sizemode,colorbar:scatterMarkerAttrs.colorbar,line:extendFlat({width:scatterMarkerLineAttrs.width},colorAttributes("marker.line")),gradient:scatterMarkerAttrs.gradient},colorAttributes("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:scatterAttrs.fillcolor,selected:scatterAttrs.selected,unselected:scatterAttrs.unselected,hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:hovertemplateAttrs()},"calc","nested")},{"../../components/colorscale/attributes":673,"../../components/drawing/attributes":687,"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plots/attributes":850,"../../plots/template_attributes":926,"../scatter/attributes":1218}],1261:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var calcMarkerColorscale=_dereq_("../scatter/colorscale_calc");var arraysToCalcdata=_dereq_("../scatter/arrays_to_calcdata");var calcSelection=_dereq_("../scatter/calc_selection");var _=_dereq_("../../lib")._;function isNonBlankString(v){return v&&typeof v==="string"}module.exports=function calc(gd,trace){var hasLocationData=Array.isArray(trace.locations);var len=hasLocationData?trace.locations.length:trace._length;var calcTrace=new Array(len);var isValidLoc;if(trace.geojson){isValidLoc=function(v){return isNonBlankString(v)||isNumeric(v)}}else{isValidLoc=isNonBlankString}for(var i=0;i<len;i++){var calcPt=calcTrace[i]={};if(hasLocationData){var loc=trace.locations[i];calcPt.loc=isValidLoc(loc)?loc:null}else{var lon=trace.lon[i];var lat=trace.lat[i];if(isNumeric(lon)&&isNumeric(lat))calcPt.lonlat=[+lon,+lat];else calcPt.lonlat=[BADNUM,BADNUM]}}arraysToCalcdata(calcTrace,trace);calcMarkerColorscale(gd,trace);calcSelection(calcTrace,trace);if(len){calcTrace[0].t={labels:{lat:_(gd,"lat:")+" ",lon:_(gd,"lon:")+" "}}}return calcTrace}},{"../../constants/numerical":779,"../../lib":803,"../scatter/arrays_to_calcdata":1217,"../scatter/calc_selection":1220,"../scatter/colorscale_calc":1221,"fast-isnumeric":249}],1262:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var subTypes=_dereq_("../scatter/subtypes");var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var handleLineDefaults=_dereq_("../scatter/line_defaults");var handleTextDefaults=_dereq_("../scatter/text_defaults");var handleFillColorDefaults=_dereq_("../scatter/fillcolor_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var locations=coerce("locations");var len;if(locations&&locations.length){var geojson=coerce("geojson");var locationmodeDflt;if(typeof geojson==="string"&&geojson!==""||Lib.isPlainObject(geojson)){locationmodeDflt="geojson-id"}var locationMode=coerce("locationmode",locationmodeDflt);if(locationMode==="geojson-id"){coerce("featureidkey")}len=locations.length}else{var lon=coerce("lon")||[];var lat=coerce("lat")||[];len=Math.min(lon.length,lat.length)}if(!len){traceOut.visible=false;return}traceOut._length=len;coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("mode");if(subTypes.hasLines(traceOut)){handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);coerce("connectgaps")}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce,{gradient:true})}if(subTypes.hasText(traceOut)){coerce("texttemplate");handleTextDefaults(traceIn,traceOut,layout,coerce)}coerce("fill");if(traceOut.fill!=="none"){handleFillColorDefaults(traceIn,traceOut,defaultColor,coerce)}Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../lib":803,"../scatter/fillcolor_defaults":1226,"../scatter/line_defaults":1231,"../scatter/marker_defaults":1237,"../scatter/subtypes":1243,"../scatter/text_defaults":1244,"./attributes":1260}],1263:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt,trace,cd,pointNumber){out.lon=pt.lon;out.lat=pt.lat;out.location=pt.loc?pt.loc:null;var cdi=cd[pointNumber];if(cdi.fIn&&cdi.fIn.properties){out.properties=cdi.fIn.properties}return out}},{}],1264:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");module.exports=function formatLabels(cdi,trace,fullLayout){var labels={};var geo=fullLayout[trace.geo]._subplot;var ax=geo.mockAxis;var lonlat=cdi.lonlat;labels.lonLabel=Axes.tickText(ax,ax.c2l(lonlat[0]),true).text;labels.latLabel=Axes.tickText(ax,ax.c2l(lonlat[1]),true).text;return labels}},{"../../plots/cartesian/axes":854}],1265:[function(_dereq_,module,exports){"use strict";var Fx=_dereq_("../../components/fx");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var getTraceColor=_dereq_("../scatter/get_trace_color");var fillText=_dereq_("../../lib").fillText;var attributes=_dereq_("./attributes");module.exports=function hoverPoints(pointData,xval,yval){var cd=pointData.cd;var trace=cd[0].trace;var xa=pointData.xa;var ya=pointData.ya;var geo=pointData.subplot;var isLonLatOverEdges=geo.projection.isLonLatOverEdges;var project=geo.project;function distFn(d){var lonlat=d.lonlat;if(lonlat[0]===BADNUM)return Infinity;if(isLonLatOverEdges(lonlat))return Infinity;var pt=project(lonlat);var px=project([xval,yval]);var dx=Math.abs(pt[0]-px[0]);var dy=Math.abs(pt[1]-px[1]);var rad=Math.max(3,d.mrc||0);return Math.max(Math.sqrt(dx*dx+dy*dy)-rad,1-3/rad)}Fx.getClosest(cd,distFn,pointData);if(pointData.index===false)return;var di=cd[pointData.index];var lonlat=di.lonlat;var pos=[xa.c2p(lonlat),ya.c2p(lonlat)];var rad=di.mrc||1;pointData.x0=pos[0]-rad;pointData.x1=pos[0]+rad;pointData.y0=pos[1]-rad;pointData.y1=pos[1]+rad;pointData.loc=di.loc;pointData.lon=lonlat[0];pointData.lat=lonlat[1];var fullLayout={};fullLayout[trace.geo]={_subplot:geo};var labels=trace._module.formatLabels(di,trace,fullLayout);pointData.lonLabel=labels.lonLabel;pointData.latLabel=labels.latLabel;pointData.color=getTraceColor(trace,di);pointData.extraText=getExtraText(trace,di,pointData,cd[0].t.labels);pointData.hovertemplate=trace.hovertemplate;return[pointData]};function getExtraText(trace,pt,pointData,labels){if(trace.hovertemplate)return;var hoverinfo=pt.hi||trace.hoverinfo;var parts=hoverinfo==="all"?attributes.hoverinfo.flags:hoverinfo.split("+");var hasLocation=parts.indexOf("location")!==-1&&Array.isArray(trace.locations);var hasLon=parts.indexOf("lon")!==-1;var hasLat=parts.indexOf("lat")!==-1;var hasText=parts.indexOf("text")!==-1;var text=[];function format(val){return val+"°"}if(hasLocation){text.push(pt.loc)}else if(hasLon&&hasLat){text.push("("+format(pointData.latLabel)+", "+format(pointData.lonLabel)+")")}else if(hasLon){text.push(labels.lon+format(pointData.lonLabel))}else if(hasLat){text.push(labels.lat+format(pointData.latLabel))}if(hasText){fillText(pt,trace,text)}return text.join("<br>")}},{"../../components/fx":706,"../../constants/numerical":779,"../../lib":803,"../scatter/get_trace_color":1228,"./attributes":1260}],1266:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../scatter/marker_colorbar"),formatLabels:_dereq_("./format_labels"),calc:_dereq_("./calc"),calcGeoJSON:_dereq_("./plot").calcGeoJSON,plot:_dereq_("./plot").plot,style:_dereq_("./style"),styleOnSelect:_dereq_("../scatter/style").styleOnSelect,hoverPoints:_dereq_("./hover"),eventData:_dereq_("./event_data"),selectPoints:_dereq_("./select"),moduleType:"trace",name:"scattergeo",basePlotModule:_dereq_("../../plots/geo"),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/geo":887,"../scatter/marker_colorbar":1236,"../scatter/style":1242,"./attributes":1260,"./calc":1261,"./defaults":1262,"./event_data":1263,"./format_labels":1264,"./hover":1265,"./plot":1267,"./select":1268,"./style":1269}],1267:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var getTopojsonFeatures=_dereq_("../../lib/topojson_utils").getTopojsonFeatures;var geoJsonUtils=_dereq_("../../lib/geojson_utils");var geoUtils=_dereq_("../../lib/geo_location_utils");var findExtremes=_dereq_("../../plots/cartesian/autorange").findExtremes;var BADNUM=_dereq_("../../constants/numerical").BADNUM;var calcMarkerSize=_dereq_("../scatter/calc").calcMarkerSize;var subTypes=_dereq_("../scatter/subtypes");var style=_dereq_("./style");function plot(gd,geo,calcData){var scatterLayer=geo.layers.frontplot.select(".scatterlayer");var gTraces=Lib.makeTraceGroups(scatterLayer,calcData,"trace scattergeo");function removeBADNUM(d,node){if(d.lonlat[0]===BADNUM){d3.select(node).remove()}}gTraces.selectAll("*").remove();gTraces.each((function(calcTrace){var s=d3.select(this);var trace=calcTrace[0].trace;if(subTypes.hasLines(trace)||trace.fill!=="none"){var lineCoords=geoJsonUtils.calcTraceToLineCoords(calcTrace);var lineData=trace.fill!=="none"?geoJsonUtils.makePolygon(lineCoords):geoJsonUtils.makeLine(lineCoords);s.selectAll("path.js-line").data([{geojson:lineData,trace:trace}]).enter().append("path").classed("js-line",true).style("stroke-miterlimit",2)}if(subTypes.hasMarkers(trace)){s.selectAll("path.point").data(Lib.identity).enter().append("path").classed("point",true).each((function(calcPt){removeBADNUM(calcPt,this)}))}if(subTypes.hasText(trace)){s.selectAll("g").data(Lib.identity).enter().append("g").append("text").each((function(calcPt){removeBADNUM(calcPt,this)}))}style(gd,calcTrace)}))}function calcGeoJSON(calcTrace,fullLayout){var trace=calcTrace[0].trace;var geoLayout=fullLayout[trace.geo];var geo=geoLayout._subplot;var len=trace._length;var i,calcPt;if(Array.isArray(trace.locations)){var locationmode=trace.locationmode;var features=locationmode==="geojson-id"?geoUtils.extractTraceFeature(calcTrace):getTopojsonFeatures(trace,geo.topojson);for(i=0;i<len;i++){calcPt=calcTrace[i];var feature=locationmode==="geojson-id"?calcPt.fOut:geoUtils.locationToFeature(locationmode,calcPt.loc,features);calcPt.lonlat=feature?feature.properties.ct:[BADNUM,BADNUM]}}var opts={padded:true};var lonArray;var latArray;if(geoLayout.fitbounds==="geojson"&&trace.locationmode==="geojson-id"){var bboxGeojson=geoUtils.computeBbox(geoUtils.getTraceGeojson(trace));lonArray=[bboxGeojson[0],bboxGeojson[2]];latArray=[bboxGeojson[1],bboxGeojson[3]]}else{lonArray=new Array(len);latArray=new Array(len);for(i=0;i<len;i++){calcPt=calcTrace[i];lonArray[i]=calcPt.lonlat[0];latArray[i]=calcPt.lonlat[1]}opts.ppad=calcMarkerSize(trace,len)}trace._extremes.lon=findExtremes(geoLayout.lonaxis._ax,lonArray,opts);trace._extremes.lat=findExtremes(geoLayout.lataxis._ax,latArray,opts)}module.exports={calcGeoJSON:calcGeoJSON,plot:plot}},{"../../constants/numerical":779,"../../lib":803,"../../lib/geo_location_utils":796,"../../lib/geojson_utils":797,"../../lib/topojson_utils":832,"../../plots/cartesian/autorange":853,"../scatter/calc":1219,"../scatter/subtypes":1243,"./style":1269,"@plotly/d3":58}],1268:[function(_dereq_,module,exports){"use strict";var subtypes=_dereq_("../scatter/subtypes");var BADNUM=_dereq_("../../constants/numerical").BADNUM;module.exports=function selectPoints(searchInfo,selectionTester){var cd=searchInfo.cd;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var selection=[];var trace=cd[0].trace;var di,lonlat,x,y,i;var hasOnlyLines=!subtypes.hasMarkers(trace)&&!subtypes.hasText(trace);if(hasOnlyLines)return[];if(selectionTester===false){for(i=0;i<cd.length;i++){cd[i].selected=0}}else{for(i=0;i<cd.length;i++){di=cd[i];lonlat=di.lonlat;if(lonlat[0]===BADNUM)continue;x=xa.c2p(lonlat);y=ya.c2p(lonlat);if(selectionTester.contains([x,y],null,i,searchInfo)){selection.push({pointNumber:i,lon:lonlat[0],lat:lonlat[1]});di.selected=1}else{di.selected=0}}}return selection}},{"../../constants/numerical":779,"../scatter/subtypes":1243}],1269:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var Color=_dereq_("../../components/color");var scatterStyle=_dereq_("../scatter/style");var stylePoints=scatterStyle.stylePoints;var styleText=scatterStyle.styleText;module.exports=function style(gd,calcTrace){if(calcTrace)styleTrace(gd,calcTrace)};function styleTrace(gd,calcTrace){var trace=calcTrace[0].trace;var s=calcTrace[0].node3;s.style("opacity",calcTrace[0].trace.opacity);stylePoints(s,trace,gd);styleText(s,trace,gd);s.selectAll("path.js-line").style("fill","none").each((function(d){var path=d3.select(this);var trace=d.trace;var line=trace.line||{};path.call(Color.stroke,line.color).call(Drawing.dashLine,line.dash||"",line.width||0);if(trace.fill!=="none"){path.call(Color.fill,trace.fillcolor)}}))}},{"../../components/color":666,"../../components/drawing":688,"../scatter/style":1242,"@plotly/d3":58}],1270:[function(_dereq_,module,exports){"use strict";var baseAttrs=_dereq_("../../plots/attributes");var scatterAttrs=_dereq_("../scatter/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var sortObjectKeys=_dereq_("../../lib/sort_object_keys");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var DASHES=_dereq_("./constants").DASHES;var scatterLineAttrs=scatterAttrs.line;var scatterMarkerAttrs=scatterAttrs.marker;var scatterMarkerLineAttrs=scatterMarkerAttrs.line;var attrs=module.exports=overrideAll({x:scatterAttrs.x,x0:scatterAttrs.x0,dx:scatterAttrs.dx,y:scatterAttrs.y,y0:scatterAttrs.y0,dy:scatterAttrs.dy,xperiod:scatterAttrs.xperiod,yperiod:scatterAttrs.yperiod,xperiod0:scatterAttrs.xperiod0,yperiod0:scatterAttrs.yperiod0,xperiodalignment:scatterAttrs.xperiodalignment,yperiodalignment:scatterAttrs.yperiodalignment,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),text:scatterAttrs.text,hovertext:scatterAttrs.hovertext,textposition:scatterAttrs.textposition,textfont:scatterAttrs.textfont,mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:scatterLineAttrs.color,width:scatterLineAttrs.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:sortObjectKeys(DASHES),dflt:"solid"}},marker:extendFlat({},colorScaleAttrs("marker"),{symbol:scatterMarkerAttrs.symbol,size:scatterMarkerAttrs.size,sizeref:scatterMarkerAttrs.sizeref,sizemin:scatterMarkerAttrs.sizemin,sizemode:scatterMarkerAttrs.sizemode,opacity:scatterMarkerAttrs.opacity,colorbar:scatterMarkerAttrs.colorbar,line:extendFlat({},colorScaleAttrs("marker.line"),{width:scatterMarkerLineAttrs.width})}),connectgaps:scatterAttrs.connectgaps,fill:extendFlat({},scatterAttrs.fill,{dflt:"none"}),fillcolor:scatterAttrs.fillcolor,selected:{marker:scatterAttrs.selected.marker,textfont:scatterAttrs.selected.textfont},unselected:{marker:scatterAttrs.unselected.marker,textfont:scatterAttrs.unselected.textfont},opacity:baseAttrs.opacity},"calc","nested");attrs.x.editType=attrs.y.editType=attrs.x0.editType=attrs.y0.editType="calc+clearAxisTypes";attrs.hovertemplate=scatterAttrs.hovertemplate;attrs.texttemplate=scatterAttrs.texttemplate},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../lib/sort_object_keys":826,"../../plot_api/edit_types":836,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../scatter/attributes":1218,"./constants":1272}],1271:[function(_dereq_,module,exports){"use strict";var cluster=_dereq_("@plotly/point-cluster");var Lib=_dereq_("../../lib");var AxisIDs=_dereq_("../../plots/cartesian/axis_ids");var findExtremes=_dereq_("../../plots/cartesian/autorange").findExtremes;var alignPeriod=_dereq_("../../plots/cartesian/align_period");var scatterCalc=_dereq_("../scatter/calc");var calcMarkerSize=scatterCalc.calcMarkerSize;var calcAxisExpansion=scatterCalc.calcAxisExpansion;var setFirstScatter=scatterCalc.setFirstScatter;var calcColorscale=_dereq_("../scatter/colorscale_calc");var convert=_dereq_("./convert");var sceneUpdate=_dereq_("./scene_update");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var TOO_MANY_POINTS=_dereq_("./constants").TOO_MANY_POINTS;module.exports=function calc(gd,trace){var fullLayout=gd._fullLayout;var xa=AxisIDs.getFromId(gd,trace.xaxis);var ya=AxisIDs.getFromId(gd,trace.yaxis);var subplot=fullLayout._plots[trace.xaxis+trace.yaxis];var len=trace._length;var hasTooManyPoints=len>=TOO_MANY_POINTS;var len2=len*2;var stash={};var i;var origX=xa.makeCalcdata(trace,"x");var origY=ya.makeCalcdata(trace,"y");var xObj=alignPeriod(trace,xa,"x",origX);var yObj=alignPeriod(trace,ya,"y",origY);var x=xObj.vals;var y=yObj.vals;trace._x=x;trace._y=y;if(trace.xperiodalignment){trace._origX=origX;trace._xStarts=xObj.starts;trace._xEnds=xObj.ends}if(trace.yperiodalignment){trace._origY=origY;trace._yStarts=yObj.starts;trace._yEnds=yObj.ends}var positions=new Array(len2);var _ids=new Array(len);for(i=0;i<len;i++){positions[i*2]=x[i]===BADNUM?NaN:x[i];positions[i*2+1]=y[i]===BADNUM?NaN:y[i];_ids[i]=i}if(xa.type==="log"){for(i=0;i<len2;i+=2){positions[i]=xa.c2l(positions[i])}}if(ya.type==="log"){for(i=1;i<len2;i+=2){positions[i]=ya.c2l(positions[i])}}if(hasTooManyPoints&&(xa.type!=="log"&&ya.type!=="log")){stash.tree=cluster(positions)}else{stash.ids=_ids}calcColorscale(gd,trace);var opts=sceneOptions(gd,subplot,trace,positions,x,y);var scene=sceneUpdate(gd,subplot);setFirstScatter(fullLayout,trace);var ppad;if(!hasTooManyPoints){ppad=calcMarkerSize(trace,len)}else if(opts.marker){ppad=opts.marker.sizeAvg||Math.max(opts.marker.size,3)}calcAxisExpansion(gd,trace,xa,ya,x,y,ppad);if(opts.errorX)expandForErrorBars(trace,xa,opts.errorX);if(opts.errorY)expandForErrorBars(trace,ya,opts.errorY);if(opts.fill&&!scene.fill2d)scene.fill2d=true;if(opts.marker&&!scene.scatter2d)scene.scatter2d=true;if(opts.line&&!scene.line2d)scene.line2d=true;if((opts.errorX||opts.errorY)&&!scene.error2d)scene.error2d=true;if(opts.text&&!scene.glText)scene.glText=true;if(opts.marker)opts.marker.snap=len;scene.lineOptions.push(opts.line);scene.errorXOptions.push(opts.errorX);scene.errorYOptions.push(opts.errorY);scene.fillOptions.push(opts.fill);scene.markerOptions.push(opts.marker);scene.markerSelectedOptions.push(opts.markerSel);scene.markerUnselectedOptions.push(opts.markerUnsel);scene.textOptions.push(opts.text);scene.textSelectedOptions.push(opts.textSel);scene.textUnselectedOptions.push(opts.textUnsel);scene.selectBatch.push([]);scene.unselectBatch.push([]);stash._scene=scene;stash.index=scene.count;stash.x=x;stash.y=y;stash.positions=positions;scene.count++;return[{x:false,y:false,t:stash,trace:trace}]};function expandForErrorBars(trace,ax,opts){var extremes=trace._extremes[ax._id];var errExt=findExtremes(ax,opts._bnds,{padded:true});extremes.min=extremes.min.concat(errExt.min);extremes.max=extremes.max.concat(errExt.max)}function sceneOptions(gd,subplot,trace,positions,x,y){var opts=convert.style(gd,trace);if(opts.marker){opts.marker.positions=positions}if(opts.line&&positions.length>1){Lib.extendFlat(opts.line,convert.linePositions(gd,trace,positions))}if(opts.errorX||opts.errorY){var errors=convert.errorBarPositions(gd,trace,positions,x,y);if(opts.errorX){Lib.extendFlat(opts.errorX,errors.x)}if(opts.errorY){Lib.extendFlat(opts.errorY,errors.y)}}if(opts.text){Lib.extendFlat(opts.text,{positions:positions},convert.textPosition(gd,trace,opts.text,opts.marker));Lib.extendFlat(opts.textSel,{positions:positions},convert.textPosition(gd,trace,opts.text,opts.markerSel));Lib.extendFlat(opts.textUnsel,{positions:positions},convert.textPosition(gd,trace,opts.text,opts.markerUnsel))}return opts}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/align_period":851,"../../plots/cartesian/autorange":853,"../../plots/cartesian/axis_ids":858,"../scatter/calc":1219,"../scatter/colorscale_calc":1221,"./constants":1272,"./convert":1273,"./scene_update":1281,"@plotly/point-cluster":59}],1272:[function(_dereq_,module,exports){"use strict";var SYMBOL_SIZE=20;module.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:SYMBOL_SIZE,SYMBOL_STROKE:SYMBOL_SIZE/20,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1273:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var svgSdf=_dereq_("svg-path-sdf");var rgba=_dereq_("color-normalize");var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var AxisIDs=_dereq_("../../plots/cartesian/axis_ids");var formatColor=_dereq_("../../lib/gl_format_color").formatColor;var subTypes=_dereq_("../scatter/subtypes");var makeBubbleSizeFn=_dereq_("../scatter/make_bubble_size_func");var helpers=_dereq_("./helpers");var constants=_dereq_("./constants");var DESELECTDIM=_dereq_("../../constants/interactions").DESELECTDIM;var TEXTOFFSETSIGN={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1};var appendArrayPointValue=_dereq_("../../components/fx/helpers").appendArrayPointValue;function convertStyle(gd,trace){var i;var opts={marker:undefined,markerSel:undefined,markerUnsel:undefined,line:undefined,fill:undefined,errorX:undefined,errorY:undefined,text:undefined,textSel:undefined,textUnsel:undefined};var plotGlPixelRatio=gd._context.plotGlPixelRatio;if(trace.visible!==true)return opts;if(subTypes.hasText(trace)){opts.text=convertTextStyle(gd,trace);opts.textSel=convertTextSelection(gd,trace,trace.selected);opts.textUnsel=convertTextSelection(gd,trace,trace.unselected)}if(subTypes.hasMarkers(trace)){opts.marker=convertMarkerStyle(trace);opts.markerSel=convertMarkerSelection(trace,trace.selected);opts.markerUnsel=convertMarkerSelection(trace,trace.unselected);if(!trace.unselected&&Lib.isArrayOrTypedArray(trace.marker.opacity)){var mo=trace.marker.opacity;opts.markerUnsel.opacity=new Array(mo.length);for(i=0;i<mo.length;i++){opts.markerUnsel.opacity[i]=DESELECTDIM*mo[i]}}}if(subTypes.hasLines(trace)){opts.line={overlay:true,thickness:trace.line.width*plotGlPixelRatio,color:trace.line.color,opacity:trace.opacity};var dashes=(constants.DASHES[trace.line.dash]||[1]).slice();for(i=0;i<dashes.length;++i){dashes[i]*=trace.line.width*plotGlPixelRatio}opts.line.dashes=dashes}if(trace.error_x&&trace.error_x.visible){opts.errorX=convertErrorBarStyle(trace,trace.error_x,plotGlPixelRatio)}if(trace.error_y&&trace.error_y.visible){opts.errorY=convertErrorBarStyle(trace,trace.error_y,plotGlPixelRatio)}if(!!trace.fill&&trace.fill!=="none"){opts.fill={closed:true,fill:trace.fillcolor,thickness:0}}return opts}function convertTextStyle(gd,trace){var fullLayout=gd._fullLayout;var count=trace._length;var textfontIn=trace.textfont;var textpositionIn=trace.textposition;var textPos=Array.isArray(textpositionIn)?textpositionIn:[textpositionIn];var tfc=textfontIn.color;var tfs=textfontIn.size;var tff=textfontIn.family;var optsOut={};var i;var plotGlPixelRatio=gd._context.plotGlPixelRatio;var texttemplate=trace.texttemplate;if(texttemplate){optsOut.text=[];var d3locale=fullLayout._d3locale;var isArray=Array.isArray(texttemplate);var N=isArray?Math.min(texttemplate.length,count):count;var txt=isArray?function(i){return texttemplate[i]}:function(){return texttemplate};for(i=0;i<N;i++){var d={i:i};var labels=trace._module.formatLabels(d,trace,fullLayout);var pointValues={};appendArrayPointValue(pointValues,trace,i);var meta=trace._meta||{};optsOut.text.push(Lib.texttemplateString(txt(i),labels,d3locale,pointValues,d,meta))}}else{if(Array.isArray(trace.text)&&trace.text.length<count){optsOut.text=trace.text.slice()}else{optsOut.text=trace.text}}if(Array.isArray(optsOut.text)){for(i=optsOut.text.length;i<count;i++){optsOut.text[i]=""}}optsOut.opacity=trace.opacity;optsOut.font={};optsOut.align=[];optsOut.baseline=[];for(i=0;i<textPos.length;i++){var tp=textPos[i].split(/\s+/);switch(tp[1]){case"left":optsOut.align.push("right");break;case"right":optsOut.align.push("left");break;default:optsOut.align.push(tp[1])}switch(tp[0]){case"top":optsOut.baseline.push("bottom");break;case"bottom":optsOut.baseline.push("top");break;default:optsOut.baseline.push(tp[0])}}if(Array.isArray(tfc)){optsOut.color=new Array(count);for(i=0;i<count;i++){optsOut.color[i]=tfc[i]}}else{optsOut.color=tfc}if(Lib.isArrayOrTypedArray(tfs)||Array.isArray(tff)){optsOut.font=new Array(count);for(i=0;i<count;i++){var fonti=optsOut.font[i]={};fonti.size=(Lib.isTypedArray(tfs)?tfs[i]:Array.isArray(tfs)?isNumeric(tfs[i])?tfs[i]:0:tfs)*plotGlPixelRatio;fonti.family=Array.isArray(tff)?tff[i]:tff}}else{optsOut.font={size:tfs*plotGlPixelRatio,family:tff}}return optsOut}function convertMarkerStyle(trace){var count=trace._length;var optsIn=trace.marker;var optsOut={};var i;var multiSymbol=Lib.isArrayOrTypedArray(optsIn.symbol);var multiColor=Lib.isArrayOrTypedArray(optsIn.color);var multiLineColor=Lib.isArrayOrTypedArray(optsIn.line.color);var multiOpacity=Lib.isArrayOrTypedArray(optsIn.opacity);var multiSize=Lib.isArrayOrTypedArray(optsIn.size);var multiLineWidth=Lib.isArrayOrTypedArray(optsIn.line.width);var isOpen;if(!multiSymbol)isOpen=helpers.isOpenSymbol(optsIn.symbol);if(multiSymbol||multiColor||multiLineColor||multiOpacity){optsOut.colors=new Array(count);optsOut.borderColors=new Array(count);var colors=formatColor(optsIn,optsIn.opacity,count);var borderColors=formatColor(optsIn.line,optsIn.opacity,count);if(!Array.isArray(borderColors[0])){var borderColor=borderColors;borderColors=Array(count);for(i=0;i<count;i++){borderColors[i]=borderColor}}if(!Array.isArray(colors[0])){var color=colors;colors=Array(count);for(i=0;i<count;i++){colors[i]=color}}optsOut.colors=colors;optsOut.borderColors=borderColors;for(i=0;i<count;i++){if(multiSymbol){var symbol=optsIn.symbol[i];isOpen=helpers.isOpenSymbol(symbol)}if(isOpen){borderColors[i]=colors[i].slice();colors[i]=colors[i].slice();colors[i][3]=0}}optsOut.opacity=trace.opacity}else{if(isOpen){optsOut.color=rgba(optsIn.color,"uint8");optsOut.color[3]=0;optsOut.borderColor=rgba(optsIn.color,"uint8")}else{optsOut.color=rgba(optsIn.color,"uint8");optsOut.borderColor=rgba(optsIn.line.color,"uint8")}optsOut.opacity=trace.opacity*optsIn.opacity}if(multiSymbol){optsOut.markers=new Array(count);for(i=0;i<count;i++){optsOut.markers[i]=getSymbolSdf(optsIn.symbol[i])}}else{optsOut.marker=getSymbolSdf(optsIn.symbol)}var sizeFactor=1;var markerSizeFunc=makeBubbleSizeFn(trace,sizeFactor);var s;if(multiSize||multiLineWidth){var sizes=optsOut.sizes=new Array(count);var borderSizes=optsOut.borderSizes=new Array(count);var sizeTotal=0;var sizeAvg;if(multiSize){for(i=0;i<count;i++){sizes[i]=markerSizeFunc(optsIn.size[i]);sizeTotal+=sizes[i]}sizeAvg=sizeTotal/count}else{s=markerSizeFunc(optsIn.size);for(i=0;i<count;i++){sizes[i]=s}}if(multiLineWidth){for(i=0;i<count;i++){borderSizes[i]=optsIn.line.width[i]}}else{s=optsIn.line.width;for(i=0;i<count;i++){borderSizes[i]=s}}optsOut.sizeAvg=sizeAvg}else{optsOut.size=markerSizeFunc(optsIn&&optsIn.size||10);optsOut.borderSizes=markerSizeFunc(optsIn.line.width)}return optsOut}function convertMarkerSelection(trace,target){var optsIn=trace.marker;var optsOut={};if(!target)return optsOut;if(target.marker&&target.marker.symbol){optsOut=convertMarkerStyle(Lib.extendFlat({},optsIn,target.marker))}else if(target.marker){if(target.marker.size)optsOut.size=target.marker.size;if(target.marker.color)optsOut.colors=target.marker.color;if(target.marker.opacity!==undefined)optsOut.opacity=target.marker.opacity}return optsOut}function convertTextSelection(gd,trace,target){var optsOut={};if(!target)return optsOut;if(target.textfont){var optsIn={opacity:1,text:trace.text,texttemplate:trace.texttemplate,textposition:trace.textposition,textfont:Lib.extendFlat({},trace.textfont)};if(target.textfont){Lib.extendFlat(optsIn.textfont,target.textfont)}optsOut=convertTextStyle(gd,optsIn)}return optsOut}function convertErrorBarStyle(trace,target,plotGlPixelRatio){var optsOut={capSize:target.width*2*plotGlPixelRatio,lineWidth:target.thickness*plotGlPixelRatio,color:target.color};if(target.copy_ystyle){optsOut=trace.error_y}return optsOut}var SYMBOL_SDF_SIZE=constants.SYMBOL_SDF_SIZE;var SYMBOL_SIZE=constants.SYMBOL_SIZE;var SYMBOL_STROKE=constants.SYMBOL_STROKE;var SYMBOL_SDF={};var SYMBOL_SVG_CIRCLE=Drawing.symbolFuncs[0](SYMBOL_SIZE*.05);function getSymbolSdf(symbol){if(symbol==="circle")return null;var symbolPath,symbolSdf;var symbolNumber=Drawing.symbolNumber(symbol);var symbolFunc=Drawing.symbolFuncs[symbolNumber%100];var symbolNoDot=!!Drawing.symbolNoDot[symbolNumber%100];var symbolNoFill=!!Drawing.symbolNoFill[symbolNumber%100];var isDot=helpers.isDotSymbol(symbol);if(SYMBOL_SDF[symbol])return SYMBOL_SDF[symbol];if(isDot&&!symbolNoDot){symbolPath=symbolFunc(SYMBOL_SIZE*1.1)+SYMBOL_SVG_CIRCLE}else{symbolPath=symbolFunc(SYMBOL_SIZE)}symbolSdf=svgSdf(symbolPath,{w:SYMBOL_SDF_SIZE,h:SYMBOL_SDF_SIZE,viewBox:[-SYMBOL_SIZE,-SYMBOL_SIZE,SYMBOL_SIZE,SYMBOL_SIZE],stroke:symbolNoFill?SYMBOL_STROKE:-SYMBOL_STROKE});SYMBOL_SDF[symbol]=symbolSdf;return symbolSdf||null}function convertLinePositions(gd,trace,positions){var len=positions.length;var count=len/2;var linePositions;var i;if(subTypes.hasLines(trace)&&count){if(trace.line.shape==="hv"){linePositions=[];for(i=0;i<count-1;i++){if(isNaN(positions[i*2])||isNaN(positions[i*2+1])){linePositions.push(NaN,NaN,NaN,NaN)}else{linePositions.push(positions[i*2],positions[i*2+1]);if(!isNaN(positions[i*2+2])&&!isNaN(positions[i*2+3])){linePositions.push(positions[i*2+2],positions[i*2+1])}else{linePositions.push(NaN,NaN)}}}linePositions.push(positions[len-2],positions[len-1])}else if(trace.line.shape==="hvh"){linePositions=[];for(i=0;i<count-1;i++){if(isNaN(positions[i*2])||isNaN(positions[i*2+1])||isNaN(positions[i*2+2])||isNaN(positions[i*2+3])){if(!isNaN(positions[i*2])&&!isNaN(positions[i*2+1])){linePositions.push(positions[i*2],positions[i*2+1])}else{linePositions.push(NaN,NaN)}linePositions.push(NaN,NaN)}else{var midPtX=(positions[i*2]+positions[i*2+2])/2;linePositions.push(positions[i*2],positions[i*2+1],midPtX,positions[i*2+1],midPtX,positions[i*2+3])}}linePositions.push(positions[len-2],positions[len-1])}else if(trace.line.shape==="vhv"){linePositions=[];for(i=0;i<count-1;i++){if(isNaN(positions[i*2])||isNaN(positions[i*2+1])||isNaN(positions[i*2+2])||isNaN(positions[i*2+3])){if(!isNaN(positions[i*2])&&!isNaN(positions[i*2+1])){linePositions.push(positions[i*2],positions[i*2+1])}else{linePositions.push(NaN,NaN)}linePositions.push(NaN,NaN)}else{var midPtY=(positions[i*2+1]+positions[i*2+3])/2;linePositions.push(positions[i*2],positions[i*2+1],positions[i*2],midPtY,positions[i*2+2],midPtY)}}linePositions.push(positions[len-2],positions[len-1])}else if(trace.line.shape==="vh"){linePositions=[];for(i=0;i<count-1;i++){if(isNaN(positions[i*2])||isNaN(positions[i*2+1])){linePositions.push(NaN,NaN,NaN,NaN)}else{linePositions.push(positions[i*2],positions[i*2+1]);if(!isNaN(positions[i*2+2])&&!isNaN(positions[i*2+3])){linePositions.push(positions[i*2],positions[i*2+3])}else{linePositions.push(NaN,NaN)}}}linePositions.push(positions[len-2],positions[len-1])}else{linePositions=positions}}var hasNaN=false;for(i=0;i<linePositions.length;i++){if(isNaN(linePositions[i])){hasNaN=true;break}}var join=hasNaN||linePositions.length>constants.TOO_MANY_POINTS?"rect":subTypes.hasMarkers(trace)?"rect":"round";if(hasNaN&&trace.connectgaps){var lastX=linePositions[0];var lastY=linePositions[1];for(i=0;i<linePositions.length;i+=2){if(isNaN(linePositions[i])||isNaN(linePositions[i+1])){linePositions[i]=lastX;linePositions[i+1]=lastY}else{lastX=linePositions[i];lastY=linePositions[i+1]}}}return{join:join,positions:linePositions}}function convertErrorBarPositions(gd,trace,positions,x,y){var makeComputeError=Registry.getComponentMethod("errorbars","makeComputeError");var xa=AxisIDs.getFromId(gd,trace.xaxis);var ya=AxisIDs.getFromId(gd,trace.yaxis);var count=positions.length/2;var out={};function convertOneAxis(coords,ax){var axLetter=ax._id.charAt(0);var opts=trace["error_"+axLetter];if(opts&&opts.visible&&(ax.type==="linear"||ax.type==="log")){var computeError=makeComputeError(opts);var pOffset={x:0,y:1}[axLetter];var eOffset={x:[0,1,2,3],y:[2,3,0,1]}[axLetter];var errors=new Float64Array(4*count);var minShoe=Infinity;var maxHat=-Infinity;for(var i=0,j=0;i<count;i++,j+=4){var dc=coords[i];if(isNumeric(dc)){var dl=positions[i*2+pOffset];var vals=computeError(dc,i);var lv=vals[0];var hv=vals[1];if(isNumeric(lv)&&isNumeric(hv)){var shoe=dc-lv;var hat=dc+hv;errors[j+eOffset[0]]=dl-ax.c2l(shoe);errors[j+eOffset[1]]=ax.c2l(hat)-dl;errors[j+eOffset[2]]=0;errors[j+eOffset[3]]=0;minShoe=Math.min(minShoe,dc-lv);maxHat=Math.max(maxHat,dc+hv)}}}out[axLetter]={positions:positions,errors:errors,_bnds:[minShoe,maxHat]}}}convertOneAxis(x,xa);convertOneAxis(y,ya);return out}function convertTextPosition(gd,trace,textOpts,markerOpts){var count=trace._length;var out={};var i;if(subTypes.hasMarkers(trace)){var fontOpts=textOpts.font;var align=textOpts.align;var baseline=textOpts.baseline;out.offset=new Array(count);for(i=0;i<count;i++){var ms=markerOpts.sizes?markerOpts.sizes[i]:markerOpts.size;var fs=Array.isArray(fontOpts)?fontOpts[i].size:fontOpts.size;var a=Array.isArray(align)?align.length>1?align[i]:align[0]:align;var b=Array.isArray(baseline)?baseline.length>1?baseline[i]:baseline[0]:baseline;var hSign=TEXTOFFSETSIGN[a];var vSign=TEXTOFFSETSIGN[b];var xPad=ms?ms/.8+1:0;var yPad=-vSign*xPad-vSign*.5;out.offset[i]=[hSign*xPad/fs,yPad/fs]}}return out}module.exports={style:convertStyle,markerStyle:convertMarkerStyle,markerSelection:convertMarkerSelection,linePositions:convertLinePositions,errorBarPositions:convertErrorBarPositions,textPosition:convertTextPosition}},{"../../components/drawing":688,"../../components/fx/helpers":702,"../../constants/interactions":778,"../../lib":803,"../../lib/gl_format_color":799,"../../plots/cartesian/axis_ids":858,"../../registry":931,"../scatter/make_bubble_size_func":1235,"../scatter/subtypes":1243,"./constants":1272,"./helpers":1277,"color-normalize":131,"fast-isnumeric":249,"svg-path-sdf":595}],1274:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Registry=_dereq_("../../registry");var helpers=_dereq_("./helpers");var attributes=_dereq_("./attributes");var constants=_dereq_("../scatter/constants");var subTypes=_dereq_("../scatter/subtypes");var handleXYDefaults=_dereq_("../scatter/xy_defaults");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var handleLineDefaults=_dereq_("../scatter/line_defaults");var handleFillColorDefaults=_dereq_("../scatter/fillcolor_defaults");var handleTextDefaults=_dereq_("../scatter/text_defaults");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var isOpen=traceIn.marker?helpers.isOpenSymbol(traceIn.marker.symbol):false;var isBubble=subTypes.isBubble(traceIn);var len=handleXYDefaults(traceIn,traceOut,layout,coerce);if(!len){traceOut.visible=false;return}handlePeriodDefaults(traceIn,traceOut,layout,coerce);coerce("xhoverformat");coerce("yhoverformat");var defaultMode=len<constants.PTS_LINESONLY?"lines+markers":"lines";coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("mode",defaultMode);if(subTypes.hasLines(traceOut)){coerce("connectgaps");handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);coerce("line.shape")}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce);coerce("marker.line.width",isOpen||isBubble?1:0)}if(subTypes.hasText(traceOut)){coerce("texttemplate");handleTextDefaults(traceIn,traceOut,layout,coerce)}var lineColor=(traceOut.line||{}).color;var markerColor=(traceOut.marker||{}).color;coerce("fill");if(traceOut.fill!=="none"){handleFillColorDefaults(traceIn,traceOut,defaultColor,coerce)}var errorBarsSupplyDefaults=Registry.getComponentMethod("errorbars","supplyDefaults");errorBarsSupplyDefaults(traceIn,traceOut,lineColor||markerColor||defaultColor,{axis:"y"});errorBarsSupplyDefaults(traceIn,traceOut,lineColor||markerColor||defaultColor,{axis:"x",inherit:"y"});Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../lib":803,"../../registry":931,"../scatter/constants":1222,"../scatter/fillcolor_defaults":1226,"../scatter/line_defaults":1231,"../scatter/marker_defaults":1237,"../scatter/period_defaults":1238,"../scatter/subtypes":1243,"../scatter/text_defaults":1244,"../scatter/xy_defaults":1245,"./attributes":1270,"./helpers":1277}],1275:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var DESELECTDIM=_dereq_("../../constants/interactions").DESELECTDIM;function styleTextSelection(cd){var cd0=cd[0];var trace=cd0.trace;var stash=cd0.t;var scene=stash._scene;var index=stash.index;var els=scene.selectBatch[index];var unels=scene.unselectBatch[index];var baseOpts=scene.textOptions[index];var selOpts=scene.textSelectedOptions[index]||{};var unselOpts=scene.textUnselectedOptions[index]||{};var opts=Lib.extendFlat({},baseOpts);var i,j;if(els.length||unels.length){var stc=selOpts.color;var utc=unselOpts.color;var base=baseOpts.color;var hasArrayBase=Array.isArray(base);opts.color=new Array(trace._length);for(i=0;i<els.length;i++){j=els[i];opts.color[j]=stc||(hasArrayBase?base[j]:base)}for(i=0;i<unels.length;i++){j=unels[i];var basej=hasArrayBase?base[j]:base;opts.color[j]=utc?utc:stc?basej:Color.addOpacity(basej,DESELECTDIM)}}scene.glText[index].update(opts)}module.exports={styleTextSelection:styleTextSelection}},{"../../components/color":666,"../../constants/interactions":778,"../../lib":803}],1276:[function(_dereq_,module,exports){"use strict";var scatterFormatLabels=_dereq_("../scatter/format_labels");module.exports=function formatLabels(cdi,trace,fullLayout){var i=cdi.i;if(!("x"in cdi))cdi.x=trace._x[i];if(!("y"in cdi))cdi.y=trace._y[i];return scatterFormatLabels(cdi,trace,fullLayout)}},{"../scatter/format_labels":1227}],1277:[function(_dereq_,module,exports){"use strict";var constants=_dereq_("./constants");exports.isOpenSymbol=function(symbol){return typeof symbol==="string"?constants.OPEN_RE.test(symbol):symbol%200>100};exports.isDotSymbol=function(symbol){return typeof symbol==="string"?constants.DOT_RE.test(symbol):symbol>200}},{"./constants":1272}],1278:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var getTraceColor=_dereq_("../scatter/get_trace_color");function hoverPoints(pointData,xval,yval,hovermode){var cd=pointData.cd;var stash=cd[0].t;var trace=cd[0].trace;var xa=pointData.xa;var ya=pointData.ya;var x=stash.x;var y=stash.y;var xpx=xa.c2p(xval);var ypx=ya.c2p(yval);var maxDistance=pointData.distance;var ids;if(stash.tree){var xl=xa.p2c(xpx-maxDistance);var xr=xa.p2c(xpx+maxDistance);var yl=ya.p2c(ypx-maxDistance);var yr=ya.p2c(ypx+maxDistance);if(hovermode==="x"){ids=stash.tree.range(Math.min(xl,xr),Math.min(ya._rl[0],ya._rl[1]),Math.max(xl,xr),Math.max(ya._rl[0],ya._rl[1]))}else{ids=stash.tree.range(Math.min(xl,xr),Math.min(yl,yr),Math.max(xl,xr),Math.max(yl,yr))}}else{ids=stash.ids}var k,closestId,ptx,pty,i,dx,dy,dist,dxy;var minDist=maxDistance;if(hovermode==="x"){var xPeriod=!!trace.xperiodalignment;var yPeriod=!!trace.yperiodalignment;for(i=0;i<ids.length;i++){k=ids[i];ptx=x[k];dx=Math.abs(xa.c2p(ptx)-xpx);if(xPeriod){var x0=xa.c2p(trace._xStarts[k]);var x1=xa.c2p(trace._xEnds[k]);dx=xpx>=Math.min(x0,x1)&&xpx<=Math.max(x0,x1)?0:Infinity}if(dx<minDist){minDist=dx;pty=y[k];dy=ya.c2p(pty)-ypx;if(yPeriod){var y0=ya.c2p(trace._yStarts[k]);var y1=ya.c2p(trace._yEnds[k]);dy=ypx>=Math.min(y0,y1)&&ypx<=Math.max(y0,y1)?0:Infinity}dxy=Math.sqrt(dx*dx+dy*dy);closestId=ids[i]}}}else{for(i=ids.length-1;i>-1;i--){k=ids[i];ptx=x[k];pty=y[k];dx=xa.c2p(ptx)-xpx;dy=ya.c2p(pty)-ypx;dist=Math.sqrt(dx*dx+dy*dy);if(dist<minDist){minDist=dxy=dist;closestId=k}}}pointData.index=closestId;pointData.distance=minDist;pointData.dxy=dxy;if(closestId===undefined)return[pointData];return[calcHover(pointData,x,y,trace)]}function calcHover(pointData,x,y,trace){var xa=pointData.xa;var ya=pointData.ya;var minDist=pointData.distance;var dxy=pointData.dxy;var id=pointData.index;var di={pointNumber:id,x:x[id],y:y[id]};di.tx=Array.isArray(trace.text)?trace.text[id]:trace.text;di.htx=Array.isArray(trace.hovertext)?trace.hovertext[id]:trace.hovertext;di.data=Array.isArray(trace.customdata)?trace.customdata[id]:trace.customdata;di.tp=Array.isArray(trace.textposition)?trace.textposition[id]:trace.textposition;var font=trace.textfont;if(font){di.ts=Lib.isArrayOrTypedArray(font.size)?font.size[id]:font.size;di.tc=Array.isArray(font.color)?font.color[id]:font.color;di.tf=Array.isArray(font.family)?font.family[id]:font.family}var marker=trace.marker;if(marker){di.ms=Lib.isArrayOrTypedArray(marker.size)?marker.size[id]:marker.size;di.mo=Lib.isArrayOrTypedArray(marker.opacity)?marker.opacity[id]:marker.opacity;di.mx=Lib.isArrayOrTypedArray(marker.symbol)?marker.symbol[id]:marker.symbol;di.mc=Lib.isArrayOrTypedArray(marker.color)?marker.color[id]:marker.color}var line=marker&&marker.line;if(line){di.mlc=Array.isArray(line.color)?line.color[id]:line.color;di.mlw=Lib.isArrayOrTypedArray(line.width)?line.width[id]:line.width}var grad=marker&&marker.gradient;if(grad&&grad.type!=="none"){di.mgt=Array.isArray(grad.type)?grad.type[id]:grad.type;di.mgc=Array.isArray(grad.color)?grad.color[id]:grad.color}var xp=xa.c2p(di.x,true);var yp=ya.c2p(di.y,true);var rad=di.mrc||1;var hoverlabel=trace.hoverlabel;if(hoverlabel){di.hbg=Array.isArray(hoverlabel.bgcolor)?hoverlabel.bgcolor[id]:hoverlabel.bgcolor;di.hbc=Array.isArray(hoverlabel.bordercolor)?hoverlabel.bordercolor[id]:hoverlabel.bordercolor;di.hts=Lib.isArrayOrTypedArray(hoverlabel.font.size)?hoverlabel.font.size[id]:hoverlabel.font.size;di.htc=Array.isArray(hoverlabel.font.color)?hoverlabel.font.color[id]:hoverlabel.font.color;di.htf=Array.isArray(hoverlabel.font.family)?hoverlabel.font.family[id]:hoverlabel.font.family;di.hnl=Lib.isArrayOrTypedArray(hoverlabel.namelength)?hoverlabel.namelength[id]:hoverlabel.namelength}var hoverinfo=trace.hoverinfo;if(hoverinfo){di.hi=Array.isArray(hoverinfo)?hoverinfo[id]:hoverinfo}var hovertemplate=trace.hovertemplate;if(hovertemplate){di.ht=Array.isArray(hovertemplate)?hovertemplate[id]:hovertemplate}var fakeCd={};fakeCd[pointData.index]=di;var origX=trace._origX;var origY=trace._origY;var pointData2=Lib.extendFlat({},pointData,{color:getTraceColor(trace,di),x0:xp-rad,x1:xp+rad,xLabelVal:origX?origX[id]:di.x,y0:yp-rad,y1:yp+rad,yLabelVal:origY?origY[id]:di.y,cd:fakeCd,distance:minDist,spikeDistance:dxy,hovertemplate:di.ht});if(di.htx)pointData2.text=di.htx;else if(di.tx)pointData2.text=di.tx;else if(trace.text)pointData2.text=trace.text;Lib.fillText(di,trace,pointData2);Registry.getComponentMethod("errorbars","hoverInfo")(di,trace,pointData2);return pointData2}module.exports={hoverPoints:hoverPoints,calcHover:calcHover}},{"../../lib":803,"../../registry":931,"../scatter/get_trace_color":1228}],1279:[function(_dereq_,module,exports){"use strict";var hover=_dereq_("./hover");module.exports={moduleType:"trace",name:"scattergl",basePlotModule:_dereq_("../../plots/cartesian"),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),crossTraceDefaults:_dereq_("../scatter/cross_trace_defaults"),colorbar:_dereq_("../scatter/marker_colorbar"),formatLabels:_dereq_("./format_labels"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),hoverPoints:hover.hoverPoints,selectPoints:_dereq_("./select"),meta:{}}},{"../../plots/cartesian":868,"../scatter/cross_trace_defaults":1224,"../scatter/marker_colorbar":1236,"./attributes":1270,"./calc":1271,"./defaults":1274,"./format_labels":1276,"./hover":1278,"./plot":1280,"./select":1282}],1280:[function(_dereq_,module,exports){"use strict";var createScatter=_dereq_("regl-scatter2d");var createLine=_dereq_("regl-line2d");var createError=_dereq_("regl-error2d");var Text=_dereq_("gl-text");var Lib=_dereq_("../../lib");var selectMode=_dereq_("../../components/dragelement/helpers").selectMode;var prepareRegl=_dereq_("../../lib/prepare_regl");var subTypes=_dereq_("../scatter/subtypes");var linkTraces=_dereq_("../scatter/link_traces");var styleTextSelection=_dereq_("./edit_style").styleTextSelection;function getViewport(fullLayout,xaxis,yaxis,plotGlPixelRatio){var gs=fullLayout._size;var width=fullLayout.width*plotGlPixelRatio;var height=fullLayout.height*plotGlPixelRatio;var l=gs.l*plotGlPixelRatio;var b=gs.b*plotGlPixelRatio;var r=gs.r*plotGlPixelRatio;var t=gs.t*plotGlPixelRatio;var w=gs.w*plotGlPixelRatio;var h=gs.h*plotGlPixelRatio;return[l+xaxis.domain[0]*w,b+yaxis.domain[0]*h,width-r-(1-xaxis.domain[1])*w,height-t-(1-yaxis.domain[1])*h]}module.exports=function plot(gd,subplot,cdata){if(!cdata.length)return;var fullLayout=gd._fullLayout;var scene=subplot._scene;var xaxis=subplot.xaxis;var yaxis=subplot.yaxis;var i,j;if(!scene)return;var success=prepareRegl(gd,["ANGLE_instanced_arrays","OES_element_index_uint"]);if(!success){scene.init();return}var count=scene.count;var regl=fullLayout._glcanvas.data()[0].regl;linkTraces(gd,subplot,cdata);if(scene.dirty){if(scene.error2d===true){scene.error2d=createError(regl)}if(scene.line2d===true){scene.line2d=createLine(regl)}if(scene.scatter2d===true){scene.scatter2d=createScatter(regl)}if(scene.fill2d===true){scene.fill2d=createLine(regl)}if(scene.glText===true){scene.glText=new Array(count);for(i=0;i<count;i++){scene.glText[i]=new Text(regl)}}if(scene.glText){if(count>scene.glText.length){var textsToAdd=count-scene.glText.length;for(i=0;i<textsToAdd;i++){scene.glText.push(new Text(regl))}}else if(count<scene.glText.length){var textsToRemove=scene.glText.length-count;var removedTexts=scene.glText.splice(count,textsToRemove);removedTexts.forEach((function(text){text.destroy()}))}for(i=0;i<count;i++){scene.glText[i].update(scene.textOptions[i])}}if(scene.line2d){scene.line2d.update(scene.lineOptions);scene.lineOptions=scene.lineOptions.map((function(lineOptions){if(lineOptions&&lineOptions.positions){var srcPos=lineOptions.positions;var firstptdef=0;while(firstptdef<srcPos.length&&(isNaN(srcPos[firstptdef])||isNaN(srcPos[firstptdef+1]))){firstptdef+=2}var lastptdef=srcPos.length-2;while(lastptdef>firstptdef&&(isNaN(srcPos[lastptdef])||isNaN(srcPos[lastptdef+1]))){lastptdef-=2}lineOptions.positions=srcPos.slice(firstptdef,lastptdef+2)}return lineOptions}));scene.line2d.update(scene.lineOptions)}if(scene.error2d){var errorBatch=(scene.errorXOptions||[]).concat(scene.errorYOptions||[]);scene.error2d.update(errorBatch)}if(scene.scatter2d){scene.scatter2d.update(scene.markerOptions)}scene.fillOrder=Lib.repeat(null,count);if(scene.fill2d){scene.fillOptions=scene.fillOptions.map((function(fillOptions,i){var cdscatter=cdata[i];if(!fillOptions||!cdscatter||!cdscatter[0]||!cdscatter[0].trace)return;var cd=cdscatter[0];var trace=cd.trace;var stash=cd.t;var lineOptions=scene.lineOptions[i];var last,j;var fillData=[];if(trace._ownfill)fillData.push(i);if(trace._nexttrace)fillData.push(i+1);if(fillData.length)scene.fillOrder[i]=fillData;var pos=[];var srcPos=lineOptions&&lineOptions.positions||stash.positions;var firstptdef,lastptdef;if(trace.fill==="tozeroy"){firstptdef=0;while(firstptdef<srcPos.length&&isNaN(srcPos[firstptdef+1])){firstptdef+=2}lastptdef=srcPos.length-2;while(lastptdef>firstptdef&&isNaN(srcPos[lastptdef+1])){lastptdef-=2}if(srcPos[firstptdef+1]!==0){pos=[srcPos[firstptdef],0]}pos=pos.concat(srcPos.slice(firstptdef,lastptdef+2));if(srcPos[lastptdef+1]!==0){pos=pos.concat([srcPos[lastptdef],0])}}else if(trace.fill==="tozerox"){firstptdef=0;while(firstptdef<srcPos.length&&isNaN(srcPos[firstptdef])){firstptdef+=2}lastptdef=srcPos.length-2;while(lastptdef>firstptdef&&isNaN(srcPos[lastptdef])){lastptdef-=2}if(srcPos[firstptdef]!==0){pos=[0,srcPos[firstptdef+1]]}pos=pos.concat(srcPos.slice(firstptdef,lastptdef+2));if(srcPos[lastptdef]!==0){pos=pos.concat([0,srcPos[lastptdef+1]])}}else if(trace.fill==="toself"||trace.fill==="tonext"){pos=[];last=0;fillOptions.splitNull=true;for(j=0;j<srcPos.length;j+=2){if(isNaN(srcPos[j])||isNaN(srcPos[j+1])){pos=pos.concat(srcPos.slice(last,j));pos.push(srcPos[last],srcPos[last+1]);pos.push(null,null);last=j+2}}pos=pos.concat(srcPos.slice(last));if(last){pos.push(srcPos[last],srcPos[last+1])}}else{var nextTrace=trace._nexttrace;if(nextTrace){var nextOptions=scene.lineOptions[i+1];if(nextOptions){var nextPos=nextOptions.positions;if(trace.fill==="tonexty"){pos=srcPos.slice();for(i=Math.floor(nextPos.length/2);i--;){var xx=nextPos[i*2];var yy=nextPos[i*2+1];if(isNaN(xx)||isNaN(yy))continue;pos.push(xx,yy)}fillOptions.fill=nextTrace.fillcolor}}}}if(trace._prevtrace&&trace._prevtrace.fill==="tonext"){var prevLinePos=scene.lineOptions[i-1].positions;var offset=pos.length/2;last=offset;var hole=[last];for(j=0;j<prevLinePos.length;j+=2){if(isNaN(prevLinePos[j])||isNaN(prevLinePos[j+1])){hole.push(j/2+offset+1);last=j+2}}pos=pos.concat(prevLinePos);fillOptions.hole=hole}fillOptions.fillmode=trace.fill;fillOptions.opacity=trace.opacity;fillOptions.positions=pos;return fillOptions}));scene.fill2d.update(scene.fillOptions)}}var dragmode=fullLayout.dragmode;var isSelectMode=selectMode(dragmode);var clickSelectEnabled=fullLayout.clickmode.indexOf("select")>-1;for(i=0;i<count;i++){var cd0=cdata[i][0];var trace=cd0.trace;var stash=cd0.t;var index=stash.index;var len=trace._length;var x=stash.x;var y=stash.y;if(trace.selectedpoints||isSelectMode||clickSelectEnabled){if(!isSelectMode)isSelectMode=true;if(trace.selectedpoints){var selPts=scene.selectBatch[index]=Lib.selIndices2selPoints(trace);var selDict={};for(j=0;j<selPts.length;j++){selDict[selPts[j]]=1}var unselPts=[];for(j=0;j<len;j++){if(!selDict[j])unselPts.push(j)}scene.unselectBatch[index]=unselPts}var xpx=stash.xpx=new Array(len);var ypx=stash.ypx=new Array(len);for(j=0;j<len;j++){xpx[j]=xaxis.c2p(x[j]);ypx[j]=yaxis.c2p(y[j])}}else{stash.xpx=stash.ypx=null}}if(isSelectMode){if(!scene.select2d){scene.select2d=createScatter(fullLayout._glcanvas.data()[1].regl)}if(scene.scatter2d){var unselOpts=new Array(count);for(i=0;i<count;i++){unselOpts[i]=scene.selectBatch[i].length||scene.unselectBatch[i].length?scene.markerUnselectedOptions[i]:{}}scene.scatter2d.update(unselOpts)}if(scene.select2d){scene.select2d.update(scene.markerOptions);scene.select2d.update(scene.markerSelectedOptions)}if(scene.glText){cdata.forEach((function(cdscatter){var trace=((cdscatter||[])[0]||{}).trace||{};if(subTypes.hasText(trace)){styleTextSelection(cdscatter)}}))}}else{if(scene.scatter2d){scene.scatter2d.update(scene.markerOptions)}}var vpRange0={viewport:getViewport(fullLayout,xaxis,yaxis,gd._context.plotGlPixelRatio),range:[(xaxis._rl||xaxis.range)[0],(yaxis._rl||yaxis.range)[0],(xaxis._rl||xaxis.range)[1],(yaxis._rl||yaxis.range)[1]]};var vpRange=Lib.repeat(vpRange0,scene.count);if(scene.fill2d){scene.fill2d.update(vpRange)}if(scene.line2d){scene.line2d.update(vpRange)}if(scene.error2d){scene.error2d.update(vpRange.concat(vpRange))}if(scene.scatter2d){scene.scatter2d.update(vpRange)}if(scene.select2d){scene.select2d.update(vpRange)}if(scene.glText){scene.glText.forEach((function(text){text.update(vpRange0)}))}}},{"../../components/dragelement/helpers":684,"../../lib":803,"../../lib/prepare_regl":816,"../scatter/link_traces":1234,"../scatter/subtypes":1243,"./edit_style":1275,"gl-text":355,"regl-error2d":536,"regl-line2d":537,"regl-scatter2d":538}],1281:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function sceneUpdate(gd,subplot){var scene=subplot._scene;var resetOpts={count:0,dirty:true,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]};var initOpts={fill2d:false,scatter2d:false,error2d:false,line2d:false,glText:false,select2d:false};if(!subplot._scene){scene=subplot._scene={};scene.init=function init(){Lib.extendFlat(scene,initOpts,resetOpts)};scene.init();scene.update=function update(opt){var opts=Lib.repeat(opt,scene.count);if(scene.fill2d)scene.fill2d.update(opts);if(scene.scatter2d)scene.scatter2d.update(opts);if(scene.line2d)scene.line2d.update(opts);if(scene.error2d)scene.error2d.update(opts.concat(opts));if(scene.select2d)scene.select2d.update(opts);if(scene.glText){for(var i=0;i<scene.count;i++){scene.glText[i].update(opt)}}};scene.draw=function draw(){var count=scene.count;var fill2d=scene.fill2d;var error2d=scene.error2d;var line2d=scene.line2d;var scatter2d=scene.scatter2d;var glText=scene.glText;var select2d=scene.select2d;var selectBatch=scene.selectBatch;var unselectBatch=scene.unselectBatch;for(var i=0;i<count;i++){if(fill2d&&scene.fillOrder[i]){fill2d.draw(scene.fillOrder[i])}if(line2d&&scene.lineOptions[i]){line2d.draw(i)}if(error2d){if(scene.errorXOptions[i])error2d.draw(i);if(scene.errorYOptions[i])error2d.draw(i+count)}if(scatter2d&&scene.markerOptions[i]){if(unselectBatch[i].length){var arg=Lib.repeat([],scene.count);arg[i]=unselectBatch[i];scatter2d.draw(arg)}else if(!selectBatch[i].length){scatter2d.draw(i)}}if(glText[i]&&scene.textOptions[i]){glText[i].render()}}if(select2d){select2d.draw(selectBatch)}scene.dirty=false};scene.destroy=function destroy(){if(scene.fill2d&&scene.fill2d.destroy)scene.fill2d.destroy();if(scene.scatter2d&&scene.scatter2d.destroy)scene.scatter2d.destroy();if(scene.error2d&&scene.error2d.destroy)scene.error2d.destroy();if(scene.line2d&&scene.line2d.destroy)scene.line2d.destroy();if(scene.select2d&&scene.select2d.destroy)scene.select2d.destroy();if(scene.glText){scene.glText.forEach((function(text){if(text.destroy)text.destroy()}))}scene.lineOptions=null;scene.fillOptions=null;scene.markerOptions=null;scene.markerSelectedOptions=null;scene.markerUnselectedOptions=null;scene.errorXOptions=null;scene.errorYOptions=null;scene.textOptions=null;scene.textSelectedOptions=null;scene.textUnselectedOptions=null;scene.selectBatch=null;scene.unselectBatch=null;subplot._scene=null}}if(!scene.dirty){Lib.extendFlat(scene,resetOpts)}return scene}},{"../../lib":803}],1282:[function(_dereq_,module,exports){"use strict";var subTypes=_dereq_("../scatter/subtypes");var styleTextSelection=_dereq_("./edit_style").styleTextSelection;module.exports=function select(searchInfo,selectionTester){var cd=searchInfo.cd;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var selection=[];var trace=cd[0].trace;var stash=cd[0].t;var len=trace._length;var x=stash.x;var y=stash.y;var scene=stash._scene;var index=stash.index;if(!scene)return selection;var hasText=subTypes.hasText(trace);var hasMarkers=subTypes.hasMarkers(trace);var hasOnlyLines=!hasMarkers&&!hasText;if(trace.visible!==true||hasOnlyLines)return selection;var els=[];var unels=[];if(selectionTester!==false&&!selectionTester.degenerate){for(var i=0;i<len;i++){if(selectionTester.contains([stash.xpx[i],stash.ypx[i]],false,i,searchInfo)){els.push(i);selection.push({pointNumber:i,x:xa.c2d(x[i]),y:ya.c2d(y[i])})}else{unels.push(i)}}}if(hasMarkers){var scatter2d=scene.scatter2d;if(!els.length&&!unels.length){var baseOpts=new Array(scene.count);baseOpts[index]=scene.markerOptions[index];scatter2d.update.apply(scatter2d,baseOpts)}else if(!scene.selectBatch[index].length&&!scene.unselectBatch[index].length){var unselOpts=new Array(scene.count);unselOpts[index]=scene.markerUnselectedOptions[index];scatter2d.update.apply(scatter2d,unselOpts)}}scene.selectBatch[index]=els;scene.unselectBatch[index]=unels;if(hasText){styleTextSelection(cd)}return selection}},{"../scatter/subtypes":1243,"./edit_style":1275}],1283:[function(_dereq_,module,exports){"use strict";var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var scatterGeoAttrs=_dereq_("../scattergeo/attributes");var scatterAttrs=_dereq_("../scatter/attributes");var mapboxAttrs=_dereq_("../../plots/mapbox/layout_attributes");var baseAttrs=_dereq_("../../plots/attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var lineAttrs=scatterGeoAttrs.line;var markerAttrs=scatterGeoAttrs.marker;module.exports=overrideAll({lon:scatterGeoAttrs.lon,lat:scatterGeoAttrs.lat,mode:extendFlat({},scatterAttrs.mode,{dflt:"markers"}),text:extendFlat({},scatterAttrs.text,{}),texttemplate:texttemplateAttrs({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:extendFlat({},scatterAttrs.hovertext,{}),line:{color:lineAttrs.color,width:lineAttrs.width},connectgaps:scatterAttrs.connectgaps,marker:extendFlat({symbol:{valType:"string",dflt:"circle",arrayOk:true},angle:{valType:"number",dflt:"auto",arrayOk:true},allowoverlap:{valType:"boolean",dflt:false},opacity:markerAttrs.opacity,size:markerAttrs.size,sizeref:markerAttrs.sizeref,sizemin:markerAttrs.sizemin,sizemode:markerAttrs.sizemode},colorScaleAttrs("marker")),fill:scatterGeoAttrs.fill,fillcolor:scatterAttrs.fillcolor,textfont:mapboxAttrs.layers.symbol.textfont,textposition:mapboxAttrs.layers.symbol.textposition,below:{valType:"string"},selected:{marker:scatterAttrs.selected.marker},unselected:{marker:scatterAttrs.unselected.marker},hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:hovertemplateAttrs()},"calc","nested")},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plots/attributes":850,"../../plots/mapbox/layout_attributes":913,"../../plots/template_attributes":926,"../scatter/attributes":1218,"../scattergeo/attributes":1260}],1284:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var geoJsonUtils=_dereq_("../../lib/geojson_utils");var Colorscale=_dereq_("../../components/colorscale");var Drawing=_dereq_("../../components/drawing");var makeBubbleSizeFn=_dereq_("../scatter/make_bubble_size_func");var subTypes=_dereq_("../scatter/subtypes");var convertTextOpts=_dereq_("../../plots/mapbox/convert_text_opts");var appendArrayPointValue=_dereq_("../../components/fx/helpers").appendArrayPointValue;var NEWLINES=_dereq_("../../lib/svg_text_utils").NEWLINES;var BR_TAG_ALL=_dereq_("../../lib/svg_text_utils").BR_TAG_ALL;module.exports=function convert(gd,calcTrace){var trace=calcTrace[0].trace;var isVisible=trace.visible===true&&trace._length!==0;var hasFill=trace.fill!=="none";var hasLines=subTypes.hasLines(trace);var hasMarkers=subTypes.hasMarkers(trace);var hasText=subTypes.hasText(trace);var hasCircles=hasMarkers&&trace.marker.symbol==="circle";var hasSymbols=hasMarkers&&trace.marker.symbol!=="circle";var fill=initContainer();var line=initContainer();var circle=initContainer();var symbol=initContainer();var opts={fill:fill,line:line,circle:circle,symbol:symbol};if(!isVisible)return opts;var lineCoords;if(hasFill||hasLines){lineCoords=geoJsonUtils.calcTraceToLineCoords(calcTrace)}if(hasFill){fill.geojson=geoJsonUtils.makePolygon(lineCoords);fill.layout.visibility="visible";Lib.extendFlat(fill.paint,{"fill-color":trace.fillcolor})}if(hasLines){line.geojson=geoJsonUtils.makeLine(lineCoords);line.layout.visibility="visible";Lib.extendFlat(line.paint,{"line-width":trace.line.width,"line-color":trace.line.color,"line-opacity":trace.opacity})}if(hasCircles){var circleOpts=makeCircleOpts(calcTrace);circle.geojson=circleOpts.geojson;circle.layout.visibility="visible";Lib.extendFlat(circle.paint,{"circle-color":circleOpts.mcc,"circle-radius":circleOpts.mrc,"circle-opacity":circleOpts.mo})}if(hasSymbols||hasText){symbol.geojson=makeSymbolGeoJSON(calcTrace,gd);Lib.extendFlat(symbol.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"});if(hasSymbols){Lib.extendFlat(symbol.layout,{"icon-size":trace.marker.size/10});if("angle"in trace.marker&&trace.marker.angle!=="auto"){Lib.extendFlat(symbol.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"})}symbol.layout["icon-allow-overlap"]=trace.marker.allowoverlap;Lib.extendFlat(symbol.paint,{"icon-opacity":trace.opacity*trace.marker.opacity,"icon-color":trace.marker.color})}if(hasText){var iconSize=(trace.marker||{}).size;var textOpts=convertTextOpts(trace.textposition,iconSize);Lib.extendFlat(symbol.layout,{"text-size":trace.textfont.size,"text-anchor":textOpts.anchor,"text-offset":textOpts.offset});Lib.extendFlat(symbol.paint,{"text-color":trace.textfont.color,"text-opacity":trace.opacity})}}return opts};function initContainer(){return{geojson:geoJsonUtils.makeBlank(),layout:{visibility:"none"},paint:{}}}function makeCircleOpts(calcTrace){var trace=calcTrace[0].trace;var marker=trace.marker;var selectedpoints=trace.selectedpoints;var arrayColor=Lib.isArrayOrTypedArray(marker.color);var arraySize=Lib.isArrayOrTypedArray(marker.size);var arrayOpacity=Lib.isArrayOrTypedArray(marker.opacity);var i;function addTraceOpacity(o){return trace.opacity*o}function size2radius(s){return s/2}var colorFn;if(arrayColor){if(Colorscale.hasColorscale(trace,"marker")){colorFn=Colorscale.makeColorScaleFuncFromTrace(marker)}else{colorFn=Lib.identity}}var sizeFn;if(arraySize){sizeFn=makeBubbleSizeFn(trace)}var opacityFn;if(arrayOpacity){opacityFn=function(mo){var mo2=isNumeric(mo)?+Lib.constrain(mo,0,1):0;return addTraceOpacity(mo2)}}var features=[];for(i=0;i<calcTrace.length;i++){var calcPt=calcTrace[i];var lonlat=calcPt.lonlat;if(isBADNUM(lonlat))continue;var props={};if(colorFn)props.mcc=calcPt.mcc=colorFn(calcPt.mc);if(sizeFn)props.mrc=calcPt.mrc=sizeFn(calcPt.ms);if(opacityFn)props.mo=opacityFn(calcPt.mo);if(selectedpoints)props.selected=calcPt.selected||0;features.push({type:"Feature",geometry:{type:"Point",coordinates:lonlat},properties:props})}var fns;if(selectedpoints){fns=Drawing.makeSelectedPointStyleFns(trace);for(i=0;i<features.length;i++){var d=features[i].properties;if(fns.selectedOpacityFn){d.mo=addTraceOpacity(fns.selectedOpacityFn(d))}if(fns.selectedColorFn){d.mcc=fns.selectedColorFn(d)}if(fns.selectedSizeFn){d.mrc=fns.selectedSizeFn(d)}}}return{geojson:{type:"FeatureCollection",features:features},mcc:arrayColor||fns&&fns.selectedColorFn?{type:"identity",property:"mcc"}:marker.color,mrc:arraySize||fns&&fns.selectedSizeFn?{type:"identity",property:"mrc"}:size2radius(marker.size),mo:arrayOpacity||fns&&fns.selectedOpacityFn?{type:"identity",property:"mo"}:addTraceOpacity(marker.opacity)}}function makeSymbolGeoJSON(calcTrace,gd){var fullLayout=gd._fullLayout;var trace=calcTrace[0].trace;var marker=trace.marker||{};var symbol=marker.symbol;var angle=marker.angle;var fillSymbol=symbol!=="circle"?getFillFunc(symbol):blankFillFunc;var fillAngle=angle!=="auto"?getFillFunc(angle,true):blankFillFunc;var fillText=subTypes.hasText(trace)?getFillFunc(trace.text):blankFillFunc;var features=[];for(var i=0;i<calcTrace.length;i++){var calcPt=calcTrace[i];if(isBADNUM(calcPt.lonlat))continue;var texttemplate=trace.texttemplate;var text;if(texttemplate){var tt=Array.isArray(texttemplate)?texttemplate[i]||"":texttemplate;var labels=trace._module.formatLabels(calcPt,trace,fullLayout);var pointValues={};appendArrayPointValue(pointValues,trace,calcPt.i);var meta=trace._meta||{};text=Lib.texttemplateString(tt,labels,fullLayout._d3locale,pointValues,calcPt,meta)}else{text=fillText(i)}if(text){text=text.replace(NEWLINES,"").replace(BR_TAG_ALL,"\n")}features.push({type:"Feature",geometry:{type:"Point",coordinates:calcPt.lonlat},properties:{symbol:fillSymbol(i),angle:fillAngle(i),text:text}})}return{type:"FeatureCollection",features:features}}function getFillFunc(attr,numeric){if(Lib.isArrayOrTypedArray(attr)){if(numeric){return function(i){return isNumeric(attr[i])?+attr[i]:0}}return function(i){return attr[i]}}else if(attr){return function(){return attr}}else{return blankFillFunc}}function blankFillFunc(){return""}function isBADNUM(lonlat){return lonlat[0]===BADNUM}},{"../../components/colorscale":678,"../../components/drawing":688,"../../components/fx/helpers":702,"../../constants/numerical":779,"../../lib":803,"../../lib/geojson_utils":797,"../../lib/svg_text_utils":829,"../../plots/mapbox/convert_text_opts":910,"../scatter/make_bubble_size_func":1235,"../scatter/subtypes":1243,"fast-isnumeric":249}],1285:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var subTypes=_dereq_("../scatter/subtypes");var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var handleLineDefaults=_dereq_("../scatter/line_defaults");var handleTextDefaults=_dereq_("../scatter/text_defaults");var handleFillColorDefaults=_dereq_("../scatter/fillcolor_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleLonLatDefaults(traceIn,traceOut,coerce);if(!len){traceOut.visible=false;return}coerce("text");coerce("texttemplate");coerce("hovertext");coerce("hovertemplate");coerce("mode");coerce("below");if(subTypes.hasLines(traceOut)){handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce,{noDash:true});coerce("connectgaps")}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce,{noLine:true});coerce("marker.allowoverlap");coerce("marker.angle");var marker=traceOut.marker;if(marker.symbol!=="circle"){if(Lib.isArrayOrTypedArray(marker.size))marker.size=marker.size[0];if(Lib.isArrayOrTypedArray(marker.color))marker.color=marker.color[0]}}if(subTypes.hasText(traceOut)){handleTextDefaults(traceIn,traceOut,layout,coerce,{noSelect:true})}coerce("fill");if(traceOut.fill!=="none"){handleFillColorDefaults(traceIn,traceOut,defaultColor,coerce)}Lib.coerceSelectionMarkerOpacity(traceOut,coerce)};function handleLonLatDefaults(traceIn,traceOut,coerce){var lon=coerce("lon")||[];var lat=coerce("lat")||[];var len=Math.min(lon.length,lat.length);traceOut._length=len;return len}},{"../../lib":803,"../scatter/fillcolor_defaults":1226,"../scatter/line_defaults":1231,"../scatter/marker_defaults":1237,"../scatter/subtypes":1243,"../scatter/text_defaults":1244,"./attributes":1283}],1286:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt){out.lon=pt.lon;out.lat=pt.lat;return out}},{}],1287:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");module.exports=function formatLabels(cdi,trace,fullLayout){var labels={};var subplot=fullLayout[trace.subplot]._subplot;var ax=subplot.mockAxis;var lonlat=cdi.lonlat;labels.lonLabel=Axes.tickText(ax,ax.c2l(lonlat[0]),true).text;labels.latLabel=Axes.tickText(ax,ax.c2l(lonlat[1]),true).text;return labels}},{"../../plots/cartesian/axes":854}],1288:[function(_dereq_,module,exports){"use strict";var Fx=_dereq_("../../components/fx");var Lib=_dereq_("../../lib");var getTraceColor=_dereq_("../scatter/get_trace_color");var fillText=Lib.fillText;var BADNUM=_dereq_("../../constants/numerical").BADNUM;function hoverPoints(pointData,xval,yval){var cd=pointData.cd;var trace=cd[0].trace;var xa=pointData.xa;var ya=pointData.ya;var subplot=pointData.subplot;var winding=xval>=0?Math.floor((xval+180)/360):Math.ceil((xval-180)/360);var lonShift=winding*360;var xval2=xval-lonShift;function distFn(d){var lonlat=d.lonlat;if(lonlat[0]===BADNUM)return Infinity;var lon=Lib.modHalf(lonlat[0],360);var lat=lonlat[1];var pt=subplot.project([lon,lat]);var dx=pt.x-xa.c2p([xval2,lat]);var dy=pt.y-ya.c2p([lon,yval]);var rad=Math.max(3,d.mrc||0);return Math.max(Math.sqrt(dx*dx+dy*dy)-rad,1-3/rad)}Fx.getClosest(cd,distFn,pointData);if(pointData.index===false)return;var di=cd[pointData.index];var lonlat=di.lonlat;var lonlatShifted=[Lib.modHalf(lonlat[0],360)+lonShift,lonlat[1]];var xc=xa.c2p(lonlatShifted);var yc=ya.c2p(lonlatShifted);var rad=di.mrc||1;pointData.x0=xc-rad;pointData.x1=xc+rad;pointData.y0=yc-rad;pointData.y1=yc+rad;var fullLayout={};fullLayout[trace.subplot]={_subplot:subplot};var labels=trace._module.formatLabels(di,trace,fullLayout);pointData.lonLabel=labels.lonLabel;pointData.latLabel=labels.latLabel;pointData.color=getTraceColor(trace,di);pointData.extraText=getExtraText(trace,di,cd[0].t.labels);pointData.hovertemplate=trace.hovertemplate;return[pointData]}function getExtraText(trace,di,labels){if(trace.hovertemplate)return;var hoverinfo=di.hi||trace.hoverinfo;var parts=hoverinfo.split("+");var isAll=parts.indexOf("all")!==-1;var hasLon=parts.indexOf("lon")!==-1;var hasLat=parts.indexOf("lat")!==-1;var lonlat=di.lonlat;var text=[];function format(v){return v+"°"}if(isAll||hasLon&&hasLat){text.push("("+format(lonlat[1])+", "+format(lonlat[0])+")")}else if(hasLon){text.push(labels.lon+format(lonlat[0]))}else if(hasLat){text.push(labels.lat+format(lonlat[1]))}if(isAll||parts.indexOf("text")!==-1){fillText(di,trace,text)}return text.join("<br>")}module.exports={hoverPoints:hoverPoints,getExtraText:getExtraText}},{"../../components/fx":706,"../../constants/numerical":779,"../../lib":803,"../scatter/get_trace_color":1228}],1289:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../scatter/marker_colorbar"),formatLabels:_dereq_("./format_labels"),calc:_dereq_("../scattergeo/calc"),plot:_dereq_("./plot"),hoverPoints:_dereq_("./hover").hoverPoints,eventData:_dereq_("./event_data"),selectPoints:_dereq_("./select"),styleOnSelect:function(_,cd){if(cd){var trace=cd[0].trace;trace._glTrace.update(cd)}},moduleType:"trace",name:"scattermapbox",basePlotModule:_dereq_("../../plots/mapbox"),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/mapbox":911,"../scatter/marker_colorbar":1236,"../scattergeo/calc":1261,"./attributes":1283,"./defaults":1285,"./event_data":1286,"./format_labels":1287,"./hover":1288,"./plot":1290,"./select":1291}],1290:[function(_dereq_,module,exports){"use strict";var convert=_dereq_("./convert");var LAYER_PREFIX=_dereq_("../../plots/mapbox/constants").traceLayerPrefix;var ORDER=["fill","line","circle","symbol"];function ScatterMapbox(subplot,uid){this.type="scattermapbox";this.subplot=subplot;this.uid=uid;this.sourceIds={fill:"source-"+uid+"-fill",line:"source-"+uid+"-line",circle:"source-"+uid+"-circle",symbol:"source-"+uid+"-symbol"};this.layerIds={fill:LAYER_PREFIX+uid+"-fill",line:LAYER_PREFIX+uid+"-line",circle:LAYER_PREFIX+uid+"-circle",symbol:LAYER_PREFIX+uid+"-symbol"};this.below=null}var proto=ScatterMapbox.prototype;proto.addSource=function(k,opts){this.subplot.map.addSource(this.sourceIds[k],{type:"geojson",data:opts.geojson})};proto.setSourceData=function(k,opts){this.subplot.map.getSource(this.sourceIds[k]).setData(opts.geojson)};proto.addLayer=function(k,opts,below){this.subplot.addLayer({type:k,id:this.layerIds[k],source:this.sourceIds[k],layout:opts.layout,paint:opts.paint},below)};proto.update=function update(calcTrace){var subplot=this.subplot;var map=subplot.map;var optsAll=convert(subplot.gd,calcTrace);var below=subplot.belowLookup["trace-"+this.uid];var i,k,opts;if(below!==this.below){for(i=ORDER.length-1;i>=0;i--){k=ORDER[i];map.removeLayer(this.layerIds[k])}for(i=0;i<ORDER.length;i++){k=ORDER[i];opts=optsAll[k];this.addLayer(k,opts,below)}this.below=below}for(i=0;i<ORDER.length;i++){k=ORDER[i];opts=optsAll[k];subplot.setOptions(this.layerIds[k],"setLayoutProperty",opts.layout);if(opts.layout.visibility==="visible"){this.setSourceData(k,opts);subplot.setOptions(this.layerIds[k],"setPaintProperty",opts.paint)}}calcTrace[0].trace._glTrace=this};proto.dispose=function dispose(){var map=this.subplot.map;for(var i=ORDER.length-1;i>=0;i--){var k=ORDER[i];map.removeLayer(this.layerIds[k]);map.removeSource(this.sourceIds[k])}};module.exports=function createScatterMapbox(subplot,calcTrace){var trace=calcTrace[0].trace;var scatterMapbox=new ScatterMapbox(subplot,trace.uid);var optsAll=convert(subplot.gd,calcTrace);var below=scatterMapbox.below=subplot.belowLookup["trace-"+trace.uid];for(var i=0;i<ORDER.length;i++){var k=ORDER[i];var opts=optsAll[k];scatterMapbox.addSource(k,opts);scatterMapbox.addLayer(k,opts,below)}calcTrace[0].trace._glTrace=scatterMapbox;return scatterMapbox}},{"../../plots/mapbox/constants":909,"./convert":1284}],1291:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var subtypes=_dereq_("../scatter/subtypes");var BADNUM=_dereq_("../../constants/numerical").BADNUM;module.exports=function selectPoints(searchInfo,selectionTester){var cd=searchInfo.cd;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var selection=[];var trace=cd[0].trace;var i;if(!subtypes.hasMarkers(trace))return[];if(selectionTester===false){for(i=0;i<cd.length;i++){cd[i].selected=0}}else{for(i=0;i<cd.length;i++){var di=cd[i];var lonlat=di.lonlat;if(lonlat[0]!==BADNUM){var lonlat2=[Lib.modHalf(lonlat[0],360),lonlat[1]];var xy=[xa.c2p(lonlat2),ya.c2p(lonlat2)];if(selectionTester.contains(xy,null,i,searchInfo)){selection.push({pointNumber:i,lon:lonlat[0],lat:lonlat[1]});di.selected=1}else{di.selected=0}}}}return selection}},{"../../constants/numerical":779,"../../lib":803,"../scatter/subtypes":1243}],1292:[function(_dereq_,module,exports){"use strict";var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var extendFlat=_dereq_("../../lib/extend").extendFlat;var scatterAttrs=_dereq_("../scatter/attributes");var baseAttrs=_dereq_("../../plots/attributes");var lineAttrs=scatterAttrs.line;module.exports={mode:scatterAttrs.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:scatterAttrs.text,texttemplate:texttemplateAttrs({editType:"plot"},{keys:["r","theta","text"]}),hovertext:scatterAttrs.hovertext,line:{color:lineAttrs.color,width:lineAttrs.width,dash:lineAttrs.dash,shape:extendFlat({},lineAttrs.shape,{values:["linear","spline"]}),smoothing:lineAttrs.smoothing,editType:"calc"},connectgaps:scatterAttrs.connectgaps,marker:scatterAttrs.marker,cliponaxis:extendFlat({},scatterAttrs.cliponaxis,{dflt:false}),textposition:scatterAttrs.textposition,textfont:scatterAttrs.textfont,fill:extendFlat({},scatterAttrs.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:scatterAttrs.fillcolor,hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:scatterAttrs.hoveron,hovertemplate:hovertemplateAttrs(),selected:scatterAttrs.selected,unselected:scatterAttrs.unselected}},{"../../lib/extend":793,"../../plots/attributes":850,"../../plots/template_attributes":926,"../scatter/attributes":1218}],1293:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var Axes=_dereq_("../../plots/cartesian/axes");var calcColorscale=_dereq_("../scatter/colorscale_calc");var arraysToCalcdata=_dereq_("../scatter/arrays_to_calcdata");var calcSelection=_dereq_("../scatter/calc_selection");var calcMarkerSize=_dereq_("../scatter/calc").calcMarkerSize;module.exports=function calc(gd,trace){var fullLayout=gd._fullLayout;var subplotId=trace.subplot;var radialAxis=fullLayout[subplotId].radialaxis;var angularAxis=fullLayout[subplotId].angularaxis;var rArray=radialAxis.makeCalcdata(trace,"r");var thetaArray=angularAxis.makeCalcdata(trace,"theta");var len=trace._length;var cd=new Array(len);for(var i=0;i<len;i++){var r=rArray[i];var theta=thetaArray[i];var cdi=cd[i]={};if(isNumeric(r)&&isNumeric(theta)){cdi.r=r;cdi.theta=theta}else{cdi.r=BADNUM}}var ppad=calcMarkerSize(trace,len);trace._extremes.x=Axes.findExtremes(radialAxis,rArray,{ppad:ppad});calcColorscale(gd,trace);arraysToCalcdata(cd,trace);calcSelection(cd,trace);return cd}},{"../../constants/numerical":779,"../../plots/cartesian/axes":854,"../scatter/arrays_to_calcdata":1217,"../scatter/calc":1219,"../scatter/calc_selection":1220,"../scatter/colorscale_calc":1221,"fast-isnumeric":249}],1294:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var subTypes=_dereq_("../scatter/subtypes");var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var handleLineDefaults=_dereq_("../scatter/line_defaults");var handleLineShapeDefaults=_dereq_("../scatter/line_shape_defaults");var handleTextDefaults=_dereq_("../scatter/text_defaults");var handleFillColorDefaults=_dereq_("../scatter/fillcolor_defaults");var PTS_LINESONLY=_dereq_("../scatter/constants").PTS_LINESONLY;var attributes=_dereq_("./attributes");function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleRThetaDefaults(traceIn,traceOut,layout,coerce);if(!len){traceOut.visible=false;return}coerce("thetaunit");coerce("mode",len<PTS_LINESONLY?"lines+markers":"lines");coerce("text");coerce("hovertext");if(traceOut.hoveron!=="fills")coerce("hovertemplate");if(subTypes.hasLines(traceOut)){handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);handleLineShapeDefaults(traceIn,traceOut,coerce);coerce("connectgaps")}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce,{gradient:true})}if(subTypes.hasText(traceOut)){coerce("texttemplate");handleTextDefaults(traceIn,traceOut,layout,coerce)}var dfltHoverOn=[];if(subTypes.hasMarkers(traceOut)||subTypes.hasText(traceOut)){coerce("cliponaxis");coerce("marker.maxdisplayed");dfltHoverOn.push("points")}coerce("fill");if(traceOut.fill!=="none"){handleFillColorDefaults(traceIn,traceOut,defaultColor,coerce);if(!subTypes.hasLines(traceOut))handleLineShapeDefaults(traceIn,traceOut,coerce)}if(traceOut.fill==="tonext"||traceOut.fill==="toself"){dfltHoverOn.push("fills")}coerce("hoveron",dfltHoverOn.join("+")||"points");Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}function handleRThetaDefaults(traceIn,traceOut,layout,coerce){var r=coerce("r");var theta=coerce("theta");var len;if(r){if(theta){len=Math.min(r.length,theta.length)}else{len=r.length;coerce("theta0");coerce("dtheta")}}else{if(!theta)return 0;len=traceOut.theta.length;coerce("r0");coerce("dr")}traceOut._length=len;return len}module.exports={handleRThetaDefaults:handleRThetaDefaults,supplyDefaults:supplyDefaults}},{"../../lib":803,"../scatter/constants":1222,"../scatter/fillcolor_defaults":1226,"../scatter/line_defaults":1231,"../scatter/line_shape_defaults":1233,"../scatter/marker_defaults":1237,"../scatter/subtypes":1243,"../scatter/text_defaults":1244,"./attributes":1292}],1295:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");module.exports=function formatLabels(cdi,trace,fullLayout){var labels={};var subplot=fullLayout[trace.subplot]._subplot;var radialAxis;var angularAxis;if(!subplot){subplot=fullLayout[trace.subplot];radialAxis=subplot.radialaxis;angularAxis=subplot.angularaxis}else{radialAxis=subplot.radialAxis;angularAxis=subplot.angularAxis}var rVal=radialAxis.c2l(cdi.r);labels.rLabel=Axes.tickText(radialAxis,rVal,true).text;var thetaVal=angularAxis.thetaunit==="degrees"?Lib.rad2deg(cdi.theta):cdi.theta;labels.thetaLabel=Axes.tickText(angularAxis,thetaVal,true).text;return labels}},{"../../lib":803,"../../plots/cartesian/axes":854}],1296:[function(_dereq_,module,exports){"use strict";var scatterHover=_dereq_("../scatter/hover");function hoverPoints(pointData,xval,yval,hovermode){var scatterPointData=scatterHover(pointData,xval,yval,hovermode);if(!scatterPointData||scatterPointData[0].index===false)return;var newPointData=scatterPointData[0];if(newPointData.index===undefined){return scatterPointData}var subplot=pointData.subplot;var cdi=newPointData.cd[newPointData.index];var trace=newPointData.trace;if(!subplot.isPtInside(cdi))return;newPointData.xLabelVal=undefined;newPointData.yLabelVal=undefined;makeHoverPointText(cdi,trace,subplot,newPointData);newPointData.hovertemplate=trace.hovertemplate;return scatterPointData}function makeHoverPointText(cdi,trace,subplot,pointData){var radialAxis=subplot.radialAxis;var angularAxis=subplot.angularAxis;radialAxis._hovertitle="r";angularAxis._hovertitle="θ";var fullLayout={};fullLayout[trace.subplot]={_subplot:subplot};var labels=trace._module.formatLabels(cdi,trace,fullLayout);pointData.rLabel=labels.rLabel;pointData.thetaLabel=labels.thetaLabel;var hoverinfo=cdi.hi||trace.hoverinfo;var text=[];function textPart(ax,val){text.push(ax._hovertitle+": "+val)}if(!trace.hovertemplate){var parts=hoverinfo.split("+");if(parts.indexOf("all")!==-1)parts=["r","theta","text"];if(parts.indexOf("r")!==-1)textPart(radialAxis,pointData.rLabel);if(parts.indexOf("theta")!==-1)textPart(angularAxis,pointData.thetaLabel);if(parts.indexOf("text")!==-1&&pointData.text){text.push(pointData.text);delete pointData.text}pointData.extraText=text.join("<br>")}}module.exports={hoverPoints:hoverPoints,makeHoverPointText:makeHoverPointText}},{"../scatter/hover":1229}],1297:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:_dereq_("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,colorbar:_dereq_("../scatter/marker_colorbar"),formatLabels:_dereq_("./format_labels"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),style:_dereq_("../scatter/style").style,styleOnSelect:_dereq_("../scatter/style").styleOnSelect,hoverPoints:_dereq_("./hover").hoverPoints,selectPoints:_dereq_("../scatter/select"),meta:{}}},{"../../plots/polar":920,"../scatter/marker_colorbar":1236,"../scatter/select":1240,"../scatter/style":1242,"./attributes":1292,"./calc":1293,"./defaults":1294,"./format_labels":1295,"./hover":1296,"./plot":1298}],1298:[function(_dereq_,module,exports){"use strict";var scatterPlot=_dereq_("../scatter/plot");var BADNUM=_dereq_("../../constants/numerical").BADNUM;module.exports=function plot(gd,subplot,moduleCalcData){var mlayer=subplot.layers.frontplot.select("g.scatterlayer");var plotinfo={xaxis:subplot.xaxis,yaxis:subplot.yaxis,plot:subplot.framework,layerClipId:subplot._hasClipOnAxisFalse?subplot.clipIds.forTraces:null};var radialAxis=subplot.radialAxis;var angularAxis=subplot.angularAxis;for(var i=0;i<moduleCalcData.length;i++){var cdi=moduleCalcData[i];for(var j=0;j<cdi.length;j++){var cd=cdi[j];var r=cd.r;if(r===BADNUM){cd.x=cd.y=BADNUM}else{var rg=radialAxis.c2g(r);var thetag=angularAxis.c2g(cd.theta);cd.x=rg*Math.cos(thetag);cd.y=rg*Math.sin(thetag)}}}scatterPlot(gd,plotinfo,moduleCalcData,mlayer)}},{"../../constants/numerical":779,"../scatter/plot":1239}],1299:[function(_dereq_,module,exports){"use strict";var scatterPolarAttrs=_dereq_("../scatterpolar/attributes");var scatterGlAttrs=_dereq_("../scattergl/attributes");var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;module.exports={mode:scatterPolarAttrs.mode,r:scatterPolarAttrs.r,theta:scatterPolarAttrs.theta,r0:scatterPolarAttrs.r0,dr:scatterPolarAttrs.dr,theta0:scatterPolarAttrs.theta0,dtheta:scatterPolarAttrs.dtheta,thetaunit:scatterPolarAttrs.thetaunit,text:scatterPolarAttrs.text,texttemplate:texttemplateAttrs({editType:"plot"},{keys:["r","theta","text"]}),hovertext:scatterPolarAttrs.hovertext,hovertemplate:scatterPolarAttrs.hovertemplate,line:scatterGlAttrs.line,connectgaps:scatterGlAttrs.connectgaps,marker:scatterGlAttrs.marker,fill:scatterGlAttrs.fill,fillcolor:scatterGlAttrs.fillcolor,textposition:scatterGlAttrs.textposition,textfont:scatterGlAttrs.textfont,hoverinfo:scatterPolarAttrs.hoverinfo,selected:scatterPolarAttrs.selected,unselected:scatterPolarAttrs.unselected}},{"../../plots/template_attributes":926,"../scattergl/attributes":1270,"../scatterpolar/attributes":1292}],1300:[function(_dereq_,module,exports){"use strict";var calcColorscale=_dereq_("../scatter/colorscale_calc");var calcMarkerSize=_dereq_("../scatter/calc").calcMarkerSize;var convert=_dereq_("../scattergl/convert");var Axes=_dereq_("../../plots/cartesian/axes");var TOO_MANY_POINTS=_dereq_("../scattergl/constants").TOO_MANY_POINTS;module.exports=function calc(gd,trace){var fullLayout=gd._fullLayout;var subplotId=trace.subplot;var radialAxis=fullLayout[subplotId].radialaxis;var angularAxis=fullLayout[subplotId].angularaxis;var rArray=trace._r=radialAxis.makeCalcdata(trace,"r");var thetaArray=trace._theta=angularAxis.makeCalcdata(trace,"theta");var len=trace._length;var stash={};if(len<rArray.length)rArray=rArray.slice(0,len);if(len<thetaArray.length)thetaArray=thetaArray.slice(0,len);stash.r=rArray;stash.theta=thetaArray;calcColorscale(gd,trace);var opts=stash.opts=convert.style(gd,trace);var ppad;if(len<TOO_MANY_POINTS){ppad=calcMarkerSize(trace,len)}else if(opts.marker){ppad=2*(opts.marker.sizeAvg||Math.max(opts.marker.size,3))}trace._extremes.x=Axes.findExtremes(radialAxis,rArray,{ppad:ppad});return[{x:false,y:false,t:stash,trace:trace}]}},{"../../plots/cartesian/axes":854,"../scatter/calc":1219,"../scatter/colorscale_calc":1221,"../scattergl/constants":1272,"../scattergl/convert":1273}],1301:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var subTypes=_dereq_("../scatter/subtypes");var handleRThetaDefaults=_dereq_("../scatterpolar/defaults").handleRThetaDefaults;var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var handleLineDefaults=_dereq_("../scatter/line_defaults");var handleTextDefaults=_dereq_("../scatter/text_defaults");var handleFillColorDefaults=_dereq_("../scatter/fillcolor_defaults");var PTS_LINESONLY=_dereq_("../scatter/constants").PTS_LINESONLY;var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleRThetaDefaults(traceIn,traceOut,layout,coerce);if(!len){traceOut.visible=false;return}coerce("thetaunit");coerce("mode",len<PTS_LINESONLY?"lines+markers":"lines");coerce("text");coerce("hovertext");if(traceOut.hoveron!=="fills")coerce("hovertemplate");if(subTypes.hasLines(traceOut)){handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);coerce("connectgaps")}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce)}if(subTypes.hasText(traceOut)){coerce("texttemplate");handleTextDefaults(traceIn,traceOut,layout,coerce)}coerce("fill");if(traceOut.fill!=="none"){handleFillColorDefaults(traceIn,traceOut,defaultColor,coerce)}Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../lib":803,"../scatter/constants":1222,"../scatter/fillcolor_defaults":1226,"../scatter/line_defaults":1231,"../scatter/marker_defaults":1237,"../scatter/subtypes":1243,"../scatter/text_defaults":1244,"../scatterpolar/defaults":1294,"./attributes":1299}],1302:[function(_dereq_,module,exports){"use strict";var scatterPolarFormatLabels=_dereq_("../scatterpolar/format_labels");module.exports=function formatLabels(cdi,trace,fullLayout){var i=cdi.i;if(!("r"in cdi))cdi.r=trace._r[i];if(!("theta"in cdi))cdi.theta=trace._theta[i];return scatterPolarFormatLabels(cdi,trace,fullLayout)}},{"../scatterpolar/format_labels":1295}],1303:[function(_dereq_,module,exports){"use strict";var hover=_dereq_("../scattergl/hover");var makeHoverPointText=_dereq_("../scatterpolar/hover").makeHoverPointText;function hoverPoints(pointData,xval,yval,hovermode){var cd=pointData.cd;var stash=cd[0].t;var rArray=stash.r;var thetaArray=stash.theta;var scatterPointData=hover.hoverPoints(pointData,xval,yval,hovermode);if(!scatterPointData||scatterPointData[0].index===false)return;var newPointData=scatterPointData[0];if(newPointData.index===undefined){return scatterPointData}var subplot=pointData.subplot;var cdi=newPointData.cd[newPointData.index];var trace=newPointData.trace;cdi.r=rArray[newPointData.index];cdi.theta=thetaArray[newPointData.index];if(!subplot.isPtInside(cdi))return;newPointData.xLabelVal=undefined;newPointData.yLabelVal=undefined;makeHoverPointText(cdi,trace,subplot,newPointData);return scatterPointData}module.exports={hoverPoints:hoverPoints}},{"../scattergl/hover":1278,"../scatterpolar/hover":1296}],1304:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:_dereq_("../../plots/polar"),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../scatter/marker_colorbar"),formatLabels:_dereq_("./format_labels"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),hoverPoints:_dereq_("./hover").hoverPoints,selectPoints:_dereq_("../scattergl/select"),meta:{}}},{"../../plots/polar":920,"../scatter/marker_colorbar":1236,"../scattergl/select":1282,"./attributes":1299,"./calc":1300,"./defaults":1301,"./format_labels":1302,"./hover":1303,"./plot":1305}],1305:[function(_dereq_,module,exports){"use strict";var cluster=_dereq_("@plotly/point-cluster");var isNumeric=_dereq_("fast-isnumeric");var scatterglPlot=_dereq_("../scattergl/plot");var sceneUpdate=_dereq_("../scattergl/scene_update");var convert=_dereq_("../scattergl/convert");var Lib=_dereq_("../../lib");var TOO_MANY_POINTS=_dereq_("../scattergl/constants").TOO_MANY_POINTS;module.exports=function plot(gd,subplot,cdata){if(!cdata.length)return;var radialAxis=subplot.radialAxis;var angularAxis=subplot.angularAxis;var scene=sceneUpdate(gd,subplot);cdata.forEach((function(cdscatter){if(!cdscatter||!cdscatter[0]||!cdscatter[0].trace)return;var cd=cdscatter[0];var trace=cd.trace;var stash=cd.t;var len=trace._length;var rArray=stash.r;var thetaArray=stash.theta;var opts=stash.opts;var i;var subRArray=rArray.slice();var subThetaArray=thetaArray.slice();for(i=0;i<rArray.length;i++){if(!subplot.isPtInside({r:rArray[i],theta:thetaArray[i]})){subRArray[i]=NaN;subThetaArray[i]=NaN}}var positions=new Array(len*2);var x=Array(len);var y=Array(len);for(i=0;i<len;i++){var r=subRArray[i];var xx,yy;if(isNumeric(r)){var rg=radialAxis.c2g(r);var thetag=angularAxis.c2g(subThetaArray[i],trace.thetaunit);xx=rg*Math.cos(thetag);yy=rg*Math.sin(thetag)}else{xx=yy=NaN}x[i]=positions[i*2]=xx;y[i]=positions[i*2+1]=yy}stash.tree=cluster(positions);if(opts.marker&&len>=TOO_MANY_POINTS){opts.marker.cluster=stash.tree}if(opts.marker){opts.markerSel.positions=opts.markerUnsel.positions=opts.marker.positions=positions}if(opts.line&&positions.length>1){Lib.extendFlat(opts.line,convert.linePositions(gd,trace,positions))}if(opts.text){Lib.extendFlat(opts.text,{positions:positions},convert.textPosition(gd,trace,opts.text,opts.marker));Lib.extendFlat(opts.textSel,{positions:positions},convert.textPosition(gd,trace,opts.text,opts.markerSel));Lib.extendFlat(opts.textUnsel,{positions:positions},convert.textPosition(gd,trace,opts.text,opts.markerUnsel))}if(opts.fill&&!scene.fill2d)scene.fill2d=true;if(opts.marker&&!scene.scatter2d)scene.scatter2d=true;if(opts.line&&!scene.line2d)scene.line2d=true;if(opts.text&&!scene.glText)scene.glText=true;scene.lineOptions.push(opts.line);scene.fillOptions.push(opts.fill);scene.markerOptions.push(opts.marker);scene.markerSelectedOptions.push(opts.markerSel);scene.markerUnselectedOptions.push(opts.markerUnsel);scene.textOptions.push(opts.text);scene.textSelectedOptions.push(opts.textSel);scene.textUnselectedOptions.push(opts.textUnsel);scene.selectBatch.push([]);scene.unselectBatch.push([]);stash.x=x;stash.y=y;stash.rawx=x;stash.rawy=y;stash.r=rArray;stash.theta=thetaArray;stash.positions=positions;stash._scene=scene;stash.index=scene.count;scene.count++}));return scatterglPlot(gd,subplot,cdata)}},{"../../lib":803,"../scattergl/constants":1272,"../scattergl/convert":1273,"../scattergl/plot":1280,"../scattergl/scene_update":1281,"@plotly/point-cluster":59,"fast-isnumeric":249}],1306:[function(_dereq_,module,exports){"use strict";var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var scatterAttrs=_dereq_("../scatter/attributes");var baseAttrs=_dereq_("../../plots/attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var dash=_dereq_("../../components/drawing/attributes").dash;var extendFlat=_dereq_("../../lib/extend").extendFlat;var scatterMarkerAttrs=scatterAttrs.marker;var scatterLineAttrs=scatterAttrs.line;var scatterMarkerLineAttrs=scatterMarkerAttrs.line;module.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:extendFlat({},scatterAttrs.mode,{dflt:"markers"}),text:extendFlat({},scatterAttrs.text,{}),texttemplate:texttemplateAttrs({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:extendFlat({},scatterAttrs.hovertext,{}),line:{color:scatterLineAttrs.color,width:scatterLineAttrs.width,dash:dash,shape:extendFlat({},scatterLineAttrs.shape,{values:["linear","spline"]}),smoothing:scatterLineAttrs.smoothing,editType:"calc"},connectgaps:scatterAttrs.connectgaps,cliponaxis:scatterAttrs.cliponaxis,fill:extendFlat({},scatterAttrs.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:scatterAttrs.fillcolor,marker:extendFlat({symbol:scatterMarkerAttrs.symbol,opacity:scatterMarkerAttrs.opacity,maxdisplayed:scatterMarkerAttrs.maxdisplayed,size:scatterMarkerAttrs.size,sizeref:scatterMarkerAttrs.sizeref,sizemin:scatterMarkerAttrs.sizemin,sizemode:scatterMarkerAttrs.sizemode,line:extendFlat({width:scatterMarkerLineAttrs.width,editType:"calc"},colorScaleAttrs("marker.line")),gradient:scatterMarkerAttrs.gradient,editType:"calc"},colorScaleAttrs("marker")),textfont:scatterAttrs.textfont,textposition:scatterAttrs.textposition,selected:scatterAttrs.selected,unselected:scatterAttrs.unselected,hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:scatterAttrs.hoveron,hovertemplate:hovertemplateAttrs()}},{"../../components/colorscale/attributes":673,"../../components/drawing/attributes":687,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/template_attributes":926,"../scatter/attributes":1218}],1307:[function(_dereq_,module,exports){"use strict";var isNumeric=_dereq_("fast-isnumeric");var calcColorscale=_dereq_("../scatter/colorscale_calc");var arraysToCalcdata=_dereq_("../scatter/arrays_to_calcdata");var calcSelection=_dereq_("../scatter/calc_selection");var calcMarkerSize=_dereq_("../scatter/calc").calcMarkerSize;var dataArrays=["a","b","c"];var arraysToFill={a:["b","c"],b:["a","c"],c:["a","b"]};module.exports=function calc(gd,trace){var ternary=gd._fullLayout[trace.subplot];var displaySum=ternary.sum;var normSum=trace.sum||displaySum;var arrays={a:trace.a,b:trace.b,c:trace.c};var i,j,dataArray,newArray,fillArray1,fillArray2;for(i=0;i<dataArrays.length;i++){dataArray=dataArrays[i];if(arrays[dataArray])continue;fillArray1=arrays[arraysToFill[dataArray][0]];fillArray2=arrays[arraysToFill[dataArray][1]];newArray=new Array(fillArray1.length);for(j=0;j<fillArray1.length;j++){newArray[j]=normSum-fillArray1[j]-fillArray2[j]}arrays[dataArray]=newArray}var serieslen=trace._length;var cd=new Array(serieslen);var a,b,c,norm,x,y;for(i=0;i<serieslen;i++){a=arrays.a[i];b=arrays.b[i];c=arrays.c[i];if(isNumeric(a)&&isNumeric(b)&&isNumeric(c)){a=+a;b=+b;c=+c;norm=displaySum/(a+b+c);if(norm!==1){a*=norm;b*=norm;c*=norm}y=a;x=c-b;cd[i]={x:x,y:y,a:a,b:b,c:c}}else cd[i]={x:false,y:false}}calcMarkerSize(trace,serieslen);calcColorscale(gd,trace);arraysToCalcdata(cd,trace);calcSelection(cd,trace);return cd}},{"../scatter/arrays_to_calcdata":1217,"../scatter/calc":1219,"../scatter/calc_selection":1220,"../scatter/colorscale_calc":1221,"fast-isnumeric":249}],1308:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var constants=_dereq_("../scatter/constants");var subTypes=_dereq_("../scatter/subtypes");var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var handleLineDefaults=_dereq_("../scatter/line_defaults");var handleLineShapeDefaults=_dereq_("../scatter/line_shape_defaults");var handleTextDefaults=_dereq_("../scatter/text_defaults");var handleFillColorDefaults=_dereq_("../scatter/fillcolor_defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var a=coerce("a");var b=coerce("b");var c=coerce("c");var len;if(a){len=a.length;if(b){len=Math.min(len,b.length);if(c)len=Math.min(len,c.length)}else if(c)len=Math.min(len,c.length);else len=0}else if(b&&c){len=Math.min(b.length,c.length)}if(!len){traceOut.visible=false;return}traceOut._length=len;coerce("sum");coerce("text");coerce("hovertext");if(traceOut.hoveron!=="fills")coerce("hovertemplate");var defaultMode=len<constants.PTS_LINESONLY?"lines+markers":"lines";coerce("mode",defaultMode);if(subTypes.hasLines(traceOut)){handleLineDefaults(traceIn,traceOut,defaultColor,layout,coerce);handleLineShapeDefaults(traceIn,traceOut,coerce);coerce("connectgaps")}if(subTypes.hasMarkers(traceOut)){handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce,{gradient:true})}if(subTypes.hasText(traceOut)){coerce("texttemplate");handleTextDefaults(traceIn,traceOut,layout,coerce)}var dfltHoverOn=[];if(subTypes.hasMarkers(traceOut)||subTypes.hasText(traceOut)){coerce("cliponaxis");coerce("marker.maxdisplayed");dfltHoverOn.push("points")}coerce("fill");if(traceOut.fill!=="none"){handleFillColorDefaults(traceIn,traceOut,defaultColor,coerce);if(!subTypes.hasLines(traceOut))handleLineShapeDefaults(traceIn,traceOut,coerce)}if(traceOut.fill==="tonext"||traceOut.fill==="toself"){dfltHoverOn.push("fills")}coerce("hoveron",dfltHoverOn.join("+")||"points");Lib.coerceSelectionMarkerOpacity(traceOut,coerce)}},{"../../lib":803,"../scatter/constants":1222,"../scatter/fillcolor_defaults":1226,"../scatter/line_defaults":1231,"../scatter/line_shape_defaults":1233,"../scatter/marker_defaults":1237,"../scatter/subtypes":1243,"../scatter/text_defaults":1244,"./attributes":1306}],1309:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt,trace,cd,pointNumber){if(pt.xa)out.xaxis=pt.xa;if(pt.ya)out.yaxis=pt.ya;if(cd[pointNumber]){var cdi=cd[pointNumber];out.a=cdi.a;out.b=cdi.b;out.c=cdi.c}else{out.a=pt.a;out.b=pt.b;out.c=pt.c}return out}},{}],1310:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");module.exports=function formatLabels(cdi,trace,fullLayout){var labels={};var subplot=fullLayout[trace.subplot]._subplot;labels.aLabel=Axes.tickText(subplot.aaxis,cdi.a,true).text;labels.bLabel=Axes.tickText(subplot.baxis,cdi.b,true).text;labels.cLabel=Axes.tickText(subplot.caxis,cdi.c,true).text;return labels}},{"../../plots/cartesian/axes":854}],1311:[function(_dereq_,module,exports){"use strict";var scatterHover=_dereq_("../scatter/hover");module.exports=function hoverPoints(pointData,xval,yval,hovermode){var scatterPointData=scatterHover(pointData,xval,yval,hovermode);if(!scatterPointData||scatterPointData[0].index===false)return;var newPointData=scatterPointData[0];if(newPointData.index===undefined){var yFracUp=1-newPointData.y0/pointData.ya._length;var xLen=pointData.xa._length;var xMin=xLen*yFracUp/2;var xMax=xLen-xMin;newPointData.x0=Math.max(Math.min(newPointData.x0,xMax),xMin);newPointData.x1=Math.max(Math.min(newPointData.x1,xMax),xMin);return scatterPointData}var cdi=newPointData.cd[newPointData.index];var trace=newPointData.trace;var subplot=newPointData.subplot;newPointData.a=cdi.a;newPointData.b=cdi.b;newPointData.c=cdi.c;newPointData.xLabelVal=undefined;newPointData.yLabelVal=undefined;var fullLayout={};fullLayout[trace.subplot]={_subplot:subplot};var labels=trace._module.formatLabels(cdi,trace,fullLayout);newPointData.aLabel=labels.aLabel;newPointData.bLabel=labels.bLabel;newPointData.cLabel=labels.cLabel;var hoverinfo=cdi.hi||trace.hoverinfo;var text=[];function textPart(ax,val){text.push(ax._hovertitle+": "+val)}if(!trace.hovertemplate){var parts=hoverinfo.split("+");if(parts.indexOf("all")!==-1)parts=["a","b","c"];if(parts.indexOf("a")!==-1)textPart(subplot.aaxis,newPointData.aLabel);if(parts.indexOf("b")!==-1)textPart(subplot.baxis,newPointData.bLabel);if(parts.indexOf("c")!==-1)textPart(subplot.caxis,newPointData.cLabel)}newPointData.extraText=text.join("<br>");newPointData.hovertemplate=trace.hovertemplate;return scatterPointData}},{"../scatter/hover":1229}],1312:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../scatter/marker_colorbar"),formatLabels:_dereq_("./format_labels"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),style:_dereq_("../scatter/style").style,styleOnSelect:_dereq_("../scatter/style").styleOnSelect,hoverPoints:_dereq_("./hover"),selectPoints:_dereq_("../scatter/select"),eventData:_dereq_("./event_data"),moduleType:"trace",name:"scatterternary",basePlotModule:_dereq_("../../plots/ternary"),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/ternary":927,"../scatter/marker_colorbar":1236,"../scatter/select":1240,"../scatter/style":1242,"./attributes":1306,"./calc":1307,"./defaults":1308,"./event_data":1309,"./format_labels":1310,"./hover":1311,"./plot":1313}],1313:[function(_dereq_,module,exports){"use strict";var scatterPlot=_dereq_("../scatter/plot");module.exports=function plot(gd,ternary,moduleCalcData){var plotContainer=ternary.plotContainer;plotContainer.select(".scatterlayer").selectAll("*").remove();var plotinfo={xaxis:ternary.xaxis,yaxis:ternary.yaxis,plot:plotContainer,layerClipId:ternary._hasClipOnAxisFalse?ternary.clipIdRelative:null};var scatterLayer=ternary.layers.frontplot.select("g.scatterlayer");scatterPlot(gd,plotinfo,moduleCalcData,scatterLayer)}},{"../scatter/plot":1239}],1314:[function(_dereq_,module,exports){"use strict";var scatterAttrs=_dereq_("../scatter/attributes");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var scatterGlAttrs=_dereq_("../scattergl/attributes");var cartesianIdRegex=_dereq_("../../plots/cartesian/constants").idRegex;var templatedArray=_dereq_("../../plot_api/plot_template").templatedArray;var extendFlat=_dereq_("../../lib/extend").extendFlat;var scatterMarkerAttrs=scatterAttrs.marker;var scatterMarkerLineAttrs=scatterMarkerAttrs.line;var markerLineAttrs=extendFlat(colorScaleAttrs("marker.line",{editTypeOverride:"calc"}),{width:extendFlat({},scatterMarkerLineAttrs.width,{editType:"calc"}),editType:"calc"});var markerAttrs=extendFlat(colorScaleAttrs("marker"),{symbol:scatterMarkerAttrs.symbol,size:extendFlat({},scatterMarkerAttrs.size,{editType:"markerSize"}),sizeref:scatterMarkerAttrs.sizeref,sizemin:scatterMarkerAttrs.sizemin,sizemode:scatterMarkerAttrs.sizemode,opacity:scatterMarkerAttrs.opacity,colorbar:scatterMarkerAttrs.colorbar,line:markerLineAttrs,editType:"calc"});markerAttrs.color.editType=markerAttrs.cmin.editType=markerAttrs.cmax.editType="style";function makeAxesValObject(axLetter){return{valType:"info_array",freeLength:true,editType:"calc",items:{valType:"subplotid",regex:cartesianIdRegex[axLetter],editType:"plot"}}}module.exports={dimensions:templatedArray("dimension",{visible:{valType:"boolean",dflt:true,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:false,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:extendFlat({},scatterGlAttrs.text,{}),hovertext:extendFlat({},scatterGlAttrs.hovertext,{}),hovertemplate:hovertemplateAttrs(),xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),marker:markerAttrs,xaxes:makeAxesValObject("x"),yaxes:makeAxesValObject("y"),diagonal:{visible:{valType:"boolean",dflt:true,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:true,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:true,editType:"calc"},selected:{marker:scatterGlAttrs.selected.marker,editType:"calc"},unselected:{marker:scatterGlAttrs.unselected.marker,editType:"calc"},opacity:scatterGlAttrs.opacity}},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plot_api/plot_template":843,"../../plots/cartesian/axis_format_attributes":857,"../../plots/cartesian/constants":861,"../../plots/template_attributes":926,"../scatter/attributes":1218,"../scattergl/attributes":1270}],1315:[function(_dereq_,module,exports){"use strict";var createLine=_dereq_("regl-line2d");var Registry=_dereq_("../../registry");var prepareRegl=_dereq_("../../lib/prepare_regl");var getModuleCalcData=_dereq_("../../plots/get_data").getModuleCalcData;var Cartesian=_dereq_("../../plots/cartesian");var getFromId=_dereq_("../../plots/cartesian/axis_ids").getFromId;var shouldShowZeroLine=_dereq_("../../plots/cartesian/axes").shouldShowZeroLine;var SPLOM="splom";function plot(gd){var fullLayout=gd._fullLayout;var _module=Registry.getModule(SPLOM);var splomCalcData=getModuleCalcData(gd.calcdata,_module)[0];var success=prepareRegl(gd,["ANGLE_instanced_arrays","OES_element_index_uint"]);if(!success)return;if(fullLayout._hasOnlyLargeSploms){updateGrid(gd)}_module.plot(gd,{},splomCalcData)}function drag(gd){var cd=gd.calcdata;var fullLayout=gd._fullLayout;if(fullLayout._hasOnlyLargeSploms){updateGrid(gd)}for(var i=0;i<cd.length;i++){var cd0=cd[i][0];var trace=cd0.trace;var scene=fullLayout._splomScenes[trace.uid];if(trace.type==="splom"&&scene&&scene.matrix){dragOne(gd,trace,scene)}}}function dragOne(gd,trace,scene){var visibleLength=scene.matrixOptions.data.length;var visibleDims=trace._visibleDims;var ranges=scene.viewOpts.ranges=new Array(visibleLength);for(var k=0;k<visibleDims.length;k++){var i=visibleDims[k];var rng=ranges[k]=new Array(4);var xa=getFromId(gd,trace._diag[i][0]);if(xa){rng[0]=xa.r2l(xa.range[0]);rng[2]=xa.r2l(xa.range[1])}var ya=getFromId(gd,trace._diag[i][1]);if(ya){rng[1]=ya.r2l(ya.range[0]);rng[3]=ya.r2l(ya.range[1])}}if(scene.selectBatch.length||scene.unselectBatch.length){scene.matrix.update({ranges:ranges},{ranges:ranges})}else{scene.matrix.update({ranges:ranges})}}function updateGrid(gd){var fullLayout=gd._fullLayout;var regl=fullLayout._glcanvas.data()[0].regl;var splomGrid=fullLayout._splomGrid;if(!splomGrid){splomGrid=fullLayout._splomGrid=createLine(regl)}splomGrid.update(makeGridData(gd))}function makeGridData(gd){var plotGlPixelRatio=gd._context.plotGlPixelRatio;var fullLayout=gd._fullLayout;var gs=fullLayout._size;var fullView=[0,0,fullLayout.width*plotGlPixelRatio,fullLayout.height*plotGlPixelRatio];var lookup={};var k;function push(prefix,ax,x0,x1,y0,y1){x0*=plotGlPixelRatio;x1*=plotGlPixelRatio;y0*=plotGlPixelRatio;y1*=plotGlPixelRatio;var lcolor=ax[prefix+"color"];var lwidth=ax[prefix+"width"];var key=String(lcolor+lwidth);if(key in lookup){lookup[key].data.push(NaN,NaN,x0,x1,y0,y1)}else{lookup[key]={data:[x0,x1,y0,y1],join:"rect",thickness:lwidth*plotGlPixelRatio,color:lcolor,viewport:fullView,range:fullView,overlay:false}}}for(k in fullLayout._splomSubplots){var sp=fullLayout._plots[k];var xa=sp.xaxis;var ya=sp.yaxis;var xVals=xa._gridVals;var yVals=ya._gridVals;var xOffset=xa._offset;var xLength=xa._length;var yLength=ya._length;var yOffset=gs.b+ya.domain[0]*gs.h;var ym=-ya._m;var yb=-ym*ya.r2l(ya.range[0],ya.calendar);var x,y;if(xa.showgrid){for(k=0;k<xVals.length;k++){x=xOffset+xa.l2p(xVals[k].x);push("grid",xa,x,yOffset,x,yOffset+yLength)}}if(ya.showgrid){for(k=0;k<yVals.length;k++){y=yOffset+yb+ym*yVals[k].x;push("grid",ya,xOffset,y,xOffset+xLength,y)}}if(shouldShowZeroLine(gd,xa,ya)){x=xOffset+xa.l2p(0);push("zeroline",xa,x,yOffset,x,yOffset+yLength)}if(shouldShowZeroLine(gd,ya,xa)){y=yOffset+yb+0;push("zeroline",ya,xOffset,y,xOffset+xLength,y)}}var gridBatches=[];for(k in lookup){gridBatches.push(lookup[k])}return gridBatches}function clean(newFullData,newFullLayout,oldFullData,oldFullLayout){var lookup={};var i;if(oldFullLayout._splomScenes){for(i=0;i<newFullData.length;i++){var newTrace=newFullData[i];if(newTrace.type==="splom"){lookup[newTrace.uid]=1}}for(i=0;i<oldFullData.length;i++){var oldTrace=oldFullData[i];if(!lookup[oldTrace.uid]){var scene=oldFullLayout._splomScenes[oldTrace.uid];if(scene&&scene.destroy)scene.destroy();oldFullLayout._splomScenes[oldTrace.uid]=null;delete oldFullLayout._splomScenes[oldTrace.uid]}}}if(Object.keys(oldFullLayout._splomScenes||{}).length===0){delete oldFullLayout._splomScenes}if(oldFullLayout._splomGrid&&(!newFullLayout._hasOnlyLargeSploms&&oldFullLayout._hasOnlyLargeSploms)){oldFullLayout._splomGrid.destroy();oldFullLayout._splomGrid=null;delete oldFullLayout._splomGrid}Cartesian.clean(newFullData,newFullLayout,oldFullData,oldFullLayout)}module.exports={name:SPLOM,attr:Cartesian.attr,attrRegex:Cartesian.attrRegex,layoutAttributes:Cartesian.layoutAttributes,supplyLayoutDefaults:Cartesian.supplyLayoutDefaults,drawFramework:Cartesian.drawFramework,plot:plot,drag:drag,updateGrid:updateGrid,clean:clean,updateFx:Cartesian.updateFx,toSVG:Cartesian.toSVG}},{"../../lib/prepare_regl":816,"../../plots/cartesian":868,"../../plots/cartesian/axes":854,"../../plots/cartesian/axis_ids":858,"../../plots/get_data":891,"../../registry":931,"regl-line2d":537}],1316:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var AxisIDs=_dereq_("../../plots/cartesian/axis_ids");var calcMarkerSize=_dereq_("../scatter/calc").calcMarkerSize;var calcAxisExpansion=_dereq_("../scatter/calc").calcAxisExpansion;var calcColorscale=_dereq_("../scatter/colorscale_calc");var convertMarkerSelection=_dereq_("../scattergl/convert").markerSelection;var convertMarkerStyle=_dereq_("../scattergl/convert").markerStyle;var sceneUpdate=_dereq_("./scene_update");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var TOO_MANY_POINTS=_dereq_("../scattergl/constants").TOO_MANY_POINTS;module.exports=function calc(gd,trace){var dimensions=trace.dimensions;var commonLength=trace._length;var opts={};var cdata=opts.cdata=[];var ldata=opts.data=[];var visibleDims=trace._visibleDims=[];var i,k,dim,xa,ya;function makeCalcdata(ax,dim){var ccol=ax.makeCalcdata({v:dim.values,vcalendar:trace.calendar},"v");for(var j=0;j<ccol.length;j++){ccol[j]=ccol[j]===BADNUM?NaN:ccol[j]}cdata.push(ccol);ldata.push(ax.type==="log"?Lib.simpleMap(ccol,ax.c2l):ccol)}for(i=0;i<dimensions.length;i++){dim=dimensions[i];if(dim.visible){xa=AxisIDs.getFromId(gd,trace._diag[i][0]);ya=AxisIDs.getFromId(gd,trace._diag[i][1]);if(xa&&ya&&xa.type!==ya.type){Lib.log("Skipping splom dimension "+i+" with conflicting axis types");continue}if(xa){makeCalcdata(xa,dim);if(ya&&ya.type==="category"){ya._categories=xa._categories.slice()}}else{makeCalcdata(ya,dim)}visibleDims.push(i)}}calcColorscale(gd,trace);Lib.extendFlat(opts,convertMarkerStyle(trace));var visibleLength=cdata.length;var hasTooManyPoints=visibleLength*commonLength>TOO_MANY_POINTS;var ppad;if(hasTooManyPoints){ppad=opts.sizeAvg||Math.max(opts.size,3)}else{ppad=calcMarkerSize(trace,commonLength)}for(k=0;k<visibleDims.length;k++){i=visibleDims[k];dim=dimensions[i];xa=AxisIDs.getFromId(gd,trace._diag[i][0])||{};ya=AxisIDs.getFromId(gd,trace._diag[i][1])||{};calcAxisExpansion(gd,trace,xa,ya,cdata[k],cdata[k],ppad)}var scene=sceneUpdate(gd,trace);if(!scene.matrix)scene.matrix=true;scene.matrixOptions=opts;scene.selectedOptions=convertMarkerSelection(trace,trace.selected);scene.unselectedOptions=convertMarkerSelection(trace,trace.unselected);return[{x:false,y:false,t:{},trace:trace}]}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/axis_ids":858,"../scatter/calc":1219,"../scatter/colorscale_calc":1221,"../scattergl/constants":1272,"../scattergl/convert":1273,"./scene_update":1323}],1317:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleArrayContainerDefaults=_dereq_("../../plots/array_container_defaults");var attributes=_dereq_("./attributes");var subTypes=_dereq_("../scatter/subtypes");var handleMarkerDefaults=_dereq_("../scatter/marker_defaults");var mergeLength=_dereq_("../parcoords/merge_length");var isOpenSymbol=_dereq_("../scattergl/helpers").isOpenSymbol;module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var dimensions=handleArrayContainerDefaults(traceIn,traceOut,{name:"dimensions",handleItemDefaults:dimensionDefaults});var showDiag=coerce("diagonal.visible");var showUpper=coerce("showupperhalf");var showLower=coerce("showlowerhalf");var dimLength=mergeLength(traceOut,dimensions,"values");if(!dimLength||!showDiag&&!showUpper&&!showLower){traceOut.visible=false;return}coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("xhoverformat");coerce("yhoverformat");handleMarkerDefaults(traceIn,traceOut,defaultColor,layout,coerce);var isOpen=isOpenSymbol(traceOut.marker.symbol);var isBubble=subTypes.isBubble(traceOut);coerce("marker.line.width",isOpen||isBubble?1:0);handleAxisDefaults(traceIn,traceOut,layout,coerce);Lib.coerceSelectionMarkerOpacity(traceOut,coerce)};function dimensionDefaults(dimIn,dimOut){function coerce(attr,dflt){return Lib.coerce(dimIn,dimOut,attributes.dimensions,attr,dflt)}coerce("label");var values=coerce("values");if(!(values&&values.length))dimOut.visible=false;else coerce("visible");coerce("axis.type");coerce("axis.matches")}function handleAxisDefaults(traceIn,traceOut,layout,coerce){var dimensions=traceOut.dimensions;var dimLength=dimensions.length;var showUpper=traceOut.showupperhalf;var showLower=traceOut.showlowerhalf;var showDiag=traceOut.diagonal.visible;var i,j;var xAxesDflt=new Array(dimLength);var yAxesDflt=new Array(dimLength);for(i=0;i<dimLength;i++){var suffix=i?i+1:"";xAxesDflt[i]="x"+suffix;yAxesDflt[i]="y"+suffix}var xaxes=coerce("xaxes",xAxesDflt);var yaxes=coerce("yaxes",yAxesDflt);var diag=traceOut._diag=new Array(dimLength);traceOut._xaxes={};traceOut._yaxes={};var xList=[];var yList=[];function fillAxisStashes(axId,counterAxId,dim,list){if(!axId)return;var axLetter=axId.charAt(0);var stash=layout._splomAxes[axLetter];traceOut["_"+axLetter+"axes"][axId]=1;list.push(axId);if(!(axId in stash)){var s=stash[axId]={};if(dim){s.label=dim.label||"";if(dim.visible&&dim.axis){if(dim.axis.type)s.type=dim.axis.type;if(dim.axis.matches)s.matches=counterAxId}}}}var mustShiftX=!showDiag&&!showLower;var mustShiftY=!showDiag&&!showUpper;traceOut._axesDim={};for(i=0;i<dimLength;i++){var dim=dimensions[i];var i0=i===0;var iN=i===dimLength-1;var xaId=i0&&mustShiftX||iN&&mustShiftY?undefined:xaxes[i];var yaId=i0&&mustShiftY||iN&&mustShiftX?undefined:yaxes[i];fillAxisStashes(xaId,yaId,dim,xList);fillAxisStashes(yaId,xaId,dim,yList);diag[i]=[xaId,yaId];traceOut._axesDim[xaId]=i;traceOut._axesDim[yaId]=i}for(i=0;i<xList.length;i++){for(j=0;j<yList.length;j++){var id=xList[i]+yList[j];if(i>j&&showUpper){layout._splomSubplots[id]=1}else if(i<j&&showLower){layout._splomSubplots[id]=1}else if(i===j&&(showDiag||!showLower||!showUpper)){layout._splomSubplots[id]=1}}}if(!showLower||!showDiag&&showUpper&&showLower){layout._splomGridDflt.xside="bottom";layout._splomGridDflt.yside="left"}}},{"../../lib":803,"../../plots/array_container_defaults":849,"../parcoords/merge_length":1189,"../scatter/marker_defaults":1237,"../scatter/subtypes":1243,"../scattergl/helpers":1277,"./attributes":1314}],1318:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var calcColorscale=_dereq_("../scatter/colorscale_calc");var convertMarkerStyle=_dereq_("../scattergl/convert").markerStyle;module.exports=function editStyle(gd,cd0){var trace=cd0.trace;var scene=gd._fullLayout._splomScenes[trace.uid];if(scene){calcColorscale(gd,trace);Lib.extendFlat(scene.matrixOptions,convertMarkerStyle(trace));var opts=Lib.extendFlat({},scene.matrixOptions,scene.viewOpts);scene.matrix.update(opts,null)}}},{"../../lib":803,"../scatter/colorscale_calc":1221,"../scattergl/convert":1273}],1319:[function(_dereq_,module,exports){"use strict";exports.getDimIndex=function getDimIndex(trace,ax){var axId=ax._id;var axLetter=axId.charAt(0);var ind={x:0,y:1}[axLetter];var visibleDims=trace._visibleDims;for(var k=0;k<visibleDims.length;k++){var i=visibleDims[k];if(trace._diag[i][ind]===axId)return k}return false}},{}],1320:[function(_dereq_,module,exports){"use strict";var helpers=_dereq_("./helpers");var calcHover=_dereq_("../scattergl/hover").calcHover;function hoverPoints(pointData,xval,yval){var cd=pointData.cd;var trace=cd[0].trace;var scene=pointData.scene;var cdata=scene.matrixOptions.cdata;var xa=pointData.xa;var ya=pointData.ya;var xpx=xa.c2p(xval);var ypx=ya.c2p(yval);var maxDistance=pointData.distance;var xi=helpers.getDimIndex(trace,xa);var yi=helpers.getDimIndex(trace,ya);if(xi===false||yi===false)return[pointData];var x=cdata[xi];var y=cdata[yi];var id,dxy;var minDist=maxDistance;for(var i=0;i<x.length;i++){var ptx=x[i];var pty=y[i];var dx=xa.c2p(ptx)-xpx;var dy=ya.c2p(pty)-ypx;var dist=Math.sqrt(dx*dx+dy*dy);if(dist<minDist){minDist=dxy=dist;id=i}}pointData.index=id;pointData.distance=minDist;pointData.dxy=dxy;if(id===undefined)return[pointData];return[calcHover(pointData,x,y,trace)]}module.exports={hoverPoints:hoverPoints}},{"../scattergl/hover":1278,"./helpers":1319}],1321:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Grid=_dereq_("../../components/grid");module.exports={moduleType:"trace",name:"splom",basePlotModule:_dereq_("./base_plot"),categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:_dereq_("../scatter/marker_colorbar"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),hoverPoints:_dereq_("./hover").hoverPoints,selectPoints:_dereq_("./select"),editStyle:_dereq_("./edit_style"),meta:{}};Registry.register(Grid)},{"../../components/grid":710,"../../registry":931,"../scatter/marker_colorbar":1236,"./attributes":1314,"./base_plot":1315,"./calc":1316,"./defaults":1317,"./edit_style":1318,"./hover":1320,"./plot":1322,"./select":1324}],1322:[function(_dereq_,module,exports){"use strict";var createMatrix=_dereq_("regl-splom");var Lib=_dereq_("../../lib");var AxisIDs=_dereq_("../../plots/cartesian/axis_ids");var selectMode=_dereq_("../../components/dragelement/helpers").selectMode;module.exports=function plot(gd,_,splomCalcData){if(!splomCalcData.length)return;for(var i=0;i<splomCalcData.length;i++){plotOne(gd,splomCalcData[i][0])}};function plotOne(gd,cd0){var fullLayout=gd._fullLayout;var gs=fullLayout._size;var trace=cd0.trace;var stash=cd0.t;var scene=fullLayout._splomScenes[trace.uid];var matrixOpts=scene.matrixOptions;var cdata=matrixOpts.cdata;var regl=fullLayout._glcanvas.data()[0].regl;var dragmode=fullLayout.dragmode;var xa,ya;var i,j,k;if(cdata.length===0)return;matrixOpts.lower=trace.showupperhalf;matrixOpts.upper=trace.showlowerhalf;matrixOpts.diagonal=trace.diagonal.visible;var visibleDims=trace._visibleDims;var visibleLength=cdata.length;var viewOpts=scene.viewOpts={};viewOpts.ranges=new Array(visibleLength);viewOpts.domains=new Array(visibleLength);for(k=0;k<visibleDims.length;k++){i=visibleDims[k];var rng=viewOpts.ranges[k]=new Array(4);var dmn=viewOpts.domains[k]=new Array(4);xa=AxisIDs.getFromId(gd,trace._diag[i][0]);if(xa){rng[0]=xa._rl[0];rng[2]=xa._rl[1];dmn[0]=xa.domain[0];dmn[2]=xa.domain[1]}ya=AxisIDs.getFromId(gd,trace._diag[i][1]);if(ya){rng[1]=ya._rl[0];rng[3]=ya._rl[1];dmn[1]=ya.domain[0];dmn[3]=ya.domain[1]}}var plotGlPixelRatio=gd._context.plotGlPixelRatio;var l=gs.l*plotGlPixelRatio;var b=gs.b*plotGlPixelRatio;var w=gs.w*plotGlPixelRatio;var h=gs.h*plotGlPixelRatio;viewOpts.viewport=[l,b,w+l,h+b];if(scene.matrix===true){scene.matrix=createMatrix(regl)}var clickSelectEnabled=fullLayout.clickmode.indexOf("select")>-1;var isSelectMode=selectMode(dragmode)||!!trace.selectedpoints||clickSelectEnabled;var needsBaseUpdate=true;if(isSelectMode){var commonLength=trace._length;if(trace.selectedpoints){scene.selectBatch=trace.selectedpoints;var selPts=trace.selectedpoints;var selDict={};for(i=0;i<selPts.length;i++){selDict[selPts[i]]=true}var unselPts=[];for(i=0;i<commonLength;i++){if(!selDict[i])unselPts.push(i)}scene.unselectBatch=unselPts}var xpx=stash.xpx=new Array(visibleLength);var ypx=stash.ypx=new Array(visibleLength);for(k=0;k<visibleDims.length;k++){i=visibleDims[k];xa=AxisIDs.getFromId(gd,trace._diag[i][0]);if(xa){xpx[k]=new Array(commonLength);for(j=0;j<commonLength;j++){xpx[k][j]=xa.c2p(cdata[k][j])}}ya=AxisIDs.getFromId(gd,trace._diag[i][1]);if(ya){ypx[k]=new Array(commonLength);for(j=0;j<commonLength;j++){ypx[k][j]=ya.c2p(cdata[k][j])}}}if(scene.selectBatch.length||scene.unselectBatch.length){var unselOpts=Lib.extendFlat({},matrixOpts,scene.unselectedOptions,viewOpts);var selOpts=Lib.extendFlat({},matrixOpts,scene.selectedOptions,viewOpts);scene.matrix.update(unselOpts,selOpts);needsBaseUpdate=false}}else{stash.xpx=stash.ypx=null}if(needsBaseUpdate){var opts=Lib.extendFlat({},matrixOpts,viewOpts);scene.matrix.update(opts,null)}}},{"../../components/dragelement/helpers":684,"../../lib":803,"../../plots/cartesian/axis_ids":858,"regl-splom":539}],1323:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");module.exports=function sceneUpdate(gd,trace){var fullLayout=gd._fullLayout;var uid=trace.uid;var splomScenes=fullLayout._splomScenes;if(!splomScenes)splomScenes=fullLayout._splomScenes={};var reset={dirty:true,selectBatch:[],unselectBatch:[]};var first={matrix:false,selectBatch:[],unselectBatch:[]};var scene=splomScenes[trace.uid];if(!scene){scene=splomScenes[uid]=Lib.extendFlat({},reset,first);scene.draw=function draw(){if(scene.matrix&&scene.matrix.draw){if(scene.selectBatch.length||scene.unselectBatch.length){scene.matrix.draw(scene.unselectBatch,scene.selectBatch)}else{scene.matrix.draw()}}scene.dirty=false};scene.destroy=function destroy(){if(scene.matrix&&scene.matrix.destroy){scene.matrix.destroy()}scene.matrixOptions=null;scene.selectBatch=null;scene.unselectBatch=null;scene=null}}if(!scene.dirty){Lib.extendFlat(scene,reset)}return scene}},{"../../lib":803}],1324:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var subTypes=_dereq_("../scatter/subtypes");var helpers=_dereq_("./helpers");module.exports=function select(searchInfo,selectionTester){var cd=searchInfo.cd;var trace=cd[0].trace;var stash=cd[0].t;var scene=searchInfo.scene;var cdata=scene.matrixOptions.cdata;var xa=searchInfo.xaxis;var ya=searchInfo.yaxis;var selection=[];if(!scene)return selection;var hasOnlyLines=!subTypes.hasMarkers(trace)&&!subTypes.hasText(trace);if(trace.visible!==true||hasOnlyLines)return selection;var xi=helpers.getDimIndex(trace,xa);var yi=helpers.getDimIndex(trace,ya);if(xi===false||yi===false)return selection;var xpx=stash.xpx[xi];var ypx=stash.ypx[yi];var x=cdata[xi];var y=cdata[yi];var els=[];var unels=[];if(selectionTester!==false&&!selectionTester.degenerate){for(var i=0;i<x.length;i++){if(selectionTester.contains([xpx[i],ypx[i]],null,i,searchInfo)){els.push(i);selection.push({pointNumber:i,x:x[i],y:y[i]})}else{unels.push(i)}}}var matrixOpts=scene.matrixOptions;if(!els.length&&!unels.length){scene.matrix.update(matrixOpts,null)}else if(!scene.selectBatch.length&&!scene.unselectBatch.length){scene.matrix.update(scene.unselectedOptions,Lib.extendFlat({},matrixOpts,scene.selectedOptions,scene.viewOpts))}scene.selectBatch=els;scene.unselectBatch=unels;return selection}},{"../../lib":803,"../scatter/subtypes":1243,"./helpers":1319}],1325:[function(_dereq_,module,exports){"use strict";var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var mesh3dAttrs=_dereq_("../mesh3d/attributes");var baseAttrs=_dereq_("../../plots/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var attrs={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:hovertemplateAttrs({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),uhoverformat:axisHoverFormat("u",1),vhoverformat:axisHoverFormat("v",1),whoverformat:axisHoverFormat("w",1),xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z"),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})};extendFlat(attrs,colorScaleAttrs("",{colorAttr:"u/v/w norm",showScaleDflt:true,editTypeOverride:"calc"}));var fromMesh3d=["opacity","lightposition","lighting"];fromMesh3d.forEach((function(k){attrs[k]=mesh3dAttrs[k]}));attrs.hoverinfo=extendFlat({},baseAttrs.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"});attrs.transforms=undefined;module.exports=attrs},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../mesh3d/attributes":1159}],1326:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var colorscaleCalc=_dereq_("../../components/colorscale/calc");function calc(gd,trace){trace._len=Math.min(trace.u.length,trace.v.length,trace.w.length,trace.x.length,trace.y.length,trace.z.length);trace._u=filter(trace.u,trace._len);trace._v=filter(trace.v,trace._len);trace._w=filter(trace.w,trace._len);trace._x=filter(trace.x,trace._len);trace._y=filter(trace.y,trace._len);trace._z=filter(trace.z,trace._len);var grid=processGrid(trace);trace._gridFill=grid.fill;trace._Xs=grid.Xs;trace._Ys=grid.Ys;trace._Zs=grid.Zs;trace._len=grid.len;var slen=0;var startx,starty,startz;if(trace.starts){startx=filter(trace.starts.x||[]);starty=filter(trace.starts.y||[]);startz=filter(trace.starts.z||[]);slen=Math.min(startx.length,starty.length,startz.length)}trace._startsX=startx||[];trace._startsY=starty||[];trace._startsZ=startz||[];var normMax=0;var normMin=Infinity;var i;for(i=0;i<trace._len;i++){var u=trace._u[i];var v=trace._v[i];var w=trace._w[i];var norm=Math.sqrt(u*u+v*v+w*w);normMax=Math.max(normMax,norm);normMin=Math.min(normMin,norm)}colorscaleCalc(gd,trace,{vals:[normMin,normMax],containerStr:"",cLetter:"c"});for(i=0;i<slen;i++){var sx=startx[i];grid.xMax=Math.max(grid.xMax,sx);grid.xMin=Math.min(grid.xMin,sx);var sy=starty[i];grid.yMax=Math.max(grid.yMax,sy);grid.yMin=Math.min(grid.yMin,sy);var sz=startz[i];grid.zMax=Math.max(grid.zMax,sz);grid.zMin=Math.min(grid.zMin,sz)}trace._slen=slen;trace._normMax=normMax;trace._xbnds=[grid.xMin,grid.xMax];trace._ybnds=[grid.yMin,grid.yMax];trace._zbnds=[grid.zMin,grid.zMax]}function processGrid(trace){var x=trace._x;var y=trace._y;var z=trace._z;var len=trace._len;var i,j,k;var xMax=-Infinity;var xMin=Infinity;var yMax=-Infinity;var yMin=Infinity;var zMax=-Infinity;var zMin=Infinity;var gridFill="";var filledX;var filledY;var filledZ;var firstX,lastX;var firstY,lastY;var firstZ,lastZ;if(len){firstX=x[0];firstY=y[0];firstZ=z[0]}if(len>1){lastX=x[len-1];lastY=y[len-1];lastZ=z[len-1]}for(i=0;i<len;i++){xMax=Math.max(xMax,x[i]);xMin=Math.min(xMin,x[i]);yMax=Math.max(yMax,y[i]);yMin=Math.min(yMin,y[i]);zMax=Math.max(zMax,z[i]);zMin=Math.min(zMin,z[i]);if(!filledX&&x[i]!==firstX){filledX=true;gridFill+="x"}if(!filledY&&y[i]!==firstY){filledY=true;gridFill+="y"}if(!filledZ&&z[i]!==firstZ){filledZ=true;gridFill+="z"}}if(!filledX)gridFill+="x";if(!filledY)gridFill+="y";if(!filledZ)gridFill+="z";var Xs=distinctVals(trace._x);var Ys=distinctVals(trace._y);var Zs=distinctVals(trace._z);gridFill=gridFill.replace("x",(firstX>lastX?"-":"+")+"x");gridFill=gridFill.replace("y",(firstY>lastY?"-":"+")+"y");gridFill=gridFill.replace("z",(firstZ>lastZ?"-":"+")+"z");var empty=function(){len=0;Xs=[];Ys=[];Zs=[]};if(!len||len<Xs.length*Ys.length*Zs.length)empty();var getArray=function(c){return c==="x"?x:c==="y"?y:z};var getVals=function(c){return c==="x"?Xs:c==="y"?Ys:Zs};var getDir=function(c){return c[len-1]<c[0]?-1:1};var arrK=getArray(gridFill[1]);var arrJ=getArray(gridFill[3]);var arrI=getArray(gridFill[5]);var nk=getVals(gridFill[1]).length;var nj=getVals(gridFill[3]).length;var ni=getVals(gridFill[5]).length;var arbitrary=false;var getIndex=function(_i,_j,_k){return nk*(nj*_i+_j)+_k};var dirK=getDir(getArray(gridFill[1]));var dirJ=getDir(getArray(gridFill[3]));var dirI=getDir(getArray(gridFill[5]));for(i=0;i<ni-1;i++){for(j=0;j<nj-1;j++){for(k=0;k<nk-1;k++){var q000=getIndex(i,j,k);var q001=getIndex(i,j,k+1);var q010=getIndex(i,j+1,k);var q100=getIndex(i+1,j,k);if(!(arrK[q000]*dirK<arrK[q001]*dirK)||!(arrJ[q000]*dirJ<arrJ[q010]*dirJ)||!(arrI[q000]*dirI<arrI[q100]*dirI)){arbitrary=true}if(arbitrary)break}if(arbitrary)break}if(arbitrary)break}if(arbitrary){Lib.warn("Encountered arbitrary coordinates! Unable to input data grid.");empty()}return{xMin:xMin,yMin:yMin,zMin:zMin,xMax:xMax,yMax:yMax,zMax:zMax,Xs:Xs,Ys:Ys,Zs:Zs,len:len,fill:gridFill}}function distinctVals(col){return Lib.distinctVals(col).vals}function filter(arr,len){if(len===undefined)len=arr.length;if(Lib.isTypedArray(arr))return arr.subarray(0,len);var values=[];for(var i=0;i<len;i++){values[i]=+arr[i]}return values}module.exports={calc:calc,filter:filter,processGrid:processGrid}},{"../../components/colorscale/calc":674,"../../lib":803}],1327:[function(_dereq_,module,exports){"use strict";var tube2mesh=_dereq_("gl-streamtube3d");var createTubeMesh=tube2mesh.createTubeMesh;var Lib=_dereq_("../../lib");var parseColorScale=_dereq_("../../lib/gl_format_color").parseColorScale;var extractOpts=_dereq_("../../components/colorscale").extractOpts;var zip3=_dereq_("../../plots/gl3d/zip3");var axisName2scaleIndex={xaxis:0,yaxis:1,zaxis:2};function Streamtube(scene,uid){this.scene=scene;this.uid=uid;this.mesh=null;this.data=null}var proto=Streamtube.prototype;proto.handlePick=function(selection){var sceneLayout=this.scene.fullSceneLayout;var dataScale=this.scene.dataScale;function fromDataScale(v,axisName){var ax=sceneLayout[axisName];var scale=dataScale[axisName2scaleIndex[axisName]];return ax.l2c(v)/scale}if(selection.object===this.mesh){var pos=selection.data.position;var uvx=selection.data.velocity;selection.traceCoordinate=[fromDataScale(pos[0],"xaxis"),fromDataScale(pos[1],"yaxis"),fromDataScale(pos[2],"zaxis"),fromDataScale(uvx[0],"xaxis"),fromDataScale(uvx[1],"yaxis"),fromDataScale(uvx[2],"zaxis"),selection.data.intensity*this.data._normMax,selection.data.divergence];selection.textLabel=this.data.hovertext||this.data.text;return true}};function getDfltStartingPositions(vec){var len=vec.length;var s;if(len>2){s=vec.slice(1,len-1)}else if(len===2){s=[(vec[0]+vec[1])/2]}else{s=vec}return s}function getBoundPads(vec){var len=vec.length;if(len===1){return[.5,.5]}else{return[vec[1]-vec[0],vec[len-1]-vec[len-2]]}}function convert(scene,trace){var sceneLayout=scene.fullSceneLayout;var dataScale=scene.dataScale;var len=trace._len;var tubeOpts={};function toDataCoords(arr,axisName){var ax=sceneLayout[axisName];var scale=dataScale[axisName2scaleIndex[axisName]];return Lib.simpleMap(arr,(function(v){return ax.d2l(v)*scale}))}tubeOpts.vectors=zip3(toDataCoords(trace._u,"xaxis"),toDataCoords(trace._v,"yaxis"),toDataCoords(trace._w,"zaxis"),len);if(!len){return{positions:[],cells:[]}}var meshx=toDataCoords(trace._Xs,"xaxis");var meshy=toDataCoords(trace._Ys,"yaxis");var meshz=toDataCoords(trace._Zs,"zaxis");tubeOpts.meshgrid=[meshx,meshy,meshz];tubeOpts.gridFill=trace._gridFill;var slen=trace._slen;if(slen){tubeOpts.startingPositions=zip3(toDataCoords(trace._startsX,"xaxis"),toDataCoords(trace._startsY,"yaxis"),toDataCoords(trace._startsZ,"zaxis"))}else{var sy0=meshy[0];var sx=getDfltStartingPositions(meshx);var sz=getDfltStartingPositions(meshz);var startingPositions=new Array(sx.length*sz.length);var m=0;for(var i=0;i<sx.length;i++){for(var k=0;k<sz.length;k++){startingPositions[m++]=[sx[i],sy0,sz[k]]}}tubeOpts.startingPositions=startingPositions}tubeOpts.colormap=parseColorScale(trace);tubeOpts.tubeSize=trace.sizeref;tubeOpts.maxLength=trace.maxdisplayed;var xbnds=toDataCoords(trace._xbnds,"xaxis");var ybnds=toDataCoords(trace._ybnds,"yaxis");var zbnds=toDataCoords(trace._zbnds,"zaxis");var xpads=getBoundPads(meshx);var ypads=getBoundPads(meshy);var zpads=getBoundPads(meshz);var bounds=[[xbnds[0]-xpads[0],ybnds[0]-ypads[0],zbnds[0]-zpads[0]],[xbnds[1]+xpads[1],ybnds[1]+ypads[1],zbnds[1]+zpads[1]]];var meshData=tube2mesh(tubeOpts,bounds);var cOpts=extractOpts(trace);meshData.vertexIntensityBounds=[cOpts.min/trace._normMax,cOpts.max/trace._normMax];var lp=trace.lightposition;meshData.lightPosition=[lp.x,lp.y,lp.z];meshData.ambient=trace.lighting.ambient;meshData.diffuse=trace.lighting.diffuse;meshData.specular=trace.lighting.specular;meshData.roughness=trace.lighting.roughness;meshData.fresnel=trace.lighting.fresnel;meshData.opacity=trace.opacity;trace._pad=meshData.tubeScale*trace.sizeref*2;return meshData}proto.update=function(data){this.data=data;var meshData=convert(this.scene,data);this.mesh.update(meshData)};proto.dispose=function(){this.scene.glplot.remove(this.mesh);this.mesh.dispose()};function createStreamtubeTrace(scene,data){var gl=scene.glplot.gl;var meshData=convert(scene,data);var mesh=createTubeMesh(gl,meshData);var streamtube=new Streamtube(scene,data.uid);streamtube.mesh=mesh;streamtube.data=data;mesh._trace=streamtube;scene.glplot.add(mesh);return streamtube}module.exports=createStreamtubeTrace},{"../../components/colorscale":678,"../../lib":803,"../../lib/gl_format_color":799,"../../plots/gl3d/zip3":907,"gl-streamtube3d":352}],1328:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var u=coerce("u");var v=coerce("v");var w=coerce("w");var x=coerce("x");var y=coerce("y");var z=coerce("z");if(!u||!u.length||!v||!v.length||!w||!w.length||!x||!x.length||!y||!y.length||!z||!z.length){traceOut.visible=false;return}coerce("starts.x");coerce("starts.y");coerce("starts.z");coerce("maxdisplayed");coerce("sizeref");coerce("lighting.ambient");coerce("lighting.diffuse");coerce("lighting.specular");coerce("lighting.roughness");coerce("lighting.fresnel");coerce("lightposition.x");coerce("lightposition.y");coerce("lightposition.z");colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"c"});coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("uhoverformat");coerce("vhoverformat");coerce("whoverformat");coerce("xhoverformat");coerce("yhoverformat");coerce("zhoverformat");traceOut._length=null}},{"../../components/colorscale/defaults":676,"../../lib":803,"./attributes":1325}],1329:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"streamtube",basePlotModule:_dereq_("../../plots/gl3d"),categories:["gl3d","showLegend"],attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:_dereq_("./calc").calc,plot:_dereq_("./convert"),eventData:function(out,pt){out.tubex=out.x;out.tubey=out.y;out.tubez=out.z;out.tubeu=pt.traceCoordinate[3];out.tubev=pt.traceCoordinate[4];out.tubew=pt.traceCoordinate[5];out.norm=pt.traceCoordinate[6];out.divergence=pt.traceCoordinate[7];delete out.x;delete out.y;delete out.z;return out},meta:{}}},{"../../plots/gl3d":896,"./attributes":1325,"./calc":1326,"./convert":1327,"./defaults":1328}],1330:[function(_dereq_,module,exports){"use strict";var baseAttrs=_dereq_("../../plots/attributes");var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var pieAttrs=_dereq_("../pie/attributes");var constants=_dereq_("./constants");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:true},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:extendFlat({colors:{valType:"data_array",editType:"calc"},line:{color:extendFlat({},pieAttrs.marker.line.color,{dflt:null}),width:extendFlat({},pieAttrs.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},colorScaleAttrs("marker",{colorAttr:"colors",anim:false})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:pieAttrs.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:texttemplateAttrs({editType:"plot"},{keys:constants.eventDataKeys.concat(["label","value"])}),hovertext:pieAttrs.hovertext,hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:hovertemplateAttrs({},{keys:constants.eventDataKeys}),textfont:pieAttrs.textfont,insidetextorientation:pieAttrs.insidetextorientation,insidetextfont:pieAttrs.insidetextfont,outsidetextfont:extendFlat({},pieAttrs.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:pieAttrs.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:domainAttrs({name:"sunburst",trace:true,editType:"calc"})}},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/domain":882,"../../plots/template_attributes":926,"../pie/attributes":1192,"./constants":1333}],1331:[function(_dereq_,module,exports){"use strict";var plots=_dereq_("../../plots/plots");exports.name="sunburst";exports.plot=function(gd,traces,transitionOpts,makeOnCompleteCallback){plots.plotBasePlot(exports.name,gd,traces,transitionOpts,makeOnCompleteCallback)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){plots.cleanBasePlot(exports.name,newFullData,newFullLayout,oldFullData,oldFullLayout)}},{"../../plots/plots":917}],1332:[function(_dereq_,module,exports){"use strict";var d3Hierarchy=_dereq_("d3-hierarchy");var isNumeric=_dereq_("fast-isnumeric");var Lib=_dereq_("../../lib");var makeColorScaleFn=_dereq_("../../components/colorscale").makeColorScaleFuncFromTrace;var makePullColorFn=_dereq_("../pie/calc").makePullColorFn;var generateExtendedColors=_dereq_("../pie/calc").generateExtendedColors;var colorscaleCalc=_dereq_("../../components/colorscale").calc;var ALMOST_EQUAL=_dereq_("../../constants/numerical").ALMOST_EQUAL;var sunburstExtendedColorWays={};var treemapExtendedColorWays={};var icicleExtendedColorWays={};exports.calc=function(gd,trace){var fullLayout=gd._fullLayout;var ids=trace.ids;var hasIds=Lib.isArrayOrTypedArray(ids);var labels=trace.labels;var parents=trace.parents;var values=trace.values;var hasValues=Lib.isArrayOrTypedArray(values);var cd=[];var parent2children={};var refs={};var addToLookup=function(parent,v){if(parent2children[parent])parent2children[parent].push(v);else parent2children[parent]=[v];refs[v]=1};var isValidKey=function(k){return k||typeof k==="number"};var isValidVal=function(i){return!hasValues||isNumeric(values[i])&&values[i]>=0};var len;var isValid;var getId;if(hasIds){len=Math.min(ids.length,parents.length);isValid=function(i){return isValidKey(ids[i])&&isValidVal(i)};getId=function(i){return String(ids[i])}}else{len=Math.min(labels.length,parents.length);isValid=function(i){return isValidKey(labels[i])&&isValidVal(i)};getId=function(i){return String(labels[i])}}if(hasValues)len=Math.min(len,values.length);for(var i=0;i<len;i++){if(isValid(i)){var id=getId(i);var pid=isValidKey(parents[i])?String(parents[i]):"";var cdi={i:i,id:id,pid:pid,label:isValidKey(labels[i])?String(labels[i]):""};if(hasValues)cdi.v=+values[i];cd.push(cdi);addToLookup(pid,id)}}if(!parent2children[""]){var impliedRoots=[];var k;for(k in parent2children){if(!refs[k]){impliedRoots.push(k)}}if(impliedRoots.length===1){k=impliedRoots[0];cd.unshift({hasImpliedRoot:true,id:k,pid:"",label:k})}else{return Lib.warn(["Multiple implied roots, cannot build",trace.type,"hierarchy of",trace.name+".","These roots include:",impliedRoots.join(", ")].join(" "))}}else if(parent2children[""].length>1){var dummyId=Lib.randstr();for(var j=0;j<cd.length;j++){if(cd[j].pid===""){cd[j].pid=dummyId}}cd.unshift({hasMultipleRoots:true,id:dummyId,pid:"",label:""})}var root;try{root=d3Hierarchy.stratify().id((function(d){return d.id})).parentId((function(d){return d.pid}))(cd)}catch(e){return Lib.warn(["Failed to build",trace.type,"hierarchy of",trace.name+".","Error:",e.message].join(" "))}var hierarchy=d3Hierarchy.hierarchy(root);var failed=false;if(hasValues){switch(trace.branchvalues){case"remainder":hierarchy.sum((function(d){return d.data.v}));break;case"total":hierarchy.each((function(d){var cdi=d.data.data;var v=cdi.v;if(d.children){var partialSum=d.children.reduce((function(a,c){return a+c.data.data.v}),0);if(cdi.hasImpliedRoot||cdi.hasMultipleRoots){v=partialSum}if(v<partialSum*ALMOST_EQUAL){failed=true;return Lib.warn(["Total value for node",d.data.data.id,"of",trace.name,"is smaller than the sum of its children.","\nparent value =",v,"\nchildren sum =",partialSum].join(" "))}}d.value=v}));break}}else{countDescendants(hierarchy,trace,{branches:trace.count.indexOf("branches")!==-1,leaves:trace.count.indexOf("leaves")!==-1})}if(failed)return;if(trace.sort){hierarchy.sort((function(a,b){return b.value-a.value}))}var pullColor;var scaleColor;var colors=trace.marker.colors||[];var hasColors=!!colors.length;if(trace._hasColorscale){if(!hasColors){colors=hasValues?trace.values:trace._values}colorscaleCalc(gd,trace,{vals:colors,containerStr:"marker",cLetter:"c"});scaleColor=makeColorScaleFn(trace.marker)}else{pullColor=makePullColorFn(fullLayout["_"+trace.type+"colormap"])}hierarchy.each((function(d){var cdi=d.data.data;cdi.color=trace._hasColorscale?scaleColor(colors[cdi.i]):pullColor(colors[cdi.i],cdi.id)}));cd[0].hierarchy=hierarchy;return cd};exports._runCrossTraceCalc=function(desiredType,gd){var fullLayout=gd._fullLayout;var calcdata=gd.calcdata;var colorWay=fullLayout[desiredType+"colorway"];var colorMap=fullLayout["_"+desiredType+"colormap"];if(fullLayout["extend"+desiredType+"colors"]){colorWay=generateExtendedColors(colorWay,desiredType==="icicle"?icicleExtendedColorWays:desiredType==="treemap"?treemapExtendedColorWays:sunburstExtendedColorWays)}var dfltColorCount=0;var rootColor;function pickColor(d){var cdi=d.data.data;var id=cdi.id;if(cdi.color===false){if(colorMap[id]){cdi.color=colorMap[id]}else if(d.parent){if(d.parent.parent){cdi.color=d.parent.data.data.color}else{colorMap[id]=cdi.color=colorWay[dfltColorCount%colorWay.length];dfltColorCount++}}else{cdi.color=rootColor}}}for(var i=0;i<calcdata.length;i++){var cd=calcdata[i];var cd0=cd[0];if(cd0.trace.type===desiredType&&cd0.hierarchy){rootColor=cd0.trace.root.color;cd0.hierarchy.each(pickColor)}}};exports.crossTraceCalc=function(gd){return exports._runCrossTraceCalc("sunburst",gd)};function countDescendants(node,trace,opts){var nChild=0;var children=node.children;if(children){var len=children.length;for(var i=0;i<len;i++){nChild+=countDescendants(children[i],trace,opts)}if(opts.branches)nChild++}else{if(opts.leaves)nChild++}node.value=node.data.data.value=nChild;if(!trace._values)trace._values=[];trace._values[node.data.data.i]=nChild;return nChild}},{"../../components/colorscale":678,"../../constants/numerical":779,"../../lib":803,"../pie/calc":1194,"d3-hierarchy":170,"fast-isnumeric":249}],1333:[function(_dereq_,module,exports){"use strict";module.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}},{}],1334:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var handleText=_dereq_("../bar/defaults").handleText;var Colorscale=_dereq_("../../components/colorscale");var hasColorscale=Colorscale.hasColorscale;var colorscaleDefaults=Colorscale.handleDefaults;module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var labels=coerce("labels");var parents=coerce("parents");if(!labels||!labels.length||!parents||!parents.length){traceOut.visible=false;return}var vals=coerce("values");if(vals&&vals.length){coerce("branchvalues")}else{coerce("count")}coerce("level");coerce("maxdepth");var lineWidth=coerce("marker.line.width");if(lineWidth)coerce("marker.line.color",layout.paper_bgcolor);coerce("marker.colors");var withColorscale=traceOut._hasColorscale=hasColorscale(traceIn,"marker","colors")||(traceIn.marker||{}).coloraxis;if(withColorscale){colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"marker.",cLetter:"c"})}coerce("leaf.opacity",withColorscale?1:.7);var text=coerce("text");coerce("texttemplate");if(!traceOut.texttemplate)coerce("textinfo",Array.isArray(text)?"text+label":"label");coerce("hovertext");coerce("hovertemplate");var textposition="auto";handleText(traceIn,traceOut,layout,coerce,textposition,{moduleHasSelected:false,moduleHasUnselected:false,moduleHasConstrain:false,moduleHasCliponaxis:false,moduleHasTextangle:false,moduleHasInsideanchor:false});coerce("insidetextorientation");coerce("sort");coerce("rotation");coerce("root.color");handleDomainDefaults(traceOut,layout,coerce);traceOut._length=null}},{"../../components/colorscale":678,"../../lib":803,"../../plots/domain":882,"../bar/defaults":945,"./attributes":1330}],1335:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Registry=_dereq_("../../registry");var appendArrayPointValue=_dereq_("../../components/fx/helpers").appendArrayPointValue;var Fx=_dereq_("../../components/fx");var Lib=_dereq_("../../lib");var Events=_dereq_("../../lib/events");var helpers=_dereq_("./helpers");var pieHelpers=_dereq_("../pie/helpers");var formatValue=pieHelpers.formatPieValue;module.exports=function attachFxHandlers(sliceTop,entry,gd,cd,opts){var cd0=cd[0];var trace=cd0.trace;var hierarchy=cd0.hierarchy;var isSunburst=trace.type==="sunburst";var isTreemapOrIcicle=trace.type==="treemap"||trace.type==="icicle";if(!("_hasHoverLabel"in trace))trace._hasHoverLabel=false;if(!("_hasHoverEvent"in trace))trace._hasHoverEvent=false;var onMouseOver=function(pt){var fullLayoutNow=gd._fullLayout;if(gd._dragging||fullLayoutNow.hovermode===false)return;var traceNow=gd._fullData[trace.index];var cdi=pt.data.data;var ptNumber=cdi.i;var isRoot=helpers.isHierarchyRoot(pt);var parent=helpers.getParent(hierarchy,pt);var val=helpers.getValue(pt);var _cast=function(astr){return Lib.castOption(traceNow,ptNumber,astr)};var hovertemplate=_cast("hovertemplate");var hoverinfo=Fx.castHoverinfo(traceNow,fullLayoutNow,ptNumber);var separators=fullLayoutNow.separators;var eventData;if(hovertemplate||hoverinfo&&hoverinfo!=="none"&&hoverinfo!=="skip"){var hoverCenterX;var hoverCenterY;if(isSunburst){hoverCenterX=cd0.cx+pt.pxmid[0]*(1-pt.rInscribed);hoverCenterY=cd0.cy+pt.pxmid[1]*(1-pt.rInscribed)}if(isTreemapOrIcicle){hoverCenterX=pt._hoverX;hoverCenterY=pt._hoverY}var hoverPt={};var parts=[];var thisText=[];var hasFlag=function(flag){return parts.indexOf(flag)!==-1};if(hoverinfo){parts=hoverinfo==="all"?traceNow._module.attributes.hoverinfo.flags:hoverinfo.split("+")}hoverPt.label=cdi.label;if(hasFlag("label")&&hoverPt.label)thisText.push(hoverPt.label);if(cdi.hasOwnProperty("v")){hoverPt.value=cdi.v;hoverPt.valueLabel=formatValue(hoverPt.value,separators);if(hasFlag("value"))thisText.push(hoverPt.valueLabel)}hoverPt.currentPath=pt.currentPath=helpers.getPath(pt.data);if(hasFlag("current path")&&!isRoot){thisText.push(hoverPt.currentPath)}var tx;var allPercents=[];var insertPercent=function(){if(allPercents.indexOf(tx)===-1){thisText.push(tx);allPercents.push(tx)}};hoverPt.percentParent=pt.percentParent=val/helpers.getValue(parent);hoverPt.parent=pt.parentString=helpers.getPtLabel(parent);if(hasFlag("percent parent")){tx=helpers.formatPercent(hoverPt.percentParent,separators)+" of "+hoverPt.parent;insertPercent()}hoverPt.percentEntry=pt.percentEntry=val/helpers.getValue(entry);hoverPt.entry=pt.entry=helpers.getPtLabel(entry);if(hasFlag("percent entry")&&!isRoot&&!pt.onPathbar){tx=helpers.formatPercent(hoverPt.percentEntry,separators)+" of "+hoverPt.entry;insertPercent()}hoverPt.percentRoot=pt.percentRoot=val/helpers.getValue(hierarchy);hoverPt.root=pt.root=helpers.getPtLabel(hierarchy);if(hasFlag("percent root")&&!isRoot){tx=helpers.formatPercent(hoverPt.percentRoot,separators)+" of "+hoverPt.root;insertPercent()}hoverPt.text=_cast("hovertext")||_cast("text");if(hasFlag("text")){tx=hoverPt.text;if(Lib.isValidTextValue(tx))thisText.push(tx)}eventData=[makeEventData(pt,traceNow,opts.eventDataKeys)];var hoverItems={trace:traceNow,y:hoverCenterY,_x0:pt._x0,_x1:pt._x1,_y0:pt._y0,_y1:pt._y1,text:thisText.join("<br>"),name:hovertemplate||hasFlag("name")?traceNow.name:undefined,color:_cast("hoverlabel.bgcolor")||cdi.color,borderColor:_cast("hoverlabel.bordercolor"),fontFamily:_cast("hoverlabel.font.family"),fontSize:_cast("hoverlabel.font.size"),fontColor:_cast("hoverlabel.font.color"),nameLength:_cast("hoverlabel.namelength"),textAlign:_cast("hoverlabel.align"),hovertemplate:hovertemplate,hovertemplateLabels:hoverPt,eventData:eventData};if(isSunburst){hoverItems.x0=hoverCenterX-pt.rInscribed*pt.rpx1;hoverItems.x1=hoverCenterX+pt.rInscribed*pt.rpx1;hoverItems.idealAlign=pt.pxmid[0]<0?"left":"right"}if(isTreemapOrIcicle){hoverItems.x=hoverCenterX;hoverItems.idealAlign=hoverCenterX<0?"left":"right"}var bbox=[];Fx.loneHover(hoverItems,{container:fullLayoutNow._hoverlayer.node(),outerContainer:fullLayoutNow._paper.node(),gd:gd,inOut_bbox:bbox});eventData[0].bbox=bbox[0];trace._hasHoverLabel=true}if(isTreemapOrIcicle){var slice=sliceTop.select("path.surface");opts.styleOne(slice,pt,traceNow,{hovered:true})}trace._hasHoverEvent=true;gd.emit("plotly_hover",{points:eventData||[makeEventData(pt,traceNow,opts.eventDataKeys)],event:d3.event})};var onMouseOut=function(evt){var fullLayoutNow=gd._fullLayout;var traceNow=gd._fullData[trace.index];var pt=d3.select(this).datum();if(trace._hasHoverEvent){evt.originalEvent=d3.event;gd.emit("plotly_unhover",{points:[makeEventData(pt,traceNow,opts.eventDataKeys)],event:d3.event});trace._hasHoverEvent=false}if(trace._hasHoverLabel){Fx.loneUnhover(fullLayoutNow._hoverlayer.node());trace._hasHoverLabel=false}if(isTreemapOrIcicle){var slice=sliceTop.select("path.surface");opts.styleOne(slice,pt,traceNow,{hovered:false})}};var onClick=function(pt){var fullLayoutNow=gd._fullLayout;var traceNow=gd._fullData[trace.index];var noTransition=isSunburst&&(helpers.isHierarchyRoot(pt)||helpers.isLeaf(pt));var id=helpers.getPtId(pt);var nextEntry=helpers.isEntry(pt)?helpers.findEntryWithChild(hierarchy,id):helpers.findEntryWithLevel(hierarchy,id);var nextLevel=helpers.getPtId(nextEntry);var typeClickEvtData={points:[makeEventData(pt,traceNow,opts.eventDataKeys)],event:d3.event};if(!noTransition)typeClickEvtData.nextLevel=nextLevel;var clickVal=Events.triggerHandler(gd,"plotly_"+trace.type+"click",typeClickEvtData);if(clickVal!==false&&fullLayoutNow.hovermode){gd._hoverdata=[makeEventData(pt,traceNow,opts.eventDataKeys)];Fx.click(gd,d3.event)}if(noTransition)return;if(clickVal===false)return;if(gd._dragging)return;if(gd._transitioning)return;Registry.call("_storeDirectGUIEdit",traceNow,fullLayoutNow._tracePreGUI[traceNow.uid],{level:traceNow.level});var frame={data:[{level:nextLevel}],traces:[trace.index]};var animOpts={frame:{redraw:false,duration:opts.transitionTime},transition:{duration:opts.transitionTime,easing:opts.transitionEasing},mode:"immediate",fromcurrent:true};Fx.loneUnhover(fullLayoutNow._hoverlayer.node());Registry.call("animate",gd,frame,animOpts)};sliceTop.on("mouseover",onMouseOver);sliceTop.on("mouseout",onMouseOut);sliceTop.on("click",onClick)};function makeEventData(pt,trace,keys){var cdi=pt.data.data;var out={curveNumber:trace.index,pointNumber:cdi.i,data:trace._input,fullData:trace};for(var i=0;i<keys.length;i++){var key=keys[i];if(key in pt)out[key]=pt[key]}if("parentString"in pt&&!helpers.isHierarchyRoot(pt))out.parent=pt.parentString;appendArrayPointValue(out,trace,cdi.i);return out}},{"../../components/fx":706,"../../components/fx/helpers":702,"../../lib":803,"../../lib/events":792,"../../registry":931,"../pie/helpers":1197,"./helpers":1336,"@plotly/d3":58}],1336:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var setCursor=_dereq_("../../lib/setcursor");var pieHelpers=_dereq_("../pie/helpers");exports.findEntryWithLevel=function(hierarchy,level){var out;if(level){hierarchy.eachAfter((function(pt){if(exports.getPtId(pt)===level){return out=pt.copy()}}))}return out||hierarchy};exports.findEntryWithChild=function(hierarchy,childId){var out;hierarchy.eachAfter((function(pt){var children=pt.children||[];for(var i=0;i<children.length;i++){var child=children[i];if(exports.getPtId(child)===childId){return out=pt.copy()}}}));return out||hierarchy};exports.isEntry=function(pt){return!pt.parent};exports.isLeaf=function(pt){return!pt.children};exports.getPtId=function(pt){return pt.data.data.id};exports.getPtLabel=function(pt){return pt.data.data.label};exports.getValue=function(d){return d.value};exports.isHierarchyRoot=function(pt){return getParentId(pt)===""};exports.setSliceCursor=function(sliceTop,gd,opts){var hide=opts.isTransitioning;if(!hide){var pt=sliceTop.datum();hide=opts.hideOnRoot&&exports.isHierarchyRoot(pt)||opts.hideOnLeaves&&exports.isLeaf(pt)}setCursor(sliceTop,hide?null:"pointer")};function determineOutsideTextFont(trace,pt,layoutFont){return{color:exports.getOutsideTextFontKey("color",trace,pt,layoutFont),family:exports.getOutsideTextFontKey("family",trace,pt,layoutFont),size:exports.getOutsideTextFontKey("size",trace,pt,layoutFont)}}function determineInsideTextFont(trace,pt,layoutFont,opts){var onPathbar=(opts||{}).onPathbar;var cdi=pt.data.data;var ptNumber=cdi.i;var customColor=Lib.castOption(trace,ptNumber,(onPathbar?"pathbar.textfont":"insidetextfont")+".color");if(!customColor&&trace._input.textfont){customColor=Lib.castOption(trace._input,ptNumber,"textfont.color")}return{color:customColor||Color.contrast(cdi.color),family:exports.getInsideTextFontKey("family",trace,pt,layoutFont,opts),size:exports.getInsideTextFontKey("size",trace,pt,layoutFont,opts)}}exports.getInsideTextFontKey=function(keyStr,trace,pt,layoutFont,opts){var onPathbar=(opts||{}).onPathbar;var cont=onPathbar?"pathbar.textfont":"insidetextfont";var ptNumber=pt.data.data.i;return Lib.castOption(trace,ptNumber,cont+"."+keyStr)||Lib.castOption(trace,ptNumber,"textfont."+keyStr)||layoutFont.size};exports.getOutsideTextFontKey=function(keyStr,trace,pt,layoutFont){var ptNumber=pt.data.data.i;return Lib.castOption(trace,ptNumber,"outsidetextfont."+keyStr)||Lib.castOption(trace,ptNumber,"textfont."+keyStr)||layoutFont.size};exports.isOutsideText=function(trace,pt){return!trace._hasColorscale&&exports.isHierarchyRoot(pt)};exports.determineTextFont=function(trace,pt,layoutFont,opts){return exports.isOutsideText(trace,pt)?determineOutsideTextFont(trace,pt,layoutFont):determineInsideTextFont(trace,pt,layoutFont,opts)};exports.hasTransition=function(transitionOpts){return!!(transitionOpts&&transitionOpts.duration>0)};exports.getMaxDepth=function(trace){return trace.maxdepth>=0?trace.maxdepth:Infinity};exports.isHeader=function(pt,trace){return!(exports.isLeaf(pt)||pt.depth===trace._maxDepth-1)};function getParentId(pt){return pt.data.data.pid}exports.getParent=function(hierarchy,pt){return exports.findEntryWithLevel(hierarchy,getParentId(pt))};exports.listPath=function(d,keyStr){var parent=d.parent;if(!parent)return[];var list=keyStr?[parent.data[keyStr]]:[parent];return exports.listPath(parent,keyStr).concat(list)};exports.getPath=function(d){return exports.listPath(d,"label").join("/")+"/"};exports.formatValue=pieHelpers.formatPieValue;exports.formatPercent=function(v,separators){var tx=Lib.formatPercent(v,0);if(tx==="0%")tx=pieHelpers.formatPiePercent(v,separators);return tx}},{"../../components/color":666,"../../lib":803,"../../lib/setcursor":824,"../pie/helpers":1197}],1337:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"sunburst",basePlotModule:_dereq_("./base_plot"),categories:[],animatable:true,attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults"),supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc").calc,crossTraceCalc:_dereq_("./calc").crossTraceCalc,plot:_dereq_("./plot").plot,style:_dereq_("./style").style,colorbar:_dereq_("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1236,"./attributes":1330,"./base_plot":1331,"./calc":1332,"./defaults":1334,"./layout_attributes":1338,"./layout_defaults":1339,"./plot":1340,"./style":1341}],1338:[function(_dereq_,module,exports){"use strict";module.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:true,editType:"calc"}}},{}],1339:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}coerce("sunburstcolorway",layoutOut.colorway);coerce("extendsunburstcolors")}},{"../../lib":803,"./layout_attributes":1338}],1340:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var d3Hierarchy=_dereq_("d3-hierarchy");var interpolate=_dereq_("d3-interpolate").interpolate;var Drawing=_dereq_("../../components/drawing");var Lib=_dereq_("../../lib");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var uniformText=_dereq_("../bar/uniform_text");var recordMinTextSize=uniformText.recordMinTextSize;var clearMinTextSize=uniformText.clearMinTextSize;var piePlot=_dereq_("../pie/plot");var getRotationAngle=_dereq_("../pie/helpers").getRotationAngle;var computeTransform=piePlot.computeTransform;var transformInsideText=piePlot.transformInsideText;var styleOne=_dereq_("./style").styleOne;var resizeText=_dereq_("../bar/style").resizeText;var attachFxHandlers=_dereq_("./fx");var constants=_dereq_("./constants");var helpers=_dereq_("./helpers");exports.plot=function(gd,cdmodule,transitionOpts,makeOnCompleteCallback){var fullLayout=gd._fullLayout;var layer=fullLayout._sunburstlayer;var join,onComplete;var isFullReplot=!transitionOpts;var hasTransition=!fullLayout.uniformtext.mode&&helpers.hasTransition(transitionOpts);clearMinTextSize("sunburst",fullLayout);join=layer.selectAll("g.trace.sunburst").data(cdmodule,(function(cd){return cd[0].trace.uid}));join.enter().append("g").classed("trace",true).classed("sunburst",true).attr("stroke-linejoin","round");join.order();if(hasTransition){if(makeOnCompleteCallback){onComplete=makeOnCompleteCallback()}var transition=d3.transition().duration(transitionOpts.duration).ease(transitionOpts.easing).each("end",(function(){onComplete&&onComplete()})).each("interrupt",(function(){onComplete&&onComplete()}));transition.each((function(){layer.selectAll("g.trace").each((function(cd){plotOne(gd,cd,this,transitionOpts)}))}))}else{join.each((function(cd){plotOne(gd,cd,this,transitionOpts)}));if(fullLayout.uniformtext.mode){resizeText(gd,fullLayout._sunburstlayer.selectAll(".trace"),"sunburst")}}if(isFullReplot){join.exit().remove()}};function plotOne(gd,cd,element,transitionOpts){var fullLayout=gd._fullLayout;var hasTransition=!fullLayout.uniformtext.mode&&helpers.hasTransition(transitionOpts);var gTrace=d3.select(element);var slices=gTrace.selectAll("g.slice");var cd0=cd[0];var trace=cd0.trace;var hierarchy=cd0.hierarchy;var entry=helpers.findEntryWithLevel(hierarchy,trace.level);var maxDepth=helpers.getMaxDepth(trace);var gs=fullLayout._size;var domain=trace.domain;var vpw=gs.w*(domain.x[1]-domain.x[0]);var vph=gs.h*(domain.y[1]-domain.y[0]);var rMax=.5*Math.min(vpw,vph);var cx=cd0.cx=gs.l+gs.w*(domain.x[1]+domain.x[0])/2;var cy=cd0.cy=gs.t+gs.h*(1-domain.y[0])-vph/2;if(!entry){return slices.remove()}var prevEntry=null;var prevLookup={};if(hasTransition){slices.each((function(pt){prevLookup[helpers.getPtId(pt)]={rpx0:pt.rpx0,rpx1:pt.rpx1,x0:pt.x0,x1:pt.x1,transform:pt.transform};if(!prevEntry&&helpers.isEntry(pt)){prevEntry=pt}}))}var sliceData=partition(entry).descendants();var maxHeight=entry.height+1;var yOffset=0;var cutoff=maxDepth;if(cd0.hasMultipleRoots&&helpers.isHierarchyRoot(entry)){sliceData=sliceData.slice(1);maxHeight-=1;yOffset=1;cutoff+=1}sliceData=sliceData.filter((function(pt){return pt.y1<=cutoff}));var baseX=getRotationAngle(trace.rotation);if(baseX){sliceData.forEach((function(pt){pt.x0+=baseX;pt.x1+=baseX}))}var maxY=Math.min(maxHeight,maxDepth);var y2rpx=function(y){return(y-yOffset)/maxY*rMax};var rx2px=function(r,x){return[r*Math.cos(x),-r*Math.sin(x)]};var pathSlice=function(d){return Lib.pathAnnulus(d.rpx0,d.rpx1,d.x0,d.x1,cx,cy)};var getTargetX=function(d){return cx+getTextXY(d)[0]*(d.transform.rCenter||0)+(d.transform.x||0)};var getTargetY=function(d){return cy+getTextXY(d)[1]*(d.transform.rCenter||0)+(d.transform.y||0)};slices=slices.data(sliceData,helpers.getPtId);slices.enter().append("g").classed("slice",true);if(hasTransition){slices.exit().transition().each((function(){var sliceTop=d3.select(this);var slicePath=sliceTop.select("path.surface");slicePath.transition().attrTween("d",(function(pt2){var interp=makeExitSliceInterpolator(pt2);return function(t){return pathSlice(interp(t))}}));var sliceTextGroup=sliceTop.select("g.slicetext");sliceTextGroup.attr("opacity",0)})).remove()}else{slices.exit().remove()}slices.order();var nextX1ofPrevEntry=null;if(hasTransition&&prevEntry){var prevEntryId=helpers.getPtId(prevEntry);slices.each((function(pt){if(nextX1ofPrevEntry===null&&helpers.getPtId(pt)===prevEntryId){nextX1ofPrevEntry=pt.x1}}))}var updateSlices=slices;if(hasTransition){updateSlices=updateSlices.transition().each("end",(function(){var sliceTop=d3.select(this);helpers.setSliceCursor(sliceTop,gd,{hideOnRoot:true,hideOnLeaves:true,isTransitioning:false})}))}updateSlices.each((function(pt){var sliceTop=d3.select(this);var slicePath=Lib.ensureSingle(sliceTop,"path","surface",(function(s){s.style("pointer-events","all")}));pt.rpx0=y2rpx(pt.y0);pt.rpx1=y2rpx(pt.y1);pt.xmid=(pt.x0+pt.x1)/2;pt.pxmid=rx2px(pt.rpx1,pt.xmid);pt.midangle=-(pt.xmid-Math.PI/2);pt.startangle=-(pt.x0-Math.PI/2);pt.stopangle=-(pt.x1-Math.PI/2);pt.halfangle=.5*Math.min(Lib.angleDelta(pt.x0,pt.x1)||Math.PI,Math.PI);pt.ring=1-pt.rpx0/pt.rpx1;pt.rInscribed=getInscribedRadiusFraction(pt,trace);if(hasTransition){slicePath.transition().attrTween("d",(function(pt2){var interp=makeUpdateSliceInterpolator(pt2);return function(t){return pathSlice(interp(t))}}))}else{slicePath.attr("d",pathSlice)}sliceTop.call(attachFxHandlers,entry,gd,cd,{eventDataKeys:constants.eventDataKeys,transitionTime:constants.CLICK_TRANSITION_TIME,transitionEasing:constants.CLICK_TRANSITION_EASING}).call(helpers.setSliceCursor,gd,{hideOnRoot:true,hideOnLeaves:true,isTransitioning:gd._transitioning});slicePath.call(styleOne,pt,trace);var sliceTextGroup=Lib.ensureSingle(sliceTop,"g","slicetext");var sliceText=Lib.ensureSingle(sliceTextGroup,"text","",(function(s){s.attr("data-notex",1)}));var font=Lib.ensureUniformFontSize(gd,helpers.determineTextFont(trace,pt,fullLayout.font));sliceText.text(exports.formatSliceLabel(pt,entry,trace,cd,fullLayout)).classed("slicetext",true).attr("text-anchor","middle").call(Drawing.font,font).call(svgTextUtils.convertToTspans,gd);var textBB=Drawing.bBox(sliceText.node());pt.transform=transformInsideText(textBB,pt,cd0);pt.transform.targetX=getTargetX(pt);pt.transform.targetY=getTargetY(pt);var strTransform=function(d,textBB){var transform=d.transform;computeTransform(transform,textBB);transform.fontSize=font.size;recordMinTextSize(trace.type,transform,fullLayout);return Lib.getTextTransform(transform)};if(hasTransition){sliceText.transition().attrTween("transform",(function(pt2){var interp=makeUpdateTextInterpolator(pt2);return function(t){return strTransform(interp(t),textBB)}}))}else{sliceText.attr("transform",strTransform(pt,textBB))}}));function makeExitSliceInterpolator(pt){var id=helpers.getPtId(pt);var prev=prevLookup[id];var entryPrev=prevLookup[helpers.getPtId(entry)];var next;if(entryPrev){var a=(pt.x1>entryPrev.x1?2*Math.PI:0)+baseX;next=pt.rpx1<entryPrev.rpx1?{x0:pt.x0,x1:pt.x1,rpx0:0,rpx1:0}:{x0:a,x1:a,rpx0:pt.rpx0,rpx1:pt.rpx1}}else{var parent;var parentId=helpers.getPtId(pt.parent);slices.each((function(pt2){if(helpers.getPtId(pt2)===parentId){return parent=pt2}}));var parentChildren=parent.children;var ci;parentChildren.forEach((function(pt2,i){if(helpers.getPtId(pt2)===id){return ci=i}}));var n=parentChildren.length;var interp=interpolate(parent.x0,parent.x1);next={rpx0:rMax,rpx1:rMax,x0:interp(ci/n),x1:interp((ci+1)/n)}}return interpolate(prev,next)}function makeUpdateSliceInterpolator(pt){var prev0=prevLookup[helpers.getPtId(pt)];var prev;var next={x0:pt.x0,x1:pt.x1,rpx0:pt.rpx0,rpx1:pt.rpx1};if(prev0){prev=prev0}else{if(prevEntry){if(pt.parent){if(nextX1ofPrevEntry){var a=(pt.x1>nextX1ofPrevEntry?2*Math.PI:0)+baseX;prev={x0:a,x1:a}}else{prev={rpx0:rMax,rpx1:rMax};Lib.extendFlat(prev,interpX0X1FromParent(pt))}}else{prev={rpx0:0,rpx1:0}}}else{prev={x0:baseX,x1:baseX}}}return interpolate(prev,next)}function makeUpdateTextInterpolator(pt){var prev0=prevLookup[helpers.getPtId(pt)];var prev;var transform=pt.transform;if(prev0){prev=prev0}else{prev={rpx1:pt.rpx1,transform:{textPosAngle:transform.textPosAngle,scale:0,rotate:transform.rotate,rCenter:transform.rCenter,x:transform.x,y:transform.y}};if(prevEntry){if(pt.parent){if(nextX1ofPrevEntry){var a=pt.x1>nextX1ofPrevEntry?2*Math.PI:0;prev.x0=prev.x1=a}else{Lib.extendFlat(prev,interpX0X1FromParent(pt))}}else{prev.x0=prev.x1=baseX}}else{prev.x0=prev.x1=baseX}}var textPosAngleFn=interpolate(prev.transform.textPosAngle,pt.transform.textPosAngle);var rpx1Fn=interpolate(prev.rpx1,pt.rpx1);var x0Fn=interpolate(prev.x0,pt.x0);var x1Fn=interpolate(prev.x1,pt.x1);var scaleFn=interpolate(prev.transform.scale,transform.scale);var rotateFn=interpolate(prev.transform.rotate,transform.rotate);var pow=transform.rCenter===0?3:prev.transform.rCenter===0?1/3:1;var _rCenterFn=interpolate(prev.transform.rCenter,transform.rCenter);var rCenterFn=function(t){return _rCenterFn(Math.pow(t,pow))};return function(t){var rpx1=rpx1Fn(t);var x0=x0Fn(t);var x1=x1Fn(t);var rCenter=rCenterFn(t);var pxmid=rx2px(rpx1,(x0+x1)/2);var textPosAngle=textPosAngleFn(t);var d={pxmid:pxmid,rpx1:rpx1,transform:{textPosAngle:textPosAngle,rCenter:rCenter,x:transform.x,y:transform.y}};recordMinTextSize(trace.type,transform,fullLayout);return{transform:{targetX:getTargetX(d),targetY:getTargetY(d),scale:scaleFn(t),rotate:rotateFn(t),rCenter:rCenter}}}}function interpX0X1FromParent(pt){var parent=pt.parent;var parentPrev=prevLookup[helpers.getPtId(parent)];var out={};if(parentPrev){var parentChildren=parent.children;var ci=parentChildren.indexOf(pt);var n=parentChildren.length;var interp=interpolate(parentPrev.x0,parentPrev.x1);out.x0=interp(ci/n);out.x1=interp(ci/n)}else{out.x0=out.x1=0}return out}}function partition(entry){return d3Hierarchy.partition().size([2*Math.PI,entry.height+1])(entry)}exports.formatSliceLabel=function(pt,entry,trace,cd,fullLayout){var texttemplate=trace.texttemplate;var textinfo=trace.textinfo;if(!texttemplate&&(!textinfo||textinfo==="none")){return""}var separators=fullLayout.separators;var cd0=cd[0];var cdi=pt.data.data;var hierarchy=cd0.hierarchy;var isRoot=helpers.isHierarchyRoot(pt);var parent=helpers.getParent(hierarchy,pt);var val=helpers.getValue(pt);if(!texttemplate){var parts=textinfo.split("+");var hasFlag=function(flag){return parts.indexOf(flag)!==-1};var thisText=[];var tx;if(hasFlag("label")&&cdi.label){thisText.push(cdi.label)}if(cdi.hasOwnProperty("v")&&hasFlag("value")){thisText.push(helpers.formatValue(cdi.v,separators))}if(!isRoot){if(hasFlag("current path")){thisText.push(helpers.getPath(pt.data))}var nPercent=0;if(hasFlag("percent parent"))nPercent++;if(hasFlag("percent entry"))nPercent++;if(hasFlag("percent root"))nPercent++;var hasMultiplePercents=nPercent>1;if(nPercent){var percent;var addPercent=function(key){tx=helpers.formatPercent(percent,separators);if(hasMultiplePercents)tx+=" of "+key;thisText.push(tx)};if(hasFlag("percent parent")&&!isRoot){percent=val/helpers.getValue(parent);addPercent("parent")}if(hasFlag("percent entry")){percent=val/helpers.getValue(entry);addPercent("entry")}if(hasFlag("percent root")){percent=val/helpers.getValue(hierarchy);addPercent("root")}}}if(hasFlag("text")){tx=Lib.castOption(trace,cdi.i,"text");if(Lib.isValidTextValue(tx))thisText.push(tx)}return thisText.join("<br>")}var txt=Lib.castOption(trace,cdi.i,"texttemplate");if(!txt)return"";var obj={};if(cdi.label)obj.label=cdi.label;if(cdi.hasOwnProperty("v")){obj.value=cdi.v;obj.valueLabel=helpers.formatValue(cdi.v,separators)}obj.currentPath=helpers.getPath(pt.data);if(!isRoot){obj.percentParent=val/helpers.getValue(parent);obj.percentParentLabel=helpers.formatPercent(obj.percentParent,separators);obj.parent=helpers.getPtLabel(parent)}obj.percentEntry=val/helpers.getValue(entry);obj.percentEntryLabel=helpers.formatPercent(obj.percentEntry,separators);obj.entry=helpers.getPtLabel(entry);obj.percentRoot=val/helpers.getValue(hierarchy);obj.percentRootLabel=helpers.formatPercent(obj.percentRoot,separators);obj.root=helpers.getPtLabel(hierarchy);if(cdi.hasOwnProperty("color")){obj.color=cdi.color}var ptTx=Lib.castOption(trace,cdi.i,"text");if(Lib.isValidTextValue(ptTx)||ptTx==="")obj.text=ptTx;obj.customdata=Lib.castOption(trace,cdi.i,"customdata");return Lib.texttemplateString(txt,obj,fullLayout._d3locale,obj,trace._meta||{})};function getInscribedRadiusFraction(pt){if(pt.rpx0===0&&Lib.isFullCircle([pt.x0,pt.x1])){return 1}else{return Math.max(0,Math.min(1/(1+1/Math.sin(pt.halfangle)),pt.ring/2))}}function getTextXY(d){return getCoords(d.rpx1,d.transform.textPosAngle)}function getCoords(r,angle){return[r*Math.sin(angle),-r*Math.cos(angle)]}},{"../../components/drawing":688,"../../lib":803,"../../lib/svg_text_utils":829,"../bar/style":955,"../bar/uniform_text":957,"../pie/helpers":1197,"../pie/plot":1201,"./constants":1333,"./fx":1335,"./helpers":1336,"./style":1341,"@plotly/d3":58,"d3-hierarchy":170,"d3-interpolate":171}],1341:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../../components/color");var Lib=_dereq_("../../lib");var resizeText=_dereq_("../bar/uniform_text").resizeText;function style(gd){var s=gd._fullLayout._sunburstlayer.selectAll(".trace");resizeText(gd,s,"sunburst");s.each((function(cd){var gTrace=d3.select(this);var cd0=cd[0];var trace=cd0.trace;gTrace.style("opacity",trace.opacity);gTrace.selectAll("path.surface").each((function(pt){d3.select(this).call(styleOne,pt,trace)}))}))}function styleOne(s,pt,trace){var cdi=pt.data.data;var isLeaf=!pt.children;var ptNumber=cdi.i;var lineColor=Lib.castOption(trace,ptNumber,"marker.line.color")||Color.defaultLine;var lineWidth=Lib.castOption(trace,ptNumber,"marker.line.width")||0;s.style("stroke-width",lineWidth).call(Color.fill,cdi.color).call(Color.stroke,lineColor).style("opacity",isLeaf?trace.leaf.opacity:null)}module.exports={style:style,styleOne:styleOne}},{"../../components/color":666,"../../lib":803,"../bar/uniform_text":957,"@plotly/d3":58}],1342:[function(_dereq_,module,exports){"use strict";var Color=_dereq_("../../components/color");var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var baseAttrs=_dereq_("../../plots/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;function makeContourProjAttr(axLetter){return{valType:"boolean",dflt:false}}function makeContourAttr(axLetter){return{show:{valType:"boolean",dflt:false},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:makeContourProjAttr("x"),y:makeContourProjAttr("y"),z:makeContourProjAttr("z")},color:{valType:"color",dflt:Color.defaultLine},usecolormap:{valType:"boolean",dflt:false},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:true},highlightcolor:{valType:"color",dflt:Color.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var attrs=module.exports=overrideAll(extendFlat({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:true},hovertext:{valType:"string",dflt:"",arrayOk:true},hovertemplate:hovertemplateAttrs(),xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),zhoverformat:axisHoverFormat("z"),connectgaps:{valType:"boolean",dflt:false,editType:"calc"},surfacecolor:{valType:"data_array"}},colorScaleAttrs("",{colorAttr:"z or surfacecolor",showScaleDflt:true,autoColorDflt:false,editTypeOverride:"calc"}),{contours:{x:makeContourAttr("x"),y:makeContourAttr("y"),z:makeContourAttr("z")},hidesurface:{valType:"boolean",dflt:false},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:extendFlat({},colorScaleAttrs.zauto,{}),zmin:extendFlat({},colorScaleAttrs.zmin,{}),zmax:extendFlat({},colorScaleAttrs.zmax,{})},hoverinfo:extendFlat({},baseAttrs.hoverinfo),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})}),"calc","nested");attrs.x.editType=attrs.y.editType=attrs.z.editType="calc+clearAxisTypes";attrs.transforms=undefined},{"../../components/color":666,"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926}],1343:[function(_dereq_,module,exports){"use strict";var colorscaleCalc=_dereq_("../../components/colorscale/calc");module.exports=function calc(gd,trace){if(trace.surfacecolor){colorscaleCalc(gd,trace,{vals:trace.surfacecolor,containerStr:"",cLetter:"c"})}else{colorscaleCalc(gd,trace,{vals:trace.z,containerStr:"",cLetter:"c"})}}},{"../../components/colorscale/calc":674}],1344:[function(_dereq_,module,exports){"use strict";var createSurface=_dereq_("gl-surface3d");var ndarray=_dereq_("ndarray");var ndarrayInterp2d=_dereq_("ndarray-linear-interpolate").d2;var interp2d=_dereq_("../heatmap/interp2d");var findEmpties=_dereq_("../heatmap/find_empties");var isArrayOrTypedArray=_dereq_("../../lib").isArrayOrTypedArray;var parseColorScale=_dereq_("../../lib/gl_format_color").parseColorScale;var str2RgbaArray=_dereq_("../../lib/str2rgbarray");var extractOpts=_dereq_("../../components/colorscale").extractOpts;function SurfaceTrace(scene,surface,uid){this.scene=scene;this.uid=uid;this.surface=surface;this.data=null;this.showContour=[false,false,false];this.contourStart=[null,null,null];this.contourEnd=[null,null,null];this.contourSize=[0,0,0];this.minValues=[Infinity,Infinity,Infinity];this.maxValues=[-Infinity,-Infinity,-Infinity];this.dataScaleX=1;this.dataScaleY=1;this.refineData=true;this.objectOffset=[0,0,0]}var proto=SurfaceTrace.prototype;proto.getXat=function(a,b,calendar,axis){var v=!isArrayOrTypedArray(this.data.x)?a:isArrayOrTypedArray(this.data.x[0])?this.data.x[b][a]:this.data.x[a];return calendar===undefined?v:axis.d2l(v,0,calendar)};proto.getYat=function(a,b,calendar,axis){var v=!isArrayOrTypedArray(this.data.y)?b:isArrayOrTypedArray(this.data.y[0])?this.data.y[b][a]:this.data.y[b];return calendar===undefined?v:axis.d2l(v,0,calendar)};proto.getZat=function(a,b,calendar,axis){var v=this.data.z[b][a];if(v===null&&this.data.connectgaps&&this.data._interpolatedZ){v=this.data._interpolatedZ[b][a]}return calendar===undefined?v:axis.d2l(v,0,calendar)};proto.handlePick=function(selection){if(selection.object===this.surface){var xRatio=(selection.data.index[0]-1)/this.dataScaleX-1;var yRatio=(selection.data.index[1]-1)/this.dataScaleY-1;var j=Math.max(Math.min(Math.round(xRatio),this.data.z[0].length-1),0);var k=Math.max(Math.min(Math.round(yRatio),this.data._ylength-1),0);selection.index=[j,k];selection.traceCoordinate=[this.getXat(j,k),this.getYat(j,k),this.getZat(j,k)];selection.dataCoordinate=[this.getXat(j,k,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(j,k,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(j,k,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var i=0;i<3;i++){var v=selection.dataCoordinate[i];if(v!==null&&v!==undefined){selection.dataCoordinate[i]*=this.scene.dataScale[i]}}var text=this.data.hovertext||this.data.text;if(Array.isArray(text)&&text[k]&&text[k][j]!==undefined){selection.textLabel=text[k][j]}else if(text){selection.textLabel=text}else{selection.textLabel=""}selection.data.dataCoordinate=selection.dataCoordinate.slice();this.surface.highlight(selection.data);this.scene.glplot.spikes.position=selection.dataCoordinate;return true}};function isColormapCircular(colormap){var first=colormap[0].rgb;var last=colormap[colormap.length-1].rgb;return first[0]===last[0]&&first[1]===last[1]&&first[2]===last[2]&&first[3]===last[3]}var shortPrimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function getPow(a,b){if(a<b)return 0;var n=0;while(Math.floor(a%b)===0){a/=b;n++}return n}function getFactors(a){var powers=[];for(var i=0;i<shortPrimes.length;i++){var b=shortPrimes[i];powers.push(getPow(a,b))}return powers}function smallestDivisor(a){var A=getFactors(a);var result=a;for(var i=0;i<shortPrimes.length;i++){if(A[i]>0){result=shortPrimes[i];break}}return result}function leastCommonMultiple(a,b){if(a<1||b<1)return undefined;var A=getFactors(a);var B=getFactors(b);var n=1;for(var i=0;i<shortPrimes.length;i++){n*=Math.pow(shortPrimes[i],Math.max(A[i],B[i]))}return n}function arrayLCM(A){if(A.length===0)return undefined;var n=1;for(var i=0;i<A.length;i++){n=leastCommonMultiple(n,A[i])}return n}proto.calcXnums=function(xlen){var i;var nums=[];for(i=1;i<xlen;i++){var a=this.getXat(i-1,0);var b=this.getXat(i,0);if(b!==a&&a!==undefined&&a!==null&&b!==undefined&&b!==null){nums[i-1]=Math.abs(b-a)}else{nums[i-1]=0}}var totalDist=0;for(i=1;i<xlen;i++){totalDist+=nums[i-1]}for(i=1;i<xlen;i++){if(nums[i-1]===0){nums[i-1]=1}else{nums[i-1]=Math.round(totalDist/nums[i-1])}}return nums};proto.calcYnums=function(ylen){var i;var nums=[];for(i=1;i<ylen;i++){var a=this.getYat(0,i-1);var b=this.getYat(0,i);if(b!==a&&a!==undefined&&a!==null&&b!==undefined&&b!==null){nums[i-1]=Math.abs(b-a)}else{nums[i-1]=0}}var totalDist=0;for(i=1;i<ylen;i++){totalDist+=nums[i-1]}for(i=1;i<ylen;i++){if(nums[i-1]===0){nums[i-1]=1}else{nums[i-1]=Math.round(totalDist/nums[i-1])}}return nums};var highlyComposites=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260];var MIN_RESOLUTION=highlyComposites[9];var MAX_RESOLUTION=highlyComposites[13];proto.estimateScale=function(resSrc,axis){var nums=axis===0?this.calcXnums(resSrc):this.calcYnums(resSrc);var resDst=1+arrayLCM(nums);while(resDst<MIN_RESOLUTION){resDst*=2}while(resDst>MAX_RESOLUTION){resDst--;resDst/=smallestDivisor(resDst);resDst++;if(resDst<MIN_RESOLUTION){resDst=MAX_RESOLUTION}}var scale=Math.round(resDst/resSrc);return scale>1?scale:1};function fnHomography(out,inp,X){var w=X[8]+X[2]*inp[0]+X[5]*inp[1];out[0]=(X[6]+X[0]*inp[0]+X[3]*inp[1])/w;out[1]=(X[7]+X[1]*inp[0]+X[4]*inp[1])/w;return out}function homography(dest,src,X){warp(dest,src,fnHomography,X);return dest}function warp(dest,src,func,X){var warped=[0,0];var ni=dest.shape[0];var nj=dest.shape[1];for(var i=0;i<ni;i++){for(var j=0;j<nj;j++){func(warped,[i,j],X);dest.set(i,j,ndarrayInterp2d(src,warped[0],warped[1]))}}return dest}proto.refineCoords=function(coords){var scaleW=this.dataScaleX;var scaleH=this.dataScaleY;var width=coords[0].shape[0];var height=coords[0].shape[1];var newWidth=Math.floor(coords[0].shape[0]*scaleW+1)|0;var newHeight=Math.floor(coords[0].shape[1]*scaleH+1)|0;var padWidth=1+width+1;var padHeight=1+height+1;var padImg=ndarray(new Float32Array(padWidth*padHeight),[padWidth,padHeight]);var X=[1/scaleW,0,0,0,1/scaleH,0,0,0,1];for(var i=0;i<coords.length;++i){this.surface.padField(padImg,coords[i]);var scaledImg=ndarray(new Float32Array(newWidth*newHeight),[newWidth,newHeight]);homography(scaledImg,padImg,X);coords[i]=scaledImg}};function insertIfNewLevel(arr,newValue){var found=false;for(var k=0;k<arr.length;k++){if(newValue===arr[k]){found=true;break}}if(found===false)arr.push(newValue)}proto.setContourLevels=function(){var newLevels=[[],[],[]];var useNewLevels=[false,false,false];var needsUpdate=false;var i,j,value;for(i=0;i<3;++i){if(this.showContour[i]){needsUpdate=true;if(this.contourSize[i]>0&&this.contourStart[i]!==null&&this.contourEnd[i]!==null&&this.contourEnd[i]>this.contourStart[i]){useNewLevels[i]=true;for(j=this.contourStart[i];j<this.contourEnd[i];j+=this.contourSize[i]){value=j*this.scene.dataScale[i];insertIfNewLevel(newLevels[i],value)}}}}if(needsUpdate){var allLevels=[[],[],[]];for(i=0;i<3;++i){if(this.showContour[i]){allLevels[i]=useNewLevels[i]?newLevels[i]:this.scene.contourLevels[i]}}this.surface.update({levels:allLevels})}};proto.update=function(data){var scene=this.scene;var sceneLayout=scene.fullSceneLayout;var surface=this.surface;var colormap=parseColorScale(data);var scaleFactor=scene.dataScale;var xlen=data.z[0].length;var ylen=data._ylength;var contourLevels=scene.contourLevels;this.data=data;var i,j,k,v;var rawCoords=[];for(i=0;i<3;i++){rawCoords[i]=[];for(j=0;j<xlen;j++){rawCoords[i][j]=[]}}for(j=0;j<xlen;j++){for(k=0;k<ylen;k++){rawCoords[0][j][k]=this.getXat(j,k,data.xcalendar,sceneLayout.xaxis);rawCoords[1][j][k]=this.getYat(j,k,data.ycalendar,sceneLayout.yaxis);rawCoords[2][j][k]=this.getZat(j,k,data.zcalendar,sceneLayout.zaxis)}}if(data.connectgaps){data._emptypoints=findEmpties(rawCoords[2]);interp2d(rawCoords[2],data._emptypoints);data._interpolatedZ=[];for(j=0;j<xlen;j++){data._interpolatedZ[j]=[];for(k=0;k<ylen;k++){data._interpolatedZ[j][k]=rawCoords[2][j][k]}}}for(i=0;i<3;i++){for(j=0;j<xlen;j++){for(k=0;k<ylen;k++){v=rawCoords[i][j][k];if(v===null||v===undefined){rawCoords[i][j][k]=NaN}else{v=rawCoords[i][j][k]*=scaleFactor[i]}}}}for(i=0;i<3;i++){for(j=0;j<xlen;j++){for(k=0;k<ylen;k++){v=rawCoords[i][j][k];if(v!==null&&v!==undefined){if(this.minValues[i]>v){this.minValues[i]=v}if(this.maxValues[i]<v){this.maxValues[i]=v}}}}}for(i=0;i<3;i++){this.objectOffset[i]=.5*(this.minValues[i]+this.maxValues[i])}for(i=0;i<3;i++){for(j=0;j<xlen;j++){for(k=0;k<ylen;k++){v=rawCoords[i][j][k];if(v!==null&&v!==undefined){rawCoords[i][j][k]-=this.objectOffset[i]}}}}var coords=[ndarray(new Float32Array(xlen*ylen),[xlen,ylen]),ndarray(new Float32Array(xlen*ylen),[xlen,ylen]),ndarray(new Float32Array(xlen*ylen),[xlen,ylen])];for(i=0;i<3;i++){for(j=0;j<xlen;j++){for(k=0;k<ylen;k++){coords[i].set(j,k,rawCoords[i][j][k])}}}rawCoords=[];var params={colormap:colormap,levels:[[],[],[]],showContour:[true,true,true],showSurface:!data.hidesurface,contourProject:[[false,false,false],[false,false,false],[false,false,false]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:data.opacityscale,opacity:data.opacity};var cOpts=extractOpts(data);params.intensityBounds=[cOpts.min,cOpts.max];if(data.surfacecolor){var intensity=ndarray(new Float32Array(xlen*ylen),[xlen,ylen]);for(j=0;j<xlen;j++){for(k=0;k<ylen;k++){intensity.set(j,k,data.surfacecolor[k][j])}}coords.push(intensity)}else{params.intensityBounds[0]*=scaleFactor[2];params.intensityBounds[1]*=scaleFactor[2]}if(MAX_RESOLUTION<coords[0].shape[0]||MAX_RESOLUTION<coords[0].shape[1]){this.refineData=false}if(this.refineData===true){this.dataScaleX=this.estimateScale(coords[0].shape[0],0);this.dataScaleY=this.estimateScale(coords[0].shape[1],1);if(this.dataScaleX!==1||this.dataScaleY!==1){this.refineCoords(coords)}}if(data.surfacecolor){params.intensity=coords.pop()}var highlightEnable=[true,true,true];var axis=["x","y","z"];for(i=0;i<3;++i){var contourParams=data.contours[axis[i]];highlightEnable[i]=contourParams.highlight;params.showContour[i]=contourParams.show||contourParams.highlight;if(!params.showContour[i])continue;params.contourProject[i]=[contourParams.project.x,contourParams.project.y,contourParams.project.z];if(contourParams.show){this.showContour[i]=true;params.levels[i]=contourLevels[i];surface.highlightColor[i]=params.contourColor[i]=str2RgbaArray(contourParams.color);if(contourParams.usecolormap){surface.highlightTint[i]=params.contourTint[i]=0}else{surface.highlightTint[i]=params.contourTint[i]=1}params.contourWidth[i]=contourParams.width;this.contourStart[i]=contourParams.start;this.contourEnd[i]=contourParams.end;this.contourSize[i]=contourParams.size}else{this.showContour[i]=false;this.contourStart[i]=null;this.contourEnd[i]=null;this.contourSize[i]=0}if(contourParams.highlight){params.dynamicColor[i]=str2RgbaArray(contourParams.highlightcolor);params.dynamicWidth[i]=contourParams.highlightwidth}}if(isColormapCircular(colormap)){params.vertexColor=true}params.objectOffset=this.objectOffset;params.coords=coords;surface.update(params);surface.visible=data.visible;surface.enableDynamic=highlightEnable;surface.enableHighlight=highlightEnable;surface.snapToData=true;if("lighting"in data){surface.ambientLight=data.lighting.ambient;surface.diffuseLight=data.lighting.diffuse;surface.specularLight=data.lighting.specular;surface.roughness=data.lighting.roughness;surface.fresnel=data.lighting.fresnel}if("lightposition"in data){surface.lightPosition=[data.lightposition.x,data.lightposition.y,data.lightposition.z]}};proto.dispose=function(){this.scene.glplot.remove(this.surface);this.surface.dispose()};function createSurfaceTrace(scene,data){var gl=scene.glplot.gl;var surface=createSurface({gl:gl});var result=new SurfaceTrace(scene,surface,data.uid);surface._trace=result;result.update(data);scene.glplot.add(surface);return result}module.exports=createSurfaceTrace},{"../../components/colorscale":678,"../../lib":803,"../../lib/gl_format_color":799,"../../lib/str2rgbarray":828,"../heatmap/find_empties":1091,"../heatmap/interp2d":1094,"gl-surface3d":354,ndarray:483,"ndarray-linear-interpolate":477}],1345:[function(_dereq_,module,exports){"use strict";var Registry=_dereq_("../../registry");var Lib=_dereq_("../../lib");var colorscaleDefaults=_dereq_("../../components/colorscale/defaults");var attributes=_dereq_("./attributes");var MIN=.1;function createWave(n,minOpacity){var arr=[];var steps=32;for(var i=0;i<steps;i++){var u=i/(steps-1);var v=minOpacity+(1-minOpacity)*(1-Math.pow(Math.sin(n*u*Math.PI),2));arr.push([u,Math.max(0,Math.min(1,v))])}return arr}function isValidScaleArray(scl){var highestVal=0;if(!Array.isArray(scl)||scl.length<2)return false;if(!scl[0]||!scl[scl.length-1])return false;if(+scl[0][0]!==0||+scl[scl.length-1][0]!==1)return false;for(var i=0;i<scl.length;i++){var si=scl[i];if(si.length!==2||+si[0]<highestVal){return false}highestVal=+si[0]}return true}function supplyDefaults(traceIn,traceOut,defaultColor,layout){var i,j;function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var x=coerce("x");var y=coerce("y");var z=coerce("z");if(!z||!z.length||(x?x.length<1:false)||(y?y.length<1:false)){traceOut.visible=false;return}traceOut._xlength=Array.isArray(x)&&Lib.isArrayOrTypedArray(x[0])?z.length:z[0].length;traceOut._ylength=z.length;var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleTraceDefaults");handleCalendarDefaults(traceIn,traceOut,["x","y","z"],layout);coerce("text");coerce("hovertext");coerce("hovertemplate");coerce("xhoverformat");coerce("yhoverformat");coerce("zhoverformat");["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","connectgaps","opacity"].forEach((function(x){coerce(x)}));var surfaceColor=coerce("surfacecolor");var dims=["x","y","z"];for(i=0;i<3;++i){var contourDim="contours."+dims[i];var show=coerce(contourDim+".show");var highlight=coerce(contourDim+".highlight");if(show||highlight){for(j=0;j<3;++j){coerce(contourDim+".project."+dims[j])}}if(show){coerce(contourDim+".color");coerce(contourDim+".width");coerce(contourDim+".usecolormap")}if(highlight){coerce(contourDim+".highlightcolor");coerce(contourDim+".highlightwidth")}coerce(contourDim+".start");coerce(contourDim+".end");coerce(contourDim+".size")}if(!surfaceColor){mapLegacy(traceIn,"zmin","cmin");mapLegacy(traceIn,"zmax","cmax");mapLegacy(traceIn,"zauto","cauto")}colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"",cLetter:"c"});opacityscaleDefaults(traceIn,traceOut,layout,coerce);traceOut._length=null}function opacityscaleDefaults(traceIn,traceOut,layout,coerce){var opacityscale=coerce("opacityscale");if(opacityscale==="max"){traceOut.opacityscale=[[0,MIN],[1,1]]}else if(opacityscale==="min"){traceOut.opacityscale=[[0,1],[1,MIN]]}else if(opacityscale==="extremes"){traceOut.opacityscale=createWave(1,MIN)}else if(!isValidScaleArray(opacityscale)){traceOut.opacityscale=undefined}}function mapLegacy(traceIn,oldAttr,newAttr){if(oldAttr in traceIn&&!(newAttr in traceIn)){traceIn[newAttr]=traceIn[oldAttr]}}module.exports={supplyDefaults:supplyDefaults,opacityscaleDefaults:opacityscaleDefaults}},{"../../components/colorscale/defaults":676,"../../lib":803,"../../registry":931,"./attributes":1342}],1346:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:_dereq_("./calc"),plot:_dereq_("./convert"),moduleType:"trace",name:"surface",basePlotModule:_dereq_("../../plots/gl3d"),categories:["gl3d","2dMap","showLegend"],meta:{}}},{"../../plots/gl3d":896,"./attributes":1342,"./calc":1343,"./convert":1344,"./defaults":1345}],1347:[function(_dereq_,module,exports){"use strict";var annAttrs=_dereq_("../../components/annotations/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var fontAttrs=_dereq_("../../plots/font_attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var descriptionOnlyNumbers=_dereq_("../../plots/cartesian/axis_format_attributes").descriptionOnlyNumbers;var attrs=module.exports=overrideAll({domain:domainAttrs({name:"table",trace:true}),columnwidth:{valType:"number",arrayOk:true,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:descriptionOnlyNumbers("cell value")},prefix:{valType:"string",arrayOk:true,dflt:null},suffix:{valType:"string",arrayOk:true,dflt:null},height:{valType:"number",dflt:28},align:extendFlat({},annAttrs.align,{arrayOk:true}),line:{width:{valType:"number",arrayOk:true,dflt:1},color:{valType:"color",arrayOk:true,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:true,dflt:"white"}},font:extendFlat({},fontAttrs({arrayOk:true}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:descriptionOnlyNumbers("cell value")},prefix:{valType:"string",arrayOk:true,dflt:null},suffix:{valType:"string",arrayOk:true,dflt:null},height:{valType:"number",dflt:20},align:extendFlat({},annAttrs.align,{arrayOk:true}),line:{width:{valType:"number",arrayOk:true,dflt:1},color:{valType:"color",arrayOk:true,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:true,dflt:"white"}},font:extendFlat({},fontAttrs({arrayOk:true}))}},"calc","from-root");attrs.transforms=undefined},{"../../components/annotations/attributes":649,"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plots/cartesian/axis_format_attributes":857,"../../plots/domain":882,"../../plots/font_attributes":883}],1348:[function(_dereq_,module,exports){"use strict";var getModuleCalcData=_dereq_("../../plots/get_data").getModuleCalcData;var tablePlot=_dereq_("./plot");var TABLE="table";exports.name=TABLE;exports.plot=function(gd){var calcData=getModuleCalcData(gd.calcdata,TABLE)[0];if(calcData.length)tablePlot(gd,calcData)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){var hadTable=oldFullLayout._has&&oldFullLayout._has(TABLE);var hasTable=newFullLayout._has&&newFullLayout._has(TABLE);if(hadTable&&!hasTable){oldFullLayout._paperdiv.selectAll(".table").remove()}}},{"../../plots/get_data":891,"./plot":1355}],1349:[function(_dereq_,module,exports){"use strict";var wrap=_dereq_("../../lib/gup").wrap;module.exports=function calc(){return wrap({})}},{"../../lib/gup":800}],1350:[function(_dereq_,module,exports){"use strict";module.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1351:[function(_dereq_,module,exports){"use strict";var c=_dereq_("./constants");var extendFlat=_dereq_("../../lib/extend").extendFlat;var isNumeric=_dereq_("fast-isnumeric");module.exports=function calc(gd,trace){var cellsValues=squareStringMatrix(trace.cells.values);var slicer=function(a){return a.slice(trace.header.values.length,a.length)};var headerValuesIn=squareStringMatrix(trace.header.values);if(headerValuesIn.length&&!headerValuesIn[0].length){headerValuesIn[0]=[""];headerValuesIn=squareStringMatrix(headerValuesIn)}var headerValues=headerValuesIn.concat(slicer(cellsValues).map((function(){return emptyStrings((headerValuesIn[0]||[""]).length)})));var domain=trace.domain;var groupWidth=Math.floor(gd._fullLayout._size.w*(domain.x[1]-domain.x[0]));var groupHeight=Math.floor(gd._fullLayout._size.h*(domain.y[1]-domain.y[0]));var headerRowHeights=trace.header.values.length?headerValues[0].map((function(){return trace.header.height})):[c.emptyHeaderHeight];var rowHeights=cellsValues.length?cellsValues[0].map((function(){return trace.cells.height})):[];var headerHeight=headerRowHeights.reduce(sum,0);var scrollHeight=groupHeight-headerHeight;var minimumFillHeight=scrollHeight+c.uplift;var anchorToRowBlock=makeAnchorToRowBlock(rowHeights,minimumFillHeight);var anchorToHeaderRowBlock=makeAnchorToRowBlock(headerRowHeights,headerHeight);var headerRowBlocks=makeRowBlock(anchorToHeaderRowBlock,[]);var rowBlocks=makeRowBlock(anchorToRowBlock,headerRowBlocks);var uniqueKeys={};var columnOrder=trace._fullInput.columnorder.concat(slicer(cellsValues.map((function(d,i){return i}))));var columnWidths=headerValues.map((function(d,i){var value=Array.isArray(trace.columnwidth)?trace.columnwidth[Math.min(i,trace.columnwidth.length-1)]:trace.columnwidth;return isNumeric(value)?Number(value):1}));var totalColumnWidths=columnWidths.reduce(sum,0);columnWidths=columnWidths.map((function(d){return d/totalColumnWidths*groupWidth}));var maxLineWidth=Math.max(arrayMax(trace.header.line.width),arrayMax(trace.cells.line.width));var calcdata={key:trace.uid+gd._context.staticPlot,translateX:domain.x[0]*gd._fullLayout._size.w,translateY:gd._fullLayout._size.h*(1-domain.y[1]),size:gd._fullLayout._size,width:groupWidth,maxLineWidth:maxLineWidth,height:groupHeight,columnOrder:columnOrder,groupHeight:groupHeight,rowBlocks:rowBlocks,headerRowBlocks:headerRowBlocks,scrollY:0,cells:extendFlat({},trace.cells,{values:cellsValues}),headerCells:extendFlat({},trace.header,{values:headerValues}),gdColumns:headerValues.map((function(d){return d[0]})),gdColumnsOriginalOrder:headerValues.map((function(d){return d[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:false},columns:headerValues.map((function(label,i){var foundKey=uniqueKeys[label];uniqueKeys[label]=(foundKey||0)+1;var key=label+"__"+uniqueKeys[label];return{key:key,label:label,specIndex:i,xIndex:columnOrder[i],xScale:xScale,x:undefined,calcdata:undefined,columnWidth:columnWidths[i]}}))};calcdata.columns.forEach((function(col){col.calcdata=calcdata;col.x=xScale(col)}));return calcdata};function arrayMax(maybeArray){if(Array.isArray(maybeArray)){var max=0;for(var i=0;i<maybeArray.length;i++){max=Math.max(max,arrayMax(maybeArray[i]))}return max}return maybeArray}function sum(a,b){return a+b}function squareStringMatrix(matrixIn){var matrix=matrixIn.slice();var minLen=Infinity;var maxLen=0;var i;for(i=0;i<matrix.length;i++){if(!Array.isArray(matrix[i]))matrix[i]=[matrix[i]];minLen=Math.min(minLen,matrix[i].length);maxLen=Math.max(maxLen,matrix[i].length)}if(minLen!==maxLen){for(i=0;i<matrix.length;i++){var padLen=maxLen-matrix[i].length;if(padLen)matrix[i]=matrix[i].concat(emptyStrings(padLen))}}return matrix}function emptyStrings(len){var padArray=new Array(len);for(var j=0;j<len;j++)padArray[j]="";return padArray}function xScale(d){return d.calcdata.columns.reduce((function(prev,next){return next.xIndex<d.xIndex?prev+next.columnWidth:prev}),0)}function makeRowBlock(anchorToRowBlock,auxiliary){var blockAnchorKeys=Object.keys(anchorToRowBlock);return blockAnchorKeys.map((function(k){return extendFlat({},anchorToRowBlock[k],{auxiliaryBlocks:auxiliary})}))}function makeAnchorToRowBlock(rowHeights,minimumFillHeight){var anchorToRowBlock={};var currentRowHeight;var currentAnchor=0;var currentBlockHeight=0;var currentBlock=makeIdentity();var currentFirstRowIndex=0;var blockCounter=0;for(var i=0;i<rowHeights.length;i++){currentRowHeight=rowHeights[i];currentBlock.rows.push({rowIndex:i,rowHeight:currentRowHeight});currentBlockHeight+=currentRowHeight;if(currentBlockHeight>=minimumFillHeight||i===rowHeights.length-1){anchorToRowBlock[currentAnchor]=currentBlock;currentBlock.key=blockCounter++;currentBlock.firstRowIndex=currentFirstRowIndex;currentBlock.lastRowIndex=i;currentBlock=makeIdentity();currentAnchor+=currentBlockHeight;currentFirstRowIndex=i+1;currentBlockHeight=0}}return anchorToRowBlock}function makeIdentity(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}},{"../../lib/extend":793,"./constants":1350,"fast-isnumeric":249}],1352:[function(_dereq_,module,exports){"use strict";var extendFlat=_dereq_("../../lib/extend").extendFlat;exports.splitToPanels=function(d){var prevPages=[0,0];var headerPanel=extendFlat({},d,{key:"header",type:"header",page:0,prevPages:prevPages,currentRepaint:[null,null],dragHandle:true,values:d.calcdata.headerCells.values[d.specIndex],rowBlocks:d.calcdata.headerRowBlocks,calcdata:extendFlat({},d.calcdata,{cells:d.calcdata.headerCells})});var revolverPanel1=extendFlat({},d,{key:"cells1",type:"cells",page:0,prevPages:prevPages,currentRepaint:[null,null],dragHandle:false,values:d.calcdata.cells.values[d.specIndex],rowBlocks:d.calcdata.rowBlocks});var revolverPanel2=extendFlat({},d,{key:"cells2",type:"cells",page:1,prevPages:prevPages,currentRepaint:[null,null],dragHandle:false,values:d.calcdata.cells.values[d.specIndex],rowBlocks:d.calcdata.rowBlocks});return[revolverPanel1,revolverPanel2,headerPanel]};exports.splitToCells=function(d){var fromTo=rowFromTo(d);return(d.values||[]).slice(fromTo[0],fromTo[1]).map((function(v,i){var buster=typeof v==="string"&&v.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:i+buster,key:fromTo[0]+i,column:d,calcdata:d.calcdata,page:d.page,rowBlocks:d.rowBlocks,value:v}}))};function rowFromTo(d){var rowBlock=d.rowBlocks[d.page];var rowFrom=rowBlock?rowBlock.rows[0].rowIndex:0;var rowTo=rowBlock?rowFrom+rowBlock.rows.length:0;return[rowFrom,rowTo]}},{"../../lib/extend":793}],1353:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;function defaultColumnOrder(traceOut,coerce){var specifiedColumnOrder=traceOut.columnorder||[];var commonLength=traceOut.header.values.length;var truncated=specifiedColumnOrder.slice(0,commonLength);var sorted=truncated.slice().sort((function(a,b){return a-b}));var oneStepped=truncated.map((function(d){return sorted.indexOf(d)}));for(var i=oneStepped.length;i<commonLength;i++){oneStepped.push(i)}coerce("columnorder",oneStepped)}module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}handleDomainDefaults(traceOut,layout,coerce);coerce("columnwidth");coerce("header.values");coerce("header.format");coerce("header.align");coerce("header.prefix");coerce("header.suffix");coerce("header.height");coerce("header.line.width");coerce("header.line.color");coerce("header.fill.color");Lib.coerceFont(coerce,"header.font",Lib.extendFlat({},layout.font));defaultColumnOrder(traceOut,coerce);coerce("cells.values");coerce("cells.format");coerce("cells.align");coerce("cells.prefix");coerce("cells.suffix");coerce("cells.height");coerce("cells.line.width");coerce("cells.line.color");coerce("cells.fill.color");Lib.coerceFont(coerce,"cells.font",Lib.extendFlat({},layout.font));traceOut._length=null}},{"../../lib":803,"../../plots/domain":882,"./attributes":1347}],1354:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("./calc"),plot:_dereq_("./plot"),moduleType:"trace",name:"table",basePlotModule:_dereq_("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1347,"./base_plot":1348,"./calc":1349,"./defaults":1353,"./plot":1355}],1355:[function(_dereq_,module,exports){"use strict";var c=_dereq_("./constants");var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var numberFormat=Lib.numberFormat;var gup=_dereq_("../../lib/gup");var Drawing=_dereq_("../../components/drawing");var svgUtil=_dereq_("../../lib/svg_text_utils");var raiseToTop=_dereq_("../../lib").raiseToTop;var strTranslate=_dereq_("../../lib").strTranslate;var cancelEeaseColumn=_dereq_("../../lib").cancelTransition;var prepareData=_dereq_("./data_preparation_helper");var splitData=_dereq_("./data_split_helpers");var Color=_dereq_("../../components/color");module.exports=function plot(gd,wrappedTraceHolders){var dynamic=!gd._context.staticPlot;var table=gd._fullLayout._paper.selectAll("."+c.cn.table).data(wrappedTraceHolders.map((function(wrappedTraceHolder){var traceHolder=gup.unwrap(wrappedTraceHolder);var trace=traceHolder.trace;return prepareData(gd,trace)})),gup.keyFun);table.exit().remove();table.enter().append("g").classed(c.cn.table,true).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all");table.attr("width",(function(d){return d.width+d.size.l+d.size.r})).attr("height",(function(d){return d.height+d.size.t+d.size.b})).attr("transform",(function(d){return strTranslate(d.translateX,d.translateY)}));var tableControlView=table.selectAll("."+c.cn.tableControlView).data(gup.repeat,gup.keyFun);var cvEnter=tableControlView.enter().append("g").classed(c.cn.tableControlView,true).style("box-sizing","content-box");if(dynamic){var wheelEvent="onwheel"in document?"wheel":"mousewheel";cvEnter.on("mousemove",(function(d){tableControlView.filter((function(dd){return d===dd})).call(renderScrollbarKit,gd)})).on(wheelEvent,(function(d){if(d.scrollbarState.wheeling)return;d.scrollbarState.wheeling=true;var newY=d.scrollY+d3.event.deltaY;var noChange=makeDragRow(gd,tableControlView,null,newY)(d);if(!noChange){d3.event.stopPropagation();d3.event.preventDefault()}d.scrollbarState.wheeling=false})).call(renderScrollbarKit,gd,true)}tableControlView.attr("transform",(function(d){return strTranslate(d.size.l,d.size.t)}));var scrollBackground=tableControlView.selectAll("."+c.cn.scrollBackground).data(gup.repeat,gup.keyFun);scrollBackground.enter().append("rect").classed(c.cn.scrollBackground,true).attr("fill","none");scrollBackground.attr("width",(function(d){return d.width})).attr("height",(function(d){return d.height}));tableControlView.each((function(d){Drawing.setClipUrl(d3.select(this),scrollAreaBottomClipKey(gd,d),gd)}));var yColumn=tableControlView.selectAll("."+c.cn.yColumn).data((function(vm){return vm.columns}),gup.keyFun);yColumn.enter().append("g").classed(c.cn.yColumn,true);yColumn.exit().remove();yColumn.attr("transform",(function(d){return strTranslate(d.x,0)}));if(dynamic){yColumn.call(d3.behavior.drag().origin((function(d){var movedColumn=d3.select(this);easeColumn(movedColumn,d,-c.uplift);raiseToTop(this);d.calcdata.columnDragInProgress=true;renderScrollbarKit(tableControlView.filter((function(dd){return d.calcdata.key===dd.key})),gd);return d})).on("drag",(function(d){var movedColumn=d3.select(this);var getter=function(dd){return(d===dd?d3.event.x:dd.x)+dd.columnWidth/2};d.x=Math.max(-c.overdrag,Math.min(d.calcdata.width+c.overdrag-d.columnWidth,d3.event.x));var sortableColumns=flatData(yColumn).filter((function(dd){return dd.calcdata.key===d.calcdata.key}));var newOrder=sortableColumns.sort((function(a,b){return getter(a)-getter(b)}));newOrder.forEach((function(dd,i){dd.xIndex=i;dd.x=d===dd?dd.x:dd.xScale(dd)}));yColumn.filter((function(dd){return d!==dd})).transition().ease(c.transitionEase).duration(c.transitionDuration).attr("transform",(function(d){return strTranslate(d.x,0)}));movedColumn.call(cancelEeaseColumn).attr("transform",strTranslate(d.x,-c.uplift))})).on("dragend",(function(d){var movedColumn=d3.select(this);var p=d.calcdata;d.x=d.xScale(d);d.calcdata.columnDragInProgress=false;easeColumn(movedColumn,d,0);columnMoved(gd,p,p.columns.map((function(dd){return dd.xIndex})))})))}yColumn.each((function(d){Drawing.setClipUrl(d3.select(this),columnBoundaryClipKey(gd,d),gd)}));var columnBlock=yColumn.selectAll("."+c.cn.columnBlock).data(splitData.splitToPanels,gup.keyFun);columnBlock.enter().append("g").classed(c.cn.columnBlock,true).attr("id",(function(d){return d.key}));columnBlock.style("cursor",(function(d){return d.dragHandle?"ew-resize":d.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"}));var headerColumnBlock=columnBlock.filter(headerBlock);var cellsColumnBlock=columnBlock.filter(cellsBlock);if(dynamic){cellsColumnBlock.call(d3.behavior.drag().origin((function(d){d3.event.stopPropagation();return d})).on("drag",makeDragRow(gd,tableControlView,-1)).on("dragend",(function(){})))}renderColumnCellTree(gd,tableControlView,headerColumnBlock,columnBlock);renderColumnCellTree(gd,tableControlView,cellsColumnBlock,columnBlock);var scrollAreaClip=tableControlView.selectAll("."+c.cn.scrollAreaClip).data(gup.repeat,gup.keyFun);scrollAreaClip.enter().append("clipPath").classed(c.cn.scrollAreaClip,true).attr("id",(function(d){return scrollAreaBottomClipKey(gd,d)}));var scrollAreaClipRect=scrollAreaClip.selectAll("."+c.cn.scrollAreaClipRect).data(gup.repeat,gup.keyFun);scrollAreaClipRect.enter().append("rect").classed(c.cn.scrollAreaClipRect,true).attr("x",-c.overdrag).attr("y",-c.uplift).attr("fill","none");scrollAreaClipRect.attr("width",(function(d){return d.width+2*c.overdrag})).attr("height",(function(d){return d.height+c.uplift}));var columnBoundary=yColumn.selectAll("."+c.cn.columnBoundary).data(gup.repeat,gup.keyFun);columnBoundary.enter().append("g").classed(c.cn.columnBoundary,true);var columnBoundaryClippath=yColumn.selectAll("."+c.cn.columnBoundaryClippath).data(gup.repeat,gup.keyFun);columnBoundaryClippath.enter().append("clipPath").classed(c.cn.columnBoundaryClippath,true);columnBoundaryClippath.attr("id",(function(d){return columnBoundaryClipKey(gd,d)}));var columnBoundaryRect=columnBoundaryClippath.selectAll("."+c.cn.columnBoundaryRect).data(gup.repeat,gup.keyFun);columnBoundaryRect.enter().append("rect").classed(c.cn.columnBoundaryRect,true).attr("fill","none");columnBoundaryRect.attr("width",(function(d){return d.columnWidth+2*roundHalfWidth(d)})).attr("height",(function(d){return d.calcdata.height+2*roundHalfWidth(d)+c.uplift})).attr("x",(function(d){return-roundHalfWidth(d)})).attr("y",(function(d){return-roundHalfWidth(d)}));updateBlockYPosition(null,cellsColumnBlock,tableControlView)};function roundHalfWidth(d){return Math.ceil(d.calcdata.maxLineWidth/2)}function scrollAreaBottomClipKey(gd,d){return"clip"+gd._fullLayout._uid+"_scrollAreaBottomClip_"+d.key}function columnBoundaryClipKey(gd,d){return"clip"+gd._fullLayout._uid+"_columnBoundaryClippath_"+d.calcdata.key+"_"+d.specIndex}function flatData(selection){return[].concat.apply([],selection.map((function(g){return g}))).map((function(g){return g.__data__}))}function renderScrollbarKit(tableControlView,gd,bypassVisibleBar){function calcTotalHeight(d){var blocks=d.rowBlocks;return firstRowAnchor(blocks,blocks.length-1)+(blocks.length?rowsHeight(blocks[blocks.length-1],Infinity):1)}var scrollbarKit=tableControlView.selectAll("."+c.cn.scrollbarKit).data(gup.repeat,gup.keyFun);scrollbarKit.enter().append("g").classed(c.cn.scrollbarKit,true).style("shape-rendering","geometricPrecision");scrollbarKit.each((function(d){var s=d.scrollbarState;s.totalHeight=calcTotalHeight(d);s.scrollableAreaHeight=d.groupHeight-headerHeight(d);s.currentlyVisibleHeight=Math.min(s.totalHeight,s.scrollableAreaHeight);s.ratio=s.currentlyVisibleHeight/s.totalHeight;s.barLength=Math.max(s.ratio*s.currentlyVisibleHeight,c.goldenRatio*c.scrollbarWidth);s.barWiggleRoom=s.currentlyVisibleHeight-s.barLength;s.wiggleRoom=Math.max(0,s.totalHeight-s.scrollableAreaHeight);s.topY=s.barWiggleRoom===0?0:d.scrollY/s.wiggleRoom*s.barWiggleRoom;s.bottomY=s.topY+s.barLength;s.dragMultiplier=s.wiggleRoom/s.barWiggleRoom})).attr("transform",(function(d){var xPosition=d.width+c.scrollbarWidth/2+c.scrollbarOffset;return strTranslate(xPosition,headerHeight(d))}));var scrollbar=scrollbarKit.selectAll("."+c.cn.scrollbar).data(gup.repeat,gup.keyFun);scrollbar.enter().append("g").classed(c.cn.scrollbar,true);var scrollbarSlider=scrollbar.selectAll("."+c.cn.scrollbarSlider).data(gup.repeat,gup.keyFun);scrollbarSlider.enter().append("g").classed(c.cn.scrollbarSlider,true);scrollbarSlider.attr("transform",(function(d){return strTranslate(0,d.scrollbarState.topY||0)}));var scrollbarGlyph=scrollbarSlider.selectAll("."+c.cn.scrollbarGlyph).data(gup.repeat,gup.keyFun);scrollbarGlyph.enter().append("line").classed(c.cn.scrollbarGlyph,true).attr("stroke","black").attr("stroke-width",c.scrollbarWidth).attr("stroke-linecap","round").attr("y1",c.scrollbarWidth/2);scrollbarGlyph.attr("y2",(function(d){return d.scrollbarState.barLength-c.scrollbarWidth/2})).attr("stroke-opacity",(function(d){return d.columnDragInProgress||!d.scrollbarState.barWiggleRoom||bypassVisibleBar?0:.4}));scrollbarGlyph.transition().delay(0).duration(0);scrollbarGlyph.transition().delay(c.scrollbarHideDelay).duration(c.scrollbarHideDuration).attr("stroke-opacity",0);var scrollbarCaptureZone=scrollbar.selectAll("."+c.cn.scrollbarCaptureZone).data(gup.repeat,gup.keyFun);scrollbarCaptureZone.enter().append("line").classed(c.cn.scrollbarCaptureZone,true).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",c.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",(function(d){var y=d3.event.y;var bbox=this.getBoundingClientRect();var s=d.scrollbarState;var pixelVal=y-bbox.top;var inverseScale=d3.scale.linear().domain([0,s.scrollableAreaHeight]).range([0,s.totalHeight]).clamp(true);if(!(s.topY<=pixelVal&&pixelVal<=s.bottomY)){makeDragRow(gd,tableControlView,null,inverseScale(pixelVal-s.barLength/2))(d)}})).call(d3.behavior.drag().origin((function(d){d3.event.stopPropagation();d.scrollbarState.scrollbarScrollInProgress=true;return d})).on("drag",makeDragRow(gd,tableControlView)).on("dragend",(function(){})));scrollbarCaptureZone.attr("y2",(function(d){return d.scrollbarState.scrollableAreaHeight}));if(gd._context.staticPlot){scrollbarGlyph.remove();scrollbarCaptureZone.remove()}}function renderColumnCellTree(gd,tableControlView,columnBlock,allColumnBlock){var columnCells=renderColumnCells(columnBlock);var columnCell=renderColumnCell(columnCells);supplyStylingValues(columnCell);var cellRect=renderCellRect(columnCell);sizeAndStyleRect(cellRect);var cellTextHolder=renderCellTextHolder(columnCell);var cellText=renderCellText(cellTextHolder);setFont(cellText);populateCellText(cellText,tableControlView,allColumnBlock,gd);setCellHeightAndPositionY(columnCell)}function renderColumnCells(columnBlock){var columnCells=columnBlock.selectAll("."+c.cn.columnCells).data(gup.repeat,gup.keyFun);columnCells.enter().append("g").classed(c.cn.columnCells,true);columnCells.exit().remove();return columnCells}function renderColumnCell(columnCells){var columnCell=columnCells.selectAll("."+c.cn.columnCell).data(splitData.splitToCells,(function(d){return d.keyWithinBlock}));columnCell.enter().append("g").classed(c.cn.columnCell,true);columnCell.exit().remove();return columnCell}function renderCellRect(columnCell){var cellRect=columnCell.selectAll("."+c.cn.cellRect).data(gup.repeat,(function(d){return d.keyWithinBlock}));cellRect.enter().append("rect").classed(c.cn.cellRect,true);return cellRect}function renderCellText(cellTextHolder){var cellText=cellTextHolder.selectAll("."+c.cn.cellText).data(gup.repeat,(function(d){return d.keyWithinBlock}));cellText.enter().append("text").classed(c.cn.cellText,true).style("cursor",(function(){return"auto"})).on("mousedown",(function(){d3.event.stopPropagation()}));return cellText}function renderCellTextHolder(columnCell){var cellTextHolder=columnCell.selectAll("."+c.cn.cellTextHolder).data(gup.repeat,(function(d){return d.keyWithinBlock}));cellTextHolder.enter().append("g").classed(c.cn.cellTextHolder,true).style("shape-rendering","geometricPrecision");return cellTextHolder}function supplyStylingValues(columnCell){columnCell.each((function(d,i){var spec=d.calcdata.cells.font;var col=d.column.specIndex;var font={size:gridPick(spec.size,col,i),color:gridPick(spec.color,col,i),family:gridPick(spec.family,col,i)};d.rowNumber=d.key;d.align=gridPick(d.calcdata.cells.align,col,i);d.cellBorderWidth=gridPick(d.calcdata.cells.line.width,col,i);d.font=font}))}function setFont(cellText){cellText.each((function(d){Drawing.font(d3.select(this),d.font)}))}function sizeAndStyleRect(cellRect){cellRect.attr("width",(function(d){return d.column.columnWidth})).attr("stroke-width",(function(d){return d.cellBorderWidth})).each((function(d){var atomicSelection=d3.select(this);Color.stroke(atomicSelection,gridPick(d.calcdata.cells.line.color,d.column.specIndex,d.rowNumber));Color.fill(atomicSelection,gridPick(d.calcdata.cells.fill.color,d.column.specIndex,d.rowNumber))}))}function populateCellText(cellText,tableControlView,allColumnBlock,gd){cellText.text((function(d){var col=d.column.specIndex;var row=d.rowNumber;var userSuppliedContent=d.value;var stringSupplied=typeof userSuppliedContent==="string";var hasBreaks=stringSupplied&&userSuppliedContent.match(/<br>/i);var userBrokenText=!stringSupplied||hasBreaks;d.mayHaveMarkup=stringSupplied&&userSuppliedContent.match(/[<&>]/);var latex=isLatex(userSuppliedContent);d.latex=latex;var prefix=latex?"":gridPick(d.calcdata.cells.prefix,col,row)||"";var suffix=latex?"":gridPick(d.calcdata.cells.suffix,col,row)||"";var format=latex?null:gridPick(d.calcdata.cells.format,col,row)||null;var prefixSuffixedText=prefix+(format?numberFormat(format)(d.value):d.value)+suffix;var hasWrapSplitCharacter;d.wrappingNeeded=!d.wrapped&&!userBrokenText&&!latex&&(hasWrapSplitCharacter=hasWrapCharacter(prefixSuffixedText));d.cellHeightMayIncrease=hasBreaks||latex||d.mayHaveMarkup||(hasWrapSplitCharacter===void 0?hasWrapCharacter(prefixSuffixedText):hasWrapSplitCharacter);d.needsConvertToTspans=d.mayHaveMarkup||d.wrappingNeeded||d.latex;var textToRender;if(d.wrappingNeeded){var hrefPreservedText=c.wrapSplitCharacter===" "?prefixSuffixedText.replace(/<a href=/gi,"<a_href="):prefixSuffixedText;var fragments=hrefPreservedText.split(c.wrapSplitCharacter);var hrefRestoredFragments=c.wrapSplitCharacter===" "?fragments.map((function(frag){return frag.replace(/<a_href=/gi,"<a href=")})):fragments;d.fragments=hrefRestoredFragments.map((function(f){return{text:f,width:null}}));d.fragments.push({fragment:c.wrapSpacer,width:null});textToRender=hrefRestoredFragments.join(c.lineBreaker)+c.lineBreaker+c.wrapSpacer}else{delete d.fragments;textToRender=prefixSuffixedText}return textToRender})).attr("dy",(function(d){return d.needsConvertToTspans?0:"0.75em"})).each((function(d){var element=this;var selection=d3.select(element);var renderCallback=d.wrappingNeeded?wrapTextMaker:updateYPositionMaker;if(d.needsConvertToTspans){svgUtil.convertToTspans(selection,gd,renderCallback(allColumnBlock,element,tableControlView,gd,d))}else{d3.select(element.parentNode).attr("transform",(function(d){return strTranslate(xPosition(d),c.cellPad)})).attr("text-anchor",(function(d){return{left:"start",center:"middle",right:"end"}[d.align]}))}}))}function isLatex(content){return typeof content==="string"&&content.match(c.latexCheck)}function hasWrapCharacter(text){return text.indexOf(c.wrapSplitCharacter)!==-1}function columnMoved(gd,calcdata,indices){var o=calcdata.gdColumnsOriginalOrder;calcdata.gdColumns.sort((function(a,b){return indices[o.indexOf(a)]-indices[o.indexOf(b)]}));calcdata.columnorder=indices;gd.emit("plotly_restyle")}function gridPick(spec,col,row){if(Array.isArray(spec)){var column=spec[Math.min(col,spec.length-1)];if(Array.isArray(column)){return column[Math.min(row,column.length-1)]}else{return column}}else{return spec}}function easeColumn(selection,d,y){selection.transition().ease(c.releaseTransitionEase).duration(c.releaseTransitionDuration).attr("transform",strTranslate(d.x,y))}function cellsBlock(d){return d.type==="cells"}function headerBlock(d){return d.type==="header"}function headerHeight(d){var headerBlocks=d.rowBlocks.length?d.rowBlocks[0].auxiliaryBlocks:[];return headerBlocks.reduce((function(p,n){return p+rowsHeight(n,Infinity)}),0)}function findPagesAndCacheHeights(blocks,scrollY,scrollHeight){var pages=[];var pTop=0;for(var blockIndex=0;blockIndex<blocks.length;blockIndex++){var block=blocks[blockIndex];var blockRows=block.rows;var rowsHeight=0;for(var i=0;i<blockRows.length;i++){rowsHeight+=blockRows[i].rowHeight}block.allRowsHeight=rowsHeight;var pBottom=pTop+rowsHeight;var windowTop=scrollY;var windowBottom=windowTop+scrollHeight;if(windowTop<pBottom&&windowBottom>pTop){pages.push(blockIndex)}pTop+=rowsHeight}return pages}function updateBlockYPosition(gd,cellsColumnBlock,tableControlView){var d=flatData(cellsColumnBlock)[0];if(d===undefined)return;var blocks=d.rowBlocks;var calcdata=d.calcdata;var bottom=firstRowAnchor(blocks,blocks.length);var scrollHeight=d.calcdata.groupHeight-headerHeight(d);var scrollY=calcdata.scrollY=Math.max(0,Math.min(bottom-scrollHeight,calcdata.scrollY));var pages=findPagesAndCacheHeights(blocks,scrollY,scrollHeight);if(pages.length===1){if(pages[0]===blocks.length-1){pages.unshift(pages[0]-1)}else{pages.push(pages[0]+1)}}if(pages[0]%2){pages.reverse()}cellsColumnBlock.each((function(d,i){d.page=pages[i];d.scrollY=scrollY}));cellsColumnBlock.attr("transform",(function(d){var yTranslate=firstRowAnchor(d.rowBlocks,d.page)-d.scrollY;return strTranslate(0,yTranslate)}));if(gd){conditionalPanelRerender(gd,tableControlView,cellsColumnBlock,pages,d.prevPages,d,0);conditionalPanelRerender(gd,tableControlView,cellsColumnBlock,pages,d.prevPages,d,1);renderScrollbarKit(tableControlView,gd)}}function makeDragRow(gd,allTableControlView,optionalMultiplier,optionalPosition){return function dragRow(eventD){var d=eventD.calcdata?eventD.calcdata:eventD;var tableControlView=allTableControlView.filter((function(dd){return d.key===dd.key}));var multiplier=optionalMultiplier||d.scrollbarState.dragMultiplier;var initialScrollY=d.scrollY;d.scrollY=optionalPosition===void 0?d.scrollY+multiplier*d3.event.dy:optionalPosition;var cellsColumnBlock=tableControlView.selectAll("."+c.cn.yColumn).selectAll("."+c.cn.columnBlock).filter(cellsBlock);updateBlockYPosition(gd,cellsColumnBlock,tableControlView);return d.scrollY===initialScrollY}}function conditionalPanelRerender(gd,tableControlView,cellsColumnBlock,pages,prevPages,d,revolverIndex){var shouldComponentUpdate=pages[revolverIndex]!==prevPages[revolverIndex];if(shouldComponentUpdate){clearTimeout(d.currentRepaint[revolverIndex]);d.currentRepaint[revolverIndex]=setTimeout((function(){var toRerender=cellsColumnBlock.filter((function(d,i){return i===revolverIndex&&pages[i]!==prevPages[i]}));renderColumnCellTree(gd,tableControlView,toRerender,cellsColumnBlock);prevPages[revolverIndex]=pages[revolverIndex]}))}}function wrapTextMaker(columnBlock,element,tableControlView,gd){return function wrapText(){var cellTextHolder=d3.select(element.parentNode);cellTextHolder.each((function(d){var fragments=d.fragments;cellTextHolder.selectAll("tspan.line").each((function(dd,i){fragments[i].width=this.getComputedTextLength()}));var separatorLength=fragments[fragments.length-1].width;var rest=fragments.slice(0,-1);var currentRow=[];var currentAddition,currentAdditionLength;var currentRowLength=0;var rowLengthLimit=d.column.columnWidth-2*c.cellPad;d.value="";while(rest.length){currentAddition=rest.shift();currentAdditionLength=currentAddition.width+separatorLength;if(currentRowLength+currentAdditionLength>rowLengthLimit){d.value+=currentRow.join(c.wrapSpacer)+c.lineBreaker;currentRow=[];currentRowLength=0}currentRow.push(currentAddition.text);currentRowLength+=currentAdditionLength}if(currentRowLength){d.value+=currentRow.join(c.wrapSpacer)}d.wrapped=true}));cellTextHolder.selectAll("tspan.line").remove();populateCellText(cellTextHolder.select("."+c.cn.cellText),tableControlView,columnBlock,gd);d3.select(element.parentNode.parentNode).call(setCellHeightAndPositionY)}}function updateYPositionMaker(columnBlock,element,tableControlView,gd,d){return function updateYPosition(){if(d.settledY)return;var cellTextHolder=d3.select(element.parentNode);var l=getBlock(d);var rowIndex=d.key-l.firstRowIndex;var declaredRowHeight=l.rows[rowIndex].rowHeight;var requiredHeight=d.cellHeightMayIncrease?element.parentNode.getBoundingClientRect().height+2*c.cellPad:declaredRowHeight;var finalHeight=Math.max(requiredHeight,declaredRowHeight);var increase=finalHeight-l.rows[rowIndex].rowHeight;if(increase){l.rows[rowIndex].rowHeight=finalHeight;columnBlock.selectAll("."+c.cn.columnCell).call(setCellHeightAndPositionY);updateBlockYPosition(null,columnBlock.filter(cellsBlock),0);renderScrollbarKit(tableControlView,gd,true)}cellTextHolder.attr("transform",(function(){var element=this;var columnCellElement=element.parentNode;var box=columnCellElement.getBoundingClientRect();var rectBox=d3.select(element.parentNode).select("."+c.cn.cellRect).node().getBoundingClientRect();var currentTransform=element.transform.baseVal.consolidate();var yPosition=rectBox.top-box.top+(currentTransform?currentTransform.matrix.f:c.cellPad);return strTranslate(xPosition(d,d3.select(element.parentNode).select("."+c.cn.cellTextHolder).node().getBoundingClientRect().width),yPosition)}));d.settledY=true}}function xPosition(d,optionalWidth){switch(d.align){case"left":return c.cellPad;case"right":return d.column.columnWidth-(optionalWidth||0)-c.cellPad;case"center":return(d.column.columnWidth-(optionalWidth||0))/2;default:return c.cellPad}}function setCellHeightAndPositionY(columnCell){columnCell.attr("transform",(function(d){var headerHeight=d.rowBlocks[0].auxiliaryBlocks.reduce((function(p,n){return p+rowsHeight(n,Infinity)}),0);var l=getBlock(d);var rowAnchor=rowsHeight(l,d.key);var yOffset=rowAnchor+headerHeight;return strTranslate(0,yOffset)})).selectAll("."+c.cn.cellRect).attr("height",(function(d){return getRow(getBlock(d),d.key).rowHeight}))}function firstRowAnchor(blocks,page){var total=0;for(var i=page-1;i>=0;i--){total+=allRowsHeight(blocks[i])}return total}function rowsHeight(rowBlock,key){var total=0;for(var i=0;i<rowBlock.rows.length&&rowBlock.rows[i].rowIndex<key;i++){total+=rowBlock.rows[i].rowHeight}return total}function allRowsHeight(rowBlock){var cached=rowBlock.allRowsHeight;if(cached!==void 0){return cached}var total=0;for(var i=0;i<rowBlock.rows.length;i++){total+=rowBlock.rows[i].rowHeight}rowBlock.allRowsHeight=total;return total}function getBlock(d){return d.rowBlocks[d.page]}function getRow(l,i){return l.rows[i-l.firstRowIndex]}},{"../../components/color":666,"../../components/drawing":688,"../../lib":803,"../../lib/gup":800,"../../lib/svg_text_utils":829,"./constants":1350,"./data_preparation_helper":1351,"./data_split_helpers":1352,"@plotly/d3":58}],1356:[function(_dereq_,module,exports){"use strict";var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var domainAttrs=_dereq_("../../plots/domain").attributes;var pieAttrs=_dereq_("../pie/attributes");var sunburstAttrs=_dereq_("../sunburst/attributes");var constants=_dereq_("./constants");var extendFlat=_dereq_("../../lib/extend").extendFlat;module.exports={labels:sunburstAttrs.labels,parents:sunburstAttrs.parents,values:sunburstAttrs.values,branchvalues:sunburstAttrs.branchvalues,count:sunburstAttrs.count,level:sunburstAttrs.level,maxdepth:sunburstAttrs.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:extendFlat({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:sunburstAttrs.marker.colors,depthfade:{valType:"enumerated",values:[true,false,"reversed"],editType:"style"},line:sunburstAttrs.marker.line,editType:"calc"},colorScaleAttrs("marker",{colorAttr:"colors",anim:false})),pathbar:{visible:{valType:"boolean",dflt:true,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:extendFlat({},pieAttrs.textfont,{}),editType:"calc"},text:pieAttrs.text,textinfo:sunburstAttrs.textinfo,texttemplate:texttemplateAttrs({editType:"plot"},{keys:constants.eventDataKeys.concat(["label","value"])}),hovertext:pieAttrs.hovertext,hoverinfo:sunburstAttrs.hoverinfo,hovertemplate:hovertemplateAttrs({},{keys:constants.eventDataKeys}),textfont:pieAttrs.textfont,insidetextfont:pieAttrs.insidetextfont,outsidetextfont:extendFlat({},pieAttrs.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:pieAttrs.sort,root:sunburstAttrs.root,domain:domainAttrs({name:"treemap",trace:true,editType:"calc"})}},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plots/domain":882,"../../plots/template_attributes":926,"../pie/attributes":1192,"../sunburst/attributes":1330,"./constants":1359}],1357:[function(_dereq_,module,exports){"use strict";var plots=_dereq_("../../plots/plots");exports.name="treemap";exports.plot=function(gd,traces,transitionOpts,makeOnCompleteCallback){plots.plotBasePlot(exports.name,gd,traces,transitionOpts,makeOnCompleteCallback)};exports.clean=function(newFullData,newFullLayout,oldFullData,oldFullLayout){plots.cleanBasePlot(exports.name,newFullData,newFullLayout,oldFullData,oldFullLayout)}},{"../../plots/plots":917}],1358:[function(_dereq_,module,exports){"use strict";var calc=_dereq_("../sunburst/calc");exports.calc=function(gd,trace){return calc.calc(gd,trace)};exports.crossTraceCalc=function(gd){return calc._runCrossTraceCalc("treemap",gd)}},{"../sunburst/calc":1332}],1359:[function(_dereq_,module,exports){"use strict";module.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},{}],1360:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var Color=_dereq_("../../components/color");var handleDomainDefaults=_dereq_("../../plots/domain").defaults;var handleText=_dereq_("../bar/defaults").handleText;var TEXTPAD=_dereq_("../bar/constants").TEXTPAD;var Colorscale=_dereq_("../../components/colorscale");var hasColorscale=Colorscale.hasColorscale;var colorscaleDefaults=Colorscale.handleDefaults;module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var labels=coerce("labels");var parents=coerce("parents");if(!labels||!labels.length||!parents||!parents.length){traceOut.visible=false;return}var vals=coerce("values");if(vals&&vals.length){coerce("branchvalues")}else{coerce("count")}coerce("level");coerce("maxdepth");var packing=coerce("tiling.packing");if(packing==="squarify"){coerce("tiling.squarifyratio")}coerce("tiling.flip");coerce("tiling.pad");var text=coerce("text");coerce("texttemplate");if(!traceOut.texttemplate)coerce("textinfo",Array.isArray(text)?"text+label":"label");coerce("hovertext");coerce("hovertemplate");var hasPathbar=coerce("pathbar.visible");var textposition="auto";handleText(traceIn,traceOut,layout,coerce,textposition,{hasPathbar:hasPathbar,moduleHasSelected:false,moduleHasUnselected:false,moduleHasConstrain:false,moduleHasCliponaxis:false,moduleHasTextangle:false,moduleHasInsideanchor:false});coerce("textposition");var bottomText=traceOut.textposition.indexOf("bottom")!==-1;var lineWidth=coerce("marker.line.width");if(lineWidth)coerce("marker.line.color",layout.paper_bgcolor);var colors=coerce("marker.colors");var withColorscale=traceOut._hasColorscale=hasColorscale(traceIn,"marker","colors")||(traceIn.marker||{}).coloraxis;if(withColorscale){colorscaleDefaults(traceIn,traceOut,layout,coerce,{prefix:"marker.",cLetter:"c"})}else{coerce("marker.depthfade",!(colors||[]).length)}var headerSize=traceOut.textfont.size*2;coerce("marker.pad.t",bottomText?headerSize/4:headerSize);coerce("marker.pad.l",headerSize/4);coerce("marker.pad.r",headerSize/4);coerce("marker.pad.b",bottomText?headerSize:headerSize/4);traceOut._hovered={marker:{line:{width:2,color:Color.contrast(layout.paper_bgcolor)}}};if(hasPathbar){coerce("pathbar.thickness",traceOut.pathbar.textfont.size+2*TEXTPAD);coerce("pathbar.side");coerce("pathbar.edgeshape")}coerce("sort");coerce("root.color");handleDomainDefaults(traceOut,layout,coerce);traceOut._length=null}},{"../../components/color":666,"../../components/colorscale":678,"../../lib":803,"../../plots/domain":882,"../bar/constants":943,"../bar/defaults":945,"./attributes":1356}],1361:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var helpers=_dereq_("../sunburst/helpers");var uniformText=_dereq_("../bar/uniform_text");var clearMinTextSize=uniformText.clearMinTextSize;var resizeText=_dereq_("../bar/style").resizeText;var plotOne=_dereq_("./plot_one");module.exports=function _plot(gd,cdmodule,transitionOpts,makeOnCompleteCallback,opts){var type=opts.type;var drawDescendants=opts.drawDescendants;var fullLayout=gd._fullLayout;var layer=fullLayout["_"+type+"layer"];var join,onComplete;var isFullReplot=!transitionOpts;clearMinTextSize(type,fullLayout);join=layer.selectAll("g.trace."+type).data(cdmodule,(function(cd){return cd[0].trace.uid}));join.enter().append("g").classed("trace",true).classed(type,true);join.order();if(!fullLayout.uniformtext.mode&&helpers.hasTransition(transitionOpts)){if(makeOnCompleteCallback){onComplete=makeOnCompleteCallback()}var transition=d3.transition().duration(transitionOpts.duration).ease(transitionOpts.easing).each("end",(function(){onComplete&&onComplete()})).each("interrupt",(function(){onComplete&&onComplete()}));transition.each((function(){layer.selectAll("g.trace").each((function(cd){plotOne(gd,cd,this,transitionOpts,drawDescendants)}))}))}else{join.each((function(cd){plotOne(gd,cd,this,transitionOpts,drawDescendants)}));if(fullLayout.uniformtext.mode){resizeText(gd,layer.selectAll(".trace"),type)}}if(isFullReplot){join.exit().remove()}}},{"../bar/style":955,"../bar/uniform_text":957,"../sunburst/helpers":1336,"./plot_one":1370,"@plotly/d3":58}],1362:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var partition=_dereq_("./partition");var styleOne=_dereq_("./style").styleOne;var constants=_dereq_("./constants");var helpers=_dereq_("../sunburst/helpers");var attachFxHandlers=_dereq_("../sunburst/fx");var onPathbar=true;module.exports=function drawAncestors(gd,cd,entry,slices,opts){var barDifY=opts.barDifY;var width=opts.width;var height=opts.height;var viewX=opts.viewX;var viewY=opts.viewY;var pathSlice=opts.pathSlice;var toMoveInsideSlice=opts.toMoveInsideSlice;var strTransform=opts.strTransform;var hasTransition=opts.hasTransition;var handleSlicesExit=opts.handleSlicesExit;var makeUpdateSliceInterpolator=opts.makeUpdateSliceInterpolator;var makeUpdateTextInterpolator=opts.makeUpdateTextInterpolator;var refRect={};var fullLayout=gd._fullLayout;var cd0=cd[0];var trace=cd0.trace;var hierarchy=cd0.hierarchy;var eachWidth=width/trace._entryDepth;var pathIds=helpers.listPath(entry.data,"id");var sliceData=partition(hierarchy.copy(),[width,height],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();sliceData=sliceData.filter((function(pt){var level=pathIds.indexOf(pt.data.id);if(level===-1)return false;pt.x0=eachWidth*level;pt.x1=eachWidth*(level+1);pt.y0=barDifY;pt.y1=barDifY+height;pt.onPathbar=true;return true}));sliceData.reverse();slices=slices.data(sliceData,helpers.getPtId);slices.enter().append("g").classed("pathbar",true);handleSlicesExit(slices,onPathbar,refRect,[width,height],pathSlice);slices.order();var updateSlices=slices;if(hasTransition){updateSlices=updateSlices.transition().each("end",(function(){var sliceTop=d3.select(this);helpers.setSliceCursor(sliceTop,gd,{hideOnRoot:false,hideOnLeaves:false,isTransitioning:false})}))}updateSlices.each((function(pt){pt._x0=viewX(pt.x0);pt._x1=viewX(pt.x1);pt._y0=viewY(pt.y0);pt._y1=viewY(pt.y1);pt._hoverX=viewX(pt.x1-Math.min(width,height)/2);pt._hoverY=viewY(pt.y1-height/2);var sliceTop=d3.select(this);var slicePath=Lib.ensureSingle(sliceTop,"path","surface",(function(s){s.style("pointer-events","all")}));if(hasTransition){slicePath.transition().attrTween("d",(function(pt2){var interp=makeUpdateSliceInterpolator(pt2,onPathbar,refRect,[width,height]);return function(t){return pathSlice(interp(t))}}))}else{slicePath.attr("d",pathSlice)}sliceTop.call(attachFxHandlers,entry,gd,cd,{styleOne:styleOne,eventDataKeys:constants.eventDataKeys,transitionTime:constants.CLICK_TRANSITION_TIME,transitionEasing:constants.CLICK_TRANSITION_EASING}).call(helpers.setSliceCursor,gd,{hideOnRoot:false,hideOnLeaves:false,isTransitioning:gd._transitioning});slicePath.call(styleOne,pt,trace,{hovered:false});pt._text=(helpers.getPtLabel(pt)||"").split("<br>").join(" ")||"";var sliceTextGroup=Lib.ensureSingle(sliceTop,"g","slicetext");var sliceText=Lib.ensureSingle(sliceTextGroup,"text","",(function(s){s.attr("data-notex",1)}));var font=Lib.ensureUniformFontSize(gd,helpers.determineTextFont(trace,pt,fullLayout.font,{onPathbar:true}));sliceText.text(pt._text||" ").classed("slicetext",true).attr("text-anchor","start").call(Drawing.font,font).call(svgTextUtils.convertToTspans,gd);pt.textBB=Drawing.bBox(sliceText.node());pt.transform=toMoveInsideSlice(pt,{fontSize:font.size,onPathbar:true});pt.transform.fontSize=font.size;if(hasTransition){sliceText.transition().attrTween("transform",(function(pt2){var interp=makeUpdateTextInterpolator(pt2,onPathbar,refRect,[width,height]);return function(t){return strTransform(interp(t))}}))}else{sliceText.attr("transform",strTransform(pt))}}))}},{"../../components/drawing":688,"../../lib":803,"../../lib/svg_text_utils":829,"../sunburst/fx":1335,"../sunburst/helpers":1336,"./constants":1359,"./partition":1368,"./style":1371,"@plotly/d3":58}],1363:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var svgTextUtils=_dereq_("../../lib/svg_text_utils");var partition=_dereq_("./partition");var styleOne=_dereq_("./style").styleOne;var constants=_dereq_("./constants");var helpers=_dereq_("../sunburst/helpers");var attachFxHandlers=_dereq_("../sunburst/fx");var formatSliceLabel=_dereq_("../sunburst/plot").formatSliceLabel;var onPathbar=false;module.exports=function drawDescendants(gd,cd,entry,slices,opts){var width=opts.width;var height=opts.height;var viewX=opts.viewX;var viewY=opts.viewY;var pathSlice=opts.pathSlice;var toMoveInsideSlice=opts.toMoveInsideSlice;var strTransform=opts.strTransform;var hasTransition=opts.hasTransition;var handleSlicesExit=opts.handleSlicesExit;var makeUpdateSliceInterpolator=opts.makeUpdateSliceInterpolator;var makeUpdateTextInterpolator=opts.makeUpdateTextInterpolator;var prevEntry=opts.prevEntry;var refRect={};var fullLayout=gd._fullLayout;var cd0=cd[0];var trace=cd0.trace;var hasLeft=trace.textposition.indexOf("left")!==-1;var hasRight=trace.textposition.indexOf("right")!==-1;var hasBottom=trace.textposition.indexOf("bottom")!==-1;var noRoomForHeader=!hasBottom&&!trace.marker.pad.t||hasBottom&&!trace.marker.pad.b;var allData=partition(entry,[width,height],{packing:trace.tiling.packing,squarifyratio:trace.tiling.squarifyratio,flipX:trace.tiling.flip.indexOf("x")>-1,flipY:trace.tiling.flip.indexOf("y")>-1,pad:{inner:trace.tiling.pad,top:trace.marker.pad.t,left:trace.marker.pad.l,right:trace.marker.pad.r,bottom:trace.marker.pad.b}});var sliceData=allData.descendants();var minVisibleDepth=Infinity;var maxVisibleDepth=-Infinity;sliceData.forEach((function(pt){var depth=pt.depth;if(depth>=trace._maxDepth){pt.x0=pt.x1=(pt.x0+pt.x1)/2;pt.y0=pt.y1=(pt.y0+pt.y1)/2}else{minVisibleDepth=Math.min(minVisibleDepth,depth);maxVisibleDepth=Math.max(maxVisibleDepth,depth)}}));slices=slices.data(sliceData,helpers.getPtId);trace._maxVisibleLayers=isFinite(maxVisibleDepth)?maxVisibleDepth-minVisibleDepth+1:0;slices.enter().append("g").classed("slice",true);handleSlicesExit(slices,onPathbar,refRect,[width,height],pathSlice);slices.order();var nextOfPrevEntry=null;if(hasTransition&&prevEntry){var prevEntryId=helpers.getPtId(prevEntry);slices.each((function(pt){if(nextOfPrevEntry===null&&helpers.getPtId(pt)===prevEntryId){nextOfPrevEntry={x0:pt.x0,x1:pt.x1,y0:pt.y0,y1:pt.y1}}}))}var getRefRect=function(){return nextOfPrevEntry||{x0:0,x1:width,y0:0,y1:height}};var updateSlices=slices;if(hasTransition){updateSlices=updateSlices.transition().each("end",(function(){var sliceTop=d3.select(this);helpers.setSliceCursor(sliceTop,gd,{hideOnRoot:true,hideOnLeaves:false,isTransitioning:false})}))}updateSlices.each((function(pt){var isHeader=helpers.isHeader(pt,trace);pt._x0=viewX(pt.x0);pt._x1=viewX(pt.x1);pt._y0=viewY(pt.y0);pt._y1=viewY(pt.y1);pt._hoverX=viewX(pt.x1-trace.marker.pad.r),pt._hoverY=hasBottom?viewY(pt.y1-trace.marker.pad.b/2):viewY(pt.y0+trace.marker.pad.t/2);var sliceTop=d3.select(this);var slicePath=Lib.ensureSingle(sliceTop,"path","surface",(function(s){s.style("pointer-events","all")}));if(hasTransition){slicePath.transition().attrTween("d",(function(pt2){var interp=makeUpdateSliceInterpolator(pt2,onPathbar,getRefRect(),[width,height]);return function(t){return pathSlice(interp(t))}}))}else{slicePath.attr("d",pathSlice)}sliceTop.call(attachFxHandlers,entry,gd,cd,{styleOne:styleOne,eventDataKeys:constants.eventDataKeys,transitionTime:constants.CLICK_TRANSITION_TIME,transitionEasing:constants.CLICK_TRANSITION_EASING}).call(helpers.setSliceCursor,gd,{isTransitioning:gd._transitioning});slicePath.call(styleOne,pt,trace,{hovered:false});if(pt.x0===pt.x1||pt.y0===pt.y1){pt._text=""}else{if(isHeader){pt._text=noRoomForHeader?"":helpers.getPtLabel(pt)||""}else{pt._text=formatSliceLabel(pt,entry,trace,cd,fullLayout)||""}}var sliceTextGroup=Lib.ensureSingle(sliceTop,"g","slicetext");var sliceText=Lib.ensureSingle(sliceTextGroup,"text","",(function(s){s.attr("data-notex",1)}));var font=Lib.ensureUniformFontSize(gd,helpers.determineTextFont(trace,pt,fullLayout.font));sliceText.text(pt._text||" ").classed("slicetext",true).attr("text-anchor",hasRight?"end":hasLeft||isHeader?"start":"middle").call(Drawing.font,font).call(svgTextUtils.convertToTspans,gd);pt.textBB=Drawing.bBox(sliceText.node());pt.transform=toMoveInsideSlice(pt,{fontSize:font.size,isHeader:isHeader});pt.transform.fontSize=font.size;if(hasTransition){sliceText.transition().attrTween("transform",(function(pt2){var interp=makeUpdateTextInterpolator(pt2,onPathbar,getRefRect(),[width,height]);return function(t){return strTransform(interp(t))}}))}else{sliceText.attr("transform",strTransform(pt))}}));return nextOfPrevEntry}},{"../../components/drawing":688,"../../lib":803,"../../lib/svg_text_utils":829,"../sunburst/fx":1335,"../sunburst/helpers":1336,"../sunburst/plot":1340,"./constants":1359,"./partition":1368,"./style":1371,"@plotly/d3":58}],1364:[function(_dereq_,module,exports){"use strict";module.exports=function flipTree(node,size,opts){var tmp;if(opts.swapXY){tmp=node.x0;node.x0=node.y0;node.y0=tmp;tmp=node.x1;node.x1=node.y1;node.y1=tmp}if(opts.flipX){tmp=node.x0;node.x0=size[0]-node.x1;node.x1=size[0]-tmp}if(opts.flipY){tmp=node.y0;node.y0=size[1]-node.y1;node.y1=size[1]-tmp}var children=node.children;if(children){for(var i=0;i<children.length;i++){flipTree(children[i],size,opts)}}}},{}],1365:[function(_dereq_,module,exports){"use strict";module.exports={moduleType:"trace",name:"treemap",basePlotModule:_dereq_("./base_plot"),categories:[],animatable:true,attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults"),supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc").calc,crossTraceCalc:_dereq_("./calc").crossTraceCalc,plot:_dereq_("./plot"),style:_dereq_("./style").style,colorbar:_dereq_("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1236,"./attributes":1356,"./base_plot":1357,"./calc":1358,"./defaults":1360,"./layout_attributes":1366,"./layout_defaults":1367,"./plot":1369,"./style":1371}],1366:[function(_dereq_,module,exports){"use strict";module.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:true,editType:"calc"}}},{}],1367:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}coerce("treemapcolorway",layoutOut.colorway);coerce("extendtreemapcolors")}},{"../../lib":803,"./layout_attributes":1366}],1368:[function(_dereq_,module,exports){"use strict";var d3Hierarchy=_dereq_("d3-hierarchy");var flipTree=_dereq_("./flip_tree");module.exports=function partition(entry,size,opts){var flipX=opts.flipX;var flipY=opts.flipY;var swapXY=opts.packing==="dice-slice";var top=opts.pad[flipY?"bottom":"top"];var left=opts.pad[flipX?"right":"left"];var right=opts.pad[flipX?"left":"right"];var bottom=opts.pad[flipY?"top":"bottom"];var tmp;if(swapXY){tmp=left;left=top;top=tmp;tmp=right;right=bottom;bottom=tmp}var result=d3Hierarchy.treemap().tile(getTilingMethod(opts.packing,opts.squarifyratio)).paddingInner(opts.pad.inner).paddingLeft(left).paddingRight(right).paddingTop(top).paddingBottom(bottom).size(swapXY?[size[1],size[0]]:size)(entry);if(swapXY||flipX||flipY){flipTree(result,size,{swapXY:swapXY,flipX:flipX,flipY:flipY})}return result};function getTilingMethod(key,squarifyratio){switch(key){case"squarify":return d3Hierarchy.treemapSquarify.ratio(squarifyratio);case"binary":return d3Hierarchy.treemapBinary;case"dice":return d3Hierarchy.treemapDice;case"slice":return d3Hierarchy.treemapSlice;default:return d3Hierarchy.treemapSliceDice}}},{"./flip_tree":1364,"d3-hierarchy":170}],1369:[function(_dereq_,module,exports){"use strict";var draw=_dereq_("./draw");var drawDescendants=_dereq_("./draw_descendants");module.exports=function _plot(gd,cdmodule,transitionOpts,makeOnCompleteCallback){return draw(gd,cdmodule,transitionOpts,makeOnCompleteCallback,{type:"treemap",drawDescendants:drawDescendants})}},{"./draw":1361,"./draw_descendants":1363}],1370:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var interpolate=_dereq_("d3-interpolate").interpolate;var helpers=_dereq_("../sunburst/helpers");var Lib=_dereq_("../../lib");var TEXTPAD=_dereq_("../bar/constants").TEXTPAD;var barPlot=_dereq_("../bar/plot");var toMoveInsideBar=barPlot.toMoveInsideBar;var uniformText=_dereq_("../bar/uniform_text");var recordMinTextSize=uniformText.recordMinTextSize;var constants=_dereq_("./constants");var drawAncestors=_dereq_("./draw_ancestors");function getKey(pt){return helpers.isHierarchyRoot(pt)?"":helpers.getPtId(pt)}module.exports=function plotOne(gd,cd,element,transitionOpts,drawDescendants){var fullLayout=gd._fullLayout;var cd0=cd[0];var trace=cd0.trace;var type=trace.type;var isIcicle=type==="icicle";var hierarchy=cd0.hierarchy;var entry=helpers.findEntryWithLevel(hierarchy,trace.level);var gTrace=d3.select(element);var selAncestors=gTrace.selectAll("g.pathbar");var selDescendants=gTrace.selectAll("g.slice");if(!entry){selAncestors.remove();selDescendants.remove();return}var isRoot=helpers.isHierarchyRoot(entry);var hasTransition=!fullLayout.uniformtext.mode&&helpers.hasTransition(transitionOpts);var maxDepth=helpers.getMaxDepth(trace);var hasVisibleDepth=function(pt){return pt.data.depth-entry.data.depth<maxDepth};var gs=fullLayout._size;var domain=trace.domain;var vpw=gs.w*(domain.x[1]-domain.x[0]);var vph=gs.h*(domain.y[1]-domain.y[0]);var barW=vpw;var barH=trace.pathbar.thickness;var barPad=trace.marker.line.width+constants.gapWithPathbar;var barDifY=!trace.pathbar.visible?0:trace.pathbar.side.indexOf("bottom")>-1?vph+barPad:-(barH+barPad);var pathbarOrigin={x0:barW,x1:barW,y0:barDifY,y1:barDifY+barH};var findClosestEdge=function(pt,ref,size){var e=trace.tiling.pad;var isLeftOfRect=function(x){return x-e<=ref.x0};var isRightOfRect=function(x){return x+e>=ref.x1};var isBottomOfRect=function(y){return y-e<=ref.y0};var isTopOfRect=function(y){return y+e>=ref.y1};if(pt.x0===ref.x0&&pt.x1===ref.x1&&pt.y0===ref.y0&&pt.y1===ref.y1){return{x0:pt.x0,x1:pt.x1,y0:pt.y0,y1:pt.y1}}return{x0:isLeftOfRect(pt.x0-e)?0:isRightOfRect(pt.x0-e)?size[0]:pt.x0,x1:isLeftOfRect(pt.x1+e)?0:isRightOfRect(pt.x1+e)?size[0]:pt.x1,y0:isBottomOfRect(pt.y0-e)?0:isTopOfRect(pt.y0-e)?size[1]:pt.y0,y1:isBottomOfRect(pt.y1+e)?0:isTopOfRect(pt.y1+e)?size[1]:pt.y1}};var prevEntry=null;var prevLookupPathbar={};var prevLookupSlices={};var nextOfPrevEntry=null;var getPrev=function(pt,onPathbar){return onPathbar?prevLookupPathbar[getKey(pt)]:prevLookupSlices[getKey(pt)]};var getOrigin=function(pt,onPathbar,refRect,size){if(onPathbar){return prevLookupPathbar[getKey(hierarchy)]||pathbarOrigin}else{var ref=prevLookupSlices[trace.level]||refRect;if(hasVisibleDepth(pt)){return findClosestEdge(pt,ref,size)}}return{}};if(cd0.hasMultipleRoots&&isRoot){maxDepth++}trace._maxDepth=maxDepth;trace._backgroundColor=fullLayout.paper_bgcolor;trace._entryDepth=entry.data.depth;trace._atRootLevel=isRoot;var cenX=-vpw/2+gs.l+gs.w*(domain.x[1]+domain.x[0])/2;var cenY=-vph/2+gs.t+gs.h*(1-(domain.y[1]+domain.y[0])/2);var viewMapX=function(x){return cenX+x};var viewMapY=function(y){return cenY+y};var barY0=viewMapY(0);var barX0=viewMapX(0);var viewBarX=function(x){return barX0+x};var viewBarY=function(y){return barY0+y};function pos(x,y){return x+","+y}var xStart=viewBarX(0);var limitX0=function(p){p.x=Math.max(xStart,p.x)};var edgeshape=trace.pathbar.edgeshape;var pathAncestor=function(d){var _x0=viewBarX(Math.max(Math.min(d.x0,d.x0),0));var _x1=viewBarX(Math.min(Math.max(d.x1,d.x1),barW));var _y0=viewBarY(d.y0);var _y1=viewBarY(d.y1);var halfH=barH/2;var pL={};var pR={};pL.x=_x0;pR.x=_x1;pL.y=pR.y=(_y0+_y1)/2;var pA={x:_x0,y:_y0};var pB={x:_x1,y:_y0};var pC={x:_x1,y:_y1};var pD={x:_x0,y:_y1};if(edgeshape===">"){pA.x-=halfH;pB.x-=halfH;pC.x-=halfH;pD.x-=halfH}else if(edgeshape==="/"){pC.x-=halfH;pD.x-=halfH;pL.x-=halfH/2;pR.x-=halfH/2}else if(edgeshape==="\\"){pA.x-=halfH;pB.x-=halfH;pL.x-=halfH/2;pR.x-=halfH/2}else if(edgeshape==="<"){pL.x-=halfH;pR.x-=halfH}limitX0(pA);limitX0(pD);limitX0(pL);limitX0(pB);limitX0(pC);limitX0(pR);return"M"+pos(pA.x,pA.y)+"L"+pos(pB.x,pB.y)+"L"+pos(pR.x,pR.y)+"L"+pos(pC.x,pC.y)+"L"+pos(pD.x,pD.y)+"L"+pos(pL.x,pL.y)+"Z"};var pathDescendant=function(d){var _x0=viewMapX(d.x0);var _x1=viewMapX(d.x1);var _y0=viewMapY(d.y0);var _y1=viewMapY(d.y1);var dx=_x1-_x0;var dy=_y1-_y0;if(!dx||!dy)return"";var FILLET=0;var r=dx>2*FILLET&&dy>2*FILLET?FILLET:0;var arc=function(rx,ry){return r?"a"+pos(r,r)+" 0 0 1 "+pos(rx,ry):""};return"M"+pos(_x0,_y0+r)+arc(r,-r)+"L"+pos(_x1-r,_y0)+arc(r,r)+"L"+pos(_x1,_y1-r)+arc(-r,r)+"L"+pos(_x0+r,_y1)+arc(-r,-r)+"Z"};var toMoveInsideSlice=function(pt,opts){var x0=pt.x0;var x1=pt.x1;var y0=pt.y0;var y1=pt.y1;var textBB=pt.textBB;var hasFlag=function(f){return trace.textposition.indexOf(f)!==-1};var hasBottom=hasFlag("bottom");var hasTop=hasFlag("top")||opts.isHeader&&!hasBottom;var anchor=hasTop?"start":hasBottom?"end":"middle";var hasRight=hasFlag("right");var hasLeft=hasFlag("left")||opts.onPathbar;var leftToRight=hasLeft?-1:hasRight?1:0;var pad=trace[isIcicle?"tiling":"marker"].pad;if(opts.isHeader){x0+=(isIcicle?pad:pad.l)-TEXTPAD;x1-=(isIcicle?pad:pad.r)-TEXTPAD;if(x0>=x1){var mid=(x0+x1)/2;x0=mid;x1=mid}var limY;if(hasBottom){limY=y1-(isIcicle?pad:pad.b);if(y0<limY&&limY<y1)y0=limY}else{limY=y0+(isIcicle?pad:pad.t);if(y0<limY&&limY<y1)y1=limY}}var transform=toMoveInsideBar(x0,x1,y0,y1,textBB,{isHorizontal:false,constrained:true,angle:0,anchor:anchor,leftToRight:leftToRight});transform.fontSize=opts.fontSize;transform.targetX=viewMapX(transform.targetX);transform.targetY=viewMapY(transform.targetY);if(isNaN(transform.targetX)||isNaN(transform.targetY)){return{}}if(x0!==x1&&y0!==y1){recordMinTextSize(trace.type,transform,fullLayout)}return{scale:transform.scale,rotate:transform.rotate,textX:transform.textX,textY:transform.textY,anchorX:transform.anchorX,anchorY:transform.anchorY,targetX:transform.targetX,targetY:transform.targetY}};var interpFromParent=function(pt,onPathbar){var parentPrev;var i=0;var Q=pt;while(!parentPrev&&i<maxDepth){i++;Q=Q.parent;if(Q){parentPrev=getPrev(Q,onPathbar)}else i=maxDepth}return parentPrev||{}};var makeExitSliceInterpolator=function(pt,onPathbar,refRect,size){var prev=getPrev(pt,onPathbar);var next;if(onPathbar){next=pathbarOrigin}else{var entryPrev=getPrev(entry,onPathbar);if(entryPrev){next=findClosestEdge(pt,entryPrev,size)}else{next={}}}return interpolate(prev,next)};var makeUpdateSliceInterpolator=function(pt,onPathbar,refRect,size,opts){var prev0=getPrev(pt,onPathbar);var prev;if(prev0){prev=prev0}else{if(onPathbar){prev=pathbarOrigin}else{if(prevEntry){if(pt.parent){var ref=nextOfPrevEntry||refRect;if(ref&&!onPathbar){prev=findClosestEdge(pt,ref,size)}else{prev={};Lib.extendFlat(prev,interpFromParent(pt,onPathbar))}}else{prev=Lib.extendFlat({},pt);if(isIcicle){if(opts.orientation==="h"){if(opts.flipX)prev.x0=pt.x1;else prev.x1=0}else{if(opts.flipY)prev.y0=pt.y1;else prev.y1=0}}}}else{prev={}}}}return interpolate(prev,{x0:pt.x0,x1:pt.x1,y0:pt.y0,y1:pt.y1})};var makeUpdateTextInterpolator=function(pt,onPathbar,refRect,size){var prev0=getPrev(pt,onPathbar);var prev={};var origin=getOrigin(pt,onPathbar,refRect,size);Lib.extendFlat(prev,{transform:toMoveInsideSlice({x0:origin.x0,x1:origin.x1,y0:origin.y0,y1:origin.y1,textBB:pt.textBB,_text:pt._text},{isHeader:helpers.isHeader(pt,trace)})});if(prev0){prev=prev0}else{if(pt.parent){Lib.extendFlat(prev,interpFromParent(pt,onPathbar))}}var transform=pt.transform;if(pt.x0!==pt.x1&&pt.y0!==pt.y1){recordMinTextSize(trace.type,transform,fullLayout)}return interpolate(prev,{transform:{scale:transform.scale,rotate:transform.rotate,textX:transform.textX,textY:transform.textY,anchorX:transform.anchorX,anchorY:transform.anchorY,targetX:transform.targetX,targetY:transform.targetY}})};var handleSlicesExit=function(slices,onPathbar,refRect,size,pathSlice){var width=size[0];var height=size[1];if(hasTransition){slices.exit().transition().each((function(){var sliceTop=d3.select(this);var slicePath=sliceTop.select("path.surface");slicePath.transition().attrTween("d",(function(pt2){var interp=makeExitSliceInterpolator(pt2,onPathbar,refRect,[width,height]);return function(t){return pathSlice(interp(t))}}));var sliceTextGroup=sliceTop.select("g.slicetext");sliceTextGroup.attr("opacity",0)})).remove()}else{slices.exit().remove()}};var strTransform=function(d){var transform=d.transform;if(d.x0!==d.x1&&d.y0!==d.y1){recordMinTextSize(trace.type,transform,fullLayout)}return Lib.getTextTransform({textX:transform.textX,textY:transform.textY,anchorX:transform.anchorX,anchorY:transform.anchorY,targetX:transform.targetX,targetY:transform.targetY,scale:transform.scale,rotate:transform.rotate})};if(hasTransition){selAncestors.each((function(pt){prevLookupPathbar[getKey(pt)]={x0:pt.x0,x1:pt.x1,y0:pt.y0,y1:pt.y1};if(pt.transform){prevLookupPathbar[getKey(pt)].transform={textX:pt.transform.textX,textY:pt.transform.textY,anchorX:pt.transform.anchorX,anchorY:pt.transform.anchorY,targetX:pt.transform.targetX,targetY:pt.transform.targetY,scale:pt.transform.scale,rotate:pt.transform.rotate}}}));selDescendants.each((function(pt){prevLookupSlices[getKey(pt)]={x0:pt.x0,x1:pt.x1,y0:pt.y0,y1:pt.y1};if(pt.transform){prevLookupSlices[getKey(pt)].transform={textX:pt.transform.textX,textY:pt.transform.textY,anchorX:pt.transform.anchorX,anchorY:pt.transform.anchorY,targetX:pt.transform.targetX,targetY:pt.transform.targetY,scale:pt.transform.scale,rotate:pt.transform.rotate}}if(!prevEntry&&helpers.isEntry(pt)){prevEntry=pt}}))}nextOfPrevEntry=drawDescendants(gd,cd,entry,selDescendants,{width:vpw,height:vph,viewX:viewMapX,viewY:viewMapY,pathSlice:pathDescendant,toMoveInsideSlice:toMoveInsideSlice,prevEntry:prevEntry,makeUpdateSliceInterpolator:makeUpdateSliceInterpolator,makeUpdateTextInterpolator:makeUpdateTextInterpolator,handleSlicesExit:handleSlicesExit,hasTransition:hasTransition,strTransform:strTransform});if(trace.pathbar.visible){drawAncestors(gd,cd,entry,selAncestors,{barDifY:barDifY,width:barW,height:barH,viewX:viewBarX,viewY:viewBarY,pathSlice:pathAncestor,toMoveInsideSlice:toMoveInsideSlice,makeUpdateSliceInterpolator:makeUpdateSliceInterpolator,makeUpdateTextInterpolator:makeUpdateTextInterpolator,handleSlicesExit:handleSlicesExit,hasTransition:hasTransition,strTransform:strTransform})}else{selAncestors.remove()}}},{"../../lib":803,"../bar/constants":943,"../bar/plot":952,"../bar/uniform_text":957,"../sunburst/helpers":1336,"./constants":1359,"./draw_ancestors":1362,"@plotly/d3":58,"d3-interpolate":171}],1371:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../../components/color");var Lib=_dereq_("../../lib");var helpers=_dereq_("../sunburst/helpers");var resizeText=_dereq_("../bar/uniform_text").resizeText;function style(gd){var s=gd._fullLayout._treemaplayer.selectAll(".trace");resizeText(gd,s,"treemap");s.each((function(cd){var gTrace=d3.select(this);var cd0=cd[0];var trace=cd0.trace;gTrace.style("opacity",trace.opacity);gTrace.selectAll("path.surface").each((function(pt){d3.select(this).call(styleOne,pt,trace,{hovered:false})}))}))}function styleOne(s,pt,trace,opts){var hovered=(opts||{}).hovered;var cdi=pt.data.data;var ptNumber=cdi.i;var lineColor;var lineWidth;var fillColor=cdi.color;var isRoot=helpers.isHierarchyRoot(pt);var opacity=1;if(hovered){lineColor=trace._hovered.marker.line.color;lineWidth=trace._hovered.marker.line.width}else{if(isRoot&&fillColor===trace.root.color){opacity=100;lineColor="rgba(0,0,0,0)";lineWidth=0}else{lineColor=Lib.castOption(trace,ptNumber,"marker.line.color")||Color.defaultLine;lineWidth=Lib.castOption(trace,ptNumber,"marker.line.width")||0;if(!trace._hasColorscale&&!pt.onPathbar){var depthfade=trace.marker.depthfade;if(depthfade){var fadedColor=Color.combine(Color.addOpacity(trace._backgroundColor,.75),fillColor);var n;if(depthfade===true){var maxDepth=helpers.getMaxDepth(trace);if(isFinite(maxDepth)){if(helpers.isLeaf(pt)){n=0}else{n=trace._maxVisibleLayers-(pt.data.depth-trace._entryDepth)}}else{n=pt.data.height+1}}else{n=pt.data.depth-trace._entryDepth;if(!trace._atRootLevel)n++}if(n>0){for(var i=0;i<n;i++){var ratio=.5*i/n;fillColor=Color.combine(Color.addOpacity(fadedColor,ratio),fillColor)}}}}}}s.style("stroke-width",lineWidth).call(Color.fill,fillColor).call(Color.stroke,lineColor).style("opacity",opacity)}module.exports={style:style,styleOne:styleOne}},{"../../components/color":666,"../../lib":803,"../bar/uniform_text":957,"../sunburst/helpers":1336,"@plotly/d3":58}],1372:[function(_dereq_,module,exports){"use strict";var boxAttrs=_dereq_("../box/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;module.exports={y:boxAttrs.y,x:boxAttrs.x,x0:boxAttrs.x0,y0:boxAttrs.y0,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),name:extendFlat({},boxAttrs.name,{}),orientation:extendFlat({},boxAttrs.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:boxAttrs.fillcolor,points:extendFlat({},boxAttrs.boxpoints,{}),jitter:extendFlat({},boxAttrs.jitter,{}),pointpos:extendFlat({},boxAttrs.pointpos,{}),width:extendFlat({},boxAttrs.width,{}),marker:boxAttrs.marker,text:boxAttrs.text,hovertext:boxAttrs.hovertext,hovertemplate:boxAttrs.hovertemplate,box:{visible:{valType:"boolean",dflt:false,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:false,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:boxAttrs.offsetgroup,alignmentgroup:boxAttrs.alignmentgroup,selected:boxAttrs.selected,unselected:boxAttrs.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},{"../../lib/extend":793,"../../plots/cartesian/axis_format_attributes":857,"../box/attributes":966}],1373:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var boxCalc=_dereq_("../box/calc");var helpers=_dereq_("./helpers");var BADNUM=_dereq_("../../constants/numerical").BADNUM;module.exports=function calc(gd,trace){var cd=boxCalc(gd,trace);if(cd[0].t.empty)return cd;var fullLayout=gd._fullLayout;var valAxis=Axes.getFromId(gd,trace[trace.orientation==="h"?"xaxis":"yaxis"]);var spanMin=Infinity;var spanMax=-Infinity;var maxKDE=0;var maxCount=0;for(var i=0;i<cd.length;i++){var cdi=cd[i];var vals=cdi.pts.map(helpers.extractVal);var bandwidth=cdi.bandwidth=calcBandwidth(trace,cdi,vals);var span=cdi.span=calcSpan(trace,cdi,valAxis,bandwidth);if(cdi.min===cdi.max&&bandwidth===0){span=cdi.span=[cdi.min,cdi.max];cdi.density=[{v:1,t:span[0]}];cdi.bandwidth=bandwidth;maxKDE=Math.max(maxKDE,1)}else{var dist=span[1]-span[0];var n=Math.ceil(dist/(bandwidth/3));var step=dist/n;if(!isFinite(step)||!isFinite(n)){Lib.error("Something went wrong with computing the violin span");cd[0].t.empty=true;return cd}var kde=helpers.makeKDE(cdi,trace,vals);cdi.density=new Array(n);for(var k=0,t=span[0];t<span[1]+step/2;k++,t+=step){var v=kde(t);cdi.density[k]={v:v,t:t};maxKDE=Math.max(maxKDE,v)}}maxCount=Math.max(maxCount,vals.length);spanMin=Math.min(spanMin,span[0]);spanMax=Math.max(spanMax,span[1])}var extremes=Axes.findExtremes(valAxis,[spanMin,spanMax],{padded:true});trace._extremes[valAxis._id]=extremes;if(trace.width){cd[0].t.maxKDE=maxKDE}else{var violinScaleGroupStats=fullLayout._violinScaleGroupStats;var scaleGroup=trace.scalegroup;var groupStats=violinScaleGroupStats[scaleGroup];if(groupStats){groupStats.maxKDE=Math.max(groupStats.maxKDE,maxKDE);groupStats.maxCount=Math.max(groupStats.maxCount,maxCount)}else{violinScaleGroupStats[scaleGroup]={maxKDE:maxKDE,maxCount:maxCount}}}cd[0].t.labels.kde=Lib._(gd,"kde:");return cd};function silvermanRule(len,ssd,iqr){var a=Math.min(ssd,iqr/1.349);return 1.059*a*Math.pow(len,-.2)}function calcBandwidth(trace,cdi,vals){var span=cdi.max-cdi.min;if(!span){if(trace.bandwidth){return trace.bandwidth}else{return 0}}if(trace.bandwidth){return Math.max(trace.bandwidth,span/1e4)}else{var len=vals.length;var ssd=Lib.stdev(vals,len-1,cdi.mean);return Math.max(silvermanRule(len,ssd,cdi.q3-cdi.q1),span/100)}}function calcSpan(trace,cdi,valAxis,bandwidth){var spanmode=trace.spanmode;var spanIn=trace.span||[];var spanTight=[cdi.min,cdi.max];var spanLoose=[cdi.min-2*bandwidth,cdi.max+2*bandwidth];var spanOut;function calcSpanItem(index){var s=spanIn[index];var sc=valAxis.type==="multicategory"?valAxis.r2c(s):valAxis.d2c(s,0,trace[cdi.valLetter+"calendar"]);return sc===BADNUM?spanLoose[index]:sc}if(spanmode==="soft"){spanOut=spanLoose}else if(spanmode==="hard"){spanOut=spanTight}else{spanOut=[calcSpanItem(0),calcSpanItem(1)]}var dummyAx={type:"linear",range:spanOut};Axes.setConvert(dummyAx);dummyAx.cleanRange();return spanOut}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/axes":854,"../box/calc":967,"./helpers":1376}],1374:[function(_dereq_,module,exports){"use strict";var setPositionOffset=_dereq_("../box/cross_trace_calc").setPositionOffset;var orientations=["v","h"];module.exports=function crossTraceCalc(gd,plotinfo){var calcdata=gd.calcdata;var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;for(var i=0;i<orientations.length;i++){var orientation=orientations[i];var posAxis=orientation==="h"?ya:xa;var violinList=[];for(var j=0;j<calcdata.length;j++){var cd=calcdata[j];var t=cd[0].t;var trace=cd[0].trace;if(trace.visible===true&&trace.type==="violin"&&!t.empty&&trace.orientation===orientation&&trace.xaxis===xa._id&&trace.yaxis===ya._id){violinList.push(j)}}setPositionOffset("violin",gd,violinList,posAxis)}}},{"../box/cross_trace_calc":968}],1375:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Color=_dereq_("../../components/color");var boxDefaults=_dereq_("../box/defaults");var attributes=_dereq_("./attributes");module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}function coerce2(attr,dflt){return Lib.coerce2(traceIn,traceOut,attributes,attr,dflt)}boxDefaults.handleSampleDefaults(traceIn,traceOut,coerce,layout);if(traceOut.visible===false)return;coerce("bandwidth");coerce("side");var width=coerce("width");if(!width){coerce("scalegroup",traceOut.name);coerce("scalemode")}var span=coerce("span");var spanmodeDflt;if(Array.isArray(span))spanmodeDflt="manual";coerce("spanmode",spanmodeDflt);var lineColor=coerce("line.color",(traceIn.marker||{}).color||defaultColor);var lineWidth=coerce("line.width");var fillColor=coerce("fillcolor",Color.addOpacity(traceOut.line.color,.5));boxDefaults.handlePointsDefaults(traceIn,traceOut,coerce,{prefix:""});var boxWidth=coerce2("box.width");var boxFillColor=coerce2("box.fillcolor",fillColor);var boxLineColor=coerce2("box.line.color",lineColor);var boxLineWidth=coerce2("box.line.width",lineWidth);var boxVisible=coerce("box.visible",Boolean(boxWidth||boxFillColor||boxLineColor||boxLineWidth));if(!boxVisible)traceOut.box={visible:false};var meanLineColor=coerce2("meanline.color",lineColor);var meanLineWidth=coerce2("meanline.width",lineWidth);var meanLineVisible=coerce("meanline.visible",Boolean(meanLineColor||meanLineWidth));if(!meanLineVisible)traceOut.meanline={visible:false}}},{"../../components/color":666,"../../lib":803,"../box/defaults":969,"./attributes":1372}],1376:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var kernels={gaussian:function(v){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*v*v)}};exports.makeKDE=function(calcItem,trace,vals){var len=vals.length;var kernel=kernels.gaussian;var bandwidth=calcItem.bandwidth;var factor=1/(len*bandwidth);return function(x){var sum=0;for(var i=0;i<len;i++){sum+=kernel((x-vals[i])/bandwidth)}return factor*sum}};exports.getPositionOnKdePath=function(calcItem,trace,valuePx){var posLetter,valLetter;if(trace.orientation==="h"){posLetter="y";valLetter="x"}else{posLetter="x";valLetter="y"}var pointOnPath=Lib.findPointOnPath(calcItem.path,valuePx,valLetter,{pathLength:calcItem.pathLength});var posCenterPx=calcItem.posCenterPx;var posOnPath0=pointOnPath[posLetter];var posOnPath1=trace.side==="both"?2*posCenterPx-posOnPath0:posCenterPx;return[posOnPath0,posOnPath1]};exports.getKdeValue=function(calcItem,trace,valueDist){var vals=calcItem.pts.map(exports.extractVal);var kde=exports.makeKDE(calcItem,trace,vals);return kde(valueDist)/calcItem.posDensityScale};exports.extractVal=function(o){return o.v}},{"../../lib":803}],1377:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var Axes=_dereq_("../../plots/cartesian/axes");var boxHoverPoints=_dereq_("../box/hover");var helpers=_dereq_("./helpers");module.exports=function hoverPoints(pointData,xval,yval,hovermode,opts){if(!opts)opts={};var hoverLayer=opts.hoverLayer;var cd=pointData.cd;var trace=cd[0].trace;var hoveron=trace.hoveron;var hasHoveronViolins=hoveron.indexOf("violins")!==-1;var hasHoveronKDE=hoveron.indexOf("kde")!==-1;var closeData=[];var closePtData;var violinLineAttrs;if(hasHoveronViolins||hasHoveronKDE){var closeBoxData=boxHoverPoints.hoverOnBoxes(pointData,xval,yval,hovermode);if(hasHoveronKDE&&closeBoxData.length>0){var xa=pointData.xa;var ya=pointData.ya;var pLetter,vLetter,pAxis,vAxis,vVal;if(trace.orientation==="h"){vVal=xval;pLetter="y";pAxis=ya;vLetter="x";vAxis=xa}else{vVal=yval;pLetter="x";pAxis=xa;vLetter="y";vAxis=ya}var di=cd[pointData.index];if(vVal>=di.span[0]&&vVal<=di.span[1]){var kdePointData=Lib.extendFlat({},pointData);var vValPx=vAxis.c2p(vVal,true);var kdeVal=helpers.getKdeValue(di,trace,vVal);var pOnPath=helpers.getPositionOnKdePath(di,trace,vValPx);var paOffset=pAxis._offset;var paLength=pAxis._length;kdePointData[pLetter+"0"]=pOnPath[0];kdePointData[pLetter+"1"]=pOnPath[1];kdePointData[vLetter+"0"]=kdePointData[vLetter+"1"]=vValPx;kdePointData[vLetter+"Label"]=vLetter+": "+Axes.hoverLabelText(vAxis,vVal,trace[vLetter+"hoverformat"])+", "+cd[0].t.labels.kde+" "+kdeVal.toFixed(3);kdePointData.spikeDistance=closeBoxData[0].spikeDistance;var spikePosAttr=pLetter+"Spike";kdePointData[spikePosAttr]=closeBoxData[0][spikePosAttr];closeBoxData[0].spikeDistance=undefined;closeBoxData[0][spikePosAttr]=undefined;kdePointData.hovertemplate=false;closeData.push(kdePointData);violinLineAttrs={stroke:pointData.color};violinLineAttrs[pLetter+"1"]=Lib.constrain(paOffset+pOnPath[0],paOffset,paOffset+paLength);violinLineAttrs[pLetter+"2"]=Lib.constrain(paOffset+pOnPath[1],paOffset,paOffset+paLength);violinLineAttrs[vLetter+"1"]=violinLineAttrs[vLetter+"2"]=vAxis._offset+vValPx}}if(hasHoveronViolins){closeData=closeData.concat(closeBoxData)}}if(hoveron.indexOf("points")!==-1){closePtData=boxHoverPoints.hoverOnPoints(pointData,xval,yval)}var violinLine=hoverLayer.selectAll(".violinline-"+trace.uid).data(violinLineAttrs?[0]:[]);violinLine.enter().append("line").classed("violinline-"+trace.uid,true).attr("stroke-width",1.5);violinLine.exit().remove();violinLine.attr(violinLineAttrs);if(hovermode==="closest"){if(closePtData)return[closePtData];return closeData}if(closePtData){closeData.push(closePtData);return closeData}return closeData}},{"../../lib":803,"../../plots/cartesian/axes":854,"../box/hover":971,"./helpers":1376}],1378:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults"),crossTraceDefaults:_dereq_("../box/defaults").crossTraceDefaults,supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc"),crossTraceCalc:_dereq_("./cross_trace_calc"),plot:_dereq_("./plot"),style:_dereq_("./style"),styleOnSelect:_dereq_("../scatter/style").styleOnSelect,hoverPoints:_dereq_("./hover"),selectPoints:_dereq_("../box/select"),moduleType:"trace",name:"violin",basePlotModule:_dereq_("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":868,"../box/defaults":969,"../box/select":976,"../scatter/style":1242,"./attributes":1372,"./calc":1373,"./cross_trace_calc":1374,"./defaults":1375,"./hover":1377,"./layout_attributes":1379,"./layout_defaults":1380,"./plot":1381,"./style":1382}],1379:[function(_dereq_,module,exports){"use strict";var boxLayoutAttrs=_dereq_("../box/layout_attributes");var extendFlat=_dereq_("../../lib").extendFlat;module.exports={violinmode:extendFlat({},boxLayoutAttrs.boxmode,{}),violingap:extendFlat({},boxLayoutAttrs.boxgap,{}),violingroupgap:extendFlat({},boxLayoutAttrs.boxgroupgap,{})}},{"../../lib":803,"../box/layout_attributes":973}],1380:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");var boxLayoutDefaults=_dereq_("../box/layout_defaults");module.exports=function supplyLayoutDefaults(layoutIn,layoutOut,fullData){function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}boxLayoutDefaults._supply(layoutIn,layoutOut,fullData,coerce,"violin")}},{"../../lib":803,"../box/layout_defaults":974,"./layout_attributes":1379}],1381:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var boxPlot=_dereq_("../box/plot");var linePoints=_dereq_("../scatter/line_points");var helpers=_dereq_("./helpers");module.exports=function plot(gd,plotinfo,cdViolins,violinLayer){var fullLayout=gd._fullLayout;var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;function makePath(pts){var segments=linePoints(pts,{xaxis:xa,yaxis:ya,connectGaps:true,baseTolerance:.75,shape:"spline",simplify:true,linearized:true});return Drawing.smoothopen(segments[0],1)}Lib.makeTraceGroups(violinLayer,cdViolins,"trace violins").each((function(cd){var plotGroup=d3.select(this);var cd0=cd[0];var t=cd0.t;var trace=cd0.trace;if(trace.visible!==true||t.empty){plotGroup.remove();return}var bPos=t.bPos;var bdPos=t.bdPos;var valAxis=plotinfo[t.valLetter+"axis"];var posAxis=plotinfo[t.posLetter+"axis"];var hasBothSides=trace.side==="both";var hasPositiveSide=hasBothSides||trace.side==="positive";var hasNegativeSide=hasBothSides||trace.side==="negative";var violins=plotGroup.selectAll("path.violin").data(Lib.identity);violins.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin");violins.exit().remove();violins.each((function(d){var pathSel=d3.select(this);var density=d.density;var len=density.length;var posCenter=posAxis.c2l(d.pos+bPos,true);var posCenterPx=posAxis.l2p(posCenter);var scale;if(trace.width){scale=t.maxKDE/bdPos}else{var groupStats=fullLayout._violinScaleGroupStats[trace.scalegroup];scale=trace.scalemode==="count"?groupStats.maxKDE/bdPos*(groupStats.maxCount/d.pts.length):groupStats.maxKDE/bdPos}var pathPos,pathNeg,path;var i,k,pts,pt;if(hasPositiveSide){pts=new Array(len);for(i=0;i<len;i++){pt=pts[i]={};pt[t.posLetter]=posCenter+density[i].v/scale;pt[t.valLetter]=valAxis.c2l(density[i].t,true)}pathPos=makePath(pts)}if(hasNegativeSide){pts=new Array(len);for(k=0,i=len-1;k<len;k++,i--){pt=pts[k]={};pt[t.posLetter]=posCenter-density[i].v/scale;pt[t.valLetter]=valAxis.c2l(density[i].t,true)}pathNeg=makePath(pts)}if(hasBothSides){path=pathPos+"L"+pathNeg.substr(1)+"Z"}else{var startPt=[posCenterPx,valAxis.c2p(density[0].t)];var endPt=[posCenterPx,valAxis.c2p(density[len-1].t)];if(trace.orientation==="h"){startPt.reverse();endPt.reverse()}if(hasPositiveSide){path="M"+startPt+"L"+pathPos.substr(1)+"L"+endPt}else{path="M"+endPt+"L"+pathNeg.substr(1)+"L"+startPt}}pathSel.attr("d",path);d.posCenterPx=posCenterPx;d.posDensityScale=scale*bdPos;d.path=pathSel.node();d.pathLength=d.path.getTotalLength()/(hasBothSides?2:1)}));var boxAttrs=trace.box;var boxWidth=boxAttrs.width;var boxLineWidth=(boxAttrs.line||{}).width;var bdPosScaled;var bPosPxOffset;if(hasBothSides){bdPosScaled=bdPos*boxWidth;bPosPxOffset=0}else if(hasPositiveSide){bdPosScaled=[0,bdPos*boxWidth/2];bPosPxOffset=boxLineWidth*{x:1,y:-1}[t.posLetter]}else{bdPosScaled=[bdPos*boxWidth/2,0];bPosPxOffset=boxLineWidth*{x:-1,y:1}[t.posLetter]}boxPlot.plotBoxAndWhiskers(plotGroup,{pos:posAxis,val:valAxis},trace,{bPos:bPos,bdPos:bdPosScaled,bPosPxOffset:bPosPxOffset});boxPlot.plotBoxMean(plotGroup,{pos:posAxis,val:valAxis},trace,{bPos:bPos,bdPos:bdPosScaled,bPosPxOffset:bPosPxOffset});var fn;if(!trace.box.visible&&trace.meanline.visible){fn=Lib.identity}var meanPaths=plotGroup.selectAll("path.meanline").data(fn||[]);meanPaths.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect","non-scaling-stroke");meanPaths.exit().remove();meanPaths.each((function(d){var v=valAxis.c2p(d.mean,true);var p=helpers.getPositionOnKdePath(d,trace,v);d3.select(this).attr("d",trace.orientation==="h"?"M"+v+","+p[0]+"V"+p[1]:"M"+p[0]+","+v+"H"+p[1])}));boxPlot.plotPoints(plotGroup,{x:xa,y:ya},trace,t)}))}},{"../../components/drawing":688,"../../lib":803,"../box/plot":975,"../scatter/line_points":1232,"./helpers":1376,"@plotly/d3":58}],1382:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Color=_dereq_("../../components/color");var stylePoints=_dereq_("../scatter/style").stylePoints;module.exports=function style(gd){var s=d3.select(gd).selectAll("g.trace.violins");s.style("opacity",(function(d){return d[0].trace.opacity}));s.each((function(d){var trace=d[0].trace;var sel=d3.select(this);var box=trace.box||{};var boxLine=box.line||{};var meanline=trace.meanline||{};var meanLineWidth=meanline.width;sel.selectAll("path.violin").style("stroke-width",trace.line.width+"px").call(Color.stroke,trace.line.color).call(Color.fill,trace.fillcolor);sel.selectAll("path.box").style("stroke-width",boxLine.width+"px").call(Color.stroke,boxLine.color).call(Color.fill,box.fillcolor);var meanLineStyle={"stroke-width":meanLineWidth+"px","stroke-dasharray":2*meanLineWidth+"px,"+meanLineWidth+"px"};sel.selectAll("path.mean").style(meanLineStyle).call(Color.stroke,meanline.color);sel.selectAll("path.meanline").style(meanLineStyle).call(Color.stroke,meanline.color);stylePoints(sel,trace,gd)}))}},{"../../components/color":666,"../scatter/style":1242,"@plotly/d3":58}],1383:[function(_dereq_,module,exports){"use strict";var colorScaleAttrs=_dereq_("../../components/colorscale/attributes");var isosurfaceAttrs=_dereq_("../isosurface/attributes");var surfaceAttrs=_dereq_("../surface/attributes");var baseAttrs=_dereq_("../../plots/attributes");var extendFlat=_dereq_("../../lib/extend").extendFlat;var overrideAll=_dereq_("../../plot_api/edit_types").overrideAll;var attrs=module.exports=overrideAll(extendFlat({x:isosurfaceAttrs.x,y:isosurfaceAttrs.y,z:isosurfaceAttrs.z,value:isosurfaceAttrs.value,isomin:isosurfaceAttrs.isomin,isomax:isosurfaceAttrs.isomax,surface:isosurfaceAttrs.surface,spaceframe:{show:{valType:"boolean",dflt:false},fill:{valType:"number",min:0,max:1,dflt:1}},slices:isosurfaceAttrs.slices,caps:isosurfaceAttrs.caps,text:isosurfaceAttrs.text,hovertext:isosurfaceAttrs.hovertext,xhoverformat:isosurfaceAttrs.xhoverformat,yhoverformat:isosurfaceAttrs.yhoverformat,zhoverformat:isosurfaceAttrs.zhoverformat,valuehoverformat:isosurfaceAttrs.valuehoverformat,hovertemplate:isosurfaceAttrs.hovertemplate},colorScaleAttrs("",{colorAttr:"`value`",showScaleDflt:true,editTypeOverride:"calc"}),{colorbar:isosurfaceAttrs.colorbar,opacity:isosurfaceAttrs.opacity,opacityscale:surfaceAttrs.opacityscale,lightposition:isosurfaceAttrs.lightposition,lighting:isosurfaceAttrs.lighting,flatshading:isosurfaceAttrs.flatshading,contour:isosurfaceAttrs.contour,hoverinfo:extendFlat({},baseAttrs.hoverinfo),showlegend:extendFlat({},baseAttrs.showlegend,{dflt:false})}),"calc","nested");attrs.x.editType=attrs.y.editType=attrs.z.editType=attrs.value.editType="calc+clearAxisTypes";attrs.transforms=undefined},{"../../components/colorscale/attributes":673,"../../lib/extend":793,"../../plot_api/edit_types":836,"../../plots/attributes":850,"../isosurface/attributes":1154,"../surface/attributes":1342}],1384:[function(_dereq_,module,exports){"use strict";var createMesh=_dereq_("gl-mesh3d");var parseColorScale=_dereq_("../../lib/gl_format_color").parseColorScale;var str2RgbaArray=_dereq_("../../lib/str2rgbarray");var extractOpts=_dereq_("../../components/colorscale").extractOpts;var zip3=_dereq_("../../plots/gl3d/zip3");var findNearestOnAxis=_dereq_("../isosurface/convert").findNearestOnAxis;var generateIsoMeshes=_dereq_("../isosurface/convert").generateIsoMeshes;function VolumeTrace(scene,mesh,uid){this.scene=scene;this.uid=uid;this.mesh=mesh;this.name="";this.data=null;this.showContour=false}var proto=VolumeTrace.prototype;proto.handlePick=function(selection){if(selection.object===this.mesh){var rawId=selection.data.index;var x=this.data._meshX[rawId];var y=this.data._meshY[rawId];var z=this.data._meshZ[rawId];var height=this.data._Ys.length;var depth=this.data._Zs.length;var i=findNearestOnAxis(x,this.data._Xs).id;var j=findNearestOnAxis(y,this.data._Ys).id;var k=findNearestOnAxis(z,this.data._Zs).id;var selectIndex=selection.index=k+depth*j+depth*height*i;selection.traceCoordinate=[this.data._meshX[selectIndex],this.data._meshY[selectIndex],this.data._meshZ[selectIndex],this.data._value[selectIndex]];var text=this.data.hovertext||this.data.text;if(Array.isArray(text)&&text[selectIndex]!==undefined){selection.textLabel=text[selectIndex]}else if(text){selection.textLabel=text}return true}};proto.update=function(data){var scene=this.scene;var layout=scene.fullSceneLayout;this.data=generateIsoMeshes(data);function toDataCoords(axis,coord,scale,calendar){return coord.map((function(x){return axis.d2l(x,0,calendar)*scale}))}var positions=zip3(toDataCoords(layout.xaxis,data._meshX,scene.dataScale[0],data.xcalendar),toDataCoords(layout.yaxis,data._meshY,scene.dataScale[1],data.ycalendar),toDataCoords(layout.zaxis,data._meshZ,scene.dataScale[2],data.zcalendar));var cells=zip3(data._meshI,data._meshJ,data._meshK);var config={positions:positions,cells:cells,lightPosition:[data.lightposition.x,data.lightposition.y,data.lightposition.z],ambient:data.lighting.ambient,diffuse:data.lighting.diffuse,specular:data.lighting.specular,roughness:data.lighting.roughness,fresnel:data.lighting.fresnel,vertexNormalsEpsilon:data.lighting.vertexnormalsepsilon,faceNormalsEpsilon:data.lighting.facenormalsepsilon,opacity:data.opacity,opacityscale:data.opacityscale,contourEnable:data.contour.show,contourColor:str2RgbaArray(data.contour.color).slice(0,3),contourWidth:data.contour.width,useFacetNormals:data.flatshading};var cOpts=extractOpts(data);config.vertexIntensity=data._meshIntensity;config.vertexIntensityBounds=[cOpts.min,cOpts.max];config.colormap=parseColorScale(data);this.mesh.update(config)};proto.dispose=function(){this.scene.glplot.remove(this.mesh);this.mesh.dispose()};function createVolumeTrace(scene,data){var gl=scene.glplot.gl;var mesh=createMesh({gl:gl});var result=new VolumeTrace(scene,mesh,data.uid);mesh._trace=result;result.update(data);scene.glplot.add(mesh);return result}module.exports=createVolumeTrace},{"../../components/colorscale":678,"../../lib/gl_format_color":799,"../../lib/str2rgbarray":828,"../../plots/gl3d/zip3":907,"../isosurface/convert":1156,"gl-mesh3d":315}],1385:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var attributes=_dereq_("./attributes");var supplyIsoDefaults=_dereq_("../isosurface/defaults").supplyIsoDefaults;var opacityscaleDefaults=_dereq_("../surface/defaults").opacityscaleDefaults;module.exports=function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}supplyIsoDefaults(traceIn,traceOut,defaultColor,layout,coerce);opacityscaleDefaults(traceIn,traceOut,layout,coerce)}},{"../../lib":803,"../isosurface/defaults":1157,"../surface/defaults":1345,"./attributes":1383}],1386:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),supplyDefaults:_dereq_("./defaults"),calc:_dereq_("../isosurface/calc"),colorbar:{min:"cmin",max:"cmax"},plot:_dereq_("./convert"),moduleType:"trace",name:"volume",basePlotModule:_dereq_("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":896,"../isosurface/calc":1155,"./attributes":1383,"./convert":1384,"./defaults":1385}],1387:[function(_dereq_,module,exports){"use strict";var barAttrs=_dereq_("../bar/attributes");var lineAttrs=_dereq_("../scatter/attributes").line;var baseAttrs=_dereq_("../../plots/attributes");var axisHoverFormat=_dereq_("../../plots/cartesian/axis_format_attributes").axisHoverFormat;var hovertemplateAttrs=_dereq_("../../plots/template_attributes").hovertemplateAttrs;var texttemplateAttrs=_dereq_("../../plots/template_attributes").texttemplateAttrs;var constants=_dereq_("./constants");var extendFlat=_dereq_("../../lib/extend").extendFlat;var Color=_dereq_("../../components/color");function directionAttrs(dirTxt){return{marker:{color:extendFlat({},barAttrs.marker.color,{arrayOk:false,editType:"style"}),line:{color:extendFlat({},barAttrs.marker.line.color,{arrayOk:false,editType:"style"}),width:extendFlat({},barAttrs.marker.line.width,{arrayOk:false,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}module.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:false,editType:"calc"},x:barAttrs.x,x0:barAttrs.x0,dx:barAttrs.dx,y:barAttrs.y,y0:barAttrs.y0,dy:barAttrs.dy,xperiod:barAttrs.xperiod,yperiod:barAttrs.yperiod,xperiod0:barAttrs.xperiod0,yperiod0:barAttrs.yperiod0,xperiodalignment:barAttrs.xperiodalignment,yperiodalignment:barAttrs.yperiodalignment,xhoverformat:axisHoverFormat("x"),yhoverformat:axisHoverFormat("y"),hovertext:barAttrs.hovertext,hovertemplate:hovertemplateAttrs({},{keys:constants.eventDataKeys}),hoverinfo:extendFlat({},baseAttrs.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:false},texttemplate:texttemplateAttrs({editType:"plot"},{keys:constants.eventDataKeys.concat(["label"])}),text:barAttrs.text,textposition:barAttrs.textposition,insidetextanchor:barAttrs.insidetextanchor,textangle:barAttrs.textangle,textfont:barAttrs.textfont,insidetextfont:barAttrs.insidetextfont,outsidetextfont:barAttrs.outsidetextfont,constraintext:barAttrs.constraintext,cliponaxis:barAttrs.cliponaxis,orientation:barAttrs.orientation,offset:barAttrs.offset,width:barAttrs.width,increasing:directionAttrs("increasing"),decreasing:directionAttrs("decreasing"),totals:directionAttrs("intermediate sums and total"),connector:{line:{color:extendFlat({},lineAttrs.color,{dflt:Color.defaultLine}),width:extendFlat({},lineAttrs.width,{editType:"plot"}),dash:lineAttrs.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:true,editType:"plot"},editType:"plot"},offsetgroup:barAttrs.offsetgroup,alignmentgroup:barAttrs.alignmentgroup}},{"../../components/color":666,"../../lib/extend":793,"../../plots/attributes":850,"../../plots/cartesian/axis_format_attributes":857,"../../plots/template_attributes":926,"../bar/attributes":941,"../scatter/attributes":1218,"./constants":1389}],1388:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../../plots/cartesian/axes");var alignPeriod=_dereq_("../../plots/cartesian/align_period");var mergeArray=_dereq_("../../lib").mergeArray;var calcSelection=_dereq_("../scatter/calc_selection");var BADNUM=_dereq_("../../constants/numerical").BADNUM;function isAbsolute(a){return a==="a"||a==="absolute"}function isTotal(a){return a==="t"||a==="total"}module.exports=function calc(gd,trace){var xa=Axes.getFromId(gd,trace.xaxis||"x");var ya=Axes.getFromId(gd,trace.yaxis||"y");var size,pos,origPos,pObj,hasPeriod,pLetter;if(trace.orientation==="h"){size=xa.makeCalcdata(trace,"x");origPos=ya.makeCalcdata(trace,"y");pObj=alignPeriod(trace,ya,"y",origPos);hasPeriod=!!trace.yperiodalignment;pLetter="y"}else{size=ya.makeCalcdata(trace,"y");origPos=xa.makeCalcdata(trace,"x");pObj=alignPeriod(trace,xa,"x",origPos);hasPeriod=!!trace.xperiodalignment;pLetter="x"}pos=pObj.vals;var serieslen=Math.min(pos.length,size.length);var cd=new Array(serieslen);var previousSum=0;var newSize;var hasTotals=false;for(var i=0;i<serieslen;i++){var amount=size[i]||0;var connectToNext=false;if(size[i]!==BADNUM||isTotal(trace.measure[i])||isAbsolute(trace.measure[i])){if(i+1<serieslen&&(size[i+1]!==BADNUM||isTotal(trace.measure[i+1])||isAbsolute(trace.measure[i+1]))){connectToNext=true}}var cdi=cd[i]={i:i,p:pos[i],s:amount,rawS:amount,cNext:connectToNext};if(isAbsolute(trace.measure[i])){previousSum=cdi.s;cdi.isSum=true;cdi.dir="totals";cdi.s=previousSum}else if(isTotal(trace.measure[i])){cdi.isSum=true;cdi.dir="totals";cdi.s=previousSum}else{cdi.isSum=false;cdi.dir=cdi.rawS<0?"decreasing":"increasing";newSize=cdi.s;cdi.s=previousSum+newSize;previousSum+=newSize}if(cdi.dir==="totals"){hasTotals=true}if(hasPeriod){cd[i].orig_p=origPos[i];cd[i][pLetter+"End"]=pObj.ends[i];cd[i][pLetter+"Start"]=pObj.starts[i]}if(trace.ids){cdi.id=String(trace.ids[i])}cdi.v=(trace.base||0)+previousSum}if(cd.length)cd[0].hasTotals=hasTotals;mergeArray(trace.text,cd,"tx");mergeArray(trace.hovertext,cd,"htx");calcSelection(cd,trace);return cd}},{"../../constants/numerical":779,"../../lib":803,"../../plots/cartesian/align_period":851,"../../plots/cartesian/axes":854,"../scatter/calc_selection":1220}],1389:[function(_dereq_,module,exports){"use strict";module.exports={eventDataKeys:["initial","delta","final"]}},{}],1390:[function(_dereq_,module,exports){"use strict";var setGroupPositions=_dereq_("../bar/cross_trace_calc").setGroupPositions;module.exports=function crossTraceCalc(gd,plotinfo){var fullLayout=gd._fullLayout;var fullData=gd._fullData;var calcdata=gd.calcdata;var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;var waterfalls=[];var waterfallsVert=[];var waterfallsHorz=[];var cd,i;for(i=0;i<fullData.length;i++){var fullTrace=fullData[i];if(fullTrace.visible===true&&fullTrace.xaxis===xa._id&&fullTrace.yaxis===ya._id&&fullTrace.type==="waterfall"){cd=calcdata[i];if(fullTrace.orientation==="h"){waterfallsHorz.push(cd)}else{waterfallsVert.push(cd)}waterfalls.push(cd)}}var opts={mode:fullLayout.waterfallmode,norm:fullLayout.waterfallnorm,gap:fullLayout.waterfallgap,groupgap:fullLayout.waterfallgroupgap};setGroupPositions(gd,xa,ya,waterfallsVert,opts);setGroupPositions(gd,ya,xa,waterfallsHorz,opts);for(i=0;i<waterfalls.length;i++){cd=waterfalls[i];for(var j=0;j<cd.length;j++){var di=cd[j];if(di.isSum===false){di.s0+=j===0?0:cd[j-1].s}if(j+1<cd.length){cd[j].nextP0=cd[j+1].p0;cd[j].nextS0=cd[j+1].s0}}}}},{"../bar/cross_trace_calc":944}],1391:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var handleGroupingDefaults=_dereq_("../bar/defaults").handleGroupingDefaults;var handleText=_dereq_("../bar/defaults").handleText;var handleXYDefaults=_dereq_("../scatter/xy_defaults");var handlePeriodDefaults=_dereq_("../scatter/period_defaults");var attributes=_dereq_("./attributes");var Color=_dereq_("../../components/color");var delta=_dereq_("../../constants/delta.js");var INCREASING_COLOR=delta.INCREASING.COLOR;var DECREASING_COLOR=delta.DECREASING.COLOR;var TOTALS_COLOR="#4499FF";function handleDirection(coerce,direction,defaultColor){coerce(direction+".marker.color",defaultColor);coerce(direction+".marker.line.color",Color.defaultLine);coerce(direction+".marker.line.width")}function supplyDefaults(traceIn,traceOut,defaultColor,layout){function coerce(attr,dflt){return Lib.coerce(traceIn,traceOut,attributes,attr,dflt)}var len=handleXYDefaults(traceIn,traceOut,layout,coerce);if(!len){traceOut.visible=false;return}handlePeriodDefaults(traceIn,traceOut,layout,coerce);coerce("xhoverformat");coerce("yhoverformat");coerce("measure");coerce("orientation",traceOut.x&&!traceOut.y?"h":"v");coerce("base");coerce("offset");coerce("width");coerce("text");coerce("hovertext");coerce("hovertemplate");var textposition=coerce("textposition");handleText(traceIn,traceOut,layout,coerce,textposition,{moduleHasSelected:false,moduleHasUnselected:false,moduleHasConstrain:true,moduleHasCliponaxis:true,moduleHasTextangle:true,moduleHasInsideanchor:true});if(traceOut.textposition!=="none"){coerce("texttemplate");if(!traceOut.texttemplate)coerce("textinfo")}handleDirection(coerce,"increasing",INCREASING_COLOR);handleDirection(coerce,"decreasing",DECREASING_COLOR);handleDirection(coerce,"totals",TOTALS_COLOR);var connectorVisible=coerce("connector.visible");if(connectorVisible){coerce("connector.mode");var connectorLineWidth=coerce("connector.line.width");if(connectorLineWidth){coerce("connector.line.color");coerce("connector.line.dash")}}}function crossTraceDefaults(fullData,fullLayout){var traceIn,traceOut;function coerce(attr){return Lib.coerce(traceOut._input,traceOut,attributes,attr)}if(fullLayout.waterfallmode==="group"){for(var i=0;i<fullData.length;i++){traceOut=fullData[i];traceIn=traceOut._input;handleGroupingDefaults(traceIn,traceOut,fullLayout,coerce)}}}module.exports={supplyDefaults:supplyDefaults,crossTraceDefaults:crossTraceDefaults}},{"../../components/color":666,"../../constants/delta.js":773,"../../lib":803,"../bar/defaults":945,"../scatter/period_defaults":1238,"../scatter/xy_defaults":1245,"./attributes":1387}],1392:[function(_dereq_,module,exports){"use strict";module.exports=function eventData(out,pt){out.x="xVal"in pt?pt.xVal:pt.x;out.y="yVal"in pt?pt.yVal:pt.y;if("initial"in pt)out.initial=pt.initial;if("delta"in pt)out.delta=pt.delta;if("final"in pt)out.final=pt.final;if(pt.xa)out.xaxis=pt.xa;if(pt.ya)out.yaxis=pt.ya;return out}},{}],1393:[function(_dereq_,module,exports){"use strict";var hoverLabelText=_dereq_("../../plots/cartesian/axes").hoverLabelText;var opacity=_dereq_("../../components/color").opacity;var hoverOnBars=_dereq_("../bar/hover").hoverOnBars;var delta=_dereq_("../../constants/delta.js");var DIRSYMBOL={increasing:delta.INCREASING.SYMBOL,decreasing:delta.DECREASING.SYMBOL};module.exports=function hoverPoints(pointData,xval,yval,hovermode,opts){var point=hoverOnBars(pointData,xval,yval,hovermode,opts);if(!point)return;var cd=point.cd;var trace=cd[0].trace;var isHorizontal=trace.orientation==="h";var vLetter=isHorizontal?"x":"y";var vAxis=isHorizontal?pointData.xa:pointData.ya;function formatNumber(a){return hoverLabelText(vAxis,a,trace[vLetter+"hoverformat"])}var index=point.index;var di=cd[index];var size=di.isSum?di.b+di.s:di.rawS;if(!di.isSum){point.initial=di.b+di.s-size;point.delta=size;point.final=point.initial+point.delta;var v=formatNumber(Math.abs(point.delta));point.deltaLabel=size<0?"("+v+")":v;point.finalLabel=formatNumber(point.final);point.initialLabel=formatNumber(point.initial)}var hoverinfo=di.hi||trace.hoverinfo;var text=[];if(hoverinfo&&hoverinfo!=="none"&&hoverinfo!=="skip"){var isAll=hoverinfo==="all";var parts=hoverinfo.split("+");var hasFlag=function(flag){return isAll||parts.indexOf(flag)!==-1};if(!di.isSum){if(hasFlag("final")&&(isHorizontal?!hasFlag("x"):!hasFlag("y"))){text.push(point.finalLabel)}if(hasFlag("delta")){if(size<0){text.push(point.deltaLabel+" "+DIRSYMBOL.decreasing)}else{text.push(point.deltaLabel+" "+DIRSYMBOL.increasing)}}if(hasFlag("initial")){text.push("Initial: "+point.initialLabel)}}}if(text.length)point.extraText=text.join("<br>");point.color=getTraceColor(trace,di);return[point]};function getTraceColor(trace,di){var cont=trace[di.dir].marker;var mc=cont.color;var mlc=cont.line.color;var mlw=cont.line.width;if(opacity(mc))return mc;else if(opacity(mlc)&&mlw)return mlc}},{"../../components/color":666,"../../constants/delta.js":773,"../../plots/cartesian/axes":854,"../bar/hover":948}],1394:[function(_dereq_,module,exports){"use strict";module.exports={attributes:_dereq_("./attributes"),layoutAttributes:_dereq_("./layout_attributes"),supplyDefaults:_dereq_("./defaults").supplyDefaults,crossTraceDefaults:_dereq_("./defaults").crossTraceDefaults,supplyLayoutDefaults:_dereq_("./layout_defaults"),calc:_dereq_("./calc"),crossTraceCalc:_dereq_("./cross_trace_calc"),plot:_dereq_("./plot"),style:_dereq_("./style").style,hoverPoints:_dereq_("./hover"),eventData:_dereq_("./event_data"),selectPoints:_dereq_("../bar/select"),moduleType:"trace",name:"waterfall",basePlotModule:_dereq_("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":868,"../bar/select":953,"./attributes":1387,"./calc":1388,"./cross_trace_calc":1390,"./defaults":1391,"./event_data":1392,"./hover":1393,"./layout_attributes":1395,"./layout_defaults":1396,"./plot":1397,"./style":1398}],1395:[function(_dereq_,module,exports){"use strict";module.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1396:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../../lib");var layoutAttributes=_dereq_("./layout_attributes");module.exports=function(layoutIn,layoutOut,fullData){var hasTraceType=false;function coerce(attr,dflt){return Lib.coerce(layoutIn,layoutOut,layoutAttributes,attr,dflt)}for(var i=0;i<fullData.length;i++){var trace=fullData[i];if(trace.visible&&trace.type==="waterfall"){hasTraceType=true;break}}if(hasTraceType){coerce("waterfallmode");coerce("waterfallgap",.2);coerce("waterfallgroupgap")}}},{"../../lib":803,"./layout_attributes":1395}],1397:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Lib=_dereq_("../../lib");var Drawing=_dereq_("../../components/drawing");var BADNUM=_dereq_("../../constants/numerical").BADNUM;var barPlot=_dereq_("../bar/plot");var clearMinTextSize=_dereq_("../bar/uniform_text").clearMinTextSize;module.exports=function plot(gd,plotinfo,cdModule,traceLayer){var fullLayout=gd._fullLayout;clearMinTextSize("waterfall",fullLayout);barPlot.plot(gd,plotinfo,cdModule,traceLayer,{mode:fullLayout.waterfallmode,norm:fullLayout.waterfallmode,gap:fullLayout.waterfallgap,groupgap:fullLayout.waterfallgroupgap});plotConnectors(gd,plotinfo,cdModule,traceLayer)};function plotConnectors(gd,plotinfo,cdModule,traceLayer){var xa=plotinfo.xaxis;var ya=plotinfo.yaxis;Lib.makeTraceGroups(traceLayer,cdModule,"trace bars").each((function(cd){var plotGroup=d3.select(this);var trace=cd[0].trace;var group=Lib.ensureSingle(plotGroup,"g","lines");if(!trace.connector||!trace.connector.visible){group.remove();return}var isHorizontal=trace.orientation==="h";var mode=trace.connector.mode;var connectors=group.selectAll("g.line").data(Lib.identity);connectors.enter().append("g").classed("line",true);connectors.exit().remove();var len=connectors.size();connectors.each((function(di,i){if(i!==len-1&&!di.cNext)return;var xy=getXY(di,xa,ya,isHorizontal);var x=xy[0];var y=xy[1];var shape="";if(x[0]!==BADNUM&&y[0]!==BADNUM&&x[1]!==BADNUM&&y[1]!==BADNUM){if(mode==="spanning"){if(!di.isSum&&i>0){if(isHorizontal){shape+="M"+x[0]+","+y[1]+"V"+y[0]}else{shape+="M"+x[1]+","+y[0]+"H"+x[0]}}}if(mode!=="between"){if(di.isSum||i<len-1){if(isHorizontal){shape+="M"+x[1]+","+y[0]+"V"+y[1]}else{shape+="M"+x[0]+","+y[1]+"H"+x[1]}}}if(x[2]!==BADNUM&&y[2]!==BADNUM){if(isHorizontal){shape+="M"+x[1]+","+y[1]+"V"+y[2]}else{shape+="M"+x[1]+","+y[1]+"H"+x[2]}}}if(shape==="")shape="M0,0Z";Lib.ensureSingle(d3.select(this),"path").attr("d",shape).call(Drawing.setClipUrl,plotinfo.layerClipId,gd)}))}))}function getXY(di,xa,ya,isHorizontal){var s=[];var p=[];var sAxis=isHorizontal?xa:ya;var pAxis=isHorizontal?ya:xa;s[0]=sAxis.c2p(di.s0,true);p[0]=pAxis.c2p(di.p0,true);s[1]=sAxis.c2p(di.s1,true);p[1]=pAxis.c2p(di.p1,true);s[2]=sAxis.c2p(di.nextS0,true);p[2]=pAxis.c2p(di.nextP0,true);return isHorizontal?[s,p]:[p,s]}},{"../../components/drawing":688,"../../constants/numerical":779,"../../lib":803,"../bar/plot":952,"../bar/uniform_text":957,"@plotly/d3":58}],1398:[function(_dereq_,module,exports){"use strict";var d3=_dereq_("@plotly/d3");var Drawing=_dereq_("../../components/drawing");var Color=_dereq_("../../components/color");var DESELECTDIM=_dereq_("../../constants/interactions").DESELECTDIM;var barStyle=_dereq_("../bar/style");var resizeText=_dereq_("../bar/uniform_text").resizeText;var styleTextPoints=barStyle.styleTextPoints;function style(gd,cd,sel){var s=sel?sel:d3.select(gd).selectAll("g.waterfalllayer").selectAll("g.trace");resizeText(gd,s,"waterfall");s.style("opacity",(function(d){return d[0].trace.opacity}));s.each((function(d){var gTrace=d3.select(this);var trace=d[0].trace;gTrace.selectAll(".point > path").each((function(di){if(!di.isBlank){var cont=trace[di.dir].marker;d3.select(this).call(Color.fill,cont.color).call(Color.stroke,cont.line.color).call(Drawing.dashLine,cont.line.dash,cont.line.width).style("opacity",trace.selectedpoints&&!di.selected?DESELECTDIM:1)}}));styleTextPoints(gTrace,trace,gd);gTrace.selectAll(".lines").each((function(){var cont=trace.connector.line;Drawing.lineGroupStyle(d3.select(this).selectAll("path"),cont.width,cont.color,cont.dash)}))}))}module.exports={style:style}},{"../../components/color":666,"../../components/drawing":688,"../../constants/interactions":778,"../bar/style":955,"../bar/uniform_text":957,"@plotly/d3":58}],1399:[function(_dereq_,module,exports){"use strict";var Axes=_dereq_("../plots/cartesian/axes");var Lib=_dereq_("../lib");var PlotSchema=_dereq_("../plot_api/plot_schema");var pointsAccessorFunction=_dereq_("./helpers").pointsAccessorFunction;var BADNUM=_dereq_("../constants/numerical").BADNUM;exports.moduleType="transform";exports.name="aggregate";var attrs=exports.attributes={enabled:{valType:"boolean",dflt:true,editType:"calc"},groups:{valType:"string",strict:true,noBlank:true,arrayOk:true,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:true,editType:"calc"},editType:"calc"},editType:"calc"};var aggAttrs=attrs.aggregations;exports.supplyDefaults=function(transformIn,traceOut){var transformOut={};var i;function coerce(attr,dflt){return Lib.coerce(transformIn,transformOut,attrs,attr,dflt)}var enabled=coerce("enabled");if(!enabled)return transformOut;var arrayAttrArray=PlotSchema.findArrayAttributes(traceOut);var arrayAttrs={};for(i=0;i<arrayAttrArray.length;i++)arrayAttrs[arrayAttrArray[i]]=1;var groups=coerce("groups");if(!Array.isArray(groups)){if(!arrayAttrs[groups]){transformOut.enabled=false;return transformOut}arrayAttrs[groups]=0}var aggregationsIn=transformIn.aggregations||[];var aggregationsOut=transformOut.aggregations=new Array(aggregationsIn.length);var aggregationOut;function coercei(attr,dflt){return Lib.coerce(aggregationsIn[i],aggregationOut,aggAttrs,attr,dflt)}for(i=0;i<aggregationsIn.length;i++){aggregationOut={_index:i};var target=coercei("target");var func=coercei("func");var enabledi=coercei("enabled");if(enabledi&&target&&(arrayAttrs[target]||func==="count"&&arrayAttrs[target]===undefined)){if(func==="stddev")coercei("funcmode");arrayAttrs[target]=0;aggregationsOut[i]=aggregationOut}else aggregationsOut[i]={enabled:false,_index:i}}for(i=0;i<arrayAttrArray.length;i++){if(arrayAttrs[arrayAttrArray[i]]){aggregationsOut.push({target:arrayAttrArray[i],func:aggAttrs.func.dflt,enabled:true,_index:-1})}}return transformOut};exports.calcTransform=function(gd,trace,opts){if(!opts.enabled)return;var groups=opts.groups;var groupArray=Lib.getTargetArray(trace,{target:groups});if(!groupArray)return;var i,vi,groupIndex,newGrouping;var groupIndices={};var indexToPoints={};var groupings=[];var originalPointsAccessor=pointsAccessorFunction(trace.transforms,opts);var len=groupArray.length;if(trace._length)len=Math.min(len,trace._length);for(i=0;i<len;i++){vi=groupArray[i];groupIndex=groupIndices[vi];if(groupIndex===undefined){groupIndices[vi]=groupings.length;newGrouping=[i];groupings.push(newGrouping);indexToPoints[groupIndices[vi]]=originalPointsAccessor(i)}else{groupings[groupIndex].push(i);indexToPoints[groupIndices[vi]]=(indexToPoints[groupIndices[vi]]||[]).concat(originalPointsAccessor(i))}}opts._indexToPoints=indexToPoints;var aggregations=opts.aggregations;for(i=0;i<aggregations.length;i++){aggregateOneArray(gd,trace,groupings,aggregations[i])}if(typeof groups==="string"){aggregateOneArray(gd,trace,groupings,{target:groups,func:"first",enabled:true})}trace._length=groupings.length};function aggregateOneArray(gd,trace,groupings,aggregation){if(!aggregation.enabled)return;var attr=aggregation.target;var targetNP=Lib.nestedProperty(trace,attr);var arrayIn=targetNP.get();var conversions=Axes.getDataConversions(gd,trace,attr,arrayIn);var func=getAggregateFunction(aggregation,conversions);var arrayOut=new Array(groupings.length);for(var i=0;i<groupings.length;i++){arrayOut[i]=func(arrayIn,groupings[i])}targetNP.set(arrayOut);if(aggregation.func==="count"){Lib.pushUnique(trace._arrayAttrs,attr)}}function getAggregateFunction(opts,conversions){var func=opts.func;var d2c=conversions.d2c;var c2d=conversions.c2d;switch(func){case"count":return count;case"first":return first;case"last":return last;case"sum":return function(array,indices){var total=0;for(var i=0;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM)total+=vi}return c2d(total)};case"avg":return function(array,indices){var total=0;var cnt=0;for(var i=0;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM){total+=vi;cnt++}}return cnt?c2d(total/cnt):BADNUM};case"min":return function(array,indices){var out=Infinity;for(var i=0;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM)out=Math.min(out,vi)}return out===Infinity?BADNUM:c2d(out)};case"max":return function(array,indices){var out=-Infinity;for(var i=0;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM)out=Math.max(out,vi)}return out===-Infinity?BADNUM:c2d(out)};case"range":return function(array,indices){var min=Infinity;var max=-Infinity;for(var i=0;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM){min=Math.min(min,vi);max=Math.max(max,vi)}}return max===-Infinity||min===Infinity?BADNUM:c2d(max-min)};case"change":return function(array,indices){var first=d2c(array[indices[0]]);var last=d2c(array[indices[indices.length-1]]);return first===BADNUM||last===BADNUM?BADNUM:c2d(last-first)};case"median":return function(array,indices){var sortCalc=[];for(var i=0;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM)sortCalc.push(vi)}if(!sortCalc.length)return BADNUM;sortCalc.sort(Lib.sorterAsc);var mid=(sortCalc.length-1)/2;return c2d((sortCalc[Math.floor(mid)]+sortCalc[Math.ceil(mid)])/2)};case"mode":return function(array,indices){var counts={};var maxCnt=0;var out=BADNUM;for(var i=0;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM){var counti=counts[vi]=(counts[vi]||0)+1;if(counti>maxCnt){maxCnt=counti;out=vi}}}return maxCnt?c2d(out):BADNUM};case"rms":return function(array,indices){var total=0;var cnt=0;for(var i=0;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM){total+=vi*vi;cnt++}}return cnt?c2d(Math.sqrt(total/cnt)):BADNUM};case"stddev":return function(array,indices){var total=0;var total2=0;var cnt=1;var v0=BADNUM;var i;for(i=0;i<indices.length&&v0===BADNUM;i++){v0=d2c(array[indices[i]])}if(v0===BADNUM)return BADNUM;for(;i<indices.length;i++){var vi=d2c(array[indices[i]]);if(vi!==BADNUM){var dv=vi-v0;total+=dv;total2+=dv*dv;cnt++}}var norm=opts.funcmode==="sample"?cnt-1:cnt;if(!norm)return 0;return Math.sqrt((total2-total*total/cnt)/norm)}}}function count(array,indices){return indices.length}function first(array,indices){return array[indices[0]]}function last(array,indices){return array[indices[indices.length-1]]}},{"../constants/numerical":779,"../lib":803,"../plot_api/plot_schema":842,"../plots/cartesian/axes":854,"./helpers":1402}],1400:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var Registry=_dereq_("../registry");var Axes=_dereq_("../plots/cartesian/axes");var pointsAccessorFunction=_dereq_("./helpers").pointsAccessorFunction;var filterOps=_dereq_("../constants/filter_ops");var COMPARISON_OPS=filterOps.COMPARISON_OPS;var INTERVAL_OPS=filterOps.INTERVAL_OPS;var SET_OPS=filterOps.SET_OPS;exports.moduleType="transform";exports.name="filter";exports.attributes={enabled:{valType:"boolean",dflt:true,editType:"calc"},target:{valType:"string",strict:true,noBlank:true,arrayOk:true,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(COMPARISON_OPS).concat(INTERVAL_OPS).concat(SET_OPS),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:false,editType:"calc"},editType:"calc"};exports.supplyDefaults=function(transformIn){var transformOut={};function coerce(attr,dflt){return Lib.coerce(transformIn,transformOut,exports.attributes,attr,dflt)}var enabled=coerce("enabled");if(enabled){var target=coerce("target");if(Lib.isArrayOrTypedArray(target)&&target.length===0){transformOut.enabled=false;return transformOut}coerce("preservegaps");coerce("operation");coerce("value");var handleCalendarDefaults=Registry.getComponentMethod("calendars","handleDefaults");handleCalendarDefaults(transformIn,transformOut,"valuecalendar",null);handleCalendarDefaults(transformIn,transformOut,"targetcalendar",null)}return transformOut};exports.calcTransform=function(gd,trace,opts){if(!opts.enabled)return;var targetArray=Lib.getTargetArray(trace,opts);if(!targetArray)return;var target=opts.target;var len=targetArray.length;if(trace._length)len=Math.min(len,trace._length);var targetCalendar=opts.targetcalendar;var arrayAttrs=trace._arrayAttrs;var preservegaps=opts.preservegaps;if(typeof target==="string"){var attrTargetCalendar=Lib.nestedProperty(trace,target+"calendar").get();if(attrTargetCalendar)targetCalendar=attrTargetCalendar}var d2c=Axes.getDataToCoordFunc(gd,trace,target,targetArray);var filterFunc=getFilterFunc(opts,d2c,targetCalendar);var originalArrays={};var indexToPoints={};var index=0;function forAllAttrs(fn,index){for(var j=0;j<arrayAttrs.length;j++){var np=Lib.nestedProperty(trace,arrayAttrs[j]);fn(np,index)}}var initFn;var fillFn;if(preservegaps){initFn=function(np){originalArrays[np.astr]=Lib.extendDeep([],np.get());np.set(new Array(len))};fillFn=function(np,index){var val=originalArrays[np.astr][index];np.get()[index]=val}}else{initFn=function(np){originalArrays[np.astr]=Lib.extendDeep([],np.get());np.set([])};fillFn=function(np,index){var val=originalArrays[np.astr][index];np.get().push(val)}}forAllAttrs(initFn);var originalPointsAccessor=pointsAccessorFunction(trace.transforms,opts);for(var i=0;i<len;i++){var passed=filterFunc(targetArray[i]);if(passed){forAllAttrs(fillFn,i);indexToPoints[index++]=originalPointsAccessor(i)}else if(preservegaps)index++}opts._indexToPoints=indexToPoints;trace._length=index};function getFilterFunc(opts,d2c,targetCalendar){var operation=opts.operation;var value=opts.value;var hasArrayValue=Array.isArray(value);function isOperationIn(array){return array.indexOf(operation)!==-1}var d2cValue=function(v){return d2c(v,0,opts.valuecalendar)};var d2cTarget=function(v){return d2c(v,0,targetCalendar)};var coercedValue;if(isOperationIn(COMPARISON_OPS)){coercedValue=hasArrayValue?d2cValue(value[0]):d2cValue(value)}else if(isOperationIn(INTERVAL_OPS)){coercedValue=hasArrayValue?[d2cValue(value[0]),d2cValue(value[1])]:[d2cValue(value),d2cValue(value)]}else if(isOperationIn(SET_OPS)){coercedValue=hasArrayValue?value.map(d2cValue):[d2cValue(value)]}switch(operation){case"=":return function(v){return d2cTarget(v)===coercedValue};case"!=":return function(v){return d2cTarget(v)!==coercedValue};case"<":return function(v){return d2cTarget(v)<coercedValue};case"<=":return function(v){return d2cTarget(v)<=coercedValue};case">":return function(v){return d2cTarget(v)>coercedValue};case">=":return function(v){return d2cTarget(v)>=coercedValue};case"[]":return function(v){var cv=d2cTarget(v);return cv>=coercedValue[0]&&cv<=coercedValue[1]};case"()":return function(v){var cv=d2cTarget(v);return cv>coercedValue[0]&&cv<coercedValue[1]};case"[)":return function(v){var cv=d2cTarget(v);return cv>=coercedValue[0]&&cv<coercedValue[1]};case"(]":return function(v){var cv=d2cTarget(v);return cv>coercedValue[0]&&cv<=coercedValue[1]};case"][":return function(v){var cv=d2cTarget(v);return cv<=coercedValue[0]||cv>=coercedValue[1]};case")(":return function(v){var cv=d2cTarget(v);return cv<coercedValue[0]||cv>coercedValue[1]};case"](":return function(v){var cv=d2cTarget(v);return cv<=coercedValue[0]||cv>coercedValue[1]};case")[":return function(v){var cv=d2cTarget(v);return cv<coercedValue[0]||cv>=coercedValue[1]};case"{}":return function(v){return coercedValue.indexOf(d2cTarget(v))!==-1};case"}{":return function(v){return coercedValue.indexOf(d2cTarget(v))===-1}}}},{"../constants/filter_ops":775,"../lib":803,"../plots/cartesian/axes":854,"../registry":931,"./helpers":1402}],1401:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var PlotSchema=_dereq_("../plot_api/plot_schema");var Plots=_dereq_("../plots/plots");var pointsAccessorFunction=_dereq_("./helpers").pointsAccessorFunction;exports.moduleType="transform";exports.name="groupby";exports.attributes={enabled:{valType:"boolean",dflt:true,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:true},editType:"calc"},editType:"calc"};exports.supplyDefaults=function(transformIn,traceOut,layout){var i;var transformOut={};function coerce(attr,dflt){return Lib.coerce(transformIn,transformOut,exports.attributes,attr,dflt)}var enabled=coerce("enabled");if(!enabled)return transformOut;coerce("groups");coerce("nameformat",layout._dataLength>1?"%{group} (%{trace})":"%{group}");var styleIn=transformIn.styles;var styleOut=transformOut.styles=[];if(styleIn){for(i=0;i<styleIn.length;i++){var thisStyle=styleOut[i]={};Lib.coerce(styleIn[i],styleOut[i],exports.attributes.styles,"target");var value=Lib.coerce(styleIn[i],styleOut[i],exports.attributes.styles,"value");if(Lib.isPlainObject(value))thisStyle.value=Lib.extendDeep({},value);else if(value)delete thisStyle.value}}return transformOut};exports.transform=function(data,state){var newTraces,i,j;var newData=[];for(i=0;i<data.length;i++){newTraces=transformOne(data[i],state);for(j=0;j<newTraces.length;j++){newData.push(newTraces[j])}}return newData};function transformOne(trace,state){var i,j,k,attr,srcArray,groupName,newTrace,transforms,arrayLookup;var groupNameObj;var opts=state.transform;var transformIndex=state.transformIndex;var groups=trace.transforms[transformIndex].groups;var originalPointsAccessor=pointsAccessorFunction(trace.transforms,opts);if(!Lib.isArrayOrTypedArray(groups)||groups.length===0){return[trace]}var groupNames=Lib.filterUnique(groups);var newData=new Array(groupNames.length);var len=groups.length;var arrayAttrs=PlotSchema.findArrayAttributes(trace);var styles=opts.styles||[];var styleLookup={};for(i=0;i<styles.length;i++){styleLookup[styles[i].target]=styles[i].value}if(opts.styles){groupNameObj=Lib.keyedContainer(opts,"styles","target","value.name")}var indexLookup={};var indexCnts={};for(i=0;i<groupNames.length;i++){groupName=groupNames[i];indexLookup[groupName]=i;indexCnts[groupName]=0;newTrace=newData[i]=Lib.extendDeepNoArrays({},trace);newTrace._group=groupName;newTrace.transforms[transformIndex]._indexToPoints={};var suppliedName=null;if(groupNameObj){suppliedName=groupNameObj.get(groupName)}if(suppliedName||suppliedName===""){newTrace.name=suppliedName}else{newTrace.name=Lib.templateString(opts.nameformat,{trace:trace.name,group:groupName})}transforms=newTrace.transforms;newTrace.transforms=[];for(j=0;j<transforms.length;j++){newTrace.transforms[j]=Lib.extendDeepNoArrays({},transforms[j])}for(j=0;j<arrayAttrs.length;j++){Lib.nestedProperty(newTrace,arrayAttrs[j]).set([])}}for(k=0;k<arrayAttrs.length;k++){attr=arrayAttrs[k];for(j=0,arrayLookup=[];j<groupNames.length;j++){arrayLookup[j]=Lib.nestedProperty(newData[j],attr).get()}srcArray=Lib.nestedProperty(trace,attr).get();for(j=0;j<len;j++){arrayLookup[indexLookup[groups[j]]].push(srcArray[j])}}for(j=0;j<len;j++){newTrace=newData[indexLookup[groups[j]]];var indexToPoints=newTrace.transforms[transformIndex]._indexToPoints;indexToPoints[indexCnts[groups[j]]]=originalPointsAccessor(j);indexCnts[groups[j]]++}for(i=0;i<groupNames.length;i++){groupName=groupNames[i];newTrace=newData[i];Plots.clearExpandedTraceDefaultColors(newTrace);newTrace=Lib.extendDeepNoArrays(newTrace,styleLookup[groupName]||{})}return newData}},{"../lib":803,"../plot_api/plot_schema":842,"../plots/plots":917,"./helpers":1402}],1402:[function(_dereq_,module,exports){"use strict";exports.pointsAccessorFunction=function(transforms,opts){var tr;var prevIndexToPoints;for(var i=0;i<transforms.length;i++){tr=transforms[i];if(tr===opts)break;if(!tr._indexToPoints||tr.enabled===false)continue;prevIndexToPoints=tr._indexToPoints}var originalPointsAccessor=prevIndexToPoints?function(i){return prevIndexToPoints[i]}:function(i){return[i]};return originalPointsAccessor}},{}],1403:[function(_dereq_,module,exports){"use strict";var Lib=_dereq_("../lib");var Axes=_dereq_("../plots/cartesian/axes");var pointsAccessorFunction=_dereq_("./helpers").pointsAccessorFunction;var BADNUM=_dereq_("../constants/numerical").BADNUM;exports.moduleType="transform";exports.name="sort";exports.attributes={enabled:{valType:"boolean",dflt:true,editType:"calc"},target:{valType:"string",strict:true,noBlank:true,arrayOk:true,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"};exports.supplyDefaults=function(transformIn){var transformOut={};function coerce(attr,dflt){return Lib.coerce(transformIn,transformOut,exports.attributes,attr,dflt)}var enabled=coerce("enabled");if(enabled){coerce("target");coerce("order")}return transformOut};exports.calcTransform=function(gd,trace,opts){if(!opts.enabled)return;var targetArray=Lib.getTargetArray(trace,opts);if(!targetArray)return;var target=opts.target;var len=targetArray.length;if(trace._length)len=Math.min(len,trace._length);var arrayAttrs=trace._arrayAttrs;var d2c=Axes.getDataToCoordFunc(gd,trace,target,targetArray);var indices=getIndices(opts,targetArray,d2c,len);var originalPointsAccessor=pointsAccessorFunction(trace.transforms,opts);var indexToPoints={};var i,j;for(i=0;i<arrayAttrs.length;i++){var np=Lib.nestedProperty(trace,arrayAttrs[i]);var arrayOld=np.get();var arrayNew=new Array(len);for(j=0;j<len;j++){arrayNew[j]=arrayOld[indices[j]]}np.set(arrayNew)}for(j=0;j<len;j++){indexToPoints[j]=originalPointsAccessor(indices[j])}opts._indexToPoints=indexToPoints;trace._length=len};function getIndices(opts,targetArray,d2c,len){var sortedArray=new Array(len);var indices=new Array(len);var i;for(i=0;i<len;i++){sortedArray[i]={v:targetArray[i],i:i}}sortedArray.sort(getSortFunc(opts,d2c));for(i=0;i<len;i++){indices[i]=sortedArray[i].i}return indices}function getSortFunc(opts,d2c){switch(opts.order){case"ascending":return function(a,b){var ac=d2c(a.v);var bc=d2c(b.v);if(ac===BADNUM){return 1}if(bc===BADNUM){return-1}return ac-bc};case"descending":return function(a,b){var ac=d2c(a.v);var bc=d2c(b.v);if(ac===BADNUM){return 1}if(bc===BADNUM){return-1}return bc-ac}}}},{"../constants/numerical":779,"../lib":803,"../plots/cartesian/axes":854,"./helpers":1402}],1404:[function(_dereq_,module,exports){"use strict";exports.version="2.4.1"},{}]},{},[27])(27)}))}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);var _defaultsDeep=__webpack_require__(853);var _defaultsDeep2=_interopRequireDefault(_defaultsDeep);var _isEqual=__webpack_require__(978);var _isEqual2=_interopRequireDefault(_isEqual);var _differenceWith=__webpack_require__(979);var _differenceWith2=_interopRequireDefault(_differenceWith);var _visData=__webpack_require__(983);var _visNetwork=__webpack_require__(984);var _uuid=__webpack_require__(277);var _uuid2=_interopRequireDefault(_uuid);var _propTypes=__webpack_require__(73);var _propTypes2=_interopRequireDefault(_propTypes);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Graph=function(_Component){_inherits(Graph,_Component);function Graph(props){_classCallCheck(this,Graph);var _this=_possibleConstructorReturn(this,(Graph.__proto__||Object.getPrototypeOf(Graph)).call(this,props));var identifier=props.identifier;_this.updateGraph=_this.updateGraph.bind(_this);_this.state={identifier:identifier!==undefined?identifier:_uuid2.default.v4()};_this.container=_react2.default.createRef();return _this}_createClass(Graph,[{key:"componentDidMount",value:function componentDidMount(){this.edges=new _visData.DataSet;this.edges.add(this.props.graph.edges);this.nodes=new _visData.DataSet;this.nodes.add(this.props.graph.nodes);this.updateGraph()}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){var nodesChange=!(0,_isEqual2.default)(this.props.graph.nodes,nextProps.graph.nodes);var edgesChange=!(0,_isEqual2.default)(this.props.graph.edges,nextProps.graph.edges);var optionsChange=!(0,_isEqual2.default)(this.props.options,nextProps.options);var eventsChange=!(0,_isEqual2.default)(this.props.events,nextProps.events);if(nodesChange){var idIsEqual=function idIsEqual(n1,n2){return n1.id===n2.id};var nodesRemoved=(0,_differenceWith2.default)(this.props.graph.nodes,nextProps.graph.nodes,idIsEqual);var nodesAdded=(0,_differenceWith2.default)(nextProps.graph.nodes,this.props.graph.nodes,idIsEqual);var nodesChanged=(0,_differenceWith2.default)((0,_differenceWith2.default)(nextProps.graph.nodes,this.props.graph.nodes,_isEqual2.default),nodesAdded);this.patchNodes({nodesRemoved:nodesRemoved,nodesAdded:nodesAdded,nodesChanged:nodesChanged})}if(edgesChange){var edgesRemoved=(0,_differenceWith2.default)(this.props.graph.edges,nextProps.graph.edges,_isEqual2.default);var edgesAdded=(0,_differenceWith2.default)(nextProps.graph.edges,this.props.graph.edges,_isEqual2.default);var edgesChanged=(0,_differenceWith2.default)((0,_differenceWith2.default)(nextProps.graph.edges,this.props.graph.edges,_isEqual2.default),edgesAdded);this.patchEdges({edgesRemoved:edgesRemoved,edgesAdded:edgesAdded,edgesChanged:edgesChanged})}if(optionsChange){this.Network.setOptions(nextProps.options)}if(eventsChange){var events=this.props.events||{};var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=Object.keys(events)[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var eventName=_step.value;this.Network.off(eventName,events[eventName])}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}events=nextProps.events||{};var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=Object.keys(events)[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var _eventName=_step2.value;this.Network.on(_eventName,events[_eventName])}}catch(err){_didIteratorError2=true;_iteratorError2=err}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return()}}finally{if(_didIteratorError2){throw _iteratorError2}}}}return false}},{key:"componentDidUpdate",value:function componentDidUpdate(){this.updateGraph()}},{key:"patchEdges",value:function patchEdges(_ref){var edgesRemoved=_ref.edgesRemoved,edgesAdded=_ref.edgesAdded,edgesChanged=_ref.edgesChanged;this.edges.remove(edgesRemoved);this.edges.add(edgesAdded);this.edges.update(edgesChanged)}},{key:"patchNodes",value:function patchNodes(_ref2){var nodesRemoved=_ref2.nodesRemoved,nodesAdded=_ref2.nodesAdded,nodesChanged=_ref2.nodesChanged;this.nodes.remove(nodesRemoved);this.nodes.add(nodesAdded);this.nodes.update(nodesChanged)}},{key:"updateGraph",value:function updateGraph(){var defaultOptions={physics:{stabilization:false},autoResize:false,edges:{smooth:false,color:"#000000",width:.5,arrows:{to:{enabled:true,scaleFactor:.5}}}};var options=(0,_defaultsDeep2.default)(defaultOptions,this.props.options);this.Network=new _visNetwork.Network(this.container.current,Object.assign({},this.props.graph,{edges:this.edges,nodes:this.nodes}),options);if(this.props.getNetwork){this.props.getNetwork(this.Network)}if(this.props.getNodes){this.props.getNodes(this.nodes)}if(this.props.getEdges){this.props.getEdges(this.edges)}var events=this.props.events||{};var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=Object.keys(events)[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var eventName=_step3.value;this.Network.on(eventName,events[eventName])}}catch(err){_didIteratorError3=true;_iteratorError3=err}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return()}}finally{if(_didIteratorError3){throw _iteratorError3}}}}},{key:"render",value:function render(){var identifier=this.state.identifier;var style=this.props.style;return _react2.default.createElement("div",{id:identifier,ref:this.container,style:style},identifier)}}]);return Graph}(_react.Component);Graph.defaultProps={graph:{},style:{width:"100%",height:"100%"}};Graph.propTypes={graph:_propTypes2.default.object,style:_propTypes2.default.object,getNetwork:_propTypes2.default.func,getNodes:_propTypes2.default.func,getEdges:_propTypes2.default.func};exports.default=Graph},function(module,exports,__webpack_require__){var convert=__webpack_require__(854),func=convert("defaultsDeep",__webpack_require__(969));func.placeholder=__webpack_require__(278);module.exports=func},function(module,exports,__webpack_require__){var baseConvert=__webpack_require__(855),util=__webpack_require__(857);function convert(name,func,options){return baseConvert(util,name,func,options)}module.exports=convert},function(module,exports,__webpack_require__){var mapping=__webpack_require__(856),fallbackHolder=__webpack_require__(278);var push=Array.prototype.push;function baseArity(func,n){return n==2?function(a,b){return func.apply(undefined,arguments)}:function(a){return func.apply(undefined,arguments)}}function baseAry(func,n){return n==2?function(a,b){return func(a,b)}:function(a){return func(a)}}function cloneArray(array){var length=array?array.length:0,result=Array(length);while(length--){result[length]=array[length]}return result}function createCloner(func){return function(object){return func({},object)}}function flatSpread(func,start){return function(){var length=arguments.length,lastIndex=length-1,args=Array(length);while(length--){args[length]=arguments[length]}var array=args[start],otherArgs=args.slice(0,start);if(array){push.apply(otherArgs,array)}if(start!=lastIndex){push.apply(otherArgs,args.slice(start+1))}return func.apply(this,otherArgs)}}function wrapImmutable(func,cloner){return function(){var length=arguments.length;if(!length){return}var args=Array(length);while(length--){args[length]=arguments[length]}var result=args[0]=cloner.apply(undefined,args);func.apply(undefined,args);return result}}function baseConvert(util,name,func,options){var isLib=typeof name=="function",isObj=name===Object(name);if(isObj){options=func;func=name;name=undefined}if(func==null){throw new TypeError}options||(options={});var config={cap:"cap"in options?options.cap:true,curry:"curry"in options?options.curry:true,fixed:"fixed"in options?options.fixed:true,immutable:"immutable"in options?options.immutable:true,rearg:"rearg"in options?options.rearg:true};var defaultHolder=isLib?func:fallbackHolder,forceCurry="curry"in options&&options.curry,forceFixed="fixed"in options&&options.fixed,forceRearg="rearg"in options&&options.rearg,pristine=isLib?func.runInContext():undefined;var helpers=isLib?func:{ary:util.ary,assign:util.assign,clone:util.clone,curry:util.curry,forEach:util.forEach,isArray:util.isArray,isError:util.isError,isFunction:util.isFunction,isWeakMap:util.isWeakMap,iteratee:util.iteratee,keys:util.keys,rearg:util.rearg,toInteger:util.toInteger,toPath:util.toPath};var ary=helpers.ary,assign=helpers.assign,clone=helpers.clone,curry=helpers.curry,each=helpers.forEach,isArray=helpers.isArray,isError=helpers.isError,isFunction=helpers.isFunction,isWeakMap=helpers.isWeakMap,keys=helpers.keys,rearg=helpers.rearg,toInteger=helpers.toInteger,toPath=helpers.toPath;var aryMethodKeys=keys(mapping.aryMethod);var wrappers={castArray:function(castArray){return function(){var value=arguments[0];return isArray(value)?castArray(cloneArray(value)):castArray.apply(undefined,arguments)}},iteratee:function(iteratee){return function(){var func=arguments[0],arity=arguments[1],result=iteratee(func,arity),length=result.length;if(config.cap&&typeof arity=="number"){arity=arity>2?arity-2:1;return length&&length<=arity?result:baseAry(result,arity)}return result}},mixin:function(mixin){return function(source){var func=this;if(!isFunction(func)){return mixin(func,Object(source))}var pairs=[];each(keys(source),(function(key){if(isFunction(source[key])){pairs.push([key,func.prototype[key]])}}));mixin(func,Object(source));each(pairs,(function(pair){var value=pair[1];if(isFunction(value)){func.prototype[pair[0]]=value}else{delete func.prototype[pair[0]]}}));return func}},nthArg:function(nthArg){return function(n){var arity=n<0?1:toInteger(n)+1;return curry(nthArg(n),arity)}},rearg:function(rearg){return function(func,indexes){var arity=indexes?indexes.length:0;return curry(rearg(func,indexes),arity)}},runInContext:function(runInContext){return function(context){return baseConvert(util,runInContext(context),options)}}};function castCap(name,func){if(config.cap){var indexes=mapping.iterateeRearg[name];if(indexes){return iterateeRearg(func,indexes)}var n=!isLib&&mapping.iterateeAry[name];if(n){return iterateeAry(func,n)}}return func}function castCurry(name,func,n){return forceCurry||config.curry&&n>1?curry(func,n):func}function castFixed(name,func,n){if(config.fixed&&(forceFixed||!mapping.skipFixed[name])){var data=mapping.methodSpread[name],start=data&&data.start;return start===undefined?ary(func,n):flatSpread(func,start)}return func}function castRearg(name,func,n){return config.rearg&&n>1&&(forceRearg||!mapping.skipRearg[name])?rearg(func,mapping.methodRearg[name]||mapping.aryRearg[n]):func}function cloneByPath(object,path){path=toPath(path);var index=-1,length=path.length,lastIndex=length-1,result=clone(Object(object)),nested=result;while(nested!=null&&++index<length){var key=path[index],value=nested[key];if(value!=null&&!(isFunction(value)||isError(value)||isWeakMap(value))){nested[key]=clone(index==lastIndex?value:Object(value))}nested=nested[key]}return result}function convertLib(options){return _.runInContext.convert(options)(undefined)}function createConverter(name,func){var realName=mapping.aliasToReal[name]||name,methodName=mapping.remap[realName]||realName,oldOptions=options;return function(options){var newUtil=isLib?pristine:helpers,newFunc=isLib?pristine[methodName]:func,newOptions=assign(assign({},oldOptions),options);return baseConvert(newUtil,realName,newFunc,newOptions)}}function iterateeAry(func,n){return overArg(func,(function(func){return typeof func=="function"?baseAry(func,n):func}))}function iterateeRearg(func,indexes){return overArg(func,(function(func){var n=indexes.length;return baseArity(rearg(baseAry(func,n),indexes),n)}))}function overArg(func,transform){return function(){var length=arguments.length;if(!length){return func()}var args=Array(length);while(length--){args[length]=arguments[length]}var index=config.rearg?0:length-1;args[index]=transform(args[index]);return func.apply(undefined,args)}}function wrap(name,func,placeholder){var result,realName=mapping.aliasToReal[name]||name,wrapped=func,wrapper=wrappers[realName];if(wrapper){wrapped=wrapper(func)}else if(config.immutable){if(mapping.mutate.array[realName]){wrapped=wrapImmutable(func,cloneArray)}else if(mapping.mutate.object[realName]){wrapped=wrapImmutable(func,createCloner(func))}else if(mapping.mutate.set[realName]){wrapped=wrapImmutable(func,cloneByPath)}}each(aryMethodKeys,(function(aryKey){each(mapping.aryMethod[aryKey],(function(otherName){if(realName==otherName){var data=mapping.methodSpread[realName],afterRearg=data&&data.afterRearg;result=afterRearg?castFixed(realName,castRearg(realName,wrapped,aryKey),aryKey):castRearg(realName,castFixed(realName,wrapped,aryKey),aryKey);result=castCap(realName,result);result=castCurry(realName,result,aryKey);return false}}));return!result}));result||(result=wrapped);if(result==func){result=forceCurry?curry(result,1):function(){return func.apply(this,arguments)}}result.convert=createConverter(realName,func);result.placeholder=func.placeholder=placeholder;return result}if(!isObj){return wrap(name,func,defaultHolder)}var _=func;var pairs=[];each(aryMethodKeys,(function(aryKey){each(mapping.aryMethod[aryKey],(function(key){var func=_[mapping.remap[key]||key];if(func){pairs.push([key,wrap(key,func,_)])}}))}));each(keys(_),(function(key){var func=_[key];if(typeof func=="function"){var length=pairs.length;while(length--){if(pairs[length][0]==key){return}}func.convert=createConverter(key,func);pairs.push([key,func])}}));each(pairs,(function(pair){_[pair[0]]=pair[1]}));_.convert=convertLib;_.placeholder=_;each(keys(_),(function(key){each(mapping.realToAlias[key]||[],(function(alias){_[alias]=_[key]}))}));return _}module.exports=baseConvert},function(module,exports){exports.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"};exports.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]};exports.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]};exports.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2};exports.iterateeRearg={mapKeys:[1],reduceRight:[1,0]};exports.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]};exports.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}};exports.mutate={array:{fill:true,pull:true,pullAll:true,pullAllBy:true,pullAllWith:true,pullAt:true,remove:true,reverse:true},object:{assign:true,assignAll:true,assignAllWith:true,assignIn:true,assignInAll:true,assignInAllWith:true,assignInWith:true,assignWith:true,defaults:true,defaultsAll:true,defaultsDeep:true,defaultsDeepAll:true,merge:true,mergeAll:true,mergeAllWith:true,mergeWith:true},set:{set:true,setWith:true,unset:true,update:true,updateWith:true}};exports.realToAlias=function(){var hasOwnProperty=Object.prototype.hasOwnProperty,object=exports.aliasToReal,result={};for(var key in object){var value=object[key];if(hasOwnProperty.call(result,value)){result[value].push(key)}else{result[value]=[key]}}return result}();exports.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"};exports.skipFixed={castArray:true,flow:true,flowRight:true,iteratee:true,mixin:true,rearg:true,runInContext:true};exports.skipRearg={add:true,assign:true,assignIn:true,bind:true,bindKey:true,concat:true,difference:true,divide:true,eq:true,gt:true,gte:true,isEqual:true,lt:true,lte:true,matchesProperty:true,merge:true,multiply:true,overArgs:true,partial:true,partialRight:true,propertyOf:true,random:true,range:true,rangeRight:true,subtract:true,zip:true,zipObject:true,zipObjectDeep:true}},function(module,exports,__webpack_require__){module.exports={ary:__webpack_require__(858),assign:__webpack_require__(297),clone:__webpack_require__(895),curry:__webpack_require__(937),forEach:__webpack_require__(192),isArray:__webpack_require__(66),isError:__webpack_require__(938),isFunction:__webpack_require__(139),isWeakMap:__webpack_require__(939),iteratee:__webpack_require__(940),keys:__webpack_require__(300),rearg:__webpack_require__(964),toInteger:__webpack_require__(296),toPath:__webpack_require__(968)}},function(module,exports,__webpack_require__){var createWrap=__webpack_require__(188);var WRAP_ARY_FLAG=128;function ary(func,n,guard){n=guard?undefined:n;n=func&&n==null?func.length:n;return createWrap(func,WRAP_ARY_FLAG,undefined,undefined,undefined,undefined,n)}module.exports=ary},function(module,exports,__webpack_require__){var isFunction=__webpack_require__(139),isMasked=__webpack_require__(862),isObject=__webpack_require__(74),toSource=__webpack_require__(283);var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;var reIsHostCtor=/^\[object .+?Constructor\]$/;var funcProto=Function.prototype,objectProto=Object.prototype;var funcToString=funcProto.toString;var hasOwnProperty=objectProto.hasOwnProperty;var reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false}var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}module.exports=baseIsNative},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(99);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var nativeObjectToString=objectProto.toString;var symToStringTag=Symbol?Symbol.toStringTag:undefined;function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=true}catch(e){}var result=nativeObjectToString.call(value);if(unmasked){if(isOwn){value[symToStringTag]=tag}else{delete value[symToStringTag]}}return result}module.exports=getRawTag},function(module,exports){var objectProto=Object.prototype;var nativeObjectToString=objectProto.toString;function objectToString(value){return nativeObjectToString.call(value)}module.exports=objectToString},function(module,exports,__webpack_require__){var coreJsData=__webpack_require__(863);var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}module.exports=isMasked},function(module,exports,__webpack_require__){var root=__webpack_require__(65);var coreJsData=root["__core-js_shared__"];module.exports=coreJsData},function(module,exports){function getValue(object,key){return object==null?undefined:object[key]}module.exports=getValue},function(module,exports,__webpack_require__){var createCtor=__webpack_require__(140),root=__webpack_require__(65);var WRAP_BIND_FLAG=1;function createBind(func,bitmask,thisArg){var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor(func);function wrapper(){var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,arguments)}return wrapper}module.exports=createBind},function(module,exports,__webpack_require__){var apply=__webpack_require__(142),createCtor=__webpack_require__(140),createHybrid=__webpack_require__(284),createRecurry=__webpack_require__(287),getHolder=__webpack_require__(295),replaceHolders=__webpack_require__(193),root=__webpack_require__(65);function createCurry(func,bitmask,arity){var Ctor=createCtor(func);function wrapper(){var length=arguments.length,args=Array(length),index=length,placeholder=getHolder(wrapper);while(index--){args[index]=arguments[index]}var holders=length<3&&args[0]!==placeholder&&args[length-1]!==placeholder?[]:replaceHolders(args,placeholder);length-=holders.length;if(length<arity){return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,undefined,args,holders,undefined,undefined,arity-length)}var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return apply(fn,this,args)}return wrapper}module.exports=createCurry},function(module,exports){function countHolders(array,placeholder){var length=array.length,result=0;while(length--){if(array[length]===placeholder){++result}}return result}module.exports=countHolders},function(module,exports,__webpack_require__){var LazyWrapper=__webpack_require__(189),getData=__webpack_require__(288),getFuncName=__webpack_require__(870),lodash=__webpack_require__(872);function isLaziable(func){var funcName=getFuncName(func),other=lodash[funcName];if(typeof other!="function"||!(funcName in LazyWrapper.prototype)){return false}if(func===other){return true}var data=getData(other);return!!data&&func===data[0]}module.exports=isLaziable},function(module,exports){function noop(){}module.exports=noop},function(module,exports,__webpack_require__){var realNames=__webpack_require__(871);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function getFuncName(func){var result=func.name+"",array=realNames[result],length=hasOwnProperty.call(realNames,result)?array.length:0;while(length--){var data=array[length],otherFunc=data.func;if(otherFunc==null||otherFunc==func){return data.name}}return result}module.exports=getFuncName},function(module,exports){var realNames={};module.exports=realNames},function(module,exports,__webpack_require__){var LazyWrapper=__webpack_require__(189),LodashWrapper=__webpack_require__(289),baseLodash=__webpack_require__(190),isArray=__webpack_require__(66),isObjectLike=__webpack_require__(75),wrapperClone=__webpack_require__(873);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper){return value}if(hasOwnProperty.call(value,"__wrapped__")){return wrapperClone(value)}}return new LodashWrapper(value)}lodash.prototype=baseLodash.prototype;lodash.prototype.constructor=lodash;module.exports=lodash},function(module,exports,__webpack_require__){var LazyWrapper=__webpack_require__(189),LodashWrapper=__webpack_require__(289),copyArray=__webpack_require__(109);function wrapperClone(wrapper){if(wrapper instanceof LazyWrapper){return wrapper.clone()}var result=new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__);result.__actions__=copyArray(wrapper.__actions__);result.__index__=wrapper.__index__;result.__values__=wrapper.__values__;return result}module.exports=wrapperClone},function(module,exports){var reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /;function getWrapDetails(source){var match=source.match(reWrapDetails);return match?match[1].split(reSplitDetails):[]}module.exports=getWrapDetails},function(module,exports){var reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function insertWrapDetails(source,details){var length=details.length;if(!length){return source}var lastIndex=length-1;details[lastIndex]=(length>1?"& ":"")+details[lastIndex];details=details.join(length>2?", ":" ");return source.replace(reWrapComment,"{\n/* [wrapped with "+details+"] */\n")}module.exports=insertWrapDetails},function(module,exports,__webpack_require__){var constant=__webpack_require__(877),defineProperty=__webpack_require__(293),identity=__webpack_require__(138);var baseSetToString=!defineProperty?identity:function(func,string){return defineProperty(func,"toString",{configurable:true,enumerable:false,value:constant(string),writable:true})};module.exports=baseSetToString},function(module,exports){function constant(value){return function(){return value}}module.exports=constant},function(module,exports,__webpack_require__){var arrayEach=__webpack_require__(192),arrayIncludes=__webpack_require__(294);var WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_FLAG=8,WRAP_CURRY_RIGHT_FLAG=16,WRAP_PARTIAL_FLAG=32,WRAP_PARTIAL_RIGHT_FLAG=64,WRAP_ARY_FLAG=128,WRAP_REARG_FLAG=256,WRAP_FLIP_FLAG=512;var wrapFlags=[["ary",WRAP_ARY_FLAG],["bind",WRAP_BIND_FLAG],["bindKey",WRAP_BIND_KEY_FLAG],["curry",WRAP_CURRY_FLAG],["curryRight",WRAP_CURRY_RIGHT_FLAG],["flip",WRAP_FLIP_FLAG],["partial",WRAP_PARTIAL_FLAG],["partialRight",WRAP_PARTIAL_RIGHT_FLAG],["rearg",WRAP_REARG_FLAG]];function updateWrapDetails(details,bitmask){arrayEach(wrapFlags,(function(pair){var value="_."+pair[0];if(bitmask&pair[1]&&!arrayIncludes(details,value)){details.push(value)}}));return details.sort()}module.exports=updateWrapDetails},function(module,exports,__webpack_require__){var baseFindIndex=__webpack_require__(880),baseIsNaN=__webpack_require__(881),strictIndexOf=__webpack_require__(882);function baseIndexOf(array,value,fromIndex){return value===value?strictIndexOf(array,value,fromIndex):baseFindIndex(array,baseIsNaN,fromIndex)}module.exports=baseIndexOf},function(module,exports){function baseFindIndex(array,predicate,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?1:-1);while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}module.exports=baseFindIndex},function(module,exports){function baseIsNaN(value){return value!==value}module.exports=baseIsNaN},function(module,exports){function strictIndexOf(array,value,fromIndex){var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}module.exports=strictIndexOf},function(module,exports,__webpack_require__){var copyArray=__webpack_require__(109),isIndex=__webpack_require__(143);var nativeMin=Math.min;function reorder(array,indexes){var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=copyArray(array);while(length--){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}module.exports=reorder},function(module,exports,__webpack_require__){var apply=__webpack_require__(142),createCtor=__webpack_require__(140),root=__webpack_require__(65);var WRAP_BIND_FLAG=1;function createPartial(func,bitmask,thisArg,partials){var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength),fn=this&&this!==root&&this instanceof wrapper?Ctor:func;while(++leftIndex<leftLength){args[leftIndex]=partials[leftIndex]}while(argsLength--){args[leftIndex++]=arguments[++argsIndex]}return apply(fn,isBind?thisArg:this,args)}return wrapper}module.exports=createPartial},function(module,exports,__webpack_require__){var composeArgs=__webpack_require__(285),composeArgsRight=__webpack_require__(286),replaceHolders=__webpack_require__(193);var PLACEHOLDER="__lodash_placeholder__";var WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_BOUND_FLAG=4,WRAP_CURRY_FLAG=8,WRAP_ARY_FLAG=128,WRAP_REARG_FLAG=256;var nativeMin=Math.min;function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<(WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG|WRAP_ARY_FLAG);var isCombo=srcBitmask==WRAP_ARY_FLAG&&bitmask==WRAP_CURRY_FLAG||srcBitmask==WRAP_ARY_FLAG&&bitmask==WRAP_REARG_FLAG&&data[7].length<=source[8]||srcBitmask==(WRAP_ARY_FLAG|WRAP_REARG_FLAG)&&source[7].length<=source[8]&&bitmask==WRAP_CURRY_FLAG;if(!(isCommon||isCombo)){return data}if(srcBitmask&WRAP_BIND_FLAG){data[2]=source[2];newBitmask|=bitmask&WRAP_BIND_FLAG?0:WRAP_CURRY_BOUND_FLAG}var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs(partials,value,source[4]):value;data[4]=partials?replaceHolders(data[3],PLACEHOLDER):source[4]}value=source[5];if(value){partials=data[5];data[5]=partials?composeArgsRight(partials,value,source[6]):value;data[6]=partials?replaceHolders(data[5],PLACEHOLDER):source[6]}value=source[7];if(value){data[7]=value}if(srcBitmask&WRAP_ARY_FLAG){data[8]=data[8]==null?source[8]:nativeMin(data[8],source[8])}if(data[9]==null){data[9]=source[9]}data[0]=source[0];data[1]=newBitmask;return data}module.exports=mergeData},function(module,exports,__webpack_require__){var toNumber=__webpack_require__(887);var INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite(value){if(!value){return value===0?value:0}value=toNumber(value);if(value===INFINITY||value===-INFINITY){var sign=value<0?-1:1;return sign*MAX_INTEGER}return value===value?value:0}module.exports=toFinite},function(module,exports,__webpack_require__){var baseTrim=__webpack_require__(888),isObject=__webpack_require__(74),isSymbol=__webpack_require__(110);var NAN=0/0;var reIsBadHex=/^[-+]0x[0-9a-f]+$/i;var reIsBinary=/^0b[01]+$/i;var reIsOctal=/^0o[0-7]+$/i;var freeParseInt=parseInt;function toNumber(value){if(typeof value=="number"){return value}if(isSymbol(value)){return NAN}if(isObject(value)){var other=typeof value.valueOf=="function"?value.valueOf():value;value=isObject(other)?other+"":other}if(typeof value!="string"){return value===0?value:+value}value=baseTrim(value);var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NAN:+value}module.exports=toNumber},function(module,exports,__webpack_require__){var trimmedEndIndex=__webpack_require__(889);var reTrimStart=/^\s+/;function baseTrim(string){return string?string.slice(0,trimmedEndIndex(string)+1).replace(reTrimStart,""):string}module.exports=baseTrim},function(module,exports){var reWhitespace=/\s/;function trimmedEndIndex(string){var index=string.length;while(index--&&reWhitespace.test(string.charAt(index))){}return index}module.exports=trimmedEndIndex},function(module,exports){function baseTimes(n,iteratee){var index=-1,result=Array(n);while(++index<n){result[index]=iteratee(index)}return result}module.exports=baseTimes},function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(96),isObjectLike=__webpack_require__(75);var argsTag="[object Arguments]";function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}module.exports=baseIsArguments},function(module,exports){function stubFalse(){return false}module.exports=stubFalse},function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(96),isLength=__webpack_require__(196),isObjectLike=__webpack_require__(75);var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]}module.exports=baseIsTypedArray},function(module,exports,__webpack_require__){var overArg=__webpack_require__(301);var nativeKeys=overArg(Object.keys,Object);module.exports=nativeKeys},function(module,exports,__webpack_require__){var baseClone=__webpack_require__(302);var CLONE_SYMBOLS_FLAG=4;function clone(value){return baseClone(value,CLONE_SYMBOLS_FLAG)}module.exports=clone},function(module,exports){function listCacheClear(){this.__data__=[];this.size=0}module.exports=listCacheClear},function(module,exports,__webpack_require__){var assocIndexOf=__webpack_require__(151);var arrayProto=Array.prototype;var splice=arrayProto.splice;function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){return false}var lastIndex=data.length-1;if(index==lastIndex){data.pop()}else{splice.call(data,index,1)}--this.size;return true}module.exports=listCacheDelete},function(module,exports,__webpack_require__){var assocIndexOf=__webpack_require__(151);function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1]}module.exports=listCacheGet},function(module,exports,__webpack_require__){var assocIndexOf=__webpack_require__(151);function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}module.exports=listCacheHas},function(module,exports,__webpack_require__){var assocIndexOf=__webpack_require__(151);function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){++this.size;data.push([key,value])}else{data[index][1]=value}return this}module.exports=listCacheSet},function(module,exports,__webpack_require__){var ListCache=__webpack_require__(150);function stackClear(){this.__data__=new ListCache;this.size=0}module.exports=stackClear},function(module,exports){function stackDelete(key){var data=this.__data__,result=data["delete"](key);this.size=data.size;return result}module.exports=stackDelete},function(module,exports){function stackGet(key){return this.__data__.get(key)}module.exports=stackGet},function(module,exports){function stackHas(key){return this.__data__.has(key)}module.exports=stackHas},function(module,exports,__webpack_require__){var ListCache=__webpack_require__(150),Map=__webpack_require__(199),MapCache=__webpack_require__(200);var LARGE_ARRAY_SIZE=200;function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1){pairs.push([key,value]);this.size=++data.size;return this}data=this.__data__=new MapCache(pairs)}data.set(key,value);this.size=data.size;return this}module.exports=stackSet},function(module,exports,__webpack_require__){var Hash=__webpack_require__(907),ListCache=__webpack_require__(150),Map=__webpack_require__(199);function mapCacheClear(){this.size=0;this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}module.exports=mapCacheClear},function(module,exports,__webpack_require__){var hashClear=__webpack_require__(908),hashDelete=__webpack_require__(909),hashGet=__webpack_require__(910),hashHas=__webpack_require__(911),hashSet=__webpack_require__(912);function Hash(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}Hash.prototype.clear=hashClear;Hash.prototype["delete"]=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;module.exports=Hash},function(module,exports,__webpack_require__){var nativeCreate=__webpack_require__(152);function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};this.size=0}module.exports=hashClear},function(module,exports){function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];this.size-=result?1:0;return result}module.exports=hashDelete},function(module,exports,__webpack_require__){var nativeCreate=__webpack_require__(152);var HASH_UNDEFINED="__lodash_hash_undefined__";var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?undefined:result}return hasOwnProperty.call(data,key)?data[key]:undefined}module.exports=hashGet},function(module,exports,__webpack_require__){var nativeCreate=__webpack_require__(152);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined:hasOwnProperty.call(data,key)}module.exports=hashHas},function(module,exports,__webpack_require__){var nativeCreate=__webpack_require__(152);var HASH_UNDEFINED="__lodash_hash_undefined__";function hashSet(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate&&value===undefined?HASH_UNDEFINED:value;return this}module.exports=hashSet},function(module,exports,__webpack_require__){var getMapData=__webpack_require__(153);function mapCacheDelete(key){var result=getMapData(this,key)["delete"](key);this.size-=result?1:0;return result}module.exports=mapCacheDelete},function(module,exports){function isKeyable(value){var type=typeof value;return type=="string"||type=="number"||type=="symbol"||type=="boolean"?value!=="__proto__":value===null}module.exports=isKeyable},function(module,exports,__webpack_require__){var getMapData=__webpack_require__(153);function mapCacheGet(key){return getMapData(this,key).get(key)}module.exports=mapCacheGet},function(module,exports,__webpack_require__){var getMapData=__webpack_require__(153);function mapCacheHas(key){return getMapData(this,key).has(key)}module.exports=mapCacheHas},function(module,exports,__webpack_require__){var getMapData=__webpack_require__(153);function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;data.set(key,value);this.size+=data.size==size?0:1;return this}module.exports=mapCacheSet},function(module,exports,__webpack_require__){var copyObject=__webpack_require__(111),keysIn=__webpack_require__(114);function baseAssignIn(object,source){return object&&copyObject(source,keysIn(source),object)}module.exports=baseAssignIn},function(module,exports,__webpack_require__){var isObject=__webpack_require__(74),isPrototype=__webpack_require__(198),nativeKeysIn=__webpack_require__(920);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function baseKeysIn(object){if(!isObject(object)){return nativeKeysIn(object)}var isProto=isPrototype(object),result=[];for(var key in object){if(!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}module.exports=baseKeysIn},function(module,exports){function nativeKeysIn(object){var result=[];if(object!=null){for(var key in Object(object)){result.push(key)}}return result}module.exports=nativeKeysIn},function(module,exports,__webpack_require__){var copyObject=__webpack_require__(111),getSymbols=__webpack_require__(201);function copySymbols(source,object){return copyObject(source,getSymbols(source),object)}module.exports=copySymbols},function(module,exports){function arrayFilter(array,predicate){var index=-1,length=array==null?0:array.length,resIndex=0,result=[];while(++index<length){var value=array[index];if(predicate(value,index,array)){result[resIndex++]=value}}return result}module.exports=arrayFilter},function(module,exports,__webpack_require__){var copyObject=__webpack_require__(111),getSymbolsIn=__webpack_require__(305);function copySymbolsIn(source,object){return copyObject(source,getSymbolsIn(source),object)}module.exports=copySymbolsIn},function(module,exports,__webpack_require__){var baseGetAllKeys=__webpack_require__(307),getSymbolsIn=__webpack_require__(305),keysIn=__webpack_require__(114);function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSymbolsIn)}module.exports=getAllKeysIn},function(module,exports,__webpack_require__){var getNative=__webpack_require__(95),root=__webpack_require__(65);var DataView=getNative(root,"DataView");module.exports=DataView},function(module,exports,__webpack_require__){var getNative=__webpack_require__(95),root=__webpack_require__(65);var Promise=getNative(root,"Promise");module.exports=Promise},function(module,exports,__webpack_require__){var getNative=__webpack_require__(95),root=__webpack_require__(65);var Set=getNative(root,"Set");module.exports=Set},function(module,exports){var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function initCloneArray(array){var length=array.length,result=new array.constructor(length);if(length&&typeof array[0]=="string"&&hasOwnProperty.call(array,"index")){result.index=array.index;result.input=array.input}return result}module.exports=initCloneArray},function(module,exports,__webpack_require__){var cloneArrayBuffer=__webpack_require__(204),cloneDataView=__webpack_require__(930),cloneRegExp=__webpack_require__(931),cloneSymbol=__webpack_require__(932),cloneTypedArray=__webpack_require__(309);var boolTag="[object Boolean]",dateTag="[object Date]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor(+object);case dataViewTag:return cloneDataView(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return new Ctor;case numberTag:case stringTag:return new Ctor(object);case regexpTag:return cloneRegExp(object);case setTag:return new Ctor;case symbolTag:return cloneSymbol(object)}}module.exports=initCloneByTag},function(module,exports,__webpack_require__){var cloneArrayBuffer=__webpack_require__(204);function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}module.exports=cloneDataView},function(module,exports){var reFlags=/\w*$/;function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));result.lastIndex=regexp.lastIndex;return result}module.exports=cloneRegExp},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(99);var symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined;function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{}}module.exports=cloneSymbol},function(module,exports,__webpack_require__){var baseIsMap=__webpack_require__(934),baseUnary=__webpack_require__(147),nodeUtil=__webpack_require__(197);var nodeIsMap=nodeUtil&&nodeUtil.isMap;var isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap;module.exports=isMap},function(module,exports,__webpack_require__){var getTag=__webpack_require__(115),isObjectLike=__webpack_require__(75);var mapTag="[object Map]";function baseIsMap(value){return isObjectLike(value)&&getTag(value)==mapTag}module.exports=baseIsMap},function(module,exports,__webpack_require__){var baseIsSet=__webpack_require__(936),baseUnary=__webpack_require__(147),nodeUtil=__webpack_require__(197);var nodeIsSet=nodeUtil&&nodeUtil.isSet;var isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet;module.exports=isSet},function(module,exports,__webpack_require__){var getTag=__webpack_require__(115),isObjectLike=__webpack_require__(75);var setTag="[object Set]";function baseIsSet(value){return isObjectLike(value)&&getTag(value)==setTag}module.exports=baseIsSet},function(module,exports,__webpack_require__){var createWrap=__webpack_require__(188);var WRAP_CURRY_FLAG=8;function curry(func,arity,guard){arity=guard?undefined:arity;var result=createWrap(func,WRAP_CURRY_FLAG,undefined,undefined,undefined,undefined,undefined,arity);result.placeholder=curry.placeholder;return result}curry.placeholder={};module.exports=curry},function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(96),isObjectLike=__webpack_require__(75),isPlainObject=__webpack_require__(311);var domExcTag="[object DOMException]",errorTag="[object Error]";function isError(value){if(!isObjectLike(value)){return false}var tag=baseGetTag(value);return tag==errorTag||tag==domExcTag||typeof value.message=="string"&&typeof value.name=="string"&&!isPlainObject(value)}module.exports=isError},function(module,exports,__webpack_require__){var getTag=__webpack_require__(115),isObjectLike=__webpack_require__(75);var weakMapTag="[object WeakMap]";function isWeakMap(value){return isObjectLike(value)&&getTag(value)==weakMapTag}module.exports=isWeakMap},function(module,exports,__webpack_require__){var baseClone=__webpack_require__(302),baseIteratee=__webpack_require__(941);var CLONE_DEEP_FLAG=1;function iteratee(func){return baseIteratee(typeof func=="function"?func:baseClone(func,CLONE_DEEP_FLAG))}module.exports=iteratee},function(module,exports,__webpack_require__){var baseMatches=__webpack_require__(942),baseMatchesProperty=__webpack_require__(953),identity=__webpack_require__(138),isArray=__webpack_require__(66),property=__webpack_require__(961);function baseIteratee(value){if(typeof value=="function"){return value}if(value==null){return identity}if(typeof value=="object"){return isArray(value)?baseMatchesProperty(value[0],value[1]):baseMatches(value)}return property(value)}module.exports=baseIteratee},function(module,exports,__webpack_require__){var baseIsMatch=__webpack_require__(943),getMatchData=__webpack_require__(952),matchesStrictComparable=__webpack_require__(316);function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){return matchesStrictComparable(matchData[0][0],matchData[0][1])}return function(object){return object===source||baseIsMatch(object,source,matchData)}}module.exports=baseMatches},function(module,exports,__webpack_require__){var Stack=__webpack_require__(149),baseIsEqual=__webpack_require__(205);var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length}object=Object(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object)){return false}}else{var stack=new Stack;if(customizer){var result=customizer(objValue,srcValue,key,object,source,stack)}if(!(result===undefined?baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG,customizer,stack):result)){return false}}}return true}module.exports=baseIsMatch},function(module,exports,__webpack_require__){var Stack=__webpack_require__(149),equalArrays=__webpack_require__(312),equalByTag=__webpack_require__(948),equalObjects=__webpack_require__(951),getTag=__webpack_require__(115),isArray=__webpack_require__(66),isBuffer=__webpack_require__(146),isTypedArray=__webpack_require__(195);var COMPARE_PARTIAL_FLAG=1;var argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]";var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag;othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other)){return false}objIsArr=true;objIsObj=false}if(isSameTag&&!objIsObj){stack||(stack=new Stack);return objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack)}if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack);return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}if(!isSameTag){return false}stack||(stack=new Stack);return equalObjects(object,other,bitmask,customizer,equalFunc,stack)}module.exports=baseIsEqualDeep},function(module,exports){var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED);return this}module.exports=setCacheAdd},function(module,exports){function setCacheHas(value){return this.__data__.has(value)}module.exports=setCacheHas},function(module,exports){function arraySome(array,predicate){var index=-1,length=array==null?0:array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}module.exports=arraySome},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(99),Uint8Array=__webpack_require__(308),eq=__webpack_require__(112),equalArrays=__webpack_require__(312),mapToArray=__webpack_require__(949),setToArray=__webpack_require__(950);var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;var boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]";var symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined;function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset){return false}object=object.buffer;other=other.buffer;case arrayBufferTag:if(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array(object),new Uint8Array(other))){return false}return true;case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&COMPARE_PARTIAL_FLAG;convert||(convert=setToArray);if(object.size!=other.size&&!isPartial){return false}var stacked=stack.get(object);if(stacked){return stacked==other}bitmask|=COMPARE_UNORDERED_FLAG;stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);stack["delete"](object);return result;case symbolTag:if(symbolValueOf){return symbolValueOf.call(object)==symbolValueOf.call(other)}}return false}module.exports=equalByTag},function(module,exports){function mapToArray(map){var index=-1,result=Array(map.size);map.forEach((function(value,key){result[++index]=[key,value]}));return result}module.exports=mapToArray},function(module,exports){function setToArray(set){var index=-1,result=Array(set.size);set.forEach((function(value){result[++index]=value}));return result}module.exports=setToArray},function(module,exports,__webpack_require__){var getAllKeys=__webpack_require__(306);var COMPARE_PARTIAL_FLAG=1;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key))){return false}}var objStacked=stack.get(object);var othStacked=stack.get(other);if(objStacked&&othStacked){return objStacked==other&&othStacked==object}var result=true;stack.set(object,other);stack.set(other,object);var skipCtor=isPartial;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack)}if(!(compared===undefined?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=false;break}skipCtor||(skipCtor=key=="constructor")}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result=false}}stack["delete"](object);stack["delete"](other);return result}module.exports=equalObjects},function(module,exports,__webpack_require__){var isStrictComparable=__webpack_require__(315),keys=__webpack_require__(144);function getMatchData(object){var result=keys(object),length=result.length;while(length--){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable(value)]}return result}module.exports=getMatchData},function(module,exports,__webpack_require__){var baseIsEqual=__webpack_require__(205),get=__webpack_require__(954),hasIn=__webpack_require__(958),isKey=__webpack_require__(206),isStrictComparable=__webpack_require__(315),matchesStrictComparable=__webpack_require__(316),toKey=__webpack_require__(116);var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(path,srcValue){if(isKey(path)&&isStrictComparable(srcValue)){return matchesStrictComparable(toKey(path),srcValue)}return function(object){var objValue=get(object,path);return objValue===undefined&&objValue===srcValue?hasIn(object,path):baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}module.exports=baseMatchesProperty},function(module,exports,__webpack_require__){var baseGet=__webpack_require__(317);function get(object,path,defaultValue){var result=object==null?undefined:baseGet(object,path);return result===undefined?defaultValue:result}module.exports=get},function(module,exports,__webpack_require__){var memoize=__webpack_require__(956);var MAX_MEMOIZE_SIZE=500;function memoizeCapped(func){var result=memoize(func,(function(key){if(cache.size===MAX_MEMOIZE_SIZE){cache.clear()}return key}));var cache=result.cache;return result}module.exports=memoizeCapped},function(module,exports,__webpack_require__){var MapCache=__webpack_require__(200);var FUNC_ERROR_TEXT="Expected a function";function memoize(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result=func.apply(this,args);memoized.cache=cache.set(key,result)||cache;return result};memoized.cache=new(memoize.Cache||MapCache);return memoized}memoize.Cache=MapCache;module.exports=memoize},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(99),arrayMap=__webpack_require__(207),isArray=__webpack_require__(66),isSymbol=__webpack_require__(110);var INFINITY=1/0;var symbolProto=Symbol?Symbol.prototype:undefined,symbolToString=symbolProto?symbolProto.toString:undefined;function baseToString(value){if(typeof value=="string"){return value}if(isArray(value)){return arrayMap(value,baseToString)+""}if(isSymbol(value)){return symbolToString?symbolToString.call(value):""}var result=value+"";return result=="0"&&1/value==-INFINITY?"-0":result}module.exports=baseToString},function(module,exports,__webpack_require__){var baseHasIn=__webpack_require__(959),hasPath=__webpack_require__(960);function hasIn(object,path){return object!=null&&hasPath(object,path,baseHasIn)}module.exports=hasIn},function(module,exports){function baseHasIn(object,key){return object!=null&&key in Object(object)}module.exports=baseHasIn},function(module,exports,__webpack_require__){var castPath=__webpack_require__(318),isArguments=__webpack_require__(145),isArray=__webpack_require__(66),isIndex=__webpack_require__(143),isLength=__webpack_require__(196),toKey=__webpack_require__(116);function hasPath(object,path,hasFunc){path=castPath(path,object);var index=-1,length=path.length,result=false;while(++index<length){var key=toKey(path[index]);if(!(result=object!=null&&hasFunc(object,key))){break}object=object[key]}if(result||++index!=length){return result}length=object==null?0:object.length;return!!length&&isLength(length)&&isIndex(key,length)&&(isArray(object)||isArguments(object))}module.exports=hasPath},function(module,exports,__webpack_require__){var baseProperty=__webpack_require__(962),basePropertyDeep=__webpack_require__(963),isKey=__webpack_require__(206),toKey=__webpack_require__(116);function property(path){return isKey(path)?baseProperty(toKey(path)):basePropertyDeep(path)}module.exports=property},function(module,exports){function baseProperty(key){return function(object){return object==null?undefined:object[key]}}module.exports=baseProperty},function(module,exports,__webpack_require__){var baseGet=__webpack_require__(317);function basePropertyDeep(path){return function(object){return baseGet(object,path)}}module.exports=basePropertyDeep},function(module,exports,__webpack_require__){var createWrap=__webpack_require__(188),flatRest=__webpack_require__(965);var WRAP_REARG_FLAG=256;var rearg=flatRest((function(func,indexes){return createWrap(func,WRAP_REARG_FLAG,undefined,undefined,undefined,indexes)}));module.exports=rearg},function(module,exports,__webpack_require__){var flatten=__webpack_require__(966),overRest=__webpack_require__(322),setToString=__webpack_require__(191);function flatRest(func){return setToString(overRest(func,undefined,flatten),func+"")}module.exports=flatRest},function(module,exports,__webpack_require__){var baseFlatten=__webpack_require__(321);function flatten(array){var length=array==null?0:array.length;return length?baseFlatten(array,1):[]}module.exports=flatten},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(99),isArguments=__webpack_require__(145),isArray=__webpack_require__(66);var spreadableSymbol=Symbol?Symbol.isConcatSpreadable:undefined;function isFlattenable(value){return isArray(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}module.exports=isFlattenable},function(module,exports,__webpack_require__){var arrayMap=__webpack_require__(207),copyArray=__webpack_require__(109),isArray=__webpack_require__(66),isSymbol=__webpack_require__(110),stringToPath=__webpack_require__(319),toKey=__webpack_require__(116),toString=__webpack_require__(320);function toPath(value){if(isArray(value)){return arrayMap(value,toKey)}return isSymbol(value)?[value]:copyArray(stringToPath(toString(value)))}module.exports=toPath},function(module,exports,__webpack_require__){var apply=__webpack_require__(142),baseRest=__webpack_require__(208),customDefaultsMerge=__webpack_require__(970),mergeWith=__webpack_require__(975);var defaultsDeep=baseRest((function(args){args.push(undefined,customDefaultsMerge);return apply(mergeWith,undefined,args)}));module.exports=defaultsDeep},function(module,exports,__webpack_require__){var baseMerge=__webpack_require__(323),isObject=__webpack_require__(74);function customDefaultsMerge(objValue,srcValue,key,object,source,stack){if(isObject(objValue)&&isObject(srcValue)){stack.set(srcValue,objValue);baseMerge(objValue,srcValue,undefined,customDefaultsMerge,stack);stack["delete"](srcValue)}return objValue}module.exports=customDefaultsMerge},function(module,exports,__webpack_require__){var createBaseFor=__webpack_require__(972);var baseFor=createBaseFor();module.exports=baseFor},function(module,exports){function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;while(length--){var key=props[fromRight?length:++index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}module.exports=createBaseFor},function(module,exports,__webpack_require__){var assignMergeValue=__webpack_require__(324),cloneBuffer=__webpack_require__(303),cloneTypedArray=__webpack_require__(309),copyArray=__webpack_require__(109),initCloneObject=__webpack_require__(310),isArguments=__webpack_require__(145),isArray=__webpack_require__(66),isArrayLikeObject=__webpack_require__(325),isBuffer=__webpack_require__(146),isFunction=__webpack_require__(139),isObject=__webpack_require__(74),isPlainObject=__webpack_require__(311),isTypedArray=__webpack_require__(195),safeGet=__webpack_require__(326),toPlainObject=__webpack_require__(974);function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked){assignMergeValue(object,key,stacked);return}var newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack):undefined;var isCommon=newValue===undefined;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue;if(isArr||isBuff||isTyped){if(isArray(objValue)){newValue=objValue}else if(isArrayLikeObject(objValue)){newValue=copyArray(objValue)}else if(isBuff){isCommon=false;newValue=cloneBuffer(srcValue,true)}else if(isTyped){isCommon=false;newValue=cloneTypedArray(srcValue,true)}else{newValue=[]}}else if(isPlainObject(srcValue)||isArguments(srcValue)){newValue=objValue;if(isArguments(objValue)){newValue=toPlainObject(objValue)}else if(!isObject(objValue)||isFunction(objValue)){newValue=initCloneObject(srcValue)}}else{isCommon=false}}if(isCommon){stack.set(srcValue,newValue);mergeFunc(newValue,srcValue,srcIndex,customizer,stack);stack["delete"](srcValue)}assignMergeValue(object,key,newValue)}module.exports=baseMergeDeep},function(module,exports,__webpack_require__){var copyObject=__webpack_require__(111),keysIn=__webpack_require__(114);function toPlainObject(value){return copyObject(value,keysIn(value))}module.exports=toPlainObject},function(module,exports,__webpack_require__){var baseMerge=__webpack_require__(323),createAssigner=__webpack_require__(976);var mergeWith=createAssigner((function(object,source,srcIndex,customizer){baseMerge(object,source,srcIndex,customizer)}));module.exports=mergeWith},function(module,exports,__webpack_require__){var baseRest=__webpack_require__(208),isIterateeCall=__webpack_require__(977);function createAssigner(assigner){return baseRest((function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined,guard=length>2?sources[2]:undefined;customizer=assigner.length>3&&typeof customizer=="function"?(length--,customizer):undefined;if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}object=Object(object);while(++index<length){var source=sources[index];if(source){assigner(object,source,index,customizer)}}return object}))}module.exports=createAssigner},function(module,exports,__webpack_require__){var eq=__webpack_require__(112),isArrayLike=__webpack_require__(148),isIndex=__webpack_require__(143),isObject=__webpack_require__(74);function isIterateeCall(value,index,object){if(!isObject(object)){return false}var type=typeof index;if(type=="number"?isArrayLike(object)&&isIndex(index,object.length):type=="string"&&index in object){return eq(object[index],value)}return false}module.exports=isIterateeCall},function(module,exports,__webpack_require__){var baseIsEqual=__webpack_require__(205);function isEqual(value,other){return baseIsEqual(value,other)}module.exports=isEqual},function(module,exports,__webpack_require__){var baseDifference=__webpack_require__(980),baseFlatten=__webpack_require__(321),baseRest=__webpack_require__(208),isArrayLikeObject=__webpack_require__(325),last=__webpack_require__(982);var differenceWith=baseRest((function(array,values){var comparator=last(values);if(isArrayLikeObject(comparator)){comparator=undefined}return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,true),undefined,comparator):[]}));module.exports=differenceWith},function(module,exports,__webpack_require__){var SetCache=__webpack_require__(313),arrayIncludes=__webpack_require__(294),arrayIncludesWith=__webpack_require__(981),arrayMap=__webpack_require__(207),baseUnary=__webpack_require__(147),cacheHas=__webpack_require__(314);var LARGE_ARRAY_SIZE=200;function baseDifference(array,values,iteratee,comparator){var index=-1,includes=arrayIncludes,isCommon=true,length=array.length,result=[],valuesLength=values.length;if(!length){return result}if(iteratee){values=arrayMap(values,baseUnary(iteratee))}if(comparator){includes=arrayIncludesWith;isCommon=false}else if(values.length>=LARGE_ARRAY_SIZE){includes=cacheHas;isCommon=false;values=new SetCache(values)}outer:while(++index<length){var value=array[index],computed=iteratee==null?value:iteratee(value);value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var valuesIndex=valuesLength;while(valuesIndex--){if(values[valuesIndex]===computed){continue outer}}result.push(value)}else if(!includes(values,computed,comparator)){result.push(value)}}return result}module.exports=baseDifference},function(module,exports){function arrayIncludesWith(array,value,comparator){var index=-1,length=array==null?0:array.length;while(++index<length){if(comparator(value,array[index])){return true}}return false}module.exports=arrayIncludesWith},function(module,exports){function last(array){var length=array==null?0:array.length;return length?array[length-1]:undefined}module.exports=last},function(module,exports,__webpack_require__){(function(global){
/**
 * vis-data
 * http://visjs.org/
 *
 * Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data.
 *
 * @version 7.1.2
 * @date    2021-01-08T20:37:11.601Z
 *
 * @copyright (c) 2011-2017 Almende B.V, http://almende.com
 * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
 *
 * @license
 * vis.js is dual licensed under both
 *
 *   1. The Apache 2.0 License
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *   and
 *
 *   2. The MIT License
 *      http://opensource.org/licenses/MIT
 *
 * vis.js may be distributed under either license.
 */
!function(t,e){true?e(exports):undefined}(this,(function(t){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t){var e={exports:{}};return t(e,e.exports),e.exports}var n=function(t){return t&&t.Math==Math&&t},i=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")(),o=function(t){try{return!!t()}catch(t){return!0}},a=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,c={f:s&&!u.call({1:2},1)?function(t){var e=s(this,t);return!!e&&e.enumerable}:u},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},p="".split,v=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?p.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return v(d(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!g(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!g(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!g(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!g(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,_=function(t,e){return b.call(t,e)},w=i.document,E=g(w)&&g(w.createElement),O=function(t){return E?w.createElement(t):{}},T=!a&&!o((function(){return 7!=Object.defineProperty(O("div"),"a",{get:function(){return 7}}).a})),S=Object.getOwnPropertyDescriptor,x={f:a?S:function(t,e){if(t=y(t),e=m(e,!0),T)try{return S(t,e)}catch(t){}if(_(t,e))return f(!c.f.call(t,e),t[e])}},k=/#|\.prototype\./,A=function(t,e){var r=I[j(t)];return r==D||r!=P&&("function"==typeof e?o(e):!!e)},j=A.normalize=function(t){return String(t).replace(k,".").toLowerCase()},I=A.data={},P=A.NATIVE="N",D=A.POLYFILL="P",L=A,C={},R=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},M=function(t,e,r){if(R(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}},N=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},F=Object.defineProperty,z={f:a?F:function(t,e,r){if(N(t),e=m(e,!0),N(r),T)try{return F(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},q=a?function(t,e,r){return z.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},Y=x.f,U=function(t){var e=function(e,r,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,r)}return new t(e,r,n)}return t.apply(this,arguments)};return e.prototype=t.prototype,e},X=function(t,e){var r,n,o,a,u,s,c,f,l=t.target,h=t.global,p=t.stat,v=t.proto,d=h?i:p?i[l]:(i[l]||{}).prototype,y=h?C:C[l]||(C[l]={}),g=y.prototype;for(o in e)r=!L(h?o:l+(p?".":"#")+o,t.forced)&&d&&_(d,o),u=y[o],r&&(s=t.noTargetGet?(f=Y(d,o))&&f.value:d[o]),a=r&&s?s:e[o],r&&typeof u==typeof a||(c=t.bind&&r?M(a,i):t.wrap&&r?U(a):v&&"function"==typeof a?M(Function.call,a):a,(t.sham||a&&a.sham||u&&u.sham)&&q(c,"sham",!0),y[o]=c,v&&(_(C,n=l+"Prototype")||q(C,n,{}),C[n][o]=a,t.real&&g&&!g[o]&&q(g,o,a)))},V=Array.isArray||function(t){return"Array"==h(t)},W=Math.ceil,G=Math.floor,H=function(t){return isNaN(t=+t)?0:(t>0?G:W)(t)},$=Math.min,J=function(t){return t>0?$(H(t),9007199254740991):0},Q=function(t,e,r,n,i,o,a,u){for(var s,c=i,f=0,l=!!a&&M(a,u,3);f<n;){if(f in r){if(s=l?l(r[f],f,e):r[f],o>0&&V(s))c=Q(t,e,s,J(s.length),c,o-1)-1;else{if(c>=9007199254740991)throw TypeError("Exceed the acceptable array length");t[c]=s}c++}f++}return c},B=Q,K=function(t){return Object(d(t))},Z="__core-js_shared__",tt=i[Z]||function(t,e){try{q(i,t,e)}catch(r){i[t]=e}return e}(Z,{}),et=r((function(t){(t.exports=function(t,e){return tt[t]||(tt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.7.0",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),rt=0,nt=Math.random(),it=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++rt+nt).toString(36)},ot=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())})),at=ot&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,ut=et("wks"),st=i.Symbol,ct=at?st:st&&st.withoutSetter||it,ft=function(t){return _(ut,t)||(ot&&_(st,t)?ut[t]=st[t]:ut[t]=ct("Symbol."+t)),ut[t]},lt=ft("species"),ht=function(t,e){var r;return V(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!V(r.prototype)?g(r)&&null===(r=r[lt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)};X({target:"Array",proto:!0},{flatMap:function(t){var e,r=K(this),n=J(r.length);return R(t),(e=ht(r,0)).length=B(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}});var pt,vt,dt=function(t){return C[t+"Prototype"]},yt=dt("Array").flatMap,gt=Array.prototype,mt=function(t){var e=t.flatMap;return t===gt||t instanceof Array&&e===gt.flatMap?yt:e},bt=[].push,_t=function(t){var e=1==t,r=2==t,n=3==t,i=4==t,o=6==t,a=5==t||o;return function(u,s,c,f){for(var l,h,p=K(u),d=v(p),y=M(s,c,3),g=J(d.length),m=0,b=f||ht,_=e?b(u,g):r?b(u,0):void 0;g>m;m++)if((a||m in d)&&(h=y(l=d[m],m,p),t))if(e)_[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:bt.call(_,l)}else if(i)return!1;return o?-1:n||i?i:_}},wt={forEach:_t(0),map:_t(1),filter:_t(2),some:_t(3),every:_t(4),find:_t(5),findIndex:_t(6)},Et=function(t){return"function"==typeof t?t:void 0},Ot=function(t,e){return arguments.length<2?Et(C[t])||Et(i[t]):C[t]&&C[t][e]||i[t]&&i[t][e]},Tt=Ot("navigator","userAgent")||"",St=i.process,xt=St&&St.versions,kt=xt&&xt.v8;kt?vt=(pt=kt.split("."))[0]+pt[1]:Tt&&(!(pt=Tt.match(/Edge\/(\d+)/))||pt[1]>=74)&&(pt=Tt.match(/Chrome\/(\d+)/))&&(vt=pt[1]);var At=vt&&+vt,jt=ft("species"),It=function(t){return At>=51||!o((function(){var e=[];return(e.constructor={})[jt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Pt=Object.defineProperty,Dt={},Lt=function(t){throw t},Ct=function(t,e){if(_(Dt,t))return Dt[t];e||(e={});var r=[][t],n=!!_(e,"ACCESSORS")&&e.ACCESSORS,i=_(e,0)?e[0]:Lt,u=_(e,1)?e[1]:void 0;return Dt[t]=!!r&&!o((function(){if(n&&!a)return!0;var t={length:-1};n?Pt(t,1,{enumerable:!0,get:Lt}):t[1]=1,r.call(t,i,u)}))},Rt=wt.map,Mt=It("map"),Nt=Ct("map");X({target:"Array",proto:!0,forced:!Mt||!Nt},{map:function(t){return Rt(this,t,arguments.length>1?arguments[1]:void 0)}});var Ft=dt("Array").map,zt=Array.prototype,qt=function(t){var e=t.map;return t===zt||t instanceof Array&&e===zt.map?Ft:e},Yt=wt.filter,Ut=It("filter"),Xt=Ct("filter");X({target:"Array",proto:!0,forced:!Ut||!Xt},{filter:function(t){return Yt(this,t,arguments.length>1?arguments[1]:void 0)}});var Vt=dt("Array").filter,Wt=Array.prototype,Gt=function(t){var e=t.filter;return t===Wt||t instanceof Array&&e===Wt.filter?Vt:e},Ht=function(t){return function(e,r,n,i){R(r);var o=K(e),a=v(o),u=J(o.length),s=t?u-1:0,c=t?-1:1;if(n<2)for(;;){if(s in a){i=a[s],s+=c;break}if(s+=c,t?s<0:u<=s)throw TypeError("Reduce of empty array with no initial value")}for(;t?s>=0:u>s;s+=c)s in a&&(i=r(i,a[s],s,o));return i}},$t={left:Ht(!1),right:Ht(!0)},Jt=function(t,e){var r=[][t];return!!r&&o((function(){r.call(null,e||function(){throw 1},1)}))},Qt="process"==h(i.process),Bt=$t.left,Kt=Jt("reduce"),Zt=Ct("reduce",{1:0});X({target:"Array",proto:!0,forced:!Kt||!Zt||!Qt&&At>79&&At<83},{reduce:function(t){return Bt(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}});var te=dt("Array").reduce,ee=Array.prototype,re=function(t){var e=t.reduce;return t===ee||t instanceof Array&&e===ee.reduce?te:e},ne=[].slice,ie={},oe=function(t,e,r){if(!(e in ie)){for(var n=[],i=0;i<e;i++)n[i]="a["+i+"]";ie[e]=Function("C,a","return new C("+n.join(",")+")")}return ie[e](t,r)},ae=Function.bind||function(t){var e=R(this),r=ne.call(arguments,1),n=function(){var i=r.concat(ne.call(arguments));return this instanceof n?oe(e,i.length,i):e.apply(t,i)};return g(e.prototype)&&(n.prototype=e.prototype),n};X({target:"Function",proto:!0},{bind:ae});var ue=dt("Function").bind,se=Function.prototype,ce=function(t){var e=t.bind;return t===se||t instanceof Function&&e===se.bind?ue:e};var fe=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};X({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperty:z.f});var le=r((function(t){var e=C.Object,r=t.exports=function(t,r,n){return e.defineProperty(t,r,n)};e.defineProperty.sham&&(r.sham=!0)})),he=le;function pe(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),he(t,n.key,n)}}var ve=function(t,e,r){return e&&pe(t.prototype,e),r&&pe(t,r),t};var de=function(){function t(e,r,n){var i,o,a;fe(this,t),this._source=e,this._transformers=r,this._target=n,this._listeners={add:ce(i=this._add).call(i,this),remove:ce(o=this._remove).call(o,this),update:ce(a=this._update).call(a,this)}}return ve(t,[{key:"all",value:function(){return this._target.update(this._transformItems(this._source.get())),this}},{key:"start",value:function(){return this._source.on("add",this._listeners.add),this._source.on("remove",this._listeners.remove),this._source.on("update",this._listeners.update),this}},{key:"stop",value:function(){return this._source.off("add",this._listeners.add),this._source.off("remove",this._listeners.remove),this._source.off("update",this._listeners.update),this}},{key:"_transformItems",value:function(t){var e;return re(e=this._transformers).call(e,(function(t,e){return e(t)}),t)}},{key:"_add",value:function(t,e){null!=e&&this._target.add(this._transformItems(this._source.get(e.items)))}},{key:"_update",value:function(t,e){null!=e&&this._target.update(this._transformItems(this._source.get(e.items)))}},{key:"_remove",value:function(t,e){null!=e&&this._target.remove(this._transformItems(e.oldData))}}]),t}(),ye=function(){function t(e){fe(this,t),this._source=e,this._transformers=[]}return ve(t,[{key:"filter",value:function(t){return this._transformers.push((function(e){return Gt(e).call(e,t)})),this}},{key:"map",value:function(t){return this._transformers.push((function(e){return qt(e).call(e,t)})),this}},{key:"flatMap",value:function(t){return this._transformers.push((function(e){return mt(e).call(e,t)})),this}},{key:"to",value:function(t){return new de(this._source,this._transformers,t)}}]),t}(),ge=le,me=Math.max,be=Math.min,_e=function(t,e){var r=H(t);return r<0?me(r+e,0):be(r,e)},we=function(t){return function(e,r,n){var i,o=y(e),a=J(o.length),u=_e(n,a);if(t&&r!=r){for(;a>u;)if((i=o[u++])!=i)return!0}else for(;a>u;u++)if((t||u in o)&&o[u]===r)return t||u||0;return!t&&-1}},Ee={includes:we(!0),indexOf:we(!1)},Oe={},Te=Ee.indexOf,Se=function(t,e){var r,n=y(t),i=0,o=[];for(r in n)!_(Oe,r)&&_(n,r)&&o.push(r);for(;e.length>i;)_(n,r=e[i++])&&(~Te(o,r)||o.push(r));return o},xe=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ke=Object.keys||function(t){return Se(t,xe)},Ae=a?Object.defineProperties:function(t,e){N(t);for(var r,n=ke(e),i=n.length,o=0;i>o;)z.f(t,r=n[o++],e[r]);return t};X({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperties:Ae});var je=r((function(t){var e=C.Object,r=t.exports=function(t,r){return e.defineProperties(t,r)};e.defineProperties.sham&&(r.sham=!0)})),Ie=xe.concat("length","prototype"),Pe={f:Object.getOwnPropertyNames||function(t){return Se(t,Ie)}},De={f:Object.getOwnPropertySymbols},Le=Ot("Reflect","ownKeys")||function(t){var e=Pe.f(N(t)),r=De.f;return r?e.concat(r(t)):e},Ce=function(t,e,r){var n=m(e);n in t?z.f(t,n,f(0,r)):t[n]=r};X({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var e,r,n=y(t),i=x.f,o=Le(n),a={},u=0;o.length>u;)void 0!==(r=i(n,e=o[u++]))&&Ce(a,e,r);return a}});var Re=C.Object.getOwnPropertyDescriptors,Me=x.f,Ne=o((function(){Me(1)}));X({target:"Object",stat:!0,forced:!a||Ne,sham:!a},{getOwnPropertyDescriptor:function(t,e){return Me(y(t),e)}});var Fe,ze=r((function(t){var e=C.Object,r=t.exports=function(t,r){return e.getOwnPropertyDescriptor(t,r)};e.getOwnPropertyDescriptor.sham&&(r.sham=!0)})),qe=Ot("document","documentElement"),Ye=et("keys"),Ue=function(t){return Ye[t]||(Ye[t]=it(t))},Xe=Ue("IE_PROTO"),Ve=function(){},We=function(t){return"<script>"+t+"</"+"script>"},Ge=function(){try{Fe=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Ge=Fe?function(t){t.write(We("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Fe):((e=O("iframe")).style.display="none",qe.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(We("document.F=Object")),t.close(),t.F);for(var r=xe.length;r--;)delete Ge.prototype[xe[r]];return Ge()};Oe[Xe]=!0;var He=Object.create||function(t,e){var r;return null!==t?(Ve.prototype=N(t),r=new Ve,Ve.prototype=null,r[Xe]=t):r=Ge(),void 0===e?r:Ae(r,e)},$e=Pe.f,Je={}.toString,Qe="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Be={f:function(t){return Qe&&"[object Window]"==Je.call(t)?function(t){try{return $e(t)}catch(t){return Qe.slice()}}(t):$e(y(t))}},Ke=function(t,e,r,n){n&&n.enumerable?t[e]=r:q(t,e,r)},Ze={f:ft},tr=z.f,er=function(t){var e=C.Symbol||(C.Symbol={});_(e,t)||tr(e,t,{value:Ze.f(t)})},rr={};rr[ft("toStringTag")]="z";var nr="[object z]"===String(rr),ir=ft("toStringTag"),or="Arguments"==h(function(){return arguments}()),ar=nr?h:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),ir))?r:or?h(e):"Object"==(n=h(e))&&"function"==typeof e.callee?"Arguments":n},ur=nr?{}.toString:function(){return"[object "+ar(this)+"]"},sr=z.f,cr=ft("toStringTag"),fr=function(t,e,r,n){if(t){var i=r?t:t.prototype;_(i,cr)||sr(i,cr,{configurable:!0,value:e}),n&&!nr&&q(i,"toString",ur)}},lr=Function.toString;"function"!=typeof tt.inspectSource&&(tt.inspectSource=function(t){return lr.call(t)});var hr,pr,vr,dr=tt.inspectSource,yr=i.WeakMap,gr="function"==typeof yr&&/native code/.test(dr(yr)),mr=i.WeakMap;if(gr){var br=tt.state||(tt.state=new mr),_r=br.get,wr=br.has,Er=br.set;hr=function(t,e){return e.facade=t,Er.call(br,t,e),e},pr=function(t){return _r.call(br,t)||{}},vr=function(t){return wr.call(br,t)}}else{var Or=Ue("state");Oe[Or]=!0,hr=function(t,e){return e.facade=t,q(t,Or,e),e},pr=function(t){return _(t,Or)?t[Or]:{}},vr=function(t){return _(t,Or)}}var Tr={set:hr,get:pr,has:vr,enforce:function(t){return vr(t)?pr(t):hr(t,{})},getterFor:function(t){return function(e){var r;if(!g(e)||(r=pr(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},Sr=wt.forEach,xr=Ue("hidden"),kr="Symbol",Ar=ft("toPrimitive"),jr=Tr.set,Ir=Tr.getterFor(kr),Pr=Object.prototype,Dr=i.Symbol,Lr=Ot("JSON","stringify"),Cr=x.f,Rr=z.f,Mr=Be.f,Nr=c.f,Fr=et("symbols"),zr=et("op-symbols"),qr=et("string-to-symbol-registry"),Yr=et("symbol-to-string-registry"),Ur=et("wks"),Xr=i.QObject,Vr=!Xr||!Xr.prototype||!Xr.prototype.findChild,Wr=a&&o((function(){return 7!=He(Rr({},"a",{get:function(){return Rr(this,"a",{value:7}).a}})).a}))?function(t,e,r){var n=Cr(Pr,e);n&&delete Pr[e],Rr(t,e,r),n&&t!==Pr&&Rr(Pr,e,n)}:Rr,Gr=function(t,e){var r=Fr[t]=He(Dr.prototype);return jr(r,{type:kr,tag:t,description:e}),a||(r.description=e),r},Hr=at?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Dr},$r=function(t,e,r){t===Pr&&$r(zr,e,r),N(t);var n=m(e,!0);return N(r),_(Fr,n)?(r.enumerable?(_(t,xr)&&t[xr][n]&&(t[xr][n]=!1),r=He(r,{enumerable:f(0,!1)})):(_(t,xr)||Rr(t,xr,f(1,{})),t[xr][n]=!0),Wr(t,n,r)):Rr(t,n,r)},Jr=function(t,e){N(t);var r=y(e),n=ke(r).concat(Zr(r));return Sr(n,(function(e){a&&!Qr.call(r,e)||$r(t,e,r[e])})),t},Qr=function(t){var e=m(t,!0),r=Nr.call(this,e);return!(this===Pr&&_(Fr,e)&&!_(zr,e))&&(!(r||!_(this,e)||!_(Fr,e)||_(this,xr)&&this[xr][e])||r)},Br=function(t,e){var r=y(t),n=m(e,!0);if(r!==Pr||!_(Fr,n)||_(zr,n)){var i=Cr(r,n);return!i||!_(Fr,n)||_(r,xr)&&r[xr][n]||(i.enumerable=!0),i}},Kr=function(t){var e=Mr(y(t)),r=[];return Sr(e,(function(t){_(Fr,t)||_(Oe,t)||r.push(t)})),r},Zr=function(t){var e=t===Pr,r=Mr(e?zr:y(t)),n=[];return Sr(r,(function(t){!_(Fr,t)||e&&!_(Pr,t)||n.push(Fr[t])})),n};if(ot||(Ke((Dr=function(){if(this instanceof Dr)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=it(t),r=function(t){this===Pr&&r.call(zr,t),_(this,xr)&&_(this[xr],e)&&(this[xr][e]=!1),Wr(this,e,f(1,t))};return a&&Vr&&Wr(Pr,e,{configurable:!0,set:r}),Gr(e,t)}).prototype,"toString",(function(){return Ir(this).tag})),Ke(Dr,"withoutSetter",(function(t){return Gr(it(t),t)})),c.f=Qr,z.f=$r,x.f=Br,Pe.f=Be.f=Kr,De.f=Zr,Ze.f=function(t){return Gr(ft(t),t)},a&&Rr(Dr.prototype,"description",{configurable:!0,get:function(){return Ir(this).description}})),X({global:!0,wrap:!0,forced:!ot,sham:!ot},{Symbol:Dr}),Sr(ke(Ur),(function(t){er(t)})),X({target:kr,stat:!0,forced:!ot},{for:function(t){var e=String(t);if(_(qr,e))return qr[e];var r=Dr(e);return qr[e]=r,Yr[r]=e,r},keyFor:function(t){if(!Hr(t))throw TypeError(t+" is not a symbol");if(_(Yr,t))return Yr[t]},useSetter:function(){Vr=!0},useSimple:function(){Vr=!1}}),X({target:"Object",stat:!0,forced:!ot,sham:!a},{create:function(t,e){return void 0===e?He(t):Jr(He(t),e)},defineProperty:$r,defineProperties:Jr,getOwnPropertyDescriptor:Br}),X({target:"Object",stat:!0,forced:!ot},{getOwnPropertyNames:Kr,getOwnPropertySymbols:Zr}),X({target:"Object",stat:!0,forced:o((function(){De.f(1)}))},{getOwnPropertySymbols:function(t){return De.f(K(t))}}),Lr){var tn=!ot||o((function(){var t=Dr();return"[null]"!=Lr([t])||"{}"!=Lr({a:t})||"{}"!=Lr(Object(t))}));X({target:"JSON",stat:!0,forced:tn},{stringify:function(t,e,r){for(var n,i=[t],o=1;arguments.length>o;)i.push(arguments[o++]);if(n=e,(g(e)||void 0!==t)&&!Hr(t))return V(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Hr(e))return e}),i[1]=e,Lr.apply(null,i)}})}Dr.prototype[Ar]||q(Dr.prototype,Ar,Dr.prototype.valueOf),fr(Dr,kr),Oe[xr]=!0;var en,rn,nn,on=C.Object.getOwnPropertySymbols,an={},un=!o((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),sn=Ue("IE_PROTO"),cn=Object.prototype,fn=un?Object.getPrototypeOf:function(t){return t=K(t),_(t,sn)?t[sn]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?cn:null},ln=(ft("iterator"),!1);[].keys&&("next"in(nn=[].keys())?(rn=fn(fn(nn)))!==Object.prototype&&(en=rn):ln=!0),null==en&&(en={});var hn={IteratorPrototype:en,BUGGY_SAFARI_ITERATORS:ln},pn=hn.IteratorPrototype,vn=function(){return this},dn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return N(r),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),yn=hn.IteratorPrototype,gn=hn.BUGGY_SAFARI_ITERATORS,mn=ft("iterator"),bn="keys",_n="values",wn="entries",En=function(){return this},On=function(t,e,r,n,i,o,a){!function(t,e,r){var n=e+" Iterator";t.prototype=He(pn,{next:f(1,r)}),fr(t,n,!1,!0),an[n]=vn}(r,e,n);var u,s,c,l=function(t){if(t===i&&y)return y;if(!gn&&t in v)return v[t];switch(t){case bn:case _n:case wn:return function(){return new r(this,t)}}return function(){return new r(this)}},h=e+" Iterator",p=!1,v=t.prototype,d=v[mn]||v["@@iterator"]||i&&v[i],y=!gn&&d||l(i),g="Array"==e&&v.entries||d;if(g&&(u=fn(g.call(new t)),yn!==Object.prototype&&u.next&&(fr(u,h,!0,!0),an[h]=En)),i==_n&&d&&d.name!==_n&&(p=!0,y=function(){return d.call(this)}),a&&v[mn]!==y&&q(v,mn,y),an[e]=y,i)if(s={values:l(_n),keys:o?y:l(bn),entries:l(wn)},a)for(c in s)(gn||p||!(c in v))&&Ke(v,c,s[c]);else X({target:e,proto:!0,forced:gn||p},s);return s},Tn="Array Iterator",Sn=Tr.set,xn=Tr.getterFor(Tn);On(Array,"Array",(function(t,e){Sn(this,{type:Tn,target:y(t),index:0,kind:e})}),(function(){var t=xn(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");an.Arguments=an.Array;var kn=ft("toStringTag");for(var An in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var jn=i[An],In=jn&&jn.prototype;In&&ar(In)!==kn&&q(In,kn,An),an[An]=an.Array}var Pn=function(t){return function(e,r){var n,i,o=String(d(e)),a=H(r),u=o.length;return a<0||a>=u?t?"":void 0:(n=o.charCodeAt(a))<55296||n>56319||a+1===u||(i=o.charCodeAt(a+1))<56320||i>57343?t?o.charAt(a):n:t?o.slice(a,a+2):i-56320+(n-55296<<10)+65536}},Dn={codeAt:Pn(!1),charAt:Pn(!0)}.charAt,Ln="String Iterator",Cn=Tr.set,Rn=Tr.getterFor(Ln);On(String,"String",(function(t){Cn(this,{type:Ln,string:String(t),index:0})}),(function(){var t,e=Rn(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Dn(r,n),e.index+=t.length,{value:t,done:!1})}));var Mn=ft("iterator"),Nn=function(t){if(null!=t)return t[Mn]||t["@@iterator"]||an[ar(t)]},Fn=function(t){var e=Nn(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return N(e.call(t))},zn=Nn,qn=function(t){var e=t.return;if(void 0!==e)return N(e.call(t)).value},Yn=function(t,e,r,n){try{return n?e(N(r)[0],r[1]):e(r)}catch(e){throw qn(t),e}},Un=ft("iterator"),Xn=Array.prototype,Vn=function(t){return void 0!==t&&(an.Array===t||Xn[Un]===t)},Wn=ft("iterator"),Gn=!1;try{var Hn=0,$n={next:function(){return{done:!!Hn++}},return:function(){Gn=!0}};$n[Wn]=function(){return this},Array.from($n,(function(){throw 2}))}catch(t){}var Jn=!function(t,e){if(!e&&!Gn)return!1;var r=!1;try{var n={};n[Wn]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r}((function(t){Array.from(t)}));X({target:"Array",stat:!0,forced:Jn},{from:function(t){var e,r,n,i,o,a,u=K(t),s="function"==typeof this?this:Array,c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=Nn(u),p=0;if(l&&(f=M(f,c>2?arguments[2]:void 0,2)),null==h||s==Array&&Vn(h))for(r=new s(e=J(u.length));e>p;p++)a=l?f(u[p],p):u[p],Ce(r,p,a);else for(o=(i=h.call(u)).next,r=new s;!(n=o.call(i)).done;p++)a=l?Yn(i,f,[n.value,p],!0):n.value,Ce(r,p,a);return r.length=p,r}});var Qn=C.Array.from,Bn=Qn;X({target:"Array",proto:!0},{fill:function(t){for(var e=K(this),r=J(e.length),n=arguments.length,i=_e(n>1?arguments[1]:void 0,r),o=n>2?arguments[2]:void 0,a=void 0===o?r:_e(o,r);a>i;)e[i++]=t;return e}});dt("Array").fill;var Kn=[].slice,Zn=/MSIE .\./.test(Tt),ti=function(t){return function(e,r){var n=arguments.length>2,i=n?Kn.call(arguments,2):void 0;return t(n?function(){("function"==typeof e?e:Function(e)).apply(this,i)}:e,r)}};X({global:!0,bind:!0,forced:Zn},{setTimeout:ti(i.setTimeout),setInterval:ti(i.setInterval)});var ei=C.setTimeout,ri=Ot("JSON","stringify"),ni=/[\uD800-\uDFFF]/g,ii=/^[\uD800-\uDBFF]$/,oi=/^[\uDC00-\uDFFF]$/,ai=function(t,e,r){var n=r.charAt(e-1),i=r.charAt(e+1);return ii.test(t)&&!oi.test(i)||oi.test(t)&&!ii.test(n)?"\\u"+t.charCodeAt(0).toString(16):t},ui=o((function(){return'"\\udf06\\ud834"'!==ri("\udf06\ud834")||'"\\udead"'!==ri("\udead")}));ri&&X({target:"JSON",stat:!0,forced:ui},{stringify:function(t,e,r){var n=ri.apply(null,arguments);return"string"==typeof n?n.replace(ni,ai):n}}),C.JSON||(C.JSON={stringify:JSON.stringify});var si=function(t,e,r){return C.JSON.stringify.apply(null,arguments)};X({target:"Object",stat:!0,sham:!a},{create:He});var ci=C.Object,fi=function(t,e){return ci.create(t,e)},li=fi;var hi,pi=function(t,e,r){return e in t?he(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},vi="\t\n\v\f\r                　\u2028\u2029\ufeff",di="["+vi+"]",yi=RegExp("^"+di+di+"*"),gi=RegExp(di+di+"*$"),mi=function(t){return function(e){var r=String(d(e));return 1&t&&(r=r.replace(yi,"")),2&t&&(r=r.replace(gi,"")),r}},bi={start:mi(1),end:mi(2),trim:mi(3)},_i=bi.trim;X({target:"String",proto:!0,forced:(hi="trim",o((function(){return!!vi[hi]()||"​᠎"!="​᠎"[hi]()||vi[hi].name!==hi})))},{trim:function(){return _i(this)}});dt("String").trim;var wi=Ee.indexOf,Ei=[].indexOf,Oi=!!Ei&&1/[1].indexOf(1,-0)<0,Ti=Jt("indexOf"),Si=Ct("indexOf",{ACCESSORS:!0,1:0});X({target:"Array",proto:!0,forced:Oi||!Ti||!Si},{indexOf:function(t){return Oi?Ei.apply(this,arguments)||0:wi(this,t,arguments.length>1?arguments[1]:void 0)}});dt("Array").indexOf;var xi=bi.trim,ki=i.parseInt,Ai=/^[+-]?0[Xx]/,ji=8!==ki(vi+"08")||22!==ki(vi+"0x16")?function(t,e){var r=xi(String(t));return ki(r,e>>>0||(Ai.test(r)?16:10))}:ki;X({global:!0,forced:parseInt!=ji},{parseInt:ji});var Ii=c.f,Pi=function(t){return function(e){for(var r,n=y(e),i=ke(n),o=i.length,u=0,s=[];o>u;)r=i[u++],a&&!Ii.call(n,r)||s.push(t?[r,n[r]]:n[r]);return s}},Di={entries:Pi(!0),values:Pi(!1)}.values;X({target:"Object",stat:!0},{values:function(t){return Di(t)}});C.Object.values;var Li=o((function(){fn(1)}));X({target:"Object",stat:!0,forced:Li,sham:!un},{getPrototypeOf:function(t){return fn(K(t))}});var Ci=C.Object.getPrototypeOf,Ri=Ee.includes,Mi=Ct("indexOf",{ACCESSORS:!0,1:0});X({target:"Array",proto:!0,forced:!Mi},{includes:function(t){return Ri(this,t,arguments.length>1?arguments[1]:void 0)}});dt("Array").includes;var Ni=ft("match"),Fi=function(t){if(function(t){var e;return g(t)&&(void 0!==(e=t[Ni])?!!e:"RegExp"==h(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},zi=ft("match");X({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[zi]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(d(this)).indexOf(Fi(t),arguments.length>1?arguments[1]:void 0)}});dt("String").includes;var qi=Object.assign,Yi=Object.defineProperty,Ui=!qi||o((function(){if(a&&1!==qi({b:1},qi(Yi({},"a",{enumerable:!0,get:function(){Yi(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach((function(t){e[t]=t})),7!=qi({},t)[r]||ke(qi({},e)).join("")!=n}))?function(t,e){for(var r=K(t),n=arguments.length,i=1,o=De.f,u=c.f;n>i;)for(var s,f=v(arguments[i++]),l=o?ke(f).concat(o(f)):ke(f),h=l.length,p=0;h>p;)s=l[p++],a&&!u.call(f,s)||(r[s]=f[s]);return r}:qi;X({target:"Object",stat:!0,forced:Object.assign!==Ui},{assign:Ui});var Xi=C.Object.assign,Vi=It("splice"),Wi=Ct("splice",{ACCESSORS:!0,0:0,1:2}),Gi=Math.max,Hi=Math.min,$i=9007199254740991,Ji="Maximum allowed length exceeded";X({target:"Array",proto:!0,forced:!Vi||!Wi},{splice:function(t,e){var r,n,i,o,a,u,s=K(this),c=J(s.length),f=_e(t,c),l=arguments.length;if(0===l?r=n=0:1===l?(r=0,n=c-f):(r=l-2,n=Hi(Gi(H(e),0),c-f)),c+r-n>$i)throw TypeError(Ji);for(i=ht(s,n),o=0;o<n;o++)(a=f+o)in s&&Ce(i,o,s[a]);if(i.length=n,r<n){for(o=f;o<c-n;o++)u=o+r,(a=o+n)in s?s[u]=s[a]:delete s[u];for(o=c;o>c-n+r;o--)delete s[o-1]}else if(r>n)for(o=c-n;o>f;o--)u=o+r-1,(a=o+n-1)in s?s[u]=s[a]:delete s[u];for(o=0;o<r;o++)s[o+f]=arguments[o+2];return s.length=c-n+r,i}});var Qi=dt("Array").splice,Bi=Array.prototype,Ki=function(t){var e=t.splice;return t===Bi||t instanceof Array&&e===Bi.splice?Qi:e},Zi=[].reverse,to=[1,2];X({target:"Array",proto:!0,forced:String(to)===String(to.reverse())},{reverse:function(){return V(this)&&(this.length=this.length),Zi.call(this)}});var eo=dt("Array").reverse,ro=Array.prototype,no=function(t){var e=t.reverse;return t===ro||t instanceof Array&&e===ro.reverse?eo:e},io=wt.forEach,oo=Jt("forEach"),ao=Ct("forEach"),uo=oo&&ao?[].forEach:function(t){return io(this,t,arguments.length>1?arguments[1]:void 0)};X({target:"Array",proto:!0,forced:[].forEach!=uo},{forEach:uo});var so=dt("Array").forEach,co=Array.prototype,fo={DOMTokenList:!0,NodeList:!0},lo=function(t){var e=t.forEach;return t===co||t instanceof Array&&e===co.forEach||fo.hasOwnProperty(ar(t))?so:e};X({target:"Array",stat:!0},{isArray:V});var ho=C.Array.isArray,po=ho;var vo=function(t){if(po(t))return t},yo=ft("iterator"),go=function(t){var e=Object(t);return void 0!==e[yo]||"@@iterator"in e||an.hasOwnProperty(ar(e))},mo=ft("isConcatSpreadable"),bo=9007199254740991,_o="Maximum allowed index exceeded",wo=At>=51||!o((function(){var t=[];return t[mo]=!1,t.concat()[0]!==t})),Eo=It("concat"),Oo=function(t){if(!g(t))return!1;var e=t[mo];return void 0!==e?!!e:V(t)};X({target:"Array",proto:!0,forced:!wo||!Eo},{concat:function(t){var e,r,n,i,o,a=K(this),u=ht(a,0),s=0;for(e=-1,n=arguments.length;e<n;e++)if(Oo(o=-1===e?a:arguments[e])){if(s+(i=J(o.length))>bo)throw TypeError(_o);for(r=0;r<i;r++,s++)r in o&&Ce(u,s,o[r])}else{if(s>=bo)throw TypeError(_o);Ce(u,s++,o)}return u.length=s,u}}),er("asyncIterator"),er("hasInstance"),er("isConcatSpreadable"),er("iterator"),er("match"),er("matchAll"),er("replace"),er("search"),er("species"),er("split"),er("toPrimitive"),er("toStringTag"),er("unscopables"),fr(i.JSON,"JSON",!0);var To=C.Symbol;er("asyncDispose"),er("dispose"),er("observable"),er("patternMatch"),er("replaceAll");var So=To;var xo=function(t,e){if(void 0!==So&&go(Object(t))){var r=[],n=!0,i=!1,o=void 0;try{for(var a,u=Fn(t);!(n=(a=u.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==u.return||u.return()}finally{if(i)throw o}}return r}},ko=Qn,Ao=It("slice"),jo=Ct("slice",{ACCESSORS:!0,0:0,1:2}),Io=ft("species"),Po=[].slice,Do=Math.max;X({target:"Array",proto:!0,forced:!Ao||!jo},{slice:function(t,e){var r,n,i,o=y(this),a=J(o.length),u=_e(t,a),s=_e(void 0===e?a:e,a);if(V(o)&&("function"!=typeof(r=o.constructor)||r!==Array&&!V(r.prototype)?g(r)&&null===(r=r[Io])&&(r=void 0):r=void 0,r===Array||void 0===r))return Po.call(o,u,s);for(n=new(void 0===r?Array:r)(Do(s-u,0)),i=0;u<s;u++,i++)u in o&&Ce(n,i,o[u]);return n.length=i,n}});var Lo=dt("Array").slice,Co=Array.prototype,Ro=function(t){var e=t.slice;return t===Co||t instanceof Array&&e===Co.slice?Lo:e},Mo=Ro;var No=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n};var Fo=function(t,e){var r;if(t){if("string"==typeof t)return No(t,e);var n=Mo(r=Object.prototype.toString.call(t)).call(r,8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?ko(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?No(t,e):void 0}};var zo=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")};var qo=function(t,e){return vo(t)||xo(t,e)||Fo(t,e)||zo()};X({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});C.Date.now;var Yo=o((function(){ke(1)}));X({target:"Object",stat:!0,forced:Yo},{keys:function(t){return ke(K(t))}});var Uo=C.Object.keys,Xo=ho,Vo=Ze.f("iterator"),Wo=Vo,Go=r((function(t){function e(r){return t.exports=e="function"==typeof So&&"symbol"==typeof Wo?function(t){return typeof t}:function(t){return t&&"function"==typeof So&&t.constructor===So&&t!==So.prototype?"symbol":typeof t},e(r)}t.exports=e}));X({target:"Reflect",stat:!0},{ownKeys:Le});var Ho=C.Reflect.ownKeys,$o=Ro;var Jo=function(t){if(po(t))return No(t)};var Qo=function(t){if(void 0!==So&&go(Object(t)))return ko(t)};var Bo=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")};var Ko=function(t){return Jo(t)||Qo(t)||Fo(t)||Bo()},Zo=dt("Array").concat,ta=Array.prototype,ea=function(t){var e=t.concat;return t===ta||t instanceof Array&&e===ta.concat?Zo:e},ra=To,na=r((function(t){function e(t){if(t)return function(t){for(var r in e.prototype)t[r]=e.prototype[r];return t}(t)}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},e.prototype.once=function(t,e){function r(){this.off(t,r),e.apply(this,arguments)}return r.fn=e,this.on(t,r),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r,n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var i=0;i<n.length;i++)if((r=n[i])===e||r.fn===e){n.splice(i,1);break}return 0===n.length&&delete this._callbacks["$"+t],this},e.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),r=this._callbacks["$"+t],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(r){n=0;for(var i=(r=r.slice(0)).length;n<i;++n)r[n].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}}));
/*! Hammer.JS - v2.0.17-rc - 2019-12-16
	 * http://naver.github.io/egjs
	 *
	 * Forked By Naver egjs
	 * Copyright (c) hammerjs
	 * Licensed under the MIT license */function ia(){return(ia=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}function oa(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function aa(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var ua,sa="function"!=typeof Object.assign?function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),r=1;r<arguments.length;r++){var n=arguments[r];if(null!=n)for(var i in n)n.hasOwnProperty(i)&&(e[i]=n[i])}return e}:Object.assign,ca=["","webkit","Moz","MS","ms","o"],fa="undefined"==typeof document?{style:{}}:document.createElement("div"),la=Math.round,ha=Math.abs,pa=Date.now;function va(t,e){for(var r,n,i=e[0].toUpperCase()+e.slice(1),o=0;o<ca.length;){if((n=(r=ca[o])?r+i:e)in t)return n;o++}}ua="undefined"==typeof window?{}:window;var da=va(fa.style,"touchAction"),ya=void 0!==da;var ga="compute",ma="auto",ba="manipulation",_a="none",wa="pan-x",Ea="pan-y",Oa=function(){if(!ya)return!1;var t={},e=ua.CSS&&ua.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(r){return t[r]=!e||ua.CSS.supports("touch-action",r)})),t}(),Ta="ontouchstart"in ua,Sa=void 0!==va(ua,"PointerEvent"),xa=Ta&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),ka="touch",Aa="mouse",ja=16,Ia=24,Pa=["x","y"],Da=["clientX","clientY"];function La(t,e,r){var n;if(t)if(t.forEach)t.forEach(e,r);else if(void 0!==t.length)for(n=0;n<t.length;)e.call(r,t[n],n,t),n++;else for(n in t)t.hasOwnProperty(n)&&e.call(r,t[n],n,t)}function Ca(t,e){return"function"==typeof t?t.apply(e&&e[0]||void 0,e):t}function Ra(t,e){return t.indexOf(e)>-1}var Ma=function(){function t(t,e){this.manager=t,this.set(e)}var e=t.prototype;return e.set=function(t){t===ga&&(t=this.compute()),ya&&this.manager.element.style&&Oa[t]&&(this.manager.element.style[da]=t),this.actions=t.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var t=[];return La(this.manager.recognizers,(function(e){Ca(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(Ra(t,_a))return _a;var e=Ra(t,wa),r=Ra(t,Ea);return e&&r?_a:e||r?e?wa:Ea:Ra(t,ba)?ba:ma}(t.join(" "))},e.preventDefaults=function(t){var e=t.srcEvent,r=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,i=Ra(n,_a)&&!Oa.none,o=Ra(n,Ea)&&!Oa["pan-y"],a=Ra(n,wa)&&!Oa["pan-x"];if(i){var u=1===t.pointers.length,s=t.distance<2,c=t.deltaTime<250;if(u&&s&&c)return}if(!a||!o)return i||o&&6&r||a&&r&Ia?this.preventSrc(e):void 0}},e.preventSrc=function(t){this.manager.session.prevented=!0,t.preventDefault()},t}();function Na(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function Fa(t){var e=t.length;if(1===e)return{x:la(t[0].clientX),y:la(t[0].clientY)};for(var r=0,n=0,i=0;i<e;)r+=t[i].clientX,n+=t[i].clientY,i++;return{x:la(r/e),y:la(n/e)}}function za(t){for(var e=[],r=0;r<t.pointers.length;)e[r]={clientX:la(t.pointers[r].clientX),clientY:la(t.pointers[r].clientY)},r++;return{timeStamp:pa(),pointers:e,center:Fa(e),deltaX:t.deltaX,deltaY:t.deltaY}}function qa(t,e,r){r||(r=Pa);var n=e[r[0]]-t[r[0]],i=e[r[1]]-t[r[1]];return Math.sqrt(n*n+i*i)}function Ya(t,e,r){r||(r=Pa);var n=e[r[0]]-t[r[0]],i=e[r[1]]-t[r[1]];return 180*Math.atan2(i,n)/Math.PI}function Ua(t,e){return t===e?1:ha(t)>=ha(e)?t<0?2:4:e<0?8:ja}function Xa(t,e,r){return{x:e/t||0,y:r/t||0}}function Va(t,e){var r=t.session,n=e.pointers,i=n.length;r.firstInput||(r.firstInput=za(e)),i>1&&!r.firstMultiple?r.firstMultiple=za(e):1===i&&(r.firstMultiple=!1);var o=r.firstInput,a=r.firstMultiple,u=a?a.center:o.center,s=e.center=Fa(n);e.timeStamp=pa(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=Ya(u,s),e.distance=qa(u,s),function(t,e){var r=e.center,n=t.offsetDelta||{},i=t.prevDelta||{},o=t.prevInput||{};1!==e.eventType&&4!==o.eventType||(i=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=t.offsetDelta={x:r.x,y:r.y}),e.deltaX=i.x+(r.x-n.x),e.deltaY=i.y+(r.y-n.y)}(r,e),e.offsetDirection=Ua(e.deltaX,e.deltaY);var c,f,l=Xa(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=l.x,e.overallVelocityY=l.y,e.overallVelocity=ha(l.x)>ha(l.y)?l.x:l.y,e.scale=a?(c=a.pointers,qa((f=n)[0],f[1],Da)/qa(c[0],c[1],Da)):1,e.rotation=a?function(t,e){return Ya(e[1],e[0],Da)+Ya(t[1],t[0],Da)}(a.pointers,n):0,e.maxPointers=r.prevInput?e.pointers.length>r.prevInput.maxPointers?e.pointers.length:r.prevInput.maxPointers:e.pointers.length,function(t,e){var r,n,i,o,a=t.lastInterval||e,u=e.timeStamp-a.timeStamp;if(8!==e.eventType&&(u>25||void 0===a.velocity)){var s=e.deltaX-a.deltaX,c=e.deltaY-a.deltaY,f=Xa(u,s,c);n=f.x,i=f.y,r=ha(f.x)>ha(f.y)?f.x:f.y,o=Ua(s,c),t.lastInterval=e}else r=a.velocity,n=a.velocityX,i=a.velocityY,o=a.direction;e.velocity=r,e.velocityX=n,e.velocityY=i,e.direction=o}(r,e);var h,p=t.element,v=e.srcEvent;Na(h=v.composedPath?v.composedPath()[0]:v.path?v.path[0]:v.target,p)&&(p=h),e.target=p}function Wa(t,e,r){var n=r.pointers.length,i=r.changedPointers.length,o=1&e&&n-i==0,a=12&e&&n-i==0;r.isFirst=!!o,r.isFinal=!!a,o&&(t.session={}),r.eventType=e,Va(t,r),t.emit("hammer.input",r),t.recognize(r),t.session.prevInput=r}function Ga(t){return t.trim().split(/\s+/g)}function Ha(t,e,r){La(Ga(e),(function(e){t.addEventListener(e,r,!1)}))}function $a(t,e,r){La(Ga(e),(function(e){t.removeEventListener(e,r,!1)}))}function Ja(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||window}var Qa=function(){function t(t,e){var r=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){Ca(t.options.enable,[t])&&r.handler(e)},this.init()}var e=t.prototype;return e.handler=function(){},e.init=function(){this.evEl&&Ha(this.element,this.evEl,this.domHandler),this.evTarget&&Ha(this.target,this.evTarget,this.domHandler),this.evWin&&Ha(Ja(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&$a(this.element,this.evEl,this.domHandler),this.evTarget&&$a(this.target,this.evTarget,this.domHandler),this.evWin&&$a(Ja(this.element),this.evWin,this.domHandler)},t}();function Ba(t,e,r){if(t.indexOf&&!r)return t.indexOf(e);for(var n=0;n<t.length;){if(r&&t[n][r]==e||!r&&t[n]===e)return n;n++}return-1}var Ka={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Za={2:ka,3:"pen",4:Aa,5:"kinect"},tu="pointerdown",eu="pointermove pointerup pointercancel";ua.MSPointerEvent&&!ua.PointerEvent&&(tu="MSPointerDown",eu="MSPointerMove MSPointerUp MSPointerCancel");var ru=function(t){function e(){var r,n=e.prototype;return n.evEl=tu,n.evWin=eu,(r=t.apply(this,arguments)||this).store=r.manager.session.pointerEvents=[],r}return oa(e,t),e.prototype.handler=function(t){var e=this.store,r=!1,n=t.type.toLowerCase().replace("ms",""),i=Ka[n],o=Za[t.pointerType]||t.pointerType,a=o===ka,u=Ba(e,t.pointerId,"pointerId");1&i&&(0===t.button||a)?u<0&&(e.push(t),u=e.length-1):12&i&&(r=!0),u<0||(e[u]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),r&&e.splice(u,1))},e}(Qa);function nu(t){return Array.prototype.slice.call(t,0)}function iu(t,e,r){for(var n=[],i=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];Ba(i,a)<0&&n.push(t[o]),i[o]=a,o++}return r&&(n=e?n.sort((function(t,r){return t[e]>r[e]})):n.sort()),n}var ou={touchstart:1,touchmove:2,touchend:4,touchcancel:8},au="touchstart touchmove touchend touchcancel",uu=function(t){function e(){var r;return e.prototype.evTarget=au,(r=t.apply(this,arguments)||this).targetIds={},r}return oa(e,t),e.prototype.handler=function(t){var e=ou[t.type],r=su.call(this,t,e);r&&this.callback(this.manager,e,{pointers:r[0],changedPointers:r[1],pointerType:ka,srcEvent:t})},e}(Qa);function su(t,e){var r,n,i=nu(t.touches),o=this.targetIds;if(3&e&&1===i.length)return o[i[0].identifier]=!0,[i,i];var a=nu(t.changedTouches),u=[],s=this.target;if(n=i.filter((function(t){return Na(t.target,s)})),1===e)for(r=0;r<n.length;)o[n[r].identifier]=!0,r++;for(r=0;r<a.length;)o[a[r].identifier]&&u.push(a[r]),12&e&&delete o[a[r].identifier],r++;return u.length?[iu(n.concat(u),"identifier",!0),u]:void 0}var cu={mousedown:1,mousemove:2,mouseup:4},fu="mousedown",lu="mousemove mouseup",hu=function(t){function e(){var r,n=e.prototype;return n.evEl=fu,n.evWin=lu,(r=t.apply(this,arguments)||this).pressed=!1,r}return oa(e,t),e.prototype.handler=function(t){var e=cu[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:Aa,srcEvent:t}))},e}(Qa);function pu(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var r={x:e.clientX,y:e.clientY},n=this.lastTouches;this.lastTouches.push(r);setTimeout((function(){var t=n.indexOf(r);t>-1&&n.splice(t,1)}),2500)}}function vu(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,pu.call(this,e)):12&t&&pu.call(this,e)}function du(t){for(var e=t.srcEvent.clientX,r=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var i=this.lastTouches[n],o=Math.abs(e-i.x),a=Math.abs(r-i.y);if(o<=25&&a<=25)return!0}return!1}var yu=function(){return function(t){function e(e,r){var n;return(n=t.call(this,e,r)||this).handler=function(t,e,r){var i=r.pointerType===ka,o=r.pointerType===Aa;if(!(o&&r.sourceCapabilities&&r.sourceCapabilities.firesTouchEvents)){if(i)vu.call(aa(aa(n)),e,r);else if(o&&du.call(aa(aa(n)),r))return;n.callback(t,e,r)}},n.touch=new uu(n.manager,n.handler),n.mouse=new hu(n.manager,n.handler),n.primaryTouch=null,n.lastTouches=[],n}return oa(e,t),e.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},e}(Qa)}();function gu(t,e,r){return!!Array.isArray(t)&&(La(t,r[e],r),!0)}var mu=32,bu=1;function _u(t,e){var r=e.manager;return r?r.get(t):t}function wu(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}var Eu=function(){function t(t){void 0===t&&(t={}),this.options=ia({enable:!0},t),this.id=bu++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var e=t.prototype;return e.set=function(t){return sa(this.options,t),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(t){if(gu(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=_u(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},e.dropRecognizeWith=function(t){return gu(t,"dropRecognizeWith",this)||(t=_u(t,this),delete this.simultaneous[t.id]),this},e.requireFailure=function(t){if(gu(t,"requireFailure",this))return this;var e=this.requireFail;return-1===Ba(e,t=_u(t,this))&&(e.push(t),t.requireFailure(this)),this},e.dropRequireFailure=function(t){if(gu(t,"dropRequireFailure",this))return this;t=_u(t,this);var e=Ba(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(t){return!!this.simultaneous[t.id]},e.emit=function(t){var e=this,r=this.state;function n(r){e.manager.emit(r,t)}r<8&&n(e.options.event+wu(r)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),r>=8&&n(e.options.event+wu(r))},e.tryEmit=function(t){if(this.canEmit())return this.emit(t);this.state=mu},e.canEmit=function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},e.recognize=function(t){var e=sa({},t);if(!Ca(this.options.enable,[this,e]))return this.reset(),void(this.state=mu);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},e.process=function(t){},e.getTouchAction=function(){},e.reset=function(){},t}(),Ou=function(t){function e(e){var r;return void 0===e&&(e={}),(r=t.call(this,ia({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},e))||this).pTime=!1,r.pCenter=!1,r._timer=null,r._input=null,r.count=0,r}oa(e,t);var r=e.prototype;return r.getTouchAction=function(){return[ba]},r.process=function(t){var e=this,r=this.options,n=t.pointers.length===r.pointers,i=t.distance<r.threshold,o=t.deltaTime<r.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(i&&o&&n){if(4!==t.eventType)return this.failTimeout();var a=!this.pTime||t.timeStamp-this.pTime<r.interval,u=!this.pCenter||qa(this.pCenter,t.center)<r.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,u&&a?this.count+=1:this.count=1,this._input=t,0===this.count%r.taps)return this.hasRequireFailures()?(this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),r.interval),2):8}return mu},r.failTimeout=function(){var t=this;return this._timer=setTimeout((function(){t.state=mu}),this.options.interval),mu},r.reset=function(){clearTimeout(this._timer)},r.emit=function(){8===this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e}(Eu),Tu=function(t){function e(e){return void 0===e&&(e={}),t.call(this,ia({pointers:1},e))||this}oa(e,t);var r=e.prototype;return r.attrTest=function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},r.process=function(t){var e=this.state,r=t.eventType,n=6&e,i=this.attrTest(t);return n&&(8&r||!i)?16|e:n||i?4&r?8|e:2&e?4|e:2:mu},e}(Eu);function Su(t){return t===ja?"down":8===t?"up":2===t?"left":4===t?"right":""}var xu=function(t){function e(e){var r;return void 0===e&&(e={}),(r=t.call(this,ia({event:"pan",threshold:10,pointers:1,direction:30},e))||this).pX=null,r.pY=null,r}oa(e,t);var r=e.prototype;return r.getTouchAction=function(){var t=this.options.direction,e=[];return 6&t&&e.push(Ea),t&Ia&&e.push(wa),e},r.directionTest=function(t){var e=this.options,r=!0,n=t.distance,i=t.direction,o=t.deltaX,a=t.deltaY;return i&e.direction||(6&e.direction?(i=0===o?1:o<0?2:4,r=o!==this.pX,n=Math.abs(t.deltaX)):(i=0===a?1:a<0?8:ja,r=a!==this.pY,n=Math.abs(t.deltaY))),t.direction=i,r&&n>e.threshold&&i&e.direction},r.attrTest=function(t){return Tu.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},r.emit=function(e){this.pX=e.deltaX,this.pY=e.deltaY;var r=Su(e.direction);r&&(e.additionalEvent=this.options.event+r),t.prototype.emit.call(this,e)},e}(Tu),ku=function(t){function e(e){return void 0===e&&(e={}),t.call(this,ia({event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},e))||this}oa(e,t);var r=e.prototype;return r.getTouchAction=function(){return xu.prototype.getTouchAction.call(this)},r.attrTest=function(e){var r,n=this.options.direction;return 30&n?r=e.overallVelocity:6&n?r=e.overallVelocityX:n&Ia&&(r=e.overallVelocityY),t.prototype.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers===this.options.pointers&&ha(r)>this.options.velocity&&4&e.eventType},r.emit=function(t){var e=Su(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)},e}(Tu),Au=function(t){function e(e){return void 0===e&&(e={}),t.call(this,ia({event:"pinch",threshold:0,pointers:2},e))||this}oa(e,t);var r=e.prototype;return r.getTouchAction=function(){return[_a]},r.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},r.emit=function(e){if(1!==e.scale){var r=e.scale<1?"in":"out";e.additionalEvent=this.options.event+r}t.prototype.emit.call(this,e)},e}(Tu),ju=function(t){function e(e){return void 0===e&&(e={}),t.call(this,ia({event:"rotate",threshold:0,pointers:2},e))||this}oa(e,t);var r=e.prototype;return r.getTouchAction=function(){return[_a]},r.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)},e}(Tu),Iu=function(t){function e(e){var r;return void 0===e&&(e={}),(r=t.call(this,ia({event:"press",pointers:1,time:251,threshold:9},e))||this)._timer=null,r._input=null,r}oa(e,t);var r=e.prototype;return r.getTouchAction=function(){return[ma]},r.process=function(t){var e=this,r=this.options,n=t.pointers.length===r.pointers,i=t.distance<r.threshold,o=t.deltaTime>r.time;if(this._input=t,!i||!n||12&t.eventType&&!o)this.reset();else if(1&t.eventType)this.reset(),this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),r.time);else if(4&t.eventType)return 8;return mu},r.reset=function(){clearTimeout(this._timer)},r.emit=function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=pa(),this.manager.emit(this.options.event,this._input)))},e}(Eu),Pu={domEvents:!1,touchAction:ga,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},Du=[[ju,{enable:!1}],[Au,{enable:!1},["rotate"]],[ku,{direction:6}],[xu,{direction:6},["swipe"]],[Ou],[Ou,{event:"doubletap",taps:2},["tap"]],[Iu]];function Lu(t,e){var r,n=t.element;n.style&&(La(t.options.cssProps,(function(i,o){r=va(n.style,o),e?(t.oldCssProps[r]=n.style[r],n.style[r]=i):n.style[r]=t.oldCssProps[r]||""})),e||(t.oldCssProps={}))}var Cu=function(){function t(t,e){var r,n=this;this.options=sa({},Pu,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((r=this).options.inputClass||(Sa?ru:xa?uu:Ta?yu:hu))(r,Wa),this.touchAction=new Ma(this,this.options.touchAction),Lu(this,!0),La(this.options.recognizers,(function(t){var e=n.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}var e=t.prototype;return e.set=function(t){return sa(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},e.stop=function(t){this.session.stopped=t?2:1},e.recognize=function(t){var e=this.session;if(!e.stopped){var r;this.touchAction.preventDefaults(t);var n=this.recognizers,i=e.curRecognizer;(!i||i&&8&i.state)&&(e.curRecognizer=null,i=null);for(var o=0;o<n.length;)r=n[o],2===e.stopped||i&&r!==i&&!r.canRecognizeWith(i)?r.reset():r.recognize(t),!i&&14&r.state&&(e.curRecognizer=r,i=r),o++}},e.get=function(t){if(t instanceof Eu)return t;for(var e=this.recognizers,r=0;r<e.length;r++)if(e[r].options.event===t)return e[r];return null},e.add=function(t){if(gu(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},e.remove=function(t){if(gu(t,"remove",this))return this;var e=this.get(t);if(t){var r=this.recognizers,n=Ba(r,e);-1!==n&&(r.splice(n,1),this.touchAction.update())}return this},e.on=function(t,e){if(void 0===t||void 0===e)return this;var r=this.handlers;return La(Ga(t),(function(t){r[t]=r[t]||[],r[t].push(e)})),this},e.off=function(t,e){if(void 0===t)return this;var r=this.handlers;return La(Ga(t),(function(t){e?r[t]&&r[t].splice(Ba(r[t],e),1):delete r[t]})),this},e.emit=function(t,e){this.options.domEvents&&function(t,e){var r=document.createEvent("Event");r.initEvent(t,!0,!0),r.gesture=e,e.target.dispatchEvent(r)}(t,e);var r=this.handlers[t]&&this.handlers[t].slice();if(r&&r.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var n=0;n<r.length;)r[n](e),n++}},e.destroy=function(){this.element&&Lu(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},t}(),Ru={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Mu="touchstart",Nu="touchstart touchmove touchend touchcancel",Fu=function(t){function e(){var r,n=e.prototype;return n.evTarget=Mu,n.evWin=Nu,(r=t.apply(this,arguments)||this).started=!1,r}return oa(e,t),e.prototype.handler=function(t){var e=Ru[t.type];if(1===e&&(this.started=!0),this.started){var r=zu.call(this,t,e);12&e&&r[0].length-r[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:r[0],changedPointers:r[1],pointerType:ka,srcEvent:t})}},e}(Qa);function zu(t,e){var r=nu(t.touches),n=nu(t.changedTouches);return 12&e&&(r=iu(r.concat(n),"identifier",!0)),[r,n]}function qu(t,e,r){var n="DEPRECATED METHOD: "+e+"\n"+r+" AT \n";return function(){var e=new Error("get-stack-trace"),r=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",i=window.console&&(window.console.warn||window.console.log);return i&&i.call(window.console,n,r),t.apply(this,arguments)}}var Yu=qu((function(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;)(!r||r&&void 0===t[n[i]])&&(t[n[i]]=e[n[i]]),i++;return t}),"extend","Use `assign`."),Uu=qu((function(t,e){return Yu(t,e,!0)}),"merge","Use `assign`.");function Xu(t,e,r){var n,i=e.prototype;(n=t.prototype=Object.create(i)).constructor=t,n._super=i,r&&sa(n,r)}function Vu(t,e){return function(){return t.apply(e,arguments)}}var Wu=function(){var t=function(t,e){return void 0===e&&(e={}),new Cu(t,ia({recognizers:Du.concat()},e))};return t.VERSION="2.0.17-rc",t.DIRECTION_ALL=30,t.DIRECTION_DOWN=ja,t.DIRECTION_LEFT=2,t.DIRECTION_RIGHT=4,t.DIRECTION_UP=8,t.DIRECTION_HORIZONTAL=6,t.DIRECTION_VERTICAL=Ia,t.DIRECTION_NONE=1,t.DIRECTION_DOWN=ja,t.INPUT_START=1,t.INPUT_MOVE=2,t.INPUT_END=4,t.INPUT_CANCEL=8,t.STATE_POSSIBLE=1,t.STATE_BEGAN=2,t.STATE_CHANGED=4,t.STATE_ENDED=8,t.STATE_RECOGNIZED=8,t.STATE_CANCELLED=16,t.STATE_FAILED=mu,t.Manager=Cu,t.Input=Qa,t.TouchAction=Ma,t.TouchInput=uu,t.MouseInput=hu,t.PointerEventInput=ru,t.TouchMouseInput=yu,t.SingleTouchInput=Fu,t.Recognizer=Eu,t.AttrRecognizer=Tu,t.Tap=Ou,t.Pan=xu,t.Swipe=ku,t.Pinch=Au,t.Rotate=ju,t.Press=Iu,t.on=Ha,t.off=$a,t.each=La,t.merge=Uu,t.extend=Yu,t.bindFn=Vu,t.assign=sa,t.inherit=Xu,t.bindFn=Vu,t.prefixed=va,t.toArray=nu,t.inArray=Ba,t.uniqueArray=iu,t.splitStr=Ga,t.boolOrFn=Ca,t.hasParent=Na,t.addEventListeners=Ha,t.removeEventListeners=$a,t.defaults=sa({},Pu,{preset:Du}),t}();function Gu(t,e){var r;if(void 0===ra||null==zn(t)){if(Xo(t)||(r=function(t,e){var r;if(!t)return;if("string"==typeof t)return Hu(t,e);var n=$o(r=Object.prototype.toString.call(t)).call(r,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Bn(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Hu(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){r=Fn(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw o}}}}function Hu(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var $u=ra("DELETE");function Ju(){var t=Qu.apply(void 0,arguments);return Ku(t),t}function Qu(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];if(e.length<2)return e[0];var n;if(e.length>2)return Qu.apply(void 0,ea(n=[Ju(e[0],e[1])]).call(n,Ko($o(e).call(e,2))));var i,o=e[0],a=e[1],u=Gu(Ho(a));try{for(u.s();!(i=u.n()).done;){var s=i.value;Object.prototype.propertyIsEnumerable.call(a,s)&&(a[s]===$u?delete o[s]:null===o[s]||null===a[s]||"object"!==Go(o[s])||"object"!==Go(a[s])||Xo(o[s])||Xo(a[s])?o[s]=Bu(a[s]):o[s]=Qu(o[s],a[s]))}}catch(t){u.e(t)}finally{u.f()}return o}function Bu(t){return Xo(t)?qt(t).call(t,(function(t){return Bu(t)})):"object"===Go(t)&&null!==t?Qu({},t):t}function Ku(t){for(var e=0,r=Uo(t);e<r.length;e++){var n=r[e];t[n]===$u?delete t[n]:"object"===Go(t[n])&&null!==t[n]&&Ku(t[n])}}var Zu="undefined"!=typeof window?window.Hammer||Wu:function(){return{on:t=function(){},off:t,destroy:t,emit:t,get:function(){return{set:t}}};var t};function ts(t){var e,r=this;this._cleanupQueue=[],this.active=!1,this._dom={container:t,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push((function(){r._dom.overlay.parentNode.removeChild(r._dom.overlay)}));var n=Zu(this._dom.overlay);n.on("tap",ce(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push((function(){n.destroy()}));var i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];lo(i).call(i,(function(t){n.on(t,(function(t){t.srcEvent.stopPropagation()}))})),document&&document.body&&(this._onClick=function(e){(function(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1})(e.target,t)||r.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push((function(){document.body.removeEventListener("click",r._onClick)}))),this._escListener=function(t){("key"in t?"Escape"===t.key:27===t.keyCode)&&r.deactivate()}}na(ts.prototype),ts.current=null,ts.prototype.destroy=function(){var t,e;this.deactivate();var r,n=Gu(no(t=Ki(e=this._cleanupQueue).call(e,0)).call(t));try{for(n.s();!(r=n.n()).done;){(0,r.value)()}}catch(t){n.e(t)}finally{n.f()}},ts.prototype.activate=function(){ts.current&&ts.current.deactivate(),ts.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)},ts.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")},ts.prototype._onTapOverlay=function(t){this.activate(),t.srcEvent.stopPropagation()};var es=Ot("Reflect","construct"),rs=o((function(){function t(){}return!(es((function(){}),[],t)instanceof t)})),ns=!o((function(){es((function(){}))})),is=rs||ns;X({target:"Reflect",stat:!0,forced:is,sham:is},{construct:function(t,e){R(t),N(e);var r=arguments.length<3?t:R(arguments[2]);if(ns&&!rs)return es(t,e,r);if(t==r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return n.push.apply(n,e),new(ae.apply(t,n))}var i=r.prototype,o=He(g(i)?i:Object.prototype),a=Function.apply.call(t,o,e);return g(a)?a:o}});var os=C.Reflect.construct,as=dt("Array").entries,us=Array.prototype,ss={DOMTokenList:!0,NodeList:!0},cs=function(t){var e=t.entries;return t===us||t instanceof Array&&e===us.entries||ss.hasOwnProperty(ar(t))?as:e},fs=r((function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function c(t,e,r,n){var i=e&&e.prototype instanceof y?e:y,o=Object.create(i.prototype),a=new A(n||[]);return o._invoke=function(t,e,r){var n=l;return function(i,o){if(n===p)throw new Error("Generator is already running");if(n===v){if("throw"===i)throw o;return I()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var u=S(a,r);if(u){if(u===d)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===l)throw n=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var s=f(t,e,r);if("normal"===s.type){if(n=r.done?v:h,s.arg===d)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n=v,r.method="throw",r.arg=s.arg)}}}(t,r,a),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var l="suspendedStart",h="suspendedYield",p="executing",v="completed",d={};function y(){}function g(){}function m(){}var b={};b[o]=function(){return this};var _=Object.getPrototypeOf,w=_&&_(_(j([])));w&&w!==r&&n.call(w,o)&&(b=w);var E=m.prototype=y.prototype=Object.create(b);function O(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function T(t,e){function r(i,o,a,u){var s=f(t[i],t,o);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,u)}),(function(t){r("throw",t,a,u)})):e.resolve(l).then((function(t){c.value=t,a(c)}),(function(t){return r("throw",t,a,u)}))}u(s.arg)}var i;this._invoke=function(t,n){function o(){return new e((function(e,i){r(t,n,e,i)}))}return i=i?i.then(o,o):o()}}function S(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,S(t,r),"throw"===r.method))return d;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var i=f(n,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,d;var o=i.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,d):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,d)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function j(t){if(t){var r=t[o];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function r(){for(;++i<t.length;)if(n.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}return{next:I}}function I(){return{value:e,done:!0}}return g.prototype=E.constructor=m,m.constructor=g,g.displayName=s(m,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,s(t,u,"GeneratorFunction")),t.prototype=Object.create(E),t},t.awrap=function(t){return{__await:t}},O(T.prototype),T.prototype[a]=function(){return this},t.AsyncIterator=T,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new T(c(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},O(E),s(E,u,"Generator"),E[o]=function(){return this},E.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=j,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(k),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function i(n,i){return u.type="throw",u.arg=t,r.next=n,i&&(r.method="next",r.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;k(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:j(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),d}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}})),ls=Vo,hs=dt("Array").values,ps=Array.prototype,vs={DOMTokenList:!0,NodeList:!0},ds=function(t){var e=t.values;return t===ps||t instanceof Array&&e===ps.values||vs.hasOwnProperty(ar(t))?hs:e},ys=[],gs=ys.sort,ms=o((function(){ys.sort(void 0)})),bs=o((function(){ys.sort(null)})),_s=Jt("sort");X({target:"Array",proto:!0,forced:ms||!bs||!_s},{sort:function(t){return void 0===t?gs.call(K(this)):gs.call(K(this),R(t))}});var ws=dt("Array").sort,Es=Array.prototype,Os=function(t){var e=t.sort;return t===Es||t instanceof Array&&e===Es.sort?ws:e},Ts=dt("Array").keys,Ss=Array.prototype,xs={DOMTokenList:!0,NodeList:!0},ks=function(t){var e=t.keys;return t===Ss||t instanceof Array&&e===Ss.keys||xs.hasOwnProperty(ar(t))?Ts:e},As=wt.some,js=Jt("some"),Is=Ct("some");X({target:"Array",proto:!0,forced:!js||!Is},{some:function(t){return As(this,t,arguments.length>1?arguments[1]:void 0)}});var Ps=dt("Array").some,Ds=Array.prototype,Ls=function(t){var e=t.some;return t===Ds||t instanceof Array&&e===Ds.some?Ps:e},Cs=!o((function(){return Object.isExtensible(Object.preventExtensions({}))})),Rs=r((function(t){var e=z.f,r=it("meta"),n=0,i=Object.isExtensible||function(){return!0},o=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!g(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!_(t,r)){if(!i(t))return"F";if(!e)return"E";o(t)}return t[r].objectID},getWeakData:function(t,e){if(!_(t,r)){if(!i(t))return!0;if(!e)return!1;o(t)}return t[r].weakData},onFreeze:function(t){return Cs&&a.REQUIRED&&i(t)&&!_(t,r)&&o(t),t}};Oe[r]=!0})),Ms=function(t,e){this.stopped=t,this.result=e},Ns=function(t,e,r){var n,i,o,a,u,s,c,f=r&&r.that,l=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_ITERATOR),p=!(!r||!r.INTERRUPTED),v=M(e,f,1+l+p),d=function(t){return n&&qn(n),new Ms(!0,t)},y=function(t){return l?(N(t),p?v(t[0],t[1],d):v(t[0],t[1])):p?v(t,d):v(t)};if(h)n=t;else{if("function"!=typeof(i=Nn(t)))throw TypeError("Target is not iterable");if(Vn(i)){for(o=0,a=J(t.length);a>o;o++)if((u=y(t[o]))&&u instanceof Ms)return u;return new Ms(!1)}n=i.call(t)}for(s=n.next;!(c=s.call(n)).done;){try{u=y(c.value)}catch(t){throw qn(n),t}if("object"==typeof u&&u&&u instanceof Ms)return u}return new Ms(!1)},Fs=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},zs=z.f,qs=wt.forEach,Ys=Tr.set,Us=Tr.getterFor,Xs=function(t,e,r){var n,u=-1!==t.indexOf("Map"),s=-1!==t.indexOf("Weak"),c=u?"set":"add",f=i[t],l=f&&f.prototype,h={};if(a&&"function"==typeof f&&(s||l.forEach&&!o((function(){(new f).entries().next()})))){n=e((function(e,r){Ys(Fs(e,n,t),{type:t,collection:new f}),null!=r&&Ns(r,e[c],{that:e,AS_ENTRIES:u})}));var p=Us(t);qs(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var e="add"==t||"set"==t;!(t in l)||s&&"clear"==t||q(n.prototype,t,(function(r,n){var i=p(this).collection;if(!e&&s&&!g(r))return"get"==t&&void 0;var o=i[t](0===r?0:r,n);return e?this:o}))})),s||zs(n.prototype,"size",{configurable:!0,get:function(){return p(this).collection.size}})}else n=r.getConstructor(e,t,u,c),Rs.REQUIRED=!0;return fr(n,t,!1,!0),h[t]=n,X({global:!0,forced:!0},h),s||r.setStrong(n,t,u),n},Vs=function(t,e,r){for(var n in e)r&&r.unsafe&&t[n]?t[n]=e[n]:Ke(t,n,e[n],r);return t},Ws=ft("species"),Gs=z.f,Hs=Rs.fastKey,$s=Tr.set,Js=Tr.getterFor,Qs={getConstructor:function(t,e,r,n){var i=t((function(t,o){Fs(t,i,e),$s(t,{type:e,index:He(null),first:void 0,last:void 0,size:0}),a||(t.size=0),null!=o&&Ns(o,t[n],{that:t,AS_ENTRIES:r})})),o=Js(e),u=function(t,e,r){var n,i,u=o(t),c=s(t,e);return c?c.value=r:(u.last=c={index:i=Hs(e,!0),key:e,value:r,previous:n=u.last,next:void 0,removed:!1},u.first||(u.first=c),n&&(n.next=c),a?u.size++:t.size++,"F"!==i&&(u.index[i]=c)),t},s=function(t,e){var r,n=o(t),i=Hs(e);if("F"!==i)return n.index[i];for(r=n.first;r;r=r.next)if(r.key==e)return r};return Vs(i.prototype,{clear:function(){for(var t=o(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,a?t.size=0:this.size=0},delete:function(t){var e=this,r=o(e),n=s(e,t);if(n){var i=n.next,u=n.previous;delete r.index[n.index],n.removed=!0,u&&(u.next=i),i&&(i.previous=u),r.first==n&&(r.first=i),r.last==n&&(r.last=u),a?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=o(this),n=M(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!s(this,t)}}),Vs(i.prototype,r?{get:function(t){var e=s(this,t);return e&&e.value},set:function(t,e){return u(this,0===t?0:t,e)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),a&&Gs(i.prototype,"size",{get:function(){return o(this).size}}),i},setStrong:function(t,e,r){var n=e+" Iterator",i=Js(e),o=Js(n);On(t,e,(function(t,e){$s(this,{type:n,target:t,state:i(t),kind:e,last:void 0})}),(function(){for(var t=o(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?"keys"==e?{value:r.key,done:!1}:"values"==e?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),r?"entries":"values",!r,!0),function(t){var e=Ot(t),r=z.f;a&&e&&!e[Ws]&&r(e,Ws,{configurable:!0,get:function(){return this}})}(e)}},Bs=(Xs("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Qs),C.Map),Ks=fi;X({target:"Object",stat:!0},{setPrototypeOf:dn});var Zs=C.Object.setPrototypeOf,tc=r((function(t){function e(r,n){return t.exports=e=Zs||function(t,e){return t.__proto__=e,t},e(r,n)}t.exports=e}));var ec=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Ks(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&tc(t,e)};var rc=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var nc,ic=function(t,e){return!e||"object"!==Go(e)&&"function"!=typeof e?rc(t):e},oc=Ci,ac=r((function(t){function e(r){return t.exports=e=Zs?oc:function(t){return t.__proto__||oc(t)},e(r)}t.exports=e})),uc=new Uint8Array(16);function sc(){if(!nc&&!(nc="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return nc(uc)}var cc=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function fc(t){return"string"==typeof t&&cc.test(t)}for(var lc=[],hc=0;hc<256;++hc)lc.push((hc+256).toString(16).substr(1));function pc(t,e,r){var n=(t=t||{}).random||(t.rng||sc)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){r=r||0;for(var i=0;i<16;++i)e[r+i]=n[i];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(lc[t[e+0]]+lc[t[e+1]]+lc[t[e+2]]+lc[t[e+3]]+"-"+lc[t[e+4]]+lc[t[e+5]]+"-"+lc[t[e+6]]+lc[t[e+7]]+"-"+lc[t[e+8]]+lc[t[e+9]]+"-"+lc[t[e+10]]+lc[t[e+11]]+lc[t[e+12]]+lc[t[e+13]]+lc[t[e+14]]+lc[t[e+15]]).toLowerCase();if(!fc(r))throw TypeError("Stringified UUID is invalid");return r}(n)}function vc(t){return"string"==typeof t||"number"==typeof t}var dc=function(){function t(e){fe(this,t),this._queue=[],this._timeout=null,this._extended=null,this.delay=null,this.max=1/0,this.setOptions(e)}return ve(t,[{key:"setOptions",value:function(t){t&&void 0!==t.delay&&(this.delay=t.delay),t&&void 0!==t.max&&(this.max=t.max),this._flushIfNeeded()}},{key:"destroy",value:function(){if(this.flush(),this._extended){for(var t=this._extended.object,e=this._extended.methods,r=0;r<e.length;r++){var n=e[r];n.original?t[n.name]=n.original:delete t[n.name]}this._extended=null}}},{key:"replace",value:function(t,e){var r=this,n=t[e];if(!n)throw new Error("Method "+e+" undefined");t[e]=function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];r.queue({args:e,fn:n,context:this})}}},{key:"queue",value:function(t){"function"==typeof t?this._queue.push({fn:t}):this._queue.push(t),this._flushIfNeeded()}},{key:"_flushIfNeeded",value:function(){var t=this;this._queue.length>this.max&&this.flush(),null!=this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&"number"==typeof this.delay&&(this._timeout=ei((function(){t.flush()}),this.delay))}},{key:"flush",value:function(){var t,e;lo(t=Ki(e=this._queue).call(e,0)).call(t,(function(t){t.fn.apply(t.context||t.fn,t.args||[])}))}}],[{key:"extend",value:function(e,r){var n=new t(r);if(void 0!==e.flush)throw new Error("Target object already has a property flush");e.flush=function(){n.flush()};var i=[{name:"flush",original:void 0}];if(r&&r.replace)for(var o=0;o<r.replace.length;o++){var a=r.replace[o];i.push({name:a,original:e[a]}),n.replace(e,a)}return n._extended={object:e,methods:i},n}}]),t}(),yc=function(){function t(){fe(this,t),this._subscribers={"*":[],add:[],remove:[],update:[]},this.subscribe=t.prototype.on,this.unsubscribe=t.prototype.off}return ve(t,[{key:"_trigger",value:function(t,e,r){var n,i;if("*"===t)throw new Error("Cannot trigger event *");lo(n=ea(i=[]).call(i,Ko(this._subscribers[t]),Ko(this._subscribers["*"]))).call(n,(function(n){n(t,e,null!=r?r:null)}))}},{key:"on",value:function(t,e){"function"==typeof e&&this._subscribers[t].push(e)}},{key:"off",value:function(t,e){var r;this._subscribers[t]=Gt(r=this._subscribers[t]).call(r,(function(t){return t!==e}))}}]),t}(),gc=(Xs("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Qs),C.Set);function mc(t,e){var r;if(void 0===ra||null==zn(t)){if(Xo(t)||(r=function(t,e){var r;if(!t)return;if("string"==typeof t)return bc(t,e);var n=$o(r=Object.prototype.toString.call(t)).call(r,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Bn(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bc(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){r=Fn(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw o}}}}function bc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var _c=function(){function t(e){fe(this,t),this._pairs=e}return ve(t,[{key:ls,value:fs.mark((function t(){var e,r,n,i,o;return fs.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=mc(this._pairs),t.prev=1,e.s();case 3:if((r=e.n()).done){t.next=9;break}return n=qo(r.value,2),i=n[0],o=n[1],t.next=7,[i,o];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"entries",value:fs.mark((function t(){var e,r,n,i,o;return fs.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=mc(this._pairs),t.prev=1,e.s();case 3:if((r=e.n()).done){t.next=9;break}return n=qo(r.value,2),i=n[0],o=n[1],t.next=7,[i,o];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"keys",value:fs.mark((function t(){var e,r,n,i;return fs.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=mc(this._pairs),t.prev=1,e.s();case 3:if((r=e.n()).done){t.next=9;break}return n=qo(r.value,1),i=n[0],t.next=7,i;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"values",value:fs.mark((function t(){var e,r,n,i;return fs.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=mc(this._pairs),t.prev=1,e.s();case 3:if((r=e.n()).done){t.next=9;break}return n=qo(r.value,2),i=n[1],t.next=7,i;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:"toIdArray",value:function(){var t;return qt(t=Ko(this._pairs)).call(t,(function(t){return t[0]}))}},{key:"toItemArray",value:function(){var t;return qt(t=Ko(this._pairs)).call(t,(function(t){return t[1]}))}},{key:"toEntryArray",value:function(){return Ko(this._pairs)}},{key:"toObjectMap",value:function(){var t,e=li(null),r=mc(this._pairs);try{for(r.s();!(t=r.n()).done;){var n=qo(t.value,2),i=n[0],o=n[1];e[i]=o}}catch(t){r.e(t)}finally{r.f()}return e}},{key:"toMap",value:function(){return new Bs(this._pairs)}},{key:"toIdSet",value:function(){return new gc(this.toIdArray())}},{key:"toItemSet",value:function(){return new gc(this.toItemArray())}},{key:"cache",value:function(){return new t(Ko(this._pairs))}},{key:"distinct",value:function(t){var e,r=new gc,n=mc(this._pairs);try{for(n.s();!(e=n.n()).done;){var i=qo(e.value,2),o=i[0],a=i[1];r.add(t(a,o))}}catch(t){n.e(t)}finally{n.f()}return r}},{key:"filter",value:function(e){var r=this._pairs;return new t(pi({},ls,fs.mark((function t(){var n,i,o,a,u;return fs.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=mc(r),t.prev=1,n.s();case 3:if((i=n.n()).done){t.next=10;break}if(o=qo(i.value,2),a=o[0],u=o[1],!e(u,a)){t.next=8;break}return t.next=8,[a,u];case 8:t.next=3;break;case 10:t.next=15;break;case 12:t.prev=12,t.t0=t.catch(1),n.e(t.t0);case 15:return t.prev=15,n.f(),t.finish(15);case 18:case"end":return t.stop()}}),t,null,[[1,12,15,18]])}))))}},{key:"forEach",value:function(t){var e,r=mc(this._pairs);try{for(r.s();!(e=r.n()).done;){var n=qo(e.value,2),i=n[0];t(n[1],i)}}catch(t){r.e(t)}finally{r.f()}}},{key:"map",value:function(e){var r=this._pairs;return new t(pi({},ls,fs.mark((function t(){var n,i,o,a,u;return fs.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=mc(r),t.prev=1,n.s();case 3:if((i=n.n()).done){t.next=9;break}return o=qo(i.value,2),a=o[0],u=o[1],t.next=7,[a,e(u,a)];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0);case 14:return t.prev=14,n.f(),t.finish(14);case 17:case"end":return t.stop()}}),t,null,[[1,11,14,17]])}))))}},{key:"max",value:function(t){var e=Fn(this._pairs),r=e.next();if(r.done)return null;for(var n=r.value[1],i=t(r.value[1],r.value[0]);!(r=e.next()).done;){var o=qo(r.value,2),a=o[0],u=o[1],s=t(u,a);s>i&&(i=s,n=u)}return n}},{key:"min",value:function(t){var e=Fn(this._pairs),r=e.next();if(r.done)return null;for(var n=r.value[1],i=t(r.value[1],r.value[0]);!(r=e.next()).done;){var o=qo(r.value,2),a=o[0],u=o[1],s=t(u,a);s<i&&(i=s,n=u)}return n}},{key:"reduce",value:function(t,e){var r,n=mc(this._pairs);try{for(n.s();!(r=n.n()).done;){var i=qo(r.value,2),o=i[0];e=t(e,i[1],o)}}catch(t){n.e(t)}finally{n.f()}return e}},{key:"sort",value:function(e){var r=this;return new t(pi({},ls,(function(){var t;return Fn(Os(t=Ko(r._pairs)).call(t,(function(t,r){var n=qo(t,2),i=n[0],o=n[1],a=qo(r,2),u=a[0],s=a[1];return e(o,s,i,u)})))})))}}]),t}();function wc(t,e){var r=Uo(t);if(on){var n=on(t);e&&(n=Gt(n).call(n,(function(e){return ze(t,e).enumerable}))),r.push.apply(r,n)}return r}function Ec(t){for(var e=1;e<arguments.length;e++){var r,n=null!=arguments[e]?arguments[e]:{};if(e%2)lo(r=wc(Object(n),!0)).call(r,(function(e){pi(t,e,n[e])}));else if(Re)je(t,Re(n));else{var i;lo(i=wc(Object(n))).call(i,(function(e){ge(t,e,ze(n,e))}))}}return t}function Oc(t,e){var r;if(void 0===ra||null==zn(t)){if(Xo(t)||(r=function(t,e){var r;if(!t)return;if("string"==typeof t)return Tc(t,e);var n=$o(r=Object.prototype.toString.call(t)).call(r,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Bn(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Tc(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){r=Fn(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw o}}}}function Tc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Sc(t){var e=function(){if("undefined"==typeof Reflect||!os)return!1;if(os.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(os(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=ac(t);if(e){var i=ac(this).constructor;r=os(n,arguments,i)}else r=n.apply(this,arguments);return ic(this,r)}}var xc=function(t){ec(r,t);var e=Sc(r);function r(t,n){var i;return fe(this,r),(i=e.call(this))._queue=null,t&&!Xo(t)&&(n=t,t=[]),i._options=n||{},i._data=new Bs,i.length=0,i._idProp=i._options.fieldId||"id",t&&t.length&&i.add(t),i.setOptions(n),i}return ve(r,[{key:"setOptions",value:function(t){t&&void 0!==t.queue&&(!1===t.queue?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=dc.extend(this,{replace:["add","update","remove"]})),t.queue&&"object"===Go(t.queue)&&this._queue.setOptions(t.queue)))}},{key:"add",value:function(t,e){var r,n=this,i=[];if(Xo(t)){var o=qt(t).call(t,(function(t){return t[n._idProp]}));if(Ls(o).call(o,(function(t){return n._data.has(t)})))throw new Error("A duplicate id was found in the parameter array.");for(var a=0,u=t.length;a<u;a++)r=this._addItem(t[a]),i.push(r)}else{if(!t||"object"!==Go(t))throw new Error("Unknown dataType");r=this._addItem(t),i.push(r)}return i.length&&this._trigger("add",{items:i},e),i}},{key:"update",value:function(t,e){var r=this,n=[],i=[],o=[],a=[],u=this._idProp,s=function(t){var e=t[u];if(null!=e&&r._data.has(e)){var s=t,c=Xi({},r._data.get(e)),f=r._updateItem(s);i.push(f),a.push(s),o.push(c)}else{var l=r._addItem(t);n.push(l)}};if(Xo(t))for(var c=0,f=t.length;c<f;c++)t[c]&&"object"===Go(t[c])?s(t[c]):console.warn("Ignoring input item, which is not an object at index "+c);else{if(!t||"object"!==Go(t))throw new Error("Unknown dataType");s(t)}if(n.length&&this._trigger("add",{items:n},e),i.length){var l={items:i,oldData:o,data:a};this._trigger("update",l,e)}return ea(n).call(n,i)}},{key:"updateOnly",value:function(t,e){var r,n=this;Xo(t)||(t=[t]);var i=qt(r=qt(t).call(t,(function(t){var e=n._data.get(t[n._idProp]);if(null==e)throw new Error("Updating non-existent items is not allowed.");return{oldData:e,update:t}}))).call(r,(function(t){var e=t.oldData,r=t.update,i=e[n._idProp],o=function(t){for(var e,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return Ju.apply(void 0,ea(e=[{},t]).call(e,n))}(e,r);return n._data.set(i,o),{id:i,oldData:e,updatedData:o}}));if(i.length){var o={items:qt(i).call(i,(function(t){return t.id})),oldData:qt(i).call(i,(function(t){return t.oldData})),data:qt(i).call(i,(function(t){return t.updatedData}))};return this._trigger("update",o,e),o.items}return[]}},{key:"get",value:function(t,e){var r=void 0,n=void 0,i=void 0;vc(t)?(r=t,i=e):Xo(t)?(n=t,i=e):i=t;var o,a=i&&"Object"===i.returnType?"Object":"Array",u=i&&Gt(i),s=[],c=void 0,f=void 0,l=void 0;if(null!=r)(c=this._data.get(r))&&u&&!u(c)&&(c=void 0);else if(null!=n)for(var h=0,p=n.length;h<p;h++)null==(c=this._data.get(n[h]))||u&&!u(c)||s.push(c);else for(var v,d=0,y=(f=Ko(ks(v=this._data).call(v))).length;d<y;d++)l=f[d],null==(c=this._data.get(l))||u&&!u(c)||s.push(c);if(i&&i.order&&null==r&&this._sort(s,i.order),i&&i.fields){var g=i.fields;if(null!=r&&null!=c)c=this._filterFields(c,g);else for(var m=0,b=s.length;m<b;m++)s[m]=this._filterFields(s[m],g)}if("Object"==a){for(var _={},w=0,E=s.length;w<E;w++){var O=s[w];_[O[this._idProp]]=O}return _}return null!=r?null!==(o=c)&&void 0!==o?o:null:s}},{key:"getIds",value:function(t){var e=this._data,r=t&&Gt(t),n=t&&t.order,i=Ko(ks(e).call(e)),o=[];if(r)if(n){for(var a=[],u=0,s=i.length;u<s;u++){var c=i[u],f=this._data.get(c);null!=f&&r(f)&&a.push(f)}this._sort(a,n);for(var l=0,h=a.length;l<h;l++)o.push(a[l][this._idProp])}else for(var p=0,v=i.length;p<v;p++){var d=i[p],y=this._data.get(d);null!=y&&r(y)&&o.push(y[this._idProp])}else if(n){for(var g=[],m=0,b=i.length;m<b;m++){var _=i[m];g.push(e.get(_))}this._sort(g,n);for(var w=0,E=g.length;w<E;w++)o.push(g[w][this._idProp])}else for(var O=0,T=i.length;O<T;O++){var S=i[O],x=e.get(S);null!=x&&o.push(x[this._idProp])}return o}},{key:"getDataSet",value:function(){return this}},{key:"forEach",value:function(t,e){var r=e&&Gt(e),n=this._data,i=Ko(ks(n).call(n));if(e&&e.order)for(var o=this.get(e),a=0,u=o.length;a<u;a++){var s=o[a];t(s,s[this._idProp])}else for(var c=0,f=i.length;c<f;c++){var l=i[c],h=this._data.get(l);null==h||r&&!r(h)||t(h,l)}}},{key:"map",value:function(t,e){for(var r=e&&Gt(e),n=[],i=this._data,o=Ko(ks(i).call(i)),a=0,u=o.length;a<u;a++){var s=o[a],c=this._data.get(s);null==c||r&&!r(c)||n.push(t(c,s))}return e&&e.order&&this._sort(n,e.order),n}},{key:"_filterFields",value:function(t,e){var r;return t?re(r=Xo(e)?e:Uo(e)).call(r,(function(e,r){return e[r]=t[r],e}),{}):t}},{key:"_sort",value:function(t,e){if("string"==typeof e){var r=e;Os(t).call(t,(function(t,e){var n=t[r],i=e[r];return n>i?1:n<i?-1:0}))}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");Os(t).call(t,e)}}},{key:"remove",value:function(t,e){for(var r=[],n=[],i=Xo(t)?t:[t],o=0,a=i.length;o<a;o++){var u=this._remove(i[o]);if(u){var s=u[this._idProp];null!=s&&(r.push(s),n.push(u))}}return r.length&&this._trigger("remove",{items:r,oldData:n},e),r}},{key:"_remove",value:function(t){var e;if(vc(t)?e=t:t&&"object"===Go(t)&&(e=t[this._idProp]),null!=e&&this._data.has(e)){var r=this._data.get(e)||null;return this._data.delete(e),--this.length,r}return null}},{key:"clear",value:function(t){for(var e,r=Ko(ks(e=this._data).call(e)),n=[],i=0,o=r.length;i<o;i++)n.push(this._data.get(r[i]));return this._data.clear(),this.length=0,this._trigger("remove",{items:r,oldData:n},t),r}},{key:"max",value:function(t){var e,r,n=null,i=null,o=Oc(ds(e=this._data).call(e));try{for(o.s();!(r=o.n()).done;){var a=r.value,u=a[t];"number"==typeof u&&(null==i||u>i)&&(n=a,i=u)}}catch(t){o.e(t)}finally{o.f()}return n||null}},{key:"min",value:function(t){var e,r,n=null,i=null,o=Oc(ds(e=this._data).call(e));try{for(o.s();!(r=o.n()).done;){var a=r.value,u=a[t];"number"==typeof u&&(null==i||u<i)&&(n=a,i=u)}}catch(t){o.e(t)}finally{o.f()}return n||null}},{key:"distinct",value:function(t){for(var e=this._data,r=Ko(ks(e).call(e)),n=[],i=0,o=0,a=r.length;o<a;o++){for(var u=r[o],s=e.get(u)[t],c=!1,f=0;f<i;f++)if(n[f]==s){c=!0;break}c||void 0===s||(n[i]=s,i++)}return n}},{key:"_addItem",value:function(t){var e=function(t,e){return null==t[e]&&(t[e]=pc()),t}(t,this._idProp),r=e[this._idProp];if(this._data.has(r))throw new Error("Cannot add item: item with id "+r+" already exists");return this._data.set(r,e),++this.length,r}},{key:"_updateItem",value:function(t){var e=t[this._idProp];if(null==e)throw new Error("Cannot update item: item has no id (item: "+si(t)+")");var r=this._data.get(e);if(!r)throw new Error("Cannot update item: no item with id "+e+" found");return this._data.set(e,Ec(Ec({},r),t)),e}},{key:"stream",value:function(t){if(t){var e=this._data;return new _c(pi({},ls,fs.mark((function r(){var n,i,o,a;return fs.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:n=Oc(t),r.prev=1,n.s();case 3:if((i=n.n()).done){r.next=11;break}if(o=i.value,null==(a=e.get(o))){r.next=9;break}return r.next=9,[o,a];case 9:r.next=3;break;case 11:r.next=16;break;case 13:r.prev=13,r.t0=r.catch(1),n.e(r.t0);case 16:return r.prev=16,n.f(),r.finish(16);case 19:case"end":return r.stop()}}),r,null,[[1,13,16,19]])}))))}var r;return new _c(pi({},ls,ce(r=cs(this._data)).call(r,this._data)))}},{key:"idProp",get:function(){return this._idProp}}]),r}(yc);function kc(t,e){var r;if(void 0===ra||null==zn(t)){if(Xo(t)||(r=function(t,e){var r;if(!t)return;if("string"==typeof t)return Ac(t,e);var n=$o(r=Object.prototype.toString.call(t)).call(r,8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Bn(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ac(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){r=Fn(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw o}}}}function Ac(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function jc(t){var e=function(){if("undefined"==typeof Reflect||!os)return!1;if(os.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(os(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=ac(t);if(e){var i=ac(this).constructor;r=os(n,arguments,i)}else r=n.apply(this,arguments);return ic(this,r)}}var Ic=function(t){ec(r,t);var e=jc(r);function r(t,n){var i,o;return fe(this,r),(o=e.call(this)).length=0,o._ids=new gc,o._options=n||{},o._listener=ce(i=o._onEvent).call(i,rc(o)),o.setData(t),o}return ve(r,[{key:"setData",value:function(t){if(this._data){this._data.off&&this._data.off("*",this._listener);var e=this._data.getIds({filter:Gt(this._options)}),r=this._data.get(e);this._ids.clear(),this.length=0,this._trigger("remove",{items:e,oldData:r})}if(null!=t){this._data=t;for(var n=this._data.getIds({filter:Gt(this._options)}),i=0,o=n.length;i<o;i++){var a=n[i];this._ids.add(a)}this.length=n.length,this._trigger("add",{items:n})}else this._data=new xc;this._data.on&&this._data.on("*",this._listener)}},{key:"refresh",value:function(){for(var t=this._data.getIds({filter:Gt(this._options)}),e=Ko(this._ids),r={},n=[],i=[],o=[],a=0,u=t.length;a<u;a++){var s=t[a];r[s]=!0,this._ids.has(s)||(n.push(s),this._ids.add(s))}for(var c=0,f=e.length;c<f;c++){var l=e[c],h=this._data.get(l);null==h?console.error("If you see this, report it please."):r[l]||(i.push(l),o.push(h),this._ids.delete(l))}this.length+=n.length-i.length,n.length&&this._trigger("add",{items:n}),i.length&&this._trigger("remove",{items:i,oldData:o})}},{key:"get",value:function(t,e){if(null==this._data)return null;var r,n=null;vc(t)||Xo(t)?(n=t,r=e):r=t;var i=Xi({},this._options,r),o=Gt(this._options),a=r&&Gt(r);return o&&a&&(i.filter=function(t){return o(t)&&a(t)}),null==n?this._data.get(i):this._data.get(n,i)}},{key:"getIds",value:function(t){if(this._data.length){var e,r=Gt(this._options),n=null!=t?Gt(t):null;return e=n?r?function(t){return r(t)&&n(t)}:n:r,this._data.getIds({filter:e,order:t&&t.order})}return[]}},{key:"forEach",value:function(t,e){if(this._data){var r,n,i=Gt(this._options),o=e&&Gt(e);n=o?i?function(t){return i(t)&&o(t)}:o:i,lo(r=this._data).call(r,t,{filter:n,order:e&&e.order})}}},{key:"map",value:function(t,e){if(this._data){var r,n,i=Gt(this._options),o=e&&Gt(e);return n=o?i?function(t){return i(t)&&o(t)}:o:i,qt(r=this._data).call(r,t,{filter:n,order:e&&e.order})}return[]}},{key:"getDataSet",value:function(){return this._data.getDataSet()}},{key:"stream",value:function(t){var e;return this._data.stream(t||pi({},ls,ce(e=ks(this._ids)).call(e,this._ids)))}},{key:"dispose",value:function(){var t;null!==(t=this._data)&&void 0!==t&&t.off&&this._data.off("*",this._listener);var e,n="This data view has already been disposed of.",i={get:function(){throw new Error(n)},set:function(){throw new Error(n)},configurable:!1},o=kc(Ho(r.prototype));try{for(o.s();!(e=o.n()).done;){var a=e.value;ge(this,a,i)}}catch(t){o.e(t)}finally{o.f()}}},{key:"_onEvent",value:function(t,e,r){if(e&&e.items&&this._data){var n=e.items,i=[],o=[],a=[],u=[],s=[],c=[];switch(t){case"add":for(var f=0,l=n.length;f<l;f++){var h=n[f];this.get(h)&&(this._ids.add(h),i.push(h))}break;case"update":for(var p=0,v=n.length;p<v;p++){var d=n[p];this.get(d)?this._ids.has(d)?(o.push(d),s.push(e.data[p]),u.push(e.oldData[p])):(this._ids.add(d),i.push(d)):this._ids.has(d)&&(this._ids.delete(d),a.push(d),c.push(e.oldData[p]))}break;case"remove":for(var y=0,g=n.length;y<g;y++){var m=n[y];this._ids.has(m)&&(this._ids.delete(m),a.push(m),c.push(e.oldData[y]))}}this.length+=i.length-a.length,i.length&&this._trigger("add",{items:i},r),o.length&&this._trigger("update",{items:o,oldData:u,data:s},r),a.length&&this._trigger("remove",{items:a,oldData:c},r)}}},{key:"idProp",get:function(){return this.getDataSet().idProp}}]),r}(yc);function Pc(t,e){return"object"===Go(e)&&null!==e&&t===e.idProp&&"function"==typeof e.add&&"function"==typeof e.clear&&"function"==typeof e.distinct&&"function"==typeof lo(e)&&"function"==typeof e.get&&"function"==typeof e.getDataSet&&"function"==typeof e.getIds&&"number"==typeof e.length&&"function"==typeof qt(e)&&"function"==typeof e.max&&"function"==typeof e.min&&"function"==typeof e.off&&"function"==typeof e.on&&"function"==typeof e.remove&&"function"==typeof e.setOptions&&"function"==typeof e.stream&&"function"==typeof e.update&&"function"==typeof e.updateOnly}t.DELETE=$u,t.DataSet=xc,t.DataStream=_c,t.DataView=Ic,t.Queue=dc,t.createNewDataPipeFrom=function(t){return new ye(t)},t.isDataSetLike=Pc,t.isDataViewLike=function(t,e){return"object"===Go(e)&&null!==e&&t===e.idProp&&"function"==typeof lo(e)&&"function"==typeof e.get&&"function"==typeof e.getDataSet&&"function"==typeof e.getIds&&"number"==typeof e.length&&"function"==typeof qt(e)&&"function"==typeof e.off&&"function"==typeof e.on&&"function"==typeof e.stream&&Pc(t,e.getDataSet())},Object.defineProperty(t,"__esModule",{value:!0})}))}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){(function(global){
/**
 * vis-network
 * https://visjs.github.io/vis-network/
 *
 * A dynamic, browser-based visualization library.
 *
 * @version 9.1.0
 * @date    2021-08-29T08:43:14.666Z
 *
 * @copyright (c) 2011-2017 Almende B.V, http://almende.com
 * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
 *
 * @license
 * vis.js is dual licensed under both
 *
 *   1. The Apache 2.0 License
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *   and
 *
 *   2. The MIT License
 *      http://opensource.org/licenses/MIT
 *
 * vis.js may be distributed under either license.
 */
!function(t,e){true?e(exports,__webpack_require__(985)):undefined}(this,(function(t,e){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},o=function(t){return t&&t.Math==Math&&t},n=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof i&&i)||function(){return this}()||Function("return this")(),r={},s=function(t){try{return!!t()}catch(t){return!0}},a=!s((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),h={},d={}.propertyIsEnumerable,l=Object.getOwnPropertyDescriptor,c=l&&!d.call({1:2},1);h.f=c?function(t){var e=l(this,t);return!!e&&e.enumerable}:d;var u,f,p=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},v={}.toString,g=function(t){return v.call(t).slice(8,-1)},y=g,m="".split,b=s((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==y(t)?m.call(t,""):Object(t)}:Object,w=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},k=b,_=w,x=function(t){return k(_(t))},E=function(t){return"object"==typeof t?null!==t:"function"==typeof t},O={},C=O,S=n,T=function(t){return"function"==typeof t?t:void 0},M=function(t,e){return arguments.length<2?T(C[t])||T(S[t]):C[t]&&C[t][e]||S[t]&&S[t][e]},P=M("navigator","userAgent")||"",D=n,B=P,I=D.process,z=D.Deno,F=I&&I.versions||z&&z.version,N=F&&F.v8;N?f=(u=N.split("."))[0]<4?1:u[0]+u[1]:B&&(!(u=B.match(/Edge\/(\d+)/))||u[1]>=74)&&(u=B.match(/Chrome\/(\d+)/))&&(f=u[1]);var A=f&&+f,R=A,j=s,L=!!Object.getOwnPropertySymbols&&!j((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&R&&R<41})),H=L&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,W=M,V=H?function(t){return"symbol"==typeof t}:function(t){var e=W("Symbol");return"function"==typeof e&&Object(t)instanceof e},q=E,U={exports:{}},Y=n,X=function(t,e){try{Object.defineProperty(Y,t,{value:e,configurable:!0,writable:!0})}catch(i){Y[t]=e}return e},G="__core-js_shared__",K=n[G]||X(G,{}),$=K;(U.exports=function(t,e){return $[t]||($[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.16.1",mode:"pure",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var Z=w,Q=function(t){return Object(Z(t))},J=Q,tt={}.hasOwnProperty,et=Object.hasOwn||function(t,e){return tt.call(J(t),e)},it=0,ot=Math.random(),nt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++it+ot).toString(36)},rt=n,st=U.exports,at=et,ht=nt,dt=L,lt=H,ct=st("wks"),ut=rt.Symbol,ft=lt?ut:ut&&ut.withoutSetter||ht,pt=function(t){return at(ct,t)&&(dt||"string"==typeof ct[t])||(dt&&at(ut,t)?ct[t]=ut[t]:ct[t]=ft("Symbol."+t)),ct[t]},vt=E,gt=V,yt=function(t,e){var i,o;if("string"===e&&"function"==typeof(i=t.toString)&&!q(o=i.call(t)))return o;if("function"==typeof(i=t.valueOf)&&!q(o=i.call(t)))return o;if("string"!==e&&"function"==typeof(i=t.toString)&&!q(o=i.call(t)))return o;throw TypeError("Can't convert object to primitive value")},mt=pt("toPrimitive"),bt=function(t,e){if(!vt(t)||gt(t))return t;var i,o=t[mt];if(void 0!==o){if(void 0===e&&(e="default"),i=o.call(t,e),!vt(i)||gt(i))return i;throw TypeError("Can't convert object to primitive value")}return void 0===e&&(e="number"),yt(t,e)},wt=V,kt=function(t){var e=bt(t,"string");return wt(e)?e:String(e)},_t=E,xt=n.document,Et=_t(xt)&&_t(xt.createElement),Ot=function(t){return Et?xt.createElement(t):{}},Ct=Ot,St=!a&&!s((function(){return 7!=Object.defineProperty(Ct("div"),"a",{get:function(){return 7}}).a})),Tt=a,Mt=h,Pt=p,Dt=x,Bt=kt,It=et,zt=St,Ft=Object.getOwnPropertyDescriptor;r.f=Tt?Ft:function(t,e){if(t=Dt(t),e=Bt(e),zt)try{return Ft(t,e)}catch(t){}if(It(t,e))return Pt(!Mt.f.call(t,e),t[e])};var Nt=s,At=/#|\.prototype\./,Rt=function(t,e){var i=Lt[jt(t)];return i==Wt||i!=Ht&&("function"==typeof e?Nt(e):!!e)},jt=Rt.normalize=function(t){return String(t).replace(At,".").toLowerCase()},Lt=Rt.data={},Ht=Rt.NATIVE="N",Wt=Rt.POLYFILL="P",Vt=Rt,qt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},Ut=qt,Yt=function(t,e,i){if(Ut(t),void 0===e)return t;switch(i){case 0:return function(){return t.call(e)};case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}},Xt={},Gt=E,Kt=function(t){if(!Gt(t))throw TypeError(String(t)+" is not an object");return t},$t=a,Zt=St,Qt=Kt,Jt=kt,te=Object.defineProperty;Xt.f=$t?te:function(t,e,i){if(Qt(t),e=Jt(e),Qt(i),Zt)try{return te(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported");return"value"in i&&(t[e]=i.value),t};var ee=Xt,ie=p,oe=a?function(t,e,i){return ee.f(t,e,ie(1,i))}:function(t,e,i){return t[e]=i,t},ne=n,re=r.f,se=Vt,ae=O,he=Yt,de=oe,le=et,ce=function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e.prototype=t.prototype,e},ue=function(t,e){var i,o,n,r,s,a,h,d,l=t.target,c=t.global,u=t.stat,f=t.proto,p=c?ne:u?ne[l]:(ne[l]||{}).prototype,v=c?ae:ae[l]||(ae[l]={}),g=v.prototype;for(n in e)i=!se(c?n:l+(u?".":"#")+n,t.forced)&&p&&le(p,n),s=v[n],i&&(a=t.noTargetGet?(d=re(p,n))&&d.value:p[n]),r=i&&a?a:e[n],i&&typeof s==typeof r||(h=t.bind&&i?he(r,ne):t.wrap&&i?ce(r):f&&"function"==typeof r?he(Function.call,r):r,(t.sham||r&&r.sham||s&&s.sham)&&de(h,"sham",!0),v[n]=h,f&&(le(ae,o=l+"Prototype")||de(ae,o,{}),ae[o][n]=r,t.real&&g&&!g[n]&&de(g,n,r)))},fe=Math.ceil,pe=Math.floor,ve=function(t){return isNaN(t=+t)?0:(t>0?pe:fe)(t)},ge=ve,ye=Math.min,me=function(t){return t>0?ye(ge(t),9007199254740991):0},be=ve,we=Math.max,ke=Math.min,_e=function(t,e){var i=be(t);return i<0?we(i+e,0):ke(i,e)},xe=x,Ee=me,Oe=_e,Ce=function(t){return function(e,i,o){var n,r=xe(e),s=Ee(r.length),a=Oe(o,s);if(t&&i!=i){for(;s>a;)if((n=r[a++])!=n)return!0}else for(;s>a;a++)if((t||a in r)&&r[a]===i)return t||a||0;return!t&&-1}},Se={includes:Ce(!0),indexOf:Ce(!1)},Te={},Me=et,Pe=x,De=Se.indexOf,Be=Te,Ie=function(t,e){var i,o=Pe(t),n=0,r=[];for(i in o)!Me(Be,i)&&Me(o,i)&&r.push(i);for(;e.length>n;)Me(o,i=e[n++])&&(~De(r,i)||r.push(i));return r},ze=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Fe=Ie,Ne=ze,Ae=Object.keys||function(t){return Fe(t,Ne)},Re={};Re.f=Object.getOwnPropertySymbols;var je=a,Le=s,He=Ae,We=Re,Ve=h,qe=Q,Ue=b,Ye=Object.assign,Xe=Object.defineProperty,Ge=!Ye||Le((function(){if(je&&1!==Ye({b:1},Ye(Xe({},"a",{enumerable:!0,get:function(){Xe(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},i=Symbol(),o="abcdefghijklmnopqrst";return t[i]=7,o.split("").forEach((function(t){e[t]=t})),7!=Ye({},t)[i]||He(Ye({},e)).join("")!=o}))?function(t,e){for(var i=qe(t),o=arguments.length,n=1,r=We.f,s=Ve.f;o>n;)for(var a,h=Ue(arguments[n++]),d=r?He(h).concat(r(h)):He(h),l=d.length,c=0;l>c;)a=d[c++],je&&!s.call(h,a)||(i[a]=h[a]);return i}:Ye;ue({target:"Object",stat:!0,forced:Object.assign!==Ge},{assign:Ge});var Ke=O.Object.assign,$e=qt,Ze=E,Qe=[].slice,Je={},ti=function(t,e,i){if(!(e in Je)){for(var o=[],n=0;n<e;n++)o[n]="a["+n+"]";Je[e]=Function("C,a","return new C("+o.join(",")+")")}return Je[e](t,i)},ei=Function.bind||function(t){var e=$e(this),i=Qe.call(arguments,1),o=function(){var n=i.concat(Qe.call(arguments));return this instanceof o?ti(e,n.length,n):e.apply(t,n)};return Ze(e.prototype)&&(o.prototype=e.prototype),o};ue({target:"Function",proto:!0},{bind:ei});var ii=O,oi=function(t){return ii[t+"Prototype"]},ni=oi("Function").bind,ri=Function.prototype,si=function(t){var e=t.bind;return t===ri||t instanceof Function&&e===ri.bind?ni:e};function ai(t,e,i,o){t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.closePath()}function hi(t,e,i,o,n,r){var s=Math.PI/180;o-2*r<0&&(r=o/2),n-2*r<0&&(r=n/2),t.beginPath(),t.moveTo(e+r,i),t.lineTo(e+o-r,i),t.arc(e+o-r,i+r,r,270*s,360*s,!1),t.lineTo(e+o,i+n-r),t.arc(e+o-r,i+n-r,r,0,90*s,!1),t.lineTo(e+r,i+n),t.arc(e+r,i+n-r,r,90*s,180*s,!1),t.lineTo(e,i+r),t.arc(e+r,i+r,r,180*s,270*s,!1),t.closePath()}function di(t,e,i,o,n){var r=.5522848,s=o/2*r,a=n/2*r,h=e+o,d=i+n,l=e+o/2,c=i+n/2;t.beginPath(),t.moveTo(e,c),t.bezierCurveTo(e,c-a,l-s,i,l,i),t.bezierCurveTo(l+s,i,h,c-a,h,c),t.bezierCurveTo(h,c+a,l+s,d,l,d),t.bezierCurveTo(l-s,d,e,c+a,e,c),t.closePath()}function li(t,e,i,o,n){var r=n*(1/3),s=.5522848,a=o/2*s,h=r/2*s,d=e+o,l=i+r,c=e+o/2,u=i+r/2,f=i+(n-r/2),p=i+n;t.beginPath(),t.moveTo(d,u),t.bezierCurveTo(d,u+h,c+a,l,c,l),t.bezierCurveTo(c-a,l,e,u+h,e,u),t.bezierCurveTo(e,u-h,c-a,i,c,i),t.bezierCurveTo(c+a,i,d,u-h,d,u),t.lineTo(d,f),t.bezierCurveTo(d,f+h,c+a,p,c,p),t.bezierCurveTo(c-a,p,e,f+h,e,f),t.lineTo(e,u)}function ci(t,e,i,o,n,r){t.beginPath(),t.moveTo(e,i);for(var s=r.length,a=o-e,h=n-i,d=h/a,l=Math.sqrt(a*a+h*h),c=0,u=!0,f=0,p=+r[0];l>=.1;)(p=+r[c++%s])>l&&(p=l),f=Math.sqrt(p*p/(1+d*d)),e+=f=a<0?-f:f,i+=d*f,!0===u?t.lineTo(e,i):t.moveTo(e,i),l-=p,u=!u}var ui={circle:ai,dashedLine:ci,database:li,diamond:function(t,e,i,o){t.beginPath(),t.lineTo(e,i+o),t.lineTo(e+o,i),t.lineTo(e,i-o),t.lineTo(e-o,i),t.closePath()},ellipse:di,ellipse_vis:di,hexagon:function(t,e,i,o){t.beginPath();var n=2*Math.PI/6;t.moveTo(e+o,i);for(var r=1;r<6;r++)t.lineTo(e+o*Math.cos(n*r),i+o*Math.sin(n*r));t.closePath()},roundRect:hi,square:function(t,e,i,o){t.beginPath(),t.rect(e-o,i-o,2*o,2*o),t.closePath()},star:function(t,e,i,o){t.beginPath(),i+=.1*(o*=.82);for(var n=0;n<10;n++){var r=n%2==0?1.3*o:.5*o;t.lineTo(e+r*Math.sin(2*n*Math.PI/10),i-r*Math.cos(2*n*Math.PI/10))}t.closePath()},triangle:function(t,e,i,o){t.beginPath(),i+=.275*(o*=1.15);var n=2*o,r=n/2,s=Math.sqrt(3)/6*n,a=Math.sqrt(n*n-r*r);t.moveTo(e,i-(a-s)),t.lineTo(e+r,i+s),t.lineTo(e-r,i+s),t.lineTo(e,i-(a-s)),t.closePath()},triangleDown:function(t,e,i,o){t.beginPath(),i-=.275*(o*=1.15);var n=2*o,r=n/2,s=Math.sqrt(3)/6*n,a=Math.sqrt(n*n-r*r);t.moveTo(e,i+(a-s)),t.lineTo(e+r,i-s),t.lineTo(e-r,i-s),t.lineTo(e,i+(a-s)),t.closePath()}};var fi={exports:{}};!function(t){function e(t){if(t)return function(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}(t)}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){this.off(t,i),e.apply(this,arguments)}return i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i,o=this._callbacks["$"+t];if(!o)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var n=0;n<o.length;n++)if((i=o[n])===e||i.fn===e){o.splice(n,1);break}return 0===o.length&&delete this._callbacks["$"+t],this},e.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),i=this._callbacks["$"+t],o=1;o<arguments.length;o++)e[o-1]=arguments[o];if(i){o=0;for(var n=(i=i.slice(0)).length;o<n;++o)i[o].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}}(fi);var pi=fi.exports,vi=V,gi=function(t){if(vi(t))throw TypeError("Cannot convert a Symbol value to a string");return String(t)},yi=ve,mi=gi,bi=w,wi=function(t){return function(e,i){var o,n,r=mi(bi(e)),s=yi(i),a=r.length;return s<0||s>=a?t?"":void 0:(o=r.charCodeAt(s))<55296||o>56319||s+1===a||(n=r.charCodeAt(s+1))<56320||n>57343?t?r.charAt(s):o:t?r.slice(s,s+2):n-56320+(o-55296<<10)+65536}},ki={codeAt:wi(!1),charAt:wi(!0)},_i=K,xi=Function.toString;"function"!=typeof _i.inspectSource&&(_i.inspectSource=function(t){return xi.call(t)});var Ei,Oi,Ci,Si=_i.inspectSource,Ti=n.WeakMap,Mi="function"==typeof Ti&&/native code/.test(Si(Ti)),Pi=U.exports,Di=nt,Bi=Pi("keys"),Ii=function(t){return Bi[t]||(Bi[t]=Di(t))},zi=Mi,Fi=E,Ni=oe,Ai=et,Ri=K,ji=Ii,Li=Te,Hi="Object already initialized",Wi=n.WeakMap;if(zi||Ri.state){var Vi=Ri.state||(Ri.state=new Wi),qi=Vi.get,Ui=Vi.has,Yi=Vi.set;Ei=function(t,e){if(Ui.call(Vi,t))throw new TypeError(Hi);return e.facade=t,Yi.call(Vi,t,e),e},Oi=function(t){return qi.call(Vi,t)||{}},Ci=function(t){return Ui.call(Vi,t)}}else{var Xi=ji("state");Li[Xi]=!0,Ei=function(t,e){if(Ai(t,Xi))throw new TypeError(Hi);return e.facade=t,Ni(t,Xi,e),e},Oi=function(t){return Ai(t,Xi)?t[Xi]:{}},Ci=function(t){return Ai(t,Xi)}}var Gi,Ki,$i,Zi={set:Ei,get:Oi,has:Ci,enforce:function(t){return Ci(t)?Oi(t):Ei(t,{})},getterFor:function(t){return function(e){var i;if(!Fi(e)||(i=Oi(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return i}}},Qi=!s((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),Ji=et,to=Q,eo=Qi,io=Ii("IE_PROTO"),oo=Object.prototype,no=eo?Object.getPrototypeOf:function(t){return t=to(t),Ji(t,io)?t[io]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?oo:null},ro=s,so=no,ao=oe,ho=et,lo=pt("iterator"),co=!1;[].keys&&("next"in($i=[].keys())?(Ki=so(so($i)))!==Object.prototype&&(Gi=Ki):co=!0);var uo=null==Gi||ro((function(){var t={};return Gi[lo].call(t)!==t}));uo&&(Gi={}),uo&&!ho(Gi,lo)&&ao(Gi,lo,(function(){return this}));var fo,po={IteratorPrototype:Gi,BUGGY_SAFARI_ITERATORS:co},vo=Xt,go=Kt,yo=Ae,mo=a?Object.defineProperties:function(t,e){go(t);for(var i,o=yo(e),n=o.length,r=0;n>r;)vo.f(t,i=o[r++],e[i]);return t},bo=M("document","documentElement"),wo=Kt,ko=mo,_o=ze,xo=Te,Eo=bo,Oo=Ot,Co=Ii("IE_PROTO"),So=function(){},To=function(t){return"<script>"+t+"</"+"script>"},Mo=function(t){t.write(To("")),t.close();var e=t.parentWindow.Object;return t=null,e},Po=function(){try{fo=new ActiveXObject("htmlfile")}catch(t){}Po=document.domain&&fo?Mo(fo):function(){var t,e=Oo("iframe");if(e.style)return e.style.display="none",Eo.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(To("document.F=Object")),t.close(),t.F}()||Mo(fo);for(var t=_o.length;t--;)delete Po.prototype[_o[t]];return Po()};xo[Co]=!0;var Do=Object.create||function(t,e){var i;return null!==t?(So.prototype=wo(t),i=new So,So.prototype=null,i[Co]=t):i=Po(),void 0===e?i:ko(i,e)},Bo={};Bo[pt("toStringTag")]="z";var Io="[object z]"===String(Bo),zo=Io,Fo=g,No=pt("toStringTag"),Ao="Arguments"==Fo(function(){return arguments}()),Ro=zo?Fo:function(t){var e,i,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),No))?i:Ao?Fo(e):"Object"==(o=Fo(e))&&"function"==typeof e.callee?"Arguments":o},jo=Ro,Lo=Io?{}.toString:function(){return"[object "+jo(this)+"]"},Ho=Io,Wo=Xt.f,Vo=oe,qo=et,Uo=Lo,Yo=pt("toStringTag"),Xo=function(t,e,i,o){if(t){var n=i?t:t.prototype;qo(n,Yo)||Wo(n,Yo,{configurable:!0,value:e}),o&&!Ho&&Vo(n,"toString",Uo)}},Go={},Ko=po.IteratorPrototype,$o=Do,Zo=p,Qo=Xo,Jo=Go,tn=function(){return this},en=E,on=Kt,nn=function(t){if(!en(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t},rn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(i,[]),e=i instanceof Array}catch(t){}return function(i,o){return on(i),nn(o),e?t.call(i,o):i.__proto__=o,i}}():void 0),sn=oe,an=function(t,e,i,o){o&&o.enumerable?t[e]=i:sn(t,e,i)},hn=ue,dn=function(t,e,i){var o=e+" Iterator";return t.prototype=$o(Ko,{next:Zo(1,i)}),Qo(t,o,!1,!0),Jo[o]=tn,t},ln=no,cn=Xo,un=oe,fn=an,pn=Go,vn=po.IteratorPrototype,gn=po.BUGGY_SAFARI_ITERATORS,yn=pt("iterator"),mn="keys",bn="values",wn="entries",kn=function(){return this},_n=function(t,e,i,o,n,r,s){dn(i,e,o);var a,h,d,l=function(t){if(t===n&&v)return v;if(!gn&&t in f)return f[t];switch(t){case mn:case bn:case wn:return function(){return new i(this,t)}}return function(){return new i(this)}},c=e+" Iterator",u=!1,f=t.prototype,p=f[yn]||f["@@iterator"]||n&&f[n],v=!gn&&p||l(n),g="Array"==e&&f.entries||p;if(g&&(a=ln(g.call(new t)),vn!==Object.prototype&&a.next&&(cn(a,c,!0,!0),pn[c]=kn)),n==bn&&p&&p.name!==bn&&(u=!0,v=function(){return p.call(this)}),s&&f[yn]!==v&&un(f,yn,v),pn[e]=v,n)if(h={values:l(bn),keys:r?v:l(mn),entries:l(wn)},s)for(d in h)(gn||u||!(d in f))&&fn(f,d,h[d]);else hn({target:e,proto:!0,forced:gn||u},h);return h},xn=ki.charAt,En=gi,On=Zi,Cn=_n,Sn="String Iterator",Tn=On.set,Mn=On.getterFor(Sn);Cn(String,"String",(function(t){Tn(this,{type:Sn,string:En(t),index:0})}),(function(){var t,e=Mn(this),i=e.string,o=e.index;return o>=i.length?{value:void 0,done:!0}:(t=xn(i,o),e.index+=t.length,{value:t,done:!1})}));var Pn=Kt,Dn=function(t){var e=t.return;if(void 0!==e)return Pn(e.call(t)).value},Bn=Kt,In=Dn,zn=Go,Fn=pt("iterator"),Nn=Array.prototype,An=function(t){return void 0!==t&&(zn.Array===t||Nn[Fn]===t)},Rn=kt,jn=Xt,Ln=p,Hn=function(t,e,i){var o=Rn(e);o in t?jn.f(t,o,Ln(0,i)):t[o]=i},Wn=Ro,Vn=Go,qn=pt("iterator"),Un=function(t){if(null!=t)return t[qn]||t["@@iterator"]||Vn[Wn(t)]},Yn=Yt,Xn=Q,Gn=function(t,e,i,o){try{return o?e(Bn(i)[0],i[1]):e(i)}catch(e){throw In(t),e}},Kn=An,$n=me,Zn=Hn,Qn=Un,Jn=pt("iterator"),tr=!1;try{var er=0,ir={next:function(){return{done:!!er++}},return:function(){tr=!0}};ir[Jn]=function(){return this},Array.from(ir,(function(){throw 2}))}catch(t){}var or=function(t){var e,i,o,n,r,s,a=Xn(t),h="function"==typeof this?this:Array,d=arguments.length,l=d>1?arguments[1]:void 0,c=void 0!==l,u=Qn(a),f=0;if(c&&(l=Yn(l,d>2?arguments[2]:void 0,2)),null==u||h==Array&&Kn(u))for(i=new h(e=$n(a.length));e>f;f++)s=c?l(a[f],f):a[f],Zn(i,f,s);else for(r=(n=u.call(a)).next,i=new h;!(o=r.call(n)).done;f++)s=c?Gn(n,l,[o.value,f],!0):o.value,Zn(i,f,s);return i.length=f,i};ue({target:"Array",stat:!0,forced:!function(t,e){if(!e&&!tr)return!1;var i=!1;try{var o={};o[Jn]=function(){return{next:function(){return{done:i=!0}}}},t(o)}catch(t){}return i}((function(t){Array.from(t)}))},{from:or});var nr=O.Array.from,rr=nr,sr=x,ar=Go,hr=Zi,dr=_n,lr="Array Iterator",cr=hr.set,ur=hr.getterFor(lr);dr(Array,"Array",(function(t,e){cr(this,{type:lr,target:sr(t),index:0,kind:e})}),(function(){var t=ur(this),e=t.target,i=t.kind,o=t.index++;return!e||o>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==i?{value:o,done:!1}:"values"==i?{value:e[o],done:!1}:{value:[o,e[o]],done:!1}}),"values"),ar.Arguments=ar.Array;var fr=Un,pr={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},vr=n,gr=Ro,yr=oe,mr=Go,br=pt("toStringTag");for(var wr in pr){var kr=vr[wr],_r=kr&&kr.prototype;_r&&gr(_r)!==br&&yr(_r,br,wr),mr[wr]=mr.Array}var xr=fr,Er=g,Or=Array.isArray||function(t){return"Array"==Er(t)},Cr={},Sr=Ie,Tr=ze.concat("length","prototype");Cr.f=Object.getOwnPropertyNames||function(t){return Sr(t,Tr)};var Mr={},Pr=x,Dr=Cr.f,Br={}.toString,Ir="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];Mr.f=function(t){return Ir&&"[object Window]"==Br.call(t)?function(t){try{return Dr(t)}catch(t){return Ir.slice()}}(t):Dr(Pr(t))};var zr={},Fr=pt;zr.f=Fr;var Nr=O,Ar=et,Rr=zr,jr=Xt.f,Lr=function(t){var e=Nr.Symbol||(Nr.Symbol={});Ar(e,t)||jr(e,t,{value:Rr.f(t)})},Hr=E,Wr=Or,Vr=pt("species"),qr=function(t){var e;return Wr(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!Wr(e.prototype)?Hr(e)&&null===(e=e[Vr])&&(e=void 0):e=void 0),void 0===e?Array:e},Ur=function(t,e){return new(qr(t))(0===e?0:e)},Yr=Yt,Xr=b,Gr=Q,Kr=me,$r=Ur,Zr=[].push,Qr=function(t){var e=1==t,i=2==t,o=3==t,n=4==t,r=6==t,s=7==t,a=5==t||r;return function(h,d,l,c){for(var u,f,p=Gr(h),v=Xr(p),g=Yr(d,l,3),y=Kr(v.length),m=0,b=c||$r,w=e?b(h,y):i||s?b(h,0):void 0;y>m;m++)if((a||m in v)&&(f=g(u=v[m],m,p),t))if(e)w[m]=f;else if(f)switch(t){case 3:return!0;case 5:return u;case 6:return m;case 2:Zr.call(w,u)}else switch(t){case 4:return!1;case 7:Zr.call(w,u)}return r?-1:o||n?n:w}},Jr={forEach:Qr(0),map:Qr(1),filter:Qr(2),some:Qr(3),every:Qr(4),find:Qr(5),findIndex:Qr(6),filterReject:Qr(7)},ts=ue,es=n,is=M,os=a,ns=L,rs=s,ss=et,as=Or,hs=E,ds=V,ls=Kt,cs=Q,us=x,fs=kt,ps=gi,vs=p,gs=Do,ys=Ae,ms=Cr,bs=Mr,ws=Re,ks=r,_s=Xt,xs=h,Es=oe,Os=an,Cs=U.exports,Ss=Te,Ts=nt,Ms=pt,Ps=zr,Ds=Lr,Bs=Xo,Is=Zi,zs=Jr.forEach,Fs=Ii("hidden"),Ns="Symbol",As=Ms("toPrimitive"),Rs=Is.set,js=Is.getterFor(Ns),Ls=Object.prototype,Hs=es.Symbol,Ws=is("JSON","stringify"),Vs=ks.f,qs=_s.f,Us=bs.f,Ys=xs.f,Xs=Cs("symbols"),Gs=Cs("op-symbols"),Ks=Cs("string-to-symbol-registry"),$s=Cs("symbol-to-string-registry"),Zs=Cs("wks"),Qs=es.QObject,Js=!Qs||!Qs.prototype||!Qs.prototype.findChild,ta=os&&rs((function(){return 7!=gs(qs({},"a",{get:function(){return qs(this,"a",{value:7}).a}})).a}))?function(t,e,i){var o=Vs(Ls,e);o&&delete Ls[e],qs(t,e,i),o&&t!==Ls&&qs(Ls,e,o)}:qs,ea=function(t,e){var i=Xs[t]=gs(Hs.prototype);return Rs(i,{type:Ns,tag:t,description:e}),os||(i.description=e),i},ia=function(t,e,i){t===Ls&&ia(Gs,e,i),ls(t);var o=fs(e);return ls(i),ss(Xs,o)?(i.enumerable?(ss(t,Fs)&&t[Fs][o]&&(t[Fs][o]=!1),i=gs(i,{enumerable:vs(0,!1)})):(ss(t,Fs)||qs(t,Fs,vs(1,{})),t[Fs][o]=!0),ta(t,o,i)):qs(t,o,i)},oa=function(t,e){ls(t);var i=us(e),o=ys(i).concat(aa(i));return zs(o,(function(e){os&&!na.call(i,e)||ia(t,e,i[e])})),t},na=function(t){var e=fs(t),i=Ys.call(this,e);return!(this===Ls&&ss(Xs,e)&&!ss(Gs,e))&&(!(i||!ss(this,e)||!ss(Xs,e)||ss(this,Fs)&&this[Fs][e])||i)},ra=function(t,e){var i=us(t),o=fs(e);if(i!==Ls||!ss(Xs,o)||ss(Gs,o)){var n=Vs(i,o);return!n||!ss(Xs,o)||ss(i,Fs)&&i[Fs][o]||(n.enumerable=!0),n}},sa=function(t){var e=Us(us(t)),i=[];return zs(e,(function(t){ss(Xs,t)||ss(Ss,t)||i.push(t)})),i},aa=function(t){var e=t===Ls,i=Us(e?Gs:us(t)),o=[];return zs(i,(function(t){!ss(Xs,t)||e&&!ss(Ls,t)||o.push(Xs[t])})),o};(ns||(Os((Hs=function(){if(this instanceof Hs)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?ps(arguments[0]):void 0,e=Ts(t),i=function(t){this===Ls&&i.call(Gs,t),ss(this,Fs)&&ss(this[Fs],e)&&(this[Fs][e]=!1),ta(this,e,vs(1,t))};return os&&Js&&ta(Ls,e,{configurable:!0,set:i}),ea(e,t)}).prototype,"toString",(function(){return js(this).tag})),Os(Hs,"withoutSetter",(function(t){return ea(Ts(t),t)})),xs.f=na,_s.f=ia,ks.f=ra,ms.f=bs.f=sa,ws.f=aa,Ps.f=function(t){return ea(Ms(t),t)},os&&qs(Hs.prototype,"description",{configurable:!0,get:function(){return js(this).description}})),ts({global:!0,wrap:!0,forced:!ns,sham:!ns},{Symbol:Hs}),zs(ys(Zs),(function(t){Ds(t)})),ts({target:Ns,stat:!0,forced:!ns},{for:function(t){var e=ps(t);if(ss(Ks,e))return Ks[e];var i=Hs(e);return Ks[e]=i,$s[i]=e,i},keyFor:function(t){if(!ds(t))throw TypeError(t+" is not a symbol");if(ss($s,t))return $s[t]},useSetter:function(){Js=!0},useSimple:function(){Js=!1}}),ts({target:"Object",stat:!0,forced:!ns,sham:!os},{create:function(t,e){return void 0===e?gs(t):oa(gs(t),e)},defineProperty:ia,defineProperties:oa,getOwnPropertyDescriptor:ra}),ts({target:"Object",stat:!0,forced:!ns},{getOwnPropertyNames:sa,getOwnPropertySymbols:aa}),ts({target:"Object",stat:!0,forced:rs((function(){ws.f(1)}))},{getOwnPropertySymbols:function(t){return ws.f(cs(t))}}),Ws)&&ts({target:"JSON",stat:!0,forced:!ns||rs((function(){var t=Hs();return"[null]"!=Ws([t])||"{}"!=Ws({a:t})||"{}"!=Ws(Object(t))}))},{stringify:function(t,e,i){for(var o,n=[t],r=1;arguments.length>r;)n.push(arguments[r++]);if(o=e,(hs(e)||void 0!==t)&&!ds(t))return as(e)||(e=function(t,e){if("function"==typeof o&&(e=o.call(this,t,e)),!ds(e))return e}),n[1]=e,Ws.apply(null,n)}});Hs.prototype[As]||Es(Hs.prototype,As,Hs.prototype.valueOf),Bs(Hs,Ns),Ss[Fs]=!0;var ha=O.Object.getOwnPropertySymbols,da={exports:{}},la=ue,ca=s,ua=x,fa=r.f,pa=a,va=ca((function(){fa(1)}));la({target:"Object",stat:!0,forced:!pa||va,sham:!pa},{getOwnPropertyDescriptor:function(t,e){return fa(ua(t),e)}});var ga=O.Object,ya=da.exports=function(t,e){return ga.getOwnPropertyDescriptor(t,e)};ga.getOwnPropertyDescriptor.sham&&(ya.sham=!0);var ma=da.exports,ba=ma,wa=Cr,ka=Re,_a=Kt,xa=M("Reflect","ownKeys")||function(t){var e=wa.f(_a(t)),i=ka.f;return i?e.concat(i(t)):e},Ea=xa,Oa=x,Ca=r,Sa=Hn;ue({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var e,i,o=Oa(t),n=Ca.f,r=Ea(o),s={},a=0;r.length>a;)void 0!==(i=n(o,e=r[a++]))&&Sa(s,e,i);return s}});var Ta=O.Object.getOwnPropertyDescriptors,Ma={exports:{}};ue({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperties:mo});var Pa=O.Object,Da=Ma.exports=function(t,e){return Pa.defineProperties(t,e)};Pa.defineProperties.sham&&(Da.sham=!0);var Ba=Ma.exports,Ia={exports:{}};ue({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperty:Xt.f});var za=O.Object,Fa=Ia.exports=function(t,e,i){return za.defineProperty(t,e,i)};za.defineProperty.sham&&(Fa.sham=!0);var Na=Ia.exports,Aa=Na;function Ra(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var ja=Na;function La(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),ja(t,o.key,o)}}function Ha(t,e,i){return e&&La(t.prototype,e),i&&La(t,i),t}function Wa(t,e,i){return e in t?ja(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}ue({target:"Array",stat:!0},{isArray:Or});var Va=O.Array.isArray,qa=Va;var Ua=s,Ya=A,Xa=pt("species"),Ga=function(t){return Ya>=51||!Ua((function(){var e=[];return(e.constructor={})[Xa]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Ka=ue,$a=s,Za=Or,Qa=E,Ja=Q,th=me,eh=Hn,ih=Ur,oh=Ga,nh=A,rh=pt("isConcatSpreadable"),sh=9007199254740991,ah="Maximum allowed index exceeded",hh=nh>=51||!$a((function(){var t=[];return t[rh]=!1,t.concat()[0]!==t})),dh=oh("concat"),lh=function(t){if(!Qa(t))return!1;var e=t[rh];return void 0!==e?!!e:Za(t)};Ka({target:"Array",proto:!0,forced:!hh||!dh},{concat:function(t){var e,i,o,n,r,s=Ja(this),a=ih(s,0),h=0;for(e=-1,o=arguments.length;e<o;e++)if(lh(r=-1===e?s:arguments[e])){if(h+(n=th(r.length))>sh)throw TypeError(ah);for(i=0;i<n;i++,h++)i in r&&eh(a,h,r[i])}else{if(h>=sh)throw TypeError(ah);eh(a,h++,r)}return a.length=h,a}}),Lr("asyncIterator"),Lr("hasInstance"),Lr("isConcatSpreadable"),Lr("iterator"),Lr("match"),Lr("matchAll"),Lr("replace"),Lr("search"),Lr("species"),Lr("split"),Lr("toPrimitive"),Lr("toStringTag"),Lr("unscopables"),Xo(n.JSON,"JSON",!0);var ch=O.Symbol;Lr("asyncDispose"),Lr("dispose"),Lr("matcher"),Lr("metadata"),Lr("observable"),Lr("patternMatch"),Lr("replaceAll");var uh=ch;var fh=ue,ph=E,vh=Or,gh=_e,yh=me,mh=x,bh=Hn,wh=pt,kh=Ga("slice"),_h=wh("species"),xh=[].slice,Eh=Math.max;fh({target:"Array",proto:!0,forced:!kh},{slice:function(t,e){var i,o,n,r=mh(this),s=yh(r.length),a=gh(t,s),h=gh(void 0===e?s:e,s);if(vh(r)&&("function"!=typeof(i=r.constructor)||i!==Array&&!vh(i.prototype)?ph(i)&&null===(i=i[_h])&&(i=void 0):i=void 0,i===Array||void 0===i))return xh.call(r,a,h);for(o=new(void 0===i?Array:i)(Eh(h-a,0)),n=0;a<h;a++,n++)a in r&&bh(o,n,r[a]);return o.length=n,o}});var Oh=oi("Array").slice,Ch=Array.prototype,Sh=function(t){var e=t.slice;return t===Ch||t instanceof Array&&e===Ch.slice?Oh:e},Th=Sh,Mh=nr;function Ph(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}function Dh(t,e){var i;if(t){if("string"==typeof t)return Ph(t,e);var o=Th(i=Object.prototype.toString.call(t)).call(i,8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Mh(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?Ph(t,e):void 0}}function Bh(t,e){return function(t){if(qa(t))return t}(t)||function(t,e){var i=null==t?null:void 0!==uh&&xr(t)||t["@@iterator"];if(null!=i){var o,n,r=[],s=!0,a=!1;try{for(i=i.call(t);!(s=(o=i.next()).done)&&(r.push(o.value),!e||r.length!==e);s=!0);}catch(t){a=!0,n=t}finally{try{s||null==i.return||i.return()}finally{if(a)throw n}}return r}}(t,e)||Dh(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ih=zr.f("iterator");function zh(t){return(zh="function"==typeof uh&&"symbol"==typeof Ih?function(t){return typeof t}:function(t){return t&&"function"==typeof uh&&t.constructor===uh&&t!==uh.prototype?"symbol":typeof t})(t)}function Fh(t){return function(t){if(qa(t))return Ph(t)}(t)||function(t){if(void 0!==uh&&null!=xr(t)||null!=t["@@iterator"])return Mh(t)}(t)||Dh(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Nh=ch,Ah=oi("Array").concat,Rh=Array.prototype,jh=function(t){var e=t.concat;return t===Rh||t instanceof Array&&e===Rh.concat?Ah:e},Lh=Sh;ue({target:"Reflect",stat:!0},{ownKeys:xa}),O.Reflect.ownKeys;var Hh=Va,Wh=Jr.map;ue({target:"Array",proto:!0,forced:!Ga("map")},{map:function(t){return Wh(this,t,arguments.length>1?arguments[1]:void 0)}});var Vh=oi("Array").map,qh=Array.prototype,Uh=function(t){var e=t.map;return t===qh||t instanceof Array&&e===qh.map?Vh:e},Yh=Q,Xh=Ae;ue({target:"Object",stat:!0,forced:s((function(){Xh(1)}))},{keys:function(t){return Xh(Yh(t))}});var Gh=O.Object.keys;ue({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var Kh=O.Date.now,$h=s,Zh=function(t,e){var i=[][t];return!!i&&$h((function(){i.call(null,e||function(){throw 1},1)}))},Qh=Jr.forEach,Jh=Zh("forEach")?[].forEach:function(t){return Qh(this,t,arguments.length>1?arguments[1]:void 0)};ue({target:"Array",proto:!0,forced:[].forEach!=Jh},{forEach:Jh});var td=oi("Array").forEach,ed=Ro,id=Array.prototype,od={DOMTokenList:!0,NodeList:!0},nd=function(t){var e=t.forEach;return t===id||t instanceof Array&&e===id.forEach||od.hasOwnProperty(ed(t))?td:e},rd=Or,sd=[].reverse,ad=[1,2];ue({target:"Array",proto:!0,forced:String(ad)===String(ad.reverse())},{reverse:function(){return rd(this)&&(this.length=this.length),sd.call(this)}});var hd=oi("Array").reverse,dd=Array.prototype,ld=function(t){var e=t.reverse;return t===dd||t instanceof Array&&e===dd.reverse?hd:e},cd=ue,ud=_e,fd=ve,pd=me,vd=Q,gd=Ur,yd=Hn,md=Ga("splice"),bd=Math.max,wd=Math.min,kd=9007199254740991,_d="Maximum allowed length exceeded";cd({target:"Array",proto:!0,forced:!md},{splice:function(t,e){var i,o,n,r,s,a,h=vd(this),d=pd(h.length),l=ud(t,d),c=arguments.length;if(0===c?i=o=0:1===c?(i=0,o=d-l):(i=c-2,o=wd(bd(fd(e),0),d-l)),d+i-o>kd)throw TypeError(_d);for(n=gd(h,o),r=0;r<o;r++)(s=l+r)in h&&yd(n,r,h[s]);if(n.length=o,i<o){for(r=l;r<d-o;r++)a=r+i,(s=r+o)in h?h[a]=h[s]:delete h[a];for(r=d;r>d-o+i;r--)delete h[r-1]}else if(i>o)for(r=d-o;r>l;r--)a=r+i-1,(s=r+o-1)in h?h[a]=h[s]:delete h[a];for(r=0;r<i;r++)h[r+l]=arguments[r+2];return h.length=d-o+i,n}});var xd=oi("Array").splice,Ed=Array.prototype,Od=function(t){var e=t.splice;return t===Ed||t instanceof Array&&e===Ed.splice?xd:e},Cd=Se.includes;ue({target:"Array",proto:!0},{includes:function(t){return Cd(this,t,arguments.length>1?arguments[1]:void 0)}});var Sd=oi("Array").includes,Td=E,Md=g,Pd=pt("match"),Dd=function(t){var e;return Td(t)&&(void 0!==(e=t[Pd])?!!e:"RegExp"==Md(t))},Bd=pt("match"),Id=function(t){if(Dd(t))throw TypeError("The method doesn't accept regular expressions");return t},zd=w,Fd=gi;ue({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(i){try{return e[Bd]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~Fd(zd(this)).indexOf(Fd(Id(t)),arguments.length>1?arguments[1]:void 0)}});var Nd=oi("String").includes,Ad=Sd,Rd=Nd,jd=Array.prototype,Ld=String.prototype,Hd=function(t){var e=t.includes;return t===jd||t instanceof Array&&e===jd.includes?Ad:"string"==typeof t||t===Ld||t instanceof String&&e===Ld.includes?Rd:e},Wd=Q,Vd=no,qd=Qi;ue({target:"Object",stat:!0,forced:s((function(){Vd(1)})),sham:!qd},{getPrototypeOf:function(t){return Vd(Wd(t))}});var Ud=O.Object.getPrototypeOf,Yd=Ud,Xd=Jr.filter;ue({target:"Array",proto:!0,forced:!Ga("filter")},{filter:function(t){return Xd(this,t,arguments.length>1?arguments[1]:void 0)}});var Gd=oi("Array").filter,Kd=Array.prototype,$d=function(t){var e=t.filter;return t===Kd||t instanceof Array&&e===Kd.filter?Gd:e},Zd=a,Qd=Ae,Jd=x,tl=h.f,el=function(t){return function(e){for(var i,o=Jd(e),n=Qd(o),r=n.length,s=0,a=[];r>s;)i=n[s++],Zd&&!tl.call(o,i)||a.push(t?[i,o[i]]:o[i]);return a}},il={entries:el(!0),values:el(!1)}.values;ue({target:"Object",stat:!0},{values:function(t){return il(t)}}),O.Object.values;var ol="\t\n\v\f\r                　\u2028\u2029\ufeff",nl=w,rl=gi,sl="[\t\n\v\f\r                　\u2028\u2029\ufeff]",al=RegExp("^"+sl+sl+"*"),hl=RegExp(sl+sl+"*$"),dl=function(t){return function(e){var i=rl(nl(e));return 1&t&&(i=i.replace(al,"")),2&t&&(i=i.replace(hl,"")),i}},ll={start:dl(1),end:dl(2),trim:dl(3)},cl=gi,ul=ll.trim,fl=ol,pl=n.parseInt,vl=/^[+-]?0[Xx]/,gl=8!==pl(fl+"08")||22!==pl(fl+"0x16")?function(t,e){var i=ul(cl(t));return pl(i,e>>>0||(vl.test(i)?16:10))}:pl;ue({global:!0,forced:parseInt!=gl},{parseInt:gl});var yl=O.parseInt,ml=ue,bl=Se.indexOf,wl=Zh,kl=[].indexOf,_l=!!kl&&1/[1].indexOf(1,-0)<0,xl=wl("indexOf");ml({target:"Array",proto:!0,forced:_l||!xl},{indexOf:function(t){return _l?kl.apply(this,arguments)||0:bl(this,t,arguments.length>1?arguments[1]:void 0)}});var El=oi("Array").indexOf,Ol=Array.prototype,Cl=function(t){var e=t.indexOf;return t===Ol||t instanceof Array&&e===Ol.indexOf?El:e},Sl=s,Tl=ol,Ml=ll.trim;ue({target:"String",proto:!0,forced:function(t){return Sl((function(){return!!Tl[t]()||"​᠎"!="​᠎"[t]()||Tl[t].name!==t}))}("trim")},{trim:function(){return Ml(this)}}),oi("String").trim,ue({target:"Object",stat:!0,sham:!a},{create:Do});var Pl=O.Object,Dl=function(t,e){return Pl.create(t,e)},Bl=Dl,Il=ue,zl=s,Fl=M("JSON","stringify"),Nl=/[\uD800-\uDFFF]/g,Al=/^[\uD800-\uDBFF]$/,Rl=/^[\uDC00-\uDFFF]$/,jl=function(t,e,i){var o=i.charAt(e-1),n=i.charAt(e+1);return Al.test(t)&&!Rl.test(n)||Rl.test(t)&&!Al.test(o)?"\\u"+t.charCodeAt(0).toString(16):t},Ll=zl((function(){return'"\\udf06\\ud834"'!==Fl("\udf06\ud834")||'"\\udead"'!==Fl("\udead")}));Fl&&Il({target:"JSON",stat:!0,forced:Ll},{stringify:function(t,e,i){var o=Fl.apply(null,arguments);return"string"==typeof o?o.replace(Nl,jl):o}});var Hl=O;Hl.JSON||(Hl.JSON={stringify:JSON.stringify});var Wl=function(t,e,i){return Hl.JSON.stringify.apply(null,arguments)},Vl=n,ql=[].slice,Ul=function(t){return function(e,i){var o=arguments.length>2,n=o?ql.call(arguments,2):void 0;return t(o?function(){("function"==typeof e?e:Function(e)).apply(this,n)}:e,i)}};ue({global:!0,bind:!0,forced:/MSIE .\./.test(P)},{setTimeout:Ul(Vl.setTimeout),setInterval:Ul(Vl.setInterval)});var Yl=O.setTimeout,Xl=Q,Gl=_e,Kl=me;ue({target:"Array",proto:!0},{fill:function(t){for(var e=Xl(this),i=Kl(e.length),o=arguments.length,n=Gl(o>1?arguments[1]:void 0,i),r=o>2?arguments[2]:void 0,s=void 0===r?i:Gl(r,i);s>n;)e[n++]=t;return e}});var $l=oi("Array").fill,Zl=Array.prototype,Ql=function(t){var e=t.fill;return t===Zl||t instanceof Array&&e===Zl.fill?$l:e};
/*! Hammer.JS - v2.0.17-rc - 2019-12-16
	 * http://naver.github.io/egjs
	 *
	 * Forked By Naver egjs
	 * Copyright (c) hammerjs
	 * Licensed under the MIT license */function Jl(){return(Jl=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t}).apply(this,arguments)}function tc(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function ec(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var ic,oc="function"!=typeof Object.assign?function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var o=arguments[i];if(null!=o)for(var n in o)o.hasOwnProperty(n)&&(e[n]=o[n])}return e}:Object.assign,nc=["","webkit","Moz","MS","ms","o"],rc="undefined"==typeof document?{style:{}}:document.createElement("div"),sc=Math.round,ac=Math.abs,hc=Date.now;function dc(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),r=0;r<nc.length;){if((o=(i=nc[r])?i+n:e)in t)return o;r++}}ic="undefined"==typeof window?{}:window;var lc=dc(rc.style,"touchAction"),cc=void 0!==lc;var uc="compute",fc="auto",pc="manipulation",vc="none",gc="pan-x",yc="pan-y",mc=function(){if(!cc)return!1;var t={},e=ic.CSS&&ic.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(i){return t[i]=!e||ic.CSS.supports("touch-action",i)})),t}(),bc="ontouchstart"in ic,wc=void 0!==dc(ic,"PointerEvent"),kc=bc&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),_c="touch",xc="mouse",Ec=16,Oc=24,Cc=["x","y"],Sc=["clientX","clientY"];function Tc(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(void 0!==t.length)for(o=0;o<t.length;)e.call(i,t[o],o,t),o++;else for(o in t)t.hasOwnProperty(o)&&e.call(i,t[o],o,t)}function Mc(t,e){return"function"==typeof t?t.apply(e&&e[0]||void 0,e):t}function Pc(t,e){return t.indexOf(e)>-1}var Dc=function(){function t(t,e){this.manager=t,this.set(e)}var e=t.prototype;return e.set=function(t){t===uc&&(t=this.compute()),cc&&this.manager.element.style&&mc[t]&&(this.manager.element.style[lc]=t),this.actions=t.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var t=[];return Tc(this.manager.recognizers,(function(e){Mc(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(Pc(t,vc))return vc;var e=Pc(t,gc),i=Pc(t,yc);return e&&i?vc:e||i?e?gc:yc:Pc(t,pc)?pc:fc}(t.join(" "))},e.preventDefaults=function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var o=this.actions,n=Pc(o,vc)&&!mc.none,r=Pc(o,yc)&&!mc["pan-y"],s=Pc(o,gc)&&!mc["pan-x"];if(n){var a=1===t.pointers.length,h=t.distance<2,d=t.deltaTime<250;if(a&&h&&d)return}if(!s||!r)return n||r&&6&i||s&&i&Oc?this.preventSrc(e):void 0}},e.preventSrc=function(t){this.manager.session.prevented=!0,t.preventDefault()},t}();function Bc(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function Ic(t){var e=t.length;if(1===e)return{x:sc(t[0].clientX),y:sc(t[0].clientY)};for(var i=0,o=0,n=0;n<e;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:sc(i/e),y:sc(o/e)}}function zc(t){for(var e=[],i=0;i<t.pointers.length;)e[i]={clientX:sc(t.pointers[i].clientX),clientY:sc(t.pointers[i].clientY)},i++;return{timeStamp:hc(),pointers:e,center:Ic(e),deltaX:t.deltaX,deltaY:t.deltaY}}function Fc(t,e,i){i||(i=Cc);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function Nc(t,e,i){i||(i=Cc);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function Ac(t,e){return t===e?1:ac(t)>=ac(e)?t<0?2:4:e<0?8:Ec}function Rc(t,e,i){return{x:e/t||0,y:i/t||0}}function jc(t,e){var i=t.session,o=e.pointers,n=o.length;i.firstInput||(i.firstInput=zc(e)),n>1&&!i.firstMultiple?i.firstMultiple=zc(e):1===n&&(i.firstMultiple=!1);var r=i.firstInput,s=i.firstMultiple,a=s?s.center:r.center,h=e.center=Ic(o);e.timeStamp=hc(),e.deltaTime=e.timeStamp-r.timeStamp,e.angle=Nc(a,h),e.distance=Fc(a,h),function(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},r=t.prevInput||{};1!==e.eventType&&4!==r.eventType||(n=t.prevDelta={x:r.deltaX||0,y:r.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}(i,e),e.offsetDirection=Ac(e.deltaX,e.deltaY);var d,l,c=Rc(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=c.x,e.overallVelocityY=c.y,e.overallVelocity=ac(c.x)>ac(c.y)?c.x:c.y,e.scale=s?(d=s.pointers,Fc((l=o)[0],l[1],Sc)/Fc(d[0],d[1],Sc)):1,e.rotation=s?function(t,e){return Nc(e[1],e[0],Sc)+Nc(t[1],t[0],Sc)}(s.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,o,n,r,s=t.lastInterval||e,a=e.timeStamp-s.timeStamp;if(8!==e.eventType&&(a>25||void 0===s.velocity)){var h=e.deltaX-s.deltaX,d=e.deltaY-s.deltaY,l=Rc(a,h,d);o=l.x,n=l.y,i=ac(l.x)>ac(l.y)?l.x:l.y,r=Ac(h,d),t.lastInterval=e}else i=s.velocity,o=s.velocityX,n=s.velocityY,r=s.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=r}(i,e);var u,f=t.element,p=e.srcEvent;Bc(u=p.composedPath?p.composedPath()[0]:p.path?p.path[0]:p.target,f)&&(f=u),e.target=f}function Lc(t,e,i){var o=i.pointers.length,n=i.changedPointers.length,r=1&e&&o-n==0,s=12&e&&o-n==0;i.isFirst=!!r,i.isFinal=!!s,r&&(t.session={}),i.eventType=e,jc(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function Hc(t){return t.trim().split(/\s+/g)}function Wc(t,e,i){Tc(Hc(e),(function(e){t.addEventListener(e,i,!1)}))}function Vc(t,e,i){Tc(Hc(e),(function(e){t.removeEventListener(e,i,!1)}))}function qc(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||window}var Uc=function(){function t(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){Mc(t.options.enable,[t])&&i.handler(e)},this.init()}var e=t.prototype;return e.handler=function(){},e.init=function(){this.evEl&&Wc(this.element,this.evEl,this.domHandler),this.evTarget&&Wc(this.target,this.evTarget,this.domHandler),this.evWin&&Wc(qc(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&Vc(this.element,this.evEl,this.domHandler),this.evTarget&&Vc(this.target,this.evTarget,this.domHandler),this.evWin&&Vc(qc(this.element),this.evWin,this.domHandler)},t}();function Yc(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;o<t.length;){if(i&&t[o][i]==e||!i&&t[o]===e)return o;o++}return-1}var Xc={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Gc={2:_c,3:"pen",4:xc,5:"kinect"},Kc="pointerdown",$c="pointermove pointerup pointercancel";ic.MSPointerEvent&&!ic.PointerEvent&&(Kc="MSPointerDown",$c="MSPointerMove MSPointerUp MSPointerCancel");var Zc=function(t){function e(){var i,o=e.prototype;return o.evEl=Kc,o.evWin=$c,(i=t.apply(this,arguments)||this).store=i.manager.session.pointerEvents=[],i}return tc(e,t),e.prototype.handler=function(t){var e=this.store,i=!1,o=t.type.toLowerCase().replace("ms",""),n=Xc[o],r=Gc[t.pointerType]||t.pointerType,s=r===_c,a=Yc(e,t.pointerId,"pointerId");1&n&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):12&n&&(i=!0),a<0||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:r,srcEvent:t}),i&&e.splice(a,1))},e}(Uc);function Qc(t){return Array.prototype.slice.call(t,0)}function Jc(t,e,i){for(var o=[],n=[],r=0;r<t.length;){var s=e?t[r][e]:t[r];Yc(n,s)<0&&o.push(t[r]),n[r]=s,r++}return i&&(o=e?o.sort((function(t,i){return t[e]>i[e]})):o.sort()),o}var tu={touchstart:1,touchmove:2,touchend:4,touchcancel:8},eu="touchstart touchmove touchend touchcancel",iu=function(t){function e(){var i;return e.prototype.evTarget=eu,(i=t.apply(this,arguments)||this).targetIds={},i}return tc(e,t),e.prototype.handler=function(t){var e=tu[t.type],i=ou.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:_c,srcEvent:t})},e}(Uc);function ou(t,e){var i,o,n=Qc(t.touches),r=this.targetIds;if(3&e&&1===n.length)return r[n[0].identifier]=!0,[n,n];var s=Qc(t.changedTouches),a=[],h=this.target;if(o=n.filter((function(t){return Bc(t.target,h)})),1===e)for(i=0;i<o.length;)r[o[i].identifier]=!0,i++;for(i=0;i<s.length;)r[s[i].identifier]&&a.push(s[i]),12&e&&delete r[s[i].identifier],i++;return a.length?[Jc(o.concat(a),"identifier",!0),a]:void 0}var nu={mousedown:1,mousemove:2,mouseup:4},ru="mousedown",su="mousemove mouseup",au=function(t){function e(){var i,o=e.prototype;return o.evEl=ru,o.evWin=su,(i=t.apply(this,arguments)||this).pressed=!1,i}return tc(e,t),e.prototype.handler=function(t){var e=nu[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:xc,srcEvent:t}))},e}(Uc);function hu(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY},o=this.lastTouches;this.lastTouches.push(i);setTimeout((function(){var t=o.indexOf(i);t>-1&&o.splice(t,1)}),2500)}}function du(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,hu.call(this,e)):12&t&&hu.call(this,e)}function lu(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o<this.lastTouches.length;o++){var n=this.lastTouches[o],r=Math.abs(e-n.x),s=Math.abs(i-n.y);if(r<=25&&s<=25)return!0}return!1}var cu=function(){return function(t){function e(e,i){var o;return(o=t.call(this,e,i)||this).handler=function(t,e,i){var n=i.pointerType===_c,r=i.pointerType===xc;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)du.call(ec(ec(o)),e,i);else if(r&&lu.call(ec(ec(o)),i))return;o.callback(t,e,i)}},o.touch=new iu(o.manager,o.handler),o.mouse=new au(o.manager,o.handler),o.primaryTouch=null,o.lastTouches=[],o}return tc(e,t),e.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},e}(Uc)}();function uu(t,e,i){return!!Array.isArray(t)&&(Tc(t,i[e],i),!0)}var fu=32,pu=1;function vu(t,e){var i=e.manager;return i?i.get(t):t}function gu(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}var yu=function(){function t(t){void 0===t&&(t={}),this.options=Jl({enable:!0},t),this.id=pu++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var e=t.prototype;return e.set=function(t){return oc(this.options,t),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(t){if(uu(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=vu(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},e.dropRecognizeWith=function(t){return uu(t,"dropRecognizeWith",this)||(t=vu(t,this),delete this.simultaneous[t.id]),this},e.requireFailure=function(t){if(uu(t,"requireFailure",this))return this;var e=this.requireFail;return-1===Yc(e,t=vu(t,this))&&(e.push(t),t.requireFailure(this)),this},e.dropRequireFailure=function(t){if(uu(t,"dropRequireFailure",this))return this;t=vu(t,this);var e=Yc(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(t){return!!this.simultaneous[t.id]},e.emit=function(t){var e=this,i=this.state;function o(i){e.manager.emit(i,t)}i<8&&o(e.options.event+gu(i)),o(e.options.event),t.additionalEvent&&o(t.additionalEvent),i>=8&&o(e.options.event+gu(i))},e.tryEmit=function(t){if(this.canEmit())return this.emit(t);this.state=fu},e.canEmit=function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},e.recognize=function(t){var e=oc({},t);if(!Mc(this.options.enable,[this,e]))return this.reset(),void(this.state=fu);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},e.process=function(t){},e.getTouchAction=function(){},e.reset=function(){},t}(),mu=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Jl({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},e))||this).pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}tc(e,t);var i=e.prototype;return i.getTouchAction=function(){return[pc]},i.process=function(t){var e=this,i=this.options,o=t.pointers.length===i.pointers,n=t.distance<i.threshold,r=t.deltaTime<i.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(n&&r&&o){if(4!==t.eventType)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<i.interval,a=!this.pCenter||Fc(this.pCenter,t.center)<i.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&s?this.count+=1:this.count=1,this._input=t,0===this.count%i.taps)return this.hasRequireFailures()?(this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),i.interval),2):8}return fu},i.failTimeout=function(){var t=this;return this._timer=setTimeout((function(){t.state=fu}),this.options.interval),fu},i.reset=function(){clearTimeout(this._timer)},i.emit=function(){8===this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e}(yu),bu=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Jl({pointers:1},e))||this}tc(e,t);var i=e.prototype;return i.attrTest=function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},i.process=function(t){var e=this.state,i=t.eventType,o=6&e,n=this.attrTest(t);return o&&(8&i||!n)?16|e:o||n?4&i?8|e:2&e?4|e:2:fu},e}(yu);function wu(t){return t===Ec?"down":8===t?"up":2===t?"left":4===t?"right":""}var ku=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Jl({event:"pan",threshold:10,pointers:1,direction:30},e))||this).pX=null,i.pY=null,i}tc(e,t);var i=e.prototype;return i.getTouchAction=function(){var t=this.options.direction,e=[];return 6&t&&e.push(yc),t&Oc&&e.push(gc),e},i.directionTest=function(t){var e=this.options,i=!0,o=t.distance,n=t.direction,r=t.deltaX,s=t.deltaY;return n&e.direction||(6&e.direction?(n=0===r?1:r<0?2:4,i=r!==this.pX,o=Math.abs(t.deltaX)):(n=0===s?1:s<0?8:Ec,i=s!==this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},i.attrTest=function(t){return bu.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},i.emit=function(e){this.pX=e.deltaX,this.pY=e.deltaY;var i=wu(e.direction);i&&(e.additionalEvent=this.options.event+i),t.prototype.emit.call(this,e)},e}(bu),_u=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Jl({event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},e))||this}tc(e,t);var i=e.prototype;return i.getTouchAction=function(){return ku.prototype.getTouchAction.call(this)},i.attrTest=function(e){var i,o=this.options.direction;return 30&o?i=e.overallVelocity:6&o?i=e.overallVelocityX:o&Oc&&(i=e.overallVelocityY),t.prototype.attrTest.call(this,e)&&o&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers===this.options.pointers&&ac(i)>this.options.velocity&&4&e.eventType},i.emit=function(t){var e=wu(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)},e}(bu),xu=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Jl({event:"pinch",threshold:0,pointers:2},e))||this}tc(e,t);var i=e.prototype;return i.getTouchAction=function(){return[vc]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},i.emit=function(e){if(1!==e.scale){var i=e.scale<1?"in":"out";e.additionalEvent=this.options.event+i}t.prototype.emit.call(this,e)},e}(bu),Eu=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Jl({event:"rotate",threshold:0,pointers:2},e))||this}tc(e,t);var i=e.prototype;return i.getTouchAction=function(){return[vc]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)},e}(bu),Ou=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Jl({event:"press",pointers:1,time:251,threshold:9},e))||this)._timer=null,i._input=null,i}tc(e,t);var i=e.prototype;return i.getTouchAction=function(){return[fc]},i.process=function(t){var e=this,i=this.options,o=t.pointers.length===i.pointers,n=t.distance<i.threshold,r=t.deltaTime>i.time;if(this._input=t,!n||!o||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),i.time);else if(4&t.eventType)return 8;return fu},i.reset=function(){clearTimeout(this._timer)},i.emit=function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=hc(),this.manager.emit(this.options.event,this._input)))},e}(yu),Cu={domEvents:!1,touchAction:uc,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},Su=[[Eu,{enable:!1}],[xu,{enable:!1},["rotate"]],[_u,{direction:6}],[ku,{direction:6},["swipe"]],[mu],[mu,{event:"doubletap",taps:2},["tap"]],[Ou]];function Tu(t,e){var i,o=t.element;o.style&&(Tc(t.options.cssProps,(function(n,r){i=dc(o.style,r),e?(t.oldCssProps[i]=o.style[i],o.style[i]=n):o.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}var Mu=function(){function t(t,e){var i,o=this;this.options=oc({},Cu,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(wc?Zc:kc?iu:bc?cu:au))(i,Lc),this.touchAction=new Dc(this,this.options.touchAction),Tu(this,!0),Tc(this.options.recognizers,(function(t){var e=o.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}var e=t.prototype;return e.set=function(t){return oc(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},e.stop=function(t){this.session.stopped=t?2:1},e.recognize=function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var o=this.recognizers,n=e.curRecognizer;(!n||n&&8&n.state)&&(e.curRecognizer=null,n=null);for(var r=0;r<o.length;)i=o[r],2===e.stopped||n&&i!==n&&!i.canRecognizeWith(n)?i.reset():i.recognize(t),!n&&14&i.state&&(e.curRecognizer=i,n=i),r++}},e.get=function(t){if(t instanceof yu)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event===t)return e[i];return null},e.add=function(t){if(uu(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},e.remove=function(t){if(uu(t,"remove",this))return this;var e=this.get(t);if(t){var i=this.recognizers,o=Yc(i,e);-1!==o&&(i.splice(o,1),this.touchAction.update())}return this},e.on=function(t,e){if(void 0===t||void 0===e)return this;var i=this.handlers;return Tc(Hc(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this},e.off=function(t,e){if(void 0===t)return this;var i=this.handlers;return Tc(Hc(t),(function(t){e?i[t]&&i[t].splice(Yc(i[t],e),1):delete i[t]})),this},e.emit=function(t,e){this.options.domEvents&&function(t,e){var i=document.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e,e.target.dispatchEvent(i)}(t,e);var i=this.handlers[t]&&this.handlers[t].slice();if(i&&i.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var o=0;o<i.length;)i[o](e),o++}},e.destroy=function(){this.element&&Tu(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},t}(),Pu={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Du="touchstart",Bu="touchstart touchmove touchend touchcancel",Iu=function(t){function e(){var i,o=e.prototype;return o.evTarget=Du,o.evWin=Bu,(i=t.apply(this,arguments)||this).started=!1,i}return tc(e,t),e.prototype.handler=function(t){var e=Pu[t.type];if(1===e&&(this.started=!0),this.started){var i=zu.call(this,t,e);12&e&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:_c,srcEvent:t})}},e}(Uc);function zu(t,e){var i=Qc(t.touches),o=Qc(t.changedTouches);return 12&e&&(i=Jc(i.concat(o),"identifier",!0)),[i,o]}function Fu(t,e,i){var o="DEPRECATED METHOD: "+e+"\n"+i+" AT \n";return function(){var e=new Error("get-stack-trace"),i=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",n=window.console&&(window.console.warn||window.console.log);return n&&n.call(window.console,o,i),t.apply(this,arguments)}}var Nu=Fu((function(t,e,i){for(var o=Object.keys(e),n=0;n<o.length;)(!i||i&&void 0===t[o[n]])&&(t[o[n]]=e[o[n]]),n++;return t}),"extend","Use `assign`."),Au=Fu((function(t,e){return Nu(t,e,!0)}),"merge","Use `assign`.");function Ru(t,e,i){var o,n=e.prototype;(o=t.prototype=Object.create(n)).constructor=t,o._super=n,i&&oc(o,i)}function ju(t,e){return function(){return t.apply(e,arguments)}}var Lu=function(){var t=function(t,e){return void 0===e&&(e={}),new Mu(t,Jl({recognizers:Su.concat()},e))};return t.VERSION="2.0.17-rc",t.DIRECTION_ALL=30,t.DIRECTION_DOWN=Ec,t.DIRECTION_LEFT=2,t.DIRECTION_RIGHT=4,t.DIRECTION_UP=8,t.DIRECTION_HORIZONTAL=6,t.DIRECTION_VERTICAL=Oc,t.DIRECTION_NONE=1,t.DIRECTION_DOWN=Ec,t.INPUT_START=1,t.INPUT_MOVE=2,t.INPUT_END=4,t.INPUT_CANCEL=8,t.STATE_POSSIBLE=1,t.STATE_BEGAN=2,t.STATE_CHANGED=4,t.STATE_ENDED=8,t.STATE_RECOGNIZED=8,t.STATE_CANCELLED=16,t.STATE_FAILED=fu,t.Manager=Mu,t.Input=Uc,t.TouchAction=Dc,t.TouchInput=iu,t.MouseInput=au,t.PointerEventInput=Zc,t.TouchMouseInput=cu,t.SingleTouchInput=Iu,t.Recognizer=yu,t.AttrRecognizer=bu,t.Tap=mu,t.Pan=ku,t.Swipe=_u,t.Pinch=xu,t.Rotate=Eu,t.Press=Ou,t.on=Wc,t.off=Vc,t.each=Tc,t.merge=Au,t.extend=Nu,t.bindFn=ju,t.assign=oc,t.inherit=Ru,t.bindFn=ju,t.prefixed=dc,t.toArray=Qc,t.inArray=Yc,t.uniqueArray=Jc,t.splitStr=Hc,t.boolOrFn=Mc,t.hasParent=Bc,t.addEventListeners=Wc,t.removeEventListeners=Vc,t.defaults=oc({},Cu,{preset:Su}),t}();function Hu(t,e){var i=void 0!==Nh&&xr(t)||t["@@iterator"];if(!i){if(Hh(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return Wu(t,e);var o=Lh(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return rr(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Wu(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var o=0,n=function(){};return{s:n,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Wu(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}function Vu(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return qu(e.length?e:[Kh()])}function qu(t){var e=Bh(function(){for(var t=Uu(),e=t(" "),i=t(" "),o=t(" "),n=0;n<arguments.length;n++)(e-=t(n<0||arguments.length<=n?void 0:arguments[n]))<0&&(e+=1),(i-=t(n<0||arguments.length<=n?void 0:arguments[n]))<0&&(i+=1),(o-=t(n<0||arguments.length<=n?void 0:arguments[n]))<0&&(o+=1);return[e,i,o]}(t),3),i=e[0],o=e[1],n=e[2],r=1,s=function(){var t=2091639*i+2.3283064365386963e-10*r;return i=o,o=n,n=t-(r=0|t)};return s.uint32=function(){return 4294967296*s()},s.fract53=function(){return s()+11102230246251565e-32*(2097152*s()|0)},s.algorithm="Alea",s.seed=t,s.version="0.9",s}function Uu(){var t=4022871197;return function(e){for(var i=e.toString(),o=0;o<i.length;o++){var n=.02519603282416938*(t+=i.charCodeAt(o));n-=t=n>>>0,t=(n*=t)>>>0,t+=4294967296*(n-=t)}return 2.3283064365386963e-10*(t>>>0)}}Nh("DELETE");var Yu="undefined"!=typeof window?window.Hammer||Lu:function(){return{on:t=function(){},off:t,destroy:t,emit:t,get:function(){return{set:t}}};var t};function Xu(t){var e,i=this;this._cleanupQueue=[],this.active=!1,this._dom={container:t,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push((function(){i._dom.overlay.parentNode.removeChild(i._dom.overlay)}));var o=Yu(this._dom.overlay);o.on("tap",si(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push((function(){o.destroy()}));var n=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];nd(n).call(n,(function(t){o.on(t,(function(t){t.srcEvent.stopPropagation()}))})),document&&document.body&&(this._onClick=function(e){(function(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1})(e.target,t)||i.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push((function(){document.body.removeEventListener("click",i._onClick)}))),this._escListener=function(t){("key"in t?"Escape"===t.key:27===t.keyCode)&&i.deactivate()}}pi(Xu.prototype),Xu.current=null,Xu.prototype.destroy=function(){var t,e;this.deactivate();var i,o=Hu(ld(t=Od(e=this._cleanupQueue).call(e,0)).call(t));try{for(o.s();!(i=o.n()).done;){(0,i.value)()}}catch(t){o.e(t)}finally{o.f()}},Xu.prototype.activate=function(){Xu.current&&Xu.current.deactivate(),Xu.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)},Xu.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")},Xu.prototype._onTapOverlay=function(t){this.activate(),t.srcEvent.stopPropagation()};var Gu=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Ku=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,$u=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,Zu=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function Qu(t){if(t)for(;!0===t.hasChildNodes();){var e=t.firstChild;e&&(Qu(e),t.removeChild(e))}}function Ju(t){return t instanceof String||"string"==typeof t}function tf(t){return"object"===zh(t)&&null!==t}function ef(t,e,i,o){var n=!1;!0===o&&(n=null===e[i]&&void 0!==t[i]),n?delete t[i]:t[i]=e[i]}function of(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var o in t)if(void 0!==e[o])if(null===e[o]||"object"!==zh(e[o]))ef(t,e,o,i);else{var n=t[o],r=e[o];tf(n)&&tf(r)&&of(n,r,i)}}function nf(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(Hh(i))throw new TypeError("Arrays are not supported by deepExtend");for(var n=0;n<t.length;n++){var r=t[n];if(Object.prototype.hasOwnProperty.call(i,r))if(i[r]&&i[r].constructor===Object)void 0===e[r]&&(e[r]={}),e[r].constructor===Object?sf(e[r],i[r],!1,o):ef(e,i,r,o);else{if(Hh(i[r]))throw new TypeError("Arrays are not supported by deepExtend");ef(e,i,r,o)}}return e}function rf(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(Hh(i))throw new TypeError("Arrays are not supported by deepExtend");for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)&&!Hd(t).call(t,n))if(i[n]&&i[n].constructor===Object)void 0===e[n]&&(e[n]={}),e[n].constructor===Object?sf(e[n],i[n]):ef(e,i,n,o);else if(Hh(i[n])){e[n]=[];for(var r=0;r<i[n].length;r++)e[n].push(i[n][r])}else ef(e,i,n,o);return e}function sf(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)||!0===i)if("object"===zh(e[n])&&null!==e[n]&&Yd(e[n])===Object.prototype)void 0===t[n]?t[n]=sf({},e[n],i):"object"===zh(t[n])&&null!==t[n]&&Yd(t[n])===Object.prototype?sf(t[n],e[n],i):ef(t,e,n,o);else if(Hh(e[n])){var r;t[n]=Lh(r=e[n]).call(r)}else ef(t,e,n,o);return t}function af(t,e){var i;return jh(i=[]).call(i,Fh(t),[e])}function hf(t){return Lh(t).call(t)}function df(t){return t.getBoundingClientRect().top}function lf(t,e){if(Hh(t))for(var i=t.length,o=0;o<i;o++)e(t[o],o,t);else for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e(t[n],n,t)}function cf(t){var e;switch(t.length){case 3:case 4:return(e=Ku.exec(t))?{r:yl(e[1]+e[1],16),g:yl(e[2]+e[2],16),b:yl(e[3]+e[3],16)}:null;case 6:case 7:return(e=Gu.exec(t))?{r:yl(e[1],16),g:yl(e[2],16),b:yl(e[3],16)}:null;default:return null}}function uf(t,e){if(Hd(t).call(t,"rgba"))return t;if(Hd(t).call(t,"rgb")){var i=t.substr(Cl(t).call(t,"(")+1).replace(")","").split(",");return"rgba("+i[0]+","+i[1]+","+i[2]+","+e+")"}var o=cf(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+e+")"}function ff(t,e,i){var o;return"#"+Lh(o=((1<<24)+(t<<16)+(e<<8)+i).toString(16)).call(o,1)}function pf(t,e){if(Ju(t)){var i=t;if(bf(i)){var o,n=Uh(o=i.substr(4).substr(0,i.length-5).split(",")).call(o,(function(t){return yl(t)}));i=ff(n[0],n[1],n[2])}if(!0===mf(i)){var r=function(t){var e=cf(t);if(!e)throw new TypeError("'".concat(t,"' is not a valid color."));return vf(e.r,e.g,e.b)}(i),s={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},a={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},h=yf(a.h,a.s,a.v),d=yf(s.h,s.s,s.v);return{background:i,border:h,highlight:{background:d,border:h},hover:{background:d,border:h}}}return{background:i,border:i,highlight:{background:i,border:i},hover:{background:i,border:i}}}return e?{background:t.background||e.background,border:t.border||e.border,highlight:Ju(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||e.highlight.background,border:t.highlight&&t.highlight.border||e.highlight.border},hover:Ju(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||e.hover.border,background:t.hover&&t.hover.background||e.hover.background}}:{background:t.background||void 0,border:t.border||void 0,highlight:Ju(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||void 0,border:t.highlight&&t.highlight.border||void 0},hover:Ju(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||void 0,background:t.hover&&t.hover.background||void 0}}}function vf(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));return o===n?{h:0,s:0,v:o}:{h:60*((t===o?3:i===o?1:5)-(t===o?e-i:i===o?t-e:i-t)/(n-o))/360,s:(n-o)/n,v:n}}function gf(t,e,i){var o,n,r,s=Math.floor(6*t),a=6*t-s,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(s%6){case 0:o=i,n=l,r=h;break;case 1:o=d,n=i,r=h;break;case 2:o=h,n=i,r=l;break;case 3:o=h,n=d,r=i;break;case 4:o=l,n=h,r=i;break;case 5:o=i,n=h,r=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*r)}}function yf(t,e,i){var o=gf(t,e,i);return ff(o.r,o.g,o.b)}function mf(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}function bf(t){return $u.test(t)}function wf(t){return Zu.test(t)}function kf(t){if(null===t||"object"!==zh(t))return null;if(t instanceof Element)return t;var e=Bl(t);for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&"object"==zh(t[i])&&(e[i]=kf(t[i]));return e}function _f(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=function(t){return null!=t},r=function(t){return null!==t&&"object"===zh(t)},s=function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0};if(!r(t))throw new Error("Parameter mergeTarget must be an object");if(!r(e))throw new Error("Parameter options must be an object");if(!n(i))throw new Error("Parameter option must have a value");if(!r(o))throw new Error("Parameter globalOptions must be an object");var a=function(t,e,i){r(t[i])||(t[i]={});var o=e[i],n=t[i];for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(n[s]=o[s])},h=e[i],d=r(o)&&!s(o),l=d?o[i]:void 0,c=l?l.enabled:void 0;if(void 0!==h){if("boolean"==typeof h)return r(t[i])||(t[i]={}),void(t[i].enabled=h);if(null===h&&!r(t[i])){if(!n(l))return;t[i]=Bl(l)}if(r(h)){var u=!0;void 0!==h.enabled?u=h.enabled:void 0!==c&&(u=l.enabled),a(t,e,i),t[i].enabled=u}}}var xf={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}};function Ef(t,e){var i;Hh(e)||(e=[e]);var o,n=Hu(t);try{for(n.s();!(o=n.n()).done;){var r=o.value;if(r){i=r[e[0]];for(var s=1;s<e.length;s++)i&&(i=i[e[s]]);if(void 0!==i)break}}}catch(t){n.e(t)}finally{n.f()}return i}var Of={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"},Cf=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;Ra(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return Ha(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){if("string"==typeof t)return Of[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i,o=this._isColorString(t);if(void 0!==o&&(t=o),!0===Ju(t)){if(!0===bf(t)){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(!0===wf(t)){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(!0===mf(t)){var s=cf(t);i={r:s.r,g:s.g,b:s.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var a=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:a}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+Wl(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];!0===e&&(this.previousColor=Ke({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",Yl((function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)}),0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];!0===e&&(this.initialColor=Ke({},t)),this.color=t;var i=vf(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,r=this.centerCoordinates.x+n*Math.sin(o*i.h),s=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=r-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=vf(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=gf(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=vf(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),Ql(i).call(i),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){var t,e,i,o;if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var n=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(n.webkitBackingStorePixelRatio||n.mozBackingStorePixelRatio||n.msBackingStorePixelRatio||n.oBackingStorePixelRatio||n.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var r=document.createElement("DIV");r.style.color="red",r.style.fontWeight="bold",r.style.padding="10px",r.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(r)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var s=this;this.opacityRange.onchange=function(){s._setOpacity(this.value)},this.opacityRange.oninput=function(){s._setOpacity(this.value)},this.brightnessRange.onchange=function(){s._setBrightness(this.value)},this.brightnessRange.oninput=function(){s._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=si(t=this._hide).call(t,this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=si(e=this._apply).call(e,this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=si(i=this._save).call(i,this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=si(o=this._loadLast).call(o,this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new Yu(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",(function(e){e.isFirst&&t._moveSelector(e)})),this.hammer.on("tap",(function(e){t._moveSelector(e)})),this.hammer.on("panstart",(function(e){t._moveSelector(e)})),this.hammer.on("panmove",(function(e){t._moveSelector(e)})),this.hammer.on("panend",(function(e){t._moveSelector(e)}))}},{key:"_generateHueCircle",value:function(){if(!1===this.generated){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e,i,o,n,r=this.colorPickerCanvas.clientWidth,s=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,r,s),this.centerCoordinates={x:.5*r,y:.5*s},this.r=.49*r;var a,h=2*Math.PI/360,d=1/this.r;for(o=0;o<360;o++)for(n=0;n<this.r;n++)e=this.centerCoordinates.x+n*Math.sin(h*o),i=this.centerCoordinates.y+n*Math.cos(h*o),a=gf(.002777777777777778*o,n*d,1),t.fillStyle="rgb("+a.r+","+a.g+","+a.b+")",t.fillRect(e-.5,i-.5,2,2);t.strokeStyle="rgba(0,0,0,1)",t.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),t.stroke(),this.hueCircle=t.getImageData(0,0,r,s)}this.generated=!0}},{key:"_moveSelector",value:function(t){var e=this.colorPickerDiv.getBoundingClientRect(),i=t.center.x-e.left,o=t.center.y-e.top,n=.5*this.colorPickerDiv.clientHeight,r=.5*this.colorPickerDiv.clientWidth,s=i-r,a=o-n,h=Math.atan2(s,a),d=.98*Math.min(Math.sqrt(s*s+a*a),r),l=Math.cos(h)*d+n,c=Math.sin(h)*d+r;this.colorPickerSelector.style.top=l-.5*this.colorPickerSelector.clientHeight+"px",this.colorPickerSelector.style.left=c-.5*this.colorPickerSelector.clientWidth+"px";var u=h/(2*Math.PI);u=u<0?u+1:u;var f=d/this.r,p=vf(this.color.r,this.color.g,this.color.b);p.h=u,p.s=f;var v=gf(p.h,p.s,p.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();function Sf(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];if(e.length<1)throw new TypeError("Invalid arguments.");if(1===e.length)return document.createTextNode(e[0]);var o=document.createElement(e[0]);return o.appendChild(Sf.apply(void 0,Fh(Lh(e).call(e,1)))),o}var Tf,Mf=!1,Pf="background: #FFeeee; color: #dd0000",Df=Xu,Bf=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return!1};Ra(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.hideOption=r,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},Ke(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new Cf(n),this.wrapper=void 0}return Ha(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;if("string"==typeof t)this.options.filter=t;else if(Hh(t))this.options.filter=t.join();else if("object"===zh(t)){if(null==t)throw new TypeError("options cannot be null");void 0!==t.container&&(this.options.container=t.container),void 0!==$d(t)&&(this.options.filter=$d(t)),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)}else"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0);!1===$d(this.options)&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){this._clean(),this.changedOptions=[];var t=$d(this.options),e=0,i=!1;for(var o in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,o)&&(this.allowCreation=!1,i=!1,"function"==typeof t?i=(i=t(o,[]))||this._handleObject(this.configureOptions[o],[o],!0):!0!==t&&-1===Cl(t).call(t,o)||(i=!0),!1!==i&&(this.allowCreation=!0,e>0&&this._makeItem([]),this._makeHeader(o),this._handleObject(this.configureOptions[o],[o])),e++);this._makeButton(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t<this.domElements.length;t++)this.wrapper.appendChild(this.domElements[t]);this._showPopupIfNeeded()}},{key:"_clean",value:function(){for(var t=0;t<this.domElements.length;t++)this.wrapper.removeChild(this.domElements[t]);void 0!==this.wrapper&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}},{key:"_getValue",value:function(t){for(var e=this.moduleOptions,i=0;i<t.length;i++){if(void 0===e[t[i]]){e=void 0;break}e=e[t[i]]}return e}},{key:"_makeItem",value:function(t){if(!0===this.allowCreation){var e=document.createElement("div");e.className="vis-configuration vis-config-item vis-config-s"+t.length;for(var i=arguments.length,o=new Array(i>1?i-1:0),n=1;n<i;n++)o[n-1]=arguments[n];return nd(o).call(o,(function(t){e.appendChild(t)})),this.domElements.push(e),this.domElements.length}return 0}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerText=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");if(o.className="vis-configuration vis-config-label vis-config-s"+e.length,!0===i){for(;o.firstChild;)o.removeChild(o.firstChild);o.appendChild(Sf("i","b",t))}else o.innerText=t+":";return o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==Cl(t).call(t,e)&&(n=Cl(t).call(t,e));for(var r=0;r<t.length;r++){var s=document.createElement("option");s.value=t[r],r===n&&(s.selected="selected"),s.innerText=t[r],o.appendChild(s)}var a=this;o.onchange=function(){a._update(this.value,i)};var h=this._makeLabel(i[i.length-1],i);this._makeItem(i,h,o)}},{key:"_makeRange",value:function(t,e,i){var o=t[0],n=t[1],r=t[2],s=t[3],a=document.createElement("input");a.className="vis-configuration vis-config-range";try{a.type="range",a.min=n,a.max=r}catch(t){}a.step=s;var h="",d=0;if(void 0!==e){var l=1.2;e<0&&e*l<n?(a.min=Math.ceil(e*l),d=a.min,h="range increased"):e/l<n&&(a.min=Math.ceil(e/l),d=a.min,h="range increased"),e*l>r&&1!==r&&(a.max=Math.ceil(e*l),d=a.max,h="range increased"),a.value=e}else a.value=o;var c=document.createElement("input");c.className="vis-configuration vis-config-rangeinput",c.value=a.value;var u=this;a.onchange=function(){c.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){c.value=this.value};var f=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,f,a,c);""!==h&&this.popupHistory[p]!==d&&(this.popupHistory[p]=d,this._setupPopup(h,p))}},{key:"_makeButton",value:function(){var t=this;if(!0===this.options.showButton){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerText="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(e)}}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter<this.popupLimit){var o=document.createElement("div");o.id="vis-configuration-popup",o.className="vis-configuration-popup",o.innerText=t,o.onclick=function(){i._removePopup()},this.popupCounter+=1,this.popupDiv={html:o,index:e}}}},{key:"_removePopup",value:function(){void 0!==this.popupDiv.html&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}},{key:"_showPopupIfNeeded",value:function(){var t=this;if(void 0!==this.popupDiv.html){var e=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=e.left+"px",this.popupDiv.html.style.top=e.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=Yl((function(){t.popupDiv.html.style.opacity=0}),1500),this.popupDiv.deleteTimeout=Yl((function(){t._removePopup()}),1800)}}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-configuration vis-config-checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"===zh(t)?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,o)}},{key:"_makeTextInput",value:function(t,e,i){var o=document.createElement("input");o.type="text",o.className="vis-configuration vis-config-text",o.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var n=this;o.onchange=function(){n._update(this.value,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],r=document.createElement("div");"none"!==(e=void 0===e?n:e)?(r.className="vis-configuration vis-config-colorBlock",r.style.backgroundColor=e):r.className="vis-configuration vis-config-colorBlock none",e=void 0===e?n:e,r.onclick=function(){o._showColorPicker(e,r,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,r)}},{key:"_showColorPicker",value:function(t,e,i){var o=this;e.onclick=function(){},this.colorPicker.insertTo(e),this.colorPicker.show(),this.colorPicker.setColor(t),this.colorPicker.setUpdateCallback((function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})),this.colorPicker.setCloseCallback((function(){e.onclick=function(){o._showColorPicker(t,e,i)}}))}},{key:"_handleObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=$d(this.options),r=!1;for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){o=!0;var a=t[s],h=af(e,s);if("function"==typeof n&&!1===(o=n(s,e))&&!Hh(a)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==o){r=!0;var d=this._getValue(h);if(Hh(a))this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){if(!this.hideOption(e,s,this.moduleOptions))if(void 0!==a.enabled){var l=af(h,"enabled"),c=this._getValue(l);if(!0===c){var u=this._makeLabel(s,h,!0);this._makeItem(h,u),r=this._handleObject(a,h)||r}else this._makeCheckbox(a,c,h)}else{var f=this._makeLabel(s,h,!0);this._makeItem(h,f),r=this._handleObject(a,h)||r}}else console.error("dont know how to handle",a,s,h)}}return r}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="false"!==(t="true"===t||t)&&t;for(var n=0;n<e.length;n++)"global"!==e[n]&&(void 0===o[e[n]]&&(o[e[n]]={}),n!==e.length-1?o=o[e[n]]:o[e[n]]=t);return i}},{key:"_printOptions",value:function(){for(var t=this.getOptions();this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(Sf("pre","const options = "+Wl(t,null,2)))}},{key:"getOptions",value:function(){for(var t={},e=0;e<this.changedOptions.length;e++)this._constructOptions(this.changedOptions[e].value,this.changedOptions[e].path,t);return t}}]),t}(),If=Yu,zf=function(){function t(e,i){Ra(this,t),this.container=e,this.overflowMethod=i||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}return Ha(t,[{key:"setPosition",value:function(t,e){this.x=yl(t),this.y=yl(e)}},{key:"setText",value:function(t){if(t instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(t)}else this.frame.innerText=t}},{key:"show",value:function(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,o=this.frame.parentNode.clientHeight,n=this.frame.parentNode.clientWidth,r=0,s=0;if("flip"==this.overflowMethod){var a=!1,h=!0;this.y-e<this.padding&&(h=!1),this.x+i>n-this.padding&&(a=!0),r=a?this.x-i:this.x,s=h?this.y-e:this.y}else(s=this.y-e)+e+this.padding>o&&(s=o-e-this.padding),s<this.padding&&(s=this.padding),(r=this.x)+i+this.padding>n&&(r=n-i-this.padding),r<this.padding&&(r=this.padding);this.frame.style.left=r+"px",this.frame.style.top=s+"px",this.frame.style.visibility="visible",this.hidden=!1}else this.hide()}},{key:"hide",value:function(){this.hidden=!0,this.frame.style.left="0",this.frame.style.top="0",this.frame.style.visibility="hidden"}},{key:"destroy",value:function(){this.frame.parentNode.removeChild(this.frame)}}]),t}(),Ff=Pf,Nf=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"validate",value:function(e,i,o){Mf=!1,Tf=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),Mf}},{key:"parse",value:function(e,i,o){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){if(void 0!==o[e]||void 0!==o.__any__){var r=e,s=!0;void 0===o[e]&&void 0!==o.__any__&&(r="__any__",s="object"===t.getType(i[e]));var a=o[r];s&&void 0!==a.__type__&&(a=a.__type__),t.checkFields(e,i,o,r,a,n)}else t.getSuggestion(e,o,n)}},{key:"checkFields",value:function(e,i,o,n,r,s){var a=function(i){console.error("%c"+i+t.printLocation(s,e),Pf)},h=t.getType(i[e]),d=r[h];void 0!==d?"array"===t.getType(d)&&-1===Cl(d).call(d,i[e])?(a('Invalid option detected in "'+e+'". Allowed values are:'+t.print(d)+' not "'+i[e]+'". '),Mf=!0):"object"===h&&"__any__"!==n&&(s=af(s,e),t.parse(i[e],o[n],s)):void 0===r.any&&(a('Invalid type received for "'+e+'". Expected: '+t.print(Gh(r))+". Received ["+h+'] "'+i[e]+'"'),Mf=!0)}},{key:"getType",value:function(t){var e=zh(t);return"object"===e?null===t?"null":t instanceof Boolean?"boolean":t instanceof Number?"number":t instanceof String?"string":Hh(t)?"array":t instanceof Date?"date":void 0!==t.nodeType?"dom":!0===t._isAMomentObject?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){var n,r=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,Tf,[],!0);n=void 0!==r.indexMatch?" in "+t.printLocation(r.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+r.indexMatch+'"?\n\n':s.distance<=4&&r.distance>s.distance?" in "+t.printLocation(r.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""):r.distance<=8?'. Did you mean "'+r.closestMatch+'"?'+t.printLocation(r.path,e):". Did you mean one of these: "+t.print(Gh(i))+t.printLocation(o,e),console.error('%cUnknown option detected: "'+e+'"'+n,Pf),Mf=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=1e9,s="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var c=void 0;if(void 0!==i[l].__type__&&!0===n){var u=t.findInOptions(e,i[l],af(o,l));r>u.distance&&(s=u.closestMatch,a=u.path,r=u.distance,d=u.indexMatch)}else{var f;-1!==Cl(f=l.toLowerCase()).call(f,h)&&(d=l),r>(c=t.levenshteinDistance(e,l))&&(s=l,a=hf(o),r=c)}}return{closestMatch:s,path:a,distance:r,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n<t.length;n++){for(var r=0;r<n+1;r++)o+="  ";o+=t[n]+": {\n"}for(var s=0;s<t.length+1;s++)o+="  ";o+=e+"\n";for(var a=0;a<t.length+1;a++){for(var h=0;h<t.length-a;h++)o+="  ";o+="}\n"}return o+"\n\n"}},{key:"print",value:function(t){return Wl(t).replace(/(")|(\[)|(\])|(,"__type__")/g,"").replace(/(,)/g,", ")}},{key:"levenshteinDistance",value:function(t,e){if(0===t.length)return e.length;if(0===e.length)return t.length;var i,o,n=[];for(i=0;i<=e.length;i++)n[i]=[i];for(o=0;o<=t.length;o++)n[0][o]=o;for(i=1;i<=e.length;i++)for(o=1;o<=t.length;o++)e.charAt(i-1)==t.charAt(o-1)?n[i][o]=n[i-1][o-1]:n[i][o]=Math.min(n[i-1][o-1]+1,Math.min(n[i][o-1]+1,n[i-1][o]+1));return n[e.length][t.length]}}]),t}();function Af(t){return Uf=t,function(){var t={};Yf=0,void(Xf=Uf.charAt(0)),np(),"strict"===Gf&&(t.strict=!0,np());"graph"!==Gf&&"digraph"!==Gf||(t.type=Gf,np());Kf===Wf&&(t.id=Gf,np());if("{"!=Gf)throw lp("Angle bracket { expected");if(np(),rp(t),"}"!=Gf)throw lp("Angle bracket } expected");if(np(),""!==Gf)throw lp("End of file expected");return np(),delete t.node,delete t.edge,delete t.graph,t}()}var Rf={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},jf=Bl(Rf);jf.color="color.color",jf.style="dashes";var Lf=0,Hf=1,Wf=2,Vf=3,qf={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},Uf="",Yf=0,Xf="",Gf="",Kf=Lf;function $f(){Yf++,Xf=Uf.charAt(Yf)}function Zf(){return Uf.charAt(Yf+1)}function Qf(t){var e=t.charCodeAt(0);return e<47?35===e||46===e:e<59?e>47:e<91?e>64:e<96?95===e:e<123&&e>96}function Jf(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function tp(t,e,i){for(var o=e.split("."),n=t;o.length;){var r=o.shift();o.length?(n[r]||(n[r]={}),n=n[r]):n[r]=i}}function ep(t,e){for(var i,o,n=null,r=[t],s=t;s.parent;)r.push(s.parent),s=s.parent;if(s.nodes)for(i=0,o=s.nodes.length;i<o;i++)if(e.id===s.nodes[i].id){n=s.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=Jf(n.attr,t.node))),i=r.length-1;i>=0;i--){var a,h=r[i];h.nodes||(h.nodes=[]),-1===Cl(a=h.nodes).call(a,n)&&h.nodes.push(n)}e.attr&&(n.attr=Jf(n.attr,e.attr))}function ip(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=Jf({},t.edge);e.attr=Jf(i,e.attr)}}function op(t,e,i,o,n){var r={from:e,to:i,type:o};return t.edge&&(r.attr=Jf({},t.edge)),r.attr=Jf(r.attr||{},n),null!=n&&n.hasOwnProperty("arrows")&&null!=n.arrows&&(r.arrows={to:{enabled:!0,type:n.arrows.type}},n.arrows=null),r}function np(){for(Kf=Lf,Gf="";" "===Xf||"\t"===Xf||"\n"===Xf||"\r"===Xf;)$f();do{var t=!1;if("#"===Xf){for(var e=Yf-1;" "===Uf.charAt(e)||"\t"===Uf.charAt(e);)e--;if("\n"===Uf.charAt(e)||""===Uf.charAt(e)){for(;""!=Xf&&"\n"!=Xf;)$f();t=!0}}if("/"===Xf&&"/"===Zf()){for(;""!=Xf&&"\n"!=Xf;)$f();t=!0}if("/"===Xf&&"*"===Zf()){for(;""!=Xf;){if("*"===Xf&&"/"===Zf()){$f(),$f();break}$f()}t=!0}for(;" "===Xf||"\t"===Xf||"\n"===Xf||"\r"===Xf;)$f()}while(t);if(""!==Xf){var i=Xf+Zf();if(qf[i])return Kf=Hf,Gf=i,$f(),void $f();if(qf[Xf])return Kf=Hf,Gf=Xf,void $f();if(Qf(Xf)||"-"===Xf){for(Gf+=Xf,$f();Qf(Xf);)Gf+=Xf,$f();return"false"===Gf?Gf=!1:"true"===Gf?Gf=!0:isNaN(Number(Gf))||(Gf=Number(Gf)),void(Kf=Wf)}if('"'===Xf){for($f();""!=Xf&&('"'!=Xf||'"'===Xf&&'"'===Zf());)'"'===Xf?(Gf+=Xf,$f()):"\\"===Xf&&"n"===Zf()?(Gf+="\n",$f()):Gf+=Xf,$f();if('"'!=Xf)throw lp('End of string " expected');return $f(),void(Kf=Wf)}for(Kf=Vf;""!=Xf;)Gf+=Xf,$f();throw new SyntaxError('Syntax error in part "'+cp(Gf,30)+'"')}Kf=Hf}function rp(t){for(;""!==Gf&&"}"!=Gf;)sp(t),";"===Gf&&np()}function sp(t){var e=ap(t);if(e)hp(t,e);else if(!function(t){if("node"===Gf)return np(),t.node=dp(),"node";if("edge"===Gf)return np(),t.edge=dp(),"edge";if("graph"===Gf)return np(),t.graph=dp(),"graph";return null}(t)){if(Kf!=Wf)throw lp("Identifier expected");var i=Gf;if(np(),"="===Gf){if(np(),Kf!=Wf)throw lp("Identifier expected");t[i]=Gf,np()}else!function(t,e){var i={id:e},o=dp();o&&(i.attr=o);ep(t,i),hp(t,e)}(t,i)}}function ap(t){var e=null;if("subgraph"===Gf&&((e={}).type="subgraph",np(),Kf===Wf&&(e.id=Gf,np())),"{"===Gf){if(np(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,rp(e),"}"!=Gf)throw lp("Angle bracket } expected");np(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function hp(t,e){for(;"->"===Gf||"--"===Gf;){var i,o=Gf;np();var n=ap(t);if(n)i=n;else{if(Kf!=Wf)throw lp("Identifier or subgraph expected");ep(t,{id:i=Gf}),np()}ip(t,op(t,e,i,o,dp())),e=i}}function dp(){for(var t,e,i=null,o={dashed:!0,solid:!1,dotted:[1,5]},n={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},r=new Array,s=new Array;"["===Gf;){for(np(),i={};""!==Gf&&"]"!=Gf;){if(Kf!=Wf)throw lp("Attribute name expected");var a=Gf;if(np(),"="!=Gf)throw lp("Equal sign = expected");if(np(),Kf!=Wf)throw lp("Attribute value expected");var h=Gf;"style"===a&&(h=o[h]),"arrowhead"===a&&(a="arrows",h={to:{enabled:!0,type:n[h]}}),"arrowtail"===a&&(a="arrows",h={from:{enabled:!0,type:n[h]}}),r.push({attr:i,name:a,value:h}),s.push(a),np(),","==Gf&&np()}if("]"!=Gf)throw lp("Bracket ] expected");np()}if(Hd(s).call(s,"dir")){var d={arrows:{}};for(t=0;t<r.length;t++)if("arrows"===r[t].name)if(null!=r[t].value.to)d.arrows.to=t;else{if(null==r[t].value.from)throw lp("Invalid value of arrows");d.arrows.from=t}else"dir"===r[t].name&&(d.dir=t);var l,c,u=r[d.dir].value;if(!Hd(s).call(s,"arrows"))if("both"===u)r.push({attr:r[d.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),d.arrows.to=r.length-1,r.push({attr:r[d.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),d.arrows.from=r.length-1;else if("forward"===u)r.push({attr:r[d.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),d.arrows.to=r.length-1;else if("back"===u)r.push({attr:r[d.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),d.arrows.from=r.length-1;else{if("none"!==u)throw lp('Invalid dir type "'+u+'"');r.push({attr:r[d.dir].attr,name:"arrows",value:""}),d.arrows.to=r.length-1}if("both"===u)d.arrows.to&&d.arrows.from?(c=r[d.arrows.to].value.to.type,l=r[d.arrows.from].value.from.type,r[d.arrows.to]={attr:r[d.arrows.to].attr,name:r[d.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:l}}},Od(r).call(r,d.arrows.from,1)):d.arrows.to?(c=r[d.arrows.to].value.to.type,l="arrow",r[d.arrows.to]={attr:r[d.arrows.to].attr,name:r[d.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:l}}}):d.arrows.from&&(c="arrow",l=r[d.arrows.from].value.from.type,r[d.arrows.from]={attr:r[d.arrows.from].attr,name:r[d.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:l}}});else if("back"===u)d.arrows.to&&d.arrows.from?(c="",l=r[d.arrows.from].value.from.type,r[d.arrows.from]={attr:r[d.arrows.from].attr,name:r[d.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:l}}}):d.arrows.to?(c="",l="arrow",d.arrows.from=d.arrows.to,r[d.arrows.from]={attr:r[d.arrows.from].attr,name:r[d.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:l}}}):d.arrows.from&&(c="",l=r[d.arrows.from].value.from.type,r[d.arrows.to]={attr:r[d.arrows.from].attr,name:r[d.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:l}}}),r[d.arrows.from]={attr:r[d.arrows.from].attr,name:r[d.arrows.from].name,value:{from:{enabled:!0,type:r[d.arrows.from].value.from.type}}};else if("none"===u){var f;r[f=d.arrows.to?d.arrows.to:d.arrows.from]={attr:r[f].attr,name:r[f].name,value:""}}else{if("forward"!==u)throw lp('Invalid dir type "'+u+'"');d.arrows.to&&d.arrows.from||d.arrows.to?(c=r[d.arrows.to].value.to.type,l="",r[d.arrows.to]={attr:r[d.arrows.to].attr,name:r[d.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:l}}}):d.arrows.from&&(c="arrow",l="",d.arrows.to=d.arrows.from,r[d.arrows.to]={attr:r[d.arrows.to].attr,name:r[d.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:l}}}),r[d.arrows.to]={attr:r[d.arrows.to].attr,name:r[d.arrows.to].name,value:{to:{enabled:!0,type:r[d.arrows.to].value.to.type}}}}Od(r).call(r,d.dir,1)}if(Hd(s).call(s,"penwidth")){var p=[];for(e=r.length,t=0;t<e;t++)"width"!==r[t].name&&("penwidth"===r[t].name&&(r[t].name="width"),p.push(r[t]));r=p}for(e=r.length,t=0;t<e;t++)tp(r[t].attr,r[t].name,r[t].value);return i}function lp(t){return new SyntaxError(t+', got "'+cp(Gf,30)+'" (char '+Yf+")")}function cp(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function up(t,e,i){for(var o=e.split("."),n=o.pop(),r=t,s=0;s<o.length;s++){var a=o[s];a in r||(r[a]={}),r=r[a]}return r[n]=i,t}function fp(t,e){var i={};for(var o in t)if(t.hasOwnProperty(o)){var n=e[o];Hh(n)?nd(n).call(n,(function(e){up(i,e,t[o])})):up(i,"string"==typeof n?n:o,t[o])}return i}function pp(t){var e,i=Af(t),o={nodes:[],edges:[],options:{}};i.nodes&&nd(e=i.nodes).call(e,(function(t){var e={id:t.id,label:String(t.label||t.id)};Jf(e,fp(t.attr,Rf)),e.image&&(e.shape="image"),o.nodes.push(e)}));if(i.edges){var n,r=function(t){var e={from:t.from,to:t.to};return Jf(e,fp(t.attr,jf)),null==e.arrows&&"->"===t.type&&(e.arrows="to"),e};nd(n=i.edges).call(n,(function(t){var e,i,n,s,a,h,d;(e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges)&&nd(n=t.from.edges).call(n,(function(t){var e=r(t);o.edges.push(e)}));(a=i,h=function(e,i){var n=op(o,e.id,i.id,t.type,t.attr),s=r(n);o.edges.push(s)},Hh(s=e)?nd(s).call(s,(function(t){Hh(a)?nd(a).call(a,(function(e){h(t,e)})):h(t,a)})):Hh(a)?nd(a).call(a,(function(t){h(s,t)})):h(s,a),t.to instanceof Object&&t.to.edges)&&nd(d=t.to.edges).call(d,(function(t){var e=r(t);o.edges.push(e)}))}))}return i.attr&&(o.options=i.attr),o}var vp=Object.freeze({__proto__:null,parseDOT:Af,DOTToGraph:pp});function gp(t,e){var i,o={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};null!=e&&(null!=e.fixed&&(o.nodes.fixed=e.fixed),null!=e.parseColor&&(o.nodes.parseColor=e.parseColor),null!=e.inheritColor&&(o.edges.inheritColor=e.inheritColor));var n=t.edges,r=Uh(n).call(n,(function(t){var e={from:t.source,id:t.id,to:t.target};return null!=t.attributes&&(e.attributes=t.attributes),null!=t.label&&(e.label=t.label),null!=t.attributes&&null!=t.attributes.title&&(e.title=t.attributes.title),"Directed"===t.type&&(e.arrows="to"),t.color&&!1===o.edges.inheritColor&&(e.color=t.color),e}));return{nodes:Uh(i=t.nodes).call(i,(function(t){var e={id:t.id,fixed:o.nodes.fixed&&null!=t.x&&null!=t.y};return null!=t.attributes&&(e.attributes=t.attributes),null!=t.label&&(e.label=t.label),null!=t.size&&(e.size=t.size),null!=t.attributes&&null!=t.attributes.title&&(e.title=t.attributes.title),null!=t.title&&(e.title=t.title),null!=t.x&&(e.x=t.x),null!=t.y&&(e.y=t.y),null!=t.color&&(!0===o.nodes.parseColor?e.color=t.color:e.color={background:t.color,border:t.color,highlight:{background:t.color,border:t.color},hover:{background:t.color,border:t.color}}),e})),edges:r}}var yp=Object.freeze({__proto__:null,parseGephi:gp}),mp=Object.freeze({__proto__:null,en:{addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",createEdgeError:"Cannot link edges to a cluster.",del:"Delete selected",deleteClusterError:"Clusters cannot be deleted.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",edit:"Edit",editClusterError:"Clusters cannot be edited.",editEdge:"Edit Edge",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",editNode:"Edit Node"},de:{addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",addEdge:"Kante hinzufügen",addNode:"Knoten hinzufügen",back:"Zurück",close:"Schließen",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",del:"Lösche Auswahl",deleteClusterError:"Cluster können nicht gelöscht werden.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",edit:"Editieren",editClusterError:"Cluster können nicht editiert werden.",editEdge:"Kante editieren",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",editNode:"Knoten editieren"},es:{addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",addEdge:"Añadir arista",addNode:"Añadir nodo",back:"Atrás",close:"Cerrar",createEdgeError:"No se puede conectar una arista a un grupo.",del:"Eliminar selección",deleteClusterError:"No es posible eliminar grupos.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",edit:"Editar",editClusterError:"No es posible editar grupos.",editEdge:"Editar arista",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",editNode:"Editar nodo"},it:{addDescription:"Clicca per aggiungere un nuovo nodo",addEdge:"Aggiungi un vertice",addNode:"Aggiungi un nodo",back:"Indietro",close:"Chiudere",createEdgeError:"Non si possono collegare vertici ad un cluster",del:"Cancella la selezione",deleteClusterError:"I cluster non possono essere cancellati",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",edit:"Modifica",editClusterError:"I clusters non possono essere modificati.",editEdge:"Modifica il vertice",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",editNode:"Modifica il nodo"},nl:{addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",addEdge:"Link toevoegen",addNode:"Node toevoegen",back:"Terug",close:"Sluiten",createEdgeError:"Kan geen link maken naar een cluster.",del:"Selectie verwijderen",deleteClusterError:"Clusters kunnen niet worden verwijderd.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",edit:"Wijzigen",editClusterError:"Clusters kunnen niet worden aangepast.",editEdge:"Link wijzigen",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",editNode:"Node wijzigen"},pt:{addDescription:"Clique em um espaço em branco para adicionar um novo nó",addEdge:"Adicionar aresta",addNode:"Adicionar nó",back:"Voltar",close:"Fechar",createEdgeError:"Não foi possível linkar arestas a um cluster.",del:"Remover selecionado",deleteClusterError:"Clusters não puderam ser removidos.",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",edit:"Editar",editClusterError:"Clusters não puderam ser editados.",editEdge:"Editar aresta",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",editNode:"Editar nó"},ru:{addDescription:"Кликните в свободное место, чтобы добавить новый узел.",addEdge:"Добавить ребро",addNode:"Добавить узел",back:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},cn:{addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},uk:{addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",createEdgeError:"Не можливо об'єднати краї в групу.",del:"Видалити обране",deleteClusterError:"Групи не можуть бути видалені.",edgeDescription:"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.",edit:"Редагувати",editClusterError:"Групи недоступні для редагування.",editEdge:"Редагувати край",editEdgeDescription:"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.",editNode:"Редагувати вузол"},fr:{addDescription:"Cliquez dans un endroit vide pour placer un nœud.",addEdge:"Ajouter un lien",addNode:"Ajouter un nœud",back:"Retour",close:"Fermer",createEdgeError:"Impossible de créer un lien vers un cluster.",del:"Effacer la sélection",deleteClusterError:"Les clusters ne peuvent pas être effacés.",edgeDescription:"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.",edit:"Éditer",editClusterError:"Les clusters ne peuvent pas être édités.",editEdge:"Éditer le lien",editEdgeDescription:"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.",editNode:"Éditer le nœud"},cs:{addDescription:"Kluknutím do prázdného prostoru můžete přidat nový vrchol.",addEdge:"Přidat hranu",addNode:"Přidat vrchol",back:"Zpět",close:"Zavřít",createEdgeError:"Nelze připojit hranu ke shluku.",del:"Smazat výběr",deleteClusterError:"Nelze mazat shluky.",edgeDescription:"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.",edit:"Upravit",editClusterError:"Nelze upravovat shluky.",editEdge:"Upravit hranu",editEdgeDescription:"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.",editNode:"Upravit vrchol"}});var bp=function(){function t(){Ra(this,t),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return Ha(t,[{key:"init",value:function(){if(!this.initialized()){this.src=this.image.src;var t=this.image.width,e=this.image.height;this.width=t,this.height=e;var i=Math.floor(e/2),o=Math.floor(e/4),n=Math.floor(e/8),r=Math.floor(e/16),s=Math.floor(t/2),a=Math.floor(t/4),h=Math.floor(t/8),d=Math.floor(t/16);this.canvas.width=3*a,this.canvas.height=i,this.coordinates=[[0,0,s,i],[s,0,a,o],[s,o,h,n],[5*h,o,d,r]],this._fillMipMap()}}},{key:"initialized",value:function(){return void 0!==this.coordinates}},{key:"_fillMipMap",value:function(){var t=this.canvas.getContext("2d"),e=this.coordinates[0];t.drawImage(this.image,e[0],e[1],e[2],e[3]);for(var i=1;i<this.NUM_ITERATIONS;i++){var o=this.coordinates[i-1],n=this.coordinates[i];t.drawImage(this.canvas,o[0],o[1],o[2],o[3],n[0],n[1],n[2],n[3])}}},{key:"drawImageAtPosition",value:function(t,e,i,o,n,r){if(this.initialized())if(e>2){e*=.5;for(var s=0;e>2&&s<this.NUM_ITERATIONS;)e*=.5,s+=1;s>=this.NUM_ITERATIONS&&(s=this.NUM_ITERATIONS-1);var a=this.coordinates[s];t.drawImage(this.canvas,a[0],a[1],a[2],a[3],i,o,n,r)}else t.drawImage(this.image,i,o,n,r)}}]),t}(),wp=function(){function t(e){Ra(this,t),this.images={},this.imageBroken={},this.callback=e}return Ha(t,[{key:"_tryloadBrokenUrl",value:function(t,e,i){void 0!==t&&void 0!==i&&(void 0!==e?(i.image.onerror=function(){console.error("Could not load brokenImage:",e)},i.image.src=e):console.warn("No broken url image defined"))}},{key:"_redrawWithImage",value:function(t){this.callback&&this.callback(t)}},{key:"load",value:function(t,e){var i=this,o=this.images[t];if(o)return o;var n=new bp;return this.images[t]=n,n.image.onload=function(){i._fixImageCoordinates(n.image),n.init(),i._redrawWithImage(n)},n.image.onerror=function(){console.error("Could not load image:",t),i._tryloadBrokenUrl(t,e,n)},n.image.src=t,n}},{key:"_fixImageCoordinates",value:function(t){0===t.width&&(document.body.appendChild(t),t.width=t.offsetWidth,t.height=t.offsetHeight,document.body.removeChild(t))}}]),t}(),kp={exports:{}},_p=!s((function(){return Object.isExtensible(Object.preventExtensions({}))})),xp=ue,Ep=Te,Op=E,Cp=et,Sp=Xt.f,Tp=Cr,Mp=Mr,Pp=_p,Dp=!1,Bp=nt("meta"),Ip=0,zp=Object.isExtensible||function(){return!0},Fp=function(t){Sp(t,Bp,{value:{objectID:"O"+Ip++,weakData:{}}})},Np=kp.exports={enable:function(){Np.enable=function(){},Dp=!0;var t=Tp.f,e=[].splice,i={};i[Bp]=1,t(i).length&&(Tp.f=function(i){for(var o=t(i),n=0,r=o.length;n<r;n++)if(o[n]===Bp){e.call(o,n,1);break}return o},xp({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:Mp.f}))},fastKey:function(t,e){if(!Op(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!Cp(t,Bp)){if(!zp(t))return"F";if(!e)return"E";Fp(t)}return t[Bp].objectID},getWeakData:function(t,e){if(!Cp(t,Bp)){if(!zp(t))return!0;if(!e)return!1;Fp(t)}return t[Bp].weakData},onFreeze:function(t){return Pp&&Dp&&zp(t)&&!Cp(t,Bp)&&Fp(t),t}};Ep[Bp]=!0;var Ap=Kt,Rp=An,jp=me,Lp=Yt,Hp=Un,Wp=Dn,Vp=function(t,e){this.stopped=t,this.result=e},qp=function(t,e,i){var o,n,r,s,a,h,d,l=i&&i.that,c=!(!i||!i.AS_ENTRIES),u=!(!i||!i.IS_ITERATOR),f=!(!i||!i.INTERRUPTED),p=Lp(e,l,1+c+f),v=function(t){return o&&Wp(o),new Vp(!0,t)},g=function(t){return c?(Ap(t),f?p(t[0],t[1],v):p(t[0],t[1])):f?p(t,v):p(t)};if(u)o=t;else{if("function"!=typeof(n=Hp(t)))throw TypeError("Target is not iterable");if(Rp(n)){for(r=0,s=jp(t.length);s>r;r++)if((a=g(t[r]))&&a instanceof Vp)return a;return new Vp(!1)}o=n.call(t)}for(h=o.next;!(d=h.call(o)).done;){try{a=g(d.value)}catch(t){throw Wp(o),t}if("object"==typeof a&&a&&a instanceof Vp)return a}return new Vp(!1)},Up=function(t,e,i){if(!(t instanceof e))throw TypeError("Incorrect "+(i?i+" ":"")+"invocation");return t},Yp=ue,Xp=n,Gp=kp.exports,Kp=s,$p=oe,Zp=qp,Qp=Up,Jp=E,tv=Xo,ev=Xt.f,iv=Jr.forEach,ov=a,nv=Zi.set,rv=Zi.getterFor,sv=function(t,e,i){var o,n=-1!==t.indexOf("Map"),r=-1!==t.indexOf("Weak"),s=n?"set":"add",a=Xp[t],h=a&&a.prototype,d={};if(ov&&"function"==typeof a&&(r||h.forEach&&!Kp((function(){(new a).entries().next()})))){o=e((function(e,i){nv(Qp(e,o,t),{type:t,collection:new a}),null!=i&&Zp(i,e[s],{that:e,AS_ENTRIES:n})}));var l=rv(t);iv(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var e="add"==t||"set"==t;!(t in h)||r&&"clear"==t||$p(o.prototype,t,(function(i,o){var n=l(this).collection;if(!e&&r&&!Jp(i))return"get"==t&&void 0;var s=n[t](0===i?0:i,o);return e?this:s}))})),r||ev(o.prototype,"size",{configurable:!0,get:function(){return l(this).collection.size}})}else o=i.getConstructor(e,t,n,s),Gp.enable();return tv(o,t,!1,!0),d[t]=o,Yp({global:!0,forced:!0},d),r||i.setStrong(o,t,n),o},av=an,hv=function(t,e,i){for(var o in e)i&&i.unsafe&&t[o]?t[o]=e[o]:av(t,o,e[o],i);return t},dv=M,lv=Xt,cv=a,uv=pt("species"),fv=Xt.f,pv=Do,vv=hv,gv=Yt,yv=Up,mv=qp,bv=_n,wv=function(t){var e=dv(t),i=lv.f;cv&&e&&!e[uv]&&i(e,uv,{configurable:!0,get:function(){return this}})},kv=a,_v=kp.exports.fastKey,xv=Zi.set,Ev=Zi.getterFor,Ov={getConstructor:function(t,e,i,o){var n=t((function(t,r){yv(t,n,e),xv(t,{type:e,index:pv(null),first:void 0,last:void 0,size:0}),kv||(t.size=0),null!=r&&mv(r,t[o],{that:t,AS_ENTRIES:i})})),r=Ev(e),s=function(t,e,i){var o,n,s=r(t),h=a(t,e);return h?h.value=i:(s.last=h={index:n=_v(e,!0),key:e,value:i,previous:o=s.last,next:void 0,removed:!1},s.first||(s.first=h),o&&(o.next=h),kv?s.size++:t.size++,"F"!==n&&(s.index[n]=h)),t},a=function(t,e){var i,o=r(t),n=_v(e);if("F"!==n)return o.index[n];for(i=o.first;i;i=i.next)if(i.key==e)return i};return vv(n.prototype,{clear:function(){for(var t=r(this),e=t.index,i=t.first;i;)i.removed=!0,i.previous&&(i.previous=i.previous.next=void 0),delete e[i.index],i=i.next;t.first=t.last=void 0,kv?t.size=0:this.size=0},delete:function(t){var e=this,i=r(e),o=a(e,t);if(o){var n=o.next,s=o.previous;delete i.index[o.index],o.removed=!0,s&&(s.next=n),n&&(n.previous=s),i.first==o&&(i.first=n),i.last==o&&(i.last=s),kv?i.size--:e.size--}return!!o},forEach:function(t){for(var e,i=r(this),o=gv(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:i.first;)for(o(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!a(this,t)}}),vv(n.prototype,i?{get:function(t){var e=a(this,t);return e&&e.value},set:function(t,e){return s(this,0===t?0:t,e)}}:{add:function(t){return s(this,t=0===t?0:t,t)}}),kv&&fv(n.prototype,"size",{get:function(){return r(this).size}}),n},setStrong:function(t,e,i){var o=e+" Iterator",n=Ev(e),r=Ev(o);bv(t,e,(function(t,e){xv(this,{type:o,target:t,state:n(t),kind:e,last:void 0})}),(function(){for(var t=r(this),e=t.kind,i=t.last;i&&i.removed;)i=i.previous;return t.target&&(t.last=i=i?i.next:t.state.first)?"keys"==e?{value:i.key,done:!1}:"values"==e?{value:i.value,done:!1}:{value:[i.key,i.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),i?"entries":"values",!i,!0),wv(e)}};sv("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Ov);var Cv=O.Map,Sv=function(){function t(){Ra(this,t),this.clear(),this._defaultIndex=0,this._groupIndex=0,this._defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},Ke(this.options,this.defaultOptions)}return Ha(t,[{key:"setOptions",value:function(t){var e=["useDefaultGroups"];if(void 0!==t)for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&-1===Cl(e).call(e,i)){var o=t[i];this.add(i,o)}}},{key:"clear",value:function(){this._groups=new Cv,this._groupNames=[]}},{key:"get",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._groups.get(t);if(void 0===i&&e)if(!1===this.options.useDefaultGroups&&this._groupNames.length>0){var o=this._groupIndex%this._groupNames.length;++this._groupIndex,(i={}).color=this._groups.get(this._groupNames[o]),this._groups.set(t,i)}else{var n=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,(i={}).color=this._defaultGroups[n],this._groups.set(t,i)}return i}},{key:"add",value:function(t,e){return this._groups.has(t)||this._groupNames.push(t),this._groups.set(t,e),e}}]),t}();ue({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Tv=O.Number.isNaN,Mv=n.isFinite;ue({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&Mv(t)}});var Pv=O.Number.isFinite,Dv=Jr.some;ue({target:"Array",proto:!0,forced:!Zh("some")},{some:function(t){return Dv(this,t,arguments.length>1?arguments[1]:void 0)}});var Bv=oi("Array").some,Iv=Array.prototype,zv=function(t){var e=t.some;return t===Iv||t instanceof Array&&e===Iv.some?Bv:e},Fv=gi,Nv=ll.trim,Av=n.parseFloat,Rv=1/Av("\t\n\v\f\r                　\u2028\u2029\ufeff-0")!=-1/0?function(t){var e=Nv(Fv(t)),i=Av(e);return 0===i&&"-"==e.charAt(0)?-0:i}:Av;ue({global:!0,forced:parseFloat!=Rv},{parseFloat:Rv});var jv=O.parseFloat,Lv=ue,Hv=s,Wv=Mr.f;Lv({target:"Object",stat:!0,forced:Hv((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:Wv});var Vv=O.Object,qv=function(t){return Vv.getOwnPropertyNames(t)};function Uv(t,e){var i=["node","edge","label"],o=!0,n=Ef(e,"chosen");if("boolean"==typeof n)o=n;else if("object"===zh(n)){if(-1===Cl(i).call(i,t))throw new Error("choosify: subOption '"+t+"' should be one of '"+i.join("', '")+"'");var r=Ef(e,["chosen",t]);"boolean"!=typeof r&&"function"!=typeof r||(o=r)}return o}function Yv(t,e,i){if(t.width<=0||t.height<=0)return!1;if(void 0!==i){var o={x:e.x-i.x,y:e.y-i.y};if(0!==i.angle){var n=-i.angle;e={x:Math.cos(n)*o.x-Math.sin(n)*o.y,y:Math.sin(n)*o.x+Math.cos(n)*o.y}}else e=o}var r=t.x+t.width,s=t.y+t.width;return t.left<e.x&&r>e.x&&t.top<e.y&&s>e.y}function Xv(t){return"string"==typeof t&&""!==t}function Gv(t,e,i,o){var n=o.x,r=o.y;if("function"==typeof o.distanceToBorder){var s=o.distanceToBorder(t,e),a=Math.sin(e)*s,h=Math.cos(e)*s;h===s?(n+=s,r=o.y):a===s?(n=o.x,r-=s):(n+=h,r-=a)}else o.shape.width>o.shape.height?(n=o.x+.5*o.shape.width,r=o.y-i):(n=o.x+i,r=o.y-.5*o.shape.height);return{x:n,y:r}}var Kv=oi("Array").values,$v=Ro,Zv=Array.prototype,Qv={DOMTokenList:!0,NodeList:!0},Jv=function(t){var e=t.values;return t===Zv||t instanceof Array&&e===Zv.values||Qv.hasOwnProperty($v(t))?Kv:e},tg=function(){function t(e){Ra(this,t),this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}return Ha(t,[{key:"_add",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"normal";void 0===this.lines[t]&&(this.lines[t]={width:0,height:0,blocks:[]});var o=e;void 0!==e&&""!==e||(o=" ");var n=this.measureText(o,i),r=Ke({},Jv(n));r.text=e,r.width=n.width,r.mod=i,void 0!==e&&""!==e||(r.width=0),this.lines[t].blocks.push(r),this.lines[t].width+=r.width}},{key:"curWidth",value:function(){var t=this.lines[this.current];return void 0===t?0:t.width}},{key:"append",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e)}},{key:"newLine",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e),this.current++}},{key:"determineLineHeights",value:function(){for(var t=0;t<this.lines.length;t++){var e=this.lines[t],i=0;if(void 0!==e.blocks)for(var o=0;o<e.blocks.length;o++){var n=e.blocks[o];i<n.height&&(i=n.height)}e.height=i}}},{key:"determineLabelSize",value:function(){for(var t=0,e=0,i=0;i<this.lines.length;i++){var o=this.lines[i];o.width>t&&(t=o.width),e+=o.height}this.width=t,this.height=e}},{key:"removeEmptyBlocks",value:function(){for(var t=[],e=0;e<this.lines.length;e++){var i=this.lines[e];if(0!==i.blocks.length&&(e!==this.lines.length-1||0!==i.width)){var o={};Ke(o,i),o.blocks=[];for(var n=void 0,r=[],s=0;s<i.blocks.length;s++){var a=i.blocks[s];0!==a.width?r.push(a):void 0===n&&(n=a)}0===r.length&&void 0!==n&&r.push(n),o.blocks=r,t.push(o)}}return t}},{key:"finalize",value:function(){this.determineLineHeights(),this.determineLabelSize();var t=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:t}}}]),t}(),eg={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/},ig=function(){function t(e){Ra(this,t),this.text=e,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer="",this.modStack=[],this.blocks=[]}return Ha(t,[{key:"mod",value:function(){return 0===this.modStack.length?"normal":this.modStack[0]}},{key:"modName",value:function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":this.bold&&this.ital?"boldital":this.bold?"bold":this.ital?"ital":void 0}},{key:"emitBlock",value:function(){this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer="")}},{key:"add",value:function(t){" "===t&&(this.spacing=!0),this.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)}},{key:"parseWS",value:function(t){return!!/[ \t]/.test(t)&&(this.mono?this.add(t):this.spacing=!0,!0)}},{key:"setTag",value:function(t){this.emitBlock(),this[t]=!0,this.modStack.unshift(t)}},{key:"unsetTag",value:function(t){this.emitBlock(),this[t]=!1,this.modStack.shift()}},{key:"parseStartTag",value:function(t,e){return!(this.mono||this[t]||!this.match(e))&&(this.setTag(t),!0)}},{key:"match",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.prepareRegExp(t),o=Bh(i,2),n=o[0],r=o[1],s=n.test(this.text.substr(this.position,r));return s&&e&&(this.position+=r-1),s}},{key:"parseEndTag",value:function(t,e,i){var o=this.mod()===t;return!(!(o="mono"===t?o&&this.mono:o&&!this.mono)||!this.match(e))&&(void 0!==i?(this.position===this.text.length-1||this.match(i,!1))&&this.unsetTag(t):this.unsetTag(t),!0)}},{key:"replace",value:function(t,e){return!!this.match(t)&&(this.add(e),this.position+=length-1,!0)}},{key:"prepareRegExp",value:function(t){var e,i;if(t instanceof RegExp)i=t,e=1;else{var o=eg[t];i=void 0!==o?o:new RegExp(t),e=t.length}return[i,e]}}]),t}(),og=function(){function t(e,i,o,n){var r=this;Ra(this,t),this.ctx=e,this.parent=i,this.selected=o,this.hover=n;this.lines=new tg((function(t,i){if(void 0===t)return 0;var s=r.parent.getFormattingValues(e,o,n,i),a=0;""!==t&&(a=r.ctx.measureText(t).width);return{width:a,values:s}}))}return Ha(t,[{key:"process",value:function(t){if(!Xv(t))return this.lines.finalize();var e=this.parent.fontOptions;t=(t=t.replace(/\r\n/g,"\n")).replace(/\r/g,"\n");var i=String(t).split("\n"),o=i.length;if(e.multi)for(var n=0;n<o;n++){var r=this.splitBlocks(i[n],e.multi);if(void 0!==r)if(0!==r.length){if(e.maxWdt>0)for(var s=0;s<r.length;s++){var a=r[s].mod,h=r[s].text;this.splitStringIntoLines(h,a,!0)}else for(var d=0;d<r.length;d++){var l=r[d].mod,c=r[d].text;this.lines.append(c,l)}this.lines.newLine()}else this.lines.newLine("")}else if(e.maxWdt>0)for(var u=0;u<o;u++)this.splitStringIntoLines(i[u]);else for(var f=0;f<o;f++)this.lines.newLine(i[f]);return this.lines.finalize()}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":!0!==t&&"html"!==t||(e="html"),e}},{key:"splitHtmlBlocks",value:function(t){for(var e=new ig(t),i=function(t){return!!/&/.test(t)&&(e.replace(e.text,"&lt;","<")||e.replace(e.text,"&amp;","&")||e.add("&"),!0)};e.position<e.text.length;){var o=e.text.charAt(e.position);e.parseWS(o)||/</.test(o)&&(e.parseStartTag("bold","<b>")||e.parseStartTag("ital","<i>")||e.parseStartTag("mono","<code>")||e.parseEndTag("bold","</b>")||e.parseEndTag("ital","</i>")||e.parseEndTag("mono","</code>"))||i(o)||e.add(o),e.position++}return e.emitBlock(),e.blocks}},{key:"splitMarkdownBlocks",value:function(t){for(var e=this,i=new ig(t),o=!0,n=function(t){return!!/\\/.test(t)&&(i.position<e.text.length+1&&(i.position++,t=e.text.charAt(i.position),/ \t/.test(t)?i.spacing=!0:(i.add(t),o=!1)),!0)};i.position<i.text.length;){var r=i.text.charAt(i.position);i.parseWS(r)||n(r)||(o||i.spacing)&&(i.parseStartTag("bold","*")||i.parseStartTag("ital","_")||i.parseStartTag("mono","`"))||i.parseEndTag("bold","*","afterBold")||i.parseEndTag("ital","_","afterItal")||i.parseEndTag("mono","`","afterMono")||(i.add(r),o=!1),i.position++}return i.emitBlock(),i.blocks}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"overMaxWidth",value:function(t){var e=this.ctx.measureText(t).width;return this.lines.curWidth()+e>this.parent.fontOptions.maxWdt}},{key:"getLongestFit",value:function(t){for(var e="",i=0;i<t.length;){var o=e+(""===e?"":" ")+t[i];if(this.overMaxWidth(o))break;e=o,i++}return i}},{key:"getLongestFitWord",value:function(t){for(var e=0;e<t.length&&!this.overMaxWidth(Lh(t).call(t,0,e));)e++;return e}},{key:"splitStringIntoLines",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.parent.getFormattingValues(this.ctx,this.selected,this.hover,e);for(var o=(t=(t=t.replace(/^( +)/g,"$1\r")).replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r")).split("\r");o.length>0;){var n=this.getLongestFit(o);if(0===n){var r=o[0],s=this.getLongestFitWord(r);this.lines.newLine(Lh(r).call(r,0,s),e),o[0]=Lh(r).call(r,s)}else{var a=n;" "===o[n-1]?n--:" "===o[a]&&a++;var h=Lh(o).call(o,0,n).join("");n==o.length&&i?this.lines.append(h,e):this.lines.newLine(h,e),o=Lh(o).call(o,a)}}}}]),t}(),ng=["bold","ital","boldital","mono"],rg=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];Ra(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return Ha(t,[{key:"setOptions",value:function(t){if(this.elementOptions=t,this.initFontOptions(t.font),Xv(t.label)?this.labelDirty=!0:t.label=void 0,void 0!==t.font&&null!==t.font)if("string"==typeof t.font)this.baseSize=this.fontOptions.size;else if("object"===zh(t.font)){var e=t.font.size;void 0!==e&&(this.baseSize=e)}}},{key:"initFontOptions",value:function(e){var i=this;lf(ng,(function(t){i.fontOptions[t]={}})),t.parseFontString(this.fontOptions,e)?this.fontOptions.vadjust=0:lf(e,(function(t,e){null!=t&&"object"!==zh(t)&&(i.fontOptions[e]=t)}))}},{key:"constrain",value:function(t){var e={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},i=Ef(t,"widthConstraint");if("number"==typeof i)e.maxWdt=Number(i),e.minWdt=Number(i);else if("object"===zh(i)){var o=Ef(t,["widthConstraint","maximum"]);"number"==typeof o&&(e.maxWdt=Number(o));var n=Ef(t,["widthConstraint","minimum"]);"number"==typeof n&&(e.minWdt=Number(n))}var r=Ef(t,"heightConstraint");if("number"==typeof r)e.minHgt=Number(r);else if("object"===zh(r)){var s=Ef(t,["heightConstraint","minimum"]);"number"==typeof s&&(e.minHgt=Number(s));var a=Ef(t,["heightConstraint","valign"]);"string"==typeof a&&("top"!==a&&"bottom"!==a||(e.valign=a))}return e}},{key:"update",value:function(t,e){this.setOptions(t,!0),this.propagateFonts(e),sf(this.fontOptions,this.constrain(e)),this.fontOptions.chooser=Uv("label",e)}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"addFontOptionsToPile",value:function(t,e){for(var i=0;i<e.length;++i)this.addFontToPile(t,e[i])}},{key:"addFontToPile",value:function(t,e){if(void 0!==e&&void 0!==e.font&&null!==e.font){var i=e.font;t.push(i)}}},{key:"getBasicOptions",value:function(e){for(var i={},o=0;o<e.length;++o){var n=e[o],r={};t.parseFontString(r,n)&&(n=r),lf(n,(function(t,e){void 0!==t&&(Object.prototype.hasOwnProperty.call(i,e)||(-1!==Cl(ng).call(ng,e)?i[e]={}:i[e]=t))}))}return i}},{key:"getFontOption",value:function(e,i,o){for(var n,r=0;r<e.length;++r){var s=e[r];if(Object.prototype.hasOwnProperty.call(s,i)){if(null==(n=s[i]))continue;var a={};if(t.parseFontString(a,n)&&(n=a),Object.prototype.hasOwnProperty.call(n,o))return n[o]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,o))return this.fontOptions[o];throw new Error("Did not find value for multi-font for property: '"+o+"'")}},{key:"getFontOptions",value:function(t,e){for(var i={},o=["color","size","face","mod","vadjust"],n=0;n<o.length;++n){var r=o[n];i[r]=this.getFontOption(t,e,r)}return i}},{key:"propagateFonts",value:function(t){var e=this,i=[];this.addFontOptionsToPile(i,t),this.fontOptions=this.getBasicOptions(i);for(var o=function(t){var o=ng[t],n=e.fontOptions[o];lf(e.getFontOptions(i,o),(function(t,e){n[e]=t})),n.size=Number(n.size),n.vadjust=Number(n.vadjust)},n=0;n<ng.length;++n)o(n)}},{key:"draw",value:function(t,e,i,o,n){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var s=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&s<this.elementOptions.scaling.label.drawThreshold-1||(s>=this.elementOptions.scaling.label.maxVisible&&(s=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(t,o,n,e,i,r),this._drawBackground(t),this._drawText(t,e,this.size.yLine,r,s))}}},{key:"_drawBackground",value:function(t){if(void 0!==this.fontOptions.background&&"none"!==this.fontOptions.background){t.fillStyle=this.fontOptions.background;var e=this.getSize();t.fillRect(e.left,e.top,e.width,e.height)}}},{key:"_drawText",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",n=arguments.length>4?arguments[4]:void 0,r=this._setAlignment(t,e,i,o),s=Bh(r,2);e=s[0],i=s[1],t.textAlign="left",e-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(i-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(i+=(this.size.height-this.size.labelHeight)/2));for(var a=0;a<this.lineCount;a++){var h=this.lines[a];if(h&&h.blocks){var d=0;this.isEdgeLabel||"center"===this.fontOptions.align?d+=(this.size.width-h.width)/2:"right"===this.fontOptions.align&&(d+=this.size.width-h.width);for(var l=0;l<h.blocks.length;l++){var c=h.blocks[l];t.font=c.font;var u=this._getColor(c.color,n,c.strokeColor),f=Bh(u,2),p=f[0],v=f[1];c.strokeWidth>0&&(t.lineWidth=c.strokeWidth,t.strokeStyle=v,t.lineJoin="round"),t.fillStyle=p,c.strokeWidth>0&&t.strokeText(c.text,e+d,i+c.vadjust),t.fillText(c.text,e+d,i+c.vadjust),d+=c.width}i+=h.height}}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&!1===this.pointToSelf){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var r=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=uf(o,r),n=uf(n,r)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"getSize",value:function(){var t=this.size.left,e=this.size.top-1;if(this.isEdgeLabel){var i=.5*-this.size.width;switch(this.fontOptions.align){case"middle":t=i,e=.5*-this.size.height;break;case"top":t=i,e=-(this.size.height+2);break;case"bottom":t=i,e=2}}return{left:t,top:e,width:this.size.width,height:this.size.height}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===r&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(t,e,i,o){var n=function(t,e,i){return"normal"===e?"mod"===i?"":t[i]:void 0!==t[e][i]?t[e][i]:t[i]},r={color:n(this.fontOptions,o,"color"),size:n(this.fontOptions,o,"size"),face:n(this.fontOptions,o,"face"),mod:n(this.fontOptions,o,"mod"),vadjust:n(this.fontOptions,o,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(e||i)&&("normal"===o&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?r.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(r,this.elementOptions.id,e,i));var s="";return void 0!==r.mod&&""!==r.mod&&(s+=r.mod+" "),s+=r.size+"px "+r.face,t.font=s.replace(/"/g,""),r.font=t.font,r.height=r.size,r}},{key:"differentState",value:function(t,e){return t!==this.selectedState||e!==this.hoverState}},{key:"_processLabelText",value:function(t,e,i,o){return new og(t,this,e,i).process(o)}},{key:"_processLabel",value:function(t,e,i){if(!1!==this.labelDirty||this.differentState(e,i)){var o=this._processLabelText(t,e,i,this.elementOptions.label);this.fontOptions.minWdt>0&&o.width<this.fontOptions.minWdt&&(o.width=this.fontOptions.minWdt),this.size.labelHeight=o.height,this.fontOptions.minHgt>0&&o.height<this.fontOptions.minHgt&&(o.height=this.fontOptions.minHgt),this.lines=o.lines,this.lineCount=o.lines.length,this.size.width=o.width,this.size.height=o.height,this.selectedState=e,this.hoverState=i,this.labelDirty=!1}}},{key:"visible",value:function(){return 0!==this.size.width&&0!==this.size.height&&void 0!==this.elementOptions.label&&!(this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}}],[{key:"parseFontString",value:function(t,e){if(!e||"string"!=typeof e)return!1;var i=e.split(" ");return t.size=+i[0].replace("px",""),t.face=i[1],t.color=i[2],!0}}]),t}(),sg=ue,ag=qt,hg=Kt,dg=E,lg=Do,cg=ei,ug=s,fg=M("Reflect","construct"),pg=ug((function(){function t(){}return!(fg((function(){}),[],t)instanceof t)})),vg=!ug((function(){fg((function(){}))})),gg=pg||vg;sg({target:"Reflect",stat:!0,forced:gg,sham:gg},{construct:function(t,e){ag(t),hg(e);var i=arguments.length<3?t:ag(arguments[2]);if(vg&&!pg)return fg(t,e,i);if(t==i){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var o=[null];return o.push.apply(o,e),new(cg.apply(t,o))}var n=i.prototype,r=lg(dg(n)?n:Object.prototype),s=Function.apply.call(t,r,e);return dg(s)?s:r}});var yg=O.Reflect.construct,mg=Dl;ue({target:"Object",stat:!0},{setPrototypeOf:rn});var bg=O.Object.setPrototypeOf;function wg(t,e){return(wg=bg||function(t,e){return t.__proto__=e,t})(t,e)}function kg(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=mg(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&wg(t,e)}function _g(t,e){if(e&&("object"===zh(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}var xg=Ud;function Eg(t){return(Eg=bg?xg:function(t){return t.__proto__||xg(t)})(t)}var Og=function(){function t(e,i,o){Ra(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return Ha(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==zh(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return t&&this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(!1!==e.borderDashes)if(void 0!==t.setLineDash){var i=e.borderDashes;!0===i&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){!1!==e.borderDashes&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}},{key:"needsRefresh",value:function(t,e){return!0===this.refreshNeeded?(this.refreshNeeded=!1,!0):void 0===this.width||this.labelModule.differentState(t,e)}},{key:"initContextForDraw",value:function(t,e){var i=e.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,i),t.strokeStyle=e.borderColor,t.fillStyle=e.color}},{key:"performStroke",value:function(t,e){var i=e.borderWidth/this.body.view.scale;t.save(),i>0&&(this.enableBorderDashes(t,e),t.stroke(),this.disableBorderDashes(t,e)),t.restore()}},{key:"performFill",value:function(t,e){t.save(),t.fillStyle=e.color,this.enableShadow(t,e),Ql(t).call(t),this.disableShadow(t,e),t.restore(),this.performStroke(t,e)}},{key:"_addBoundingBoxMargin",value:function(t){this.boundingBox.left-=t,this.boundingBox.top-=t,this.boundingBox.bottom+=t,this.boundingBox.right+=t}},{key:"_updateBoundingBox",value:function(t,e,i,o,n){void 0!==i&&this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this._updateBoundingBox(t,e,i,o,n)}},{key:"getDimensionsFromLabel",value:function(t,e,i){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width,n=this.textSize.height;return 0===o&&(o=14,n=14),{width:o,height:n}}}]),t}();function Cg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Sg=function(t){kg(i,t);var e=Cg(i);function i(t,o,n){var r;return Ra(this,i),(r=e.call(this,t,o,n))._setMargins(n),r}return Ha(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i);this.width=o.width+this.margin.right+this.margin.left,this.height=o.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,r){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,r),hi(t,this.left,this.top,this.width,this.height,r.borderRadius),this.performFill(t,r),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this._updateBoundingBox(t,e,i,o,n);var r=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(r)}},{key:"distanceToBorder",value:function(t,e){t&&this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),i}(Og);function Tg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Mg=function(t){kg(i,t);var e=Tg(i);function i(t,o,n){var r;return Ra(this,i),(r=e.call(this,t,o,n)).labelOffset=0,r.selected=!1,r}return Ha(i,[{key:"setOptions",value:function(t,e,i){this.options=t,void 0===e&&void 0===i||this.setImages(e,i)}},{key:"setImages",value:function(t,e){e&&this.selected?(this.imageObj=e,this.imageObjAlt=t):(this.imageObj=t,this.imageObjAlt=e)}},{key:"switchImages",value:function(t){var e=t&&!this.selected||!t&&this.selected;if(this.selected=t,void 0!==this.imageObjAlt&&e){var i=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=i}}},{key:"_getImagePadding",value:function(){var t={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){var e=this.options.imagePadding;"object"==zh(e)?(t.top=e.top,t.right=e.right,t.bottom=e.bottom,t.left=e.left):(t.top=e,t.right=e,t.bottom=e,t.left=e)}return t}},{key:"_resizeImage",value:function(){var t,e;if(!1===this.options.shapeProperties.useImageSize){var i=1,o=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?i=this.imageObj.width/this.imageObj.height:o=this.imageObj.height/this.imageObj.width),t=2*this.options.size*i,e=2*this.options.size*o}else{var n=this._getImagePadding();t=this.imageObj.width+n.left+n.right,e=this.imageObj.height+n.top+n.bottom}this.width=t,this.height=e,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(t,e,i,o){this.initContextForDraw(t,o),ai(t,e,i,o.size),this.performFill(t,o)}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=void 0!==e.opacity?e.opacity:1,this.enableShadow(t,e);var i=1;!0===this.options.shapeProperties.interpolation&&(i=this.imageObj.width/this.width/this.body.view.scale);var o=this._getImagePadding(),n=this.left+o.left,r=this.top+o.top,s=this.width-o.left-o.right,a=this.height-o.top-o.bottom;this.imageObj.drawImageAtPosition(t,i,n,r,s,a),this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var r=0;if(void 0!==this.height){r=.5*this.height;var s=this.labelModule.getTextSize(t,o,n);s.lineCount>=1&&(r+=s.height/2)}var a=i+r;this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,a,o,n,"hanging")}}]),i}(Og);function Pg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Dg=function(t){kg(i,t);var e=Pg(i);function i(t,o,n){var r;return Ra(this,i),(r=e.call(this,t,o,n))._setMargins(n),r}return Ha(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i),n=Math.max(o.width+this.margin.right+this.margin.left,o.height+this.margin.top+this.margin.bottom);this.options.size=n/2,this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,r){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,r),this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),.5*this.width}}]),i}(Mg);function Bg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Ig=function(t){kg(i,t);var e=Bg(i);function i(t,o,n,r,s){var a;return Ra(this,i),(a=e.call(this,t,o,n)).setImages(r,s),a}return Ha(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(o){var n=2*this.options.size;return this.width=n,this.height=n,void(this.radius=.5*this.width)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,r){this.switchImages(o),this.resize();var s=e,a=i;"top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=e,this.top=i,s+=this.width/2,a+=this.height/2):(this.left=e-this.width/2,this.top=i-this.height/2),this._drawRawCircle(t,s,a,r),t.save(),t.clip(),this._drawImageAtPosition(t,r),t.restore(),this._drawImageLabel(t,s,a,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){"top-left"===this.options.shapeProperties.coordinateOrigin?(this.boundingBox.top=e,this.boundingBox.left=t,this.boundingBox.right=t+2*this.options.size,this.boundingBox.bottom=e+2*this.options.size):(this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),.5*this.width}}]),i}(Mg);function zg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Fg=function(t){kg(i,t);var e=zg(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(e,i)){var n,r;this.labelModule.getTextSize(t,e,i);var s=2*o.size;this.width=null!==(n=this.customSizeWidth)&&void 0!==n?n:s,this.height=null!==(r=this.customSizeHeight)&&void 0!==r?r:s,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,r,s,a){var h,d=this;return this.resize(t,r,s,a),this.left=o-this.width/2,this.top=n-this.height/2,this.initContextForDraw(t,a),(h=e,Object.prototype.hasOwnProperty.call(ui,h)?ui[h]:function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),o=1;o<e;o++)i[o-1]=arguments[o];CanvasRenderingContext2D.prototype[h].call(t,i)})(t,o,n,a.size),this.performFill(t,a),void 0!==this.options.icon&&void 0!==this.options.icon.code&&(t.font=(r?"bold ":"")+this.height/2+"px "+(this.options.icon.face||"FontAwesome"),t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",t.fillText(this.options.icon.code,o,n)),{drawExternalLabel:function(){if(void 0!==d.options.label){d.labelModule.calculateLabelSize(t,r,s,o,n,"hanging");var e=n+.5*d.height+.5*d.labelModule.size.height;d.labelModule.draw(t,o,e,r,s,"hanging")}d.updateBoundingBox(o,n)}}}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}]),i}(Og);function Ng(t,e){var i=Gh(t);if(ha){var o=ha(t);e&&(o=$d(o).call(o,(function(e){return ba(t,e).enumerable}))),i.push.apply(i,o)}return i}function Ag(t){for(var e=1;e<arguments.length;e++){var i,o=null!=arguments[e]?arguments[e]:{};if(e%2)nd(i=Ng(Object(o),!0)).call(i,(function(e){Wa(t,e,o[e])}));else if(Ta)Ba(t,Ta(o));else{var n;nd(n=Ng(Object(o))).call(n,(function(e){Aa(t,e,ba(o,e))}))}}return t}function Rg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var jg=function(t){kg(i,t);var e=Rg(i);function i(t,o,n,r){var s;return Ra(this,i),(s=e.call(this,t,o,n,r)).ctxRenderer=r,s}return Ha(i,[{key:"draw",value:function(t,e,i,o,n,r){this.resize(t,o,n,r),this.left=e-this.width/2,this.top=i-this.height/2,t.save();var s=this.ctxRenderer({ctx:t,id:this.options.id,x:e,y:i,state:{selected:o,hover:n},style:Ag({},r),label:this.options.label});if(null!=s.drawNode&&s.drawNode(),t.restore(),s.drawExternalLabel){var a=s.drawExternalLabel;s.drawExternalLabel=function(){t.save(),a(),t.restore()}}return s.nodeDimensions&&(this.customSizeWidth=s.nodeDimensions.width,this.customSizeHeight=s.nodeDimensions.height),s}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Fg);function Lg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Hg=function(t){kg(i,t);var e=Lg(i);function i(t,o,n){var r;return Ra(this,i),(r=e.call(this,t,o,n))._setMargins(n),r}return Ha(i,[{key:"resize",value:function(t,e,i){if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i).width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,r){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,r),li(t,e-this.width/2,i-this.height/2,this.width,this.height),this.performFill(t,r),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Og);function Wg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Vg=function(t){kg(i,t);var e=Wg(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"draw",value:function(t,e,i,o,n,r){return this._drawShape(t,"diamond",4,e,i,o,n,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Fg);function qg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Ug=function(t){kg(i,t);var e=qg(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"draw",value:function(t,e,i,o,n,r){return this._drawShape(t,"circle",2,e,i,o,n,r)}},{key:"distanceToBorder",value:function(t){return t&&this.resize(t),this.options.size}}]),i}(Fg);function Yg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Xg=function(t){kg(i,t);var e=Yg(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i);this.height=2*o.height,this.width=o.width+o.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,r){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height,this.initContextForDraw(t,r),di(t,this.left,this.top,this.width,this.height),this.performFill(t,r),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"distanceToBorder",value:function(t,e){t&&this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,r=Math.cos(e)*o;return i*o/Math.sqrt(n*n+r*r)}}]),i}(Og);function Gg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Kg=function(t){kg(i,t);var e=Gg(i);function i(t,o,n){var r;return Ra(this,i),(r=e.call(this,t,o,n))._setMargins(n),r}return Ha(i,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,r){var s=this;return this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,r),{drawExternalLabel:function(){if(void 0!==s.options.label){s.labelModule.draw(t,s.left+s.iconSize.width/2+s.margin.left,i+s.height/2+5,o)}s.updateBoundingBox(e,i)}}}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,o,n,r){var s=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=[null!=this.options.icon.weight?this.options.icon.weight:o?"bold":"",(null!=this.options.icon.weight&&o?5:0)+s+"px",this.options.icon.face].join(" "),t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,r),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,r)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Og);function $g(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Zg=function(t){kg(i,t);var e=$g(i);function i(t,o,n,r,s){var a;return Ra(this,i),(a=e.call(this,t,o,n)).setImages(r,s),a}return Ha(i,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(o){var n=2*this.options.size;return this.width=n,void(this.height=n)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,r){t.save(),this.switchImages(o),this.resize();var s=e,a=i;if("top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=e,this.top=i,s+=this.width/2,a+=this.height/2):(this.left=e-this.width/2,this.top=i-this.height/2),!0===this.options.shapeProperties.useBorderWithImage){var h=this.options.borderWidth,d=this.options.borderWidthSelected||2*this.options.borderWidth,l=(o?d:h)/this.body.view.scale;t.lineWidth=Math.min(this.width,l),t.beginPath();var c=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,u=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background;void 0!==r.opacity&&(c=uf(c,r.opacity),u=uf(u,r.opacity)),t.strokeStyle=c,t.fillStyle=u,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),Ql(t).call(t),this.performStroke(t,r),t.closePath()}this._drawImageAtPosition(t,r),this._drawImageLabel(t,s,a,o,n),this.updateBoundingBox(e,i),t.restore()}},{key:"updateBoundingBox",value:function(t,e){this.resize(),"top-left"===this.options.shapeProperties.coordinateOrigin?(this.left=t,this.top=e):(this.left=t-this.width/2,this.top=e-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Mg);function Qg(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Jg=function(t){kg(i,t);var e=Qg(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"draw",value:function(t,e,i,o,n,r){return this._drawShape(t,"square",2,e,i,o,n,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Fg);function ty(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var ey=function(t){kg(i,t);var e=ty(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"draw",value:function(t,e,i,o,n,r){return this._drawShape(t,"hexagon",4,e,i,o,n,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Fg);function iy(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var oy=function(t){kg(i,t);var e=iy(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"draw",value:function(t,e,i,o,n,r){return this._drawShape(t,"star",4,e,i,o,n,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Fg);function ny(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var ry=function(t){kg(i,t);var e=ny(i);function i(t,o,n){var r;return Ra(this,i),(r=e.call(this,t,o,n))._setMargins(n),r}return Ha(i,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,r){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,r),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,r),this.updateBoundingBox(e,i,t,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Og);function sy(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var ay=function(t){kg(i,t);var e=sy(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"draw",value:function(t,e,i,o,n,r){return this._drawShape(t,"triangle",3,e,i,o,n,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Fg);function hy(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var dy=function(t){kg(i,t);var e=hy(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"draw",value:function(t,e,i,o,n,r){return this._drawShape(t,"triangleDown",3,e,i,o,n,r)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(Fg);function ly(t,e){var i=Gh(t);if(ha){var o=ha(t);e&&(o=$d(o).call(o,(function(e){return ba(t,e).enumerable}))),i.push.apply(i,o)}return i}function cy(t){for(var e=1;e<arguments.length;e++){var i,o=null!=arguments[e]?arguments[e]:{};if(e%2)nd(i=ly(Object(o),!0)).call(i,(function(e){Wa(t,e,o[e])}));else if(Ta)Ba(t,Ta(o));else{var n;nd(n=ly(Object(o))).call(n,(function(e){Aa(t,e,ba(o,e))}))}}return t}var uy=function(){function t(e,i,o,n,r,s){Ra(this,t),this.options=kf(r),this.globalOptions=r,this.defaultOptions=s,this.body=i,this.edges=[],this.id=void 0,this.imagelist=o,this.grouplist=n,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new rg(this.body,this.options,!1),this.setOptions(e)}return Ha(t,[{key:"attachEdge",value:function(t){var e;-1===Cl(e=this.edges).call(e,t)&&this.edges.push(t)}},{key:"detachEdge",value:function(t){var e,i,o=Cl(e=this.edges).call(e,t);-1!=o&&Od(i=this.edges).call(i,o,1)}},{key:"setOptions",value:function(e){var i=this.options.shape;if(e){if(void 0!==e.color&&(this._localColor=e.color),void 0!==e.id&&(this.id=e.id),void 0===this.id)throw new Error("Node must have an id");t.checkMass(e,this.id),void 0!==e.x&&(null===e.x?(this.x=void 0,this.predefinedPosition=!1):(this.x=yl(e.x),this.predefinedPosition=!0)),void 0!==e.y&&(null===e.y?(this.y=void 0,this.predefinedPosition=!1):(this.y=yl(e.y),this.predefinedPosition=!0)),void 0!==e.size&&(this.baseSize=e.size),void 0!==e.value&&(e.value=jv(e.value)),t.parseOptions(this.options,e,!0,this.globalOptions,this.grouplist);var o=[e,this.options,this.defaultOptions];return this.chooser=Uv("node",o),this._load_images(),this.updateLabelModule(e),void 0!==e.opacity&&t.checkOpacity(e.opacity)&&(this.options.opacity=e.opacity),this.updateShape(i),void 0!==e.hidden||void 0!==e.physics}}},{key:"_load_images",value:function(){if(("circularImage"===this.options.shape||"image"===this.options.shape)&&void 0===this.options.image)throw new Error("Option image must be defined for node type '"+this.options.shape+"'");if(void 0!==this.options.image){if(void 0===this.imagelist)throw new Error("Internal Error: No images provided");if("string"==typeof this.options.image)this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(void 0===this.options.image.unselected)throw new Error("No unselected image provided");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),void 0!==this.options.image.selected?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}},{key:"getFormattingValues",value:function(){var t={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?!0===this.chooser?this.selected?(null!=this.options.borderWidthSelected?t.borderWidth=this.options.borderWidthSelected:t.borderWidth*=2,t.color=this.options.color.highlight.background,t.borderColor=this.options.color.highlight.border,t.shadow=this.options.shadow.enabled):this.hover&&(t.color=this.options.color.hover.background,t.borderColor=this.options.color.hover.border,t.shadow=this.options.shadow.enabled):"function"==typeof this.chooser&&(this.chooser(t,this.options.id,this.selected,this.hover),!1===t.shadow&&(t.shadowColor===this.options.shadow.color&&t.shadowSize===this.options.shadow.size&&t.shadowX===this.options.shadow.x&&t.shadowY===this.options.shadow.y||(t.shadow=!0))):t.shadow=this.options.shadow.enabled,void 0!==this.options.opacity){var e=this.options.opacity;t.borderColor=uf(t.borderColor,e),t.color=uf(t.color,e),t.shadowColor=uf(t.shadowColor,e)}return t}},{key:"updateLabelModule",value:function(e){void 0!==this.options.label&&null!==this.options.label||(this.options.label=""),t.updateGroupOptions(this.options,cy(cy({},e),{},{color:e&&e.color||this._localColor||void 0}),this.grouplist);var i=this.grouplist.get(this.options.group,!1),o=[e,this.options,i,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,o),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateShape",value:function(t){if(t===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case"box":this.shape=new Sg(this.options,this.body,this.labelModule);break;case"circle":this.shape=new Dg(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new Ig(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new jg(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new Hg(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new Vg(this.options,this.body,this.labelModule);break;case"dot":this.shape=new Ug(this.options,this.body,this.labelModule);break;case"ellipse":this.shape=new Xg(this.options,this.body,this.labelModule);break;case"icon":this.shape=new Kg(this.options,this.body,this.labelModule);break;case"image":this.shape=new Zg(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new Jg(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new ey(this.options,this.body,this.labelModule);break;case"star":this.shape=new oy(this.options,this.body,this.labelModule);break;case"text":this.shape=new ry(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new ay(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new dy(this.options,this.body,this.labelModule);break;default:this.shape=new Xg(this.options,this.body,this.labelModule)}this.needsRefresh()}},{key:"select",value:function(){this.selected=!0,this.needsRefresh()}},{key:"unselect",value:function(){this.selected=!1,this.needsRefresh()}},{key:"needsRefresh",value:function(){this.shape.refreshNeeded=!0}},{key:"getTitle",value:function(){return this.options.title}},{key:"distanceToBorder",value:function(t,e){return this.shape.distanceToBorder(t,e)}},{key:"isFixed",value:function(){return this.options.fixed.x&&this.options.fixed.y}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"getLabelSize",value:function(){return this.labelModule.size()}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var o=this.options.scaling.customScalingFunction(t,e,i,this.options.value),n=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var r=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+o*r}this.options.size=this.options.scaling.min+o*n}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}},{key:"draw",value:function(t){var e=this.getFormattingValues();return this.shape.draw(t,this.x,this.y,this.selected,this.hover,e)||{}}},{key:"updateBoundingBox",value:function(t){this.shape.updateBoundingBox(this.x,this.y,t)}},{key:"resize",value:function(t){var e=this.getFormattingValues();this.shape.resize(t,this.selected,this.hover,e)}},{key:"getItemsOnPoint",value:function(t){var e=[];return this.labelModule.visible()&&Yv(this.labelModule.getSize(),t)&&e.push({nodeId:this.id,labelId:0}),Yv(this.shape.boundingBox,t)&&e.push({nodeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){return this.shape.left<t.right&&this.shape.left+this.shape.width>t.left&&this.shape.top<t.bottom&&this.shape.top+this.shape.height>t.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.left<t.right&&this.shape.boundingBox.right>t.left&&this.shape.boundingBox.top<t.bottom&&this.shape.boundingBox.bottom>t.top}}],[{key:"checkOpacity",value:function(t){return 0<=t&&t<=1}},{key:"checkCoordinateOrigin",value:function(t){return void 0===t||"center"===t||"top-left"===t}},{key:"updateGroupOptions",value:function(e,i,o){var n;if(void 0!==o){var r=e.group;if(void 0!==i&&void 0!==i.group&&r!==i.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof r||"string"==typeof r&&""!=r){var s=o.get(r);void 0!==s.opacity&&void 0===i.opacity&&(t.checkOpacity(s.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+s.opacity),s.opacity=void 0));var a=$d(n=qv(i)).call(n,(function(t){return null!=i[t]}));a.push("font"),rf(a,e,s),e.color=pf(e.color)}}}},{key:"parseOptions",value:function(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=arguments.length>4?arguments[4]:void 0,s=["color","fixed","shadow"];if(rf(s,e,i,o),t.checkMass(i),void 0!==e.opacity&&(t.checkOpacity(e.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity),e.opacity=void 0)),void 0!==i.opacity&&(t.checkOpacity(i.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+i.opacity),i.opacity=void 0)),i.shapeProperties&&!t.checkCoordinateOrigin(i.shapeProperties.coordinateOrigin)&&console.error("Invalid option for node coordinateOrigin, found: "+i.shapeProperties.coordinateOrigin),_f(e,i,"shadow",n),void 0!==i.color&&null!==i.color){var a=pf(i.color);of(e.color,a)}else!0===o&&null===i.color&&(e.color=kf(n.color));void 0!==i.fixed&&null!==i.fixed&&("boolean"==typeof i.fixed?(e.fixed.x=i.fixed,e.fixed.y=i.fixed):(void 0!==i.fixed.x&&"boolean"==typeof i.fixed.x&&(e.fixed.x=i.fixed.x),void 0!==i.fixed.y&&"boolean"==typeof i.fixed.y&&(e.fixed.y=i.fixed.y))),!0===o&&null===i.font&&(e.font=kf(n.font)),t.updateGroupOptions(e,i,r),void 0!==i.scaling&&_f(e.scaling,i.scaling,"label",n.scaling)}},{key:"checkMass",value:function(t,e){if(void 0!==t.mass&&t.mass<=0){var i="";void 0!==e&&(i=" in node id: "+e),console.error("%cNegative or zero mass disallowed"+i+", setting mass to 1.",Ff),t.mass=1}}}]),t}();function fy(t,e){var i=void 0!==Nh&&xr(t)||t["@@iterator"];if(!i){if(Hh(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return py(t,e);var o=Lh(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return rr(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return py(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var o=0,n=function(){};return{s:n,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function py(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}var vy=function(){function t(e,i,o,n){var r,s=this;if(Ra(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=si(r=this.create).call(r,this),this.nodesListeners={add:function(t,e){s.add(e.items)},update:function(t,e){s.update(e.items,e.data,e.oldData)},remove:function(t,e){s.remove(e.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:void 0,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:"center"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=kf(this.defaultOptions),this.bindEventListeners()}return Ha(t,[{key:"bindEventListeners",value:function(){var t,e,i=this;this.body.emitter.on("refreshNodes",si(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",si(e=this.refresh).call(e,this)),this.body.emitter.on("destroy",(function(){lf(i.nodesListeners,(function(t,e){i.body.data.nodes&&i.body.data.nodes.off(e,t)})),delete i.body.functions.createNode,delete i.nodesListeners.add,delete i.nodesListeners.update,delete i.nodesListeners.remove,delete i.nodesListeners}))}},{key:"setOptions",value:function(t){if(void 0!==t){if(uy.parseOptions(this.options,t),void 0!==t.opacity&&(Tv(t.opacity)||!Pv(t.opacity)||t.opacity<0||t.opacity>1?console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+t.opacity):this.options.opacity=t.opacity),void 0!==t.shape)for(var e in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&this.body.nodes[e].updateShape();if(void 0!==t.font||void 0!==t.widthConstraint||void 0!==t.heightConstraint)for(var i=0,o=Gh(this.body.nodes);i<o.length;i++){var n=o[i];this.body.nodes[n].updateLabelModule(),this.body.nodes[n].needsRefresh()}if(void 0!==t.size)for(var r in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,r)&&this.body.nodes[r].needsRefresh();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.nodes;if(e.isDataViewLike("id",t))this.body.data.nodes=t;else if(Hh(t))this.body.data.nodes=new e.DataSet,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new e.DataSet}if(o&&lf(this.nodesListeners,(function(t,e){o.off(e,t)})),this.body.nodes={},this.body.data.nodes){var n=this;lf(this.nodesListeners,(function(t,e){n.body.data.nodes.on(e,t)}));var r=this.body.data.nodes.getIds();this.add(r,!0)}!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=[],n=0;n<t.length;n++){e=t[n];var r=this.body.data.nodes.get(e),s=this.create(r);o.push(s),this.body.nodes[e]=s}this.layoutEngine.positionInitially(o),!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(t,e,i){for(var o=this.body.nodes,n=!1,r=0;r<t.length;r++){var s=t[r],a=o[s],h=e[r];void 0!==a?a.setOptions(h)&&(n=!0):(n=!0,a=this.create(h),o[s]=a)}n||void 0===i||(n=zv(e).call(e,(function(t,e){var o=i[e];return o&&o.level!==t.level}))),!0===n?this.body.emitter.emit("_dataChanged"):this.body.emitter.emit("_dataUpdated")}},{key:"remove",value:function(t){for(var e=this.body.nodes,i=0;i<t.length;i++){delete e[t[i]]}this.body.emitter.emit("_dataChanged")}},{key:"create",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:uy;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:"refresh",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];lf(this.body.nodes,(function(i,o){var n=t.body.data.nodes.get(o);void 0!==n&&(!0===e&&i.setOptions({x:null,y:null}),i.setOptions({fixed:!1}),i.setOptions(n))}))}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(!0===Hh(t)){for(var i=0;i<t.length;i++)if(void 0!==this.body.nodes[t[i]]){var o=this.body.nodes[t[i]];e[t[i]]={x:Math.round(o.x),y:Math.round(o.y)}}}else if(void 0!==this.body.nodes[t]){var n=this.body.nodes[t];e[t]={x:Math.round(n.x),y:Math.round(n.y)}}}else for(var r=0;r<this.body.nodeIndices.length;r++){var s=this.body.nodes[this.body.nodeIndices[r]];e[this.body.nodeIndices[r]]={x:Math.round(s.x),y:Math.round(s.y)}}return e}},{key:"getPosition",value:function(t){if(null==t)throw new TypeError("No id was specified for getPosition method.");if(null==this.body.nodes[t])throw new ReferenceError("NodeId provided for getPosition does not exist. Provided: ".concat(t));return{x:Math.round(this.body.nodes[t].x),y:Math.round(this.body.nodes[t].y)}}},{key:"storePositions",value:function(){var t,e=[],i=this.body.data.nodes.getDataSet(),o=fy(i.get());try{for(o.s();!(t=o.n()).done;){var n=t.value,r=n.id,s=this.body.nodes[r],a=Math.round(s.x),h=Math.round(s.y);n.x===a&&n.y===h||e.push({id:r,x:a,y:h})}}catch(t){o.e(t)}finally{o.f()}i.update(e)}},{key:"getBoundingBox",value:function(t){if(void 0!==this.body.nodes[t])return this.body.nodes[t].shape.boundingBox}},{key:"getConnectedNodes",value:function(t,e){var i=[];if(void 0!==this.body.nodes[t])for(var o=this.body.nodes[t],n={},r=0;r<o.edges.length;r++){var s=o.edges[r];"to"!==e&&s.toId==o.id?void 0===n[s.fromId]&&(i.push(s.fromId),n[s.fromId]=!0):"from"!==e&&s.fromId==o.id&&void 0===n[s.toId]&&(i.push(s.toId),n[s.toId]=!0)}return i}},{key:"getConnectedEdges",value:function(t){var e=[];if(void 0!==this.body.nodes[t])for(var i=this.body.nodes[t],o=0;o<i.edges.length;o++)e.push(i.edges[o].id);else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",t);return e}},{key:"moveNode",value:function(t,e,i){var o=this;void 0!==this.body.nodes[t]?(this.body.nodes[t].x=Number(e),this.body.nodes[t].y=Number(i),Yl((function(){o.body.emitter.emit("startSimulation")}),0)):console.error("Node id supplied to moveNode does not exist. Provided: ",t)}}]),t}(),gy=E,yy=Kt,my=et,by=r,wy=no;ue({target:"Reflect",stat:!0},{get:function t(e,i){var o,n,r=arguments.length<3?e:arguments[2];return yy(e)===r?e[i]:(o=by.f(e,i))?my(o,"value")?o.value:void 0===o.get?void 0:o.get.call(r):gy(n=wy(e))?t(n,i,r):void 0}});var ky=O.Reflect.get,_y=ma;function xy(t,e,i){return(xy="undefined"!=typeof Reflect&&ky?ky:function(t,e,i){var o=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Eg(t)););return t}(t,e);if(o){var n=_y(o,e);return n.get?n.get.call(i):n.value}})(t,e,i||t)}var Ey=ue,Oy=Math.hypot,Cy=Math.abs,Sy=Math.sqrt;Ey({target:"Math",stat:!0,forced:!!Oy&&Oy(1/0,NaN)!==1/0},{hypot:function(t,e){for(var i,o,n=0,r=0,s=arguments.length,a=0;r<s;)a<(i=Cy(arguments[r++]))?(n=n*(o=a/i)*o+1,a=i):n+=i>0?(o=i/a)*o:i;return a===1/0?1/0:a*Sy(n)}});var Ty=O.Math.hypot;function My(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Py=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"transform",value:function(t,e){Hh(t)||(t=[t]);for(var i=e.point.x,o=e.point.y,n=e.angle,r=e.length,s=0;s<t.length;++s){var a=t[s],h=a.x*Math.cos(n)-a.y*Math.sin(n),d=a.x*Math.sin(n)+a.y*Math.cos(n);a.x=i+r*h,a.y=o+r*d}}},{key:"drawPath",value:function(t,e){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(var i=1;i<e.length;++i)t.lineTo(e[i].x,e[i].y);t.closePath()}}]),t}(),Dy=function(t){kg(i,t);var e=My(i);function i(){return Ra(this,i),e.apply(this,arguments)}return Ha(i,null,[{key:"draw",value:function(t,e){if(e.image){t.save(),t.translate(e.point.x,e.point.y),t.rotate(Math.PI/2+e.angle);var i=null!=e.imageWidth?e.imageWidth:e.image.width,o=null!=e.imageHeight?e.imageHeight:e.image.height;e.image.drawImageAtPosition(t,1,-i/2,0,i,o),t.restore()}return!1}}]),i}(Py),By=function(t){kg(i,t);var e=My(i);function i(){return Ra(this,i),e.apply(this,arguments)}return Ha(i,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return Py.transform(i,e),Py.drawPath(t,i),!0}}]),i}(Py),Iy=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return Py.transform(i,e),Py.drawPath(t,i),!0}}]),t}(),zy=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i={x:-.4,y:0};Py.transform(i,e),t.strokeStyle=t.fillStyle,t.fillStyle="rgba(0, 0, 0, 0)";var o=Math.PI,n=e.angle-o/2,r=e.angle+o/2;return t.beginPath(),t.arc(i.x,i.y,.4*e.length,n,r,!1),t.stroke(),!0}}]),t}(),Fy=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i={x:-.3,y:0};Py.transform(i,e),t.strokeStyle=t.fillStyle,t.fillStyle="rgba(0, 0, 0, 0)";var o=Math.PI,n=e.angle+o/2,r=e.angle+3*o/2;return t.beginPath(),t.arc(i.x,i.y,.4*e.length,n,r,!1),t.stroke(),!0}}]),t}(),Ny=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return Py.transform(i,e),Py.drawPath(t,i),!0}}]),t}(),Ay=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return Py.transform(i,e),Py.drawPath(t,i),!0}}]),t}(),Ry=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i={x:-.4,y:0};return Py.transform(i,e),ai(t,i.x,i.y,.4*e.length),!0}}]),t}(),jy=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return Py.transform(i,e),Py.drawPath(t,i),!0}}]),t}(),Ly=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return Py.transform(i,e),Py.drawPath(t,i),!0}}]),t}(),Hy=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return Py.transform(i,e),Py.drawPath(t,i),!0}}]),t}(),Wy=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return Py.transform(i,e),Py.drawPath(t,i),!0}}]),t}(),Vy=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"draw",value:function(t,e){var i;switch(e.type&&(i=e.type.toLowerCase()),i){case"image":return Dy.draw(t,e);case"circle":return Ry.draw(t,e);case"box":return Ly.draw(t,e);case"crow":return Iy.draw(t,e);case"curve":return zy.draw(t,e);case"diamond":return Hy.draw(t,e);case"inv_curve":return Fy.draw(t,e);case"triangle":return Ny.draw(t,e);case"inv_triangle":return Ay.draw(t,e);case"bar":return jy.draw(t,e);case"vee":return Wy.draw(t,e);case"arrow":default:return By.draw(t,e)}}}]),t}();function qy(t,e){var i=Gh(t);if(ha){var o=ha(t);e&&(o=$d(o).call(o,(function(e){return ba(t,e).enumerable}))),i.push.apply(i,o)}return i}function Uy(t){for(var e=1;e<arguments.length;e++){var i,o=null!=arguments[e]?arguments[e]:{};if(e%2)nd(i=qy(Object(o),!0)).call(i,(function(e){Wa(t,e,o[e])}));else if(Ta)Ba(t,Ta(o));else{var n;nd(n=qy(Object(o))).call(n,(function(e){Aa(t,e,ba(o,e))}))}}return t}var Yy=function(){function t(e,i,o){Ra(this,t),this._body=i,this._labelModule=o,this.color={},this.colorDirty=!0,this.hoverWidth=1.5,this.selectionWidth=2,this.setOptions(e),this.fromPoint=this.from,this.toPoint=this.to}return Ha(t,[{key:"connect",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}},{key:"cleanup",value:function(){return!1}},{key:"setOptions",value:function(t){this.options=t,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}},{key:"drawLine",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.getViaNode();t.strokeStyle=this.getColor(t,e),t.lineWidth=e.width,!1!==e.dashes?this._drawDashedLine(t,e,n):this._drawLine(t,e,n)}},{key:"_drawLine",value:function(t,e,i,o,n){if(this.from!=this.to)this._line(t,e,i,o,n);else{var r=Bh(this._getCircleData(t),3),s=r[0],a=r[1],h=r[2];this._circle(t,e,s,a,h)}}},{key:"_drawDashedLine",value:function(t,e,i,o,n){t.lineCap="round";var r=Hh(e.dashes)?e.dashes:[5,5];if(void 0!==t.setLineDash){if(t.save(),t.setLineDash(r),t.lineDashOffset=0,this.from!=this.to)this._line(t,e,i);else{var s=Bh(this._getCircleData(t),3),a=s[0],h=s[1],d=s[2];this._circle(t,e,a,h,d)}t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else{if(this.from!=this.to)ci(t,this.from.x,this.from.y,this.to.x,this.to.y,r);else{var l=Bh(this._getCircleData(t),3),c=l[0],u=l[1],f=l[2];this._circle(t,e,c,u,f)}this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}}},{key:"findBorderPosition",value:function(t,e,i){return this.from!=this.to?this._findBorderPosition(t,e,i):this._findBorderPositionCircle(t,e,i)}},{key:"findBorderPositions",value:function(t){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,t),to:this._findBorderPosition(this.to,t)};var e,i=Bh(Lh(e=this._getCircleData(t)).call(e,0,2),2),o=i[0],n=i[1];return{from:this._findBorderPositionCircle(this.from,t,{x:o,y:n,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,t,{x:o,y:n,low:.6,high:.8,direction:1})}}},{key:"_getCircleData",value:function(t){var e=this.options.selfReference.size;void 0!==t&&void 0===this.from.shape.width&&this.from.shape.resize(t);var i=Gv(t,this.options.selfReference.angle,e,this.from);return[i.x,i.y,e]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){var o,n=i.x,r=i.y,s=i.low,a=i.high,h=i.direction,d=this.options.selfReference.size,l=.5*(s+a),c=0;!0===this.options.arrowStrikethrough&&(-1===h?c=this.options.endPointOffset.from:1===h&&(c=this.options.endPointOffset.to));var u=0;do{l=.5*(s+a),o=this._pointOnCircle(n,r,d,l);var f=Math.atan2(t.y-o.y,t.x-o.x),p=t.distanceToBorder(e,f)+c-Math.sqrt(Math.pow(o.x-t.x,2)+Math.pow(o.y-t.y,2));if(Math.abs(p)<.05)break;p>0?h>0?s=l:a=l:h>0?a=l:s=l,++u}while(s<=a&&u<10);return Uy(Uy({},o),{},{t:l})}},{key:"getLineWidth",value:function(t,e){return!0===t?Math.max(this.selectionWidth,.3/this._body.view.scale):!0===e?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}},{key:"getColor",value:function(t,e){if(!1!==e.inheritsColor){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),o=this.from.options.color.highlight.border,n=this.to.options.color.highlight.border;return!1===this.from.selected&&!1===this.to.selected?(o=uf(this.from.options.color.border,e.opacity),n=uf(this.to.options.color.border,e.opacity)):!0===this.from.selected&&!1===this.to.selected?n=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(o=this.from.options.color.border),i.addColorStop(0,o),i.addColorStop(1,n),i}return"to"===e.inheritsColor?uf(this.to.options.color.border,e.opacity):uf(this.from.options.color.border,e.opacity)}return uf(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e);var r=0,s=2*Math.PI;if(!this.options.selfReference.renderBehindTheNode){var a=this.options.selfReference.angle,h=this.options.selfReference.angle+Math.PI,d=this._findBorderPositionCircle(this.from,t,{x:i,y:o,low:a,high:h,direction:-1}),l=this._findBorderPositionCircle(this.from,t,{x:i,y:o,low:a,high:h,direction:1});r=Math.atan2(d.y-o,d.x-i),s=Math.atan2(l.y-o,l.x-i)}t.beginPath(),t.arc(i,o,n,r,s,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r){if(this.from!=this.to)return this._getDistanceToEdge(t,e,i,o,n,r);var s=Bh(this._getCircleData(void 0),3),a=s[0],h=s[1],d=s[2],l=a-n,c=h-r;return Math.abs(Math.sqrt(l*l+c*c)-d)}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,r){var s=i-t,a=o-e,h=((n-t)*s+(r-e)*a)/(s*s+a*a);h>1?h=1:h<0&&(h=0);var d=t+h*s-n,l=e+h*a-r;return Math.sqrt(d*d+l*l)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var s,a,h,d,l,c,u,f=r.width;"from"===e?(h=this.from,d=this.to,l=r.fromArrowScale<0,c=Math.abs(r.fromArrowScale),u=r.fromArrowType):"to"===e?(h=this.to,d=this.from,l=r.toArrowScale<0,c=Math.abs(r.toArrowScale),u=r.toArrowType):(h=this.to,d=this.from,l=r.middleArrowScale<0,c=Math.abs(r.middleArrowScale),u=r.middleArrowType);var p=15*c+3*f;if(h!=d){var v=p/Ty(h.x-d.x,h.y-d.y);if("middle"!==e)if(!0===this.options.smooth.enabled){var g=this._findBorderPosition(h,t,{via:i}),y=this.getPoint(g.t+v*("from"===e?1:-1),i);s=Math.atan2(g.y-y.y,g.x-y.x),a=g}else s=Math.atan2(h.y-d.y,h.x-d.x),a=this._findBorderPosition(h,t);else{var m=(l?-v:v)/2,b=this.getPoint(.5+m,i),w=this.getPoint(.5-m,i);s=Math.atan2(b.y-w.y,b.x-w.x),a=this.getPoint(.5,i)}}else{var k=Bh(this._getCircleData(t),3),_=k[0],x=k[1],E=k[2];if("from"===e){var O=this.options.selfReference.angle,C=this.options.selfReference.angle+Math.PI,S=this._findBorderPositionCircle(this.from,t,{x:_,y:x,low:O,high:C,direction:-1});s=-2*S.t*Math.PI+1.5*Math.PI+.1*Math.PI,a=S}else if("to"===e){var T=this.options.selfReference.angle,M=this.options.selfReference.angle+Math.PI,P=this._findBorderPositionCircle(this.from,t,{x:_,y:x,low:T,high:M,direction:1});s=-2*P.t*Math.PI+1.5*Math.PI-1.1*Math.PI,a=P}else{var D=this.options.selfReference.angle/(2*Math.PI);a=this._pointOnCircle(_,x,E,D),s=-2*D*Math.PI+1.5*Math.PI+.1*Math.PI}}return{point:a,core:{x:a.x-.9*p*Math.cos(s),y:a.y-.9*p*Math.sin(s)},angle:s,length:p,type:u}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,Vy.draw(t,n)&&(this.enableShadow(t,e),Ql(t).call(t),this.disableShadow(t,e))}},{key:"enableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"drawBackground",value:function(t,e){if(!1!==e.background){var i={strokeStyle:t.strokeStyle,lineWidth:t.lineWidth,dashes:t.dashes};t.strokeStyle=e.backgroundColor,t.lineWidth=e.backgroundSize,this.setStrokeDashed(t,e.backgroundDashes),t.stroke(),t.strokeStyle=i.strokeStyle,t.lineWidth=i.lineWidth,t.dashes=i.dashes,this.setStrokeDashed(t,e.dashes)}}},{key:"setStrokeDashed",value:function(t,e){if(!1!==e)if(void 0!==t.setLineDash){var i=Hh(e)?e:[5,5];t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.");else void 0!==t.setLineDash?t.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.")}}]),t}();function Xy(t,e){var i=Gh(t);if(ha){var o=ha(t);e&&(o=$d(o).call(o,(function(e){return ba(t,e).enumerable}))),i.push.apply(i,o)}return i}function Gy(t){for(var e=1;e<arguments.length;e++){var i,o=null!=arguments[e]?arguments[e]:{};if(e%2)nd(i=Xy(Object(o),!0)).call(i,(function(e){Wa(t,e,o[e])}));else if(Ta)Ba(t,Ta(o));else{var n;nd(n=Xy(Object(o))).call(n,(function(e){Aa(t,e,ba(o,e))}))}}return t}function Ky(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var $y=function(t){kg(i,t);var e=Ky(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"_findBorderPositionBezier",value:function(t,e){var i,o,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),r=10,s=.2,a=!1,h=1,d=0,l=this.to,c=this.options.endPointOffset?this.options.endPointOffset.to:0;t.id===this.from.id&&(l=this.from,a=!0,c=this.options.endPointOffset?this.options.endPointOffset.from:0),!1===this.options.arrowStrikethrough&&(c=0);var u=0;do{o=.5*(d+h),i=this.getPoint(o,n);var f=Math.atan2(l.y-i.y,l.x-i.x),p=l.distanceToBorder(e,f)+c,v=Math.sqrt(Math.pow(i.x-l.x,2)+Math.pow(i.y-l.y,2)),g=p-v;if(Math.abs(g)<s)break;g<0?!1===a?d=o:h=o:!1===a?h=o:d=o,++u}while(d<=h&&u<r);return Gy(Gy({},i),{},{t:o})}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,r,s){var a,h,d,l,c,u=1e9,f=t,p=e;for(h=1;h<10;h++)d=.1*h,l=Math.pow(1-d,2)*t+2*d*(1-d)*s.x+Math.pow(d,2)*i,c=Math.pow(1-d,2)*e+2*d*(1-d)*s.y+Math.pow(d,2)*o,h>0&&(u=(a=this._getDistanceToLine(f,p,l,c,n,r))<u?a:u),f=l,p=c;return u}},{key:"_bezierCurve",value:function(t,e,i,o){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),null!=i&&null!=i.x?null!=o&&null!=o.x?t.bezierCurveTo(i.x,i.y,o.x,o.y,this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y):t.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(t,e),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}}]),i}(Yy);function Zy(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Qy=function(t){kg(i,t);var e=Zy(i);function i(t,o,n){var r;return Ra(this,i),(r=e.call(this,t,o,n)).via=r.via,r._boundFunction=function(){r.positionBezierNode()},r._body.emitter.on("_repositionBezierNodes",r._boundFunction),r}return Ha(i,[{key:"setOptions",value:function(t){xy(Eg(i.prototype),"setOptions",this).call(this,t);var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),!0===e&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],void 0===this.from||void 0===this.to||!1===this.options.physics||this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this._body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this._body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this._body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this._body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"_getViaCoordinates",value:function(){return this.via}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via;if(this.from===this.to){var i=this._getCircleData(),o=Bh(i,3),n=o[0],r=o[1],s=o[2],a=2*Math.PI*(1-t);return{x:n+s*Math.sin(a),y:r+s-s*(1-Math.cos(a))}}return{x:Math.pow(1-t,2)*this.fromPoint.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.toPoint.x,y:Math.pow(1-t,2)*this.fromPoint.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){return this._getDistanceToBezierEdge(t,e,i,o,n,r,this.via)}}]),i}($y);function Jy(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var tm=function(t){kg(i,t);var e=Jy(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t,e,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),r=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o){var s,a;s=a=n<=r?i*r:i*n,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(a=-a);var h=this.from.x+s,d=this.from.y+a;return"discrete"===o&&(n<=r?h=n<i*r?this.from.x:h:d=r<i*n?this.from.y:d),{x:h,y:d}}if("straightCross"===o){var l=(1-i)*n,c=(1-i)*r;return n<=r?(l=0,this.from.y<this.to.y&&(c=-c)):(this.from.x<this.to.x&&(l=-l),c=0),{x:this.to.x+l,y:this.to.y+c}}if("horizontal"===o){var u=(1-i)*n;return this.from.x<this.to.x&&(u=-u),{x:this.to.x+u,y:this.from.y}}if("vertical"===o){var f=(1-i)*r;return this.from.y<this.to.y&&(f=-f),{x:this.from.x,y:this.to.y+f}}if("curvedCW"===o){n=this.to.x-this.from.x,r=this.from.y-this.to.y;var p=Math.sqrt(n*n+r*r),v=Math.PI,g=(Math.atan2(r,n)+(.5*i+.5)*v)%(2*v);return{x:this.from.x+(.5*i+.5)*p*Math.sin(g),y:this.from.y+(.5*i+.5)*p*Math.cos(g)}}if("curvedCCW"===o){n=this.to.x-this.from.x,r=this.from.y-this.to.y;var y=Math.sqrt(n*n+r*r),m=Math.PI,b=(Math.atan2(r,n)+(.5*-i+.5)*m)%(2*m);return{x:this.from.x+(.5*i+.5)*y*Math.sin(b),y:this.from.y+(.5*i+.5)*y*Math.cos(b)}}t=e=n<=r?i*r:i*n,this.from.x>this.to.x&&(t=-t),this.from.y>=this.to.y&&(e=-e);var w=this.from.x+t,k=this.from.y+e;return n<=r?w=this.from.x<=this.to.x?this.to.x<w?this.to.x:w:this.to.x>w?this.to.x:w:k=this.from.y>=this.to.y?this.to.y>k?this.to.y:k:this.to.y<k?this.to.y:k,{x:w,y:k}}},{key:"_findBorderPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,r,s)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),i}($y);function em(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}function im(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var om=function(t){kg(i,t);var e=im(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];this._bezierCurve(t,e,o,n)}},{key:"_getViaCoordinates",value:function(){var t,e,i,o,n=this.from.x-this.to.x,r=this.from.y-this.to.y,s=this.options.smooth.roundness;return(Math.abs(n)>Math.abs(r)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(e=this.from.y,o=this.to.y,t=this.from.x-s*n,i=this.to.x+s*n):(e=this.from.y-s*r,o=this.to.y+s*r,t=this.from.x,i=this.to.x),[{x:t,y:e},{x:i,y:o}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),a=Bh(s,2),h=a[0],d=a[1];return this._getDistanceToBezierEdge2(t,e,i,o,n,r,h,d)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=Bh(e,2),o=i[0],n=i[1],r=t,s=[Math.pow(1-r,3),3*r*Math.pow(1-r,2),3*Math.pow(r,2)*(1-r),Math.pow(r,3)],a=s[0]*this.fromPoint.x+s[1]*o.x+s[2]*n.x+s[3]*this.toPoint.x,h=s[0]*this.fromPoint.y+s[1]*o.y+s[2]*n.y+s[3]*this.toPoint.y;return{x:a,y:h}}}]),i}(function(t){kg(i,t);var e=em(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"_getDistanceToBezierEdge2",value:function(t,e,i,o,n,r,s,a){for(var h=1e9,d=t,l=e,c=[0,0,0,0],u=1;u<10;u++){var f=.1*u;c[0]=Math.pow(1-f,3),c[1]=3*f*Math.pow(1-f,2),c[2]=3*Math.pow(f,2)*(1-f),c[3]=Math.pow(f,3);var p=c[0]*t+c[1]*s.x+c[2]*a.x+c[3]*i,v=c[0]*e+c[1]*s.y+c[2]*a.y+c[3]*o;if(u>0){var g=this._getDistanceToLine(d,l,p,v,n,r);h=g<h?g:h}d=p,l=v}return h}}]),i}($y));function nm(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var rm=function(t){kg(i,t);var e=nm(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),r=i.x-o.x,s=i.y-o.y,a=Math.sqrt(r*r+s*s),h=(a-t.distanceToBorder(e,n))/a;return{x:(1-h)*o.x+h*i.x,y:(1-h)*o.y+h*i.y,t:0}}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){return this._getDistanceToLine(t,e,i,o,n,r)}}]),i}(Yy),sm=function(){function t(e,i,o,n,r){if(Ra(this,t),void 0===i)throw new Error("No body provided");this.options=kf(n),this.globalOptions=n,this.defaultOptions=r,this.body=i,this.imagelist=o,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new rg(this.body,this.options,!0),this.setOptions(e)}return Ha(t,[{key:"setOptions",value:function(e){if(e){var i=void 0!==e.physics&&this.options.physics!==e.physics||void 0!==e.hidden&&(this.options.hidden||!1)!==(e.hidden||!1)||void 0!==e.from&&this.options.from!==e.from||void 0!==e.to&&this.options.to!==e.to;t.parseOptions(this.options,e,!0,this.globalOptions),void 0!==e.id&&(this.id=e.id),void 0!==e.from&&(this.fromId=e.from),void 0!==e.to&&(this.toId=e.to),void 0!==e.title&&(this.title=e.title),void 0!==e.value&&(e.value=jv(e.value));var o=[e,this.options,this.defaultOptions];return this.chooser=Uv("edge",o),this.updateLabelModule(e),i=this.updateEdgeType()||i,this._setInteractionWidths(),this.connect(),i}}},{key:"getFormattingValues",value:function(){var t=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,e=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,i=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,o=this.options.color.inherit,n={toArrow:t,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:i,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:e,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:o?void 0:this.options.color.color,inheritsColor:o,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var r=this.options.selectionWidth;"function"==typeof r?n.width=r(n.width):"number"==typeof r&&(n.width+=r),n.width=Math.max(n.width,.3/this.body.view.scale),n.color=this.options.color.highlight,n.shadow=this.options.shadow.enabled}else if(this.hover){var s=this.options.hoverWidth;"function"==typeof s?n.width=s(n.width):"number"==typeof s&&(n.width+=s),n.width=Math.max(n.width,.3/this.body.view.scale),n.color=this.options.color.hover,n.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(n,this.options.id,this.selected,this.hover),void 0!==n.color&&(n.inheritsColor=!1),!1===n.shadow&&(n.shadowColor===this.options.shadow.color&&n.shadowSize===this.options.shadow.size&&n.shadowX===this.options.shadow.x&&n.shadowY===this.options.shadow.y||(n.shadow=!0)));else n.shadow=this.options.shadow.enabled,n.width=Math.max(n.width,.3/this.body.view.scale);return n}},{key:"updateLabelModule",value:function(t){var e=[t,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateEdgeType",value:function(){var t=this.options.smooth,e=!1,i=!0;return void 0!==this.edgeType&&((this.edgeType instanceof Qy&&!0===t.enabled&&"dynamic"===t.type||this.edgeType instanceof om&&!0===t.enabled&&"cubicBezier"===t.type||this.edgeType instanceof tm&&!0===t.enabled&&"dynamic"!==t.type&&"cubicBezier"!==t.type||this.edgeType instanceof rm&&!1===t.type.enabled)&&(i=!1),!0===i&&(e=this.cleanup())),!0===i?!0===t.enabled?"dynamic"===t.type?(e=!0,this.edgeType=new Qy(this.options,this.body,this.labelModule)):"cubicBezier"===t.type?this.edgeType=new om(this.options,this.body,this.labelModule):this.edgeType=new tm(this.options,this.body,this.labelModule):this.edgeType=new rm(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),e}},{key:"connect",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:"disconnect",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:"getTitle",value:function(){return this.title}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var o=this.options.scaling.customScalingFunction(t,e,i,this.options.value),n=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var r=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+o*r}this.options.width=this.options.scaling.min+o*n}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:"_setInteractionWidths",value:function(){"function"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,"function"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:"draw",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode();this.edgeType.drawLine(t,e,this.selected,this.hover,i),this.drawLabel(t,i)}}},{key:"drawArrows",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode(),o={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,e.fromArrow&&(o.from=this.edgeType.getArrowData(t,"from",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.fromPoint=o.from.core),e.fromArrowSrc&&(o.from.image=this.imagelist.load(e.fromArrowSrc)),e.fromArrowImageWidth&&(o.from.imageWidth=e.fromArrowImageWidth),e.fromArrowImageHeight&&(o.from.imageHeight=e.fromArrowImageHeight)),e.toArrow&&(o.to=this.edgeType.getArrowData(t,"to",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.toPoint=o.to.core),e.toArrowSrc&&(o.to.image=this.imagelist.load(e.toArrowSrc)),e.toArrowImageWidth&&(o.to.imageWidth=e.toArrowImageWidth),e.toArrowImageHeight&&(o.to.imageHeight=e.toArrowImageHeight)),e.middleArrow&&(o.middle=this.edgeType.getArrowData(t,"middle",i,this.selected,this.hover,e),e.middleArrowSrc&&(o.middle.image=this.imagelist.load(e.middleArrowSrc)),e.middleArrowImageWidth&&(o.middle.imageWidth=e.middleArrowImageWidth),e.middleArrowImageHeight&&(o.middle.imageHeight=e.middleArrowImageHeight)),e.fromArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,o.from),e.middleArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,o.middle),e.toArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,o.to)}}},{key:"drawLabel",value:function(t,e){if(void 0!==this.options.label){var i,o=this.from,n=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(t,this.selected,this.hover),o.id!=n.id){this.labelModule.pointToSelf=!1,i=this.edgeType.getPoint(.5,e),t.save();var r=this._getRotation(t);0!=r.angle&&(t.translate(r.x,r.y),t.rotate(r.angle)),this.labelModule.draw(t,i.x,i.y,this.selected,this.hover),t.restore()}else{this.labelModule.pointToSelf=!0;var s=Gv(t,this.options.selfReference.angle,this.options.selfReference.size,o);i=this._pointOnCircle(s.x,s.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(t,i.x,i.y,this.selected,this.hover)}}}},{key:"getItemsOnPoint",value:function(t){var e=[];if(this.labelModule.visible()){var i=this._getRotation();Yv(this.labelModule.getSize(),t,i)&&e.push({edgeId:this.id,labelId:0})}var o={left:t.x,top:t.y};return this.isOverlappingWith(o)&&e.push({edgeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,o=this.to.x,n=this.to.y,r=t.left,s=t.top;return this.edgeType.getDistanceToEdge(e,i,o,n,r,s)<10}return!1}},{key:"_getRotation",value:function(t){var e=this.edgeType.getViaNode(),i=this.edgeType.getPoint(.5,e);void 0!==t&&this.labelModule.calculateLabelSize(t,this.selected,this.hover,i.x,i.y);var o={x:i.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return o;if("horizontal"===this.options.font.align)return o;var n=this.from.y-this.to.y,r=this.from.x-this.to.x,s=Math.atan2(n,r);return(s<-1&&r<0||s>0&&r<0)&&(s+=Math.PI),o.angle=s,o}},{key:"_pointOnCircle",value:function(t,e,i,o){return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}},{key:"remove",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:"endPointsValid",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"];if(nf(r,t,e,i),void 0!==e.endPointOffset&&void 0!==e.endPointOffset.from&&(Pv(e.endPointOffset.from)?t.endPointOffset.from=e.endPointOffset.from:(t.endPointOffset.from=void 0!==o.endPointOffset.from?o.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),void 0!==e.endPointOffset&&void 0!==e.endPointOffset.to&&(Pv(e.endPointOffset.to)?t.endPointOffset.to=e.endPointOffset.to:(t.endPointOffset.to=void 0!==o.endPointOffset.to?o.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),Xv(e.label)?t.label=e.label:Xv(t.label)||(t.label=void 0),_f(t,e,"smooth",o),_f(t,e,"shadow",o),_f(t,e,"background",o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:!0===i&&null===e.dashes&&(t.dashes=Bl(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),_f(t.scaling,e.scaling,"label",o.scaling)):!0===i&&null===e.scaling&&(t.scaling=Bl(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var s=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=Cl(s).call(s,"to"),t.arrows.middle.enabled=-1!=Cl(s).call(s,"middle"),t.arrows.from.enabled=-1!=Cl(s).call(s,"from")}else{if("object"!==zh(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+Wl(e.arrows));_f(t.arrows,e.arrows,"to",o.arrows),_f(t.arrows,e.arrows,"middle",o.arrows),_f(t.arrows,e.arrows,"from",o.arrows)}else!0===i&&null===e.arrows&&(t.arrows=Bl(o.arrows));if(void 0!==e.color&&null!==e.color){var a=Ju(e.color)?{color:e.color,highlight:e.color,hover:e.color,inherit:!1,opacity:1}:e.color,h=t.color;if(n)sf(h,o.color,!1,i);else for(var d in h)Object.prototype.hasOwnProperty.call(h,d)&&delete h[d];if(Ju(h))h.color=h,h.highlight=h,h.hover=h,h.inherit=!1,void 0===a.opacity&&(h.opacity=1);else{var l=!1;void 0!==a.color&&(h.color=a.color,l=!0),void 0!==a.highlight&&(h.highlight=a.highlight,l=!0),void 0!==a.hover&&(h.hover=a.hover,l=!0),void 0!==a.inherit&&(h.inherit=a.inherit),void 0!==a.opacity&&(h.opacity=Math.min(1,Math.max(0,a.opacity))),!0===l?h.inherit=!1:void 0===h.inherit&&(h.inherit="from")}}else!0===i&&null===e.color&&(t.color=kf(o.color));!0===i&&null===e.font&&(t.font=kf(o.font)),Object.prototype.hasOwnProperty.call(e,"selfReferenceSize")&&(console.warn("The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}"),t.selfReference.size=e.selfReferenceSize)}}]),t}(),am=function(){function t(e,i,o){var n,r=this;Ra(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=si(n=this.create).call(n,this),this.edgesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},background:{enabled:!1,color:"rgba(111,111,111,1)",size:10,dashes:!1},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},sf(this.options,this.defaultOptions),this.bindEventListeners()}return Ha(t,[{key:"bindEventListeners",value:function(){var t,e,i=this;this.body.emitter.on("_forceDisableDynamicCurves",(function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"dynamic"===t&&(t="continuous");var o=!1;for(var n in i.body.edges)if(Object.prototype.hasOwnProperty.call(i.body.edges,n)){var r=i.body.edges[n],s=i.body.data.edges.get(n);if(null!=s){var a=s.smooth;void 0!==a&&!0===a.enabled&&"dynamic"===a.type&&(void 0===t?r.setOptions({smooth:!1}):r.setOptions({smooth:{type:t}}),o=!0)}}!0===e&&!0===o&&i.body.emitter.emit("_dataChanged")})),this.body.emitter.on("_dataUpdated",(function(){i.reconnectEdges()})),this.body.emitter.on("refreshEdges",si(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",si(e=this.refresh).call(e,this)),this.body.emitter.on("destroy",(function(){lf(i.edgesListeners,(function(t,e){i.body.data.edges&&i.body.data.edges.off(e,t)})),delete i.body.functions.createEdge,delete i.edgesListeners.add,delete i.edgesListeners.update,delete i.edgesListeners.remove,delete i.edgesListeners}))}},{key:"setOptions",value:function(t){if(void 0!==t){sm.parseOptions(this.options,t,!0,this.defaultOptions,!0);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font)for(var o in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,o)&&this.body.edges[o].updateLabelModule();void 0===t.hidden&&void 0===t.physics&&!0!==e||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var i=this,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.body.data.edges;if(e.isDataViewLike("id",t))this.body.data.edges=t;else if(Hh(t))this.body.data.edges=new e.DataSet,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new e.DataSet}if(n&&lf(this.edgesListeners,(function(t,e){n.off(e,t)})),this.body.edges={},this.body.data.edges){lf(this.edgesListeners,(function(t,e){i.body.data.edges.on(e,t)}));var r=this.body.data.edges.getIds();this.add(r,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===o&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;n<t.length;n++){var r=t[n],s=i[r];s&&s.disconnect();var a=o.get(r,{showInternalIds:!0});i[r]=this.create(a)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===e&&this.body.emitter.emit("_dataChanged")}},{key:"update",value:function(t){for(var e=this.body.edges,i=this.body.data.edges,o=!1,n=0;n<t.length;n++){var r=t[n],s=i.get(r),a=e[r];void 0!==a?(a.disconnect(),o=a.setOptions(s)||o,a.connect()):(this.body.edges[r]=this.create(s),o=!0)}!0===o?(this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),this.body.emitter.emit("_dataChanged")):this.body.emitter.emit("_dataUpdated")}},{key:"remove",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0!==t.length){var i=this.body.edges;lf(t,(function(t){var e=i[t];void 0!==e&&e.remove()})),e&&this.body.emitter.emit("_dataChanged")}}},{key:"refresh",value:function(){var t=this;lf(this.body.edges,(function(e,i){var o=t.body.data.edges.get(i);void 0!==o&&e.setOptions(o)}))}},{key:"create",value:function(t){return new sm(t,this.body,this.images,this.options,this.defaultOptions)}},{key:"reconnectEdges",value:function(){var t,e=this.body.nodes,i=this.body.edges;for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t].edges=[]);for(t in i)if(Object.prototype.hasOwnProperty.call(i,t)){var o=i[t];o.from=null,o.to=null,o.connect()}}},{key:"getConnectedNodes",value:function(t){var e=[];if(void 0!==this.body.edges[t]){var i=this.body.edges[t];void 0!==i.fromId&&e.push(i.fromId),void 0!==i.toId&&e.push(i.toId)}return e}},{key:"_updateState",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:"_removeInvalidEdges",value:function(){var t=this,e=[];lf(this.body.edges,(function(i,o){var n=t.body.nodes[i.toId],r=t.body.nodes[i.fromId];void 0!==n&&!0===n.isCluster||void 0!==r&&!0===r.isCluster||void 0!==n&&void 0!==r||e.push(o)})),this.remove(e,!1)}},{key:"_addMissingEdges",value:function(){var t=this.body.data.edges;if(null!=t){var e=this.body.edges,i=[];nd(t).call(t,(function(t,o){void 0===e[o]&&i.push(o)})),this.add(i,!0)}}}]),t}(),hm=function(){function t(e,i,o){Ra(this,t),this.body=e,this.physicsBody=i,this.barnesHutTree,this.setOptions(o),this._rng=Vu("BARNES HUT SOLVER")}return Ha(t,[{key:"setOptions",value:function(t){this.options=t,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}},{key:"solve",value:function(){if(0!==this.options.gravitationalConstant&&this.physicsBody.physicsNodeIndices.length>0){var t,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var r=0;r<o;r++)(t=e[i[r]]).options.mass>0&&this._getForceContributions(n.root,t)}}},{key:"_getForceContributions",value:function(t,e){this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o);n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?this._getForceContributions(t,e):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(e=t=.1),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var r=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),s=e*r,a=i*r;this.physicsBody.forces[o.id].x+=s,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i,o=e.length,n=t[e[0]].x,r=t[e[0]].y,s=t[e[0]].x,a=t[e[0]].y,h=1;h<o;h++){var d=t[e[h]],l=d.x,c=d.y;d.options.mass>0&&(l<n&&(n=l),l>s&&(s=l),c<r&&(r=c),c>a&&(a=c))}var u=Math.abs(s-n)-Math.abs(a-r);u>0?(r-=.5*u,a+=.5*u):(n+=.5*u,s-=.5*u);var f=Math.max(1e-5,Math.abs(s-n)),p=.5*f,v=.5*(n+s),g=.5*(r+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m<o;m++)(i=t[e[m]]).options.mass>0&&this._placeInTree(y.root,i);return y}},{key:"_updateBranchMass",value:function(t,e){var i=t.centerOfMass,o=t.mass+e.options.mass,n=1/o;i.x=i.x*t.mass+e.x*e.options.mass,i.x*=n,i.y=i.y*t.mass+e.y*e.options.mass,i.y*=n,t.mass=o;var r=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidth<r?r:t.maxWidth}},{key:"_placeInTree",value:function(t,e,i){1==i&&void 0!==i||this._updateBranchMass(t,e);var o,n=t.children.NW.range;o=n.maxX>e.x?n.maxY>e.y?"NW":"SW":n.maxY>e.y?"NE":"SE",this._placeInRegion(t,e,o)}},{key:"_placeInRegion",value:function(t,e,i){var o=t.children[i];switch(o.childrenCount){case 0:o.children.data=e,o.childrenCount=1,this._updateBranchMass(o,e);break;case 1:o.children.data.x===e.x&&o.children.data.y===e.y?(e.x+=this._rng(),e.y+=this._rng()):(this._splitBranch(o),this._placeInTree(o,e));break;case 4:this._placeInTree(o,e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i,o,n,r,s=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+s,n=t.range.minY,r=t.range.minY+s;break;case"NE":i=t.range.minX+s,o=t.range.maxX,n=t.range.minY,r=t.range.minY+s;break;case"SW":i=t.range.minX,o=t.range.minX+s,n=t.range.minY+s,r=t.range.maxY;break;case"SE":i=t.range.minX+s,o=t.range.maxX,n=t.range.minY+s,r=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:r},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}(),dm=function(){function t(e,i,o){Ra(this,t),this._rng=Vu("REPULSION SOLVER"),this.body=e,this.physicsBody=i,this.setOptions(o)}return Ha(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,r,s,a,h=this.body.nodes,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,c=this.options.nodeDistance,u=-2/3/c,f=0;f<d.length-1;f++){s=h[d[f]];for(var p=f+1;p<d.length;p++)t=(a=h[d[p]]).x-s.x,e=a.y-s.y,0===(i=Math.sqrt(t*t+e*e))&&(t=i=.1*this._rng()),i<2*c&&(r=i<.5*c?1:u*i+1.3333333333333333,o=t*(r/=i),n=e*r,l[s.id].x-=o,l[s.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}(),lm=function(){function t(e,i,o){Ra(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return Ha(t,[{key:"setOptions",value:function(t){this.options=t,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}},{key:"solve",value:function(){for(var t=this.body.nodes,e=this.physicsBody.physicsNodeIndices,i=this.physicsBody.forces,o=this.options.nodeDistance,n=0;n<e.length-1;n++)for(var r=t[e[n]],s=n+1;s<e.length;s++){var a=t[e[s]];if(r.level===a.level){var h=o+this.overlapAvoidanceFactor*((r.shape.radius||0)/2+(a.shape.radius||0)/2),d=a.x-r.x,l=a.y-r.y,c=Math.sqrt(d*d+l*l),u=void 0;u=c<h?-Math.pow(.05*c,2)+Math.pow(.05*h,2):0,0!==c&&(u/=c);var f=d*u,p=l*u;i[r.id].x-=f,i[r.id].y-=p,i[a.id].x+=f,i[a.id].y+=p}}}}]),t}(),cm=function(){function t(e,i,o){Ra(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return Ha(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,r=this.physicsBody.physicsEdgeIndices,s=this.body.edges,a=0;a<r.length;a++)!0===(e=s[r[a]]).connected&&e.toId!==e.fromId&&void 0!==this.body.nodes[e.toId]&&void 0!==this.body.nodes[e.fromId]&&(void 0!==e.edgeType.via?(t=void 0===e.options.length?this.options.springLength:e.options.length,i=e.to,o=e.edgeType.via,n=e.from,this._calculateSpringForce(i,o,.5*t),this._calculateSpringForce(o,n,.5*t)):(t=void 0===e.options.length?1.5*this.options.springLength:e.options.length,this._calculateSpringForce(e.from,e.to,t)))}},{key:"_calculateSpringForce",value:function(t,e,i){var o=t.x-e.x,n=t.y-e.y,r=Math.max(Math.sqrt(o*o+n*n),.01),s=this.options.springConstant*(i-r)/r,a=o*s,h=n*s;void 0!==this.physicsBody.forces[t.id]&&(this.physicsBody.forces[t.id].x+=a,this.physicsBody.forces[t.id].y+=h),void 0!==this.physicsBody.forces[e.id]&&(this.physicsBody.forces[e.id].x-=a,this.physicsBody.forces[e.id].y-=h)}}]),t}(),um=function(){function t(e,i,o){Ra(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return Ha(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,r,s,a,h,d,l=this.body.edges,c=.5,u=this.physicsBody.physicsEdgeIndices,f=this.physicsBody.physicsNodeIndices,p=this.physicsBody.forces,v=0;v<f.length;v++){var g=f[v];p[g].springFx=0,p[g].springFy=0}for(var y=0;y<u.length;y++)!0===(e=l[u[y]]).connected&&(t=void 0===e.options.length?this.options.springLength:e.options.length,i=e.from.x-e.to.x,o=e.from.y-e.to.y,a=0===(a=Math.sqrt(i*i+o*o))?.01:a,n=i*(s=this.options.springConstant*(t-a)/a),r=o*s,e.to.level!=e.from.level?(void 0!==p[e.toId]&&(p[e.toId].springFx-=n,p[e.toId].springFy-=r),void 0!==p[e.fromId]&&(p[e.fromId].springFx+=n,p[e.fromId].springFy+=r)):(void 0!==p[e.toId]&&(p[e.toId].x-=c*n,p[e.toId].y-=c*r),void 0!==p[e.fromId]&&(p[e.fromId].x+=c*n,p[e.fromId].y+=c*r)));s=1;for(var m=0;m<f.length;m++){var b=f[m];h=Math.min(s,Math.max(-s,p[b].springFx)),d=Math.min(s,Math.max(-s,p[b].springFy)),p[b].x+=h,p[b].y+=d}for(var w=0,k=0,_=0;_<f.length;_++){var x=f[_];w+=p[x].x,k+=p[x].y}for(var E=w/f.length,O=k/f.length,C=0;C<f.length;C++){var S=f[C];p[S].x-=E,p[S].y-=O}}}]),t}(),fm=function(){function t(e,i,o){Ra(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return Ha(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n=this.body.nodes,r=this.physicsBody.physicsNodeIndices,s=this.physicsBody.forces,a=0;a<r.length;a++){t=-(o=n[r[a]]).x,e=-o.y,i=Math.sqrt(t*t+e*e),this._calculateForces(i,t,e,s,o)}}},{key:"_calculateForces",value:function(t,e,i,o,n){var r=0===t?0:this.options.centralGravity/t;o[n.id].x=e*r,o[n.id].y=i*r}}]),t}();function pm(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var vm=function(t){kg(i,t);var e=pm(i);function i(t,o,n){var r;return Ra(this,i),(r=e.call(this,t,o,n))._rng=Vu("FORCE ATLAS 2 BASED REPULSION SOLVER"),r}return Ha(i,[{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(e=t=.1*this._rng()),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var r=o.edges.length+1,s=this.options.gravitationalConstant*n.mass*o.options.mass*r/Math.pow(t,2),a=e*s,h=i*s;this.physicsBody.forces[o.id].x+=a,this.physicsBody.forces[o.id].y+=h}}]),i}(hm);function gm(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var ym,mm=function(t){kg(i,t);var e=gm(i);function i(t,o,n){return Ra(this,i),e.call(this,t,o,n)}return Ha(i,[{key:"_calculateForces",value:function(t,e,i,o,n){if(t>0){var r=n.edges.length+1,s=this.options.centralGravity*r*n.options.mass;o[n.id].x=e*s,o[n.id].y=i*s}}}]),i}(fm),bm=function(){function t(e){Ra(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},Ke(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return Ha(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",(function(){t.initPhysics()})),this.body.emitter.on("_layoutFailed",(function(){t.layoutFailed=!0})),this.body.emitter.on("resetPhysics",(function(){t.stopSimulation(),t.ready=!1})),this.body.emitter.on("disablePhysics",(function(){t.physicsEnabled=!1,t.stopSimulation()})),this.body.emitter.on("restorePhysics",(function(){t.setOptions(t.options),!0===t.ready&&t.startSimulation()})),this.body.emitter.on("startSimulation",(function(){!0===t.ready&&t.startSimulation()})),this.body.emitter.on("stopSimulation",(function(){t.stopSimulation()})),this.body.emitter.on("destroy",(function(){t.stopSimulation(!1),t.body.emitter.off()})),this.body.emitter.on("_dataChanged",(function(){t.updatePhysicsData()}))}},{key:"setOptions",value:function(t){if(void 0!==t)if(!1===t)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(!0===t)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,rf(["stabilization"],this.options,t),_f(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(this.physicsEnabled=!1,this.stopSimulation());var e=this.options.wind;e&&(("number"!=typeof e.x||Tv(e.x))&&(e.x=0),("number"!=typeof e.y||Tv(e.y))&&(e.y=0)),this.timestep=this.options.timestep}this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new vm(this.body,this.physicsBody,t),this.edgesSolver=new cm(this.body,this.physicsBody,t),this.gravitySolver=new mm(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new dm(this.body,this.physicsBody,t),this.edgesSolver=new cm(this.body,this.physicsBody,t),this.gravitySolver=new fm(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new lm(this.body,this.physicsBody,t),this.edgesSolver=new um(this.body,this.physicsBody,t),this.gravitySolver=new fm(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new hm(this.body,this.physicsBody,t),this.edgesSolver=new cm(this.body,this.physicsBody,t),this.gravitySolver=new fm(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){var t;!0===this.physicsEnabled&&!0===this.options.enabled?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=si(t=this.simulationStep).call(t,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,!0===t&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,!0===t&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Kh();this.physicsTick(),(Kh()-t<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&Yl((function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0}),0)}},{key:"physicsStep",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:"adjustTimeStep",value:function(){!0===this._evaluateStepQuality()?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}},{key:"physicsTick",value:function(){if(this._startStabilizing(),!0!==this.stabilized){if(!0===this.adaptiveTimestep&&!0===this.adaptiveTimestepEnabled)this.adaptiveCounter%this.adaptiveInterval==0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1;else this.timestep=this.options.timestep,this.physicsStep();!0===this.stabilized&&this.revert(),this.stabilizationIterations++}}},{key:"updatePhysicsData",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&!0===t[i].options.physics&&this.physicsBody.physicsNodeIndices.push(t[i].id);for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&!0===e[o].options.physics&&this.physicsBody.physicsEdgeIndices.push(e[o].id);for(var n=0;n<this.physicsBody.physicsNodeIndices.length;n++){var r=this.physicsBody.physicsNodeIndices[n];this.physicsBody.forces[r]={x:0,y:0},void 0===this.physicsBody.velocities[r]&&(this.physicsBody.velocities[r]={x:0,y:0})}for(var s in this.physicsBody.velocities)void 0===t[s]&&delete this.physicsBody.velocities[s]}},{key:"revert",value:function(){var t=Gh(this.previousStates),e=this.body.nodes,i=this.physicsBody.velocities;this.referenceState={};for(var o=0;o<t.length;o++){var n=t[o];void 0!==e[n]?!0===e[n].options.physics&&(this.referenceState[n]={positions:{x:e[n].x,y:e[n].y}},i[n].x=this.previousStates[n].vx,i[n].y=this.previousStates[n].vy,e[n].x=this.previousStates[n].x,e[n].y=this.previousStates[n].y):delete this.previousStates[n]}}},{key:"_evaluateStepQuality",value:function(){var t,e,i=this.body.nodes,o=this.referenceState;for(var n in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,n)&&void 0!==i[n]&&(t=i[n].x-o[n].positions.x,e=i[n].y-o[n].positions.y,Math.sqrt(Math.pow(t,2)+Math.pow(e,2))>.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=0,i=0,o=0;o<t.length;o++){var n=t[o],r=this._performStep(n);e=Math.max(e,r),i+=r}this.adaptiveTimestepEnabled=i/t.length<5,this.stabilized=e<this.options.minVelocity}},{key:"calculateComponentVelocity",value:function(t,e,i){t+=(e-this.modelOptions.damping*t)/i*this.timestep;var o=this.options.maxVelocity||1e9;return Math.abs(t)>o&&(t=t>0?o:-o),t}},{key:"_performStep",value:function(t){var e=this.body.nodes[t],i=this.physicsBody.forces[t];this.options.wind&&(i.x+=this.options.wind.x,i.y+=this.options.wind.y);var o=this.physicsBody.velocities[t];return this.previousStates[t]={x:e.x,y:e.y,vx:o.x,vy:o.y},!1===e.options.fixed.x?(o.x=this.calculateComponentVelocity(o.x,i.x,e.options.mass),e.x+=o.x*this.timestep):(i.x=0,o.x=0),!1===e.options.fixed.y?(o.y=this.calculateComponentVelocity(o.y,i.y,e.options.mass),e.y+=o.y*this.timestep):(i.y=0,o.y=0),Math.sqrt(Math.pow(o.x,2)+Math.pow(o.y,2))}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e].x&&t[e].y){var i=t[e].options.fixed;this.freezeCache[e]={x:i.x,y:i.y},i.x=!0,i.y=!0}}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;"number"!=typeof e&&(e=this.options.stabilization.iterations,console.error("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),0!==this.physicsBody.physicsNodeIndices.length?(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,Yl((function(){return t._stabilizationBatch()}),0)):this.ready=!0}},{key:"_startStabilizing",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}},{key:"_stabilizationBatch",value:function(){var t=this,e=function(){return!1===t.stabilized&&t.stabilizationIterations<t.targetIterations},i=function(){t.body.emitter.emit("stabilizationProgress",{iterations:t.stabilizationIterations,total:t.targetIterations})};this._startStabilizing()&&i();for(var o,n=0;e()&&n<this.options.stabilization.updateInterval;)this.physicsTick(),n++;(i(),e())?Yl(si(o=this._stabilizationBatch).call(o,this),0):this._finalizeStabilization()}},{key:"_finalizeStabilization",value:function(){this.body.emitter.emit("_allowRedraw"),!0===this.options.stabilization.fit&&this.body.emitter.emit("fit"),!0===this.options.stabilization.onlyDynamicEdges&&this._restoreFrozenNodes(),this.body.emitter.emit("stabilizationIterationsDone"),this.body.emitter.emit("_requestRedraw"),!0===this.stabilized?this._emitStabilized():this.startSimulation(),this.ready=!0}},{key:"_drawForces",value:function(t){for(var e=0;e<this.physicsBody.physicsNodeIndices.length;e++){var i=this.physicsBody.physicsNodeIndices[e],o=this.body.nodes[i],n=this.physicsBody.forces[i],r=Math.sqrt(Math.pow(n.x,2)+Math.pow(n.x,2)),s=Math.min(Math.max(5,r),15),a=3*s,h=yf((180-180*Math.min(1,Math.max(0,.03*r)))/360,1,1),d={x:o.x+20*n.x,y:o.y+20*n.y};t.lineWidth=s,t.strokeStyle=h,t.beginPath(),t.moveTo(o.x,o.y),t.lineTo(d.x,d.y),t.stroke();var l=Math.atan2(n.y,n.x);t.fillStyle=h,Vy.draw(t,{type:"arrow",point:d,angle:l,length:a}),Ql(t).call(t)}}}]),t}(),wm=new Uint8Array(16);function km(){if(!ym&&!(ym="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ym(wm)}var _m=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function xm(t){return"string"==typeof t&&_m.test(t)}for(var Em=[],Om=0;Om<256;++Om)Em.push((Om+256).toString(16).substr(1));function Cm(t,e,i){var o=(t=t||{}).random||(t.rng||km)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e){i=i||0;for(var n=0;n<16;++n)e[i+n]=o[n];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(Em[t[e+0]]+Em[t[e+1]]+Em[t[e+2]]+Em[t[e+3]]+"-"+Em[t[e+4]]+Em[t[e+5]]+"-"+Em[t[e+6]]+Em[t[e+7]]+"-"+Em[t[e+8]]+Em[t[e+9]]+"-"+Em[t[e+10]]+Em[t[e+11]]+Em[t[e+12]]+Em[t[e+13]]+Em[t[e+14]]+Em[t[e+15]]).toLowerCase();if(!xm(i))throw TypeError("Stringified UUID is invalid");return i}(o)}var Sm=function(){function t(){Ra(this,t)}return Ha(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,r=1e9,s=-1e9;if(i.length>0)for(var a=0;a<i.length;a++)r>(e=t[i[a]]).shape.boundingBox.left&&(r=e.shape.boundingBox.left),s<e.shape.boundingBox.right&&(s=e.shape.boundingBox.right),o>e.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n<e.shape.boundingBox.bottom&&(n=e.shape.boundingBox.bottom);return 1e9===r&&-1e9===s&&1e9===o&&-1e9===n&&(o=0,n=0,r=0,s=0),{minX:r,maxX:s,minY:o,maxY:n}}},{key:"getRangeCore",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,r=1e9,s=-1e9;if(i.length>0)for(var a=0;a<i.length;a++)r>(e=t[i[a]]).x&&(r=e.x),s<e.x&&(s=e.x),o>e.y&&(o=e.y),n<e.y&&(n=e.y);return 1e9===r&&-1e9===s&&1e9===o&&-1e9===n&&(o=0,n=0,r=0,s=0),{minX:r,maxX:s,minY:o,maxY:n}}},{key:"findCenter",value:function(t){return{x:.5*(t.maxX+t.minX),y:.5*(t.maxY+t.minY)}}},{key:"cloneOptions",value:function(t,e){var i={};return void 0===e||"node"===e?(sf(i,t.options,!0),i.x=t.x,i.y=t.y,i.amountOfConnections=t.edges.length):sf(i,t.options,!0),i}}]),t}();function Tm(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Mm=function(t){kg(i,t);var e=Tm(i);function i(t,o,n,r,s,a){var h;return Ra(this,i),(h=e.call(this,t,o,n,r,s,a)).isCluster=!0,h.containedNodes={},h.containedEdges={},h}return Ha(i,[{key:"_openChildCluster",value:function(t){var e=this,i=this.body.nodes[t];if(void 0===this.containedNodes[t])throw new Error("node with id: "+t+" not in current cluster");if(!i.isCluster)throw new Error("node with id: "+t+" is not a cluster");delete this.containedNodes[t],lf(i.edges,(function(t){delete e.containedEdges[t.id]})),lf(i.containedNodes,(function(t,i){e.containedNodes[i]=t})),i.containedNodes={},lf(i.containedEdges,(function(t,i){e.containedEdges[i]=t})),i.containedEdges={},lf(i.edges,(function(t){lf(e.edges,(function(i){var o,n,r=Cl(o=i.clusteringEdgeReplacingIds).call(o,t.id);-1!==r&&(lf(t.clusteringEdgeReplacingIds,(function(t){i.clusteringEdgeReplacingIds.push(t),e.body.edges[t].edgeReplacedById=i.id})),Od(n=i.clusteringEdgeReplacingIds).call(n,r,1))}))})),i.edges=[]}}]),i}(uy),Pm=function(){function t(e){var i=this;Ra(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},Ke(this.options,this.defaultOptions),this.body.emitter.on("_resetData",(function(){i.clusteredNodes={},i.clusteredEdges={}}))}return Ha(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===zh(t)&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o<this.body.nodeIndices.length;o++){var n=this.body.nodes[this.body.nodeIndices[o]];n.edges.length>=t&&i.push(n.id)}for(var r=0;r<i.length;r++)this.clusterByConnection(i[r],e,!0);this.body.emitter.emit("_dataChanged")}},{key:"cluster",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===e.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);var o={},n={};lf(this.body.nodes,(function(i,r){i.options&&!0===e.joinCondition(i.options)&&(o[r]=i,lf(i.edges,(function(e){void 0===t.clusteredEdges[e.id]&&(n[e.id]=e)})))})),this._cluster(o,n,e,i)}},{key:"clusterByEdgeCount",value:function(t,e){var i=this,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var n,r,s,a=[],h={},d=function(o){var d={},l={},c=i.body.nodeIndices[o],u=i.body.nodes[c];if(void 0===h[c]){s=0,r=[];for(var f=0;f<u.edges.length;f++)n=u.edges[f],void 0===i.clusteredEdges[n.id]&&(n.toId!==n.fromId&&s++,r.push(n));if(s===t){for(var p=function(t){if(void 0===e.joinCondition||null===e.joinCondition)return!0;var i=Sm.cloneOptions(t);return e.joinCondition(i)},v=!0,g=0;g<r.length;g++){n=r[g];var y=i._getConnectedId(n,c);if(!p(u)){v=!1;break}l[n.id]=n,d[c]=u,d[y]=i.body.nodes[y],h[c]=!0}if(Gh(d).length>0&&Gh(l).length>0&&!0===v){var m=function(){for(var t=0;t<a.length;++t)for(var e in d)if(void 0!==a[t].nodes[e])return a[t]}();if(void 0!==m){for(var b in d)void 0===m.nodes[b]&&(m.nodes[b]=d[b]);for(var w in l)void 0===m.edges[w]&&(m.edges[w]=l[w])}else a.push({nodes:d,edges:l})}}}},l=0;l<this.body.nodeIndices.length;l++)d(l);for(var c=0;c<a.length;c++)this._cluster(a[c].nodes,a[c].edges,e,!1);!0===o&&this.body.emitter.emit("_dataChanged")}},{key:"clusterOutliers",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var n=this.body.nodes[t];void 0===(e=this._checkOptions(e,n)).clusterNodeProperties.x&&(e.clusterNodeProperties.x=n.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=n.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=n.options.fixed.x,e.clusterNodeProperties.fixed.y=n.options.fixed.y);var r={},s={},a=n.id,h=Sm.cloneOptions(n);r[a]=n;for(var d=0;d<n.edges.length;d++){var l=n.edges[d];if(void 0===this.clusteredEdges[l.id]){var c=this._getConnectedId(l,a);if(void 0===this.clusteredNodes[c])if(c!==a)if(void 0===e.joinCondition)s[l.id]=l,r[c]=this.body.nodes[c];else{var u=Sm.cloneOptions(this.body.nodes[c]);!0===e.joinCondition(h,u)&&(s[l.id]=l,r[c]=this.body.nodes[c])}else s[l.id]=l}}var f=Uh(i=Gh(r)).call(i,(function(t){return r[t].id}));for(var p in r)if(Object.prototype.hasOwnProperty.call(r,p))for(var v=r[p],g=0;g<v.edges.length;g++){var y=v.edges[g];Cl(f).call(f,this._getConnectedId(y,v.id))>-1&&(s[y.id]=y)}this._cluster(r,s,e,o)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n,r,s,a,h,d,l=Gh(t),c=[],u=0;u<l.length;u++){s=t[r=l[u]];for(var f=0;f<s.edges.length;f++)n=s.edges[f],void 0===this.clusteredEdges[n.id]&&(n.toId==n.fromId?e[n.id]=n:n.toId==r?(a=i.id,d=h=n.fromId):(a=n.toId,h=i.id,d=a),void 0===t[d]&&c.push({edge:n,fromId:h,toId:a}))}for(var p=[],v=function(t){for(var e=0;e<p.length;e++){var i=p[e],o=t.fromId===i.fromId&&t.toId===i.toId,n=t.fromId===i.toId&&t.toId===i.fromId;if(o||n)return i}return null},g=0;g<c.length;g++){var y=c[g],m=y.edge,b=v(y);null===b?(b=this._createClusteredEdge(y.fromId,y.toId,m,o),p.push(b)):b.clusteringEdgeReplacingIds.push(m.id),this.body.edges[m.id].edgeReplacedById=b.id,this._backupEdgeOptions(m),m.setOptions({physics:!1})}}},{key:"_checkOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&void 0!==this.clusteredNodes[r]&&n.push(r);for(var s=0;s<n.length;++s)delete t[n[s]];if(0!=Gh(t).length&&(1!=Gh(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){var a=sf({},i.clusterNodeProperties);if(void 0!==i.processProperties){var h=[];for(var d in t)if(Object.prototype.hasOwnProperty.call(t,d)){var l=Sm.cloneOptions(t[d]);h.push(l)}var c=[];for(var u in e)if(Object.prototype.hasOwnProperty.call(e,u)&&"clusterEdge:"!==u.substr(0,12)){var f=Sm.cloneOptions(e[u],"edge");c.push(f)}if(!(a=i.processProperties(a,h,c)))throw new Error("The processProperties function does not return properties!")}void 0===a.id&&(a.id="cluster:"+Cm());var p=a.id;void 0===a.label&&(a.label="cluster");var v=void 0;void 0===a.x&&(v=this._getClusterPosition(t),a.x=v.x),void 0===a.y&&(void 0===v&&(v=this._getClusterPosition(t)),a.y=v.y),a.id=p;var g=this.body.functions.createNode(a,Mm);g.containedNodes=t,g.containedEdges=e,g.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[a.id]=g,this._clusterEdges(t,e,a,i.clusterEdgeProperties),a.id=void 0,!0===o&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?!0===this.body.nodes[t].isCluster:(console.error("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e,i=Gh(t),o=t[i[0]].x,n=t[i[0]].x,r=t[i[0]].y,s=t[i[0]].y,a=1;a<i.length;a++)o=(e=t[i[a]]).x<o?e.x:o,n=e.x>n?e.x:n,r=e.y<r?e.y:r,s=e.y>s?e.y:s;return{x:.5*(o+n),y:.5*(r+s)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");var o=this.body.nodes[t];if(void 0===o)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==o.isCluster||void 0===o.containedNodes||void 0===o.containedEdges)throw new Error("The node:"+t+" is not a valid cluster.");var n=this.findNode(t),r=Cl(n).call(n,t)-1;if(r>=0){var s=n[r],a=this.body.nodes[s];return a._openChildCluster(t),delete this.body.nodes[t],void(!0===i&&this.body.emitter.emit("_dataChanged"))}var h=o.containedNodes,d=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var l={},c={x:o.x,y:o.y};for(var u in h)if(Object.prototype.hasOwnProperty.call(h,u)){var f=this.body.nodes[u];l[u]={x:f.x,y:f.y}}var p=e.releaseFunction(c,l);for(var v in h)if(Object.prototype.hasOwnProperty.call(h,v)){var g=this.body.nodes[v];void 0!==p[v]&&(g.x=void 0===p[v].x?o.x:p[v].x,g.y=void 0===p[v].y?o.y:p[v].y)}}else lf(h,(function(t){!1===t.options.fixed.x&&(t.x=o.x),!1===t.options.fixed.y&&(t.y=o.y)}));for(var y in h)if(Object.prototype.hasOwnProperty.call(h,y)){var m=this.body.nodes[y];m.vx=o.vx,m.vy=o.vy,m.setOptions({physics:!0}),delete this.clusteredNodes[y]}for(var b=[],w=0;w<o.edges.length;w++)b.push(o.edges[w]);for(var k=0;k<b.length;k++){for(var _=b[k],x=this._getConnectedId(_,t),E=this.clusteredNodes[x],O=0;O<_.clusteringEdgeReplacingIds.length;O++){var C=_.clusteringEdgeReplacingIds[O],S=this.body.edges[C];if(void 0!==S)if(void 0!==E){var T=this.body.nodes[E.clusterId];T.containedEdges[S.id]=S,delete d[S.id];var M=S.fromId,P=S.toId;S.toId==x?P=E.clusterId:M=E.clusterId,this._createClusteredEdge(M,P,S,T.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(S)}_.remove()}for(var D in d)Object.prototype.hasOwnProperty.call(d,D)&&this._restoreEdge(d[D]);delete this.body.nodes[t],!0===i&&this.body.emitter.emit("_dataChanged")}},{key:"getNodesInCluster",value:function(t){var e=[];if(!0===this.isCluster(t)){var i=this.body.nodes[t].containedNodes;for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&e.push(this.body.nodes[o].id)}return e}},{key:"findNode",value:function(t){for(var e,i=[],o=0;void 0!==this.clusteredNodes[t]&&o<100;){if(void 0===(e=this.body.nodes[t]))return[];i.push(e.id),t=this.clusteredNodes[t].clusterId,o++}return void 0===(e=this.body.nodes[t])?[]:(i.push(e.id),ld(i).call(i),i)}},{key:"updateClusteredNode",value:function(t,e){if(void 0===t)throw new Error("No clusteredNodeId supplied to updateClusteredNode.");if(void 0===e)throw new Error("No newOptions supplied to updateClusteredNode.");if(void 0===this.body.nodes[t])throw new Error("The clusteredNodeId supplied to updateClusteredNode does not exist.");this.body.nodes[t].setOptions(e),this.body.emitter.emit("_dataChanged")}},{key:"updateEdge",value:function(t,e){if(void 0===t)throw new Error("No startEdgeId supplied to updateEdge.");if(void 0===e)throw new Error("No newOptions supplied to updateEdge.");if(void 0===this.body.edges[t])throw new Error("The startEdgeId supplied to updateEdge does not exist.");for(var i=this.getClusteredEdges(t),o=0;o<i.length;o++){this.body.edges[i[o]].setOptions(e)}this.body.emitter.emit("_dataChanged")}},{key:"getClusteredEdges",value:function(t){for(var e=[],i=0;void 0!==t&&void 0!==this.body.edges[t]&&i<100;)e.push(this.body.edges[t].id),t=this.body.edges[t].edgeReplacedById,i++;return ld(e).call(e),e}},{key:"getBaseEdge",value:function(t){return this.getBaseEdges(t)[0]}},{key:"getBaseEdges",value:function(t){for(var e=[t],i=[],o=[],n=0;e.length>0&&n<100;){var r=e.pop();if(void 0!==r){var s=this.body.edges[r];if(void 0!==s){n++;var a=s.clusteringEdgeReplacingIds;if(void 0===a)o.push(r);else for(var h=0;h<a.length;++h){var d=a[h];-1===Cl(e).call(e,a)&&-1===Cl(i).call(i,a)&&e.push(d)}i.push(r)}}}return o}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:(t.fromId,t.fromId)}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;n<this.body.nodeIndices.length;n++){var r=this.body.nodes[this.body.nodeIndices[n]];r.edges.length>o&&(o=r.edges.length),t+=r.edges.length,e+=Math.pow(r.edges.length,2),i+=1}t/=i;var s=(e/=i)-Math.pow(t,2),a=Math.sqrt(s),h=Math.floor(t+2*a);return h>o&&(h=o),h}},{key:"_createClusteredEdge",value:function(t,e,i,o,n){var r=Sm.cloneOptions(i,"edge");sf(r,o),r.from=t,r.to=e,r.id="clusterEdge:"+Cm(),void 0!==n&&sf(r,n);var s=this.body.functions.createEdge(r);return s.clusteringEdgeReplacingIds=[i.id],s.connect(),this.body.edges[s.id]=s,s}},{key:"_clusterEdges",value:function(t,e,i,o){if(e instanceof sm){var n=e,r={};r[n.id]=n,e=r}if(t instanceof uy){var s=t,a={};a[s.id]=s,t=a}if(null==i)throw new Error("_clusterEdges: parameter clusterNode required");for(var h in void 0===o&&(o=i.clusterEdgeProperties),this._createClusterEdges(t,e,i,o),e)if(Object.prototype.hasOwnProperty.call(e,h)&&void 0!==this.body.edges[h]){var d=this.body.edges[h];this._backupEdgeOptions(d),d.setOptions({physics:!1})}for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(this.clusteredNodes[l]={clusterId:i.id,node:this.body.nodes[l]},this.body.nodes[l].setOptions({physics:!1}))}},{key:"_getClusterNodeForNode",value:function(t){if(void 0!==t){var e=this.clusteredNodes[t];if(void 0!==e){var i=e.clusterId;if(void 0!==i)return this.body.nodes[i]}}}},{key:"_filter",value:function(t,e){var i=[];return lf(t,(function(t){e(t)&&i.push(t)})),i}},{key:"_updateState",value:function(){var t,e=this,i=[],o={},n=function(t){lf(e.body.nodes,(function(e){!0===e.isCluster&&t(e)}))};for(t in this.clusteredNodes){if(Object.prototype.hasOwnProperty.call(this.clusteredNodes,t))void 0===this.body.nodes[t]&&i.push(t)}n((function(t){for(var e=0;e<i.length;e++)delete t.containedNodes[i[e]]}));for(var r=0;r<i.length;r++)delete this.clusteredNodes[i[r]];lf(this.clusteredEdges,(function(t){var i=e.body.edges[t];void 0!==i&&i.endPointsValid()||(o[t]=t)})),n((function(t){lf(t.containedEdges,(function(t,e){t.endPointsValid()||o[e]||(o[e]=e)}))})),lf(this.body.edges,(function(t,i){var n=!0,r=t.clusteringEdgeReplacingIds;if(void 0!==r){var s=0;lf(r,(function(t){var i=e.body.edges[t];void 0!==i&&i.endPointsValid()&&(s+=1)})),n=s>0}t.endPointsValid()&&n||(o[i]=i)})),n((function(t){lf(o,(function(i){delete t.containedEdges[i],lf(t.edges,(function(n,r){n.id!==i?n.clusteringEdgeReplacingIds=e._filter(n.clusteringEdgeReplacingIds,(function(t){return!o[t]})):t.edges[r]=null})),t.edges=e._filter(t.edges,(function(t){return null!==t}))}))})),lf(o,(function(t){delete e.clusteredEdges[t]})),lf(o,(function(t){delete e.body.edges[t]})),lf(Gh(this.body.edges),(function(t){var i=e.body.edges[t],o=e._isClusteredNode(i.fromId)||e._isClusteredNode(i.toId);if(o!==e._isClusteredEdge(i.id))if(o){var n=e._getClusterNodeForNode(i.fromId);void 0!==n&&e._clusterEdges(e.body.nodes[i.fromId],i,n);var r=e._getClusterNodeForNode(i.toId);void 0!==r&&e._clusterEdges(e.body.nodes[i.toId],i,r)}else delete e._clusterEdges[t],e._restoreEdge(i)}));for(var s=!1,a=!0,h=function(){var t=[];n((function(e){var i=Gh(e.containedNodes).length,o=!0===e.options.allowSingleNodeCluster;(o&&i<1||!o&&i<2)&&t.push(e.id)}));for(var i=0;i<t.length;++i)e.openCluster(t[i],{},!1);a=t.length>0,s=s||a};a;)h();s&&this._updateState()}},{key:"_isClusteredNode",value:function(t){return void 0!==this.clusteredNodes[t]}},{key:"_isClusteredEdge",value:function(t){return void 0!==this.clusteredEdges[t]}}]),t}();function Dm(t,e){var i=void 0!==Nh&&xr(t)||t["@@iterator"];if(!i){if(Hh(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return Bm(t,e);var o=Lh(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return rr(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Bm(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var o=0,n=function(){};return{s:n,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Bm(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}var Im=function(){function t(e,i){var o;Ra(this,t),void 0!==window&&(o=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===o?function(t){t()}:o,this.body=e,this.canvas=i,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},Ke(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return Ha(t,[{key:"bindEventListeners",value:function(){var t,e=this;this.body.emitter.on("dragStart",(function(){e.dragging=!0})),this.body.emitter.on("dragEnd",(function(){e.dragging=!1})),this.body.emitter.on("zoom",(function(){e.zooming=!0,window.clearTimeout(e.zoomTimeoutId),e.zoomTimeoutId=Yl((function(){var t;e.zooming=!1,si(t=e._requestRedraw).call(t,e)()}),250)})),this.body.emitter.on("_resizeNodes",(function(){e._resizeNodes()})),this.body.emitter.on("_redraw",(function(){!1===e.renderingActive&&e._redraw()})),this.body.emitter.on("_blockRedraw",(function(){e.allowRedraw=!1})),this.body.emitter.on("_allowRedraw",(function(){e.allowRedraw=!0,e.redrawRequested=!1})),this.body.emitter.on("_requestRedraw",si(t=this._requestRedraw).call(t,this)),this.body.emitter.on("_startRendering",(function(){e.renderRequests+=1,e.renderingActive=!0,e._startRendering()})),this.body.emitter.on("_stopRendering",(function(){e.renderRequests-=1,e.renderingActive=e.renderRequests>0,e.renderTimer=void 0})),this.body.emitter.on("destroy",(function(){e.renderRequests=0,e.allowRedraw=!1,e.renderingActive=!1,!0===e.requiresTimeout?clearTimeout(e.renderTimer):window.cancelAnimationFrame(e.renderTimer),e.body.emitter.off()}))}},{key:"setOptions",value:function(t){if(void 0!==t){nf(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,t)}}},{key:"_requestNextFrame",value:function(t,e){if("undefined"!=typeof window){var i,o=window;return!0===this.requiresTimeout?i=Yl(t,e):o.requestAnimationFrame&&(i=o.requestAnimationFrame(t)),i}}},{key:"_startRendering",value:function(){var t;!0===this.renderingActive&&(void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(si(t=this._renderStep).call(t,this),this.simulationInterval)))}},{key:"_renderStep",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame((function(){t._redraw(!1)}),0))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e={drawExternalLabels:null};0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var i=this.canvas.getContext(),o=this.canvas.frame.canvas.clientWidth,n=this.canvas.frame.canvas.clientHeight;if(i.clearRect(0,0,o,n),0===this.canvas.frame.clientWidth)return;if(i.save(),i.translate(this.body.view.translation.x,this.body.view.translation.y),i.scale(this.body.view.scale,this.body.view.scale),i.beginPath(),this.body.emitter.emit("beforeDrawing",i),i.closePath(),!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawEdges(i),!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag){var r=this._drawNodes(i,t),s=r.drawExternalLabels;e.drawExternalLabels=s}!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawArrows(i),null!=e.drawExternalLabels&&e.drawExternalLabels(),!1===t&&this._drawSelectionBox(i),i.beginPath(),this.body.emitter.emit("afterDrawing",i),i.closePath(),i.restore(),!0===t&&i.clearRect(0,0,o,n)}}},{key:"_resizeNodes",value:function(){this.canvas.setTransform();var t=this.canvas.getContext();t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e,i=this.body.nodes;for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&((e=i[o]).resize(t),e.updateBoundingBox(t,e.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e,i,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.body.nodes,r=this.body.nodeIndices,s=[],a=[],h=20,d=this.canvas.DOMtoCanvas({x:-h,y:-h}),l=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+h,y:this.canvas.frame.canvas.clientHeight+h}),c={top:d.y,left:d.x,bottom:l.y,right:l.x},u=[],f=0;f<r.length;f++)if((e=n[r[f]]).hover)a.push(r[f]);else if(e.isSelected())s.push(r[f]);else if(!0===o){var p=e.draw(t);null!=p.drawExternalLabel&&u.push(p.drawExternalLabel)}else if(!0===e.isBoundingBoxOverlappingWith(c)){var v=e.draw(t);null!=v.drawExternalLabel&&u.push(v.drawExternalLabel)}else e.updateBoundingBox(t,e.selected);var g=s.length,y=a.length;for(i=0;i<g;i++){var m=(e=n[s[i]]).draw(t);null!=m.drawExternalLabel&&u.push(m.drawExternalLabel)}for(i=0;i<y;i++){var b=(e=n[a[i]]).draw(t);null!=b.drawExternalLabel&&u.push(b.drawExternalLabel)}return{drawExternalLabels:function(){var t,e=Dm(u);try{for(e.s();!(t=e.n()).done;){(0,t.value)()}}catch(t){e.e(t)}finally{e.f()}}}}},{key:"_drawEdges",value:function(t){for(var e=this.body.edges,i=this.body.edgeIndices,o=0;o<i.length;o++){var n=e[i[o]];!0===n.connected&&n.draw(t)}}},{key:"_drawArrows",value:function(t){for(var e=this.body.edges,i=this.body.edgeIndices,o=0;o<i.length;o++){var n=e[i[o]];!0===n.connected&&n.drawArrows(t)}}},{key:"_determineBrowserMethod",value:function(){if("undefined"!=typeof window){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,(-1!=Cl(t).call(t,"msie 9.0")||-1!=Cl(t).call(t,"safari")&&Cl(t).call(t,"chrome")<=-1)&&(this.requiresTimeout=!0)}else this.requiresTimeout=!0}},{key:"_drawSelectionBox",value:function(t){if(this.body.selectionBox.show){t.beginPath();var e=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,i=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;t.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,e,i),t.fillStyle="rgba(151, 194, 252, 0.2)",t.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,e,i),t.strokeStyle="rgba(151, 194, 252, 1)",t.stroke()}else t.closePath()}}]),t}(),zm=O.setInterval;function Fm(t,e){e.inputHandler=function(t){t.isFirst&&e(t)},t.on("hammer.input",e.inputHandler)}function Nm(t,e){return e.inputHandler=function(t){t.isFinal&&e(t)},t.on("hammer.input",e.inputHandler)}var Am=function(){function t(e){Ra(this,t),this.body=e,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},Ke(this.options,this.defaultOptions),this.bindEventListeners()}return Ha(t,[{key:"bindEventListeners",value:function(){var t,e=this;this.body.emitter.once("resize",(function(t){0!==t.width&&(e.body.view.translation.x=.5*t.width),0!==t.height&&(e.body.view.translation.y=.5*t.height)})),this.body.emitter.on("setSize",si(t=this.setSize).call(t,this)),this.body.emitter.on("destroy",(function(){e.hammerFrame.destroy(),e.hammer.destroy(),e._cleanUp()}))}},{key:"setOptions",value:function(t){var e,i,o,n,r,s=this;if(void 0!==t){nf(["width","height","autoResize"],this.options,t)}if(this._cleanUp(),!0===this.options.autoResize){var a;if(window.ResizeObserver){var h=new ResizeObserver((function(){!0===s.setSize()&&s.body.emitter.emit("_requestRedraw")})),d=this.frame;h.observe(d),this._cleanupCallbacks.push((function(){h.unobserve(d)}))}else{var l=zm((function(){!0===s.setSize()&&s.body.emitter.emit("_requestRedraw")}),1e3);this._cleanupCallbacks.push((function(){clearInterval(l)}))}var c=si(a=this._onResize).call(a,this);e=window,i="resize",o=c,e.addEventListener?(void 0===n&&(n=!1),"mousewheel"===i&&Hd(r=navigator.userAgent).call(r,"Firefox")&&(i="DOMMouseScroll"),e.addEventListener(i,o,n)):e.attachEvent("on"+i,o),this._cleanupCallbacks.push((function(){!function(t,e,i,o){var n;t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&Hd(n=navigator.userAgent).call(n,"Firefox")&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)}(window,"resize",c)}))}}},{key:"_cleanUp",value:function(){var t,e,i;nd(t=ld(e=Od(i=this._cleanupCallbacks).call(i,0)).call(e)).call(t,(function(t){try{t()}catch(t){console.error(t)}}))}},{key:"_onResize",value:function(){this.setSize(),this.body.emitter.emit("_redraw")}},{key:"_getCameraState",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==Cl(t).call(t,"%")||-1!==Cl(t).call(t,"px"))return t;if(-1===Cl(t).call(t,"%"))return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=0,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerText="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new If(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:If.DIRECTION_ALL}),Fm(this.hammer,(function(e){t.body.eventListeners.onTouch(e)})),this.hammer.on("tap",(function(e){t.body.eventListeners.onTap(e)})),this.hammer.on("doubletap",(function(e){t.body.eventListeners.onDoubleTap(e)})),this.hammer.on("press",(function(e){t.body.eventListeners.onHold(e)})),this.hammer.on("panstart",(function(e){t.body.eventListeners.onDragStart(e)})),this.hammer.on("panmove",(function(e){t.body.eventListeners.onDrag(e)})),this.hammer.on("panend",(function(e){t.body.eventListeners.onDragEnd(e)})),this.hammer.on("pinch",(function(e){t.body.eventListeners.onPinch(e)})),this.frame.canvas.addEventListener("wheel",(function(e){t.body.eventListeners.onMouseWheel(e)})),this.frame.canvas.addEventListener("mousemove",(function(e){t.body.eventListeners.onMouseMove(e)})),this.frame.canvas.addEventListener("contextmenu",(function(e){t.body.eventListeners.onContext(e)})),this.hammerFrame=new If(this.frame),Nm(this.hammerFrame,(function(e){t.body.eventListeners.onRelease(e)}))}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,r=this.pixelRatio;if(this._setPixelRatio(),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e)this._getCameraState(r),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0;else{var s=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),a=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.frame.canvas.width===s&&this.frame.canvas.height===a||this._getCameraState(r),this.frame.canvas.width!==s&&(this.frame.canvas.width=s,i=!0),this.frame.canvas.height!==a&&(this.frame.canvas.height=a,i=!0)}return!0===i&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"getContext",value:function(){return this.frame.canvas.getContext("2d")}},{key:"_determinePixelRatio",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");var e=1;return"undefined"!=typeof window&&(e=window.devicePixelRatio||1),e/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},{key:"_setPixelRatio",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:"setTransform",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();function Rm(t,e){var i=Ke({nodes:e,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},null!=t?t:{});if(!Hh(i.nodes))throw new TypeError("Nodes has to be an array of ids.");if(0===i.nodes.length&&(i.nodes=e),!("number"==typeof i.minZoomLevel&&i.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!("number"==typeof i.maxZoomLevel&&i.minZoomLevel<=i.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return i}var jm=function(){function t(e,i){var o,n,r=this;Ra(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",si(o=this.fit).call(o,this)),this.body.emitter.on("animationFinished",(function(){r.body.emitter.emit("_stopRendering")})),this.body.emitter.on("unlockNode",si(n=this.releaseNode).call(n,this))}return Ha(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t=Rm(t,this.body.nodeIndices);var i,o,n=this.canvas.frame.canvas.clientWidth,r=this.canvas.frame.canvas.clientHeight;if(0===n||0===r)o=1,i=Sm.getRange(this.body.nodes,t.nodes);else if(!0===e){var s=0;for(var a in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,a)){var h=this.body.nodes[a];!0===h.predefinedPosition&&(s+=1)}if(s>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=Sm.getRange(this.body.nodes,t.nodes);var d=this.body.nodeIndices.length;o=12.662/(d+7.4147)+.0964822;var l=Math.min(n/600,r/600);o*=l}else{this.body.emitter.emit("_resizeNodes"),i=Sm.getRange(this.body.nodes,t.nodes);var c=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),f=n/c,p=r/u;o=f<=p?f:p}o>t.maxZoomLevel?o=t.maxZoomLevel:o<t.minZoomLevel&&(o=t.minZoomLevel);var v=Sm.findCenter(i),g={position:v,scale:o,animation:t.animation};this.moveTo(g)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.error("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){if(void 0!==t){if(null!=t.offset){if(null!=t.offset.x){if(t.offset.x=+t.offset.x,!Pv(t.offset.x))throw new TypeError('The option "offset.x" has to be a finite number.')}else t.offset.x=0;if(null!=t.offset.y){if(t.offset.y=+t.offset.y,!Pv(t.offset.y))throw new TypeError('The option "offset.y" has to be a finite number.')}else t.offset.x=0}else t.offset={x:0,y:0};if(null!=t.position){if(null!=t.position.x){if(t.position.x=+t.position.x,!Pv(t.position.x))throw new TypeError('The option "position.x" has to be a finite number.')}else t.position.x=0;if(null!=t.position.y){if(t.position.y=+t.position.y,!Pv(t.position.y))throw new TypeError('The option "position.y" has to be a finite number.')}else t.position.x=0}else t.position=this.getViewPosition();if(null!=t.scale){if(t.scale=+t.scale,!(t.scale>0))throw new TypeError('The option "scale" has to be a number greater than zero.')}else t.scale=this.body.view.scale;void 0===t.animation&&(t.animation={duration:0}),!1===t.animation&&(t.animation={duration:0}),!0===t.animation&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)}else t={}}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),!0===t.locked&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e,i,o=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),n=o.x-t.position.x,r=o.y-t.position.y;if(this.targetTranslation={x:this.sourceTranslation.x+n*this.targetScale+t.offset.x,y:this.sourceTranslation.y+r*this.targetScale+t.offset.y},0===t.animation.duration)if(null!=this.lockedOnNodeId)this.viewFunction=si(e=this._lockedRedraw).call(e,this),this.body.emitter.on("initRedraw",this.viewFunction);else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw");else this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=si(i=this._transitionRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}},{key:"_lockedRedraw",value:function(){var t=this.body.nodes[this.lockedOnNodeId].x,e=this.body.nodes[this.lockedOnNodeId].y,i=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),o=i.x-t,n=i.y-e,r=this.body.view.translation,s={x:r.x+o*this.body.view.scale+this.lockedOnNodeOffset.x,y:r.y+n*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=s}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=!0===t?1:this.easingTime;var e=xf[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1){var i;if(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,null!=this.lockedOnNodeId)this.viewFunction=si(i=this._lockedRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction);this.body.emitter.emit("animationFinished")}}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();function Lm(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},r={keydown:{},keyup:{}},s={};for(e=97;e<=122;e++)s[String.fromCharCode(e)]={code:e-97+65,shift:!1};for(e=65;e<=90;e++)s[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)s[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)s["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;e++)s["num"+e]={code:96+e,shift:!1};s["num*"]={code:106,shift:!1},s["num+"]={code:107,shift:!1},s["num-"]={code:109,shift:!1},s["num/"]={code:111,shift:!1},s["num."]={code:110,shift:!1},s.left={code:37,shift:!1},s.up={code:38,shift:!1},s.right={code:39,shift:!1},s.down={code:40,shift:!1},s.space={code:32,shift:!1},s.enter={code:13,shift:!1},s.shift={code:16,shift:void 0},s.esc={code:27,shift:!1},s.backspace={code:8,shift:!1},s.tab={code:9,shift:!1},s.ctrl={code:17,shift:!1},s.alt={code:18,shift:!1},s.delete={code:46,shift:!1},s.pageup={code:33,shift:!1},s.pagedown={code:34,shift:!1},s["="]={code:187,shift:!1},s["-"]={code:189,shift:!1},s["]"]={code:221,shift:!1},s["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==r[e][t.keyCode]){for(var o=r[e][t.keyCode],n=0;n<o.length;n++)(void 0===o[n].shift||1==o[n].shift&&1==t.shiftKey||0==o[n].shift&&0==t.shiftKey)&&o[n].fn(t);1==i&&t.preventDefault()}};return n.bind=function(t,e,i){if(void 0===i&&(i="keydown"),void 0===s[t])throw new Error("unsupported key: "+t);void 0===r[i][s[t].code]&&(r[i][s[t].code]=[]),r[i][s[t].code].push({fn:e,shift:s[t].shift})},n.bindAll=function(t,e){for(var i in void 0===e&&(e="keydown"),s)s.hasOwnProperty(i)&&n.bind(i,t,e)},n.getKey=function(t){for(var e in s)if(s.hasOwnProperty(e)){if(1==t.shiftKey&&1==s[e].shift&&t.keyCode==s[e].code)return e;if(0==t.shiftKey&&0==s[e].shift&&t.keyCode==s[e].code)return e;if(t.keyCode==s[e].code&&"shift"==e)return e}return"unknown key, currently not supported"},n.unbind=function(t,e,i){if(void 0===i&&(i="keydown"),void 0===s[t])throw new Error("unsupported key: "+t);if(void 0!==e){var o=[],n=r[i][s[t].code];if(void 0!==n)for(var a=0;a<n.length;a++)n[a].fn==e&&n[a].shift==s[t].shift||o.push(r[i][s[t].code][a]);r[i][s[t].code]=o}else r[i][s[t].code]=[]},n.reset=function(){r={keydown:{},keyup:{}}},n.destroy=function(){r={keydown:{},keyup:{}},o.removeEventListener("keydown",a,!0),o.removeEventListener("keyup",h,!0)},o.addEventListener("keydown",a,!0),o.addEventListener("keyup",h,!0),n}var Hm=function(){function t(e,i){var o=this;Ra(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",(function(){o.activated=!0,o.configureKeyboardBindings()})),this.body.emitter.on("deactivate",(function(){o.activated=!1,o.configureKeyboardBindings()})),this.body.emitter.on("destroy",(function(){void 0!==o.keycharm&&o.keycharm.destroy()})),this.options={}}return Ha(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t<this.navigationHammers.length;t++)this.navigationHammers[t].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}},{key:"loadNavigationElements",value:function(){var t=this;this.cleanNavigation(),this.navigationDOM={};var e=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],i=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","_fit"];this.navigationDOM.wrapper=document.createElement("div"),this.navigationDOM.wrapper.className="vis-navigation",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(var o=0;o<e.length;o++){this.navigationDOM[e[o]]=document.createElement("div"),this.navigationDOM[e[o]].className="vis-button vis-"+e[o],this.navigationDOM.wrapper.appendChild(this.navigationDOM[e[o]]);var n,r,s=new If(this.navigationDOM[e[o]]);if("_fit"===i[o])Fm(s,si(n=this._fit).call(n,this));else Fm(s,si(r=this.bindToRedraw).call(r,this,i[o]));this.navigationHammers.push(s)}var a=new If(this.canvas.frame);Nm(a,(function(){t._stopMovement()})),this.navigationHammers.push(a),this.iconsCreated=!0}},{key:"bindToRedraw",value:function(t){var e;void 0===this.boundFunctions[t]&&(this.boundFunctions[t]=si(e=this[t]).call(e,this),this.body.emitter.on("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_startRendering"))}},{key:"unbindFromRedraw",value:function(t){void 0!==this.boundFunctions[t]&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"),delete this.boundFunctions[t])}},{key:"_fit",value:function(){(new Date).valueOf()-this.touchTime>700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,r=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:r},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,r=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:r},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t,e,i,o,n,r,s,a,h,d,l,c,u,f,p,v,g,y,m,b,w,k,_,x,E=this;(void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled)&&(!0===this.options.keyboard.bindToWindow?this.keycharm=Lm({container:window,preventDefault:!0}):this.keycharm=Lm({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(si(t=this.keycharm).call(t,"up",(function(){E.bindToRedraw("_moveUp")}),"keydown"),si(e=this.keycharm).call(e,"down",(function(){E.bindToRedraw("_moveDown")}),"keydown"),si(i=this.keycharm).call(i,"left",(function(){E.bindToRedraw("_moveLeft")}),"keydown"),si(o=this.keycharm).call(o,"right",(function(){E.bindToRedraw("_moveRight")}),"keydown"),si(n=this.keycharm).call(n,"=",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),si(r=this.keycharm).call(r,"num+",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),si(s=this.keycharm).call(s,"num-",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),si(a=this.keycharm).call(a,"-",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),si(h=this.keycharm).call(h,"[",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),si(d=this.keycharm).call(d,"]",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),si(l=this.keycharm).call(l,"pageup",(function(){E.bindToRedraw("_zoomIn")}),"keydown"),si(c=this.keycharm).call(c,"pagedown",(function(){E.bindToRedraw("_zoomOut")}),"keydown"),si(u=this.keycharm).call(u,"up",(function(){E.unbindFromRedraw("_moveUp")}),"keyup"),si(f=this.keycharm).call(f,"down",(function(){E.unbindFromRedraw("_moveDown")}),"keyup"),si(p=this.keycharm).call(p,"left",(function(){E.unbindFromRedraw("_moveLeft")}),"keyup"),si(v=this.keycharm).call(v,"right",(function(){E.unbindFromRedraw("_moveRight")}),"keyup"),si(g=this.keycharm).call(g,"=",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),si(y=this.keycharm).call(y,"num+",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),si(m=this.keycharm).call(m,"num-",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),si(b=this.keycharm).call(b,"-",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),si(w=this.keycharm).call(w,"[",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup"),si(k=this.keycharm).call(k,"]",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),si(_=this.keycharm).call(_,"pageup",(function(){E.unbindFromRedraw("_zoomIn")}),"keyup"),si(x=this.keycharm).call(x,"pagedown",(function(){E.unbindFromRedraw("_zoomOut")}),"keyup")))}}]),t}();function Wm(t,e){var i=void 0!==Nh&&xr(t)||t["@@iterator"];if(!i){if(Hh(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return Vm(t,e);var o=Lh(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return rr(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Vm(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var o=0,n=function(){};return{s:n,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Vm(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}var qm=function(){function t(e,i,o){var n,r,s,a,h,d,l,c,u,f,p,v,g;Ra(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new Hm(e,i),this.body.eventListeners.onTap=si(n=this.onTap).call(n,this),this.body.eventListeners.onTouch=si(r=this.onTouch).call(r,this),this.body.eventListeners.onDoubleTap=si(s=this.onDoubleTap).call(s,this),this.body.eventListeners.onHold=si(a=this.onHold).call(a,this),this.body.eventListeners.onDragStart=si(h=this.onDragStart).call(h,this),this.body.eventListeners.onDrag=si(d=this.onDrag).call(d,this),this.body.eventListeners.onDragEnd=si(l=this.onDragEnd).call(l,this),this.body.eventListeners.onMouseWheel=si(c=this.onMouseWheel).call(c,this),this.body.eventListeners.onPinch=si(u=this.onPinch).call(u,this),this.body.eventListeners.onMouseMove=si(f=this.onMouseMove).call(f,this),this.body.eventListeners.onRelease=si(p=this.onRelease).call(p,this),this.body.eventListeners.onContext=si(v=this.onContext).call(v,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=si(g=this.getPointer).call(g,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0,autoFocus:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},Ke(this.options,this.defaultOptions),this.bindEventListeners()}return Ha(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",(function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer}))}},{key:"setOptions",value:function(t){if(void 0!==t){rf(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,t),_f(this.options,t,"keyboard"),t.tooltip&&(Ke(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=pf(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-(e=this.canvas.frame.canvas,e.getBoundingClientRect().left),y:t.y-df(this.canvas.frame.canvas)};var e}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,i),this.selectionHandler.commitAndEmit(e,t),this.selectionHandler.generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler.generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,i),this.selectionHandler.commitAndEmit(e,t),this.selectionHandler.generateClickEvent("click",t,e),this.selectionHandler.generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler.generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler.generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!0===e?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t)}},{key:"_determineDifference",value:function(t,e){var i=function(t,e){for(var i=[],o=0;o<t.length;o++){var n=t[o];-1===Cl(e).call(e,n)&&i.push(n)}return i};return{nodes:i(t.nodes,e.nodes),edges:i(t.edges,e.edges)}}},{key:"onDragStart",value:function(t){if(!this.drag.dragging){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=Ke({},this.body.view.translation),this.drag.nodeId=void 0,t.srcEvent.shiftKey){this.body.selectionBox.show=!0;var i=this.getPointer(t.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)}}if(void 0!==e&&!0===this.options.dragNodes){this.drag.nodeId=e.id,!1===e.isSelected()&&(this.selectionHandler.unselectAll(),this.selectionHandler.selectObject(e)),this.selectionHandler.generateClickEvent("dragStart",t,this.drag.pointer);var o,n=Wm(this.selectionHandler.getSelectedNodes());try{for(n.s();!(o=n.n()).done;){var r=o.value,s={id:r.id,node:r,x:r.x,y:r.y,xFixed:r.options.fixed.x,yFixed:r.options.fixed.y};r.options.fixed.x=!0,r.options.fixed.y=!0,this.drag.selection.push(s)}}catch(t){n.e(t)}finally{n.f()}}else this.selectionHandler.generateClickEvent("dragStart",t,this.drag.pointer,void 0,!0)}}},{key:"onDrag",value:function(t){var e=this;if(!0!==this.drag.pinched){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center),o=this.drag.selection;if(o&&o.length&&!0===this.options.dragNodes){this.selectionHandler.generateClickEvent("dragging",t,i);var n=i.x-this.drag.pointer.x,r=i.y-this.drag.pointer.y;nd(o).call(o,(function(t){var i=t.node;!1===t.xFixed&&(i.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(t.x)+n)),!1===t.yFixed&&(i.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(t.y)+r))})),this.body.emitter.emit("startSimulation")}else{if(t.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)},this.body.emitter.emit("_requestRedraw")}if(!0===this.options.dragView&&!t.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);var s=i.x-this.drag.pointer.x,a=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+s,y:this.drag.translation.y+a},this.body.emitter.emit("_requestRedraw")}}}}},{key:"onDragEnd",value:function(t){var e=this;if(this.drag.dragging=!1,this.body.selectionBox.show){var i;this.body.selectionBox.show=!1;var o=this.body.selectionBox.position,n={minX:Math.min(o.start.x,o.end.x),minY:Math.min(o.start.y,o.end.y),maxX:Math.max(o.start.x,o.end.x),maxY:Math.max(o.start.y,o.end.y)},r=$d(i=this.body.nodeIndices).call(i,(function(t){var i=e.body.nodes[t];return i.x>=n.minX&&i.x<=n.maxX&&i.y>=n.minY&&i.y<=n.maxY}));nd(r).call(r,(function(t){return e.selectionHandler.selectObject(e.body.nodes[t])}));var s=this.getPointer(t.center);this.selectionHandler.commitAndEmit(s,t),this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{var a=this.drag.selection;a&&a.length?(nd(a).call(a,(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed})),this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler.generateClickEvent("dragEnd",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(!0===this.options.zoomView){var i=this.body.view.scale;t<1e-5&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,r=t/i,s=(1-r)*e.x+n.x*r,a=(1-r)*e.y+n.y*r;if(this.body.view.scale=t,this.body.view.translation={x:s,y:a},null!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),i<t?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:e}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:e})}}},{key:"onMouseWheel",value:function(t){if(!0===this.options.zoomView){if(0!==t.deltaY){var e=this.body.view.scale;e*=1+(t.deltaY<0?1:-1)*(.1*this.options.zoomSpeed);var i=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(e,i)}t.preventDefault()}}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),o=!1;void 0!==this.popup&&(!1===this.popup.hidden&&this._checkHidePopup(i),!1===this.popup.hidden&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.autoFocus&&!1===this.options.keyboard.bindToWindow&&!0===this.options.keyboard.enabled&&this.canvas.frame.focus(),!1===o&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=Yl((function(){return e._checkShowPopup(i)}),this.options.tooltipDelay))),!0===this.options.hover&&this.selectionHandler.hoverObject(t,i)}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,r=!1,s="node";if(void 0===this.popupObj){for(var a,h=this.body.nodeIndices,d=this.body.nodes,l=[],c=0;c<h.length;c++)!0===(a=d[h[c]]).isOverlappingWith(o)&&(r=!0,void 0!==a.getTitle()&&l.push(h[c]));l.length>0&&(this.popupObj=d[l[l.length-1]],r=!0)}if(void 0===this.popupObj&&!1===r){for(var u,f=this.body.edgeIndices,p=this.body.edges,v=[],g=0;g<f.length;g++)!0===(u=p[f[g]]).isOverlappingWith(o)&&!0===u.connected&&void 0!==u.getTitle()&&v.push(f[g]);v.length>0&&(this.popupObj=p[v[v.length-1]],s="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new zf(this.canvas.frame)),this.popup.popupTargetType=s,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&!0===(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))){var o=this.selectionHandler.getNodeAt(t);i=void 0!==o&&o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));!1===i&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();sv("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Ov);var Um=O.Set,Ym=hv,Xm=kp.exports.getWeakData,Gm=Kt,Km=E,$m=Up,Zm=qp,Qm=et,Jm=Zi.set,tb=Zi.getterFor,eb=Jr.find,ib=Jr.findIndex,ob=0,nb=function(t){return t.frozen||(t.frozen=new rb)},rb=function(){this.entries=[]},sb=function(t,e){return eb(t.entries,(function(t){return t[0]===e}))};rb.prototype={get:function(t){var e=sb(this,t);if(e)return e[1]},has:function(t){return!!sb(this,t)},set:function(t,e){var i=sb(this,t);i?i[1]=e:this.entries.push([t,e])},delete:function(t){var e=ib(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}};var ab,hb={getConstructor:function(t,e,i,o){var n=t((function(t,r){$m(t,n,e),Jm(t,{type:e,id:ob++,frozen:void 0}),null!=r&&Zm(r,t[o],{that:t,AS_ENTRIES:i})})),r=tb(e),s=function(t,e,i){var o=r(t),n=Xm(Gm(e),!0);return!0===n?nb(o).set(e,i):n[o.id]=i,t};return Ym(n.prototype,{delete:function(t){var e=r(this);if(!Km(t))return!1;var i=Xm(t);return!0===i?nb(e).delete(t):i&&Qm(i,e.id)&&delete i[e.id]},has:function(t){var e=r(this);if(!Km(t))return!1;var i=Xm(t);return!0===i?nb(e).has(t):i&&Qm(i,e.id)}}),Ym(n.prototype,i?{get:function(t){var e=r(this);if(Km(t)){var i=Xm(t);return!0===i?nb(e).get(t):i?i[e.id]:void 0}},set:function(t,e){return s(this,t,e)}}:{add:function(t){return s(this,t,!0)}}),n}},db=n,lb=hv,cb=kp.exports,ub=sv,fb=hb,pb=E,vb=Zi.enforce,gb=Mi,yb=!db.ActiveXObject&&"ActiveXObject"in db,mb=Object.isExtensible,bb=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},wb=ub("WeakMap",bb,fb);if(gb&&yb){ab=fb.getConstructor(bb,"WeakMap",!0),cb.enable();var kb=wb.prototype,_b=kb.delete,xb=kb.has,Eb=kb.get,Ob=kb.set;lb(kb,{delete:function(t){if(pb(t)&&!mb(t)){var e=vb(this);return e.frozen||(e.frozen=new ab),_b.call(this,t)||e.frozen.delete(t)}return _b.call(this,t)},has:function(t){if(pb(t)&&!mb(t)){var e=vb(this);return e.frozen||(e.frozen=new ab),xb.call(this,t)||e.frozen.has(t)}return xb.call(this,t)},get:function(t){if(pb(t)&&!mb(t)){var e=vb(this);return e.frozen||(e.frozen=new ab),xb.call(this,t)?Eb.call(this,t):e.frozen.get(t)}return Eb.call(this,t)},set:function(t,e){if(pb(t)&&!mb(t)){var i=vb(this);i.frozen||(i.frozen=new ab),xb.call(this,t)?Ob.call(this,t,e):i.frozen.set(t,e)}else Ob.call(this,t,e);return this}})}var Cb,Sb,Tb,Mb,Pb,Db=O.WeakMap;
/*! *****************************************************************************
	Copyright (c) Microsoft Corporation.

	Permission to use, copy, modify, and/or distribute this software for any
	purpose with or without fee is hereby granted.

	THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
	REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
	AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
	INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
	LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
	OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
	PERFORMANCE OF THIS SOFTWARE.
	***************************************************************************** */function Bb(t,e,i,o){if("a"===i&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?o:"a"===i?o.call(t):o?o.value:e.get(t)}function Ib(t,e,i,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(t,i):n?n.value=i:e.set(t,i),i}function zb(t,e){var i=void 0!==Nh&&xr(t)||t["@@iterator"];if(!i){if(Hh(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return Fb(t,e);var o=Lh(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return rr(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Fb(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var o=0,n=function(){};return{s:n,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Fb(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}function Nb(t,e){var i,o=new Um,n=zb(e);try{for(n.s();!(i=n.n()).done;){var r=i.value;t.has(r)||o.add(r)}}catch(t){n.e(t)}finally{n.f()}return o}var Ab=function(){function t(){Ra(this,t),Cb.set(this,new Um),Sb.set(this,new Um)}return Ha(t,[{key:"size",get:function(){return Bb(this,Sb,"f").size}},{key:"add",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var o=0,n=e;o<n.length;o++){var r=n[o];Bb(this,Sb,"f").add(r)}}},{key:"delete",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var o=0,n=e;o<n.length;o++){var r=n[o];Bb(this,Sb,"f").delete(r)}}},{key:"clear",value:function(){Bb(this,Sb,"f").clear()}},{key:"getSelection",value:function(){return Fh(Bb(this,Sb,"f"))}},{key:"getChanges",value:function(){return{added:Fh(Nb(Bb(this,Cb,"f"),Bb(this,Sb,"f"))),deleted:Fh(Nb(Bb(this,Sb,"f"),Bb(this,Cb,"f"))),previous:Fh(new Um(Bb(this,Cb,"f"))),current:Fh(new Um(Bb(this,Sb,"f")))}}},{key:"commit",value:function(){var t=this.getChanges();Ib(this,Cb,Bb(this,Sb,"f"),"f"),Ib(this,Sb,new Um(Bb(this,Cb,"f")),"f");var e,i=zb(t.added);try{for(i.s();!(e=i.n()).done;){e.value.select()}}catch(t){i.e(t)}finally{i.f()}var o,n=zb(t.deleted);try{for(n.s();!(o=n.n()).done;){o.value.unselect()}}catch(t){n.e(t)}finally{n.f()}return t}}]),t}();Cb=new Db,Sb=new Db;var Rb=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};Ra(this,t),Tb.set(this,new Ab),Mb.set(this,new Ab),Pb.set(this,void 0),Ib(this,Pb,e,"f")}return Ha(t,[{key:"sizeNodes",get:function(){return Bb(this,Tb,"f").size}},{key:"sizeEdges",get:function(){return Bb(this,Mb,"f").size}},{key:"getNodes",value:function(){return Bb(this,Tb,"f").getSelection()}},{key:"getEdges",value:function(){return Bb(this,Mb,"f").getSelection()}},{key:"addNodes",value:function(){var t;(t=Bb(this,Tb,"f")).add.apply(t,arguments)}},{key:"addEdges",value:function(){var t;(t=Bb(this,Mb,"f")).add.apply(t,arguments)}},{key:"deleteNodes",value:function(t){Bb(this,Tb,"f").delete(t)}},{key:"deleteEdges",value:function(t){Bb(this,Mb,"f").delete(t)}},{key:"clear",value:function(){Bb(this,Tb,"f").clear(),Bb(this,Mb,"f").clear()}},{key:"commit",value:function(){for(var t,e,i={nodes:Bb(this,Tb,"f").commit(),edges:Bb(this,Mb,"f").commit()},o=arguments.length,n=new Array(o),r=0;r<o;r++)n[r]=arguments[r];return(t=Bb(this,Pb,"f")).call.apply(t,jh(e=[this,i]).call(e,n)),i}}]),t}();function jb(t,e){var i=void 0!==Nh&&xr(t)||t["@@iterator"];if(!i){if(Hh(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return Lb(t,e);var o=Lh(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return rr(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Lb(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var o=0,n=function(){};return{s:n,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Lb(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}Tb=new Db,Mb=new Db,Pb=new Db;var Hb=function(){function t(e,i){var o=this;Ra(this,t),this.body=e,this.canvas=i,this._selectionAccumulator=new Rb,this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},Ke(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",(function(){o.updateSelection()}))}return Ha(t,[{key:"setOptions",value:function(t){if(void 0!==t){nf(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,!0===i.isSelected()?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_initBaseEvent",value:function(t,e){var i={};return i.pointer={DOM:{x:e.x,y:e.y},canvas:this.canvas.DOMtoCanvas(e)},i.event=t,i}},{key:"generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=this._initBaseEvent(e,i);if(!0===n)r.nodes=[],r.edges=[];else{var s=this.getSelection();r.nodes=s.nodes,r.edges=s.edges}void 0!==o&&(r.previousSelection=o),"click"==t&&(r.items=this.getClickedItems(i)),void 0!==e.controlEdge&&(r.controlEdge=e.controlEdge),this.body.emitter.emit(t,r)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;if(void 0!==t){if(t instanceof uy){var i;if(!0===e)(i=this._selectionAccumulator).addEdges.apply(i,Fh(t.edges));this._selectionAccumulator.addNodes(t)}else this._selectionAccumulator.addEdges(t);return!0}return!1}},{key:"deselectObject",value:function(t){!0===t.isSelected()&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o<this.body.nodeIndices.length;o++){var n=this.body.nodeIndices[o];i[n].isOverlappingWith(t)&&e.push(n)}return e}},{key:"_pointerToPositionObject",value:function(t){var e=this.canvas.DOMtoCanvas(t);return{left:e.x-1,top:e.y+1,right:e.x+1,bottom:e.y-1}}},{key:"getNodeAt",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?!0===e?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o<this.body.edgeIndices.length;o++){var n=this.body.edgeIndices[o];i[n].isOverlappingWith(t)&&e.push(n)}}},{key:"_getAllEdgesOverlappingWith",value:function(t){var e=[];return this._getEdgesOverlappingWith(t,e),e}},{key:"getEdgeAt",value:function(t){for(var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,r=this.body.edges,s=0;s<this.body.edgeIndices.length;s++){var a=this.body.edgeIndices[s],h=r[a];if(h.connected){var d=h.from.x,l=h.from.y,c=h.to.x,u=h.to.y,f=h.edgeType.getDistanceToEdge(d,l,c,u,i.x,i.y);f<o&&(n=a,o=f)}}return null!==n?!0===e?this.body.edges[n]:n:void 0}},{key:"_addToHover",value:function(t){t instanceof uy?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){var e;t instanceof uy?(this._selectionAccumulator.deleteNodes(t),(e=this._selectionAccumulator).deleteEdges.apply(e,Fh(t.edges))):this._selectionAccumulator.deleteEdges(t)}},{key:"unselectAll",value:function(){this._selectionAccumulator.clear()}},{key:"getSelectedNodeCount",value:function(){return this._selectionAccumulator.sizeNodes}},{key:"getSelectedEdgeCount",value:function(){return this._selectionAccumulator.sizeEdges}},{key:"_hoverConnectedEdges",value:function(t){for(var e=0;e<t.edges.length;e++){var i=t.edges[e];i.hover=!0,this._addToHover(i)}}},{key:"emitBlurEvent",value:function(t,e,i){var o=this._initBaseEvent(t,e);!0===i.hover&&(i.hover=!1,i instanceof uy?(o.node=i.id,this.body.emitter.emit("blurNode",o)):(o.edge=i.id,this.body.emitter.emit("blurEdge",o)))}},{key:"emitHoverEvent",value:function(t,e,i){var o=this._initBaseEvent(t,e),n=!1;return!1===i.hover&&(i.hover=!0,this._addToHover(i),n=!0,i instanceof uy?(o.node=i.id,this.body.emitter.emit("hoverNode",o)):(o.edge=i.id,this.body.emitter.emit("hoverEdge",o))),n}},{key:"hoverObject",value:function(t,e){var i=this.getNodeAt(e);void 0===i&&(i=this.getEdgeAt(e));var o=!1;for(var n in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,n)&&(void 0===i||i instanceof uy&&i.id!=n||i instanceof sm)&&(this.emitBlurEvent(t,e,this.hoverObj.nodes[n]),delete this.hoverObj.nodes[n],o=!0);for(var r in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,r)&&(!0===o?(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]):(void 0===i||i instanceof sm&&i.id!=r||i instanceof uy&&!i.hover)&&(this.emitBlurEvent(t,e,this.hoverObj.edges[r]),delete this.hoverObj.edges[r],o=!0));if(void 0!==i){var s=Gh(this.hoverObj.edges).length,a=Gh(this.hoverObj.nodes).length;(o||i instanceof sm&&0===s&&0===a||i instanceof uy&&0===s&&0===a)&&(o=this.emitHoverEvent(t,e,i)),i instanceof uy&&!0===this.options.hoverConnectedEdges&&this._hoverConnectedEdges(i)}!0===o&&this.body.emitter.emit("_requestRedraw")}},{key:"commitWithoutEmitting",value:function(){this._selectionAccumulator.commit()}},{key:"commitAndEmit",value:function(t,e){var i=!1,o=this._selectionAccumulator.commit(),n={nodes:o.nodes.previous,edges:o.edges.previous};o.edges.deleted.length>0&&(this.generateClickEvent("deselectEdge",e,t,n),i=!0),o.nodes.deleted.length>0&&(this.generateClickEvent("deselectNode",e,t,n),i=!0),o.nodes.added.length>0&&(this.generateClickEvent("selectNode",e,t),i=!0),o.edges.added.length>0&&(this.generateClickEvent("selectEdge",e,t),i=!0),!0===i&&this.generateClickEvent("select",e,t)}},{key:"getSelection",value:function(){return{nodes:this.getSelectedNodeIds(),edges:this.getSelectedEdgeIds()}}},{key:"getSelectedNodes",value:function(){return this._selectionAccumulator.getNodes()}},{key:"getSelectedEdges",value:function(){return this._selectionAccumulator.getEdges()}},{key:"getSelectedNodeIds",value:function(){var t;return Uh(t=this._selectionAccumulator.getNodes()).call(t,(function(t){return t.id}))}},{key:"getSelectedEdgeIds",value:function(){var t;return Uh(t=this._selectionAccumulator.getEdges()).call(t,(function(t){return t.id}))}},{key:"setSelection",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t||!t.nodes&&!t.edges)throw new TypeError("Selection must be an object with nodes and/or edges properties");if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes){var i,o=jb(t.nodes);try{for(o.s();!(i=o.n()).done;){var n=i.value,r=this.body.nodes[n];if(!r)throw new RangeError('Node with id "'+n+'" not found');this.selectObject(r,e.highlightEdges)}}catch(t){o.e(t)}finally{o.f()}}if(t.edges){var s,a=jb(t.edges);try{for(a.s();!(s=a.n()).done;){var h=s.value,d=this.body.edges[h];if(!d)throw new RangeError('Edge with id "'+h+'" not found');this.selectObject(d)}}catch(t){a.e(t)}finally{a.f()}}this.body.emitter.emit("_requestRedraw"),this._selectionAccumulator.commit()}},{key:"selectNodes",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this._selectionAccumulator.getNodes())Object.prototype.hasOwnProperty.call(this.body.nodes,t.id)||this._selectionAccumulator.deleteNodes(t);for(var e in this._selectionAccumulator.getEdges())Object.prototype.hasOwnProperty.call(this.body.edges,e.id)||this._selectionAccumulator.deleteEdges(e)}},{key:"getClickedItems",value:function(t){for(var e=this.canvas.DOMtoCanvas(t),i=[],o=this.body.nodeIndices,n=this.body.nodes,r=o.length-1;r>=0;r--){var s=n[o[r]].getItemsOnPoint(e);i.push.apply(i,s)}for(var a=this.body.edgeIndices,h=this.body.edges,d=a.length-1;d>=0;d--){var l=h[a[d]].getItemsOnPoint(e);i.push.apply(i,l)}return i}}]),t}(),Wb=Math.floor,Vb=function(t,e){var i=t.length,o=Wb(i/2);return i<8?qb(t,e):Ub(Vb(t.slice(0,o),e),Vb(t.slice(o),e),e)},qb=function(t,e){for(var i,o,n=t.length,r=1;r<n;){for(o=r,i=t[r];o&&e(t[o-1],i)>0;)t[o]=t[--o];o!==r++&&(t[o]=i)}return t},Ub=function(t,e,i){for(var o=t.length,n=e.length,r=0,s=0,a=[];r<o||s<n;)r<o&&s<n?a.push(i(t[r],e[s])<=0?t[r++]:e[s++]):a.push(r<o?t[r++]:e[s++]);return a},Yb=Vb,Xb=P.match(/firefox\/(\d+)/i),Gb=!!Xb&&+Xb[1],Kb=/MSIE|Trident/.test(P),$b=P.match(/AppleWebKit\/(\d+)\./),Zb=!!$b&&+$b[1],Qb=ue,Jb=qt,tw=Q,ew=me,iw=gi,ow=s,nw=Yb,rw=Zh,sw=Gb,aw=Kb,hw=A,dw=Zb,lw=[],cw=lw.sort,uw=ow((function(){lw.sort(void 0)})),fw=ow((function(){lw.sort(null)})),pw=rw("sort"),vw=!ow((function(){if(hw)return hw<70;if(!(sw&&sw>3)){if(aw)return!0;if(dw)return dw<603;var t,e,i,o,n="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(o=0;o<47;o++)lw.push({k:e+o,v:i})}for(lw.sort((function(t,e){return e.v-t.v})),o=0;o<lw.length;o++)e=lw[o].k.charAt(0),n.charAt(n.length-1)!==e&&(n+=e);return"DGBEFHACIJK"!==n}}));Qb({target:"Array",proto:!0,forced:uw||!fw||!pw||!vw},{sort:function(t){void 0!==t&&Jb(t);var e=tw(this);if(vw)return void 0===t?cw.call(e):cw.call(e,t);var i,o,n=[],r=ew(e.length);for(o=0;o<r;o++)o in e&&n.push(e[o]);for(i=(n=nw(n,function(t){return function(e,i){return void 0===i?-1:void 0===e?1:void 0!==t?+t(e,i)||0:iw(e)>iw(i)?1:-1}}(t))).length,o=0;o<i;)e[o]=n[o++];for(;o<r;)delete e[o++];return e}});var gw=oi("Array").sort,yw=Array.prototype,mw=function(t){var e=t.sort;return t===yw||t instanceof Array&&e===yw.sort?gw:e},bw=qt,ww=Q,kw=b,_w=me,xw=function(t){return function(e,i,o,n){bw(i);var r=ww(e),s=kw(r),a=_w(r.length),h=t?a-1:0,d=t?-1:1;if(o<2)for(;;){if(h in s){n=s[h],h+=d;break}if(h+=d,t?h<0:a<=h)throw TypeError("Reduce of empty array with no initial value")}for(;t?h>=0:a>h;h+=d)h in s&&(n=i(n,s[h],h,r));return n}},Ew={left:xw(!1),right:xw(!0)},Ow="process"==g(n.process),Cw=Ew.left,Sw=A,Tw=Ow;ue({target:"Array",proto:!0,forced:!Zh("reduce")||!Tw&&Sw>79&&Sw<83},{reduce:function(t){return Cw(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}});var Mw=oi("Array").reduce,Pw=Array.prototype,Dw=function(t){var e=t.reduce;return t===Pw||t instanceof Array&&e===Pw.reduce?Mw:e},Bw={};!function(t){!function(t){function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0,t.sort=v;var i=32,o=7,n=256,r=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function s(t){return t<1e5?t<100?t<10?0:1:t<1e4?t<1e3?2:3:4:t<1e7?t<1e6?5:6:t<1e9?t<1e8?7:8:9}function a(t,e){if(t===e)return 0;if(~~t===t&&~~e===e){if(0===t||0===e)return t<e?-1:1;if(t<0||e<0){if(e>=0)return-1;if(t>=0)return 1;t=-t,e=-e}var i=s(t),o=s(e),n=0;return i<o?(t*=r[o-i-1],e/=10,n=-1):i>o&&(e*=r[i-o-1],t/=10,n=1),t===e?n:t<e?-1:1}var a=String(t),h=String(e);return a===h?0:a<h?-1:1}function h(t){for(var e=0;t>=i;)e|=1&t,t>>=1;return t+e}function d(t,e,i,o){var n=e+1;if(n===i)return 1;if(o(t[n++],t[e])<0){for(;n<i&&o(t[n],t[n-1])<0;)n++;l(t,e,n)}else for(;n<i&&o(t[n],t[n-1])>=0;)n++;return n-e}function l(t,e,i){for(i--;e<i;){var o=t[e];t[e++]=t[i],t[i--]=o}}function c(t,e,i,o,n){for(o===e&&o++;o<i;o++){for(var r=t[o],s=e,a=o;s<a;){var h=s+a>>>1;n(r,t[h])<0?a=h:s=h+1}var d=o-s;switch(d){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;d>0;)t[s+d]=t[s+d-1],d--}t[s]=r}}function u(t,e,i,o,n,r){var s=0,a=0,h=1;if(r(t,e[i+n])>0){for(a=o-n;h<a&&r(t,e[i+n+h])>0;)s=h,(h=1+(h<<1))<=0&&(h=a);h>a&&(h=a),s+=n,h+=n}else{for(a=n+1;h<a&&r(t,e[i+n-h])<=0;)s=h,(h=1+(h<<1))<=0&&(h=a);h>a&&(h=a);var d=s;s=n-h,h=n-d}for(s++;s<h;){var l=s+(h-s>>>1);r(t,e[i+l])>0?s=l+1:h=l}return h}function f(t,e,i,o,n,r){var s=0,a=0,h=1;if(r(t,e[i+n])<0){for(a=n+1;h<a&&r(t,e[i+n-h])<0;)s=h,(h=1+(h<<1))<=0&&(h=a);h>a&&(h=a);var d=s;s=n-h,h=n-d}else{for(a=o-n;h<a&&r(t,e[i+n+h])>=0;)s=h,(h=1+(h<<1))<=0&&(h=a);h>a&&(h=a),s+=n,h+=n}for(s++;s<h;){var l=s+(h-s>>>1);r(t,e[i+l])<0?h=l:s=l+1}return h}var p=function(){function t(i,r){e(this,t),this.array=null,this.compare=null,this.minGallop=o,this.length=0,this.tmpStorageLength=n,this.stackLength=0,this.runStart=null,this.runLength=null,this.stackSize=0,this.array=i,this.compare=r,this.length=i.length,this.length<2*n&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength)}return t.prototype.pushRun=function(t,e){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=e,this.stackSize+=1},t.prototype.mergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;if(t>=1&&this.runLength[t-1]<=this.runLength[t]+this.runLength[t+1]||t>=2&&this.runLength[t-2]<=this.runLength[t]+this.runLength[t-1])this.runLength[t-1]<this.runLength[t+1]&&t--;else if(this.runLength[t]>this.runLength[t+1])break;this.mergeAt(t)}},t.prototype.forceMergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;t>0&&this.runLength[t-1]<this.runLength[t+1]&&t--,this.mergeAt(t)}},t.prototype.mergeAt=function(t){var e=this.compare,i=this.array,o=this.runStart[t],n=this.runLength[t],r=this.runStart[t+1],s=this.runLength[t+1];this.runLength[t]=n+s,t===this.stackSize-3&&(this.runStart[t+1]=this.runStart[t+2],this.runLength[t+1]=this.runLength[t+2]),this.stackSize--;var a=f(i[r],i,o,n,0,e);o+=a,0!=(n-=a)&&0!==(s=u(i[o+n-1],i,r,s,s-1,e))&&(n<=s?this.mergeLow(o,n,r,s):this.mergeHigh(o,n,r,s))},t.prototype.mergeLow=function(t,e,i,n){var r=this.compare,s=this.array,a=this.tmp,h=0;for(h=0;h<e;h++)a[h]=s[t+h];var d=0,l=i,c=t;if(s[c++]=s[l++],0!=--n)if(1!==e){for(var p=this.minGallop;;){var v=0,g=0,y=!1;do{if(r(s[l],a[d])<0){if(s[c++]=s[l++],g++,v=0,0==--n){y=!0;break}}else if(s[c++]=a[d++],v++,g=0,1==--e){y=!0;break}}while((v|g)<p);if(y)break;do{if(0!==(v=f(s[l],a,d,e,0,r))){for(h=0;h<v;h++)s[c+h]=a[d+h];if(c+=v,d+=v,(e-=v)<=1){y=!0;break}}if(s[c++]=s[l++],0==--n){y=!0;break}if(0!==(g=u(a[d],s,l,n,0,r))){for(h=0;h<g;h++)s[c+h]=s[l+h];if(c+=g,l+=g,0==(n-=g)){y=!0;break}}if(s[c++]=a[d++],1==--e){y=!0;break}p--}while(v>=o||g>=o);if(y)break;p<0&&(p=0),p+=2}if(this.minGallop=p,p<1&&(this.minGallop=1),1===e){for(h=0;h<n;h++)s[c+h]=s[l+h];s[c+n]=a[d]}else{if(0===e)throw new Error("mergeLow preconditions were not respected");for(h=0;h<e;h++)s[c+h]=a[d+h]}}else{for(h=0;h<n;h++)s[c+h]=s[l+h];s[c+n]=a[d]}else for(h=0;h<e;h++)s[c+h]=a[d+h]},t.prototype.mergeHigh=function(t,e,i,n){var r=this.compare,s=this.array,a=this.tmp,h=0;for(h=0;h<n;h++)a[h]=s[i+h];var d=t+e-1,l=n-1,c=i+n-1,p=0,v=0;if(s[c--]=s[d--],0!=--e)if(1!==n){for(var g=this.minGallop;;){var y=0,m=0,b=!1;do{if(r(a[l],s[d])<0){if(s[c--]=s[d--],y++,m=0,0==--e){b=!0;break}}else if(s[c--]=a[l--],m++,y=0,1==--n){b=!0;break}}while((y|m)<g);if(b)break;do{if(0!=(y=e-f(a[l],s,t,e,e-1,r))){for(e-=y,v=1+(c-=y),p=1+(d-=y),h=y-1;h>=0;h--)s[v+h]=s[p+h];if(0===e){b=!0;break}}if(s[c--]=a[l--],1==--n){b=!0;break}if(0!=(m=n-u(s[d],a,0,n,n-1,r))){for(n-=m,v=1+(c-=m),p=1+(l-=m),h=0;h<m;h++)s[v+h]=a[p+h];if(n<=1){b=!0;break}}if(s[c--]=s[d--],0==--e){b=!0;break}g--}while(y>=o||m>=o);if(b)break;g<0&&(g=0),g+=2}if(this.minGallop=g,g<1&&(this.minGallop=1),1===n){for(v=1+(c-=e),p=1+(d-=e),h=e-1;h>=0;h--)s[v+h]=s[p+h];s[c]=a[l]}else{if(0===n)throw new Error("mergeHigh preconditions were not respected");for(p=c-(n-1),h=0;h<n;h++)s[p+h]=a[h]}}else{for(v=1+(c-=e),p=1+(d-=e),h=e-1;h>=0;h--)s[v+h]=s[p+h];s[c]=a[l]}else for(p=c-(n-1),h=0;h<n;h++)s[p+h]=a[h]},t}();function v(t,e,o,n){if(!Array.isArray(t))throw new TypeError("Can only sort arrays");e?"function"!=typeof e&&(n=o,o=e,e=a):e=a,o||(o=0),n||(n=t.length);var r=n-o;if(!(r<2)){var s=0;if(r<i)c(t,o,n,o+(s=d(t,o,n,e)),e);else{var l=new p(t,e),u=h(r);do{if((s=d(t,o,n,e))<u){var f=r;f>u&&(f=u),c(t,o,o+f,o+s,e),s=f}l.pushRun(o,s),l.mergeRuns(),r-=s,o+=s}while(0!==r);l.forceMergeRuns()}}}}(t)}(Bw);var Iw=Bw;function zw(t){var e=function(){if("undefined"==typeof Reflect||!yg)return!1;if(yg.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(yg(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,o=Eg(t);if(e){var n=Eg(this).constructor;i=yg(o,arguments,n)}else i=o.apply(this,arguments);return _g(this,i)}}var Fw=function(){function t(){Ra(this,t)}return Ha(t,[{key:"abstract",value:function(){throw new Error("Can't instantiate abstract class!")}},{key:"fake_use",value:function(){}},{key:"curveType",value:function(){return this.abstract()}},{key:"getPosition",value:function(t){return this.fake_use(t),this.abstract()}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(t,e,i),this.abstract()}},{key:"getTreeSize",value:function(t){return this.fake_use(t),this.abstract()}},{key:"sort",value:function(t){this.fake_use(t),this.abstract()}},{key:"fix",value:function(t,e){this.fake_use(t,e),this.abstract()}},{key:"shift",value:function(t,e){this.fake_use(t,e),this.abstract()}}]),t}(),Nw=function(t){kg(i,t);var e=zw(i);function i(t){var o;return Ra(this,i),(o=e.call(this)).layout=t,o}return Ha(i,[{key:"curveType",value:function(){return"horizontal"}},{key:"getPosition",value:function(t){return t.x}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.x=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_x,max:e.max_x}}},{key:"sort",value:function(t){Iw.sort(t,(function(t,e){return t.x-e.x}))}},{key:"fix",value:function(t,e){t.y=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.y=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].x+=e}}]),i}(Fw),Aw=function(t){kg(i,t);var e=zw(i);function i(t){var o;return Ra(this,i),(o=e.call(this)).layout=t,o}return Ha(i,[{key:"curveType",value:function(){return"vertical"}},{key:"getPosition",value:function(t){return t.y}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.y=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_y,max:e.max_y}}},{key:"sort",value:function(t){Iw.sort(t,(function(t,e){return t.y-e.y}))}},{key:"fix",value:function(t,e){t.x=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.x=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].y+=e}}]),i}(Fw),Rw=Jr.every;ue({target:"Array",proto:!0,forced:!Zh("every")},{every:function(t){return Rw(this,t,arguments.length>1?arguments[1]:void 0)}});var jw=oi("Array").every,Lw=Array.prototype,Hw=function(t){var e=t.every;return t===Lw||t instanceof Array&&e===Lw.every?jw:e};function Ww(t,e){var i=void 0!==Nh&&xr(t)||t["@@iterator"];if(!i){if(Hh(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return Vw(t,e);var o=Lh(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return rr(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Vw(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var o=0,n=function(){};return{s:n,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Vw(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}function qw(t,e){var i=new Um;return nd(t).call(t,(function(t){var e;nd(e=t.edges).call(e,(function(t){t.connected&&i.add(t)}))})),nd(i).call(i,(function(t){var i=t.from.id,o=t.to.id;null==e[i]&&(e[i]=0),(null==e[o]||e[i]>=e[o])&&(e[o]=e[i]+1)})),e}function Uw(t,e,i,o){var n,r,s=Bl(null),a=Dw(n=Fh(Jv(o).call(o))).call(n,(function(t,e){return t+1+e.edges.length}),0),h=i+"Id",d="to"===i?1:-1,l=Ww(o);try{var c=function(){var n=Bh(r.value,2),l=n[0],c=n[1];if(!o.has(l)||!t(c))return"continue";s[l]=0;for(var u=[c],f=0,p=void 0,v=function(){var t,n;if(!o.has(l))return"continue";var r=s[p.id]+d;if(nd(t=$d(n=p.edges).call(n,(function(t){return t.connected&&t.to!==t.from&&t[i]!==p&&o.has(t.toId)&&o.has(t.fromId)}))).call(t,(function(t){var o=t[h],n=s[o];(null==n||e(r,n))&&(s[o]=r,u.push(t[i]))})),f>a)return{v:{v:qw(o,s)}};++f};p=u.pop();){var g=v();if("continue"!==g&&"object"===zh(g))return g.v}};for(l.s();!(r=l.n()).done;){var u=c();if("continue"!==u&&"object"===zh(u))return u.v}}catch(t){l.e(t)}finally{l.f()}return s}var Yw=function(){function t(){Ra(this,t),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return Ha(t,[{key:"addRelation",value:function(t,e){void 0===this.childrenReference[t]&&(this.childrenReference[t]=[]),this.childrenReference[t].push(e),void 0===this.parentReference[e]&&(this.parentReference[e]=[]),this.parentReference[e].push(t)}},{key:"checkIfTree",value:function(){for(var t in this.parentReference)if(this.parentReference[t].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:"numTrees",value:function(){return this.treeIndex+1}},{key:"setTreeIndex",value:function(t,e){void 0!==e&&void 0===this.trees[t.id]&&(this.trees[t.id]=e,this.treeIndex=Math.max(e,this.treeIndex))}},{key:"ensureLevel",value:function(t){void 0===this.levels[t]&&(this.levels[t]=0)}},{key:"getMaxLevel",value:function(t){var e=this,i={};return function t(o){if(void 0!==i[o])return i[o];var n=e.levels[o];if(e.childrenReference[o]){var r=e.childrenReference[o];if(r.length>0)for(var s=0;s<r.length;s++)n=Math.max(n,t(r[s]))}return i[o]=n,n}(t)}},{key:"levelDownstream",value:function(t,e){void 0===this.levels[e.id]&&(void 0===this.levels[t.id]&&(this.levels[t.id]=0),this.levels[e.id]=this.levels[t.id]+1)}},{key:"setMinLevelToZero",value:function(t){var e=1e9;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&void 0!==this.levels[i]&&(e=Math.min(this.levels[i],e));for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&void 0!==this.levels[o]&&(this.levels[o]-=e)}},{key:"getTreeSize",value:function(t,e){var i=1e9,o=-1e9,n=1e9,r=-1e9;for(var s in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,s)&&this.trees[s]===e){var a=t[s];i=Math.min(a.x,i),o=Math.max(a.x,o),n=Math.min(a.y,n),r=Math.max(a.y,r)}return{min_x:i,max_x:o,min_y:n,max_y:r}}},{key:"hasSameParent",value:function(t,e){var i=this.parentReference[t.id],o=this.parentReference[e.id];if(void 0===i||void 0===o)return!1;for(var n=0;n<i.length;n++)for(var r=0;r<o.length;r++)if(i[n]==o[r])return!0;return!1}},{key:"inSameSubNetwork",value:function(t,e){return this.trees[t.id]===this.trees[e.id]}},{key:"getLevels",value:function(){return Gh(this.distributionOrdering)}},{key:"addToOrdering",value:function(t,e){void 0===this.distributionOrdering[e]&&(this.distributionOrdering[e]=[]);var i=!1,o=this.distributionOrdering[e];for(var n in o)if(o[n]===t){i=!0;break}i||(this.distributionOrdering[e].push(t),this.distributionIndex[t.id]=this.distributionOrdering[e].length-1)}}]),t}(),Xw=function(){function t(e){Ra(this,t),this.body=e,this._resetRNG(Math.random()+":"+Kh()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},Ke(this.options,this.defaultOptions),this.bindEventListeners()}return Ha(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",(function(){t.setupHierarchicalLayout()})),this.body.emitter.on("_dataLoaded",(function(){t.layoutNetwork()})),this.body.emitter.on("_resetHierarchicalLayout",(function(){t.setupHierarchicalLayout()})),this.body.emitter.on("_adjustEdgesForHierarchicalLayout",(function(){if(!0===t.options.hierarchical.enabled){var e=t.direction.curveType();t.body.emitter.emit("_forceDisableDynamicCurves",e,!1)}}))}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical,o=i.enabled;if(nf(["randomSeed","improvedLayout","clusterThreshold"],this.options,t),_f(this.options,t,"hierarchical"),void 0!==t.randomSeed&&this._resetRNG(t.randomSeed),!0===i.enabled)return!0===o&&this.body.emitter.emit("refresh",!0),"RL"===i.direction||"DU"===i.direction?i.levelSeparation>0&&(i.levelSeparation*=-1):i.levelSeparation<0&&(i.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(!0===o)return this.body.emitter.emit("refresh"),sf(e,this.optionsBackup)}return e}},{key:"_resetRNG",value:function(t){this.initialRandomSeed=t,this._rng=Vu(this.initialRandomSeed)}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(!0===this.options.hierarchical.enabled){var e=this.optionsBackup.physics;void 0===t.physics||!0===t.physics?(t.physics={enabled:void 0===e.enabled||e.enabled,solver:"hierarchicalRepulsion"},e.enabled=void 0===e.enabled||e.enabled,e.solver=e.solver||"barnesHut"):"object"===zh(t.physics)?(e.enabled=void 0===t.physics.enabled||t.physics.enabled,e.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):!1!==t.physics&&(e.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var i=this.direction.curveType();if(void 0===t.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1};else if(void 0===t.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1;else if("boolean"==typeof t.edges.smooth)this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:i};else{var o=t.edges.smooth;void 0!==o.type&&"dynamic"!==o.type&&(i=o.type),this.optionsBackup.edges={smooth:{enabled:void 0===o.enabled||o.enabled,type:void 0===o.type?"dynamic":o.type,roundness:void 0===o.roundness?.5:o.roundness,forceDirection:void 0!==o.forceDirection&&o.forceDirection}},t.edges.smooth={enabled:void 0===o.enabled||o.enabled,type:i,roundness:void 0===o.roundness?.5:o.roundness,forceDirection:void 0!==o.forceDirection&&o.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",i)}return t}},{key:"positionInitially",value:function(t){if(!0!==this.options.hierarchical.enabled){this._resetRNG(this.initialRandomSeed);for(var e=t.length+50,i=0;i<t.length;i++){var o=t[i],n=2*Math.PI*this._rng();void 0===o.x&&(o.x=e*Math.cos(n)),void 0===o.y&&(o.y=e*Math.sin(n))}}}},{key:"layoutNetwork",value:function(){if(!0!==this.options.hierarchical.enabled&&!0===this.options.improvedLayout){for(var t=this.body.nodeIndices,e=0,i=0;i<t.length;i++){!0===this.body.nodes[t[i]].predefinedPosition&&(e+=1)}if(e<.5*t.length){var o=0,n=this.options.clusterThreshold,r={clusterNodeProperties:{shape:"ellipse",label:"",group:"",font:{multi:!1}},clusterEdgeProperties:{label:"",font:{multi:!1},smooth:{enabled:!1}}};if(t.length>n){for(var s=t.length;t.length>n&&o<=10;){o+=1;var a=t.length;if(o%3==0?this.body.modules.clustering.clusterBridges(r):this.body.modules.clustering.clusterOutliers(r),a==t.length&&o%3!=0)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*s)})}o>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(t,this.body.edgeIndices,!0),this._shiftToCenter();for(var h=0;h<t.length;h++){var d=this.body.nodes[t[h]];!1===d.predefinedPosition&&(d.x+=70*(.5-this._rng()),d.y+=70*(.5-this._rng()))}this._declusterAll(),this.body.emitter.emit("_repositionBezierNodes")}}}},{key:"_shiftToCenter",value:function(){for(var t=Sm.getRangeCore(this.body.nodes,this.body.nodeIndices),e=Sm.findCenter(t),i=0;i<this.body.nodeIndices.length;i++){var o=this.body.nodes[this.body.nodeIndices[i]];o.x-=e.x,o.y-=e.y}}},{key:"_declusterAll",value:function(){for(var t=!0;!0===t;){t=!1;for(var e=0;e<this.body.nodeIndices.length;e++)!0===this.body.nodes[this.body.nodeIndices[e]].isCluster&&(t=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[e],{},!1));!0===t&&this.body.emitter.emit("_dataChanged")}}},{key:"getSeed",value:function(){return this.initialRandomSeed}},{key:"setupHierarchicalLayout",value:function(){if(!0===this.options.hierarchical.enabled&&this.body.nodeIndices.length>0){var t,e,i=!1,o=!1;for(e in this.lastNodeOnLevel={},this.hierarchical=new Yw,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&(void 0!==(t=this.body.nodes[e]).options.level?(i=!0,this.hierarchical.levels[e]=t.options.level):o=!0);if(!0===o&&!0===i)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");if(!0===o){var n=this.options.hierarchical.sortMethod;"hubsize"===n?this._determineLevelsByHubsize():"directed"===n?this._determineLevelsDirected():"custom"===n&&this._determineLevelsCustomCallback()}for(var r in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,r)&&this.hierarchical.ensureLevel(r);var s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(e,i){var o=t.hierarchical.trees;for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&o[n]===e&&t.direction.shift(n,i)},n=function(){for(var e=[],i=0;i<t.hierarchical.numTrees();i++)e.push(t.direction.getTreeSize(i));return e},r=function e(i,o){if(!o[i.id]&&(o[i.id]=!0,t.hierarchical.childrenReference[i.id])){var n=t.hierarchical.childrenReference[i.id];if(n.length>0)for(var r=0;r<n.length;r++)e(t.body.nodes[n[r]],o)}},s=function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,r=1e9,s=-1e9;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var h=t.body.nodes[a],d=t.hierarchical.levels[h.id],l=t.direction.getPosition(h),c=t._getSpaceAroundNode(h,e),u=Bh(c,2),f=u[0],p=u[1];o=Math.min(f,o),n=Math.min(p,n),d<=i&&(r=Math.min(l,r),s=Math.max(l,s))}return[r,s,o,n]},a=function(e,i){var o=t.hierarchical.getMaxLevel(e.id),n=t.hierarchical.getMaxLevel(i.id);return Math.min(o,n)},h=function(e,i,o){for(var n=t.hierarchical,r=0;r<i.length;r++){var s=i[r],a=n.distributionOrdering[s];if(a.length>1)for(var h=0;h<a.length-1;h++){var d=a[h],l=a[h+1];n.hasSameParent(d,l)&&n.inSameSubNetwork(d,l)&&e(d,l,o)}}},d=function(i,o){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],h=t.direction.getPosition(i),d=t.direction.getPosition(o),l=Math.abs(d-h),c=t.options.hierarchical.nodeSpacing;if(l>c){var u={},f={};r(i,u),r(o,f);var p=a(i,o),v=s(u,p),g=s(f,p),y=v[1],m=g[0],b=g[2],w=Math.abs(y-m);if(w>c){var k=y-m+c;k<-b+c&&(k=-b+c),k<0&&(t._shiftBlock(o.id,k),e=!0,!0===n&&t._centerParent(o))}}},l=function(o,n){for(var a=n.id,h=n.edges,d=t.hierarchical.levels[n.id],l=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},u=[],f=0;f<h.length;f++){var p=h[f];if(p.toId!=p.fromId){var v=p.toId==a?p.from:p.to;c[h[f].id]=v,t.hierarchical.levels[v.id]<d&&u.push(p)}}var g=function(e,i){for(var o=0,n=0;n<i.length;n++)if(void 0!==c[i[n].id]){var r=t.direction.getPosition(c[i[n].id])-e;o+=r/Math.sqrt(r*r+l)}return o},y=function(e,i){for(var o=0,n=0;n<i.length;n++)if(void 0!==c[i[n].id]){var r=t.direction.getPosition(c[i[n].id])-e;o-=l*Math.pow(r*r+l,-1.5)}return o},m=function(e,i){for(var o=t.direction.getPosition(n),r={},s=0;s<e;s++){var a=g(o,i),h=y(o,i);if(void 0!==r[o-=Math.max(-40,Math.min(40,Math.round(a/h)))])break;r[o]=s}return o},b=m(o,u);!function(o){var a=t.direction.getPosition(n);if(void 0===i[n.id]){var h={};r(n,h),i[n.id]=h}var d=s(i[n.id]),l=d[2],c=d[3],u=o-a,f=0;u>0?f=Math.min(u,c-t.options.hierarchical.nodeSpacing):u<0&&(f=-Math.min(-u,l-t.options.hierarchical.nodeSpacing)),0!=f&&(t._shiftBlock(n.id,f),e=!0)}(b),function(i){var o=t.direction.getPosition(n),r=Bh(t._getSpaceAroundNode(n),2),s=r[0],a=r[1],h=i-o,d=o;h>0?d=Math.min(o+(a-t.options.hierarchical.nodeSpacing),i):h<0&&(d=Math.max(o-(s-t.options.hierarchical.nodeSpacing),i)),d!==o&&(t.direction.setPosition(n,d),e=!0)}(b=m(o,h))};!0===this.options.hierarchical.blockShifting&&(function(i){var o=t.hierarchical.getLevels();o=ld(o).call(o);for(var n=0;n<i&&(e=!1,h(d,o,!0),!0===e);n++);}(5),function(){for(var e in t.body.nodes)Object.prototype.hasOwnProperty.call(t.body.nodes,e)&&t._centerParent(t.body.nodes[e])}()),!0===this.options.hierarchical.edgeMinimization&&function(i){var o=t.hierarchical.getLevels();o=ld(o).call(o);for(var n=0;n<i;n++){e=!1;for(var r=0;r<o.length;r++)for(var s=o[r],a=t.hierarchical.distributionOrdering[s],h=0;h<a.length;h++)l(1e3,a[h]);if(!0!==e)break}}(20),!0===this.options.hierarchical.parentCentralization&&function(){var e=t.hierarchical.getLevels();e=ld(e).call(e);for(var i=0;i<e.length;i++)for(var o=e[i],n=t.hierarchical.distributionOrdering[o],r=0;r<n.length;r++)t._centerParent(n[r])}(),function(){for(var e=n(),i=0,r=0;r<e.length-1;r++){i+=e[r].max-e[r+1].min+t.options.hierarchical.treeSpacing,o(r+1,i)}}()}},{key:"_getSpaceAroundNode",value:function(t,e){var i=!0;void 0===e&&(i=!1);var o=this.hierarchical.levels[t.id];if(void 0!==o){var n=this.hierarchical.distributionIndex[t.id],r=this.direction.getPosition(t),s=this.hierarchical.distributionOrdering[o],a=1e9,h=1e9;if(0!==n){var d=s[n-1];if(!0===i&&void 0===e[d.id]||!1===i)a=r-this.direction.getPosition(d)}if(n!=s.length-1){var l=s[n+1];if(!0===i&&void 0===e[l.id]||!1===i){var c=this.direction.getPosition(l);h=Math.min(h,c-r)}}return[a,h]}return[0,0]}},{key:"_centerParent",value:function(t){if(this.hierarchical.parentReference[t.id])for(var e=this.hierarchical.parentReference[t.id],i=0;i<e.length;i++){var o=e[i],n=this.body.nodes[o],r=this.hierarchical.childrenReference[o];if(void 0!==r){var s=this._getCenterPosition(r),a=this.direction.getPosition(n),h=Bh(this._getSpaceAroundNode(n),2),d=h[0],l=h[1],c=a-s;(c<0&&Math.abs(c)<l-this.options.hierarchical.nodeSpacing||c>0&&Math.abs(c)<d-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(n,s)}}}},{key:"_placeNodesByHierarchy",value:function(t){for(var e in this.positionedNodes={},t)if(Object.prototype.hasOwnProperty.call(t,e)){var i,o=Gh(t[e]);o=this._indexArrayToNodes(o),mw(i=this.direction).call(i,o);for(var n=0,r=0;r<o.length;r++){var s=o[r];if(void 0===this.positionedNodes[s.id]){var a=this.options.hierarchical.nodeSpacing,h=a*n;n>0&&(h=this.direction.getPosition(o[r-1])+a),this.direction.setPosition(s,h,e),this._validatePositionAndContinue(s,e,h),n++}}}}},{key:"_placeBranchNodes",value:function(t,e){var i,o=this.hierarchical.childrenReference[t];if(void 0!==o){for(var n=[],r=0;r<o.length;r++)n.push(this.body.nodes[o[r]]);mw(i=this.direction).call(i,n);for(var s=0;s<n.length;s++){var a=n[s],h=this.hierarchical.levels[a.id];if(!(h>e&&void 0===this.positionedNodes[a.id]))return;var d=this.options.hierarchical.nodeSpacing,l=void 0;l=0===s?this.direction.getPosition(this.body.nodes[t]):this.direction.getPosition(n[s-1])+d,this.direction.setPosition(a,l,h),this._validatePositionAndContinue(a,h,l)}var c=this._getCenterPosition(n);this.direction.setPosition(this.body.nodes[t],c,e)}}},{key:"_validatePositionAndContinue",value:function(t,e,i){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[e]){var o=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[e]]);if(i-o<this.options.hierarchical.nodeSpacing){var n=o+this.options.hierarchical.nodeSpacing-i,r=this._findCommonParent(this.lastNodeOnLevel[e],t.id);this._shiftBlock(r.withChild,n)}}this.lastNodeOnLevel[e]=t.id,this.positionedNodes[t.id]=!0,this._placeBranchNodes(t.id,e)}}},{key:"_indexArrayToNodes",value:function(t){for(var e=[],i=0;i<t.length;i++)e.push(this.body.nodes[t[i]]);return e}},{key:"_getDistribution",value:function(){var t,e,i={};for(t in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,t)){e=this.body.nodes[t];var o=void 0===this.hierarchical.levels[t]?0:this.hierarchical.levels[t];this.direction.fix(e,o),void 0===i[o]&&(i[o]={}),i[o][t]=e}return i}},{key:"_getActiveEdges",value:function(t){var e=this,i=[];return lf(t.edges,(function(t){var o;-1!==Cl(o=e.body.edgeIndices).call(o,t.id)&&i.push(t)})),i}},{key:"_getHubSizes",value:function(){var t=this,e={};lf(this.body.nodeIndices,(function(i){var o=t.body.nodes[i],n=t._getActiveEdges(o).length;e[n]=!0}));var i=[];return lf(e,(function(t){i.push(Number(t))})),mw(Iw).call(Iw,i,(function(t,e){return e-t})),i}},{key:"_determineLevelsByHubsize",value:function(){for(var t=this,e=function(e,i){t.hierarchical.levelDownstream(e,i)},i=this._getHubSizes(),o=function(o){var n=i[o];if(0===n)return"break";lf(t.body.nodeIndices,(function(i){var o=t.body.nodes[i];n===t._getActiveEdges(o).length&&t._crawlNetwork(e,i)}))},n=0;n<i.length;++n){if("break"===o(n))break}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this;this._crawlNetwork((function(e,i,o){var n=t.hierarchical.levels[e.id];void 0===n&&(n=t.hierarchical.levels[e.id]=1e5);var r=(Sm.cloneOptions(e,"node"),Sm.cloneOptions(i,"node"),void Sm.cloneOptions(o,"edge"));t.hierarchical.levels[i.id]=n+r})),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:"_determineLevelsDirected",value:function(){var t,e=this,i=Dw(t=this.body.nodeIndices).call(t,(function(t,i){return t.set(i,e.body.nodes[i]),t}),new Cv);"roots"===this.options.hierarchical.shakeTowards?this.hierarchical.levels=function(t){return Uw((function(e){var i,o;return Hw(i=$d(o=e.edges).call(o,(function(e){return t.has(e.toId)}))).call(i,(function(t){return t.from===e}))}),(function(t,e){return e<t}),"to",t)}(i):this.hierarchical.levels=function(t){return Uw((function(e){var i,o;return Hw(i=$d(o=e.edges).call(o,(function(e){return t.has(e.toId)}))).call(i,(function(t){return t.to===e}))}),(function(t,e){return e>t}),"from",t)}(i),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:"_generateMap",value:function(){var t=this;this._crawlNetwork((function(e,i){t.hierarchical.levels[i.id]>t.hierarchical.levels[e.id]&&t.hierarchical.addRelation(e.id,i.id)})),this.hierarchical.checkIfTree()}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments.length>1?arguments[1]:void 0,o={},n=function i(n,r){if(void 0===o[n.id]){var s;t.hierarchical.setTreeIndex(n,r),o[n.id]=!0;for(var a=t._getActiveEdges(n),h=0;h<a.length;h++){var d=a[h];!0===d.connected&&(s=d.toId==n.id?d.from:d.to,n.id!=s.id&&(e(n,s,d),i(s,r)))}}};if(void 0===i)for(var r=0,s=0;s<this.body.nodeIndices.length;s++){var a=this.body.nodeIndices[s];if(void 0===o[a]){var h=this.body.nodes[a];n(h,r),r+=1}}else{var d=this.body.nodes[i];if(void 0===d)return void console.error("Node not found:",i);n(d)}}},{key:"_shiftBlock",value:function(t,e){var i=this,o={};!function t(n){if(!o[n]){o[n]=!0,i.direction.shift(n,e);var r=i.hierarchical.childrenReference[n];if(void 0!==r)for(var s=0;s<r.length;s++)t(r[s])}}(t)}},{key:"_findCommonParent",value:function(t,e){var i=this,o={};return function t(e,o){var n=i.hierarchical.parentReference[o];if(void 0!==n)for(var r=0;r<n.length;r++){var s=n[r];e[s]=!0,t(e,s)}}(o,t),function t(e,o){var n=i.hierarchical.parentReference[o];if(void 0!==n)for(var r=0;r<n.length;r++){var s=n[r];if(void 0!==e[s])return{foundParent:s,withChild:o};var a=t(e,s);if(null!==a.foundParent)return a}return{foundParent:null,withChild:o}}(o,e)}},{key:"setDirectionStrategy",value:function(){var t="UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction;this.direction=t?new Nw(this):new Aw(this)}},{key:"_getCenterPosition",value:function(t){for(var e=1e9,i=-1e9,o=0;o<t.length;o++){var n=void 0;if(void 0!==t[o].id)n=t[o];else{var r=t[o];n=this.body.nodes[r]}var s=this.direction.getPosition(n);e=Math.min(e,s),i=Math.max(i,s)}return.5*(e+i)}}]),t}();function Gw(t,e){var i=void 0!==Nh&&xr(t)||t["@@iterator"];if(!i){if(Hh(t)||(i=function(t,e){var i;if(!t)return;if("string"==typeof t)return Kw(t,e);var o=Lh(i=Object.prototype.toString.call(t)).call(i,8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return rr(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Kw(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var o=0,n=function(){};return{s:n,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Kw(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}var $w=function(){function t(e,i,o,n){var r,s,a=this;Ra(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.interactionHandler=n,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._domEventListenerCleanupQueue=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},Ke(this.options,this.defaultOptions),this.body.emitter.on("destroy",(function(){a._clean()})),this.body.emitter.on("_dataChanged",si(r=this._restore).call(r,this)),this.body.emitter.on("_resetData",si(s=this._restore).call(s,this))}return Ha(t,[{key:"_restore",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,sf(this.options,t)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},!0===this.guiEnabled){var t,e;this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var i=this.selectionHandler.getSelectedNodeCount(),o=this.selectionHandler.getSelectedEdgeCount(),n=i+o,r=this.options.locales[this.options.locale],s=!1;!1!==this.options.addNode&&(this._createAddNodeButton(r),s=!0),!1!==this.options.addEdge&&(!0===s?this._createSeperator(1):s=!0,this._createAddEdgeButton(r)),1===i&&"function"==typeof this.options.editNode?(!0===s?this._createSeperator(2):s=!0,this._createEditNodeButton(r)):1===o&&0===i&&!1!==this.options.editEdge&&(!0===s?this._createSeperator(3):s=!0,this._createEditEdgeButton(r)),0!==n&&(i>0&&!1!==this.options.deleteNode||0===i&&!1!==this.options.deleteEdge)&&(!0===s&&this._createSeperator(4),this._createDeleteButton(r)),this._bindElementEvents(this.closeDiv,si(t=this.toggleEditMode).call(t,this)),this._temporaryBindEvent("select",si(e=this.showManipulatorToolbar).call(e,this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){var t;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addNode",!0===this.guiEnabled){var e,i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.addDescription||this.options.locales.en.addDescription),this._bindElementEvents(this.closeDiv,si(e=this.toggleEditMode).call(e,this))}this._temporaryBindEvent("click",si(t=this._performAddNode).call(t,this))}},{key:"editNode",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean();var e=this.selectionHandler.getSelectedNodes()[0];if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(!0!==e.isCluster){var i=sf({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,(function(e){null!=e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()}))}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){var t,e,i,o,n;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addEdge",!0===this.guiEnabled){var r,s=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(s),this._createSeperator(),this._createDescription(s.edgeDescription||this.options.locales.en.edgeDescription),this._bindElementEvents(this.closeDiv,si(r=this.toggleEditMode).call(r,this))}this._temporaryBindUI("onTouch",si(t=this._handleConnect).call(t,this)),this._temporaryBindUI("onDragEnd",si(e=this._finishConnect).call(e,this)),this._temporaryBindUI("onDrag",si(i=this._dragControlNode).call(i,this)),this._temporaryBindUI("onRelease",si(o=this._finishConnect).call(o,this)),this._temporaryBindUI("onDragStart",si(n=this._dragStartEdge).call(n,this)),this._temporaryBindUI("onHold",(function(){}))}},{key:"editEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"!==zh(this.options.editEdge)||"function"!=typeof this.options.editEdge.editWithoutDrag||(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],void 0===this.edgeBeingEditedId)){if(!0===this.guiEnabled){var t,e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindElementEvents(this.closeDiv,si(t=this.toggleEditMode).call(t,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],void 0!==this.edgeBeingEditedId){var i,o,n,r,s=this.body.edges[this.edgeBeingEditedId],a=this._getNewTargetNode(s.from.x,s.from.y),h=this._getNewTargetNode(s.to.x,s.to.y);this.temporaryIds.nodes.push(a.id),this.temporaryIds.nodes.push(h.id),this.body.nodes[a.id]=a,this.body.nodeIndices.push(a.id),this.body.nodes[h.id]=h,this.body.nodeIndices.push(h.id),this._temporaryBindUI("onTouch",si(i=this._controlNodeTouch).call(i,this)),this._temporaryBindUI("onTap",(function(){})),this._temporaryBindUI("onHold",(function(){})),this._temporaryBindUI("onDragStart",si(o=this._controlNodeDragStart).call(o,this)),this._temporaryBindUI("onDrag",si(n=this._controlNodeDrag).call(n,this)),this._temporaryBindUI("onDragEnd",si(r=this._controlNodeDragEnd).call(r,this)),this._temporaryBindUI("onMouseMove",(function(){})),this._temporaryBindEvent("beforeDrawing",(function(t){var e=s.edgeType.findBorderPositions(t);!1===a.selected&&(a.x=e.from.x,a.y=e.from.y),!1===h.selected&&(h.x=e.to.x,h.y=e.to.y)})),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}else{var d=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(d.from.id,d.to.id)}}},{key:"deleteSelected",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodeIds(),i=this.selectionHandler.getSelectedEdgeIds(),o=void 0;if(e.length>0){for(var n=0;n<e.length;n++)if(!0===this.body.nodes[e[n]].isCluster)return void alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);"function"==typeof this.options.deleteNode&&(o=this.options.deleteNode)}else i.length>0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var r={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(r,(function(e){null!=e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){var t,e;(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",!0===this.editMode?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",!0===this.editMode?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv)&&(this.closeDiv=document.createElement("button"),this.closeDiv.className="vis-close",this.closeDiv.setAttribute("aria-label",null!==(t=null===(e=this.options.locales[this.options.locale])||void 0===e?void 0:e.close)&&void 0!==t?t:this.options.locales.en.close),this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=sf({},this.options.controlNodeStyle);i.id="targetNode"+Cm(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){var t;this._clean(),this.manipulationDOM={},Qu(this.editModeDiv);var e=this.options.locales[this.options.locale],i=this._createButton("editMode","vis-edit vis-edit-mode",e.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(i),this._bindElementEvents(i,si(t=this.toggleEditMode).call(t,this))}},{key:"_clean",value:function(){this.inMode=!1,!0===this.guiEnabled&&(Qu(this.editModeDiv),Qu(this.manipulationDiv),this._cleanupDOMEventListeners()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanupDOMEventListeners",value:function(){var t,e,i=Gw(Od(t=this._domEventListenerCleanupQueue).call(t,0));try{for(i.s();!(e=i.n()).done;){(0,e.value)()}}catch(t){i.e(t)}finally{i.f()}}},{key:"_removeManipulationDOM",value:function(){this._clean(),Qu(this.manipulationDiv),Qu(this.editModeDiv),Qu(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}},{key:"_createSeperator",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e,i=this._createButton("addNode","vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,si(e=this.addNodeMode).call(e,this))}},{key:"_createAddEdgeButton",value:function(t){var e,i=this._createButton("addEdge","vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,si(e=this.addEdgeMode).call(e,this))}},{key:"_createEditNodeButton",value:function(t){var e,i=this._createButton("editNode","vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,si(e=this.editNode).call(e,this))}},{key:"_createEditEdgeButton",value:function(t){var e,i=this._createButton("editEdge","vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,si(e=this.editEdgeMode).call(e,this))}},{key:"_createDeleteButton",value:function(t){var e,i;i=this.options.rtl?"vis-delete-rtl":"vis-delete";var o=this._createButton("delete",i,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(o),this._bindElementEvents(o,si(e=this.deleteSelected).call(e,this))}},{key:"_createBackButton",value:function(t){var e,i=this._createButton("back","vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,si(e=this.showManipulatorToolbar).call(e,this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("button"),this.manipulationDOM[t+"Div"].className="vis-button "+e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerText=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDOM.descriptionLabel=document.createElement("div"),this.manipulationDOM.descriptionLabel.className="vis-none",this.manipulationDOM.descriptionLabel.innerText=t,this.manipulationDiv.appendChild(this.manipulationDOM.descriptionLabel)}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+Wl(Gh(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t<this.temporaryEventFunctions.length;t++){var e=this.temporaryEventFunctions[t].event,i=this.temporaryEventFunctions[t].boundFunction;this.body.emitter.off(e,i)}this.temporaryEventFunctions=[]}},{key:"_bindElementEvents",value:function(t,e){var i=new If(t,{});Fm(i,e),this._domEventListenerCleanupQueue.push((function(){i.destroy()}));var o=function(t){var i=t.keyCode,o=t.key;"Enter"!==o&&" "!==o&&13!==i&&32!==i||e()};t.addEventListener("keyup",o,!1),this._domEventListenerCleanupQueue.push((function(){t.removeEventListener("keyup",o,!1)}))}},{key:"_cleanupTemporaryNodesAndEdges",value:function(){for(var t=0;t<this.temporaryIds.edges.length;t++){var e;this.body.edges[this.temporaryIds.edges[t]].disconnect(),delete this.body.edges[this.temporaryIds.edges[t]];var i,o=Cl(e=this.body.edgeIndices).call(e,this.temporaryIds.edges[t]);if(-1!==o)Od(i=this.body.edgeIndices).call(i,o,1)}for(var n=0;n<this.temporaryIds.nodes.length;n++){var r;delete this.body.nodes[this.temporaryIds.nodes[n]];var s,a=Cl(r=this.body.nodeIndices).call(r,this.temporaryIds.nodes[n]);if(-1!==a)Od(s=this.body.nodeIndices).call(s,a,1)}this.temporaryIds={nodes:[],edges:[]}}},{key:"_controlNodeTouch",value:function(t){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=Ke({},this.body.view.translation)}},{key:"_controlNodeDragStart",value:function(){var t=this.lastTouch,e=this.selectionHandler._pointerToPositionObject(t),i=this.body.nodes[this.temporaryIds.nodes[0]],o=this.body.nodes[this.temporaryIds.nodes[1]],n=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;var r=i.isOverlappingWith(e),s=o.isOverlappingWith(e);!0===r?(this.selectedControlNode=i,n.edgeType.from=i):!0===s&&(this.selectedControlNode=o,n.edgeType.to=o),void 0!==this.selectedControlNode&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit("_redraw")}},{key:"_controlNodeDrag",value:function(t){this.body.emitter.emit("disablePhysics");var e=this.body.functions.getPointer(t.center),i=this.canvas.DOMtoCanvas(e);void 0!==this.selectedControlNode?(this.selectedControlNode.x=i.x,this.selectedControlNode.y=i.y):this.interactionHandler.onDrag(t),this.body.emitter.emit("_redraw")}},{key:"_controlNodeDragEnd",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=this.body.edges[this.edgeBeingEditedId];if(void 0!==this.selectedControlNode){this.selectionHandler.unselectAll();for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=n.length-1;s>=0;s--)if(n[s]!==this.selectedControlNode.id){r=this.body.nodes[n[s]];break}if(void 0!==r&&void 0!==this.selectedControlNode)if(!0===r.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(r.id,o.to.id):this._performEditEdge(o.from.id,r.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=Ke({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(!0===i.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+Cm(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=n.length-1;s>=0;s--){var a;if(-1===Cl(a=this.temporaryIds.nodes).call(a,n[s])){r=this.body.nodes[n[s]];break}}if(t.controlEdge={from:o,to:r?r.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragging",t,e),void 0!==this.temporaryIds.nodes[0]){var h=this.body.nodes[this.temporaryIds.nodes[0]];h.x=this.canvas._XconvertDOMtoCanvas(e.x),h.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else this.interactionHandler.onDrag(t)}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=n.length-1;s>=0;s--){var a;if(-1===Cl(a=this.temporaryIds.nodes).call(a,n[s])){r=this.body.nodes[n[s]];break}}this._cleanupTemporaryNodesAndEdges(),void 0!==r&&(!0===r.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[r.id]&&this._performAddEdge(o,r.id)),t.controlEdge={from:o,to:r?r.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragEnd",t,e),this.body.emitter.emit("_redraw")}},{key:"_dragStartEdge",value:function(t){var e=this.lastTouch;this.selectionHandler.generateClickEvent("dragStart",t,e,void 0,!0)}},{key:"_performAddNode",value:function(t){var e=this,i={id:Cm(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,(function(t){null!=t&&"addNode"===e.inMode&&e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar()}))}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,(function(t){null!=t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges.get(this.edgeBeingEditedId).label},n=this.options.editEdge;if("object"===zh(n)&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,(function(t){null==t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}(),Zw="string",Qw="boolean",Jw="number",tk="array",ek="object",ik=["arrow","bar","box","circle","crow","curve","diamond","image","inv_curve","inv_triangle","triangle","vee"],ok={borderWidth:{number:Jw},borderWidthSelected:{number:Jw,undefined:"undefined"},brokenImage:{string:Zw,undefined:"undefined"},chosen:{label:{boolean:Qw,function:"function"},node:{boolean:Qw,function:"function"},__type__:{object:ek,boolean:Qw}},color:{border:{string:Zw},background:{string:Zw},highlight:{border:{string:Zw},background:{string:Zw},__type__:{object:ek,string:Zw}},hover:{border:{string:Zw},background:{string:Zw},__type__:{object:ek,string:Zw}},__type__:{object:ek,string:Zw}},opacity:{number:Jw,undefined:"undefined"},fixed:{x:{boolean:Qw},y:{boolean:Qw},__type__:{object:ek,boolean:Qw}},font:{align:{string:Zw},color:{string:Zw},size:{number:Jw},face:{string:Zw},background:{string:Zw},strokeWidth:{number:Jw},strokeColor:{string:Zw},vadjust:{number:Jw},multi:{boolean:Qw,string:Zw},bold:{color:{string:Zw},size:{number:Jw},face:{string:Zw},mod:{string:Zw},vadjust:{number:Jw},__type__:{object:ek,string:Zw}},boldital:{color:{string:Zw},size:{number:Jw},face:{string:Zw},mod:{string:Zw},vadjust:{number:Jw},__type__:{object:ek,string:Zw}},ital:{color:{string:Zw},size:{number:Jw},face:{string:Zw},mod:{string:Zw},vadjust:{number:Jw},__type__:{object:ek,string:Zw}},mono:{color:{string:Zw},size:{number:Jw},face:{string:Zw},mod:{string:Zw},vadjust:{number:Jw},__type__:{object:ek,string:Zw}},__type__:{object:ek,string:Zw}},group:{string:Zw,number:Jw,undefined:"undefined"},heightConstraint:{minimum:{number:Jw},valign:{string:Zw},__type__:{object:ek,boolean:Qw,number:Jw}},hidden:{boolean:Qw},icon:{face:{string:Zw},code:{string:Zw},size:{number:Jw},color:{string:Zw},weight:{string:Zw,number:Jw},__type__:{object:ek}},id:{string:Zw,number:Jw},image:{selected:{string:Zw,undefined:"undefined"},unselected:{string:Zw,undefined:"undefined"},__type__:{object:ek,string:Zw}},imagePadding:{top:{number:Jw},right:{number:Jw},bottom:{number:Jw},left:{number:Jw},__type__:{object:ek,number:Jw}},label:{string:Zw,undefined:"undefined"},labelHighlightBold:{boolean:Qw},level:{number:Jw,undefined:"undefined"},margin:{top:{number:Jw},right:{number:Jw},bottom:{number:Jw},left:{number:Jw},__type__:{object:ek,number:Jw}},mass:{number:Jw},physics:{boolean:Qw},scaling:{min:{number:Jw},max:{number:Jw},label:{enabled:{boolean:Qw},min:{number:Jw},max:{number:Jw},maxVisible:{number:Jw},drawThreshold:{number:Jw},__type__:{object:ek,boolean:Qw}},customScalingFunction:{function:"function"},__type__:{object:ek}},shadow:{enabled:{boolean:Qw},color:{string:Zw},size:{number:Jw},x:{number:Jw},y:{number:Jw},__type__:{object:ek,boolean:Qw}},shape:{string:["custom","ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon","hexagon"]},ctxRenderer:{function:"function"},shapeProperties:{borderDashes:{boolean:Qw,array:tk},borderRadius:{number:Jw},interpolation:{boolean:Qw},useImageSize:{boolean:Qw},useBorderWithImage:{boolean:Qw},coordinateOrigin:{string:["center","top-left"]},__type__:{object:ek}},size:{number:Jw},title:{string:Zw,dom:"dom",undefined:"undefined"},value:{number:Jw,undefined:"undefined"},widthConstraint:{minimum:{number:Jw},maximum:{number:Jw},__type__:{object:ek,boolean:Qw,number:Jw}},x:{number:Jw},y:{number:Jw},__type__:{object:ek}},nk={configure:{enabled:{boolean:Qw},filter:{boolean:Qw,string:Zw,array:tk,function:"function"},container:{dom:"dom"},showButton:{boolean:Qw},__type__:{object:ek,boolean:Qw,string:Zw,array:tk,function:"function"}},edges:{arrows:{to:{enabled:{boolean:Qw},scaleFactor:{number:Jw},type:{string:ik},imageHeight:{number:Jw},imageWidth:{number:Jw},src:{string:Zw},__type__:{object:ek,boolean:Qw}},middle:{enabled:{boolean:Qw},scaleFactor:{number:Jw},type:{string:ik},imageWidth:{number:Jw},imageHeight:{number:Jw},src:{string:Zw},__type__:{object:ek,boolean:Qw}},from:{enabled:{boolean:Qw},scaleFactor:{number:Jw},type:{string:ik},imageWidth:{number:Jw},imageHeight:{number:Jw},src:{string:Zw},__type__:{object:ek,boolean:Qw}},__type__:{string:["from","to","middle"],object:ek}},endPointOffset:{from:{number:Jw},to:{number:Jw},__type__:{object:ek,number:Jw}},arrowStrikethrough:{boolean:Qw},background:{enabled:{boolean:Qw},color:{string:Zw},size:{number:Jw},dashes:{boolean:Qw,array:tk},__type__:{object:ek,boolean:Qw}},chosen:{label:{boolean:Qw,function:"function"},edge:{boolean:Qw,function:"function"},__type__:{object:ek,boolean:Qw}},color:{color:{string:Zw},highlight:{string:Zw},hover:{string:Zw},inherit:{string:["from","to","both"],boolean:Qw},opacity:{number:Jw},__type__:{object:ek,string:Zw}},dashes:{boolean:Qw,array:tk},font:{color:{string:Zw},size:{number:Jw},face:{string:Zw},background:{string:Zw},strokeWidth:{number:Jw},strokeColor:{string:Zw},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:Jw},multi:{boolean:Qw,string:Zw},bold:{color:{string:Zw},size:{number:Jw},face:{string:Zw},mod:{string:Zw},vadjust:{number:Jw},__type__:{object:ek,string:Zw}},boldital:{color:{string:Zw},size:{number:Jw},face:{string:Zw},mod:{string:Zw},vadjust:{number:Jw},__type__:{object:ek,string:Zw}},ital:{color:{string:Zw},size:{number:Jw},face:{string:Zw},mod:{string:Zw},vadjust:{number:Jw},__type__:{object:ek,string:Zw}},mono:{color:{string:Zw},size:{number:Jw},face:{string:Zw},mod:{string:Zw},vadjust:{number:Jw},__type__:{object:ek,string:Zw}},__type__:{object:ek,string:Zw}},hidden:{boolean:Qw},hoverWidth:{function:"function",number:Jw},label:{string:Zw,undefined:"undefined"},labelHighlightBold:{boolean:Qw},length:{number:Jw,undefined:"undefined"},physics:{boolean:Qw},scaling:{min:{number:Jw},max:{number:Jw},label:{enabled:{boolean:Qw},min:{number:Jw},max:{number:Jw},maxVisible:{number:Jw},drawThreshold:{number:Jw},__type__:{object:ek,boolean:Qw}},customScalingFunction:{function:"function"},__type__:{object:ek}},selectionWidth:{function:"function",number:Jw},selfReferenceSize:{number:Jw},selfReference:{size:{number:Jw},angle:{number:Jw},renderBehindTheNode:{boolean:Qw},__type__:{object:ek}},shadow:{enabled:{boolean:Qw},color:{string:Zw},size:{number:Jw},x:{number:Jw},y:{number:Jw},__type__:{object:ek,boolean:Qw}},smooth:{enabled:{boolean:Qw},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:Jw},forceDirection:{string:["horizontal","vertical","none"],boolean:Qw},__type__:{object:ek,boolean:Qw}},title:{string:Zw,undefined:"undefined"},width:{number:Jw},widthConstraint:{maximum:{number:Jw},__type__:{object:ek,boolean:Qw,number:Jw}},value:{number:Jw,undefined:"undefined"},__type__:{object:ek}},groups:{useDefaultGroups:{boolean:Qw},__any__:ok,__type__:{object:ek}},interaction:{dragNodes:{boolean:Qw},dragView:{boolean:Qw},hideEdgesOnDrag:{boolean:Qw},hideEdgesOnZoom:{boolean:Qw},hideNodesOnDrag:{boolean:Qw},hover:{boolean:Qw},keyboard:{enabled:{boolean:Qw},speed:{x:{number:Jw},y:{number:Jw},zoom:{number:Jw},__type__:{object:ek}},bindToWindow:{boolean:Qw},autoFocus:{boolean:Qw},__type__:{object:ek,boolean:Qw}},multiselect:{boolean:Qw},navigationButtons:{boolean:Qw},selectable:{boolean:Qw},selectConnectedEdges:{boolean:Qw},hoverConnectedEdges:{boolean:Qw},tooltipDelay:{number:Jw},zoomView:{boolean:Qw},zoomSpeed:{number:Jw},__type__:{object:ek}},layout:{randomSeed:{undefined:"undefined",number:Jw,string:Zw},improvedLayout:{boolean:Qw},clusterThreshold:{number:Jw},hierarchical:{enabled:{boolean:Qw},levelSeparation:{number:Jw},nodeSpacing:{number:Jw},treeSpacing:{number:Jw},blockShifting:{boolean:Qw},edgeMinimization:{boolean:Qw},parentCentralization:{boolean:Qw},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},shakeTowards:{string:["leaves","roots"]},__type__:{object:ek,boolean:Qw}},__type__:{object:ek}},manipulation:{enabled:{boolean:Qw},initiallyActive:{boolean:Qw},addNode:{boolean:Qw,function:"function"},addEdge:{boolean:Qw,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:ek,boolean:Qw,function:"function"}},deleteNode:{boolean:Qw,function:"function"},deleteEdge:{boolean:Qw,function:"function"},controlNodeStyle:ok,__type__:{object:ek,boolean:Qw}},nodes:ok,physics:{enabled:{boolean:Qw},barnesHut:{theta:{number:Jw},gravitationalConstant:{number:Jw},centralGravity:{number:Jw},springLength:{number:Jw},springConstant:{number:Jw},damping:{number:Jw},avoidOverlap:{number:Jw},__type__:{object:ek}},forceAtlas2Based:{theta:{number:Jw},gravitationalConstant:{number:Jw},centralGravity:{number:Jw},springLength:{number:Jw},springConstant:{number:Jw},damping:{number:Jw},avoidOverlap:{number:Jw},__type__:{object:ek}},repulsion:{centralGravity:{number:Jw},springLength:{number:Jw},springConstant:{number:Jw},nodeDistance:{number:Jw},damping:{number:Jw},__type__:{object:ek}},hierarchicalRepulsion:{centralGravity:{number:Jw},springLength:{number:Jw},springConstant:{number:Jw},nodeDistance:{number:Jw},damping:{number:Jw},avoidOverlap:{number:Jw},__type__:{object:ek}},maxVelocity:{number:Jw},minVelocity:{number:Jw},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:Qw},iterations:{number:Jw},updateInterval:{number:Jw},onlyDynamicEdges:{boolean:Qw},fit:{boolean:Qw},__type__:{object:ek,boolean:Qw}},timestep:{number:Jw},adaptiveTimestep:{boolean:Qw},wind:{x:{number:Jw},y:{number:Jw},__type__:{object:ek}},__type__:{object:ek,boolean:Qw}},autoResize:{boolean:Qw},clickToUse:{boolean:Qw},locale:{string:Zw},locales:{__any__:{any:"any"},__type__:{object:ek}},height:{string:Zw},width:{string:Zw},__type__:{object:ek}},rk={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown","hexagon"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"],shakeTowards:["leaves","roots"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0,autoFocus:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},sk=function(t,e,i){var o;return!(!Hd(t).call(t,"physics")||!Hd(o=rk.physics.solver).call(o,e)||i.physics.solver===e||"wind"===e)},ak=Object.freeze({__proto__:null,configuratorHideOption:sk,allOptions:nk,configureOptions:rk}),hk=function(){function t(){Ra(this,t)}return Ha(t,[{key:"getDistances",value:function(t,e,i){for(var o={},n=t.edges,r=0;r<e.length;r++){var s={};o[e[r]]=s;for(var a=0;a<e.length;a++)s[e[a]]=r==a?0:1e9}for(var h=0;h<i.length;h++){var d=n[i[h]];!0===d.connected&&void 0!==o[d.fromId]&&void 0!==o[d.toId]&&(o[d.fromId][d.toId]=1,o[d.toId][d.fromId]=1)}for(var l=e.length,c=0;c<l;c++)for(var u=e[c],f=o[u],p=0;p<l-1;p++)for(var v=e[p],g=o[v],y=p+1;y<l;y++){var m=e[y],b=o[m],w=Math.min(g[m],g[u]+f[m]);g[m]=w,b[v]=w}return o}}]),t}(),dk=function(){function t(e,i,o){Ra(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new hk}return Ha(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o),this._createE_matrix();for(var n=.01,r=1,s=0,a=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),h=5,d=1e9,l=0,c=0,u=0,f=0,p=0;d>n&&s<a;){s+=1;var v=this._getHighestEnergyNode(i),g=Bh(v,4);for(l=g[0],d=g[1],c=g[2],u=g[3],f=d,p=0;f>r&&p<h;){p+=1,this._moveNode(l,c,u);var y=this._getEnergy(l),m=Bh(y,3);f=m[0],c=m[1],u=m[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,s=0,a=0;a<e.length;a++){var h=e[a];if(!0!==i[h].predefinedPosition||!0===i[h].isCluster&&!0===t||!0!==i[h].options.fixed.x||!0!==i[h].options.fixed.y){var d=Bh(this._getEnergy(h),3),l=d[0],c=d[1],u=d[2];o<l&&(o=l,n=h,r=c,s=u)}}return[n,o,r,s]}},{key:"_getEnergy",value:function(t){var e=Bh(this.E_sums[t],2),i=e[0],o=e[1];return[Math.sqrt(Math.pow(i,2)+Math.pow(o,2)),i,o]}},{key:"_moveNode",value:function(t,e,i){for(var o=this.body.nodeIndices,n=this.body.nodes,r=0,s=0,a=0,h=n[t].x,d=n[t].y,l=this.K_matrix[t],c=this.L_matrix[t],u=0;u<o.length;u++){var f=o[u];if(f!==t){var p=n[f].x,v=n[f].y,g=l[f],y=c[f],m=1/Math.pow(Math.pow(h-p,2)+Math.pow(d-v,2),1.5);r+=g*(1-y*Math.pow(d-v,2)*m),s+=g*(y*(h-p)*(d-v)*m),a+=g*(1-y*Math.pow(h-p,2)*m)}}var b=(e/r+i/s)/(s/r-a/s),w=-(s*b+e)/r;n[t].x+=w,n[t].y+=b,this._updateE_matrix(t)}},{key:"_createL_matrix",value:function(t){var e=this.body.nodeIndices,i=this.springLength;this.L_matrix=[];for(var o=0;o<e.length;o++){this.L_matrix[e[o]]={};for(var n=0;n<e.length;n++)this.L_matrix[e[o]][e[n]]=i*t[e[o]][e[n]]}}},{key:"_createK_matrix",value:function(t){var e=this.body.nodeIndices,i=this.springConstant;this.K_matrix=[];for(var o=0;o<e.length;o++){this.K_matrix[e[o]]={};for(var n=0;n<e.length;n++)this.K_matrix[e[o]][e[n]]=i*Math.pow(t[e[o]][e[n]],-2)}}},{key:"_createE_matrix",value:function(){var t=this.body.nodeIndices,e=this.body.nodes;this.E_matrix={},this.E_sums={};for(var i=0;i<t.length;i++)this.E_matrix[t[i]]=[];for(var o=0;o<t.length;o++){for(var n=t[o],r=e[n].x,s=e[n].y,a=0,h=0,d=o;d<t.length;d++){var l=t[d];if(l!==n){var c=e[l].x,u=e[l].y,f=1/Math.sqrt(Math.pow(r-c,2)+Math.pow(s-u,2));this.E_matrix[n][d]=[this.K_matrix[n][l]*(r-c-this.L_matrix[n][l]*(r-c)*f),this.K_matrix[n][l]*(s-u-this.L_matrix[n][l]*(s-u)*f)],this.E_matrix[l][o]=this.E_matrix[n][d],a+=this.E_matrix[n][d][0],h+=this.E_matrix[n][d][1]}}this.E_sums[n]=[a,h]}}},{key:"_updateE_matrix",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=this.E_matrix[t],n=this.K_matrix[t],r=this.L_matrix[t],s=i[t].x,a=i[t].y,h=0,d=0,l=0;l<e.length;l++){var c=e[l];if(c!==t){var u=o[l],f=u[0],p=u[1],v=i[c].x,g=i[c].y,y=1/Math.sqrt(Math.pow(s-v,2)+Math.pow(a-g,2)),m=n[c]*(s-v-r[c]*(s-v)*y),b=n[c]*(a-g-r[c]*(a-g)*y);o[l]=[m,b],h+=m,d+=b;var w=this.E_sums[c];w[0]+=m-f,w[1]+=b-p}}this.E_sums[t]=[h,d]}}]),t}();function lk(t,e,i){var o,n,r,s,a=this;if(!(this instanceof lk))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:mp,clickToUse:!1},Ke(this.options,this.defaultOptions),this.body={container:t,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:si(o=this.on).call(o,this),off:si(n=this.off).call(n,this),emit:si(r=this.emit).call(r,this),once:si(s=this.once).call(s,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new wp((function(){return a.body.emitter.emit("_requestRedraw")})),this.groups=new Sv,this.canvas=new Am(this.body),this.selectionHandler=new Hb(this.body,this.canvas),this.interactionHandler=new qm(this.body,this.canvas,this.selectionHandler),this.view=new jm(this.body,this.canvas),this.renderer=new Im(this.body,this.canvas),this.physics=new bm(this.body),this.layoutEngine=new Xw(this.body),this.clustering=new Pm(this.body),this.manipulation=new $w(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new vy(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new am(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new dk(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(e)}pi(lk.prototype),lk.prototype.setOptions=function(t){var e=this;if(null===t&&(t=void 0),void 0!==t){!0===Nf.validate(t,nk)&&console.error("%cErrors have been found in the supplied options object.",Ff);if(nf(["locale","locales","clickToUse"],this.options,t),void 0!==t.locale&&(t.locale=function(t,e){try{var i=Bh(e.split(/[-_ /]/,2),2),o=i[0],n=i[1],r=null!=o?o.toLowerCase():null,s=null!=n?n.toUpperCase():null;if(r&&s){var a,h=r+"-"+s;if(Object.prototype.hasOwnProperty.call(t,h))return h;console.warn(jh(a="Unknown variant ".concat(s," of language ")).call(a,r,"."))}if(r){var d=r;if(Object.prototype.hasOwnProperty.call(t,d))return d;console.warn("Unknown language ".concat(r))}return console.warn("Unknown locale ".concat(e,", falling back to English.")),"en"}catch(t){return console.error(t),console.warn("Unexpected error while normalizing locale ".concat(e,", falling back to English.")),"en"}}(t.locales||this.options.locales,t.locale)),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit("refreshNodes"),"configure"in t&&(this.configurator||(this.configurator=new Bf(this,this.body.container,rk,this.canvas.pixelRatio,sk)),this.configurator.setOptions(t.configure)),this.configurator&&!0===this.configurator.options.enabled){var i={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};sf(i.nodes,this.nodesHandler.options),sf(i.edges,this.edgesHandler.options),sf(i.layout,this.layoutEngine.options),sf(i.interaction,this.selectionHandler.options),sf(i.interaction,this.renderer.options),sf(i.interaction,this.interactionHandler.options),sf(i.manipulation,this.manipulation.options),sf(i.physics,this.physics.options),sf(i.global,this.canvas.options),sf(i.global,this.options),this.configurator.setModuleOptions(i)}void 0!==t.clickToUse?!0===t.clickToUse?void 0===this.activator&&(this.activator=new Df(this.canvas.frame),this.activator.on("change",(function(){e.body.emitter.emit("activate")}))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},lk.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;for(var i in this.body.nodeIndices=[],this.body.edgeIndices=[],t)Object.prototype.hasOwnProperty.call(t,i)&&(this.clustering._isClusteredNode(i)||!1!==t[i].options.hidden||this.body.nodeIndices.push(t[i].id));for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var n=e[o],r=t[n.fromId],s=t[n.toId],a=void 0!==r&&void 0!==s;!this.clustering._isClusteredEdge(o)&&!1===n.options.hidden&&a&&!1===r.options.hidden&&!1===s.options.hidden&&this.body.edgeIndices.push(n.id)}},lk.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",(function(){t.edgesHandler._updateState(),t.body.emitter.emit("_dataUpdated")})),this.body.emitter.on("_dataUpdated",(function(){t.clustering._updateState(),t._updateVisibleIndices(),t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation"),t.body.emitter.emit("_requestRedraw")}))},lk.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or  parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){console.warn("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=pp(t.dot);this.setData(e)}else if(t&&t.gephi){console.warn("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=gp(t.gephi);this.setData(i)}else this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},lk.prototype.destroy=function(){for(var t in this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&delete this.body.nodes[t];for(var e in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,e)&&delete this.body.edges[e];Qu(this.body.container)},lk.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(Object.prototype.hasOwnProperty.call(t,e)){var r=t[e].getValue();void 0!==r&&(i=void 0===i?r:Math.min(r,i),o=void 0===o?r:Math.max(r,o),n+=r)}if(void 0!==i&&void 0!==o)for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&t[e].setValueRange(i,o,n)},lk.prototype.isActive=function(){return!this.activator||this.activator.active},lk.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},lk.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},lk.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},lk.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},lk.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},lk.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},lk.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},lk.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},lk.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},lk.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},lk.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)},lk.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)},lk.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)},lk.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)},lk.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)},lk.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},lk.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},lk.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},lk.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},lk.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},lk.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},lk.prototype.editNodeMode=function(){return console.warn("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},lk.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},lk.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},lk.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},lk.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},lk.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)},lk.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},lk.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},lk.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},lk.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},lk.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},lk.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},lk.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},lk.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},lk.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},lk.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},lk.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodeIds.apply(this.selectionHandler,arguments)},lk.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdgeIds.apply(this.selectionHandler,arguments)},lk.prototype.getNodeAt=function(){var t=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},lk.prototype.getEdgeAt=function(){var t=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},lk.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},lk.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},lk.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.selectionHandler.commitWithoutEmitting.apply(this.selectionHandler),this.redraw()},lk.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},lk.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},lk.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},lk.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},lk.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},lk.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},lk.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},lk.prototype.getOptionsFromConfigurator=function(){var t={};return this.configurator&&(t=this.configurator.getOptions.apply(this.configurator)),t};var ck=pp;t.Network=lk,t.NetworkImages=wp,t.networkDOTParser=vp,t.networkGephiParser=yp,t.networkOptions=ak,t.parseDOTNetwork=ck,t.parseGephiNetwork=gp,Object.defineProperty(t,"__esModule",{value:!0})}))}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){(function(global){
/**
 * vis-data
 * http://visjs.org/
 *
 * Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data.
 *
 * @version 7.1.2
 * @date    2021-01-08T20:37:11.601Z
 *
 * @copyright (c) 2011-2017 Almende B.V, http://almende.com
 * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
 *
 * @license
 * vis.js is dual licensed under both
 *
 *   1. The Apache 2.0 License
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *   and
 *
 *   2. The MIT License
 *      http://opensource.org/licenses/MIT
 *
 * vis.js may be distributed under either license.
 */
(function(global,factory){true?factory(exports):undefined})(this,(function(exports){var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function createCommonjsModule(fn){var module={exports:{}};return fn(module,module.exports),module.exports}var check=function(it){return it&&it.Math==Math&&it};var global$1=check(typeof globalThis=="object"&&globalThis)||check(typeof window=="object"&&window)||check(typeof self=="object"&&self)||check(typeof commonjsGlobal=="object"&&commonjsGlobal)||function(){return this}()||Function("return this")();var fails=function(exec){try{return!!exec()}catch(error){return true}};var descriptors=!fails((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}));var nativePropertyIsEnumerable={}.propertyIsEnumerable;var getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;var NASHORN_BUG=getOwnPropertyDescriptor&&!nativePropertyIsEnumerable.call({1:2},1);var f=NASHORN_BUG?function propertyIsEnumerable(V){var descriptor=getOwnPropertyDescriptor(this,V);return!!descriptor&&descriptor.enumerable}:nativePropertyIsEnumerable;var objectPropertyIsEnumerable={f:f};var createPropertyDescriptor=function(bitmap,value){return{enumerable:!(bitmap&1),configurable:!(bitmap&2),writable:!(bitmap&4),value:value}};var toString={}.toString;var classofRaw=function(it){return toString.call(it).slice(8,-1)};var split="".split;var indexedObject=fails((function(){return!Object("z").propertyIsEnumerable(0)}))?function(it){return classofRaw(it)=="String"?split.call(it,""):Object(it)}:Object;var requireObjectCoercible=function(it){if(it==undefined)throw TypeError("Can't call method on "+it);return it};var toIndexedObject=function(it){return indexedObject(requireObjectCoercible(it))};var isObject=function(it){return typeof it==="object"?it!==null:typeof it==="function"};var toPrimitive=function(input,PREFERRED_STRING){if(!isObject(input))return input;var fn,val;if(PREFERRED_STRING&&typeof(fn=input.toString)=="function"&&!isObject(val=fn.call(input)))return val;if(typeof(fn=input.valueOf)=="function"&&!isObject(val=fn.call(input)))return val;if(!PREFERRED_STRING&&typeof(fn=input.toString)=="function"&&!isObject(val=fn.call(input)))return val;throw TypeError("Can't convert object to primitive value")};var hasOwnProperty={}.hasOwnProperty;var has=function(it,key){return hasOwnProperty.call(it,key)};var document$1=global$1.document;var EXISTS=isObject(document$1)&&isObject(document$1.createElement);var documentCreateElement=function(it){return EXISTS?document$1.createElement(it):{}};var ie8DomDefine=!descriptors&&!fails((function(){return Object.defineProperty(documentCreateElement("div"),"a",{get:function(){return 7}}).a!=7}));var nativeGetOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;var f$1=descriptors?nativeGetOwnPropertyDescriptor:function getOwnPropertyDescriptor(O,P){O=toIndexedObject(O);P=toPrimitive(P,true);if(ie8DomDefine)try{return nativeGetOwnPropertyDescriptor(O,P)}catch(error){}if(has(O,P))return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O,P),O[P])};var objectGetOwnPropertyDescriptor={f:f$1};var replacement=/#|\.prototype\./;var isForced=function(feature,detection){var value=data[normalize(feature)];return value==POLYFILL?true:value==NATIVE?false:typeof detection=="function"?fails(detection):!!detection};var normalize=isForced.normalize=function(string){return String(string).replace(replacement,".").toLowerCase()};var data=isForced.data={};var NATIVE=isForced.NATIVE="N";var POLYFILL=isForced.POLYFILL="P";var isForced_1=isForced;var path={};var aFunction=function(it){if(typeof it!="function"){throw TypeError(String(it)+" is not a function")}return it};var functionBindContext=function(fn,that,length){aFunction(fn);if(that===undefined)return fn;switch(length){case 0:return function(){return fn.call(that)};case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}};var anObject=function(it){if(!isObject(it)){throw TypeError(String(it)+" is not an object")}return it};var nativeDefineProperty=Object.defineProperty;var f$2=descriptors?nativeDefineProperty:function defineProperty(O,P,Attributes){anObject(O);P=toPrimitive(P,true);anObject(Attributes);if(ie8DomDefine)try{return nativeDefineProperty(O,P,Attributes)}catch(error){}if("get"in Attributes||"set"in Attributes)throw TypeError("Accessors not supported");if("value"in Attributes)O[P]=Attributes.value;return O};var objectDefineProperty={f:f$2};var createNonEnumerableProperty=descriptors?function(object,key,value){return objectDefineProperty.f(object,key,createPropertyDescriptor(1,value))}:function(object,key,value){object[key]=value;return object};var getOwnPropertyDescriptor$1=objectGetOwnPropertyDescriptor.f;var wrapConstructor=function(NativeConstructor){var Wrapper=function(a,b,c){if(this instanceof NativeConstructor){switch(arguments.length){case 0:return new NativeConstructor;case 1:return new NativeConstructor(a);case 2:return new NativeConstructor(a,b)}return new NativeConstructor(a,b,c)}return NativeConstructor.apply(this,arguments)};Wrapper.prototype=NativeConstructor.prototype;return Wrapper};var _export=function(options,source){var TARGET=options.target;var GLOBAL=options.global;var STATIC=options.stat;var PROTO=options.proto;var nativeSource=GLOBAL?global$1:STATIC?global$1[TARGET]:(global$1[TARGET]||{}).prototype;var target=GLOBAL?path:path[TARGET]||(path[TARGET]={});var targetPrototype=target.prototype;var FORCED,USE_NATIVE,VIRTUAL_PROTOTYPE;var key,sourceProperty,targetProperty,nativeProperty,resultProperty,descriptor;for(key in source){FORCED=isForced_1(GLOBAL?key:TARGET+(STATIC?".":"#")+key,options.forced);USE_NATIVE=!FORCED&&nativeSource&&has(nativeSource,key);targetProperty=target[key];if(USE_NATIVE)if(options.noTargetGet){descriptor=getOwnPropertyDescriptor$1(nativeSource,key);nativeProperty=descriptor&&descriptor.value}else nativeProperty=nativeSource[key];sourceProperty=USE_NATIVE&&nativeProperty?nativeProperty:source[key];if(USE_NATIVE&&typeof targetProperty===typeof sourceProperty)continue;if(options.bind&&USE_NATIVE)resultProperty=functionBindContext(sourceProperty,global$1);else if(options.wrap&&USE_NATIVE)resultProperty=wrapConstructor(sourceProperty);else if(PROTO&&typeof sourceProperty=="function")resultProperty=functionBindContext(Function.call,sourceProperty);else resultProperty=sourceProperty;if(options.sham||sourceProperty&&sourceProperty.sham||targetProperty&&targetProperty.sham){createNonEnumerableProperty(resultProperty,"sham",true)}target[key]=resultProperty;if(PROTO){VIRTUAL_PROTOTYPE=TARGET+"Prototype";if(!has(path,VIRTUAL_PROTOTYPE)){createNonEnumerableProperty(path,VIRTUAL_PROTOTYPE,{})}path[VIRTUAL_PROTOTYPE][key]=sourceProperty;if(options.real&&targetPrototype&&!targetPrototype[key]){createNonEnumerableProperty(targetPrototype,key,sourceProperty)}}}};var isArray=Array.isArray||function isArray(arg){return classofRaw(arg)=="Array"};var ceil=Math.ceil;var floor=Math.floor;var toInteger=function(argument){return isNaN(argument=+argument)?0:(argument>0?floor:ceil)(argument)};var min=Math.min;var toLength=function(argument){return argument>0?min(toInteger(argument),9007199254740991):0};var flattenIntoArray=function(target,original,source,sourceLen,start,depth,mapper,thisArg){var targetIndex=start;var sourceIndex=0;var mapFn=mapper?functionBindContext(mapper,thisArg,3):false;var element;while(sourceIndex<sourceLen){if(sourceIndex in source){element=mapFn?mapFn(source[sourceIndex],sourceIndex,original):source[sourceIndex];if(depth>0&&isArray(element)){targetIndex=flattenIntoArray(target,original,element,toLength(element.length),targetIndex,depth-1)-1}else{if(targetIndex>=9007199254740991)throw TypeError("Exceed the acceptable array length");target[targetIndex]=element}targetIndex++}sourceIndex++}return targetIndex};var flattenIntoArray_1=flattenIntoArray;var toObject=function(argument){return Object(requireObjectCoercible(argument))};var setGlobal=function(key,value){try{createNonEnumerableProperty(global$1,key,value)}catch(error){global$1[key]=value}return value};var SHARED="__core-js_shared__";var store=global$1[SHARED]||setGlobal(SHARED,{});var sharedStore=store;var shared=createCommonjsModule((function(module){(module.exports=function(key,value){return sharedStore[key]||(sharedStore[key]=value!==undefined?value:{})})("versions",[]).push({version:"3.7.0",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})}));var id=0;var postfix=Math.random();var uid=function(key){return"Symbol("+String(key===undefined?"":key)+")_"+(++id+postfix).toString(36)};var nativeSymbol=!!Object.getOwnPropertySymbols&&!fails((function(){return!String(Symbol())}));var useSymbolAsUid=nativeSymbol&&!Symbol.sham&&typeof Symbol.iterator=="symbol";var WellKnownSymbolsStore=shared("wks");var Symbol$1=global$1.Symbol;var createWellKnownSymbol=useSymbolAsUid?Symbol$1:Symbol$1&&Symbol$1.withoutSetter||uid;var wellKnownSymbol=function(name){if(!has(WellKnownSymbolsStore,name)){if(nativeSymbol&&has(Symbol$1,name))WellKnownSymbolsStore[name]=Symbol$1[name];else WellKnownSymbolsStore[name]=createWellKnownSymbol("Symbol."+name)}return WellKnownSymbolsStore[name]};var SPECIES=wellKnownSymbol("species");var arraySpeciesCreate=function(originalArray,length){var C;if(isArray(originalArray)){C=originalArray.constructor;if(typeof C=="function"&&(C===Array||isArray(C.prototype)))C=undefined;else if(isObject(C)){C=C[SPECIES];if(C===null)C=undefined}}return new(C===undefined?Array:C)(length===0?0:length)};_export({target:"Array",proto:true},{flatMap:function flatMap(callbackfn){var O=toObject(this);var sourceLen=toLength(O.length);var A;aFunction(callbackfn);A=arraySpeciesCreate(O,0);A.length=flattenIntoArray_1(A,O,O,sourceLen,0,1,callbackfn,arguments.length>1?arguments[1]:undefined);return A}});var entryVirtual=function(CONSTRUCTOR){return path[CONSTRUCTOR+"Prototype"]};var flatMap=entryVirtual("Array").flatMap;var ArrayPrototype=Array.prototype;var flatMap_1=function(it){var own=it.flatMap;return it===ArrayPrototype||it instanceof Array&&own===ArrayPrototype.flatMap?flatMap:own};var flatMap$1=flatMap_1;var flatMap$2=flatMap$1;var push=[].push;var createMethod=function(TYPE){var IS_MAP=TYPE==1;var IS_FILTER=TYPE==2;var IS_SOME=TYPE==3;var IS_EVERY=TYPE==4;var IS_FIND_INDEX=TYPE==6;var NO_HOLES=TYPE==5||IS_FIND_INDEX;return function($this,callbackfn,that,specificCreate){var O=toObject($this);var self=indexedObject(O);var boundFunction=functionBindContext(callbackfn,that,3);var length=toLength(self.length);var index=0;var create=specificCreate||arraySpeciesCreate;var target=IS_MAP?create($this,length):IS_FILTER?create($this,0):undefined;var value,result;for(;length>index;index++)if(NO_HOLES||index in self){value=self[index];result=boundFunction(value,index,O);if(TYPE){if(IS_MAP)target[index]=result;else if(result)switch(TYPE){case 3:return true;case 5:return value;case 6:return index;case 2:push.call(target,value)}else if(IS_EVERY)return false}}return IS_FIND_INDEX?-1:IS_SOME||IS_EVERY?IS_EVERY:target}};var arrayIteration={forEach:createMethod(0),map:createMethod(1),filter:createMethod(2),some:createMethod(3),every:createMethod(4),find:createMethod(5),findIndex:createMethod(6)};var aFunction$1=function(variable){return typeof variable=="function"?variable:undefined};var getBuiltIn=function(namespace,method){return arguments.length<2?aFunction$1(path[namespace])||aFunction$1(global$1[namespace]):path[namespace]&&path[namespace][method]||global$1[namespace]&&global$1[namespace][method]};var engineUserAgent=getBuiltIn("navigator","userAgent")||"";var process=global$1.process;var versions=process&&process.versions;var v8=versions&&versions.v8;var match,version;if(v8){match=v8.split(".");version=match[0]+match[1]}else if(engineUserAgent){match=engineUserAgent.match(/Edge\/(\d+)/);if(!match||match[1]>=74){match=engineUserAgent.match(/Chrome\/(\d+)/);if(match)version=match[1]}}var engineV8Version=version&&+version;var SPECIES$1=wellKnownSymbol("species");var arrayMethodHasSpeciesSupport=function(METHOD_NAME){return engineV8Version>=51||!fails((function(){var array=[];var constructor=array.constructor={};constructor[SPECIES$1]=function(){return{foo:1}};return array[METHOD_NAME](Boolean).foo!==1}))};var defineProperty=Object.defineProperty;var cache={};var thrower=function(it){throw it};var arrayMethodUsesToLength=function(METHOD_NAME,options){if(has(cache,METHOD_NAME))return cache[METHOD_NAME];if(!options)options={};var method=[][METHOD_NAME];var ACCESSORS=has(options,"ACCESSORS")?options.ACCESSORS:false;var argument0=has(options,0)?options[0]:thrower;var argument1=has(options,1)?options[1]:undefined;return cache[METHOD_NAME]=!!method&&!fails((function(){if(ACCESSORS&&!descriptors)return true;var O={length:-1};if(ACCESSORS)defineProperty(O,1,{enumerable:true,get:thrower});else O[1]=1;method.call(O,argument0,argument1)}))};var $map=arrayIteration.map;var HAS_SPECIES_SUPPORT=arrayMethodHasSpeciesSupport("map");var USES_TO_LENGTH=arrayMethodUsesToLength("map");_export({target:"Array",proto:true,forced:!HAS_SPECIES_SUPPORT||!USES_TO_LENGTH},{map:function map(callbackfn){return $map(this,callbackfn,arguments.length>1?arguments[1]:undefined)}});var map=entryVirtual("Array").map;var ArrayPrototype$1=Array.prototype;var map_1=function(it){var own=it.map;return it===ArrayPrototype$1||it instanceof Array&&own===ArrayPrototype$1.map?map:own};var map$1=map_1;var map$2=map$1;var $filter=arrayIteration.filter;var HAS_SPECIES_SUPPORT$1=arrayMethodHasSpeciesSupport("filter");var USES_TO_LENGTH$1=arrayMethodUsesToLength("filter");_export({target:"Array",proto:true,forced:!HAS_SPECIES_SUPPORT$1||!USES_TO_LENGTH$1},{filter:function filter(callbackfn){return $filter(this,callbackfn,arguments.length>1?arguments[1]:undefined)}});var filter=entryVirtual("Array").filter;var ArrayPrototype$2=Array.prototype;var filter_1=function(it){var own=it.filter;return it===ArrayPrototype$2||it instanceof Array&&own===ArrayPrototype$2.filter?filter:own};var filter$1=filter_1;var filter$2=filter$1;var createMethod$1=function(IS_RIGHT){return function(that,callbackfn,argumentsLength,memo){aFunction(callbackfn);var O=toObject(that);var self=indexedObject(O);var length=toLength(O.length);var index=IS_RIGHT?length-1:0;var i=IS_RIGHT?-1:1;if(argumentsLength<2)while(true){if(index in self){memo=self[index];index+=i;break}index+=i;if(IS_RIGHT?index<0:length<=index){throw TypeError("Reduce of empty array with no initial value")}}for(;IS_RIGHT?index>=0:length>index;index+=i)if(index in self){memo=callbackfn(memo,self[index],index,O)}return memo}};var arrayReduce={left:createMethod$1(false),right:createMethod$1(true)};var arrayMethodIsStrict=function(METHOD_NAME,argument){var method=[][METHOD_NAME];return!!method&&fails((function(){method.call(null,argument||function(){throw 1},1)}))};var engineIsNode=classofRaw(global$1.process)=="process";var $reduce=arrayReduce.left;var STRICT_METHOD=arrayMethodIsStrict("reduce");var USES_TO_LENGTH$2=arrayMethodUsesToLength("reduce",{1:0});var CHROME_BUG=!engineIsNode&&engineV8Version>79&&engineV8Version<83;_export({target:"Array",proto:true,forced:!STRICT_METHOD||!USES_TO_LENGTH$2||CHROME_BUG},{reduce:function reduce(callbackfn){return $reduce(this,callbackfn,arguments.length,arguments.length>1?arguments[1]:undefined)}});var reduce=entryVirtual("Array").reduce;var ArrayPrototype$3=Array.prototype;var reduce_1=function(it){var own=it.reduce;return it===ArrayPrototype$3||it instanceof Array&&own===ArrayPrototype$3.reduce?reduce:own};var reduce$1=reduce_1;var reduce$2=reduce$1;var slice=[].slice;var factories={};var construct=function(C,argsLength,args){if(!(argsLength in factories)){for(var list=[],i=0;i<argsLength;i++)list[i]="a["+i+"]";factories[argsLength]=Function("C,a","return new C("+list.join(",")+")")}return factories[argsLength](C,args)};var functionBind=Function.bind||function bind(that){var fn=aFunction(this);var partArgs=slice.call(arguments,1);var boundFunction=function bound(){var args=partArgs.concat(slice.call(arguments));return this instanceof boundFunction?construct(fn,args.length,args):fn.apply(that,args)};if(isObject(fn.prototype))boundFunction.prototype=fn.prototype;return boundFunction};_export({target:"Function",proto:true},{bind:functionBind});var bind=entryVirtual("Function").bind;var FunctionPrototype=Function.prototype;var bind_1=function(it){var own=it.bind;return it===FunctionPrototype||it instanceof Function&&own===FunctionPrototype.bind?bind:own};var bind$1=bind_1;var bind$2=bind$1;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var classCallCheck=_classCallCheck;_export({target:"Object",stat:true,forced:!descriptors,sham:!descriptors},{defineProperty:objectDefineProperty.f});var defineProperty_1=createCommonjsModule((function(module){var Object=path.Object;var defineProperty=module.exports=function defineProperty(it,key,desc){return Object.defineProperty(it,key,desc)};if(Object.defineProperty.sham)defineProperty.sham=true}));var defineProperty$1=defineProperty_1;var defineProperty$2=defineProperty$1;function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;defineProperty$2(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var createClass=_createClass;function createNewDataPipeFrom(from){return new DataPipeUnderConstruction(from)}var SimpleDataPipe=function(){function SimpleDataPipe(_source,_transformers,_target){var _context,_context2,_context3;classCallCheck(this,SimpleDataPipe);this._source=_source;this._transformers=_transformers;this._target=_target;this._listeners={add:bind$2(_context=this._add).call(_context,this),remove:bind$2(_context2=this._remove).call(_context2,this),update:bind$2(_context3=this._update).call(_context3,this)}}createClass(SimpleDataPipe,[{key:"all",value:function all(){this._target.update(this._transformItems(this._source.get()));return this}},{key:"start",value:function start(){this._source.on("add",this._listeners.add);this._source.on("remove",this._listeners.remove);this._source.on("update",this._listeners.update);return this}},{key:"stop",value:function stop(){this._source.off("add",this._listeners.add);this._source.off("remove",this._listeners.remove);this._source.off("update",this._listeners.update);return this}},{key:"_transformItems",value:function _transformItems(items){var _context4;return reduce$2(_context4=this._transformers).call(_context4,(function(items,transform){return transform(items)}),items)}},{key:"_add",value:function _add(_name,payload){if(payload==null){return}this._target.add(this._transformItems(this._source.get(payload.items)))}},{key:"_update",value:function _update(_name,payload){if(payload==null){return}this._target.update(this._transformItems(this._source.get(payload.items)))}},{key:"_remove",value:function _remove(_name,payload){if(payload==null){return}this._target.remove(this._transformItems(payload.oldData))}}]);return SimpleDataPipe}();var DataPipeUnderConstruction=function(){function DataPipeUnderConstruction(_source){classCallCheck(this,DataPipeUnderConstruction);this._source=_source;this._transformers=[]}createClass(DataPipeUnderConstruction,[{key:"filter",value:function filter(callback){this._transformers.push((function(input){return filter$2(input).call(input,callback)}));return this}},{key:"map",value:function map(callback){this._transformers.push((function(input){return map$2(input).call(input,callback)}));return this}},{key:"flatMap",value:function flatMap(callback){this._transformers.push((function(input){return flatMap$2(input).call(input,callback)}));return this}},{key:"to",value:function to(target){return new SimpleDataPipe(this._source,this._transformers,target)}}]);return DataPipeUnderConstruction}();var defineProperty$3=defineProperty_1;var defineProperty$4=defineProperty$3;var max=Math.max;var min$1=Math.min;var toAbsoluteIndex=function(index,length){var integer=toInteger(index);return integer<0?max(integer+length,0):min$1(integer,length)};var createMethod$2=function(IS_INCLUDES){return function($this,el,fromIndex){var O=toIndexedObject($this);var length=toLength(O.length);var index=toAbsoluteIndex(fromIndex,length);var value;if(IS_INCLUDES&&el!=el)while(length>index){value=O[index++];if(value!=value)return true}else for(;length>index;index++){if((IS_INCLUDES||index in O)&&O[index]===el)return IS_INCLUDES||index||0}return!IS_INCLUDES&&-1}};var arrayIncludes={includes:createMethod$2(true),indexOf:createMethod$2(false)};var hiddenKeys={};var indexOf=arrayIncludes.indexOf;var objectKeysInternal=function(object,names){var O=toIndexedObject(object);var i=0;var result=[];var key;for(key in O)!has(hiddenKeys,key)&&has(O,key)&&result.push(key);while(names.length>i)if(has(O,key=names[i++])){~indexOf(result,key)||result.push(key)}return result};var enumBugKeys=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"];var objectKeys=Object.keys||function keys(O){return objectKeysInternal(O,enumBugKeys)};var objectDefineProperties=descriptors?Object.defineProperties:function defineProperties(O,Properties){anObject(O);var keys=objectKeys(Properties);var length=keys.length;var index=0;var key;while(length>index)objectDefineProperty.f(O,key=keys[index++],Properties[key]);return O};_export({target:"Object",stat:true,forced:!descriptors,sham:!descriptors},{defineProperties:objectDefineProperties});var defineProperties_1=createCommonjsModule((function(module){var Object=path.Object;var defineProperties=module.exports=function defineProperties(T,D){return Object.defineProperties(T,D)};if(Object.defineProperties.sham)defineProperties.sham=true}));var defineProperties=defineProperties_1;var defineProperties$1=defineProperties;var hiddenKeys$1=enumBugKeys.concat("length","prototype");var f$3=Object.getOwnPropertyNames||function getOwnPropertyNames(O){return objectKeysInternal(O,hiddenKeys$1)};var objectGetOwnPropertyNames={f:f$3};var f$4=Object.getOwnPropertySymbols;var objectGetOwnPropertySymbols={f:f$4};var ownKeys=getBuiltIn("Reflect","ownKeys")||function ownKeys(it){var keys=objectGetOwnPropertyNames.f(anObject(it));var getOwnPropertySymbols=objectGetOwnPropertySymbols.f;return getOwnPropertySymbols?keys.concat(getOwnPropertySymbols(it)):keys};var createProperty=function(object,key,value){var propertyKey=toPrimitive(key);if(propertyKey in object)objectDefineProperty.f(object,propertyKey,createPropertyDescriptor(0,value));else object[propertyKey]=value};_export({target:"Object",stat:true,sham:!descriptors},{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(object){var O=toIndexedObject(object);var getOwnPropertyDescriptor=objectGetOwnPropertyDescriptor.f;var keys=ownKeys(O);var result={};var index=0;var key,descriptor;while(keys.length>index){descriptor=getOwnPropertyDescriptor(O,key=keys[index++]);if(descriptor!==undefined)createProperty(result,key,descriptor)}return result}});var getOwnPropertyDescriptors=path.Object.getOwnPropertyDescriptors;var getOwnPropertyDescriptors$1=getOwnPropertyDescriptors;var getOwnPropertyDescriptors$2=getOwnPropertyDescriptors$1;var nativeGetOwnPropertyDescriptor$1=objectGetOwnPropertyDescriptor.f;var FAILS_ON_PRIMITIVES=fails((function(){nativeGetOwnPropertyDescriptor$1(1)}));var FORCED=!descriptors||FAILS_ON_PRIMITIVES;_export({target:"Object",stat:true,forced:FORCED,sham:!descriptors},{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(it,key){return nativeGetOwnPropertyDescriptor$1(toIndexedObject(it),key)}});var getOwnPropertyDescriptor_1=createCommonjsModule((function(module){var Object=path.Object;var getOwnPropertyDescriptor=module.exports=function getOwnPropertyDescriptor(it,key){return Object.getOwnPropertyDescriptor(it,key)};if(Object.getOwnPropertyDescriptor.sham)getOwnPropertyDescriptor.sham=true}));var getOwnPropertyDescriptor$2=getOwnPropertyDescriptor_1;var getOwnPropertyDescriptor$3=getOwnPropertyDescriptor$2;var html=getBuiltIn("document","documentElement");var keys=shared("keys");var sharedKey=function(key){return keys[key]||(keys[key]=uid(key))};var GT=">";var LT="<";var PROTOTYPE="prototype";var SCRIPT="script";var IE_PROTO=sharedKey("IE_PROTO");var EmptyConstructor=function(){};var scriptTag=function(content){return LT+SCRIPT+GT+content+LT+"/"+SCRIPT+GT};var NullProtoObjectViaActiveX=function(activeXDocument){activeXDocument.write(scriptTag(""));activeXDocument.close();var temp=activeXDocument.parentWindow.Object;activeXDocument=null;return temp};var NullProtoObjectViaIFrame=function(){var iframe=documentCreateElement("iframe");var JS="java"+SCRIPT+":";var iframeDocument;iframe.style.display="none";html.appendChild(iframe);iframe.src=String(JS);iframeDocument=iframe.contentWindow.document;iframeDocument.open();iframeDocument.write(scriptTag("document.F=Object"));iframeDocument.close();return iframeDocument.F};var activeXDocument;var NullProtoObject=function(){try{activeXDocument=document.domain&&new ActiveXObject("htmlfile")}catch(error){}NullProtoObject=activeXDocument?NullProtoObjectViaActiveX(activeXDocument):NullProtoObjectViaIFrame();var length=enumBugKeys.length;while(length--)delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];return NullProtoObject()};hiddenKeys[IE_PROTO]=true;var objectCreate=Object.create||function create(O,Properties){var result;if(O!==null){EmptyConstructor[PROTOTYPE]=anObject(O);result=new EmptyConstructor;EmptyConstructor[PROTOTYPE]=null;result[IE_PROTO]=O}else result=NullProtoObject();return Properties===undefined?result:objectDefineProperties(result,Properties)};var nativeGetOwnPropertyNames=objectGetOwnPropertyNames.f;var toString$1={}.toString;var windowNames=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];var getWindowNames=function(it){try{return nativeGetOwnPropertyNames(it)}catch(error){return windowNames.slice()}};var f$5=function getOwnPropertyNames(it){return windowNames&&toString$1.call(it)=="[object Window]"?getWindowNames(it):nativeGetOwnPropertyNames(toIndexedObject(it))};var objectGetOwnPropertyNamesExternal={f:f$5};var redefine=function(target,key,value,options){if(options&&options.enumerable)target[key]=value;else createNonEnumerableProperty(target,key,value)};var f$6=wellKnownSymbol;var wellKnownSymbolWrapped={f:f$6};var defineProperty$5=objectDefineProperty.f;var defineWellKnownSymbol=function(NAME){var Symbol=path.Symbol||(path.Symbol={});if(!has(Symbol,NAME))defineProperty$5(Symbol,NAME,{value:wellKnownSymbolWrapped.f(NAME)})};var TO_STRING_TAG=wellKnownSymbol("toStringTag");var test={};test[TO_STRING_TAG]="z";var toStringTagSupport=String(test)==="[object z]";var TO_STRING_TAG$1=wellKnownSymbol("toStringTag");var CORRECT_ARGUMENTS=classofRaw(function(){return arguments}())=="Arguments";var tryGet=function(it,key){try{return it[key]}catch(error){}};var classof=toStringTagSupport?classofRaw:function(it){var O,tag,result;return it===undefined?"Undefined":it===null?"Null":typeof(tag=tryGet(O=Object(it),TO_STRING_TAG$1))=="string"?tag:CORRECT_ARGUMENTS?classofRaw(O):(result=classofRaw(O))=="Object"&&typeof O.callee=="function"?"Arguments":result};var objectToString=toStringTagSupport?{}.toString:function toString(){return"[object "+classof(this)+"]"};var defineProperty$6=objectDefineProperty.f;var TO_STRING_TAG$2=wellKnownSymbol("toStringTag");var setToStringTag=function(it,TAG,STATIC,SET_METHOD){if(it){var target=STATIC?it:it.prototype;if(!has(target,TO_STRING_TAG$2)){defineProperty$6(target,TO_STRING_TAG$2,{configurable:true,value:TAG})}if(SET_METHOD&&!toStringTagSupport){createNonEnumerableProperty(target,"toString",objectToString)}}};var functionToString=Function.toString;if(typeof sharedStore.inspectSource!="function"){sharedStore.inspectSource=function(it){return functionToString.call(it)}}var inspectSource=sharedStore.inspectSource;var WeakMap=global$1.WeakMap;var nativeWeakMap=typeof WeakMap==="function"&&/native code/.test(inspectSource(WeakMap));var WeakMap$1=global$1.WeakMap;var set,get,has$1;var enforce=function(it){return has$1(it)?get(it):set(it,{})};var getterFor=function(TYPE){return function(it){var state;if(!isObject(it)||(state=get(it)).type!==TYPE){throw TypeError("Incompatible receiver, "+TYPE+" required")}return state}};if(nativeWeakMap){var store$1=sharedStore.state||(sharedStore.state=new WeakMap$1);var wmget=store$1.get;var wmhas=store$1.has;var wmset=store$1.set;set=function(it,metadata){metadata.facade=it;wmset.call(store$1,it,metadata);return metadata};get=function(it){return wmget.call(store$1,it)||{}};has$1=function(it){return wmhas.call(store$1,it)}}else{var STATE=sharedKey("state");hiddenKeys[STATE]=true;set=function(it,metadata){metadata.facade=it;createNonEnumerableProperty(it,STATE,metadata);return metadata};get=function(it){return has(it,STATE)?it[STATE]:{}};has$1=function(it){return has(it,STATE)}}var internalState={set:set,get:get,has:has$1,enforce:enforce,getterFor:getterFor};var $forEach=arrayIteration.forEach;var HIDDEN=sharedKey("hidden");var SYMBOL="Symbol";var PROTOTYPE$1="prototype";var TO_PRIMITIVE=wellKnownSymbol("toPrimitive");var setInternalState=internalState.set;var getInternalState=internalState.getterFor(SYMBOL);var ObjectPrototype=Object[PROTOTYPE$1];var $Symbol=global$1.Symbol;var $stringify=getBuiltIn("JSON","stringify");var nativeGetOwnPropertyDescriptor$2=objectGetOwnPropertyDescriptor.f;var nativeDefineProperty$1=objectDefineProperty.f;var nativeGetOwnPropertyNames$1=objectGetOwnPropertyNamesExternal.f;var nativePropertyIsEnumerable$1=objectPropertyIsEnumerable.f;var AllSymbols=shared("symbols");var ObjectPrototypeSymbols=shared("op-symbols");var StringToSymbolRegistry=shared("string-to-symbol-registry");var SymbolToStringRegistry=shared("symbol-to-string-registry");var WellKnownSymbolsStore$1=shared("wks");var QObject=global$1.QObject;var USE_SETTER=!QObject||!QObject[PROTOTYPE$1]||!QObject[PROTOTYPE$1].findChild;var setSymbolDescriptor=descriptors&&fails((function(){return objectCreate(nativeDefineProperty$1({},"a",{get:function(){return nativeDefineProperty$1(this,"a",{value:7}).a}})).a!=7}))?function(O,P,Attributes){var ObjectPrototypeDescriptor=nativeGetOwnPropertyDescriptor$2(ObjectPrototype,P);if(ObjectPrototypeDescriptor)delete ObjectPrototype[P];nativeDefineProperty$1(O,P,Attributes);if(ObjectPrototypeDescriptor&&O!==ObjectPrototype){nativeDefineProperty$1(ObjectPrototype,P,ObjectPrototypeDescriptor)}}:nativeDefineProperty$1;var wrap=function(tag,description){var symbol=AllSymbols[tag]=objectCreate($Symbol[PROTOTYPE$1]);setInternalState(symbol,{type:SYMBOL,tag:tag,description:description});if(!descriptors)symbol.description=description;return symbol};var isSymbol=useSymbolAsUid?function(it){return typeof it=="symbol"}:function(it){return Object(it)instanceof $Symbol};var $defineProperty=function defineProperty(O,P,Attributes){if(O===ObjectPrototype)$defineProperty(ObjectPrototypeSymbols,P,Attributes);anObject(O);var key=toPrimitive(P,true);anObject(Attributes);if(has(AllSymbols,key)){if(!Attributes.enumerable){if(!has(O,HIDDEN))nativeDefineProperty$1(O,HIDDEN,createPropertyDescriptor(1,{}));O[HIDDEN][key]=true}else{if(has(O,HIDDEN)&&O[HIDDEN][key])O[HIDDEN][key]=false;Attributes=objectCreate(Attributes,{enumerable:createPropertyDescriptor(0,false)})}return setSymbolDescriptor(O,key,Attributes)}return nativeDefineProperty$1(O,key,Attributes)};var $defineProperties=function defineProperties(O,Properties){anObject(O);var properties=toIndexedObject(Properties);var keys=objectKeys(properties).concat($getOwnPropertySymbols(properties));$forEach(keys,(function(key){if(!descriptors||$propertyIsEnumerable.call(properties,key))$defineProperty(O,key,properties[key])}));return O};var $create=function create(O,Properties){return Properties===undefined?objectCreate(O):$defineProperties(objectCreate(O),Properties)};var $propertyIsEnumerable=function propertyIsEnumerable(V){var P=toPrimitive(V,true);var enumerable=nativePropertyIsEnumerable$1.call(this,P);if(this===ObjectPrototype&&has(AllSymbols,P)&&!has(ObjectPrototypeSymbols,P))return false;return enumerable||!has(this,P)||!has(AllSymbols,P)||has(this,HIDDEN)&&this[HIDDEN][P]?enumerable:true};var $getOwnPropertyDescriptor=function getOwnPropertyDescriptor(O,P){var it=toIndexedObject(O);var key=toPrimitive(P,true);if(it===ObjectPrototype&&has(AllSymbols,key)&&!has(ObjectPrototypeSymbols,key))return;var descriptor=nativeGetOwnPropertyDescriptor$2(it,key);if(descriptor&&has(AllSymbols,key)&&!(has(it,HIDDEN)&&it[HIDDEN][key])){descriptor.enumerable=true}return descriptor};var $getOwnPropertyNames=function getOwnPropertyNames(O){var names=nativeGetOwnPropertyNames$1(toIndexedObject(O));var result=[];$forEach(names,(function(key){if(!has(AllSymbols,key)&&!has(hiddenKeys,key))result.push(key)}));return result};var $getOwnPropertySymbols=function getOwnPropertySymbols(O){var IS_OBJECT_PROTOTYPE=O===ObjectPrototype;var names=nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE?ObjectPrototypeSymbols:toIndexedObject(O));var result=[];$forEach(names,(function(key){if(has(AllSymbols,key)&&(!IS_OBJECT_PROTOTYPE||has(ObjectPrototype,key))){result.push(AllSymbols[key])}}));return result};if(!nativeSymbol){$Symbol=function Symbol(){if(this instanceof $Symbol)throw TypeError("Symbol is not a constructor");var description=!arguments.length||arguments[0]===undefined?undefined:String(arguments[0]);var tag=uid(description);var setter=function(value){if(this===ObjectPrototype)setter.call(ObjectPrototypeSymbols,value);if(has(this,HIDDEN)&&has(this[HIDDEN],tag))this[HIDDEN][tag]=false;setSymbolDescriptor(this,tag,createPropertyDescriptor(1,value))};if(descriptors&&USE_SETTER)setSymbolDescriptor(ObjectPrototype,tag,{configurable:true,set:setter});return wrap(tag,description)};redefine($Symbol[PROTOTYPE$1],"toString",(function toString(){return getInternalState(this).tag}));redefine($Symbol,"withoutSetter",(function(description){return wrap(uid(description),description)}));objectPropertyIsEnumerable.f=$propertyIsEnumerable;objectDefineProperty.f=$defineProperty;objectGetOwnPropertyDescriptor.f=$getOwnPropertyDescriptor;objectGetOwnPropertyNames.f=objectGetOwnPropertyNamesExternal.f=$getOwnPropertyNames;objectGetOwnPropertySymbols.f=$getOwnPropertySymbols;wellKnownSymbolWrapped.f=function(name){return wrap(wellKnownSymbol(name),name)};if(descriptors){nativeDefineProperty$1($Symbol[PROTOTYPE$1],"description",{configurable:true,get:function description(){return getInternalState(this).description}})}}_export({global:true,wrap:true,forced:!nativeSymbol,sham:!nativeSymbol},{Symbol:$Symbol});$forEach(objectKeys(WellKnownSymbolsStore$1),(function(name){defineWellKnownSymbol(name)}));_export({target:SYMBOL,stat:true,forced:!nativeSymbol},{for:function(key){var string=String(key);if(has(StringToSymbolRegistry,string))return StringToSymbolRegistry[string];var symbol=$Symbol(string);StringToSymbolRegistry[string]=symbol;SymbolToStringRegistry[symbol]=string;return symbol},keyFor:function keyFor(sym){if(!isSymbol(sym))throw TypeError(sym+" is not a symbol");if(has(SymbolToStringRegistry,sym))return SymbolToStringRegistry[sym]},useSetter:function(){USE_SETTER=true},useSimple:function(){USE_SETTER=false}});_export({target:"Object",stat:true,forced:!nativeSymbol,sham:!descriptors},{create:$create,defineProperty:$defineProperty,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor});_export({target:"Object",stat:true,forced:!nativeSymbol},{getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols});_export({target:"Object",stat:true,forced:fails((function(){objectGetOwnPropertySymbols.f(1)}))},{getOwnPropertySymbols:function getOwnPropertySymbols(it){return objectGetOwnPropertySymbols.f(toObject(it))}});if($stringify){var FORCED_JSON_STRINGIFY=!nativeSymbol||fails((function(){var symbol=$Symbol();return $stringify([symbol])!="[null]"||$stringify({a:symbol})!="{}"||$stringify(Object(symbol))!="{}"}));_export({target:"JSON",stat:true,forced:FORCED_JSON_STRINGIFY},{stringify:function stringify(it,replacer,space){var args=[it];var index=1;var $replacer;while(arguments.length>index)args.push(arguments[index++]);$replacer=replacer;if(!isObject(replacer)&&it===undefined||isSymbol(it))return;if(!isArray(replacer))replacer=function(key,value){if(typeof $replacer=="function")value=$replacer.call(this,key,value);if(!isSymbol(value))return value};args[1]=replacer;return $stringify.apply(null,args)}})}if(!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]){createNonEnumerableProperty($Symbol[PROTOTYPE$1],TO_PRIMITIVE,$Symbol[PROTOTYPE$1].valueOf)}setToStringTag($Symbol,SYMBOL);hiddenKeys[HIDDEN]=true;var getOwnPropertySymbols=path.Object.getOwnPropertySymbols;var getOwnPropertySymbols$1=getOwnPropertySymbols;var getOwnPropertySymbols$2=getOwnPropertySymbols$1;var iterators={};var correctPrototypeGetter=!fails((function(){function F(){}F.prototype.constructor=null;return Object.getPrototypeOf(new F)!==F.prototype}));var IE_PROTO$1=sharedKey("IE_PROTO");var ObjectPrototype$1=Object.prototype;var objectGetPrototypeOf=correctPrototypeGetter?Object.getPrototypeOf:function(O){O=toObject(O);if(has(O,IE_PROTO$1))return O[IE_PROTO$1];if(typeof O.constructor=="function"&&O instanceof O.constructor){return O.constructor.prototype}return O instanceof Object?ObjectPrototype$1:null};var ITERATOR=wellKnownSymbol("iterator");var BUGGY_SAFARI_ITERATORS=false;var IteratorPrototype,PrototypeOfArrayIteratorPrototype,arrayIterator;if([].keys){arrayIterator=[].keys();if(!("next"in arrayIterator))BUGGY_SAFARI_ITERATORS=true;else{PrototypeOfArrayIteratorPrototype=objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));if(PrototypeOfArrayIteratorPrototype!==Object.prototype)IteratorPrototype=PrototypeOfArrayIteratorPrototype}}if(IteratorPrototype==undefined)IteratorPrototype={};var iteratorsCore={IteratorPrototype:IteratorPrototype,BUGGY_SAFARI_ITERATORS:BUGGY_SAFARI_ITERATORS};var IteratorPrototype$1=iteratorsCore.IteratorPrototype;var returnThis=function(){return this};var createIteratorConstructor=function(IteratorConstructor,NAME,next){var TO_STRING_TAG=NAME+" Iterator";IteratorConstructor.prototype=objectCreate(IteratorPrototype$1,{next:createPropertyDescriptor(1,next)});setToStringTag(IteratorConstructor,TO_STRING_TAG,false,true);iterators[TO_STRING_TAG]=returnThis;return IteratorConstructor};var aPossiblePrototype=function(it){if(!isObject(it)&&it!==null){throw TypeError("Can't set "+String(it)+" as a prototype")}return it};var objectSetPrototypeOf=Object.setPrototypeOf||("__proto__"in{}?function(){var CORRECT_SETTER=false;var test={};var setter;try{setter=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set;setter.call(test,[]);CORRECT_SETTER=test instanceof Array}catch(error){}return function setPrototypeOf(O,proto){anObject(O);aPossiblePrototype(proto);if(CORRECT_SETTER)setter.call(O,proto);else O.__proto__=proto;return O}}():undefined);var IteratorPrototype$2=iteratorsCore.IteratorPrototype;var BUGGY_SAFARI_ITERATORS$1=iteratorsCore.BUGGY_SAFARI_ITERATORS;var ITERATOR$1=wellKnownSymbol("iterator");var KEYS="keys";var VALUES="values";var ENTRIES="entries";var returnThis$1=function(){return this};var defineIterator=function(Iterable,NAME,IteratorConstructor,next,DEFAULT,IS_SET,FORCED){createIteratorConstructor(IteratorConstructor,NAME,next);var getIterationMethod=function(KIND){if(KIND===DEFAULT&&defaultIterator)return defaultIterator;if(!BUGGY_SAFARI_ITERATORS$1&&KIND in IterablePrototype)return IterablePrototype[KIND];switch(KIND){case KEYS:return function keys(){return new IteratorConstructor(this,KIND)};case VALUES:return function values(){return new IteratorConstructor(this,KIND)};case ENTRIES:return function entries(){return new IteratorConstructor(this,KIND)}}return function(){return new IteratorConstructor(this)}};var TO_STRING_TAG=NAME+" Iterator";var INCORRECT_VALUES_NAME=false;var IterablePrototype=Iterable.prototype;var nativeIterator=IterablePrototype[ITERATOR$1]||IterablePrototype["@@iterator"]||DEFAULT&&IterablePrototype[DEFAULT];var defaultIterator=!BUGGY_SAFARI_ITERATORS$1&&nativeIterator||getIterationMethod(DEFAULT);var anyNativeIterator=NAME=="Array"?IterablePrototype.entries||nativeIterator:nativeIterator;var CurrentIteratorPrototype,methods,KEY;if(anyNativeIterator){CurrentIteratorPrototype=objectGetPrototypeOf(anyNativeIterator.call(new Iterable));if(IteratorPrototype$2!==Object.prototype&&CurrentIteratorPrototype.next){setToStringTag(CurrentIteratorPrototype,TO_STRING_TAG,true,true);iterators[TO_STRING_TAG]=returnThis$1}}if(DEFAULT==VALUES&&nativeIterator&&nativeIterator.name!==VALUES){INCORRECT_VALUES_NAME=true;defaultIterator=function values(){return nativeIterator.call(this)}}if(FORCED&&IterablePrototype[ITERATOR$1]!==defaultIterator){createNonEnumerableProperty(IterablePrototype,ITERATOR$1,defaultIterator)}iterators[NAME]=defaultIterator;if(DEFAULT){methods={values:getIterationMethod(VALUES),keys:IS_SET?defaultIterator:getIterationMethod(KEYS),entries:getIterationMethod(ENTRIES)};if(FORCED)for(KEY in methods){if(BUGGY_SAFARI_ITERATORS$1||INCORRECT_VALUES_NAME||!(KEY in IterablePrototype)){redefine(IterablePrototype,KEY,methods[KEY])}}else _export({target:NAME,proto:true,forced:BUGGY_SAFARI_ITERATORS$1||INCORRECT_VALUES_NAME},methods)}return methods};var ARRAY_ITERATOR="Array Iterator";var setInternalState$1=internalState.set;var getInternalState$1=internalState.getterFor(ARRAY_ITERATOR);var es_array_iterator=defineIterator(Array,"Array",(function(iterated,kind){setInternalState$1(this,{type:ARRAY_ITERATOR,target:toIndexedObject(iterated),index:0,kind:kind})}),(function(){var state=getInternalState$1(this);var target=state.target;var kind=state.kind;var index=state.index++;if(!target||index>=target.length){state.target=undefined;return{value:undefined,done:true}}if(kind=="keys")return{value:index,done:false};if(kind=="values")return{value:target[index],done:false};return{value:[index,target[index]],done:false}}),"values");iterators.Arguments=iterators.Array;var domIterables={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0};var TO_STRING_TAG$3=wellKnownSymbol("toStringTag");for(var COLLECTION_NAME in domIterables){var Collection=global$1[COLLECTION_NAME];var CollectionPrototype=Collection&&Collection.prototype;if(CollectionPrototype&&classof(CollectionPrototype)!==TO_STRING_TAG$3){createNonEnumerableProperty(CollectionPrototype,TO_STRING_TAG$3,COLLECTION_NAME)}iterators[COLLECTION_NAME]=iterators.Array}var createMethod$3=function(CONVERT_TO_STRING){return function($this,pos){var S=String(requireObjectCoercible($this));var position=toInteger(pos);var size=S.length;var first,second;if(position<0||position>=size)return CONVERT_TO_STRING?"":undefined;first=S.charCodeAt(position);return first<55296||first>56319||position+1===size||(second=S.charCodeAt(position+1))<56320||second>57343?CONVERT_TO_STRING?S.charAt(position):first:CONVERT_TO_STRING?S.slice(position,position+2):(first-55296<<10)+(second-56320)+65536}};var stringMultibyte={codeAt:createMethod$3(false),charAt:createMethod$3(true)};var charAt=stringMultibyte.charAt;var STRING_ITERATOR="String Iterator";var setInternalState$2=internalState.set;var getInternalState$2=internalState.getterFor(STRING_ITERATOR);defineIterator(String,"String",(function(iterated){setInternalState$2(this,{type:STRING_ITERATOR,string:String(iterated),index:0})}),(function next(){var state=getInternalState$2(this);var string=state.string;var index=state.index;var point;if(index>=string.length)return{value:undefined,done:true};point=charAt(string,index);state.index+=point.length;return{value:point,done:false}}));var ITERATOR$2=wellKnownSymbol("iterator");var getIteratorMethod=function(it){if(it!=undefined)return it[ITERATOR$2]||it["@@iterator"]||iterators[classof(it)]};var getIterator=function(it){var iteratorMethod=getIteratorMethod(it);if(typeof iteratorMethod!="function"){throw TypeError(String(it)+" is not iterable")}return anObject(iteratorMethod.call(it))};var getIterator_1=getIterator;var getIterator$1=getIterator_1;var getIteratorMethod_1=getIteratorMethod;var getIteratorMethod$1=getIteratorMethod_1;var iteratorClose=function(iterator){var returnMethod=iterator["return"];if(returnMethod!==undefined){return anObject(returnMethod.call(iterator)).value}};var callWithSafeIterationClosing=function(iterator,fn,value,ENTRIES){try{return ENTRIES?fn(anObject(value)[0],value[1]):fn(value)}catch(error){iteratorClose(iterator);throw error}};var ITERATOR$3=wellKnownSymbol("iterator");var ArrayPrototype$4=Array.prototype;var isArrayIteratorMethod=function(it){return it!==undefined&&(iterators.Array===it||ArrayPrototype$4[ITERATOR$3]===it)};var arrayFrom=function from(arrayLike){var O=toObject(arrayLike);var C=typeof this=="function"?this:Array;var argumentsLength=arguments.length;var mapfn=argumentsLength>1?arguments[1]:undefined;var mapping=mapfn!==undefined;var iteratorMethod=getIteratorMethod(O);var index=0;var length,result,step,iterator,next,value;if(mapping)mapfn=functionBindContext(mapfn,argumentsLength>2?arguments[2]:undefined,2);if(iteratorMethod!=undefined&&!(C==Array&&isArrayIteratorMethod(iteratorMethod))){iterator=iteratorMethod.call(O);next=iterator.next;result=new C;for(;!(step=next.call(iterator)).done;index++){value=mapping?callWithSafeIterationClosing(iterator,mapfn,[step.value,index],true):step.value;createProperty(result,index,value)}}else{length=toLength(O.length);result=new C(length);for(;length>index;index++){value=mapping?mapfn(O[index],index):O[index];createProperty(result,index,value)}}result.length=index;return result};var ITERATOR$4=wellKnownSymbol("iterator");var SAFE_CLOSING=false;try{var called=0;var iteratorWithReturn={next:function(){return{done:!!called++}},return:function(){SAFE_CLOSING=true}};iteratorWithReturn[ITERATOR$4]=function(){return this};Array.from(iteratorWithReturn,(function(){throw 2}))}catch(error){}var checkCorrectnessOfIteration=function(exec,SKIP_CLOSING){if(!SKIP_CLOSING&&!SAFE_CLOSING)return false;var ITERATION_SUPPORT=false;try{var object={};object[ITERATOR$4]=function(){return{next:function(){return{done:ITERATION_SUPPORT=true}}}};exec(object)}catch(error){}return ITERATION_SUPPORT};var INCORRECT_ITERATION=!checkCorrectnessOfIteration((function(iterable){Array.from(iterable)}));_export({target:"Array",stat:true,forced:INCORRECT_ITERATION},{from:arrayFrom});var from=path.Array.from;var from$1=from;var from$2=from$1;var arrayFill=function fill(value){var O=toObject(this);var length=toLength(O.length);var argumentsLength=arguments.length;var index=toAbsoluteIndex(argumentsLength>1?arguments[1]:undefined,length);var end=argumentsLength>2?arguments[2]:undefined;var endPos=end===undefined?length:toAbsoluteIndex(end,length);while(endPos>index)O[index++]=value;return O};_export({target:"Array",proto:true},{fill:arrayFill});var fill=entryVirtual("Array").fill;var slice$1=[].slice;var MSIE=/MSIE .\./.test(engineUserAgent);var wrap$1=function(scheduler){return function(handler,timeout){var boundArgs=arguments.length>2;var args=boundArgs?slice$1.call(arguments,2):undefined;return scheduler(boundArgs?function(){(typeof handler=="function"?handler:Function(handler)).apply(this,args)}:handler,timeout)}};_export({global:true,bind:true,forced:MSIE},{setTimeout:wrap$1(global$1.setTimeout),setInterval:wrap$1(global$1.setInterval)});var setTimeout$1=path.setTimeout;var setTimeout$2=setTimeout$1;var $stringify$1=getBuiltIn("JSON","stringify");var re=/[\uD800-\uDFFF]/g;var low=/^[\uD800-\uDBFF]$/;var hi=/^[\uDC00-\uDFFF]$/;var fix=function(match,offset,string){var prev=string.charAt(offset-1);var next=string.charAt(offset+1);if(low.test(match)&&!hi.test(next)||hi.test(match)&&!low.test(prev)){return"\\u"+match.charCodeAt(0).toString(16)}return match};var FORCED$1=fails((function(){return $stringify$1("\udf06\ud834")!=='"\\udf06\\ud834"'||$stringify$1("\udead")!=='"\\udead"'}));if($stringify$1){_export({target:"JSON",stat:true,forced:FORCED$1},{stringify:function stringify(it,replacer,space){var result=$stringify$1.apply(null,arguments);return typeof result=="string"?result.replace(re,fix):result}})}if(!path.JSON)path.JSON={stringify:JSON.stringify};var stringify=function stringify(it,replacer,space){return path.JSON.stringify.apply(null,arguments)};var stringify$1=stringify;var stringify$2=stringify$1;_export({target:"Object",stat:true,sham:!descriptors},{create:objectCreate});var Object$1=path.Object;var create=function create(P,D){return Object$1.create(P,D)};var create$1=create;var create$2=create$1;function _defineProperty(obj,key,value){if(key in obj){defineProperty$2(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var defineProperty$7=_defineProperty;var whitespaces="\t\n\v\f\r                　\u2028\u2029\ufeff";var whitespace="["+whitespaces+"]";var ltrim=RegExp("^"+whitespace+whitespace+"*");var rtrim=RegExp(whitespace+whitespace+"*$");var createMethod$4=function(TYPE){return function($this){var string=String(requireObjectCoercible($this));if(TYPE&1)string=string.replace(ltrim,"");if(TYPE&2)string=string.replace(rtrim,"");return string}};var stringTrim={start:createMethod$4(1),end:createMethod$4(2),trim:createMethod$4(3)};var non="​᠎";var stringTrimForced=function(METHOD_NAME){return fails((function(){return!!whitespaces[METHOD_NAME]()||non[METHOD_NAME]()!=non||whitespaces[METHOD_NAME].name!==METHOD_NAME}))};var $trim=stringTrim.trim;_export({target:"String",proto:true,forced:stringTrimForced("trim")},{trim:function trim(){return $trim(this)}});var trim=entryVirtual("String").trim;var $indexOf=arrayIncludes.indexOf;var nativeIndexOf=[].indexOf;var NEGATIVE_ZERO=!!nativeIndexOf&&1/[1].indexOf(1,-0)<0;var STRICT_METHOD$1=arrayMethodIsStrict("indexOf");var USES_TO_LENGTH$3=arrayMethodUsesToLength("indexOf",{ACCESSORS:true,1:0});_export({target:"Array",proto:true,forced:NEGATIVE_ZERO||!STRICT_METHOD$1||!USES_TO_LENGTH$3},{indexOf:function indexOf(searchElement){return NEGATIVE_ZERO?nativeIndexOf.apply(this,arguments)||0:$indexOf(this,searchElement,arguments.length>1?arguments[1]:undefined)}});var indexOf$1=entryVirtual("Array").indexOf;var trim$1=stringTrim.trim;var $parseInt=global$1.parseInt;var hex=/^[+-]?0[Xx]/;var FORCED$2=$parseInt(whitespaces+"08")!==8||$parseInt(whitespaces+"0x16")!==22;var numberParseInt=FORCED$2?function parseInt(string,radix){var S=trim$1(String(string));return $parseInt(S,radix>>>0||(hex.test(S)?16:10))}:$parseInt;_export({global:true,forced:parseInt!=numberParseInt},{parseInt:numberParseInt});var propertyIsEnumerable=objectPropertyIsEnumerable.f;var createMethod$5=function(TO_ENTRIES){return function(it){var O=toIndexedObject(it);var keys=objectKeys(O);var length=keys.length;var i=0;var result=[];var key;while(length>i){key=keys[i++];if(!descriptors||propertyIsEnumerable.call(O,key)){result.push(TO_ENTRIES?[key,O[key]]:O[key])}}return result}};var objectToArray={entries:createMethod$5(true),values:createMethod$5(false)};var $values=objectToArray.values;_export({target:"Object",stat:true},{values:function values(O){return $values(O)}});var values=path.Object.values;var FAILS_ON_PRIMITIVES$1=fails((function(){objectGetPrototypeOf(1)}));_export({target:"Object",stat:true,forced:FAILS_ON_PRIMITIVES$1,sham:!correctPrototypeGetter},{getPrototypeOf:function getPrototypeOf(it){return objectGetPrototypeOf(toObject(it))}});var getPrototypeOf=path.Object.getPrototypeOf;var $includes=arrayIncludes.includes;var USES_TO_LENGTH$4=arrayMethodUsesToLength("indexOf",{ACCESSORS:true,1:0});_export({target:"Array",proto:true,forced:!USES_TO_LENGTH$4},{includes:function includes(el){return $includes(this,el,arguments.length>1?arguments[1]:undefined)}});var includes=entryVirtual("Array").includes;var MATCH=wellKnownSymbol("match");var isRegexp=function(it){var isRegExp;return isObject(it)&&((isRegExp=it[MATCH])!==undefined?!!isRegExp:classofRaw(it)=="RegExp")};var notARegexp=function(it){if(isRegexp(it)){throw TypeError("The method doesn't accept regular expressions")}return it};var MATCH$1=wellKnownSymbol("match");var correctIsRegexpLogic=function(METHOD_NAME){var regexp=/./;try{"/./"[METHOD_NAME](regexp)}catch(error1){try{regexp[MATCH$1]=false;return"/./"[METHOD_NAME](regexp)}catch(error2){}}return false};_export({target:"String",proto:true,forced:!correctIsRegexpLogic("includes")},{includes:function includes(searchString){return!!~String(requireObjectCoercible(this)).indexOf(notARegexp(searchString),arguments.length>1?arguments[1]:undefined)}});var includes$1=entryVirtual("String").includes;var nativeAssign=Object.assign;var defineProperty$8=Object.defineProperty;var objectAssign=!nativeAssign||fails((function(){if(descriptors&&nativeAssign({b:1},nativeAssign(defineProperty$8({},"a",{enumerable:true,get:function(){defineProperty$8(this,"b",{value:3,enumerable:false})}}),{b:2})).b!==1)return true;var A={};var B={};var symbol=Symbol();var alphabet="abcdefghijklmnopqrst";A[symbol]=7;alphabet.split("").forEach((function(chr){B[chr]=chr}));return nativeAssign({},A)[symbol]!=7||objectKeys(nativeAssign({},B)).join("")!=alphabet}))?function assign(target,source){var T=toObject(target);var argumentsLength=arguments.length;var index=1;var getOwnPropertySymbols=objectGetOwnPropertySymbols.f;var propertyIsEnumerable=objectPropertyIsEnumerable.f;while(argumentsLength>index){var S=indexedObject(arguments[index++]);var keys=getOwnPropertySymbols?objectKeys(S).concat(getOwnPropertySymbols(S)):objectKeys(S);var length=keys.length;var j=0;var key;while(length>j){key=keys[j++];if(!descriptors||propertyIsEnumerable.call(S,key))T[key]=S[key]}}return T}:nativeAssign;_export({target:"Object",stat:true,forced:Object.assign!==objectAssign},{assign:objectAssign});var assign=path.Object.assign;var assign$1=assign;var assign$2=assign$1;var HAS_SPECIES_SUPPORT$2=arrayMethodHasSpeciesSupport("splice");var USES_TO_LENGTH$5=arrayMethodUsesToLength("splice",{ACCESSORS:true,0:0,1:2});var max$1=Math.max;var min$2=Math.min;var MAX_SAFE_INTEGER=9007199254740991;var MAXIMUM_ALLOWED_LENGTH_EXCEEDED="Maximum allowed length exceeded";_export({target:"Array",proto:true,forced:!HAS_SPECIES_SUPPORT$2||!USES_TO_LENGTH$5},{splice:function splice(start,deleteCount){var O=toObject(this);var len=toLength(O.length);var actualStart=toAbsoluteIndex(start,len);var argumentsLength=arguments.length;var insertCount,actualDeleteCount,A,k,from,to;if(argumentsLength===0){insertCount=actualDeleteCount=0}else if(argumentsLength===1){insertCount=0;actualDeleteCount=len-actualStart}else{insertCount=argumentsLength-2;actualDeleteCount=min$2(max$1(toInteger(deleteCount),0),len-actualStart)}if(len+insertCount-actualDeleteCount>MAX_SAFE_INTEGER){throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED)}A=arraySpeciesCreate(O,actualDeleteCount);for(k=0;k<actualDeleteCount;k++){from=actualStart+k;if(from in O)createProperty(A,k,O[from])}A.length=actualDeleteCount;if(insertCount<actualDeleteCount){for(k=actualStart;k<len-actualDeleteCount;k++){from=k+actualDeleteCount;to=k+insertCount;if(from in O)O[to]=O[from];else delete O[to]}for(k=len;k>len-actualDeleteCount+insertCount;k--)delete O[k-1]}else if(insertCount>actualDeleteCount){for(k=len-actualDeleteCount;k>actualStart;k--){from=k+actualDeleteCount-1;to=k+insertCount-1;if(from in O)O[to]=O[from];else delete O[to]}}for(k=0;k<insertCount;k++){O[k+actualStart]=arguments[k+2]}O.length=len-actualDeleteCount+insertCount;return A}});var splice=entryVirtual("Array").splice;var ArrayPrototype$5=Array.prototype;var splice_1=function(it){var own=it.splice;return it===ArrayPrototype$5||it instanceof Array&&own===ArrayPrototype$5.splice?splice:own};var splice$1=splice_1;var splice$2=splice$1;var nativeReverse=[].reverse;var test$1=[1,2];_export({target:"Array",proto:true,forced:String(test$1)===String(test$1.reverse())},{reverse:function reverse(){if(isArray(this))this.length=this.length;return nativeReverse.call(this)}});var reverse=entryVirtual("Array").reverse;var ArrayPrototype$6=Array.prototype;var reverse_1=function(it){var own=it.reverse;return it===ArrayPrototype$6||it instanceof Array&&own===ArrayPrototype$6.reverse?reverse:own};var reverse$1=reverse_1;var reverse$2=reverse$1;var $forEach$1=arrayIteration.forEach;var STRICT_METHOD$2=arrayMethodIsStrict("forEach");var USES_TO_LENGTH$6=arrayMethodUsesToLength("forEach");var arrayForEach=!STRICT_METHOD$2||!USES_TO_LENGTH$6?function forEach(callbackfn){return $forEach$1(this,callbackfn,arguments.length>1?arguments[1]:undefined)}:[].forEach;_export({target:"Array",proto:true,forced:[].forEach!=arrayForEach},{forEach:arrayForEach});var forEach=entryVirtual("Array").forEach;var forEach$1=forEach;var ArrayPrototype$7=Array.prototype;var DOMIterables={DOMTokenList:true,NodeList:true};var forEach_1=function(it){var own=it.forEach;return it===ArrayPrototype$7||it instanceof Array&&own===ArrayPrototype$7.forEach||DOMIterables.hasOwnProperty(classof(it))?forEach$1:own};var forEach$2=forEach_1;_export({target:"Array",stat:true},{isArray:isArray});var isArray$1=path.Array.isArray;var isArray$2=isArray$1;var isArray$3=isArray$2;function _arrayWithHoles(arr){if(isArray$3(arr))return arr}var arrayWithHoles=_arrayWithHoles;var ITERATOR$5=wellKnownSymbol("iterator");var isIterable=function(it){var O=Object(it);return O[ITERATOR$5]!==undefined||"@@iterator"in O||iterators.hasOwnProperty(classof(O))};var isIterable_1=isIterable;var isIterable$1=isIterable_1;var IS_CONCAT_SPREADABLE=wellKnownSymbol("isConcatSpreadable");var MAX_SAFE_INTEGER$1=9007199254740991;var MAXIMUM_ALLOWED_INDEX_EXCEEDED="Maximum allowed index exceeded";var IS_CONCAT_SPREADABLE_SUPPORT=engineV8Version>=51||!fails((function(){var array=[];array[IS_CONCAT_SPREADABLE]=false;return array.concat()[0]!==array}));var SPECIES_SUPPORT=arrayMethodHasSpeciesSupport("concat");var isConcatSpreadable=function(O){if(!isObject(O))return false;var spreadable=O[IS_CONCAT_SPREADABLE];return spreadable!==undefined?!!spreadable:isArray(O)};var FORCED$3=!IS_CONCAT_SPREADABLE_SUPPORT||!SPECIES_SUPPORT;_export({target:"Array",proto:true,forced:FORCED$3},{concat:function concat(arg){var O=toObject(this);var A=arraySpeciesCreate(O,0);var n=0;var i,k,length,len,E;for(i=-1,length=arguments.length;i<length;i++){E=i===-1?O:arguments[i];if(isConcatSpreadable(E)){len=toLength(E.length);if(n+len>MAX_SAFE_INTEGER$1)throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);for(k=0;k<len;k++,n++)if(k in E)createProperty(A,n,E[k])}else{if(n>=MAX_SAFE_INTEGER$1)throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);createProperty(A,n++,E)}}A.length=n;return A}});defineWellKnownSymbol("asyncIterator");defineWellKnownSymbol("hasInstance");defineWellKnownSymbol("isConcatSpreadable");defineWellKnownSymbol("iterator");defineWellKnownSymbol("match");defineWellKnownSymbol("matchAll");defineWellKnownSymbol("replace");defineWellKnownSymbol("search");defineWellKnownSymbol("species");defineWellKnownSymbol("split");defineWellKnownSymbol("toPrimitive");defineWellKnownSymbol("toStringTag");defineWellKnownSymbol("unscopables");setToStringTag(global$1.JSON,"JSON",true);var symbol=path.Symbol;defineWellKnownSymbol("asyncDispose");defineWellKnownSymbol("dispose");defineWellKnownSymbol("observable");defineWellKnownSymbol("patternMatch");defineWellKnownSymbol("replaceAll");var symbol$1=symbol;var symbol$2=symbol$1;function _iterableToArrayLimit(arr,i){if(typeof symbol$2==="undefined"||!isIterable$1(Object(arr)))return;var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=getIterator$1(arr),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}var iterableToArrayLimit=_iterableToArrayLimit;var from$3=from;var from$4=from$3;var HAS_SPECIES_SUPPORT$3=arrayMethodHasSpeciesSupport("slice");var USES_TO_LENGTH$7=arrayMethodUsesToLength("slice",{ACCESSORS:true,0:0,1:2});var SPECIES$2=wellKnownSymbol("species");var nativeSlice=[].slice;var max$2=Math.max;_export({target:"Array",proto:true,forced:!HAS_SPECIES_SUPPORT$3||!USES_TO_LENGTH$7},{slice:function slice(start,end){var O=toIndexedObject(this);var length=toLength(O.length);var k=toAbsoluteIndex(start,length);var fin=toAbsoluteIndex(end===undefined?length:end,length);var Constructor,result,n;if(isArray(O)){Constructor=O.constructor;if(typeof Constructor=="function"&&(Constructor===Array||isArray(Constructor.prototype))){Constructor=undefined}else if(isObject(Constructor)){Constructor=Constructor[SPECIES$2];if(Constructor===null)Constructor=undefined}if(Constructor===Array||Constructor===undefined){return nativeSlice.call(O,k,fin)}}result=new(Constructor===undefined?Array:Constructor)(max$2(fin-k,0));for(n=0;k<fin;k++,n++)if(k in O)createProperty(result,n,O[k]);result.length=n;return result}});var slice$2=entryVirtual("Array").slice;var ArrayPrototype$8=Array.prototype;var slice_1=function(it){var own=it.slice;return it===ArrayPrototype$8||it instanceof Array&&own===ArrayPrototype$8.slice?slice$2:own};var slice$3=slice_1;var slice$4=slice$3;function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}var arrayLikeToArray=_arrayLikeToArray;function _unsupportedIterableToArray(o,minLen){var _context;if(!o)return;if(typeof o==="string")return arrayLikeToArray(o,minLen);var n=slice$4(_context=Object.prototype.toString.call(o)).call(_context,8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return from$4(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return arrayLikeToArray(o,minLen)}var unsupportedIterableToArray=_unsupportedIterableToArray;function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var nonIterableRest=_nonIterableRest;function _slicedToArray(arr,i){return arrayWithHoles(arr)||iterableToArrayLimit(arr,i)||unsupportedIterableToArray(arr,i)||nonIterableRest()}var slicedToArray=_slicedToArray;_export({target:"Date",stat:true},{now:function now(){return(new Date).getTime()}});var now=path.Date.now;var FAILS_ON_PRIMITIVES$2=fails((function(){objectKeys(1)}));_export({target:"Object",stat:true,forced:FAILS_ON_PRIMITIVES$2},{keys:function keys(it){return objectKeys(toObject(it))}});var keys$1=path.Object.keys;var keys$2=keys$1;var keys$3=keys$2;var isArray$4=isArray$1;var isArray$5=isArray$4;var iterator=wellKnownSymbolWrapped.f("iterator");var iterator$1=iterator;var iterator$2=iterator$1;var _typeof_1=createCommonjsModule((function(module){function _typeof(obj){"@babel/helpers - typeof";if(typeof symbol$2==="function"&&typeof iterator$2==="symbol"){module.exports=_typeof=function _typeof(obj){return typeof obj}}else{module.exports=_typeof=function _typeof(obj){return obj&&typeof symbol$2==="function"&&obj.constructor===symbol$2&&obj!==symbol$2.prototype?"symbol":typeof obj}}return _typeof(obj)}module.exports=_typeof}));_export({target:"Reflect",stat:true},{ownKeys:ownKeys});var ownKeys$1=path.Reflect.ownKeys;var ownKeys$2=ownKeys$1;var ownKeys$3=ownKeys$2;var slice$5=slice_1;var slice$6=slice$5;function _arrayWithoutHoles(arr){if(isArray$3(arr))return arrayLikeToArray(arr)}var arrayWithoutHoles=_arrayWithoutHoles;function _iterableToArray(iter){if(typeof symbol$2!=="undefined"&&isIterable$1(Object(iter)))return from$4(iter)}var iterableToArray=_iterableToArray;function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var nonIterableSpread=_nonIterableSpread;function _toConsumableArray(arr){return arrayWithoutHoles(arr)||iterableToArray(arr)||unsupportedIterableToArray(arr)||nonIterableSpread()}var toConsumableArray=_toConsumableArray;var concat=entryVirtual("Array").concat;var ArrayPrototype$9=Array.prototype;var concat_1=function(it){var own=it.concat;return it===ArrayPrototype$9||it instanceof Array&&own===ArrayPrototype$9.concat?concat:own};var concat$1=concat_1;var concat$2=concat$1;var symbol$3=symbol;var symbol$4=symbol$3;var componentEmitter=createCommonjsModule((function(module){{module.exports=Emitter}function Emitter(obj){if(obj)return mixin(obj)}function mixin(obj){for(var key in Emitter.prototype){obj[key]=Emitter.prototype[key]}return obj}Emitter.prototype.on=Emitter.prototype.addEventListener=function(event,fn){this._callbacks=this._callbacks||{};(this._callbacks["$"+event]=this._callbacks["$"+event]||[]).push(fn);return this};Emitter.prototype.once=function(event,fn){function on(){this.off(event,on);fn.apply(this,arguments)}on.fn=fn;this.on(event,on);return this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(event,fn){this._callbacks=this._callbacks||{};if(0==arguments.length){this._callbacks={};return this}var callbacks=this._callbacks["$"+event];if(!callbacks)return this;if(1==arguments.length){delete this._callbacks["$"+event];return this}var cb;for(var i=0;i<callbacks.length;i++){cb=callbacks[i];if(cb===fn||cb.fn===fn){callbacks.splice(i,1);break}}if(callbacks.length===0){delete this._callbacks["$"+event]}return this};Emitter.prototype.emit=function(event){this._callbacks=this._callbacks||{};var args=new Array(arguments.length-1),callbacks=this._callbacks["$"+event];for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i]}if(callbacks){callbacks=callbacks.slice(0);for(var i=0,len=callbacks.length;i<len;++i){callbacks[i].apply(this,args)}}return this};Emitter.prototype.listeners=function(event){this._callbacks=this._callbacks||{};return this._callbacks["$"+event]||[]};Emitter.prototype.hasListeners=function(event){return!!this.listeners(event).length}}));
/*! Hammer.JS - v2.0.17-rc - 2019-12-16
	 * http://naver.github.io/egjs
	 *
	 * Forked By Naver egjs
	 * Copyright (c) hammerjs
	 * Licensed under the MIT license */function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}var assign$3;if(typeof Object.assign!=="function"){assign$3=function assign(target){if(target===undefined||target===null){throw new TypeError("Cannot convert undefined or null to object")}var output=Object(target);for(var index=1;index<arguments.length;index++){var source=arguments[index];if(source!==undefined&&source!==null){for(var nextKey in source){if(source.hasOwnProperty(nextKey)){output[nextKey]=source[nextKey]}}}}return output}}else{assign$3=Object.assign}var assign$1$1=assign$3;var VENDOR_PREFIXES=["","webkit","Moz","MS","ms","o"];var TEST_ELEMENT=typeof document==="undefined"?{style:{}}:document.createElement("div");var TYPE_FUNCTION="function";var round=Math.round,abs=Math.abs;var now$1=Date.now;function prefixed(obj,property){var prefix;var prop;var camelProp=property[0].toUpperCase()+property.slice(1);var i=0;while(i<VENDOR_PREFIXES.length){prefix=VENDOR_PREFIXES[i];prop=prefix?prefix+camelProp:property;if(prop in obj){return prop}i++}return undefined}var win;if(typeof window==="undefined"){win={}}else{win=window}var PREFIXED_TOUCH_ACTION=prefixed(TEST_ELEMENT.style,"touchAction");var NATIVE_TOUCH_ACTION=PREFIXED_TOUCH_ACTION!==undefined;function getTouchActionProps(){if(!NATIVE_TOUCH_ACTION){return false}var touchMap={};var cssSupports=win.CSS&&win.CSS.supports;["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(val){return touchMap[val]=cssSupports?win.CSS.supports("touch-action",val):true}));return touchMap}var TOUCH_ACTION_COMPUTE="compute";var TOUCH_ACTION_AUTO="auto";var TOUCH_ACTION_MANIPULATION="manipulation";var TOUCH_ACTION_NONE="none";var TOUCH_ACTION_PAN_X="pan-x";var TOUCH_ACTION_PAN_Y="pan-y";var TOUCH_ACTION_MAP=getTouchActionProps();var MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android/i;var SUPPORT_TOUCH="ontouchstart"in win;var SUPPORT_POINTER_EVENTS=prefixed(win,"PointerEvent")!==undefined;var SUPPORT_ONLY_TOUCH=SUPPORT_TOUCH&&MOBILE_REGEX.test(navigator.userAgent);var INPUT_TYPE_TOUCH="touch";var INPUT_TYPE_PEN="pen";var INPUT_TYPE_MOUSE="mouse";var INPUT_TYPE_KINECT="kinect";var COMPUTE_INTERVAL=25;var INPUT_START=1;var INPUT_MOVE=2;var INPUT_END=4;var INPUT_CANCEL=8;var DIRECTION_NONE=1;var DIRECTION_LEFT=2;var DIRECTION_RIGHT=4;var DIRECTION_UP=8;var DIRECTION_DOWN=16;var DIRECTION_HORIZONTAL=DIRECTION_LEFT|DIRECTION_RIGHT;var DIRECTION_VERTICAL=DIRECTION_UP|DIRECTION_DOWN;var DIRECTION_ALL=DIRECTION_HORIZONTAL|DIRECTION_VERTICAL;var PROPS_XY=["x","y"];var PROPS_CLIENT_XY=["clientX","clientY"];function each(obj,iterator,context){var i;if(!obj){return}if(obj.forEach){obj.forEach(iterator,context)}else if(obj.length!==undefined){i=0;while(i<obj.length){iterator.call(context,obj[i],i,obj);i++}}else{for(i in obj){obj.hasOwnProperty(i)&&iterator.call(context,obj[i],i,obj)}}}function boolOrFn(val,args){if(typeof val===TYPE_FUNCTION){return val.apply(args?args[0]||undefined:undefined,args)}return val}function inStr(str,find){return str.indexOf(find)>-1}function cleanTouchActions(actions){if(inStr(actions,TOUCH_ACTION_NONE)){return TOUCH_ACTION_NONE}var hasPanX=inStr(actions,TOUCH_ACTION_PAN_X);var hasPanY=inStr(actions,TOUCH_ACTION_PAN_Y);if(hasPanX&&hasPanY){return TOUCH_ACTION_NONE}if(hasPanX||hasPanY){return hasPanX?TOUCH_ACTION_PAN_X:TOUCH_ACTION_PAN_Y}if(inStr(actions,TOUCH_ACTION_MANIPULATION)){return TOUCH_ACTION_MANIPULATION}return TOUCH_ACTION_AUTO}var TouchAction=function(){function TouchAction(manager,value){this.manager=manager;this.set(value)}var _proto=TouchAction.prototype;_proto.set=function set(value){if(value===TOUCH_ACTION_COMPUTE){value=this.compute()}if(NATIVE_TOUCH_ACTION&&this.manager.element.style&&TOUCH_ACTION_MAP[value]){this.manager.element.style[PREFIXED_TOUCH_ACTION]=value}this.actions=value.toLowerCase().trim()};_proto.update=function update(){this.set(this.manager.options.touchAction)};_proto.compute=function compute(){var actions=[];each(this.manager.recognizers,(function(recognizer){if(boolOrFn(recognizer.options.enable,[recognizer])){actions=actions.concat(recognizer.getTouchAction())}}));return cleanTouchActions(actions.join(" "))};_proto.preventDefaults=function preventDefaults(input){var srcEvent=input.srcEvent;var direction=input.offsetDirection;if(this.manager.session.prevented){srcEvent.preventDefault();return}var actions=this.actions;var hasNone=inStr(actions,TOUCH_ACTION_NONE)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];var hasPanY=inStr(actions,TOUCH_ACTION_PAN_Y)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];var hasPanX=inStr(actions,TOUCH_ACTION_PAN_X)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];if(hasNone){var isTapPointer=input.pointers.length===1;var isTapMovement=input.distance<2;var isTapTouchTime=input.deltaTime<250;if(isTapPointer&&isTapMovement&&isTapTouchTime){return}}if(hasPanX&&hasPanY){return}if(hasNone||hasPanY&&direction&DIRECTION_HORIZONTAL||hasPanX&&direction&DIRECTION_VERTICAL){return this.preventSrc(srcEvent)}};_proto.preventSrc=function preventSrc(srcEvent){this.manager.session.prevented=true;srcEvent.preventDefault()};return TouchAction}();function hasParent(node,parent){while(node){if(node===parent){return true}node=node.parentNode}return false}function getCenter(pointers){var pointersLength=pointers.length;if(pointersLength===1){return{x:round(pointers[0].clientX),y:round(pointers[0].clientY)}}var x=0;var y=0;var i=0;while(i<pointersLength){x+=pointers[i].clientX;y+=pointers[i].clientY;i++}return{x:round(x/pointersLength),y:round(y/pointersLength)}}function simpleCloneInputData(input){var pointers=[];var i=0;while(i<input.pointers.length){pointers[i]={clientX:round(input.pointers[i].clientX),clientY:round(input.pointers[i].clientY)};i++}return{timeStamp:now$1(),pointers:pointers,center:getCenter(pointers),deltaX:input.deltaX,deltaY:input.deltaY}}function getDistance(p1,p2,props){if(!props){props=PROPS_XY}var x=p2[props[0]]-p1[props[0]];var y=p2[props[1]]-p1[props[1]];return Math.sqrt(x*x+y*y)}function getAngle(p1,p2,props){if(!props){props=PROPS_XY}var x=p2[props[0]]-p1[props[0]];var y=p2[props[1]]-p1[props[1]];return Math.atan2(y,x)*180/Math.PI}function getDirection(x,y){if(x===y){return DIRECTION_NONE}if(abs(x)>=abs(y)){return x<0?DIRECTION_LEFT:DIRECTION_RIGHT}return y<0?DIRECTION_UP:DIRECTION_DOWN}function computeDeltaXY(session,input){var center=input.center;var offset=session.offsetDelta||{};var prevDelta=session.prevDelta||{};var prevInput=session.prevInput||{};if(input.eventType===INPUT_START||prevInput.eventType===INPUT_END){prevDelta=session.prevDelta={x:prevInput.deltaX||0,y:prevInput.deltaY||0};offset=session.offsetDelta={x:center.x,y:center.y}}input.deltaX=prevDelta.x+(center.x-offset.x);input.deltaY=prevDelta.y+(center.y-offset.y)}function getVelocity(deltaTime,x,y){return{x:x/deltaTime||0,y:y/deltaTime||0}}function getScale(start,end){return getDistance(end[0],end[1],PROPS_CLIENT_XY)/getDistance(start[0],start[1],PROPS_CLIENT_XY)}function getRotation(start,end){return getAngle(end[1],end[0],PROPS_CLIENT_XY)+getAngle(start[1],start[0],PROPS_CLIENT_XY)}function computeIntervalInputData(session,input){var last=session.lastInterval||input;var deltaTime=input.timeStamp-last.timeStamp;var velocity;var velocityX;var velocityY;var direction;if(input.eventType!==INPUT_CANCEL&&(deltaTime>COMPUTE_INTERVAL||last.velocity===undefined)){var deltaX=input.deltaX-last.deltaX;var deltaY=input.deltaY-last.deltaY;var v=getVelocity(deltaTime,deltaX,deltaY);velocityX=v.x;velocityY=v.y;velocity=abs(v.x)>abs(v.y)?v.x:v.y;direction=getDirection(deltaX,deltaY);session.lastInterval=input}else{velocity=last.velocity;velocityX=last.velocityX;velocityY=last.velocityY;direction=last.direction}input.velocity=velocity;input.velocityX=velocityX;input.velocityY=velocityY;input.direction=direction}function computeInputData(manager,input){var session=manager.session;var pointers=input.pointers;var pointersLength=pointers.length;if(!session.firstInput){session.firstInput=simpleCloneInputData(input)}if(pointersLength>1&&!session.firstMultiple){session.firstMultiple=simpleCloneInputData(input)}else if(pointersLength===1){session.firstMultiple=false}var firstInput=session.firstInput,firstMultiple=session.firstMultiple;var offsetCenter=firstMultiple?firstMultiple.center:firstInput.center;var center=input.center=getCenter(pointers);input.timeStamp=now$1();input.deltaTime=input.timeStamp-firstInput.timeStamp;input.angle=getAngle(offsetCenter,center);input.distance=getDistance(offsetCenter,center);computeDeltaXY(session,input);input.offsetDirection=getDirection(input.deltaX,input.deltaY);var overallVelocity=getVelocity(input.deltaTime,input.deltaX,input.deltaY);input.overallVelocityX=overallVelocity.x;input.overallVelocityY=overallVelocity.y;input.overallVelocity=abs(overallVelocity.x)>abs(overallVelocity.y)?overallVelocity.x:overallVelocity.y;input.scale=firstMultiple?getScale(firstMultiple.pointers,pointers):1;input.rotation=firstMultiple?getRotation(firstMultiple.pointers,pointers):0;input.maxPointers=!session.prevInput?input.pointers.length:input.pointers.length>session.prevInput.maxPointers?input.pointers.length:session.prevInput.maxPointers;computeIntervalInputData(session,input);var target=manager.element;var srcEvent=input.srcEvent;var srcEventTarget;if(srcEvent.composedPath){srcEventTarget=srcEvent.composedPath()[0]}else if(srcEvent.path){srcEventTarget=srcEvent.path[0]}else{srcEventTarget=srcEvent.target}if(hasParent(srcEventTarget,target)){target=srcEventTarget}input.target=target}function inputHandler(manager,eventType,input){var pointersLen=input.pointers.length;var changedPointersLen=input.changedPointers.length;var isFirst=eventType&INPUT_START&&pointersLen-changedPointersLen===0;var isFinal=eventType&(INPUT_END|INPUT_CANCEL)&&pointersLen-changedPointersLen===0;input.isFirst=!!isFirst;input.isFinal=!!isFinal;if(isFirst){manager.session={}}input.eventType=eventType;computeInputData(manager,input);manager.emit("hammer.input",input);manager.recognize(input);manager.session.prevInput=input}function splitStr(str){return str.trim().split(/\s+/g)}function addEventListeners(target,types,handler){each(splitStr(types),(function(type){target.addEventListener(type,handler,false)}))}function removeEventListeners(target,types,handler){each(splitStr(types),(function(type){target.removeEventListener(type,handler,false)}))}function getWindowForElement(element){var doc=element.ownerDocument||element;return doc.defaultView||doc.parentWindow||window}var Input=function(){function Input(manager,callback){var self=this;this.manager=manager;this.callback=callback;this.element=manager.element;this.target=manager.options.inputTarget;this.domHandler=function(ev){if(boolOrFn(manager.options.enable,[manager])){self.handler(ev)}};this.init()}var _proto=Input.prototype;_proto.handler=function handler(){};_proto.init=function init(){this.evEl&&addEventListeners(this.element,this.evEl,this.domHandler);this.evTarget&&addEventListeners(this.target,this.evTarget,this.domHandler);this.evWin&&addEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)};_proto.destroy=function destroy(){this.evEl&&removeEventListeners(this.element,this.evEl,this.domHandler);this.evTarget&&removeEventListeners(this.target,this.evTarget,this.domHandler);this.evWin&&removeEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)};return Input}();function inArray(src,find,findByKey){if(src.indexOf&&!findByKey){return src.indexOf(find)}else{var i=0;while(i<src.length){if(findByKey&&src[i][findByKey]==find||!findByKey&&src[i]===find){return i}i++}return-1}}var POINTER_INPUT_MAP={pointerdown:INPUT_START,pointermove:INPUT_MOVE,pointerup:INPUT_END,pointercancel:INPUT_CANCEL,pointerout:INPUT_CANCEL};var IE10_POINTER_TYPE_ENUM={2:INPUT_TYPE_TOUCH,3:INPUT_TYPE_PEN,4:INPUT_TYPE_MOUSE,5:INPUT_TYPE_KINECT};var POINTER_ELEMENT_EVENTS="pointerdown";var POINTER_WINDOW_EVENTS="pointermove pointerup pointercancel";if(win.MSPointerEvent&&!win.PointerEvent){POINTER_ELEMENT_EVENTS="MSPointerDown";POINTER_WINDOW_EVENTS="MSPointerMove MSPointerUp MSPointerCancel"}var PointerEventInput=function(_Input){_inheritsLoose(PointerEventInput,_Input);function PointerEventInput(){var _this;var proto=PointerEventInput.prototype;proto.evEl=POINTER_ELEMENT_EVENTS;proto.evWin=POINTER_WINDOW_EVENTS;_this=_Input.apply(this,arguments)||this;_this.store=_this.manager.session.pointerEvents=[];return _this}var _proto=PointerEventInput.prototype;_proto.handler=function handler(ev){var store=this.store;var removePointer=false;var eventTypeNormalized=ev.type.toLowerCase().replace("ms","");var eventType=POINTER_INPUT_MAP[eventTypeNormalized];var pointerType=IE10_POINTER_TYPE_ENUM[ev.pointerType]||ev.pointerType;var isTouch=pointerType===INPUT_TYPE_TOUCH;var storeIndex=inArray(store,ev.pointerId,"pointerId");if(eventType&INPUT_START&&(ev.button===0||isTouch)){if(storeIndex<0){store.push(ev);storeIndex=store.length-1}}else if(eventType&(INPUT_END|INPUT_CANCEL)){removePointer=true}if(storeIndex<0){return}store[storeIndex]=ev;this.callback(this.manager,eventType,{pointers:store,changedPointers:[ev],pointerType:pointerType,srcEvent:ev});if(removePointer){store.splice(storeIndex,1)}};return PointerEventInput}(Input);function toArray(obj){return Array.prototype.slice.call(obj,0)}function uniqueArray(src,key,sort){var results=[];var values=[];var i=0;while(i<src.length){var val=key?src[i][key]:src[i];if(inArray(values,val)<0){results.push(src[i])}values[i]=val;i++}if(sort){if(!key){results=results.sort()}else{results=results.sort((function(a,b){return a[key]>b[key]}))}}return results}var TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:INPUT_MOVE,touchend:INPUT_END,touchcancel:INPUT_CANCEL};var TOUCH_TARGET_EVENTS="touchstart touchmove touchend touchcancel";var TouchInput=function(_Input){_inheritsLoose(TouchInput,_Input);function TouchInput(){var _this;TouchInput.prototype.evTarget=TOUCH_TARGET_EVENTS;_this=_Input.apply(this,arguments)||this;_this.targetIds={};return _this}var _proto=TouchInput.prototype;_proto.handler=function handler(ev){var type=TOUCH_INPUT_MAP[ev.type];var touches=getTouches.call(this,ev,type);if(!touches){return}this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:INPUT_TYPE_TOUCH,srcEvent:ev})};return TouchInput}(Input);function getTouches(ev,type){var allTouches=toArray(ev.touches);var targetIds=this.targetIds;if(type&(INPUT_START|INPUT_MOVE)&&allTouches.length===1){targetIds[allTouches[0].identifier]=true;return[allTouches,allTouches]}var i;var targetTouches;var changedTouches=toArray(ev.changedTouches);var changedTargetTouches=[];var target=this.target;targetTouches=allTouches.filter((function(touch){return hasParent(touch.target,target)}));if(type===INPUT_START){i=0;while(i<targetTouches.length){targetIds[targetTouches[i].identifier]=true;i++}}i=0;while(i<changedTouches.length){if(targetIds[changedTouches[i].identifier]){changedTargetTouches.push(changedTouches[i])}if(type&(INPUT_END|INPUT_CANCEL)){delete targetIds[changedTouches[i].identifier]}i++}if(!changedTargetTouches.length){return}return[uniqueArray(targetTouches.concat(changedTargetTouches),"identifier",true),changedTargetTouches]}var MOUSE_INPUT_MAP={mousedown:INPUT_START,mousemove:INPUT_MOVE,mouseup:INPUT_END};var MOUSE_ELEMENT_EVENTS="mousedown";var MOUSE_WINDOW_EVENTS="mousemove mouseup";var MouseInput=function(_Input){_inheritsLoose(MouseInput,_Input);function MouseInput(){var _this;var proto=MouseInput.prototype;proto.evEl=MOUSE_ELEMENT_EVENTS;proto.evWin=MOUSE_WINDOW_EVENTS;_this=_Input.apply(this,arguments)||this;_this.pressed=false;return _this}var _proto=MouseInput.prototype;_proto.handler=function handler(ev){var eventType=MOUSE_INPUT_MAP[ev.type];if(eventType&INPUT_START&&ev.button===0){this.pressed=true}if(eventType&INPUT_MOVE&&ev.which!==1){eventType=INPUT_END}if(!this.pressed){return}if(eventType&INPUT_END){this.pressed=false}this.callback(this.manager,eventType,{pointers:[ev],changedPointers:[ev],pointerType:INPUT_TYPE_MOUSE,srcEvent:ev})};return MouseInput}(Input);var DEDUP_TIMEOUT=2500;var DEDUP_DISTANCE=25;function setLastTouch(eventData){var _eventData$changedPoi=eventData.changedPointers,touch=_eventData$changedPoi[0];if(touch.identifier===this.primaryTouch){var lastTouch={x:touch.clientX,y:touch.clientY};var lts=this.lastTouches;this.lastTouches.push(lastTouch);var removeLastTouch=function removeLastTouch(){var i=lts.indexOf(lastTouch);if(i>-1){lts.splice(i,1)}};setTimeout(removeLastTouch,DEDUP_TIMEOUT)}}function recordTouches(eventType,eventData){if(eventType&INPUT_START){this.primaryTouch=eventData.changedPointers[0].identifier;setLastTouch.call(this,eventData)}else if(eventType&(INPUT_END|INPUT_CANCEL)){setLastTouch.call(this,eventData)}}function isSyntheticEvent(eventData){var x=eventData.srcEvent.clientX;var y=eventData.srcEvent.clientY;for(var i=0;i<this.lastTouches.length;i++){var t=this.lastTouches[i];var dx=Math.abs(x-t.x);var dy=Math.abs(y-t.y);if(dx<=DEDUP_DISTANCE&&dy<=DEDUP_DISTANCE){return true}}return false}var TouchMouseInput=function(){var TouchMouseInput=function(_Input){_inheritsLoose(TouchMouseInput,_Input);function TouchMouseInput(_manager,callback){var _this;_this=_Input.call(this,_manager,callback)||this;_this.handler=function(manager,inputEvent,inputData){var isTouch=inputData.pointerType===INPUT_TYPE_TOUCH;var isMouse=inputData.pointerType===INPUT_TYPE_MOUSE;if(isMouse&&inputData.sourceCapabilities&&inputData.sourceCapabilities.firesTouchEvents){return}if(isTouch){recordTouches.call(_assertThisInitialized(_assertThisInitialized(_this)),inputEvent,inputData)}else if(isMouse&&isSyntheticEvent.call(_assertThisInitialized(_assertThisInitialized(_this)),inputData)){return}_this.callback(manager,inputEvent,inputData)};_this.touch=new TouchInput(_this.manager,_this.handler);_this.mouse=new MouseInput(_this.manager,_this.handler);_this.primaryTouch=null;_this.lastTouches=[];return _this}var _proto=TouchMouseInput.prototype;_proto.destroy=function destroy(){this.touch.destroy();this.mouse.destroy()};return TouchMouseInput}(Input);return TouchMouseInput}();function createInputInstance(manager){var Type;var inputClass=manager.options.inputClass;if(inputClass){Type=inputClass}else if(SUPPORT_POINTER_EVENTS){Type=PointerEventInput}else if(SUPPORT_ONLY_TOUCH){Type=TouchInput}else if(!SUPPORT_TOUCH){Type=MouseInput}else{Type=TouchMouseInput}return new Type(manager,inputHandler)}function invokeArrayArg(arg,fn,context){if(Array.isArray(arg)){each(arg,context[fn],context);return true}return false}var STATE_POSSIBLE=1;var STATE_BEGAN=2;var STATE_CHANGED=4;var STATE_ENDED=8;var STATE_RECOGNIZED=STATE_ENDED;var STATE_CANCELLED=16;var STATE_FAILED=32;var _uniqueId=1;function uniqueId(){return _uniqueId++}function getRecognizerByNameIfManager(otherRecognizer,recognizer){var manager=recognizer.manager;if(manager){return manager.get(otherRecognizer)}return otherRecognizer}function stateStr(state){if(state&STATE_CANCELLED){return"cancel"}else if(state&STATE_ENDED){return"end"}else if(state&STATE_CHANGED){return"move"}else if(state&STATE_BEGAN){return"start"}return""}var Recognizer=function(){function Recognizer(options){if(options===void 0){options={}}this.options=_extends({enable:true},options);this.id=uniqueId();this.manager=null;this.state=STATE_POSSIBLE;this.simultaneous={};this.requireFail=[]}var _proto=Recognizer.prototype;_proto.set=function set(options){assign$1$1(this.options,options);this.manager&&this.manager.touchAction.update();return this};_proto.recognizeWith=function recognizeWith(otherRecognizer){if(invokeArrayArg(otherRecognizer,"recognizeWith",this)){return this}var simultaneous=this.simultaneous;otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);if(!simultaneous[otherRecognizer.id]){simultaneous[otherRecognizer.id]=otherRecognizer;otherRecognizer.recognizeWith(this)}return this};_proto.dropRecognizeWith=function dropRecognizeWith(otherRecognizer){if(invokeArrayArg(otherRecognizer,"dropRecognizeWith",this)){return this}otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);delete this.simultaneous[otherRecognizer.id];return this};_proto.requireFailure=function requireFailure(otherRecognizer){if(invokeArrayArg(otherRecognizer,"requireFailure",this)){return this}var requireFail=this.requireFail;otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);if(inArray(requireFail,otherRecognizer)===-1){requireFail.push(otherRecognizer);otherRecognizer.requireFailure(this)}return this};_proto.dropRequireFailure=function dropRequireFailure(otherRecognizer){if(invokeArrayArg(otherRecognizer,"dropRequireFailure",this)){return this}otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);var index=inArray(this.requireFail,otherRecognizer);if(index>-1){this.requireFail.splice(index,1)}return this};_proto.hasRequireFailures=function hasRequireFailures(){return this.requireFail.length>0};_proto.canRecognizeWith=function canRecognizeWith(otherRecognizer){return!!this.simultaneous[otherRecognizer.id]};_proto.emit=function emit(input){var self=this;var state=this.state;function emit(event){self.manager.emit(event,input)}if(state<STATE_ENDED){emit(self.options.event+stateStr(state))}emit(self.options.event);if(input.additionalEvent){emit(input.additionalEvent)}if(state>=STATE_ENDED){emit(self.options.event+stateStr(state))}};_proto.tryEmit=function tryEmit(input){if(this.canEmit()){return this.emit(input)}this.state=STATE_FAILED};_proto.canEmit=function canEmit(){var i=0;while(i<this.requireFail.length){if(!(this.requireFail[i].state&(STATE_FAILED|STATE_POSSIBLE))){return false}i++}return true};_proto.recognize=function recognize(inputData){var inputDataClone=assign$1$1({},inputData);if(!boolOrFn(this.options.enable,[this,inputDataClone])){this.reset();this.state=STATE_FAILED;return}if(this.state&(STATE_RECOGNIZED|STATE_CANCELLED|STATE_FAILED)){this.state=STATE_POSSIBLE}this.state=this.process(inputDataClone);if(this.state&(STATE_BEGAN|STATE_CHANGED|STATE_ENDED|STATE_CANCELLED)){this.tryEmit(inputDataClone)}};_proto.process=function process(inputData){};_proto.getTouchAction=function getTouchAction(){};_proto.reset=function reset(){};return Recognizer}();var TapRecognizer=function(_Recognizer){_inheritsLoose(TapRecognizer,_Recognizer);function TapRecognizer(options){var _this;if(options===void 0){options={}}_this=_Recognizer.call(this,_extends({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},options))||this;_this.pTime=false;_this.pCenter=false;_this._timer=null;_this._input=null;_this.count=0;return _this}var _proto=TapRecognizer.prototype;_proto.getTouchAction=function getTouchAction(){return[TOUCH_ACTION_MANIPULATION]};_proto.process=function process(input){var _this2=this;var options=this.options;var validPointers=input.pointers.length===options.pointers;var validMovement=input.distance<options.threshold;var validTouchTime=input.deltaTime<options.time;this.reset();if(input.eventType&INPUT_START&&this.count===0){return this.failTimeout()}if(validMovement&&validTouchTime&&validPointers){if(input.eventType!==INPUT_END){return this.failTimeout()}var validInterval=this.pTime?input.timeStamp-this.pTime<options.interval:true;var validMultiTap=!this.pCenter||getDistance(this.pCenter,input.center)<options.posThreshold;this.pTime=input.timeStamp;this.pCenter=input.center;if(!validMultiTap||!validInterval){this.count=1}else{this.count+=1}this._input=input;var tapCount=this.count%options.taps;if(tapCount===0){if(!this.hasRequireFailures()){return STATE_RECOGNIZED}else{this._timer=setTimeout((function(){_this2.state=STATE_RECOGNIZED;_this2.tryEmit()}),options.interval);return STATE_BEGAN}}}return STATE_FAILED};_proto.failTimeout=function failTimeout(){var _this3=this;this._timer=setTimeout((function(){_this3.state=STATE_FAILED}),this.options.interval);return STATE_FAILED};_proto.reset=function reset(){clearTimeout(this._timer)};_proto.emit=function emit(){if(this.state===STATE_RECOGNIZED){this._input.tapCount=this.count;this.manager.emit(this.options.event,this._input)}};return TapRecognizer}(Recognizer);var AttrRecognizer=function(_Recognizer){_inheritsLoose(AttrRecognizer,_Recognizer);function AttrRecognizer(options){if(options===void 0){options={}}return _Recognizer.call(this,_extends({pointers:1},options))||this}var _proto=AttrRecognizer.prototype;_proto.attrTest=function attrTest(input){var optionPointers=this.options.pointers;return optionPointers===0||input.pointers.length===optionPointers};_proto.process=function process(input){var state=this.state;var eventType=input.eventType;var isRecognized=state&(STATE_BEGAN|STATE_CHANGED);var isValid=this.attrTest(input);if(isRecognized&&(eventType&INPUT_CANCEL||!isValid)){return state|STATE_CANCELLED}else if(isRecognized||isValid){if(eventType&INPUT_END){return state|STATE_ENDED}else if(!(state&STATE_BEGAN)){return STATE_BEGAN}return state|STATE_CHANGED}return STATE_FAILED};return AttrRecognizer}(Recognizer);function directionStr(direction){if(direction===DIRECTION_DOWN){return"down"}else if(direction===DIRECTION_UP){return"up"}else if(direction===DIRECTION_LEFT){return"left"}else if(direction===DIRECTION_RIGHT){return"right"}return""}var PanRecognizer=function(_AttrRecognizer){_inheritsLoose(PanRecognizer,_AttrRecognizer);function PanRecognizer(options){var _this;if(options===void 0){options={}}_this=_AttrRecognizer.call(this,_extends({event:"pan",threshold:10,pointers:1,direction:DIRECTION_ALL},options))||this;_this.pX=null;_this.pY=null;return _this}var _proto=PanRecognizer.prototype;_proto.getTouchAction=function getTouchAction(){var direction=this.options.direction;var actions=[];if(direction&DIRECTION_HORIZONTAL){actions.push(TOUCH_ACTION_PAN_Y)}if(direction&DIRECTION_VERTICAL){actions.push(TOUCH_ACTION_PAN_X)}return actions};_proto.directionTest=function directionTest(input){var options=this.options;var hasMoved=true;var distance=input.distance;var direction=input.direction;var x=input.deltaX;var y=input.deltaY;if(!(direction&options.direction)){if(options.direction&DIRECTION_HORIZONTAL){direction=x===0?DIRECTION_NONE:x<0?DIRECTION_LEFT:DIRECTION_RIGHT;hasMoved=x!==this.pX;distance=Math.abs(input.deltaX)}else{direction=y===0?DIRECTION_NONE:y<0?DIRECTION_UP:DIRECTION_DOWN;hasMoved=y!==this.pY;distance=Math.abs(input.deltaY)}}input.direction=direction;return hasMoved&&distance>options.threshold&&direction&options.direction};_proto.attrTest=function attrTest(input){return AttrRecognizer.prototype.attrTest.call(this,input)&&(this.state&STATE_BEGAN||!(this.state&STATE_BEGAN)&&this.directionTest(input))};_proto.emit=function emit(input){this.pX=input.deltaX;this.pY=input.deltaY;var direction=directionStr(input.direction);if(direction){input.additionalEvent=this.options.event+direction}_AttrRecognizer.prototype.emit.call(this,input)};return PanRecognizer}(AttrRecognizer);var SwipeRecognizer=function(_AttrRecognizer){_inheritsLoose(SwipeRecognizer,_AttrRecognizer);function SwipeRecognizer(options){if(options===void 0){options={}}return _AttrRecognizer.call(this,_extends({event:"swipe",threshold:10,velocity:.3,direction:DIRECTION_HORIZONTAL|DIRECTION_VERTICAL,pointers:1},options))||this}var _proto=SwipeRecognizer.prototype;_proto.getTouchAction=function getTouchAction(){return PanRecognizer.prototype.getTouchAction.call(this)};_proto.attrTest=function attrTest(input){var direction=this.options.direction;var velocity;if(direction&(DIRECTION_HORIZONTAL|DIRECTION_VERTICAL)){velocity=input.overallVelocity}else if(direction&DIRECTION_HORIZONTAL){velocity=input.overallVelocityX}else if(direction&DIRECTION_VERTICAL){velocity=input.overallVelocityY}return _AttrRecognizer.prototype.attrTest.call(this,input)&&direction&input.offsetDirection&&input.distance>this.options.threshold&&input.maxPointers===this.options.pointers&&abs(velocity)>this.options.velocity&&input.eventType&INPUT_END};_proto.emit=function emit(input){var direction=directionStr(input.offsetDirection);if(direction){this.manager.emit(this.options.event+direction,input)}this.manager.emit(this.options.event,input)};return SwipeRecognizer}(AttrRecognizer);var PinchRecognizer=function(_AttrRecognizer){_inheritsLoose(PinchRecognizer,_AttrRecognizer);function PinchRecognizer(options){if(options===void 0){options={}}return _AttrRecognizer.call(this,_extends({event:"pinch",threshold:0,pointers:2},options))||this}var _proto=PinchRecognizer.prototype;_proto.getTouchAction=function getTouchAction(){return[TOUCH_ACTION_NONE]};_proto.attrTest=function attrTest(input){return _AttrRecognizer.prototype.attrTest.call(this,input)&&(Math.abs(input.scale-1)>this.options.threshold||this.state&STATE_BEGAN)};_proto.emit=function emit(input){if(input.scale!==1){var inOut=input.scale<1?"in":"out";input.additionalEvent=this.options.event+inOut}_AttrRecognizer.prototype.emit.call(this,input)};return PinchRecognizer}(AttrRecognizer);var RotateRecognizer=function(_AttrRecognizer){_inheritsLoose(RotateRecognizer,_AttrRecognizer);function RotateRecognizer(options){if(options===void 0){options={}}return _AttrRecognizer.call(this,_extends({event:"rotate",threshold:0,pointers:2},options))||this}var _proto=RotateRecognizer.prototype;_proto.getTouchAction=function getTouchAction(){return[TOUCH_ACTION_NONE]};_proto.attrTest=function attrTest(input){return _AttrRecognizer.prototype.attrTest.call(this,input)&&(Math.abs(input.rotation)>this.options.threshold||this.state&STATE_BEGAN)};return RotateRecognizer}(AttrRecognizer);var PressRecognizer=function(_Recognizer){_inheritsLoose(PressRecognizer,_Recognizer);function PressRecognizer(options){var _this;if(options===void 0){options={}}_this=_Recognizer.call(this,_extends({event:"press",pointers:1,time:251,threshold:9},options))||this;_this._timer=null;_this._input=null;return _this}var _proto=PressRecognizer.prototype;_proto.getTouchAction=function getTouchAction(){return[TOUCH_ACTION_AUTO]};_proto.process=function process(input){var _this2=this;var options=this.options;var validPointers=input.pointers.length===options.pointers;var validMovement=input.distance<options.threshold;var validTime=input.deltaTime>options.time;this._input=input;if(!validMovement||!validPointers||input.eventType&(INPUT_END|INPUT_CANCEL)&&!validTime){this.reset()}else if(input.eventType&INPUT_START){this.reset();this._timer=setTimeout((function(){_this2.state=STATE_RECOGNIZED;_this2.tryEmit()}),options.time)}else if(input.eventType&INPUT_END){return STATE_RECOGNIZED}return STATE_FAILED};_proto.reset=function reset(){clearTimeout(this._timer)};_proto.emit=function emit(input){if(this.state!==STATE_RECOGNIZED){return}if(input&&input.eventType&INPUT_END){this.manager.emit(this.options.event+"up",input)}else{this._input.timeStamp=now$1();this.manager.emit(this.options.event,this._input)}};return PressRecognizer}(Recognizer);var defaults={domEvents:false,touchAction:TOUCH_ACTION_COMPUTE,enable:true,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var preset=[[RotateRecognizer,{enable:false}],[PinchRecognizer,{enable:false},["rotate"]],[SwipeRecognizer,{direction:DIRECTION_HORIZONTAL}],[PanRecognizer,{direction:DIRECTION_HORIZONTAL},["swipe"]],[TapRecognizer],[TapRecognizer,{event:"doubletap",taps:2},["tap"]],[PressRecognizer]];var STOP=1;var FORCED_STOP=2;function toggleCssProps(manager,add){var element=manager.element;if(!element.style){return}var prop;each(manager.options.cssProps,(function(value,name){prop=prefixed(element.style,name);if(add){manager.oldCssProps[prop]=element.style[prop];element.style[prop]=value}else{element.style[prop]=manager.oldCssProps[prop]||""}}));if(!add){manager.oldCssProps={}}}function triggerDomEvent(event,data){var gestureEvent=document.createEvent("Event");gestureEvent.initEvent(event,true,true);gestureEvent.gesture=data;data.target.dispatchEvent(gestureEvent)}var Manager=function(){function Manager(element,options){var _this=this;this.options=assign$1$1({},defaults,options||{});this.options.inputTarget=this.options.inputTarget||element;this.handlers={};this.session={};this.recognizers=[];this.oldCssProps={};this.element=element;this.input=createInputInstance(this);this.touchAction=new TouchAction(this,this.options.touchAction);toggleCssProps(this,true);each(this.options.recognizers,(function(item){var recognizer=_this.add(new item[0](item[1]));item[2]&&recognizer.recognizeWith(item[2]);item[3]&&recognizer.requireFailure(item[3])}),this)}var _proto=Manager.prototype;_proto.set=function set(options){assign$1$1(this.options,options);if(options.touchAction){this.touchAction.update()}if(options.inputTarget){this.input.destroy();this.input.target=options.inputTarget;this.input.init()}return this};_proto.stop=function stop(force){this.session.stopped=force?FORCED_STOP:STOP};_proto.recognize=function recognize(inputData){var session=this.session;if(session.stopped){return}this.touchAction.preventDefaults(inputData);var recognizer;var recognizers=this.recognizers;var curRecognizer=session.curRecognizer;if(!curRecognizer||curRecognizer&&curRecognizer.state&STATE_RECOGNIZED){session.curRecognizer=null;curRecognizer=null}var i=0;while(i<recognizers.length){recognizer=recognizers[i];if(session.stopped!==FORCED_STOP&&(!curRecognizer||recognizer===curRecognizer||recognizer.canRecognizeWith(curRecognizer))){recognizer.recognize(inputData)}else{recognizer.reset()}if(!curRecognizer&&recognizer.state&(STATE_BEGAN|STATE_CHANGED|STATE_ENDED)){session.curRecognizer=recognizer;curRecognizer=recognizer}i++}};_proto.get=function get(recognizer){if(recognizer instanceof Recognizer){return recognizer}var recognizers=this.recognizers;for(var i=0;i<recognizers.length;i++){if(recognizers[i].options.event===recognizer){return recognizers[i]}}return null};_proto.add=function add(recognizer){if(invokeArrayArg(recognizer,"add",this)){return this}var existing=this.get(recognizer.options.event);if(existing){this.remove(existing)}this.recognizers.push(recognizer);recognizer.manager=this;this.touchAction.update();return recognizer};_proto.remove=function remove(recognizer){if(invokeArrayArg(recognizer,"remove",this)){return this}var targetRecognizer=this.get(recognizer);if(recognizer){var recognizers=this.recognizers;var index=inArray(recognizers,targetRecognizer);if(index!==-1){recognizers.splice(index,1);this.touchAction.update()}}return this};_proto.on=function on(events,handler){if(events===undefined||handler===undefined){return this}var handlers=this.handlers;each(splitStr(events),(function(event){handlers[event]=handlers[event]||[];handlers[event].push(handler)}));return this};_proto.off=function off(events,handler){if(events===undefined){return this}var handlers=this.handlers;each(splitStr(events),(function(event){if(!handler){delete handlers[event]}else{handlers[event]&&handlers[event].splice(inArray(handlers[event],handler),1)}}));return this};_proto.emit=function emit(event,data){if(this.options.domEvents){triggerDomEvent(event,data)}var handlers=this.handlers[event]&&this.handlers[event].slice();if(!handlers||!handlers.length){return}data.type=event;data.preventDefault=function(){data.srcEvent.preventDefault()};var i=0;while(i<handlers.length){handlers[i](data);i++}};_proto.destroy=function destroy(){this.element&&toggleCssProps(this,false);this.handlers={};this.session={};this.input.destroy();this.element=null};return Manager}();var SINGLE_TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:INPUT_MOVE,touchend:INPUT_END,touchcancel:INPUT_CANCEL};var SINGLE_TOUCH_TARGET_EVENTS="touchstart";var SINGLE_TOUCH_WINDOW_EVENTS="touchstart touchmove touchend touchcancel";var SingleTouchInput=function(_Input){_inheritsLoose(SingleTouchInput,_Input);function SingleTouchInput(){var _this;var proto=SingleTouchInput.prototype;proto.evTarget=SINGLE_TOUCH_TARGET_EVENTS;proto.evWin=SINGLE_TOUCH_WINDOW_EVENTS;_this=_Input.apply(this,arguments)||this;_this.started=false;return _this}var _proto=SingleTouchInput.prototype;_proto.handler=function handler(ev){var type=SINGLE_TOUCH_INPUT_MAP[ev.type];if(type===INPUT_START){this.started=true}if(!this.started){return}var touches=normalizeSingleTouches.call(this,ev,type);if(type&(INPUT_END|INPUT_CANCEL)&&touches[0].length-touches[1].length===0){this.started=false}this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:INPUT_TYPE_TOUCH,srcEvent:ev})};return SingleTouchInput}(Input);function normalizeSingleTouches(ev,type){var all=toArray(ev.touches);var changed=toArray(ev.changedTouches);if(type&(INPUT_END|INPUT_CANCEL)){all=uniqueArray(all.concat(changed),"identifier",true)}return[all,changed]}function deprecate(method,name,message){var deprecationMessage="DEPRECATED METHOD: "+name+"\n"+message+" AT \n";return function(){var e=new Error("get-stack-trace");var stack=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace";var log=window.console&&(window.console.warn||window.console.log);if(log){log.call(window.console,deprecationMessage,stack)}return method.apply(this,arguments)}}var extend=deprecate((function(dest,src,merge){var keys=Object.keys(src);var i=0;while(i<keys.length){if(!merge||merge&&dest[keys[i]]===undefined){dest[keys[i]]=src[keys[i]]}i++}return dest}),"extend","Use `assign`.");var merge=deprecate((function(dest,src){return extend(dest,src,true)}),"merge","Use `assign`.");function inherit(child,base,properties){var baseP=base.prototype;var childP;childP=child.prototype=Object.create(baseP);childP.constructor=child;childP._super=baseP;if(properties){assign$1$1(childP,properties)}}function bindFn(fn,context){return function boundFn(){return fn.apply(context,arguments)}}var Hammer=function(){var Hammer=function Hammer(element,options){if(options===void 0){options={}}return new Manager(element,_extends({recognizers:preset.concat()},options))};Hammer.VERSION="2.0.17-rc";Hammer.DIRECTION_ALL=DIRECTION_ALL;Hammer.DIRECTION_DOWN=DIRECTION_DOWN;Hammer.DIRECTION_LEFT=DIRECTION_LEFT;Hammer.DIRECTION_RIGHT=DIRECTION_RIGHT;Hammer.DIRECTION_UP=DIRECTION_UP;Hammer.DIRECTION_HORIZONTAL=DIRECTION_HORIZONTAL;Hammer.DIRECTION_VERTICAL=DIRECTION_VERTICAL;Hammer.DIRECTION_NONE=DIRECTION_NONE;Hammer.DIRECTION_DOWN=DIRECTION_DOWN;Hammer.INPUT_START=INPUT_START;Hammer.INPUT_MOVE=INPUT_MOVE;Hammer.INPUT_END=INPUT_END;Hammer.INPUT_CANCEL=INPUT_CANCEL;Hammer.STATE_POSSIBLE=STATE_POSSIBLE;Hammer.STATE_BEGAN=STATE_BEGAN;Hammer.STATE_CHANGED=STATE_CHANGED;Hammer.STATE_ENDED=STATE_ENDED;Hammer.STATE_RECOGNIZED=STATE_RECOGNIZED;Hammer.STATE_CANCELLED=STATE_CANCELLED;Hammer.STATE_FAILED=STATE_FAILED;Hammer.Manager=Manager;Hammer.Input=Input;Hammer.TouchAction=TouchAction;Hammer.TouchInput=TouchInput;Hammer.MouseInput=MouseInput;Hammer.PointerEventInput=PointerEventInput;Hammer.TouchMouseInput=TouchMouseInput;Hammer.SingleTouchInput=SingleTouchInput;Hammer.Recognizer=Recognizer;Hammer.AttrRecognizer=AttrRecognizer;Hammer.Tap=TapRecognizer;Hammer.Pan=PanRecognizer;Hammer.Swipe=SwipeRecognizer;Hammer.Pinch=PinchRecognizer;Hammer.Rotate=RotateRecognizer;Hammer.Press=PressRecognizer;Hammer.on=addEventListeners;Hammer.off=removeEventListeners;Hammer.each=each;Hammer.merge=merge;Hammer.extend=extend;Hammer.bindFn=bindFn;Hammer.assign=assign$1$1;Hammer.inherit=inherit;Hammer.bindFn=bindFn;Hammer.prefixed=prefixed;Hammer.toArray=toArray;Hammer.inArray=inArray;Hammer.uniqueArray=uniqueArray;Hammer.splitStr=splitStr;Hammer.boolOrFn=boolOrFn;Hammer.hasParent=hasParent;Hammer.addEventListeners=addEventListeners;Hammer.removeEventListeners=removeEventListeners;Hammer.defaults=assign$1$1({},defaults,{preset:preset});return Hammer}();function _createForOfIteratorHelper(o,allowArrayLike){var it;if(typeof symbol$4==="undefined"||getIteratorMethod$1(o)==null){if(isArray$5(o)||(it=_unsupportedIterableToArray$1(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=getIterator$1(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it.return!=null)it.return()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray$1(o,minLen){var _context21;if(!o)return;if(typeof o==="string")return _arrayLikeToArray$1(o,minLen);var n=slice$6(_context21=Object.prototype.toString.call(o)).call(_context21,8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return from$2(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray$1(o,minLen)}function _arrayLikeToArray$1(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}var DELETE=symbol$4("DELETE");function pureDeepObjectAssign(base){var _context;for(var _len=arguments.length,updates=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){updates[_key-1]=arguments[_key]}return deepObjectAssign.apply(void 0,concat$2(_context=[{},base]).call(_context,updates))}function deepObjectAssign(){var merged=deepObjectAssignNonentry.apply(void 0,arguments);stripDelete(merged);return merged}function deepObjectAssignNonentry(){for(var _len2=arguments.length,values=new Array(_len2),_key2=0;_key2<_len2;_key2++){values[_key2]=arguments[_key2]}if(values.length<2){return values[0]}else if(values.length>2){var _context2;return deepObjectAssignNonentry.apply(void 0,concat$2(_context2=[deepObjectAssign(values[0],values[1])]).call(_context2,toConsumableArray(slice$6(values).call(values,2))))}var a=values[0];var b=values[1];var _iterator=_createForOfIteratorHelper(ownKeys$3(b)),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var prop=_step.value;if(!Object.prototype.propertyIsEnumerable.call(b,prop));else if(b[prop]===DELETE){delete a[prop]}else if(a[prop]!==null&&b[prop]!==null&&_typeof_1(a[prop])==="object"&&_typeof_1(b[prop])==="object"&&!isArray$5(a[prop])&&!isArray$5(b[prop])){a[prop]=deepObjectAssignNonentry(a[prop],b[prop])}else{a[prop]=clone(b[prop])}}}catch(err){_iterator.e(err)}finally{_iterator.f()}return a}function clone(a){if(isArray$5(a)){return map$2(a).call(a,(function(value){return clone(value)}))}else if(_typeof_1(a)==="object"&&a!==null){return deepObjectAssignNonentry({},a)}else{return a}}function stripDelete(a){for(var _i=0,_Object$keys=keys$3(a);_i<_Object$keys.length;_i++){var prop=_Object$keys[_i];if(a[prop]===DELETE){delete a[prop]}else if(_typeof_1(a[prop])==="object"&&a[prop]!==null){stripDelete(a[prop])}}}function hammerMock(){var noop=function noop(){};return{on:noop,off:noop,destroy:noop,emit:noop,get:function get(){return{set:noop}}}}var Hammer$1=typeof window!=="undefined"?window.Hammer||Hammer:function(){return hammerMock()};function Activator(container){var _this=this,_context3;this._cleanupQueue=[];this.active=false;this._dom={container:container,overlay:document.createElement("div")};this._dom.overlay.classList.add("vis-overlay");this._dom.container.appendChild(this._dom.overlay);this._cleanupQueue.push((function(){_this._dom.overlay.parentNode.removeChild(_this._dom.overlay)}));var hammer=Hammer$1(this._dom.overlay);hammer.on("tap",bind$2(_context3=this._onTapOverlay).call(_context3,this));this._cleanupQueue.push((function(){hammer.destroy()}));var events=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];forEach$2(events).call(events,(function(event){hammer.on(event,(function(event){event.srcEvent.stopPropagation()}))}));if(document&&document.body){this._onClick=function(event){if(!_hasParent(event.target,container)){_this.deactivate()}};document.body.addEventListener("click",this._onClick);this._cleanupQueue.push((function(){document.body.removeEventListener("click",_this._onClick)}))}this._escListener=function(event){if("key"in event?event.key==="Escape":event.keyCode===27){_this.deactivate()}}}componentEmitter(Activator.prototype);Activator.current=null;Activator.prototype.destroy=function(){var _context4,_context5;this.deactivate();var _iterator2=_createForOfIteratorHelper(reverse$2(_context4=splice$2(_context5=this._cleanupQueue).call(_context5,0)).call(_context4)),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var callback=_step2.value;callback()}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}};Activator.prototype.activate=function(){if(Activator.current){Activator.current.deactivate()}Activator.current=this;this.active=true;this._dom.overlay.style.display="none";this._dom.container.classList.add("vis-active");this.emit("change");this.emit("activate");document.body.addEventListener("keydown",this._escListener)};Activator.prototype.deactivate=function(){this.active=false;this._dom.overlay.style.display="block";this._dom.container.classList.remove("vis-active");document.body.removeEventListener("keydown",this._escListener);this.emit("change");this.emit("deactivate")};Activator.prototype._onTapOverlay=function(event){this.activate();event.srcEvent.stopPropagation()};function _hasParent(element,parent){while(element){if(element===parent){return true}element=element.parentNode}return false}var nativeConstruct=getBuiltIn("Reflect","construct");var NEW_TARGET_BUG=fails((function(){function F(){}return!(nativeConstruct((function(){}),[],F)instanceof F)}));var ARGS_BUG=!fails((function(){nativeConstruct((function(){}))}));var FORCED$4=NEW_TARGET_BUG||ARGS_BUG;_export({target:"Reflect",stat:true,forced:FORCED$4,sham:FORCED$4},{construct:function construct(Target,args){aFunction(Target);anObject(args);var newTarget=arguments.length<3?Target:aFunction(arguments[2]);if(ARGS_BUG&&!NEW_TARGET_BUG)return nativeConstruct(Target,args,newTarget);if(Target==newTarget){switch(args.length){case 0:return new Target;case 1:return new Target(args[0]);case 2:return new Target(args[0],args[1]);case 3:return new Target(args[0],args[1],args[2]);case 4:return new Target(args[0],args[1],args[2],args[3])}var $args=[null];$args.push.apply($args,args);return new(functionBind.apply(Target,$args))}var proto=newTarget.prototype;var instance=objectCreate(isObject(proto)?proto:Object.prototype);var result=Function.apply.call(Target,instance,args);return isObject(result)?result:instance}});var construct$1=path.Reflect.construct;var construct$2=construct$1;var construct$3=construct$2;var entries=entryVirtual("Array").entries;var entries$1=entries;var ArrayPrototype$a=Array.prototype;var DOMIterables$1={DOMTokenList:true,NodeList:true};var entries_1=function(it){var own=it.entries;return it===ArrayPrototype$a||it instanceof Array&&own===ArrayPrototype$a.entries||DOMIterables$1.hasOwnProperty(classof(it))?entries$1:own};var entries$2=entries_1;var runtime_1=createCommonjsModule((function(module){var runtime=function(exports){var Op=Object.prototype;var hasOwn=Op.hasOwnProperty;var undefined$1;var $Symbol=typeof Symbol==="function"?Symbol:{};var iteratorSymbol=$Symbol.iterator||"@@iterator";var asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator";var toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});return obj[key]}try{define({},"")}catch(err){define=function(obj,key,value){return obj[key]=value}}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator;var generator=Object.create(protoGenerator.prototype);var context=new Context(tryLocsList||[]);generator._invoke=makeInvokeMethod(innerFn,self,context);return generator}exports.wrap=wrap;function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}var GenStateSuspendedStart="suspendedStart";var GenStateSuspendedYield="suspendedYield";var GenStateExecuting="executing";var GenStateCompleted="completed";var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};IteratorPrototype[iteratorSymbol]=function(){return this};var getProto=Object.getPrototypeOf;var NativeIteratorPrototype=getProto&&getProto(getProto(values([])));if(NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)){IteratorPrototype=NativeIteratorPrototype}var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);GeneratorFunction.prototype=Gp.constructor=GeneratorFunctionPrototype;GeneratorFunctionPrototype.constructor=GeneratorFunction;GeneratorFunction.displayName=define(GeneratorFunctionPrototype,toStringTagSymbol,"GeneratorFunction");function defineIteratorMethods(prototype){["next","throw","return"].forEach((function(method){define(prototype,method,(function(arg){return this._invoke(method,arg)}))}))}exports.isGeneratorFunction=function(genFun){var ctor=typeof genFun==="function"&&genFun.constructor;return ctor?ctor===GeneratorFunction||(ctor.displayName||ctor.name)==="GeneratorFunction":false};exports.mark=function(genFun){if(Object.setPrototypeOf){Object.setPrototypeOf(genFun,GeneratorFunctionPrototype)}else{genFun.__proto__=GeneratorFunctionPrototype;define(genFun,toStringTagSymbol,"GeneratorFunction")}genFun.prototype=Object.create(Gp);return genFun};exports.awrap=function(arg){return{__await:arg}};function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if(record.type==="throw"){reject(record.arg)}else{var result=record.arg;var value=result.value;if(value&&typeof value==="object"&&hasOwn.call(value,"__await")){return PromiseImpl.resolve(value.__await).then((function(value){invoke("next",value,resolve,reject)}),(function(err){invoke("throw",err,resolve,reject)}))}return PromiseImpl.resolve(value).then((function(unwrapped){result.value=unwrapped;resolve(result)}),(function(error){return invoke("throw",error,resolve,reject)}))}}var previousPromise;function enqueue(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl((function(resolve,reject){invoke(method,arg,resolve,reject)}))}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}this._invoke=enqueue}defineIteratorMethods(AsyncIterator.prototype);AsyncIterator.prototype[asyncIteratorSymbol]=function(){return this};exports.AsyncIterator=AsyncIterator;exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){if(PromiseImpl===void 0)PromiseImpl=Promise;var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then((function(result){return result.done?result.value:iter.next()}))};function makeInvokeMethod(innerFn,self,context){var state=GenStateSuspendedStart;return function invoke(method,arg){if(state===GenStateExecuting){throw new Error("Generator is already running")}if(state===GenStateCompleted){if(method==="throw"){throw arg}return doneResult()}context.method=method;context.arg=arg;while(true){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if(context.method==="next"){context.sent=context._sent=context.arg}else if(context.method==="throw"){if(state===GenStateSuspendedStart){state=GenStateCompleted;throw context.arg}context.dispatchException(context.arg)}else if(context.method==="return"){context.abrupt("return",context.arg)}state=GenStateExecuting;var record=tryCatch(innerFn,self,context);if(record.type==="normal"){state=context.done?GenStateCompleted:GenStateSuspendedYield;if(record.arg===ContinueSentinel){continue}return{value:record.arg,done:context.done}}else if(record.type==="throw"){state=GenStateCompleted;context.method="throw";context.arg=record.arg}}}}function maybeInvokeDelegate(delegate,context){var method=delegate.iterator[context.method];if(method===undefined$1){context.delegate=null;if(context.method==="throw"){if(delegate.iterator["return"]){context.method="return";context.arg=undefined$1;maybeInvokeDelegate(delegate,context);if(context.method==="throw"){return ContinueSentinel}}context.method="throw";context.arg=new TypeError("The iterator does not provide a 'throw' method")}return ContinueSentinel}var record=tryCatch(method,delegate.iterator,context.arg);if(record.type==="throw"){context.method="throw";context.arg=record.arg;context.delegate=null;return ContinueSentinel}var info=record.arg;if(!info){context.method="throw";context.arg=new TypeError("iterator result is not an object");context.delegate=null;return ContinueSentinel}if(info.done){context[delegate.resultName]=info.value;context.next=delegate.nextLoc;if(context.method!=="return"){context.method="next";context.arg=undefined$1}}else{return info}context.delegate=null;return ContinueSentinel}defineIteratorMethods(Gp);define(Gp,toStringTagSymbol,"Generator");Gp[iteratorSymbol]=function(){return this};Gp.toString=function(){return"[object Generator]"};function pushTryEntry(locs){var entry={tryLoc:locs[0]};if(1 in locs){entry.catchLoc=locs[1]}if(2 in locs){entry.finallyLoc=locs[2];entry.afterLoc=locs[3]}this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal";delete record.arg;entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}];tryLocsList.forEach(pushTryEntry,this);this.reset(true)}exports.keys=function(object){var keys=[];for(var key in object){keys.push(key)}keys.reverse();return function next(){while(keys.length){var key=keys.pop();if(key in object){next.value=key;next.done=false;return next}}next.done=true;return next}};function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod){return iteratorMethod.call(iterable)}if(typeof iterable.next==="function"){return iterable}if(!isNaN(iterable.length)){var i=-1,next=function next(){while(++i<iterable.length){if(hasOwn.call(iterable,i)){next.value=iterable[i];next.done=false;return next}}next.value=undefined$1;next.done=true;return next};return next.next=next}}return{next:doneResult}}exports.values=values;function doneResult(){return{value:undefined$1,done:true}}Context.prototype={constructor:Context,reset:function(skipTempReset){this.prev=0;this.next=0;this.sent=this._sent=undefined$1;this.done=false;this.delegate=null;this.method="next";this.arg=undefined$1;this.tryEntries.forEach(resetTryEntry);if(!skipTempReset){for(var name in this){if(name.charAt(0)==="t"&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))){this[name]=undefined$1}}}},stop:function(){this.done=true;var rootEntry=this.tryEntries[0];var rootRecord=rootEntry.completion;if(rootRecord.type==="throw"){throw rootRecord.arg}return this.rval},dispatchException:function(exception){if(this.done){throw exception}var context=this;function handle(loc,caught){record.type="throw";record.arg=exception;context.next=loc;if(caught){context.method="next";context.arg=undefined$1}return!!caught}for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];var record=entry.completion;if(entry.tryLoc==="root"){return handle("end")}if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc");var hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc){return handle(entry.catchLoc,true)}else if(this.prev<entry.finallyLoc){return handle(entry.finallyLoc)}}else if(hasCatch){if(this.prev<entry.catchLoc){return handle(entry.catchLoc,true)}}else if(hasFinally){if(this.prev<entry.finallyLoc){return handle(entry.finallyLoc)}}else{throw new Error("try statement without catch or finally")}}}},abrupt:function(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}}if(finallyEntry&&(type==="break"||type==="continue")&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc){finallyEntry=null}var record=finallyEntry?finallyEntry.completion:{};record.type=type;record.arg=arg;if(finallyEntry){this.method="next";this.next=finallyEntry.finallyLoc;return ContinueSentinel}return this.complete(record)},complete:function(record,afterLoc){if(record.type==="throw"){throw record.arg}if(record.type==="break"||record.type==="continue"){this.next=record.arg}else if(record.type==="return"){this.rval=this.arg=record.arg;this.method="return";this.next="end"}else if(record.type==="normal"&&afterLoc){this.next=afterLoc}return ContinueSentinel},finish:function(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc){this.complete(entry.completion,entry.afterLoc);resetTryEntry(entry);return ContinueSentinel}}},catch:function(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if(record.type==="throw"){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function(iterable,resultName,nextLoc){this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc};if(this.method==="next"){this.arg=undefined$1}return ContinueSentinel}};return exports}(module.exports);try{regeneratorRuntime=runtime}catch(accidentalStrictMode){Function("r","regeneratorRuntime = r")(runtime)}}));var regenerator=runtime_1;var iterator$3=iterator;var iterator$4=iterator$3;var values$1=entryVirtual("Array").values;var values$2=values$1;var ArrayPrototype$b=Array.prototype;var DOMIterables$2={DOMTokenList:true,NodeList:true};var values_1=function(it){var own=it.values;return it===ArrayPrototype$b||it instanceof Array&&own===ArrayPrototype$b.values||DOMIterables$2.hasOwnProperty(classof(it))?values$2:own};var values$3=values_1;var test$2=[];var nativeSort=test$2.sort;var FAILS_ON_UNDEFINED=fails((function(){test$2.sort(undefined)}));var FAILS_ON_NULL=fails((function(){test$2.sort(null)}));var STRICT_METHOD$3=arrayMethodIsStrict("sort");var FORCED$5=FAILS_ON_UNDEFINED||!FAILS_ON_NULL||!STRICT_METHOD$3;_export({target:"Array",proto:true,forced:FORCED$5},{sort:function sort(comparefn){return comparefn===undefined?nativeSort.call(toObject(this)):nativeSort.call(toObject(this),aFunction(comparefn))}});var sort=entryVirtual("Array").sort;var ArrayPrototype$c=Array.prototype;var sort_1=function(it){var own=it.sort;return it===ArrayPrototype$c||it instanceof Array&&own===ArrayPrototype$c.sort?sort:own};var sort$1=sort_1;var sort$2=sort$1;var keys$4=entryVirtual("Array").keys;var keys$5=keys$4;var ArrayPrototype$d=Array.prototype;var DOMIterables$3={DOMTokenList:true,NodeList:true};var keys_1=function(it){var own=it.keys;return it===ArrayPrototype$d||it instanceof Array&&own===ArrayPrototype$d.keys||DOMIterables$3.hasOwnProperty(classof(it))?keys$5:own};var keys$6=keys_1;var $some=arrayIteration.some;var STRICT_METHOD$4=arrayMethodIsStrict("some");var USES_TO_LENGTH$8=arrayMethodUsesToLength("some");_export({target:"Array",proto:true,forced:!STRICT_METHOD$4||!USES_TO_LENGTH$8},{some:function some(callbackfn){return $some(this,callbackfn,arguments.length>1?arguments[1]:undefined)}});var some=entryVirtual("Array").some;var ArrayPrototype$e=Array.prototype;var some_1=function(it){var own=it.some;return it===ArrayPrototype$e||it instanceof Array&&own===ArrayPrototype$e.some?some:own};var some$1=some_1;var some$2=some$1;var freezing=!fails((function(){return Object.isExtensible(Object.preventExtensions({}))}));var internalMetadata=createCommonjsModule((function(module){var defineProperty=objectDefineProperty.f;var METADATA=uid("meta");var id=0;var isExtensible=Object.isExtensible||function(){return true};var setMetadata=function(it){defineProperty(it,METADATA,{value:{objectID:"O"+ ++id,weakData:{}}})};var fastKey=function(it,create){if(!isObject(it))return typeof it=="symbol"?it:(typeof it=="string"?"S":"P")+it;if(!has(it,METADATA)){if(!isExtensible(it))return"F";if(!create)return"E";setMetadata(it)}return it[METADATA].objectID};var getWeakData=function(it,create){if(!has(it,METADATA)){if(!isExtensible(it))return true;if(!create)return false;setMetadata(it)}return it[METADATA].weakData};var onFreeze=function(it){if(freezing&&meta.REQUIRED&&isExtensible(it)&&!has(it,METADATA))setMetadata(it);return it};var meta=module.exports={REQUIRED:false,fastKey:fastKey,getWeakData:getWeakData,onFreeze:onFreeze};hiddenKeys[METADATA]=true}));var Result=function(stopped,result){this.stopped=stopped;this.result=result};var iterate=function(iterable,unboundFunction,options){var that=options&&options.that;var AS_ENTRIES=!!(options&&options.AS_ENTRIES);var IS_ITERATOR=!!(options&&options.IS_ITERATOR);var INTERRUPTED=!!(options&&options.INTERRUPTED);var fn=functionBindContext(unboundFunction,that,1+AS_ENTRIES+INTERRUPTED);var iterator,iterFn,index,length,result,next,step;var stop=function(condition){if(iterator)iteratorClose(iterator);return new Result(true,condition)};var callFn=function(value){if(AS_ENTRIES){anObject(value);return INTERRUPTED?fn(value[0],value[1],stop):fn(value[0],value[1])}return INTERRUPTED?fn(value,stop):fn(value)};if(IS_ITERATOR){iterator=iterable}else{iterFn=getIteratorMethod(iterable);if(typeof iterFn!="function")throw TypeError("Target is not iterable");if(isArrayIteratorMethod(iterFn)){for(index=0,length=toLength(iterable.length);length>index;index++){result=callFn(iterable[index]);if(result&&result instanceof Result)return result}return new Result(false)}iterator=iterFn.call(iterable)}next=iterator.next;while(!(step=next.call(iterator)).done){try{result=callFn(step.value)}catch(error){iteratorClose(iterator);throw error}if(typeof result=="object"&&result&&result instanceof Result)return result}return new Result(false)};var anInstance=function(it,Constructor,name){if(!(it instanceof Constructor)){throw TypeError("Incorrect "+(name?name+" ":"")+"invocation")}return it};var defineProperty$9=objectDefineProperty.f;var forEach$3=arrayIteration.forEach;var setInternalState$3=internalState.set;var internalStateGetterFor=internalState.getterFor;var collection=function(CONSTRUCTOR_NAME,wrapper,common){var IS_MAP=CONSTRUCTOR_NAME.indexOf("Map")!==-1;var IS_WEAK=CONSTRUCTOR_NAME.indexOf("Weak")!==-1;var ADDER=IS_MAP?"set":"add";var NativeConstructor=global$1[CONSTRUCTOR_NAME];var NativePrototype=NativeConstructor&&NativeConstructor.prototype;var exported={};var Constructor;if(!descriptors||typeof NativeConstructor!="function"||!(IS_WEAK||NativePrototype.forEach&&!fails((function(){(new NativeConstructor).entries().next()})))){Constructor=common.getConstructor(wrapper,CONSTRUCTOR_NAME,IS_MAP,ADDER);internalMetadata.REQUIRED=true}else{Constructor=wrapper((function(target,iterable){setInternalState$3(anInstance(target,Constructor,CONSTRUCTOR_NAME),{type:CONSTRUCTOR_NAME,collection:new NativeConstructor});if(iterable!=undefined)iterate(iterable,target[ADDER],{that:target,AS_ENTRIES:IS_MAP})}));var getInternalState=internalStateGetterFor(CONSTRUCTOR_NAME);forEach$3(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(KEY){var IS_ADDER=KEY=="add"||KEY=="set";if(KEY in NativePrototype&&!(IS_WEAK&&KEY=="clear")){createNonEnumerableProperty(Constructor.prototype,KEY,(function(a,b){var collection=getInternalState(this).collection;if(!IS_ADDER&&IS_WEAK&&!isObject(a))return KEY=="get"?undefined:false;var result=collection[KEY](a===0?0:a,b);return IS_ADDER?this:result}))}}));IS_WEAK||defineProperty$9(Constructor.prototype,"size",{configurable:true,get:function(){return getInternalState(this).collection.size}})}setToStringTag(Constructor,CONSTRUCTOR_NAME,false,true);exported[CONSTRUCTOR_NAME]=Constructor;_export({global:true,forced:true},exported);if(!IS_WEAK)common.setStrong(Constructor,CONSTRUCTOR_NAME,IS_MAP);return Constructor};var redefineAll=function(target,src,options){for(var key in src){if(options&&options.unsafe&&target[key])target[key]=src[key];else redefine(target,key,src[key],options)}return target};var SPECIES$3=wellKnownSymbol("species");var setSpecies=function(CONSTRUCTOR_NAME){var Constructor=getBuiltIn(CONSTRUCTOR_NAME);var defineProperty=objectDefineProperty.f;if(descriptors&&Constructor&&!Constructor[SPECIES$3]){defineProperty(Constructor,SPECIES$3,{configurable:true,get:function(){return this}})}};var defineProperty$a=objectDefineProperty.f;var fastKey=internalMetadata.fastKey;var setInternalState$4=internalState.set;var internalStateGetterFor$1=internalState.getterFor;var collectionStrong={getConstructor:function(wrapper,CONSTRUCTOR_NAME,IS_MAP,ADDER){var C=wrapper((function(that,iterable){anInstance(that,C,CONSTRUCTOR_NAME);setInternalState$4(that,{type:CONSTRUCTOR_NAME,index:objectCreate(null),first:undefined,last:undefined,size:0});if(!descriptors)that.size=0;if(iterable!=undefined)iterate(iterable,that[ADDER],{that:that,AS_ENTRIES:IS_MAP})}));var getInternalState=internalStateGetterFor$1(CONSTRUCTOR_NAME);var define=function(that,key,value){var state=getInternalState(that);var entry=getEntry(that,key);var previous,index;if(entry){entry.value=value}else{state.last=entry={index:index=fastKey(key,true),key:key,value:value,previous:previous=state.last,next:undefined,removed:false};if(!state.first)state.first=entry;if(previous)previous.next=entry;if(descriptors)state.size++;else that.size++;if(index!=="F")state.index[index]=entry}return that};var getEntry=function(that,key){var state=getInternalState(that);var index=fastKey(key);var entry;if(index!=="F")return state.index[index];for(entry=state.first;entry;entry=entry.next){if(entry.key==key)return entry}};redefineAll(C.prototype,{clear:function clear(){var that=this;var state=getInternalState(that);var data=state.index;var entry=state.first;while(entry){entry.removed=true;if(entry.previous)entry.previous=entry.previous.next=undefined;delete data[entry.index];entry=entry.next}state.first=state.last=undefined;if(descriptors)state.size=0;else that.size=0},delete:function(key){var that=this;var state=getInternalState(that);var entry=getEntry(that,key);if(entry){var next=entry.next;var prev=entry.previous;delete state.index[entry.index];entry.removed=true;if(prev)prev.next=next;if(next)next.previous=prev;if(state.first==entry)state.first=next;if(state.last==entry)state.last=prev;if(descriptors)state.size--;else that.size--}return!!entry},forEach:function forEach(callbackfn){var state=getInternalState(this);var boundFunction=functionBindContext(callbackfn,arguments.length>1?arguments[1]:undefined,3);var entry;while(entry=entry?entry.next:state.first){boundFunction(entry.value,entry.key,this);while(entry&&entry.removed)entry=entry.previous}},has:function has(key){return!!getEntry(this,key)}});redefineAll(C.prototype,IS_MAP?{get:function get(key){var entry=getEntry(this,key);return entry&&entry.value},set:function set(key,value){return define(this,key===0?0:key,value)}}:{add:function add(value){return define(this,value=value===0?0:value,value)}});if(descriptors)defineProperty$a(C.prototype,"size",{get:function(){return getInternalState(this).size}});return C},setStrong:function(C,CONSTRUCTOR_NAME,IS_MAP){var ITERATOR_NAME=CONSTRUCTOR_NAME+" Iterator";var getInternalCollectionState=internalStateGetterFor$1(CONSTRUCTOR_NAME);var getInternalIteratorState=internalStateGetterFor$1(ITERATOR_NAME);defineIterator(C,CONSTRUCTOR_NAME,(function(iterated,kind){setInternalState$4(this,{type:ITERATOR_NAME,target:iterated,state:getInternalCollectionState(iterated),kind:kind,last:undefined})}),(function(){var state=getInternalIteratorState(this);var kind=state.kind;var entry=state.last;while(entry&&entry.removed)entry=entry.previous;if(!state.target||!(state.last=entry=entry?entry.next:state.state.first)){state.target=undefined;return{value:undefined,done:true}}if(kind=="keys")return{value:entry.key,done:false};if(kind=="values")return{value:entry.value,done:false};return{value:[entry.key,entry.value],done:false}}),IS_MAP?"entries":"values",!IS_MAP,true);setSpecies(CONSTRUCTOR_NAME)}};var es_map=collection("Map",(function(init){return function Map(){return init(this,arguments.length?arguments[0]:undefined)}}),collectionStrong);var map$3=path.Map;var map$4=map$3;var map$5=map$4;var create$3=create;var create$4=create$3;_export({target:"Object",stat:true},{setPrototypeOf:objectSetPrototypeOf});var setPrototypeOf=path.Object.setPrototypeOf;var setPrototypeOf$1=setPrototypeOf;var setPrototypeOf$2=setPrototypeOf$1;var setPrototypeOf$3=createCommonjsModule((function(module){function _setPrototypeOf(o,p){module.exports=_setPrototypeOf=setPrototypeOf$2||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}module.exports=_setPrototypeOf}));function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=create$4(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)setPrototypeOf$3(subClass,superClass)}var inherits=_inherits;function _assertThisInitialized$1(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}var assertThisInitialized=_assertThisInitialized$1;function _possibleConstructorReturn(self,call){if(call&&(_typeof_1(call)==="object"||typeof call==="function")){return call}return assertThisInitialized(self)}var possibleConstructorReturn=_possibleConstructorReturn;var getPrototypeOf$1=getPrototypeOf;var getPrototypeOf$2=getPrototypeOf$1;var getPrototypeOf$3=createCommonjsModule((function(module){function _getPrototypeOf(o){module.exports=_getPrototypeOf=setPrototypeOf$2?getPrototypeOf$2:function _getPrototypeOf(o){return o.__proto__||getPrototypeOf$2(o)};return _getPrototypeOf(o)}module.exports=_getPrototypeOf}));var getRandomValues;var rnds8=new Uint8Array(16);function rng(){if(!getRandomValues){getRandomValues=typeof crypto!=="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!=="undefined"&&typeof msCrypto.getRandomValues==="function"&&msCrypto.getRandomValues.bind(msCrypto);if(!getRandomValues){throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}}return getRandomValues(rnds8)}var REGEX=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function validate(uuid){return typeof uuid==="string"&&REGEX.test(uuid)}var byteToHex=[];for(var i=0;i<256;++i){byteToHex.push((i+256).toString(16).substr(1))}function stringify$3(arr){var offset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var uuid=(byteToHex[arr[offset+0]]+byteToHex[arr[offset+1]]+byteToHex[arr[offset+2]]+byteToHex[arr[offset+3]]+"-"+byteToHex[arr[offset+4]]+byteToHex[arr[offset+5]]+"-"+byteToHex[arr[offset+6]]+byteToHex[arr[offset+7]]+"-"+byteToHex[arr[offset+8]]+byteToHex[arr[offset+9]]+"-"+byteToHex[arr[offset+10]]+byteToHex[arr[offset+11]]+byteToHex[arr[offset+12]]+byteToHex[arr[offset+13]]+byteToHex[arr[offset+14]]+byteToHex[arr[offset+15]]).toLowerCase();if(!validate(uuid)){throw TypeError("Stringified UUID is invalid")}return uuid}function v4(options,buf,offset){options=options||{};var rnds=options.random||(options.rng||rng)();rnds[6]=rnds[6]&15|64;rnds[8]=rnds[8]&63|128;if(buf){offset=offset||0;for(var i=0;i<16;++i){buf[offset+i]=rnds[i]}return buf}return stringify$3(rnds)}function isId(value){return typeof value==="string"||typeof value==="number"}var Queue=function(){function Queue(options){classCallCheck(this,Queue);this._queue=[];this._timeout=null;this._extended=null;this.delay=null;this.max=Infinity;this.setOptions(options)}createClass(Queue,[{key:"setOptions",value:function setOptions(options){if(options&&typeof options.delay!=="undefined"){this.delay=options.delay}if(options&&typeof options.max!=="undefined"){this.max=options.max}this._flushIfNeeded()}},{key:"destroy",value:function destroy(){this.flush();if(this._extended){var object=this._extended.object;var methods=this._extended.methods;for(var i=0;i<methods.length;i++){var method=methods[i];if(method.original){object[method.name]=method.original}else{delete object[method.name]}}this._extended=null}}},{key:"replace",value:function replace(object,method){var me=this;var original=object[method];if(!original){throw new Error("Method "+method+" undefined")}object[method]=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}me.queue({args:args,fn:original,context:this})}}},{key:"queue",value:function queue(entry){if(typeof entry==="function"){this._queue.push({fn:entry})}else{this._queue.push(entry)}this._flushIfNeeded()}},{key:"_flushIfNeeded",value:function _flushIfNeeded(){var _this=this;if(this._queue.length>this.max){this.flush()}if(this._timeout!=null){clearTimeout(this._timeout);this._timeout=null}if(this.queue.length>0&&typeof this.delay==="number"){this._timeout=setTimeout$2((function(){_this.flush()}),this.delay)}}},{key:"flush",value:function flush(){var _context,_context2;forEach$2(_context=splice$2(_context2=this._queue).call(_context2,0)).call(_context,(function(entry){entry.fn.apply(entry.context||entry.fn,entry.args||[])}))}}],[{key:"extend",value:function extend(object,options){var queue=new Queue(options);if(object.flush!==undefined){throw new Error("Target object already has a property flush")}object.flush=function(){queue.flush()};var methods=[{name:"flush",original:undefined}];if(options&&options.replace){for(var i=0;i<options.replace.length;i++){var name=options.replace[i];methods.push({name:name,original:object[name]});queue.replace(object,name)}}queue._extended={object:object,methods:methods};return queue}}]);return Queue}();var DataSetPart=function(){function DataSetPart(){classCallCheck(this,DataSetPart);this._subscribers={"*":[],add:[],remove:[],update:[]};this.subscribe=DataSetPart.prototype.on;this.unsubscribe=DataSetPart.prototype.off}createClass(DataSetPart,[{key:"_trigger",value:function _trigger(event,payload,senderId){var _context,_context2;if(event==="*"){throw new Error("Cannot trigger event *")}forEach$2(_context=concat$2(_context2=[]).call(_context2,toConsumableArray(this._subscribers[event]),toConsumableArray(this._subscribers["*"]))).call(_context,(function(subscriber){subscriber(event,payload,senderId!=null?senderId:null)}))}},{key:"on",value:function on(event,callback){if(typeof callback==="function"){this._subscribers[event].push(callback)}}},{key:"off",value:function off(event,callback){var _context3;this._subscribers[event]=filter$2(_context3=this._subscribers[event]).call(_context3,(function(subscriber){return subscriber!==callback}))}}]);return DataSetPart}();var es_set=collection("Set",(function(init){return function Set(){return init(this,arguments.length?arguments[0]:undefined)}}),collectionStrong);var set$1=path.Set;var set$2=set$1;var set$3=set$2;function _createForOfIteratorHelper$1(o,allowArrayLike){var it;if(typeof symbol$4==="undefined"||getIteratorMethod$1(o)==null){if(isArray$5(o)||(it=_unsupportedIterableToArray$2(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=getIterator$1(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it.return!=null)it.return()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray$2(o,minLen){var _context10;if(!o)return;if(typeof o==="string")return _arrayLikeToArray$2(o,minLen);var n=slice$6(_context10=Object.prototype.toString.call(o)).call(_context10,8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return from$2(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray$2(o,minLen)}function _arrayLikeToArray$2(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}var DataStream=function(){function DataStream(pairs){classCallCheck(this,DataStream);this._pairs=pairs}createClass(DataStream,[{key:iterator$4,value:regenerator.mark((function value(){var _iterator,_step,_step$value,id,item;return regenerator.wrap((function value$(_context){while(1){switch(_context.prev=_context.next){case 0:_iterator=_createForOfIteratorHelper$1(this._pairs);_context.prev=1;_iterator.s();case 3:if((_step=_iterator.n()).done){_context.next=9;break}_step$value=slicedToArray(_step.value,2),id=_step$value[0],item=_step$value[1];_context.next=7;return[id,item];case 7:_context.next=3;break;case 9:_context.next=14;break;case 11:_context.prev=11;_context.t0=_context["catch"](1);_iterator.e(_context.t0);case 14:_context.prev=14;_iterator.f();return _context.finish(14);case 17:case"end":return _context.stop()}}}),value,this,[[1,11,14,17]])}))},{key:"entries",value:regenerator.mark((function entries(){var _iterator2,_step2,_step2$value,id,item;return regenerator.wrap((function entries$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:_iterator2=_createForOfIteratorHelper$1(this._pairs);_context2.prev=1;_iterator2.s();case 3:if((_step2=_iterator2.n()).done){_context2.next=9;break}_step2$value=slicedToArray(_step2.value,2),id=_step2$value[0],item=_step2$value[1];_context2.next=7;return[id,item];case 7:_context2.next=3;break;case 9:_context2.next=14;break;case 11:_context2.prev=11;_context2.t0=_context2["catch"](1);_iterator2.e(_context2.t0);case 14:_context2.prev=14;_iterator2.f();return _context2.finish(14);case 17:case"end":return _context2.stop()}}}),entries,this,[[1,11,14,17]])}))},{key:"keys",value:regenerator.mark((function keys(){var _iterator3,_step3,_step3$value,id;return regenerator.wrap((function keys$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:_iterator3=_createForOfIteratorHelper$1(this._pairs);_context3.prev=1;_iterator3.s();case 3:if((_step3=_iterator3.n()).done){_context3.next=9;break}_step3$value=slicedToArray(_step3.value,1),id=_step3$value[0];_context3.next=7;return id;case 7:_context3.next=3;break;case 9:_context3.next=14;break;case 11:_context3.prev=11;_context3.t0=_context3["catch"](1);_iterator3.e(_context3.t0);case 14:_context3.prev=14;_iterator3.f();return _context3.finish(14);case 17:case"end":return _context3.stop()}}}),keys,this,[[1,11,14,17]])}))},{key:"values",value:regenerator.mark((function values(){var _iterator4,_step4,_step4$value,item;return regenerator.wrap((function values$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:_iterator4=_createForOfIteratorHelper$1(this._pairs);_context4.prev=1;_iterator4.s();case 3:if((_step4=_iterator4.n()).done){_context4.next=9;break}_step4$value=slicedToArray(_step4.value,2),item=_step4$value[1];_context4.next=7;return item;case 7:_context4.next=3;break;case 9:_context4.next=14;break;case 11:_context4.prev=11;_context4.t0=_context4["catch"](1);_iterator4.e(_context4.t0);case 14:_context4.prev=14;_iterator4.f();return _context4.finish(14);case 17:case"end":return _context4.stop()}}}),values,this,[[1,11,14,17]])}))},{key:"toIdArray",value:function toIdArray(){var _context5;return map$2(_context5=toConsumableArray(this._pairs)).call(_context5,(function(pair){return pair[0]}))}},{key:"toItemArray",value:function toItemArray(){var _context6;return map$2(_context6=toConsumableArray(this._pairs)).call(_context6,(function(pair){return pair[1]}))}},{key:"toEntryArray",value:function toEntryArray(){return toConsumableArray(this._pairs)}},{key:"toObjectMap",value:function toObjectMap(){var map=create$2(null);var _iterator5=_createForOfIteratorHelper$1(this._pairs),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var _step5$value=slicedToArray(_step5.value,2),id=_step5$value[0],item=_step5$value[1];map[id]=item}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}return map}},{key:"toMap",value:function toMap(){return new map$5(this._pairs)}},{key:"toIdSet",value:function toIdSet(){return new set$3(this.toIdArray())}},{key:"toItemSet",value:function toItemSet(){return new set$3(this.toItemArray())}},{key:"cache",value:function cache(){return new DataStream(toConsumableArray(this._pairs))}},{key:"distinct",value:function distinct(callback){var set=new set$3;var _iterator6=_createForOfIteratorHelper$1(this._pairs),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var _step6$value=slicedToArray(_step6.value,2),id=_step6$value[0],item=_step6$value[1];set.add(callback(item,id))}}catch(err){_iterator6.e(err)}finally{_iterator6.f()}return set}},{key:"filter",value:function filter(callback){var pairs=this._pairs;return new DataStream(defineProperty$7({},iterator$4,regenerator.mark((function _callee(){var _iterator7,_step7,_step7$value,id,item;return regenerator.wrap((function _callee$(_context7){while(1){switch(_context7.prev=_context7.next){case 0:_iterator7=_createForOfIteratorHelper$1(pairs);_context7.prev=1;_iterator7.s();case 3:if((_step7=_iterator7.n()).done){_context7.next=10;break}_step7$value=slicedToArray(_step7.value,2),id=_step7$value[0],item=_step7$value[1];if(!callback(item,id)){_context7.next=8;break}_context7.next=8;return[id,item];case 8:_context7.next=3;break;case 10:_context7.next=15;break;case 12:_context7.prev=12;_context7.t0=_context7["catch"](1);_iterator7.e(_context7.t0);case 15:_context7.prev=15;_iterator7.f();return _context7.finish(15);case 18:case"end":return _context7.stop()}}}),_callee,null,[[1,12,15,18]])}))))}},{key:"forEach",value:function forEach(callback){var _iterator8=_createForOfIteratorHelper$1(this._pairs),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var _step8$value=slicedToArray(_step8.value,2),id=_step8$value[0],item=_step8$value[1];callback(item,id)}}catch(err){_iterator8.e(err)}finally{_iterator8.f()}}},{key:"map",value:function map(callback){var pairs=this._pairs;return new DataStream(defineProperty$7({},iterator$4,regenerator.mark((function _callee2(){var _iterator9,_step9,_step9$value,id,item;return regenerator.wrap((function _callee2$(_context8){while(1){switch(_context8.prev=_context8.next){case 0:_iterator9=_createForOfIteratorHelper$1(pairs);_context8.prev=1;_iterator9.s();case 3:if((_step9=_iterator9.n()).done){_context8.next=9;break}_step9$value=slicedToArray(_step9.value,2),id=_step9$value[0],item=_step9$value[1];_context8.next=7;return[id,callback(item,id)];case 7:_context8.next=3;break;case 9:_context8.next=14;break;case 11:_context8.prev=11;_context8.t0=_context8["catch"](1);_iterator9.e(_context8.t0);case 14:_context8.prev=14;_iterator9.f();return _context8.finish(14);case 17:case"end":return _context8.stop()}}}),_callee2,null,[[1,11,14,17]])}))))}},{key:"max",value:function max(callback){var iter=getIterator$1(this._pairs);var curr=iter.next();if(curr.done){return null}var maxItem=curr.value[1];var maxValue=callback(curr.value[1],curr.value[0]);while(!(curr=iter.next()).done){var _curr$value=slicedToArray(curr.value,2),id=_curr$value[0],item=_curr$value[1];var _value=callback(item,id);if(_value>maxValue){maxValue=_value;maxItem=item}}return maxItem}},{key:"min",value:function min(callback){var iter=getIterator$1(this._pairs);var curr=iter.next();if(curr.done){return null}var minItem=curr.value[1];var minValue=callback(curr.value[1],curr.value[0]);while(!(curr=iter.next()).done){var _curr$value2=slicedToArray(curr.value,2),id=_curr$value2[0],item=_curr$value2[1];var _value2=callback(item,id);if(_value2<minValue){minValue=_value2;minItem=item}}return minItem}},{key:"reduce",value:function reduce(callback,accumulator){var _iterator10=_createForOfIteratorHelper$1(this._pairs),_step10;try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var _step10$value=slicedToArray(_step10.value,2),id=_step10$value[0],item=_step10$value[1];accumulator=callback(accumulator,item,id)}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}return accumulator}},{key:"sort",value:function sort(callback){var _this=this;return new DataStream(defineProperty$7({},iterator$4,(function(){var _context9;return getIterator$1(sort$2(_context9=toConsumableArray(_this._pairs)).call(_context9,(function(_ref,_ref2){var _ref3=slicedToArray(_ref,2),idA=_ref3[0],itemA=_ref3[1];var _ref4=slicedToArray(_ref2,2),idB=_ref4[0],itemB=_ref4[1];return callback(itemA,itemB,idA,idB)})))})))}}]);return DataStream}();function ownKeys$4(object,enumerableOnly){var keys=keys$3(object);if(getOwnPropertySymbols$2){var symbols=getOwnPropertySymbols$2(object);if(enumerableOnly)symbols=filter$2(symbols).call(symbols,(function(sym){return getOwnPropertyDescriptor$3(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){var _context10;forEach$2(_context10=ownKeys$4(Object(source),true)).call(_context10,(function(key){defineProperty$7(target,key,source[key])}))}else if(getOwnPropertyDescriptors$2){defineProperties$1(target,getOwnPropertyDescriptors$2(source))}else{var _context11;forEach$2(_context11=ownKeys$4(Object(source))).call(_context11,(function(key){defineProperty$4(target,key,getOwnPropertyDescriptor$3(source,key))}))}}return target}function _createForOfIteratorHelper$2(o,allowArrayLike){var it;if(typeof symbol$4==="undefined"||getIteratorMethod$1(o)==null){if(isArray$5(o)||(it=_unsupportedIterableToArray$3(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=getIterator$1(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it.return!=null)it.return()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray$3(o,minLen){var _context9;if(!o)return;if(typeof o==="string")return _arrayLikeToArray$3(o,minLen);var n=slice$6(_context9=Object.prototype.toString.call(o)).call(_context9,8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return from$2(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray$3(o,minLen)}function _arrayLikeToArray$3(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=getPrototypeOf$3(Derived),result;if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf$3(this).constructor;result=construct$3(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return possibleConstructorReturn(this,result)}}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!construct$3)return false;if(construct$3.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(construct$3(Date,[],(function(){})));return true}catch(e){return false}}function ensureFullItem(item,idProp){if(item[idProp]==null){item[idProp]=v4()}return item}var DataSet=function(_DataSetPart){inherits(DataSet,_DataSetPart);var _super=_createSuper(DataSet);function DataSet(data,options){var _this;classCallCheck(this,DataSet);_this=_super.call(this);_this._queue=null;if(data&&!isArray$5(data)){options=data;data=[]}_this._options=options||{};_this._data=new map$5;_this.length=0;_this._idProp=_this._options.fieldId||"id";if(data&&data.length){_this.add(data)}_this.setOptions(options);return _this}createClass(DataSet,[{key:"setOptions",value:function setOptions(options){if(options&&options.queue!==undefined){if(options.queue===false){if(this._queue){this._queue.destroy();this._queue=null}}else{if(!this._queue){this._queue=Queue.extend(this,{replace:["add","update","remove"]})}if(options.queue&&_typeof_1(options.queue)==="object"){this._queue.setOptions(options.queue)}}}}},{key:"add",value:function add(data,senderId){var _this2=this;var addedIds=[];var id;if(isArray$5(data)){var idsToAdd=map$2(data).call(data,(function(d){return d[_this2._idProp]}));if(some$2(idsToAdd).call(idsToAdd,(function(id){return _this2._data.has(id)}))){throw new Error("A duplicate id was found in the parameter array.")}for(var i=0,len=data.length;i<len;i++){id=this._addItem(data[i]);addedIds.push(id)}}else if(data&&_typeof_1(data)==="object"){id=this._addItem(data);addedIds.push(id)}else{throw new Error("Unknown dataType")}if(addedIds.length){this._trigger("add",{items:addedIds},senderId)}return addedIds}},{key:"update",value:function update(data,senderId){var _this3=this;var addedIds=[];var updatedIds=[];var oldData=[];var updatedData=[];var idProp=this._idProp;var addOrUpdate=function addOrUpdate(item){var origId=item[idProp];if(origId!=null&&_this3._data.has(origId)){var fullItem=item;var oldItem=assign$2({},_this3._data.get(origId));var id=_this3._updateItem(fullItem);updatedIds.push(id);updatedData.push(fullItem);oldData.push(oldItem)}else{var _id=_this3._addItem(item);addedIds.push(_id)}};if(isArray$5(data)){for(var i=0,len=data.length;i<len;i++){if(data[i]&&_typeof_1(data[i])==="object"){addOrUpdate(data[i])}else{console.warn("Ignoring input item, which is not an object at index "+i)}}}else if(data&&_typeof_1(data)==="object"){addOrUpdate(data)}else{throw new Error("Unknown dataType")}if(addedIds.length){this._trigger("add",{items:addedIds},senderId)}if(updatedIds.length){var props={items:updatedIds,oldData:oldData,data:updatedData};this._trigger("update",props,senderId)}return concat$2(addedIds).call(addedIds,updatedIds)}},{key:"updateOnly",value:function updateOnly(data,senderId){var _context,_this4=this;if(!isArray$5(data)){data=[data]}var updateEventData=map$2(_context=map$2(data).call(data,(function(update){var oldData=_this4._data.get(update[_this4._idProp]);if(oldData==null){throw new Error("Updating non-existent items is not allowed.")}return{oldData:oldData,update:update}}))).call(_context,(function(_ref){var oldData=_ref.oldData,update=_ref.update;var id=oldData[_this4._idProp];var updatedData=pureDeepObjectAssign(oldData,update);_this4._data.set(id,updatedData);return{id:id,oldData:oldData,updatedData:updatedData}}));if(updateEventData.length){var props={items:map$2(updateEventData).call(updateEventData,(function(value){return value.id})),oldData:map$2(updateEventData).call(updateEventData,(function(value){return value.oldData})),data:map$2(updateEventData).call(updateEventData,(function(value){return value.updatedData}))};this._trigger("update",props,senderId);return props.items}else{return[]}}},{key:"get",value:function get(first,second){var id=undefined;var ids=undefined;var options=undefined;if(isId(first)){id=first;options=second}else if(isArray$5(first)){ids=first;options=second}else{options=first}var returnType=options&&options.returnType==="Object"?"Object":"Array";var filter=options&&filter$2(options);var items=[];var item=undefined;var itemIds=undefined;var itemId=undefined;if(id!=null){item=this._data.get(id);if(item&&filter&&!filter(item)){item=undefined}}else if(ids!=null){for(var i=0,len=ids.length;i<len;i++){item=this._data.get(ids[i]);if(item!=null&&(!filter||filter(item))){items.push(item)}}}else{var _context2;itemIds=toConsumableArray(keys$6(_context2=this._data).call(_context2));for(var _i=0,_len=itemIds.length;_i<_len;_i++){itemId=itemIds[_i];item=this._data.get(itemId);if(item!=null&&(!filter||filter(item))){items.push(item)}}}if(options&&options.order&&id==undefined){this._sort(items,options.order)}if(options&&options.fields){var fields=options.fields;if(id!=undefined&&item!=null){item=this._filterFields(item,fields)}else{for(var _i2=0,_len2=items.length;_i2<_len2;_i2++){items[_i2]=this._filterFields(items[_i2],fields)}}}if(returnType=="Object"){var result={};for(var _i3=0,_len3=items.length;_i3<_len3;_i3++){var resultant=items[_i3];var _id2=resultant[this._idProp];result[_id2]=resultant}return result}else{if(id!=null){var _item;return(_item=item)!==null&&_item!==void 0?_item:null}else{return items}}}},{key:"getIds",value:function getIds(options){var data=this._data;var filter=options&&filter$2(options);var order=options&&options.order;var itemIds=toConsumableArray(keys$6(data).call(data));var ids=[];if(filter){if(order){var items=[];for(var i=0,len=itemIds.length;i<len;i++){var id=itemIds[i];var item=this._data.get(id);if(item!=null&&filter(item)){items.push(item)}}this._sort(items,order);for(var _i4=0,_len4=items.length;_i4<_len4;_i4++){ids.push(items[_i4][this._idProp])}}else{for(var _i5=0,_len5=itemIds.length;_i5<_len5;_i5++){var _id3=itemIds[_i5];var _item2=this._data.get(_id3);if(_item2!=null&&filter(_item2)){ids.push(_item2[this._idProp])}}}}else{if(order){var _items=[];for(var _i6=0,_len6=itemIds.length;_i6<_len6;_i6++){var _id4=itemIds[_i6];_items.push(data.get(_id4))}this._sort(_items,order);for(var _i7=0,_len7=_items.length;_i7<_len7;_i7++){ids.push(_items[_i7][this._idProp])}}else{for(var _i8=0,_len8=itemIds.length;_i8<_len8;_i8++){var _id5=itemIds[_i8];var _item3=data.get(_id5);if(_item3!=null){ids.push(_item3[this._idProp])}}}}return ids}},{key:"getDataSet",value:function getDataSet(){return this}},{key:"forEach",value:function forEach(callback,options){var filter=options&&filter$2(options);var data=this._data;var itemIds=toConsumableArray(keys$6(data).call(data));if(options&&options.order){var items=this.get(options);for(var i=0,len=items.length;i<len;i++){var item=items[i];var id=item[this._idProp];callback(item,id)}}else{for(var _i9=0,_len9=itemIds.length;_i9<_len9;_i9++){var _id6=itemIds[_i9];var _item4=this._data.get(_id6);if(_item4!=null&&(!filter||filter(_item4))){callback(_item4,_id6)}}}}},{key:"map",value:function map(callback,options){var filter=options&&filter$2(options);var mappedItems=[];var data=this._data;var itemIds=toConsumableArray(keys$6(data).call(data));for(var i=0,len=itemIds.length;i<len;i++){var id=itemIds[i];var item=this._data.get(id);if(item!=null&&(!filter||filter(item))){mappedItems.push(callback(item,id))}}if(options&&options.order){this._sort(mappedItems,options.order)}return mappedItems}},{key:"_filterFields",value:function _filterFields(item,fields){var _context3;if(!item){return item}return reduce$2(_context3=isArray$5(fields)?fields:keys$3(fields)).call(_context3,(function(filteredItem,field){filteredItem[field]=item[field];return filteredItem}),{})}},{key:"_sort",value:function _sort(items,order){if(typeof order==="string"){var name=order;sort$2(items).call(items,(function(a,b){var av=a[name];var bv=b[name];return av>bv?1:av<bv?-1:0}))}else if(typeof order==="function"){sort$2(items).call(items,order)}else{throw new TypeError("Order must be a function or a string")}}},{key:"remove",value:function remove(id,senderId){var removedIds=[];var removedItems=[];var ids=isArray$5(id)?id:[id];for(var i=0,len=ids.length;i<len;i++){var item=this._remove(ids[i]);if(item){var itemId=item[this._idProp];if(itemId!=null){removedIds.push(itemId);removedItems.push(item)}}}if(removedIds.length){this._trigger("remove",{items:removedIds,oldData:removedItems},senderId)}return removedIds}},{key:"_remove",value:function _remove(id){var ident;if(isId(id)){ident=id}else if(id&&_typeof_1(id)==="object"){ident=id[this._idProp]}if(ident!=null&&this._data.has(ident)){var item=this._data.get(ident)||null;this._data.delete(ident);--this.length;return item}return null}},{key:"clear",value:function clear(senderId){var _context4;var ids=toConsumableArray(keys$6(_context4=this._data).call(_context4));var items=[];for(var i=0,len=ids.length;i<len;i++){items.push(this._data.get(ids[i]))}this._data.clear();this.length=0;this._trigger("remove",{items:ids,oldData:items},senderId);return ids}},{key:"max",value:function max(field){var _context5;var max=null;var maxField=null;var _iterator=_createForOfIteratorHelper$2(values$3(_context5=this._data).call(_context5)),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var item=_step.value;var itemField=item[field];if(typeof itemField==="number"&&(maxField==null||itemField>maxField)){max=item;maxField=itemField}}}catch(err){_iterator.e(err)}finally{_iterator.f()}return max||null}},{key:"min",value:function min(field){var _context6;var min=null;var minField=null;var _iterator2=_createForOfIteratorHelper$2(values$3(_context6=this._data).call(_context6)),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var item=_step2.value;var itemField=item[field];if(typeof itemField==="number"&&(minField==null||itemField<minField)){min=item;minField=itemField}}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return min||null}},{key:"distinct",value:function distinct(prop){var data=this._data;var itemIds=toConsumableArray(keys$6(data).call(data));var values=[];var count=0;for(var i=0,len=itemIds.length;i<len;i++){var id=itemIds[i];var item=data.get(id);var value=item[prop];var exists=false;for(var j=0;j<count;j++){if(values[j]==value){exists=true;break}}if(!exists&&value!==undefined){values[count]=value;count++}}return values}},{key:"_addItem",value:function _addItem(item){var fullItem=ensureFullItem(item,this._idProp);var id=fullItem[this._idProp];if(this._data.has(id)){throw new Error("Cannot add item: item with id "+id+" already exists")}this._data.set(id,fullItem);++this.length;return id}},{key:"_updateItem",value:function _updateItem(update){var id=update[this._idProp];if(id==null){throw new Error("Cannot update item: item has no id (item: "+stringify$2(update)+")")}var item=this._data.get(id);if(!item){throw new Error("Cannot update item: no item with id "+id+" found")}this._data.set(id,_objectSpread(_objectSpread({},item),update));return id}},{key:"stream",value:function stream(ids){if(ids){var data=this._data;return new DataStream(defineProperty$7({},iterator$4,regenerator.mark((function _callee(){var _iterator3,_step3,id,item;return regenerator.wrap((function _callee$(_context7){while(1){switch(_context7.prev=_context7.next){case 0:_iterator3=_createForOfIteratorHelper$2(ids);_context7.prev=1;_iterator3.s();case 3:if((_step3=_iterator3.n()).done){_context7.next=11;break}id=_step3.value;item=data.get(id);if(!(item!=null)){_context7.next=9;break}_context7.next=9;return[id,item];case 9:_context7.next=3;break;case 11:_context7.next=16;break;case 13:_context7.prev=13;_context7.t0=_context7["catch"](1);_iterator3.e(_context7.t0);case 16:_context7.prev=16;_iterator3.f();return _context7.finish(16);case 19:case"end":return _context7.stop()}}}),_callee,null,[[1,13,16,19]])}))))}else{var _context8;return new DataStream(defineProperty$7({},iterator$4,bind$2(_context8=entries$2(this._data)).call(_context8,this._data)))}}},{key:"idProp",get:function get(){return this._idProp}}]);return DataSet}(DataSetPart);function _createForOfIteratorHelper$3(o,allowArrayLike){var it;if(typeof symbol$4==="undefined"||getIteratorMethod$1(o)==null){if(isArray$5(o)||(it=_unsupportedIterableToArray$4(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=getIterator$1(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it.return!=null)it.return()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray$4(o,minLen){var _context5;if(!o)return;if(typeof o==="string")return _arrayLikeToArray$4(o,minLen);var n=slice$6(_context5=Object.prototype.toString.call(o)).call(_context5,8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return from$2(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray$4(o,minLen)}function _arrayLikeToArray$4(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _createSuper$1(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct$1();return function _createSuperInternal(){var Super=getPrototypeOf$3(Derived),result;if(hasNativeReflectConstruct){var NewTarget=getPrototypeOf$3(this).constructor;result=construct$3(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return possibleConstructorReturn(this,result)}}function _isNativeReflectConstruct$1(){if(typeof Reflect==="undefined"||!construct$3)return false;if(construct$3.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(construct$3(Date,[],(function(){})));return true}catch(e){return false}}var DataView=function(_DataSetPart){inherits(DataView,_DataSetPart);var _super=_createSuper$1(DataView);function DataView(data,options){var _context;var _this;classCallCheck(this,DataView);_this=_super.call(this);_this.length=0;_this._ids=new set$3;_this._options=options||{};_this._listener=bind$2(_context=_this._onEvent).call(_context,assertThisInitialized(_this));_this.setData(data);return _this}createClass(DataView,[{key:"setData",value:function setData(data){if(this._data){if(this._data.off){this._data.off("*",this._listener)}var ids=this._data.getIds({filter:filter$2(this._options)});var items=this._data.get(ids);this._ids.clear();this.length=0;this._trigger("remove",{items:ids,oldData:items})}if(data!=null){this._data=data;var _ids=this._data.getIds({filter:filter$2(this._options)});for(var i=0,len=_ids.length;i<len;i++){var id=_ids[i];this._ids.add(id)}this.length=_ids.length;this._trigger("add",{items:_ids})}else{this._data=new DataSet}if(this._data.on){this._data.on("*",this._listener)}}},{key:"refresh",value:function refresh(){var ids=this._data.getIds({filter:filter$2(this._options)});var oldIds=toConsumableArray(this._ids);var newIds={};var addedIds=[];var removedIds=[];var removedItems=[];for(var i=0,len=ids.length;i<len;i++){var id=ids[i];newIds[id]=true;if(!this._ids.has(id)){addedIds.push(id);this._ids.add(id)}}for(var _i=0,_len=oldIds.length;_i<_len;_i++){var _id=oldIds[_i];var item=this._data.get(_id);if(item==null){console.error("If you see this, report it please.")}else if(!newIds[_id]){removedIds.push(_id);removedItems.push(item);this._ids.delete(_id)}}this.length+=addedIds.length-removedIds.length;if(addedIds.length){this._trigger("add",{items:addedIds})}if(removedIds.length){this._trigger("remove",{items:removedIds,oldData:removedItems})}}},{key:"get",value:function get(first,second){if(this._data==null){return null}var ids=null;var options;if(isId(first)||isArray$5(first)){ids=first;options=second}else{options=first}var viewOptions=assign$2({},this._options,options);var thisFilter=filter$2(this._options);var optionsFilter=options&&filter$2(options);if(thisFilter&&optionsFilter){viewOptions.filter=function(item){return thisFilter(item)&&optionsFilter(item)}}if(ids==null){return this._data.get(viewOptions)}else{return this._data.get(ids,viewOptions)}}},{key:"getIds",value:function getIds(options){if(this._data.length){var defaultFilter=filter$2(this._options);var optionsFilter=options!=null?filter$2(options):null;var filter;if(optionsFilter){if(defaultFilter){filter=function filter(item){return defaultFilter(item)&&optionsFilter(item)}}else{filter=optionsFilter}}else{filter=defaultFilter}return this._data.getIds({filter:filter,order:options&&options.order})}else{return[]}}},{key:"forEach",value:function forEach(callback,options){if(this._data){var _context2;var defaultFilter=filter$2(this._options);var optionsFilter=options&&filter$2(options);var filter;if(optionsFilter){if(defaultFilter){filter=function filter(item){return defaultFilter(item)&&optionsFilter(item)}}else{filter=optionsFilter}}else{filter=defaultFilter}forEach$2(_context2=this._data).call(_context2,callback,{filter:filter,order:options&&options.order})}}},{key:"map",value:function map(callback,options){if(this._data){var _context3;var defaultFilter=filter$2(this._options);var optionsFilter=options&&filter$2(options);var filter;if(optionsFilter){if(defaultFilter){filter=function filter(item){return defaultFilter(item)&&optionsFilter(item)}}else{filter=optionsFilter}}else{filter=defaultFilter}return map$2(_context3=this._data).call(_context3,callback,{filter:filter,order:options&&options.order})}else{return[]}}},{key:"getDataSet",value:function getDataSet(){return this._data.getDataSet()}},{key:"stream",value:function stream(ids){var _context4;return this._data.stream(ids||defineProperty$7({},iterator$4,bind$2(_context4=keys$6(this._ids)).call(_context4,this._ids)))}},{key:"dispose",value:function dispose(){var _this$_data;if((_this$_data=this._data)!==null&&_this$_data!==void 0&&_this$_data.off){this._data.off("*",this._listener)}var message="This data view has already been disposed of.";var replacement={get:function get(){throw new Error(message)},set:function set(){throw new Error(message)},configurable:false};var _iterator=_createForOfIteratorHelper$3(ownKeys$3(DataView.prototype)),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var key=_step.value;defineProperty$4(this,key,replacement)}}catch(err){_iterator.e(err)}finally{_iterator.f()}}},{key:"_onEvent",value:function _onEvent(event,params,senderId){if(!params||!params.items||!this._data){return}var ids=params.items;var addedIds=[];var updatedIds=[];var removedIds=[];var oldItems=[];var updatedItems=[];var removedItems=[];switch(event){case"add":for(var i=0,len=ids.length;i<len;i++){var id=ids[i];var item=this.get(id);if(item){this._ids.add(id);addedIds.push(id)}}break;case"update":for(var _i2=0,_len2=ids.length;_i2<_len2;_i2++){var _id2=ids[_i2];var _item=this.get(_id2);if(_item){if(this._ids.has(_id2)){updatedIds.push(_id2);updatedItems.push(params.data[_i2]);oldItems.push(params.oldData[_i2])}else{this._ids.add(_id2);addedIds.push(_id2)}}else{if(this._ids.has(_id2)){this._ids.delete(_id2);removedIds.push(_id2);removedItems.push(params.oldData[_i2])}}}break;case"remove":for(var _i3=0,_len3=ids.length;_i3<_len3;_i3++){var _id3=ids[_i3];if(this._ids.has(_id3)){this._ids.delete(_id3);removedIds.push(_id3);removedItems.push(params.oldData[_i3])}}break}this.length+=addedIds.length-removedIds.length;if(addedIds.length){this._trigger("add",{items:addedIds},senderId)}if(updatedIds.length){this._trigger("update",{items:updatedIds,oldData:oldItems,data:updatedItems},senderId)}if(removedIds.length){this._trigger("remove",{items:removedIds,oldData:removedItems},senderId)}}},{key:"idProp",get:function get(){return this.getDataSet().idProp}}]);return DataView}(DataSetPart);function isDataSetLike(idProp,v){return _typeof_1(v)==="object"&&v!==null&&idProp===v.idProp&&typeof v.add==="function"&&typeof v.clear==="function"&&typeof v.distinct==="function"&&typeof forEach$2(v)==="function"&&typeof v.get==="function"&&typeof v.getDataSet==="function"&&typeof v.getIds==="function"&&typeof v.length==="number"&&typeof map$2(v)==="function"&&typeof v.max==="function"&&typeof v.min==="function"&&typeof v.off==="function"&&typeof v.on==="function"&&typeof v.remove==="function"&&typeof v.setOptions==="function"&&typeof v.stream==="function"&&typeof v.update==="function"&&typeof v.updateOnly==="function"}function isDataViewLike(idProp,v){return _typeof_1(v)==="object"&&v!==null&&idProp===v.idProp&&typeof forEach$2(v)==="function"&&typeof v.get==="function"&&typeof v.getDataSet==="function"&&typeof v.getIds==="function"&&typeof v.length==="number"&&typeof map$2(v)==="function"&&typeof v.off==="function"&&typeof v.on==="function"&&typeof v.stream==="function"&&isDataSetLike(idProp,v.getDataSet())}exports.DELETE=DELETE;exports.DataSet=DataSet;exports.DataStream=DataStream;exports.DataView=DataView;exports.Queue=Queue;exports.createNewDataPipeFrom=createNewDataPipeFrom;exports.isDataSetLike=isDataSetLike;exports.isDataViewLike=isDataViewLike;Object.defineProperty(exports,"__esModule",{value:true})}))}).call(this,__webpack_require__(64))},,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){var api=__webpack_require__(3);var content=__webpack_require__(1005);content=content.__esModule?content.default:content;if(typeof content==="string"){content=[[module.i,content,""]]}var options={};options.insert="head";options.singleton=false;var update=api(content,options);module.exports=content.locals||{}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1);var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);var ___CSS_LOADER_EXPORT___=_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()((function(i){return i[1]}));___CSS_LOADER_EXPORT___.push([module.i,'/*! @algolia/autocomplete-theme-classic 1.3.0 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */\n:root{--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-rgb:119,119,163;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px rgba(35,38,59,0.1),0 6px 16px -4px rgba(35,38,59,0.15);--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb);--aa-scrollbar-thumb-background-color-alpha:1}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-icon-color-rgb:119,119,163;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Form[focus-within]{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 2px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-Form:focus-within{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 2px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:11px;padding-left:calc(var(--aa-spacing)*0.75 - 1px);padding-right:8px;padding-right:var(--aa-spacing-half);width:47px;width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}@media (hover:none) and (pointer:coarse){.aa-LoadingIndicator,.aa-SubmitButton{padding-left:3px;padding-left:calc(var(--aa-spacing-half)/2 - 1px);width:39px;width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}}.aa-SubmitButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-LoadingIndicator[hidden]{display:none}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::-moz-placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:-ms-input-placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input::placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:none}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;background:none;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 12.83333px;padding:0 calc(var(--aa-spacing)*0.83333 - .5px)}@media (hover:none) and (pointer:coarse){.aa-ClearButton{padding:0 10.16667px;padding:0 calc(var(--aa-spacing)*0.66667 - .5px)}}.aa-ClearButton:focus,.aa-ClearButton:hover{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton[hidden]{display:none}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:4px;border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);margin:8px 0 0;overflow:hidden;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}.aa-Panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:8px;padding:var(--aa-spacing-half);scrollbar-color:#fff #eaeaea;scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:#eaeaea;background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:#fff;background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border-radius:9999px;border:3px solid #eaeaea;border-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-right:2px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-Source:empty{display:none}.aa-SourceNoResults{font-size:1em;margin:0;padding:16px;padding:var(--aa-spacing)}.aa-List{list-style:none;margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:8px .5em 8px 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeader:empty{display:none}.aa-SourceHeaderTitle{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 8px 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid #3e34d3;border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:8px;top:var(--aa-spacing-half);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,#fff,rgba(128,126,163,.14));background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),rgba(128,126,163,.14));border:1px solid rgba(128,126,163,.6);border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px rgba(76,69,88,.15);color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid #3e34d3;border:1px solid rgba(var(--aa-primary-color-rgb),1);color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{align-items:center;border-radius:3px;cursor:pointer;display:grid;min-height:40px;min-height:calc(var(--aa-spacing)*2.5);padding:4px;padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179,173,214,.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{align-items:center;background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:#7777a3;color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:28px;height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:28px;width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:20px;max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:20px;max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:none;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:8px;padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent:empty{display:none}.aa-ItemContent mark{background:none;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle{display:block}.aa-ItemContent--indented{padding-left:36px;padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;grid-gap:4px;gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:rgba(128,126,163,.64);border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:"";display:inline-block;left:1px;position:relative;top:-3px}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:8px;margin-left:var(--aa-spacing-half);margin-right:4px;margin-right:calc(var(--aa-spacing-half)/2);width:10px;width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;grid-gap:8px;gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:8px;height:var(--aa-spacing-half);width:8px;width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:#807ea3;color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:rgba(245,223,77,.5);background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:rgba(62,52,211,.2);background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;grid-gap:4px;gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 -5.33333px;margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:none;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}@media (hover:none) and (pointer:coarse){.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}}.aa-ItemActionButton svg{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:5.33333px;margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:#3e34d3;background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:8px 16px;padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(#fff,hsla(0,0%,100%,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:-8px;bottom:calc(var(--aa-spacing-half)*-1);content:"";height:8px;height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0}.aa-PanelFooter,.aa-PanelHeader:after{z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 rgba(128,126,163,.3);box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:16px;padding:var(--aa-spacing);position:relative}.aa-PanelFooter:after{background-image:linear-gradient(hsla(0,0%,100%,0),rgba(128,126,163,.6));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));content:"";height:16px;height:var(--aa-spacing);left:0;opacity:.12;pointer-events:none;position:absolute;right:0;top:-16px;top:calc(var(--aa-spacing)*-1);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:8px 0 8px 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid rgba(128,126,163,.3);border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:8px;padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:none;border:0;border-radius:3px;color:inherit;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 8px;margin:0 0 0 var(--aa-spacing-half);padding:0 8px;padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:8px;padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedSearchButton{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 5.5px;padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 3px rgba(62,52,211,.2),inset 0 0 0 2px rgba(62,52,211,.2);box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;height:100%;justify-content:center;width:36px;width:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(115,114,129,.4);background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:8px;height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(#fff,hsla(0,0%,100%,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(hsla(0,0%,100%,0),#fff);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));border-bottom-left-radius:4px;border-bottom-left-radius:calc(var(--aa-spacing)/4);border-bottom-right-radius:4px;border-bottom-right-radius:calc(var(--aa-spacing)/4);bottom:0}@media (hover:none) and (pointer:coarse){.aa-DesktopOnly{display:none}}@media (hover:hover){.aa-TouchOnly{display:none}}',""]);__webpack_exports__["default"]=___CSS_LOADER_EXPORT___},function(module,exports,__webpack_require__){
/*! @algolia/autocomplete-core 1.4.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
!function(e,t){true?t(exports):undefined}(this,(function(e){"use strict";function t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function r(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?n(Object(o),!0).forEach((function(n){t(e,n,o[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function i(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function a(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var c=0;function l(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var s=function(){};function f(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function p(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,i=0;!1===r;){var u=t.collections[o];if(u===n){r=!0;break}i+=u.items.length,o++}return t.activeItemId-i}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function m(e,t){return e===t||e.contains(t)}function v(e,t){var n,o="undefined"!=typeof window?window:{},u=e.plugins||[];return r(r({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,environment:o,shouldPanelOpen:function(e){return l(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:"autocomplete-".concat(c++),plugins:u,initialState:r({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),u.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),u.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),u.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(i(u.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t=r({getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:s},e);return Promise.resolve(t)})))}))}(e,n)}))).then((function(e){return a(e)})).then((function(e){return e.map((function(e){return r(r({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:r({navigate:function(e){var t=e.itemUrl;o.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=o.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;o.open(t,"_blank","noopener")}},e.navigator)})}function d(e){return Boolean(e.execute)}function h(e,t){return n=e,Boolean(null==n?void 0:n.execute)?r(r({},e),{},{requests:e.queries.map((function(n){return{query:n,sourceId:t,transformResponse:e.transformResponse}}))}):{items:e,sourceId:t};var n}function g(e){var t=e.reduce((function(e,t){if(!d(t))return e.push(t),e;var n=t.searchClient,r=t.execute,o=t.requests,u=e.find((function(e){return d(t)&&d(e)&&e.searchClient===n&&e.execute===r}));if(u){var a;(a=u.items).push.apply(a,i(o))}else{var c={execute:r,items:o,searchClient:n};e.push(c)}return e}),[]).map((function(e){if(!d(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return a(e)}))}function I(e,t){return t.map((function(t){var n=e.filter((function(e){return e.sourceId===t.sourceId})),o=n.map((function(e){return e.items})),i=n[0].transformResponse,u=i?i(function(e){var t=e.map((function(e){var t;return r(r({},e),{},{hits:null===(t=e.hits)||void 0===t?void 0:t.map((function(t){return r(r({},t),{},{__autocomplete_indexName:e.index,__autocomplete_queryID:e.queryID})}))})}));return{results:t,hits:t.map((function(e){return e.hits})).filter(Boolean),facetHits:t.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}}(o)):o;return u.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:u}}))}var y,S,b,O=null,w=(y=-1,S=-1,b=void 0,function(e){var t=++y;return Promise.resolve(e).then((function(e){return b&&t<S?b:(S=t,b=e,e)}))});function P(e){var n=e.event,i=e.nextState,u=void 0===i?{}:i,c=e.props,l=e.query,s=e.refresh,f=e.store,m=o(e,["event","nextState","props","query","refresh","store"]);O&&c.environment.clearTimeout(O);var v=m.setCollections,d=m.setIsOpen,y=m.setQuery,S=m.setActiveItemId,b=m.setStatus;if(y(l),S(c.defaultActiveItemId),!l&&!1===c.openOnFocus){var P,A=f.getState().collections.map((function(e){return r(r({},e),{},{items:[]})}));return b("idle"),v(A),d(null!==(P=u.isOpen)&&void 0!==P?P:c.shouldPanelOpen({state:f.getState()})),w(A).then((function(){return Promise.resolve()}))}return b("loading"),O=c.environment.setTimeout((function(){b("stalled")}),c.stallThreshold),w(c.getSources(r({query:l,refresh:s,state:f.getState()},m)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(r({query:l,refresh:s,state:f.getState()},m))).then((function(t){return h(t,e.sourceId)}))}))).then(g).then((function(t){return I(t,e)})).then((function(e){return function(e){var n=e.collections,o=e.props,i=e.state,u=n.reduce((function(e,n){return r(r({},e),{},t({},n.source.sourceId,r(r({},n.source),{},{getItems:function(){return a(n.items)}})))}),{});return a(o.reshape({sources:Object.values(u),sourcesBySourceId:u,state:i})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:c,state:f.getState()})}))}))).then((function(e){var t;b("idle"),v(e);var o=c.shouldPanelOpen({state:f.getState()});d(null!==(t=u.isOpen)&&void 0!==t?t:c.openOnFocus&&!l&&o||o);var i=p(f.getState());if(null!==f.getState().activeItemId&&i){var a=i.item,h=i.itemInputValue,g=i.itemUrl,I=i.source;I.onActive(r({event:n,item:a,itemInputValue:h,itemUrl:g,refresh:s,source:I,state:f.getState()},m))}})).finally((function(){O&&c.environment.clearTimeout(O)}))}function A(e){var t=e.props,n=e.refresh,i=e.store,u=o(e,["props","refresh","store"]);return{getEnvironmentProps:function(e){var n=e.inputElement,u=e.formElement,a=e.panelElement;return r({onTouchStart:function(e){!1!==i.getState().isOpen&&e.target!==n&&(!1===[u,a].some((function(n){return m(n,e.target)||m(n,t.environment.document.activeElement)}))&&i.dispatch("blur",null))},onTouchMove:function(e){!1!==i.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},o(e,["inputElement","formElement","panelElement"]))},getRootProps:function(e){return r({role:"combobox","aria-expanded":i.getState().isOpen,"aria-haspopup":"listbox","aria-owns":i.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return r({action:"",noValidate:!0,role:"search",onSubmit:function(o){var a;o.preventDefault(),t.onSubmit(r({event:o,refresh:n,state:i.getState()},u)),i.dispatch("submit",null),null===(a=e.inputElement)||void 0===a||a.blur()},onReset:function(o){var a;o.preventDefault(),t.onReset(r({event:o,refresh:n,state:i.getState()},u)),i.dispatch("reset",null),null===(a=e.inputElement)||void 0===a||a.focus()}},o(e,["inputElement"]))},getLabelProps:function(e){return r({htmlFor:"".concat(t.id,"-input"),id:"".concat(t.id,"-label")},e)},getInputProps:function(e){function a(e){(t.openOnFocus||Boolean(i.getState().query))&&P(r({event:e,props:t,query:i.getState().completion||i.getState().query,refresh:n,store:i},u)),i.dispatch("focus",null)}var c="ontouchstart"in t.environment,l=e||{},s=(l.inputElement,l.maxLength),f=void 0===s?512:s,m=o(l,["inputElement","maxLength"]),v=p(i.getState());return r({"aria-autocomplete":"both","aria-activedescendant":i.getState().isOpen&&null!==i.getState().activeItemId?"".concat(t.id,"-item-").concat(i.getState().activeItemId):void 0,"aria-controls":i.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:i.getState().completion||i.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:null!=v&&v.itemUrl?"go":"search",spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:f,type:"search",onChange:function(e){P(r({event:e,props:t,query:e.currentTarget.value.slice(0,f),refresh:n,store:i},u))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,i=e.refresh,u=e.store,a=o(e,["event","props","refresh","store"]);if("ArrowUp"===t.key||"ArrowDown"===t.key){var c=function(){var e=n.environment.document.getElementById("".concat(n.id,"-item-").concat(u.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},l=function(){var e=p(u.getState());if(null!==u.getState().activeItemId&&e){var n=e.item,o=e.itemInputValue,c=e.itemUrl,l=e.source;l.onActive(r({event:t,item:n,itemInputValue:o,itemUrl:c,refresh:i,source:l,state:u.getState()},a))}};t.preventDefault(),!1===u.getState().isOpen&&(n.openOnFocus||Boolean(u.getState().query))?P(r({event:t,props:n,query:u.getState().query,refresh:i,store:u},a)).then((function(){u.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),l(),setTimeout(c,0)})):(u.dispatch(t.key,{}),l(),c())}else if("Escape"===t.key)t.preventDefault(),u.dispatch(t.key,null);else if("Enter"===t.key){if(null===u.getState().activeItemId||u.getState().collections.every((function(e){return 0===e.items.length})))return;t.preventDefault();var s=p(u.getState()),f=s.item,m=s.itemInputValue,v=s.itemUrl,d=s.source;if(t.metaKey||t.ctrlKey)void 0!==v&&(d.onSelect(r({event:t,item:f,itemInputValue:m,itemUrl:v,refresh:i,source:d,state:u.getState()},a)),n.navigator.navigateNewTab({itemUrl:v,item:f,state:u.getState()}));else if(t.shiftKey)void 0!==v&&(d.onSelect(r({event:t,item:f,itemInputValue:m,itemUrl:v,refresh:i,source:d,state:u.getState()},a)),n.navigator.navigateNewWindow({itemUrl:v,item:f,state:u.getState()}));else if(t.altKey);else{if(void 0!==v)return d.onSelect(r({event:t,item:f,itemInputValue:m,itemUrl:v,refresh:i,source:d,state:u.getState()},a)),void n.navigator.navigate({itemUrl:v,item:f,state:u.getState()});P(r({event:t,nextState:{isOpen:!1},props:n,query:m,refresh:i,store:u},a)).then((function(){d.onSelect(r({event:t,item:f,itemInputValue:m,itemUrl:v,refresh:i,source:d,state:u.getState()},a))}))}}}(r({event:e,props:t,refresh:n,store:i},u))},onFocus:a,onBlur:function(){c||i.dispatch("blur",null)},onClick:function(n){e.inputElement!==t.environment.document.activeElement||i.getState().isOpen||a(n)}},m)},getPanelProps:function(e){return r({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){i.dispatch("mouseleave",null)}},e)},getListProps:function(e){return r({role:"listbox","aria-labelledby":"".concat(t.id,"-label"),id:"".concat(t.id,"-list")},e)},getItemProps:function(e){var a=e.item,c=e.source,l=o(e,["item","source"]);return r({id:"".concat(t.id,"-item-").concat(a.__autocomplete_id),role:"option","aria-selected":i.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==i.getState().activeItemId){i.dispatch("mousemove",a.__autocomplete_id);var t=p(i.getState());if(null!==i.getState().activeItemId&&t){var o=t.item,c=t.itemInputValue,l=t.itemUrl,s=t.source;s.onActive(r({event:e,item:o,itemInputValue:c,itemUrl:l,refresh:n,source:s,state:i.getState()},u))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var o=c.getItemInputValue({item:a,state:i.getState()}),l=c.getItemUrl({item:a,state:i.getState()});(l?Promise.resolve():P(r({event:e,nextState:{isOpen:!1},props:t,query:o,refresh:n,store:i},u))).then((function(){c.onSelect(r({event:e,item:a,itemInputValue:o,itemUrl:l,refresh:n,source:c,state:i.getState()},u))}))}},l)}}}function x(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=p(n))||void 0===t?void 0:t.itemInputValue)||null}var E=function(e,t){switch(t.type){case"setActiveItemId":return r(r({},e),{},{activeItemId:t.payload});case"setQuery":return r(r({},e),{},{query:t.payload,completion:null});case"setCollections":return r(r({},e),{},{collections:t.payload});case"setIsOpen":return r(r({},e),{},{isOpen:t.payload});case"setStatus":return r(r({},e),{},{status:t.payload});case"setContext":return r(r({},e),{},{context:r(r({},e.context),t.payload)});case"ArrowDown":var n=r(r({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:f(1,e.activeItemId,l(e),t.props.defaultActiveItemId)});return r(r({},n),{},{completion:x({state:n})});case"ArrowUp":var o=r(r({},e),{},{activeItemId:f(-1,e.activeItemId,l(e),t.props.defaultActiveItemId)});return r(r({},o),{},{completion:x({state:o})});case"Escape":return e.isOpen?r(r({},e),{},{activeItemId:null,isOpen:!1,completion:null}):r(r({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return r(r({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return r(r({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return r(r({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:r(r({},e),{},{isOpen:!1,activeItemId:null});case"mousemove":return r(r({},e),{},{activeItemId:t.payload});case"mouseleave":return r(r({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};e.createAutocomplete=function(e){var t=[],n=v(e,t),o=function(e,t,n){var o=t.initialState;return{getState:function(){return o},dispatch:function(i,u){var a=r({},o);o=e(o,{type:i,props:t,payload:u}),n({state:o,prevState:a})}}}(E,n,(function(e){var t=e.prevState,o=e.state;n.onStateChange(r({prevState:t,state:o,refresh:c},i))})),i=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,o=e.map((function(e){return r(r({},e),{},{items:a(e.items).map((function(e){return r(r({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",o)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:o}),u=A(r({props:n,refresh:c,store:o},i));function c(){return P(r({event:new Event("input"),nextState:{isOpen:o.getState().isOpen},props:n,query:o.getState().query,refresh:c,store:o},i))}return n.plugins.forEach((function(e){var n;return null===(n=e.subscribe)||void 0===n?void 0:n.call(e,r(r({},i),{},{refresh:c,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})}}))})),r(r({refresh:c},u),i)},e.getDefaultProps=v,e.version="1.4.1",Object.defineProperty(e,"__esModule",{value:!0})}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports){exports.endianness=function(){return"LE"};exports.hostname=function(){if(typeof location!=="undefined"){return location.hostname}else return""};exports.loadavg=function(){return[]};exports.uptime=function(){return 0};exports.freemem=function(){return Number.MAX_VALUE};exports.totalmem=function(){return Number.MAX_VALUE};exports.cpus=function(){return[]};exports.type=function(){return"Browser"};exports.release=function(){if(typeof navigator!=="undefined"){return navigator.appVersion}return""};exports.networkInterfaces=exports.getNetworkInterfaces=function(){return{}};exports.arch=function(){return"javascript"};exports.platform=function(){return"browser"};exports.tmpdir=exports.tmpDir=function(){return"/tmp"};exports.EOL="\n";exports.homedir=function(){return"/"}},function(module,exports){module.exports="3.2.1"},function(module,exports,__webpack_require__){"use strict";module.exports=function(source,opt){var common=__webpack_require__(154);var dsf=__webpack_require__(209);var text;var at;var ch;var escapee={'"':'"',"'":"'","\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};var keepComments;var runDsf;function resetAt(){at=0;ch=" "}function isPunctuatorChar(c){return c==="{"||c==="}"||c==="["||c==="]"||c===","||c===":"}function error(m){var i,col=0,line=1;for(i=at-1;i>0&&text[i]!=="\n";i--,col++){}for(;i>0;i--)if(text[i]==="\n")line++;throw new Error(m+" at line "+line+","+col+" >>>"+text.substr(at-col,20)+" ...")}function next(){ch=text.charAt(at);at++;return ch}function peek(offs){return text.charAt(at+offs)}function string(allowML){var string="";var exitCh=ch;while(next()){if(ch===exitCh){next();if(allowML&&exitCh==="'"&&ch==="'"&&string.length===0){next();return mlString()}else return string}if(ch==="\\"){next();if(ch==="u"){var uffff=0;for(var i=0;i<4;i++){next();var c=ch.charCodeAt(0),hex;if(ch>="0"&&ch<="9")hex=c-48;else if(ch>="a"&&ch<="f")hex=c-97+10;else if(ch>="A"&&ch<="F")hex=c-65+10;else error("Bad \\u char "+ch);uffff=uffff*16+hex}string+=String.fromCharCode(uffff)}else if(typeof escapee[ch]==="string"){string+=escapee[ch]}else break}else if(ch==="\n"||ch==="\r"){error("Bad string containing newline")}else{string+=ch}}error("Bad string")}function mlString(){var string="",triple=0;var indent=0;for(;;){var c=peek(-indent-5);if(!c||c==="\n")break;indent++}function skipIndent(){var skip=indent;while(ch&&ch<=" "&&ch!=="\n"&&skip-- >0)next()}while(ch&&ch<=" "&&ch!=="\n")next();if(ch==="\n"){next();skipIndent()}for(;;){if(!ch){error("Bad multiline string")}else if(ch==="'"){triple++;next();if(triple===3){if(string.slice(-1)==="\n")string=string.slice(0,-1);return string}else continue}else{while(triple>0){string+="'";triple--}}if(ch==="\n"){string+="\n";next();skipIndent()}else{if(ch!=="\r")string+=ch;next()}}}function keyname(){if(ch==='"'||ch==="'")return string(false);var name="",start=at,space=-1;for(;;){if(ch===":"){if(!name)error("Found ':' but no key name (for an empty key name use quotes)");else if(space>=0&&space!==name.length){at=start+space;error("Found whitespace in your key name (use quotes to include)")}return name}else if(ch<=" "){if(!ch)error("Found EOF while looking for a key name (check your syntax)");else if(space<0)space=name.length}else if(isPunctuatorChar(ch)){error("Found '"+ch+"' where a key name was expected (check your syntax or use quotes if the key name includes {}[],: or whitespace)")}else{name+=ch}next()}}function white(){while(ch){while(ch&&ch<=" ")next();if(ch==="#"||ch==="/"&&peek(0)==="/"){while(ch&&ch!=="\n")next()}else if(ch==="/"&&peek(0)==="*"){next();next();while(ch&&!(ch==="*"&&peek(0)==="/"))next();if(ch){next();next()}}else break}}function tfnns(){var value=ch;if(isPunctuatorChar(ch))error("Found a punctuator character '"+ch+"' when expecting a quoteless string (check your syntax)");for(;;){next();var isEol=ch==="\r"||ch==="\n"||ch==="";if(isEol||ch===","||ch==="}"||ch==="]"||ch==="#"||ch==="/"&&(peek(0)==="/"||peek(0)==="*")){var chf=value[0];switch(chf){case"f":if(value.trim()==="false")return false;break;case"n":if(value.trim()==="null")return null;break;case"t":if(value.trim()==="true")return true;break;default:if(chf==="-"||chf>="0"&&chf<="9"){var n=common.tryParseNumber(value);if(n!==undefined)return n}}if(isEol){value=value.trim();var dsfValue=runDsf(value);return dsfValue!==undefined?dsfValue:value}}value+=ch}}function getComment(cAt,first){var i;cAt--;for(i=at-2;i>cAt&&text[i]<=" "&&text[i]!=="\n";i--);if(text[i]==="\n")i--;if(text[i]==="\r")i--;var res=text.substr(cAt,i-cAt+1);for(i=0;i<res.length;i++){if(res[i]>" "){var j=res.indexOf("\n");if(j>=0){var c=[res.substr(0,j),res.substr(j+1)];if(first&&c[0].trim().length===0)c.shift();return c}else return[res]}}return[]}function errorClosingHint(value){function search(value,ch){var i,k,length,res;switch(typeof value){case"string":if(value.indexOf(ch)>=0)res=value;break;case"object":if(Object.prototype.toString.apply(value)==="[object Array]"){for(i=0,length=value.length;i<length;i++){res=search(value[i],ch)||res}}else{for(k in value){if(!Object.prototype.hasOwnProperty.call(value,k))continue;res=search(value[k],ch)||res}}}return res}function report(ch){var possibleErr=search(value,ch);if(possibleErr){return"found '"+ch+"' in a string value, your mistake could be with:\n"+"  > "+possibleErr+"\n"+"  (unquoted strings contain everything up to the next line!)"}else return""}return report("}")||report("]")}function array(){var array=[];var comments,cAt,nextComment;try{if(keepComments)comments=common.createComment(array,{a:[]});next();cAt=at;white();if(comments)nextComment=getComment(cAt,true).join("\n");if(ch==="]"){next();if(comments)comments.e=[nextComment];return array}while(ch){array.push(value());cAt=at;white();if(ch===","){next();cAt=at;white()}if(comments){var c=getComment(cAt);comments.a.push([nextComment||"",c[0]||""]);nextComment=c[1]}if(ch==="]"){next();if(comments)comments.a[comments.a.length-1][1]+=nextComment||"";return array}white()}error("End of input while parsing an array (missing ']')")}catch(e){e.hint=e.hint||errorClosingHint(array);throw e}}function object(withoutBraces){var key="",object={};var comments,cAt,nextComment;try{if(keepComments)comments=common.createComment(object,{c:{},o:[]});if(!withoutBraces){next();cAt=at}else cAt=1;white();if(comments)nextComment=getComment(cAt,true).join("\n");if(ch==="}"&&!withoutBraces){if(comments)comments.e=[nextComment];next();return object}while(ch){key=keyname();white();if(ch!==":")error("Expected ':' instead of '"+ch+"'");next();object[key]=value();cAt=at;white();if(ch===","){next();cAt=at;white()}if(comments){var c=getComment(cAt);comments.c[key]=[nextComment||"",c[0]||""];nextComment=c[1];comments.o.push(key)}if(ch==="}"&&!withoutBraces){next();if(comments)comments.c[key][1]+=nextComment||"";return object}white()}if(withoutBraces)return object;else error("End of input while parsing an object (missing '}')")}catch(e){e.hint=e.hint||errorClosingHint(object);throw e}}function value(){white();switch(ch){case"{":return object();case"[":return array();case"'":case'"':return string(true);default:return tfnns()}}function checkTrailing(v,c){var cAt=at;white();if(ch)error("Syntax error, found trailing characters");if(keepComments){var b=c.join("\n"),a=getComment(cAt).join("\n");if(a||b){var comments=common.createComment(v,common.getComment(v));comments.r=[b,a]}}return v}function rootValue(){white();var c=keepComments?getComment(1):null;switch(ch){case"{":return checkTrailing(object(),c);case"[":return checkTrailing(array(),c);default:return checkTrailing(value(),c)}}function legacyRootValue(){white();var c=keepComments?getComment(1):null;switch(ch){case"{":return checkTrailing(object(),c);case"[":return checkTrailing(array(),c)}try{return checkTrailing(object(true),c)}catch(e){resetAt();try{return checkTrailing(value(),c)}catch(e2){throw e}}}if(typeof source!=="string")throw new Error("source is not a string");var dsfDef=null;var legacyRoot=true;if(opt&&typeof opt==="object"){keepComments=opt.keepWsc;dsfDef=opt.dsf;legacyRoot=opt.legacyRoot!==false}runDsf=dsf.loadDsf(dsfDef,"parse");text=source;resetAt();return legacyRoot?legacyRootValue():rootValue()}},function(module,exports,__webpack_require__){"use strict";module.exports=function(data,opt){var common=__webpack_require__(154);var dsf=__webpack_require__(209);var plainToken={obj:["{","}"],arr:["[","]"],key:["",""],qkey:['"','"'],col:[":",""],com:[",",""],str:["",""],qstr:['"','"'],mstr:["'''","'''"],num:["",""],lit:["",""],dsf:["",""],esc:["\\",""],uni:["\\u",""],rem:["",""]};var eol=common.EOL;var indent="  ";var keepComments=false;var bracesSameLine=false;var quoteKeys=false;var quoteStrings=false;var condense=0;var multiline=1;var separator="";var dsfDef=null;var sortProps=false;var token=plainToken;if(opt&&typeof opt==="object"){opt.quotes=opt.quotes==="always"?"strings":opt.quotes;if(opt.eol==="\n"||opt.eol==="\r\n")eol=opt.eol;keepComments=opt.keepWsc;condense=opt.condense||0;bracesSameLine=opt.bracesSameLine;quoteKeys=opt.quotes==="all"||opt.quotes==="keys";quoteStrings=opt.quotes==="all"||opt.quotes==="strings"||opt.separator===true;if(quoteStrings||opt.multiline=="off")multiline=0;else multiline=opt.multiline=="no-tabs"?2:1;separator=opt.separator===true?token.com[0]:"";dsfDef=opt.dsf;sortProps=opt.sortProps;if(typeof opt.space==="number"){indent=new Array(opt.space+1).join(" ")}else if(typeof opt.space==="string"){indent=opt.space}if(opt.colors===true){token={obj:["[37m{[0m","[37m}[0m"],arr:["[37m[[0m","[37m][0m"],key:["[33m","[0m"],qkey:['[33m"','"[0m'],col:["[37m:[0m",""],com:["[37m,[0m",""],str:["[37;1m","[0m"],qstr:['[37;1m"','"[0m'],mstr:["[37;1m'''","'''[0m"],num:["[36;1m","[0m"],lit:["[36m","[0m"],dsf:["[37m","[0m"],esc:["[31m\\","[0m"],uni:["[31m\\u","[0m"],rem:["[35m","[0m"]}}var i,ckeys=Object.keys(plainToken);for(i=ckeys.length-1;i>=0;i--){var k=ckeys[i];token[k].push(plainToken[k][0].length,plainToken[k][1].length)}}var runDsf;var commonRange="-­؀-؄܏឴឵‌-‏\u2028- ⁠-⁯\ufeff￰-";var needsEscape=new RegExp('[\\\\\\"\0-'+commonRange+"]","g");var needsQuotes=new RegExp("^\\s|^\"|^'|^#|^\\/\\*|^\\/\\/|^\\{|^\\}|^\\[|^\\]|^:|^,|\\s$|[\0-"+commonRange+"]","g");var needsEscapeML=new RegExp("'''|^[\\s]+$|[\0-"+(multiline===2?"\t":"\b")+"\v\f-"+commonRange+"]","g");var startsWithKeyword=new RegExp("^(true|false|null)\\s*((,|\\]|\\}|#|//|/\\*).*)?$");var meta={"\b":"b","\t":"t","\n":"n","\f":"f","\r":"r",'"':'"',"\\":"\\"};var needsEscapeName=/[,\{\[\}\]\s:#"']|\/\/|\/\*/;var gap="";var wrapLen=0;function wrap(tk,v){wrapLen+=tk[0].length+tk[1].length-tk[2]-tk[3];return tk[0]+v+tk[1]}function quoteReplace(string){return string.replace(needsEscape,(function(a){var c=meta[a];if(typeof c==="string")return wrap(token.esc,c);else return wrap(token.uni,("0000"+a.charCodeAt(0).toString(16)).slice(-4))}))}function quote(string,gap,hasComment,isRootObject){if(!string)return wrap(token.qstr,"");needsQuotes.lastIndex=0;startsWithKeyword.lastIndex=0;if(quoteStrings||hasComment||needsQuotes.test(string)||common.tryParseNumber(string,true)!==undefined||startsWithKeyword.test(string)){needsEscape.lastIndex=0;needsEscapeML.lastIndex=0;if(!needsEscape.test(string))return wrap(token.qstr,string);else if(!needsEscapeML.test(string)&&!isRootObject&&multiline)return mlString(string,gap);else return wrap(token.qstr,quoteReplace(string))}else{return wrap(token.str,string)}}function mlString(string,gap){var i,a=string.replace(/\r/g,"").split("\n");gap+=indent;if(a.length===1){return wrap(token.mstr,a[0])}else{var res=eol+gap+token.mstr[0];for(i=0;i<a.length;i++){res+=eol;if(a[i])res+=gap+a[i]}return res+eol+gap+token.mstr[1]}}function quoteKey(name){if(!name)return'""';if(quoteKeys||needsEscapeName.test(name)){needsEscape.lastIndex=0;return wrap(token.qkey,needsEscape.test(name)?quoteReplace(name):name)}else{return wrap(token.key,name)}}function str(value,hasComment,noIndent,isRootObject){function startsWithNL(str){return str&&str[str[0]==="\r"?1:0]==="\n"}function commentOnThisLine(str){return str&&!startsWithNL(str)}function makeComment(str,prefix,trim){if(!str)return"";str=common.forceComment(str);var i,len=str.length;for(i=0;i<len&&str[i]<=" ";i++){}if(trim&&i>0)str=str.substr(i);if(i<len)return prefix+wrap(token.rem,str);else return str}var dsfValue=runDsf(value);if(dsfValue!==undefined)return wrap(token.dsf,dsfValue);switch(typeof value){case"string":return quote(value,gap,hasComment,isRootObject);case"number":return isFinite(value)?wrap(token.num,String(value)):wrap(token.lit,"null");case"boolean":return wrap(token.lit,String(value));case"object":if(!value)return wrap(token.lit,"null");var comments;if(keepComments)comments=common.getComment(value);var isArray=Object.prototype.toString.apply(value)==="[object Array]";var mind=gap;gap+=indent;var eolMind=eol+mind;var eolGap=eol+gap;var prefix=noIndent||bracesSameLine?"":eolMind;var partial=[];var setsep;var cpartial=condense?[]:null;var saveQuoteStrings=quoteStrings,saveMultiline=multiline;var iseparator=separator?"":token.com[0];var cwrapLen=0;var i,length;var k,v,vs;var c,ca;var res,cres;if(isArray){for(i=0,length=value.length;i<length;i++){setsep=i<length-1;if(comments){c=comments.a[i]||[];ca=commentOnThisLine(c[1]);partial.push(makeComment(c[0],"\n")+eolGap);if(cpartial&&(c[0]||c[1]||ca))cpartial=null}else partial.push(eolGap);wrapLen=0;v=value[i];partial.push(str(v,comments?ca:false,true)+(setsep?separator:""));if(cpartial){switch(typeof v){case"string":wrapLen=0;quoteStrings=true;multiline=0;cpartial.push(str(v,false,true)+(setsep?token.com[0]:""));quoteStrings=saveQuoteStrings;multiline=saveMultiline;break;case"object":if(v){cpartial=null;break}default:cpartial.push(partial[partial.length-1]+(setsep?iseparator:""));break}if(setsep)wrapLen+=token.com[0].length-token.com[2];cwrapLen+=wrapLen}if(comments&&c[1])partial.push(makeComment(c[1],ca?" ":"\n",ca))}if(length===0){if(comments&&comments.e)partial.push(makeComment(comments.e[0],"\n")+eolMind)}else partial.push(eolMind);if(partial.length===0)res=wrap(token.arr,"");else{res=prefix+wrap(token.arr,partial.join(""));if(cpartial){cres=cpartial.join(" ");if(cres.length-cwrapLen<=condense)res=wrap(token.arr,cres)}}}else{var commentKeys=comments?comments.o.slice():[];var objectKeys=[];for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)&&commentKeys.indexOf(k)<0)objectKeys.push(k)}if(sortProps){objectKeys.sort()}var keys=commentKeys.concat(objectKeys);for(i=0,length=keys.length;i<length;i++){setsep=i<length-1;k=keys[i];if(comments){c=comments.c[k]||[];ca=commentOnThisLine(c[1]);partial.push(makeComment(c[0],"\n")+eolGap);if(cpartial&&(c[0]||c[1]||ca))cpartial=null}else partial.push(eolGap);wrapLen=0;v=value[k];vs=str(v,comments&&ca);partial.push(quoteKey(k)+token.col[0]+(startsWithNL(vs)?"":" ")+vs+(setsep?separator:""));if(comments&&c[1])partial.push(makeComment(c[1],ca?" ":"\n",ca));if(cpartial){switch(typeof v){case"string":wrapLen=0;quoteStrings=true;multiline=0;vs=str(v,false);quoteStrings=saveQuoteStrings;multiline=saveMultiline;cpartial.push(quoteKey(k)+token.col[0]+" "+vs+(setsep?token.com[0]:""));break;case"object":if(v){cpartial=null;break}default:cpartial.push(partial[partial.length-1]+(setsep?iseparator:""));break}wrapLen+=token.col[0].length-token.col[2];if(setsep)wrapLen+=token.com[0].length-token.com[2];cwrapLen+=wrapLen}}if(length===0){if(comments&&comments.e)partial.push(makeComment(comments.e[0],"\n")+eolMind)}else partial.push(eolMind);if(partial.length===0){res=wrap(token.obj,"")}else{res=prefix+wrap(token.obj,partial.join(""));if(cpartial){cres=cpartial.join(" ");if(cres.length-cwrapLen<=condense)res=wrap(token.obj,cres)}}}gap=mind;return res}}runDsf=dsf.loadDsf(dsfDef,"stringify");var res="";var comments=keepComments?comments=(common.getComment(data)||{}).r:null;if(comments&&comments[0])res=comments[0]+"\n";res+=str(data,null,true,true);if(comments)res+=comments[1]||"";return res}},function(module,exports,__webpack_require__){"use strict";var common=__webpack_require__(154);function makeComment(b,a,x){var c;if(b)c={b:b};if(a)(c=c||{}).a=a;if(x)(c=c||{}).x=x;return c}function extractComments(value,root){if(value===null||typeof value!=="object")return;var comments=common.getComment(value);if(comments)common.removeComment(value);var i,length;var any,res;if(Object.prototype.toString.apply(value)==="[object Array]"){res={a:{}};for(i=0,length=value.length;i<length;i++){if(saveComment(res.a,i,comments.a[i],extractComments(value[i])))any=true}if(!any&&comments.e){res.e=makeComment(comments.e[0],comments.e[1]);any=true}}else{res={s:{}};var keys,currentKeys=Object.keys(value);if(comments&&comments.o){keys=[];comments.o.concat(currentKeys).forEach((function(key){if(Object.prototype.hasOwnProperty.call(value,key)&&keys.indexOf(key)<0)keys.push(key)}))}else keys=currentKeys;res.o=keys;for(i=0,length=keys.length;i<length;i++){var key=keys[i];if(saveComment(res.s,key,comments.c[key],extractComments(value[key])))any=true}if(!any&&comments.e){res.e=makeComment(comments.e[0],comments.e[1]);any=true}}if(root&&comments&&comments.r){res.r=makeComment(comments.r[0],comments.r[1])}return any?res:undefined}function mergeStr(){var res="";[].forEach.call(arguments,(function(c){if(c&&c.trim()!==""){if(res)res+="; ";res+=c.trim()}}));return res}function mergeComments(comments,value){var dropped=[];merge(comments,value,dropped,[]);if(dropped.length>0){var text=rootComment(value,null,1);text+="\n# Orphaned comments:\n";dropped.forEach((function(c){text+=("# "+c.path.join("/")+": "+mergeStr(c.b,c.a,c.e)).replace("\n","\\n ")+"\n"}));rootComment(value,text,1)}}function saveComment(res,key,item,col){var c=makeComment(item?item[0]:undefined,item?item[1]:undefined,col);if(c)res[key]=c;return c}function droppedComment(path,c){var res=makeComment(c.b,c.a);res.path=path;return res}function dropAll(comments,dropped,path){if(!comments)return;var i,length;if(comments.a){for(i=0,length=comments.a.length;i<length;i++){var kpath=path.slice().concat([i]);var c=comments.a[i];if(c){dropped.push(droppedComment(kpath,c));dropAll(c.x,dropped,kpath)}}}else if(comments.o){comments.o.forEach((function(key){var kpath=path.slice().concat([key]);var c=comments.s[key];if(c){dropped.push(droppedComment(kpath,c));dropAll(c.x,dropped,kpath)}}))}if(comments.e)dropped.push(droppedComment(path,comments.e))}function merge(comments,value,dropped,path){if(!comments)return;if(value===null||typeof value!=="object"){dropAll(comments,dropped,path);return}var i;var setComments=common.createComment(value);if(path.length===0&&comments.r)setComments.r=[comments.r.b,comments.r.a];if(Object.prototype.toString.apply(value)==="[object Array]"){setComments.a=[];var a=comments.a||{};for(var key in a){if(a.hasOwnProperty(key)){i=parseInt(key);var c=comments.a[key];if(c){var kpath=path.slice().concat([i]);if(i<value.length){setComments.a[i]=[c.b,c.a];merge(c.x,value[i],dropped,kpath)}else{dropped.push(droppedComment(kpath,c));dropAll(c.x,dropped,kpath)}}}}if(i===0&&comments.e)setComments.e=[comments.e.b,comments.e.a]}else{setComments.c={};setComments.o=[];(comments.o||[]).forEach((function(key){var kpath=path.slice().concat([key]);var c=comments.s[key];if(Object.prototype.hasOwnProperty.call(value,key)){setComments.o.push(key);if(c){setComments.c[key]=[c.b,c.a];merge(c.x,value[key],dropped,kpath)}}else if(c){dropped.push(droppedComment(kpath,c));dropAll(c.x,dropped,kpath)}}));if(comments.e)setComments.e=[comments.e.b,comments.e.a]}}function rootComment(value,setText,header){var comment=common.createComment(value,common.getComment(value));if(!comment.r)comment.r=["",""];if(setText||setText==="")comment.r[header]=common.forceComment(setText);return comment.r[header]||""}module.exports={extract:function(value){return extractComments(value,true)},merge:mergeComments,header:function(value,setText){return rootComment(value,setText,0)},footer:function(value,setText){return rootComment(value,setText,1)}}},function(module,exports){ace.define("ace/mode/hjson_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(acequire,exports,module){"use strict";var oop=acequire("../lib/oop");var TextHighlightRules=acequire("./text_highlight_rules").TextHighlightRules;var HjsonHighlightRules=function(){this.$rules={start:[{include:"#comments"},{include:"#rootObject"},{include:"#value"}],"#array":[{token:"paren.lparen",regex:/\[/,push:[{token:"paren.rparen",regex:/\]/,next:"pop"},{include:"#value"},{include:"#comments"},{token:"text",regex:/,|$/},{token:"invalid.illegal",regex:/[^\s\]]/},{defaultToken:"array"}]}],"#comments":[{token:["comment.punctuation","comment.line"],regex:/(#)(.*$)/},{token:"comment.punctuation",regex:/\/\*/,push:[{token:"comment.punctuation",regex:/\*\//,next:"pop"},{defaultToken:"comment.block"}]},{token:["comment.punctuation","comment.line"],regex:/(\/\/)(.*$)/}],"#constant":[{token:"constant",regex:/\b(?:true|false|null)\b/}],"#keyname":[{token:"keyword",regex:/(?:[^,\{\[\}\]\s]+|"(?:[^"\\]|\\.)*")\s*(?=:)/}],"#mstring":[{token:"string",regex:/'''/,push:[{token:"string",regex:/'''/,next:"pop"},{defaultToken:"string"}]}],"#number":[{token:"constant.numeric",regex:/-?(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:[eE][+-]?\d+)?)?/,comment:"handles integer and decimal numbers"}],"#object":[{token:"paren.lparen",regex:/\{/,push:[{token:"paren.rparen",regex:/\}/,next:"pop"},{include:"#keyname"},{include:"#value"},{token:"text",regex:/:/},{token:"text",regex:/,/},{defaultToken:"paren"}]}],"#rootObject":[{token:"paren",regex:/(?=\s*(?:[^,\{\[\}\]\s]+|"(?:[^"\\]|\\.)*")\s*:)/,push:[{token:"paren.rparen",regex:/---none---/,next:"pop"},{include:"#keyname"},{include:"#value"},{token:"text",regex:/:/},{token:"text",regex:/,/},{defaultToken:"paren"}]}],"#string":[{token:"string",regex:/"/,push:[{token:"string",regex:/"/,next:"pop"},{token:"constant.language.escape",regex:/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/},{token:"invalid.illegal",regex:/\\./},{defaultToken:"string"}]}],"#ustring":[{token:"string",regex:/\b[^:,0-9\-\{\[\}\]\s].*$/}],"#value":[{include:"#constant"},{include:"#number"},{include:"#string"},{include:"#array"},{include:"#object"},{include:"#comments"},{include:"#mstring"},{include:"#ustring"}]};this.normalizeRules()};HjsonHighlightRules.metaData={fileTypes:["hjson"],foldingStartMarker:"(?x:     # turn on extended mode\n              ^    # a line beginning with\n              \\s*    # some optional space\n              [{\\[]  # the start of an object or array\n              (?!    # but not followed by\n              .*   # whatever\n              [}\\]]  # and the close of an object or array\n              ,?   # an optional comma\n              \\s*  # some optional space\n              $    # at the end of the line\n              )\n              |    # ...or...\n              [{\\[]  # the start of an object or array\n              \\s*    # some optional space\n              $    # at the end of the line\n            )",foldingStopMarker:"(?x:   # turn on extended mode\n             ^    # a line beginning with\n             \\s*  # some optional space\n             [}\\]]  # and the close of an object or array\n             )",keyEquivalent:"^~J",name:"Hjson",scopeName:"source.hjson"};oop.inherits(HjsonHighlightRules,TextHighlightRules);exports.HjsonHighlightRules=HjsonHighlightRules}));ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(acequire,exports,module){"use strict";var oop=acequire("../../lib/oop");var Range=acequire("../../range").Range;var BaseFoldMode=acequire("./fold_mode").FoldMode;var FoldMode=exports.FoldMode=function(commentRegex){if(commentRegex){this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+commentRegex.start));this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+commentRegex.end))}};oop.inherits(FoldMode,BaseFoldMode);(function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/;this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/;this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/;this._getFoldWidgetBase=this.getFoldWidget;this.getFoldWidget=function(session,foldStyle,row){var line=session.getLine(row);if(this.singleLineBlockCommentRe.test(line)){if(!this.startRegionRe.test(line)&&!this.tripleStarBlockCommentRe.test(line))return""}var fw=this._getFoldWidgetBase(session,foldStyle,row);if(!fw&&this.startRegionRe.test(line))return"start";return fw};this.getFoldWidgetRange=function(session,foldStyle,row,forceMultiline){var line=session.getLine(row);if(this.startRegionRe.test(line))return this.getCommentRegionBlock(session,line,row);var match=line.match(this.foldingStartMarker);if(match){var i=match.index;if(match[1])return this.openingBracketBlock(session,match[1],row,i);var range=session.getCommentFoldRange(row,i+match[0].length,1);if(range&&!range.isMultiLine()){if(forceMultiline){range=this.getSectionRange(session,row)}else if(foldStyle!="all")range=null}return range}if(foldStyle==="markbegin")return;var match=line.match(this.foldingStopMarker);if(match){var i=match.index+match[0].length;if(match[1])return this.closingBracketBlock(session,match[1],row,i);return session.getCommentFoldRange(row,i,-1)}};this.getSectionRange=function(session,row){var line=session.getLine(row);var startIndent=line.search(/\S/);var startRow=row;var startColumn=line.length;row=row+1;var endRow=row;var maxRow=session.getLength();while(++row<maxRow){line=session.getLine(row);var indent=line.search(/\S/);if(indent===-1)continue;if(startIndent>indent)break;var subRange=this.getFoldWidgetRange(session,"all",row);if(subRange){if(subRange.start.row<=startRow){break}else if(subRange.isMultiLine()){row=subRange.end.row}else if(startIndent==indent){break}}endRow=row}return new Range(startRow,startColumn,endRow,session.getLine(endRow).length)};this.getCommentRegionBlock=function(session,line,row){var startColumn=line.search(/\s*$/);var maxRow=session.getLength();var startRow=row;var re=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;var depth=1;while(++row<maxRow){line=session.getLine(row);var m=re.exec(line);if(!m)continue;if(m[1])depth--;else depth++;if(!depth)break}var endRow=row;if(endRow>startRow){return new Range(startRow,startColumn,endRow,line.length)}}}).call(FoldMode.prototype)}));ace.define("ace/mode/hjson",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/hjson_highlight_rules","ace/mode/folding/cstyle"],(function(acequire,exports,module){"use strict";var oop=acequire("../lib/oop");var TextMode=acequire("./text").Mode;var HjsonHighlightRules=acequire("./hjson_highlight_rules").HjsonHighlightRules;var FoldMode=acequire("./folding/cstyle").FoldMode;var Mode=function(){this.HighlightRules=HjsonHighlightRules;this.foldingRules=new FoldMode};oop.inherits(Mode,TextMode);(function(){this.lineCommentStart="//";this.blockComment={start:"/*",end:"*/"};this.$id="ace/mode/hjson"}).call(Mode.prototype);exports.Mode=Mode}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;
/*!
 * mustache.js - Logic-less {{mustache}} templates with JavaScript
 * http://github.com/janl/mustache.js
 */(function defineMustache(global,factory){if(true&&exports&&typeof exports.nodeName!=="string"){factory(exports)}else if(true){!(__WEBPACK_AMD_DEFINE_ARRAY__=[exports],__WEBPACK_AMD_DEFINE_FACTORY__=factory,__WEBPACK_AMD_DEFINE_RESULT__=typeof __WEBPACK_AMD_DEFINE_FACTORY__==="function"?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}else{}})(this,(function mustacheFactory(mustache){var objectToString=Object.prototype.toString;var isArray=Array.isArray||function isArrayPolyfill(object){return objectToString.call(object)==="[object Array]"};function isFunction(object){return typeof object==="function"}function typeStr(obj){return isArray(obj)?"array":typeof obj}function escapeRegExp(string){return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function hasProperty(obj,propName){return obj!=null&&typeof obj==="object"&&propName in obj}var regExpTest=RegExp.prototype.test;function testRegExp(re,string){return regExpTest.call(re,string)}var nonSpaceRe=/\S/;function isWhitespace(string){return!testRegExp(nonSpaceRe,string)}var entityMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function escapeHtml(string){return String(string).replace(/[&<>"'`=\/]/g,(function fromEntityMap(s){return entityMap[s]}))}var whiteRe=/\s*/;var spaceRe=/\s+/;var equalsRe=/\s*=/;var curlyRe=/\s*\}/;var tagRe=/#|\^|\/|>|\{|&|=|!/;function parseTemplate(template,tags){if(!template)return[];var sections=[];var tokens=[];var spaces=[];var hasTag=false;var nonSpace=false;function stripSpace(){if(hasTag&&!nonSpace){while(spaces.length)delete tokens[spaces.pop()]}else{spaces=[]}hasTag=false;nonSpace=false}var openingTagRe,closingTagRe,closingCurlyRe;function compileTags(tagsToCompile){if(typeof tagsToCompile==="string")tagsToCompile=tagsToCompile.split(spaceRe,2);if(!isArray(tagsToCompile)||tagsToCompile.length!==2)throw new Error("Invalid tags: "+tagsToCompile);openingTagRe=new RegExp(escapeRegExp(tagsToCompile[0])+"\\s*");closingTagRe=new RegExp("\\s*"+escapeRegExp(tagsToCompile[1]));closingCurlyRe=new RegExp("\\s*"+escapeRegExp("}"+tagsToCompile[1]))}compileTags(tags||mustache.tags);var scanner=new Scanner(template);var start,type,value,chr,token,openSection;while(!scanner.eos()){start=scanner.pos;value=scanner.scanUntil(openingTagRe);if(value){for(var i=0,valueLength=value.length;i<valueLength;++i){chr=value.charAt(i);if(isWhitespace(chr)){spaces.push(tokens.length)}else{nonSpace=true}tokens.push(["text",chr,start,start+1]);start+=1;if(chr==="\n")stripSpace()}}if(!scanner.scan(openingTagRe))break;hasTag=true;type=scanner.scan(tagRe)||"name";scanner.scan(whiteRe);if(type==="="){value=scanner.scanUntil(equalsRe);scanner.scan(equalsRe);scanner.scanUntil(closingTagRe)}else if(type==="{"){value=scanner.scanUntil(closingCurlyRe);scanner.scan(curlyRe);scanner.scanUntil(closingTagRe);type="&"}else{value=scanner.scanUntil(closingTagRe)}if(!scanner.scan(closingTagRe))throw new Error("Unclosed tag at "+scanner.pos);token=[type,value,start,scanner.pos];tokens.push(token);if(type==="#"||type==="^"){sections.push(token)}else if(type==="/"){openSection=sections.pop();if(!openSection)throw new Error('Unopened section "'+value+'" at '+start);if(openSection[1]!==value)throw new Error('Unclosed section "'+openSection[1]+'" at '+start)}else if(type==="name"||type==="{"||type==="&"){nonSpace=true}else if(type==="="){compileTags(value)}}openSection=sections.pop();if(openSection)throw new Error('Unclosed section "'+openSection[1]+'" at '+scanner.pos);return nestTokens(squashTokens(tokens))}function squashTokens(tokens){var squashedTokens=[];var token,lastToken;for(var i=0,numTokens=tokens.length;i<numTokens;++i){token=tokens[i];if(token){if(token[0]==="text"&&lastToken&&lastToken[0]==="text"){lastToken[1]+=token[1];lastToken[3]=token[3]}else{squashedTokens.push(token);lastToken=token}}}return squashedTokens}function nestTokens(tokens){var nestedTokens=[];var collector=nestedTokens;var sections=[];var token,section;for(var i=0,numTokens=tokens.length;i<numTokens;++i){token=tokens[i];switch(token[0]){case"#":case"^":collector.push(token);sections.push(token);collector=token[4]=[];break;case"/":section=sections.pop();section[5]=token[2];collector=sections.length>0?sections[sections.length-1][4]:nestedTokens;break;default:collector.push(token)}}return nestedTokens}function Scanner(string){this.string=string;this.tail=string;this.pos=0}Scanner.prototype.eos=function eos(){return this.tail===""};Scanner.prototype.scan=function scan(re){var match=this.tail.match(re);if(!match||match.index!==0)return"";var string=match[0];this.tail=this.tail.substring(string.length);this.pos+=string.length;return string};Scanner.prototype.scanUntil=function scanUntil(re){var index=this.tail.search(re),match;switch(index){case-1:match=this.tail;this.tail="";break;case 0:match="";break;default:match=this.tail.substring(0,index);this.tail=this.tail.substring(index)}this.pos+=match.length;return match};function Context(view,parentContext){this.view=view;this.cache={".":this.view};this.parent=parentContext}Context.prototype.push=function push(view){return new Context(view,this)};Context.prototype.lookup=function lookup(name){var cache=this.cache;var value;if(cache.hasOwnProperty(name)){value=cache[name]}else{var context=this,names,index,lookupHit=false;while(context){if(name.indexOf(".")>0){value=context.view;names=name.split(".");index=0;while(value!=null&&index<names.length){if(index===names.length-1)lookupHit=hasProperty(value,names[index]);value=value[names[index++]]}}else{value=context.view[name];lookupHit=hasProperty(context.view,name)}if(lookupHit)break;context=context.parent}cache[name]=value}if(isFunction(value))value=value.call(this.view);return value};function Writer(){this.cache={}}Writer.prototype.clearCache=function clearCache(){this.cache={}};Writer.prototype.parse=function parse(template,tags){var cache=this.cache;var tokens=cache[template];if(tokens==null)tokens=cache[template]=parseTemplate(template,tags);return tokens};Writer.prototype.render=function render(template,view,partials){var tokens=this.parse(template);var context=view instanceof Context?view:new Context(view);return this.renderTokens(tokens,context,partials,template)};Writer.prototype.renderTokens=function renderTokens(tokens,context,partials,originalTemplate){var buffer="";var token,symbol,value;for(var i=0,numTokens=tokens.length;i<numTokens;++i){value=undefined;token=tokens[i];symbol=token[0];if(symbol==="#")value=this.renderSection(token,context,partials,originalTemplate);else if(symbol==="^")value=this.renderInverted(token,context,partials,originalTemplate);else if(symbol===">")value=this.renderPartial(token,context,partials,originalTemplate);else if(symbol==="&")value=this.unescapedValue(token,context);else if(symbol==="name")value=this.escapedValue(token,context);else if(symbol==="text")value=this.rawValue(token);if(value!==undefined)buffer+=value}return buffer};Writer.prototype.renderSection=function renderSection(token,context,partials,originalTemplate){var self=this;var buffer="";var value=context.lookup(token[1]);function subRender(template){return self.render(template,context,partials)}if(!value)return;if(isArray(value)){for(var j=0,valueLength=value.length;j<valueLength;++j){buffer+=this.renderTokens(token[4],context.push(value[j]),partials,originalTemplate)}}else if(typeof value==="object"||typeof value==="string"||typeof value==="number"){buffer+=this.renderTokens(token[4],context.push(value),partials,originalTemplate)}else if(isFunction(value)){if(typeof originalTemplate!=="string")throw new Error("Cannot use higher-order sections without the original template");value=value.call(context.view,originalTemplate.slice(token[3],token[5]),subRender);if(value!=null)buffer+=value}else{buffer+=this.renderTokens(token[4],context,partials,originalTemplate)}return buffer};Writer.prototype.renderInverted=function renderInverted(token,context,partials,originalTemplate){var value=context.lookup(token[1]);if(!value||isArray(value)&&value.length===0)return this.renderTokens(token[4],context,partials,originalTemplate)};Writer.prototype.renderPartial=function renderPartial(token,context,partials){if(!partials)return;var value=isFunction(partials)?partials(token[1]):partials[token[1]];if(value!=null)return this.renderTokens(this.parse(value),context,partials,value)};Writer.prototype.unescapedValue=function unescapedValue(token,context){var value=context.lookup(token[1]);if(value!=null)return value};Writer.prototype.escapedValue=function escapedValue(token,context){var value=context.lookup(token[1]);if(value!=null)return mustache.escape(value)};Writer.prototype.rawValue=function rawValue(token){return token[1]};mustache.name="mustache.js";mustache.version="2.3.2";mustache.tags=["{{","}}"];var defaultWriter=new Writer;mustache.clearCache=function clearCache(){return defaultWriter.clearCache()};mustache.parse=function parse(template,tags){return defaultWriter.parse(template,tags)};mustache.render=function render(template,view,partials){if(typeof template!=="string"){throw new TypeError('Invalid template! Template should be a "string" '+'but "'+typeStr(template)+'" was given as the first '+"argument for mustache#render(template, view, partials)")}return defaultWriter.render(template,view,partials)};mustache.to_html=function to_html(template,view,partials,send){var result=mustache.render(template,view,partials);if(isFunction(send)){send(result)}else{return result}};mustache.escape=escapeHtml;mustache.Scanner=Scanner;mustache.Context=Context;mustache.Writer=Writer;return mustache}))},function(module,exports,__webpack_require__){module.exports=__webpack_require__(329).default;module.exports.utils=__webpack_require__(117);module.exports.Responsive=__webpack_require__(1104).default;module.exports.Responsive.utils=__webpack_require__(335);module.exports.WidthProvider=__webpack_require__(1105).default},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);var _propTypes=__webpack_require__(71);var _propTypes2=_interopRequireDefault(_propTypes);var _reactDraggable=__webpack_require__(1096);var _reactResizable=__webpack_require__(1097);var _utils=__webpack_require__(117);var _classnames=__webpack_require__(62);var _classnames2=_interopRequireDefault(_classnames);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var GridItem=function(_React$Component){_inherits(GridItem,_React$Component);function GridItem(){var _temp,_this,_ret;_classCallCheck(this,GridItem);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return _ret=(_temp=(_this=_possibleConstructorReturn(this,_React$Component.call.apply(_React$Component,[this].concat(args))),_this),_this.state={resizing:null,dragging:null,className:""},_temp),_possibleConstructorReturn(_this,_ret)}GridItem.prototype.calcColWidth=function calcColWidth(){var _props=this.props,margin=_props.margin,containerPadding=_props.containerPadding,containerWidth=_props.containerWidth,cols=_props.cols;return(containerWidth-margin[0]*(cols-1)-containerPadding[0]*2)/cols};GridItem.prototype.calcPosition=function calcPosition(x,y,w,h,state){var _props2=this.props,margin=_props2.margin,containerPadding=_props2.containerPadding,rowHeight=_props2.rowHeight;var colWidth=this.calcColWidth();var out={left:Math.round((colWidth+margin[0])*x+containerPadding[0]),top:Math.round((rowHeight+margin[1])*y+containerPadding[1]),width:w===Infinity?w:Math.round(colWidth*w+Math.max(0,w-1)*margin[0]),height:h===Infinity?h:Math.round(rowHeight*h+Math.max(0,h-1)*margin[1])};if(state&&state.resizing){out.width=Math.round(state.resizing.width);out.height=Math.round(state.resizing.height)}if(state&&state.dragging){out.top=Math.round(state.dragging.top);out.left=Math.round(state.dragging.left)}return out};GridItem.prototype.calcXY=function calcXY(top,left){var _props3=this.props,margin=_props3.margin,cols=_props3.cols,rowHeight=_props3.rowHeight,w=_props3.w,h=_props3.h,maxRows=_props3.maxRows;var colWidth=this.calcColWidth();var x=Math.round((left-margin[0])/(colWidth+margin[0]));var y=Math.round((top-margin[1])/(rowHeight+margin[1]));x=Math.max(Math.min(x,cols-w),0);y=Math.max(Math.min(y,maxRows-h),0);return{x:x,y:y}};GridItem.prototype.calcWH=function calcWH(_ref){var height=_ref.height,width=_ref.width;var _props4=this.props,margin=_props4.margin,maxRows=_props4.maxRows,cols=_props4.cols,rowHeight=_props4.rowHeight,x=_props4.x,y=_props4.y;var colWidth=this.calcColWidth();var w=Math.round((width+margin[0])/(colWidth+margin[0]));var h=Math.round((height+margin[1])/(rowHeight+margin[1]));w=Math.max(Math.min(w,cols-x),0);h=Math.max(Math.min(h,maxRows-y),0);return{w:w,h:h}};GridItem.prototype.createStyle=function createStyle(pos){var _props5=this.props,usePercentages=_props5.usePercentages,containerWidth=_props5.containerWidth,useCSSTransforms=_props5.useCSSTransforms;var style=void 0;if(useCSSTransforms){style=(0,_utils.setTransform)(pos)}else{style=(0,_utils.setTopLeft)(pos);if(usePercentages){style.left=(0,_utils.perc)(pos.left/containerWidth);style.width=(0,_utils.perc)(pos.width/containerWidth)}}return style};GridItem.prototype.mixinDraggable=function mixinDraggable(child){return _react2.default.createElement(_reactDraggable.DraggableCore,{onStart:this.onDragHandler("onDragStart"),onDrag:this.onDragHandler("onDrag"),onStop:this.onDragHandler("onDragStop"),handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:"")},child)};GridItem.prototype.mixinResizable=function mixinResizable(child,position){var _props6=this.props,cols=_props6.cols,x=_props6.x,minW=_props6.minW,minH=_props6.minH,maxW=_props6.maxW,maxH=_props6.maxH;var maxWidth=this.calcPosition(0,0,cols-x,0).width;var mins=this.calcPosition(0,0,minW,minH);var maxes=this.calcPosition(0,0,maxW,maxH);var minConstraints=[mins.width,mins.height];var maxConstraints=[Math.min(maxes.width,maxWidth),Math.min(maxes.height,Infinity)];return _react2.default.createElement(_reactResizable.Resizable,{width:position.width,height:position.height,minConstraints:minConstraints,maxConstraints:maxConstraints,onResizeStop:this.onResizeHandler("onResizeStop"),onResizeStart:this.onResizeHandler("onResizeStart"),onResize:this.onResizeHandler("onResize")},child)};GridItem.prototype.onDragHandler=function onDragHandler(handlerName){var _this2=this;return function(e,_ref2){var node=_ref2.node,deltaX=_ref2.deltaX,deltaY=_ref2.deltaY;var handler=_this2.props[handlerName];if(!handler)return;var newPosition={top:0,left:0};switch(handlerName){case"onDragStart":{var offsetParent=node.offsetParent;if(!offsetParent)return;var parentRect=offsetParent.getBoundingClientRect();var clientRect=node.getBoundingClientRect();newPosition.left=clientRect.left-parentRect.left+offsetParent.scrollLeft;newPosition.top=clientRect.top-parentRect.top+offsetParent.scrollTop;_this2.setState({dragging:newPosition});break}case"onDrag":if(!_this2.state.dragging)throw new Error("onDrag called before onDragStart.");newPosition.left=_this2.state.dragging.left+deltaX;newPosition.top=_this2.state.dragging.top+deltaY;_this2.setState({dragging:newPosition});break;case"onDragStop":if(!_this2.state.dragging)throw new Error("onDragEnd called before onDragStart.");newPosition.left=_this2.state.dragging.left;newPosition.top=_this2.state.dragging.top;_this2.setState({dragging:null});break;default:throw new Error("onDragHandler called with unrecognized handlerName: "+handlerName)}var _calcXY=_this2.calcXY(newPosition.top,newPosition.left),x=_calcXY.x,y=_calcXY.y;return handler.call(_this2,_this2.props.i,x,y,{e:e,node:node,newPosition:newPosition})}};GridItem.prototype.onResizeHandler=function onResizeHandler(handlerName){var _this3=this;return function(e,_ref3){var node=_ref3.node,size=_ref3.size;var handler=_this3.props[handlerName];if(!handler)return;var _props7=_this3.props,cols=_props7.cols,x=_props7.x,i=_props7.i,maxW=_props7.maxW,minW=_props7.minW,maxH=_props7.maxH,minH=_props7.minH;var _calcWH=_this3.calcWH(size),w=_calcWH.w,h=_calcWH.h;w=Math.min(w,cols-x);w=Math.max(w,1);w=Math.max(Math.min(w,maxW),minW);h=Math.max(Math.min(h,maxH),minH);_this3.setState({resizing:handlerName==="onResizeStop"?null:size});handler.call(_this3,i,w,h,{e:e,node:node,size:size})}};GridItem.prototype.render=function render(){var _props8=this.props,x=_props8.x,y=_props8.y,w=_props8.w,h=_props8.h,isDraggable=_props8.isDraggable,isResizable=_props8.isResizable,useCSSTransforms=_props8.useCSSTransforms;var pos=this.calcPosition(x,y,w,h,this.state);var child=_react2.default.Children.only(this.props.children);var newChild=_react2.default.cloneElement(child,{className:(0,_classnames2.default)("react-grid-item",child.props.className,this.props.className,{static:this.props.static,resizing:Boolean(this.state.resizing),"react-draggable":isDraggable,"react-draggable-dragging":Boolean(this.state.dragging),cssTransforms:useCSSTransforms}),style:_extends({},this.props.style,child.props.style,this.createStyle(pos))});if(isResizable)newChild=this.mixinResizable(newChild,pos);if(isDraggable)newChild=this.mixinDraggable(newChild);return newChild};return GridItem}(_react2.default.Component);GridItem.propTypes={children:_propTypes2.default.element,cols:_propTypes2.default.number.isRequired,containerWidth:_propTypes2.default.number.isRequired,rowHeight:_propTypes2.default.number.isRequired,margin:_propTypes2.default.array.isRequired,maxRows:_propTypes2.default.number.isRequired,containerPadding:_propTypes2.default.array.isRequired,x:_propTypes2.default.number.isRequired,y:_propTypes2.default.number.isRequired,w:_propTypes2.default.number.isRequired,h:_propTypes2.default.number.isRequired,minW:function minW(props,propName){var value=props[propName];if(typeof value!=="number")return new Error("minWidth not Number");if(value>props.w||value>props.maxW)return new Error("minWidth larger than item width/maxWidth")},maxW:function maxW(props,propName){var value=props[propName];if(typeof value!=="number")return new Error("maxWidth not Number");if(value<props.w||value<props.minW)return new Error("maxWidth smaller than item width/minWidth")},minH:function minH(props,propName){var value=props[propName];if(typeof value!=="number")return new Error("minHeight not Number");if(value>props.h||value>props.maxH)return new Error("minHeight larger than item height/maxHeight")},maxH:function maxH(props,propName){var value=props[propName];if(typeof value!=="number")return new Error("maxHeight not Number");if(value<props.h||value<props.minH)return new Error("maxHeight smaller than item height/minHeight")},i:_propTypes2.default.string.isRequired,onDragStop:_propTypes2.default.func,onDragStart:_propTypes2.default.func,onDrag:_propTypes2.default.func,onResizeStop:_propTypes2.default.func,onResizeStart:_propTypes2.default.func,onResize:_propTypes2.default.func,isDraggable:_propTypes2.default.bool.isRequired,isResizable:_propTypes2.default.bool.isRequired,static:_propTypes2.default.bool,useCSSTransforms:_propTypes2.default.bool.isRequired,className:_propTypes2.default.string,handle:_propTypes2.default.string,cancel:_propTypes2.default.string};GridItem.defaultProps={className:"",cancel:"",handle:"",minH:1,minW:1,maxH:Infinity,maxW:Infinity};exports.default=GridItem},function(module,exports,__webpack_require__){(function(global,factory){true?module.exports=factory(__webpack_require__(42),__webpack_require__(35)):undefined})(this,(function(ReactDOM,React){"use strict";ReactDOM=ReactDOM&&ReactDOM.hasOwnProperty("default")?ReactDOM["default"]:ReactDOM;React=React&&React.hasOwnProperty("default")?React["default"]:React;function createCommonjsModule(fn,module){return module={exports:{}},fn(module,module.exports),module.exports}function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function emptyFunction(){};emptyFunction.thatReturns=makeEmptyFunction;emptyFunction.thatReturnsFalse=makeEmptyFunction(false);emptyFunction.thatReturnsTrue=makeEmptyFunction(true);emptyFunction.thatReturnsNull=makeEmptyFunction(null);emptyFunction.thatReturnsThis=function(){return this};emptyFunction.thatReturnsArgument=function(arg){return arg};var emptyFunction_1=emptyFunction;var validateFormat=function validateFormat(format){};{validateFormat=function validateFormat(format){if(format===undefined){throw new Error("invariant requires an error message argument")}}}function invariant(condition,format,a,b,c,d,e,f){validateFormat(format);if(!condition){var error;if(format===undefined){error=new Error("Minified exception occurred; use the non-minified dev environment "+"for the full error message and additional helpful warnings.")}else{var args=[a,b,c,d,e,f];var argIndex=0;error=new Error(format.replace(/%s/g,(function(){return args[argIndex++]})));error.name="Invariant Violation"}error.framesToPop=1;throw error}}var invariant_1=invariant;var warning=emptyFunction_1;{var printWarning=function printWarning(format){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var argIndex=0;var message="Warning: "+format.replace(/%s/g,(function(){return args[argIndex++]}));if(typeof console!=="undefined"){console.error(message)}try{throw new Error(message)}catch(x){}};warning=function warning(condition,format){if(format===undefined){throw new Error("`warning(condition, format, ...args)` requires a warning "+"message argument")}if(format.indexOf("Failed Composite propType: ")===0){return}if(!condition){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++){args[_key2-2]=arguments[_key2]}printWarning.apply(undefined,[format].concat(args))}}}var warning_1=warning;
/*
	object-assign
	(c) Sindre Sorhus
	@license MIT
	*/var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(val)}function shouldUseNative(){try{if(!Object.assign){return false}var test1=new String("abc");test1[5]="de";if(Object.getOwnPropertyNames(test1)[0]==="5"){return false}var test2={};for(var i=0;i<10;i++){test2["_"+String.fromCharCode(i)]=i}var order2=Object.getOwnPropertyNames(test2).map((function(n){return test2[n]}));if(order2.join("")!=="0123456789"){return false}var test3={};"abcdefghijklmnopqrst".split("").forEach((function(letter){test3[letter]=letter}));if(Object.keys(Object.assign({},test3)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(err){return false}}var objectAssign=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from){if(hasOwnProperty.call(from,key)){to[key]=from[key]}}if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++){if(propIsEnumerable.call(from,symbols[i])){to[symbols[i]]=from[symbols[i]]}}}}return to};var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";var ReactPropTypesSecret_1=ReactPropTypesSecret;{var invariant$1=invariant_1;var warning$1=warning_1;var ReactPropTypesSecret$1=ReactPropTypesSecret_1;var loggedTypeFailures={}}function checkPropTypes(typeSpecs,values,location,componentName,getStack){{for(var typeSpecName in typeSpecs){if(typeSpecs.hasOwnProperty(typeSpecName)){var error;try{invariant$1(typeof typeSpecs[typeSpecName]==="function","%s: %s type `%s` is invalid; it must be a function, usually from "+"the `prop-types` package, but received `%s`.",componentName||"React class",location,typeSpecName,typeof typeSpecs[typeSpecName]);error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret$1)}catch(ex){error=ex}warning$1(!error||error instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker "+"function must return `null` or an `Error` but returned a %s. "+"You may have forgotten to pass an argument to the type checker "+"creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and "+"shape all require an argument).",componentName||"React class",location,typeSpecName,typeof error);if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=true;var stack=getStack?getStack():"";warning$1(false,"Failed %s type: %s%s",location,error.message,stack!=null?stack:"")}}}}}var checkPropTypes_1=checkPropTypes;var factoryWithTypeCheckers=function(isValidElement,throwOnDirectAccess){var ITERATOR_SYMBOL=typeof Symbol==="function"&&Symbol.iterator;var FAUX_ITERATOR_SYMBOL="@@iterator";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==="function"){return iteratorFn}}var ANONYMOUS="<<anonymous>>";var ReactPropTypes={array:createPrimitiveTypeChecker("array"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};function is(x,y){if(x===y){return x!==0||1/x===1/y}else{return x!==x&&y!==y}}function PropTypeError(message){this.message=message;this.stack=""}PropTypeError.prototype=Error.prototype;function createChainableTypeChecker(validate){{var manualPropTypeCallCache={};var manualPropTypeWarningCount=0}function checkType(isRequired,props,propName,componentName,location,propFullName,secret){componentName=componentName||ANONYMOUS;propFullName=propFullName||propName;if(secret!==ReactPropTypesSecret_1){if(throwOnDirectAccess){invariant_1(false,"Calling PropTypes validators directly is not supported by the `prop-types` package. "+"Use `PropTypes.checkPropTypes()` to call them. "+"Read more at http://fb.me/use-check-prop-types")}else if(true&&typeof console!=="undefined"){var cacheKey=componentName+":"+propName;if(!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3){warning_1(false,"You are manually calling a React.PropTypes validation "+"function for the `%s` prop on `%s`. This is deprecated "+"and will throw in the standalone `prop-types` package. "+"You may be seeing this warning due to a third-party PropTypes "+"library. See https://fb.me/react-warning-dont-call-proptypes "+"for details.",propFullName,componentName);manualPropTypeCallCache[cacheKey]=true;manualPropTypeWarningCount++}}}if(props[propName]==null){if(isRequired){if(props[propName]===null){return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required "+("in `"+componentName+"`, but its value is `null`."))}return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required in "+("`"+componentName+"`, but its value is `undefined`."))}return null}else{return validate(props,propName,componentName,location,propFullName)}}var chainedCheckType=checkType.bind(null,false);chainedCheckType.isRequired=checkType.bind(null,true);return chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName];var propType=getPropType(propValue);if(propType!==expectedType){var preciseType=getPreciseType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+preciseType+"` supplied to `"+componentName+"`, expected ")+("`"+expectedType+"`."))}return null}return createChainableTypeChecker(validate)}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunction_1.thatReturnsNull)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function"){return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.")}var propValue=props[propName];if(!Array.isArray(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an array."))}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret_1);if(error instanceof Error){return error}}return null}return createChainableTypeChecker(validate)}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement."))}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS;var actualClassName=getClassName(props[propName]);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+actualClassName+"` supplied to `"+componentName+"`, expected ")+("instance of `"+expectedClassName+"`."))}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){if(!Array.isArray(expectedValues)){warning_1(false,"Invalid argument supplied to oneOf, expected an instance of array.");return emptyFunction_1.thatReturnsNull}function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];for(var i=0;i<expectedValues.length;i++){if(is(propValue,expectedValues[i])){return null}}var valuesString=JSON.stringify(expectedValues);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+propValue+"` "+("supplied to `"+componentName+"`, expected one of "+valuesString+"."))}return createChainableTypeChecker(validate)}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function"){return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.")}var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an object."))}for(var key in propValue){if(propValue.hasOwnProperty(key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret_1);if(error instanceof Error){return error}}}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers)){warning_1(false,"Invalid argument supplied to oneOfType, expected an instance of array.");return emptyFunction_1.thatReturnsNull}for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(typeof checker!=="function"){warning_1(false,"Invalid argument supplied to oneOfType. Expected an array of check functions, but "+"received %s at index %s.",getPostfixForTypeWarning(checker),i);return emptyFunction_1.thatReturnsNull}}function validate(props,propName,componentName,location,propFullName){for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret_1)==null){return null}}return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`."))}return createChainableTypeChecker(validate)}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){if(!isNode(props[propName])){return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`, expected a ReactNode."))}return null}return createChainableTypeChecker(validate)}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."))}for(var key in shapeTypes){var checker=shapeTypes[key];if(!checker){continue}var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret_1);if(error){return error}}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."))}var allKeys=objectAssign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(!checker){return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`."+"\nBad object: "+JSON.stringify(props[propName],null,"  ")+"\nValid keys: "+JSON.stringify(Object.keys(shapeTypes),null,"  "))}var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret_1);if(error){return error}}return null}return createChainableTypeChecker(validate)}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return true;case"boolean":return!propValue;case"object":if(Array.isArray(propValue)){return propValue.every(isNode)}if(propValue===null||isValidElement(propValue)){return true}var iteratorFn=getIteratorFn(propValue);if(iteratorFn){var iterator=iteratorFn.call(propValue);var step;if(iteratorFn!==propValue.entries){while(!(step=iterator.next()).done){if(!isNode(step.value)){return false}}}else{while(!(step=iterator.next()).done){var entry=step.value;if(entry){if(!isNode(entry[1])){return false}}}}}else{return false}return true;default:return false}}function isSymbol(propType,propValue){if(propType==="symbol"){return true}if(propValue["@@toStringTag"]==="Symbol"){return true}if(typeof Symbol==="function"&&propValue instanceof Symbol){return true}return false}function getPropType(propValue){var propType=typeof propValue;if(Array.isArray(propValue)){return"array"}if(propValue instanceof RegExp){return"object"}if(isSymbol(propType,propValue)){return"symbol"}return propType}function getPreciseType(propValue){if(typeof propValue==="undefined"||propValue===null){return""+propValue}var propType=getPropType(propValue);if(propType==="object"){if(propValue instanceof Date){return"date"}else if(propValue instanceof RegExp){return"regexp"}}return propType}function getPostfixForTypeWarning(value){var type=getPreciseType(value);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}function getClassName(propValue){if(!propValue.constructor||!propValue.constructor.name){return ANONYMOUS}return propValue.constructor.name}ReactPropTypes.checkPropTypes=checkPropTypes_1;ReactPropTypes.PropTypes=ReactPropTypes;return ReactPropTypes};var propTypes=createCommonjsModule((function(module){{var REACT_ELEMENT_TYPE=typeof Symbol==="function"&&Symbol.for&&Symbol.for("react.element")||60103;var isValidElement=function(object){return typeof object==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE};var throwOnDirectAccess=true;module.exports=factoryWithTypeCheckers(isValidElement,throwOnDirectAccess)}}));var classnames=createCommonjsModule((function(module){
/*!
	  Copyright (c) 2016 Jed Watson.
	  Licensed under the MIT License (MIT), see
	  http://jedwatson.github.io/classnames
	*/
(function(){var hasOwn={}.hasOwnProperty;function classNames(){var classes=[];for(var i=0;i<arguments.length;i++){var arg=arguments[i];if(!arg)continue;var argType=typeof arg;if(argType==="string"||argType==="number"){classes.push(arg)}else if(Array.isArray(arg)){classes.push(classNames.apply(null,arg))}else if(argType==="object"){for(var key in arg){if(hasOwn.call(arg,key)&&arg[key]){classes.push(key)}}}}return classes.join(" ")}if(true&&module.exports){module.exports=classNames}else if(false){}else{window.classNames=classNames}})()}));function findInArray(array,callback){for(var i=0,length=array.length;i<length;i++){if(callback.apply(callback,[array[i],i,array]))return array[i]}}function isFunction(func){return typeof func==="function"||Object.prototype.toString.call(func)==="[object Function]"}function isNum(num){return typeof num==="number"&&!isNaN(num)}function int(a){return parseInt(a,10)}function dontSetMe(props,propName,componentName){if(props[propName]){return new Error("Invalid prop "+propName+" passed to "+componentName+" - do not set this, set it on the child.")}}var prefixes=["Moz","Webkit","O","ms"];function getPrefix(){var prop=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"transform";if(typeof window==="undefined"||typeof window.document==="undefined")return"";var style=window.document.documentElement.style;if(prop in style)return"";for(var i=0;i<prefixes.length;i++){if(browserPrefixToKey(prop,prefixes[i])in style)return prefixes[i]}return""}function browserPrefixToKey(prop,prefix){return prefix?""+prefix+kebabToTitleCase(prop):prop}function kebabToTitleCase(str){var out="";var shouldCapitalize=true;for(var i=0;i<str.length;i++){if(shouldCapitalize){out+=str[i].toUpperCase();shouldCapitalize=false}else if(str[i]==="-"){shouldCapitalize=true}else{out+=str[i]}}return out}var browserPrefix=getPrefix();var classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}};var createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var defineProperty=function(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj};var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var inherits=function(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass};var possibleConstructorReturn=function(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self};var slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"])_i["return"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}}();var matchesSelectorFunc="";function matchesSelector(el,selector){if(!matchesSelectorFunc){matchesSelectorFunc=findInArray(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],(function(method){return isFunction(el[method])}))}if(!isFunction(el[matchesSelectorFunc]))return false;return el[matchesSelectorFunc](selector)}function matchesSelectorAndParentsTo(el,selector,baseNode){var node=el;do{if(matchesSelector(node,selector))return true;if(node===baseNode)return false;node=node.parentNode}while(node);return false}function addEvent(el,event,handler){if(!el){return}if(el.attachEvent){el.attachEvent("on"+event,handler)}else if(el.addEventListener){el.addEventListener(event,handler,true)}else{el["on"+event]=handler}}function removeEvent(el,event,handler){if(!el){return}if(el.detachEvent){el.detachEvent("on"+event,handler)}else if(el.removeEventListener){el.removeEventListener(event,handler,true)}else{el["on"+event]=null}}function outerHeight(node){var height=node.clientHeight;var computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);height+=int(computedStyle.borderTopWidth);height+=int(computedStyle.borderBottomWidth);return height}function outerWidth(node){var width=node.clientWidth;var computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);width+=int(computedStyle.borderLeftWidth);width+=int(computedStyle.borderRightWidth);return width}function innerHeight(node){var height=node.clientHeight;var computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);height-=int(computedStyle.paddingTop);height-=int(computedStyle.paddingBottom);return height}function innerWidth(node){var width=node.clientWidth;var computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);width-=int(computedStyle.paddingLeft);width-=int(computedStyle.paddingRight);return width}function offsetXYFromParent(evt,offsetParent){var isBody=offsetParent===offsetParent.ownerDocument.body;var offsetParentRect=isBody?{left:0,top:0}:offsetParent.getBoundingClientRect();var x=evt.clientX+offsetParent.scrollLeft-offsetParentRect.left;var y=evt.clientY+offsetParent.scrollTop-offsetParentRect.top;return{x:x,y:y}}function createCSSTransform(controlPos,positionOffset){var translation=getTranslation(controlPos,positionOffset,"px");return defineProperty({},browserPrefixToKey("transform",browserPrefix),translation)}function createSVGTransform(controlPos,positionOffset){var translation=getTranslation(controlPos,positionOffset,"");return translation}function getTranslation(_ref2,positionOffset,unitSuffix){var x=_ref2.x,y=_ref2.y;var translation="translate("+x+unitSuffix+","+y+unitSuffix+")";if(positionOffset){var defaultX=""+(typeof positionOffset.x==="string"?positionOffset.x:positionOffset.x+unitSuffix);var defaultY=""+(typeof positionOffset.y==="string"?positionOffset.y:positionOffset.y+unitSuffix);translation="translate("+defaultX+", "+defaultY+")"+translation}return translation}function getTouch(e,identifier){return e.targetTouches&&findInArray(e.targetTouches,(function(t){return identifier===t.identifier}))||e.changedTouches&&findInArray(e.changedTouches,(function(t){return identifier===t.identifier}))}function getTouchIdentifier(e){if(e.targetTouches&&e.targetTouches[0])return e.targetTouches[0].identifier;if(e.changedTouches&&e.changedTouches[0])return e.changedTouches[0].identifier}function addUserSelectStyles(doc){if(!doc)return;var styleEl=doc.getElementById("react-draggable-style-el");if(!styleEl){styleEl=doc.createElement("style");styleEl.type="text/css";styleEl.id="react-draggable-style-el";styleEl.innerHTML=".react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n";styleEl.innerHTML+=".react-draggable-transparent-selection *::selection {all: inherit;}\n";doc.getElementsByTagName("head")[0].appendChild(styleEl)}if(doc.body)addClassName(doc.body,"react-draggable-transparent-selection")}function removeUserSelectStyles(doc){try{if(doc&&doc.body)removeClassName(doc.body,"react-draggable-transparent-selection");if(doc.selection){doc.selection.empty()}else{window.getSelection().removeAllRanges()}}catch(e){}}function styleHacks(){var childStyle=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return _extends({touchAction:"none"},childStyle)}function addClassName(el,className){if(el.classList){el.classList.add(className)}else{if(!el.className.match(new RegExp("(?:^|\\s)"+className+"(?!\\S)"))){el.className+=" "+className}}}function removeClassName(el,className){if(el.classList){el.classList.remove(className)}else{el.className=el.className.replace(new RegExp("(?:^|\\s)"+className+"(?!\\S)","g"),"")}}function getBoundPosition(draggable,x,y){if(!draggable.props.bounds)return[x,y];var bounds=draggable.props.bounds;bounds=typeof bounds==="string"?bounds:cloneBounds(bounds);var node=findDOMNode(draggable);if(typeof bounds==="string"){var ownerDocument=node.ownerDocument;var ownerWindow=ownerDocument.defaultView;var boundNode=void 0;if(bounds==="parent"){boundNode=node.parentNode}else{boundNode=ownerDocument.querySelector(bounds)}if(!(boundNode instanceof ownerWindow.HTMLElement)){throw new Error('Bounds selector "'+bounds+'" could not find an element.')}var nodeStyle=ownerWindow.getComputedStyle(node);var boundNodeStyle=ownerWindow.getComputedStyle(boundNode);bounds={left:-node.offsetLeft+int(boundNodeStyle.paddingLeft)+int(nodeStyle.marginLeft),top:-node.offsetTop+int(boundNodeStyle.paddingTop)+int(nodeStyle.marginTop),right:innerWidth(boundNode)-outerWidth(node)-node.offsetLeft+int(boundNodeStyle.paddingRight)-int(nodeStyle.marginRight),bottom:innerHeight(boundNode)-outerHeight(node)-node.offsetTop+int(boundNodeStyle.paddingBottom)-int(nodeStyle.marginBottom)}}if(isNum(bounds.right))x=Math.min(x,bounds.right);if(isNum(bounds.bottom))y=Math.min(y,bounds.bottom);if(isNum(bounds.left))x=Math.max(x,bounds.left);if(isNum(bounds.top))y=Math.max(y,bounds.top);return[x,y]}function snapToGrid(grid,pendingX,pendingY){var x=Math.round(pendingX/grid[0])*grid[0];var y=Math.round(pendingY/grid[1])*grid[1];return[x,y]}function canDragX(draggable){return draggable.props.axis==="both"||draggable.props.axis==="x"}function canDragY(draggable){return draggable.props.axis==="both"||draggable.props.axis==="y"}function getControlPosition(e,touchIdentifier,draggableCore){var touchObj=typeof touchIdentifier==="number"?getTouch(e,touchIdentifier):null;if(typeof touchIdentifier==="number"&&!touchObj)return null;var node=findDOMNode(draggableCore);var offsetParent=draggableCore.props.offsetParent||node.offsetParent||node.ownerDocument.body;return offsetXYFromParent(touchObj||e,offsetParent)}function createCoreData(draggable,x,y){var state=draggable.state;var isStart=!isNum(state.lastX);var node=findDOMNode(draggable);if(isStart){return{node:node,deltaX:0,deltaY:0,lastX:x,lastY:y,x:x,y:y}}else{return{node:node,deltaX:x-state.lastX,deltaY:y-state.lastY,lastX:state.lastX,lastY:state.lastY,x:x,y:y}}}function createDraggableData(draggable,coreData){var scale=draggable.props.scale;return{node:coreData.node,x:draggable.state.x+coreData.deltaX/scale,y:draggable.state.y+coreData.deltaY/scale,deltaX:coreData.deltaX/scale,deltaY:coreData.deltaY/scale,lastX:draggable.state.x,lastY:draggable.state.y}}function cloneBounds(bounds){return{left:bounds.left,top:bounds.top,right:bounds.right,bottom:bounds.bottom}}function findDOMNode(draggable){var node=ReactDOM.findDOMNode(draggable);if(!node){throw new Error("<DraggableCore>: Unmounted during event!")}return node}function log(){}var eventsFor={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};var dragEventFor=eventsFor.mouse;var DraggableCore=function(_React$Component){inherits(DraggableCore,_React$Component);function DraggableCore(){var _ref;var _temp,_this,_ret;classCallCheck(this,DraggableCore);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return _ret=(_temp=(_this=possibleConstructorReturn(this,(_ref=DraggableCore.__proto__||Object.getPrototypeOf(DraggableCore)).call.apply(_ref,[this].concat(args))),_this),_this.state={dragging:false,lastX:NaN,lastY:NaN,touchIdentifier:null},_this.handleDragStart=function(e){_this.props.onMouseDown(e);if(!_this.props.allowAnyClick&&typeof e.button==="number"&&e.button!==0)return false;var thisNode=ReactDOM.findDOMNode(_this);if(!thisNode||!thisNode.ownerDocument||!thisNode.ownerDocument.body){throw new Error("<DraggableCore> not mounted on DragStart!")}var ownerDocument=thisNode.ownerDocument;if(_this.props.disabled||!(e.target instanceof ownerDocument.defaultView.Node)||_this.props.handle&&!matchesSelectorAndParentsTo(e.target,_this.props.handle,thisNode)||_this.props.cancel&&matchesSelectorAndParentsTo(e.target,_this.props.cancel,thisNode)){return}var touchIdentifier=getTouchIdentifier(e);_this.setState({touchIdentifier:touchIdentifier});var position=getControlPosition(e,touchIdentifier,_this);if(position==null)return;var x=position.x,y=position.y;var coreEvent=createCoreData(_this,x,y);log("calling",_this.props.onStart);var shouldUpdate=_this.props.onStart(e,coreEvent);if(shouldUpdate===false)return;if(_this.props.enableUserSelectHack)addUserSelectStyles(ownerDocument);_this.setState({dragging:true,lastX:x,lastY:y});addEvent(ownerDocument,dragEventFor.move,_this.handleDrag);addEvent(ownerDocument,dragEventFor.stop,_this.handleDragStop)},_this.handleDrag=function(e){if(e.type==="touchmove")e.preventDefault();var position=getControlPosition(e,_this.state.touchIdentifier,_this);if(position==null)return;var x=position.x,y=position.y;if(Array.isArray(_this.props.grid)){var _deltaX=x-_this.state.lastX,_deltaY=y-_this.state.lastY;var _snapToGrid=snapToGrid(_this.props.grid,_deltaX,_deltaY);var _snapToGrid2=slicedToArray(_snapToGrid,2);_deltaX=_snapToGrid2[0];_deltaY=_snapToGrid2[1];if(!_deltaX&&!_deltaY)return;x=_this.state.lastX+_deltaX,y=_this.state.lastY+_deltaY}var coreEvent=createCoreData(_this,x,y);var shouldUpdate=_this.props.onDrag(e,coreEvent);if(shouldUpdate===false){try{_this.handleDragStop(new MouseEvent("mouseup"))}catch(err){var event=document.createEvent("MouseEvents");event.initMouseEvent("mouseup",true,true,window,0,0,0,0,0,false,false,false,false,0,null);_this.handleDragStop(event)}return}_this.setState({lastX:x,lastY:y})},_this.handleDragStop=function(e){if(!_this.state.dragging)return;var position=getControlPosition(e,_this.state.touchIdentifier,_this);if(position==null)return;var x=position.x,y=position.y;var coreEvent=createCoreData(_this,x,y);var thisNode=ReactDOM.findDOMNode(_this);if(thisNode){if(_this.props.enableUserSelectHack)removeUserSelectStyles(thisNode.ownerDocument)}_this.setState({dragging:false,lastX:NaN,lastY:NaN});_this.props.onStop(e,coreEvent);if(thisNode){removeEvent(thisNode.ownerDocument,dragEventFor.move,_this.handleDrag);removeEvent(thisNode.ownerDocument,dragEventFor.stop,_this.handleDragStop)}},_this.onMouseDown=function(e){dragEventFor=eventsFor.mouse;return _this.handleDragStart(e)},_this.onMouseUp=function(e){dragEventFor=eventsFor.mouse;return _this.handleDragStop(e)},_this.onTouchStart=function(e){dragEventFor=eventsFor.touch;return _this.handleDragStart(e)},_this.onTouchEnd=function(e){dragEventFor=eventsFor.touch;return _this.handleDragStop(e)},_temp),possibleConstructorReturn(_this,_ret)}createClass(DraggableCore,[{key:"componentWillUnmount",value:function componentWillUnmount(){var thisNode=ReactDOM.findDOMNode(this);if(thisNode){var ownerDocument=thisNode.ownerDocument;removeEvent(ownerDocument,eventsFor.mouse.move,this.handleDrag);removeEvent(ownerDocument,eventsFor.touch.move,this.handleDrag);removeEvent(ownerDocument,eventsFor.mouse.stop,this.handleDragStop);removeEvent(ownerDocument,eventsFor.touch.stop,this.handleDragStop);if(this.props.enableUserSelectHack)removeUserSelectStyles(ownerDocument)}}},{key:"render",value:function render(){return React.cloneElement(React.Children.only(this.props.children),{style:styleHacks(this.props.children.props.style),onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}]);return DraggableCore}(React.Component);DraggableCore.displayName="DraggableCore";DraggableCore.propTypes={allowAnyClick:propTypes.bool,disabled:propTypes.bool,enableUserSelectHack:propTypes.bool,offsetParent:function offsetParent(props,propName){if(props[propName]&&props[propName].nodeType!==1){throw new Error("Draggable's offsetParent must be a DOM Node.")}},grid:propTypes.arrayOf(propTypes.number),scale:propTypes.number,handle:propTypes.string,cancel:propTypes.string,onStart:propTypes.func,onDrag:propTypes.func,onStop:propTypes.func,onMouseDown:propTypes.func,className:dontSetMe,style:dontSetMe,transform:dontSetMe};DraggableCore.defaultProps={allowAnyClick:false,cancel:null,disabled:false,enableUserSelectHack:true,offsetParent:null,handle:null,grid:null,transform:null,onStart:function onStart(){},onDrag:function onDrag(){},onStop:function onStop(){},onMouseDown:function onMouseDown(){}};var Draggable=function(_React$Component){inherits(Draggable,_React$Component);function Draggable(props){classCallCheck(this,Draggable);var _this=possibleConstructorReturn(this,(Draggable.__proto__||Object.getPrototypeOf(Draggable)).call(this,props));_this.onDragStart=function(e,coreData){var shouldStart=_this.props.onStart(e,createDraggableData(_this,coreData));if(shouldStart===false)return false;_this.setState({dragging:true,dragged:true})};_this.onDrag=function(e,coreData){if(!_this.state.dragging)return false;var uiData=createDraggableData(_this,coreData);var newState={x:uiData.x,y:uiData.y};if(_this.props.bounds){var _x=newState.x,_y=newState.y;newState.x+=_this.state.slackX;newState.y+=_this.state.slackY;var _getBoundPosition=getBoundPosition(_this,newState.x,newState.y),_getBoundPosition2=slicedToArray(_getBoundPosition,2),newStateX=_getBoundPosition2[0],newStateY=_getBoundPosition2[1];newState.x=newStateX;newState.y=newStateY;newState.slackX=_this.state.slackX+(_x-newState.x);newState.slackY=_this.state.slackY+(_y-newState.y);uiData.x=newState.x;uiData.y=newState.y;uiData.deltaX=newState.x-_this.state.x;uiData.deltaY=newState.y-_this.state.y}var shouldUpdate=_this.props.onDrag(e,uiData);if(shouldUpdate===false)return false;_this.setState(newState)};_this.onDragStop=function(e,coreData){if(!_this.state.dragging)return false;var shouldStop=_this.props.onStop(e,createDraggableData(_this,coreData));if(shouldStop===false)return false;var newState={dragging:false,slackX:0,slackY:0};var controlled=Boolean(_this.props.position);if(controlled){var _this$props$position=_this.props.position,_x2=_this$props$position.x,_y2=_this$props$position.y;newState.x=_x2;newState.y=_y2}_this.setState(newState)};_this.state={dragging:false,dragged:false,x:props.position?props.position.x:props.defaultPosition.x,y:props.position?props.position.y:props.defaultPosition.y,slackX:0,slackY:0,isElementSVG:false};if(props.position&&!(props.onDrag||props.onStop)){console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this "+"component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the "+"`position` of this element.")}return _this}createClass(Draggable,[{key:"componentDidMount",value:function componentDidMount(){if(typeof window.SVGElement!=="undefined"&&ReactDOM.findDOMNode(this)instanceof window.SVGElement){this.setState({isElementSVG:true})}}},{key:"componentWillReceiveProps",value:function componentWillReceiveProps(nextProps){if(nextProps.position&&(!this.props.position||nextProps.position.x!==this.props.position.x||nextProps.position.y!==this.props.position.y)){this.setState({x:nextProps.position.x,y:nextProps.position.y})}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.setState({dragging:false})}},{key:"render",value:function render(){var _classNames;var style={},svgTransform=null;var controlled=Boolean(this.props.position);var draggable=!controlled||this.state.dragging;var position=this.props.position||this.props.defaultPosition;var transformOpts={x:canDragX(this)&&draggable?this.state.x:position.x,y:canDragY(this)&&draggable?this.state.y:position.y};if(this.state.isElementSVG){svgTransform=createSVGTransform(transformOpts,this.props.positionOffset)}else{style=createCSSTransform(transformOpts,this.props.positionOffset)}var _props=this.props,defaultClassName=_props.defaultClassName,defaultClassNameDragging=_props.defaultClassNameDragging,defaultClassNameDragged=_props.defaultClassNameDragged;var children=React.Children.only(this.props.children);var className=classnames(children.props.className||"",defaultClassName,(_classNames={},defineProperty(_classNames,defaultClassNameDragging,this.state.dragging),defineProperty(_classNames,defaultClassNameDragged,this.state.dragged),_classNames));return React.createElement(DraggableCore,_extends({},this.props,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),React.cloneElement(children,{className:className,style:_extends({},children.props.style,style),transform:svgTransform}))}}]);return Draggable}(React.Component);Draggable.displayName="Draggable";Draggable.propTypes=_extends({},DraggableCore.propTypes,{axis:propTypes.oneOf(["both","x","y","none"]),bounds:propTypes.oneOfType([propTypes.shape({left:propTypes.number,right:propTypes.number,top:propTypes.number,bottom:propTypes.number}),propTypes.string,propTypes.oneOf([false])]),defaultClassName:propTypes.string,defaultClassNameDragging:propTypes.string,defaultClassNameDragged:propTypes.string,defaultPosition:propTypes.shape({x:propTypes.number,y:propTypes.number}),positionOffset:propTypes.shape({x:propTypes.oneOfType([propTypes.number,propTypes.string]),y:propTypes.oneOfType([propTypes.number,propTypes.string])}),position:propTypes.shape({x:propTypes.number,y:propTypes.number}),className:dontSetMe,style:dontSetMe,transform:dontSetMe});Draggable.defaultProps=_extends({},DraggableCore.defaultProps,{axis:"both",bounds:false,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},position:null,scale:1});Draggable.default=Draggable;Draggable.DraggableCore=DraggableCore;return Draggable}))},function(module,exports,__webpack_require__){"use strict";module.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")};module.exports.Resizable=__webpack_require__(330).default;module.exports.ResizableBox=__webpack_require__(1103).default},function(module,exports,__webpack_require__){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"DraggableCore",{enumerable:true,get:function get(){return _DraggableCore.default}});exports.default=void 0;var React=_interopRequireWildcard(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(71));var _reactDom=_interopRequireDefault(__webpack_require__(42));var _clsx2=_interopRequireDefault(__webpack_require__(1099));var _domFns=__webpack_require__(212);var _positionFns=__webpack_require__(332);var _shims=__webpack_require__(155);var _DraggableCore=_interopRequireDefault(__webpack_require__(1101));var _log=_interopRequireDefault(__webpack_require__(333));var _excluded=["axis","bounds","children","defaultPosition","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","position","positionOffset","scale"];function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))}keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var Draggable=function(_React$Component){_inherits(Draggable,_React$Component);var _super=_createSuper(Draggable);function Draggable(props){var _this;_classCallCheck(this,Draggable);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"onDragStart",(function(e,coreData){(0,_log.default)("Draggable: onDragStart: %j",coreData);var shouldStart=_this.props.onStart(e,(0,_positionFns.createDraggableData)(_assertThisInitialized(_this),coreData));if(shouldStart===false)return false;_this.setState({dragging:true,dragged:true})}));_defineProperty(_assertThisInitialized(_this),"onDrag",(function(e,coreData){if(!_this.state.dragging)return false;(0,_log.default)("Draggable: onDrag: %j",coreData);var uiData=(0,_positionFns.createDraggableData)(_assertThisInitialized(_this),coreData);var newState={x:uiData.x,y:uiData.y};if(_this.props.bounds){var x=newState.x,y=newState.y;newState.x+=_this.state.slackX;newState.y+=_this.state.slackY;var _getBoundPosition=(0,_positionFns.getBoundPosition)(_assertThisInitialized(_this),newState.x,newState.y),_getBoundPosition2=_slicedToArray(_getBoundPosition,2),newStateX=_getBoundPosition2[0],newStateY=_getBoundPosition2[1];newState.x=newStateX;newState.y=newStateY;newState.slackX=_this.state.slackX+(x-newState.x);newState.slackY=_this.state.slackY+(y-newState.y);uiData.x=newState.x;uiData.y=newState.y;uiData.deltaX=newState.x-_this.state.x;uiData.deltaY=newState.y-_this.state.y}var shouldUpdate=_this.props.onDrag(e,uiData);if(shouldUpdate===false)return false;_this.setState(newState)}));_defineProperty(_assertThisInitialized(_this),"onDragStop",(function(e,coreData){if(!_this.state.dragging)return false;var shouldContinue=_this.props.onStop(e,(0,_positionFns.createDraggableData)(_assertThisInitialized(_this),coreData));if(shouldContinue===false)return false;(0,_log.default)("Draggable: onDragStop: %j",coreData);var newState={dragging:false,slackX:0,slackY:0};var controlled=Boolean(_this.props.position);if(controlled){var _this$props$position=_this.props.position,x=_this$props$position.x,y=_this$props$position.y;newState.x=x;newState.y=y}_this.setState(newState)}));_this.state={dragging:false,dragged:false,x:props.position?props.position.x:props.defaultPosition.x,y:props.position?props.position.y:props.defaultPosition.y,prevPropsPosition:_objectSpread({},props.position),slackX:0,slackY:0,isElementSVG:false};if(props.position&&!(props.onDrag||props.onStop)){console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this "+"component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the "+"`position` of this element.")}return _this}_createClass(Draggable,[{key:"componentDidMount",value:function componentDidMount(){if(typeof window.SVGElement!=="undefined"&&this.findDOMNode()instanceof window.SVGElement){this.setState({isElementSVG:true})}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.setState({dragging:false})}},{key:"findDOMNode",value:function findDOMNode(){var _this$props$nodeRef$c,_this$props,_this$props$nodeRef;return(_this$props$nodeRef$c=(_this$props=this.props)===null||_this$props===void 0?void 0:(_this$props$nodeRef=_this$props.nodeRef)===null||_this$props$nodeRef===void 0?void 0:_this$props$nodeRef.current)!==null&&_this$props$nodeRef$c!==void 0?_this$props$nodeRef$c:_reactDom.default.findDOMNode(this)}},{key:"render",value:function render(){var _clsx;var _this$props2=this.props,axis=_this$props2.axis,bounds=_this$props2.bounds,children=_this$props2.children,defaultPosition=_this$props2.defaultPosition,defaultClassName=_this$props2.defaultClassName,defaultClassNameDragging=_this$props2.defaultClassNameDragging,defaultClassNameDragged=_this$props2.defaultClassNameDragged,position=_this$props2.position,positionOffset=_this$props2.positionOffset,scale=_this$props2.scale,draggableCoreProps=_objectWithoutProperties(_this$props2,_excluded);var style={};var svgTransform=null;var controlled=Boolean(position);var draggable=!controlled||this.state.dragging;var validPosition=position||defaultPosition;var transformOpts={x:(0,_positionFns.canDragX)(this)&&draggable?this.state.x:validPosition.x,y:(0,_positionFns.canDragY)(this)&&draggable?this.state.y:validPosition.y};if(this.state.isElementSVG){svgTransform=(0,_domFns.createSVGTransform)(transformOpts,positionOffset)}else{style=(0,_domFns.createCSSTransform)(transformOpts,positionOffset)}var className=(0,_clsx2.default)(children.props.className||"",defaultClassName,(_clsx={},_defineProperty(_clsx,defaultClassNameDragging,this.state.dragging),_defineProperty(_clsx,defaultClassNameDragged,this.state.dragged),_clsx));return React.createElement(_DraggableCore.default,_extends({},draggableCoreProps,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),React.cloneElement(React.Children.only(children),{className:className,style:_objectSpread(_objectSpread({},children.props.style),style),transform:svgTransform}))}}],[{key:"getDerivedStateFromProps",value:function getDerivedStateFromProps(_ref,_ref2){var position=_ref.position;var prevPropsPosition=_ref2.prevPropsPosition;if(position&&(!prevPropsPosition||position.x!==prevPropsPosition.x||position.y!==prevPropsPosition.y)){(0,_log.default)("Draggable: getDerivedStateFromProps %j",{position:position,prevPropsPosition:prevPropsPosition});return{x:position.x,y:position.y,prevPropsPosition:_objectSpread({},position)}}return null}}]);return Draggable}(React.Component);exports.default=Draggable;_defineProperty(Draggable,"displayName","Draggable");_defineProperty(Draggable,"propTypes",_objectSpread(_objectSpread({},_DraggableCore.default.propTypes),{},{axis:_propTypes.default.oneOf(["both","x","y","none"]),bounds:_propTypes.default.oneOfType([_propTypes.default.shape({left:_propTypes.default.number,right:_propTypes.default.number,top:_propTypes.default.number,bottom:_propTypes.default.number}),_propTypes.default.string,_propTypes.default.oneOf([false])]),defaultClassName:_propTypes.default.string,defaultClassNameDragging:_propTypes.default.string,defaultClassNameDragged:_propTypes.default.string,defaultPosition:_propTypes.default.shape({x:_propTypes.default.number,y:_propTypes.default.number}),positionOffset:_propTypes.default.shape({x:_propTypes.default.oneOfType([_propTypes.default.number,_propTypes.default.string]),y:_propTypes.default.oneOfType([_propTypes.default.number,_propTypes.default.string])}),position:_propTypes.default.shape({x:_propTypes.default.number,y:_propTypes.default.number}),className:_shims.dontSetMe,style:_shims.dontSetMe,transform:_shims.dontSetMe}));_defineProperty(Draggable,"defaultProps",_objectSpread(_objectSpread({},_DraggableCore.default.defaultProps),{},{axis:"both",bounds:false,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1}))},function(module,exports){function toVal(mix){var k,y,str="";if(typeof mix==="string"||typeof mix==="number"){str+=mix}else if(typeof mix==="object"){if(Array.isArray(mix)){for(k=0;k<mix.length;k++){if(mix[k]){if(y=toVal(mix[k])){str&&(str+=" ");str+=y}}}}else{for(k in mix){if(mix[k]){str&&(str+=" ");str+=k}}}}return str}module.exports=function(){var i=0,tmp,x,str="";while(i<arguments.length){if(tmp=arguments[i++]){if(x=toVal(tmp)){str&&(str+=" ");str+=x}}}return str}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getPrefix=getPrefix;exports.browserPrefixToKey=browserPrefixToKey;exports.browserPrefixToStyle=browserPrefixToStyle;exports.default=void 0;var prefixes=["Moz","Webkit","O","ms"];function getPrefix(){var _window$document,_window$document$docu;var prop=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"transform";if(typeof window==="undefined")return"";var style=(_window$document=window.document)===null||_window$document===void 0?void 0:(_window$document$docu=_window$document.documentElement)===null||_window$document$docu===void 0?void 0:_window$document$docu.style;if(!style)return"";if(prop in style)return"";for(var i=0;i<prefixes.length;i++){if(browserPrefixToKey(prop,prefixes[i])in style)return prefixes[i]}return""}function browserPrefixToKey(prop,prefix){return prefix?"".concat(prefix).concat(kebabToTitleCase(prop)):prop}function browserPrefixToStyle(prop,prefix){return prefix?"-".concat(prefix.toLowerCase(),"-").concat(prop):prop}function kebabToTitleCase(str){var out="";var shouldCapitalize=true;for(var i=0;i<str.length;i++){if(shouldCapitalize){out+=str[i].toUpperCase();shouldCapitalize=false}else if(str[i]==="-"){shouldCapitalize=true}else{out+=str[i]}}return out}var _default=getPrefix();exports.default=_default},function(module,exports,__webpack_require__){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var React=_interopRequireWildcard(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(71));var _reactDom=_interopRequireDefault(__webpack_require__(42));var _domFns=__webpack_require__(212);var _positionFns=__webpack_require__(332);var _shims=__webpack_require__(155);var _log=_interopRequireDefault(__webpack_require__(333));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var eventsFor={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};var dragEventFor=eventsFor.mouse;var DraggableCore=function(_React$Component){_inherits(DraggableCore,_React$Component);var _super=_createSuper(DraggableCore);function DraggableCore(){var _this;_classCallCheck(this,DraggableCore);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"state",{dragging:false,lastX:NaN,lastY:NaN,touchIdentifier:null});_defineProperty(_assertThisInitialized(_this),"mounted",false);_defineProperty(_assertThisInitialized(_this),"handleDragStart",(function(e){_this.props.onMouseDown(e);if(!_this.props.allowAnyClick&&typeof e.button==="number"&&e.button!==0)return false;var thisNode=_this.findDOMNode();if(!thisNode||!thisNode.ownerDocument||!thisNode.ownerDocument.body){throw new Error("<DraggableCore> not mounted on DragStart!")}var ownerDocument=thisNode.ownerDocument;if(_this.props.disabled||!(e.target instanceof ownerDocument.defaultView.Node)||_this.props.handle&&!(0,_domFns.matchesSelectorAndParentsTo)(e.target,_this.props.handle,thisNode)||_this.props.cancel&&(0,_domFns.matchesSelectorAndParentsTo)(e.target,_this.props.cancel,thisNode)){return}if(e.type==="touchstart")e.preventDefault();var touchIdentifier=(0,_domFns.getTouchIdentifier)(e);_this.setState({touchIdentifier:touchIdentifier});var position=(0,_positionFns.getControlPosition)(e,touchIdentifier,_assertThisInitialized(_this));if(position==null)return;var x=position.x,y=position.y;var coreEvent=(0,_positionFns.createCoreData)(_assertThisInitialized(_this),x,y);(0,_log.default)("DraggableCore: handleDragStart: %j",coreEvent);(0,_log.default)("calling",_this.props.onStart);var shouldUpdate=_this.props.onStart(e,coreEvent);if(shouldUpdate===false||_this.mounted===false)return;if(_this.props.enableUserSelectHack)(0,_domFns.addUserSelectStyles)(ownerDocument);_this.setState({dragging:true,lastX:x,lastY:y});(0,_domFns.addEvent)(ownerDocument,dragEventFor.move,_this.handleDrag);(0,_domFns.addEvent)(ownerDocument,dragEventFor.stop,_this.handleDragStop)}));_defineProperty(_assertThisInitialized(_this),"handleDrag",(function(e){var position=(0,_positionFns.getControlPosition)(e,_this.state.touchIdentifier,_assertThisInitialized(_this));if(position==null)return;var x=position.x,y=position.y;if(Array.isArray(_this.props.grid)){var deltaX=x-_this.state.lastX,deltaY=y-_this.state.lastY;var _snapToGrid=(0,_positionFns.snapToGrid)(_this.props.grid,deltaX,deltaY);var _snapToGrid2=_slicedToArray(_snapToGrid,2);deltaX=_snapToGrid2[0];deltaY=_snapToGrid2[1];if(!deltaX&&!deltaY)return;x=_this.state.lastX+deltaX,y=_this.state.lastY+deltaY}var coreEvent=(0,_positionFns.createCoreData)(_assertThisInitialized(_this),x,y);(0,_log.default)("DraggableCore: handleDrag: %j",coreEvent);var shouldUpdate=_this.props.onDrag(e,coreEvent);if(shouldUpdate===false||_this.mounted===false){try{_this.handleDragStop(new MouseEvent("mouseup"))}catch(err){var event=document.createEvent("MouseEvents");event.initMouseEvent("mouseup",true,true,window,0,0,0,0,0,false,false,false,false,0,null);_this.handleDragStop(event)}return}_this.setState({lastX:x,lastY:y})}));_defineProperty(_assertThisInitialized(_this),"handleDragStop",(function(e){if(!_this.state.dragging)return;var position=(0,_positionFns.getControlPosition)(e,_this.state.touchIdentifier,_assertThisInitialized(_this));if(position==null)return;var x=position.x,y=position.y;var coreEvent=(0,_positionFns.createCoreData)(_assertThisInitialized(_this),x,y);var shouldContinue=_this.props.onStop(e,coreEvent);if(shouldContinue===false||_this.mounted===false)return false;var thisNode=_this.findDOMNode();if(thisNode){if(_this.props.enableUserSelectHack)(0,_domFns.removeUserSelectStyles)(thisNode.ownerDocument)}(0,_log.default)("DraggableCore: handleDragStop: %j",coreEvent);_this.setState({dragging:false,lastX:NaN,lastY:NaN});if(thisNode){(0,_log.default)("DraggableCore: Removing handlers");(0,_domFns.removeEvent)(thisNode.ownerDocument,dragEventFor.move,_this.handleDrag);(0,_domFns.removeEvent)(thisNode.ownerDocument,dragEventFor.stop,_this.handleDragStop)}}));_defineProperty(_assertThisInitialized(_this),"onMouseDown",(function(e){dragEventFor=eventsFor.mouse;return _this.handleDragStart(e)}));_defineProperty(_assertThisInitialized(_this),"onMouseUp",(function(e){dragEventFor=eventsFor.mouse;return _this.handleDragStop(e)}));_defineProperty(_assertThisInitialized(_this),"onTouchStart",(function(e){dragEventFor=eventsFor.touch;return _this.handleDragStart(e)}));_defineProperty(_assertThisInitialized(_this),"onTouchEnd",(function(e){dragEventFor=eventsFor.touch;return _this.handleDragStop(e)}));return _this}_createClass(DraggableCore,[{key:"componentDidMount",value:function componentDidMount(){this.mounted=true;var thisNode=this.findDOMNode();if(thisNode){(0,_domFns.addEvent)(thisNode,eventsFor.touch.start,this.onTouchStart,{passive:false})}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.mounted=false;var thisNode=this.findDOMNode();if(thisNode){var ownerDocument=thisNode.ownerDocument;(0,_domFns.removeEvent)(ownerDocument,eventsFor.mouse.move,this.handleDrag);(0,_domFns.removeEvent)(ownerDocument,eventsFor.touch.move,this.handleDrag);(0,_domFns.removeEvent)(ownerDocument,eventsFor.mouse.stop,this.handleDragStop);(0,_domFns.removeEvent)(ownerDocument,eventsFor.touch.stop,this.handleDragStop);(0,_domFns.removeEvent)(thisNode,eventsFor.touch.start,this.onTouchStart,{passive:false});if(this.props.enableUserSelectHack)(0,_domFns.removeUserSelectStyles)(ownerDocument)}}},{key:"findDOMNode",value:function findDOMNode(){var _this$props$nodeRef$c,_this$props,_this$props$nodeRef;return(_this$props$nodeRef$c=(_this$props=this.props)===null||_this$props===void 0?void 0:(_this$props$nodeRef=_this$props.nodeRef)===null||_this$props$nodeRef===void 0?void 0:_this$props$nodeRef.current)!==null&&_this$props$nodeRef$c!==void 0?_this$props$nodeRef$c:_reactDom.default.findDOMNode(this)}},{key:"render",value:function render(){return React.cloneElement(React.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}]);return DraggableCore}(React.Component);exports.default=DraggableCore;_defineProperty(DraggableCore,"displayName","DraggableCore");_defineProperty(DraggableCore,"propTypes",{allowAnyClick:_propTypes.default.bool,disabled:_propTypes.default.bool,enableUserSelectHack:_propTypes.default.bool,offsetParent:function offsetParent(props,propName){if(props[propName]&&props[propName].nodeType!==1){throw new Error("Draggable's offsetParent must be a DOM Node.")}},grid:_propTypes.default.arrayOf(_propTypes.default.number),handle:_propTypes.default.string,cancel:_propTypes.default.string,nodeRef:_propTypes.default.object,onStart:_propTypes.default.func,onDrag:_propTypes.default.func,onStop:_propTypes.default.func,onMouseDown:_propTypes.default.func,scale:_propTypes.default.number,className:_shims.dontSetMe,style:_shims.dontSetMe,transform:_shims.dontSetMe});_defineProperty(DraggableCore,"defaultProps",{allowAnyClick:false,disabled:false,enableUserSelectHack:true,onStart:function onStart(){},onDrag:function onDrag(){},onStop:function onStop(){},onMouseDown:function onMouseDown(){},scale:1})},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.cloneElement=cloneElement;var _react=_interopRequireDefault(__webpack_require__(35));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function cloneElement(element,props){if(props.style&&element.props.style){props.style=_objectSpread(_objectSpread({},element.props.style),props.style)}if(props.className&&element.props.className){props.className=element.props.className+" "+props.className}return _react.default.cloneElement(element,props)}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports.default=void 0;var React=_interopRequireWildcard(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(71));var _Resizable=_interopRequireDefault(__webpack_require__(330));var _propTypes2=__webpack_require__(334);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap;_getRequireWildcardCache=function _getRequireWildcardCache(){return cache};return cache}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var ResizableBox=function(_React$Component){_inheritsLoose(ResizableBox,_React$Component);function ResizableBox(){var _this;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}_this=_React$Component.call.apply(_React$Component,[this].concat(args))||this;_defineProperty(_assertThisInitialized(_this),"state",{width:_this.props.width,height:_this.props.height,propsWidth:_this.props.width,propsHeight:_this.props.height});_defineProperty(_assertThisInitialized(_this),"onResize",(function(e,data){var size=data.size;if(_this.props.onResize){e.persist&&e.persist();_this.setState(size,(function(){return _this.props.onResize&&_this.props.onResize(e,data)}))}else{_this.setState(size)}}));return _this}ResizableBox.getDerivedStateFromProps=function getDerivedStateFromProps(props,state){if(state.propsWidth!==props.width||state.propsHeight!==props.height){return{width:props.width,height:props.height,propsWidth:props.width,propsHeight:props.height}}return null};var _proto=ResizableBox.prototype;_proto.render=function render(){var _this$props=this.props,handle=_this$props.handle,handleSize=_this$props.handleSize,onResize=_this$props.onResize,onResizeStart=_this$props.onResizeStart,onResizeStop=_this$props.onResizeStop,draggableOpts=_this$props.draggableOpts,minConstraints=_this$props.minConstraints,maxConstraints=_this$props.maxConstraints,lockAspectRatio=_this$props.lockAspectRatio,axis=_this$props.axis,width=_this$props.width,height=_this$props.height,resizeHandles=_this$props.resizeHandles,style=_this$props.style,transformScale=_this$props.transformScale,props=_objectWithoutPropertiesLoose(_this$props,["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"]);return React.createElement(_Resizable.default,{axis:axis,draggableOpts:draggableOpts,handle:handle,handleSize:handleSize,height:this.state.height,lockAspectRatio:lockAspectRatio,maxConstraints:maxConstraints,minConstraints:minConstraints,onResizeStart:onResizeStart,onResize:this.onResize,onResizeStop:onResizeStop,resizeHandles:resizeHandles,transformScale:transformScale,width:this.state.width},React.createElement("div",_extends({},props,{style:_objectSpread(_objectSpread({},style),{},{width:this.state.width+"px",height:this.state.height+"px"})})))};return ResizableBox}(React.Component);exports.default=ResizableBox;_defineProperty(ResizableBox,"propTypes",_objectSpread(_objectSpread({},_propTypes2.resizableProps),{},{children:_propTypes.default.element}))},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);var _propTypes=__webpack_require__(71);var _propTypes2=_interopRequireDefault(_propTypes);var _lodash=__webpack_require__(211);var _lodash2=_interopRequireDefault(_lodash);var _utils=__webpack_require__(117);var _responsiveUtils=__webpack_require__(335);var _ReactGridLayout=__webpack_require__(329);var _ReactGridLayout2=_interopRequireDefault(_ReactGridLayout);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i]}return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var type=function type(obj){return Object.prototype.toString.call(obj)};var ResponsiveReactGridLayout=function(_React$Component){_inherits(ResponsiveReactGridLayout,_React$Component);function ResponsiveReactGridLayout(){var _temp,_this,_ret;_classCallCheck(this,ResponsiveReactGridLayout);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return _ret=(_temp=(_this=_possibleConstructorReturn(this,_React$Component.call.apply(_React$Component,[this].concat(args))),_this),_this.state=_this.generateInitialState(),_this.onLayoutChange=function(layout){var _extends2;_this.props.onLayoutChange(layout,_extends({},_this.props.layouts,(_extends2={},_extends2[_this.state.breakpoint]=layout,_extends2)))},_temp),_possibleConstructorReturn(_this,_ret)}ResponsiveReactGridLayout.prototype.generateInitialState=function generateInitialState(){var _props=this.props,width=_props.width,breakpoints=_props.breakpoints,layouts=_props.layouts,cols=_props.cols;var breakpoint=(0,_responsiveUtils.getBreakpointFromWidth)(breakpoints,width);var colNo=(0,_responsiveUtils.getColsFromBreakpoint)(breakpoint,cols);var compactType=this.props.verticalCompact===false?null:this.props.compactType;var initialLayout=(0,_responsiveUtils.findOrGenerateResponsiveLayout)(layouts,breakpoints,breakpoint,breakpoint,colNo,compactType);return{layout:initialLayout,breakpoint:breakpoint,cols:colNo}};ResponsiveReactGridLayout.prototype.componentWillReceiveProps=function componentWillReceiveProps(nextProps){if(nextProps.width!=this.props.width||nextProps.breakpoint!==this.props.breakpoint||!(0,_lodash2.default)(nextProps.breakpoints,this.props.breakpoints)||!(0,_lodash2.default)(nextProps.cols,this.props.cols)){this.onWidthChange(nextProps)}else if(!(0,_lodash2.default)(nextProps.layouts,this.props.layouts)){var _state=this.state,_breakpoint=_state.breakpoint,_cols=_state.cols;var newLayout=(0,_responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts,nextProps.breakpoints,_breakpoint,_breakpoint,_cols,nextProps.compactType);this.setState({layout:newLayout})}};ResponsiveReactGridLayout.prototype.onWidthChange=function onWidthChange(nextProps){var breakpoints=nextProps.breakpoints,cols=nextProps.cols,layouts=nextProps.layouts,compactType=nextProps.compactType;var newBreakpoint=nextProps.breakpoint||(0,_responsiveUtils.getBreakpointFromWidth)(nextProps.breakpoints,nextProps.width);var lastBreakpoint=this.state.breakpoint;if(lastBreakpoint!==newBreakpoint||this.props.breakpoints!==breakpoints||this.props.cols!==cols){if(!(lastBreakpoint in layouts))layouts[lastBreakpoint]=(0,_utils.cloneLayout)(this.state.layout);var newCols=(0,_responsiveUtils.getColsFromBreakpoint)(newBreakpoint,cols);var _layout=(0,_responsiveUtils.findOrGenerateResponsiveLayout)(layouts,breakpoints,newBreakpoint,lastBreakpoint,newCols,compactType);_layout=(0,_utils.synchronizeLayoutWithChildren)(_layout,nextProps.children,newCols,compactType);layouts[newBreakpoint]=_layout;this.props.onLayoutChange(_layout,layouts);this.props.onBreakpointChange(newBreakpoint,newCols);this.props.onWidthChange(nextProps.width,nextProps.margin,newCols,nextProps.containerPadding);this.setState({breakpoint:newBreakpoint,layout:_layout,cols:newCols})}};ResponsiveReactGridLayout.prototype.render=function render(){var _props2=this.props,breakpoint=_props2.breakpoint,breakpoints=_props2.breakpoints,cols=_props2.cols,layouts=_props2.layouts,onBreakpointChange=_props2.onBreakpointChange,onLayoutChange=_props2.onLayoutChange,onWidthChange=_props2.onWidthChange,other=_objectWithoutProperties(_props2,["breakpoint","breakpoints","cols","layouts","onBreakpointChange","onLayoutChange","onWidthChange"]);return _react2.default.createElement(_ReactGridLayout2.default,_extends({},other,{onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))};return ResponsiveReactGridLayout}(_react2.default.Component);ResponsiveReactGridLayout.propTypes={breakpoint:_propTypes2.default.string,breakpoints:_propTypes2.default.object,cols:_propTypes2.default.object,layouts:function layouts(props,propName){if(type(props[propName])!=="[object Object]"){throw new Error("Layout property must be an object. Received: "+type(props[propName]))}Object.keys(props[propName]).forEach((function(key){if(!(key in props.breakpoints)){throw new Error("Each key in layouts must align with a key in breakpoints.")}(0,_utils.validateLayout)(props.layouts[key],"layouts."+key)}))},width:_propTypes2.default.number.isRequired,onBreakpointChange:_propTypes2.default.func,onLayoutChange:_propTypes2.default.func,onWidthChange:_propTypes2.default.func};ResponsiveReactGridLayout.defaultProps={breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},layouts:{},onBreakpointChange:_utils.noop,onLayoutChange:_utils.noop,onWidthChange:_utils.noop};exports.default=ResponsiveReactGridLayout},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};exports.default=WidthProvider;var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);var _propTypes=__webpack_require__(71);var _propTypes2=_interopRequireDefault(_propTypes);var _reactDom=__webpack_require__(42);var _reactDom2=_interopRequireDefault(_reactDom);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i]}return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}function WidthProvider(ComposedComponent){var _class,_temp2;return _temp2=_class=function(_React$Component){_inherits(WidthProvider,_React$Component);function WidthProvider(){var _temp,_this,_ret;_classCallCheck(this,WidthProvider);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return _ret=(_temp=(_this=_possibleConstructorReturn(this,_React$Component.call.apply(_React$Component,[this].concat(args))),_this),_this.state={width:1280},_this.mounted=false,_this.onWindowResize=function(){if(!_this.mounted)return;var node=_reactDom2.default.findDOMNode(_this);if(node instanceof HTMLElement)_this.setState({width:node.offsetWidth})},_temp),_possibleConstructorReturn(_this,_ret)}WidthProvider.prototype.componentDidMount=function componentDidMount(){this.mounted=true;window.addEventListener("resize",this.onWindowResize);this.onWindowResize()};WidthProvider.prototype.componentWillUnmount=function componentWillUnmount(){this.mounted=false;window.removeEventListener("resize",this.onWindowResize)};WidthProvider.prototype.render=function render(){var _props=this.props,measureBeforeMount=_props.measureBeforeMount,rest=_objectWithoutProperties(_props,["measureBeforeMount"]);if(measureBeforeMount&&!this.mounted){return _react2.default.createElement("div",{className:this.props.className,style:this.props.style})}return _react2.default.createElement(ComposedComponent,_extends({},rest,this.state))};return WidthProvider}(_react2.default.Component),_class.defaultProps={measureBeforeMount:false},_class.propTypes={measureBeforeMount:_propTypes2.default.bool},_temp2}},,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var react_1=__webpack_require__(35);var useIsomorphicLayoutEffect=typeof window!=="undefined"?react_1.useLayoutEffect:react_1.useEffect;exports.default=useIsomorphicLayoutEffect},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports){module.exports=function deepFreeze(o){Object.freeze(o);var oIsFunction=typeof o==="function";var hasOwnProp=Object.prototype.hasOwnProperty;Object.getOwnPropertyNames(o).forEach((function(prop){if(hasOwnProp.call(o,prop)&&(oIsFunction?prop!=="caller"&&prop!=="callee"&&prop!=="arguments":true)&&o[prop]!==null&&(typeof o[prop]==="object"||typeof o[prop]==="function")&&!Object.isFrozen(o[prop])){deepFreeze(o[prop])}}));return o}},function(module,exports,__webpack_require__){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i<len;++i){lookup[i]=code[i];revLookup[code.charCodeAt(i)]=i}revLookup["-".charCodeAt(0)]=62;revLookup["_".charCodeAt(0)]=63;function getLens(b64){var len=b64.length;if(len%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i<len;i+=4){tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)];arr[curByte++]=tmp>>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;i<end;i+=3){tmp=(uint8[i]<<16&16711680)+(uint8[i+1]<<8&65280)+(uint8[i+2]&255);output.push(tripletToBase64(tmp))}return output.join("")}function fromByteArray(uint8){var tmp;var len=uint8.length;var extraBytes=len%3;var parts=[];var maxChunkLength=16383;for(var i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength){parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},function(module,exports){
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},function(module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},function(module,exports,__webpack_require__){(function(root,factory){if(true){module.exports=factory()}else{}})(typeof self!=="undefined"?self:this,(function(){var rison={};rison.uri_ok={"~":true,"!":true,"*":true,"(":true,")":true,"-":true,_:true,".":true,",":true,":":true,"@":true,$:true,"'":true,"/":true};(function(){var l=[];for(var hi=0;hi<16;hi++){for(var lo=0;lo<16;lo++){if(hi+lo===0)continue;var c=String.fromCharCode(hi*16+lo);if(!/\w|[-_./~]/.test(c))l.push("\\u00"+hi.toString(16)+lo.toString(16))}}rison.not_idchar=l.join("")})();rison.not_idchar=" '!:(),*@$";rison.not_idstart="-0123456789";(function(){var idrx="[^"+rison.not_idstart+rison.not_idchar+"][^"+rison.not_idchar+"]*";rison.id_ok=new RegExp("^"+idrx+"$");rison.next_id=new RegExp(idrx,"g")})();rison.quote=function(x){if(/^[-A-Za-z0-9~!*()_.',:@$/]*$/.test(x))return x;return encodeURIComponent(x).replace(/%2C/g,",").replace(/%3A/g,":").replace(/%40/g,"@").replace(/%24/g,"$").replace(/%2F/g,"/").replace(/%20/g,"+")};(function(){var sq={"'":true,"!":true},enc=function(v){if(v&&typeof v.toJSON==="function")v=v.toJSON();var fn=s[typeof v];if(fn)return fn(v)},s={array:function(x){var a=["!("],b,i,l=x.length,v;for(i=0;i<l;i+=1){v=enc(x[i]);if(typeof v=="string"){if(b){a[a.length]=","}a[a.length]=v;b=true}}a[a.length]=")";return a.join("")},boolean:function(x){if(x)return"!t";return"!f"},null:function(){return"!n"},number:function(x){if(!isFinite(x))return"!n";return String(x).replace(/\+/,"")},object:function(x){if(x){if(x instanceof Array){return s.array(x)}if(typeof x.__prototype__==="object"&&typeof x.__prototype__.encode_rison!=="undefined")return x.encode_rison();var a=["("],b,i,v,ki,ks=[];for(i in x)ks[ks.length]=i;ks.sort();for(ki=0;ki<ks.length;ki++){i=ks[ki];v=enc(x[i]);if(typeof v=="string"){if(b){a[a.length]=","}a.push(s.string(i),":",v);b=true}}a[a.length]=")";return a.join("")}return"!n"},string:function(x){if(x==="")return"''";if(rison.id_ok.test(x))return x;x=x.replace(/(['!])/g,(function(a,b){if(sq[b])return"!"+b;return b}));return"'"+x+"'"},undefined:function(){return}};rison.encode=function(v){return enc(v)};rison.encode_object=function(v){if(typeof v!="object"||v===null||v instanceof Array)throw new Error("rison.encode_object expects an object argument");var r=s[typeof v](v);return r.substring(1,r.length-1)};rison.encode_array=function(v){if(!(v instanceof Array))throw new Error("rison.encode_array expects an array argument");var r=s[typeof v](v);return r.substring(2,r.length-1)};rison.encode_uri=function(v){return rison.quote(s[typeof v](v))}})();rison.decode=function(r){var errcb=function(e){throw Error("rison decoder error: "+e)};if(typeof r!=="string")return errcb("decode input must be a string");var p=new rison.parser(errcb);return p.parse(r)};rison.decode_object=function(r){return rison.decode("("+r+")")};rison.decode_array=function(r){return rison.decode("!("+r+")")};rison.parser=function(errcb){this.errorHandler=errcb};rison.parser.WHITESPACE="";rison.parser.prototype.setOptions=function(options){if(options["errorHandler"])this.errorHandler=options.errorHandler};rison.parser.prototype.parse=function(str){this.string=str;this.index=0;this.message=null;var value=this.readValue();if(!this.message&&this.next())value=this.error("unable to parse string as rison: '"+rison.encode(str)+"'");if(this.message&&this.errorHandler)this.errorHandler(this.message,this.index);return value};rison.parser.prototype.error=function(message){if(typeof console!=="undefined")console.log("rison parser error: ",message);this.message=message;return undefined};rison.parser.prototype.readValue=function(){var c=this.next();var fn=c&&this.table[c];if(fn)return fn.apply(this);var s=this.string;var i=this.index-1;rison.next_id.lastIndex=i;var m=rison.next_id.exec(s);if(m.length>0){var id=m[0];this.index=i+id.length;return id}if(c)return this.error("invalid character: '"+c+"'");return this.error("empty expression")};rison.parser.parse_array=function(parser){var ar=[];var c;while((c=parser.next())!==")"){if(!c)return parser.error("unmatched '!('");if(ar.length){if(c!==",")parser.error("missing ','")}else if(c===","){return parser.error("extra ','")}else--parser.index;var n=parser.readValue();if(typeof n=="undefined")return undefined;ar.push(n)}return ar};rison.parser.bangs={t:true,f:false,n:null,"(":rison.parser.parse_array};rison.parser.prototype.table={"!":function(){var s=this.string;var c=s.charAt(this.index++);if(!c)return this.error('"!" at end of input');var x=rison.parser.bangs[c];if(typeof x=="function"){return x.call(null,this)}else if(typeof x=="undefined"){return this.error('unknown literal: "!'+c+'"')}return x},"(":function(){var o={};var c;var count=0;while((c=this.next())!==")"){if(count){if(c!==",")this.error("missing ','")}else if(c===","){return this.error("extra ','")}else--this.index;var k=this.readValue();if(typeof k==="undefined")return undefined;if(this.next()!==":")return this.error("missing ':'");var v=this.readValue();if(typeof v==="undefined")return undefined;o[k]=v;count++}return o},"'":function(){var s=this.string;var i=this.index;var start=i;var segments=[];var c;while((c=s.charAt(i++))!=="'"){if(!c)return this.error('unmatched "\'"');if(c==="!"){if(start<i-1)segments.push(s.slice(start,i-1));c=s.charAt(i++);if("!'".indexOf(c)>=0){segments.push(c)}else{return this.error('invalid string escape: "!'+c+'"')}start=i}}if(start<i-1)segments.push(s.slice(start,i-1));this.index=i;return segments.length===1?segments[0]:segments.join("")},"-":function(){var s=this.string;var i=this.index;var start=i-1;var state="int";var permittedSigns="-";var transitions={"int+.":"frac","int+e":"exp","frac+e":"exp"};do{var c=s.charAt(i++);if(!c)break;if("0"<=c&&c<="9")continue;if(permittedSigns.indexOf(c)>=0){permittedSigns="";continue}state=transitions[state+"+"+c.toLowerCase()];if(state==="exp")permittedSigns="-"}while(state);this.index=--i;s=s.slice(start,i);if(s==="-")return this.error("invalid number");return Number(s)}};(function(table){for(var i=0;i<=9;i++)table[String(i)]=table["-"]})(rison.parser.prototype.table);rison.parser.prototype.next=function(){var c;var s=this.string;var i=this.index;do{if(i===s.length)return undefined;c=s.charAt(i++)}while(rison.parser.WHITESPACE.indexOf(c)>=0);this.index=i;return c};return rison}))},function(module,exports,__webpack_require__){"use strict";module.exports={isString:function(arg){return typeof arg==="string"},isObject:function(arg){return typeof arg==="object"&&arg!==null},isNull:function(arg){return arg===null},isNullOrUndefined:function(arg){return arg==null}}},function(module,exports,__webpack_require__){"use strict";exports.decode=exports.parse=__webpack_require__(1169);exports.encode=exports.stringify=__webpack_require__(1170)},function(module,exports,__webpack_require__){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&";eq=eq||"=";var obj={};if(typeof qs!=="string"||qs.length===0){return obj}var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;if(options&&typeof options.maxKeys==="number"){maxKeys=options.maxKeys}var len=qs.length;if(maxKeys>0&&len>maxKeys){len=maxKeys}for(var i=0;i<len;++i){var x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},function(module,exports,__webpack_require__){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),(function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],(function(v){return ks+encodeURIComponent(stringifyPrimitive(v))})).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}})).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i))}return res}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key)}return res}},function(module,exports,__webpack_require__){"use strict";module.exports=str=>encodeURIComponent(str).replace(/[!'()*]/g,x=>`%${x.charCodeAt(0).toString(16).toUpperCase()}`)},function(module,exports,__webpack_require__){"use strict";var token="%[a-f0-9]{2}";var singleMatcher=new RegExp(token,"gi");var multiMatcher=new RegExp("("+token+")+","gi");function decodeComponents(components,split){try{return decodeURIComponent(components.join(""))}catch(err){}if(components.length===1){return components}split=split||1;var left=components.slice(0,split);var right=components.slice(split);return Array.prototype.concat.call([],decodeComponents(left),decodeComponents(right))}function decode(input){try{return decodeURIComponent(input)}catch(err){var tokens=input.match(singleMatcher);for(var i=1;i<tokens.length;i++){input=decodeComponents(tokens,i).join("");tokens=input.match(singleMatcher)}return input}}function customDecodeURIComponent(input){var replaceMap={"%FE%FF":"��","%FF%FE":"��"};var match=multiMatcher.exec(input);while(match){try{replaceMap[match[0]]=decodeURIComponent(match[0])}catch(err){var result=decode(match[0]);if(result!==match[0]){replaceMap[match[0]]=result}}match=multiMatcher.exec(input)}replaceMap["%C2"]="�";var entries=Object.keys(replaceMap);for(var i=0;i<entries.length;i++){var key=entries[i];input=input.replace(new RegExp(key,"g"),replaceMap[key])}return input}module.exports=function(encodedURI){if(typeof encodedURI!=="string"){throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof encodedURI+"`")}try{encodedURI=encodedURI.replace(/\+/g," ");return decodeURIComponent(encodedURI)}catch(err){return customDecodeURIComponent(encodedURI)}}},function(module,exports,__webpack_require__){"use strict";module.exports=(string,separator)=>{if(!(typeof string==="string"&&typeof separator==="string")){throw new TypeError("Expected the arguments to be of type `string`")}if(separator===""){return[string]}const separatorIndex=string.indexOf(separator);if(separatorIndex===-1){return[string]}return[string.slice(0,separatorIndex),string.slice(separatorIndex+separator.length)]}},function(module,exports,__webpack_require__){"use strict";module.exports=function(obj,predicate){var ret={};var keys=Object.keys(obj);var isArr=Array.isArray(predicate);for(var i=0;i<keys.length;i++){var key=keys[i];var val=obj[key];if(isArr?predicate.indexOf(key)!==-1:predicate(key,val,obj)){ret[key]=val}}return ret}},function(module,exports,__webpack_require__){"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var resolvePathname=_interopDefault(__webpack_require__(1176)),valueEqual=_interopDefault(__webpack_require__(1178));__webpack_require__(1180);var invariant=_interopDefault(__webpack_require__(1181));function _extends(){return(_extends=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a])}return t}).apply(this,arguments)}function addLeadingSlash(t){return"/"===t.charAt(0)?t:"/"+t}function stripLeadingSlash(t){return"/"===t.charAt(0)?t.substr(1):t}function hasBasename(t,n){return 0===t.toLowerCase().indexOf(n.toLowerCase())&&-1!=="/?#".indexOf(t.charAt(n.length))}function stripBasename(t,n){return hasBasename(t,n)?t.substr(n.length):t}function stripTrailingSlash(t){return"/"===t.charAt(t.length-1)?t.slice(0,-1):t}function parsePath(t){var n=t||"/",e="",a="",r=n.indexOf("#");-1!==r&&(a=n.substr(r),n=n.substr(0,r));var o=n.indexOf("?");return-1!==o&&(e=n.substr(o),n=n.substr(0,o)),{pathname:n,search:"?"===e?"":e,hash:"#"===a?"":a}}function createPath(t){var n=t.pathname,e=t.search,a=t.hash,r=n||"/";return e&&"?"!==e&&(r+="?"===e.charAt(0)?e:"?"+e),a&&"#"!==a&&(r+="#"===a.charAt(0)?a:"#"+a),r}function createLocation(t,n,e,a){var r;"string"==typeof t?(r=parsePath(t)).state=n:(void 0===(r=_extends({},t)).pathname&&(r.pathname=""),r.search?"?"!==r.search.charAt(0)&&(r.search="?"+r.search):r.search="",r.hash?"#"!==r.hash.charAt(0)&&(r.hash="#"+r.hash):r.hash="",void 0!==n&&void 0===r.state&&(r.state=n));try{r.pathname=decodeURI(r.pathname)}catch(t){throw t instanceof URIError?new URIError('Pathname "'+r.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):t}return e&&(r.key=e),a?r.pathname?"/"!==r.pathname.charAt(0)&&(r.pathname=resolvePathname(r.pathname,a.pathname)):r.pathname=a.pathname:r.pathname||(r.pathname="/"),r}function locationsAreEqual(t,n){return t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash&&t.key===n.key&&valueEqual(t.state,n.state)}function createTransitionManager(){var o=null;var a=[];return{setPrompt:function(t){return o=t,function(){o===t&&(o=null)}},confirmTransitionTo:function(t,n,e,a){if(null!=o){var r="function"==typeof o?o(t,n):o;"string"==typeof r?"function"==typeof e?e(r,a):a(!0):a(!1!==r)}else a(!0)},appendListener:function(t){var n=!0;function e(){n&&t.apply(void 0,arguments)}return a.push(e),function(){n=!1,a=a.filter((function(t){return t!==e}))}},notifyListeners:function(){for(var t=arguments.length,n=new Array(t),e=0;e<t;e++)n[e]=arguments[e];a.forEach((function(t){return t.apply(void 0,n)}))}}}var canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement);function getConfirmation(t,n){n(window.confirm(t))}function supportsHistory(){var t=window.navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)}function supportsPopStateOnHashChange(){return-1===window.navigator.userAgent.indexOf("Trident")}function supportsGoWithoutReloadUsingHash(){return-1===window.navigator.userAgent.indexOf("Firefox")}function isExtraneousPopstateEvent(t){return void 0===t.state&&-1===navigator.userAgent.indexOf("CriOS")}var PopStateEvent="popstate",HashChangeEvent="hashchange";function getHistoryState(){try{return window.history.state||{}}catch(t){return{}}}function createBrowserHistory(t){void 0===t&&(t={}),canUseDOM||invariant(!1);var s=window.history,c=supportsHistory(),n=!supportsPopStateOnHashChange(),e=t,a=e.forceRefresh,h=void 0!==a&&a,r=e.getUserConfirmation,u=void 0===r?getConfirmation:r,o=e.keyLength,i=void 0===o?6:o,f=t.basename?stripTrailingSlash(addLeadingSlash(t.basename)):"";function l(t){var n=t||{},e=n.key,a=n.state,r=window.location,o=r.pathname+r.search+r.hash;return f&&(o=stripBasename(o,f)),createLocation(o,a,e)}function d(){return Math.random().toString(36).substr(2,i)}var v=createTransitionManager();function p(t){_extends(T,t),T.length=s.length,v.notifyListeners(T.location,T.action)}function g(t){isExtraneousPopstateEvent(t)||w(l(t.state))}function P(){w(l(getHistoryState()))}var m=!1;function w(n){if(m)m=!1,p();else{v.confirmTransitionTo(n,"POP",u,(function(t){t?p({action:"POP",location:n}):function(t){var n=T.location,e=H.indexOf(n.key);-1===e&&(e=0);var a=H.indexOf(t.key);-1===a&&(a=0);var r=e-a;r&&(m=!0,L(r))}(n)}))}}var y=l(getHistoryState()),H=[y.key];function x(t){return f+createPath(t)}function L(t){s.go(t)}var O=0;function E(t){1===(O+=t)&&1===t?(window.addEventListener(PopStateEvent,g),n&&window.addEventListener(HashChangeEvent,P)):0===O&&(window.removeEventListener(PopStateEvent,g),n&&window.removeEventListener(HashChangeEvent,P))}var S=!1;var T={length:s.length,action:"POP",location:y,createHref:x,push:function(t,n){var i=createLocation(t,n,d(),T.location);v.confirmTransitionTo(i,"PUSH",u,(function(t){if(t){var n=x(i),e=i.key,a=i.state;if(c)if(s.pushState({key:e,state:a},null,n),h)window.location.href=n;else{var r=H.indexOf(T.location.key),o=H.slice(0,r+1);o.push(i.key),H=o,p({action:"PUSH",location:i})}else window.location.href=n}}))},replace:function(t,n){var o="REPLACE",i=createLocation(t,n,d(),T.location);v.confirmTransitionTo(i,o,u,(function(t){if(t){var n=x(i),e=i.key,a=i.state;if(c)if(s.replaceState({key:e,state:a},null,n),h)window.location.replace(n);else{var r=H.indexOf(T.location.key);-1!==r&&(H[r]=i.key),p({action:o,location:i})}else window.location.replace(n)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(t){void 0===t&&(t=!1);var n=v.setPrompt(t);return S||(E(1),S=!0),function(){return S&&(S=!1,E(-1)),n()}},listen:function(t){var n=v.appendListener(t);return E(1),function(){E(-1),n()}}};return T}var HashChangeEvent$1="hashchange",HashPathCoders={hashbang:{encodePath:function(t){return"!"===t.charAt(0)?t:"!/"+stripLeadingSlash(t)},decodePath:function(t){return"!"===t.charAt(0)?t.substr(1):t}},noslash:{encodePath:stripLeadingSlash,decodePath:addLeadingSlash},slash:{encodePath:addLeadingSlash,decodePath:addLeadingSlash}};function stripHash(t){var n=t.indexOf("#");return-1===n?t:t.slice(0,n)}function getHashPath(){var t=window.location.href,n=t.indexOf("#");return-1===n?"":t.substring(n+1)}function pushHashPath(t){window.location.hash=t}function replaceHashPath(t){window.location.replace(stripHash(window.location.href)+"#"+t)}function createHashHistory(t){void 0===t&&(t={}),canUseDOM||invariant(!1);var n=window.history,e=(supportsGoWithoutReloadUsingHash(),t),a=e.getUserConfirmation,i=void 0===a?getConfirmation:a,r=e.hashType,o=void 0===r?"slash":r,s=t.basename?stripTrailingSlash(addLeadingSlash(t.basename)):"",c=HashPathCoders[o],h=c.encodePath,u=c.decodePath;function f(){var t=u(getHashPath());return s&&(t=stripBasename(t,s)),createLocation(t)}var l=createTransitionManager();function d(t){_extends(E,t),E.length=n.length,l.notifyListeners(E.location,E.action)}var v=!1,p=null;function g(){var t=getHashPath(),n=h(t);if(t!==n)replaceHashPath(n);else{var e=f(),a=E.location;if(!v&&function(t,n){return t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash}(a,e))return;if(p===createPath(e))return;p=null,function(n){if(v)v=!1,d();else{l.confirmTransitionTo(n,"POP",i,(function(t){t?d({action:"POP",location:n}):function(t){var n=E.location,e=y.lastIndexOf(createPath(n));-1===e&&(e=0);var a=y.lastIndexOf(createPath(t));-1===a&&(a=0);var r=e-a;r&&(v=!0,H(r))}(n)}))}}(e)}}var P=getHashPath(),m=h(P);P!==m&&replaceHashPath(m);var w=f(),y=[createPath(w)];function H(t){n.go(t)}var x=0;function L(t){1===(x+=t)&&1===t?window.addEventListener(HashChangeEvent$1,g):0===x&&window.removeEventListener(HashChangeEvent$1,g)}var O=!1;var E={length:n.length,action:"POP",location:w,createHref:function(t){var n=document.querySelector("base"),e="";return n&&n.getAttribute("href")&&(e=stripHash(window.location.href)),e+"#"+h(s+createPath(t))},push:function(t,n){var o=createLocation(t,void 0,void 0,E.location);l.confirmTransitionTo(o,"PUSH",i,(function(t){if(t){var n=createPath(o),e=h(s+n);if(getHashPath()!==e){p=n,pushHashPath(e);var a=y.lastIndexOf(createPath(E.location)),r=y.slice(0,a+1);r.push(n),y=r,d({action:"PUSH",location:o})}else d()}}))},replace:function(t,n){var r="REPLACE",o=createLocation(t,void 0,void 0,E.location);l.confirmTransitionTo(o,r,i,(function(t){if(t){var n=createPath(o),e=h(s+n);getHashPath()!==e&&(p=n,replaceHashPath(e));var a=y.indexOf(createPath(E.location));-1!==a&&(y[a]=n),d({action:r,location:o})}}))},go:H,goBack:function(){H(-1)},goForward:function(){H(1)},block:function(t){void 0===t&&(t=!1);var n=l.setPrompt(t);return O||(L(1),O=!0),function(){return O&&(O=!1,L(-1)),n()}},listen:function(t){var n=l.appendListener(t);return L(1),function(){L(-1),n()}}};return E}function clamp(t,n,e){return Math.min(Math.max(t,n),e)}function createMemoryHistory(t){void 0===t&&(t={});var n=t,r=n.getUserConfirmation,e=n.initialEntries,a=void 0===e?["/"]:e,o=n.initialIndex,i=void 0===o?0:o,s=n.keyLength,c=void 0===s?6:s,h=createTransitionManager();function u(t){_extends(g,t),g.length=g.entries.length,h.notifyListeners(g.location,g.action)}function f(){return Math.random().toString(36).substr(2,c)}var l=clamp(i,0,a.length-1),d=a.map((function(t){return createLocation(t,void 0,"string"==typeof t?f():t.key||f())})),v=createPath;function p(t){var n=clamp(g.index+t,0,g.entries.length-1),e=g.entries[n];h.confirmTransitionTo(e,"POP",r,(function(t){t?u({action:"POP",location:e,index:n}):u()}))}var g={length:d.length,action:"POP",location:d[l],index:l,entries:d,createHref:v,push:function(t,n){var a=createLocation(t,n,f(),g.location);h.confirmTransitionTo(a,"PUSH",r,(function(t){if(t){var n=g.index+1,e=g.entries.slice(0);e.length>n?e.splice(n,e.length-n,a):e.push(a),u({action:"PUSH",location:a,index:n,entries:e})}}))},replace:function(t,n){var e="REPLACE",a=createLocation(t,n,f(),g.location);h.confirmTransitionTo(a,e,r,(function(t){t&&(g.entries[g.index]=a,u({action:e,location:a}))}))},go:p,goBack:function(){p(-1)},goForward:function(){p(1)},canGo:function(t){var n=g.index+t;return 0<=n&&n<g.entries.length},block:function(t){return void 0===t&&(t=!1),h.setPrompt(t)},listen:function(t){return h.appendListener(t)}};return g}exports.createBrowserHistory=createBrowserHistory,exports.createHashHistory=createHashHistory,exports.createMemoryHistory=createMemoryHistory,exports.createLocation=createLocation,exports.locationsAreEqual=locationsAreEqual,exports.parsePath=parsePath,exports.createPath=createPath},function(module,exports,__webpack_require__){"use strict";if(true){module.exports=__webpack_require__(1177)}else{}},function(module,exports,__webpack_require__){"use strict";function isAbsolute(e){return"/"===e.charAt(0)}function spliceOne(e,t){for(var s=t,n=s+1,i=e.length;n<i;s+=1,n+=1)e[s]=e[n];e.pop()}function resolvePathname(e,t){void 0===t&&(t="");var s,n=e&&e.split("/")||[],i=t&&t.split("/")||[],l=e&&isAbsolute(e),r=t&&isAbsolute(t),o=l||r;if(e&&isAbsolute(e)?i=n:n.length&&(i.pop(),i=i.concat(n)),!i.length)return"/";if(i.length){var u=i[i.length-1];s="."===u||".."===u||""===u}else s=!1;for(var a=0,c=i.length;0<=c;c--){var f=i[c];"."===f?spliceOne(i,c):".."===f?(spliceOne(i,c),a++):a&&(spliceOne(i,c),a--)}if(!o)for(;a--;a)i.unshift("..");!o||""===i[0]||i[0]&&isAbsolute(i[0])||i.unshift("");var h=i.join("/");return s&&"/"!==h.substr(-1)&&(h+="/"),h}module.exports=resolvePathname},function(module,exports,__webpack_require__){"use strict";if(true){module.exports=__webpack_require__(1179)}else{}},function(module,exports,__webpack_require__){"use strict";function valueOf(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}function valueEqual(u,r){if(u===r)return!0;if(null==u||null==r)return!1;if(Array.isArray(u))return Array.isArray(r)&&u.length===r.length&&u.every((function(e,u){return valueEqual(e,r[u])}));if("object"!=typeof u&&"object"!=typeof r)return!1;var e=valueOf(u),t=valueOf(r);return e!==u||t!==r?valueEqual(e,t):Object.keys(Object.assign({},u,r)).every((function(e){return valueEqual(u[e],r[e])}))}module.exports=valueEqual},function(module,exports,__webpack_require__){"use strict";var isProduction="production"==="production";function warning(condition,message){if(!isProduction){if(condition){return}var text="Warning: "+message;if(typeof console!=="undefined"){console.warn(text)}try{throw Error(text)}catch(x){}}}module.exports=warning},function(module,exports,__webpack_require__){"use strict";var isProduction="production"==="production";var prefix="Invariant failed";function invariant(condition,message){if(condition){return}if(isProduction){throw new Error(prefix)}var provided=typeof message==="function"?message():message;var value=provided?prefix+": "+provided:prefix;throw new Error(value)}module.exports=invariant},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports){module.exports=[{id:"be-nl",name:"Dutch (Belgium)",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:" mln",billion:" mld",trillion:" bln"},ordinal:function(number){var remainder=number%100;return number!==0&&remainder<=1||remainder===8||remainder>=20?"ste":"de"},currency:{symbol:"€ "}}},{id:"chs",name:"Simplified Chinese",lang:{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百万",billion:"十亿",trillion:"兆"},ordinal:function(number){return"."},currency:{symbol:"¥"}}},{id:"cs",name:"Czech",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"Kč"}}},{id:"da-dk",name:"Danish (Denmark)",lang:{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mio",billion:"mia",trillion:"b"},ordinal:function(number){return"."},currency:{symbol:"DKK"}}},{id:"de-ch",name:"German (Switzerland)",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(number){return"."},currency:{symbol:"CHF"}}},{id:"de",name:"German",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(number){return"."},currency:{symbol:"€"}}},{id:"en-gb",name:"English (UK)",lang:{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(number){var b=number%10;return~~(number%100/10)===1?"th":b===1?"st":b===2?"nd":b===3?"rd":"th"},currency:{symbol:"£"}}},{id:"es-ES",name:"Spanish (Spain)",lang:{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(number){var b=number%10;return b===1||b===3?"er":b===2?"do":b===7||b===0?"mo":b===8?"vo":b===9?"no":"to"},currency:{symbol:"€"}}},{id:"es",name:"Spanish",lang:{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(number){var b=number%10;return b===1||b===3?"er":b===2?"do":b===7||b===0?"mo":b===8?"vo":b===9?"no":"to"},currency:{symbol:"$"}}},{id:"et",name:"Estonian",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:" tuh",million:" mln",billion:" mld",trillion:" trl"},ordinal:function(number){return"."},currency:{symbol:"€"}}},{id:"fi",name:"Finnish",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"M",billion:"G",trillion:"T"},ordinal:function(number){return"."},currency:{symbol:"€"}}},{id:"fr-CA",name:"French (Canada)",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"M",billion:"G",trillion:"T"},ordinal:function(number){return number===1?"er":"e"},currency:{symbol:"$"}}},{id:"fr-ch",name:"French (Switzerland)",lang:{delimiters:{thousands:"'",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(number){return number===1?"er":"e"},currency:{symbol:"CHF"}}},{id:"fr",name:"French",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(number){return number===1?"er":"e"},currency:{symbol:"€"}}},{id:"hu",name:"Hungarian",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"E",million:"M",billion:"Mrd",trillion:"T"},ordinal:function(number){return"."},currency:{symbol:" Ft"}}},{id:"it",name:"Italian",lang:{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mila",million:"mil",billion:"b",trillion:"t"},ordinal:function(number){return"º"},currency:{symbol:"€"}}},{id:"ja",name:"Japanese",lang:{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百万",billion:"十億",trillion:"兆"},ordinal:function(number){return"."},currency:{symbol:"¥"}}},{id:"nl-nl",name:"Dutch (Netherlands)",lang:{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mln",billion:"mrd",trillion:"bln"},ordinal:function(number){var remainder=number%100;return number!==0&&remainder<=1||remainder===8||remainder>=20?"ste":"de"},currency:{symbol:"€ "}}},{id:"pl",name:"Polish",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tys.",million:"mln",billion:"mld",trillion:"bln"},ordinal:function(number){return"."},currency:{symbol:"PLN"}}},{id:"pt-br",name:"Portuguese (Brazil)",lang:{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mil",million:"milhões",billion:"b",trillion:"t"},ordinal:function(number){return"º"},currency:{symbol:"R$"}}},{id:"pt-pt",name:"Portuguese",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(number){return"º"},currency:{symbol:"€"}}},{id:"ru-UA",name:"Russian (Ukraine)",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"₴"}}},{id:"ru",name:"Russian",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"руб."}}},{id:"sk",name:"Slovak",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€"}}},{id:"th",name:"Thai",lang:{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"พัน",million:"ล้าน",billion:"พันล้าน",trillion:"ล้านล้าน"},ordinal:function(number){return"."},currency:{symbol:"฿"}}},{id:"tr",name:"Turkish",lang:{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"bin",million:"milyon",billion:"milyar",trillion:"trilyon"},ordinal:function(){var suffixes={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};return function(number){if(number===0){return"'ıncı"}var a=number%10,b=number%100-a,c=number>=100?100:null;return suffixes[a]||suffixes[b]||suffixes[c]}}(),currency:{symbol:"₺"}}},{id:"uk-UA",name:"Ukrainian",lang:{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тис.",million:"млн",billion:"млрд",trillion:"блн"},ordinal:function(){return""},currency:{symbol:"₴"}}}]},,function(module,exports,__webpack_require__){var baseAssignValue=__webpack_require__(1222),eq=__webpack_require__(345);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function assignValue(object,key,value){var objValue=object[key];if(!(hasOwnProperty.call(object,key)&&eq(objValue,value))||value===undefined&&!(key in object)){baseAssignValue(object,key,value)}}module.exports=assignValue},function(module,exports,__webpack_require__){var defineProperty=__webpack_require__(1223);function baseAssignValue(object,key,value){if(key=="__proto__"&&defineProperty){defineProperty(object,key,{configurable:true,enumerable:true,value:value,writable:true})}else{object[key]=value}}module.exports=baseAssignValue},function(module,exports,__webpack_require__){var getNative=__webpack_require__(220);var defineProperty=function(){try{var func=getNative(Object,"defineProperty");func({},"",{});return func}catch(e){}}();module.exports=defineProperty},function(module,exports,__webpack_require__){var isFunction=__webpack_require__(343),isMasked=__webpack_require__(1228),isObject=__webpack_require__(103),toSource=__webpack_require__(1230);var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;var reIsHostCtor=/^\[object .+?Constructor\]$/;var funcProto=Function.prototype,objectProto=Object.prototype;var funcToString=funcProto.toString;var hasOwnProperty=objectProto.hasOwnProperty;var reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false}var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}module.exports=baseIsNative},function(module,exports,__webpack_require__){(function(global){var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;module.exports=freeGlobal}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(221);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var nativeObjectToString=objectProto.toString;var symToStringTag=Symbol?Symbol.toStringTag:undefined;function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=true}catch(e){}var result=nativeObjectToString.call(value);if(unmasked){if(isOwn){value[symToStringTag]=tag}else{delete value[symToStringTag]}}return result}module.exports=getRawTag},function(module,exports){var objectProto=Object.prototype;var nativeObjectToString=objectProto.toString;function objectToString(value){return nativeObjectToString.call(value)}module.exports=objectToString},function(module,exports,__webpack_require__){var coreJsData=__webpack_require__(1229);var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}module.exports=isMasked},function(module,exports,__webpack_require__){var root=__webpack_require__(158);var coreJsData=root["__core-js_shared__"];module.exports=coreJsData},function(module,exports){var funcProto=Function.prototype;var funcToString=funcProto.toString;function toSource(func){if(func!=null){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}module.exports=toSource},function(module,exports){function getValue(object,key){return object==null?undefined:object[key]}module.exports=getValue},function(module,exports,__webpack_require__){var isArray=__webpack_require__(222),isKey=__webpack_require__(1233),stringToPath=__webpack_require__(1235),toString=__webpack_require__(1258);function castPath(value,object){if(isArray(value)){return value}return isKey(value,object)?[value]:stringToPath(toString(value))}module.exports=castPath},function(module,exports,__webpack_require__){var isArray=__webpack_require__(222),isSymbol=__webpack_require__(159);var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(value,object){if(isArray(value)){return false}var type=typeof value;if(type=="number"||type=="symbol"||type=="boolean"||value==null||isSymbol(value)){return true}return reIsPlainProp.test(value)||!reIsDeepProp.test(value)||object!=null&&value in Object(object)}module.exports=isKey},function(module,exports){function isObjectLike(value){return value!=null&&typeof value=="object"}module.exports=isObjectLike},function(module,exports,__webpack_require__){var memoizeCapped=__webpack_require__(1236);var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var reEscapeChar=/\\(\\)?/g;var stringToPath=memoizeCapped((function(string){var result=[];if(string.charCodeAt(0)===46){result.push("")}string.replace(rePropName,(function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar,"$1"):number||match)}));return result}));module.exports=stringToPath},function(module,exports,__webpack_require__){var memoize=__webpack_require__(1237);var MAX_MEMOIZE_SIZE=500;function memoizeCapped(func){var result=memoize(func,(function(key){if(cache.size===MAX_MEMOIZE_SIZE){cache.clear()}return key}));var cache=result.cache;return result}module.exports=memoizeCapped},function(module,exports,__webpack_require__){var MapCache=__webpack_require__(1238);var FUNC_ERROR_TEXT="Expected a function";function memoize(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result=func.apply(this,args);memoized.cache=cache.set(key,result)||cache;return result};memoized.cache=new(memoize.Cache||MapCache);return memoized}memoize.Cache=MapCache;module.exports=memoize},function(module,exports,__webpack_require__){var mapCacheClear=__webpack_require__(1239),mapCacheDelete=__webpack_require__(1253),mapCacheGet=__webpack_require__(1255),mapCacheHas=__webpack_require__(1256),mapCacheSet=__webpack_require__(1257);function MapCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}MapCache.prototype.clear=mapCacheClear;MapCache.prototype["delete"]=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;module.exports=MapCache},function(module,exports,__webpack_require__){var Hash=__webpack_require__(1240),ListCache=__webpack_require__(1246),Map=__webpack_require__(1252);function mapCacheClear(){this.size=0;this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}module.exports=mapCacheClear},function(module,exports,__webpack_require__){var hashClear=__webpack_require__(1241),hashDelete=__webpack_require__(1242),hashGet=__webpack_require__(1243),hashHas=__webpack_require__(1244),hashSet=__webpack_require__(1245);function Hash(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}Hash.prototype.clear=hashClear;Hash.prototype["delete"]=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;module.exports=Hash},function(module,exports,__webpack_require__){var nativeCreate=__webpack_require__(160);function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};this.size=0}module.exports=hashClear},function(module,exports){function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];this.size-=result?1:0;return result}module.exports=hashDelete},function(module,exports,__webpack_require__){var nativeCreate=__webpack_require__(160);var HASH_UNDEFINED="__lodash_hash_undefined__";var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?undefined:result}return hasOwnProperty.call(data,key)?data[key]:undefined}module.exports=hashGet},function(module,exports,__webpack_require__){var nativeCreate=__webpack_require__(160);var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined:hasOwnProperty.call(data,key)}module.exports=hashHas},function(module,exports,__webpack_require__){var nativeCreate=__webpack_require__(160);var HASH_UNDEFINED="__lodash_hash_undefined__";function hashSet(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate&&value===undefined?HASH_UNDEFINED:value;return this}module.exports=hashSet},function(module,exports,__webpack_require__){var listCacheClear=__webpack_require__(1247),listCacheDelete=__webpack_require__(1248),listCacheGet=__webpack_require__(1249),listCacheHas=__webpack_require__(1250),listCacheSet=__webpack_require__(1251);function ListCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1])}}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;module.exports=ListCache},function(module,exports){function listCacheClear(){this.__data__=[];this.size=0}module.exports=listCacheClear},function(module,exports,__webpack_require__){var assocIndexOf=__webpack_require__(161);var arrayProto=Array.prototype;var splice=arrayProto.splice;function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){return false}var lastIndex=data.length-1;if(index==lastIndex){data.pop()}else{splice.call(data,index,1)}--this.size;return true}module.exports=listCacheDelete},function(module,exports,__webpack_require__){var assocIndexOf=__webpack_require__(161);function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1]}module.exports=listCacheGet},function(module,exports,__webpack_require__){var assocIndexOf=__webpack_require__(161);function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}module.exports=listCacheHas},function(module,exports,__webpack_require__){var assocIndexOf=__webpack_require__(161);function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){++this.size;data.push([key,value])}else{data[index][1]=value}return this}module.exports=listCacheSet},function(module,exports,__webpack_require__){var getNative=__webpack_require__(220),root=__webpack_require__(158);var Map=getNative(root,"Map");module.exports=Map},function(module,exports,__webpack_require__){var getMapData=__webpack_require__(162);function mapCacheDelete(key){var result=getMapData(this,key)["delete"](key);this.size-=result?1:0;return result}module.exports=mapCacheDelete},function(module,exports){function isKeyable(value){var type=typeof value;return type=="string"||type=="number"||type=="symbol"||type=="boolean"?value!=="__proto__":value===null}module.exports=isKeyable},function(module,exports,__webpack_require__){var getMapData=__webpack_require__(162);function mapCacheGet(key){return getMapData(this,key).get(key)}module.exports=mapCacheGet},function(module,exports,__webpack_require__){var getMapData=__webpack_require__(162);function mapCacheHas(key){return getMapData(this,key).has(key)}module.exports=mapCacheHas},function(module,exports,__webpack_require__){var getMapData=__webpack_require__(162);function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;data.set(key,value);this.size+=data.size==size?0:1;return this}module.exports=mapCacheSet},function(module,exports,__webpack_require__){var baseToString=__webpack_require__(1259);function toString(value){return value==null?"":baseToString(value)}module.exports=toString},function(module,exports,__webpack_require__){var Symbol=__webpack_require__(221),arrayMap=__webpack_require__(1260),isArray=__webpack_require__(222),isSymbol=__webpack_require__(159);var INFINITY=1/0;var symbolProto=Symbol?Symbol.prototype:undefined,symbolToString=symbolProto?symbolProto.toString:undefined;function baseToString(value){if(typeof value=="string"){return value}if(isArray(value)){return arrayMap(value,baseToString)+""}if(isSymbol(value)){return symbolToString?symbolToString.call(value):""}var result=value+"";return result=="0"&&1/value==-INFINITY?"-0":result}module.exports=baseToString},function(module,exports){function arrayMap(array,iteratee){var index=-1,length=array==null?0:array.length,result=Array(length);while(++index<length){result[index]=iteratee(array[index],index,array)}return result}module.exports=arrayMap},function(module,exports){var MAX_SAFE_INTEGER=9007199254740991;var reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value,length){var type=typeof value;length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(type=="number"||type!="symbol"&&reIsUint.test(value))&&(value>-1&&value%1==0&&value<length)}module.exports=isIndex},function(module,exports,__webpack_require__){var isSymbol=__webpack_require__(159);var INFINITY=1/0;function toKey(value){if(typeof value=="string"||isSymbol(value)){return value}var result=value+"";return result=="0"&&1/value==-INFINITY?"-0":result}module.exports=toKey},,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */var saveAs=saveAs||function(view){"use strict";if(typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var doc=view.document,get_URL=function(){return view.URL||view.webkitURL||view},save_link=doc.createElementNS("http://www.w3.org/1999/xhtml","a"),can_use_save_link="download"in save_link,click=function(node){var event=new MouseEvent("click");node.dispatchEvent(event)},webkit_req_fs=view.webkitRequestFileSystem,req_fs=view.requestFileSystem||webkit_req_fs||view.mozRequestFileSystem,throw_outside=function(ex){(view.setImmediate||view.setTimeout)((function(){throw ex}),0)},force_saveable_type="application/octet-stream",fs_min_size=0,arbitrary_revoke_timeout=500,revoke=function(file){var revoker=function(){if(typeof file==="string"){get_URL().revokeObjectURL(file)}else{file.remove()}};if(view.chrome){revoker()}else{setTimeout(revoker,arbitrary_revoke_timeout)}},dispatch=function(filesaver,event_types,event){event_types=[].concat(event_types);var i=event_types.length;while(i--){var listener=filesaver["on"+event_types[i]];if(typeof listener==="function"){try{listener.call(filesaver,event||filesaver)}catch(ex){throw_outside(ex)}}}},auto_bom=function(blob){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)){return new Blob(["\ufeff",blob],{type:blob.type})}return blob},FileSaver=function(blob,name,no_auto_bom){if(!no_auto_bom){blob=auto_bom(blob)}var filesaver=this,type=blob.type,blob_changed=false,object_url,target_view,dispatch_all=function(){dispatch(filesaver,"writestart progress write writeend".split(" "))},fs_error=function(){if(blob_changed||!object_url){object_url=get_URL().createObjectURL(blob)}if(target_view){target_view.location.href=object_url}else{var new_tab=view.open(object_url,"_blank");if(new_tab==undefined&&typeof safari!=="undefined"){view.location.href=object_url}}filesaver.readyState=filesaver.DONE;dispatch_all();revoke(object_url)},abortable=function(func){return function(){if(filesaver.readyState!==filesaver.DONE){return func.apply(this,arguments)}}},create_if_not_found={create:true,exclusive:false},slice;filesaver.readyState=filesaver.INIT;if(!name){name="download"}if(can_use_save_link){object_url=get_URL().createObjectURL(blob);save_link.href=object_url;save_link.download=name;setTimeout((function(){click(save_link);dispatch_all();revoke(object_url);filesaver.readyState=filesaver.DONE}));return}if(view.chrome&&type&&type!==force_saveable_type){slice=blob.slice||blob.webkitSlice;blob=slice.call(blob,0,blob.size,force_saveable_type);blob_changed=true}if(webkit_req_fs&&name!=="download"){name+=".download"}if(type===force_saveable_type||webkit_req_fs){target_view=view}if(!req_fs){fs_error();return}fs_min_size+=blob.size;req_fs(view.TEMPORARY,fs_min_size,abortable((function(fs){fs.root.getDirectory("saved",create_if_not_found,abortable((function(dir){var save=function(){dir.getFile(name,create_if_not_found,abortable((function(file){file.createWriter(abortable((function(writer){writer.onwriteend=function(event){target_view.location.href=file.toURL();filesaver.readyState=filesaver.DONE;dispatch(filesaver,"writeend",event);revoke(file)};writer.onerror=function(){var error=writer.error;if(error.code!==error.ABORT_ERR){fs_error()}};"writestart progress write abort".split(" ").forEach((function(event){writer["on"+event]=filesaver["on"+event]}));writer.write(blob);filesaver.abort=function(){writer.abort();filesaver.readyState=filesaver.DONE};filesaver.readyState=filesaver.WRITING})),fs_error)})),fs_error)};dir.getFile(name,{create:false},abortable((function(file){file.remove();save()})),abortable((function(ex){if(ex.code===ex.NOT_FOUND_ERR){save()}else{fs_error()}})))})),fs_error)})),fs_error)},FS_proto=FileSaver.prototype,saveAs=function(blob,name,no_auto_bom){return new FileSaver(blob,name,no_auto_bom)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(blob,name,no_auto_bom){if(!no_auto_bom){blob=auto_bom(blob)}return navigator.msSaveOrOpenBlob(blob,name||"download")}}FS_proto.abort=function(){var filesaver=this;filesaver.readyState=filesaver.DONE;dispatch(filesaver,"abort")};FS_proto.readyState=FS_proto.INIT=0;FS_proto.WRITING=1;FS_proto.DONE=2;FS_proto.error=FS_proto.onwritestart=FS_proto.onprogress=FS_proto.onwrite=FS_proto.onabort=FS_proto.onerror=FS_proto.onwriteend=null;return saveAs}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(true&&module.exports){module.exports.saveAs=saveAs}else if(true&&__webpack_require__(1283)!==null&&__webpack_require__(1284)!=null){!(__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_RESULT__=function(){return saveAs}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__),__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}},function(module,exports){module.exports=function(){throw new Error("define cannot be used indirect")}},function(module,exports){(function(__webpack_amd_options__){module.exports=__webpack_amd_options__}).call(this,{})},,,,,,,,,,function(module,exports,__webpack_require__){var v1=__webpack_require__(1295);var v4=__webpack_require__(346);var uuid=v4;uuid.v1=v1;uuid.v4=v4;module.exports=uuid},function(module,exports,__webpack_require__){var rng=__webpack_require__(347);var bytesToUuid=__webpack_require__(348);var _nodeId;var _clockseq;var _lastMSecs=0;var _lastNSecs=0;function v1(options,buf,offset){var i=buf&&offset||0;var b=buf||[];options=options||{};var node=options.node||_nodeId;var clockseq=options.clockseq!==undefined?options.clockseq:_clockseq;if(node==null||clockseq==null){var seedBytes=rng();if(node==null){node=_nodeId=[seedBytes[0]|1,seedBytes[1],seedBytes[2],seedBytes[3],seedBytes[4],seedBytes[5]]}if(clockseq==null){clockseq=_clockseq=(seedBytes[6]<<8|seedBytes[7])&16383}}var msecs=options.msecs!==undefined?options.msecs:(new Date).getTime();var nsecs=options.nsecs!==undefined?options.nsecs:_lastNSecs+1;var dt=msecs-_lastMSecs+(nsecs-_lastNSecs)/1e4;if(dt<0&&options.clockseq===undefined){clockseq=clockseq+1&16383}if((dt<0||msecs>_lastMSecs)&&options.nsecs===undefined){nsecs=0}if(nsecs>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}_lastMSecs=msecs;_lastNSecs=nsecs;_clockseq=clockseq;msecs+=122192928e5;var tl=((msecs&268435455)*1e4+nsecs)%4294967296;b[i++]=tl>>>24&255;b[i++]=tl>>>16&255;b[i++]=tl>>>8&255;b[i++]=tl&255;var tmh=msecs/4294967296*1e4&268435455;b[i++]=tmh>>>8&255;b[i++]=tmh&255;b[i++]=tmh>>>24&15|16;b[i++]=tmh>>>16&255;b[i++]=clockseq>>>8|128;b[i++]=clockseq&255;for(var n=0;n<6;++n){b[i+n]=node[n]}return buf?buf:bytesToUuid(b)}module.exports=v1},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Cell=void 0;const styled_components_1=__importDefault(__webpack_require__(41));const prompt_1=__webpack_require__(224);const shadowLevels={FLAT:"none",HOVERED:`var(\n    --theme-cell-shadow-hover,\n    1px 1px 3px rgba(0, 0, 0, 0.12),\n    -1px -1px 3px rgba(0, 0, 0, 0.12)\n  )`,SELECTED:`var(\n    --theme-cell-shadow-focus,\n    3px 3px 9px rgba(0, 0, 0, 0.12),\n    -3px -3px 9px rgba(0, 0, 0, 0.12)\n  )`};function cellShadowLevel(props){if(props.isSelected){return shadowLevels.SELECTED}if(props._hovered){return shadowLevels.HOVERED}return shadowLevels.FLAT}exports.Cell=styled_components_1.default.div.attrs(props=>({className:props.isSelected?"selected":"",style:{boxShadow:cellShadowLevel(props)}}))`
  & {
    position: relative;
    background: var(--theme-cell-bg, white);
    transition: all 0.1s ease-in-out;
  }

  /* The box shadow for hovered should only apply when not already selected */
  &:hover:not(.selected) {
    box-shadow: ${shadowLevels.HOVERED};
  }

  /*
  Our cells conditionally style the prompt contained within based on if the cell is
  selected or hovered. To do this with styled-components we use their method of
  referring to other components:

  https://www.styled-components.com/docs/advanced#referring-to-other-components

  */
  & ${prompt_1.Prompt} {
    /* We change nothing when the cell is not selected, focused, or hovered */
  }
  &.selected ${prompt_1.Prompt} {
    background-color: var(--theme-cell-prompt-bg-focus, hsl(0, 0%, 90%));
    color: var(--theme-cell-prompt-fg-focus, hsl(0, 0%, 51%));
  }

  &:hover:not(.selected) ${prompt_1.Prompt}, &:active:not(.selected) ${prompt_1.Prompt} {
    background-color: var(--theme-cell-prompt-bg-hover, hsl(0, 0%, 94%));
    color: var(--theme-cell-prompt-fg-hover, hsl(0, 0%, 15%));
  }

  &:focus ${prompt_1.Prompt} {
    background-color: var(--theme-cell-prompt-bg-focus, hsl(0, 0%, 90%));
    color: var(--theme-cell-prompt-fg-focus, hsl(0, 0%, 51%));
  }
  @media print{
    /* make sure all cells look the same in print regarless of focus */
    & ${prompt_1.Prompt}, &.selected ${prompt_1.Prompt}, &:focus ${prompt_1.Prompt}, &:hover:not(.selected) ${prompt_1.Prompt} {
      background-color: var(--theme-cell-prompt-bg, white);
      color: var(--theme-cell-prompt-fg, black);
    }
  }
`;exports.Cell.displayName="Cell";exports.Cell.defaultProps={isSelected:false,_hovered:false,children:null};exports.default=exports.Cell},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Cells=void 0;const styled_components_1=__importDefault(__webpack_require__(41));exports.Cells=styled_components_1.default.div`
  & > * {
    margin: 20px 0;
  }

  & {
    font-family: "Source Sans Pro", Helvetica Neue, Helvetica, sans-serif;
    font-size: 16px;
    background-color: var(--theme-app-bg);
    color: var(--theme-app-fg);

    padding-bottom: 10px;
  }
`;exports.Cells.displayName="Cells";exports.default=exports.Cells},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(__webpack_require__(1299),exports)},function(module,exports,__webpack_require__){"use strict";var __rest=this&&this.__rest||function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.CircularButton=void 0;const react_1=__importDefault(__webpack_require__(35));const classnames_1=__importDefault(__webpack_require__(76));const ProgressRing_1=__webpack_require__(1300);class CircularButton extends react_1.default.PureComponent{constructor(props){super(props);this.buttonRef=props.buttonRef||undefined}render(){const _a=this.props,{showPercent:showPercent,percent:percent,children:children,className:additionalClasses,buttonRef:buttonRef}=_a,props=__rest(_a,["showPercent","percent","children","className","buttonRef"]);const classes=classnames_1.default("circular-button",{progress:showPercent},additionalClasses);return react_1.default.createElement("button",Object.assign({ref:this.buttonRef,className:classes},props),react_1.default.createElement(ProgressRing_1.ProgressRing,{radius:16,stroke:1,progress:percent||0}),children)}}exports.CircularButton=CircularButton},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.ProgressRing=void 0;const react_1=__importDefault(__webpack_require__(35));exports.ProgressRing=({radius:radius,stroke:stroke,progress:progress})=>{const normalizedRadius=radius-stroke;const circumference=normalizedRadius*2*Math.PI;const strokeDashoffset=circumference-progress/100*circumference;return react_1.default.createElement("svg",{height:radius*2,width:radius*2,className:"progress-ring"},react_1.default.createElement("circle",{stroke:"#000",fill:"transparent",strokeWidth:stroke,strokeDasharray:`${circumference} ${circumference}`,style:{strokeDashoffset:strokeDashoffset},r:normalizedRadius,cx:radius,cy:radius}))}},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Error=void 0;const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));exports.Error=props=>{var _a;return props.error?React.createElement("p",{className:props.className},React.createElement("b",null,(_a=props.error.name)!==null&&_a!==void 0?_a:"Error",":")," ",props.error.message):null};const StyledError=styled_components_1.default(exports.Error)`
  background: var(--theme-error-bg);
  color: var(--theme-error-fg);
  border: 1px solid;
  padding: 0.5ex;
`;exports.default=StyledError},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Input=void 0;const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const prompt_1=__webpack_require__(224);const source_1=__webpack_require__(349);class BareInput extends React.Component{render(){if(this.props.hidden){return null}return React.createElement("div",{className:this.props.className},this.props.children)}}BareInput.defaultProps={children:null,hidden:false};exports.Input=styled_components_1.default(BareInput)`
  & {
    display: flex;
    flex-direction: row;
  }

  &.invisible {
    height: 34px;
  }

  & ${prompt_1.Prompt} {
    flex: 0 0 auto;
  }

  & ${source_1.Source} {
    flex: 1 1 auto;
    overflow: visible;
    background-color: var(--theme-cell-input-bg, #fafafa);
  }
`;exports.Input.displayName="Input";exports.default=exports.Input},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const react_syntax_highlighter_1=__webpack_require__(1304);const vs_1=__importDefault(__webpack_require__(1380));const xonokai_1=__importDefault(__webpack_require__(1381));const customStyle={padding:"10px 0px 10px 10px",margin:"0px",backgroundColor:"var(--cm-background, #fafafa)",border:"none"};const Highlighter=props=>{let language=props.language;if(language==="ipython"){language="python"}else if(language==="text/x-scala"){language="scala"}else if(language.startsWith("text/x-")){language=language.slice("text/x-".length)}return React.createElement(react_syntax_highlighter_1.Prism,{style:props.theme==="light"?vs_1.default:xonokai_1.default,language:language,className:props.className,customStyle:customStyle},props.children)};Highlighter.defaultProps={theme:"light",language:"text",children:"",className:"input"};exports.default=Highlighter},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function get(){return _defaultHighlight.default}});Object.defineProperty(exports,"LightAsync",{enumerable:true,get:function get(){return _lightAsync.default}});Object.defineProperty(exports,"Light",{enumerable:true,get:function get(){return _light.default}});Object.defineProperty(exports,"PrismAsyncLight",{enumerable:true,get:function get(){return _prismAsyncLight.default}});Object.defineProperty(exports,"PrismAsync",{enumerable:true,get:function get(){return _prismAsync.default}});Object.defineProperty(exports,"PrismLight",{enumerable:true,get:function get(){return _prismLight.default}});Object.defineProperty(exports,"Prism",{enumerable:true,get:function get(){return _prism.default}});Object.defineProperty(exports,"createElement",{enumerable:true,get:function get(){return _createElement.default}});var _defaultHighlight=_interopRequireDefault(__webpack_require__(1305));var _lightAsync=_interopRequireDefault(__webpack_require__(1320));var _light=_interopRequireDefault(__webpack_require__(1331));var _prismAsyncLight=_interopRequireDefault(__webpack_require__(1332));var _prismAsync=_interopRequireDefault(__webpack_require__(1352));var _prismLight=_interopRequireDefault(__webpack_require__(1377));var _prism=_interopRequireDefault(__webpack_require__(1378));var _createElement=_interopRequireDefault(__webpack_require__(353))},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _highlight=_interopRequireDefault(__webpack_require__(126));var _defaultStyle=_interopRequireDefault(__webpack_require__(1313));var _lowlight=_interopRequireDefault(__webpack_require__(1314));var _supportedLanguages=_interopRequireDefault(__webpack_require__(1319));var highlighter=(0,_highlight.default)(_lowlight.default,_defaultStyle.default);highlighter.supportedLanguages=_supportedLanguages.default;var _default=highlighter;exports.default=_default},function(module,exports,__webpack_require__){var objectWithoutPropertiesLoose=__webpack_require__(1307);function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}module.exports=_objectWithoutProperties;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}module.exports=_objectWithoutPropertiesLoose;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){var arrayWithoutHoles=__webpack_require__(1309);var iterableToArray=__webpack_require__(1310);var unsupportedIterableToArray=__webpack_require__(1311);var nonIterableSpread=__webpack_require__(1312);function _toConsumableArray(arr){return arrayWithoutHoles(arr)||iterableToArray(arr)||unsupportedIterableToArray(arr)||nonIterableSpread()}module.exports=_toConsumableArray;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){var arrayLikeToArray=__webpack_require__(350);function _arrayWithoutHoles(arr){if(Array.isArray(arr))return arrayLikeToArray(arr)}module.exports=_arrayWithoutHoles;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}module.exports=_iterableToArray;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){var arrayLikeToArray=__webpack_require__(350);function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return arrayLikeToArray(o,minLen)}module.exports=_unsupportedIterableToArray;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}module.exports=_nonIterableSpread;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default={hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#F0F0F0",color:"#444"},"hljs-subst":{color:"#444"},"hljs-comment":{color:"#888888"},"hljs-keyword":{fontWeight:"bold"},"hljs-attribute":{fontWeight:"bold"},"hljs-selector-tag":{fontWeight:"bold"},"hljs-meta-keyword":{fontWeight:"bold"},"hljs-doctag":{fontWeight:"bold"},"hljs-name":{fontWeight:"bold"},"hljs-type":{color:"#880000"},"hljs-string":{color:"#880000"},"hljs-number":{color:"#880000"},"hljs-selector-id":{color:"#880000"},"hljs-selector-class":{color:"#880000"},"hljs-quote":{color:"#880000"},"hljs-template-tag":{color:"#880000"},"hljs-deletion":{color:"#880000"},"hljs-title":{color:"#880000",fontWeight:"bold"},"hljs-section":{color:"#880000",fontWeight:"bold"},"hljs-regexp":{color:"#BC6060"},"hljs-symbol":{color:"#BC6060"},"hljs-variable":{color:"#BC6060"},"hljs-template-variable":{color:"#BC6060"},"hljs-link":{color:"#BC6060"},"hljs-selector-attr":{color:"#BC6060"},"hljs-selector-pseudo":{color:"#BC6060"},"hljs-literal":{color:"#78A960"},"hljs-built_in":{color:"#397300"},"hljs-bullet":{color:"#397300"},"hljs-code":{color:"#397300"},"hljs-addition":{color:"#397300"},"hljs-meta":{color:"#1f7199"},"hljs-meta-string":{color:"#4d99bf"},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}};exports.default=_default},function(module,exports,__webpack_require__){"use strict";var low=__webpack_require__(225);module.exports=low;low.registerLanguage("1c",__webpack_require__(356));low.registerLanguage("abnf",__webpack_require__(357));low.registerLanguage("accesslog",__webpack_require__(358));low.registerLanguage("actionscript",__webpack_require__(359));low.registerLanguage("ada",__webpack_require__(360));low.registerLanguage("angelscript",__webpack_require__(361));low.registerLanguage("apache",__webpack_require__(362));low.registerLanguage("applescript",__webpack_require__(363));low.registerLanguage("arcade",__webpack_require__(364));low.registerLanguage("arduino",__webpack_require__(365));low.registerLanguage("armasm",__webpack_require__(366));low.registerLanguage("xml",__webpack_require__(367));low.registerLanguage("asciidoc",__webpack_require__(368));low.registerLanguage("aspectj",__webpack_require__(369));low.registerLanguage("autohotkey",__webpack_require__(370));low.registerLanguage("autoit",__webpack_require__(371));low.registerLanguage("avrasm",__webpack_require__(372));low.registerLanguage("awk",__webpack_require__(373));low.registerLanguage("axapta",__webpack_require__(374));low.registerLanguage("bash",__webpack_require__(375));low.registerLanguage("basic",__webpack_require__(376));low.registerLanguage("bnf",__webpack_require__(377));low.registerLanguage("brainfuck",__webpack_require__(378));low.registerLanguage("c-like",__webpack_require__(379));low.registerLanguage("c",__webpack_require__(380));low.registerLanguage("cal",__webpack_require__(381));low.registerLanguage("capnproto",__webpack_require__(382));low.registerLanguage("ceylon",__webpack_require__(383));low.registerLanguage("clean",__webpack_require__(384));low.registerLanguage("clojure",__webpack_require__(385));low.registerLanguage("clojure-repl",__webpack_require__(386));low.registerLanguage("cmake",__webpack_require__(387));low.registerLanguage("coffeescript",__webpack_require__(388));low.registerLanguage("coq",__webpack_require__(389));low.registerLanguage("cos",__webpack_require__(390));low.registerLanguage("cpp",__webpack_require__(391));low.registerLanguage("crmsh",__webpack_require__(392));low.registerLanguage("crystal",__webpack_require__(393));low.registerLanguage("csharp",__webpack_require__(394));low.registerLanguage("csp",__webpack_require__(395));low.registerLanguage("css",__webpack_require__(396));low.registerLanguage("d",__webpack_require__(397));low.registerLanguage("markdown",__webpack_require__(398));low.registerLanguage("dart",__webpack_require__(399));low.registerLanguage("delphi",__webpack_require__(400));low.registerLanguage("diff",__webpack_require__(401));low.registerLanguage("django",__webpack_require__(402));low.registerLanguage("dns",__webpack_require__(403));low.registerLanguage("dockerfile",__webpack_require__(404));low.registerLanguage("dos",__webpack_require__(405));low.registerLanguage("dsconfig",__webpack_require__(406));low.registerLanguage("dts",__webpack_require__(407));low.registerLanguage("dust",__webpack_require__(408));low.registerLanguage("ebnf",__webpack_require__(409));low.registerLanguage("elixir",__webpack_require__(410));low.registerLanguage("elm",__webpack_require__(411));low.registerLanguage("ruby",__webpack_require__(412));low.registerLanguage("erb",__webpack_require__(413));low.registerLanguage("erlang-repl",__webpack_require__(414));low.registerLanguage("erlang",__webpack_require__(415));low.registerLanguage("excel",__webpack_require__(416));low.registerLanguage("fix",__webpack_require__(417));low.registerLanguage("flix",__webpack_require__(418));low.registerLanguage("fortran",__webpack_require__(419));low.registerLanguage("fsharp",__webpack_require__(420));low.registerLanguage("gams",__webpack_require__(421));low.registerLanguage("gauss",__webpack_require__(422));low.registerLanguage("gcode",__webpack_require__(423));low.registerLanguage("gherkin",__webpack_require__(424));low.registerLanguage("glsl",__webpack_require__(425));low.registerLanguage("gml",__webpack_require__(426));low.registerLanguage("go",__webpack_require__(427));low.registerLanguage("golo",__webpack_require__(428));low.registerLanguage("gradle",__webpack_require__(429));low.registerLanguage("groovy",__webpack_require__(430));low.registerLanguage("haml",__webpack_require__(431));low.registerLanguage("handlebars",__webpack_require__(432));low.registerLanguage("haskell",__webpack_require__(433));low.registerLanguage("haxe",__webpack_require__(434));low.registerLanguage("hsp",__webpack_require__(435));low.registerLanguage("htmlbars",__webpack_require__(436));low.registerLanguage("http",__webpack_require__(437));low.registerLanguage("hy",__webpack_require__(438));low.registerLanguage("inform7",__webpack_require__(439));low.registerLanguage("ini",__webpack_require__(440));low.registerLanguage("irpf90",__webpack_require__(441));low.registerLanguage("isbl",__webpack_require__(442));low.registerLanguage("java",__webpack_require__(443));low.registerLanguage("javascript",__webpack_require__(444));low.registerLanguage("jboss-cli",__webpack_require__(445));low.registerLanguage("json",__webpack_require__(446));low.registerLanguage("julia",__webpack_require__(447));low.registerLanguage("julia-repl",__webpack_require__(448));low.registerLanguage("kotlin",__webpack_require__(449));low.registerLanguage("lasso",__webpack_require__(450));low.registerLanguage("latex",__webpack_require__(451));low.registerLanguage("ldif",__webpack_require__(452));low.registerLanguage("leaf",__webpack_require__(453));low.registerLanguage("less",__webpack_require__(454));low.registerLanguage("lisp",__webpack_require__(455));low.registerLanguage("livecodeserver",__webpack_require__(456));low.registerLanguage("livescript",__webpack_require__(457));low.registerLanguage("llvm",__webpack_require__(458));low.registerLanguage("lsl",__webpack_require__(459));low.registerLanguage("lua",__webpack_require__(460));low.registerLanguage("makefile",__webpack_require__(461));low.registerLanguage("mathematica",__webpack_require__(462));low.registerLanguage("matlab",__webpack_require__(463));low.registerLanguage("maxima",__webpack_require__(464));low.registerLanguage("mel",__webpack_require__(465));low.registerLanguage("mercury",__webpack_require__(466));low.registerLanguage("mipsasm",__webpack_require__(467));low.registerLanguage("mizar",__webpack_require__(468));low.registerLanguage("perl",__webpack_require__(469));low.registerLanguage("mojolicious",__webpack_require__(470));low.registerLanguage("monkey",__webpack_require__(471));low.registerLanguage("moonscript",__webpack_require__(472));low.registerLanguage("n1ql",__webpack_require__(473));low.registerLanguage("nginx",__webpack_require__(474));low.registerLanguage("nim",__webpack_require__(475));low.registerLanguage("nix",__webpack_require__(476));low.registerLanguage("node-repl",__webpack_require__(477));low.registerLanguage("nsis",__webpack_require__(478));low.registerLanguage("objectivec",__webpack_require__(479));low.registerLanguage("ocaml",__webpack_require__(480));low.registerLanguage("openscad",__webpack_require__(481));low.registerLanguage("oxygene",__webpack_require__(482));low.registerLanguage("parser3",__webpack_require__(483));low.registerLanguage("pf",__webpack_require__(484));low.registerLanguage("pgsql",__webpack_require__(485));low.registerLanguage("php",__webpack_require__(486));low.registerLanguage("php-template",__webpack_require__(487));low.registerLanguage("plaintext",__webpack_require__(488));low.registerLanguage("pony",__webpack_require__(489));low.registerLanguage("powershell",__webpack_require__(490));low.registerLanguage("processing",__webpack_require__(491));low.registerLanguage("profile",__webpack_require__(492));low.registerLanguage("prolog",__webpack_require__(493));low.registerLanguage("properties",__webpack_require__(494));low.registerLanguage("protobuf",__webpack_require__(495));low.registerLanguage("puppet",__webpack_require__(496));low.registerLanguage("purebasic",__webpack_require__(497));low.registerLanguage("python",__webpack_require__(498));low.registerLanguage("python-repl",__webpack_require__(499));low.registerLanguage("q",__webpack_require__(500));low.registerLanguage("qml",__webpack_require__(501));low.registerLanguage("r",__webpack_require__(502));low.registerLanguage("reasonml",__webpack_require__(503));low.registerLanguage("rib",__webpack_require__(504));low.registerLanguage("roboconf",__webpack_require__(505));low.registerLanguage("routeros",__webpack_require__(506));low.registerLanguage("rsl",__webpack_require__(507));low.registerLanguage("ruleslanguage",__webpack_require__(508));low.registerLanguage("rust",__webpack_require__(509));low.registerLanguage("sas",__webpack_require__(510));low.registerLanguage("scala",__webpack_require__(511));low.registerLanguage("scheme",__webpack_require__(512));low.registerLanguage("scilab",__webpack_require__(513));low.registerLanguage("scss",__webpack_require__(514));low.registerLanguage("shell",__webpack_require__(515));low.registerLanguage("smali",__webpack_require__(516));low.registerLanguage("smalltalk",__webpack_require__(517));low.registerLanguage("sml",__webpack_require__(518));low.registerLanguage("sqf",__webpack_require__(519));low.registerLanguage("sql_more",__webpack_require__(1318));low.registerLanguage("sql",__webpack_require__(520));low.registerLanguage("stan",__webpack_require__(521));low.registerLanguage("stata",__webpack_require__(522));low.registerLanguage("step21",__webpack_require__(523));low.registerLanguage("stylus",__webpack_require__(524));low.registerLanguage("subunit",__webpack_require__(525));low.registerLanguage("swift",__webpack_require__(526));low.registerLanguage("taggerscript",__webpack_require__(527));low.registerLanguage("yaml",__webpack_require__(528));low.registerLanguage("tap",__webpack_require__(529));low.registerLanguage("tcl",__webpack_require__(530));low.registerLanguage("thrift",__webpack_require__(531));low.registerLanguage("tp",__webpack_require__(532));low.registerLanguage("twig",__webpack_require__(533));low.registerLanguage("typescript",__webpack_require__(534));low.registerLanguage("vala",__webpack_require__(535));low.registerLanguage("vbnet",__webpack_require__(536));low.registerLanguage("vbscript",__webpack_require__(537));low.registerLanguage("vbscript-html",__webpack_require__(538));low.registerLanguage("verilog",__webpack_require__(539));low.registerLanguage("vhdl",__webpack_require__(540));low.registerLanguage("vim",__webpack_require__(541));low.registerLanguage("x86asm",__webpack_require__(542));low.registerLanguage("xl",__webpack_require__(543));low.registerLanguage("xquery",__webpack_require__(544));low.registerLanguage("zephir",__webpack_require__(545))},function(module,exports){function deepFreeze(obj){if(obj instanceof Map){obj.clear=obj.delete=obj.set=function(){throw new Error("map is read-only")}}else if(obj instanceof Set){obj.add=obj.clear=obj.delete=function(){throw new Error("set is read-only")}}Object.freeze(obj);Object.getOwnPropertyNames(obj).forEach((function(name){var prop=obj[name];if(typeof prop=="object"&&!Object.isFrozen(prop)){deepFreeze(prop)}}));return obj}var deepFreezeEs6=deepFreeze;var _default=deepFreeze;deepFreezeEs6.default=_default;class Response{constructor(mode){if(mode.data===undefined)mode.data={};this.data=mode.data;this.isMatchIgnored=false}ignoreMatch(){this.isMatchIgnored=true}}function escapeHTML(value){return value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function inherit(original,...objects){const result=Object.create(null);for(const key in original){result[key]=original[key]}objects.forEach((function(obj){for(const key in obj){result[key]=obj[key]}}));return result}const SPAN_CLOSE="</span>";const emitsWrappingTags=node=>!!node.kind;class HTMLRenderer{constructor(parseTree,options){this.buffer="";this.classPrefix=options.classPrefix;parseTree.walk(this)}addText(text){this.buffer+=escapeHTML(text)}openNode(node){if(!emitsWrappingTags(node))return;let className=node.kind;if(!node.sublanguage){className=`${this.classPrefix}${className}`}this.span(className)}closeNode(node){if(!emitsWrappingTags(node))return;this.buffer+=SPAN_CLOSE}value(){return this.buffer}span(className){this.buffer+=`<span class="${className}">`}}class TokenTree{constructor(){this.rootNode={children:[]};this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(node){this.top.children.push(node)}openNode(kind){const node={kind:kind,children:[]};this.add(node);this.stack.push(node)}closeNode(){if(this.stack.length>1){return this.stack.pop()}return undefined}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(builder){return this.constructor._walk(builder,this.rootNode)}static _walk(builder,node){if(typeof node==="string"){builder.addText(node)}else if(node.children){builder.openNode(node);node.children.forEach(child=>this._walk(builder,child));builder.closeNode(node)}return builder}static _collapse(node){if(typeof node==="string")return;if(!node.children)return;if(node.children.every(el=>typeof el==="string")){node.children=[node.children.join("")]}else{node.children.forEach(child=>{TokenTree._collapse(child)})}}}class TokenTreeEmitter extends TokenTree{constructor(options){super();this.options=options}addKeyword(text,kind){if(text===""){return}this.openNode(kind);this.addText(text);this.closeNode()}addText(text){if(text===""){return}this.add(text)}addSublanguage(emitter,name){const node=emitter.root;node.kind=name;node.sublanguage=true;this.add(node)}toHTML(){const renderer=new HTMLRenderer(this,this.options);return renderer.value()}finalize(){return true}}function escape(value){return new RegExp(value.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function source(re){if(!re)return null;if(typeof re==="string")return re;return re.source}function concat(...args){const joined=args.map(x=>source(x)).join("");return joined}function either(...args){const joined="("+args.map(x=>source(x)).join("|")+")";return joined}function countMatchGroups(re){return new RegExp(re.toString()+"|").exec("").length-1}function startsWith(re,lexeme){const match=re&&re.exec(lexeme);return match&&match.index===0}const BACKREF_RE=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function join(regexps,separator="|"){let numCaptures=0;return regexps.map(regex=>{numCaptures+=1;const offset=numCaptures;let re=source(regex);let out="";while(re.length>0){const match=BACKREF_RE.exec(re);if(!match){out+=re;break}out+=re.substring(0,match.index);re=re.substring(match.index+match[0].length);if(match[0][0]==="\\"&&match[1]){out+="\\"+String(Number(match[1])+offset)}else{out+=match[0];if(match[0]==="("){numCaptures++}}}return out}).map(re=>`(${re})`).join(separator)}const MATCH_NOTHING_RE=/\b\B/;const IDENT_RE="[a-zA-Z]\\w*";const UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*";const NUMBER_RE="\\b\\d+(\\.\\d+)?";const C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";const BINARY_NUMBER_RE="\\b(0b[01]+)";const RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";const SHEBANG=(opts={})=>{const beginShebang=/^#![ ]*\//;if(opts.binary){opts.begin=concat(beginShebang,/.*\b/,opts.binary,/\b.*/)}return inherit({className:"meta",begin:beginShebang,end:/$/,relevance:0,"on:begin":(m,resp)=>{if(m.index!==0)resp.ignoreMatch()}},opts)};const BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0};const APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[BACKSLASH_ESCAPE]};const QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[BACKSLASH_ESCAPE]};const PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/};const COMMENT=function(begin,end,modeOptions={}){const mode=inherit({className:"comment",begin:begin,end:end,contains:[]},modeOptions);mode.contains.push(PHRASAL_WORDS_MODE);mode.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0});return mode};const C_LINE_COMMENT_MODE=COMMENT("//","$");const C_BLOCK_COMMENT_MODE=COMMENT("/\\*","\\*/");const HASH_COMMENT_MODE=COMMENT("#","$");const NUMBER_MODE={className:"number",begin:NUMBER_RE,relevance:0};const C_NUMBER_MODE={className:"number",begin:C_NUMBER_RE,relevance:0};const BINARY_NUMBER_MODE={className:"number",begin:BINARY_NUMBER_RE,relevance:0};const CSS_NUMBER_MODE={className:"number",begin:NUMBER_RE+"("+"%|em|ex|ch|rem"+"|vw|vh|vmin|vmax"+"|cm|mm|in|pt|pc|px"+"|deg|grad|rad|turn"+"|s|ms"+"|Hz|kHz"+"|dpi|dpcm|dppx"+")?",relevance:0};const REGEXP_MODE={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[BACKSLASH_ESCAPE]}]}]};const TITLE_MODE={className:"title",begin:IDENT_RE,relevance:0};const UNDERSCORE_TITLE_MODE={className:"title",begin:UNDERSCORE_IDENT_RE,relevance:0};const METHOD_GUARD={begin:"\\.\\s*"+UNDERSCORE_IDENT_RE,relevance:0};const END_SAME_AS_BEGIN=function(mode){return Object.assign(mode,{"on:begin":(m,resp)=>{resp.data._beginMatch=m[1]},"on:end":(m,resp)=>{if(resp.data._beginMatch!==m[1])resp.ignoreMatch()}})};var MODES=Object.freeze({__proto__:null,MATCH_NOTHING_RE:MATCH_NOTHING_RE,IDENT_RE:IDENT_RE,UNDERSCORE_IDENT_RE:UNDERSCORE_IDENT_RE,NUMBER_RE:NUMBER_RE,C_NUMBER_RE:C_NUMBER_RE,BINARY_NUMBER_RE:BINARY_NUMBER_RE,RE_STARTERS_RE:RE_STARTERS_RE,SHEBANG:SHEBANG,BACKSLASH_ESCAPE:BACKSLASH_ESCAPE,APOS_STRING_MODE:APOS_STRING_MODE,QUOTE_STRING_MODE:QUOTE_STRING_MODE,PHRASAL_WORDS_MODE:PHRASAL_WORDS_MODE,COMMENT:COMMENT,C_LINE_COMMENT_MODE:C_LINE_COMMENT_MODE,C_BLOCK_COMMENT_MODE:C_BLOCK_COMMENT_MODE,HASH_COMMENT_MODE:HASH_COMMENT_MODE,NUMBER_MODE:NUMBER_MODE,C_NUMBER_MODE:C_NUMBER_MODE,BINARY_NUMBER_MODE:BINARY_NUMBER_MODE,CSS_NUMBER_MODE:CSS_NUMBER_MODE,REGEXP_MODE:REGEXP_MODE,TITLE_MODE:TITLE_MODE,UNDERSCORE_TITLE_MODE:UNDERSCORE_TITLE_MODE,METHOD_GUARD:METHOD_GUARD,END_SAME_AS_BEGIN:END_SAME_AS_BEGIN});function skipIfhasPrecedingDot(match,response){const before=match.input[match.index-1];if(before==="."){response.ignoreMatch()}}function beginKeywords(mode,parent){if(!parent)return;if(!mode.beginKeywords)return;mode.begin="\\b("+mode.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)";mode.__beforeBegin=skipIfhasPrecedingDot;mode.keywords=mode.keywords||mode.beginKeywords;delete mode.beginKeywords;if(mode.relevance===undefined)mode.relevance=0}function compileIllegal(mode,_parent){if(!Array.isArray(mode.illegal))return;mode.illegal=either(...mode.illegal)}function compileMatch(mode,_parent){if(!mode.match)return;if(mode.begin||mode.end)throw new Error("begin & end are not supported with match");mode.begin=mode.match;delete mode.match}function compileRelevance(mode,_parent){if(mode.relevance===undefined)mode.relevance=1}const COMMON_KEYWORDS=["of","and","for","in","not","or","if","then","parent","list","value"];const DEFAULT_KEYWORD_CLASSNAME="keyword";function compileKeywords(rawKeywords,caseInsensitive,className=DEFAULT_KEYWORD_CLASSNAME){const compiledKeywords={};if(typeof rawKeywords==="string"){compileList(className,rawKeywords.split(" "))}else if(Array.isArray(rawKeywords)){compileList(className,rawKeywords)}else{Object.keys(rawKeywords).forEach((function(className){Object.assign(compiledKeywords,compileKeywords(rawKeywords[className],caseInsensitive,className))}))}return compiledKeywords;function compileList(className,keywordList){if(caseInsensitive){keywordList=keywordList.map(x=>x.toLowerCase())}keywordList.forEach((function(keyword){const pair=keyword.split("|");compiledKeywords[pair[0]]=[className,scoreForKeyword(pair[0],pair[1])]}))}}function scoreForKeyword(keyword,providedScore){if(providedScore){return Number(providedScore)}return commonKeyword(keyword)?0:1}function commonKeyword(keyword){return COMMON_KEYWORDS.includes(keyword.toLowerCase())}function compileLanguage(language,{plugins:plugins}){function langRe(value,global){return new RegExp(source(value),"m"+(language.case_insensitive?"i":"")+(global?"g":""))}class MultiRegex{constructor(){this.matchIndexes={};this.regexes=[];this.matchAt=1;this.position=0}addRule(re,opts){opts.position=this.position++;this.matchIndexes[this.matchAt]=opts;this.regexes.push([opts,re]);this.matchAt+=countMatchGroups(re)+1}compile(){if(this.regexes.length===0){this.exec=()=>null}const terminators=this.regexes.map(el=>el[1]);this.matcherRe=langRe(join(terminators),true);this.lastIndex=0}exec(s){this.matcherRe.lastIndex=this.lastIndex;const match=this.matcherRe.exec(s);if(!match){return null}const i=match.findIndex((el,i)=>i>0&&el!==undefined);const matchData=this.matchIndexes[i];match.splice(0,i);return Object.assign(match,matchData)}}class ResumableMultiRegex{constructor(){this.rules=[];this.multiRegexes=[];this.count=0;this.lastIndex=0;this.regexIndex=0}getMatcher(index){if(this.multiRegexes[index])return this.multiRegexes[index];const matcher=new MultiRegex;this.rules.slice(index).forEach(([re,opts])=>matcher.addRule(re,opts));matcher.compile();this.multiRegexes[index]=matcher;return matcher}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(re,opts){this.rules.push([re,opts]);if(opts.type==="begin")this.count++}exec(s){const m=this.getMatcher(this.regexIndex);m.lastIndex=this.lastIndex;let result=m.exec(s);if(this.resumingScanAtSamePosition()){if(result&&result.index===this.lastIndex);else{const m2=this.getMatcher(0);m2.lastIndex=this.lastIndex+1;result=m2.exec(s)}}if(result){this.regexIndex+=result.position+1;if(this.regexIndex===this.count){this.considerAll()}}return result}}function buildModeRegex(mode){const mm=new ResumableMultiRegex;mode.contains.forEach(term=>mm.addRule(term.begin,{rule:term,type:"begin"}));if(mode.terminatorEnd){mm.addRule(mode.terminatorEnd,{type:"end"})}if(mode.illegal){mm.addRule(mode.illegal,{type:"illegal"})}return mm}function compileMode(mode,parent){const cmode=mode;if(mode.isCompiled)return cmode;[compileMatch].forEach(ext=>ext(mode,parent));language.compilerExtensions.forEach(ext=>ext(mode,parent));mode.__beforeBegin=null;[beginKeywords,compileIllegal,compileRelevance].forEach(ext=>ext(mode,parent));mode.isCompiled=true;let keywordPattern=null;if(typeof mode.keywords==="object"){keywordPattern=mode.keywords.$pattern;delete mode.keywords.$pattern}if(mode.keywords){mode.keywords=compileKeywords(mode.keywords,language.case_insensitive)}if(mode.lexemes&&keywordPattern){throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ")}keywordPattern=keywordPattern||mode.lexemes||/\w+/;cmode.keywordPatternRe=langRe(keywordPattern,true);if(parent){if(!mode.begin)mode.begin=/\B|\b/;cmode.beginRe=langRe(mode.begin);if(mode.endSameAsBegin)mode.end=mode.begin;if(!mode.end&&!mode.endsWithParent)mode.end=/\B|\b/;if(mode.end)cmode.endRe=langRe(mode.end);cmode.terminatorEnd=source(mode.end)||"";if(mode.endsWithParent&&parent.terminatorEnd){cmode.terminatorEnd+=(mode.end?"|":"")+parent.terminatorEnd}}if(mode.illegal)cmode.illegalRe=langRe(mode.illegal);if(!mode.contains)mode.contains=[];mode.contains=[].concat(...mode.contains.map((function(c){return expandOrCloneMode(c==="self"?mode:c)})));mode.contains.forEach((function(c){compileMode(c,cmode)}));if(mode.starts){compileMode(mode.starts,parent)}cmode.matcher=buildModeRegex(cmode);return cmode}if(!language.compilerExtensions)language.compilerExtensions=[];if(language.contains&&language.contains.includes("self")){throw new Error("ERR: contains `self` is not supported at the top-level of a language.  See documentation.")}language.classNameAliases=inherit(language.classNameAliases||{});return compileMode(language)}function dependencyOnParent(mode){if(!mode)return false;return mode.endsWithParent||dependencyOnParent(mode.starts)}function expandOrCloneMode(mode){if(mode.variants&&!mode.cachedVariants){mode.cachedVariants=mode.variants.map((function(variant){return inherit(mode,{variants:null},variant)}))}if(mode.cachedVariants){return mode.cachedVariants}if(dependencyOnParent(mode)){return inherit(mode,{starts:mode.starts?inherit(mode.starts):null})}if(Object.isFrozen(mode)){return inherit(mode)}return mode}var version="10.7.3";function hasValueOrEmptyAttribute(value){return Boolean(value||value==="")}function BuildVuePlugin(hljs){const Component={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:false}},computed:{className(){if(this.unknownLanguage)return"";return"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!hljs.getLanguage(this.language)){console.warn(`The language "${this.language}" you specified could not be found.`);this.unknownLanguage=true;return escapeHTML(this.code)}let result={};if(this.autoDetect){result=hljs.highlightAuto(this.code);this.detectedLanguage=result.language}else{result=hljs.highlight(this.language,this.code,this.ignoreIllegals);this.detectedLanguage=this.language}return result.value},autoDetect(){return!this.language||hasValueOrEmptyAttribute(this.autodetect)},ignoreIllegals(){return true}},render(createElement){return createElement("pre",{},[createElement("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};const VuePlugin={install(Vue){Vue.component("highlightjs",Component)}};return{Component:Component,VuePlugin:VuePlugin}}const mergeHTMLPlugin={"after:highlightElement":({el:el,result:result,text:text})=>{const originalStream=nodeStream(el);if(!originalStream.length)return;const resultNode=document.createElement("div");resultNode.innerHTML=result.value;result.value=mergeStreams(originalStream,nodeStream(resultNode),text)}};function tag(node){return node.nodeName.toLowerCase()}function nodeStream(node){const result=[];(function _nodeStream(node,offset){for(let child=node.firstChild;child;child=child.nextSibling){if(child.nodeType===3){offset+=child.nodeValue.length}else if(child.nodeType===1){result.push({event:"start",offset:offset,node:child});offset=_nodeStream(child,offset);if(!tag(child).match(/br|hr|img|input/)){result.push({event:"stop",offset:offset,node:child})}}}return offset})(node,0);return result}function mergeStreams(original,highlighted,value){let processed=0;let result="";const nodeStack=[];function selectStream(){if(!original.length||!highlighted.length){return original.length?original:highlighted}if(original[0].offset!==highlighted[0].offset){return original[0].offset<highlighted[0].offset?original:highlighted}return highlighted[0].event==="start"?original:highlighted}function open(node){function attributeString(attr){return" "+attr.nodeName+'="'+escapeHTML(attr.value)+'"'}result+="<"+tag(node)+[].map.call(node.attributes,attributeString).join("")+">"}function close(node){result+="</"+tag(node)+">"}function render(event){(event.event==="start"?open:close)(event.node)}while(original.length||highlighted.length){let stream=selectStream();result+=escapeHTML(value.substring(processed,stream[0].offset));processed=stream[0].offset;if(stream===original){nodeStack.reverse().forEach(close);do{render(stream.splice(0,1)[0]);stream=selectStream()}while(stream===original&&stream.length&&stream[0].offset===processed);nodeStack.reverse().forEach(open)}else{if(stream[0].event==="start"){nodeStack.push(stream[0].node)}else{nodeStack.pop()}render(stream.splice(0,1)[0])}}return result+escapeHTML(value.substr(processed))}const seenDeprecations={};const error=message=>{console.error(message)};const warn=(message,...args)=>{console.log(`WARN: ${message}`,...args)};const deprecated=(version,message)=>{if(seenDeprecations[`${version}/${message}`])return;console.log(`Deprecated as of ${version}. ${message}`);seenDeprecations[`${version}/${message}`]=true};const escape$1=escapeHTML;const inherit$1=inherit;const NO_MATCH=Symbol("nomatch");const HLJS=function(hljs){const languages=Object.create(null);const aliases=Object.create(null);const plugins=[];let SAFE_MODE=true;const fixMarkupRe=/(^(<[^>]+>|\t|)+|\n)/gm;const LANGUAGE_NOT_FOUND="Could not find the language '{}', did you forget to load/include a language module?";const PLAINTEXT_LANGUAGE={disableAutodetect:true,name:"Plain text",contains:[]};let options={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:false,languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(languageName){return options.noHighlightRe.test(languageName)}function blockLanguage(block){let classes=block.className+" ";classes+=block.parentNode?block.parentNode.className:"";const match=options.languageDetectRe.exec(classes);if(match){const language=getLanguage(match[1]);if(!language){warn(LANGUAGE_NOT_FOUND.replace("{}",match[1]));warn("Falling back to no-highlight mode for this block.",block)}return language?match[1]:"no-highlight"}return classes.split(/\s+/).find(_class=>shouldNotHighlight(_class)||getLanguage(_class))}function highlight(codeOrlanguageName,optionsOrCode,ignoreIllegals,continuation){let code="";let languageName="";if(typeof optionsOrCode==="object"){code=codeOrlanguageName;ignoreIllegals=optionsOrCode.ignoreIllegals;languageName=optionsOrCode.language;continuation=undefined}else{deprecated("10.7.0","highlight(lang, code, ...args) has been deprecated.");deprecated("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277");languageName=codeOrlanguageName;code=optionsOrCode}const context={code:code,language:languageName};fire("before:highlight",context);const result=context.result?context.result:_highlight(context.language,context.code,ignoreIllegals,continuation);result.code=context.code;fire("after:highlight",result);return result}function _highlight(languageName,codeToHighlight,ignoreIllegals,continuation){function keywordData(mode,match){const matchText=language.case_insensitive?match[0].toLowerCase():match[0];return Object.prototype.hasOwnProperty.call(mode.keywords,matchText)&&mode.keywords[matchText]}function processKeywords(){if(!top.keywords){emitter.addText(modeBuffer);return}let lastIndex=0;top.keywordPatternRe.lastIndex=0;let match=top.keywordPatternRe.exec(modeBuffer);let buf="";while(match){buf+=modeBuffer.substring(lastIndex,match.index);const data=keywordData(top,match);if(data){const[kind,keywordRelevance]=data;emitter.addText(buf);buf="";relevance+=keywordRelevance;if(kind.startsWith("_")){buf+=match[0]}else{const cssClass=language.classNameAliases[kind]||kind;emitter.addKeyword(match[0],cssClass)}}else{buf+=match[0]}lastIndex=top.keywordPatternRe.lastIndex;match=top.keywordPatternRe.exec(modeBuffer)}buf+=modeBuffer.substr(lastIndex);emitter.addText(buf)}function processSubLanguage(){if(modeBuffer==="")return;let result=null;if(typeof top.subLanguage==="string"){if(!languages[top.subLanguage]){emitter.addText(modeBuffer);return}result=_highlight(top.subLanguage,modeBuffer,true,continuations[top.subLanguage]);continuations[top.subLanguage]=result.top}else{result=highlightAuto(modeBuffer,top.subLanguage.length?top.subLanguage:null)}if(top.relevance>0){relevance+=result.relevance}emitter.addSublanguage(result.emitter,result.language)}function processBuffer(){if(top.subLanguage!=null){processSubLanguage()}else{processKeywords()}modeBuffer=""}function startNewMode(mode){if(mode.className){emitter.openNode(language.classNameAliases[mode.className]||mode.className)}top=Object.create(mode,{parent:{value:top}});return top}function endOfMode(mode,match,matchPlusRemainder){let matched=startsWith(mode.endRe,matchPlusRemainder);if(matched){if(mode["on:end"]){const resp=new Response(mode);mode["on:end"](match,resp);if(resp.isMatchIgnored)matched=false}if(matched){while(mode.endsParent&&mode.parent){mode=mode.parent}return mode}}if(mode.endsWithParent){return endOfMode(mode.parent,match,matchPlusRemainder)}}function doIgnore(lexeme){if(top.matcher.regexIndex===0){modeBuffer+=lexeme[0];return 1}else{resumeScanAtSamePosition=true;return 0}}function doBeginMatch(match){const lexeme=match[0];const newMode=match.rule;const resp=new Response(newMode);const beforeCallbacks=[newMode.__beforeBegin,newMode["on:begin"]];for(const cb of beforeCallbacks){if(!cb)continue;cb(match,resp);if(resp.isMatchIgnored)return doIgnore(lexeme)}if(newMode&&newMode.endSameAsBegin){newMode.endRe=escape(lexeme)}if(newMode.skip){modeBuffer+=lexeme}else{if(newMode.excludeBegin){modeBuffer+=lexeme}processBuffer();if(!newMode.returnBegin&&!newMode.excludeBegin){modeBuffer=lexeme}}startNewMode(newMode);return newMode.returnBegin?0:lexeme.length}function doEndMatch(match){const lexeme=match[0];const matchPlusRemainder=codeToHighlight.substr(match.index);const endMode=endOfMode(top,match,matchPlusRemainder);if(!endMode){return NO_MATCH}const origin=top;if(origin.skip){modeBuffer+=lexeme}else{if(!(origin.returnEnd||origin.excludeEnd)){modeBuffer+=lexeme}processBuffer();if(origin.excludeEnd){modeBuffer=lexeme}}do{if(top.className){emitter.closeNode()}if(!top.skip&&!top.subLanguage){relevance+=top.relevance}top=top.parent}while(top!==endMode.parent);if(endMode.starts){if(endMode.endSameAsBegin){endMode.starts.endRe=endMode.endRe}startNewMode(endMode.starts)}return origin.returnEnd?0:lexeme.length}function processContinuations(){const list=[];for(let current=top;current!==language;current=current.parent){if(current.className){list.unshift(current.className)}}list.forEach(item=>emitter.openNode(item))}let lastMatch={};function processLexeme(textBeforeMatch,match){const lexeme=match&&match[0];modeBuffer+=textBeforeMatch;if(lexeme==null){processBuffer();return 0}if(lastMatch.type==="begin"&&match.type==="end"&&lastMatch.index===match.index&&lexeme===""){modeBuffer+=codeToHighlight.slice(match.index,match.index+1);if(!SAFE_MODE){const err=new Error("0 width match regex");err.languageName=languageName;err.badRule=lastMatch.rule;throw err}return 1}lastMatch=match;if(match.type==="begin"){return doBeginMatch(match)}else if(match.type==="illegal"&&!ignoreIllegals){const err=new Error('Illegal lexeme "'+lexeme+'" for mode "'+(top.className||"<unnamed>")+'"');err.mode=top;throw err}else if(match.type==="end"){const processed=doEndMatch(match);if(processed!==NO_MATCH){return processed}}if(match.type==="illegal"&&lexeme===""){return 1}if(iterations>1e5&&iterations>match.index*3){const err=new Error("potential infinite loop, way more iterations than matches");throw err}modeBuffer+=lexeme;return lexeme.length}const language=getLanguage(languageName);if(!language){error(LANGUAGE_NOT_FOUND.replace("{}",languageName));throw new Error('Unknown language: "'+languageName+'"')}const md=compileLanguage(language,{plugins:plugins});let result="";let top=continuation||md;const continuations={};const emitter=new options.__emitter(options);processContinuations();let modeBuffer="";let relevance=0;let index=0;let iterations=0;let resumeScanAtSamePosition=false;try{top.matcher.considerAll();for(;;){iterations++;if(resumeScanAtSamePosition){resumeScanAtSamePosition=false}else{top.matcher.considerAll()}top.matcher.lastIndex=index;const match=top.matcher.exec(codeToHighlight);if(!match)break;const beforeMatch=codeToHighlight.substring(index,match.index);const processedCount=processLexeme(beforeMatch,match);index=match.index+processedCount}processLexeme(codeToHighlight.substr(index));emitter.closeAllNodes();emitter.finalize();result=emitter.toHTML();return{relevance:Math.floor(relevance),value:result,language:languageName,illegal:false,emitter:emitter,top:top}}catch(err){if(err.message&&err.message.includes("Illegal")){return{illegal:true,illegalBy:{msg:err.message,context:codeToHighlight.slice(index-100,index+100),mode:err.mode},sofar:result,relevance:0,value:escape$1(codeToHighlight),emitter:emitter}}else if(SAFE_MODE){return{illegal:false,relevance:0,value:escape$1(codeToHighlight),emitter:emitter,language:languageName,top:top,errorRaised:err}}else{throw err}}}function justTextHighlightResult(code){const result={relevance:0,emitter:new options.__emitter(options),value:escape$1(code),illegal:false,top:PLAINTEXT_LANGUAGE};result.emitter.addText(code);return result}function highlightAuto(code,languageSubset){languageSubset=languageSubset||options.languages||Object.keys(languages);const plaintext=justTextHighlightResult(code);const results=languageSubset.filter(getLanguage).filter(autoDetection).map(name=>_highlight(name,code,false));results.unshift(plaintext);const sorted=results.sort((a,b)=>{if(a.relevance!==b.relevance)return b.relevance-a.relevance;if(a.language&&b.language){if(getLanguage(a.language).supersetOf===b.language){return 1}else if(getLanguage(b.language).supersetOf===a.language){return-1}}return 0});const[best,secondBest]=sorted;const result=best;result.second_best=secondBest;return result}function fixMarkup(html){if(!(options.tabReplace||options.useBR)){return html}return html.replace(fixMarkupRe,match=>{if(match==="\n"){return options.useBR?"<br>":match}else if(options.tabReplace){return match.replace(/\t/g,options.tabReplace)}return match})}function updateClassName(element,currentLang,resultLang){const language=currentLang?aliases[currentLang]:resultLang;element.classList.add("hljs");if(language)element.classList.add(language)}const brPlugin={"before:highlightElement":({el:el})=>{if(options.useBR){el.innerHTML=el.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n")}},"after:highlightElement":({result:result})=>{if(options.useBR){result.value=result.value.replace(/\n/g,"<br>")}}};const TAB_REPLACE_RE=/^(<[^>]+>|\t)+/gm;const tabReplacePlugin={"after:highlightElement":({result:result})=>{if(options.tabReplace){result.value=result.value.replace(TAB_REPLACE_RE,m=>m.replace(/\t/g,options.tabReplace))}}};function highlightElement(element){let node=null;const language=blockLanguage(element);if(shouldNotHighlight(language))return;fire("before:highlightElement",{el:element,language:language});node=element;const text=node.textContent;const result=language?highlight(text,{language:language,ignoreIllegals:true}):highlightAuto(text);fire("after:highlightElement",{el:element,result:result,text:text});element.innerHTML=result.value;updateClassName(element,language,result.language);element.result={language:result.language,re:result.relevance,relavance:result.relevance};if(result.second_best){element.second_best={language:result.second_best.language,re:result.second_best.relevance,relavance:result.second_best.relevance}}}function configure(userOptions){if(userOptions.useBR){deprecated("10.3.0","'useBR' will be removed entirely in v11.0");deprecated("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")}options=inherit$1(options,userOptions)}const initHighlighting=()=>{if(initHighlighting.called)return;initHighlighting.called=true;deprecated("10.6.0","initHighlighting() is deprecated.  Use highlightAll() instead.");const blocks=document.querySelectorAll("pre code");blocks.forEach(highlightElement)};function initHighlightingOnLoad(){deprecated("10.6.0","initHighlightingOnLoad() is deprecated.  Use highlightAll() instead.");wantsHighlight=true}let wantsHighlight=false;function highlightAll(){if(document.readyState==="loading"){wantsHighlight=true;return}const blocks=document.querySelectorAll("pre code");blocks.forEach(highlightElement)}function boot(){if(wantsHighlight)highlightAll()}if(typeof window!=="undefined"&&window.addEventListener){window.addEventListener("DOMContentLoaded",boot,false)}function registerLanguage(languageName,languageDefinition){let lang=null;try{lang=languageDefinition(hljs)}catch(error$1){error("Language definition for '{}' could not be registered.".replace("{}",languageName));if(!SAFE_MODE){throw error$1}else{error(error$1)}lang=PLAINTEXT_LANGUAGE}if(!lang.name)lang.name=languageName;languages[languageName]=lang;lang.rawDefinition=languageDefinition.bind(null,hljs);if(lang.aliases){registerAliases(lang.aliases,{languageName:languageName})}}function unregisterLanguage(languageName){delete languages[languageName];for(const alias of Object.keys(aliases)){if(aliases[alias]===languageName){delete aliases[alias]}}}function listLanguages(){return Object.keys(languages)}function requireLanguage(name){deprecated("10.4.0","requireLanguage will be removed entirely in v11.");deprecated("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const lang=getLanguage(name);if(lang){return lang}const err=new Error("The '{}' language is required, but not loaded.".replace("{}",name));throw err}function getLanguage(name){name=(name||"").toLowerCase();return languages[name]||languages[aliases[name]]}function registerAliases(aliasList,{languageName:languageName}){if(typeof aliasList==="string"){aliasList=[aliasList]}aliasList.forEach(alias=>{aliases[alias.toLowerCase()]=languageName})}function autoDetection(name){const lang=getLanguage(name);return lang&&!lang.disableAutodetect}function upgradePluginAPI(plugin){if(plugin["before:highlightBlock"]&&!plugin["before:highlightElement"]){plugin["before:highlightElement"]=data=>{plugin["before:highlightBlock"](Object.assign({block:data.el},data))}}if(plugin["after:highlightBlock"]&&!plugin["after:highlightElement"]){plugin["after:highlightElement"]=data=>{plugin["after:highlightBlock"](Object.assign({block:data.el},data))}}}function addPlugin(plugin){upgradePluginAPI(plugin);plugins.push(plugin)}function fire(event,args){const cb=event;plugins.forEach((function(plugin){if(plugin[cb]){plugin[cb](args)}}))}function deprecateFixMarkup(arg){deprecated("10.2.0","fixMarkup will be removed entirely in v11.0");deprecated("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534");return fixMarkup(arg)}function deprecateHighlightBlock(el){deprecated("10.7.0","highlightBlock will be removed entirely in v12.0");deprecated("10.7.0","Please use highlightElement now.");return highlightElement(el)}Object.assign(hljs,{highlight:highlight,highlightAuto:highlightAuto,highlightAll:highlightAll,fixMarkup:deprecateFixMarkup,highlightElement:highlightElement,highlightBlock:deprecateHighlightBlock,configure:configure,initHighlighting:initHighlighting,initHighlightingOnLoad:initHighlightingOnLoad,registerLanguage:registerLanguage,unregisterLanguage:unregisterLanguage,listLanguages:listLanguages,getLanguage:getLanguage,registerAliases:registerAliases,requireLanguage:requireLanguage,autoDetection:autoDetection,inherit:inherit$1,addPlugin:addPlugin,vuePlugin:BuildVuePlugin(hljs).VuePlugin});hljs.debugMode=function(){SAFE_MODE=false};hljs.safeMode=function(){SAFE_MODE=true};hljs.versionString=version;for(const key in MODES){if(typeof MODES[key]==="object"){deepFreezeEs6(MODES[key])}}Object.assign(hljs,MODES);hljs.addPlugin(brPlugin);hljs.addPlugin(mergeHTMLPlugin);hljs.addPlugin(tabReplacePlugin);return hljs};var highlight=HLJS({});module.exports=highlight},function(module,exports,__webpack_require__){"use strict";var formatter=__webpack_require__(1317);var fault=create(Error);module.exports=fault;fault.eval=create(EvalError);fault.range=create(RangeError);fault.reference=create(ReferenceError);fault.syntax=create(SyntaxError);fault.type=create(TypeError);fault.uri=create(URIError);fault.create=create;function create(EConstructor){FormattedError.displayName=EConstructor.displayName||EConstructor.name;return FormattedError;function FormattedError(format){if(format){format=formatter.apply(null,arguments)}return new EConstructor(format)}}},function(module,exports,__webpack_require__){(function(){var namespace;if(true){namespace=module.exports=format}else{}namespace.format=format;namespace.vsprintf=vsprintf;if(typeof console!=="undefined"&&typeof console.log==="function"){namespace.printf=printf}function printf(){console.log(format.apply(null,arguments))}function vsprintf(fmt,replacements){return format.apply(null,[fmt].concat(replacements))}function format(fmt){var argIndex=1,args=[].slice.call(arguments),i=0,n=fmt.length,result="",c,escaped=false,arg,tmp,leadingZero=false,precision,nextArg=function(){return args[argIndex++]},slurpNumber=function(){var digits="";while(/\d/.test(fmt[i])){digits+=fmt[i++];c=fmt[i]}return digits.length>0?parseInt(digits):null};for(;i<n;++i){c=fmt[i];if(escaped){escaped=false;if(c=="."){leadingZero=false;c=fmt[++i]}else if(c=="0"&&fmt[i+1]=="."){leadingZero=true;i+=2;c=fmt[i]}else{leadingZero=true}precision=slurpNumber();switch(c){case"b":result+=parseInt(nextArg(),10).toString(2);break;case"c":arg=nextArg();if(typeof arg==="string"||arg instanceof String)result+=arg;else result+=String.fromCharCode(parseInt(arg,10));break;case"d":result+=parseInt(nextArg(),10);break;case"f":tmp=String(parseFloat(nextArg()).toFixed(precision||6));result+=leadingZero?tmp:tmp.replace(/^0/,"");break;case"j":result+=JSON.stringify(nextArg());break;case"o":result+="0"+parseInt(nextArg(),10).toString(8);break;case"s":result+=nextArg();break;case"x":result+="0x"+parseInt(nextArg(),10).toString(16);break;case"X":result+="0x"+parseInt(nextArg(),10).toString(16).toUpperCase();break;default:result+=c;break}}else if(c==="%"){escaped=true}else{result+=c}}return result}})()},function(module,exports){function sql_more(hljs){var COMMENT_MODE=hljs.COMMENT("--","$");return{name:"SQL (more)",aliases:["mysql","oracle"],disableAutodetect:true,case_insensitive:true,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call "+"delete do handler insert load replace select truncate update set show pragma grant "+"merge describe use explain help declare prepare execute deallocate release "+"unlock purge reset change stop analyze cache flush optimize repair kill "+"install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:true,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add "+"addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias "+"all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply "+"archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan "+"atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid "+"authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile "+"before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float "+"binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound "+"bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel "+"capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base "+"char_length character_length characters characterset charindex charset charsetform charsetid check "+"checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close "+"cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation "+"collect colu colum column column_value columns columns_updated comment commit compact compatibility "+"compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn "+"connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection "+"consider consistent constant constraint constraints constructor container content contents context "+"contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost "+"count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation "+"critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user "+"cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add "+"date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts "+"day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate "+"declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults "+"deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank "+"depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor "+"deterministic diagnostics difference dimension direct_load directory disable disable_all "+"disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div "+"do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable "+"editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt "+"end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors "+"escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding "+"execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external "+"external_1 external_2 externally extract failed failed_login_attempts failover failure far fast "+"feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final "+"finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign "+"form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days "+"ftp full function general generated get get_format get_lock getdate getutcdate global global_name "+"globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups "+"gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex "+"hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified "+"identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment "+"index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile "+"initial initialized initially initrans inmemory inner innodb input insert install instance instantiable "+"instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat "+"is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists "+"keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase "+"lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit "+"lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate "+"locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call "+"logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime "+"managed management manual map mapping mask master master_pos_wait match matched materialized max "+"maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans "+"md5 measures median medium member memcompress memory merge microsecond mid migration min minextents "+"minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month "+"months mount move movement multiset mutex name name_const names nan national native natural nav nchar "+"nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile "+"nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile "+"nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder "+"nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck "+"noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe "+"nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber "+"ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old "+"on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date "+"oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary "+"out outer outfile outline output over overflow overriding package pad parallel parallel_enable "+"parameters parent parse partial partition partitions pascal passing password password_grace_time "+"password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex "+"pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc "+"performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin "+"policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction "+"prediction_cost prediction_details prediction_probability prediction_set prepare present preserve "+"prior priority private private_sga privileges procedural procedure procedure_analyze processlist "+"profiles project prompt protection public publishingservername purge quarter query quick quiesce quota "+"quotename radians raise rand range rank raw read reads readsize rebuild record records "+"recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh "+"regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy "+"reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename "+"repair repeat replace replicate replication required reset resetlogs resize resource respect restore "+"restricted result result_cache resumable resume retention return returning returns reuse reverse revoke "+"right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows "+"rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll "+"sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select "+"self semi sequence sequential serializable server servererror session session_user sessions_per_user set "+"sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor "+"si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin "+"size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex "+"source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows "+"sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone "+"standby start starting startup statement static statistics stats_binomial_test stats_crosstab "+"stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep "+"stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev "+"stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate "+"subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum "+"suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate "+"sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo "+"template temporary terminated tertiary_weights test than then thread through tier ties time time_format "+"time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr "+"timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking "+"transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate "+"try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress "+"under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot "+"unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert "+"url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date "+"utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var "+"var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray "+"verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear "+"wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped "+"xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces "+"xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number "+"numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},hljs.C_NUMBER_MODE,hljs.C_BLOCK_COMMENT_MODE,COMMENT_MODE,hljs.HASH_COMMENT_MODE]},hljs.C_BLOCK_COMMENT_MODE,COMMENT_MODE,hljs.HASH_COMMENT_MODE]}}module.exports=sql_more},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default=["1c","abnf","accesslog","actionscript","ada","angelscript","apache","applescript","arcade","arduino","armasm","asciidoc","aspectj","autohotkey","autoit","avrasm","awk","axapta","bash","basic","bnf","brainfuck","c-like","c","cal","capnproto","ceylon","clean","clojure-repl","clojure","cmake","coffeescript","coq","cos","cpp","crmsh","crystal","csharp","csp","css","d","dart","delphi","diff","django","dns","dockerfile","dos","dsconfig","dts","dust","ebnf","elixir","elm","erb","erlang-repl","erlang","excel","fix","flix","fortran","fsharp","gams","gauss","gcode","gherkin","glsl","gml","go","golo","gradle","groovy","haml","handlebars","haskell","haxe","hsp","htmlbars","http","hy","inform7","ini","irpf90","isbl","java","javascript","jboss-cli","json","julia-repl","julia","kotlin","lasso","latex","ldif","leaf","less","lisp","livecodeserver","livescript","llvm","lsl","lua","makefile","markdown","mathematica","matlab","maxima","mel","mercury","mipsasm","mizar","mojolicious","monkey","moonscript","n1ql","nginx","nim","nix","node-repl","nsis","objectivec","ocaml","openscad","oxygene","parser3","perl","pf","pgsql","php-template","php","plaintext","pony","powershell","processing","profile","prolog","properties","protobuf","puppet","purebasic","python-repl","python","q","qml","r","reasonml","rib","roboconf","routeros","rsl","ruby","ruleslanguage","rust","sas","scala","scheme","scilab","scss","shell","smali","smalltalk","sml","sqf","sql","stan","stata","step21","stylus","subunit","swift","taggerscript","tap","tcl","thrift","tp","twig","typescript","vala","vbnet","vbscript-html","vbscript","verilog","vhdl","vim","x86asm","xl","xml","xquery","yaml","zephir"];exports.default=_default},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncSyntaxHighlighter=_interopRequireDefault(__webpack_require__(226));var _hljs=_interopRequireDefault(__webpack_require__(1330));var _checkForListedLanguage=_interopRequireDefault(__webpack_require__(355));var _default=(0,_asyncSyntaxHighlighter.default)({loader:function loader(){return Promise.resolve().then((function(){return __webpack_require__(225)})).then((function(module){return module.default||module}))},isLanguageRegistered:function isLanguageRegistered(instance,language){return!!(0,_checkForListedLanguage.default)(instance,language)},languageLoaders:_hljs.default,registerLanguage:function registerLanguage(instance,name,language){return instance.registerLanguage(name,language)}});exports.default=_default},function(module,exports,__webpack_require__){var runtime=function(exports){"use strict";var Op=Object.prototype;var hasOwn=Op.hasOwnProperty;var undefined;var $Symbol=typeof Symbol==="function"?Symbol:{};var iteratorSymbol=$Symbol.iterator||"@@iterator";var asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator";var toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});return obj[key]}try{define({},"")}catch(err){define=function(obj,key,value){return obj[key]=value}}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator;var generator=Object.create(protoGenerator.prototype);var context=new Context(tryLocsList||[]);generator._invoke=makeInvokeMethod(innerFn,self,context);return generator}exports.wrap=wrap;function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}var GenStateSuspendedStart="suspendedStart";var GenStateSuspendedYield="suspendedYield";var GenStateExecuting="executing";var GenStateCompleted="completed";var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,(function(){return this}));var getProto=Object.getPrototypeOf;var NativeIteratorPrototype=getProto&&getProto(getProto(values([])));if(NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)){IteratorPrototype=NativeIteratorPrototype}var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);GeneratorFunction.prototype=GeneratorFunctionPrototype;define(Gp,"constructor",GeneratorFunctionPrototype);define(GeneratorFunctionPrototype,"constructor",GeneratorFunction);GeneratorFunction.displayName=define(GeneratorFunctionPrototype,toStringTagSymbol,"GeneratorFunction");function defineIteratorMethods(prototype){["next","throw","return"].forEach((function(method){define(prototype,method,(function(arg){return this._invoke(method,arg)}))}))}exports.isGeneratorFunction=function(genFun){var ctor=typeof genFun==="function"&&genFun.constructor;return ctor?ctor===GeneratorFunction||(ctor.displayName||ctor.name)==="GeneratorFunction":false};exports.mark=function(genFun){if(Object.setPrototypeOf){Object.setPrototypeOf(genFun,GeneratorFunctionPrototype)}else{genFun.__proto__=GeneratorFunctionPrototype;define(genFun,toStringTagSymbol,"GeneratorFunction")}genFun.prototype=Object.create(Gp);return genFun};exports.awrap=function(arg){return{__await:arg}};function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if(record.type==="throw"){reject(record.arg)}else{var result=record.arg;var value=result.value;if(value&&typeof value==="object"&&hasOwn.call(value,"__await")){return PromiseImpl.resolve(value.__await).then((function(value){invoke("next",value,resolve,reject)}),(function(err){invoke("throw",err,resolve,reject)}))}return PromiseImpl.resolve(value).then((function(unwrapped){result.value=unwrapped;resolve(result)}),(function(error){return invoke("throw",error,resolve,reject)}))}}var previousPromise;function enqueue(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl((function(resolve,reject){invoke(method,arg,resolve,reject)}))}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}this._invoke=enqueue}defineIteratorMethods(AsyncIterator.prototype);define(AsyncIterator.prototype,asyncIteratorSymbol,(function(){return this}));exports.AsyncIterator=AsyncIterator;exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){if(PromiseImpl===void 0)PromiseImpl=Promise;var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then((function(result){return result.done?result.value:iter.next()}))};function makeInvokeMethod(innerFn,self,context){var state=GenStateSuspendedStart;return function invoke(method,arg){if(state===GenStateExecuting){throw new Error("Generator is already running")}if(state===GenStateCompleted){if(method==="throw"){throw arg}return doneResult()}context.method=method;context.arg=arg;while(true){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if(context.method==="next"){context.sent=context._sent=context.arg}else if(context.method==="throw"){if(state===GenStateSuspendedStart){state=GenStateCompleted;throw context.arg}context.dispatchException(context.arg)}else if(context.method==="return"){context.abrupt("return",context.arg)}state=GenStateExecuting;var record=tryCatch(innerFn,self,context);if(record.type==="normal"){state=context.done?GenStateCompleted:GenStateSuspendedYield;if(record.arg===ContinueSentinel){continue}return{value:record.arg,done:context.done}}else if(record.type==="throw"){state=GenStateCompleted;context.method="throw";context.arg=record.arg}}}}function maybeInvokeDelegate(delegate,context){var method=delegate.iterator[context.method];if(method===undefined){context.delegate=null;if(context.method==="throw"){if(delegate.iterator["return"]){context.method="return";context.arg=undefined;maybeInvokeDelegate(delegate,context);if(context.method==="throw"){return ContinueSentinel}}context.method="throw";context.arg=new TypeError("The iterator does not provide a 'throw' method")}return ContinueSentinel}var record=tryCatch(method,delegate.iterator,context.arg);if(record.type==="throw"){context.method="throw";context.arg=record.arg;context.delegate=null;return ContinueSentinel}var info=record.arg;if(!info){context.method="throw";context.arg=new TypeError("iterator result is not an object");context.delegate=null;return ContinueSentinel}if(info.done){context[delegate.resultName]=info.value;context.next=delegate.nextLoc;if(context.method!=="return"){context.method="next";context.arg=undefined}}else{return info}context.delegate=null;return ContinueSentinel}defineIteratorMethods(Gp);define(Gp,toStringTagSymbol,"Generator");define(Gp,iteratorSymbol,(function(){return this}));define(Gp,"toString",(function(){return"[object Generator]"}));function pushTryEntry(locs){var entry={tryLoc:locs[0]};if(1 in locs){entry.catchLoc=locs[1]}if(2 in locs){entry.finallyLoc=locs[2];entry.afterLoc=locs[3]}this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal";delete record.arg;entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}];tryLocsList.forEach(pushTryEntry,this);this.reset(true)}exports.keys=function(object){var keys=[];for(var key in object){keys.push(key)}keys.reverse();return function next(){while(keys.length){var key=keys.pop();if(key in object){next.value=key;next.done=false;return next}}next.done=true;return next}};function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod){return iteratorMethod.call(iterable)}if(typeof iterable.next==="function"){return iterable}if(!isNaN(iterable.length)){var i=-1,next=function next(){while(++i<iterable.length){if(hasOwn.call(iterable,i)){next.value=iterable[i];next.done=false;return next}}next.value=undefined;next.done=true;return next};return next.next=next}}return{next:doneResult}}exports.values=values;function doneResult(){return{value:undefined,done:true}}Context.prototype={constructor:Context,reset:function(skipTempReset){this.prev=0;this.next=0;this.sent=this._sent=undefined;this.done=false;this.delegate=null;this.method="next";this.arg=undefined;this.tryEntries.forEach(resetTryEntry);if(!skipTempReset){for(var name in this){if(name.charAt(0)==="t"&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))){this[name]=undefined}}}},stop:function(){this.done=true;var rootEntry=this.tryEntries[0];var rootRecord=rootEntry.completion;if(rootRecord.type==="throw"){throw rootRecord.arg}return this.rval},dispatchException:function(exception){if(this.done){throw exception}var context=this;function handle(loc,caught){record.type="throw";record.arg=exception;context.next=loc;if(caught){context.method="next";context.arg=undefined}return!!caught}for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];var record=entry.completion;if(entry.tryLoc==="root"){return handle("end")}if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc");var hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc){return handle(entry.catchLoc,true)}else if(this.prev<entry.finallyLoc){return handle(entry.finallyLoc)}}else if(hasCatch){if(this.prev<entry.catchLoc){return handle(entry.catchLoc,true)}}else if(hasFinally){if(this.prev<entry.finallyLoc){return handle(entry.finallyLoc)}}else{throw new Error("try statement without catch or finally")}}}},abrupt:function(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}}if(finallyEntry&&(type==="break"||type==="continue")&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc){finallyEntry=null}var record=finallyEntry?finallyEntry.completion:{};record.type=type;record.arg=arg;if(finallyEntry){this.method="next";this.next=finallyEntry.finallyLoc;return ContinueSentinel}return this.complete(record)},complete:function(record,afterLoc){if(record.type==="throw"){throw record.arg}if(record.type==="break"||record.type==="continue"){this.next=record.arg}else if(record.type==="return"){this.rval=this.arg=record.arg;this.method="return";this.next="end"}else if(record.type==="normal"&&afterLoc){this.next=afterLoc}return ContinueSentinel},finish:function(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc){this.complete(entry.completion,entry.afterLoc);resetTryEntry(entry);return ContinueSentinel}}},catch:function(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if(record.type==="throw"){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function(iterable,resultName,nextLoc){this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc};if(this.method==="next"){this.arg=undefined}return ContinueSentinel}};return exports}(true?module.exports:undefined);try{regeneratorRuntime=runtime}catch(accidentalStrictMode){if(typeof globalThis==="object"){globalThis.regeneratorRuntime=runtime}else{Function("r","regeneratorRuntime = r")(runtime)}}},function(module,exports){function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}module.exports=_classCallCheck;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}module.exports=_createClass;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){var _typeof=__webpack_require__(1325)["default"];var assertThisInitialized=__webpack_require__(1326);function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return assertThisInitialized(self)}module.exports=_possibleConstructorReturn;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){module.exports=_typeof=function _typeof(obj){return typeof obj};module.exports["default"]=module.exports,module.exports.__esModule=true}else{module.exports=_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};module.exports["default"]=module.exports,module.exports.__esModule=true}return _typeof(obj)}module.exports=_typeof;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}module.exports=_assertThisInitialized;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _getPrototypeOf(o){module.exports=_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};module.exports["default"]=module.exports,module.exports.__esModule=true;return _getPrototypeOf(o)}module.exports=_getPrototypeOf;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){var setPrototypeOf=__webpack_require__(1329);function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)setPrototypeOf(subClass,superClass)}module.exports=_inherits;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports){function _setPrototypeOf(o,p){module.exports=_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};module.exports["default"]=module.exports,module.exports.__esModule=true;return _setPrototypeOf(o,p)}module.exports=_setPrototypeOf;module.exports["default"]=module.exports,module.exports.__esModule=true},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _createLanguageAsyncLoader=_interopRequireDefault(__webpack_require__(548));var _default={oneC:(0,_createLanguageAsyncLoader.default)("oneC",(function(){return Promise.resolve().then((function(){return __webpack_require__(356)}))})),abnf:(0,_createLanguageAsyncLoader.default)("abnf",(function(){return Promise.resolve().then((function(){return __webpack_require__(357)}))})),accesslog:(0,_createLanguageAsyncLoader.default)("accesslog",(function(){return Promise.resolve().then((function(){return __webpack_require__(358)}))})),actionscript:(0,_createLanguageAsyncLoader.default)("actionscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(359)}))})),ada:(0,_createLanguageAsyncLoader.default)("ada",(function(){return Promise.resolve().then((function(){return __webpack_require__(360)}))})),angelscript:(0,_createLanguageAsyncLoader.default)("angelscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(361)}))})),apache:(0,_createLanguageAsyncLoader.default)("apache",(function(){return Promise.resolve().then((function(){return __webpack_require__(362)}))})),applescript:(0,_createLanguageAsyncLoader.default)("applescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(363)}))})),arcade:(0,_createLanguageAsyncLoader.default)("arcade",(function(){return Promise.resolve().then((function(){return __webpack_require__(364)}))})),arduino:(0,_createLanguageAsyncLoader.default)("arduino",(function(){return Promise.resolve().then((function(){return __webpack_require__(365)}))})),armasm:(0,_createLanguageAsyncLoader.default)("armasm",(function(){return Promise.resolve().then((function(){return __webpack_require__(366)}))})),asciidoc:(0,_createLanguageAsyncLoader.default)("asciidoc",(function(){return Promise.resolve().then((function(){return __webpack_require__(368)}))})),aspectj:(0,_createLanguageAsyncLoader.default)("aspectj",(function(){return Promise.resolve().then((function(){return __webpack_require__(369)}))})),autohotkey:(0,_createLanguageAsyncLoader.default)("autohotkey",(function(){return Promise.resolve().then((function(){return __webpack_require__(370)}))})),autoit:(0,_createLanguageAsyncLoader.default)("autoit",(function(){return Promise.resolve().then((function(){return __webpack_require__(371)}))})),avrasm:(0,_createLanguageAsyncLoader.default)("avrasm",(function(){return Promise.resolve().then((function(){return __webpack_require__(372)}))})),awk:(0,_createLanguageAsyncLoader.default)("awk",(function(){return Promise.resolve().then((function(){return __webpack_require__(373)}))})),axapta:(0,_createLanguageAsyncLoader.default)("axapta",(function(){return Promise.resolve().then((function(){return __webpack_require__(374)}))})),bash:(0,_createLanguageAsyncLoader.default)("bash",(function(){return Promise.resolve().then((function(){return __webpack_require__(375)}))})),basic:(0,_createLanguageAsyncLoader.default)("basic",(function(){return Promise.resolve().then((function(){return __webpack_require__(376)}))})),bnf:(0,_createLanguageAsyncLoader.default)("bnf",(function(){return Promise.resolve().then((function(){return __webpack_require__(377)}))})),brainfuck:(0,_createLanguageAsyncLoader.default)("brainfuck",(function(){return Promise.resolve().then((function(){return __webpack_require__(378)}))})),cLike:(0,_createLanguageAsyncLoader.default)("cLike",(function(){return Promise.resolve().then((function(){return __webpack_require__(379)}))})),c:(0,_createLanguageAsyncLoader.default)("c",(function(){return Promise.resolve().then((function(){return __webpack_require__(380)}))})),cal:(0,_createLanguageAsyncLoader.default)("cal",(function(){return Promise.resolve().then((function(){return __webpack_require__(381)}))})),capnproto:(0,_createLanguageAsyncLoader.default)("capnproto",(function(){return Promise.resolve().then((function(){return __webpack_require__(382)}))})),ceylon:(0,_createLanguageAsyncLoader.default)("ceylon",(function(){return Promise.resolve().then((function(){return __webpack_require__(383)}))})),clean:(0,_createLanguageAsyncLoader.default)("clean",(function(){return Promise.resolve().then((function(){return __webpack_require__(384)}))})),clojureRepl:(0,_createLanguageAsyncLoader.default)("clojureRepl",(function(){return Promise.resolve().then((function(){return __webpack_require__(386)}))})),clojure:(0,_createLanguageAsyncLoader.default)("clojure",(function(){return Promise.resolve().then((function(){return __webpack_require__(385)}))})),cmake:(0,_createLanguageAsyncLoader.default)("cmake",(function(){return Promise.resolve().then((function(){return __webpack_require__(387)}))})),coffeescript:(0,_createLanguageAsyncLoader.default)("coffeescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(388)}))})),coq:(0,_createLanguageAsyncLoader.default)("coq",(function(){return Promise.resolve().then((function(){return __webpack_require__(389)}))})),cos:(0,_createLanguageAsyncLoader.default)("cos",(function(){return Promise.resolve().then((function(){return __webpack_require__(390)}))})),cpp:(0,_createLanguageAsyncLoader.default)("cpp",(function(){return Promise.resolve().then((function(){return __webpack_require__(391)}))})),crmsh:(0,_createLanguageAsyncLoader.default)("crmsh",(function(){return Promise.resolve().then((function(){return __webpack_require__(392)}))})),crystal:(0,_createLanguageAsyncLoader.default)("crystal",(function(){return Promise.resolve().then((function(){return __webpack_require__(393)}))})),csharp:(0,_createLanguageAsyncLoader.default)("csharp",(function(){return Promise.resolve().then((function(){return __webpack_require__(394)}))})),csp:(0,_createLanguageAsyncLoader.default)("csp",(function(){return Promise.resolve().then((function(){return __webpack_require__(395)}))})),css:(0,_createLanguageAsyncLoader.default)("css",(function(){return Promise.resolve().then((function(){return __webpack_require__(396)}))})),d:(0,_createLanguageAsyncLoader.default)("d",(function(){return Promise.resolve().then((function(){return __webpack_require__(397)}))})),dart:(0,_createLanguageAsyncLoader.default)("dart",(function(){return Promise.resolve().then((function(){return __webpack_require__(399)}))})),delphi:(0,_createLanguageAsyncLoader.default)("delphi",(function(){return Promise.resolve().then((function(){return __webpack_require__(400)}))})),diff:(0,_createLanguageAsyncLoader.default)("diff",(function(){return Promise.resolve().then((function(){return __webpack_require__(401)}))})),django:(0,_createLanguageAsyncLoader.default)("django",(function(){return Promise.resolve().then((function(){return __webpack_require__(402)}))})),dns:(0,_createLanguageAsyncLoader.default)("dns",(function(){return Promise.resolve().then((function(){return __webpack_require__(403)}))})),dockerfile:(0,_createLanguageAsyncLoader.default)("dockerfile",(function(){return Promise.resolve().then((function(){return __webpack_require__(404)}))})),dos:(0,_createLanguageAsyncLoader.default)("dos",(function(){return Promise.resolve().then((function(){return __webpack_require__(405)}))})),dsconfig:(0,_createLanguageAsyncLoader.default)("dsconfig",(function(){return Promise.resolve().then((function(){return __webpack_require__(406)}))})),dts:(0,_createLanguageAsyncLoader.default)("dts",(function(){return Promise.resolve().then((function(){return __webpack_require__(407)}))})),dust:(0,_createLanguageAsyncLoader.default)("dust",(function(){return Promise.resolve().then((function(){return __webpack_require__(408)}))})),ebnf:(0,_createLanguageAsyncLoader.default)("ebnf",(function(){return Promise.resolve().then((function(){return __webpack_require__(409)}))})),elixir:(0,_createLanguageAsyncLoader.default)("elixir",(function(){return Promise.resolve().then((function(){return __webpack_require__(410)}))})),elm:(0,_createLanguageAsyncLoader.default)("elm",(function(){return Promise.resolve().then((function(){return __webpack_require__(411)}))})),erb:(0,_createLanguageAsyncLoader.default)("erb",(function(){return Promise.resolve().then((function(){return __webpack_require__(413)}))})),erlangRepl:(0,_createLanguageAsyncLoader.default)("erlangRepl",(function(){return Promise.resolve().then((function(){return __webpack_require__(414)}))})),erlang:(0,_createLanguageAsyncLoader.default)("erlang",(function(){return Promise.resolve().then((function(){return __webpack_require__(415)}))})),excel:(0,_createLanguageAsyncLoader.default)("excel",(function(){return Promise.resolve().then((function(){return __webpack_require__(416)}))})),fix:(0,_createLanguageAsyncLoader.default)("fix",(function(){return Promise.resolve().then((function(){return __webpack_require__(417)}))})),flix:(0,_createLanguageAsyncLoader.default)("flix",(function(){return Promise.resolve().then((function(){return __webpack_require__(418)}))})),fortran:(0,_createLanguageAsyncLoader.default)("fortran",(function(){return Promise.resolve().then((function(){return __webpack_require__(419)}))})),fsharp:(0,_createLanguageAsyncLoader.default)("fsharp",(function(){return Promise.resolve().then((function(){return __webpack_require__(420)}))})),gams:(0,_createLanguageAsyncLoader.default)("gams",(function(){return Promise.resolve().then((function(){return __webpack_require__(421)}))})),gauss:(0,_createLanguageAsyncLoader.default)("gauss",(function(){return Promise.resolve().then((function(){return __webpack_require__(422)}))})),gcode:(0,_createLanguageAsyncLoader.default)("gcode",(function(){return Promise.resolve().then((function(){return __webpack_require__(423)}))})),gherkin:(0,_createLanguageAsyncLoader.default)("gherkin",(function(){return Promise.resolve().then((function(){return __webpack_require__(424)}))})),glsl:(0,_createLanguageAsyncLoader.default)("glsl",(function(){return Promise.resolve().then((function(){return __webpack_require__(425)}))})),gml:(0,_createLanguageAsyncLoader.default)("gml",(function(){return Promise.resolve().then((function(){return __webpack_require__(426)}))})),go:(0,_createLanguageAsyncLoader.default)("go",(function(){return Promise.resolve().then((function(){return __webpack_require__(427)}))})),golo:(0,_createLanguageAsyncLoader.default)("golo",(function(){return Promise.resolve().then((function(){return __webpack_require__(428)}))})),gradle:(0,_createLanguageAsyncLoader.default)("gradle",(function(){return Promise.resolve().then((function(){return __webpack_require__(429)}))})),groovy:(0,_createLanguageAsyncLoader.default)("groovy",(function(){return Promise.resolve().then((function(){return __webpack_require__(430)}))})),haml:(0,_createLanguageAsyncLoader.default)("haml",(function(){return Promise.resolve().then((function(){return __webpack_require__(431)}))})),handlebars:(0,_createLanguageAsyncLoader.default)("handlebars",(function(){return Promise.resolve().then((function(){return __webpack_require__(432)}))})),haskell:(0,_createLanguageAsyncLoader.default)("haskell",(function(){return Promise.resolve().then((function(){return __webpack_require__(433)}))})),haxe:(0,_createLanguageAsyncLoader.default)("haxe",(function(){return Promise.resolve().then((function(){return __webpack_require__(434)}))})),hsp:(0,_createLanguageAsyncLoader.default)("hsp",(function(){return Promise.resolve().then((function(){return __webpack_require__(435)}))})),htmlbars:(0,_createLanguageAsyncLoader.default)("htmlbars",(function(){return Promise.resolve().then((function(){return __webpack_require__(436)}))})),http:(0,_createLanguageAsyncLoader.default)("http",(function(){return Promise.resolve().then((function(){return __webpack_require__(437)}))})),hy:(0,_createLanguageAsyncLoader.default)("hy",(function(){return Promise.resolve().then((function(){return __webpack_require__(438)}))})),inform7:(0,_createLanguageAsyncLoader.default)("inform7",(function(){return Promise.resolve().then((function(){return __webpack_require__(439)}))})),ini:(0,_createLanguageAsyncLoader.default)("ini",(function(){return Promise.resolve().then((function(){return __webpack_require__(440)}))})),irpf90:(0,_createLanguageAsyncLoader.default)("irpf90",(function(){return Promise.resolve().then((function(){return __webpack_require__(441)}))})),isbl:(0,_createLanguageAsyncLoader.default)("isbl",(function(){return Promise.resolve().then((function(){return __webpack_require__(442)}))})),java:(0,_createLanguageAsyncLoader.default)("java",(function(){return Promise.resolve().then((function(){return __webpack_require__(443)}))})),javascript:(0,_createLanguageAsyncLoader.default)("javascript",(function(){return Promise.resolve().then((function(){return __webpack_require__(444)}))})),jbossCli:(0,_createLanguageAsyncLoader.default)("jbossCli",(function(){return Promise.resolve().then((function(){return __webpack_require__(445)}))})),json:(0,_createLanguageAsyncLoader.default)("json",(function(){return Promise.resolve().then((function(){return __webpack_require__(446)}))})),juliaRepl:(0,_createLanguageAsyncLoader.default)("juliaRepl",(function(){return Promise.resolve().then((function(){return __webpack_require__(448)}))})),julia:(0,_createLanguageAsyncLoader.default)("julia",(function(){return Promise.resolve().then((function(){return __webpack_require__(447)}))})),kotlin:(0,_createLanguageAsyncLoader.default)("kotlin",(function(){return Promise.resolve().then((function(){return __webpack_require__(449)}))})),lasso:(0,_createLanguageAsyncLoader.default)("lasso",(function(){return Promise.resolve().then((function(){return __webpack_require__(450)}))})),latex:(0,_createLanguageAsyncLoader.default)("latex",(function(){return Promise.resolve().then((function(){return __webpack_require__(451)}))})),ldif:(0,_createLanguageAsyncLoader.default)("ldif",(function(){return Promise.resolve().then((function(){return __webpack_require__(452)}))})),leaf:(0,_createLanguageAsyncLoader.default)("leaf",(function(){return Promise.resolve().then((function(){return __webpack_require__(453)}))})),less:(0,_createLanguageAsyncLoader.default)("less",(function(){return Promise.resolve().then((function(){return __webpack_require__(454)}))})),lisp:(0,_createLanguageAsyncLoader.default)("lisp",(function(){return Promise.resolve().then((function(){return __webpack_require__(455)}))})),livecodeserver:(0,_createLanguageAsyncLoader.default)("livecodeserver",(function(){return Promise.resolve().then((function(){return __webpack_require__(456)}))})),livescript:(0,_createLanguageAsyncLoader.default)("livescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(457)}))})),llvm:(0,_createLanguageAsyncLoader.default)("llvm",(function(){return Promise.resolve().then((function(){return __webpack_require__(458)}))})),lsl:(0,_createLanguageAsyncLoader.default)("lsl",(function(){return Promise.resolve().then((function(){return __webpack_require__(459)}))})),lua:(0,_createLanguageAsyncLoader.default)("lua",(function(){return Promise.resolve().then((function(){return __webpack_require__(460)}))})),makefile:(0,_createLanguageAsyncLoader.default)("makefile",(function(){return Promise.resolve().then((function(){return __webpack_require__(461)}))})),markdown:(0,_createLanguageAsyncLoader.default)("markdown",(function(){return Promise.resolve().then((function(){return __webpack_require__(398)}))})),mathematica:(0,_createLanguageAsyncLoader.default)("mathematica",(function(){return Promise.resolve().then((function(){return __webpack_require__(462)}))})),matlab:(0,_createLanguageAsyncLoader.default)("matlab",(function(){return Promise.resolve().then((function(){return __webpack_require__(463)}))})),maxima:(0,_createLanguageAsyncLoader.default)("maxima",(function(){return Promise.resolve().then((function(){return __webpack_require__(464)}))})),mel:(0,_createLanguageAsyncLoader.default)("mel",(function(){return Promise.resolve().then((function(){return __webpack_require__(465)}))})),mercury:(0,_createLanguageAsyncLoader.default)("mercury",(function(){return Promise.resolve().then((function(){return __webpack_require__(466)}))})),mipsasm:(0,_createLanguageAsyncLoader.default)("mipsasm",(function(){return Promise.resolve().then((function(){return __webpack_require__(467)}))})),mizar:(0,_createLanguageAsyncLoader.default)("mizar",(function(){return Promise.resolve().then((function(){return __webpack_require__(468)}))})),mojolicious:(0,_createLanguageAsyncLoader.default)("mojolicious",(function(){return Promise.resolve().then((function(){return __webpack_require__(470)}))})),monkey:(0,_createLanguageAsyncLoader.default)("monkey",(function(){return Promise.resolve().then((function(){return __webpack_require__(471)}))})),moonscript:(0,_createLanguageAsyncLoader.default)("moonscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(472)}))})),n1ql:(0,_createLanguageAsyncLoader.default)("n1ql",(function(){return Promise.resolve().then((function(){return __webpack_require__(473)}))})),nginx:(0,_createLanguageAsyncLoader.default)("nginx",(function(){return Promise.resolve().then((function(){return __webpack_require__(474)}))})),nim:(0,_createLanguageAsyncLoader.default)("nim",(function(){return Promise.resolve().then((function(){return __webpack_require__(475)}))})),nix:(0,_createLanguageAsyncLoader.default)("nix",(function(){return Promise.resolve().then((function(){return __webpack_require__(476)}))})),nodeRepl:(0,_createLanguageAsyncLoader.default)("nodeRepl",(function(){return Promise.resolve().then((function(){return __webpack_require__(477)}))})),nsis:(0,_createLanguageAsyncLoader.default)("nsis",(function(){return Promise.resolve().then((function(){return __webpack_require__(478)}))})),objectivec:(0,_createLanguageAsyncLoader.default)("objectivec",(function(){return Promise.resolve().then((function(){return __webpack_require__(479)}))})),ocaml:(0,_createLanguageAsyncLoader.default)("ocaml",(function(){return Promise.resolve().then((function(){return __webpack_require__(480)}))})),openscad:(0,_createLanguageAsyncLoader.default)("openscad",(function(){return Promise.resolve().then((function(){return __webpack_require__(481)}))})),oxygene:(0,_createLanguageAsyncLoader.default)("oxygene",(function(){return Promise.resolve().then((function(){return __webpack_require__(482)}))})),parser3:(0,_createLanguageAsyncLoader.default)("parser3",(function(){return Promise.resolve().then((function(){return __webpack_require__(483)}))})),perl:(0,_createLanguageAsyncLoader.default)("perl",(function(){return Promise.resolve().then((function(){return __webpack_require__(469)}))})),pf:(0,_createLanguageAsyncLoader.default)("pf",(function(){return Promise.resolve().then((function(){return __webpack_require__(484)}))})),pgsql:(0,_createLanguageAsyncLoader.default)("pgsql",(function(){return Promise.resolve().then((function(){return __webpack_require__(485)}))})),phpTemplate:(0,_createLanguageAsyncLoader.default)("phpTemplate",(function(){return Promise.resolve().then((function(){return __webpack_require__(487)}))})),php:(0,_createLanguageAsyncLoader.default)("php",(function(){return Promise.resolve().then((function(){return __webpack_require__(486)}))})),plaintext:(0,_createLanguageAsyncLoader.default)("plaintext",(function(){return Promise.resolve().then((function(){return __webpack_require__(488)}))})),pony:(0,_createLanguageAsyncLoader.default)("pony",(function(){return Promise.resolve().then((function(){return __webpack_require__(489)}))})),powershell:(0,_createLanguageAsyncLoader.default)("powershell",(function(){return Promise.resolve().then((function(){return __webpack_require__(490)}))})),processing:(0,_createLanguageAsyncLoader.default)("processing",(function(){return Promise.resolve().then((function(){return __webpack_require__(491)}))})),profile:(0,_createLanguageAsyncLoader.default)("profile",(function(){return Promise.resolve().then((function(){return __webpack_require__(492)}))})),prolog:(0,_createLanguageAsyncLoader.default)("prolog",(function(){return Promise.resolve().then((function(){return __webpack_require__(493)}))})),properties:(0,_createLanguageAsyncLoader.default)("properties",(function(){return Promise.resolve().then((function(){return __webpack_require__(494)}))})),protobuf:(0,_createLanguageAsyncLoader.default)("protobuf",(function(){return Promise.resolve().then((function(){return __webpack_require__(495)}))})),puppet:(0,_createLanguageAsyncLoader.default)("puppet",(function(){return Promise.resolve().then((function(){return __webpack_require__(496)}))})),purebasic:(0,_createLanguageAsyncLoader.default)("purebasic",(function(){return Promise.resolve().then((function(){return __webpack_require__(497)}))})),pythonRepl:(0,_createLanguageAsyncLoader.default)("pythonRepl",(function(){return Promise.resolve().then((function(){return __webpack_require__(499)}))})),python:(0,_createLanguageAsyncLoader.default)("python",(function(){return Promise.resolve().then((function(){return __webpack_require__(498)}))})),q:(0,_createLanguageAsyncLoader.default)("q",(function(){return Promise.resolve().then((function(){return __webpack_require__(500)}))})),qml:(0,_createLanguageAsyncLoader.default)("qml",(function(){return Promise.resolve().then((function(){return __webpack_require__(501)}))})),r:(0,_createLanguageAsyncLoader.default)("r",(function(){return Promise.resolve().then((function(){return __webpack_require__(502)}))})),reasonml:(0,_createLanguageAsyncLoader.default)("reasonml",(function(){return Promise.resolve().then((function(){return __webpack_require__(503)}))})),rib:(0,_createLanguageAsyncLoader.default)("rib",(function(){return Promise.resolve().then((function(){return __webpack_require__(504)}))})),roboconf:(0,_createLanguageAsyncLoader.default)("roboconf",(function(){return Promise.resolve().then((function(){return __webpack_require__(505)}))})),routeros:(0,_createLanguageAsyncLoader.default)("routeros",(function(){return Promise.resolve().then((function(){return __webpack_require__(506)}))})),rsl:(0,_createLanguageAsyncLoader.default)("rsl",(function(){return Promise.resolve().then((function(){return __webpack_require__(507)}))})),ruby:(0,_createLanguageAsyncLoader.default)("ruby",(function(){return Promise.resolve().then((function(){return __webpack_require__(412)}))})),ruleslanguage:(0,_createLanguageAsyncLoader.default)("ruleslanguage",(function(){return Promise.resolve().then((function(){return __webpack_require__(508)}))})),rust:(0,_createLanguageAsyncLoader.default)("rust",(function(){return Promise.resolve().then((function(){return __webpack_require__(509)}))})),sas:(0,_createLanguageAsyncLoader.default)("sas",(function(){return Promise.resolve().then((function(){return __webpack_require__(510)}))})),scala:(0,_createLanguageAsyncLoader.default)("scala",(function(){return Promise.resolve().then((function(){return __webpack_require__(511)}))})),scheme:(0,_createLanguageAsyncLoader.default)("scheme",(function(){return Promise.resolve().then((function(){return __webpack_require__(512)}))})),scilab:(0,_createLanguageAsyncLoader.default)("scilab",(function(){return Promise.resolve().then((function(){return __webpack_require__(513)}))})),scss:(0,_createLanguageAsyncLoader.default)("scss",(function(){return Promise.resolve().then((function(){return __webpack_require__(514)}))})),shell:(0,_createLanguageAsyncLoader.default)("shell",(function(){return Promise.resolve().then((function(){return __webpack_require__(515)}))})),smali:(0,_createLanguageAsyncLoader.default)("smali",(function(){return Promise.resolve().then((function(){return __webpack_require__(516)}))})),smalltalk:(0,_createLanguageAsyncLoader.default)("smalltalk",(function(){return Promise.resolve().then((function(){return __webpack_require__(517)}))})),sml:(0,_createLanguageAsyncLoader.default)("sml",(function(){return Promise.resolve().then((function(){return __webpack_require__(518)}))})),sqf:(0,_createLanguageAsyncLoader.default)("sqf",(function(){return Promise.resolve().then((function(){return __webpack_require__(519)}))})),sql:(0,_createLanguageAsyncLoader.default)("sql",(function(){return Promise.resolve().then((function(){return __webpack_require__(520)}))})),stan:(0,_createLanguageAsyncLoader.default)("stan",(function(){return Promise.resolve().then((function(){return __webpack_require__(521)}))})),stata:(0,_createLanguageAsyncLoader.default)("stata",(function(){return Promise.resolve().then((function(){return __webpack_require__(522)}))})),step21:(0,_createLanguageAsyncLoader.default)("step21",(function(){return Promise.resolve().then((function(){return __webpack_require__(523)}))})),stylus:(0,_createLanguageAsyncLoader.default)("stylus",(function(){return Promise.resolve().then((function(){return __webpack_require__(524)}))})),subunit:(0,_createLanguageAsyncLoader.default)("subunit",(function(){return Promise.resolve().then((function(){return __webpack_require__(525)}))})),swift:(0,_createLanguageAsyncLoader.default)("swift",(function(){return Promise.resolve().then((function(){return __webpack_require__(526)}))})),taggerscript:(0,_createLanguageAsyncLoader.default)("taggerscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(527)}))})),tap:(0,_createLanguageAsyncLoader.default)("tap",(function(){return Promise.resolve().then((function(){return __webpack_require__(529)}))})),tcl:(0,_createLanguageAsyncLoader.default)("tcl",(function(){return Promise.resolve().then((function(){return __webpack_require__(530)}))})),thrift:(0,_createLanguageAsyncLoader.default)("thrift",(function(){return Promise.resolve().then((function(){return __webpack_require__(531)}))})),tp:(0,_createLanguageAsyncLoader.default)("tp",(function(){return Promise.resolve().then((function(){return __webpack_require__(532)}))})),twig:(0,_createLanguageAsyncLoader.default)("twig",(function(){return Promise.resolve().then((function(){return __webpack_require__(533)}))})),typescript:(0,_createLanguageAsyncLoader.default)("typescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(534)}))})),vala:(0,_createLanguageAsyncLoader.default)("vala",(function(){return Promise.resolve().then((function(){return __webpack_require__(535)}))})),vbnet:(0,_createLanguageAsyncLoader.default)("vbnet",(function(){return Promise.resolve().then((function(){return __webpack_require__(536)}))})),vbscriptHtml:(0,_createLanguageAsyncLoader.default)("vbscriptHtml",(function(){return Promise.resolve().then((function(){return __webpack_require__(538)}))})),vbscript:(0,_createLanguageAsyncLoader.default)("vbscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(537)}))})),verilog:(0,_createLanguageAsyncLoader.default)("verilog",(function(){return Promise.resolve().then((function(){return __webpack_require__(539)}))})),vhdl:(0,_createLanguageAsyncLoader.default)("vhdl",(function(){return Promise.resolve().then((function(){return __webpack_require__(540)}))})),vim:(0,_createLanguageAsyncLoader.default)("vim",(function(){return Promise.resolve().then((function(){return __webpack_require__(541)}))})),x86asm:(0,_createLanguageAsyncLoader.default)("x86asm",(function(){return Promise.resolve().then((function(){return __webpack_require__(542)}))})),xl:(0,_createLanguageAsyncLoader.default)("xl",(function(){return Promise.resolve().then((function(){return __webpack_require__(543)}))})),xml:(0,_createLanguageAsyncLoader.default)("xml",(function(){return Promise.resolve().then((function(){return __webpack_require__(367)}))})),xquery:(0,_createLanguageAsyncLoader.default)("xquery",(function(){return Promise.resolve().then((function(){return __webpack_require__(544)}))})),yaml:(0,_createLanguageAsyncLoader.default)("yaml",(function(){return Promise.resolve().then((function(){return __webpack_require__(528)}))})),zephir:(0,_createLanguageAsyncLoader.default)("zephir",(function(){return Promise.resolve().then((function(){return __webpack_require__(545)}))}))};exports.default=_default},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _highlight=_interopRequireDefault(__webpack_require__(126));var _core=_interopRequireDefault(__webpack_require__(225));var SyntaxHighlighter=(0,_highlight.default)(_core.default,{});SyntaxHighlighter.registerLanguage=_core.default.registerLanguage;var _default=SyntaxHighlighter;exports.default=_default},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncSyntaxHighlighter=_interopRequireDefault(__webpack_require__(226));var _prism=_interopRequireDefault(__webpack_require__(1333));var _default=(0,_asyncSyntaxHighlighter.default)({loader:function loader(){return Promise.resolve().then((function(){return __webpack_require__(234)})).then((function(module){return module.default||module}))},isLanguageRegistered:function isLanguageRegistered(instance,language){return instance.registered(language)},languageLoaders:_prism.default,registerLanguage:function registerLanguage(instance,name,language){return instance.register(language)}});exports.default=_default},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _createLanguageAsyncLoader=_interopRequireDefault(__webpack_require__(548));var _default={abap:(0,_createLanguageAsyncLoader.default)("abap",(function(){return Promise.resolve().then((function(){return __webpack_require__(549)}))})),abnf:(0,_createLanguageAsyncLoader.default)("abnf",(function(){return Promise.resolve().then((function(){return __webpack_require__(550)}))})),actionscript:(0,_createLanguageAsyncLoader.default)("actionscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(551)}))})),ada:(0,_createLanguageAsyncLoader.default)("ada",(function(){return Promise.resolve().then((function(){return __webpack_require__(552)}))})),agda:(0,_createLanguageAsyncLoader.default)("agda",(function(){return Promise.resolve().then((function(){return __webpack_require__(553)}))})),al:(0,_createLanguageAsyncLoader.default)("al",(function(){return Promise.resolve().then((function(){return __webpack_require__(554)}))})),antlr4:(0,_createLanguageAsyncLoader.default)("antlr4",(function(){return Promise.resolve().then((function(){return __webpack_require__(555)}))})),apacheconf:(0,_createLanguageAsyncLoader.default)("apacheconf",(function(){return Promise.resolve().then((function(){return __webpack_require__(556)}))})),apl:(0,_createLanguageAsyncLoader.default)("apl",(function(){return Promise.resolve().then((function(){return __webpack_require__(557)}))})),applescript:(0,_createLanguageAsyncLoader.default)("applescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(558)}))})),aql:(0,_createLanguageAsyncLoader.default)("aql",(function(){return Promise.resolve().then((function(){return __webpack_require__(559)}))})),arduino:(0,_createLanguageAsyncLoader.default)("arduino",(function(){return Promise.resolve().then((function(){return __webpack_require__(560)}))})),arff:(0,_createLanguageAsyncLoader.default)("arff",(function(){return Promise.resolve().then((function(){return __webpack_require__(561)}))})),asciidoc:(0,_createLanguageAsyncLoader.default)("asciidoc",(function(){return Promise.resolve().then((function(){return __webpack_require__(562)}))})),asm6502:(0,_createLanguageAsyncLoader.default)("asm6502",(function(){return Promise.resolve().then((function(){return __webpack_require__(563)}))})),aspnet:(0,_createLanguageAsyncLoader.default)("aspnet",(function(){return Promise.resolve().then((function(){return __webpack_require__(564)}))})),autohotkey:(0,_createLanguageAsyncLoader.default)("autohotkey",(function(){return Promise.resolve().then((function(){return __webpack_require__(565)}))})),autoit:(0,_createLanguageAsyncLoader.default)("autoit",(function(){return Promise.resolve().then((function(){return __webpack_require__(566)}))})),bash:(0,_createLanguageAsyncLoader.default)("bash",(function(){return Promise.resolve().then((function(){return __webpack_require__(227)}))})),basic:(0,_createLanguageAsyncLoader.default)("basic",(function(){return Promise.resolve().then((function(){return __webpack_require__(228)}))})),batch:(0,_createLanguageAsyncLoader.default)("batch",(function(){return Promise.resolve().then((function(){return __webpack_require__(567)}))})),bbcode:(0,_createLanguageAsyncLoader.default)("bbcode",(function(){return Promise.resolve().then((function(){return __webpack_require__(568)}))})),birb:(0,_createLanguageAsyncLoader.default)("birb",(function(){return Promise.resolve().then((function(){return __webpack_require__(569)}))})),bison:(0,_createLanguageAsyncLoader.default)("bison",(function(){return Promise.resolve().then((function(){return __webpack_require__(570)}))})),bnf:(0,_createLanguageAsyncLoader.default)("bnf",(function(){return Promise.resolve().then((function(){return __webpack_require__(571)}))})),brainfuck:(0,_createLanguageAsyncLoader.default)("brainfuck",(function(){return Promise.resolve().then((function(){return __webpack_require__(572)}))})),brightscript:(0,_createLanguageAsyncLoader.default)("brightscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(573)}))})),bro:(0,_createLanguageAsyncLoader.default)("bro",(function(){return Promise.resolve().then((function(){return __webpack_require__(574)}))})),bsl:(0,_createLanguageAsyncLoader.default)("bsl",(function(){return Promise.resolve().then((function(){return __webpack_require__(575)}))})),c:(0,_createLanguageAsyncLoader.default)("c",(function(){return Promise.resolve().then((function(){return __webpack_require__(91)}))})),cil:(0,_createLanguageAsyncLoader.default)("cil",(function(){return Promise.resolve().then((function(){return __webpack_require__(576)}))})),clike:(0,_createLanguageAsyncLoader.default)("clike",(function(){return Promise.resolve().then((function(){return __webpack_require__(577)}))})),clojure:(0,_createLanguageAsyncLoader.default)("clojure",(function(){return Promise.resolve().then((function(){return __webpack_require__(578)}))})),cmake:(0,_createLanguageAsyncLoader.default)("cmake",(function(){return Promise.resolve().then((function(){return __webpack_require__(579)}))})),coffeescript:(0,_createLanguageAsyncLoader.default)("coffeescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(580)}))})),concurnas:(0,_createLanguageAsyncLoader.default)("concurnas",(function(){return Promise.resolve().then((function(){return __webpack_require__(581)}))})),cpp:(0,_createLanguageAsyncLoader.default)("cpp",(function(){return Promise.resolve().then((function(){return __webpack_require__(164)}))})),crystal:(0,_createLanguageAsyncLoader.default)("crystal",(function(){return Promise.resolve().then((function(){return __webpack_require__(582)}))})),csharp:(0,_createLanguageAsyncLoader.default)("csharp",(function(){return Promise.resolve().then((function(){return __webpack_require__(165)}))})),csp:(0,_createLanguageAsyncLoader.default)("csp",(function(){return Promise.resolve().then((function(){return __webpack_require__(583)}))})),cssExtras:(0,_createLanguageAsyncLoader.default)("cssExtras",(function(){return Promise.resolve().then((function(){return __webpack_require__(584)}))})),css:(0,_createLanguageAsyncLoader.default)("css",(function(){return Promise.resolve().then((function(){return __webpack_require__(585)}))})),cypher:(0,_createLanguageAsyncLoader.default)("cypher",(function(){return Promise.resolve().then((function(){return __webpack_require__(586)}))})),d:(0,_createLanguageAsyncLoader.default)("d",(function(){return Promise.resolve().then((function(){return __webpack_require__(587)}))})),dart:(0,_createLanguageAsyncLoader.default)("dart",(function(){return Promise.resolve().then((function(){return __webpack_require__(588)}))})),dax:(0,_createLanguageAsyncLoader.default)("dax",(function(){return Promise.resolve().then((function(){return __webpack_require__(589)}))})),dhall:(0,_createLanguageAsyncLoader.default)("dhall",(function(){return Promise.resolve().then((function(){return __webpack_require__(590)}))})),diff:(0,_createLanguageAsyncLoader.default)("diff",(function(){return Promise.resolve().then((function(){return __webpack_require__(591)}))})),django:(0,_createLanguageAsyncLoader.default)("django",(function(){return Promise.resolve().then((function(){return __webpack_require__(592)}))})),dnsZoneFile:(0,_createLanguageAsyncLoader.default)("dnsZoneFile",(function(){return Promise.resolve().then((function(){return __webpack_require__(593)}))})),docker:(0,_createLanguageAsyncLoader.default)("docker",(function(){return Promise.resolve().then((function(){return __webpack_require__(594)}))})),ebnf:(0,_createLanguageAsyncLoader.default)("ebnf",(function(){return Promise.resolve().then((function(){return __webpack_require__(595)}))})),editorconfig:(0,_createLanguageAsyncLoader.default)("editorconfig",(function(){return Promise.resolve().then((function(){return __webpack_require__(596)}))})),eiffel:(0,_createLanguageAsyncLoader.default)("eiffel",(function(){return Promise.resolve().then((function(){return __webpack_require__(597)}))})),ejs:(0,_createLanguageAsyncLoader.default)("ejs",(function(){return Promise.resolve().then((function(){return __webpack_require__(598)}))})),elixir:(0,_createLanguageAsyncLoader.default)("elixir",(function(){return Promise.resolve().then((function(){return __webpack_require__(599)}))})),elm:(0,_createLanguageAsyncLoader.default)("elm",(function(){return Promise.resolve().then((function(){return __webpack_require__(600)}))})),erb:(0,_createLanguageAsyncLoader.default)("erb",(function(){return Promise.resolve().then((function(){return __webpack_require__(601)}))})),erlang:(0,_createLanguageAsyncLoader.default)("erlang",(function(){return Promise.resolve().then((function(){return __webpack_require__(602)}))})),etlua:(0,_createLanguageAsyncLoader.default)("etlua",(function(){return Promise.resolve().then((function(){return __webpack_require__(603)}))})),excelFormula:(0,_createLanguageAsyncLoader.default)("excelFormula",(function(){return Promise.resolve().then((function(){return __webpack_require__(604)}))})),factor:(0,_createLanguageAsyncLoader.default)("factor",(function(){return Promise.resolve().then((function(){return __webpack_require__(605)}))})),firestoreSecurityRules:(0,_createLanguageAsyncLoader.default)("firestoreSecurityRules",(function(){return Promise.resolve().then((function(){return __webpack_require__(606)}))})),flow:(0,_createLanguageAsyncLoader.default)("flow",(function(){return Promise.resolve().then((function(){return __webpack_require__(607)}))})),fortran:(0,_createLanguageAsyncLoader.default)("fortran",(function(){return Promise.resolve().then((function(){return __webpack_require__(608)}))})),fsharp:(0,_createLanguageAsyncLoader.default)("fsharp",(function(){return Promise.resolve().then((function(){return __webpack_require__(609)}))})),ftl:(0,_createLanguageAsyncLoader.default)("ftl",(function(){return Promise.resolve().then((function(){return __webpack_require__(610)}))})),gcode:(0,_createLanguageAsyncLoader.default)("gcode",(function(){return Promise.resolve().then((function(){return __webpack_require__(611)}))})),gdscript:(0,_createLanguageAsyncLoader.default)("gdscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(612)}))})),gedcom:(0,_createLanguageAsyncLoader.default)("gedcom",(function(){return Promise.resolve().then((function(){return __webpack_require__(613)}))})),gherkin:(0,_createLanguageAsyncLoader.default)("gherkin",(function(){return Promise.resolve().then((function(){return __webpack_require__(614)}))})),git:(0,_createLanguageAsyncLoader.default)("git",(function(){return Promise.resolve().then((function(){return __webpack_require__(615)}))})),glsl:(0,_createLanguageAsyncLoader.default)("glsl",(function(){return Promise.resolve().then((function(){return __webpack_require__(616)}))})),gml:(0,_createLanguageAsyncLoader.default)("gml",(function(){return Promise.resolve().then((function(){return __webpack_require__(617)}))})),go:(0,_createLanguageAsyncLoader.default)("go",(function(){return Promise.resolve().then((function(){return __webpack_require__(618)}))})),graphql:(0,_createLanguageAsyncLoader.default)("graphql",(function(){return Promise.resolve().then((function(){return __webpack_require__(619)}))})),groovy:(0,_createLanguageAsyncLoader.default)("groovy",(function(){return Promise.resolve().then((function(){return __webpack_require__(620)}))})),haml:(0,_createLanguageAsyncLoader.default)("haml",(function(){return Promise.resolve().then((function(){return __webpack_require__(621)}))})),handlebars:(0,_createLanguageAsyncLoader.default)("handlebars",(function(){return Promise.resolve().then((function(){return __webpack_require__(622)}))})),haskell:(0,_createLanguageAsyncLoader.default)("haskell",(function(){return Promise.resolve().then((function(){return __webpack_require__(166)}))})),haxe:(0,_createLanguageAsyncLoader.default)("haxe",(function(){return Promise.resolve().then((function(){return __webpack_require__(623)}))})),hcl:(0,_createLanguageAsyncLoader.default)("hcl",(function(){return Promise.resolve().then((function(){return __webpack_require__(624)}))})),hlsl:(0,_createLanguageAsyncLoader.default)("hlsl",(function(){return Promise.resolve().then((function(){return __webpack_require__(625)}))})),hpkp:(0,_createLanguageAsyncLoader.default)("hpkp",(function(){return Promise.resolve().then((function(){return __webpack_require__(626)}))})),hsts:(0,_createLanguageAsyncLoader.default)("hsts",(function(){return Promise.resolve().then((function(){return __webpack_require__(627)}))})),http:(0,_createLanguageAsyncLoader.default)("http",(function(){return Promise.resolve().then((function(){return __webpack_require__(628)}))})),ichigojam:(0,_createLanguageAsyncLoader.default)("ichigojam",(function(){return Promise.resolve().then((function(){return __webpack_require__(629)}))})),icon:(0,_createLanguageAsyncLoader.default)("icon",(function(){return Promise.resolve().then((function(){return __webpack_require__(630)}))})),iecst:(0,_createLanguageAsyncLoader.default)("iecst",(function(){return Promise.resolve().then((function(){return __webpack_require__(631)}))})),ignore:(0,_createLanguageAsyncLoader.default)("ignore",(function(){return Promise.resolve().then((function(){return __webpack_require__(632)}))})),inform7:(0,_createLanguageAsyncLoader.default)("inform7",(function(){return Promise.resolve().then((function(){return __webpack_require__(633)}))})),ini:(0,_createLanguageAsyncLoader.default)("ini",(function(){return Promise.resolve().then((function(){return __webpack_require__(634)}))})),io:(0,_createLanguageAsyncLoader.default)("io",(function(){return Promise.resolve().then((function(){return __webpack_require__(635)}))})),j:(0,_createLanguageAsyncLoader.default)("j",(function(){return Promise.resolve().then((function(){return __webpack_require__(636)}))})),java:(0,_createLanguageAsyncLoader.default)("java",(function(){return Promise.resolve().then((function(){return __webpack_require__(167)}))})),javadoc:(0,_createLanguageAsyncLoader.default)("javadoc",(function(){return Promise.resolve().then((function(){return __webpack_require__(637)}))})),javadoclike:(0,_createLanguageAsyncLoader.default)("javadoclike",(function(){return Promise.resolve().then((function(){return __webpack_require__(128)}))})),javascript:(0,_createLanguageAsyncLoader.default)("javascript",(function(){return Promise.resolve().then((function(){return __webpack_require__(638)}))})),javastacktrace:(0,_createLanguageAsyncLoader.default)("javastacktrace",(function(){return Promise.resolve().then((function(){return __webpack_require__(639)}))})),jolie:(0,_createLanguageAsyncLoader.default)("jolie",(function(){return Promise.resolve().then((function(){return __webpack_require__(640)}))})),jq:(0,_createLanguageAsyncLoader.default)("jq",(function(){return Promise.resolve().then((function(){return __webpack_require__(641)}))})),jsExtras:(0,_createLanguageAsyncLoader.default)("jsExtras",(function(){return Promise.resolve().then((function(){return __webpack_require__(642)}))})),jsTemplates:(0,_createLanguageAsyncLoader.default)("jsTemplates",(function(){return Promise.resolve().then((function(){return __webpack_require__(643)}))})),jsdoc:(0,_createLanguageAsyncLoader.default)("jsdoc",(function(){return Promise.resolve().then((function(){return __webpack_require__(644)}))})),json:(0,_createLanguageAsyncLoader.default)("json",(function(){return Promise.resolve().then((function(){return __webpack_require__(169)}))})),json5:(0,_createLanguageAsyncLoader.default)("json5",(function(){return Promise.resolve().then((function(){return __webpack_require__(645)}))})),jsonp:(0,_createLanguageAsyncLoader.default)("jsonp",(function(){return Promise.resolve().then((function(){return __webpack_require__(646)}))})),jsstacktrace:(0,_createLanguageAsyncLoader.default)("jsstacktrace",(function(){return Promise.resolve().then((function(){return __webpack_require__(647)}))})),jsx:(0,_createLanguageAsyncLoader.default)("jsx",(function(){return Promise.resolve().then((function(){return __webpack_require__(230)}))})),julia:(0,_createLanguageAsyncLoader.default)("julia",(function(){return Promise.resolve().then((function(){return __webpack_require__(648)}))})),keyman:(0,_createLanguageAsyncLoader.default)("keyman",(function(){return Promise.resolve().then((function(){return __webpack_require__(649)}))})),kotlin:(0,_createLanguageAsyncLoader.default)("kotlin",(function(){return Promise.resolve().then((function(){return __webpack_require__(650)}))})),latex:(0,_createLanguageAsyncLoader.default)("latex",(function(){return Promise.resolve().then((function(){return __webpack_require__(651)}))})),latte:(0,_createLanguageAsyncLoader.default)("latte",(function(){return Promise.resolve().then((function(){return __webpack_require__(652)}))})),less:(0,_createLanguageAsyncLoader.default)("less",(function(){return Promise.resolve().then((function(){return __webpack_require__(653)}))})),lilypond:(0,_createLanguageAsyncLoader.default)("lilypond",(function(){return Promise.resolve().then((function(){return __webpack_require__(654)}))})),liquid:(0,_createLanguageAsyncLoader.default)("liquid",(function(){return Promise.resolve().then((function(){return __webpack_require__(655)}))})),lisp:(0,_createLanguageAsyncLoader.default)("lisp",(function(){return Promise.resolve().then((function(){return __webpack_require__(656)}))})),livescript:(0,_createLanguageAsyncLoader.default)("livescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(657)}))})),llvm:(0,_createLanguageAsyncLoader.default)("llvm",(function(){return Promise.resolve().then((function(){return __webpack_require__(658)}))})),lolcode:(0,_createLanguageAsyncLoader.default)("lolcode",(function(){return Promise.resolve().then((function(){return __webpack_require__(659)}))})),lua:(0,_createLanguageAsyncLoader.default)("lua",(function(){return Promise.resolve().then((function(){return __webpack_require__(229)}))})),makefile:(0,_createLanguageAsyncLoader.default)("makefile",(function(){return Promise.resolve().then((function(){return __webpack_require__(660)}))})),markdown:(0,_createLanguageAsyncLoader.default)("markdown",(function(){return Promise.resolve().then((function(){return __webpack_require__(661)}))})),markupTemplating:(0,_createLanguageAsyncLoader.default)("markupTemplating",(function(){return Promise.resolve().then((function(){return __webpack_require__(69)}))})),markup:(0,_createLanguageAsyncLoader.default)("markup",(function(){return Promise.resolve().then((function(){return __webpack_require__(662)}))})),matlab:(0,_createLanguageAsyncLoader.default)("matlab",(function(){return Promise.resolve().then((function(){return __webpack_require__(663)}))})),mel:(0,_createLanguageAsyncLoader.default)("mel",(function(){return Promise.resolve().then((function(){return __webpack_require__(664)}))})),mizar:(0,_createLanguageAsyncLoader.default)("mizar",(function(){return Promise.resolve().then((function(){return __webpack_require__(665)}))})),mongodb:(0,_createLanguageAsyncLoader.default)("mongodb",(function(){return Promise.resolve().then((function(){return __webpack_require__(666)}))})),monkey:(0,_createLanguageAsyncLoader.default)("monkey",(function(){return Promise.resolve().then((function(){return __webpack_require__(667)}))})),moonscript:(0,_createLanguageAsyncLoader.default)("moonscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(668)}))})),n1ql:(0,_createLanguageAsyncLoader.default)("n1ql",(function(){return Promise.resolve().then((function(){return __webpack_require__(669)}))})),n4js:(0,_createLanguageAsyncLoader.default)("n4js",(function(){return Promise.resolve().then((function(){return __webpack_require__(670)}))})),nand2tetrisHdl:(0,_createLanguageAsyncLoader.default)("nand2tetrisHdl",(function(){return Promise.resolve().then((function(){return __webpack_require__(671)}))})),naniscript:(0,_createLanguageAsyncLoader.default)("naniscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(672)}))})),nasm:(0,_createLanguageAsyncLoader.default)("nasm",(function(){return Promise.resolve().then((function(){return __webpack_require__(673)}))})),neon:(0,_createLanguageAsyncLoader.default)("neon",(function(){return Promise.resolve().then((function(){return __webpack_require__(674)}))})),nginx:(0,_createLanguageAsyncLoader.default)("nginx",(function(){return Promise.resolve().then((function(){return __webpack_require__(675)}))})),nim:(0,_createLanguageAsyncLoader.default)("nim",(function(){return Promise.resolve().then((function(){return __webpack_require__(676)}))})),nix:(0,_createLanguageAsyncLoader.default)("nix",(function(){return Promise.resolve().then((function(){return __webpack_require__(677)}))})),nsis:(0,_createLanguageAsyncLoader.default)("nsis",(function(){return Promise.resolve().then((function(){return __webpack_require__(678)}))})),objectivec:(0,_createLanguageAsyncLoader.default)("objectivec",(function(){return Promise.resolve().then((function(){return __webpack_require__(679)}))})),ocaml:(0,_createLanguageAsyncLoader.default)("ocaml",(function(){return Promise.resolve().then((function(){return __webpack_require__(680)}))})),opencl:(0,_createLanguageAsyncLoader.default)("opencl",(function(){return Promise.resolve().then((function(){return __webpack_require__(681)}))})),oz:(0,_createLanguageAsyncLoader.default)("oz",(function(){return Promise.resolve().then((function(){return __webpack_require__(682)}))})),parigp:(0,_createLanguageAsyncLoader.default)("parigp",(function(){return Promise.resolve().then((function(){return __webpack_require__(683)}))})),parser:(0,_createLanguageAsyncLoader.default)("parser",(function(){return Promise.resolve().then((function(){return __webpack_require__(684)}))})),pascal:(0,_createLanguageAsyncLoader.default)("pascal",(function(){return Promise.resolve().then((function(){return __webpack_require__(685)}))})),pascaligo:(0,_createLanguageAsyncLoader.default)("pascaligo",(function(){return Promise.resolve().then((function(){return __webpack_require__(686)}))})),pcaxis:(0,_createLanguageAsyncLoader.default)("pcaxis",(function(){return Promise.resolve().then((function(){return __webpack_require__(687)}))})),peoplecode:(0,_createLanguageAsyncLoader.default)("peoplecode",(function(){return Promise.resolve().then((function(){return __webpack_require__(688)}))})),perl:(0,_createLanguageAsyncLoader.default)("perl",(function(){return Promise.resolve().then((function(){return __webpack_require__(689)}))})),phpExtras:(0,_createLanguageAsyncLoader.default)("phpExtras",(function(){return Promise.resolve().then((function(){return __webpack_require__(690)}))})),php:(0,_createLanguageAsyncLoader.default)("php",(function(){return Promise.resolve().then((function(){return __webpack_require__(129)}))})),phpdoc:(0,_createLanguageAsyncLoader.default)("phpdoc",(function(){return Promise.resolve().then((function(){return __webpack_require__(691)}))})),plsql:(0,_createLanguageAsyncLoader.default)("plsql",(function(){return Promise.resolve().then((function(){return __webpack_require__(692)}))})),powerquery:(0,_createLanguageAsyncLoader.default)("powerquery",(function(){return Promise.resolve().then((function(){return __webpack_require__(693)}))})),powershell:(0,_createLanguageAsyncLoader.default)("powershell",(function(){return Promise.resolve().then((function(){return __webpack_require__(694)}))})),processing:(0,_createLanguageAsyncLoader.default)("processing",(function(){return Promise.resolve().then((function(){return __webpack_require__(695)}))})),prolog:(0,_createLanguageAsyncLoader.default)("prolog",(function(){return Promise.resolve().then((function(){return __webpack_require__(696)}))})),properties:(0,_createLanguageAsyncLoader.default)("properties",(function(){return Promise.resolve().then((function(){return __webpack_require__(697)}))})),protobuf:(0,_createLanguageAsyncLoader.default)("protobuf",(function(){return Promise.resolve().then((function(){return __webpack_require__(698)}))})),pug:(0,_createLanguageAsyncLoader.default)("pug",(function(){return Promise.resolve().then((function(){return __webpack_require__(699)}))})),puppet:(0,_createLanguageAsyncLoader.default)("puppet",(function(){return Promise.resolve().then((function(){return __webpack_require__(700)}))})),pure:(0,_createLanguageAsyncLoader.default)("pure",(function(){return Promise.resolve().then((function(){return __webpack_require__(701)}))})),purebasic:(0,_createLanguageAsyncLoader.default)("purebasic",(function(){return Promise.resolve().then((function(){return __webpack_require__(702)}))})),purescript:(0,_createLanguageAsyncLoader.default)("purescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(703)}))})),python:(0,_createLanguageAsyncLoader.default)("python",(function(){return Promise.resolve().then((function(){return __webpack_require__(704)}))})),q:(0,_createLanguageAsyncLoader.default)("q",(function(){return Promise.resolve().then((function(){return __webpack_require__(705)}))})),qml:(0,_createLanguageAsyncLoader.default)("qml",(function(){return Promise.resolve().then((function(){return __webpack_require__(706)}))})),qore:(0,_createLanguageAsyncLoader.default)("qore",(function(){return Promise.resolve().then((function(){return __webpack_require__(707)}))})),r:(0,_createLanguageAsyncLoader.default)("r",(function(){return Promise.resolve().then((function(){return __webpack_require__(708)}))})),racket:(0,_createLanguageAsyncLoader.default)("racket",(function(){return Promise.resolve().then((function(){return __webpack_require__(709)}))})),reason:(0,_createLanguageAsyncLoader.default)("reason",(function(){return Promise.resolve().then((function(){return __webpack_require__(710)}))})),regex:(0,_createLanguageAsyncLoader.default)("regex",(function(){return Promise.resolve().then((function(){return __webpack_require__(711)}))})),renpy:(0,_createLanguageAsyncLoader.default)("renpy",(function(){return Promise.resolve().then((function(){return __webpack_require__(712)}))})),rest:(0,_createLanguageAsyncLoader.default)("rest",(function(){return Promise.resolve().then((function(){return __webpack_require__(713)}))})),rip:(0,_createLanguageAsyncLoader.default)("rip",(function(){return Promise.resolve().then((function(){return __webpack_require__(714)}))})),roboconf:(0,_createLanguageAsyncLoader.default)("roboconf",(function(){return Promise.resolve().then((function(){return __webpack_require__(715)}))})),robotframework:(0,_createLanguageAsyncLoader.default)("robotframework",(function(){return Promise.resolve().then((function(){return __webpack_require__(716)}))})),ruby:(0,_createLanguageAsyncLoader.default)("ruby",(function(){return Promise.resolve().then((function(){return __webpack_require__(127)}))})),rust:(0,_createLanguageAsyncLoader.default)("rust",(function(){return Promise.resolve().then((function(){return __webpack_require__(717)}))})),sas:(0,_createLanguageAsyncLoader.default)("sas",(function(){return Promise.resolve().then((function(){return __webpack_require__(718)}))})),sass:(0,_createLanguageAsyncLoader.default)("sass",(function(){return Promise.resolve().then((function(){return __webpack_require__(719)}))})),scala:(0,_createLanguageAsyncLoader.default)("scala",(function(){return Promise.resolve().then((function(){return __webpack_require__(720)}))})),scheme:(0,_createLanguageAsyncLoader.default)("scheme",(function(){return Promise.resolve().then((function(){return __webpack_require__(170)}))})),scss:(0,_createLanguageAsyncLoader.default)("scss",(function(){return Promise.resolve().then((function(){return __webpack_require__(721)}))})),shellSession:(0,_createLanguageAsyncLoader.default)("shellSession",(function(){return Promise.resolve().then((function(){return __webpack_require__(722)}))})),smali:(0,_createLanguageAsyncLoader.default)("smali",(function(){return Promise.resolve().then((function(){return __webpack_require__(723)}))})),smalltalk:(0,_createLanguageAsyncLoader.default)("smalltalk",(function(){return Promise.resolve().then((function(){return __webpack_require__(724)}))})),smarty:(0,_createLanguageAsyncLoader.default)("smarty",(function(){return Promise.resolve().then((function(){return __webpack_require__(725)}))})),sml:(0,_createLanguageAsyncLoader.default)("sml",(function(){return Promise.resolve().then((function(){return __webpack_require__(726)}))})),solidity:(0,_createLanguageAsyncLoader.default)("solidity",(function(){return Promise.resolve().then((function(){return __webpack_require__(727)}))})),solutionFile:(0,_createLanguageAsyncLoader.default)("solutionFile",(function(){return Promise.resolve().then((function(){return __webpack_require__(728)}))})),soy:(0,_createLanguageAsyncLoader.default)("soy",(function(){return Promise.resolve().then((function(){return __webpack_require__(729)}))})),sparql:(0,_createLanguageAsyncLoader.default)("sparql",(function(){return Promise.resolve().then((function(){return __webpack_require__(730)}))})),splunkSpl:(0,_createLanguageAsyncLoader.default)("splunkSpl",(function(){return Promise.resolve().then((function(){return __webpack_require__(731)}))})),sqf:(0,_createLanguageAsyncLoader.default)("sqf",(function(){return Promise.resolve().then((function(){return __webpack_require__(732)}))})),sql:(0,_createLanguageAsyncLoader.default)("sql",(function(){return Promise.resolve().then((function(){return __webpack_require__(171)}))})),stan:(0,_createLanguageAsyncLoader.default)("stan",(function(){return Promise.resolve().then((function(){return __webpack_require__(733)}))})),stylus:(0,_createLanguageAsyncLoader.default)("stylus",(function(){return Promise.resolve().then((function(){return __webpack_require__(734)}))})),swift:(0,_createLanguageAsyncLoader.default)("swift",(function(){return Promise.resolve().then((function(){return __webpack_require__(735)}))})),t4Cs:(0,_createLanguageAsyncLoader.default)("t4Cs",(function(){return Promise.resolve().then((function(){return __webpack_require__(736)}))})),t4Templating:(0,_createLanguageAsyncLoader.default)("t4Templating",(function(){return Promise.resolve().then((function(){return __webpack_require__(172)}))})),t4Vb:(0,_createLanguageAsyncLoader.default)("t4Vb",(function(){return Promise.resolve().then((function(){return __webpack_require__(737)}))})),tap:(0,_createLanguageAsyncLoader.default)("tap",(function(){return Promise.resolve().then((function(){return __webpack_require__(738)}))})),tcl:(0,_createLanguageAsyncLoader.default)("tcl",(function(){return Promise.resolve().then((function(){return __webpack_require__(739)}))})),textile:(0,_createLanguageAsyncLoader.default)("textile",(function(){return Promise.resolve().then((function(){return __webpack_require__(740)}))})),toml:(0,_createLanguageAsyncLoader.default)("toml",(function(){return Promise.resolve().then((function(){return __webpack_require__(741)}))})),tsx:(0,_createLanguageAsyncLoader.default)("tsx",(function(){return Promise.resolve().then((function(){return __webpack_require__(742)}))})),tt2:(0,_createLanguageAsyncLoader.default)("tt2",(function(){return Promise.resolve().then((function(){return __webpack_require__(743)}))})),turtle:(0,_createLanguageAsyncLoader.default)("turtle",(function(){return Promise.resolve().then((function(){return __webpack_require__(231)}))})),twig:(0,_createLanguageAsyncLoader.default)("twig",(function(){return Promise.resolve().then((function(){return __webpack_require__(744)}))})),typescript:(0,_createLanguageAsyncLoader.default)("typescript",(function(){return Promise.resolve().then((function(){return __webpack_require__(168)}))})),typoscript:(0,_createLanguageAsyncLoader.default)("typoscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(745)}))})),unrealscript:(0,_createLanguageAsyncLoader.default)("unrealscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(746)}))})),vala:(0,_createLanguageAsyncLoader.default)("vala",(function(){return Promise.resolve().then((function(){return __webpack_require__(747)}))})),vbnet:(0,_createLanguageAsyncLoader.default)("vbnet",(function(){return Promise.resolve().then((function(){return __webpack_require__(232)}))})),velocity:(0,_createLanguageAsyncLoader.default)("velocity",(function(){return Promise.resolve().then((function(){return __webpack_require__(748)}))})),verilog:(0,_createLanguageAsyncLoader.default)("verilog",(function(){return Promise.resolve().then((function(){return __webpack_require__(749)}))})),vhdl:(0,_createLanguageAsyncLoader.default)("vhdl",(function(){return Promise.resolve().then((function(){return __webpack_require__(750)}))})),vim:(0,_createLanguageAsyncLoader.default)("vim",(function(){return Promise.resolve().then((function(){return __webpack_require__(751)}))})),visualBasic:(0,_createLanguageAsyncLoader.default)("visualBasic",(function(){return Promise.resolve().then((function(){return __webpack_require__(752)}))})),warpscript:(0,_createLanguageAsyncLoader.default)("warpscript",(function(){return Promise.resolve().then((function(){return __webpack_require__(753)}))})),wasm:(0,_createLanguageAsyncLoader.default)("wasm",(function(){return Promise.resolve().then((function(){return __webpack_require__(754)}))})),wiki:(0,_createLanguageAsyncLoader.default)("wiki",(function(){return Promise.resolve().then((function(){return __webpack_require__(755)}))})),xeora:(0,_createLanguageAsyncLoader.default)("xeora",(function(){return Promise.resolve().then((function(){return __webpack_require__(756)}))})),xmlDoc:(0,_createLanguageAsyncLoader.default)("xmlDoc",(function(){return Promise.resolve().then((function(){return __webpack_require__(757)}))})),xojo:(0,_createLanguageAsyncLoader.default)("xojo",(function(){return Promise.resolve().then((function(){return __webpack_require__(758)}))})),xquery:(0,_createLanguageAsyncLoader.default)("xquery",(function(){return Promise.resolve().then((function(){return __webpack_require__(759)}))})),yaml:(0,_createLanguageAsyncLoader.default)("yaml",(function(){return Promise.resolve().then((function(){return __webpack_require__(233)}))})),yang:(0,_createLanguageAsyncLoader.default)("yang",(function(){return Promise.resolve().then((function(){return __webpack_require__(760)}))})),zig:(0,_createLanguageAsyncLoader.default)("zig",(function(){return Promise.resolve().then((function(){return __webpack_require__(761)}))}))};exports.default=_default},function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(1335)},function(module,exports,__webpack_require__){"use strict";var schema=__webpack_require__(1336);var factory=__webpack_require__(1344);var html=factory(schema,"div");html.displayName="html";module.exports=html},function(module,exports,__webpack_require__){"use strict";var merge=__webpack_require__(1337);var xlink=__webpack_require__(1338);var xml=__webpack_require__(1339);var xmlns=__webpack_require__(1340);var aria=__webpack_require__(1342);var html=__webpack_require__(1343);module.exports=merge([xml,xlink,xmlns,aria,html])},function(module,exports,__webpack_require__){"use strict";var xtend=__webpack_require__(82);var Schema=__webpack_require__(762);module.exports=merge;function merge(definitions){var length=definitions.length;var property=[];var normal=[];var index=-1;var info;var space;while(++index<length){info=definitions[index];property.push(info.property);normal.push(info.normal);space=info.space}return new Schema(xtend.apply(null,property),xtend.apply(null,normal),space)}},function(module,exports,__webpack_require__){"use strict";var create=__webpack_require__(130);module.exports=create({space:"xlink",transform:xlinkTransform,properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});function xlinkTransform(_,prop){return"xlink:"+prop.slice(5).toLowerCase()}},function(module,exports,__webpack_require__){"use strict";var create=__webpack_require__(130);module.exports=create({space:"xml",transform:xmlTransform,properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function xmlTransform(_,prop){return"xml:"+prop.slice(3).toLowerCase()}},function(module,exports,__webpack_require__){"use strict";var create=__webpack_require__(130);var caseInsensitiveTransform=__webpack_require__(765);module.exports=create({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:caseInsensitiveTransform,properties:{xmlns:null,xmlnsXLink:null}})},function(module,exports,__webpack_require__){"use strict";module.exports=caseSensitiveTransform;function caseSensitiveTransform(attributes,attribute){return attribute in attributes?attributes[attribute]:attribute}},function(module,exports,__webpack_require__){"use strict";var types=__webpack_require__(236);var create=__webpack_require__(130);var booleanish=types.booleanish;var number=types.number;var spaceSeparated=types.spaceSeparated;module.exports=create({transform:ariaTransform,properties:{ariaActiveDescendant:null,ariaAtomic:booleanish,ariaAutoComplete:null,ariaBusy:booleanish,ariaChecked:booleanish,ariaColCount:number,ariaColIndex:number,ariaColSpan:number,ariaControls:spaceSeparated,ariaCurrent:null,ariaDescribedBy:spaceSeparated,ariaDetails:null,ariaDisabled:booleanish,ariaDropEffect:spaceSeparated,ariaErrorMessage:null,ariaExpanded:booleanish,ariaFlowTo:spaceSeparated,ariaGrabbed:booleanish,ariaHasPopup:null,ariaHidden:booleanish,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:spaceSeparated,ariaLevel:number,ariaLive:null,ariaModal:booleanish,ariaMultiLine:booleanish,ariaMultiSelectable:booleanish,ariaOrientation:null,ariaOwns:spaceSeparated,ariaPlaceholder:null,ariaPosInSet:number,ariaPressed:booleanish,ariaReadOnly:booleanish,ariaRelevant:null,ariaRequired:booleanish,ariaRoleDescription:spaceSeparated,ariaRowCount:number,ariaRowIndex:number,ariaRowSpan:number,ariaSelected:booleanish,ariaSetSize:number,ariaSort:null,ariaValueMax:number,ariaValueMin:number,ariaValueNow:number,ariaValueText:null,role:null}});function ariaTransform(_,prop){return prop==="role"?prop:"aria-"+prop.slice(4).toLowerCase()}},function(module,exports,__webpack_require__){"use strict";var types=__webpack_require__(236);var create=__webpack_require__(130);var caseInsensitiveTransform=__webpack_require__(765);var boolean=types.boolean;var overloadedBoolean=types.overloadedBoolean;var booleanish=types.booleanish;var number=types.number;var spaceSeparated=types.spaceSeparated;var commaSeparated=types.commaSeparated;module.exports=create({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:caseInsensitiveTransform,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:commaSeparated,acceptCharset:spaceSeparated,accessKey:spaceSeparated,action:null,allow:null,allowFullScreen:boolean,allowPaymentRequest:boolean,allowUserMedia:boolean,alt:null,as:null,async:boolean,autoCapitalize:null,autoComplete:spaceSeparated,autoFocus:boolean,autoPlay:boolean,capture:boolean,charSet:null,checked:boolean,cite:null,className:spaceSeparated,cols:number,colSpan:null,content:null,contentEditable:booleanish,controls:boolean,controlsList:spaceSeparated,coords:number|commaSeparated,crossOrigin:null,data:null,dateTime:null,decoding:null,default:boolean,defer:boolean,dir:null,dirName:null,disabled:boolean,download:overloadedBoolean,draggable:booleanish,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:boolean,formTarget:null,headers:spaceSeparated,height:number,hidden:boolean,high:number,href:null,hrefLang:null,htmlFor:spaceSeparated,httpEquiv:spaceSeparated,id:null,imageSizes:null,imageSrcSet:commaSeparated,inputMode:null,integrity:null,is:null,isMap:boolean,itemId:null,itemProp:spaceSeparated,itemRef:spaceSeparated,itemScope:boolean,itemType:spaceSeparated,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:boolean,low:number,manifest:null,max:null,maxLength:number,media:null,method:null,min:null,minLength:number,multiple:boolean,muted:boolean,name:null,nonce:null,noModule:boolean,noValidate:boolean,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:boolean,optimum:number,pattern:null,ping:spaceSeparated,placeholder:null,playsInline:boolean,poster:null,preload:null,readOnly:boolean,referrerPolicy:null,rel:spaceSeparated,required:boolean,reversed:boolean,rows:number,rowSpan:number,sandbox:spaceSeparated,scope:null,scoped:boolean,seamless:boolean,selected:boolean,shape:null,size:number,sizes:null,slot:null,span:number,spellCheck:booleanish,src:null,srcDoc:null,srcLang:null,srcSet:commaSeparated,start:number,step:null,style:null,tabIndex:number,target:null,title:null,translate:null,type:null,typeMustMatch:boolean,useMap:null,value:booleanish,width:number,wrap:null,align:null,aLink:null,archive:spaceSeparated,axis:null,background:null,bgColor:null,border:number,borderColor:null,bottomMargin:number,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:boolean,declare:boolean,event:null,face:null,frame:null,frameBorder:null,hSpace:number,leftMargin:number,link:null,longDesc:null,lowSrc:null,marginHeight:number,marginWidth:number,noResize:boolean,noHref:boolean,noShade:boolean,noWrap:boolean,object:null,profile:null,prompt:null,rev:null,rightMargin:number,rules:null,scheme:null,scrolling:booleanish,standby:null,summary:null,text:null,topMargin:number,valueType:null,version:null,vAlign:null,vLink:null,vSpace:number,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:boolean,disableRemotePlayback:boolean,prefix:null,property:null,results:number,security:null,unselectable:null}})},function(module,exports,__webpack_require__){"use strict";var find=__webpack_require__(1345);var normalize=__webpack_require__(235);var parseSelector=__webpack_require__(1346);var spaces=__webpack_require__(1347).parse;var commas=__webpack_require__(1348).parse;module.exports=factory;var own={}.hasOwnProperty;function factory(schema,defaultTagName,caseSensitive){var adjust=caseSensitive?createAdjustMap(caseSensitive):null;return h;function h(selector,properties){var node=parseSelector(selector,defaultTagName);var children=Array.prototype.slice.call(arguments,2);var name=node.tagName.toLowerCase();var property;node.tagName=adjust&&own.call(adjust,name)?adjust[name]:name;if(properties&&isChildren(properties,node)){children.unshift(properties);properties=null}if(properties){for(property in properties){addProperty(node.properties,property,properties[property])}}addChild(node.children,children);if(node.tagName==="template"){node.content={type:"root",children:node.children};node.children=[]}return node}function addProperty(properties,key,value){var info;var property;var result;if(value===null||value===undefined||value!==value){return}info=find(schema,key);property=info.property;result=value;if(typeof result==="string"){if(info.spaceSeparated){result=spaces(result)}else if(info.commaSeparated){result=commas(result)}else if(info.commaOrSpaceSeparated){result=spaces(commas(result).join(" "))}}if(property==="style"&&typeof value!=="string"){result=style(result)}if(property==="className"&&properties.className){result=properties.className.concat(result)}properties[property]=parsePrimitives(info,property,result)}}function isChildren(value,node){return typeof value==="string"||"length"in value||isNode(node.tagName,value)}function isNode(tagName,value){var type=value.type;if(tagName==="input"||!type||typeof type!=="string"){return false}if(typeof value.children==="object"&&"length"in value.children){return true}type=type.toLowerCase();if(tagName==="button"){return type!=="menu"&&type!=="submit"&&type!=="reset"&&type!=="button"}return"value"in value}function addChild(nodes,value){var index;var length;if(typeof value==="string"||typeof value==="number"){nodes.push({type:"text",value:String(value)});return}if(typeof value==="object"&&"length"in value){index=-1;length=value.length;while(++index<length){addChild(nodes,value[index])}return}if(typeof value!=="object"||!("type"in value)){throw new Error("Expected node, nodes, or string, got `"+value+"`")}nodes.push(value)}function parsePrimitives(info,name,value){var index;var length;var result;if(typeof value!=="object"||!("length"in value)){return parsePrimitive(info,name,value)}length=value.length;index=-1;result=[];while(++index<length){result[index]=parsePrimitive(info,name,value[index])}return result}function parsePrimitive(info,name,value){var result=value;if(info.number||info.positiveNumber){if(!isNaN(result)&&result!==""){result=Number(result)}}else if(info.boolean||info.overloadedBoolean){if(typeof result==="string"&&(result===""||normalize(value)===normalize(name))){result=true}}return result}function style(value){var result=[];var key;for(key in value){result.push([key,value[key]].join(": "))}return result.join("; ")}function createAdjustMap(values){var length=values.length;var index=-1;var result={};var value;while(++index<length){value=values[index];result[value.toLowerCase()]=value}return result}},function(module,exports,__webpack_require__){"use strict";var normalize=__webpack_require__(235);var DefinedInfo=__webpack_require__(763);var Info=__webpack_require__(764);var data="data";module.exports=find;var valid=/^data[-\w.:]+$/i;var dash=/-[a-z]/g;var cap=/[A-Z]/g;function find(schema,value){var normal=normalize(value);var prop=value;var Type=Info;if(normal in schema.normal){return schema.property[schema.normal[normal]]}if(normal.length>4&&normal.slice(0,4)===data&&valid.test(value)){if(value.charAt(4)==="-"){prop=datasetToProperty(value)}else{value=datasetToAttribute(value)}Type=DefinedInfo}return new Type(prop,value)}function datasetToProperty(attribute){var value=attribute.slice(5).replace(dash,camelcase);return data+value.charAt(0).toUpperCase()+value.slice(1)}function datasetToAttribute(property){var value=property.slice(4);if(dash.test(value)){return property}value=value.replace(cap,kebab);if(value.charAt(0)!=="-"){value="-"+value}return data+value}function kebab($0){return"-"+$0.toLowerCase()}function camelcase($0){return $0.charAt(1).toUpperCase()}},function(module,exports,__webpack_require__){"use strict";module.exports=parse;var search=/[#.]/g;function parse(selector,defaultTagName){var value=selector||"";var name=defaultTagName||"div";var props={};var start=0;var subvalue;var previous;var match;while(start<value.length){search.lastIndex=start;match=search.exec(value);subvalue=value.slice(start,match?match.index:value.length);if(subvalue){if(!previous){name=subvalue}else if(previous==="#"){props.id=subvalue}else if(props.className){props.className.push(subvalue)}else{props.className=[subvalue]}start+=subvalue.length}if(match){previous=match[0];start++}}return{type:"element",tagName:name,properties:props,children:[]}}},function(module,exports,__webpack_require__){"use strict";exports.parse=parse;exports.stringify=stringify;var empty="";var space=" ";var whiteSpace=/[ \t\n\r\f]+/g;function parse(value){var input=String(value||empty).trim();return input===empty?[]:input.split(whiteSpace)}function stringify(values){return values.join(space).trim()}},function(module,exports,__webpack_require__){"use strict";exports.parse=parse;exports.stringify=stringify;var comma=",";var space=" ";var empty="";function parse(value){var values=[];var input=String(value||empty);var index=input.indexOf(comma);var lastIndex=0;var end=false;var val;while(!end){if(index===-1){index=input.length;end=true}val=input.slice(lastIndex,index).trim();if(val||!end){values.push(val)}lastIndex=index+1;index=input.indexOf(comma,lastIndex)}return values}function stringify(values,options){var settings=options||{};var left=settings.padLeft===false?empty:space;var right=settings.padRight?space:empty;if(values[values.length-1]===empty){values=values.concat(empty)}return values.join(right+comma+left).trim()}},function(module,exports,__webpack_require__){"use strict";var legacy=__webpack_require__(766);var invalid=__webpack_require__(767);var decimal=__webpack_require__(131);var hexadecimal=__webpack_require__(768);var alphanumerical=__webpack_require__(769);var decodeEntity=__webpack_require__(1350);module.exports=parseEntities;var own={}.hasOwnProperty;var fromCharCode=String.fromCharCode;var noop=Function.prototype;var defaults={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:false,nonTerminated:true};var tab=9;var lineFeed=10;var formFeed=12;var space=32;var ampersand=38;var semicolon=59;var lessThan=60;var equalsTo=61;var numberSign=35;var uppercaseX=88;var lowercaseX=120;var replacementCharacter=65533;var name="named";var hexa="hexadecimal";var deci="decimal";var bases={};bases[hexa]=16;bases[deci]=10;var tests={};tests[name]=alphanumerical;tests[deci]=decimal;tests[hexa]=hexadecimal;var namedNotTerminated=1;var numericNotTerminated=2;var namedEmpty=3;var numericEmpty=4;var namedUnknown=5;var numericDisallowed=6;var numericProhibited=7;var messages={};messages[namedNotTerminated]="Named character references must be terminated by a semicolon";messages[numericNotTerminated]="Numeric character references must be terminated by a semicolon";messages[namedEmpty]="Named character references cannot be empty";messages[numericEmpty]="Numeric character references cannot be empty";messages[namedUnknown]="Named character references must be known";messages[numericDisallowed]="Numeric character references cannot be disallowed";messages[numericProhibited]="Numeric character references cannot be outside the permissible Unicode range";function parseEntities(value,options){var settings={};var option;var key;if(!options){options={}}for(key in defaults){option=options[key];settings[key]=option===null||option===undefined?defaults[key]:option}if(settings.position.indent||settings.position.start){settings.indent=settings.position.indent||[];settings.position=settings.position.start}return parse(value,settings)}function parse(value,settings){var additional=settings.additional;var nonTerminated=settings.nonTerminated;var handleText=settings.text;var handleReference=settings.reference;var handleWarning=settings.warning;var textContext=settings.textContext;var referenceContext=settings.referenceContext;var warningContext=settings.warningContext;var pos=settings.position;var indent=settings.indent||[];var length=value.length;var index=0;var lines=-1;var column=pos.column||1;var line=pos.line||1;var queue="";var result=[];var entityCharacters;var namedEntity;var terminated;var characters;var character;var reference;var following;var warning;var reason;var output;var entity;var begin;var start;var type;var test;var prev;var next;var diff;var end;if(typeof additional==="string"){additional=additional.charCodeAt(0)}prev=now();warning=handleWarning?parseError:noop;index--;length++;while(++index<length){if(character===lineFeed){column=indent[lines]||1}character=value.charCodeAt(index);if(character===ampersand){following=value.charCodeAt(index+1);if(following===tab||following===lineFeed||following===formFeed||following===space||following===ampersand||following===lessThan||following!==following||additional&&following===additional){queue+=fromCharCode(character);column++;continue}start=index+1;begin=start;end=start;if(following===numberSign){end=++begin;following=value.charCodeAt(end);if(following===uppercaseX||following===lowercaseX){type=hexa;end=++begin}else{type=deci}}else{type=name}entityCharacters="";entity="";characters="";test=tests[type];end--;while(++end<length){following=value.charCodeAt(end);if(!test(following)){break}characters+=fromCharCode(following);if(type===name&&own.call(legacy,characters)){entityCharacters=characters;entity=legacy[characters]}}terminated=value.charCodeAt(end)===semicolon;if(terminated){end++;namedEntity=type===name?decodeEntity(characters):false;if(namedEntity){entityCharacters=characters;entity=namedEntity}}diff=1+end-start;if(!terminated&&!nonTerminated){}else if(!characters){if(type!==name){warning(numericEmpty,diff)}}else if(type===name){if(terminated&&!entity){warning(namedUnknown,1)}else{if(entityCharacters!==characters){end=begin+entityCharacters.length;diff=1+end-begin;terminated=false}if(!terminated){reason=entityCharacters?namedNotTerminated:namedEmpty;if(settings.attribute){following=value.charCodeAt(end);if(following===equalsTo){warning(reason,diff);entity=null}else if(alphanumerical(following)){entity=null}else{warning(reason,diff)}}else{warning(reason,diff)}}}reference=entity}else{if(!terminated){warning(numericNotTerminated,diff)}reference=parseInt(characters,bases[type]);if(prohibited(reference)){warning(numericProhibited,diff);reference=fromCharCode(replacementCharacter)}else if(reference in invalid){warning(numericDisallowed,diff);reference=invalid[reference]}else{output="";if(disallowed(reference)){warning(numericDisallowed,diff)}if(reference>65535){reference-=65536;output+=fromCharCode(reference>>>(10&1023)|55296);reference=56320|reference&1023}reference=output+fromCharCode(reference)}}if(reference){flush();prev=now();index=end-1;column+=end-start+1;result.push(reference);next=now();next.offset++;if(handleReference){handleReference.call(referenceContext,reference,{start:prev,end:next},value.slice(start-1,end))}prev=next}else{characters=value.slice(start-1,end);queue+=characters;column+=characters.length;index=end-1}}else{if(character===10){line++;lines++;column=0}if(character===character){queue+=fromCharCode(character);column++}else{flush()}}}return result.join("");function now(){return{line:line,column:column,offset:index+(pos.offset||0)}}function parseError(code,offset){var position=now();position.column+=offset;position.offset+=offset;handleWarning.call(warningContext,messages[code],position,code)}function flush(){if(queue){result.push(queue);if(handleText){handleText.call(textContext,queue,{start:prev,end:now()})}queue=""}}}function prohibited(code){return code>=55296&&code<=57343||code>1114111}function disallowed(code){return code>=1&&code<=8||code===11||code>=13&&code<=31||code>=127&&code<=159||code>=64976&&code<=65007||(code&65535)===65535||(code&65535)===65534}},function(module,exports,__webpack_require__){"use strict";var el;var semicolon=59;module.exports=decodeEntity;function decodeEntity(characters){var entity="&"+characters+";";var char;el=el||document.createElement("i");el.innerHTML=entity;char=el.textContent;if(char.charCodeAt(char.length-1)===semicolon&&characters!=="semi"){return false}return char===entity?false:char}},function(module,exports,__webpack_require__){(function(global){var _self=typeof window!=="undefined"?window:typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope?self:{};
/**
 * Prism: Lightweight, robust, elegant syntax highlighting
 *
 * @license MIT <https://opensource.org/licenses/MIT>
 * @author Lea Verou <https://lea.verou.me>
 * @namespace
 * @public
 */var Prism=function(_self){var lang=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i;var uniqueId=0;var plainTextGrammar={};var _={manual:_self.Prism&&_self.Prism.manual,disableWorkerMessageHandler:_self.Prism&&_self.Prism.disableWorkerMessageHandler,util:{encode:function encode(tokens){if(tokens instanceof Token){return new Token(tokens.type,encode(tokens.content),tokens.alias)}else if(Array.isArray(tokens)){return tokens.map(encode)}else{return tokens.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")}},type:function(o){return Object.prototype.toString.call(o).slice(8,-1)},objId:function(obj){if(!obj["__id"]){Object.defineProperty(obj,"__id",{value:++uniqueId})}return obj["__id"]},clone:function deepClone(o,visited){visited=visited||{};var clone;var id;switch(_.util.type(o)){case"Object":id=_.util.objId(o);if(visited[id]){return visited[id]}clone={};visited[id]=clone;for(var key in o){if(o.hasOwnProperty(key)){clone[key]=deepClone(o[key],visited)}}return clone;case"Array":id=_.util.objId(o);if(visited[id]){return visited[id]}clone=[];visited[id]=clone;o.forEach((function(v,i){clone[i]=deepClone(v,visited)}));return clone;default:return o}},getLanguage:function(element){while(element){var m=lang.exec(element.className);if(m){return m[1].toLowerCase()}element=element.parentElement}return"none"},setLanguage:function(element,language){element.className=element.className.replace(RegExp(lang,"gi"),"");element.classList.add("language-"+language)},currentScript:function(){if(typeof document==="undefined"){return null}if("currentScript"in document&&1<2){return document.currentScript}try{throw new Error}catch(err){var src=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(err.stack)||[])[1];if(src){var scripts=document.getElementsByTagName("script");for(var i in scripts){if(scripts[i].src==src){return scripts[i]}}}return null}},isActive:function(element,className,defaultActivation){var no="no-"+className;while(element){var classList=element.classList;if(classList.contains(className)){return true}if(classList.contains(no)){return false}element=element.parentElement}return!!defaultActivation}},languages:{plain:plainTextGrammar,plaintext:plainTextGrammar,text:plainTextGrammar,txt:plainTextGrammar,extend:function(id,redef){var lang=_.util.clone(_.languages[id]);for(var key in redef){lang[key]=redef[key]}return lang},insertBefore:function(inside,before,insert,root){root=root||_.languages;var grammar=root[inside];var ret={};for(var token in grammar){if(grammar.hasOwnProperty(token)){if(token==before){for(var newToken in insert){if(insert.hasOwnProperty(newToken)){ret[newToken]=insert[newToken]}}}if(!insert.hasOwnProperty(token)){ret[token]=grammar[token]}}}var old=root[inside];root[inside]=ret;_.languages.DFS(_.languages,(function(key,value){if(value===old&&key!=inside){this[key]=ret}}));return ret},DFS:function DFS(o,callback,type,visited){visited=visited||{};var objId=_.util.objId;for(var i in o){if(o.hasOwnProperty(i)){callback.call(o,i,o[i],type||i);var property=o[i];var propertyType=_.util.type(property);if(propertyType==="Object"&&!visited[objId(property)]){visited[objId(property)]=true;DFS(property,callback,null,visited)}else if(propertyType==="Array"&&!visited[objId(property)]){visited[objId(property)]=true;DFS(property,callback,i,visited)}}}}},plugins:{},highlightAll:function(async,callback){_.highlightAllUnder(document,async,callback)},highlightAllUnder:function(container,async,callback){var env={callback:callback,container:container,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};_.hooks.run("before-highlightall",env);env.elements=Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));_.hooks.run("before-all-elements-highlight",env);for(var i=0,element;element=env.elements[i++];){_.highlightElement(element,async===true,env.callback)}},highlightElement:function(element,async,callback){var language=_.util.getLanguage(element);var grammar=_.languages[language];_.util.setLanguage(element,language);var parent=element.parentElement;if(parent&&parent.nodeName.toLowerCase()==="pre"){_.util.setLanguage(parent,language)}var code=element.textContent;var env={element:element,language:language,grammar:grammar,code:code};function insertHighlightedCode(highlightedCode){env.highlightedCode=highlightedCode;_.hooks.run("before-insert",env);env.element.innerHTML=env.highlightedCode;_.hooks.run("after-highlight",env);_.hooks.run("complete",env);callback&&callback.call(env.element)}_.hooks.run("before-sanity-check",env);parent=env.element.parentElement;if(parent&&parent.nodeName.toLowerCase()==="pre"&&!parent.hasAttribute("tabindex")){parent.setAttribute("tabindex","0")}if(!env.code){_.hooks.run("complete",env);callback&&callback.call(env.element);return}_.hooks.run("before-highlight",env);if(!env.grammar){insertHighlightedCode(_.util.encode(env.code));return}if(async&&_self.Worker){var worker=new Worker(_.filename);worker.onmessage=function(evt){insertHighlightedCode(evt.data)};worker.postMessage(JSON.stringify({language:env.language,code:env.code,immediateClose:true}))}else{insertHighlightedCode(_.highlight(env.code,env.grammar,env.language))}},highlight:function(text,grammar,language){var env={code:text,grammar:grammar,language:language};_.hooks.run("before-tokenize",env);if(!env.grammar){throw new Error('The language "'+env.language+'" has no grammar.')}env.tokens=_.tokenize(env.code,env.grammar);_.hooks.run("after-tokenize",env);return Token.stringify(_.util.encode(env.tokens),env.language)},tokenize:function(text,grammar){var rest=grammar.rest;if(rest){for(var token in rest){grammar[token]=rest[token]}delete grammar.rest}var tokenList=new LinkedList;addAfter(tokenList,tokenList.head,text);matchGrammar(text,tokenList,grammar,tokenList.head,0);return toArray(tokenList)},hooks:{all:{},add:function(name,callback){var hooks=_.hooks.all;hooks[name]=hooks[name]||[];hooks[name].push(callback)},run:function(name,env){var callbacks=_.hooks.all[name];if(!callbacks||!callbacks.length){return}for(var i=0,callback;callback=callbacks[i++];){callback(env)}}},Token:Token};_self.Prism=_;function Token(type,content,alias,matchedStr){this.type=type;this.content=content;this.alias=alias;this.length=(matchedStr||"").length|0}Token.stringify=function stringify(o,language){if(typeof o=="string"){return o}if(Array.isArray(o)){var s="";o.forEach((function(e){s+=stringify(e,language)}));return s}var env={type:o.type,content:stringify(o.content,language),tag:"span",classes:["token",o.type],attributes:{},language:language};var aliases=o.alias;if(aliases){if(Array.isArray(aliases)){Array.prototype.push.apply(env.classes,aliases)}else{env.classes.push(aliases)}}_.hooks.run("wrap",env);var attributes="";for(var name in env.attributes){attributes+=" "+name+'="'+(env.attributes[name]||"").replace(/"/g,"&quot;")+'"'}return"<"+env.tag+' class="'+env.classes.join(" ")+'"'+attributes+">"+env.content+"</"+env.tag+">"};function matchPattern(pattern,pos,text,lookbehind){pattern.lastIndex=pos;var match=pattern.exec(text);if(match&&lookbehind&&match[1]){var lookbehindLength=match[1].length;match.index+=lookbehindLength;match[0]=match[0].slice(lookbehindLength)}return match}function matchGrammar(text,tokenList,grammar,startNode,startPos,rematch){for(var token in grammar){if(!grammar.hasOwnProperty(token)||!grammar[token]){continue}var patterns=grammar[token];patterns=Array.isArray(patterns)?patterns:[patterns];for(var j=0;j<patterns.length;++j){if(rematch&&rematch.cause==token+","+j){return}var patternObj=patterns[j];var inside=patternObj.inside;var lookbehind=!!patternObj.lookbehind;var greedy=!!patternObj.greedy;var alias=patternObj.alias;if(greedy&&!patternObj.pattern.global){var flags=patternObj.pattern.toString().match(/[imsuy]*$/)[0];patternObj.pattern=RegExp(patternObj.pattern.source,flags+"g")}var pattern=patternObj.pattern||patternObj;for(var currentNode=startNode.next,pos=startPos;currentNode!==tokenList.tail;pos+=currentNode.value.length,currentNode=currentNode.next){if(rematch&&pos>=rematch.reach){break}var str=currentNode.value;if(tokenList.length>text.length){return}if(str instanceof Token){continue}var removeCount=1;var match;if(greedy){match=matchPattern(pattern,pos,text,lookbehind);if(!match||match.index>=text.length){break}var from=match.index;var to=match.index+match[0].length;var p=pos;p+=currentNode.value.length;while(from>=p){currentNode=currentNode.next;p+=currentNode.value.length}p-=currentNode.value.length;pos=p;if(currentNode.value instanceof Token){continue}for(var k=currentNode;k!==tokenList.tail&&(p<to||typeof k.value==="string");k=k.next){removeCount++;p+=k.value.length}removeCount--;str=text.slice(pos,p);match.index-=pos}else{match=matchPattern(pattern,0,str,lookbehind);if(!match){continue}}var from=match.index;var matchStr=match[0];var before=str.slice(0,from);var after=str.slice(from+matchStr.length);var reach=pos+str.length;if(rematch&&reach>rematch.reach){rematch.reach=reach}var removeFrom=currentNode.prev;if(before){removeFrom=addAfter(tokenList,removeFrom,before);pos+=before.length}removeRange(tokenList,removeFrom,removeCount);var wrapped=new Token(token,inside?_.tokenize(matchStr,inside):matchStr,alias,matchStr);currentNode=addAfter(tokenList,removeFrom,wrapped);if(after){addAfter(tokenList,currentNode,after)}if(removeCount>1){var nestedRematch={cause:token+","+j,reach:reach};matchGrammar(text,tokenList,grammar,currentNode.prev,pos,nestedRematch);if(rematch&&nestedRematch.reach>rematch.reach){rematch.reach=nestedRematch.reach}}}}}}function LinkedList(){var head={value:null,prev:null,next:null};var tail={value:null,prev:head,next:null};head.next=tail;this.head=head;this.tail=tail;this.length=0}function addAfter(list,node,value){var next=node.next;var newNode={value:value,prev:node,next:next};node.next=newNode;next.prev=newNode;list.length++;return newNode}function removeRange(list,node,count){var next=node.next;for(var i=0;i<count&&next!==list.tail;i++){next=next.next}node.next=next;next.prev=node;list.length-=i}function toArray(list){var array=[];var node=list.head.next;while(node!==list.tail){array.push(node.value);node=node.next}return array}if(!_self.document){if(!_self.addEventListener){return _}if(!_.disableWorkerMessageHandler){_self.addEventListener("message",(function(evt){var message=JSON.parse(evt.data);var lang=message.language;var code=message.code;var immediateClose=message.immediateClose;_self.postMessage(_.highlight(code,_.languages[lang],lang));if(immediateClose){_self.close()}}),false)}return _}var script=_.util.currentScript();if(script){_.filename=script.src;if(script.hasAttribute("data-manual")){_.manual=true}}function highlightAutomaticallyCallback(){if(!_.manual){_.highlightAll()}}if(!_.manual){var readyState=document.readyState;if(readyState==="loading"||readyState==="interactive"&&script&&script.defer){document.addEventListener("DOMContentLoaded",highlightAutomaticallyCallback)}else{if(window.requestAnimationFrame){window.requestAnimationFrame(highlightAutomaticallyCallback)}else{window.setTimeout(highlightAutomaticallyCallback,16)}}}return _}(_self);if(true&&module.exports){module.exports=Prism}if(typeof global!=="undefined"){global.Prism=Prism}}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncSyntaxHighlighter=_interopRequireDefault(__webpack_require__(226));var _supportedLanguages=_interopRequireDefault(__webpack_require__(771));var _default=(0,_asyncSyntaxHighlighter.default)({loader:function loader(){return Promise.resolve().then((function(){return __webpack_require__(772)})).then((function(module){return module.default||module}))},noAsyncLoadingLanguages:true,supportedLanguages:_supportedLanguages.default});exports.default=_default},function(module,exports,__webpack_require__){"use strict";var refractorSql=__webpack_require__(171);module.exports=apex;apex.displayName="apex";apex.aliases=[];function apex(Prism){Prism.register(refractorSql);(function(Prism){var keywords=/\b(?:abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|get(?=\s*[{};])|(?:after|before)(?=\s+[a-z])|(?:inherited|with|without)\s+sharing)\b/i;var className=/\b(?:(?=[a-z_]\w*\s*[<\[])|(?!<keyword>))[A-Z_]\w*(?:\s*\.\s*[A-Z_]\w*)*\b(?:\s*(?:\[\s*\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*/.source.replace(/<keyword>/g,(function(){return keywords.source}));function insertClassName(pattern){return RegExp(pattern.replace(/<CLASS-NAME>/g,(function(){return className})),"i")}var classNameInside={keyword:keywords,punctuation:/[()\[\]{};,:.<>]/};Prism.languages.apex={comment:Prism.languages.clike.comment,string:Prism.languages.clike.string,sql:{pattern:/((?:[=,({:]|\breturn)\s*)\[[^\[\]]*\]/i,lookbehind:true,greedy:true,alias:"language-sql",inside:Prism.languages.sql},annotation:{pattern:/@\w+\b/,alias:"punctuation"},"class-name":[{pattern:insertClassName(/(\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\s+\w+\s+on)\s+)<CLASS-NAME>/.source),lookbehind:true,inside:classNameInside},{pattern:insertClassName(/(\(\s*)<CLASS-NAME>(?=\s*\)\s*[\w(])/.source),lookbehind:true,inside:classNameInside},{pattern:insertClassName(/<CLASS-NAME>(?=\s*\w+\s*[;=,(){:])/.source),inside:classNameInside}],trigger:{pattern:/(\btrigger\s+)\w+\b/i,lookbehind:true,alias:"class-name"},keyword:keywords,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/(?:\B\.\d+|\b\d+(?:\.\d+|L)?)\b/i,operator:/[!=](?:==?)?|\?\.?|&&|\|\||--|\+\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,punctuation:/[()\[\]{};,.]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=cfscript;cfscript.displayName="cfscript";cfscript.aliases=[];function cfscript(Prism){Prism.languages.cfscript=Prism.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:true,inside:{annotation:{pattern:/(?:^|[^.])@[\w\.]+/,alias:"punctuation"}}},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:true,greedy:true}],keyword:/\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\b(?!\s*=)/,operator:[/\+\+|--|&&|\|\||::|=>|[!=]==|<=?|>=?|[-+*/%&|^!=<>]=?|\?(?:\.|:)?|[?:]/,/\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\b/],scope:{pattern:/\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\b/,alias:"global"},type:{pattern:/\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\b/,alias:"builtin"}});Prism.languages.insertBefore("cfscript","keyword",{"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"}});delete Prism.languages.cfscript["class-name"];Prism.languages.cfc=Prism.languages["cfscript"]}},function(module,exports,__webpack_require__){"use strict";var refractorCpp=__webpack_require__(164);module.exports=chaiscript;chaiscript.displayName="chaiscript";chaiscript.aliases=[];function chaiscript(Prism){Prism.register(refractorCpp);Prism.languages.chaiscript=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])'(?:[^'\\]|\\[\s\S])*'/,lookbehind:true,greedy:true},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:true},{pattern:/(\b(?:attr|def)\s+)\w+(?=\s*::)/,lookbehind:true}],keyword:/\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\b/,number:[Prism.languages.cpp.number,/\b(?:Infinity|NaN)\b/],operator:/>>=?|<<=?|\|\||&&|:[:=]?|--|\+\+|[=!<>+\-*/%|&^]=?|[?~]|`[^`\r\n]{1,4}`/});Prism.languages.insertBefore("chaiscript","operator",{"parameter-type":{pattern:/([,(]\s*)\w+(?=\s+\w)/,lookbehind:true,alias:"class-name"}});Prism.languages.insertBefore("chaiscript","string",{"string-interpolation":{pattern:/(^|[^\\])"(?:[^"$\\]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*"/,lookbehind:true,greedy:true,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\}/,lookbehind:true,inside:{"interpolation-expression":{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:true,inside:Prism.languages.chaiscript},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"}}},string:/[\s\S]+/}}})}},function(module,exports,__webpack_require__){"use strict";module.exports=cobol;cobol.displayName="cobol";cobol.aliases=[];function cobol(Prism){Prism.languages.cobol={comment:{pattern:/\*>.*|(^[ \t]*)\*.*/m,lookbehind:true,greedy:true},string:{pattern:/[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,greedy:true},level:{pattern:/(^[ \t]*)\d+\b/m,lookbehind:true,greedy:true,alias:"number"},"class-name":{pattern:/(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,lookbehind:true,inside:{number:{pattern:/(\()\d+/,lookbehind:true},punctuation:/[()]/}},keyword:{pattern:/(^|[^\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOUNDS|BOTTOM|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COLLATING|COL|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOP|ERASE|ERROR|EOL|EOS|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTIONNAME|FUNCTION-POINTER|GENERATE|GOBACK|GIVING|GLOBAL|GO|GRID|GROUP|HEADING|HIGHLIGHT|HIGH-VALUE|HIGH-VALUES|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINES|LINE-COUNTER|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOWER|LOWLIGHT|LOW-VALUE|LOW-VALUES|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|POSITION|POSITIVE|PORT|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|READER|REMOTE|RD|REAL|READ|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|REVERSE-VIDEO|RESET|RETURN|RETURN-CODE|RETURNING|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TASK|TAPE|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYMMDD|YYYYDDD|ZERO-FILL|ZEROS|ZEROES)(?![\w-])/i,lookbehind:true},boolean:{pattern:/(^|[^\w-])(?:false|true)(?![\w-])/i,lookbehind:true},number:{pattern:/(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,lookbehind:true},operator:[/<>|[<>]=?|[=+*/&]/,{pattern:/(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,lookbehind:true}],punctuation:/[.:,()]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=coq;coq.displayName="coq";coq.aliases=[];function coq(Prism){(function(Prism){var commentSource=/\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source;for(var i=0;i<2;i++){commentSource=commentSource.replace(/<self>/g,(function(){return commentSource}))}commentSource=commentSource.replace(/<self>/g,"[]");Prism.languages.coq={comment:RegExp(commentSource),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:true},attribute:[{pattern:RegExp(/#\[(?:[^\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(/<comment>/g,(function(){return commentSource}))),greedy:true,alias:"attr-name",inside:{comment:RegExp(commentSource),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:true},operator:/=/,punctuation:/^#\[|\]$|[,()]/}},{pattern:/\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,alias:"attr-name"}],keyword:/\b(?:_|Abort|About|Add|Admit|Admitted|All|apply|Arguments|as|As|Assumptions|at|Axiom|Axioms|Back|BackTo|Backtrace|Bind|BinOp|BinOpSpec|BinRel|Blacklist|by|Canonical|Case|Cd|Check|Class|Classes|Close|Coercion|Coercions|cofix|CoFixpoint|CoInductive|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|else|end|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|exists|exists2|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|fix|Fixpoint|Flags|Focus|for|forall|From|fun|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|Identity|if|IF|Immediate|Implicit|Implicits|Import|in|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|let|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|match|Match|measure|Method|Minimality|ML|Module|Modules|Morphism|move|Next|NoInline|Notation|Number|Obligation|Obligations|OCaml|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|Property|PropOp|Proposition|PropUOp|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|removed|Require|Reserved|Reset|Resolve|Restart|return|Rewrite|Right|Ring|Rings|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|SProp|Step|Strategies|Strategy|String|struct|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|then|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|UnOp|UnOpSpec|Unshelve|using|Variable|Variables|Variant|Verbose|View|Visibility|wf|where|with|Zify)\b/,number:/\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,punct:{pattern:/@\{|\{\||\[=|:>/,alias:"punctuation"},operator:/\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,punctuation:/\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=csv;csv.displayName="csv";csv.aliases=[];function csv(Prism){Prism.languages.csv={value:/[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,punctuation:/,/}}},function(module,exports,__webpack_require__){"use strict";module.exports=dataweave;dataweave.displayName="dataweave";dataweave.aliases=[];function dataweave(Prism){(function(Prism){Prism.languages.dataweave={url:/\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,property:{pattern:/(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,greedy:true},string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:true},"mime-type":/\b(?:text|audio|video|application|multipart|image)\/[\w+-]+/,date:{pattern:/\|[\w:+-]+\|/,greedy:true},comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:true,greedy:true},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:true,greedy:true}],regex:{pattern:/\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,greedy:true},function:/\b[A-Z_]\w*(?=\s*\()/i,number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\];(),.:@]/,operator:/<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,boolean:/\b(?:true|false)\b/,keyword:/\b(?:match|input|output|ns|type|update|null|if|else|using|unless|at|is|as|case|do|fun|var|not|and|or)\b/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=dot;dot.displayName="dot";dot.aliases=["gv"];function dot(Prism){(function(Prism){var ID="(?:"+[/[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source,/-?(?:\.\d+|\d+(?:\.\d*)?)/.source,/"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source,/<(?:[^<>]|(?!<!--)<(?:[^<>"']|"[^"]*"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/.source].join("|")+")";var IDInside={markup:{pattern:/(^<)[\s\S]+(?=>$)/,lookbehind:true,alias:["language-markup","language-html","language-xml"],inside:Prism.languages.markup}};function withID(source,flags){return RegExp(source.replace(/<ID>/g,(function(){return ID})),flags)}Prism.languages.dot={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,greedy:true},"graph-name":{pattern:withID(/(\b(?:digraph|graph|subgraph)[ \t\r\n]+)<ID>/.source,"i"),lookbehind:true,greedy:true,alias:"class-name",inside:IDInside},"attr-value":{pattern:withID(/(=[ \t\r\n]*)<ID>/.source),lookbehind:true,greedy:true,inside:IDInside},"attr-name":{pattern:withID(/([\[;, \t\r\n])<ID>(?=[ \t\r\n]*=)/.source),lookbehind:true,greedy:true,inside:IDInside},keyword:/\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,"compass-point":{pattern:/(:[ \t\r\n]*)(?:[ns][ew]?|[ewc_])(?![\w\x80-\uFFFF])/,lookbehind:true,alias:"builtin"},node:{pattern:withID(/(^|[^-.\w\x80-\uFFFF\\])<ID>/.source),lookbehind:true,greedy:true,inside:IDInside},operator:/[=:]|-[->]/,punctuation:/[\[\]{};,]/};Prism.languages.gv=Prism.languages.dot})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=$false;$false.displayName="$false";$false.aliases=[];function $false(Prism){(function(Prism){Prism.languages["false"]={comment:{pattern:/\{[^}]*\}/},string:{pattern:/"[^"]*"/,greedy:true},"character-code":{pattern:/'(?:[^\r]|\r\n?)/,alias:"number"},"assembler-code":{pattern:/\d+`/,alias:"important"},number:/\d+/,operator:/[-!#$%&'*+,./:;=>?@\\^_`|~ßø]/,punctuation:/\[|\]/,variable:/[a-z]/,"non-standard":{pattern:/[()<BDO®]/,alias:"bold"}}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=icuMessageFormat;icuMessageFormat.displayName="icuMessageFormat";icuMessageFormat.aliases=[];function icuMessageFormat(Prism){(function(Prism){function nested(source,level){if(level<=0){return/[]/.source}else{return source.replace(/<SELF>/g,(function(){return nested(source,level-1)}))}}var stringPattern=/'[{}:=,](?:[^']|'')*'(?!')/;var escape={pattern:/''/,greedy:true,alias:"operator"};var string={pattern:stringPattern,greedy:true,inside:{escape:escape}};var argumentSource=nested(/\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\}/.source.replace(/<STR>/g,(function(){return stringPattern.source})),8);var nestedMessage={pattern:RegExp(argumentSource),inside:{message:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:true,inside:null},"message-delimiter":{pattern:/./,alias:"punctuation"}}};Prism.languages["icu-message-format"]={argument:{pattern:RegExp(argumentSource),greedy:true,inside:{content:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:true,inside:{"argument-name":{pattern:/^(\s*)[^{}:=,\s]+/,lookbehind:true},"choice-style":{pattern:/^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:true,inside:{punctuation:/\|/,range:{pattern:/^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/,lookbehind:true,inside:{operator:/[<#\u2264]/,number:/\S+/}},rest:null}},"plural-style":{pattern:/^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:true,inside:{offset:/^offset:\s*\d+/,"nested-message":nestedMessage,selector:{pattern:/=\d+|[^{}:=,\s]+/,inside:{keyword:/^(?:zero|one|two|few|many|other)$/}}}},"select-style":{pattern:/^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:true,inside:{"nested-message":nestedMessage,selector:{pattern:/[^{}:=,\s]+/,inside:{keyword:/^other$/}}}},keyword:/\b(?:choice|plural|select|selectordinal)\b/,"arg-type":{pattern:/\b(?:number|date|time|spellout|ordinal|duration)\b/,alias:"keyword"},"arg-skeleton":{pattern:/(,\s*)::[^{}:=,\s]+/,lookbehind:true},"arg-style":{pattern:/(,\s*)(?:short|medium|long|full|integer|currency|percent)(?=\s*$)/,lookbehind:true},"arg-style-text":{pattern:RegExp(/(^\s*,\s*(?=\S))/.source+nested(/(?:[^{}']|'[^']*'|\{(?:<SELF>)?\})+/.source,8)+"$"),lookbehind:true,alias:"string"},punctuation:/,/}},"argument-delimiter":{pattern:/./,alias:"operator"}}},escape:escape,string:string};nestedMessage.inside.message.inside=Prism.languages["icu-message-format"];Prism.languages["icu-message-format"].argument.inside.content.inside["choice-style"].inside.rest=Prism.languages["icu-message-format"]})(Prism)}},function(module,exports,__webpack_require__){"use strict";var refractorHaskell=__webpack_require__(166);module.exports=idris;idris.displayName="idris";idris.aliases=["idr"];function idris(Prism){Prism.register(refractorHaskell);Prism.languages.idris=Prism.languages.extend("haskell",{comment:{pattern:/(?:(?:--|\|\|\|).*$|\{-[\s\S]*?-\})/m},keyword:/\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\b/,"import-statement":{pattern:/(^\s*)import\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*/m,lookbehind:true},builtin:undefined});Prism.languages.idr=Prism.languages.idris}},function(module,exports,__webpack_require__){"use strict";module.exports=jexl;jexl.displayName="jexl";jexl.aliases=[];function jexl(Prism){Prism.languages.jexl={string:/(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/,transform:{pattern:/(\|\s*)[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*/,alias:"function",lookbehind:true},function:/[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*\s*(?=\()/,number:/\b\d+(?:\.\d+)?\b|\B\.\d+\b/,operator:/[<>!]=?|-|\+|&&|==|\|\|?|\/\/?|[?:*^%]/,boolean:/\b(?:true|false)\b/,keyword:/\bin\b/,punctuation:/[{}[\](),.]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=kumir;kumir.displayName="kumir";kumir.aliases=["kum"];function kumir(Prism){(function(Prism){var nonId=/\s\x00-\x1f\x22-\x2f\x3a-\x3f\x5b-\x5e\x60\x7b-\x7e/.source;function wrapId(pattern,flags){return RegExp(pattern.replace(/<nonId>/g,nonId),flags)}Prism.languages.kumir={comment:{pattern:/\|.*/},prolog:{pattern:/#.*/,greedy:true},string:{pattern:/"[^\n\r"]*"|'[^\n\r']*'/,greedy:true},boolean:{pattern:wrapId(/(^|[<nonId>])(?:да|нет)(?=[<nonId>]|$)/.source),lookbehind:true},"operator-word":{pattern:wrapId(/(^|[<nonId>])(?:и|или|не)(?=[<nonId>]|$)/.source),lookbehind:true,alias:"keyword"},"system-variable":{pattern:wrapId(/(^|[<nonId>])знач(?=[<nonId>]|$)/.source),lookbehind:true,alias:"keyword"},type:[{pattern:wrapId(/(^|[<nonId>])(?:вещ|лит|лог|сим|цел)(?:\x20*таб)?(?=[<nonId>]|$)/.source),lookbehind:true,alias:"builtin"},{pattern:wrapId(/(^|[<nonId>])(?:компл|сканкод|файл|цвет)(?=[<nonId>]|$)/.source),lookbehind:true,alias:"important"}],keyword:{pattern:wrapId(/(^|[<nonId>])(?:алг|арг(?:\x20*рез)?|ввод|ВКЛЮЧИТЬ|вс[её]|выбор|вывод|выход|дано|для|до|дс|если|иначе|исп|использовать|кон(?:(?:\x20+|_)исп)?|кц(?:(?:\x20+|_)при)?|надо|нач|нс|нц|от|пауза|пока|при|раза?|рез|стоп|таб|то|утв|шаг)(?=[<nonId>]|$)/.source),lookbehind:true},name:{pattern:wrapId(/(^|[<nonId>])[^\d<nonId>][^<nonId>]*(?:\x20+[^<nonId>]+)*(?=[<nonId>]|$)/.source),lookbehind:true},number:{pattern:wrapId(/(^|[<nonId>])(?:\B\$[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?=[<nonId>]|$)/.source,"i"),lookbehind:true},punctuation:/:=|[(),:;\[\]]/,"operator-char":{pattern:/\*\*?|<[=>]?|>=?|[-+/=]/,alias:"operator"}};Prism.languages.kum=Prism.languages.kumir})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=log;log.displayName="log";log.aliases=[];function log(Prism){Prism.languages.log={string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?![st] | \w)(?:[^'\\\r\n]|\\.)*'/,greedy:true},level:[{pattern:/\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\b/,alias:["error","important"]},{pattern:/\b(?:WARN|WARNING|WRN)\b/,alias:["warning","important"]},{pattern:/\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\b/,alias:["info","keyword"]},{pattern:/\b(?:DBG|DEBUG|FINE)\b/,alias:["debug","keyword"]},{pattern:/\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\b/,alias:["trace","comment"]}],property:{pattern:/((?:^|[\]|])[ \t]*)[a-z_](?:[\w-]|\b\/\b)*(?:[. ]\(?\w(?:[\w-]|\b\/\b)*\)?)*:(?=\s)/im,lookbehind:true},separator:{pattern:/(^|[^-+])-{3,}|={3,}|\*{3,}|- - /m,lookbehind:true,alias:"comment"},url:/\b(?:https?|ftp|file):\/\/[^\s|,;'"]*[^\s|,;'">.]/,email:{pattern:/(^|\s)[-\w+.]+@[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+(?=\s)/,lookbehind:true,alias:"url"},"ip-address":{pattern:/\b(?:\d{1,3}(?:\.\d{1,3}){3})\b/i,alias:"constant"},"mac-address":{pattern:/\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\b/i,alias:"constant"},domain:{pattern:/(^|\s)[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*\.[a-z][a-z0-9-]+(?=\s)/,lookbehind:true,alias:"constant"},uuid:{pattern:/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i,alias:"constant"},hash:{pattern:/\b(?:[a-f0-9]{32}){1,2}\b/i,alias:"constant"},"file-path":{pattern:/\b[a-z]:[\\/][^\s|,;:(){}\[\]"']+|(^|[\s:\[\](>|])\.{0,2}\/\w[^\s|,;:(){}\[\]"']*/i,lookbehind:true,greedy:true,alias:"string"},date:{pattern:RegExp(/\b\d{4}[-/]\d{2}[-/]\d{2}(?:T(?=\d{1,2}:)|(?=\s\d{1,2}:))/.source+"|"+/\b\d{1,4}[-/ ](?:\d{1,2}|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[-/ ]\d{2,4}T?\b/.source+"|"+/\b(?:(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:\s{1,2}(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))?|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s{1,2}\d{1,2}\b/.source,"i"),alias:"number"},time:{pattern:/\b\d{1,2}:\d{1,2}:\d{1,2}(?:[.,:]\d+)?(?:\s?[+-]\d{2}:?\d{2}|Z)?\b/,alias:"number"},boolean:/\b(?:true|false|null)\b/i,number:{pattern:/(^|[^.\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\d[\da-f]*(?:\.\d+)*(?:e[+-]?\d+)?[a-z]{0,3}\b)\b(?!\.\w)/i,lookbehind:true},operator:/[;:?<=>~/@!$%&+\-|^(){}*#]/,punctuation:/[\[\].,]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=nevod;nevod.displayName="nevod";nevod.aliases=[];function nevod(Prism){Prism.languages.nevod={comment:/\/\/.*|(?:\/\*[\s\S]*?(?:\*\/|$))/,string:{pattern:/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))!?\*?/,greedy:true,inside:{"string-attrs":/!$|!\*$|\*$/}},namespace:{pattern:/(@namespace\s+)[a-zA-Z0-9\-.]+(?=\s*\{)/,lookbehind:true},pattern:{pattern:/(@pattern\s+)?#?[a-zA-Z0-9\-.]+(?:\s*\(\s*(?:~\s*)?[a-zA-Z0-9\-.]+\s*(?:,\s*(?:~\s*)?[a-zA-Z0-9\-.]*)*\))?(?=\s*=)/,lookbehind:true,inside:{"pattern-name":{pattern:/^#?[a-zA-Z0-9\-.]+/,alias:"class-name"},fields:{pattern:/\(.*\)/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},punctuation:/[,()]/,operator:{pattern:/~/,alias:"field-hidden-mark"}}}}},search:{pattern:/(@search\s+|#)[a-zA-Z0-9\-.]+(?:\.\*)?(?=\s*;)/,alias:"function",lookbehind:true},keyword:/@(?:require|namespace|pattern|search|inside|outside|having|where)\b/,"standard-pattern":{pattern:/\b(?:Word|Punct|Symbol|Space|LineBreak|Start|End|Alpha|AlphaNum|Num|NumAlpha|Blank|WordBreak|Any)(?:\([a-zA-Z0-9\-.,\s+]*\))?/,inside:{"standard-pattern-name":{pattern:/^[a-zA-Z0-9\-.]+/,alias:"builtin"},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},"standard-pattern-attr":{pattern:/[a-zA-Z0-9\-.]+/,alias:"builtin"},punctuation:/[,()]/}},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},operator:[{pattern:/=/,alias:"pattern-def"},{pattern:/&/,alias:"conjunction"},{pattern:/~/,alias:"exception"},{pattern:/\?/,alias:"optionality"},{pattern:/[[\]]/,alias:"repetition"},{pattern:/[{}]/,alias:"variation"},{pattern:/[+_]/,alias:"sequence"},{pattern:/\.{2,3}/,alias:"span"}],"field-capture":[{pattern:/([a-zA-Z0-9\-.]+\s*\()\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+(?:\s*,\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+)*(?=\s*\))/,lookbehind:true,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}},{pattern:/[a-zA-Z0-9\-.]+\s*:/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}}],punctuation:/[:;,()]/,name:/[a-zA-Z0-9\-.]+/}}},function(module,exports,__webpack_require__){"use strict";module.exports=openqasm;openqasm.displayName="openqasm";openqasm.aliases=["qasm"];function openqasm(Prism){Prism.languages.openqasm={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"[^"\r\n\t]*"|'[^'\r\n\t]*'/,greedy:true},keyword:/\b(?:barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while|CX|OPENQASM|U)\b|#pragma\b/,"class-name":/\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\b/,function:/\b(?:sin|cos|tan|exp|ln|sqrt|rotl|rotr|popcount)\b(?=\s*\()/,constant:/\b(?:pi|tau|euler)\b|π|𝜏|ℇ/,number:{pattern:/(^|[^.\w$])(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:dt|ns|us|µs|ms|s)?/i,lookbehind:true},operator:/->|>>=?|<<=?|&&|\|\||\+\+|--|[!=<>&|~^+\-*/%]=?|@/,punctuation:/[(){}\[\];,:.]/};Prism.languages.qasm=Prism.languages.openqasm}},function(module,exports,__webpack_require__){"use strict";module.exports=promql;promql.displayName="promql";promql.aliases=[];function promql(Prism){(function(Prism){var aggregations=["sum","min","max","avg","group","stddev","stdvar","count","count_values","bottomk","topk","quantile"];var vectorMatching=["on","ignoring","group_right","group_left","by","without"];var offsetModifier=["offset"];var keywords=aggregations.concat(vectorMatching,offsetModifier);Prism.languages.promql={comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:true},"vector-match":{pattern:new RegExp("((?:"+vectorMatching.join("|")+")\\s*)\\([^)]*\\)"),lookbehind:true,inside:{"label-key":{pattern:/\b[^,]*\b/,alias:"attr-name"},punctuation:/[(),]/}},"context-labels":{pattern:/\{[^{}]*\}/,inside:{"label-key":{pattern:/\b[a-z_]\w*(?=\s*(?:=|![=~]))/,alias:"attr-name"},"label-value":{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:true,alias:"attr-value"},punctuation:/\{|\}|=~?|![=~]|,/}},"context-range":[{pattern:/\[[\w\s:]+\]/,inside:{punctuation:/\[|\]|:/,"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}},{pattern:/(\boffset\s+)\w+/,lookbehind:true,inside:{"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}}],keyword:new RegExp("\\b(?:"+keywords.join("|")+")\\b","i"),function:/\b[a-z_]\w*(?=\s*\()/i,number:/[-+]?(?:(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[-+]?\d+)?\b|\b(?:0x[0-9a-f]+|nan|inf)\b)/i,operator:/[\^*/%+-]|==|!=|<=|<|>=|>|\b(?:and|unless|or)\b/i,punctuation:/[{};()`,.[\]]/}})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=psl;psl.displayName="psl";psl.aliases=[];function psl(Prism){Prism.languages.psl={comment:{pattern:/#.*/,greedy:true},string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:true,inside:{symbol:/\\[ntrbA-Z"\\]/}},"heredoc-string":{pattern:/<<<([a-zA-Z_]\w*)[\r\n](?:.*[\r\n])*?\1\b/,alias:"string",greedy:true},keyword:/\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\b/,constant:/\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|FALSE|False|false|NO|No|no|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|TRUE|True|true|VOID|WARN)\b/,variable:/\b(?:errno|exit_status|PslDebug)\b/,builtin:{pattern:/\b(?:acos|add_diary|annotate|annotate_get|asctime|asin|atan|atexit|ascii_to_ebcdic|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|destroy_lock|dump_hist|date|destroy|difference|dget_text|dcget_text|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|floor|fmod|full_discovery|file|fopen|ftell|fseek|grep|get_vars|getenv|get|get_chan_info|get_ranges|get_text|gethostinfo|getpid|getpname|history_get_retention|history|index|int|is_var|intersection|isnumber|internal|in_transition|join|kill|length|lines|lock|lock_info|log|loge|log10|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|num_consoles|nthargf|nthline|nthlinef|num_bytes|print|proc_exists|process|popen|printf|pconfig|poplines|pow|PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|sopen|sqrt|srandom|subset|set|substr|system|sprintf|sort|snmp_agent_config|_snmp_debug|snmp_agent_stop|snmp_agent_start|snmp_h_set|snmp_h_get_next|snmp_h_get|snmp_set|snmp_walk|snmp_get_next|snmp_get|snmp_config|snmp_close|snmp_open|snmp_trap_receive|snmp_trap_ignore|snmp_trap_listen|snmp_trap_send|snmp_trap_raise_std_trap|snmp_trap_register_im|splitline|strcasecmp|str_repeat|trim|tail|tan|tanh|time|tmpnam|tolower|toupper|trace_psl_process|text_domain|unlock|unique|union|unset|va_arg|va_start|write)\b/,alias:"builtin-function"},"foreach-variable":{pattern:/(\bforeach\s+(?:(?:\w+\b|"(?:\\.|[^\\"])*")\s+){0,2})[_a-zA-Z]\w*(?=\s*\()/,lookbehind:true,greedy:true},function:{pattern:/\b[_a-z]\w*\b(?=\s*\()/i},number:/\b(?:0x[0-9a-f]+|[0-9]+(?:\.[0-9]+)?)\b/i,operator:/--|\+\+|&&=?|\|\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\.|[:?]/,punctuation:/[(){}\[\];,]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=qsharp;qsharp.displayName="qsharp";qsharp.aliases=["qs"];function qsharp(Prism){(function(Prism){function replace(pattern,replacements){return pattern.replace(/<<(\d+)>>/g,(function(m,index){return"(?:"+replacements[+index]+")"}))}function re(pattern,replacements,flags){return RegExp(replace(pattern,replacements),flags||"")}function nested(pattern,depthLog2){for(var i=0;i<depthLog2;i++){pattern=pattern.replace(/<<self>>/g,(function(){return"(?:"+pattern+")"}))}return pattern.replace(/<<self>>/g,"[^\\s\\S]")}var keywordKinds={type:"Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero",other:"Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within"};function keywordsToPattern(words){return"\\b(?:"+words.trim().replace(/ /g,"|")+")\\b"}var keywords=RegExp(keywordsToPattern(keywordKinds.type+" "+keywordKinds.other));var identifier=/\b[A-Za-z_]\w*\b/.source;var qualifiedName=replace(/<<0>>(?:\s*\.\s*<<0>>)*/.source,[identifier]);var typeInside={keyword:keywords,punctuation:/[<>()?,.:[\]]/};var regularString=/"(?:\\.|[^\\"])*"/.source;Prism.languages.qsharp=Prism.languages.extend("clike",{comment:/\/\/.*/,string:[{pattern:re(/(^|[^$\\])<<0>>/.source,[regularString]),lookbehind:true,greedy:true}],"class-name":[{pattern:re(/(\b(?:as|open)\s+)<<0>>(?=\s*(?:;|as\b))/.source,[qualifiedName]),lookbehind:true,inside:typeInside},{pattern:re(/(\bnamespace\s+)<<0>>(?=\s*\{)/.source,[qualifiedName]),lookbehind:true,inside:typeInside}],keyword:keywords,number:/(?:\b0(?:x[\da-f]+|b[01]+|o[0-7]+)|(?:\B\.\d+|\b\d+(?:\.\d*)?)(?:e[-+]?\d+)?)l?\b/i,operator:/\band=|\bor=|\band\b|\bor\b|\bnot\b|<[-=]|[-=]>|>>>=?|<<<=?|\^\^\^=?|\|\|\|=?|&&&=?|w\/=?|~~~|[*\/+\-^=!%]=?/,punctuation:/::|[{}[\];(),.:]/});Prism.languages.insertBefore("qsharp","number",{range:{pattern:/\.\./,alias:"operator"}});var interpolationExpr=nested(replace(/\{(?:[^"{}]|<<0>>|<<self>>)*\}/.source,[regularString]),2);Prism.languages.insertBefore("qsharp","string",{"interpolation-string":{pattern:re(/\$"(?:\\.|<<0>>|[^\\"{])*"/.source,[interpolationExpr]),greedy:true,inside:{interpolation:{pattern:re(/((?:^|[^\\])(?:\\\\)*)<<0>>/.source,[interpolationExpr]),lookbehind:true,inside:{punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-qsharp",inside:Prism.languages.qsharp}}},string:/[\s\S]+/}}})})(Prism);Prism.languages.qs=Prism.languages.qsharp}},function(module,exports,__webpack_require__){"use strict";module.exports=rego;rego.displayName="rego";rego.aliases=[];function rego(Prism){Prism.languages.rego={comment:/#.*/,property:{pattern:/(^|[^\\.])(?:"(?:\\.|[^\\"\r\n])*"|`[^`]*`|\b[a-z_]\w*\b)(?=\s*:(?!=))/i,lookbehind:true,greedy:true},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"|`[^`]*`/,lookbehind:true,greedy:true},keyword:/\b(?:as|default|else|import|package|not|null|some|with|set(?=\s*\())\b/,boolean:/\b(?:true|false)\b/,function:{pattern:/\b[a-z_]\w*\b(?:\s*\.\s*\b[a-z_]\w*\b)*(?=\s*\()/i,inside:{namespace:/\b\w+\b(?=\s*\.)/,punctuation:/\./}},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,operator:/[-+*/%|&]|[<>:=]=?|!=|\b_\b/,punctuation:/[,;.\[\]{}()]/}}},function(module,exports,__webpack_require__){"use strict";module.exports=squirrel;squirrel.displayName="squirrel";squirrel.aliases=[];function squirrel(Prism){Prism.languages.squirrel=Prism.languages.extend("clike",{comment:[Prism.languages.clike["comment"][0],{pattern:/(^|[^\\:])(?:\/\/|#).*/,lookbehind:true,greedy:true}],string:[{pattern:/(^|[^\\"'@])(?:@"(?:[^"]|"")*"(?!")|"(?:[^\\\r\n"]|\\.)*")/,lookbehind:true,greedy:true},{pattern:/(^|[^\\"'])'(?:[^\\']|\\(?:[xuU][0-9a-fA-F]{0,8}|[\s\S]))'/,lookbehind:true,greedy:true}],"class-name":{pattern:/(\b(?:class|enum|extends|instanceof)\s+)\w+(?:\.\w+)*/,lookbehind:true,inside:{punctuation:/\./}},keyword:/\b(?:base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield|__LINE__|__FILE__)\b/,number:/\b(?:0x[0-9a-fA-F]+|\d+(?:\.(?:\d+|[eE][+-]?\d+))?)\b/,operator:/\+\+|--|<=>|<[-<]|>>>?|&&?|\|\|?|[-+*/%!=<>]=?|[~^]|::?/,punctuation:/[(){}\[\],;.]/});Prism.languages.insertBefore("squirrel","operator",{"attribute-punctuation":{pattern:/<\/|\/>/,alias:"important"},lambda:{pattern:/@(?=\()/,alias:"operator"}})}},function(module,exports,__webpack_require__){"use strict";module.exports=uri;uri.displayName="uri";uri.aliases=["url"];function uri(Prism){Prism.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:true,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:true},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:true}}}}},authority:{pattern:RegExp(/^\/\//.source+/(?:[\w\-.~!$&'()*+,;=%:]*@)?/.source+("(?:"+/\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\.[\w\-.~!$&'()*+,;=]+)\]/.source+"|"+/[\w\-.~!$&'()*+,;=%]*/.source+")")+/(?::\d*)?/.source,"m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}};Prism.languages.url=Prism.languages.uri}},function(module,exports,__webpack_require__){"use strict";module.exports=v;v.displayName="v";v.aliases=[];function v(Prism){(function(Prism){var interpolationExpr={pattern:/[\s\S]+/,inside:null};Prism.languages.v=Prism.languages.extend("clike",{string:[{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"},{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:true,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:true,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":interpolationExpr}}}}],"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:true},keyword:/(?:\b(?:as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|__global|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:if|else|for)|#(?:include|flag))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_int|_float)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|nt|64|128)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/});interpolationExpr.inside=Prism.languages.v;Prism.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|unsafe_fn|typedef|live|inline|flag|ref_only|windows_stdcall|direct_array_access)\]/m,lookbehind:true,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}});Prism.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:Prism.languages.v.generic.inside}}}})})(Prism)}},function(module,exports,__webpack_require__){"use strict";module.exports=wolfram;wolfram.displayName="wolfram";wolfram.aliases=["mathematica","wl","nb"];function wolfram(Prism){Prism.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:true},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:True|False)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[\|{}[\];(),.:]/};Prism.languages.mathematica=Prism.languages.wolfram;Prism.languages.wl=Prism.languages.wolfram;Prism.languages.nb=Prism.languages.wolfram}},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _highlight=_interopRequireDefault(__webpack_require__(126));var _core=_interopRequireDefault(__webpack_require__(234));var SyntaxHighlighter=(0,_highlight.default)(_core.default,{});SyntaxHighlighter.registerLanguage=function(_,language){return _core.default.register(language)};var _default=SyntaxHighlighter;exports.default=_default},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(68);Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _highlight=_interopRequireDefault(__webpack_require__(126));var _prism=_interopRequireDefault(__webpack_require__(1379));var _refractor=_interopRequireDefault(__webpack_require__(772));var _supportedLanguages=_interopRequireDefault(__webpack_require__(771));var highlighter=(0,_highlight.default)(_refractor.default,_prism.default);highlighter.supportedLanguages=_supportedLanguages.default;var _default=highlighter;exports.default=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"black",background:"#f5f2f0",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"slategray"},prolog:{color:"slategray"},doctype:{color:"slategray"},cdata:{color:"slategray"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#905"},tag:{color:"#905"},boolean:{color:"#905"},number:{color:"#905"},constant:{color:"#905"},symbol:{color:"#905"},deleted:{color:"#905"},selector:{color:"#690"},"attr-name":{color:"#690"},string:{color:"#690"},char:{color:"#690"},builtin:{color:"#690"},inserted:{color:"#690"},operator:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#07a"},"attr-value":{color:"#07a"},keyword:{color:"#07a"},function:{color:"#DD4A68"},"class-name":{color:"#DD4A68"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},variable:{color:"#e90"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}};exports.default=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default={'code[class*="language-"]':{color:"#393A34",fontFamily:'"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",fontSize:".9em",lineHeight:"1.2em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#393A34",fontFamily:'"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",fontSize:".9em",lineHeight:"1.2em",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",border:"1px solid #dddddd",backgroundColor:"white"},'pre > code[class*="language-"]':{fontSize:"1em"},'pre[class*="language-"]::-moz-selection':{background:"#C1DEF1"},'pre[class*="language-"] ::-moz-selection':{background:"#C1DEF1"},'code[class*="language-"]::-moz-selection':{background:"#C1DEF1"},'code[class*="language-"] ::-moz-selection':{background:"#C1DEF1"},'pre[class*="language-"]::selection':{background:"#C1DEF1"},'pre[class*="language-"] ::selection':{background:"#C1DEF1"},'code[class*="language-"]::selection':{background:"#C1DEF1"},'code[class*="language-"] ::selection':{background:"#C1DEF1"},':not(pre) > code[class*="language-"]':{padding:".2em",paddingTop:"1px",paddingBottom:"1px",background:"#f8f8f8",border:"1px solid #dddddd"},comment:{color:"#008000",fontStyle:"italic"},prolog:{color:"#008000",fontStyle:"italic"},doctype:{color:"#008000",fontStyle:"italic"},cdata:{color:"#008000",fontStyle:"italic"},namespace:{Opacity:".7"},string:{color:"#A31515"},punctuation:{color:"#393A34"},operator:{color:"#393A34"},url:{color:"#36acaa"},symbol:{color:"#36acaa"},number:{color:"#36acaa"},boolean:{color:"#36acaa"},variable:{color:"#36acaa"},constant:{color:"#36acaa"},inserted:{color:"#36acaa"},atrule:{color:"#0000ff"},keyword:{color:"#0000ff"},"attr-value":{color:"#0000ff"},".language-autohotkey .token.selector":{color:"#0000ff"},".language-json .token.boolean":{color:"#0000ff"},".language-json .token.number":{color:"#0000ff"},'code[class*="language-css"]':{color:"#0000ff"},function:{color:"#393A34"},deleted:{color:"#9a050f"},".language-autohotkey .token.tag":{color:"#9a050f"},selector:{color:"#800000"},".language-autohotkey .token.keyword":{color:"#00009f"},important:{fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},"class-name":{color:"#2B91AF"},".language-json .token.property":{color:"#2B91AF"},tag:{color:"#800000"},"attr-name":{color:"#ff0000"},property:{color:"#ff0000"},regex:{color:"#ff0000"},entity:{color:"#ff0000"},"directive.tag.tag":{background:"#ffff00",color:"#393A34"},".line-numbers .line-numbers-rows":{borderRightColor:"#a5a5a5"},".line-numbers-rows > span:before":{color:"#2B91AF"},".line-highlight":{background:"linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0))"}};exports.default=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default={'code[class*="language-"]':{MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",whiteSpace:"pre-wrap",wordWrap:"normal",fontFamily:'Menlo, Monaco, "Courier New", monospace',fontSize:"14px",color:"#76d9e6",textShadow:"none"},'pre[class*="language-"]':{MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",whiteSpace:"pre-wrap",wordWrap:"normal",fontFamily:'Menlo, Monaco, "Courier New", monospace',fontSize:"14px",color:"#76d9e6",textShadow:"none",background:"#2a2a2a",padding:"15px",borderRadius:"4px",border:"1px solid #e1e1e8",overflow:"auto",position:"relative"},'pre > code[class*="language-"]':{fontSize:"1em"},':not(pre) > code[class*="language-"]':{background:"#2a2a2a",padding:"0.15em 0.2em 0.05em",borderRadius:".3em",border:"0.13em solid #7a6652",boxShadow:"1px 1px 0.3em -0.1em #000 inset"},'pre[class*="language-"] code':{whiteSpace:"pre",display:"block"},namespace:{Opacity:".7"},comment:{color:"#6f705e"},prolog:{color:"#6f705e"},doctype:{color:"#6f705e"},cdata:{color:"#6f705e"},operator:{color:"#a77afe"},boolean:{color:"#a77afe"},number:{color:"#a77afe"},"attr-name":{color:"#e6d06c"},string:{color:"#e6d06c"},entity:{color:"#e6d06c",cursor:"help"},url:{color:"#e6d06c"},".language-css .token.string":{color:"#e6d06c"},".style .token.string":{color:"#e6d06c"},selector:{color:"#a6e22d"},inserted:{color:"#a6e22d"},atrule:{color:"#ef3b7d"},"attr-value":{color:"#ef3b7d"},keyword:{color:"#ef3b7d"},important:{color:"#ef3b7d",fontWeight:"bold"},deleted:{color:"#ef3b7d"},regex:{color:"#76d9e6"},statement:{color:"#76d9e6",fontWeight:"bold"},placeholder:{color:"#fff"},variable:{color:"#fff"},bold:{fontWeight:"bold"},punctuation:{color:"#bebec5"},italic:{fontStyle:"italic"},"code.language-markup":{color:"#f9f9f9"},"code.language-markup .token.tag":{color:"#ef3b7d"},"code.language-markup .token.attr-name":{color:"#a6e22d"},"code.language-markup .token.attr-value":{color:"#e6d06c"},"code.language-markup .token.style":{color:"#76d9e6"},"code.language-markup .token.script":{color:"#76d9e6"},"code.language-markup .token.script .token.keyword":{color:"#76d9e6"},'pre[class*="language-"][data-line]':{position:"relative",padding:"1em 0 1em 3em"},"pre[data-line] .line-highlight":{position:"absolute",left:"0",right:"0",padding:"0",marginTop:"1em",background:"rgba(255, 255, 255, 0.08)",pointerEvents:"none",lineHeight:"inherit",whiteSpace:"pre"},"pre[data-line] .line-highlight:before":{content:"attr(data-start)",position:"absolute",top:".4em",left:".6em",minWidth:"1em",padding:"0.2em 0.5em",backgroundColor:"rgba(255, 255, 255, 0.4)",color:"black",font:"bold 65%/1 sans-serif",height:"1em",lineHeight:"1em",textAlign:"center",borderRadius:"999px",textShadow:"none",boxShadow:"0 1px 1px rgba(255, 255, 255, 0.7)"},"pre[data-line] .line-highlight[data-end]:after":{content:"attr(data-end)",position:"absolute",top:"auto",left:".6em",minWidth:"1em",padding:"0.2em 0.5em",backgroundColor:"rgba(255, 255, 255, 0.4)",color:"black",font:"bold 65%/1 sans-serif",height:"1em",lineHeight:"1em",textAlign:"center",borderRadius:"999px",textShadow:"none",boxShadow:"0 1px 1px rgba(255, 255, 255, 0.7)",bottom:".4em"}};exports.default=_default},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Pagers=void 0;const styled_components_1=__importDefault(__webpack_require__(41));const outputs_1=__webpack_require__(773);exports.Pagers=styled_components_1.default(outputs_1.Outputs)`
  background-color: var(--theme-pager-bg, #fafafa);
`;exports.Pagers.displayName="Pagers";exports.default=exports.Pagers},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(__webpack_require__(1384),exports);__exportStar(__webpack_require__(774),exports)},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Sidebar=void 0;const react_1=__importDefault(__webpack_require__(35));const classnames_1=__importDefault(__webpack_require__(76));const sidebar_item_1=__webpack_require__(774);const re_resizable_1=__webpack_require__(1385);exports.Sidebar=({isVisible:isVisible,subItems:subItems,children:children})=>react_1.default.createElement(re_resizable_1.Resizable,{className:classnames_1.default("sidebar",{"sidebar-visible":isVisible}),defaultSize:{width:200,height:"100vh"}},react_1.default.createElement("nav",null,react_1.default.createElement("ul",{className:"sidebar-item-group sidebar-item-group-expanded"},subItems&&sidebar_item_1.getSidebarItemsFromData(subItems,true,0),children)))},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _interopDefault(ex){return ex&&typeof ex==="object"&&"default"in ex?ex["default"]:ex}var React=__webpack_require__(35);var memoize=_interopDefault(__webpack_require__(1386));
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};function __extends(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}var __assign=function(){__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign.apply(this,arguments)};var styles={top:{width:"100%",height:"10px",top:"-5px",left:"0px",cursor:"row-resize"},right:{width:"10px",height:"100%",top:"0px",right:"-5px",cursor:"col-resize"},bottom:{width:"100%",height:"10px",bottom:"-5px",left:"0px",cursor:"row-resize"},left:{width:"10px",height:"100%",top:"0px",left:"-5px",cursor:"col-resize"},topRight:{width:"20px",height:"20px",position:"absolute",right:"-10px",top:"-10px",cursor:"ne-resize"},bottomRight:{width:"20px",height:"20px",position:"absolute",right:"-10px",bottom:"-10px",cursor:"se-resize"},bottomLeft:{width:"20px",height:"20px",position:"absolute",left:"-10px",bottom:"-10px",cursor:"sw-resize"},topLeft:{width:"20px",height:"20px",position:"absolute",left:"-10px",top:"-10px",cursor:"nw-resize"}};var Resizer=function(_super){__extends(Resizer,_super);function Resizer(){var _this=_super!==null&&_super.apply(this,arguments)||this;_this.onMouseDown=function(e){_this.props.onResizeStart(e,_this.props.direction)};_this.onTouchStart=function(e){_this.props.onResizeStart(e,_this.props.direction)};return _this}Resizer.prototype.render=function(){return React.createElement("div",{className:this.props.className||"",style:__assign(__assign({position:"absolute",userSelect:"none"},styles[this.props.direction]),this.props.replaceStyles||{}),onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart},this.props.children)};return Resizer}(React.PureComponent);var DEFAULT_SIZE={width:"auto",height:"auto"};var clamp=memoize((function(n,min,max){return Math.max(Math.min(n,max),min)}));var snap=memoize((function(n,size){return Math.round(n/size)*size}));var hasDirection=memoize((function(dir,target){return new RegExp(dir,"i").test(target)}));var isTouchEvent=function(event){return Boolean(event.touches&&event.touches.length)};var isMouseEvent=function(event){return Boolean((event.clientX||event.clientX===0)&&(event.clientY||event.clientY===0))};var findClosestSnap=memoize((function(n,snapArray,snapGap){if(snapGap===void 0){snapGap=0}var closestGapIndex=snapArray.reduce((function(prev,curr,index){return Math.abs(curr-n)<Math.abs(snapArray[prev]-n)?index:prev}),0);var gap=Math.abs(snapArray[closestGapIndex]-n);return snapGap===0||gap<snapGap?snapArray[closestGapIndex]:n}));var endsWith=memoize((function(str,searchStr){return str.substr(str.length-searchStr.length,searchStr.length)===searchStr}));var getStringSize=memoize((function(n){n=n.toString();if(n==="auto"){return n}if(endsWith(n,"px")){return n}if(endsWith(n,"%")){return n}if(endsWith(n,"vh")){return n}if(endsWith(n,"vw")){return n}if(endsWith(n,"vmax")){return n}if(endsWith(n,"vmin")){return n}return n+"px"}));var getPixelSize=function(size,parentSize,innerWidth,innerHeight){if(size&&typeof size==="string"){if(endsWith(size,"px")){return Number(size.replace("px",""))}if(endsWith(size,"%")){var ratio=Number(size.replace("%",""))/100;return parentSize*ratio}if(endsWith(size,"vw")){var ratio=Number(size.replace("vw",""))/100;return innerWidth*ratio}if(endsWith(size,"vh")){var ratio=Number(size.replace("vh",""))/100;return innerHeight*ratio}}return size};var calculateNewMax=memoize((function(parentSize,innerWidth,innerHeight,maxWidth,maxHeight,minWidth,minHeight){maxWidth=getPixelSize(maxWidth,parentSize.width,innerWidth,innerHeight);maxHeight=getPixelSize(maxHeight,parentSize.height,innerWidth,innerHeight);minWidth=getPixelSize(minWidth,parentSize.width,innerWidth,innerHeight);minHeight=getPixelSize(minHeight,parentSize.height,innerWidth,innerHeight);return{maxWidth:typeof maxWidth==="undefined"?undefined:Number(maxWidth),maxHeight:typeof maxHeight==="undefined"?undefined:Number(maxHeight),minWidth:typeof minWidth==="undefined"?undefined:Number(minWidth),minHeight:typeof minHeight==="undefined"?undefined:Number(minHeight)}}));var definedProps=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"];var baseClassName="__resizable_base__";var Resizable=function(_super){__extends(Resizable,_super);function Resizable(props){var _this=_super.call(this,props)||this;_this.ratio=1;_this.resizable=null;_this.parentLeft=0;_this.parentTop=0;_this.resizableLeft=0;_this.resizableRight=0;_this.resizableTop=0;_this.resizableBottom=0;_this.targetLeft=0;_this.targetTop=0;_this.appendBase=function(){if(!_this.resizable||!_this.window){return null}var parent=_this.parentNode;if(!parent){return null}var element=_this.window.document.createElement("div");element.style.width="100%";element.style.height="100%";element.style.position="absolute";element.style.transform="scale(0, 0)";element.style.left="0";element.style.flex="0";if(element.classList){element.classList.add(baseClassName)}else{element.className+=baseClassName}parent.appendChild(element);return element};_this.removeBase=function(base){var parent=_this.parentNode;if(!parent){return}parent.removeChild(base)};_this.ref=function(c){if(c){_this.resizable=c}};_this.state={isResizing:false,width:typeof(_this.propsSize&&_this.propsSize.width)==="undefined"?"auto":_this.propsSize&&_this.propsSize.width,height:typeof(_this.propsSize&&_this.propsSize.height)==="undefined"?"auto":_this.propsSize&&_this.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:undefined};_this.onResizeStart=_this.onResizeStart.bind(_this);_this.onMouseMove=_this.onMouseMove.bind(_this);_this.onMouseUp=_this.onMouseUp.bind(_this);return _this}Object.defineProperty(Resizable.prototype,"parentNode",{get:function(){if(!this.resizable){return null}return this.resizable.parentNode},enumerable:false,configurable:true});Object.defineProperty(Resizable.prototype,"window",{get:function(){if(!this.resizable){return null}if(!this.resizable.ownerDocument){return null}return this.resizable.ownerDocument.defaultView},enumerable:false,configurable:true});Object.defineProperty(Resizable.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||DEFAULT_SIZE},enumerable:false,configurable:true});Object.defineProperty(Resizable.prototype,"size",{get:function(){var width=0;var height=0;if(this.resizable&&this.window){var orgWidth=this.resizable.offsetWidth;var orgHeight=this.resizable.offsetHeight;var orgPosition=this.resizable.style.position;if(orgPosition!=="relative"){this.resizable.style.position="relative"}width=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:orgWidth;height=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:orgHeight;this.resizable.style.position=orgPosition}return{width:width,height:height}},enumerable:false,configurable:true});Object.defineProperty(Resizable.prototype,"sizeStyle",{get:function(){var _this=this;var size=this.props.size;var getSize=function(key){if(typeof _this.state[key]==="undefined"||_this.state[key]==="auto"){return"auto"}if(_this.propsSize&&_this.propsSize[key]&&endsWith(_this.propsSize[key].toString(),"%")){if(endsWith(_this.state[key].toString(),"%")){return _this.state[key].toString()}var parentSize=_this.getParentSize();var value=Number(_this.state[key].toString().replace("px",""));var percent=value/parentSize[key]*100;return percent+"%"}return getStringSize(_this.state[key])};var width=size&&typeof size.width!=="undefined"&&!this.state.isResizing?getStringSize(size.width):getSize("width");var height=size&&typeof size.height!=="undefined"&&!this.state.isResizing?getStringSize(size.height):getSize("height");return{width:width,height:height}},enumerable:false,configurable:true});Resizable.prototype.getParentSize=function(){if(!this.parentNode){if(!this.window){return{width:0,height:0}}return{width:this.window.innerWidth,height:this.window.innerHeight}}var base=this.appendBase();if(!base){return{width:0,height:0}}var wrapChanged=false;var wrap=this.parentNode.style.flexWrap;if(wrap!=="wrap"){wrapChanged=true;this.parentNode.style.flexWrap="wrap"}base.style.position="relative";base.style.minWidth="100%";var size={width:base.offsetWidth,height:base.offsetHeight};if(wrapChanged){this.parentNode.style.flexWrap=wrap}this.removeBase(base);return size};Resizable.prototype.bindEvents=function(){if(this.window){this.window.addEventListener("mouseup",this.onMouseUp);this.window.addEventListener("mousemove",this.onMouseMove);this.window.addEventListener("mouseleave",this.onMouseUp);this.window.addEventListener("touchmove",this.onMouseMove,{capture:true,passive:false});this.window.addEventListener("touchend",this.onMouseUp)}};Resizable.prototype.unbindEvents=function(){if(this.window){this.window.removeEventListener("mouseup",this.onMouseUp);this.window.removeEventListener("mousemove",this.onMouseMove);this.window.removeEventListener("mouseleave",this.onMouseUp);this.window.removeEventListener("touchmove",this.onMouseMove,true);this.window.removeEventListener("touchend",this.onMouseUp)}};Resizable.prototype.componentDidMount=function(){if(!this.resizable||!this.window){return}var computedStyle=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:computedStyle.flexBasis!=="auto"?computedStyle.flexBasis:undefined})};Resizable.prototype.componentWillUnmount=function(){if(this.window){this.unbindEvents()}};Resizable.prototype.createSizeForCssProperty=function(newSize,kind){var propsSize=this.propsSize&&this.propsSize[kind];return this.state[kind]==="auto"&&this.state.original[kind]===newSize&&(typeof propsSize==="undefined"||propsSize==="auto")?"auto":newSize};Resizable.prototype.calculateNewMaxFromBoundary=function(maxWidth,maxHeight){var boundsByDirection=this.props.boundsByDirection;var direction=this.state.direction;var widthByDirection=boundsByDirection&&hasDirection("left",direction);var heightByDirection=boundsByDirection&&hasDirection("top",direction);var boundWidth;var boundHeight;if(this.props.bounds==="parent"){var parent_1=this.parentNode;if(parent_1){boundWidth=widthByDirection?this.resizableRight-this.parentLeft:parent_1.offsetWidth+(this.parentLeft-this.resizableLeft);boundHeight=heightByDirection?this.resizableBottom-this.parentTop:parent_1.offsetHeight+(this.parentTop-this.resizableTop)}}else if(this.props.bounds==="window"){if(this.window){boundWidth=widthByDirection?this.resizableRight:this.window.innerWidth-this.resizableLeft;boundHeight=heightByDirection?this.resizableBottom:this.window.innerHeight-this.resizableTop}}else if(this.props.bounds){boundWidth=widthByDirection?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft);boundHeight=heightByDirection?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop)}if(boundWidth&&Number.isFinite(boundWidth)){maxWidth=maxWidth&&maxWidth<boundWidth?maxWidth:boundWidth}if(boundHeight&&Number.isFinite(boundHeight)){maxHeight=maxHeight&&maxHeight<boundHeight?maxHeight:boundHeight}return{maxWidth:maxWidth,maxHeight:maxHeight}};Resizable.prototype.calculateNewSizeFromDirection=function(clientX,clientY){var scale=this.props.scale||1;var resizeRatio=this.props.resizeRatio||1;var _a=this.state,direction=_a.direction,original=_a.original;var _b=this.props,lockAspectRatio=_b.lockAspectRatio,lockAspectRatioExtraHeight=_b.lockAspectRatioExtraHeight,lockAspectRatioExtraWidth=_b.lockAspectRatioExtraWidth;var newWidth=original.width;var newHeight=original.height;var extraHeight=lockAspectRatioExtraHeight||0;var extraWidth=lockAspectRatioExtraWidth||0;if(hasDirection("right",direction)){newWidth=original.width+(clientX-original.x)*resizeRatio/scale;if(lockAspectRatio){newHeight=(newWidth-extraWidth)/this.ratio+extraHeight}}if(hasDirection("left",direction)){newWidth=original.width-(clientX-original.x)*resizeRatio/scale;if(lockAspectRatio){newHeight=(newWidth-extraWidth)/this.ratio+extraHeight}}if(hasDirection("bottom",direction)){newHeight=original.height+(clientY-original.y)*resizeRatio/scale;if(lockAspectRatio){newWidth=(newHeight-extraHeight)*this.ratio+extraWidth}}if(hasDirection("top",direction)){newHeight=original.height-(clientY-original.y)*resizeRatio/scale;if(lockAspectRatio){newWidth=(newHeight-extraHeight)*this.ratio+extraWidth}}return{newWidth:newWidth,newHeight:newHeight}};Resizable.prototype.calculateNewSizeFromAspectRatio=function(newWidth,newHeight,max,min){var _a=this.props,lockAspectRatio=_a.lockAspectRatio,lockAspectRatioExtraHeight=_a.lockAspectRatioExtraHeight,lockAspectRatioExtraWidth=_a.lockAspectRatioExtraWidth;var computedMinWidth=typeof min.width==="undefined"?10:min.width;var computedMaxWidth=typeof max.width==="undefined"||max.width<0?newWidth:max.width;var computedMinHeight=typeof min.height==="undefined"?10:min.height;var computedMaxHeight=typeof max.height==="undefined"||max.height<0?newHeight:max.height;var extraHeight=lockAspectRatioExtraHeight||0;var extraWidth=lockAspectRatioExtraWidth||0;if(lockAspectRatio){var extraMinWidth=(computedMinHeight-extraHeight)*this.ratio+extraWidth;var extraMaxWidth=(computedMaxHeight-extraHeight)*this.ratio+extraWidth;var extraMinHeight=(computedMinWidth-extraWidth)/this.ratio+extraHeight;var extraMaxHeight=(computedMaxWidth-extraWidth)/this.ratio+extraHeight;var lockedMinWidth=Math.max(computedMinWidth,extraMinWidth);var lockedMaxWidth=Math.min(computedMaxWidth,extraMaxWidth);var lockedMinHeight=Math.max(computedMinHeight,extraMinHeight);var lockedMaxHeight=Math.min(computedMaxHeight,extraMaxHeight);newWidth=clamp(newWidth,lockedMinWidth,lockedMaxWidth);newHeight=clamp(newHeight,lockedMinHeight,lockedMaxHeight)}else{newWidth=clamp(newWidth,computedMinWidth,computedMaxWidth);newHeight=clamp(newHeight,computedMinHeight,computedMaxHeight)}return{newWidth:newWidth,newHeight:newHeight}};Resizable.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var parent_2=this.parentNode;if(parent_2){var parentRect=parent_2.getBoundingClientRect();this.parentLeft=parentRect.left;this.parentTop=parentRect.top}}if(this.props.bounds&&typeof this.props.bounds!=="string"){var targetRect=this.props.bounds.getBoundingClientRect();this.targetLeft=targetRect.left;this.targetTop=targetRect.top}if(this.resizable){var _a=this.resizable.getBoundingClientRect(),left=_a.left,top_1=_a.top,right=_a.right,bottom=_a.bottom;this.resizableLeft=left;this.resizableRight=right;this.resizableTop=top_1;this.resizableBottom=bottom}};Resizable.prototype.onResizeStart=function(event,direction){if(!this.resizable||!this.window){return}var clientX=0;var clientY=0;if(event.nativeEvent&&isMouseEvent(event.nativeEvent)){clientX=event.nativeEvent.clientX;clientY=event.nativeEvent.clientY;if(event.nativeEvent.which===3){return}}else if(event.nativeEvent&&isTouchEvent(event.nativeEvent)){clientX=event.nativeEvent.touches[0].clientX;clientY=event.nativeEvent.touches[0].clientY}if(this.props.onResizeStart){if(this.resizable){var startResize=this.props.onResizeStart(event,direction,this.resizable);if(startResize===false){return}}}if(this.props.size){if(typeof this.props.size.height!=="undefined"&&this.props.size.height!==this.state.height){this.setState({height:this.props.size.height})}if(typeof this.props.size.width!=="undefined"&&this.props.size.width!==this.state.width){this.setState({width:this.props.size.width})}}this.ratio=typeof this.props.lockAspectRatio==="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var flexBasis;var computedStyle=this.window.getComputedStyle(this.resizable);if(computedStyle.flexBasis!=="auto"){var parent_3=this.parentNode;if(parent_3){var dir=this.window.getComputedStyle(parent_3).flexDirection;this.flexDir=dir.startsWith("row")?"row":"column";flexBasis=computedStyle.flexBasis}}this.setBoundingClientRect();this.bindEvents();var state={original:{x:clientX,y:clientY,width:this.size.width,height:this.size.height},isResizing:true,backgroundStyle:__assign(__assign({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(event.target).cursor||"auto"}),direction:direction,flexBasis:flexBasis};this.setState(state)};Resizable.prototype.onMouseMove=function(event){if(!this.state.isResizing||!this.resizable||!this.window){return}if(this.window.TouchEvent&&isTouchEvent(event)){try{event.preventDefault();event.stopPropagation()}catch(e){}}var _a=this.props,maxWidth=_a.maxWidth,maxHeight=_a.maxHeight,minWidth=_a.minWidth,minHeight=_a.minHeight;var clientX=isTouchEvent(event)?event.touches[0].clientX:event.clientX;var clientY=isTouchEvent(event)?event.touches[0].clientY:event.clientY;var _b=this.state,direction=_b.direction,original=_b.original,width=_b.width,height=_b.height;var parentSize=this.getParentSize();var max=calculateNewMax(parentSize,this.window.innerWidth,this.window.innerHeight,maxWidth,maxHeight,minWidth,minHeight);maxWidth=max.maxWidth;maxHeight=max.maxHeight;minWidth=max.minWidth;minHeight=max.minHeight;var _c=this.calculateNewSizeFromDirection(clientX,clientY),newHeight=_c.newHeight,newWidth=_c.newWidth;var boundaryMax=this.calculateNewMaxFromBoundary(maxWidth,maxHeight);var newSize=this.calculateNewSizeFromAspectRatio(newWidth,newHeight,{width:boundaryMax.maxWidth,height:boundaryMax.maxHeight},{width:minWidth,height:minHeight});newWidth=newSize.newWidth;newHeight=newSize.newHeight;if(this.props.grid){var newGridWidth=snap(newWidth,this.props.grid[0]);var newGridHeight=snap(newHeight,this.props.grid[1]);var gap=this.props.snapGap||0;newWidth=gap===0||Math.abs(newGridWidth-newWidth)<=gap?newGridWidth:newWidth;newHeight=gap===0||Math.abs(newGridHeight-newHeight)<=gap?newGridHeight:newHeight}if(this.props.snap&&this.props.snap.x){newWidth=findClosestSnap(newWidth,this.props.snap.x,this.props.snapGap)}if(this.props.snap&&this.props.snap.y){newHeight=findClosestSnap(newHeight,this.props.snap.y,this.props.snapGap)}var delta={width:newWidth-original.width,height:newHeight-original.height};if(width&&typeof width==="string"){if(endsWith(width,"%")){var percent=newWidth/parentSize.width*100;newWidth=percent+"%"}else if(endsWith(width,"vw")){var vw=newWidth/this.window.innerWidth*100;newWidth=vw+"vw"}else if(endsWith(width,"vh")){var vh=newWidth/this.window.innerHeight*100;newWidth=vh+"vh"}}if(height&&typeof height==="string"){if(endsWith(height,"%")){var percent=newHeight/parentSize.height*100;newHeight=percent+"%"}else if(endsWith(height,"vw")){var vw=newHeight/this.window.innerWidth*100;newHeight=vw+"vw"}else if(endsWith(height,"vh")){var vh=newHeight/this.window.innerHeight*100;newHeight=vh+"vh"}}var newState={width:this.createSizeForCssProperty(newWidth,"width"),height:this.createSizeForCssProperty(newHeight,"height")};if(this.flexDir==="row"){newState.flexBasis=newState.width}else if(this.flexDir==="column"){newState.flexBasis=newState.height}this.setState(newState);if(this.props.onResize){this.props.onResize(event,direction,this.resizable,delta)}};Resizable.prototype.onMouseUp=function(event){var _a=this.state,isResizing=_a.isResizing,direction=_a.direction,original=_a.original;if(!isResizing||!this.resizable){return}var delta={width:this.size.width-original.width,height:this.size.height-original.height};if(this.props.onResizeStop){this.props.onResizeStop(event,direction,this.resizable,delta)}if(this.props.size){this.setState(this.props.size)}this.unbindEvents();this.setState({isResizing:false,backgroundStyle:__assign(__assign({},this.state.backgroundStyle),{cursor:"auto"})})};Resizable.prototype.updateSize=function(size){this.setState({width:size.width,height:size.height})};Resizable.prototype.renderResizer=function(){var _this=this;var _a=this.props,enable=_a.enable,handleStyles=_a.handleStyles,handleClasses=_a.handleClasses,handleWrapperStyle=_a.handleWrapperStyle,handleWrapperClass=_a.handleWrapperClass,handleComponent=_a.handleComponent;if(!enable){return null}var resizers=Object.keys(enable).map((function(dir){if(enable[dir]!==false){return React.createElement(Resizer,{key:dir,direction:dir,onResizeStart:_this.onResizeStart,replaceStyles:handleStyles&&handleStyles[dir],className:handleClasses&&handleClasses[dir]},handleComponent&&handleComponent[dir]?handleComponent[dir]:null)}return null}));return React.createElement("div",{className:handleWrapperClass,style:handleWrapperStyle},resizers)};Resizable.prototype.render=function(){var _this=this;var extendsProps=Object.keys(this.props).reduce((function(acc,key){if(definedProps.indexOf(key)!==-1){return acc}acc[key]=_this.props[key];return acc}),{});var style=__assign(__assign(__assign({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});if(this.state.flexBasis){style.flexBasis=this.state.flexBasis}var Wrapper=this.props.as||"div";return React.createElement(Wrapper,__assign({ref:this.ref,style:style,className:this.props.className},extendsProps),this.state.isResizing&&React.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())};Resizable.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:true,right:true,bottom:true,left:true,topRight:true,bottomRight:true,bottomLeft:true,topLeft:true},style:{},grid:[1,1],lockAspectRatio:false,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0};return Resizable}(React.PureComponent);exports.Resizable=Resizable},function(module,exports){function memoize(fn,options){var cache=options&&options.cache?options.cache:cacheDefault;var serializer=options&&options.serializer?options.serializer:serializerDefault;var strategy=options&&options.strategy?options.strategy:strategyDefault;return strategy(fn,{cache:cache,serializer:serializer})}function isPrimitive(value){return value==null||typeof value==="number"||typeof value==="boolean"}function monadic(fn,cache,serializer,arg){var cacheKey=isPrimitive(arg)?arg:serializer(arg);var computedValue=cache.get(cacheKey);if(typeof computedValue==="undefined"){computedValue=fn.call(this,arg);cache.set(cacheKey,computedValue)}return computedValue}function variadic(fn,cache,serializer){var args=Array.prototype.slice.call(arguments,3);var cacheKey=serializer(args);var computedValue=cache.get(cacheKey);if(typeof computedValue==="undefined"){computedValue=fn.apply(this,args);cache.set(cacheKey,computedValue)}return computedValue}function assemble(fn,context,strategy,cache,serialize){return strategy.bind(context,fn,cache,serialize)}function strategyDefault(fn,options){var strategy=fn.length===1?monadic:variadic;return assemble(fn,this,strategy,options.cache.create(),options.serializer)}function strategyVariadic(fn,options){var strategy=variadic;return assemble(fn,this,strategy,options.cache.create(),options.serializer)}function strategyMonadic(fn,options){var strategy=monadic;return assemble(fn,this,strategy,options.cache.create(),options.serializer)}function serializerDefault(){return JSON.stringify(arguments)}function ObjectWithoutPrototypeCache(){this.cache=Object.create(null)}ObjectWithoutPrototypeCache.prototype.has=function(key){return key in this.cache};ObjectWithoutPrototypeCache.prototype.get=function(key){return this.cache[key]};ObjectWithoutPrototypeCache.prototype.set=function(key,value){this.cache[key]=value};var cacheDefault={create:function create(){return new ObjectWithoutPrototypeCache}};module.exports=memoize;module.exports.strategies={variadic:strategyVariadic,monadic:strategyMonadic}},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(__webpack_require__(1388),exports)},function(module,exports,__webpack_require__){"use strict";var __rest=this&&this.__rest||function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.CellMenu=exports.CellMenuItem=exports.CellMenuSection=void 0;const react_1=__importDefault(__webpack_require__(35));const classnames_1=__importDefault(__webpack_require__(76));exports.CellMenuSection=({children:children})=>react_1.default.createElement("ul",{className:"cell-menu-section"},children);class CellMenuItem extends react_1.default.PureComponent{constructor(){super(...arguments);this.element=react_1.default.createRef();this.handleKeypress=e=>{if(e.keyCode===13||e.keyCode===32){this.props.onClick&&this.props.onClick()}};this.handleFocus=()=>{if(this.props.focusWithin){this.element.current.querySelector(":first-child").focus()}}}componentDidMount(){this.element.current.addEventListener("focus",this.handleFocus);this.element.current.addEventListener("keypress",this.handleKeypress)}componentWillUnmount(){this.element.current.removeEventListener("focus",this.handleFocus);this.element.current.removeEventListener("keypress",this.handleKeypress)}render(){const _a=this.props,{children:children,className:className,focusWithin:focusWithin}=_a,props=__rest(_a,["children","className","focusWithin"]);return react_1.default.createElement("li",Object.assign({ref:this.element,className:classnames_1.default("cell-menu-item",className)},props),children)}}exports.CellMenuItem=CellMenuItem;exports.CellMenu=({visible:visible,children:children})=>react_1.default.createElement("div",{className:visible?"cell-menu":"cell-menu-hidden cell-menu"},children)},function(module,exports,__webpack_require__){"use strict";var __rest=this&&this.__rest||function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.ToggleSwitch=void 0;const react_1=__importDefault(__webpack_require__(35));const react_toggle_1=__importDefault(__webpack_require__(1390));exports.ToggleSwitch=_a=>{var{label:label,checked:checked,onChange:onChange,labelPlacement:labelPlacement="end"}=_a,props=__rest(_a,["label","checked","onChange","labelPlacement"]);return react_1.default.createElement("label",Object.assign({},props),label&&labelPlacement==="start"&&react_1.default.createElement("span",null,label),react_1.default.createElement(react_toggle_1.default,{icons:false,checked:checked,onChange:onChange,className:"toggle-switch"}),label&&labelPlacement==="end"&&react_1.default.createElement("span",null,label))}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);var _classnames=__webpack_require__(76);var _classnames2=_interopRequireDefault(_classnames);var _propTypes=__webpack_require__(73);var _propTypes2=_interopRequireDefault(_propTypes);var _check=__webpack_require__(1391);var _check2=_interopRequireDefault(_check);var _x=__webpack_require__(1392);var _x2=_interopRequireDefault(_x);var _util=__webpack_require__(1393);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i]}return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Toggle=function(_PureComponent){_inherits(Toggle,_PureComponent);function Toggle(props){_classCallCheck(this,Toggle);var _this=_possibleConstructorReturn(this,(Toggle.__proto__||Object.getPrototypeOf(Toggle)).call(this,props));_this.handleClick=_this.handleClick.bind(_this);_this.handleTouchStart=_this.handleTouchStart.bind(_this);_this.handleTouchMove=_this.handleTouchMove.bind(_this);_this.handleTouchEnd=_this.handleTouchEnd.bind(_this);_this.handleFocus=_this.handleFocus.bind(_this);_this.handleBlur=_this.handleBlur.bind(_this);_this.previouslyChecked=!!(props.checked||props.defaultChecked);_this.state={checked:!!(props.checked||props.defaultChecked),hasFocus:false};return _this}_createClass(Toggle,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){if(prevProps.checked!==this.props.checked){this.setState({checked:!!this.props.checked})}}},{key:"handleClick",value:function handleClick(event){if(this.props.disabled){return}var checkbox=this.input;if(event.target!==checkbox&&!this.moved){this.previouslyChecked=checkbox.checked;event.preventDefault();checkbox.focus();checkbox.click();return}var checked=this.props.hasOwnProperty("checked")?this.props.checked:checkbox.checked;this.setState({checked:checked})}},{key:"handleTouchStart",value:function handleTouchStart(event){if(this.props.disabled){return}this.startX=(0,_util.pointerCoord)(event).x;this.activated=true}},{key:"handleTouchMove",value:function handleTouchMove(event){if(!this.activated)return;this.moved=true;if(this.startX){var currentX=(0,_util.pointerCoord)(event).x;if(this.state.checked&&currentX+15<this.startX){this.setState({checked:false});this.startX=currentX;this.activated=true}else if(currentX-15>this.startX){this.setState({checked:true});this.startX=currentX;this.activated=currentX<this.startX+5}}}},{key:"handleTouchEnd",value:function handleTouchEnd(event){if(!this.moved)return;var checkbox=this.input;event.preventDefault();if(this.startX){var endX=(0,_util.pointerCoord)(event).x;if(this.previouslyChecked===true&&this.startX+4>endX){if(this.previouslyChecked!==this.state.checked){this.setState({checked:false});this.previouslyChecked=this.state.checked;checkbox.click()}}else if(this.startX-4<endX){if(this.previouslyChecked!==this.state.checked){this.setState({checked:true});this.previouslyChecked=this.state.checked;checkbox.click()}}this.activated=false;this.startX=null;this.moved=false}}},{key:"handleFocus",value:function handleFocus(event){var onFocus=this.props.onFocus;if(onFocus){onFocus(event)}this.setState({hasFocus:true})}},{key:"handleBlur",value:function handleBlur(event){var onBlur=this.props.onBlur;if(onBlur){onBlur(event)}this.setState({hasFocus:false})}},{key:"getIcon",value:function getIcon(type){var icons=this.props.icons;if(!icons){return null}return icons[type]===undefined?Toggle.defaultProps.icons[type]:icons[type]}},{key:"render",value:function render(){var _this2=this;var _props=this.props,className=_props.className,_icons=_props.icons,inputProps=_objectWithoutProperties(_props,["className","icons"]);var classes=(0,_classnames2.default)("react-toggle",{"react-toggle--checked":this.state.checked,"react-toggle--focus":this.state.hasFocus,"react-toggle--disabled":this.props.disabled},className);return _react2.default.createElement("div",{className:classes,onClick:this.handleClick,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd},_react2.default.createElement("div",{className:"react-toggle-track"},_react2.default.createElement("div",{className:"react-toggle-track-check"},this.getIcon("checked")),_react2.default.createElement("div",{className:"react-toggle-track-x"},this.getIcon("unchecked"))),_react2.default.createElement("div",{className:"react-toggle-thumb"}),_react2.default.createElement("input",_extends({},inputProps,{ref:function ref(_ref){_this2.input=_ref},onFocus:this.handleFocus,onBlur:this.handleBlur,className:"react-toggle-screenreader-only",type:"checkbox"})))}}]);return Toggle}(_react.PureComponent);exports.default=Toggle;Toggle.displayName="Toggle";Toggle.defaultProps={icons:{checked:_react2.default.createElement(_check2.default,null),unchecked:_react2.default.createElement(_x2.default,null)}};Toggle.propTypes={checked:_propTypes2.default.bool,disabled:_propTypes2.default.bool,defaultChecked:_propTypes2.default.bool,onChange:_propTypes2.default.func,onFocus:_propTypes2.default.func,onBlur:_propTypes2.default.func,className:_propTypes2.default.string,name:_propTypes2.default.string,value:_propTypes2.default.string,id:_propTypes2.default.string,"aria-labelledby":_propTypes2.default.string,"aria-label":_propTypes2.default.string,icons:_propTypes2.default.oneOfType([_propTypes2.default.bool,_propTypes2.default.shape({checked:_propTypes2.default.node,unchecked:_propTypes2.default.node})])}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default=function(){return _react2.default.createElement("svg",{width:"14",height:"11",viewBox:"0 0 14 11"},_react2.default.createElement("path",{d:"M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0",fill:"#fff",fillRule:"evenodd"}))}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _react=__webpack_require__(35);var _react2=_interopRequireDefault(_react);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.default=function(){return _react2.default.createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},_react2.default.createElement("path",{d:"M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12",fill:"#fff",fillRule:"evenodd"}))}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.pointerCoord=pointerCoord;function pointerCoord(event){if(event){var changedTouches=event.changedTouches;if(changedTouches&&changedTouches.length>0){var touch=changedTouches[0];return{x:touch.clientX,y:touch.clientY}}var pageX=event.pageX;if(pageX!==undefined){return{x:pageX,y:event.pageY}}}return{x:0,y:0}}},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(__webpack_require__(1395),exports);__exportStar(__webpack_require__(1396),exports)},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.CommandPalette=void 0;const react_1=__importDefault(__webpack_require__(35));const icons_1=__webpack_require__(237);const key_tag_1=__webpack_require__(776);class CommandPalette extends react_1.default.PureComponent{constructor(){super(...arguments);this.state={selectedItemIndex:0};this.items=react_1.default.createRef();this.handleKeys=event=>{if(event.key==="ArrowDown"){this.setState(previous=>{const{children:children}=this.props;const childLength=Array.isArray(children)?children.length:1;const nextIndex=previous.selectedItemIndex+1>childLength?1:previous.selectedItemIndex+1;return{selectedItemIndex:nextIndex}})}if(event.key==="ArrowUp"){this.setState(previous=>{const{children:children}=this.props;const childLength=Array.isArray(children)?children.length:1;const nextIndex=previous.selectedItemIndex-1===0?childLength:previous.selectedItemIndex-1;return{selectedItemIndex:nextIndex}})}};this.handleChangeFilter=e=>{this.props.onChangeFilter(e.target.value)};this.handleInputFocus=()=>{this.setState({selectedItemIndex:0})}}componentDidMount(){const element=document.querySelector(".command-palette input");addEventListener("keydown",this.handleKeys);element.focus()}componentWillUnmount(){removeEventListener("keydown",this.handleKeys)}componentDidUpdate(){if(this.state.selectedItemIndex!==0){const item=this.items.current&&this.items.current.querySelector(`button:nth-child(${this.state.selectedItemIndex})`);if(item){item.focus()}}}render(){const{isVisible:isVisible,onClose:onClose,shortCut:shortCut,children:children}=this.props;const mainClassName=isVisible?"command-palette visible":"command-palette";return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement("div",{className:"command-palette-overlay",onClick:onClose,role:"button","aria-label":"Close command palette"}),react_1.default.createElement("div",{className:mainClassName,tabIndex:-1},react_1.default.createElement("div",{className:"command-palette-row"},react_1.default.createElement("span",{className:"command-palette-heading"},react_1.default.createElement(icons_1.Commands,{muted:true}),"nteract Command"),react_1.default.createElement(key_tag_1.KeyTag,null,"Hide Menu Bar",shortCut.map(shortcutKey=>react_1.default.createElement(key_tag_1.KeyTag,{mini:true,key:shortcutKey},shortcutKey)))),react_1.default.createElement("div",{className:"command-palette-input-row"},react_1.default.createElement("label",{htmlFor:"commandFilter"},"Filter commands"),react_1.default.createElement("input",{onFocus:this.handleInputFocus,onChange:this.handleChangeFilter,type:"text",name:"commandFilter",id:"commandFilter",placeholder:"Filter commands"})),react_1.default.createElement("div",{className:"items",ref:this.items},children)))}}exports.CommandPalette=CommandPalette},function(module,exports,__webpack_require__){"use strict";var __rest=this&&this.__rest||function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.CommandButtonRow=void 0;const react_1=__importDefault(__webpack_require__(35));const key_tag_1=__webpack_require__(776);exports.CommandButtonRow=_a=>{var{children:children,shortCut:shortCut}=_a,props=__rest(_a,["children","shortCut"]);return react_1.default.createElement("button",Object.assign({type:"button"},props,{className:"command-palette-row"}),react_1.default.createElement("span",{className:"command-name"},children),react_1.default.createElement("span",null,shortCut&&shortCut.map(shortcut=>react_1.default.createElement(key_tag_1.KeyTag,{mini:true,key:shortcut},shortcut))))}},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(__webpack_require__(1398),exports);__exportStar(__webpack_require__(777),exports);__exportStar(__webpack_require__(778),exports)},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.Toolbar=void 0;const react_1=__importStar(__webpack_require__(35));const classnames_1=__importDefault(__webpack_require__(76));const toolbar_item_1=__webpack_require__(777);const Icons_1=__webpack_require__(778);const toolbarStates={collapsed:"collapsed",expandedMin:"expandedMin",expandedMax:"expandedMax"};class Toolbar extends react_1.Component{constructor(props){super(props);this.state={toolbarState:toolbarStates.collapsed}}render(){const{children:children,onToggleFileBrowser:onToggleFileBrowser,isSidebarVisible:isSidebarVisible}=this.props;const{toolbarState:toolbarState}=this.state;const isCollapsed=toolbarState===toolbarStates.collapsed;const className=classnames_1.default("toolbar",{expanded:toolbarState!==toolbarStates.collapsed});return react_1.default.createElement("div",{className:className},react_1.default.createElement("span",null,react_1.default.createElement(toolbar_item_1.ToolbarItem,{image:react_1.default.createElement(Icons_1.ExpandSidebar,{isSidebarVisible:isSidebarVisible}),buttonClassName:"toolbar-item-expand",text:"",showText:!isCollapsed,onClick:onToggleFileBrowser}),react_1.default.Children.map(children,child=>react_1.default.cloneElement(child,{showText:!isCollapsed,showButton:!isCollapsed}))),react_1.default.createElement(toolbar_item_1.ToolbarItem,{image:toolbarState===toolbarStates.collapsed?react_1.default.createElement(Icons_1.Expand,null):react_1.default.createElement(Icons_1.Collapse,null),text:"Commands",showText:!isCollapsed,onClick:()=>{this.setState(previous=>({toolbarState:previous.toolbarState===toolbarStates.collapsed?toolbarStates.expandedMax:toolbarStates.collapsed}))}}))}}exports.Toolbar=Toolbar},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.MathJaxNode_=void 0;const React=__importStar(__webpack_require__(35));const types={ascii:"asciimath",tex:"tex"};const context_1=__importDefault(__webpack_require__(173));const provider_1=__importDefault(__webpack_require__(238));class MathJaxNode_ extends React.Component{constructor(props){super(props);this.nodeRef=React.createRef();this.typeset=this.typeset.bind(this);this.clear=this.clear.bind(this)}componentDidMount(){setTimeout(()=>this.typeset(),0)}componentDidUpdate(prevProps){const forceUpdate=prevProps.inline!==this.props.inline||prevProps.children!==this.props.children;this.typeset(forceUpdate)}componentWillUnmount(){this.clear()}clear(){const MathJax=this.props.MathJax;if(!MathJax){return}if(!this.script){return}const jax=MathJax.Hub.getJaxFor(this.script);if(jax){jax.Remove()}}typeset(forceUpdate=false){const{MathJax:MathJax}=this.props;if(!MathJax||!MathJax.Hub){throw Error("Could not find MathJax while attempting typeset! It's likely the MathJax script hasn't been loaded or MathJax.Context is not in the hierarchy.")}const text=this.props.children;if(forceUpdate){this.clear()}if(forceUpdate||!this.script){this.setScriptText(text)}if(!this.script){return}const reprocess=["Reprocess",MathJax.Hub,this.script];if(!this.props.onRender){MathJax.Hub.Queue(reprocess)}else{MathJax.Hub.Queue(reprocess,this.props.onRender)}}setScriptText(text){const inline=this.props.inline;const type=types[this.props.input];if(!this.script&&this.nodeRef.current){this.script=document.createElement("script");this.script.type=`math/${type}; ${inline?"":"mode=display"}`;this.nodeRef.current.appendChild(this.script)}if(!this.script){return}this.script.text=text}render(){return React.createElement("span",{ref:this.nodeRef})}}exports.MathJaxNode_=MathJaxNode_;class MathJaxNode extends React.PureComponent{render(){return React.createElement(context_1.default.Consumer,null,({MathJax:MathJax,input:input,hasProviderAbove:hasProviderAbove})=>{if(!hasProviderAbove){return React.createElement(provider_1.default,null,React.createElement(MathJaxNode,Object.assign({},this.props)))}if(!MathJax){return null}return React.createElement(MathJaxNode_,{inline:this.props.inline,onRender:this.props.onRender,input:input,MathJax:MathJax,hasProviderAbove:hasProviderAbove},this.props.children)})}}exports.default=MathJaxNode;MathJaxNode.defaultProps={inline:false,onRender:null}},function(module,exports){module.exports=function load(src,opts,cb){var head=document.head||document.getElementsByTagName("head")[0];var script=document.createElement("script");if(typeof opts==="function"){cb=opts;opts={}}opts=opts||{};cb=cb||function(){};script.type=opts.type||"text/javascript";script.charset=opts.charset||"utf8";script.async="async"in opts?!!opts.async:true;script.src=src;if(opts.attrs){setAttributes(script,opts.attrs)}if(opts.text){script.text=""+opts.text}var onend="onload"in script?stdOnEnd:ieOnEnd;onend(script,cb);if(!script.onload){stdOnEnd(script,cb)}head.appendChild(script)};function setAttributes(script,attrs){for(var attr in attrs){script.setAttribute(attr,attrs[attr])}}function stdOnEnd(script,cb){script.onload=function(){this.onerror=this.onload=null;cb(null,script)};script.onerror=function(){this.onerror=this.onload=null;cb(new Error("Failed to load "+this.src),script)}}function ieOnEnd(script,cb){script.onreadystatechange=function(){if(this.readyState!="complete"&&this.readyState!="loaded")return;this.onreadystatechange=null;cb(null,script)}}},function(module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});exports.MathJaxText_=void 0;const React=__importStar(__webpack_require__(35));const context_1=__importDefault(__webpack_require__(173));const provider_1=__importDefault(__webpack_require__(238));class MathJaxText_ extends React.Component{constructor(props){super(props);this.nodeRef=React.createRef()}componentDidMount(){this.typeset()}componentDidUpdate(){this.typeset()}typeset(){const{MathJax:MathJax}=this.props;if(!MathJax||!MathJax.Hub){throw Error("Could not find MathJax while attempting typeset! It's likely the MathJax script hasn't been loaded or MathJax.Context is not in the hierarchy.")}const typeset=["Typeset",MathJax.Hub,this.nodeRef.current];if(!this.props.onRender){MathJax.Hub.Queue(typeset)}else{MathJax.Hub.Queue(typeset,this.props.onRender)}}render(){return React.createElement("div",{ref:this.nodeRef},this.props.children)}}exports.MathJaxText_=MathJaxText_;class MathJaxText extends React.PureComponent{render(){return React.createElement(context_1.default.Consumer,null,({MathJax:MathJax,input:input,hasProviderAbove:hasProviderAbove})=>{if(!hasProviderAbove){return React.createElement(provider_1.default,null,React.createElement(MathJaxText,Object.assign({},this.props)))}if(!MathJax){return null}return React.createElement(MathJaxText_,{onRender:this.props.onRender,input:input,MathJax:MathJax,hasProviderAbove:hasProviderAbove},this.props.children)})}}MathJaxText.defaultProps={onRender:null};exports.default=MathJaxText},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(iter){if(Symbol.iterator in Object(iter)||Object.prototype.toString.call(iter)==="[object Arguments]")return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr)){for(var i=0,arr2=new Array(arr.length);i<arr.length;i++){arr2[i]=arr[i]}return arr2}}var xtend=__webpack_require__(82);var unified=__webpack_require__(1403);var parse=__webpack_require__(1416);var PropTypes=__webpack_require__(73);var addListMetadata=__webpack_require__(1468);var naiveHtml=__webpack_require__(1470);var disallowNode=__webpack_require__(1471);var astToReact=__webpack_require__(1472);var wrapTableRows=__webpack_require__(1475);var getDefinitions=__webpack_require__(1476);var uriTransformer=__webpack_require__(1477);var defaultRenderers=__webpack_require__(1478);var symbols=__webpack_require__(1479);var allTypes=Object.keys(defaultRenderers);var ReactMarkdown=function ReactMarkdown(props){var src=props.source||props.children||"";var parserOptions=props.parserOptions;if(props.allowedTypes&&props.disallowedTypes){throw new Error("Only one of `allowedTypes` and `disallowedTypes` should be defined")}var renderers=xtend(defaultRenderers,props.renderers);var plugins=[[parse,parserOptions]].concat(props.plugins||[]);var parser=plugins.reduce(applyParserPlugin,unified());var rawAst=parser.parse(src);var renderProps=xtend(props,{renderers:renderers,definitions:getDefinitions(rawAst)});var astPlugins=determineAstPlugins(props);var transformedAst=parser.runSync(rawAst);var ast=astPlugins.reduce((function(node,plugin){return plugin(node,renderProps)}),transformedAst);return astToReact(ast,renderProps)};function applyParserPlugin(parser,plugin){return Array.isArray(plugin)?parser.use.apply(parser,_toConsumableArray(plugin)):parser.use(plugin)}function determineAstPlugins(props){var plugins=[wrapTableRows,addListMetadata()];var disallowedTypes=props.disallowedTypes;if(props.allowedTypes){disallowedTypes=allTypes.filter((function(type){return type!=="root"&&props.allowedTypes.indexOf(type)===-1}))}var removalMethod=props.unwrapDisallowed?"unwrap":"remove";if(disallowedTypes&&disallowedTypes.length>0){plugins.push(disallowNode.ofType(disallowedTypes,removalMethod))}if(props.allowNode){plugins.push(disallowNode.ifNotMatch(props.allowNode,removalMethod))}var renderHtml=!props.escapeHtml&&!props.skipHtml;var hasHtmlParser=(props.astPlugins||[]).some((function(item){var plugin=Array.isArray(item)?item[0]:item;return plugin.identity===symbols.HtmlParser}));if(renderHtml&&!hasHtmlParser){plugins.push(naiveHtml)}return props.astPlugins?plugins.concat(props.astPlugins):plugins}ReactMarkdown.defaultProps={renderers:{},escapeHtml:true,skipHtml:false,sourcePos:false,rawSourcePos:false,transformLinkUri:uriTransformer,astPlugins:[],plugins:[],parserOptions:{}};ReactMarkdown.propTypes={className:PropTypes.string,source:PropTypes.string,children:PropTypes.string,sourcePos:PropTypes.bool,rawSourcePos:PropTypes.bool,escapeHtml:PropTypes.bool,skipHtml:PropTypes.bool,allowNode:PropTypes.func,allowedTypes:PropTypes.arrayOf(PropTypes.oneOf(allTypes)),disallowedTypes:PropTypes.arrayOf(PropTypes.oneOf(allTypes)),transformLinkUri:PropTypes.oneOfType([PropTypes.func,PropTypes.bool]),linkTarget:PropTypes.oneOfType([PropTypes.func,PropTypes.string]),transformImageUri:PropTypes.func,astPlugins:PropTypes.arrayOf(PropTypes.func),unwrapDisallowed:PropTypes.bool,renderers:PropTypes.object,plugins:PropTypes.array,parserOptions:PropTypes.object};ReactMarkdown.types=allTypes;ReactMarkdown.renderers=defaultRenderers;ReactMarkdown.uriTransformer=uriTransformer;module.exports=ReactMarkdown},function(module,exports,__webpack_require__){"use strict";var extend=__webpack_require__(1404);var bail=__webpack_require__(1405);var vfile=__webpack_require__(1406);var trough=__webpack_require__(1412);var string=__webpack_require__(1414);var plain=__webpack_require__(1415);module.exports=unified().freeze();var slice=[].slice;var own={}.hasOwnProperty;var pipeline=trough().use(pipelineParse).use(pipelineRun).use(pipelineStringify);function pipelineParse(p,ctx){ctx.tree=p.parse(ctx.file)}function pipelineRun(p,ctx,next){p.run(ctx.tree,ctx.file,done);function done(err,tree,file){if(err){next(err)}else{ctx.tree=tree;ctx.file=file;next()}}}function pipelineStringify(p,ctx){ctx.file.contents=p.stringify(ctx.tree,ctx.file)}function unified(){var attachers=[];var transformers=trough();var namespace={};var frozen=false;var freezeIndex=-1;processor.data=data;processor.freeze=freeze;processor.attachers=attachers;processor.use=use;processor.parse=parse;processor.stringify=stringify;processor.run=run;processor.runSync=runSync;processor.process=process;processor.processSync=processSync;return processor;function processor(){var destination=unified();var length=attachers.length;var index=-1;while(++index<length){destination.use.apply(null,attachers[index])}destination.data(extend(true,{},namespace));return destination}function freeze(){var values;var plugin;var options;var transformer;if(frozen){return processor}while(++freezeIndex<attachers.length){values=attachers[freezeIndex];plugin=values[0];options=values[1];transformer=null;if(options===false){continue}if(options===true){values[1]=undefined}transformer=plugin.apply(processor,values.slice(1));if(typeof transformer==="function"){transformers.use(transformer)}}frozen=true;freezeIndex=Infinity;return processor}function data(key,value){if(string(key)){if(arguments.length===2){assertUnfrozen("data",frozen);namespace[key]=value;return processor}return own.call(namespace,key)&&namespace[key]||null}if(key){assertUnfrozen("data",frozen);namespace=key;return processor}return namespace}function use(value){var settings;assertUnfrozen("use",frozen);if(value===null||value===undefined){}else if(typeof value==="function"){addPlugin.apply(null,arguments)}else if(typeof value==="object"){if("length"in value){addList(value)}else{addPreset(value)}}else{throw new Error("Expected usable value, not `"+value+"`")}if(settings){namespace.settings=extend(namespace.settings||{},settings)}return processor;function addPreset(result){addList(result.plugins);if(result.settings){settings=extend(settings||{},result.settings)}}function add(value){if(typeof value==="function"){addPlugin(value)}else if(typeof value==="object"){if("length"in value){addPlugin.apply(null,value)}else{addPreset(value)}}else{throw new Error("Expected usable value, not `"+value+"`")}}function addList(plugins){var length;var index;if(plugins===null||plugins===undefined){}else if(typeof plugins==="object"&&"length"in plugins){length=plugins.length;index=-1;while(++index<length){add(plugins[index])}}else{throw new Error("Expected a list of plugins, not `"+plugins+"`")}}function addPlugin(plugin,value){var entry=find(plugin);if(entry){if(plain(entry[1])&&plain(value)){value=extend(entry[1],value)}entry[1]=value}else{attachers.push(slice.call(arguments))}}}function find(plugin){var length=attachers.length;var index=-1;var entry;while(++index<length){entry=attachers[index];if(entry[0]===plugin){return entry}}}function parse(doc){var file=vfile(doc);var Parser;freeze();Parser=processor.Parser;assertParser("parse",Parser);if(newable(Parser)){return new Parser(String(file),file).parse()}return Parser(String(file),file)}function run(node,file,cb){assertNode(node);freeze();if(!cb&&typeof file==="function"){cb=file;file=null}if(!cb){return new Promise(executor)}executor(null,cb);function executor(resolve,reject){transformers.run(node,vfile(file),done);function done(err,tree,file){tree=tree||node;if(err){reject(err)}else if(resolve){resolve(tree)}else{cb(null,tree,file)}}}}function runSync(node,file){var complete=false;var result;run(node,file,done);assertDone("runSync","run",complete);return result;function done(err,tree){complete=true;bail(err);result=tree}}function stringify(node,doc){var file=vfile(doc);var Compiler;freeze();Compiler=processor.Compiler;assertCompiler("stringify",Compiler);assertNode(node);if(newable(Compiler)){return new Compiler(node,file).compile()}return Compiler(node,file)}function process(doc,cb){freeze();assertParser("process",processor.Parser);assertCompiler("process",processor.Compiler);if(!cb){return new Promise(executor)}executor(null,cb);function executor(resolve,reject){var file=vfile(doc);pipeline.run(processor,{file:file},done);function done(err){if(err){reject(err)}else if(resolve){resolve(file)}else{cb(null,file)}}}}function processSync(doc){var complete=false;var file;freeze();assertParser("processSync",processor.Parser);assertCompiler("processSync",processor.Compiler);file=vfile(doc);process(file,done);assertDone("processSync","process",complete);return file;function done(err){complete=true;bail(err)}}}function newable(value){return typeof value==="function"&&keys(value.prototype)}function keys(value){var key;for(key in value){return true}return false}function assertParser(name,Parser){if(typeof Parser!=="function"){throw new Error("Cannot `"+name+"` without `Parser`")}}function assertCompiler(name,Compiler){if(typeof Compiler!=="function"){throw new Error("Cannot `"+name+"` without `Compiler`")}}function assertUnfrozen(name,frozen){if(frozen){throw new Error(["Cannot invoke `"+name+"` on a frozen processor.\nCreate a new ","processor first, by invoking it: use `processor()` instead of ","`processor`."].join(""))}}function assertNode(node){if(!node||!string(node.type)){throw new Error("Expected node, got `"+node+"`")}}function assertDone(name,asyncName,complete){if(!complete){throw new Error("`"+name+"` finished async. Use `"+asyncName+"` instead")}}},function(module,exports,__webpack_require__){"use strict";var hasOwn=Object.prototype.hasOwnProperty;var toStr=Object.prototype.toString;var defineProperty=Object.defineProperty;var gOPD=Object.getOwnPropertyDescriptor;var isArray=function isArray(arr){if(typeof Array.isArray==="function"){return Array.isArray(arr)}return toStr.call(arr)==="[object Array]"};var isPlainObject=function isPlainObject(obj){if(!obj||toStr.call(obj)!=="[object Object]"){return false}var hasOwnConstructor=hasOwn.call(obj,"constructor");var hasIsPrototypeOf=obj.constructor&&obj.constructor.prototype&&hasOwn.call(obj.constructor.prototype,"isPrototypeOf");if(obj.constructor&&!hasOwnConstructor&&!hasIsPrototypeOf){return false}var key;for(key in obj){}return typeof key==="undefined"||hasOwn.call(obj,key)};var setProperty=function setProperty(target,options){if(defineProperty&&options.name==="__proto__"){defineProperty(target,options.name,{enumerable:true,configurable:true,value:options.newValue,writable:true})}else{target[options.name]=options.newValue}};var getProperty=function getProperty(obj,name){if(name==="__proto__"){if(!hasOwn.call(obj,name)){return void 0}else if(gOPD){return gOPD(obj,name).value}}return obj[name]};module.exports=function extend(){var options,name,src,copy,copyIsArray,clone;var target=arguments[0];var i=1;var length=arguments.length;var deep=false;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2}if(target==null||typeof target!=="object"&&typeof target!=="function"){target={}}for(;i<length;++i){options=arguments[i];if(options!=null){for(name in options){src=getProperty(target,name);copy=getProperty(options,name);if(target!==copy){if(deep&&copy&&(isPlainObject(copy)||(copyIsArray=isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&isArray(src)?src:[]}else{clone=src&&isPlainObject(src)?src:{}}setProperty(target,{name:name,newValue:extend(deep,clone,copy)})}else if(typeof copy!=="undefined"){setProperty(target,{name:name,newValue:copy})}}}}}return target}},function(module,exports,__webpack_require__){"use strict";module.exports=bail;function bail(err){if(err){throw err}}},function(module,exports,__webpack_require__){"use strict";var VMessage=__webpack_require__(1407);var VFile=__webpack_require__(1409);module.exports=VFile;var proto=VFile.prototype;proto.message=message;proto.info=info;proto.fail=fail;proto.warn=message;function message(reason,position,origin){var filePath=this.path;var message=new VMessage(reason,position,origin);if(filePath){message.name=filePath+":"+message.name;message.file=filePath}message.fatal=false;this.messages.push(message);return message}function fail(){var message=this.message.apply(this,arguments);message.fatal=true;throw message}function info(){var message=this.message.apply(this,arguments);message.fatal=null;return message}},function(module,exports,__webpack_require__){"use strict";var stringify=__webpack_require__(1408);module.exports=VMessage;function VMessagePrototype(){}VMessagePrototype.prototype=Error.prototype;VMessage.prototype=new VMessagePrototype;var proto=VMessage.prototype;proto.file="";proto.name="";proto.reason="";proto.message="";proto.stack="";proto.fatal=null;proto.column=null;proto.line=null;function VMessage(reason,position,origin){var parts;var range;var location;if(typeof position==="string"){origin=position;position=null}parts=parseOrigin(origin);range=stringify(position)||"1:1";location={start:{line:null,column:null},end:{line:null,column:null}};if(position&&position.position){position=position.position}if(position){if(position.start){location=position;position=position.start}else{location.start=position}}if(reason.stack){this.stack=reason.stack;reason=reason.message}this.message=reason;this.name=range;this.reason=reason;this.line=position?position.line:null;this.column=position?position.column:null;this.location=location;this.source=parts[0];this.ruleId=parts[1]}function parseOrigin(origin){var result=[null,null];var index;if(typeof origin==="string"){index=origin.indexOf(":");if(index===-1){result[1]=origin}else{result[0]=origin.slice(0,index);result[1]=origin.slice(index+1)}}return result}},function(module,exports,__webpack_require__){"use strict";var own={}.hasOwnProperty;module.exports=stringify;function stringify(value){if(!value||typeof value!=="object"){return null}if(own.call(value,"position")||own.call(value,"type")){return position(value.position)}if(own.call(value,"start")||own.call(value,"end")){return position(value)}if(own.call(value,"line")||own.call(value,"column")){return point(value)}return null}function point(point){if(!point||typeof point!=="object"){point={}}return index(point.line)+":"+index(point.column)}function position(pos){if(!pos||typeof pos!=="object"){pos={}}return point(pos.start)+"-"+point(pos.end)}function index(value){return value&&typeof value==="number"?value:1}},function(module,exports,__webpack_require__){"use strict";(function(process){var path=__webpack_require__(174);var replace=__webpack_require__(1410);var buffer=__webpack_require__(1411);module.exports=VFile;var own={}.hasOwnProperty;var proto=VFile.prototype;proto.toString=toString;var order=["history","path","basename","stem","extname","dirname"];function VFile(options){var prop;var index;var length;if(!options){options={}}else if(typeof options==="string"||buffer(options)){options={contents:options}}else if("message"in options&&"messages"in options){return options}if(!(this instanceof VFile)){return new VFile(options)}this.data={};this.messages=[];this.history=[];this.cwd=process.cwd();index=-1;length=order.length;while(++index<length){prop=order[index];if(own.call(options,prop)){this[prop]=options[prop]}}for(prop in options){if(order.indexOf(prop)===-1){this[prop]=options[prop]}}}Object.defineProperty(proto,"path",{get:function(){return this.history[this.history.length-1]},set:function(path){assertNonEmpty(path,"path");if(path!==this.path){this.history.push(path)}}});Object.defineProperty(proto,"dirname",{get:function(){return typeof this.path==="string"?path.dirname(this.path):undefined},set:function(dirname){assertPath(this.path,"dirname");this.path=path.join(dirname||"",this.basename)}});Object.defineProperty(proto,"basename",{get:function(){return typeof this.path==="string"?path.basename(this.path):undefined},set:function(basename){assertNonEmpty(basename,"basename");assertPart(basename,"basename");this.path=path.join(this.dirname||"",basename)}});Object.defineProperty(proto,"extname",{get:function(){return typeof this.path==="string"?path.extname(this.path):undefined},set:function(extname){var ext=extname||"";assertPart(ext,"extname");assertPath(this.path,"extname");if(ext){if(ext.charAt(0)!=="."){throw new Error("`extname` must start with `.`")}if(ext.indexOf(".",1)!==-1){throw new Error("`extname` cannot contain multiple dots")}}this.path=replace(this.path,ext)}});Object.defineProperty(proto,"stem",{get:function(){return typeof this.path==="string"?path.basename(this.path,this.extname):undefined},set:function(stem){assertNonEmpty(stem,"stem");assertPart(stem,"stem");this.path=path.join(this.dirname||"",stem+(this.extname||""))}});function toString(encoding){var value=this.contents||"";return buffer(value)?value.toString(encoding):String(value)}function assertPart(part,name){if(part.indexOf(path.sep)!==-1){throw new Error("`"+name+"` cannot be a path: did not expect `"+path.sep+"`")}}function assertNonEmpty(part,name){if(!part){throw new Error("`"+name+"` cannot be empty")}}function assertPath(path,name){if(!path){throw new Error("Setting `"+name+"` requires `path` to be set too")}}}).call(this,__webpack_require__(239))},function(module,exports,__webpack_require__){"use strict";var path=__webpack_require__(174);function replaceExt(npath,ext){if(typeof npath!=="string"){return npath}if(npath.length===0){return npath}var nFileName=path.basename(npath,path.extname(npath))+ext;return path.join(path.dirname(npath),nFileName)}module.exports=replaceExt},function(module,exports){
/*!
 * Determine if an object is a Buffer
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */
module.exports=function(obj){return obj!=null&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)};function isBuffer(obj){return!!obj.constructor&&typeof obj.constructor.isBuffer==="function"&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return typeof obj.readFloatLE==="function"&&typeof obj.slice==="function"&&isBuffer(obj.slice(0,0))}},function(module,exports,__webpack_require__){"use strict";var wrap=__webpack_require__(1413);module.exports=trough;trough.wrap=wrap;var slice=[].slice;function trough(){var fns=[];var middleware={};middleware.run=run;middleware.use=use;return middleware;function run(){var index=-1;var input=slice.call(arguments,0,-1);var done=arguments[arguments.length-1];if(typeof done!=="function"){throw new Error("Expected function as last argument, not "+done)}next.apply(null,[null].concat(input));function next(err){var fn=fns[++index];var params=slice.call(arguments,0);var values=params.slice(1);var length=input.length;var pos=-1;if(err){done(err);return}while(++pos<length){if(values[pos]===null||values[pos]===undefined){values[pos]=input[pos]}}input=values;if(fn){wrap(fn,next).apply(null,input)}else{done.apply(null,[null].concat(input))}}}function use(fn){if(typeof fn!=="function"){throw new Error("Expected `fn` to be a function, not "+fn)}fns.push(fn);return middleware}}},function(module,exports,__webpack_require__){"use strict";var slice=[].slice;module.exports=wrap;function wrap(fn,callback){var invoked;return wrapped;function wrapped(){var params=slice.call(arguments,0);var callback=fn.length>params.length;var result;if(callback){params.push(done)}try{result=fn.apply(null,params)}catch(error){if(callback&&invoked){throw error}return done(error)}if(!callback){if(result&&typeof result.then==="function"){result.then(then,done)}else if(result instanceof Error){done(result)}else{then(result)}}}function done(){if(!invoked){invoked=true;callback.apply(null,arguments)}}function then(value){done(null,value)}}},function(module,exports){var toString=Object.prototype.toString;module.exports=isString;function isString(obj){return toString.call(obj)==="[object String]"}},function(module,exports,__webpack_require__){"use strict";var toString=Object.prototype.toString;module.exports=function(x){var prototype;return toString.call(x)==="[object Object]"&&(prototype=Object.getPrototypeOf(x),prototype===null||prototype===Object.getPrototypeOf({}))}},function(module,exports,__webpack_require__){"use strict";var unherit=__webpack_require__(1417);var xtend=__webpack_require__(82);var Parser=__webpack_require__(1419);module.exports=parse;parse.Parser=Parser;function parse(options){var Local=unherit(Parser);Local.prototype.options=xtend(Local.prototype.options,this.data("settings"),options);this.Parser=Local}},function(module,exports,__webpack_require__){"use strict";var xtend=__webpack_require__(82);var inherits=__webpack_require__(1418);module.exports=unherit;function unherit(Super){var result;var key;var value;inherits(Of,Super);inherits(From,Of);result=Of.prototype;for(key in result){value=result[key];if(value&&typeof value==="object"){result[key]="concat"in value?value.concat():xtend(value)}}return Of;function From(parameters){return Super.apply(this,parameters)}function Of(){if(!(this instanceof Of)){return new From(arguments)}return Super.apply(this,arguments)}}},function(module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},function(module,exports,__webpack_require__){"use strict";var xtend=__webpack_require__(82);var toggle=__webpack_require__(1420);var vfileLocation=__webpack_require__(1421);var unescape=__webpack_require__(1422);var decode=__webpack_require__(1423);var tokenizer=__webpack_require__(1425);module.exports=Parser;function Parser(doc,file){this.file=file;this.offset={};this.options=xtend(this.options);this.setOptions({});this.inList=false;this.inBlock=false;this.inLink=false;this.atStart=true;this.toOffset=vfileLocation(file).toOffset;this.unescape=unescape(this,"escape");this.decode=decode(this)}var proto=Parser.prototype;proto.setOptions=__webpack_require__(1426);proto.parse=__webpack_require__(1429);proto.options=__webpack_require__(782);proto.exitStart=toggle("atStart",true);proto.enterList=toggle("inList",false);proto.enterLink=toggle("inLink",false);proto.enterBlock=toggle("inBlock",false);proto.interruptParagraph=[["thematicBreak"],["atxHeading"],["fencedCode"],["blockquote"],["html"],["setextHeading",{commonmark:false}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];proto.interruptList=[["atxHeading",{pedantic:false}],["fencedCode",{pedantic:false}],["thematicBreak",{pedantic:false}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];proto.interruptBlockquote=[["indentedCode",{commonmark:true}],["fencedCode",{commonmark:true}],["atxHeading",{commonmark:true}],["setextHeading",{commonmark:true}],["thematicBreak",{commonmark:true}],["html",{commonmark:true}],["list",{commonmark:true}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];proto.blockTokenizers={newline:__webpack_require__(1433),indentedCode:__webpack_require__(1434),fencedCode:__webpack_require__(1435),blockquote:__webpack_require__(1436),atxHeading:__webpack_require__(1437),thematicBreak:__webpack_require__(1438),list:__webpack_require__(1439),setextHeading:__webpack_require__(1441),html:__webpack_require__(1442),footnote:__webpack_require__(1443),definition:__webpack_require__(1445),table:__webpack_require__(1446),paragraph:__webpack_require__(1447)};proto.inlineTokenizers={escape:__webpack_require__(1448),autoLink:__webpack_require__(1450),url:__webpack_require__(1451),html:__webpack_require__(1453),link:__webpack_require__(1454),reference:__webpack_require__(1455),strong:__webpack_require__(1456),emphasis:__webpack_require__(1458),deletion:__webpack_require__(1461),code:__webpack_require__(1463),break:__webpack_require__(1465),text:__webpack_require__(1467)};proto.blockMethods=keys(proto.blockTokenizers);proto.inlineMethods=keys(proto.inlineTokenizers);proto.tokenizeBlock=tokenizer("block");proto.tokenizeInline=tokenizer("inline");proto.tokenizeFactory=tokenizer;function keys(value){var result=[];var key;for(key in value){result.push(key)}return result}},function(module,exports,__webpack_require__){"use strict";module.exports=factory;function factory(key,state,ctx){return enter;function enter(){var context=ctx||this;var current=context[key];context[key]=!state;return exit;function exit(){context[key]=current}}}},function(module,exports,__webpack_require__){"use strict";module.exports=factory;function factory(file){var contents=indices(String(file));return{toPosition:offsetToPositionFactory(contents),toOffset:positionToOffsetFactory(contents)}}function offsetToPositionFactory(indices){return offsetToPosition;function offsetToPosition(offset){var index=-1;var length=indices.length;if(offset<0){return{}}while(++index<length){if(indices[index]>offset){return{line:index+1,column:offset-(indices[index-1]||0)+1,offset:offset}}}return{}}}function positionToOffsetFactory(indices){return positionToOffset;function positionToOffset(position){var line=position&&position.line;var column=position&&position.column;if(!isNaN(line)&&!isNaN(column)&&line-1 in indices){return(indices[line-2]||0)+column-1||0}return-1}}function indices(value){var result=[];var index=value.indexOf("\n");while(index!==-1){result.push(index+1);index=value.indexOf("\n",index+1)}result.push(value.length+1);return result}},function(module,exports,__webpack_require__){"use strict";module.exports=factory;function factory(ctx,key){return unescape;function unescape(value){var prev=0;var index=value.indexOf("\\");var escape=ctx[key];var queue=[];var character;while(index!==-1){queue.push(value.slice(prev,index));prev=index+1;character=value.charAt(prev);if(!character||escape.indexOf(character)===-1){queue.push("\\")}index=value.indexOf("\\",prev)}queue.push(value.slice(prev));return queue.join("")}}},function(module,exports,__webpack_require__){"use strict";var xtend=__webpack_require__(82);var entities=__webpack_require__(240);module.exports=factory;function factory(ctx){decoder.raw=decodeRaw;return decoder;function normalize(position){var offsets=ctx.offset;var line=position.line;var result=[];while(++line){if(!(line in offsets)){break}result.push((offsets[line]||0)+1)}return{start:position,indent:result}}function handleWarning(reason,position,code){if(code===3){return}ctx.file.message(reason,position)}function decoder(value,position,handler){entities(value,{position:normalize(position),warning:handleWarning,text:handler,reference:handler,textContext:ctx,referenceContext:ctx})}function decodeRaw(value,position,options){return entities(value,xtend(options,{position:normalize(position),warning:handleWarning}))}}},function(module,exports,__webpack_require__){"use strict";var el;var semicolon=59;module.exports=decodeEntity;function decodeEntity(characters){var entity="&"+characters+";";var char;el=el||document.createElement("i");el.innerHTML=entity;char=el.textContent;if(char.charCodeAt(char.length-1)===semicolon&&characters!=="semi"){return false}return char===entity?false:char}},function(module,exports,__webpack_require__){"use strict";module.exports=factory;var MERGEABLE_NODES={text:mergeText,blockquote:mergeBlockquote};function mergeable(node){var start;var end;if(node.type!=="text"||!node.position){return true}start=node.position.start;end=node.position.end;return start.line!==end.line||end.column-start.column===node.value.length}function mergeText(prev,node){prev.value+=node.value;return prev}function mergeBlockquote(prev,node){if(this.options.commonmark){return node}prev.children=prev.children.concat(node.children);return prev}function factory(type){return tokenize;function tokenize(value,location){var self=this;var offset=self.offset;var tokens=[];var methods=self[type+"Methods"];var tokenizers=self[type+"Tokenizers"];var line=location.line;var column=location.column;var index;var length;var method;var name;var matched;var valueLength;if(!value){return tokens}eat.now=now;eat.file=self.file;updatePosition("");while(value){index=-1;length=methods.length;matched=false;while(++index<length){name=methods[index];method=tokenizers[name];if(method&&(!method.onlyAtStart||self.atStart)&&(!method.notInList||!self.inList)&&(!method.notInBlock||!self.inBlock)&&(!method.notInLink||!self.inLink)){valueLength=value.length;method.apply(self,[eat,value]);matched=valueLength!==value.length;if(matched){break}}}if(!matched){self.file.fail(new Error("Infinite loop"),eat.now())}}self.eof=now();return tokens;function updatePosition(subvalue){var lastIndex=-1;var index=subvalue.indexOf("\n");while(index!==-1){line++;lastIndex=index;index=subvalue.indexOf("\n",index+1)}if(lastIndex===-1){column+=subvalue.length}else{column=subvalue.length-lastIndex}if(line in offset){if(lastIndex!==-1){column+=offset[line]}else if(column<=offset[line]){column=offset[line]+1}}}function getOffset(){var indentation=[];var pos=line+1;return function(){var last=line+1;while(pos<last){indentation.push((offset[pos]||0)+1);pos++}return indentation}}function now(){var pos={line:line,column:column};pos.offset=self.toOffset(pos);return pos}function Position(start){this.start=start;this.end=now()}function validateEat(subvalue){if(value.substring(0,subvalue.length)!==subvalue){self.file.fail(new Error("Incorrectly eaten value: please report this "+"warning on http://git.io/vg5Ft"),now())}}function position(){var before=now();return update;function update(node,indent){var prev=node.position;var start=prev?prev.start:before;var combined=[];var n=prev&&prev.end.line;var l=before.line;node.position=new Position(start);if(prev&&indent&&prev.indent){combined=prev.indent;if(n<l){while(++n<l){combined.push((offset[n]||0)+1)}combined.push(before.column)}indent=combined.concat(indent)}node.position.indent=indent||[];return node}}function add(node,parent){var children=parent?parent.children:tokens;var prev=children[children.length-1];if(prev&&node.type===prev.type&&node.type in MERGEABLE_NODES&&mergeable(prev)&&mergeable(node)){node=MERGEABLE_NODES[node.type].call(self,prev,node)}if(node!==prev){children.push(node)}if(self.atStart&&tokens.length!==0){self.exitStart()}return node}function eat(subvalue){var indent=getOffset();var pos=position();var current=now();validateEat(subvalue);apply.reset=reset;reset.test=test;apply.test=test;value=value.substring(subvalue.length);updatePosition(subvalue);indent=indent();return apply;function apply(node,parent){return pos(add(pos(node),parent),indent)}function reset(){var node=apply.apply(null,arguments);line=current.line;column=current.column;value=subvalue+value;return node}function test(){var result=pos({});line=current.line;column=current.column;value=subvalue+value;return result.position}}}}},function(module,exports,__webpack_require__){"use strict";var xtend=__webpack_require__(82);var escapes=__webpack_require__(1427);var defaults=__webpack_require__(782);module.exports=setOptions;function setOptions(options){var self=this;var current=self.options;var key;var value;if(options==null){options={}}else if(typeof options==="object"){options=xtend(options)}else{throw new Error("Invalid value `"+options+"` "+"for setting `options`")}for(key in defaults){value=options[key];if(value==null){value=current[key]}if(key!=="blocks"&&typeof value!=="boolean"||key==="blocks"&&typeof value!=="object"){throw new Error("Invalid value `"+value+"` for setting `options."+key+"`")}options[key]=value}self.options=options;self.escape=escapes(options);return self}},function(module,exports,__webpack_require__){"use strict";module.exports=escapes;var defaults=["\\","`","*","{","}","[","]","(",")","#","+","-",".","!","_",">"];var gfm=defaults.concat(["~","|"]);var commonmark=gfm.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);escapes.default=defaults;escapes.gfm=gfm;escapes.commonmark=commonmark;function escapes(options){var settings=options||{};if(settings.commonmark){return commonmark}return settings.gfm?gfm:defaults}},function(module){module.exports=JSON.parse('["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]')},function(module,exports,__webpack_require__){"use strict";var xtend=__webpack_require__(82);var removePosition=__webpack_require__(1430);module.exports=parse;var C_NEWLINE="\n";var EXPRESSION_LINE_BREAKS=/\r\n|\r/g;function parse(){var self=this;var value=String(self.file);var start={line:1,column:1,offset:0};var content=xtend(start);var node;value=value.replace(EXPRESSION_LINE_BREAKS,C_NEWLINE);if(value.charCodeAt(0)===65279){value=value.slice(1);content.column++;content.offset++}node={type:"root",children:self.tokenizeBlock(value,content),position:{start:start,end:self.eof||xtend(start)}};if(!self.options.position){removePosition(node,true)}return node}},function(module,exports,__webpack_require__){"use strict";var visit=__webpack_require__(132);module.exports=removePosition;function removePosition(node,force){visit(node,force?hard:soft);return node}function hard(node){delete node.position}function soft(node){node.position=undefined}},function(module,exports,__webpack_require__){"use strict";module.exports=visitParents;var convert=__webpack_require__(1432);var CONTINUE=true;var SKIP="skip";var EXIT=false;visitParents.CONTINUE=CONTINUE;visitParents.SKIP=SKIP;visitParents.EXIT=EXIT;function visitParents(tree,test,visitor,reverse){var is;if(typeof test==="function"&&typeof visitor!=="function"){reverse=visitor;visitor=test;test=null}is=convert(test);one(tree,null,[]);function one(node,index,parents){var result=[];var subresult;if(!test||is(node,index,parents[parents.length-1]||null)){result=toResult(visitor(node,parents));if(result[0]===EXIT){return result}}if(node.children&&result[0]!==SKIP){subresult=toResult(all(node.children,parents.concat(node)));return subresult[0]===EXIT?subresult:result}return result}function all(children,parents){var min=-1;var step=reverse?-1:1;var index=(reverse?children.length:min)+step;var result;while(index>min&&index<children.length){result=one(children[index],index,parents);if(result[0]===EXIT){return result}index=typeof result[1]==="number"?result[1]:index+step}}}function toResult(value){if(value!==null&&typeof value==="object"&&"length"in value){return value}if(typeof value==="number"){return[CONTINUE,value]}return[value]}},function(module,exports,__webpack_require__){"use strict";module.exports=convert;function convert(test){if(typeof test==="string"){return typeFactory(test)}if(test===null||test===undefined){return ok}if(typeof test==="object"){return("length"in test?anyFactory:matchesFactory)(test)}if(typeof test==="function"){return test}throw new Error("Expected function, string, or object as test")}function convertAll(tests){var results=[];var length=tests.length;var index=-1;while(++index<length){results[index]=convert(tests[index])}return results}function matchesFactory(test){return matches;function matches(node){var key;for(key in test){if(node[key]!==test[key]){return false}}return true}}function anyFactory(tests){var checks=convertAll(tests);var length=checks.length;return matches;function matches(){var index=-1;while(++index<length){if(checks[index].apply(this,arguments)){return true}}return false}}function typeFactory(test){return type;function type(node){return Boolean(node&&node.type===test)}}function ok(){return true}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);module.exports=newline;function newline(eat,value,silent){var character=value.charAt(0);var length;var subvalue;var queue;var index;if(character!=="\n"){return}if(silent){return true}index=1;length=value.length;subvalue=character;queue="";while(index<length){character=value.charAt(index);if(!whitespace(character)){break}queue+=character;if(character==="\n"){subvalue+=queue;queue=""}index++}eat(subvalue)}},function(module,exports,__webpack_require__){"use strict";var repeat=__webpack_require__(241);var trim=__webpack_require__(242);module.exports=indentedCode;var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var CODE_INDENT_COUNT=4;var CODE_INDENT=repeat(C_SPACE,CODE_INDENT_COUNT);function indentedCode(eat,value,silent){var index=-1;var length=value.length;var subvalue="";var content="";var subvalueQueue="";var contentQueue="";var character;var blankQueue;var indent;while(++index<length){character=value.charAt(index);if(indent){indent=false;subvalue+=subvalueQueue;content+=contentQueue;subvalueQueue="";contentQueue="";if(character===C_NEWLINE){subvalueQueue=character;contentQueue=character}else{subvalue+=character;content+=character;while(++index<length){character=value.charAt(index);if(!character||character===C_NEWLINE){contentQueue=character;subvalueQueue=character;break}subvalue+=character;content+=character}}}else if(character===C_SPACE&&value.charAt(index+1)===character&&value.charAt(index+2)===character&&value.charAt(index+3)===character){subvalueQueue+=CODE_INDENT;index+=3;indent=true}else if(character===C_TAB){subvalueQueue+=character;indent=true}else{blankQueue="";while(character===C_TAB||character===C_SPACE){blankQueue+=character;character=value.charAt(++index)}if(character!==C_NEWLINE){break}subvalueQueue+=blankQueue+character;contentQueue+=character}}if(content){if(silent){return true}return eat(subvalue)({type:"code",lang:null,value:trim(content)})}}},function(module,exports,__webpack_require__){"use strict";var trim=__webpack_require__(242);module.exports=fencedCode;var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var C_TILDE="~";var C_TICK="`";var MIN_FENCE_COUNT=3;var CODE_INDENT_COUNT=4;function fencedCode(eat,value,silent){var self=this;var settings=self.options;var length=value.length+1;var index=0;var subvalue="";var fenceCount;var marker;var character;var flag;var queue;var content;var exdentedContent;var closing;var exdentedClosing;var indent;var now;if(!settings.gfm){return}while(index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){break}subvalue+=character;index++}indent=index;character=value.charAt(index);if(character!==C_TILDE&&character!==C_TICK){return}index++;marker=character;fenceCount=1;subvalue+=character;while(index<length){character=value.charAt(index);if(character!==marker){break}subvalue+=character;fenceCount++;index++}if(fenceCount<MIN_FENCE_COUNT){return}while(index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){break}subvalue+=character;index++}flag="";queue="";while(index<length){character=value.charAt(index);if(character===C_NEWLINE||character===C_TILDE||character===C_TICK){break}if(character===C_SPACE||character===C_TAB){queue+=character}else{flag+=queue+character;queue=""}index++}character=value.charAt(index);if(character&&character!==C_NEWLINE){return}if(silent){return true}now=eat.now();now.column+=subvalue.length;now.offset+=subvalue.length;subvalue+=flag;flag=self.decode.raw(self.unescape(flag),now);if(queue){subvalue+=queue}queue="";closing="";exdentedClosing="";content="";exdentedContent="";while(index<length){character=value.charAt(index);content+=closing;exdentedContent+=exdentedClosing;closing="";exdentedClosing="";if(character!==C_NEWLINE){content+=character;exdentedClosing+=character;index++;continue}if(content){closing+=character;exdentedClosing+=character}else{subvalue+=character}queue="";index++;while(index<length){character=value.charAt(index);if(character!==C_SPACE){break}queue+=character;index++}closing+=queue;exdentedClosing+=queue.slice(indent);if(queue.length>=CODE_INDENT_COUNT){continue}queue="";while(index<length){character=value.charAt(index);if(character!==marker){break}queue+=character;index++}closing+=queue;exdentedClosing+=queue;if(queue.length<fenceCount){continue}queue="";while(index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){break}closing+=character;exdentedClosing+=character;index++}if(!character||character===C_NEWLINE){break}}subvalue+=content+closing;return eat(subvalue)({type:"code",lang:flag||null,value:trim(exdentedContent)})}},function(module,exports,__webpack_require__){"use strict";var trim=__webpack_require__(104);var interrupt=__webpack_require__(243);module.exports=blockquote;var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var C_GT=">";function blockquote(eat,value,silent){var self=this;var offsets=self.offset;var tokenizers=self.blockTokenizers;var interruptors=self.interruptBlockquote;var now=eat.now();var currentLine=now.line;var length=value.length;var values=[];var contents=[];var indents=[];var add;var index=0;var character;var rest;var nextIndex;var content;var line;var startIndex;var prefixed;var exit;while(index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){break}index++}if(value.charAt(index)!==C_GT){return}if(silent){return true}index=0;while(index<length){nextIndex=value.indexOf(C_NEWLINE,index);startIndex=index;prefixed=false;if(nextIndex===-1){nextIndex=length}while(index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){break}index++}if(value.charAt(index)===C_GT){index++;prefixed=true;if(value.charAt(index)===C_SPACE){index++}}else{index=startIndex}content=value.slice(index,nextIndex);if(!prefixed&&!trim(content)){index=startIndex;break}if(!prefixed){rest=value.slice(index);if(interrupt(interruptors,tokenizers,self,[eat,rest,true])){break}}line=startIndex===index?content:value.slice(startIndex,nextIndex);indents.push(index-startIndex);values.push(line);contents.push(content);index=nextIndex+1}index=-1;length=indents.length;add=eat(values.join(C_NEWLINE));while(++index<length){offsets[currentLine]=(offsets[currentLine]||0)+indents[index];currentLine++}exit=self.enterBlock();contents=self.tokenizeBlock(contents.join(C_NEWLINE),now);exit();return add({type:"blockquote",children:contents})}},function(module,exports,__webpack_require__){"use strict";module.exports=atxHeading;var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var C_HASH="#";var MAX_ATX_COUNT=6;function atxHeading(eat,value,silent){var self=this;var settings=self.options;var length=value.length+1;var index=-1;var now=eat.now();var subvalue="";var content="";var character;var queue;var depth;while(++index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){index--;break}subvalue+=character}depth=0;while(++index<=length){character=value.charAt(index);if(character!==C_HASH){index--;break}subvalue+=character;depth++}if(depth>MAX_ATX_COUNT){return}if(!depth||!settings.pedantic&&value.charAt(index+1)===C_HASH){return}length=value.length+1;queue="";while(++index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){index--;break}queue+=character}if(!settings.pedantic&&queue.length===0&&character&&character!==C_NEWLINE){return}if(silent){return true}subvalue+=queue;queue="";content="";while(++index<length){character=value.charAt(index);if(!character||character===C_NEWLINE){break}if(character!==C_SPACE&&character!==C_TAB&&character!==C_HASH){content+=queue+character;queue="";continue}while(character===C_SPACE||character===C_TAB){queue+=character;character=value.charAt(++index)}while(character===C_HASH){queue+=character;character=value.charAt(++index)}while(character===C_SPACE||character===C_TAB){queue+=character;character=value.charAt(++index)}index--}now.column+=subvalue.length;now.offset+=subvalue.length;subvalue+=content+queue;return eat(subvalue)({type:"heading",depth:depth,children:self.tokenizeInline(content,now)})}},function(module,exports,__webpack_require__){"use strict";module.exports=thematicBreak;var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var C_ASTERISK="*";var C_UNDERSCORE="_";var C_DASH="-";var THEMATIC_BREAK_MARKER_COUNT=3;function thematicBreak(eat,value,silent){var index=-1;var length=value.length+1;var subvalue="";var character;var marker;var markerCount;var queue;while(++index<length){character=value.charAt(index);if(character!==C_TAB&&character!==C_SPACE){break}subvalue+=character}if(character!==C_ASTERISK&&character!==C_DASH&&character!==C_UNDERSCORE){return}marker=character;subvalue+=character;markerCount=1;queue="";while(++index<length){character=value.charAt(index);if(character===marker){markerCount++;subvalue+=queue+marker;queue=""}else if(character===C_SPACE){queue+=character}else if(markerCount>=THEMATIC_BREAK_MARKER_COUNT&&(!character||character===C_NEWLINE)){subvalue+=queue;if(silent){return true}return eat(subvalue)({type:"thematicBreak"})}else{return}}}},function(module,exports,__webpack_require__){"use strict";var trim=__webpack_require__(104);var repeat=__webpack_require__(241);var decimal=__webpack_require__(131);var getIndent=__webpack_require__(783);var removeIndent=__webpack_require__(1440);var interrupt=__webpack_require__(243);module.exports=list;var C_ASTERISK="*";var C_UNDERSCORE="_";var C_PLUS="+";var C_DASH="-";var C_DOT=".";var C_SPACE=" ";var C_NEWLINE="\n";var C_TAB="\t";var C_PAREN_CLOSE=")";var C_X_LOWER="x";var TAB_SIZE=4;var EXPRESSION_LOOSE_LIST_ITEM=/\n\n(?!\s*$)/;var EXPRESSION_TASK_ITEM=/^\[([ \t]|x|X)][ \t]/;var EXPRESSION_BULLET=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/;var EXPRESSION_PEDANTIC_BULLET=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/;var EXPRESSION_INITIAL_INDENT=/^( {1,4}|\t)?/gm;var LIST_UNORDERED_MARKERS={};LIST_UNORDERED_MARKERS[C_ASTERISK]=true;LIST_UNORDERED_MARKERS[C_PLUS]=true;LIST_UNORDERED_MARKERS[C_DASH]=true;var LIST_ORDERED_MARKERS={};LIST_ORDERED_MARKERS[C_DOT]=true;var LIST_ORDERED_COMMONMARK_MARKERS={};LIST_ORDERED_COMMONMARK_MARKERS[C_DOT]=true;LIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE]=true;function list(eat,value,silent){var self=this;var commonmark=self.options.commonmark;var pedantic=self.options.pedantic;var tokenizers=self.blockTokenizers;var interuptors=self.interruptList;var markers;var index=0;var length=value.length;var start=null;var size=0;var queue;var ordered;var character;var marker;var nextIndex;var startIndex;var prefixed;var currentMarker;var content;var line;var prevEmpty;var empty;var items;var allLines;var emptyLines;var item;var enterTop;var exitBlockquote;var isLoose;var node;var now;var end;var indented;while(index<length){character=value.charAt(index);if(character===C_TAB){size+=TAB_SIZE-size%TAB_SIZE}else if(character===C_SPACE){size++}else{break}index++}if(size>=TAB_SIZE){return}character=value.charAt(index);markers=commonmark?LIST_ORDERED_COMMONMARK_MARKERS:LIST_ORDERED_MARKERS;if(LIST_UNORDERED_MARKERS[character]===true){marker=character;ordered=false}else{ordered=true;queue="";while(index<length){character=value.charAt(index);if(!decimal(character)){break}queue+=character;index++}character=value.charAt(index);if(!queue||markers[character]!==true){return}start=parseInt(queue,10);marker=character}character=value.charAt(++index);if(character!==C_SPACE&&character!==C_TAB){return}if(silent){return true}index=0;items=[];allLines=[];emptyLines=[];while(index<length){nextIndex=value.indexOf(C_NEWLINE,index);startIndex=index;prefixed=false;indented=false;if(nextIndex===-1){nextIndex=length}end=index+TAB_SIZE;size=0;while(index<length){character=value.charAt(index);if(character===C_TAB){size+=TAB_SIZE-size%TAB_SIZE}else if(character===C_SPACE){size++}else{break}index++}if(size>=TAB_SIZE){indented=true}if(item&&size>=item.indent){indented=true}character=value.charAt(index);currentMarker=null;if(!indented){if(LIST_UNORDERED_MARKERS[character]===true){currentMarker=character;index++;size++}else{queue="";while(index<length){character=value.charAt(index);if(!decimal(character)){break}queue+=character;index++}character=value.charAt(index);index++;if(queue&&markers[character]===true){currentMarker=character;size+=queue.length+1}}if(currentMarker){character=value.charAt(index);if(character===C_TAB){size+=TAB_SIZE-size%TAB_SIZE;index++}else if(character===C_SPACE){end=index+TAB_SIZE;while(index<end){if(value.charAt(index)!==C_SPACE){break}index++;size++}if(index===end&&value.charAt(index)===C_SPACE){index-=TAB_SIZE-1;size-=TAB_SIZE-1}}else if(character!==C_NEWLINE&&character!==""){currentMarker=null}}}if(currentMarker){if(!pedantic&&marker!==currentMarker){break}prefixed=true}else{if(!commonmark&&!indented&&value.charAt(startIndex)===C_SPACE){indented=true}else if(commonmark&&item){indented=size>=item.indent||size>TAB_SIZE}prefixed=false;index=startIndex}line=value.slice(startIndex,nextIndex);content=startIndex===index?line:value.slice(index,nextIndex);if(currentMarker===C_ASTERISK||currentMarker===C_UNDERSCORE||currentMarker===C_DASH){if(tokenizers.thematicBreak.call(self,eat,line,true)){break}}prevEmpty=empty;empty=!trim(content).length;if(indented&&item){item.value=item.value.concat(emptyLines,line);allLines=allLines.concat(emptyLines,line);emptyLines=[]}else if(prefixed){if(emptyLines.length!==0){item.value.push("");item.trail=emptyLines.concat()}item={value:[line],indent:size,trail:[]};items.push(item);allLines=allLines.concat(emptyLines,line);emptyLines=[]}else if(empty){if(prevEmpty){break}emptyLines.push(line)}else{if(prevEmpty){break}if(interrupt(interuptors,tokenizers,self,[eat,line,true])){break}item.value=item.value.concat(emptyLines,line);allLines=allLines.concat(emptyLines,line);emptyLines=[]}index=nextIndex+1}node=eat(allLines.join(C_NEWLINE)).reset({type:"list",ordered:ordered,start:start,loose:null,children:[]});enterTop=self.enterList();exitBlockquote=self.enterBlock();isLoose=false;index=-1;length=items.length;while(++index<length){item=items[index].value.join(C_NEWLINE);now=eat.now();item=eat(item)(listItem(self,item,now),node);if(item.loose){isLoose=true}item=items[index].trail.join(C_NEWLINE);if(index!==length-1){item+=C_NEWLINE}eat(item)}enterTop();exitBlockquote();node.loose=isLoose;return node}function listItem(ctx,value,position){var offsets=ctx.offset;var fn=ctx.options.pedantic?pedanticListItem:normalListItem;var checked=null;var task;var indent;value=fn.apply(null,arguments);if(ctx.options.gfm){task=value.match(EXPRESSION_TASK_ITEM);if(task){indent=task[0].length;checked=task[1].toLowerCase()===C_X_LOWER;offsets[position.line]+=indent;value=value.slice(indent)}}return{type:"listItem",loose:EXPRESSION_LOOSE_LIST_ITEM.test(value)||value.charAt(value.length-1)===C_NEWLINE,checked:checked,children:ctx.tokenizeBlock(value,position)}}function pedanticListItem(ctx,value,position){var offsets=ctx.offset;var line=position.line;value=value.replace(EXPRESSION_PEDANTIC_BULLET,replacer);line=position.line;return value.replace(EXPRESSION_INITIAL_INDENT,replacer);function replacer($0){offsets[line]=(offsets[line]||0)+$0.length;line++;return""}}function normalListItem(ctx,value,position){var offsets=ctx.offset;var line=position.line;var max;var bullet;var rest;var lines;var trimmedLines;var index;var length;value=value.replace(EXPRESSION_BULLET,replacer);lines=value.split(C_NEWLINE);trimmedLines=removeIndent(value,getIndent(max).indent).split(C_NEWLINE);trimmedLines[0]=rest;offsets[line]=(offsets[line]||0)+bullet.length;line++;index=0;length=lines.length;while(++index<length){offsets[line]=(offsets[line]||0)+lines[index].length-trimmedLines[index].length;line++}return trimmedLines.join(C_NEWLINE);function replacer($0,$1,$2,$3,$4){bullet=$1+$2+$3;rest=$4;if(Number($2)<10&&bullet.length%2===1){$2=C_SPACE+$2}max=$1+repeat(C_SPACE,$2.length)+$3;return max+rest}}},function(module,exports,__webpack_require__){"use strict";var trim=__webpack_require__(104);var repeat=__webpack_require__(241);var getIndent=__webpack_require__(783);module.exports=indentation;var C_SPACE=" ";var C_NEWLINE="\n";var C_TAB="\t";function indentation(value,maximum){var values=value.split(C_NEWLINE);var position=values.length+1;var minIndent=Infinity;var matrix=[];var index;var indentation;var stops;var padding;values.unshift(repeat(C_SPACE,maximum)+"!");while(position--){indentation=getIndent(values[position]);matrix[position]=indentation.stops;if(trim(values[position]).length===0){continue}if(indentation.indent){if(indentation.indent>0&&indentation.indent<minIndent){minIndent=indentation.indent}}else{minIndent=Infinity;break}}if(minIndent!==Infinity){position=values.length;while(position--){stops=matrix[position];index=minIndent;while(index&&!(index in stops)){index--}if(trim(values[position]).length!==0&&minIndent&&index!==minIndent){padding=C_TAB}else{padding=""}values[position]=padding+values[position].slice(index in stops?stops[index]+1:0)}}values.shift();return values.join(C_NEWLINE)}},function(module,exports,__webpack_require__){"use strict";module.exports=setextHeading;var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var C_EQUALS="=";var C_DASH="-";var MAX_HEADING_INDENT=3;var SETEXT_MARKERS={};SETEXT_MARKERS[C_EQUALS]=1;SETEXT_MARKERS[C_DASH]=2;function setextHeading(eat,value,silent){var self=this;var now=eat.now();var length=value.length;var index=-1;var subvalue="";var content;var queue;var character;var marker;var depth;while(++index<length){character=value.charAt(index);if(character!==C_SPACE||index>=MAX_HEADING_INDENT){index--;break}subvalue+=character}content="";queue="";while(++index<length){character=value.charAt(index);if(character===C_NEWLINE){index--;break}if(character===C_SPACE||character===C_TAB){queue+=character}else{content+=queue+character;queue=""}}now.column+=subvalue.length;now.offset+=subvalue.length;subvalue+=content+queue;character=value.charAt(++index);marker=value.charAt(++index);if(character!==C_NEWLINE||!SETEXT_MARKERS[marker]){return}subvalue+=character;queue=marker;depth=SETEXT_MARKERS[marker];while(++index<length){character=value.charAt(index);if(character!==marker){if(character!==C_NEWLINE){return}index--;break}queue+=character}if(silent){return true}return eat(subvalue+queue)({type:"heading",depth:depth,children:self.tokenizeInline(content,now)})}},function(module,exports,__webpack_require__){"use strict";var openCloseTag=__webpack_require__(784).openCloseTag;module.exports=blockHTML;var C_TAB="\t";var C_SPACE=" ";var C_NEWLINE="\n";var C_LT="<";function blockHTML(eat,value,silent){var self=this;var blocks=self.options.blocks;var length=value.length;var index=0;var next;var line;var offset;var character;var count;var sequence;var subvalue;var sequences=[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,true],[/^<!--/,/-->/,true],[/^<\?/,/\?>/,true],[/^<![A-Za-z]/,/>/,true],[/^<!\[CDATA\[/,/\]\]>/,true],[new RegExp("^</?("+blocks.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,true],[new RegExp(openCloseTag.source+"\\s*$"),/^$/,false]];while(index<length){character=value.charAt(index);if(character!==C_TAB&&character!==C_SPACE){break}index++}if(value.charAt(index)!==C_LT){return}next=value.indexOf(C_NEWLINE,index+1);next=next===-1?length:next;line=value.slice(index,next);offset=-1;count=sequences.length;while(++offset<count){if(sequences[offset][0].test(line)){sequence=sequences[offset];break}}if(!sequence){return}if(silent){return sequence[2]}index=next;if(!sequence[1].test(line)){while(index<length){next=value.indexOf(C_NEWLINE,index+1);next=next===-1?length:next;line=value.slice(index+1,next);if(sequence[1].test(line)){if(line){index=next}break}index=next}}subvalue=value.slice(0,index);return eat(subvalue)({type:"html",value:subvalue})}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);var normalize=__webpack_require__(244);module.exports=footnoteDefinition;footnoteDefinition.notInList=true;footnoteDefinition.notInBlock=true;var C_BACKSLASH="\\";var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var C_BRACKET_OPEN="[";var C_BRACKET_CLOSE="]";var C_CARET="^";var C_COLON=":";var EXPRESSION_INITIAL_TAB=/^( {4}|\t)?/gm;function footnoteDefinition(eat,value,silent){var self=this;var offsets=self.offset;var index;var length;var subvalue;var now;var currentLine;var content;var queue;var subqueue;var character;var identifier;var add;var exit;if(!self.options.footnotes){return}index=0;length=value.length;subvalue="";now=eat.now();currentLine=now.line;while(index<length){character=value.charAt(index);if(!whitespace(character)){break}subvalue+=character;index++}if(value.charAt(index)!==C_BRACKET_OPEN||value.charAt(index+1)!==C_CARET){return}subvalue+=C_BRACKET_OPEN+C_CARET;index=subvalue.length;queue="";while(index<length){character=value.charAt(index);if(character===C_BRACKET_CLOSE){break}else if(character===C_BACKSLASH){queue+=character;index++;character=value.charAt(index)}queue+=character;index++}if(!queue||value.charAt(index)!==C_BRACKET_CLOSE||value.charAt(index+1)!==C_COLON){return}if(silent){return true}identifier=normalize(queue);subvalue+=queue+C_BRACKET_CLOSE+C_COLON;index=subvalue.length;while(index<length){character=value.charAt(index);if(character!==C_TAB&&character!==C_SPACE){break}subvalue+=character;index++}now.column+=subvalue.length;now.offset+=subvalue.length;queue="";content="";subqueue="";while(index<length){character=value.charAt(index);if(character===C_NEWLINE){subqueue=character;index++;while(index<length){character=value.charAt(index);if(character!==C_NEWLINE){break}subqueue+=character;index++}queue+=subqueue;subqueue="";while(index<length){character=value.charAt(index);if(character!==C_SPACE){break}subqueue+=character;index++}if(subqueue.length===0){break}queue+=subqueue}if(queue){content+=queue;queue=""}content+=character;index++}subvalue+=content;content=content.replace(EXPRESSION_INITIAL_TAB,(function(line){offsets[currentLine]=(offsets[currentLine]||0)+line.length;currentLine++;return""}));add=eat(subvalue);exit=self.enterBlock();content=self.tokenizeBlock(content,now);exit();return add({type:"footnoteDefinition",identifier:identifier,children:content})}},function(module,exports,__webpack_require__){"use strict";module.exports=collapse;function collapse(value){return String(value).replace(/\s+/g," ")}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);var normalize=__webpack_require__(244);module.exports=definition;definition.notInList=true;definition.notInBlock=true;var C_DOUBLE_QUOTE='"';var C_SINGLE_QUOTE="'";var C_BACKSLASH="\\";var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var C_BRACKET_OPEN="[";var C_BRACKET_CLOSE="]";var C_PAREN_OPEN="(";var C_PAREN_CLOSE=")";var C_COLON=":";var C_LT="<";var C_GT=">";function definition(eat,value,silent){var self=this;var commonmark=self.options.commonmark;var index=0;var length=value.length;var subvalue="";var beforeURL;var beforeTitle;var queue;var character;var test;var identifier;var url;var title;while(index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){break}subvalue+=character;index++}character=value.charAt(index);if(character!==C_BRACKET_OPEN){return}index++;subvalue+=character;queue="";while(index<length){character=value.charAt(index);if(character===C_BRACKET_CLOSE){break}else if(character===C_BACKSLASH){queue+=character;index++;character=value.charAt(index)}queue+=character;index++}if(!queue||value.charAt(index)!==C_BRACKET_CLOSE||value.charAt(index+1)!==C_COLON){return}identifier=queue;subvalue+=queue+C_BRACKET_CLOSE+C_COLON;index=subvalue.length;queue="";while(index<length){character=value.charAt(index);if(character!==C_TAB&&character!==C_SPACE&&character!==C_NEWLINE){break}subvalue+=character;index++}character=value.charAt(index);queue="";beforeURL=subvalue;if(character===C_LT){index++;while(index<length){character=value.charAt(index);if(!isEnclosedURLCharacter(character)){break}queue+=character;index++}character=value.charAt(index);if(character===isEnclosedURLCharacter.delimiter){subvalue+=C_LT+queue+character;index++}else{if(commonmark){return}index-=queue.length+1;queue=""}}if(!queue){while(index<length){character=value.charAt(index);if(!isUnclosedURLCharacter(character)){break}queue+=character;index++}subvalue+=queue}if(!queue){return}url=queue;queue="";while(index<length){character=value.charAt(index);if(character!==C_TAB&&character!==C_SPACE&&character!==C_NEWLINE){break}queue+=character;index++}character=value.charAt(index);test=null;if(character===C_DOUBLE_QUOTE){test=C_DOUBLE_QUOTE}else if(character===C_SINGLE_QUOTE){test=C_SINGLE_QUOTE}else if(character===C_PAREN_OPEN){test=C_PAREN_CLOSE}if(!test){queue="";index=subvalue.length}else if(queue){subvalue+=queue+character;index=subvalue.length;queue="";while(index<length){character=value.charAt(index);if(character===test){break}if(character===C_NEWLINE){index++;character=value.charAt(index);if(character===C_NEWLINE||character===test){return}queue+=C_NEWLINE}queue+=character;index++}character=value.charAt(index);if(character!==test){return}beforeTitle=subvalue;subvalue+=queue+character;index++;title=queue;queue=""}else{return}while(index<length){character=value.charAt(index);if(character!==C_TAB&&character!==C_SPACE){break}subvalue+=character;index++}character=value.charAt(index);if(!character||character===C_NEWLINE){if(silent){return true}beforeURL=eat(beforeURL).test().end;url=self.decode.raw(self.unescape(url),beforeURL,{nonTerminated:false});if(title){beforeTitle=eat(beforeTitle).test().end;title=self.decode.raw(self.unescape(title),beforeTitle)}return eat(subvalue)({type:"definition",identifier:normalize(identifier),title:title||null,url:url})}}function isEnclosedURLCharacter(character){return character!==C_GT&&character!==C_BRACKET_OPEN&&character!==C_BRACKET_CLOSE}isEnclosedURLCharacter.delimiter=C_GT;function isUnclosedURLCharacter(character){return character!==C_BRACKET_OPEN&&character!==C_BRACKET_CLOSE&&!whitespace(character)}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);module.exports=table;var C_BACKSLASH="\\";var C_TICK="`";var C_DASH="-";var C_PIPE="|";var C_COLON=":";var C_SPACE=" ";var C_NEWLINE="\n";var C_TAB="\t";var MIN_TABLE_COLUMNS=1;var MIN_TABLE_ROWS=2;var TABLE_ALIGN_LEFT="left";var TABLE_ALIGN_CENTER="center";var TABLE_ALIGN_RIGHT="right";var TABLE_ALIGN_NONE=null;function table(eat,value,silent){var self=this;var index;var alignments;var alignment;var subvalue;var row;var length;var lines;var queue;var character;var hasDash;var align;var cell;var preamble;var count;var opening;var now;var position;var lineCount;var line;var rows;var table;var lineIndex;var pipeIndex;var first;if(!self.options.gfm){return}index=0;lineCount=0;length=value.length+1;lines=[];while(index<length){lineIndex=value.indexOf(C_NEWLINE,index);pipeIndex=value.indexOf(C_PIPE,index+1);if(lineIndex===-1){lineIndex=value.length}if(pipeIndex===-1||pipeIndex>lineIndex){if(lineCount<MIN_TABLE_ROWS){return}break}lines.push(value.slice(index,lineIndex));lineCount++;index=lineIndex+1}subvalue=lines.join(C_NEWLINE);alignments=lines.splice(1,1)[0]||[];index=0;length=alignments.length;lineCount--;alignment=false;align=[];while(index<length){character=alignments.charAt(index);if(character===C_PIPE){hasDash=null;if(alignment===false){if(first===false){return}}else{align.push(alignment);alignment=false}first=false}else if(character===C_DASH){hasDash=true;alignment=alignment||TABLE_ALIGN_NONE}else if(character===C_COLON){if(alignment===TABLE_ALIGN_LEFT){alignment=TABLE_ALIGN_CENTER}else if(hasDash&&alignment===TABLE_ALIGN_NONE){alignment=TABLE_ALIGN_RIGHT}else{alignment=TABLE_ALIGN_LEFT}}else if(!whitespace(character)){return}index++}if(alignment!==false){align.push(alignment)}if(align.length<MIN_TABLE_COLUMNS){return}if(silent){return true}position=-1;rows=[];table=eat(subvalue).reset({type:"table",align:align,children:rows});while(++position<lineCount){line=lines[position];row={type:"tableRow",children:[]};if(position){eat(C_NEWLINE)}eat(line).reset(row,table);length=line.length+1;index=0;queue="";cell="";preamble=true;count=null;opening=null;while(index<length){character=line.charAt(index);if(character===C_TAB||character===C_SPACE){if(cell){queue+=character}else{eat(character)}index++;continue}if(character===""||character===C_PIPE){if(preamble){eat(character)}else{if(character&&opening){queue+=character;index++;continue}if((cell||character)&&!preamble){subvalue=cell;if(queue.length>1){if(character){subvalue+=queue.slice(0,queue.length-1);queue=queue.charAt(queue.length-1)}else{subvalue+=queue;queue=""}}now=eat.now();eat(subvalue)({type:"tableCell",children:self.tokenizeInline(cell,now)},row)}eat(queue+character);queue="";cell=""}}else{if(queue){cell+=queue;queue=""}cell+=character;if(character===C_BACKSLASH&&index!==length-2){cell+=line.charAt(index+1);index++}if(character===C_TICK){count=1;while(line.charAt(index+1)===character){cell+=character;index++;count++}if(!opening){opening=count}else if(count>=opening){opening=0}}}preamble=false;index++}if(!position){eat(C_NEWLINE+alignments)}}return table}},function(module,exports,__webpack_require__){"use strict";var trim=__webpack_require__(104);var decimal=__webpack_require__(131);var trimTrailingLines=__webpack_require__(242);var interrupt=__webpack_require__(243);module.exports=paragraph;var C_NEWLINE="\n";var C_TAB="\t";var C_SPACE=" ";var TAB_SIZE=4;function paragraph(eat,value,silent){var self=this;var settings=self.options;var commonmark=settings.commonmark;var gfm=settings.gfm;var tokenizers=self.blockTokenizers;var interruptors=self.interruptParagraph;var index=value.indexOf(C_NEWLINE);var length=value.length;var position;var subvalue;var character;var size;var now;while(index<length){if(index===-1){index=length;break}if(value.charAt(index+1)===C_NEWLINE){break}if(commonmark){size=0;position=index+1;while(position<length){character=value.charAt(position);if(character===C_TAB){size=TAB_SIZE;break}else if(character===C_SPACE){size++}else{break}position++}if(size>=TAB_SIZE){index=value.indexOf(C_NEWLINE,index+1);continue}}subvalue=value.slice(index+1);if(interrupt(interruptors,tokenizers,self,[eat,subvalue,true])){break}if(tokenizers.list.call(self,eat,subvalue,true)&&(self.inList||commonmark||gfm&&!decimal(trim.left(subvalue).charAt(0)))){break}position=index;index=value.indexOf(C_NEWLINE,index+1);if(index!==-1&&trim(value.slice(position,index))===""){index=position;break}}subvalue=value.slice(0,index);if(trim(subvalue)===""){eat(subvalue);return null}if(silent){return true}now=eat.now();subvalue=trimTrailingLines(subvalue);return eat(subvalue)({type:"paragraph",children:self.tokenizeInline(subvalue,now)})}},function(module,exports,__webpack_require__){"use strict";var locate=__webpack_require__(1449);module.exports=escape;escape.locator=locate;function escape(eat,value,silent){var self=this;var character;var node;if(value.charAt(0)==="\\"){character=value.charAt(1);if(self.escape.indexOf(character)!==-1){if(silent){return true}if(character==="\n"){node={type:"break"}}else{node={type:"text",value:character}}return eat("\\"+character)(node)}}}},function(module,exports,__webpack_require__){"use strict";module.exports=locate;function locate(value,fromIndex){return value.indexOf("\\",fromIndex)}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);var decode=__webpack_require__(240);var locate=__webpack_require__(785);module.exports=autoLink;autoLink.locator=locate;autoLink.notInLink=true;var C_LT="<";var C_GT=">";var C_AT_SIGN="@";var C_SLASH="/";var MAILTO="mailto:";var MAILTO_LENGTH=MAILTO.length;function autoLink(eat,value,silent){var self;var subvalue;var length;var index;var queue;var character;var hasAtCharacter;var link;var now;var content;var tokenizers;var exit;if(value.charAt(0)!==C_LT){return}self=this;subvalue="";length=value.length;index=0;queue="";hasAtCharacter=false;link="";index++;subvalue=C_LT;while(index<length){character=value.charAt(index);if(whitespace(character)||character===C_GT||character===C_AT_SIGN||character===":"&&value.charAt(index+1)===C_SLASH){break}queue+=character;index++}if(!queue){return}link+=queue;queue="";character=value.charAt(index);link+=character;index++;if(character===C_AT_SIGN){hasAtCharacter=true}else{if(character!==":"||value.charAt(index+1)!==C_SLASH){return}link+=C_SLASH;index++}while(index<length){character=value.charAt(index);if(whitespace(character)||character===C_GT){break}queue+=character;index++}character=value.charAt(index);if(!queue||character!==C_GT){return}if(silent){return true}link+=queue;content=link;subvalue+=link+character;now=eat.now();now.column++;now.offset++;if(hasAtCharacter){if(link.slice(0,MAILTO_LENGTH).toLowerCase()===MAILTO){content=content.substr(MAILTO_LENGTH);now.column+=MAILTO_LENGTH;now.offset+=MAILTO_LENGTH}else{link=MAILTO+link}}tokenizers=self.inlineTokenizers;self.inlineTokenizers={text:tokenizers.text};exit=self.enterLink();content=self.tokenizeInline(content,now);self.inlineTokenizers=tokenizers;exit();return eat(subvalue)({type:"link",title:null,url:decode(link,{nonTerminated:false}),children:content})}},function(module,exports,__webpack_require__){"use strict";var decode=__webpack_require__(240);var whitespace=__webpack_require__(77);var locate=__webpack_require__(1452);module.exports=url;url.locator=locate;url.notInLink=true;var C_BRACKET_OPEN="[";var C_BRACKET_CLOSE="]";var C_PAREN_OPEN="(";var C_PAREN_CLOSE=")";var C_LT="<";var C_AT_SIGN="@";var HTTP_PROTOCOL="http://";var HTTPS_PROTOCOL="https://";var MAILTO_PROTOCOL="mailto:";var PROTOCOLS=[HTTP_PROTOCOL,HTTPS_PROTOCOL,MAILTO_PROTOCOL];var PROTOCOLS_LENGTH=PROTOCOLS.length;function url(eat,value,silent){var self=this;var subvalue;var content;var character;var index;var position;var protocol;var match;var length;var queue;var parenCount;var nextCharacter;var exit;if(!self.options.gfm){return}subvalue="";index=-1;length=PROTOCOLS_LENGTH;while(++index<length){protocol=PROTOCOLS[index];match=value.slice(0,protocol.length);if(match.toLowerCase()===protocol){subvalue=match;break}}if(!subvalue){return}index=subvalue.length;length=value.length;queue="";parenCount=0;while(index<length){character=value.charAt(index);if(whitespace(character)||character===C_LT){break}if(character==="."||character===","||character===":"||character===";"||character==='"'||character==="'"||character===")"||character==="]"){nextCharacter=value.charAt(index+1);if(!nextCharacter||whitespace(nextCharacter)){break}}if(character===C_PAREN_OPEN||character===C_BRACKET_OPEN){parenCount++}if(character===C_PAREN_CLOSE||character===C_BRACKET_CLOSE){parenCount--;if(parenCount<0){break}}queue+=character;index++}if(!queue){return}subvalue+=queue;content=subvalue;if(protocol===MAILTO_PROTOCOL){position=queue.indexOf(C_AT_SIGN);if(position===-1||position===length-1){return}content=content.substr(MAILTO_PROTOCOL.length)}if(silent){return true}exit=self.enterLink();content=self.tokenizeInline(content,eat.now());exit();return eat(subvalue)({type:"link",title:null,url:decode(subvalue,{nonTerminated:false}),children:content})}},function(module,exports,__webpack_require__){"use strict";module.exports=locate;var PROTOCOLS=["https://","http://","mailto:"];function locate(value,fromIndex){var length=PROTOCOLS.length;var index=-1;var min=-1;var position;if(!this.options.gfm){return-1}while(++index<length){position=value.indexOf(PROTOCOLS[index],fromIndex);if(position!==-1&&(position<min||min===-1)){min=position}}return min}},function(module,exports,__webpack_require__){"use strict";var alphabetical=__webpack_require__(770);var locate=__webpack_require__(785);var tag=__webpack_require__(784).tag;module.exports=inlineHTML;inlineHTML.locator=locate;var EXPRESSION_HTML_LINK_OPEN=/^<a /i;var EXPRESSION_HTML_LINK_CLOSE=/^<\/a>/i;function inlineHTML(eat,value,silent){var self=this;var length=value.length;var character;var subvalue;if(value.charAt(0)!=="<"||length<3){return}character=value.charAt(1);if(!alphabetical(character)&&character!=="?"&&character!=="!"&&character!=="/"){return}subvalue=value.match(tag);if(!subvalue){return}if(silent){return true}subvalue=subvalue[0];if(!self.inLink&&EXPRESSION_HTML_LINK_OPEN.test(subvalue)){self.inLink=true}else if(self.inLink&&EXPRESSION_HTML_LINK_CLOSE.test(subvalue)){self.inLink=false}return eat(subvalue)({type:"html",value:subvalue})}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);var locate=__webpack_require__(786);module.exports=link;link.locator=locate;var own={}.hasOwnProperty;var C_BACKSLASH="\\";var C_BRACKET_OPEN="[";var C_BRACKET_CLOSE="]";var C_PAREN_OPEN="(";var C_PAREN_CLOSE=")";var C_LT="<";var C_GT=">";var C_TICK="`";var C_DOUBLE_QUOTE='"';var C_SINGLE_QUOTE="'";var LINK_MARKERS={};LINK_MARKERS[C_DOUBLE_QUOTE]=C_DOUBLE_QUOTE;LINK_MARKERS[C_SINGLE_QUOTE]=C_SINGLE_QUOTE;var COMMONMARK_LINK_MARKERS={};COMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE]=C_DOUBLE_QUOTE;COMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE]=C_SINGLE_QUOTE;COMMONMARK_LINK_MARKERS[C_PAREN_OPEN]=C_PAREN_CLOSE;function link(eat,value,silent){var self=this;var subvalue="";var index=0;var character=value.charAt(0);var pedantic=self.options.pedantic;var commonmark=self.options.commonmark;var gfm=self.options.gfm;var closed;var count;var opening;var beforeURL;var beforeTitle;var subqueue;var hasMarker;var markers;var isImage;var content;var marker;var length;var title;var depth;var queue;var url;var now;var exit;var node;if(character==="!"){isImage=true;subvalue=character;character=value.charAt(++index)}if(character!==C_BRACKET_OPEN){return}if(!isImage&&self.inLink){return}subvalue+=character;queue="";index++;length=value.length;now=eat.now();depth=0;now.column+=index;now.offset+=index;while(index<length){character=value.charAt(index);subqueue=character;if(character===C_TICK){count=1;while(value.charAt(index+1)===C_TICK){subqueue+=character;index++;count++}if(!opening){opening=count}else if(count>=opening){opening=0}}else if(character===C_BACKSLASH){index++;subqueue+=value.charAt(index)}else if((!opening||gfm)&&character===C_BRACKET_OPEN){depth++}else if((!opening||gfm)&&character===C_BRACKET_CLOSE){if(depth){depth--}else{if(!pedantic){while(index<length){character=value.charAt(index+1);if(!whitespace(character)){break}subqueue+=character;index++}}if(value.charAt(index+1)!==C_PAREN_OPEN){return}subqueue+=C_PAREN_OPEN;closed=true;index++;break}}queue+=subqueue;subqueue="";index++}if(!closed){return}content=queue;subvalue+=queue+subqueue;index++;while(index<length){character=value.charAt(index);if(!whitespace(character)){break}subvalue+=character;index++}character=value.charAt(index);markers=commonmark?COMMONMARK_LINK_MARKERS:LINK_MARKERS;queue="";beforeURL=subvalue;if(character===C_LT){index++;beforeURL+=C_LT;while(index<length){character=value.charAt(index);if(character===C_GT){break}if(commonmark&&character==="\n"){return}queue+=character;index++}if(value.charAt(index)!==C_GT){return}subvalue+=C_LT+queue+C_GT;url=queue;index++}else{character=null;subqueue="";while(index<length){character=value.charAt(index);if(subqueue&&own.call(markers,character)){break}if(whitespace(character)){if(!pedantic){break}subqueue+=character}else{if(character===C_PAREN_OPEN){depth++}else if(character===C_PAREN_CLOSE){if(depth===0){break}depth--}queue+=subqueue;subqueue="";if(character===C_BACKSLASH){queue+=C_BACKSLASH;character=value.charAt(++index)}queue+=character}index++}subvalue+=queue;url=queue;index=subvalue.length}queue="";while(index<length){character=value.charAt(index);if(!whitespace(character)){break}queue+=character;index++}character=value.charAt(index);subvalue+=queue;if(queue&&own.call(markers,character)){index++;subvalue+=character;queue="";marker=markers[character];beforeTitle=subvalue;if(commonmark){while(index<length){character=value.charAt(index);if(character===marker){break}if(character===C_BACKSLASH){queue+=C_BACKSLASH;character=value.charAt(++index)}index++;queue+=character}character=value.charAt(index);if(character!==marker){return}title=queue;subvalue+=queue+character;index++;while(index<length){character=value.charAt(index);if(!whitespace(character)){break}subvalue+=character;index++}}else{subqueue="";while(index<length){character=value.charAt(index);if(character===marker){if(hasMarker){queue+=marker+subqueue;subqueue=""}hasMarker=true}else if(!hasMarker){queue+=character}else if(character===C_PAREN_CLOSE){subvalue+=queue+marker+subqueue;title=queue;break}else if(whitespace(character)){subqueue+=character}else{queue+=marker+subqueue+character;subqueue="";hasMarker=false}index++}}}if(value.charAt(index)!==C_PAREN_CLOSE){return}if(silent){return true}subvalue+=C_PAREN_CLOSE;url=self.decode.raw(self.unescape(url),eat(beforeURL).test().end,{nonTerminated:false});if(title){beforeTitle=eat(beforeTitle).test().end;title=self.decode.raw(self.unescape(title),beforeTitle)}node={type:isImage?"image":"link",title:title||null,url:url};if(isImage){node.alt=self.decode.raw(self.unescape(content),now)||null}else{exit=self.enterLink();node.children=self.tokenizeInline(content,now);exit()}return eat(subvalue)(node)}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);var locate=__webpack_require__(786);var normalize=__webpack_require__(244);module.exports=reference;reference.locator=locate;var T_LINK="link";var T_IMAGE="image";var T_FOOTNOTE="footnote";var REFERENCE_TYPE_SHORTCUT="shortcut";var REFERENCE_TYPE_COLLAPSED="collapsed";var REFERENCE_TYPE_FULL="full";var C_CARET="^";var C_BACKSLASH="\\";var C_BRACKET_OPEN="[";var C_BRACKET_CLOSE="]";function reference(eat,value,silent){var self=this;var character=value.charAt(0);var index=0;var length=value.length;var subvalue="";var intro="";var type=T_LINK;var referenceType=REFERENCE_TYPE_SHORTCUT;var content;var identifier;var now;var node;var exit;var queue;var bracketed;var depth;if(character==="!"){type=T_IMAGE;intro=character;character=value.charAt(++index)}if(character!==C_BRACKET_OPEN){return}index++;intro+=character;queue="";if(self.options.footnotes&&value.charAt(index)===C_CARET){if(type===T_IMAGE){return}intro+=C_CARET;index++;type=T_FOOTNOTE}depth=0;while(index<length){character=value.charAt(index);if(character===C_BRACKET_OPEN){bracketed=true;depth++}else if(character===C_BRACKET_CLOSE){if(!depth){break}depth--}if(character===C_BACKSLASH){queue+=C_BACKSLASH;character=value.charAt(++index)}queue+=character;index++}subvalue=queue;content=queue;character=value.charAt(index);if(character!==C_BRACKET_CLOSE){return}index++;subvalue+=character;queue="";while(index<length){character=value.charAt(index);if(!whitespace(character)){break}queue+=character;index++}character=value.charAt(index);if(type!==T_FOOTNOTE&&character===C_BRACKET_OPEN){identifier="";queue+=character;index++;while(index<length){character=value.charAt(index);if(character===C_BRACKET_OPEN||character===C_BRACKET_CLOSE){break}if(character===C_BACKSLASH){identifier+=C_BACKSLASH;character=value.charAt(++index)}identifier+=character;index++}character=value.charAt(index);if(character===C_BRACKET_CLOSE){referenceType=identifier?REFERENCE_TYPE_FULL:REFERENCE_TYPE_COLLAPSED;queue+=identifier+character;index++}else{identifier=""}subvalue+=queue;queue=""}else{if(!content){return}identifier=content}if(referenceType!==REFERENCE_TYPE_FULL&&bracketed){return}subvalue=intro+subvalue;if(type===T_LINK&&self.inLink){return null}if(silent){return true}if(type===T_FOOTNOTE&&content.indexOf(" ")!==-1){return eat(subvalue)({type:"footnote",children:this.tokenizeInline(content,eat.now())})}now=eat.now();now.column+=intro.length;now.offset+=intro.length;identifier=referenceType===REFERENCE_TYPE_FULL?identifier:content;node={type:type+"Reference",identifier:normalize(identifier)};if(type===T_LINK||type===T_IMAGE){node.referenceType=referenceType}if(type===T_LINK){exit=self.enterLink();node.children=self.tokenizeInline(content,now);exit()}else if(type===T_IMAGE){node.alt=self.decode.raw(self.unescape(content),now)||null}return eat(subvalue)(node)}},function(module,exports,__webpack_require__){"use strict";var trim=__webpack_require__(104);var whitespace=__webpack_require__(77);var locate=__webpack_require__(1457);module.exports=strong;strong.locator=locate;var C_ASTERISK="*";var C_UNDERSCORE="_";function strong(eat,value,silent){var self=this;var index=0;var character=value.charAt(index);var now;var pedantic;var marker;var queue;var subvalue;var length;var prev;if(character!==C_ASTERISK&&character!==C_UNDERSCORE||value.charAt(++index)!==character){return}pedantic=self.options.pedantic;marker=character;subvalue=marker+marker;length=value.length;index++;queue="";character="";if(pedantic&&whitespace(value.charAt(index))){return}while(index<length){prev=character;character=value.charAt(index);if(character===marker&&value.charAt(index+1)===marker&&(!pedantic||!whitespace(prev))){character=value.charAt(index+2);if(character!==marker){if(!trim(queue)){return}if(silent){return true}now=eat.now();now.column+=2;now.offset+=2;return eat(subvalue+queue+subvalue)({type:"strong",children:self.tokenizeInline(queue,now)})}}if(!pedantic&&character==="\\"){queue+=character;character=value.charAt(++index)}queue+=character;index++}}},function(module,exports,__webpack_require__){"use strict";module.exports=locate;function locate(value,fromIndex){var asterisk=value.indexOf("**",fromIndex);var underscore=value.indexOf("__",fromIndex);if(underscore===-1){return asterisk}if(asterisk===-1){return underscore}return underscore<asterisk?underscore:asterisk}},function(module,exports,__webpack_require__){"use strict";var trim=__webpack_require__(104);var word=__webpack_require__(1459);var whitespace=__webpack_require__(77);var locate=__webpack_require__(1460);module.exports=emphasis;emphasis.locator=locate;var C_ASTERISK="*";var C_UNDERSCORE="_";function emphasis(eat,value,silent){var self=this;var index=0;var character=value.charAt(index);var now;var pedantic;var marker;var queue;var subvalue;var length;var prev;if(character!==C_ASTERISK&&character!==C_UNDERSCORE){return}pedantic=self.options.pedantic;subvalue=character;marker=character;length=value.length;index++;queue="";character="";if(pedantic&&whitespace(value.charAt(index))){return}while(index<length){prev=character;character=value.charAt(index);if(character===marker&&(!pedantic||!whitespace(prev))){character=value.charAt(++index);if(character!==marker){if(!trim(queue)||prev===marker){return}if(!pedantic&&marker===C_UNDERSCORE&&word(character)){queue+=marker;continue}if(silent){return true}now=eat.now();now.column++;now.offset++;return eat(subvalue+queue+marker)({type:"emphasis",children:self.tokenizeInline(queue,now)})}queue+=marker}if(!pedantic&&character==="\\"){queue+=character;character=value.charAt(++index)}queue+=character;index++}}},function(module,exports,__webpack_require__){"use strict";module.exports=wordCharacter;var fromCode=String.fromCharCode;var re=/\w/;function wordCharacter(character){return re.test(typeof character==="number"?fromCode(character):character.charAt(0))}},function(module,exports,__webpack_require__){"use strict";module.exports=locate;function locate(value,fromIndex){var asterisk=value.indexOf("*",fromIndex);var underscore=value.indexOf("_",fromIndex);if(underscore===-1){return asterisk}if(asterisk===-1){return underscore}return underscore<asterisk?underscore:asterisk}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);var locate=__webpack_require__(1462);module.exports=strikethrough;strikethrough.locator=locate;var C_TILDE="~";var DOUBLE="~~";function strikethrough(eat,value,silent){var self=this;var character="";var previous="";var preceding="";var subvalue="";var index;var length;var now;if(!self.options.gfm||value.charAt(0)!==C_TILDE||value.charAt(1)!==C_TILDE||whitespace(value.charAt(2))){return}index=1;length=value.length;now=eat.now();now.column+=2;now.offset+=2;while(++index<length){character=value.charAt(index);if(character===C_TILDE&&previous===C_TILDE&&(!preceding||!whitespace(preceding))){if(silent){return true}return eat(DOUBLE+subvalue+DOUBLE)({type:"delete",children:self.tokenizeInline(subvalue,now)})}subvalue+=previous;preceding=previous;previous=character}}},function(module,exports,__webpack_require__){"use strict";module.exports=locate;function locate(value,fromIndex){return value.indexOf("~~",fromIndex)}},function(module,exports,__webpack_require__){"use strict";var whitespace=__webpack_require__(77);var locate=__webpack_require__(1464);module.exports=inlineCode;inlineCode.locator=locate;var C_TICK="`";function inlineCode(eat,value,silent){var length=value.length;var index=0;var queue="";var tickQueue="";var contentQueue;var subqueue;var count;var openingCount;var subvalue;var character;var found;var next;while(index<length){if(value.charAt(index)!==C_TICK){break}queue+=C_TICK;index++}if(!queue){return}subvalue=queue;openingCount=index;queue="";next=value.charAt(index);count=0;while(index<length){character=next;next=value.charAt(index+1);if(character===C_TICK){count++;tickQueue+=character}else{count=0;queue+=character}if(count&&next!==C_TICK){if(count===openingCount){subvalue+=queue+tickQueue;found=true;break}queue+=tickQueue;tickQueue=""}index++}if(!found){if(openingCount%2!==0){return}queue=""}if(silent){return true}contentQueue="";subqueue="";length=queue.length;index=-1;while(++index<length){character=queue.charAt(index);if(whitespace(character)){subqueue+=character;continue}if(subqueue){if(contentQueue){contentQueue+=subqueue}subqueue=""}contentQueue+=character}return eat(subvalue)({type:"inlineCode",value:contentQueue})}},function(module,exports,__webpack_require__){"use strict";module.exports=locate;function locate(value,fromIndex){return value.indexOf("`",fromIndex)}},function(module,exports,__webpack_require__){"use strict";var locate=__webpack_require__(1466);module.exports=hardBreak;hardBreak.locator=locate;var MIN_BREAK_LENGTH=2;function hardBreak(eat,value,silent){var length=value.length;var index=-1;var queue="";var character;while(++index<length){character=value.charAt(index);if(character==="\n"){if(index<MIN_BREAK_LENGTH){return}if(silent){return true}queue+=character;return eat(queue)({type:"break"})}if(character!==" "){return}queue+=character}}},function(module,exports,__webpack_require__){"use strict";module.exports=locate;function locate(value,fromIndex){var index=value.indexOf("\n",fromIndex);while(index>fromIndex){if(value.charAt(index-1)!==" "){break}index--}return index}},function(module,exports,__webpack_require__){"use strict";module.exports=text;function text(eat,value,silent){var self=this;var methods;var tokenizers;var index;var length;var subvalue;var position;var tokenizer;var name;var min;var now;if(silent){return true}methods=self.inlineMethods;length=methods.length;tokenizers=self.inlineTokenizers;index=-1;min=value.length;while(++index<length){name=methods[index];if(name==="text"||!tokenizers[name]){continue}tokenizer=tokenizers[name].locator;if(!tokenizer){eat.file.fail("Missing locator: `"+name+"`")}position=tokenizer.call(self,value,1);if(position!==-1&&position<min){min=position}}subvalue=value.slice(0,min);now=eat.now();self.decode(subvalue,now,(function(content,position,source){eat(source||content)({type:"text",value:content})}))}},function(module,exports,__webpack_require__){var visitWithParents=__webpack_require__(1469);function addListMetadata(){return function(ast){visitWithParents(ast,"list",(function(listNode,parents){var depth=0,i,n;for(i=0,n=parents.length;i<n;i++){if(parents[i].type==="list")depth+=1}for(i=0,n=listNode.children.length;i<n;i++){var child=listNode.children[i];child.index=i;child.ordered=listNode.ordered}listNode.depth=depth}));return ast}}module.exports=addListMetadata},function(module,exports,__webpack_require__){"use strict";module.exports=visitParents;function visitParents(tree,type,visitor){var stack=[];if(typeof type==="function"){visitor=type;type=null}one(tree);function one(node){var result;if(!type||node.type===type){result=visitor(node,stack.concat())}if(node.children&&result!==false){return all(node.children,node)}return result}function all(children,parent){var length=children.length;var index=-1;var child;stack.push(parent);while(++index<length){child=children[index];if(child&&one(child)===false){return false}}stack.pop();return true}}},function(module,exports,__webpack_require__){"use strict";var visit=__webpack_require__(132);var type="virtualHtml";var selfClosingRe=/^<(area|base|br|col|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)\s*\/?>$/i;var simpleTagRe=/^<(\/?)([a-z]+)\s*>$/;module.exports=function(tree){var open;var currentParent;visit(tree,"html",(function(node,index,parent){if(currentParent!==parent){open=[];currentParent=parent}var selfClosing=getSelfClosing(node);if(selfClosing){parent.children.splice(index,1,{type:type,tag:selfClosing,position:node.position});return true}var current=getSimpleTag(node,parent);if(!current){return true}var matching=findAndPull(open,current.tag);if(matching){parent.children.splice(index,0,virtual(current,matching,parent))}else if(!current.opening){open.push(current)}return true}),true);return tree};function findAndPull(open,matchingTag){var i=open.length;while(i--){if(open[i].tag===matchingTag){return open.splice(i,1)[0]}}return false}function getSimpleTag(node,parent){var match=node.value.match(simpleTagRe);return match?{tag:match[2],opening:!match[1],node:node}:false}function getSelfClosing(node){var match=node.value.match(selfClosingRe);return match?match[1]:false}function virtual(fromNode,toNode,parent){var fromIndex=parent.children.indexOf(fromNode.node);var toIndex=parent.children.indexOf(toNode.node);var extracted=parent.children.splice(fromIndex,toIndex-fromIndex+1);var children=extracted.slice(1,-1);return{type:type,children:children,tag:fromNode.tag,position:{start:fromNode.node.position.start,end:toNode.node.position.end,indent:[]}}}},function(module,exports,__webpack_require__){"use strict";var visit=__webpack_require__(132);exports.ofType=function(types,mode){return function(node){types.forEach((function(type){return visit(node,type,disallow,true)}));return node};function disallow(node,index,parent){if(parent){untangle(node,index,parent,mode)}}};exports.ifNotMatch=function(allowNode,mode){return function(node){visit(node,disallow,true);return node};function disallow(node,index,parent){if(parent&&!allowNode(node,index,parent)){untangle(node,index,parent,mode)}}};function untangle(node,index,parent,mode){if(mode==="remove"){parent.children.splice(index,1)}else if(mode==="unwrap"){var args=[index,1];if(node.children){args=args.concat(node.children)}Array.prototype.splice.apply(parent.children,args)}}},function(module,exports,__webpack_require__){"use strict";var React=__webpack_require__(35);var xtend=__webpack_require__(82);var ReactIs=__webpack_require__(1473);var defaultNodePosition={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function astToReact(node,options){var parent=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var index=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var renderer=options.renderers[node.type];if(node.position===undefined){node.position=parent.node&&parent.node.position||defaultNodePosition}var pos=node.position.start;var key=[node.type,pos.line,pos.column,index].join("-");if(!ReactIs.isValidElementType(renderer)){throw new Error("Renderer for type `".concat(node.type,"` not defined or is not renderable"))}var nodeProps=getNodeProps(node,key,options,renderer,parent,index);return React.createElement(renderer,nodeProps,nodeProps.children||resolveChildren()||undefined);function resolveChildren(){return node.children&&node.children.map((function(childNode,i){return astToReact(childNode,options,{node:node,props:nodeProps},i)}))}}function getNodeProps(node,key,opts,renderer,parent,index){var props={key:key};var isTagRenderer=typeof renderer==="string";if(opts.sourcePos&&node.position){props["data-sourcepos"]=flattenPosition(node.position)}if(opts.rawSourcePos&&!isTagRenderer){props.sourcePosition=node.position}if(opts.includeNodeIndex&&parent.node&&parent.node.children&&!isTagRenderer){props.index=parent.node.children.indexOf(node);props.parentChildCount=parent.node.children.length}var ref=node.identifier!==null&&node.identifier!==undefined?opts.definitions[node.identifier]||{}:null;switch(node.type){case"root":assignDefined(props,{className:opts.className});break;case"text":props.nodeKey=key;props.children=node.value;break;case"heading":props.level=node.depth;break;case"list":props.start=node.start;props.ordered=node.ordered;props.tight=!node.loose;props.depth=node.depth;break;case"listItem":props.checked=node.checked;props.tight=!node.loose;props.ordered=node.ordered;props.index=node.index;props.children=getListItemChildren(node,parent).map((function(childNode,i){return astToReact(childNode,opts,{node:node,props:props},i)}));break;case"definition":assignDefined(props,{identifier:node.identifier,title:node.title,url:node.url});break;case"code":assignDefined(props,{language:node.lang&&node.lang.split(/\s/,1)[0]});break;case"inlineCode":props.children=node.value;props.inline=true;break;case"link":assignDefined(props,{title:node.title||undefined,target:typeof opts.linkTarget==="function"?opts.linkTarget(node.url,node.children,node.title):opts.linkTarget,href:opts.transformLinkUri?opts.transformLinkUri(node.url,node.children,node.title):node.url});break;case"image":assignDefined(props,{alt:node.alt||undefined,title:node.title||undefined,src:opts.transformImageUri?opts.transformImageUri(node.url,node.children,node.title,node.alt):node.url});break;case"linkReference":assignDefined(props,xtend(ref,{href:opts.transformLinkUri?opts.transformLinkUri(ref.href):ref.href}));break;case"imageReference":assignDefined(props,{src:opts.transformImageUri&&ref.href?opts.transformImageUri(ref.href,node.children,ref.title,node.alt):ref.href,title:ref.title||undefined,alt:node.alt||undefined});break;case"table":case"tableHead":case"tableBody":props.columnAlignment=node.align;break;case"tableRow":props.isHeader=parent.node.type==="tableHead";props.columnAlignment=parent.props.columnAlignment;break;case"tableCell":assignDefined(props,{isHeader:parent.props.isHeader,align:parent.props.columnAlignment[index]});break;case"virtualHtml":props.tag=node.tag;break;case"html":props.isBlock=node.position.start.line!==node.position.end.line;props.escapeHtml=opts.escapeHtml;props.skipHtml=opts.skipHtml;break;case"parsedHtml":{var parsedChildren;if(node.children){parsedChildren=node.children.map((function(child,i){return astToReact(child,opts,{node:node,props:props},i)}))}props.escapeHtml=opts.escapeHtml;props.skipHtml=opts.skipHtml;props.element=mergeNodeChildren(node,parsedChildren);break}default:assignDefined(props,xtend(node,{type:undefined,position:undefined,children:undefined}))}if(!isTagRenderer&&node.value){props.value=node.value}return props}function assignDefined(target,attrs){for(var key in attrs){if(typeof attrs[key]!=="undefined"){target[key]=attrs[key]}}}function mergeNodeChildren(node,parsedChildren){var el=node.element;if(Array.isArray(el)){var Fragment=React.Fragment||"div";return React.createElement(Fragment,null,el)}if(el.props.children||parsedChildren){var children=React.Children.toArray(el.props.children).concat(parsedChildren);return React.cloneElement(el,null,children)}return React.cloneElement(el,null)}function flattenPosition(pos){return[pos.start.line,":",pos.start.column,"-",pos.end.line,":",pos.end.column].map(String).join("")}function getListItemChildren(node,parent){if(node.loose){return node.children}if(parent.node&&node.index>0&&parent.node.children[node.index-1].loose){return node.children}return unwrapParagraphs(node)}function unwrapParagraphs(node){return node.children.reduce((function(array,child){return array.concat(child.type==="paragraph"?child.children||[]:[child])}),[])}module.exports=astToReact},function(module,exports,__webpack_require__){"use strict";if(true){module.exports=__webpack_require__(1474)}else{}},function(module,exports,__webpack_require__){"use strict";
/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z},function(module,exports,__webpack_require__){"use strict";var visit=__webpack_require__(132);module.exports=function(node){visit(node,"table",wrap);return node};function wrap(table){var children=table.children;table.children=[{type:"tableHead",align:table.align,children:[children[0]],position:children[0].position}];if(children.length>1){table.children.push({type:"tableBody",align:table.align,children:children.slice(1),position:{start:children[1].position.start,end:children[children.length-1].position.end}})}}},function(module,exports,__webpack_require__){"use strict";module.exports=function getDefinitions(node){var defs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return(node.children||[]).reduce((function(definitions,child){if(child.type==="definition"){definitions[child.identifier]={href:child.url,title:child.title}}return getDefinitions(child,definitions)}),defs)}},function(module,exports,__webpack_require__){"use strict";var protocols=["http","https","mailto","tel"];module.exports=function uriTransformer(uri){var url=(uri||"").trim();var first=url.charAt(0);if(first==="#"||first==="/"){return url}var colon=url.indexOf(":");if(colon===-1){return url}var length=protocols.length;var index=-1;while(++index<length){var protocol=protocols[index];if(colon===protocol.length&&url.slice(0,protocol.length).toLowerCase()===protocol){return url}}index=url.indexOf("?");if(index!==-1&&colon>index){return url}index=url.indexOf("#");if(index!==-1&&colon>index){return url}return"javascript:void(0)"}},function(module,exports,__webpack_require__){"use strict";var xtend=__webpack_require__(82);var React=__webpack_require__(35);var supportsStringRender=parseInt((React.version||"16").slice(0,2),10)>=16;var createElement=React.createElement;module.exports={break:"br",paragraph:"p",emphasis:"em",strong:"strong",thematicBreak:"hr",blockquote:"blockquote",delete:"del",link:"a",image:"img",linkReference:"a",imageReference:"img",table:SimpleRenderer.bind(null,"table"),tableHead:SimpleRenderer.bind(null,"thead"),tableBody:SimpleRenderer.bind(null,"tbody"),tableRow:SimpleRenderer.bind(null,"tr"),tableCell:TableCell,root:Root,text:TextRenderer,list:List,listItem:ListItem,definition:NullRenderer,heading:Heading,inlineCode:InlineCode,code:CodeBlock,html:Html,virtualHtml:VirtualHtml,parsedHtml:ParsedHtml};function TextRenderer(props){return supportsStringRender?props.children:createElement("span",null,props.children)}function Root(props){var useFragment=!props.className;var root=useFragment?React.Fragment||"div":"div";return createElement(root,useFragment?null:props,props.children)}function SimpleRenderer(tag,props){return createElement(tag,getCoreProps(props),props.children)}function TableCell(props){var style=props.align?{textAlign:props.align}:undefined;var coreProps=getCoreProps(props);return createElement(props.isHeader?"th":"td",style?xtend({style:style},coreProps):coreProps,props.children)}function Heading(props){return createElement("h".concat(props.level),getCoreProps(props),props.children)}function List(props){var attrs=getCoreProps(props);if(props.start!==null&&props.start!==1&&props.start!==undefined){attrs.start=props.start.toString()}return createElement(props.ordered?"ol":"ul",attrs,props.children)}function ListItem(props){var checkbox=null;if(props.checked!==null&&props.checked!==undefined){var checked=props.checked;checkbox=createElement("input",{type:"checkbox",checked:checked,readOnly:true})}return createElement("li",getCoreProps(props),checkbox,props.children)}function CodeBlock(props){var className=props.language&&"language-".concat(props.language);var code=createElement("code",className?{className:className}:null,props.value);return createElement("pre",getCoreProps(props),code)}function InlineCode(props){return createElement("code",getCoreProps(props),props.children)}function Html(props){if(props.skipHtml){return null}var tag=props.isBlock?"div":"span";if(props.escapeHtml){var comp=React.Fragment||tag;return createElement(comp,null,props.value)}var nodeProps={dangerouslySetInnerHTML:{__html:props.value}};return createElement(tag,nodeProps)}function ParsedHtml(props){return props["data-sourcepos"]?React.cloneElement(props.element,{"data-sourcepos":props["data-sourcepos"]}):props.element}function VirtualHtml(props){return createElement(props.tag,getCoreProps(props),props.children)}function NullRenderer(){return null}function getCoreProps(props){return props["data-sourcepos"]?{"data-sourcepos":props["data-sourcepos"]}:{}}},function(module,exports,__webpack_require__){"use strict";var HtmlParser="__RMD_HTML_PARSER__";exports.HtmlParser=typeof Symbol==="undefined"?HtmlParser:Symbol(HtmlParser)},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const block_1=__importDefault(__webpack_require__(1481));const inline_1=__importDefault(__webpack_require__(1482));function mathPlugin(opts={}){block_1.default.call(this,opts);inline_1.default.call(this,opts)}exports.mathPlugin=mathPlugin;exports.default=mathPlugin},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const C_NEWLINE="\n";const C_TAB="\t";const C_SPACE=" ";const C_DOLLAR="$";const MIN_FENCE_COUNT=2;const CODE_INDENT_COUNT=4;const trim=value=>{var val=String(value);var index=val.length;while(val.charAt(--index)===C_NEWLINE){}return val.slice(0,index+1)};function blockPlugin(_opts){function blockTokenizer(eat,value,silent){const length=value.length+1;let index=0;let subvalue="";let character;while(index<length){character=value.charAt(index);if(character!==C_SPACE&&character!==C_TAB){break}subvalue+=character;index++}const indent=index;character=value.charAt(index);if(character!==C_DOLLAR){return}index++;const marker=character;let fenceCount=1;subvalue+=character;while(index<length){character=value.charAt(index);if(character!==marker){break}subvalue+=character;fenceCount++;index++}if(fenceCount<MIN_FENCE_COUNT){return}while(index<length){character=value.charAt(index);if(character===C_NEWLINE){break}if(character===C_DOLLAR){return}subvalue+=character;index++}character=value.charAt(index);if(silent){return true}const now=eat.now();now.column+=subvalue.length;now.offset+=subvalue.length;let closing="";let exdentedClosing="";let content="";let exdentedContent="";while(index<length){character=value.charAt(index);content+=closing;exdentedContent+=exdentedClosing;closing=exdentedClosing="";if(character!==C_NEWLINE){content+=character;exdentedClosing+=character;index++;continue}if(content){closing+=character;exdentedClosing+=character}else{subvalue+=character}let queue="";index++;while(index<length){character=value.charAt(index);if(character!==C_SPACE){break}queue+=character;index++}closing+=queue;exdentedClosing+=queue.slice(indent);if(queue.length>=CODE_INDENT_COUNT){continue}queue="";while(index<length){character=value.charAt(index);if(character!==marker){break}queue+=character;index++}closing+=queue;exdentedClosing+=queue;if(queue.length<fenceCount){continue}queue="";while(index<length){character=value.charAt(index);if(character===C_NEWLINE){break}closing+=character;exdentedClosing+=character;index++}break}subvalue+=content+closing;const trimmedContent=trim(exdentedContent);return eat(subvalue)({type:"math",value:trimmedContent,data:{hName:"div",hProperties:{className:"math"},hChildren:[{type:"text",value:trimmedContent}]}})}const Parser=this.Parser;const blockTokenizers=Parser.prototype.blockTokenizers;const blockMethods=Parser.prototype.blockMethods;blockTokenizers.math=blockTokenizer;blockMethods.splice(blockMethods.indexOf("fencedCode")+1,0,"math");const interruptParagraph=Parser.prototype.interruptParagraph;const interruptList=Parser.prototype.interruptList;const interruptBlockquote=Parser.prototype.interruptBlockquote;interruptParagraph.splice(interruptParagraph.indexOf("fencedCode")+1,0,["math"]);interruptList.splice(interruptList.indexOf("fencedCode")+1,0,["math"]);interruptBlockquote.splice(interruptBlockquote.indexOf("fencedCode")+1,0,["math"]);const Compiler=this.Compiler;if(Compiler!=null){const visitors=Compiler.prototype.visitors;visitors.math=node=>`$$\n${node.value}\n$$`}}exports.default=blockPlugin},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function locator(value,fromIndex){return value.indexOf("$",fromIndex)}const ESCAPED_INLINE_MATH=/^\\\$/;const INLINE_MATH=/^\$((?:\\\$|[^$])+)\$/;const INLINE_MATH_DOUBLE=/^\$\$((?:\\\$|[^$])+)\$\$/;function inlinePlugin(_opts){function inlineTokenizer(eat,value,silent){let isDouble=true;let match=INLINE_MATH_DOUBLE.exec(value);if(!match){match=INLINE_MATH.exec(value);isDouble=false}const escaped=ESCAPED_INLINE_MATH.exec(value);if(escaped){if(silent){return true}return eat(escaped[0])({type:"text",value:"$"})}if(value.slice(-2)==="\\$"){return eat(value)({type:"text",value:`${value.slice(0,-2)}$`})}if(match){if(silent){return true}const endingDollarInBackticks=match[0].includes("`")&&value.slice(match[0].length).includes("`");if(endingDollarInBackticks){const toEat=value.slice(0,value.indexOf("`"));return eat(toEat)({type:"text",value:toEat})}const trimmedContent=match[1].trim();if(isDouble){return eat(match[0])({type:"math",value:trimmedContent,data:{hName:"div",hProperties:{className:"math"},hChildren:[{type:"text",value:trimmedContent}]}})}return eat(match[0])({type:"inlineMath",value:trimmedContent,data:{hName:"span",hProperties:{className:"inlineMath"},hChildren:[{type:"text",value:trimmedContent}]}})}}inlineTokenizer.locator=locator;const Parser=this.Parser;const inlineTokenizers=Parser.prototype.inlineTokenizers;const inlineMethods=Parser.prototype.inlineMethods;inlineTokenizers.math=inlineTokenizer;inlineMethods.splice(inlineMethods.indexOf("text"),0,"math");const Compiler=this.Compiler;if(Compiler!=null){const visitors=Compiler.prototype.visitors;visitors.inlineMath=node=>`$${node.value}$`}}exports.default=inlinePlugin},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const unist_util_visit_1=__importDefault(__webpack_require__(132));const ATTACHMENT_PREFIX="attachment:";function attachmentTransformer(attachments){return function(tree,props){if(!attachments)return tree;unist_util_visit_1.default(tree,"image",(function(node){const imageUrl=node.url;if(imageUrl.indexOf(ATTACHMENT_PREFIX)===0){const key=imageUrl.substring(ATTACHMENT_PREFIX.length,imageUrl.length);const dataSrc=attachments[key];if(dataSrc){node.url=dataSrc}}}));return tree}}exports.default=attachmentTransformer},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const presentational_components_1=__webpack_require__(223);const react_1=__importDefault(__webpack_require__(35));const markdown_render_1=__importDefault(__webpack_require__(780));const noop=()=>{};class MarkdownPreviewer extends react_1.default.Component{constructor(props){super(props);this.state={view:!props.editorFocused};this.openEditor=this.openEditor.bind(this);this.editorKeyDown=this.editorKeyDown.bind(this);this.renderedKeyDown=this.renderedKeyDown.bind(this);this.closeEditor=this.closeEditor.bind(this)}static getDerivedStateFromProps(props,state){return{view:!props.editorFocused}}shouldComponentUpdate(nextProps){return this.props.editorFocused!==nextProps.editorFocused||this.props.cellFocused!==nextProps.cellFocused}componentDidMount(){this.updateFocus()}componentDidUpdate(){this.updateFocus()}updateFocus(){if(this.rendered&&this.state&&this.state.view&&this.props.cellFocused){this.rendered.focus();if(this.props.editorFocused){this.openEditor()}}}editorKeyDown(e){const shift=e.shiftKey;const ctrl=e.ctrlKey;if((shift||ctrl)&&e.key==="Enter"){this.closeEditor()}}closeEditor(){this.setState({view:true});this.props.unfocusEditor()}openEditor(){this.setState({view:false});this.props.focusEditor()}renderedKeyDown(e){const shift=e.shiftKey;const ctrl=e.ctrlKey;if((shift||ctrl)&&e.key==="Enter"){if(this.state.view){return}this.closeEditor();return}switch(e.key){case"Enter":this.openEditor();e.preventDefault();return;case"ArrowUp":this.props.focusAbove();break;case"ArrowDown":this.props.focusBelow();break;default:}return}render(){const source=this.props.source;return this.state&&this.state.view?react_1.default.createElement("div",{onDoubleClick:this.openEditor,onKeyDown:this.renderedKeyDown,ref:rendered=>{this.rendered=rendered},tabIndex:this.props.cellFocused?0:undefined,style:{outline:"none"}},react_1.default.createElement(presentational_components_1.Outputs,null,react_1.default.createElement(markdown_render_1.default,Object.assign({},this.props.markdownOptions,{source:source?source:"*Empty markdown cell, double click me to add content.*"})))):react_1.default.createElement("div",{onKeyDown:this.editorKeyDown},react_1.default.createElement(presentational_components_1.Input,null,react_1.default.createElement(presentational_components_1.PromptBuffer,null),this.props.children),react_1.default.createElement(presentational_components_1.Outputs,{hidden:source===""},react_1.default.createElement(markdown_render_1.default,Object.assign({},this.props.markdownOptions,{source:source?source:"*Empty markdown cell, double click me to add content.*"}))))}}exports.MarkdownPreviewer=MarkdownPreviewer;MarkdownPreviewer.defaultProps={cellFocused:false,editorFocused:false,focusAbove:noop,focusBelow:noop,focusEditor:noop,unfocusEditor:noop,source:""}},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});var rich_media_1=__webpack_require__(245);exports.RichMedia=rich_media_1.RichMedia;var output_1=__webpack_require__(1486);exports.Output=output_1.Output;var kernel_output_error_1=__webpack_require__(1487);exports.KernelOutputError=kernel_output_error_1.KernelOutputError;var display_data_1=__webpack_require__(1490);exports.DisplayData=display_data_1.DisplayData;var execute_result_1=__webpack_require__(1491);exports.ExecuteResult=execute_result_1.ExecuteResult;var stream_text_1=__webpack_require__(1492);exports.StreamText=stream_text_1.StreamText;var prompt_1=__webpack_require__(1493);exports.PromptRequest=prompt_1.PromptRequest;const Media=__importStar(__webpack_require__(1494));exports.Media=Media},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const ErrorFallbackDiv=styled_components_1.default.div`
  backgroundcolor: ghostwhite;
  color: black;
  font-weight: 600;
  display: block;
  padding: 10px;
  margin-bottom: 20px;
`;const ErrorFallback=caught=>React.createElement(ErrorFallbackDiv,null,caught.error?React.createElement("h3",null,caught.error.toString()):null,React.createElement("details",null,React.createElement("summary",null,"stack trace"),React.createElement("pre",null,caught.info.componentStack)));class Output extends React.PureComponent{constructor(){super(...arguments);this.state={caughtError:null}}componentDidCatch(error,info){const caughtError={error:error,info:info};this.setState({caughtError:caughtError})}render(){if(this.state.caughtError){return this.props.renderError(Object.assign(Object.assign({},this.state.caughtError),{output:this.props.output,children:this.props.children}))}let chosenOne=null;if(this.props.output==null){return null}const output_type=this.props.output.output_type;React.Children.forEach(this.props.children,child=>{if(typeof child==="string"||typeof child==="number"){return}const childElement=child;if(chosenOne){return}if(!childElement||typeof childElement!=="object"||!("props"in childElement)){return}if(childElement.props&&childElement.props.output_type){const child_output_type=Array.isArray(childElement.props.output_type)?childElement.props.output_type:[childElement.props.output_type];chosenOne=child_output_type.includes(output_type)?childElement:null;return}});if(chosenOne===null){return null}return React.cloneElement(chosenOne,{output:this.props.output})}}exports.Output=Output;Output.defaultProps={output:null,renderError:ErrorFallback};exports.default=Output},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});const ansi_to_react_1=__importDefault(__webpack_require__(246));const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const PlainKernelOutputError=props=>{const{output:output}=props;if(!output){return null}const{ename:ename,evalue:evalue,traceback:traceback=[]}=output;const joinedTraceback=typeof traceback.join==="function"?traceback.join("\n"):traceback;const kernelOutputError=[];if(joinedTraceback){kernelOutputError.push(joinedTraceback)}else{if(ename&&evalue){kernelOutputError.push(`${ename}: ${evalue}`)}}return React.createElement(ansi_to_react_1.default,{className:props.className,linkify:false},kernelOutputError.join("\n"))};exports.KernelOutputError=styled_components_1.default(PlainKernelOutputError)`
  white-space: pre-wrap;
`;exports.KernelOutputError.defaultProps={output_type:"error"};exports.KernelOutputError.displayName="KernelOutputError";exports.default=exports.KernelOutputError},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var ANSI_COLORS=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]];var Anser=function(){_createClass(Anser,null,[{key:"escapeForHtml",value:function escapeForHtml(txt){return(new Anser).escapeForHtml(txt)}},{key:"linkify",value:function linkify(txt){return(new Anser).linkify(txt)}},{key:"ansiToHtml",value:function ansiToHtml(txt,options){return(new Anser).ansiToHtml(txt,options)}},{key:"ansiToJson",value:function ansiToJson(txt,options){return(new Anser).ansiToJson(txt,options)}},{key:"ansiToText",value:function ansiToText(txt){return(new Anser).ansiToText(txt)}}]);function Anser(){_classCallCheck(this,Anser);this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null;this.bright=0}_createClass(Anser,[{key:"setupPalette",value:function setupPalette(){this.PALETTE_COLORS=[];for(var i=0;i<2;++i){for(var j=0;j<8;++j){this.PALETTE_COLORS.push(ANSI_COLORS[i][j].color)}}var levels=[0,95,135,175,215,255];var format=function format(r,g,b){return levels[r]+", "+levels[g]+", "+levels[b]};var r=void 0,g=void 0,b=void 0;for(var _r=0;_r<6;++_r){for(var _g=0;_g<6;++_g){for(var _b=0;_b<6;++_b){this.PALETTE_COLORS.push(format(_r,_g,_b))}}}var level=8;for(var _i=0;_i<24;++_i,level+=10){this.PALETTE_COLORS.push(format(level,level,level))}}},{key:"escapeForHtml",value:function escapeForHtml(txt){return txt.replace(/[&<>]/gm,(function(str){return str=="&"?"&amp;":str=="<"?"&lt;":str==">"?"&gt;":""}))}},{key:"linkify",value:function linkify(txt){return txt.replace(/(https?:\/\/[^\s]+)/gm,(function(str){return'<a href="'+str+'">'+str+"</a>"}))}},{key:"ansiToHtml",value:function ansiToHtml(txt,options){return this.process(txt,options,true)}},{key:"ansiToJson",value:function ansiToJson(txt,options){options=options||{};options.json=true;options.clearLine=false;return this.process(txt,options,true)}},{key:"ansiToText",value:function ansiToText(txt){return this.process(txt,{},false)}},{key:"process",value:function process(txt,options,markup){var _this=this;var self=this;var raw_text_chunks=txt.split(/\033\[/);var first_chunk=raw_text_chunks.shift();if(options===undefined||options===null){options={}}options.clearLine=/\r/.test(txt);var color_chunks=raw_text_chunks.map((function(chunk){return _this.processChunk(chunk,options,markup)}));if(options&&options.json){var first=self.processChunkJson("");first.content=first_chunk;first.clearLine=options.clearLine;color_chunks.unshift(first);if(options.remove_empty){color_chunks=color_chunks.filter((function(c){return!c.isEmpty()}))}return color_chunks}else{color_chunks.unshift(first_chunk)}return color_chunks.join("")}},{key:"processChunkJson",value:function processChunkJson(text,options,markup){options=typeof options=="undefined"?{}:options;var use_classes=options.use_classes=typeof options.use_classes!="undefined"&&options.use_classes;var key=options.key=use_classes?"class":"color";var result={content:text,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:options.clearLine,decoration:null,was_processed:false,isEmpty:function isEmpty(){return!result.content}};var matches=text.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!matches)return result;var orig_txt=result.content=matches[4];var nums=matches[2].split(";");if(matches[1]!==""||matches[3]!=="m"){return result}if(!markup){return result}var self=this;self.decoration=null;while(nums.length>0){var num_str=nums.shift();var num=parseInt(num_str);if(isNaN(num)||num===0){self.fg=self.bg=self.decoration=null}else if(num===1){self.decoration="bold"}else if(num===2){self.decoration="dim"}else if(num==3){self.decoration="italic"}else if(num==4){self.decoration="underline"}else if(num==5){self.decoration="blink"}else if(num===7){self.decoration="reverse"}else if(num===8){self.decoration="hidden"}else if(num===9){self.decoration="strikethrough"}else if(num==39){self.fg=null}else if(num==49){self.bg=null}else if(num>=30&&num<38){self.fg=ANSI_COLORS[0][num%10][key]}else if(num>=90&&num<98){self.fg=ANSI_COLORS[1][num%10][key]}else if(num>=40&&num<48){self.bg=ANSI_COLORS[0][num%10][key]}else if(num>=100&&num<108){self.bg=ANSI_COLORS[1][num%10][key]}else if(num===38||num===48){var is_foreground=num===38;if(nums.length>=1){var mode=nums.shift();if(mode==="5"&&nums.length>=1){var palette_index=parseInt(nums.shift());if(palette_index>=0&&palette_index<=255){if(!use_classes){if(!this.PALETTE_COLORS){self.setupPalette()}if(is_foreground){self.fg=this.PALETTE_COLORS[palette_index]}else{self.bg=this.PALETTE_COLORS[palette_index]}}else{var klass=palette_index>=16?"ansi-palette-"+palette_index:ANSI_COLORS[palette_index>7?1:0][palette_index%8]["class"];if(is_foreground){self.fg=klass}else{self.bg=klass}}}}else if(mode==="2"&&nums.length>=3){var r=parseInt(nums.shift());var g=parseInt(nums.shift());var b=parseInt(nums.shift());if(r>=0&&r<=255&&g>=0&&g<=255&&b>=0&&b<=255){var color=r+", "+g+", "+b;if(!use_classes){if(is_foreground){self.fg=color}else{self.bg=color}}else{if(is_foreground){self.fg="ansi-truecolor";self.fg_truecolor=color}else{self.bg="ansi-truecolor";self.bg_truecolor=color}}}}}}}if(self.fg===null&&self.bg===null&&self.decoration===null){return result}else{var styles=[];var classes=[];var data={};result.fg=self.fg;result.bg=self.bg;result.fg_truecolor=self.fg_truecolor;result.bg_truecolor=self.bg_truecolor;result.decoration=self.decoration;result.was_processed=true;return result}}},{key:"processChunk",value:function processChunk(text,options,markup){var _this2=this;var self=this;options=options||{};var jsonChunk=this.processChunkJson(text,options,markup);if(options.json){return jsonChunk}if(jsonChunk.isEmpty()){return""}if(!jsonChunk.was_processed){return jsonChunk.content}var use_classes=options.use_classes;var styles=[];var classes=[];var data={};var render_data=function render_data(data){var fragments=[];var key=void 0;for(key in data){if(data.hasOwnProperty(key)){fragments.push("data-"+key+'="'+_this2.escapeForHtml(data[key])+'"')}}return fragments.length>0?" "+fragments.join(" "):""};if(jsonChunk.fg){if(use_classes){classes.push(jsonChunk.fg+"-fg");if(jsonChunk.fg_truecolor!==null){data["ansi-truecolor-fg"]=jsonChunk.fg_truecolor;jsonChunk.fg_truecolor=null}}else{styles.push("color:rgb("+jsonChunk.fg+")")}}if(jsonChunk.bg){if(use_classes){classes.push(jsonChunk.bg+"-bg");if(jsonChunk.bg_truecolor!==null){data["ansi-truecolor-bg"]=jsonChunk.bg_truecolor;jsonChunk.bg_truecolor=null}}else{styles.push("background-color:rgb("+jsonChunk.bg+")")}}if(jsonChunk.decoration){if(use_classes){classes.push("ansi-"+jsonChunk.decoration)}else if(jsonChunk.decoration==="bold"){styles.push("font-weight:bold")}else if(jsonChunk.decoration==="dim"){styles.push("opacity:0.5")}else if(jsonChunk.decoration==="italic"){styles.push("font-style:italic")}else if(jsonChunk.decoration==="reverse"){styles.push("filter:invert(100%)")}else if(jsonChunk.decoration==="hidden"){styles.push("visibility:hidden")}else if(jsonChunk.decoration==="strikethrough"){styles.push("text-decoration:line-through")}else{styles.push("text-decoration:"+jsonChunk.decoration)}}if(use_classes){return'<span class="'+classes.join(" ")+'"'+render_data(data)+">"+jsonChunk.content+"</span>"}else{return'<span style="'+styles.join(";")+'"'+render_data(data)+">"+jsonChunk.content+"</span>"}}}]);return Anser}();module.exports=Anser},function(module,exports){function escapeCarriageReturn(txt){if(!txt)return"";if(!/\r/.test(txt))return txt;txt=txt.replace(/\r+\n/gm,"\n");while(/\r[^$]/.test(txt)){var base=/^(.*)\r+/m.exec(txt)[1];var insert=/\r+(.*)$/m.exec(txt)[1];insert=insert+base.slice(insert.length,base.length);txt=txt.replace(/\r+.*$/m,"\r").replace(/^.*\r/m,insert)}return txt}function findLongestString(arr){var longest=0;for(var i=0;i<arr.length;i++){if(arr[longest].length<=arr[i].length){longest=i}}return longest}function escapeSingleLineSafe(txt){if(!/\r/.test(txt))return txt;var arr=txt.split("\r");var res=[];while(arr.length>0){var longest=findLongestString(arr);res.push(arr[longest]);arr=arr.slice(longest+1)}return res.join("\r")}function escapeCarriageReturnSafe(txt){if(!txt)return"";if(!/\r/.test(txt))return txt;if(!/\n/.test(txt))return escapeSingleLineSafe(txt);txt=txt.replace(/\r+\n/gm,"\n");var idx=txt.lastIndexOf("\n");return escapeCarriageReturn(txt.slice(0,idx))+"\n"+escapeSingleLineSafe(txt.slice(idx+1))}module.exports=escapeCarriageReturn;module.exports.escapeCarriageReturn=escapeCarriageReturn;module.exports.escapeCarriageReturnSafe=escapeCarriageReturnSafe},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const rich_media_1=__webpack_require__(245);exports.DisplayData=props=>{const{output:output,children:children}=props;if(!output){return null}return React.createElement(rich_media_1.RichMedia,{data:output.data,metadata:output.metadata},children)};exports.DisplayData.defaultProps={output_type:"display_data",output:null};exports.default=exports.DisplayData},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const rich_media_1=__webpack_require__(245);exports.ExecuteResult=props=>{const{output:output,children:children}=props;if(!output){return null}return React.createElement(rich_media_1.RichMedia,{data:output.data,metadata:output.metadata},children)};exports.ExecuteResult.defaultProps={output:null,output_type:"execute_result"};exports.default=exports.ExecuteResult},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});const ansi_to_react_1=__importDefault(__webpack_require__(246));const React=__importStar(__webpack_require__(35));class StreamText extends React.PureComponent{render(){const{output:output}=this.props;if(!output){return null}const{text:text,name:name}=output;return React.createElement(ansi_to_react_1.default,{linkify:true,className:`nteract-display-area-${name}`},text)}}exports.StreamText=StreamText;StreamText.defaultProps={output:null,output_type:"stream"};exports.default=StreamText},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const Container=styled_components_1.default.div`
  margin-left: var(--prompt-width, 50px);
  padding: 5px;

  & label {
    padding-right: 5px;
  }
`;class PromptRequest extends React.PureComponent{constructor(props){super(props);this.state={value:""};this.handleChange=this.handleChange.bind(this);this.handleSubmitPromptReply=this.handleSubmitPromptReply.bind(this)}handleSubmitPromptReply(event){event.preventDefault();this.props.submitPromptReply(this.state.value)}handleChange(event){this.setState({value:event.target.value})}render(){return React.createElement(Container,null,React.createElement("form",{onSubmit:this.handleSubmitPromptReply},this.props.prompt&&React.createElement("label",null,this.props.prompt),React.createElement("input",{type:this.props.password?"password":"text",value:this.state.value,onChange:this.handleChange}),React.createElement("input",{type:"submit"})))}}exports.PromptRequest=PromptRequest;exports.default=PromptRequest},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var html_1=__webpack_require__(1495);exports.HTML=html_1.HTML;var json_1=__webpack_require__(1497);exports.Json=json_1.Json;var svg_1=__webpack_require__(1555);exports.SVG=svg_1.SVG;var plain_1=__webpack_require__(1556);exports.Plain=plain_1.Plain;var markdown_1=__webpack_require__(1557);exports.Markdown=markdown_1.Markdown;var latex_1=__webpack_require__(1558);exports.LaTeX=latex_1.LaTeX;var image_1=__webpack_require__(1559);exports.Image=image_1.Image;var javascript_1=__webpack_require__(1560);exports.JavaScript=javascript_1.JavaScript},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const outputStyle_1=__importDefault(__webpack_require__(1496));function createFragment(html){const range=document.createRange();const fragment=range.createContextualFragment(html);return fragment}const StyledDiv=styled_components_1.default.div`
  ${outputStyle_1.default}
`;class HTML extends React.PureComponent{componentDidMount(){if(!this.el){return}while(this.el.firstChild){this.el.removeChild(this.el.firstChild)}this.el.appendChild(createFragment(this.props.data))}componentDidUpdate(){if(!this.el){return}while(this.el.firstChild){this.el.removeChild(this.el.firstChild)}this.el.appendChild(createFragment(this.props.data))}render(){return React.createElement(StyledDiv,{dangerouslySetInnerHTML:{__html:this.props.data},ref:el=>{this.el=el}})}}exports.HTML=HTML;HTML.defaultProps={data:"",mediaType:"text/html"};exports.default=HTML},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=`\n& a {\n  color: var(--link-color-unvisited, blue);\n}\n\n& a:visited {\n  color: var(--link-color-visited, blue);\n}\n\n& code {\n  font-family: "Source Code Pro";\n  white-space: pre-wrap;\n  font-size: 14px;\n}\n\n& pre {\n  white-space: pre-wrap;\n  font-size: 14px;\n  word-wrap: break-word;\n}\n\n& img {\n  display: block;\n  max-width: 100%;\n}\n\n& kbd {\n  display: inline-block;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  padding: 0.1em 0.5em;\n  margin: 0 0.2em;\n  box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;\n  background-color: #f7f7f7;\n}\n\n& table {\n  border-collapse: collapse;\n}\n\n& th,\n& td,\n/* for legacy output handling */\n& .th,\n& .td {\n  padding: 0.5em 1em;\n  border: 1px solid var(--theme-app-border, #cbcbcb);\n}\n\n& th {\n  text-align: left;\n}\n\n& blockquote {\n  padding: 0.75em 0.5em 0.75em 1em;\n  background: var(--theme-cell-output-bg, white);\n  border-left: 0.5em solid #ddd;\n}\n\n& blockquote::before {\n  display: block;\n  height: 0;\n  content: "“";\n  margin-left: -0.95em;\n  font: italic 400%/1 Open Serif, Georgia, "Times New Roman", serif;\n  color: solid var(--theme-app-border, #cbcbcb);\n}\n\n/* for nested paragraphs in block quotes */\n& blockquote p {\n  display: inline;\n}\n\n& dd {\n  display: block;\n  -webkit-margin-start: 40px;\n}\n& dl {\n  display: block;\n  -webkit-margin-before: 1__qem;\n  -webkit-margin-after: 1em;\n  -webkit-margin-start: 0;\n  -webkit-margin-end: 0;\n}\n\n& dt {\n  display: block;\n}\n\n& dl {\n  width: 100%;\n  overflow: hidden;\n  padding: 0;\n  margin: 0;\n}\n\n& dt {\n  font-weight: bold;\n  float: left;\n  width: 20%;\n  /* adjust the width; make sure the total of both is 100% */\n  padding: 0;\n  margin: 0;\n}\n\n& dd {\n  float: left;\n  width: 80%;\n  /* adjust the width; make sure the total of both is 100% */\n  padding: 0;\n  margin: 0;\n}\n\n/** Adaptation for the R kernel's inline lists **/\n& .list-inline li {\n  display: inline;\n  padding-right: 20px;\n  text-align: center;\n}`},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const React=__importStar(__webpack_require__(35));const react_json_tree_1=__importDefault(__webpack_require__(1498));const defaultTheme={base00:"transparent",base01:"#073642",base02:"#586e75",base03:"#657b83",base04:"#839496",base05:"#93a1a1",base06:"#eee8d5",base07:"#fdf6e3",base08:"#dc322f",base09:"#cb4b16",base0A:"#b58900",base0B:"#66BB6A",base0C:"#2aa198",base0D:"#268bd2",base0E:"#6c71c4",base0F:"#d33682"};const darkTheme=Object.assign({},defaultTheme,{base0B:"#EDF3F7"});class Json extends React.PureComponent{constructor(){super(...arguments);this.shouldExpandNode=()=>{if(this.props.metadata&&this.props.metadata.expanded){return true}return false}}render(){const theme=this.props.theme==="dark"?darkTheme:defaultTheme;return React.createElement(react_json_tree_1.default,{data:this.props.data,theme:theme,invertTheme:false,hideRoot:true,shouldExpandNode:this.shouldExpandNode})}}exports.Json=Json;Json.defaultProps={data:null,mediaType:"application/json",theme:"light",metadata:{expanded:true}};exports.default=Json},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));var _JSONNode=_interopRequireDefault(__webpack_require__(787));var _createStylingFromTheme=_interopRequireDefault(__webpack_require__(1506));var _reactBase16Styling=__webpack_require__(789);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(Reflect.construct(Date,[],(function(){})));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){if(typeof Symbol==="undefined"||!(Symbol.iterator in Object(arr)))return;var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}var identity=function identity(value){return value};var expandRootNode=function expandRootNode(keyName,data,level){return level===0};var defaultItemString=function defaultItemString(type,data,itemType,itemString){return _react["default"].createElement("span",null,itemType," ",itemString)};var defaultLabelRenderer=function defaultLabelRenderer(_ref){var _ref2=_slicedToArray(_ref,1),label=_ref2[0];return _react["default"].createElement("span",null,label,":")};var noCustomNode=function noCustomNode(){return false};function checkLegacyTheming(theme,props){var deprecatedStylingMethodsMap={getArrowStyle:"arrow",getListStyle:"nestedNodeChildren",getItemStringStyle:"nestedNodeItemString",getLabelStyle:"label",getValueStyle:"valueText"};var deprecatedStylingMethods=Object.keys(deprecatedStylingMethodsMap).filter((function(name){return props[name]}));if(deprecatedStylingMethods.length>0){if(typeof theme==="string"){theme={extend:theme}}else{theme=_objectSpread({},theme)}deprecatedStylingMethods.forEach((function(name){console.error('Styling method "'.concat(name,'" is deprecated, use "theme" property instead'));theme[deprecatedStylingMethodsMap[name]]=function(_ref3){var style=_ref3.style;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}return{style:_objectSpread(_objectSpread({},style),props[name].apply(props,args))}}}))}return theme}function getStateFromProps(props){var theme=checkLegacyTheming(props.theme,props);if(props.invertTheme){theme=(0,_reactBase16Styling.invertTheme)(theme)}return{styling:(0,_createStylingFromTheme["default"])(theme)}}var JSONTree=function(_React$Component){_inherits(JSONTree,_React$Component);var _super=_createSuper(JSONTree);function JSONTree(props){var _this;_classCallCheck(this,JSONTree);_this=_super.call(this,props);_this.state=getStateFromProps(props);return _this}_createClass(JSONTree,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){var _this2=this;if(["theme","invertTheme"].find((function(k){return nextProps[k]!==_this2.props[k]}))){this.setState(getStateFromProps(nextProps))}}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps){var _this3=this;return!!Object.keys(nextProps).find((function(k){return k==="keyPath"?nextProps[k].join("/")!==_this3.props[k].join("/"):nextProps[k]!==_this3.props[k]}))}},{key:"render",value:function render(){var _this$props=this.props,value=_this$props.data,keyPath=_this$props.keyPath,postprocessValue=_this$props.postprocessValue,hideRoot=_this$props.hideRoot,theme=_this$props.theme,_=_this$props.invertTheme,rest=_objectWithoutProperties(_this$props,["data","keyPath","postprocessValue","hideRoot","theme","invertTheme"]);var styling=this.state.styling;return _react["default"].createElement("ul",styling("tree"),_react["default"].createElement(_JSONNode["default"],_extends({},_objectSpread({postprocessValue:postprocessValue,hideRoot:hideRoot,styling:styling},rest),{keyPath:hideRoot?[]:keyPath,value:postprocessValue(value)})))}}]);return JSONTree}(_react["default"].Component);exports["default"]=JSONTree;_defineProperty(JSONTree,"propTypes",{data:_propTypes["default"].any.isRequired,hideRoot:_propTypes["default"].bool,theme:_propTypes["default"].oneOfType([_propTypes["default"].object,_propTypes["default"].string]),invertTheme:_propTypes["default"].bool,keyPath:_propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string,_propTypes["default"].number])),postprocessValue:_propTypes["default"].func,sortObjectKeys:_propTypes["default"].oneOfType([_propTypes["default"].func,_propTypes["default"].bool])});_defineProperty(JSONTree,"defaultProps",{shouldExpandNode:expandRootNode,hideRoot:false,keyPath:["root"],getItemString:defaultItemString,labelRenderer:defaultLabelRenderer,valueRenderer:identity,postprocessValue:identity,isCustomNode:noCustomNode,collectionLimit:50,invertTheme:true})},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=objType;function objType(obj){var type=Object.prototype.toString.call(obj).slice(8,-1);if(type==="Object"&&typeof obj[Symbol.iterator]==="function"){return"Iterable"}if(type==="Custom"&&obj.constructor!==Object&&obj instanceof Object){return"Object"}return type}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));var _JSONNestedNode=_interopRequireDefault(__webpack_require__(247));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function createItemString(data){var len=Object.getOwnPropertyNames(data).length;return"".concat(len," ").concat(len!==1?"keys":"key")}var JSONObjectNode=function JSONObjectNode(_ref){var data=_ref.data,props=_objectWithoutProperties(_ref,["data"]);return _react["default"].createElement(_JSONNestedNode["default"],_extends({},props,{data:data,nodeType:"Object",nodeTypeIndicator:props.nodeType==="Error"?"Error()":"{}",createItemString:createItemString,expandable:Object.getOwnPropertyNames(data).length>0}))};JSONObjectNode.propTypes={data:_propTypes["default"].object,nodeType:_propTypes["default"].string};var _default=JSONObjectNode;exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=getCollectionEntries;function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&Symbol.iterator in Object(iter))return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _createForOfIteratorHelper(o,allowArrayLike){var it;if(typeof Symbol==="undefined"||o[Symbol.iterator]==null){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=o[Symbol.iterator]()},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function getLength(type,collection){if(type==="Object"){return Object.keys(collection).length}else if(type==="Array"){return collection.length}return Infinity}function isIterableMap(collection){return typeof collection.set==="function"}function getEntries(type,collection,sortObjectKeys){var from=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var to=arguments.length>4&&arguments[4]!==undefined?arguments[4]:Infinity;var res;if(type==="Object"){var keys=Object.getOwnPropertyNames(collection);if(sortObjectKeys){keys.sort(sortObjectKeys===true?undefined:sortObjectKeys)}keys=keys.slice(from,to+1);res={entries:keys.map((function(key){return{key:key,value:collection[key]}}))}}else if(type==="Array"){res={entries:collection.slice(from,to+1).map((function(val,idx){return{key:idx+from,value:val}}))}}else{var idx=0;var entries=[];var done=true;var isMap=isIterableMap(collection);var _iterator=_createForOfIteratorHelper(collection),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var item=_step.value;if(idx>to){done=false;break}if(from<=idx){if(isMap&&Array.isArray(item)){if(typeof item[0]==="string"||typeof item[0]==="number"){entries.push({key:item[0],value:item[1]})}else{entries.push({key:"[entry ".concat(idx,"]"),value:{"[key]":item[0],"[value]":item[1]}})}}else{entries.push({key:idx,value:item})}}idx++}}catch(err){_iterator.e(err)}finally{_iterator.f()}res={hasMore:!done,entries:entries}}return res}function getRanges(from,to,limit){var ranges=[];while(to-from>limit*limit){limit=limit*limit}for(var i=from;i<=to;i+=limit){ranges.push({from:i,to:Math.min(to,i+limit-1)})}return ranges}function getCollectionEntries(type,collection,sortObjectKeys,limit){var from=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;var to=arguments.length>5&&arguments[5]!==undefined?arguments[5]:Infinity;var getEntriesBound=getEntries.bind(null,type,collection,sortObjectKeys);if(!limit){return getEntriesBound().entries}var isSubset=to<Infinity;var length=Math.min(to-from,getLength(type,collection));if(type!=="Iterable"){if(length<=limit||limit<7){return getEntriesBound(from,to).entries}}else{if(length<=limit&&!isSubset){return getEntriesBound(from,to).entries}}var limitedEntries;if(type==="Iterable"){var _getEntriesBound=getEntriesBound(from,from+limit-1),hasMore=_getEntriesBound.hasMore,entries=_getEntriesBound.entries;limitedEntries=hasMore?[].concat(_toConsumableArray(entries),_toConsumableArray(getRanges(from+limit,from+2*limit-1,limit))):entries}else{limitedEntries=isSubset?getRanges(from,to,limit):[].concat(_toConsumableArray(getEntriesBound(0,limit-5).entries),_toConsumableArray(getRanges(limit-4,length-5,limit)),_toConsumableArray(getEntriesBound(length-4,length-1).entries))}return limitedEntries}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));var _JSONArrow=_interopRequireDefault(__webpack_require__(788));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(Reflect.construct(Date,[],(function(){})));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var ItemRange=function(_React$Component){_inherits(ItemRange,_React$Component);var _super=_createSuper(ItemRange);function ItemRange(props){var _this;_classCallCheck(this,ItemRange);_this=_super.call(this,props);_this.state={expanded:false};_this.handleClick=_this.handleClick.bind(_assertThisInitialized(_this));return _this}_createClass(ItemRange,[{key:"render",value:function render(){var _this$props=this.props,styling=_this$props.styling,from=_this$props.from,to=_this$props.to,renderChildNodes=_this$props.renderChildNodes,nodeType=_this$props.nodeType;return this.state.expanded?_react["default"].createElement("div",styling("itemRange",this.state.expanded),renderChildNodes(this.props,from,to)):_react["default"].createElement("div",_extends({},styling("itemRange",this.state.expanded),{onClick:this.handleClick}),_react["default"].createElement(_JSONArrow["default"],{nodeType:nodeType,styling:styling,expanded:false,onClick:this.handleClick,arrowStyle:"double"}),"".concat(from," ... ").concat(to))}},{key:"handleClick",value:function handleClick(){this.setState({expanded:!this.state.expanded})}}]);return ItemRange}(_react["default"].Component);exports["default"]=ItemRange;_defineProperty(ItemRange,"propTypes",{styling:_propTypes["default"].func.isRequired,from:_propTypes["default"].number.isRequired,to:_propTypes["default"].number.isRequired,renderChildNodes:_propTypes["default"].func.isRequired,nodeType:_propTypes["default"].string.isRequired})},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));var _JSONNestedNode=_interopRequireDefault(__webpack_require__(247));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function createItemString(data){return"".concat(data.length," ").concat(data.length!==1?"items":"item")}var JSONArrayNode=function JSONArrayNode(_ref){var data=_ref.data,props=_objectWithoutProperties(_ref,["data"]);return _react["default"].createElement(_JSONNestedNode["default"],_extends({},props,{data:data,nodeType:"Array",nodeTypeIndicator:"[]",createItemString:createItemString,expandable:data.length>0}))};JSONArrayNode.propTypes={data:_propTypes["default"].array};var _default=JSONArrayNode;exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=JSONIterableNode;var _react=_interopRequireDefault(__webpack_require__(35));var _JSONNestedNode=_interopRequireDefault(__webpack_require__(247));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _createForOfIteratorHelper(o,allowArrayLike){var it;if(typeof Symbol==="undefined"||o[Symbol.iterator]==null){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=o[Symbol.iterator]()},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function createItemString(data,limit){var count=0;var hasMore=false;if(Number.isSafeInteger(data.size)){count=data.size}else{var _iterator=_createForOfIteratorHelper(data),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var entry=_step.value;if(limit&&count+1>limit){hasMore=true;break}count+=1}}catch(err){_iterator.e(err)}finally{_iterator.f()}}return"".concat(hasMore?">":"").concat(count," ").concat(count!==1?"entries":"entry")}function JSONIterableNode(_ref){var props=_extends({},_ref);return _react["default"].createElement(_JSONNestedNode["default"],_extends({},props,{nodeType:"Iterable",nodeTypeIndicator:"()",createItemString:createItemString}))}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(__webpack_require__(35));var _propTypes=_interopRequireDefault(__webpack_require__(73));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&Symbol.iterator in Object(iter))return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}var JSONValueNode=function JSONValueNode(_ref){var nodeType=_ref.nodeType,styling=_ref.styling,labelRenderer=_ref.labelRenderer,keyPath=_ref.keyPath,valueRenderer=_ref.valueRenderer,value=_ref.value,valueGetter=_ref.valueGetter;return _react["default"].createElement("li",styling("value",nodeType,keyPath),_react["default"].createElement("label",styling(["label","valueLabel"],nodeType,keyPath),labelRenderer(keyPath,nodeType,false,false)),_react["default"].createElement("span",styling("valueText",nodeType,keyPath),valueRenderer.apply(void 0,[valueGetter(value),value].concat(_toConsumableArray(keyPath)))))};JSONValueNode.propTypes={nodeType:_propTypes["default"].string.isRequired,styling:_propTypes["default"].func.isRequired,labelRenderer:_propTypes["default"].func.isRequired,keyPath:_propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string,_propTypes["default"].number])).isRequired,valueRenderer:_propTypes["default"].func.isRequired,value:_propTypes["default"].any,valueGetter:_propTypes["default"].func};JSONValueNode.defaultProps={valueGetter:function valueGetter(value){return value}};var _default=JSONValueNode;exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _reactBase16Styling=__webpack_require__(789);var _solarized=_interopRequireDefault(__webpack_require__(1554));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}));keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach((function(key){_defineProperty(target,key,source[key])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}}return target}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var colorMap=function colorMap(theme){return{BACKGROUND_COLOR:theme.base00,TEXT_COLOR:theme.base07,STRING_COLOR:theme.base0B,DATE_COLOR:theme.base0B,NUMBER_COLOR:theme.base09,BOOLEAN_COLOR:theme.base09,NULL_COLOR:theme.base08,UNDEFINED_COLOR:theme.base08,FUNCTION_COLOR:theme.base08,SYMBOL_COLOR:theme.base08,LABEL_COLOR:theme.base0D,ARROW_COLOR:theme.base0D,ITEM_STRING_COLOR:theme.base0B,ITEM_STRING_EXPANDED_COLOR:theme.base03}};var valueColorMap=function valueColorMap(colors){return{String:colors.STRING_COLOR,Date:colors.DATE_COLOR,Number:colors.NUMBER_COLOR,Boolean:colors.BOOLEAN_COLOR,Null:colors.NULL_COLOR,Undefined:colors.UNDEFINED_COLOR,Function:colors.FUNCTION_COLOR,Symbol:colors.SYMBOL_COLOR}};var getDefaultThemeStyling=function getDefaultThemeStyling(theme){var colors=colorMap(theme);return{tree:{border:0,padding:0,marginTop:"0.5em",marginBottom:"0.5em",marginLeft:"0.125em",marginRight:0,listStyle:"none",MozUserSelect:"none",WebkitUserSelect:"none",backgroundColor:colors.BACKGROUND_COLOR},value:function value(_ref,nodeType,keyPath){var style=_ref.style;return{style:_objectSpread(_objectSpread({},style),{},{paddingTop:"0.25em",paddingRight:0,marginLeft:"0.875em",WebkitUserSelect:"text",MozUserSelect:"text",wordWrap:"break-word",paddingLeft:keyPath.length>1?"2.125em":"1.25em",textIndent:"-0.5em",wordBreak:"break-all"})}},label:{display:"inline-block",color:colors.LABEL_COLOR},valueLabel:{margin:"0 0.5em 0 0"},valueText:function valueText(_ref2,nodeType){var style=_ref2.style;return{style:_objectSpread(_objectSpread({},style),{},{color:valueColorMap(colors)[nodeType]})}},itemRange:function itemRange(styling,expanded){return{style:{paddingTop:expanded?0:"0.25em",cursor:"pointer",color:colors.LABEL_COLOR}}},arrow:function arrow(_ref3,nodeType,expanded){var style=_ref3.style;return{style:_objectSpread(_objectSpread({},style),{},{marginLeft:0,transition:"150ms",WebkitTransition:"150ms",MozTransition:"150ms",WebkitTransform:expanded?"rotateZ(90deg)":"rotateZ(0deg)",MozTransform:expanded?"rotateZ(90deg)":"rotateZ(0deg)",transform:expanded?"rotateZ(90deg)":"rotateZ(0deg)",transformOrigin:"45% 50%",WebkitTransformOrigin:"45% 50%",MozTransformOrigin:"45% 50%",position:"relative",lineHeight:"1.1em",fontSize:"0.75em"})}},arrowContainer:function arrowContainer(_ref4,arrowStyle){var style=_ref4.style;return{style:_objectSpread(_objectSpread({},style),{},{display:"inline-block",paddingRight:"0.5em",paddingLeft:arrowStyle==="double"?"1em":0,cursor:"pointer"})}},arrowSign:{color:colors.ARROW_COLOR},arrowSignInner:{position:"absolute",top:0,left:"-0.4em"},nestedNode:function nestedNode(_ref5,keyPath,nodeType,expanded,expandable){var style=_ref5.style;return{style:_objectSpread(_objectSpread({},style),{},{position:"relative",paddingTop:"0.25em",marginLeft:keyPath.length>1?"0.875em":0,paddingLeft:!expandable?"1.125em":0})}},rootNode:{padding:0,margin:0},nestedNodeLabel:function nestedNodeLabel(_ref6,keyPath,nodeType,expanded,expandable){var style=_ref6.style;return{style:_objectSpread(_objectSpread({},style),{},{margin:0,padding:0,WebkitUserSelect:expandable?"inherit":"text",MozUserSelect:expandable?"inherit":"text",cursor:expandable?"pointer":"default"})}},nestedNodeItemString:function nestedNodeItemString(_ref7,keyPath,nodeType,expanded){var style=_ref7.style;return{style:_objectSpread(_objectSpread({},style),{},{paddingLeft:"0.5em",cursor:"default",color:expanded?colors.ITEM_STRING_EXPANDED_COLOR:colors.ITEM_STRING_COLOR})}},nestedNodeItemType:{marginLeft:"0.3em",marginRight:"0.3em"},nestedNodeChildren:function nestedNodeChildren(_ref8,nodeType,expanded){var style=_ref8.style;return{style:_objectSpread(_objectSpread({},style),{},{padding:0,margin:0,listStyle:"none",display:expanded?"block":"none"})}},rootNodeChildren:{padding:0,margin:0,listStyle:"none"}}};var _default=(0,_reactBase16Styling.createStyling)(getDefaultThemeStyling,{defaultBase16:_solarized["default"]});exports["default"]=_default},function(module,exports,__webpack_require__){(function(global){var FUNC_ERROR_TEXT="Expected a function";var PLACEHOLDER="__lodash_placeholder__";var BIND_FLAG=1,BIND_KEY_FLAG=2,CURRY_BOUND_FLAG=4,CURRY_FLAG=8,CURRY_RIGHT_FLAG=16,PARTIAL_FLAG=32,PARTIAL_RIGHT_FLAG=64,ARY_FLAG=128,REARG_FLAG=256,FLIP_FLAG=512;var INFINITY=1/0,MAX_SAFE_INTEGER=9007199254740991,MAX_INTEGER=17976931348623157e292,NAN=0/0;var wrapFlags=[["ary",ARY_FLAG],["bind",BIND_FLAG],["bindKey",BIND_KEY_FLAG],["curry",CURRY_FLAG],["curryRight",CURRY_RIGHT_FLAG],["flip",FLIP_FLAG],["partial",PARTIAL_FLAG],["partialRight",PARTIAL_RIGHT_FLAG],["rearg",REARG_FLAG]];var funcTag="[object Function]",genTag="[object GeneratorFunction]",symbolTag="[object Symbol]";var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;var reTrim=/^\s+|\s+$/g;var reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /;var reIsBadHex=/^[-+]0x[0-9a-f]+$/i;var reIsBinary=/^0b[01]+$/i;var reIsHostCtor=/^\[object .+?Constructor\]$/;var reIsOctal=/^0o[0-7]+$/i;var reIsUint=/^(?:0|[1-9]\d*)$/;var freeParseInt=parseInt;var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal||freeSelf||Function("return this")();function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}function arrayEach(array,iteratee){var index=-1,length=array?array.length:0;while(++index<length){if(iteratee(array[index],index,array)===false){break}}return array}function arrayIncludes(array,value){var length=array?array.length:0;return!!length&&baseIndexOf(array,value,0)>-1}function baseFindIndex(array,predicate,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?1:-1);while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}function baseIndexOf(array,value,fromIndex){if(value!==value){return baseFindIndex(array,baseIsNaN,fromIndex)}var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}function baseIsNaN(value){return value!==value}function countHolders(array,placeholder){var length=array.length,result=0;while(length--){if(array[length]===placeholder){result++}}return result}function getValue(object,key){return object==null?undefined:object[key]}function isHostObject(value){var result=false;if(value!=null&&typeof value.toString!="function"){try{result=!!(value+"")}catch(e){}}return result}function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=0,result=[];while(++index<length){var value=array[index];if(value===placeholder||value===PLACEHOLDER){array[index]=PLACEHOLDER;result[resIndex++]=index}}return result}var funcProto=Function.prototype,objectProto=Object.prototype;var coreJsData=root["__core-js_shared__"];var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();var funcToString=funcProto.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objectToString=objectProto.toString;var reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var objectCreate=Object.create;var nativeMax=Math.max,nativeMin=Math.min;var defineProperty=function(){var func=getNative(Object,"defineProperty"),name=getNative.name;return name&&name.length>2?func:undefined}();function baseCreate(proto){return isObject(proto)?objectCreate(proto):{}}function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false}var pattern=isFunction(value)||isHostObject(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}function composeArgs(args,partials,holders,isCurried){var argsIndex=-1,argsLength=args.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(leftLength+rangeLength),isUncurried=!isCurried;while(++leftIndex<leftLength){result[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result[holders[argsIndex]]=args[argsIndex]}}while(rangeLength--){result[leftIndex++]=args[argsIndex++]}return result}function composeArgsRight(args,partials,holders,isCurried){var argsIndex=-1,argsLength=args.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(rangeLength+rightLength),isUncurried=!isCurried;while(++argsIndex<rangeLength){result[argsIndex]=args[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result[offset+holders[holdersIndex]]=args[argsIndex++]}}return result}function copyArray(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}function createBind(func,bitmask,thisArg){var isBind=bitmask&BIND_FLAG,Ctor=createCtor(func);function wrapper(){var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,arguments)}return wrapper}function createCtor(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);return isObject(result)?result:thisBinding}}function createCurry(func,bitmask,arity){var Ctor=createCtor(func);function wrapper(){var length=arguments.length,args=Array(length),index=length,placeholder=getHolder(wrapper);while(index--){args[index]=arguments[index]}var holders=length<3&&args[0]!==placeholder&&args[length-1]!==placeholder?[]:replaceHolders(args,placeholder);length-=holders.length;if(length<arity){return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,undefined,args,holders,undefined,undefined,arity-length)}var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return apply(fn,this,args)}return wrapper}function createHybrid(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){var isAry=bitmask&ARY_FLAG,isBind=bitmask&BIND_FLAG,isBindKey=bitmask&BIND_KEY_FLAG,isCurried=bitmask&(CURRY_FLAG|CURRY_RIGHT_FLAG),isFlip=bitmask&FLIP_FLAG,Ctor=isBindKey?undefined:createCtor(func);function wrapper(){var length=arguments.length,args=Array(length),index=length;while(index--){args[index]=arguments[index]}if(isCurried){var placeholder=getHolder(wrapper),holdersCount=countHolders(args,placeholder)}if(partials){args=composeArgs(args,partials,holders,isCurried)}if(partialsRight){args=composeArgsRight(args,partialsRight,holdersRight,isCurried)}length-=holdersCount;if(isCurried&&length<arity){var newHolders=replaceHolders(args,placeholder);return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,thisArg,args,newHolders,argPos,ary,arity-length)}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;length=args.length;if(argPos){args=reorder(args,argPos)}else if(isFlip&&length>1){args.reverse()}if(isAry&&ary<length){args.length=ary}if(this&&this!==root&&this instanceof wrapper){fn=Ctor||createCtor(fn)}return fn.apply(thisBinding,args)}return wrapper}function createPartial(func,bitmask,thisArg,partials){var isBind=bitmask&BIND_FLAG,Ctor=createCtor(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength),fn=this&&this!==root&&this instanceof wrapper?Ctor:func;while(++leftIndex<leftLength){args[leftIndex]=partials[leftIndex]}while(argsLength--){args[leftIndex++]=arguments[++argsIndex]}return apply(fn,isBind?thisArg:this,args)}return wrapper}function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary,arity){var isCurry=bitmask&CURRY_FLAG,newHolders=isCurry?holders:undefined,newHoldersRight=isCurry?undefined:holders,newPartials=isCurry?partials:undefined,newPartialsRight=isCurry?undefined:partials;bitmask|=isCurry?PARTIAL_FLAG:PARTIAL_RIGHT_FLAG;bitmask&=~(isCurry?PARTIAL_RIGHT_FLAG:PARTIAL_FLAG);if(!(bitmask&CURRY_BOUND_FLAG)){bitmask&=~(BIND_FLAG|BIND_KEY_FLAG)}var result=wrapFunc(func,bitmask,thisArg,newPartials,newHolders,newPartialsRight,newHoldersRight,argPos,ary,arity);result.placeholder=placeholder;return setWrapToString(result,func,bitmask)}function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=bitmask&BIND_KEY_FLAG;if(!isBindKey&&typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var length=partials?partials.length:0;if(!length){bitmask&=~(PARTIAL_FLAG|PARTIAL_RIGHT_FLAG);partials=holders=undefined}ary=ary===undefined?ary:nativeMax(toInteger(ary),0);arity=arity===undefined?arity:toInteger(arity);length-=holders?holders.length:0;if(bitmask&PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=undefined}var newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];func=newData[0];bitmask=newData[1];thisArg=newData[2];partials=newData[3];holders=newData[4];arity=newData[9]=newData[9]==null?isBindKey?0:func.length:nativeMax(newData[9]-length,0);if(!arity&&bitmask&(CURRY_FLAG|CURRY_RIGHT_FLAG)){bitmask&=~(CURRY_FLAG|CURRY_RIGHT_FLAG)}if(!bitmask||bitmask==BIND_FLAG){var result=createBind(func,bitmask,thisArg)}else if(bitmask==CURRY_FLAG||bitmask==CURRY_RIGHT_FLAG){result=createCurry(func,bitmask,arity)}else if((bitmask==PARTIAL_FLAG||bitmask==(BIND_FLAG|PARTIAL_FLAG))&&!holders.length){result=createPartial(func,bitmask,thisArg,partials)}else{result=createHybrid.apply(undefined,newData)}return setWrapToString(result,func,bitmask)}function getHolder(func){var object=func;return object.placeholder}function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined}function getWrapDetails(source){var match=source.match(reWrapDetails);return match?match[1].split(reSplitDetails):[]}function insertWrapDetails(source,details){var length=details.length,lastIndex=length-1;details[lastIndex]=(length>1?"& ":"")+details[lastIndex];details=details.join(length>2?", ":" ");return source.replace(reWrapComment,"{\n/* [wrapped with "+details+"] */\n")}function isIndex(value,length){length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(typeof value=="number"||reIsUint.test(value))&&(value>-1&&value%1==0&&value<length)}function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}function reorder(array,indexes){var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=copyArray(array);while(length--){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}var setWrapToString=!defineProperty?identity:function(wrapper,reference,bitmask){var source=reference+"";return defineProperty(wrapper,"toString",{configurable:true,enumerable:false,value:constant(insertWrapDetails(source,updateWrapDetails(getWrapDetails(source),bitmask)))})};function toSource(func){if(func!=null){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function updateWrapDetails(details,bitmask){arrayEach(wrapFlags,(function(pair){var value="_."+pair[0];if(bitmask&pair[1]&&!arrayIncludes(details,value)){details.push(value)}}));return details.sort()}function curry(func,arity,guard){arity=guard?undefined:arity;var result=createWrap(func,CURRY_FLAG,undefined,undefined,undefined,undefined,undefined,arity);result.placeholder=curry.placeholder;return result}function isFunction(value){var tag=isObject(value)?objectToString.call(value):"";return tag==funcTag||tag==genTag}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isObjectLike(value){return!!value&&typeof value=="object"}function isSymbol(value){return typeof value=="symbol"||isObjectLike(value)&&objectToString.call(value)==symbolTag}function toFinite(value){if(!value){return value===0?value:0}value=toNumber(value);if(value===INFINITY||value===-INFINITY){var sign=value<0?-1:1;return sign*MAX_INTEGER}return value===value?value:0}function toInteger(value){var result=toFinite(value),remainder=result%1;return result===result?remainder?result-remainder:result:0}function toNumber(value){if(typeof value=="number"){return value}if(isSymbol(value)){return NAN}if(isObject(value)){var other=typeof value.valueOf=="function"?value.valueOf():value;value=isObject(other)?other+"":other}if(typeof value!="string"){return value===0?value:+value}value=value.replace(reTrim,"");var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NAN:+value}function constant(value){return function(){return value}}function identity(value){return value}curry.placeholder={};module.exports=curry}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;function _interopRequire(obj){return obj&&obj.__esModule?obj["default"]:obj}var _threezerotwofour=__webpack_require__(1509);exports.threezerotwofour=_interopRequire(_threezerotwofour);var _apathy=__webpack_require__(1510);exports.apathy=_interopRequire(_apathy);var _ashes=__webpack_require__(1511);exports.ashes=_interopRequire(_ashes);var _atelierDune=__webpack_require__(1512);exports.atelierDune=_interopRequire(_atelierDune);var _atelierForest=__webpack_require__(1513);exports.atelierForest=_interopRequire(_atelierForest);var _atelierHeath=__webpack_require__(1514);exports.atelierHeath=_interopRequire(_atelierHeath);var _atelierLakeside=__webpack_require__(1515);exports.atelierLakeside=_interopRequire(_atelierLakeside);var _atelierSeaside=__webpack_require__(1516);exports.atelierSeaside=_interopRequire(_atelierSeaside);var _bespin=__webpack_require__(1517);exports.bespin=_interopRequire(_bespin);var _brewer=__webpack_require__(1518);exports.brewer=_interopRequire(_brewer);var _bright=__webpack_require__(1519);exports.bright=_interopRequire(_bright);var _chalk=__webpack_require__(1520);exports.chalk=_interopRequire(_chalk);var _codeschool=__webpack_require__(1521);exports.codeschool=_interopRequire(_codeschool);var _colors=__webpack_require__(1522);exports.colors=_interopRequire(_colors);var _default=__webpack_require__(1523);exports["default"]=_interopRequire(_default);var _eighties=__webpack_require__(1524);exports.eighties=_interopRequire(_eighties);var _embers=__webpack_require__(1525);exports.embers=_interopRequire(_embers);var _flat=__webpack_require__(1526);exports.flat=_interopRequire(_flat);var _google=__webpack_require__(1527);exports.google=_interopRequire(_google);var _grayscale=__webpack_require__(1528);exports.grayscale=_interopRequire(_grayscale);var _greenscreen=__webpack_require__(1529);exports.greenscreen=_interopRequire(_greenscreen);var _harmonic=__webpack_require__(1530);exports.harmonic=_interopRequire(_harmonic);var _hopscotch=__webpack_require__(1531);exports.hopscotch=_interopRequire(_hopscotch);var _isotope=__webpack_require__(1532);exports.isotope=_interopRequire(_isotope);var _marrakesh=__webpack_require__(1533);exports.marrakesh=_interopRequire(_marrakesh);var _mocha=__webpack_require__(1534);exports.mocha=_interopRequire(_mocha);var _monokai=__webpack_require__(1535);exports.monokai=_interopRequire(_monokai);var _ocean=__webpack_require__(1536);exports.ocean=_interopRequire(_ocean);var _paraiso=__webpack_require__(1537);exports.paraiso=_interopRequire(_paraiso);var _pop=__webpack_require__(1538);exports.pop=_interopRequire(_pop);var _railscasts=__webpack_require__(1539);exports.railscasts=_interopRequire(_railscasts);var _shapeshifter=__webpack_require__(1540);exports.shapeshifter=_interopRequire(_shapeshifter);var _solarized=__webpack_require__(1541);exports.solarized=_interopRequire(_solarized);var _summerfruit=__webpack_require__(1542);exports.summerfruit=_interopRequire(_summerfruit);var _tomorrow=__webpack_require__(1543);exports.tomorrow=_interopRequire(_tomorrow);var _tube=__webpack_require__(1544);exports.tube=_interopRequire(_tube);var _twilight=__webpack_require__(1545);exports.twilight=_interopRequire(_twilight)},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"threezerotwofour",author:"jan t. sott (http://github.com/idleberg)",base00:"#090300",base01:"#3a3432",base02:"#4a4543",base03:"#5c5855",base04:"#807d7c",base05:"#a5a2a2",base06:"#d6d5d4",base07:"#f7f7f7",base08:"#db2d20",base09:"#e8bbd0",base0A:"#fded02",base0B:"#01a252",base0C:"#b5e4f4",base0D:"#01a0e4",base0E:"#a16a94",base0F:"#cdab53"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"apathy",author:"jannik siebert (https://github.com/janniks)",base00:"#031A16",base01:"#0B342D",base02:"#184E45",base03:"#2B685E",base04:"#5F9C92",base05:"#81B5AC",base06:"#A7CEC8",base07:"#D2E7E4",base08:"#3E9688",base09:"#3E7996",base0A:"#3E4C96",base0B:"#883E96",base0C:"#963E4C",base0D:"#96883E",base0E:"#4C963E",base0F:"#3E965B"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"ashes",author:"jannik siebert (https://github.com/janniks)",base00:"#1C2023",base01:"#393F45",base02:"#565E65",base03:"#747C84",base04:"#ADB3BA",base05:"#C7CCD1",base06:"#DFE2E5",base07:"#F3F4F5",base08:"#C7AE95",base09:"#C7C795",base0A:"#AEC795",base0B:"#95C7AE",base0C:"#95AEC7",base0D:"#AE95C7",base0E:"#C795AE",base0F:"#C79595"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"atelier dune",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)",base00:"#20201d",base01:"#292824",base02:"#6e6b5e",base03:"#7d7a68",base04:"#999580",base05:"#a6a28c",base06:"#e8e4cf",base07:"#fefbec",base08:"#d73737",base09:"#b65611",base0A:"#cfb017",base0B:"#60ac39",base0C:"#1fad83",base0D:"#6684e1",base0E:"#b854d4",base0F:"#d43552"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"atelier forest",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest)",base00:"#1b1918",base01:"#2c2421",base02:"#68615e",base03:"#766e6b",base04:"#9c9491",base05:"#a8a19f",base06:"#e6e2e0",base07:"#f1efee",base08:"#f22c40",base09:"#df5320",base0A:"#d5911a",base0B:"#5ab738",base0C:"#00ad9c",base0D:"#407ee7",base0E:"#6666ea",base0F:"#c33ff3"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"atelier heath",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath)",base00:"#1b181b",base01:"#292329",base02:"#695d69",base03:"#776977",base04:"#9e8f9e",base05:"#ab9bab",base06:"#d8cad8",base07:"#f7f3f7",base08:"#ca402b",base09:"#a65926",base0A:"#bb8a35",base0B:"#379a37",base0C:"#159393",base0D:"#516aec",base0E:"#7b59c0",base0F:"#cc33cc"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"atelier lakeside",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/)",base00:"#161b1d",base01:"#1f292e",base02:"#516d7b",base03:"#5a7b8c",base04:"#7195a8",base05:"#7ea2b4",base06:"#c1e4f6",base07:"#ebf8ff",base08:"#d22d72",base09:"#935c25",base0A:"#8a8a0f",base0B:"#568c3b",base0C:"#2d8f6f",base0D:"#257fad",base0E:"#5d5db1",base0F:"#b72dd2"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"atelier seaside",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/)",base00:"#131513",base01:"#242924",base02:"#5e6e5e",base03:"#687d68",base04:"#809980",base05:"#8ca68c",base06:"#cfe8cf",base07:"#f0fff0",base08:"#e6193c",base09:"#87711d",base0A:"#c3c322",base0B:"#29a329",base0C:"#1999b3",base0D:"#3d62f5",base0E:"#ad2bee",base0F:"#e619c3"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"bespin",author:"jan t. sott",base00:"#28211c",base01:"#36312e",base02:"#5e5d5c",base03:"#666666",base04:"#797977",base05:"#8a8986",base06:"#9d9b97",base07:"#baae9e",base08:"#cf6a4c",base09:"#cf7d34",base0A:"#f9ee98",base0B:"#54be0d",base0C:"#afc4db",base0D:"#5ea6ea",base0E:"#9b859d",base0F:"#937121"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"brewer",author:"timothée poisot (http://github.com/tpoisot)",base00:"#0c0d0e",base01:"#2e2f30",base02:"#515253",base03:"#737475",base04:"#959697",base05:"#b7b8b9",base06:"#dadbdc",base07:"#fcfdfe",base08:"#e31a1c",base09:"#e6550d",base0A:"#dca060",base0B:"#31a354",base0C:"#80b1d3",base0D:"#3182bd",base0E:"#756bb1",base0F:"#b15928"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"bright",author:"chris kempson (http://chriskempson.com)",base00:"#000000",base01:"#303030",base02:"#505050",base03:"#b0b0b0",base04:"#d0d0d0",base05:"#e0e0e0",base06:"#f5f5f5",base07:"#ffffff",base08:"#fb0120",base09:"#fc6d24",base0A:"#fda331",base0B:"#a1c659",base0C:"#76c7b7",base0D:"#6fb3d2",base0E:"#d381c3",base0F:"#be643c"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"chalk",author:"chris kempson (http://chriskempson.com)",base00:"#151515",base01:"#202020",base02:"#303030",base03:"#505050",base04:"#b0b0b0",base05:"#d0d0d0",base06:"#e0e0e0",base07:"#f5f5f5",base08:"#fb9fb1",base09:"#eda987",base0A:"#ddb26f",base0B:"#acc267",base0C:"#12cfc0",base0D:"#6fc2ef",base0E:"#e1a3ee",base0F:"#deaf8f"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"codeschool",author:"brettof86",base00:"#232c31",base01:"#1c3657",base02:"#2a343a",base03:"#3f4944",base04:"#84898c",base05:"#9ea7a6",base06:"#a7cfa3",base07:"#b5d8f6",base08:"#2a5491",base09:"#43820d",base0A:"#a03b1e",base0B:"#237986",base0C:"#b02f30",base0D:"#484d79",base0E:"#c59820",base0F:"#c98344"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"colors",author:"mrmrs (http://clrs.cc)",base00:"#111111",base01:"#333333",base02:"#555555",base03:"#777777",base04:"#999999",base05:"#bbbbbb",base06:"#dddddd",base07:"#ffffff",base08:"#ff4136",base09:"#ff851b",base0A:"#ffdc00",base0B:"#2ecc40",base0C:"#7fdbff",base0D:"#0074d9",base0E:"#b10dc9",base0F:"#85144b"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"default",author:"chris kempson (http://chriskempson.com)",base00:"#181818",base01:"#282828",base02:"#383838",base03:"#585858",base04:"#b8b8b8",base05:"#d8d8d8",base06:"#e8e8e8",base07:"#f8f8f8",base08:"#ab4642",base09:"#dc9656",base0A:"#f7ca88",base0B:"#a1b56c",base0C:"#86c1b9",base0D:"#7cafc2",base0E:"#ba8baf",base0F:"#a16946"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"eighties",author:"chris kempson (http://chriskempson.com)",base00:"#2d2d2d",base01:"#393939",base02:"#515151",base03:"#747369",base04:"#a09f93",base05:"#d3d0c8",base06:"#e8e6df",base07:"#f2f0ec",base08:"#f2777a",base09:"#f99157",base0A:"#ffcc66",base0B:"#99cc99",base0C:"#66cccc",base0D:"#6699cc",base0E:"#cc99cc",base0F:"#d27b53"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"embers",author:"jannik siebert (https://github.com/janniks)",base00:"#16130F",base01:"#2C2620",base02:"#433B32",base03:"#5A5047",base04:"#8A8075",base05:"#A39A90",base06:"#BEB6AE",base07:"#DBD6D1",base08:"#826D57",base09:"#828257",base0A:"#6D8257",base0B:"#57826D",base0C:"#576D82",base0D:"#6D5782",base0E:"#82576D",base0F:"#825757"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"flat",author:"chris kempson (http://chriskempson.com)",base00:"#2C3E50",base01:"#34495E",base02:"#7F8C8D",base03:"#95A5A6",base04:"#BDC3C7",base05:"#e0e0e0",base06:"#f5f5f5",base07:"#ECF0F1",base08:"#E74C3C",base09:"#E67E22",base0A:"#F1C40F",base0B:"#2ECC71",base0C:"#1ABC9C",base0D:"#3498DB",base0E:"#9B59B6",base0F:"#be643c"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"google",author:"seth wright (http://sethawright.com)",base00:"#1d1f21",base01:"#282a2e",base02:"#373b41",base03:"#969896",base04:"#b4b7b4",base05:"#c5c8c6",base06:"#e0e0e0",base07:"#ffffff",base08:"#CC342B",base09:"#F96A38",base0A:"#FBA922",base0B:"#198844",base0C:"#3971ED",base0D:"#3971ED",base0E:"#A36AC7",base0F:"#3971ED"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"grayscale",author:"alexandre gavioli (https://github.com/alexx2/)",base00:"#101010",base01:"#252525",base02:"#464646",base03:"#525252",base04:"#ababab",base05:"#b9b9b9",base06:"#e3e3e3",base07:"#f7f7f7",base08:"#7c7c7c",base09:"#999999",base0A:"#a0a0a0",base0B:"#8e8e8e",base0C:"#868686",base0D:"#686868",base0E:"#747474",base0F:"#5e5e5e"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"green screen",author:"chris kempson (http://chriskempson.com)",base00:"#001100",base01:"#003300",base02:"#005500",base03:"#007700",base04:"#009900",base05:"#00bb00",base06:"#00dd00",base07:"#00ff00",base08:"#007700",base09:"#009900",base0A:"#007700",base0B:"#00bb00",base0C:"#005500",base0D:"#009900",base0E:"#00bb00",base0F:"#005500"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"harmonic16",author:"jannik siebert (https://github.com/janniks)",base00:"#0b1c2c",base01:"#223b54",base02:"#405c79",base03:"#627e99",base04:"#aabcce",base05:"#cbd6e2",base06:"#e5ebf1",base07:"#f7f9fb",base08:"#bf8b56",base09:"#bfbf56",base0A:"#8bbf56",base0B:"#56bf8b",base0C:"#568bbf",base0D:"#8b56bf",base0E:"#bf568b",base0F:"#bf5656"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"hopscotch",author:"jan t. sott",base00:"#322931",base01:"#433b42",base02:"#5c545b",base03:"#797379",base04:"#989498",base05:"#b9b5b8",base06:"#d5d3d5",base07:"#ffffff",base08:"#dd464c",base09:"#fd8b19",base0A:"#fdcc59",base0B:"#8fc13e",base0C:"#149b93",base0D:"#1290bf",base0E:"#c85e7c",base0F:"#b33508"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"isotope",author:"jan t. sott",base00:"#000000",base01:"#404040",base02:"#606060",base03:"#808080",base04:"#c0c0c0",base05:"#d0d0d0",base06:"#e0e0e0",base07:"#ffffff",base08:"#ff0000",base09:"#ff9900",base0A:"#ff0099",base0B:"#33ff00",base0C:"#00ffff",base0D:"#0066ff",base0E:"#cc00ff",base0F:"#3300ff"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"marrakesh",author:"alexandre gavioli (http://github.com/alexx2/)",base00:"#201602",base01:"#302e00",base02:"#5f5b17",base03:"#6c6823",base04:"#86813b",base05:"#948e48",base06:"#ccc37a",base07:"#faf0a5",base08:"#c35359",base09:"#b36144",base0A:"#a88339",base0B:"#18974e",base0C:"#75a738",base0D:"#477ca1",base0E:"#8868b3",base0F:"#b3588e"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"mocha",author:"chris kempson (http://chriskempson.com)",base00:"#3B3228",base01:"#534636",base02:"#645240",base03:"#7e705a",base04:"#b8afad",base05:"#d0c8c6",base06:"#e9e1dd",base07:"#f5eeeb",base08:"#cb6077",base09:"#d28b71",base0A:"#f4bc87",base0B:"#beb55b",base0C:"#7bbda4",base0D:"#8ab3b5",base0E:"#a89bb9",base0F:"#bb9584"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"monokai",author:"wimer hazenberg (http://www.monokai.nl)",base00:"#272822",base01:"#383830",base02:"#49483e",base03:"#75715e",base04:"#a59f85",base05:"#f8f8f2",base06:"#f5f4f1",base07:"#f9f8f5",base08:"#f92672",base09:"#fd971f",base0A:"#f4bf75",base0B:"#a6e22e",base0C:"#a1efe4",base0D:"#66d9ef",base0E:"#ae81ff",base0F:"#cc6633"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"ocean",author:"chris kempson (http://chriskempson.com)",base00:"#2b303b",base01:"#343d46",base02:"#4f5b66",base03:"#65737e",base04:"#a7adba",base05:"#c0c5ce",base06:"#dfe1e8",base07:"#eff1f5",base08:"#bf616a",base09:"#d08770",base0A:"#ebcb8b",base0B:"#a3be8c",base0C:"#96b5b4",base0D:"#8fa1b3",base0E:"#b48ead",base0F:"#ab7967"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"paraiso",author:"jan t. sott",base00:"#2f1e2e",base01:"#41323f",base02:"#4f424c",base03:"#776e71",base04:"#8d8687",base05:"#a39e9b",base06:"#b9b6b0",base07:"#e7e9db",base08:"#ef6155",base09:"#f99b15",base0A:"#fec418",base0B:"#48b685",base0C:"#5bc4bf",base0D:"#06b6ef",base0E:"#815ba4",base0F:"#e96ba8"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"pop",author:"chris kempson (http://chriskempson.com)",base00:"#000000",base01:"#202020",base02:"#303030",base03:"#505050",base04:"#b0b0b0",base05:"#d0d0d0",base06:"#e0e0e0",base07:"#ffffff",base08:"#eb008a",base09:"#f29333",base0A:"#f8ca12",base0B:"#37b349",base0C:"#00aabb",base0D:"#0e5a94",base0E:"#b31e8d",base0F:"#7a2d00"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"railscasts",author:"ryan bates (http://railscasts.com)",base00:"#2b2b2b",base01:"#272935",base02:"#3a4055",base03:"#5a647e",base04:"#d4cfc9",base05:"#e6e1dc",base06:"#f4f1ed",base07:"#f9f7f3",base08:"#da4939",base09:"#cc7833",base0A:"#ffc66d",base0B:"#a5c261",base0C:"#519f50",base0D:"#6d9cbe",base0E:"#b6b3eb",base0F:"#bc9458"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"shapeshifter",author:"tyler benziger (http://tybenz.com)",base00:"#000000",base01:"#040404",base02:"#102015",base03:"#343434",base04:"#555555",base05:"#ababab",base06:"#e0e0e0",base07:"#f9f9f9",base08:"#e92f2f",base09:"#e09448",base0A:"#dddd13",base0B:"#0ed839",base0C:"#23edda",base0D:"#3b48e3",base0E:"#f996e2",base0F:"#69542d"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"solarized",author:"ethan schoonover (http://ethanschoonover.com/solarized)",base00:"#002b36",base01:"#073642",base02:"#586e75",base03:"#657b83",base04:"#839496",base05:"#93a1a1",base06:"#eee8d5",base07:"#fdf6e3",base08:"#dc322f",base09:"#cb4b16",base0A:"#b58900",base0B:"#859900",base0C:"#2aa198",base0D:"#268bd2",base0E:"#6c71c4",base0F:"#d33682"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"summerfruit",author:"christopher corley (http://cscorley.github.io/)",base00:"#151515",base01:"#202020",base02:"#303030",base03:"#505050",base04:"#B0B0B0",base05:"#D0D0D0",base06:"#E0E0E0",base07:"#FFFFFF",base08:"#FF0086",base09:"#FD8900",base0A:"#ABA800",base0B:"#00C918",base0C:"#1faaaa",base0D:"#3777E6",base0E:"#AD00A1",base0F:"#cc6633"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"tomorrow",author:"chris kempson (http://chriskempson.com)",base00:"#1d1f21",base01:"#282a2e",base02:"#373b41",base03:"#969896",base04:"#b4b7b4",base05:"#c5c8c6",base06:"#e0e0e0",base07:"#ffffff",base08:"#cc6666",base09:"#de935f",base0A:"#f0c674",base0B:"#b5bd68",base0C:"#8abeb7",base0D:"#81a2be",base0E:"#b294bb",base0F:"#a3685a"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"london tube",author:"jan t. sott",base00:"#231f20",base01:"#1c3f95",base02:"#5a5758",base03:"#737171",base04:"#959ca1",base05:"#d9d8d8",base06:"#e7e7e8",base07:"#ffffff",base08:"#ee2e24",base09:"#f386a1",base0A:"#ffd204",base0B:"#00853e",base0C:"#85cebc",base0D:"#009ddc",base0E:"#98005d",base0F:"#b06110"};module.exports=exports["default"]},function(module,exports,__webpack_require__){"use strict";exports.__esModule=true;exports["default"]={scheme:"twilight",author:"david hart (http://hart-dev.com)",base00:"#1e1e1e",base01:"#323537",base02:"#464b50",base03:"#5f5a60",base04:"#838184",base05:"#a7a7a7",base06:"#c3c3c3",base07:"#ffffff",base08:"#cf6a4c",base09:"#cda869",base0A:"#f9ee98",base0B:"#8f9d6a",base0C:"#afc4db",base0D:"#7587a6",base0E:"#9b859d",base0F:"#9b703f"};module.exports=exports["default"]},function(module,exports,__webpack_require__){var clamp=__webpack_require__(248);function componentToHex(c){var value=Math.round(clamp(c,0,255));var hex=value.toString(16);return hex.length==1?"0"+hex:hex}function rgb2hex(rgb){var alpha=rgb.length===4?componentToHex(rgb[3]*255):"";return"#"+componentToHex(rgb[0])+componentToHex(rgb[1])+componentToHex(rgb[2])+alpha}module.exports=rgb2hex},function(module,exports,__webpack_require__){var hsl=__webpack_require__(1548);var hex=__webpack_require__(1549);var rgb=__webpack_require__(1550);var hsl2rgb=__webpack_require__(1551);function hsl2rgbParse(color){var h=hsl(color);var r=hsl2rgb(h);if(h.length===4){r.push(h[3])}return r}var space2parser={"#":hex,hsl:hsl2rgbParse,rgb:rgb};function parse(color){for(var scheme in space2parser){if(color.indexOf(scheme)===0){return space2parser[scheme](color)}}}parse.rgb=rgb;parse.hsl=hsl;parse.hex=hex;module.exports=parse},function(module,exports,__webpack_require__){var extractComponents=__webpack_require__(790);var clamp=__webpack_require__(248);function parseHslComponent(component,i){component=parseFloat(component);switch(i){case 0:return clamp(component,0,360);case 1:case 2:return clamp(component,0,100);case 3:return clamp(component,0,1)}}function hsl(color){return extractComponents(color).map(parseHslComponent)}module.exports=hsl},function(module,exports){function expand(hex){var result="#";for(var i=1;i<hex.length;i++){var val=hex.charAt(i);result+=val+val}return result}function hex(hex){if(hex.length===4||hex.length===5){hex=expand(hex)}var rgb=[parseInt(hex.substring(1,3),16),parseInt(hex.substring(3,5),16),parseInt(hex.substring(5,7),16)];if(hex.length===9){var alpha=parseFloat((parseInt(hex.substring(7,9),16)/255).toFixed(2));rgb.push(alpha)}return rgb}module.exports=hex},function(module,exports,__webpack_require__){var extractComponents=__webpack_require__(790);var clamp=__webpack_require__(248);function parseRgbComponent(component,i){if(i<3){if(component.indexOf("%")!=-1){return Math.round(255*clamp(parseInt(component,10),0,100)/100)}else{return clamp(parseInt(component,10),0,255)}}else{return clamp(parseFloat(component),0,1)}}function rgb(color){return extractComponents(color).map(parseRgbComponent)}module.exports=rgb},function(module,exports){function hsl2rgb(hsl){var h=hsl[0]/360,s=hsl[1]/100,l=hsl[2]/100,t1,t2,t3,rgb,val;if(s==0){val=l*255;return[val,val,val]}if(l<.5)t2=l*(1+s);else t2=l+s-l*s;t1=2*l-t2;rgb=[0,0,0];for(var i=0;i<3;i++){t3=h+1/3*-(i-1);t3<0&&t3++;t3>1&&t3--;if(6*t3<1)val=t1+(t2-t1)*6*t3;else if(2*t3<1)val=t2;else if(3*t3<2)val=t1+(t2-t1)*(2/3-t3)*6;else val=t1;rgb[i]=val*255}return rgb}module.exports=hsl2rgb},function(module,exports,__webpack_require__){(function(global){var FUNC_ERROR_TEXT="Expected a function";var MAX_SAFE_INTEGER=9007199254740991;var argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]";var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global;var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal||freeSelf||Function("return this")();function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}function arrayPush(array,values){var index=-1,length=values.length,offset=array.length;while(++index<length){array[offset+index]=values[index]}return array}var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var objectToString=objectProto.toString;var Symbol=root.Symbol,propertyIsEnumerable=objectProto.propertyIsEnumerable,spreadableSymbol=Symbol?Symbol.isConcatSpreadable:undefined;var nativeMax=Math.max;function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;predicate||(predicate=isFlattenable);result||(result=[]);while(++index<length){var value=array[index];if(depth>0&&predicate(value)){if(depth>1){baseFlatten(value,depth-1,predicate,isStrict,result)}else{arrayPush(result,value)}}else if(!isStrict){result[result.length]=value}}return result}function baseRest(func,start){start=nativeMax(start===undefined?func.length-1:start,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);while(++index<length){array[index]=args[start+index]}index=-1;var otherArgs=Array(start+1);while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=array;return apply(func,this,otherArgs)}}function createFlow(fromRight){return baseRest((function(funcs){funcs=baseFlatten(funcs,1);var length=funcs.length,index=length;if(fromRight){funcs.reverse()}while(index--){if(typeof funcs[index]!="function"){throw new TypeError(FUNC_ERROR_TEXT)}}return function(){var index=0,result=length?funcs[index].apply(this,arguments):arguments[0];while(++index<length){result=funcs[index].call(this,result)}return result}}))}function isFlattenable(value){return isArray(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}function isArguments(value){return isArrayLikeObject(value)&&hasOwnProperty.call(value,"callee")&&(!propertyIsEnumerable.call(value,"callee")||objectToString.call(value)==argsTag)}var isArray=Array.isArray;function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}function isFunction(value){var tag=isObject(value)?objectToString.call(value):"";return tag==funcTag||tag==genTag}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isObjectLike(value){return!!value&&typeof value=="object"}var flow=createFlow();module.exports=flow}).call(this,__webpack_require__(64))},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.yuv2rgb=yuv2rgb;exports.rgb2yuv=rgb2yuv;function yuv2rgb(yuv){var y=yuv[0],u=yuv[1],v=yuv[2],r,g,b;r=y*1+u*0+v*1.13983;g=y*1+u*-.39465+v*-.5806;b=y*1+u*2.02311+v*0;r=Math.min(Math.max(0,r),1);g=Math.min(Math.max(0,g),1);b=Math.min(Math.max(0,b),1);return[r*255,g*255,b*255]}function rgb2yuv(rgb){var r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255;var y=r*.299+g*.587+b*.114;var u=r*-.14713+g*-.28886+b*.436;var v=r*.615+g*-.51499+b*-.10001;return[y,u,v]}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _default={scheme:"solarized",author:"ethan schoonover (http://ethanschoonover.com/solarized)",base00:"#002b36",base01:"#073642",base02:"#586e75",base03:"#657b83",base04:"#839496",base05:"#93a1a1",base06:"#eee8d5",base07:"#fdf6e3",base08:"#dc322f",base09:"#cb4b16",base0A:"#b58900",base0B:"#859900",base0C:"#2aa198",base0D:"#268bd2",base0E:"#6c71c4",base0F:"#d33682"};exports["default"]=_default},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const react_1=__importDefault(__webpack_require__(35));class SVG extends react_1.default.PureComponent{componentDidMount(){if(this.el){this.el.insertAdjacentHTML("beforeend",this.props.data)}}componentDidUpdate(){if(!this.el){return}while(this.el.firstChild){this.el.removeChild(this.el.firstChild)}this.el.insertAdjacentHTML("beforeend",this.props.data)}render(){return react_1.default.createElement("div",{ref:el=>{this.el=el}})}}exports.SVG=SVG;SVG.defaultProps={data:"",mediaType:"image/svg+xml"};exports.default=SVG},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});const ansi_to_react_1=__importDefault(__webpack_require__(246));const React=__importStar(__webpack_require__(35));exports.Plain=props=>React.createElement("pre",null,React.createElement(ansi_to_react_1.default,{linkify:true},props.data));exports.Plain.defaultProps={data:"",mediaType:"text/plain"};exports.Plain.displayName="Plaintext";exports.default=exports.Plain},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});const markdown_1=__importDefault(__webpack_require__(779));const React=__importStar(__webpack_require__(35));class Markdown extends React.PureComponent{render(){return React.createElement(markdown_1.default,{source:this.props.data})}}exports.Markdown=Markdown;Markdown.defaultProps={data:"",mediaType:"text/markdown"};exports.default=Markdown},function(module,exports,__webpack_require__){"use strict";var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result["default"]=mod;return result};Object.defineProperty(exports,"__esModule",{value:true});const MathJax=__importStar(__webpack_require__(781));const React=__importStar(__webpack_require__(35));class LaTeX extends React.PureComponent{render(){return React.createElement(MathJax.Text,null,this.props.data)}}exports.LaTeX=LaTeX;LaTeX.defaultProps={data:"",mediaType:"text/latex"};exports.default=LaTeX},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const react_1=__importDefault(__webpack_require__(35));const styled_components_1=__importDefault(__webpack_require__(41));const ImageStyle=styled_components_1.default.img`
  display: block;
  max-width: 100%;
`;function Image(props){let size={};if(props.metadata){const{width:width,height:height}=props.metadata;size={width:width,height:height}}return react_1.default.createElement(ImageStyle,Object.assign({alt:"",src:`data:${props.mediaType};base64,${props.data}`},size))}exports.Image=Image;Image.defaultProps={data:"",mediaType:"image/jpeg"};exports.default=Image},function(module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:true});const react_1=__importDefault(__webpack_require__(35));function runCodeHere(el,code){if(!el){return}const element=el;try{return eval(code)}catch(err){const pre=document.createElement("pre");pre.style.whiteSpace="pre-wrap";if(err.stack){pre.textContent=err.stack}else{pre.textContent=err}element.appendChild(pre);return err}}exports.runCodeHere=runCodeHere;class JavaScript extends react_1.default.PureComponent{componentDidMount(){runCodeHere(this.el,this.props.data)}componentDidUpdate(){runCodeHere(this.el,this.props.data)}render(){return react_1.default.createElement("div",{ref:el=>{this.el=el}})}}exports.JavaScript=JavaScript;JavaScript.defaultProps={data:"",mediaType:"application/javascript"};exports.default=JavaScript}])]);